Files
prod/frontend/dist/assets/Button-CQugdyX-.js
T
2026-10-08 02:08:08 +07:00

109 lines
14 KiB
JavaScript

import{G as e,H as t,I as n,N as r,R as i,St as a,m as o,w as s,yt as c}from"./client-BfLkiLXr.js";import{G as l,H as u,I as d,K as f,L as p,M as m,N as h,V as g,W as _,a as v,i as y,o as b,q as x,r as S}from"./light-CQqBJDIF.js";import{i as C,n as w,r as T}from"./use-form-item-CNSxJCAT.js";import{a as E,n as D}from"./resolve-slot-KJb3g6uS.js";import{I as O,P as k,Q as A,R as j,W as M,w as N}from"./index-CHmzhHGh.js";var P=typeof document<`u`&&typeof window<`u`,{cubicBezierEaseInOut:F}=v;function I({duration:e=`.2s`,delay:t=`.1s`}={}){return[g(`&.fade-in-width-expand-transition-leave-from, &.fade-in-width-expand-transition-enter-to`,{opacity:1}),g(`&.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;
`),g(`&.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};
`),g(`&.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=u(`base-wave`,`
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
border-radius: inherit;
`),R=r({name:`BaseWave`,props:{clsPrefix:{type:String,required:!0}},setup(n){y(`-base-wave`,L,a(n,`clsPrefix`));let r=c(null),i=c(!1),o=null;return e(()=>{o!==null&&window.clearTimeout(o)}),{active:i,selfRef:r,play(){o!==null&&(window.clearTimeout(o),i.value=!1,o=null),t(()=>{var e;(e=r.value)==null||e.offsetHeight,i.value=!0,o=window.setTimeout(()=>{i.value=!1,o=null},1e3)})}}},render(){let{clsPrefix:e}=this;return n(`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 p(e,[255,255,255,.16])}function H(e){return p(e,[0,0,0,.12])}var U=o(`n-button-group`),W=g([u(`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`,[_(`border`,{borderColor:`var(--n-border-color)`}),l(`disabled`,[_(`border`,{borderColor:`var(--n-border-color-disabled)`})]),f(`disabled`,[g(`&:focus`,[_(`state-border`,{borderColor:`var(--n-border-color-focus)`})]),g(`&:hover`,[_(`state-border`,{borderColor:`var(--n-border-color-hover)`})]),g(`&:active`,[_(`state-border`,{borderColor:`var(--n-border-color-pressed)`})]),l(`pressed`,[_(`state-border`,{borderColor:`var(--n-border-color-pressed)`})])])]),l(`disabled`,{backgroundColor:`var(--n-color-disabled)`,color:`var(--n-text-color-disabled)`},[_(`border`,{border:`var(--n-border-disabled)`})]),f(`disabled`,[g(`&:focus`,{backgroundColor:`var(--n-color-focus)`,color:`var(--n-text-color-focus)`},[_(`state-border`,{border:`var(--n-border-focus)`})]),g(`&:hover`,{backgroundColor:`var(--n-color-hover)`,color:`var(--n-text-color-hover)`},[_(`state-border`,{border:`var(--n-border-hover)`})]),g(`&:active`,{backgroundColor:`var(--n-color-pressed)`,color:`var(--n-text-color-pressed)`},[_(`state-border`,{border:`var(--n-border-pressed)`})]),l(`pressed`,{backgroundColor:`var(--n-color-pressed)`,color:`var(--n-text-color-pressed)`},[_(`state-border`,{border:`var(--n-border-pressed)`})])]),l(`loading`,`cursor: wait;`),u(`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?g(`&::moz-focus-inner`,{border:0}):null,_(`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;
`),_(`border`,`
border: var(--n-border);
`),_(`state-border`,`
border: var(--n-border);
border-color: #0000;
z-index: 1;
`),_(`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;
`,[u(`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;
`,[j({top:`50%`,originalTransform:`translateY(-50%)`})]),I()]),_(`content`,`
display: flex;
align-items: center;
flex-wrap: nowrap;
min-width: 0;
`,[g(`~`,[_(`icon`,{margin:`var(--n-icon-margin)`,marginRight:0})])]),l(`block`,`
display: flex;
width: 100%;
`),l(`dashed`,[_(`border, state-border`,{borderStyle:`dashed !important`})]),l(`disabled`,{cursor:`not-allowed`,opacity:`var(--n-opacity-disabled)`})]),g(`@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)`}}),g(`@keyframes button-wave-opacity`,{from:{opacity:`var(--n-wave-opacity)`},to:{opacity:0}})]),G=r({name:`Button`,props:Object.assign(Object.assign({},S.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(e){let t=c(null),n=c(null),r=c(!1),a=A(()=>!e.quaternary&&!e.tertiary&&!e.secondary&&!e.text&&(!e.color||e.ghost||e.dashed)&&e.bordered),o=i(U,{}),{inlineThemeDisabled:l,mergedClsPrefixRef:u,mergedRtlRef:f,mergedComponentPropsRef:p}=h(e),{mergedSizeRef:g}=w({},{defaultSize:`medium`,mergedSize:t=>{let{size:n}=e;if(n)return n;let{size:r}=o;if(r)return r;let{mergedSize:i}=t||{};return i?i.value:p?.value?.Button?.size||`medium`}}),_=s(()=>e.focusable&&!e.disabled),v=n=>{var r;_.value||n.preventDefault(),!e.nativeFocusBehavior&&(n.preventDefault(),!e.disabled&&_.value&&((r=t.value)==null||r.focus({preventScroll:!0})))},y=t=>{var r;if(!e.disabled&&!e.loading){let{onClick:i}=e;i&&T(i,t),e.text||(r=n.value)==null||r.play()}},E=t=>{switch(t.key){case`Enter`:if(!e.keyboard)return;r.value=!1}},D=t=>{switch(t.key){case`Enter`:if(!e.keyboard||e.loading){t.preventDefault();return}r.value=!0}},O=()=>{r.value=!1},k=S(`Button`,`-button`,W,N,e,u),j=b(`Button`,f,u),M=s(()=>{let{common:{cubicBezierEaseInOut:t,cubicBezierEaseOut:n},self:r}=k.value,{rippleDuration:i,opacityDisabled:a,fontWeight:o,fontWeightStrong:s}=r,c=g.value,{dashed:l,type:u,ghost:f,text:p,color:m,round:h,circle:_,textColor:v,secondary:y,tertiary:b,quaternary:S,strong:C}=e,w={"--n-font-weight":C?s:o},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=u===`tertiary`,D=u==="default",O=E?`default`:u;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[x(`textColorText`,O)],"--n-text-color-hover":e?V(e):r[x(`textColorTextHover`,O)],"--n-text-color-pressed":e?H(e):r[x(`textColorTextPressed`,O)],"--n-text-color-focus":e?V(e):r[x(`textColorTextHover`,O)],"--n-text-color-disabled":e||r[x(`textColorTextDisabled`,O)]}}else if(f||l){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[x(`rippleColor`,O)],"--n-text-color":e||r[x(`textColorGhost`,O)],"--n-text-color-hover":e?V(e):r[x(`textColorGhostHover`,O)],"--n-text-color-pressed":e?H(e):r[x(`textColorGhostPressed`,O)],"--n-text-color-focus":e?V(e):r[x(`textColorGhostHover`,O)],"--n-text-color-disabled":e||r[x(`textColorGhostDisabled`,O)]}}else if(y){let e=D?r.textColor:E?r.textColorTertiary:r[x(`color`,O)],t=m||e,n=u!=="default"&&u!==`tertiary`;T={"--n-color":n?d(t,{alpha:Number(r.colorOpacitySecondary)}):r.colorSecondary,"--n-color-hover":n?d(t,{alpha:Number(r.colorOpacitySecondaryHover)}):r.colorSecondaryHover,"--n-color-pressed":n?d(t,{alpha:Number(r.colorOpacitySecondaryPressed)}):r.colorSecondaryPressed,"--n-color-focus":n?d(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(b||S){let e=D?r.textColor:E?r.textColorTertiary:r[x(`color`,O)],t=m||e;b?(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[x(`color`,O)],"--n-color-hover":m?V(m):r[x(`colorHover`,O)],"--n-color-pressed":m?H(m):r[x(`colorPressed`,O)],"--n-color-focus":m?V(m):r[x(`colorFocus`,O)],"--n-color-disabled":m||r[x(`colorDisabled`,O)],"--n-ripple-color":m||r[x(`rippleColor`,O)],"--n-text-color":v||(m?r.textColorPrimary:E?r.textColorTertiary:r[x(`textColor`,O)]),"--n-text-color-hover":v||(m?r.textColorHoverPrimary:r[x(`textColorHover`,O)]),"--n-text-color-pressed":v||(m?r.textColorPressedPrimary:r[x(`textColorPressed`,O)]),"--n-text-color-focus":v||(m?r.textColorFocusPrimary:r[x(`textColorFocus`,O)]),"--n-text-color-disabled":v||(m?r.textColorDisabledPrimary:r[x(`textColorDisabled`,O)])};let A={"--n-border":`initial`,"--n-border-hover":`initial`,"--n-border-pressed":`initial`,"--n-border-focus":`initial`,"--n-border-disabled":`initial`};A=p?{"--n-border":`none`,"--n-border-hover":`none`,"--n-border-pressed":`none`,"--n-border-focus":`none`,"--n-border-disabled":`none`}:{"--n-border":r[x(`border`,O)],"--n-border-hover":r[x(`borderHover`,O)],"--n-border-pressed":r[x(`borderPressed`,O)],"--n-border-focus":r[x(`borderFocus`,O)],"--n-border-disabled":r[x(`borderDisabled`,O)]};let{[x(`height`,c)]:j,[x(`fontSize`,c)]:M,[x(`padding`,c)]:N,[x(`paddingRound`,c)]:P,[x(`iconSize`,c)]:F,[x(`borderRadius`,c)]:I,[x(`iconMargin`,c)]:L,waveOpacity:R}=r,z={"--n-width":_&&!p?j:`initial`,"--n-height":p?`initial`:j,"--n-font-size":M,"--n-padding":_||p?`initial`:h?P:N,"--n-icon-size":F,"--n-icon-margin":L,"--n-border-radius":p?`initial`:_||h?j:I};return Object.assign(Object.assign(Object.assign(Object.assign({"--n-bezier":t,"--n-bezier-ease-out":n,"--n-ripple-duration":i,"--n-opacity-disabled":a,"--n-wave-opacity":R},w),T),A),z)}),P=l?m(`button`,s(()=>{let t=``,{dashed:n,type:r,ghost:i,text:a,color:o,round:s,circle:c,textColor:l,secondary:u,tertiary:d,quaternary:f,strong:p}=e;n&&(t+=`a`),i&&(t+=`b`),a&&(t+=`c`),s&&(t+=`d`),c&&(t+=`e`),u&&(t+=`f`),d&&(t+=`g`),f&&(t+=`h`),p&&(t+=`i`),o&&(t+=`j${C(o)}`),l&&(t+=`k${C(l)}`);let{value:m}=g;return t+=`l${m[0]}`,t+=`m${r[0]}`,t}),M,e):void 0;return{selfElRef:t,waveElRef:n,mergedClsPrefix:u,mergedFocusable:_,mergedSize:g,showBorder:a,enterPressed:r,rtlEnabled:j,handleMousedown:v,handleKeydown:D,handleBlur:O,handleKeyup:E,handleClick:y,customColorCssVars:s(()=>{let{color:t}=e;if(!t)return null;let n=V(t);return{"--n-border-color":t,"--n-border-color-hover":n,"--n-border-color-pressed":H(t),"--n-border-color-focus":n,"--n-border-color-disabled":t}}),cssVars:l?void 0:M,themeClass:P?.themeClass,onRender:P?.onRender}},render(){let{mergedClsPrefix:e,tag:t,onRender:r}=this;r?.();let i=E(this.$slots.default,t=>t&&n(`span`,{class:`${e}-button__content`},t));return n(t,{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,n(O,{width:!0},{default:()=>E(this.$slots.icon,t=>(this.loading||this.renderIcon||t)&&n(`span`,{class:`${e}-button__icon`,style:{margin:D(this.$slots.default)?`0`:``}},n(M,null,{default:()=>this.loading?n(k,Object.assign({clsPrefix:e,key:`loading`,class:`${e}-icon-slot`,strokeWidth:20},this.spinProps)):n(`div`,{key:`icon`,class:`${e}-icon-slot`,role:`none`},this.renderIcon?this.renderIcon():t)})))}),this.iconPlacement===`left`&&i,this.text?null:n(R,{ref:`waveElRef`,clsPrefix:e}),this.showBorder?n(`div`,{"aria-hidden":!0,class:`${e}-button__border`,style:this.customColorCssVars}):null,this.showBorder?n(`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};