109 lines
14 KiB
JavaScript
109 lines
14 KiB
JavaScript
import{H as e,Mt as t,Pt as n,Rt as r,U as i,Vt as a,X as o,Y as s,Z as c,at as l,bt as u,g as d,h as f,hn as p,it as m,kt as h,m as g,nt as _,ot as v,p as y,st as b,tt as x,vn as S}from"./client-CQRzkU4U.js";import{c as C,l as w,o as T,r as E}from"./_plugin-vue_export-helper-DIaADwPY.js";import{n as D}from"./use-form-item-CVjEGDjV.js";import{D as O,L as k,V as A,q as j,tt as M,z as N}from"./index-SZMdV64-.js";var P=typeof document<`u`&&typeof window<`u`,{cubicBezierEaseInOut:F}=f;function I({duration:e=`.2s`,delay:t=`.1s`}={}){return[x(`&.fade-in-width-expand-transition-leave-from, &.fade-in-width-expand-transition-enter-to`,{opacity:1}),x(`&.fade-in-width-expand-transition-leave-to, &.fade-in-width-expand-transition-enter-from`,`
|
|
opacity: 0!important;
|
|
margin-left: 0!important;
|
|
margin-right: 0!important;
|
|
`),x(`&.fade-in-width-expand-transition-leave-active`,`
|
|
overflow: hidden;
|
|
transition:
|
|
opacity ${e} ${F},
|
|
max-width ${e} ${F} ${t},
|
|
margin-left ${e} ${F} ${t},
|
|
margin-right ${e} ${F} ${t};
|
|
`),x(`&.fade-in-width-expand-transition-enter-active`,`
|
|
overflow: hidden;
|
|
transition:
|
|
opacity ${e} ${F} ${t},
|
|
max-width ${e} ${F},
|
|
margin-left ${e} ${F},
|
|
margin-right ${e} ${F};
|
|
`)]}var L=_(`base-wave`,`
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
border-radius: inherit;
|
|
`),R=h({name:`BaseWave`,props:{clsPrefix:{type:String,required:!0}},setup(e){g(`-base-wave`,L,S(e,`clsPrefix`));let t=p(null),n=p(!1),i=null;return a(()=>{i!==null&&window.clearTimeout(i)}),{active:n,selfRef:t,play(){i!==null&&(window.clearTimeout(i),n.value=!1,i=null),r(()=>{var e;(e=t.value)==null||e.offsetHeight,n.value=!0,i=window.setTimeout(()=>{n.value=!1,i=null},1e3)})}}},render(){let{clsPrefix:e}=this;return t(`div`,{ref:`selfRef`,"aria-hidden":!0,class:[`${e}-base-wave`,this.active&&`${e}-base-wave--active`]})}}),z=P&&`chrome`in window;P&&navigator.userAgent.includes(`Firefox`);var B=P&&navigator.userAgent.includes(`Safari`)&&!z;function V(e){return c(e,[255,255,255,.16])}function H(e){return c(e,[0,0,0,.12])}var U=s(`n-button-group`),W=x([_(`button`,`
|
|
margin: 0;
|
|
font-weight: var(--n-font-weight);
|
|
line-height: 1;
|
|
font-family: inherit;
|
|
padding: var(--n-padding);
|
|
height: var(--n-height);
|
|
font-size: var(--n-font-size);
|
|
border-radius: var(--n-border-radius);
|
|
color: var(--n-text-color);
|
|
background-color: var(--n-color);
|
|
width: var(--n-width);
|
|
white-space: nowrap;
|
|
outline: none;
|
|
position: relative;
|
|
z-index: auto;
|
|
border: none;
|
|
display: inline-flex;
|
|
flex-wrap: nowrap;
|
|
flex-shrink: 0;
|
|
align-items: center;
|
|
justify-content: center;
|
|
user-select: none;
|
|
-webkit-user-select: none;
|
|
text-align: center;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
transition:
|
|
color .3s var(--n-bezier),
|
|
background-color .3s var(--n-bezier),
|
|
opacity .3s var(--n-bezier),
|
|
border-color .3s var(--n-bezier);
|
|
`,[l(`color`,[m(`border`,{borderColor:`var(--n-border-color)`}),l(`disabled`,[m(`border`,{borderColor:`var(--n-border-color-disabled)`})]),v(`disabled`,[x(`&:focus`,[m(`state-border`,{borderColor:`var(--n-border-color-focus)`})]),x(`&:hover`,[m(`state-border`,{borderColor:`var(--n-border-color-hover)`})]),x(`&:active`,[m(`state-border`,{borderColor:`var(--n-border-color-pressed)`})]),l(`pressed`,[m(`state-border`,{borderColor:`var(--n-border-color-pressed)`})])])]),l(`disabled`,{backgroundColor:`var(--n-color-disabled)`,color:`var(--n-text-color-disabled)`},[m(`border`,{border:`var(--n-border-disabled)`})]),v(`disabled`,[x(`&:focus`,{backgroundColor:`var(--n-color-focus)`,color:`var(--n-text-color-focus)`},[m(`state-border`,{border:`var(--n-border-focus)`})]),x(`&:hover`,{backgroundColor:`var(--n-color-hover)`,color:`var(--n-text-color-hover)`},[m(`state-border`,{border:`var(--n-border-hover)`})]),x(`&:active`,{backgroundColor:`var(--n-color-pressed)`,color:`var(--n-text-color-pressed)`},[m(`state-border`,{border:`var(--n-border-pressed)`})]),l(`pressed`,{backgroundColor:`var(--n-color-pressed)`,color:`var(--n-text-color-pressed)`},[m(`state-border`,{border:`var(--n-border-pressed)`})])]),l(`loading`,`cursor: wait;`),_(`base-wave`,`
|
|
pointer-events: none;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
animation-iteration-count: 1;
|
|
animation-duration: var(--n-ripple-duration);
|
|
animation-timing-function: var(--n-bezier-ease-out), var(--n-bezier-ease-out);
|
|
`,[l(`active`,{zIndex:1,animationName:`button-wave-spread, button-wave-opacity`})]),P&&`MozBoxSizing`in document.createElement(`div`).style?x(`&::moz-focus-inner`,{border:0}):null,m(`border, state-border`,`
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border-radius: inherit;
|
|
transition: border-color .3s var(--n-bezier);
|
|
pointer-events: none;
|
|
`),m(`border`,`
|
|
border: var(--n-border);
|
|
`),m(`state-border`,`
|
|
border: var(--n-border);
|
|
border-color: #0000;
|
|
z-index: 1;
|
|
`),m(`icon`,`
|
|
margin: var(--n-icon-margin);
|
|
margin-left: 0;
|
|
height: var(--n-icon-size);
|
|
width: var(--n-icon-size);
|
|
max-width: var(--n-icon-size);
|
|
font-size: var(--n-icon-size);
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
`,[_(`icon-slot`,`
|
|
height: var(--n-icon-size);
|
|
width: var(--n-icon-size);
|
|
position: absolute;
|
|
left: 0;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
`,[A({top:`50%`,originalTransform:`translateY(-50%)`})]),I()]),m(`content`,`
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: nowrap;
|
|
min-width: 0;
|
|
`,[x(`~`,[m(`icon`,{margin:`var(--n-icon-margin)`,marginRight:0})])]),l(`block`,`
|
|
display: flex;
|
|
width: 100%;
|
|
`),l(`dashed`,[m(`border, state-border`,{borderStyle:`dashed !important`})]),l(`disabled`,{cursor:`not-allowed`,opacity:`var(--n-opacity-disabled)`})]),x(`@keyframes button-wave-spread`,{from:{boxShadow:`0 0 0.5px 0 var(--n-ripple-color)`},to:{boxShadow:`0 0 0.5px 4.5px var(--n-ripple-color)`}}),x(`@keyframes button-wave-opacity`,{from:{opacity:`var(--n-wave-opacity)`},to:{opacity:0}})]),G=h({name:`Button`,props:Object.assign(Object.assign({},y.props),{color:String,textColor:String,text:Boolean,block:Boolean,loading:Boolean,disabled:Boolean,circle:Boolean,size:String,ghost:Boolean,round:Boolean,secondary:Boolean,tertiary:Boolean,quaternary:Boolean,strong:Boolean,focusable:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},tag:{type:String,default:`button`},type:{type:String,default:`default`},dashed:Boolean,renderIcon:Function,iconPlacement:{type:String,default:`left`},attrType:{type:String,default:`button`},bordered:{type:Boolean,default:!0},onClick:[Function,Array],nativeFocusBehavior:{type:Boolean,default:!B},spinProps:Object}),slots:Object,setup(t){let r=p(null),a=p(null),s=p(!1),c=M(()=>!t.quaternary&&!t.tertiary&&!t.secondary&&!t.text&&(!t.color||t.ghost||t.dashed)&&t.bordered),l=n(U,{}),{inlineThemeDisabled:f,mergedClsPrefixRef:m,mergedRtlRef:h,mergedComponentPropsRef:g}=i(t),{mergedSizeRef:_}=D({},{defaultSize:`medium`,mergedSize:e=>{let{size:n}=t;if(n)return n;let{size:r}=l;if(r)return r;let{mergedSize:i}=e||{};return i?i.value:g?.value?.Button?.size||`medium`}}),v=u(()=>t.focusable&&!t.disabled),x=e=>{var n;v.value||e.preventDefault(),!t.nativeFocusBehavior&&(e.preventDefault(),!t.disabled&&v.value&&((n=r.value)==null||n.focus({preventScroll:!0})))},S=e=>{var n;if(!t.disabled&&!t.loading){let{onClick:r}=t;r&&C(r,e),t.text||(n=a.value)==null||n.play()}},T=e=>{switch(e.key){case`Enter`:if(!t.keyboard)return;s.value=!1}},E=e=>{switch(e.key){case`Enter`:if(!t.keyboard||t.loading){e.preventDefault();return}s.value=!0}},k=()=>{s.value=!1},A=y(`Button`,`-button`,W,O,t,m),j=d(`Button`,h,m),N=u(()=>{let{common:{cubicBezierEaseInOut:e,cubicBezierEaseOut:n},self:r}=A.value,{rippleDuration:i,opacityDisabled:a,fontWeight:s,fontWeightStrong:c}=r,l=_.value,{dashed:u,type:d,ghost:f,text:p,color:m,round:h,circle:g,textColor:v,secondary:y,tertiary:x,quaternary:S,strong:C}=t,w={"--n-font-weight":C?c:s},T={"--n-color":`initial`,"--n-color-hover":`initial`,"--n-color-pressed":`initial`,"--n-color-focus":`initial`,"--n-color-disabled":`initial`,"--n-ripple-color":`initial`,"--n-text-color":`initial`,"--n-text-color-hover":`initial`,"--n-text-color-pressed":`initial`,"--n-text-color-focus":`initial`,"--n-text-color-disabled":`initial`},E=d===`tertiary`,D=d==="default",O=E?`default`:d;if(p){let e=v||m;T={"--n-color":`#0000`,"--n-color-hover":`#0000`,"--n-color-pressed":`#0000`,"--n-color-focus":`#0000`,"--n-color-disabled":`#0000`,"--n-ripple-color":`#0000`,"--n-text-color":e||r[b(`textColorText`,O)],"--n-text-color-hover":e?V(e):r[b(`textColorTextHover`,O)],"--n-text-color-pressed":e?H(e):r[b(`textColorTextPressed`,O)],"--n-text-color-focus":e?V(e):r[b(`textColorTextHover`,O)],"--n-text-color-disabled":e||r[b(`textColorTextDisabled`,O)]}}else if(f||u){let e=v||m;T={"--n-color":`#0000`,"--n-color-hover":`#0000`,"--n-color-pressed":`#0000`,"--n-color-focus":`#0000`,"--n-color-disabled":`#0000`,"--n-ripple-color":m||r[b(`rippleColor`,O)],"--n-text-color":e||r[b(`textColorGhost`,O)],"--n-text-color-hover":e?V(e):r[b(`textColorGhostHover`,O)],"--n-text-color-pressed":e?H(e):r[b(`textColorGhostPressed`,O)],"--n-text-color-focus":e?V(e):r[b(`textColorGhostHover`,O)],"--n-text-color-disabled":e||r[b(`textColorGhostDisabled`,O)]}}else if(y){let e=D?r.textColor:E?r.textColorTertiary:r[b(`color`,O)],t=m||e,n=d!=="default"&&d!==`tertiary`;T={"--n-color":n?o(t,{alpha:Number(r.colorOpacitySecondary)}):r.colorSecondary,"--n-color-hover":n?o(t,{alpha:Number(r.colorOpacitySecondaryHover)}):r.colorSecondaryHover,"--n-color-pressed":n?o(t,{alpha:Number(r.colorOpacitySecondaryPressed)}):r.colorSecondaryPressed,"--n-color-focus":n?o(t,{alpha:Number(r.colorOpacitySecondaryHover)}):r.colorSecondaryHover,"--n-color-disabled":r.colorSecondary,"--n-ripple-color":`#0000`,"--n-text-color":t,"--n-text-color-hover":t,"--n-text-color-pressed":t,"--n-text-color-focus":t,"--n-text-color-disabled":t}}else if(x||S){let e=D?r.textColor:E?r.textColorTertiary:r[b(`color`,O)],t=m||e;x?(T[`--n-color`]=r.colorTertiary,T[`--n-color-hover`]=r.colorTertiaryHover,T[`--n-color-pressed`]=r.colorTertiaryPressed,T[`--n-color-focus`]=r.colorSecondaryHover,T[`--n-color-disabled`]=r.colorTertiary):(T[`--n-color`]=r.colorQuaternary,T[`--n-color-hover`]=r.colorQuaternaryHover,T[`--n-color-pressed`]=r.colorQuaternaryPressed,T[`--n-color-focus`]=r.colorQuaternaryHover,T[`--n-color-disabled`]=r.colorQuaternary),T[`--n-ripple-color`]=`#0000`,T[`--n-text-color`]=t,T[`--n-text-color-hover`]=t,T[`--n-text-color-pressed`]=t,T[`--n-text-color-focus`]=t,T[`--n-text-color-disabled`]=t}else T={"--n-color":m||r[b(`color`,O)],"--n-color-hover":m?V(m):r[b(`colorHover`,O)],"--n-color-pressed":m?H(m):r[b(`colorPressed`,O)],"--n-color-focus":m?V(m):r[b(`colorFocus`,O)],"--n-color-disabled":m||r[b(`colorDisabled`,O)],"--n-ripple-color":m||r[b(`rippleColor`,O)],"--n-text-color":v||(m?r.textColorPrimary:E?r.textColorTertiary:r[b(`textColor`,O)]),"--n-text-color-hover":v||(m?r.textColorHoverPrimary:r[b(`textColorHover`,O)]),"--n-text-color-pressed":v||(m?r.textColorPressedPrimary:r[b(`textColorPressed`,O)]),"--n-text-color-focus":v||(m?r.textColorFocusPrimary:r[b(`textColorFocus`,O)]),"--n-text-color-disabled":v||(m?r.textColorDisabledPrimary:r[b(`textColorDisabled`,O)])};let k={"--n-border":`initial`,"--n-border-hover":`initial`,"--n-border-pressed":`initial`,"--n-border-focus":`initial`,"--n-border-disabled":`initial`};k=p?{"--n-border":`none`,"--n-border-hover":`none`,"--n-border-pressed":`none`,"--n-border-focus":`none`,"--n-border-disabled":`none`}:{"--n-border":r[b(`border`,O)],"--n-border-hover":r[b(`borderHover`,O)],"--n-border-pressed":r[b(`borderPressed`,O)],"--n-border-focus":r[b(`borderFocus`,O)],"--n-border-disabled":r[b(`borderDisabled`,O)]};let{[b(`height`,l)]:j,[b(`fontSize`,l)]:M,[b(`padding`,l)]:N,[b(`paddingRound`,l)]:P,[b(`iconSize`,l)]:F,[b(`borderRadius`,l)]:I,[b(`iconMargin`,l)]:L,waveOpacity:R}=r,z={"--n-width":g&&!p?j:`initial`,"--n-height":p?`initial`:j,"--n-font-size":M,"--n-padding":g||p?`initial`:h?P:N,"--n-icon-size":F,"--n-icon-margin":L,"--n-border-radius":p?`initial`:g||h?j:I};return Object.assign(Object.assign(Object.assign(Object.assign({"--n-bezier":e,"--n-bezier-ease-out":n,"--n-ripple-duration":i,"--n-opacity-disabled":a,"--n-wave-opacity":R},w),T),k),z)}),P=f?e(`button`,u(()=>{let e=``,{dashed:n,type:r,ghost:i,text:a,color:o,round:s,circle:c,textColor:l,secondary:u,tertiary:d,quaternary:f,strong:p}=t;n&&(e+=`a`),i&&(e+=`b`),a&&(e+=`c`),s&&(e+=`d`),c&&(e+=`e`),u&&(e+=`f`),d&&(e+=`g`),f&&(e+=`h`),p&&(e+=`i`),o&&(e+=`j${w(o)}`),l&&(e+=`k${w(l)}`);let{value:m}=_;return e+=`l${m[0]}`,e+=`m${r[0]}`,e}),N,t):void 0;return{selfElRef:r,waveElRef:a,mergedClsPrefix:m,mergedFocusable:v,mergedSize:_,showBorder:c,enterPressed:s,rtlEnabled:j,handleMousedown:x,handleKeydown:E,handleBlur:k,handleKeyup:T,handleClick:S,customColorCssVars:u(()=>{let{color:e}=t;if(!e)return null;let n=V(e);return{"--n-border-color":e,"--n-border-color-hover":n,"--n-border-color-pressed":H(e),"--n-border-color-focus":n,"--n-border-color-disabled":e}}),cssVars:f?void 0:N,themeClass:P?.themeClass,onRender:P?.onRender}},render(){let{mergedClsPrefix:e,tag:n,onRender:r}=this;r?.();let i=T(this.$slots.default,n=>n&&t(`span`,{class:`${e}-button__content`},n));return t(n,{ref:`selfElRef`,class:[this.themeClass,`${e}-button`,`${e}-button--${this.type}-type`,`${e}-button--${this.mergedSize}-type`,this.rtlEnabled&&`${e}-button--rtl`,this.disabled&&`${e}-button--disabled`,this.block&&`${e}-button--block`,this.enterPressed&&`${e}-button--pressed`,!this.text&&this.dashed&&`${e}-button--dashed`,this.color&&`${e}-button--color`,this.secondary&&`${e}-button--secondary`,this.loading&&`${e}-button--loading`,this.ghost&&`${e}-button--ghost`],tabindex:this.mergedFocusable?0:-1,type:this.attrType,style:this.cssVars,disabled:this.disabled,onClick:this.handleClick,onBlur:this.handleBlur,onMousedown:this.handleMousedown,onKeyup:this.handleKeyup,onKeydown:this.handleKeydown},this.iconPlacement===`right`&&i,t(N,{width:!0},{default:()=>T(this.$slots.icon,n=>(this.loading||this.renderIcon||n)&&t(`span`,{class:`${e}-button__icon`,style:{margin:E(this.$slots.default)?`0`:``}},t(j,null,{default:()=>this.loading?t(k,Object.assign({clsPrefix:e,key:`loading`,class:`${e}-icon-slot`,strokeWidth:20},this.spinProps)):t(`div`,{key:`icon`,class:`${e}-icon-slot`,role:`none`},this.renderIcon?this.renderIcon():n)})))}),this.iconPlacement===`left`&&i,this.text?null:t(R,{ref:`waveElRef`,clsPrefix:e}),this.showBorder?t(`div`,{"aria-hidden":!0,class:`${e}-button__border`,style:this.customColorCssVars}):null,this.showBorder?t(`div`,{"aria-hidden":!0,class:`${e}-button__state-border`,style:this.customColorCssVars}):null)}}),K=G;export{P as a,B as i,K as n,U as r,G as t}; |