mower-ng/ui/dist/assets/Slider.js
2024-11-27 14:08:34 +08:00

159 lines
18 KiB
JavaScript

import{ay as Y,B as xe,ax as we,b0 as Ze,j as w,H as f,aY as qe,bZ as Qe,bj as fe,an as eo,c0 as oo,ar as M,as as n,av as m,au as O,a_ as to,bS as ao,r as C,bF as no,b as ro,aI as lo,w as ve,n as ee,u as io,aC as me,J as so,b4 as co,aD as uo,aL as U,v as L,y as K}from"./_plugin-vue_export-helper.js";import{al as ho,a8 as fo,am as vo,f as be,d as oe,B as mo,V as bo,i as go}from"./main.js";import{g as po}from"./get-slot.js";function xo(){return ho}const wo={name:"Flex",self:xo},yo=Object.assign(Object.assign({},Y.props),{align:String,justify:{type:String,default:"start"},inline:Boolean,vertical:Boolean,reverse:Boolean,size:{type:[String,Number,Array],default:"medium"},wrap:{type:Boolean,default:!0}}),Vo=xe({name:"Flex",props:yo,setup(a){const{mergedClsPrefixRef:l,mergedRtlRef:g}=we(a),c=Y("Flex","-flex",void 0,wo,a,l);return{rtlEnabled:Ze("Flex",g,l),mergedClsPrefix:l,margin:w(()=>{const{size:i}=a;if(Array.isArray(i))return{horizontal:i[0],vertical:i[1]};if(typeof i=="number")return{horizontal:i,vertical:i};const{self:{[qe("gap",i)]:y}}=c.value,{row:b,col:z}=Qe(y);return{horizontal:fe(z),vertical:fe(b)}})}},render(){const{vertical:a,reverse:l,align:g,inline:c,justify:d,margin:i,wrap:y,mergedClsPrefix:b,rtlEnabled:z}=this,B=fo(po(this),!1);return B.length?f("div",{role:"none",class:[`${b}-flex`,z&&`${b}-flex--rtl`],style:{display:c?"inline-flex":"flex",flexDirection:a&&!l?"column":a&&l?"column-reverse":!a&&l?"row-reverse":"row",justifyContent:d,flexWrap:!y||a?"nowrap":"wrap",alignItems:g,gap:`${i.vertical}px ${i.horizontal}px`}},B):null}});function Ro(a){const l="rgba(0, 0, 0, .85)",g="0 2px 8px 0 rgba(0, 0, 0, 0.12)",{railColor:c,primaryColor:d,baseColor:i,cardColor:y,modalColor:b,popoverColor:z,borderRadius:B,fontSize:$,opacityDisabled:F}=a;return Object.assign(Object.assign({},vo),{fontSize:$,markFontSize:$,railColor:c,railColorHover:c,fillColor:d,fillColorHover:d,opacityDisabled:F,handleColor:"#FFF",dotColor:y,dotColorModal:b,dotColorPopover:z,handleBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",handleBoxShadowHover:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",handleBoxShadowActive:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",handleBoxShadowFocus:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",indicatorColor:l,indicatorBoxShadow:g,indicatorTextColor:i,indicatorBorderRadius:B,dotBorder:`2px solid ${c}`,dotBorderActive:`2px solid ${d}`,dotBoxShadow:""})}const ko={name:"Slider",common:eo,self:Ro};function ge(a){return window.TouchEvent&&a instanceof window.TouchEvent}function pe(){const a=new Map,l=g=>c=>{a.set(g,c)};return oo(()=>{a.clear()}),[a,l]}const Co=M([n("slider",`
display: block;
padding: calc((var(--n-handle-size) - var(--n-rail-height)) / 2) 0;
position: relative;
z-index: 0;
width: 100%;
cursor: pointer;
user-select: none;
-webkit-user-select: none;
`,[m("reverse",[n("slider-handles",[n("slider-handle-wrapper",`
transform: translate(50%, -50%);
`)]),n("slider-dots",[n("slider-dot",`
transform: translateX(50%, -50%);
`)]),m("vertical",[n("slider-handles",[n("slider-handle-wrapper",`
transform: translate(-50%, -50%);
`)]),n("slider-marks",[n("slider-mark",`
transform: translateY(calc(-50% + var(--n-dot-height) / 2));
`)]),n("slider-dots",[n("slider-dot",`
transform: translateX(-50%) translateY(0);
`)])])]),m("vertical",`
box-sizing: content-box;
padding: 0 calc((var(--n-handle-size) - var(--n-rail-height)) / 2);
width: var(--n-rail-width-vertical);
height: 100%;
`,[n("slider-handles",`
top: calc(var(--n-handle-size) / 2);
right: 0;
bottom: calc(var(--n-handle-size) / 2);
left: 0;
`,[n("slider-handle-wrapper",`
top: unset;
left: 50%;
transform: translate(-50%, 50%);
`)]),n("slider-rail",`
height: 100%;
`,[O("fill",`
top: unset;
right: 0;
bottom: unset;
left: 0;
`)]),m("with-mark",`
width: var(--n-rail-width-vertical);
margin: 0 32px 0 8px;
`),n("slider-marks",`
top: calc(var(--n-handle-size) / 2);
right: unset;
bottom: calc(var(--n-handle-size) / 2);
left: 22px;
font-size: var(--n-mark-font-size);
`,[n("slider-mark",`
transform: translateY(50%);
white-space: nowrap;
`)]),n("slider-dots",`
top: calc(var(--n-handle-size) / 2);
right: unset;
bottom: calc(var(--n-handle-size) / 2);
left: 50%;
`,[n("slider-dot",`
transform: translateX(-50%) translateY(50%);
`)])]),m("disabled",`
cursor: not-allowed;
opacity: var(--n-opacity-disabled);
`,[n("slider-handle",`
cursor: not-allowed;
`)]),m("with-mark",`
width: 100%;
margin: 8px 0 32px 0;
`),M("&:hover",[n("slider-rail",{backgroundColor:"var(--n-rail-color-hover)"},[O("fill",{backgroundColor:"var(--n-fill-color-hover)"})]),n("slider-handle",{boxShadow:"var(--n-handle-box-shadow-hover)"})]),m("active",[n("slider-rail",{backgroundColor:"var(--n-rail-color-hover)"},[O("fill",{backgroundColor:"var(--n-fill-color-hover)"})]),n("slider-handle",{boxShadow:"var(--n-handle-box-shadow-hover)"})]),n("slider-marks",`
position: absolute;
top: 18px;
left: calc(var(--n-handle-size) / 2);
right: calc(var(--n-handle-size) / 2);
`,[n("slider-mark",`
position: absolute;
transform: translateX(-50%);
white-space: nowrap;
`)]),n("slider-rail",`
width: 100%;
position: relative;
height: var(--n-rail-height);
background-color: var(--n-rail-color);
transition: background-color .3s var(--n-bezier);
border-radius: calc(var(--n-rail-height) / 2);
`,[O("fill",`
position: absolute;
top: 0;
bottom: 0;
border-radius: calc(var(--n-rail-height) / 2);
transition: background-color .3s var(--n-bezier);
background-color: var(--n-fill-color);
`)]),n("slider-handles",`
position: absolute;
top: 0;
right: calc(var(--n-handle-size) / 2);
bottom: 0;
left: calc(var(--n-handle-size) / 2);
`,[n("slider-handle-wrapper",`
outline: none;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
cursor: pointer;
display: flex;
`,[n("slider-handle",`
height: var(--n-handle-size);
width: var(--n-handle-size);
border-radius: 50%;
overflow: hidden;
transition: box-shadow .2s var(--n-bezier), background-color .3s var(--n-bezier);
background-color: var(--n-handle-color);
box-shadow: var(--n-handle-box-shadow);
`,[M("&:hover",`
box-shadow: var(--n-handle-box-shadow-hover);
`)]),M("&:focus",[n("slider-handle",`
box-shadow: var(--n-handle-box-shadow-focus);
`,[M("&:hover",`
box-shadow: var(--n-handle-box-shadow-active);
`)])])])]),n("slider-dots",`
position: absolute;
top: 50%;
left: calc(var(--n-handle-size) / 2);
right: calc(var(--n-handle-size) / 2);
`,[m("transition-disabled",[n("slider-dot","transition: none;")]),n("slider-dot",`
transition:
border-color .3s var(--n-bezier),
box-shadow .3s var(--n-bezier),
background-color .3s var(--n-bezier);
position: absolute;
transform: translate(-50%, -50%);
height: var(--n-dot-height);
width: var(--n-dot-width);
border-radius: var(--n-dot-border-radius);
overflow: hidden;
box-sizing: border-box;
border: var(--n-dot-border);
background-color: var(--n-dot-color);
`,[m("active","border: var(--n-dot-border-active);")])])]),n("slider-handle-indicator",`
font-size: var(--n-font-size);
padding: 6px 10px;
border-radius: var(--n-indicator-border-radius);
color: var(--n-indicator-text-color);
background-color: var(--n-indicator-color);
box-shadow: var(--n-indicator-box-shadow);
`,[be()]),n("slider-handle-indicator",`
font-size: var(--n-font-size);
padding: 6px 10px;
border-radius: var(--n-indicator-border-radius);
color: var(--n-indicator-text-color);
background-color: var(--n-indicator-color);
box-shadow: var(--n-indicator-box-shadow);
`,[m("top",`
margin-bottom: 12px;
`),m("right",`
margin-left: 12px;
`),m("bottom",`
margin-top: 12px;
`),m("left",`
margin-right: 12px;
`),be()]),to(n("slider",[n("slider-dot","background-color: var(--n-dot-color-modal);")])),ao(n("slider",[n("slider-dot","background-color: var(--n-dot-color-popover);")]))]),zo=0,So=Object.assign(Object.assign({},Y.props),{to:oe.propTo,defaultValue:{type:[Number,Array],default:0},marks:Object,disabled:{type:Boolean,default:void 0},formatTooltip:Function,keyboard:{type:Boolean,default:!0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:[Number,String],default:1},range:Boolean,value:[Number,Array],placement:String,showTooltip:{type:Boolean,default:void 0},tooltip:{type:Boolean,default:!0},vertical:Boolean,reverse:Boolean,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onDragstart:[Function],onDragend:[Function]}),Mo=xe({name:"Slider",props:So,setup(a){const{mergedClsPrefixRef:l,namespaceRef:g,inlineThemeDisabled:c}=we(a),d=Y("Slider","-slider",Co,ko,a,l),i=C(null),[y,b]=pe(),[z,B]=pe(),$=C(new Set),F=no(a),{mergedDisabledRef:I}=F,te=w(()=>{const{step:e}=a;if(Number(e)<=0||e==="mark")return 0;const o=e.toString();let t=0;return o.includes(".")&&(t=o.length-o.indexOf(".")-1),t}),X=C(a.defaultValue),ye=ro(a,"value"),W=lo(ye,X),p=w(()=>{const{value:e}=W;return(a.range?e:[e]).map(de)}),ae=w(()=>p.value.length>2),Re=w(()=>a.placement===void 0?a.vertical?"right":"top":a.placement),ne=w(()=>{const{marks:e}=a;return e?Object.keys(e).map(Number.parseFloat):null}),x=C(-1),re=C(-1),S=C(-1),T=C(!1),H=C(!1),G=w(()=>{const{vertical:e,reverse:o}=a;return e?o?"top":"bottom":o?"right":"left"}),ke=w(()=>{if(ae.value)return;const e=p.value,o=A(a.range?Math.min(...e):a.min),t=A(a.range?Math.max(...e):e[0]),{value:r}=G;return a.vertical?{[r]:`${o}%`,height:`${t-o}%`}:{[r]:`${o}%`,width:`${t-o}%`}}),Ce=w(()=>{const e=[],{marks:o}=a;if(o){const t=p.value.slice();t.sort((v,h)=>v-h);const{value:r}=G,{value:s}=ae,{range:u}=a,R=s?()=>!1:v=>u?v>=t[0]&&v<=t[t.length-1]:v<=t[0];for(const v of Object.keys(o)){const h=Number(v);e.push({active:R(h),key:h,label:o[v],style:{[r]:`${A(h)}%`}})}}return e});function ze(e,o){const t=A(e),{value:r}=G;return{[r]:`${t}%`,zIndex:o===x.value?1:0}}function le(e){return a.showTooltip||S.value===e||x.value===e&&T.value}function Se(e){return T.value?!(x.value===e&&re.value===e):!0}function Te(e){var o;~e&&(x.value=e,(o=y.get(e))===null||o===void 0||o.focus())}function Be(){z.forEach((e,o)=>{le(o)&&e.syncPosition()})}function ie(e){const{"onUpdate:value":o,onUpdateValue:t}=a,{nTriggerFormInput:r,nTriggerFormChange:s}=F;t&&U(t,e),o&&U(o,e),X.value=e,r(),s()}function se(e){const{range:o}=a;if(o){if(Array.isArray(e)){const{value:t}=p;e.join()!==t.join()&&ie(e)}}else Array.isArray(e)||p.value[0]!==e&&ie(e)}function J(e,o){if(a.range){const t=p.value.slice();t.splice(o,1,e),se(t)}else se(e)}function Z(e,o,t){const r=t!==void 0;t||(t=e-o>0?1:-1);const s=ne.value||[],{step:u}=a;if(u==="mark"){const h=E(e,s.concat(o),r?t:void 0);return h?h.value:o}if(u<=0)return o;const{value:R}=te;let v;if(r){const h=Number((o/u).toFixed(R)),k=Math.floor(h),q=h>k?k:k-1,Q=h<k?k:k+1;v=E(o,[Number((q*u).toFixed(R)),Number((Q*u).toFixed(R)),...s],t)}else{const h=Ve(e);v=E(e,[...s,h])}return v?de(v.value):o}function de(e){return Math.min(a.max,Math.max(a.min,e))}function A(e){const{max:o,min:t}=a;return(e-t)/(o-t)*100}function De(e){const{max:o,min:t}=a;return t+(o-t)*e}function Ve(e){const{step:o,min:t}=a;if(Number(o)<=0||o==="mark")return e;const r=Math.round((e-t)/o)*o+t;return Number(r.toFixed(te.value))}function E(e,o=ne.value,t){if(!(o!=null&&o.length))return null;let r=null,s=-1;for(;++s<o.length;){const u=o[s]-e,R=Math.abs(u);(t===void 0||u*t>0)&&(r===null||R<r.distance)&&(r={index:s,distance:R,value:o[s]})}return r}function ce(e){const o=i.value;if(!o)return;const t=ge(e)?e.touches[0]:e,r=o.getBoundingClientRect();let s;return a.vertical?s=(r.bottom-t.clientY)/r.height:s=(t.clientX-r.left)/r.width,a.reverse&&(s=1-s),De(s)}function Me(e){if(I.value||!a.keyboard)return;const{vertical:o,reverse:t}=a;switch(e.key){case"ArrowUp":e.preventDefault(),j(o&&t?-1:1);break;case"ArrowRight":e.preventDefault(),j(!o&&t?-1:1);break;case"ArrowDown":e.preventDefault(),j(o&&t?1:-1);break;case"ArrowLeft":e.preventDefault(),j(!o&&t?1:-1);break}}function j(e){const o=x.value;if(o===-1)return;const{step:t}=a,r=p.value[o],s=Number(t)<=0||t==="mark"?r:r+t*e;J(Z(s,r,e>0?1:-1),o)}function $e(e){var o,t;if(I.value||!ge(e)&&e.button!==zo)return;const r=ce(e);if(r===void 0)return;const s=p.value.slice(),u=a.range?(t=(o=E(r,s))===null||o===void 0?void 0:o.index)!==null&&t!==void 0?t:-1:0;u!==-1&&(e.preventDefault(),Te(u),Fe(),J(Z(r,p.value[u]),u))}function Fe(){T.value||(T.value=!0,a.onDragstart&&U(a.onDragstart),L("touchend",document,N),L("mouseup",document,N),L("touchmove",document,_),L("mousemove",document,_))}function P(){T.value&&(T.value=!1,a.onDragend&&U(a.onDragend),K("touchend",document,N),K("mouseup",document,N),K("touchmove",document,_),K("mousemove",document,_))}function _(e){const{value:o}=x;if(!T.value||o===-1){P();return}const t=ce(e);t!==void 0&&J(Z(t,p.value[o]),o)}function N(){P()}function Ie(e){x.value=e,I.value||(S.value=e)}function He(e){x.value===e&&(x.value=-1,P()),S.value===e&&(S.value=-1)}function Ae(e){S.value=e}function Ee(e){S.value===e&&(S.value=-1)}ve(x,(e,o)=>void ee(()=>re.value=o)),ve(W,()=>{if(a.marks){if(H.value)return;H.value=!0,ee(()=>{H.value=!1})}ee(Be)}),io(()=>{P()});const ue=w(()=>{const{self:{markFontSize:e,railColor:o,railColorHover:t,fillColor:r,fillColorHover:s,handleColor:u,opacityDisabled:R,dotColor:v,dotColorModal:h,handleBoxShadow:k,handleBoxShadowHover:q,handleBoxShadowActive:Q,handleBoxShadowFocus:je,dotBorder:Pe,dotBoxShadow:_e,railHeight:Ne,railWidthVertical:Oe,handleSize:Ue,dotHeight:Le,dotWidth:Ke,dotBorderRadius:Ye,fontSize:Xe,dotBorderActive:We,dotColorPopover:Ge},common:{cubicBezierEaseInOut:Je}}=d.value;return{"--n-bezier":Je,"--n-dot-border":Pe,"--n-dot-border-active":We,"--n-dot-border-radius":Ye,"--n-dot-box-shadow":_e,"--n-dot-color":v,"--n-dot-color-modal":h,"--n-dot-color-popover":Ge,"--n-dot-height":Le,"--n-dot-width":Ke,"--n-fill-color":r,"--n-fill-color-hover":s,"--n-font-size":Xe,"--n-handle-box-shadow":k,"--n-handle-box-shadow-active":Q,"--n-handle-box-shadow-focus":je,"--n-handle-box-shadow-hover":q,"--n-handle-color":u,"--n-handle-size":Ue,"--n-opacity-disabled":R,"--n-rail-color":o,"--n-rail-color-hover":t,"--n-rail-height":Ne,"--n-rail-width-vertical":Oe,"--n-mark-font-size":e}}),D=c?me("slider",void 0,ue,a):void 0,he=w(()=>{const{self:{fontSize:e,indicatorColor:o,indicatorBoxShadow:t,indicatorTextColor:r,indicatorBorderRadius:s}}=d.value;return{"--n-font-size":e,"--n-indicator-border-radius":s,"--n-indicator-box-shadow":t,"--n-indicator-color":o,"--n-indicator-text-color":r}}),V=c?me("slider-indicator",void 0,he,a):void 0;return{mergedClsPrefix:l,namespace:g,uncontrolledValue:X,mergedValue:W,mergedDisabled:I,mergedPlacement:Re,isMounted:so(),adjustedTo:oe(a),dotTransitionDisabled:H,markInfos:Ce,isShowTooltip:le,shouldKeepTooltipTransition:Se,handleRailRef:i,setHandleRefs:b,setFollowerRefs:B,fillStyle:ke,getHandleStyle:ze,activeIndex:x,arrifiedValues:p,followerEnabledIndexSet:$,handleRailMouseDown:$e,handleHandleFocus:Ie,handleHandleBlur:He,handleHandleMouseEnter:Ae,handleHandleMouseLeave:Ee,handleRailKeyDown:Me,indicatorCssVars:c?void 0:he,indicatorThemeClass:V==null?void 0:V.themeClass,indicatorOnRender:V==null?void 0:V.onRender,cssVars:c?void 0:ue,themeClass:D==null?void 0:D.themeClass,onRender:D==null?void 0:D.onRender}},render(){var a;const{mergedClsPrefix:l,themeClass:g,formatTooltip:c}=this;return(a=this.onRender)===null||a===void 0||a.call(this),f("div",{class:[`${l}-slider`,g,{[`${l}-slider--disabled`]:this.mergedDisabled,[`${l}-slider--active`]:this.activeIndex!==-1,[`${l}-slider--with-mark`]:this.marks,[`${l}-slider--vertical`]:this.vertical,[`${l}-slider--reverse`]:this.reverse}],style:this.cssVars,onKeydown:this.handleRailKeyDown,onMousedown:this.handleRailMouseDown,onTouchstart:this.handleRailMouseDown},f("div",{class:`${l}-slider-rail`},f("div",{class:`${l}-slider-rail__fill`,style:this.fillStyle}),this.marks?f("div",{class:[`${l}-slider-dots`,this.dotTransitionDisabled&&`${l}-slider-dots--transition-disabled`]},this.markInfos.map(d=>f("div",{key:d.key,class:[`${l}-slider-dot`,{[`${l}-slider-dot--active`]:d.active}],style:d.style}))):null,f("div",{ref:"handleRailRef",class:`${l}-slider-handles`},this.arrifiedValues.map((d,i)=>{const y=this.isShowTooltip(i);return f(mo,null,{default:()=>[f(bo,null,{default:()=>f("div",{ref:this.setHandleRefs(i),class:`${l}-slider-handle-wrapper`,tabindex:this.mergedDisabled?-1:0,role:"slider","aria-valuenow":d,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-orientation":this.vertical?"vertical":"horizontal","aria-disabled":this.disabled,style:this.getHandleStyle(d,i),onFocus:()=>{this.handleHandleFocus(i)},onBlur:()=>{this.handleHandleBlur(i)},onMouseenter:()=>{this.handleHandleMouseEnter(i)},onMouseleave:()=>{this.handleHandleMouseLeave(i)}},co(this.$slots.thumb,()=>[f("div",{class:`${l}-slider-handle`})]))}),this.tooltip&&f(go,{ref:this.setFollowerRefs(i),show:y,to:this.adjustedTo,enabled:this.showTooltip&&!this.range||this.followerEnabledIndexSet.has(i),teleportDisabled:this.adjustedTo===oe.tdkey,placement:this.mergedPlacement,containerClass:this.namespace},{default:()=>f(uo,{name:"fade-in-scale-up-transition",appear:this.isMounted,css:this.shouldKeepTooltipTransition(i),onEnter:()=>{this.followerEnabledIndexSet.add(i)},onAfterLeave:()=>{this.followerEnabledIndexSet.delete(i)}},{default:()=>{var b;return y?((b=this.indicatorOnRender)===null||b===void 0||b.call(this),f("div",{class:[`${l}-slider-handle-indicator`,this.indicatorThemeClass,`${l}-slider-handle-indicator--${this.mergedPlacement}`],style:this.indicatorCssVars},typeof c=="function"?c(d):d)):null}})})]})})),this.marks?f("div",{class:`${l}-slider-marks`},this.markInfos.map(d=>f("div",{key:d.key,class:`${l}-slider-mark`,style:d.style},typeof d.label=="function"?d.label():d.label))):null))}});export{Vo as _,Mo as a};