@shtabapp/ui-kit 1.71.0 → 1.71.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/{SColorPicker-BmaA5Xnp.js → SColorPicker-BjtlrGHZ.js} +3 -3
- package/dist/{SColorPicker-D7mTRL7K.cjs → SColorPicker-Ct8FVU0D.cjs} +1 -1
- package/dist/SDropdown-B8Z4oNMk.cjs +1 -0
- package/dist/SDropdown-cNmJ5Lrz.js +400 -0
- package/dist/SSelect-mnobObXO.cjs +1 -0
- package/dist/{SSelect-DUtNtnqM.js → SSelect-rpJCD5PL.js} +22 -19
- package/dist/{STable-CunQFK-x.js → STable-1Bfr6VLH.js} +2 -2
- package/dist/{STable-Ch7thYCy.cjs → STable-uR69d9kL.cjs} +1 -1
- package/dist/components/SDropdown/SDropdown.types.d.ts +4 -4
- package/dist/components/SDropdown/SDropdown.types.d.ts.map +1 -1
- package/dist/components/SDropdown/SDropdown.vue.d.ts +8 -8
- package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
- package/dist/components/SDropdown/parts/SDropdownSheet.types.d.ts +2 -0
- package/dist/components/SDropdown/parts/SDropdownSheet.types.d.ts.map +1 -1
- package/dist/components/SDropdown/parts/SDropdownSheet.vue.d.ts +3 -1
- package/dist/components/SDropdown/parts/SDropdownSheet.vue.d.ts.map +1 -1
- package/dist/components/SDropdown/utils/context.d.ts +13 -0
- package/dist/components/SDropdown/utils/context.d.ts.map +1 -0
- package/dist/components/SDropdown/utils/useDropdownTree.d.ts +18 -0
- package/dist/components/SDropdown/utils/useDropdownTree.d.ts.map +1 -0
- package/dist/components/SSelect/SSelect.vue.d.ts.map +1 -1
- package/dist/composables/connectedPosition/computeConnectedPosition.d.ts.map +1 -1
- package/dist/composables/connectedPosition/getOverflow.d.ts +1 -0
- package/dist/composables/connectedPosition/getOverflow.d.ts.map +1 -1
- package/dist/composables/useEscapeDismiss.d.ts +15 -0
- package/dist/composables/useEscapeDismiss.d.ts.map +1 -0
- package/dist/composables/useFloatingOverlay.d.ts +4 -0
- package/dist/composables/useFloatingOverlay.d.ts.map +1 -1
- package/dist/entries/color-picker.cjs +1 -1
- package/dist/entries/color-picker.js +1 -1
- package/dist/entries/composables.cjs +1 -1
- package/dist/entries/composables.js +2 -2
- package/dist/entries/dropdown.cjs +1 -1
- package/dist/entries/dropdown.js +2 -2
- package/dist/entries/select.cjs +1 -1
- package/dist/entries/select.js +1 -1
- package/dist/entries/table.cjs +1 -1
- package/dist/entries/table.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +6 -6
- package/dist/uikit-components.css +1 -1
- package/dist/useFloatingOverlay-CwGCMrig.cjs +1 -0
- package/dist/{useFloatingOverlay-b9_eDGNE.js → useFloatingOverlay-TxzVisMJ.js} +89 -86
- package/package.json +3 -3
- package/dist/SDropdown-BdgpPzfl.cjs +0 -1
- package/dist/SDropdown-xNcC6JDy.js +0 -362
- package/dist/SSelect-Coyrc99Y.cjs +0 -1
- package/dist/useFloatingOverlay-Dp44TxvN.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("vue"),t=require("@vueuse/core");var n=function(e){return e.TOP=`top`,e.BOTTOM=`bottom`,e.LEFT=`left`,e.RIGHT=`right`,e}({}),r=function(e){return e.START=`start`,e.END=`end`,e.CENTER=`center`,e}({}),i=function(e){return e.TOP=`top`,e.TOP_START=`top-start`,e.TOP_END=`top-end`,e.BOTTOM=`bottom`,e.BOTTOM_START=`bottom-start`,e.BOTTOM_END=`bottom-end`,e.LEFT=`left`,e.LEFT_START=`left-start`,e.LEFT_END=`left-end`,e.RIGHT=`right`,e.RIGHT_START=`right-start`,e.RIGHT_END=`right-end`,e}({}),a=function(e){return e.CLIPPING_ANCESTORS=`clipping-ancestors`,e.VIEWPORT=`viewport`,e}({}),o=function(e){return e.PREFERRED=`preferred`,e.FLIP=`flip`,e.SHIFT=`shift`,e.SIZE=`size`,e}({}),s=e=>{switch(e){case i.TOP:return{side:n.TOP,align:r.CENTER};case i.TOP_START:return{side:n.TOP,align:r.START};case i.TOP_END:return{side:n.TOP,align:r.END};case i.BOTTOM:return{side:n.BOTTOM,align:r.CENTER};case i.BOTTOM_START:return{side:n.BOTTOM,align:r.START};case i.BOTTOM_END:return{side:n.BOTTOM,align:r.END};case i.LEFT:return{side:n.LEFT,align:r.CENTER};case i.LEFT_START:return{side:n.LEFT,align:r.START};case i.LEFT_END:return{side:n.LEFT,align:r.END};case i.RIGHT:return{side:n.RIGHT,align:r.CENTER};case i.RIGHT_START:return{side:n.RIGHT,align:r.START};case i.RIGHT_END:return{side:n.RIGHT,align:r.END};default:return e}},c=e=>e.side===n.TOP?e.align===r.START?i.TOP_START:e.align===r.END?i.TOP_END:i.TOP:e.side===n.BOTTOM?e.align===r.START?i.BOTTOM_START:e.align===r.END?i.BOTTOM_END:i.BOTTOM:e.side===n.LEFT?e.align===r.START?i.LEFT_START:e.align===r.END?i.LEFT_END:i.LEFT:e.align===r.START?i.RIGHT_START:e.align===r.END?i.RIGHT_END:i.RIGHT,l=(e,t,n)=>Math.min(Math.max(t,e),n),u=e=>e===n.TOP?`bottom`:e===n.BOTTOM?`top`:e===n.LEFT?`right`:`left`,d=({referenceCenter:e,floatingStart:t,floatingLength:n,crossAxisProperty:r,staticSide:i,staticOffset:a,arrowSize:o,arrowPadding:s})=>{let c=e-t-o/2,u=l(s,c,n-o-s),d=c-u;return{crossAxisPosition:u,crossAxisProperty:r,staticSide:i,staticOffset:a,centerOffset:d,isOverflow:Math.abs(d)>o/2}},f=e=>{let{referenceRect:t,floatingCoordinates:r,floatingSize:i,arrowSize:a,arrowPadding:o}=e,c=s(e.resolvedPlacement),l=u(c.side),f=-(a/2);return c.side===n.TOP||c.side===n.BOTTOM?d({referenceCenter:t.left+t.width/2,floatingStart:r.x,floatingLength:i.width,crossAxisProperty:`left`,staticSide:l,staticOffset:f,arrowSize:a,arrowPadding:o}):d({referenceCenter:t.top+t.height/2,floatingStart:r.y,floatingLength:i.height,crossAxisProperty:`top`,staticSide:l,staticOffset:f,arrowSize:a,arrowPadding:o})},p=.5,m=e=>e>p,h=(e,t,n)=>{let r=t.top+n,i=t.left+n,a=t.right-n,o=t.bottom-n;return{top:r-e.top,bottom:e.bottom-o,left:i-e.left,right:e.right-a}},g=(e,t)=>m(t===`top`?e.top:t===`bottom`?e.bottom:t===`left`?e.left:e.right),_=(e,t)=>t===n.TOP?e.top:t===n.BOTTOM?e.bottom:t===n.LEFT?e.left:e.right,v=e=>m(e.top)||m(e.bottom)||m(e.left)||m(e.right),y=(e,t)=>t===n.TOP||t===n.BOTTOM?m(e.left)||m(e.right):m(e.top)||m(e.bottom),b=(e,t)=>e.bottom>t.top&&e.top<t.bottom&&e.right>t.left&&e.left<t.right,x=(e,t)=>{let n=e.top+t,r=e.left+t,i=e.right-t,a=e.bottom-t;return{top:n,left:r,right:i,bottom:a,width:Math.max(0,i-r),height:Math.max(0,a-n)}},S=e=>e.side===n.TOP?{...e,side:n.BOTTOM}:e.side===n.BOTTOM?{...e,side:n.TOP}:e.side===n.LEFT?{...e,side:n.RIGHT}:{...e,side:n.LEFT},C=(e,t,n)=>Math.min(Math.max(t,e),n),w=(e,t,n)=>e===`y`?{x:t.x,y:C(t.y+n.top,t.y,t.y-n.bottom)}:{x:C(t.x+n.left,t.x,t.x-n.right),y:t.y},T=e=>e===n.TOP||e===n.BOTTOM?{mainAxis:`x`,crossAxis:`y`}:{mainAxis:`y`,crossAxis:`x`},E=(e,t,n,i)=>i===r.START?e:i===r.END?e+t-n:e+(t-n)/2,D=(e,t,r,i)=>r.side===n.BOTTOM?{x:E(e.left,e.width,t.width,r.align),y:e.bottom+i}:r.side===n.TOP?{x:E(e.left,e.width,t.width,r.align),y:e.top-i-t.height}:r.side===n.LEFT?{x:e.left-i-t.width,y:E(e.top,e.height,t.height,r.align)}:{x:e.right+i,y:E(e.top,e.height,t.height,r.align)},O=(e,t)=>({top:e.y,left:e.x,right:e.x+t.width,bottom:e.y+t.height,width:t.width,height:t.height}),k=(e,t,n,r)=>e===`x`?{min:t.left+n,max:t.right-n-r.width}:{min:t.top+n,max:t.bottom-n-r.height},A=(e,t,n,r,i)=>t<=n?C(t,e,n):C(r,e,i),j=(e,t,n,r,i,a)=>{let{mainAxis:o}=T(t),{x:s,y:c}=e,l=k(o,i,a,r);if(o===`y`){let e=n.top-r.height,t=n.bottom,i=Math.max(l.min,e),a=Math.min(l.max,t);c=A(c,i,a,l.min,l.max)}else{let e=n.left-r.width,t=n.right,i=Math.max(l.min,e),a=Math.min(l.max,t);s=A(s,i,a,l.min,l.max)}return{x:s,y:c}},M=(e,t,n)=>{let{anchorSide:r,referenceRect:i,viewportRect:a,viewportPadding:o,mainAxis:s=!0,crossAxis:c=!1}=n,l=h(O(e,t),a,o),{mainAxis:u,crossAxis:d}=T(r),f={x:e.x,y:e.y};return s&&(f=w(u,f,l)),c&&(f=w(d,f,l)),j(f,r,i,t,a,o)},N=e=>e===n.TOP?`top`:e===n.BOTTOM?`bottom`:e===n.LEFT?`left`:`right`,P=(e,t,n)=>{let r=t.bottom-n;return Math.max(0,Math.floor(r-e.y))},F=e=>{let t=s(e.placement),n=e.flip?[t,S(t)]:[t],r=null,i=1/0;for(let a of n){let n=D(e.referenceRect,e.floatingSize,a,e.offset),s=h(O(n,e.floatingSize),e.viewportRect,e.viewportPadding),c={anchor:a,coordinates:n,strategy:a===t?o.PREFERRED:o.FLIP};if(!g(s,N(a.side)))return c;let l=_(s,a.side);l<i&&(i=l,r=c)}return r??{anchor:t,coordinates:D(e.referenceRect,e.floatingSize,t,e.offset),strategy:o.PREFERRED}},I=(e,t)=>!e.shift||!v(h(O(t.coordinates,e.floatingSize),e.viewportRect,e.viewportPadding))?t:{...t,coordinates:M(t.coordinates,e.floatingSize,{anchorSide:t.anchor.side,referenceRect:e.referenceRect,viewportRect:e.viewportRect,viewportPadding:e.viewportPadding}),strategy:o.SHIFT},L=(e,t)=>{if(!e.fitViewport)return{coordinates:t.coordinates,strategy:t.strategy,maxHeight:void 0};let r=P(t.coordinates,e.viewportRect,e.viewportPadding),i=e.referenceRect.top-e.offset;if(t.anchor.side===n.TOP){let t=e.viewportRect.top+e.viewportPadding,n=Math.max(0,Math.floor(i-t));r=Math.min(r,n)}return r>=e.floatingSize.height?{coordinates:t.coordinates,strategy:t.strategy,maxHeight:void 0}:{coordinates:t.anchor.side===n.TOP?{...t.coordinates,y:i-r}:t.coordinates,strategy:o.SIZE,maxHeight:r}},R=e=>{let t=I(e,F(e)),n=L(e,t);return{x:n.coordinates.x,y:n.coordinates.y,resolvedPlacement:c(t.anchor),strategy:n.strategy,maxHeight:n.maxHeight}},z=()=>{let e=window.visualViewport;return e?{top:e.offsetTop,left:e.offsetLeft,right:e.offsetLeft+e.width,bottom:e.offsetTop+e.height,width:e.width,height:e.height}:{top:0,left:0,right:window.innerWidth,bottom:window.innerHeight,width:window.innerWidth,height:window.innerHeight}},B=e=>({top:e.top,left:e.left,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),V=/auto|scroll|overlay|hidden|clip/,H=e=>{let t=window.getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>V.test(e))},U=(e,t)=>{let n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),i=Math.min(e.right,t.right),a=Math.min(e.bottom,t.bottom);return{top:n,left:r,right:i,bottom:a,width:Math.max(0,i-r),height:Math.max(0,a-n)}},W=e=>{let t=z();if(!e)return t;let n=e.parentElement;for(;n;)H(n)&&(t=U(t,n.getBoundingClientRect())),n=n.parentElement;return t},G=/auto|scroll|overlay/,K=e=>{let t=window.getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>G.test(e))},q=e=>{let t=[],n=e?.parentElement??null;for(;n;)K(n)&&t.push(n),n=n.parentElement;return t},J=e=>e?e instanceof HTMLElement?e:e.$el instanceof HTMLElement?e.$el:null:null,Y=e=>e.key===`Escape`,X=n=>{let r=!1;(0,t.useEventListener)(window,`keydown`,t=>{Y(t)&&(r=(0,e.toValue)(n.hasOpenDescendant??!1))},{capture:!0}),(0,t.useEventListener)(window,`keydown`,t=>{!Y(t)||!(0,e.toValue)(n.open)||!(0,e.toValue)(n.enabled??!0)||r||n.onDismiss()})},Z=e=>{let t=e.trim();if(!t)return;let n=parseFloat(t);if(!Number.isNaN(n))return n},Q=e=>{let t=getComputedStyle(e);return{arrowSize:Z(t.getPropertyValue(`--s-ui-dropdown-arrow-size`))??12,arrowPadding:Z(t.getPropertyValue(`--s-ui-dropdown-arrow-padding`))??8}},ee=(e,t,n)=>{if(!n)return t;let r=e.firstElementChild;if(!(r instanceof HTMLElement))return Math.max(e.scrollHeight,t);let i=Math.max(0,t-r.clientHeight);return r.scrollHeight+i},$=(t,n)=>(0,e.toValue)(t??n),te=(e,t)=>e&&t instanceof HTMLElement?Q(t):{arrowSize:12,arrowPadding:8},ne=(e,t,n,r,i,a,o,c)=>{let l=x(i,o),u=h(O(t,r),a,o),d=b(n,l),f=s(e.resolvedPlacement).side,p=c?!y(u,f):!v(u);return d&&p},re=n=>{let r=(0,e.shallowRef)(null),o=(0,e.shallowRef)(void 0),s=(0,e.shallowRef)(i.BOTTOM_START),c=(0,e.shallowRef)(!1),l=(0,e.shallowRef)(0),u=(0,e.shallowRef)(null),d=(0,e.shallowRef)(!1),p=[],m=()=>{(0,e.toValue)(n.open)&&b()},h=()=>{for(let e of p)e();p=[]},g=()=>{h();let t=J((0,e.toValue)(n.reference));for(let e of q(t))e.addEventListener(`scroll`,m,{capture:!0,passive:!0}),p.push(()=>{e.removeEventListener(`scroll`,m,{capture:!0})})};(0,t.useEventListener)(window,`scroll`,m,{capture:!0}),(0,t.useEventListener)(document,`scroll`,m,{capture:!0}),(0,t.useEventListener)(()=>document.documentElement,`scroll`,m,{capture:!0}),(0,t.useEventListener)(()=>window.visualViewport??null,`scroll`,m,{passive:!0});let _=()=>({matchReferenceWidth:$(n.matchReferenceWidth,!1),fitViewport:$(n.fitViewport,!1),shift:$(n.shift,!1),baseOffset:$(n.offset,8),viewportPadding:$(n.viewportPadding,8),hasArrow:$(n.arrow,!1),placement:$(n.placement,i.BOTTOM_START),flip:$(n.flip,!0),boundary:$(n.boundary,a.CLIPPING_ANCESTORS)}),v=(e,t)=>{if(!e){u.value=null,d.value=!1;return}let n=f({referenceRect:t.referenceRect,floatingCoordinates:{x:t.result.x,y:t.result.y},floatingSize:t.renderedFloatingSize,resolvedPlacement:t.result.resolvedPlacement,arrowSize:t.arrowSize,arrowPadding:t.arrowPadding});u.value=n,d.value=n.isOverflow},y=()=>{if(!(0,e.toValue)(n.open))return;let t=J((0,e.toValue)(n.reference)),i=(0,e.toValue)(n.panel);if(!t||!i)return;let u=_(),d=B(t.getBoundingClientRect()),f=B(i.getBoundingClientRect());l.value=Math.round(d.width);let p=i.firstElementChild,{arrowSize:m,arrowPadding:h}=te(u.hasArrow,p),g=u.hasArrow?u.baseOffset+m/2:u.baseOffset,y={width:u.matchReferenceWidth&&d.width>0?d.width:f.width,height:ee(i,f.height,u.fitViewport)},b=W(t),x=u.boundary===a.VIEWPORT?z():b,S=R({referenceRect:d,floatingSize:y,placement:u.placement,offset:g,flip:u.flip,shift:u.shift,fitViewport:u.fitViewport,viewportRect:x,viewportPadding:u.viewportPadding});r.value={x:Math.round(S.x),y:Math.round(S.y)},o.value=S.maxHeight===void 0?void 0:Math.floor(S.maxHeight),s.value=S.resolvedPlacement;let C={width:y.width,height:o.value??y.height};c.value=ne(S,r.value,d,C,b,x,u.viewportPadding,u.shift),v(u.hasArrow,{referenceRect:d,result:S,renderedFloatingSize:C,arrowSize:m,arrowPadding:h})},b=()=>{y()},x=(0,e.computed)(()=>{let t=(0,e.toValue)(n.matchReferenceWidth??!1);if(!(0,e.toValue)(n.open)||!r.value)return{position:`fixed`,top:`0`,left:`0`,visibility:`hidden`,pointerEvents:`none`};let i={position:`fixed`,top:`0`,left:`0`,transform:`translate(${r.value.x}px, ${r.value.y}px)`,visibility:c.value?`visible`:`hidden`,pointerEvents:c.value?`auto`:`none`};if(t&&l.value>0){let e=`${Math.round(l.value)}px`;i.width=e,i.minWidth=e,i.maxWidth=e}return i}),S=(0,e.computed)(()=>{if(!(0,e.toValue)(n.open)||!(0,e.toValue)(n.arrow??!1)||!u.value)return;let t=u.value;return{[t.crossAxisProperty]:`${t.crossAxisPosition}px`}}),C=()=>{n.onOpenChange?.(!1)};return(0,e.watch)(()=>(0,e.toValue)(n.open),async t=>{if(t){c.value=!1,await(0,e.nextTick)(),g(),b();return}c.value=!1,r.value=null,o.value=void 0,u.value=null,d.value=!1,h()}),(0,e.watch)([()=>(0,e.toValue)(n.placement??i.BOTTOM_START),()=>(0,e.toValue)(n.offset??8),()=>(0,e.toValue)(n.flip??!0),()=>(0,e.toValue)(n.shift??!1),()=>(0,e.toValue)(n.matchReferenceWidth??!1),()=>(0,e.toValue)(n.fitViewport??!1),()=>(0,e.toValue)(n.viewportPadding??8),()=>(0,e.toValue)(n.arrow??!1),()=>(0,e.toValue)(n.boundary??a.CLIPPING_ANCESTORS)],async()=>{(0,e.toValue)(n.open)&&(c.value=!1,await(0,e.nextTick)(),b())}),(0,t.useResizeObserver)(()=>J((0,e.toValue)(n.reference)),()=>{(0,e.toValue)(n.open)&&b()}),(0,t.useResizeObserver)(()=>(0,e.toValue)(n.panel),()=>{(0,e.toValue)(n.open)&&b()}),(0,t.useEventListener)(window,`resize`,()=>{(0,e.toValue)(n.open)&&b()}),(0,t.useEventListener)(()=>window.visualViewport??null,`resize`,()=>{(0,e.toValue)(n.open)&&b()}),(0,t.onClickOutside)(()=>(0,e.toValue)(n.panel),()=>{!(0,e.toValue)(n.open)||!(0,e.toValue)(n.dismissOnClickOutside??!0)||C()},{ignore:(0,e.computed)(()=>[J((0,e.toValue)(n.reference)),...(0,e.toValue)(n.clickOutsideIgnore??[])])}),X({open:()=>(0,e.toValue)(n.open),enabled:()=>(0,e.toValue)(n.dismissOnEscape??!0),hasOpenDescendant:()=>(0,e.toValue)(n.hasOpenDescendant??!1),onDismiss:C}),(0,e.onScopeDispose)(()=>{h()}),{panelStyles:x,panelMaxHeight:o,resolvedPlacement:s,isPositionReady:c,referenceWidth:l,arrowStyles:S,isArrowOverflow:d,updatePosition:b}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return re}});
|
|
@@ -102,7 +102,7 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
102
102
|
left: i - e.left,
|
|
103
103
|
right: e.right - a
|
|
104
104
|
};
|
|
105
|
-
}, C = (e, t) => x(t === "top" ? e.top : t === "bottom" ? e.bottom : t === "left" ? e.left : e.right), w = (e) => x(e.top) || x(e.bottom) || x(e.left) || x(e.right),
|
|
105
|
+
}, C = (e, t) => x(t === "top" ? e.top : t === "bottom" ? e.bottom : t === "left" ? e.left : e.right), w = (e, t) => t === l.TOP ? e.top : t === l.BOTTOM ? e.bottom : t === l.LEFT ? e.left : e.right, T = (e) => x(e.top) || x(e.bottom) || x(e.left) || x(e.right), E = (e, t) => t === l.TOP || t === l.BOTTOM ? x(e.left) || x(e.right) : x(e.top) || x(e.bottom), D = (e, t) => e.bottom > t.top && e.top < t.bottom && e.right > t.left && e.left < t.right, O = (e, t) => {
|
|
106
106
|
let n = e.top + t, r = e.left + t, i = e.right - t, a = e.bottom - t;
|
|
107
107
|
return {
|
|
108
108
|
top: n,
|
|
@@ -112,7 +112,7 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
112
112
|
width: Math.max(0, i - r),
|
|
113
113
|
height: Math.max(0, a - n)
|
|
114
114
|
};
|
|
115
|
-
},
|
|
115
|
+
}, k = (e) => e.side === l.TOP ? {
|
|
116
116
|
...e,
|
|
117
117
|
side: l.BOTTOM
|
|
118
118
|
} : e.side === l.BOTTOM ? {
|
|
@@ -124,45 +124,45 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
124
124
|
} : {
|
|
125
125
|
...e,
|
|
126
126
|
side: l.LEFT
|
|
127
|
-
},
|
|
127
|
+
}, A = (e, t, n) => Math.min(Math.max(t, e), n), j = (e, t, n) => e === "y" ? {
|
|
128
128
|
x: t.x,
|
|
129
|
-
y:
|
|
129
|
+
y: A(t.y + n.top, t.y, t.y - n.bottom)
|
|
130
130
|
} : {
|
|
131
|
-
x:
|
|
131
|
+
x: A(t.x + n.left, t.x, t.x - n.right),
|
|
132
132
|
y: t.y
|
|
133
|
-
},
|
|
133
|
+
}, M = (e) => e === l.TOP || e === l.BOTTOM ? {
|
|
134
134
|
mainAxis: "x",
|
|
135
135
|
crossAxis: "y"
|
|
136
136
|
} : {
|
|
137
137
|
mainAxis: "y",
|
|
138
138
|
crossAxis: "x"
|
|
139
|
-
},
|
|
140
|
-
x:
|
|
139
|
+
}, N = (e, t, n, r) => r === u.START ? e : r === u.END ? e + t - n : e + (t - n) / 2, P = (e, t, n, r) => n.side === l.BOTTOM ? {
|
|
140
|
+
x: N(e.left, e.width, t.width, n.align),
|
|
141
141
|
y: e.bottom + r
|
|
142
142
|
} : n.side === l.TOP ? {
|
|
143
|
-
x:
|
|
143
|
+
x: N(e.left, e.width, t.width, n.align),
|
|
144
144
|
y: e.top - r - t.height
|
|
145
145
|
} : n.side === l.LEFT ? {
|
|
146
146
|
x: e.left - r - t.width,
|
|
147
|
-
y:
|
|
147
|
+
y: N(e.top, e.height, t.height, n.align)
|
|
148
148
|
} : {
|
|
149
149
|
x: e.right + r,
|
|
150
|
-
y:
|
|
151
|
-
},
|
|
150
|
+
y: N(e.top, e.height, t.height, n.align)
|
|
151
|
+
}, F = (e, t) => ({
|
|
152
152
|
top: e.y,
|
|
153
153
|
left: e.x,
|
|
154
154
|
right: e.x + t.width,
|
|
155
155
|
bottom: e.y + t.height,
|
|
156
156
|
width: t.width,
|
|
157
157
|
height: t.height
|
|
158
|
-
}),
|
|
158
|
+
}), ee = (e, t, n, r) => e === "x" ? {
|
|
159
159
|
min: t.left + n,
|
|
160
160
|
max: t.right - n - r.width
|
|
161
161
|
} : {
|
|
162
162
|
min: t.top + n,
|
|
163
163
|
max: t.bottom - n - r.height
|
|
164
|
-
}, I = (e, t, n, r, i) => t <= n ?
|
|
165
|
-
let { mainAxis: o } =
|
|
164
|
+
}, I = (e, t, n, r, i) => t <= n ? A(t, e, n) : A(r, e, i), L = (e, t, n, r, i, a) => {
|
|
165
|
+
let { mainAxis: o } = M(t), { x: s, y: c } = e, l = ee(o, i, a, r);
|
|
166
166
|
if (o === "y") {
|
|
167
167
|
let e = n.top - r.height, t = n.bottom, i = Math.max(l.min, e), a = Math.min(l.max, t);
|
|
168
168
|
c = I(c, i, a, l.min, l.max);
|
|
@@ -175,35 +175,32 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
175
175
|
y: c
|
|
176
176
|
};
|
|
177
177
|
}, R = (e, t, n) => {
|
|
178
|
-
let { anchorSide: r, referenceRect: i, viewportRect: a, viewportPadding: o, mainAxis: s = !0, crossAxis: c = !1 } = n, l = S(
|
|
178
|
+
let { anchorSide: r, referenceRect: i, viewportRect: a, viewportPadding: o, mainAxis: s = !0, crossAxis: c = !1 } = n, l = S(F(e, t), a, o), { mainAxis: u, crossAxis: d } = M(r), f = {
|
|
179
179
|
x: e.x,
|
|
180
180
|
y: e.y
|
|
181
181
|
};
|
|
182
|
-
return s && (f =
|
|
183
|
-
},
|
|
182
|
+
return s && (f = j(u, f, l)), c && (f = j(d, f, l)), L(f, r, i, t, a, o);
|
|
183
|
+
}, te = (e) => e === l.TOP ? "top" : e === l.BOTTOM ? "bottom" : e === l.LEFT ? "left" : "right", ne = (e, t, n) => {
|
|
184
184
|
let r = t.bottom - n;
|
|
185
185
|
return Math.max(0, Math.floor(r - e.y));
|
|
186
|
-
},
|
|
187
|
-
let t = m(e.placement), n = e.flip ? [t,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
};
|
|
192
|
-
for (let i of n) {
|
|
193
|
-
let n = N(e.referenceRect, e.floatingSize, i, e.offset);
|
|
194
|
-
if (!C(S(P(n, e.floatingSize), e.viewportRect, e.viewportPadding), z(i.side))) return {
|
|
195
|
-
anchor: i,
|
|
196
|
-
coordinates: n,
|
|
197
|
-
strategy: i === t ? p.PREFERRED : p.FLIP
|
|
198
|
-
};
|
|
199
|
-
r = {
|
|
200
|
-
anchor: i,
|
|
186
|
+
}, re = (e) => {
|
|
187
|
+
let t = m(e.placement), n = e.flip ? [t, k(t)] : [t], r = null, i = Infinity;
|
|
188
|
+
for (let a of n) {
|
|
189
|
+
let n = P(e.referenceRect, e.floatingSize, a, e.offset), o = S(F(n, e.floatingSize), e.viewportRect, e.viewportPadding), s = {
|
|
190
|
+
anchor: a,
|
|
201
191
|
coordinates: n,
|
|
202
|
-
strategy: p.FLIP
|
|
192
|
+
strategy: a === t ? p.PREFERRED : p.FLIP
|
|
203
193
|
};
|
|
194
|
+
if (!C(o, te(a.side))) return s;
|
|
195
|
+
let c = w(o, a.side);
|
|
196
|
+
c < i && (i = c, r = s);
|
|
204
197
|
}
|
|
205
|
-
return r
|
|
206
|
-
|
|
198
|
+
return r ?? {
|
|
199
|
+
anchor: t,
|
|
200
|
+
coordinates: P(e.referenceRect, e.floatingSize, t, e.offset),
|
|
201
|
+
strategy: p.PREFERRED
|
|
202
|
+
};
|
|
203
|
+
}, ie = (e, t) => !e.shift || !T(S(F(t.coordinates, e.floatingSize), e.viewportRect, e.viewportPadding)) ? t : {
|
|
207
204
|
...t,
|
|
208
205
|
coordinates: R(t.coordinates, e.floatingSize, {
|
|
209
206
|
anchorSide: t.anchor.side,
|
|
@@ -212,13 +209,13 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
212
209
|
viewportPadding: e.viewportPadding
|
|
213
210
|
}),
|
|
214
211
|
strategy: p.SHIFT
|
|
215
|
-
},
|
|
212
|
+
}, ae = (e, t) => {
|
|
216
213
|
if (!e.fitViewport) return {
|
|
217
214
|
coordinates: t.coordinates,
|
|
218
215
|
strategy: t.strategy,
|
|
219
216
|
maxHeight: void 0
|
|
220
217
|
};
|
|
221
|
-
let n =
|
|
218
|
+
let n = ne(t.coordinates, e.viewportRect, e.viewportPadding), r = e.referenceRect.top - e.offset;
|
|
222
219
|
if (t.anchor.side === l.TOP) {
|
|
223
220
|
let t = e.viewportRect.top + e.viewportPadding, i = Math.max(0, Math.floor(r - t));
|
|
224
221
|
n = Math.min(n, i);
|
|
@@ -235,8 +232,8 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
235
232
|
strategy: p.SIZE,
|
|
236
233
|
maxHeight: n
|
|
237
234
|
};
|
|
238
|
-
},
|
|
239
|
-
let t =
|
|
235
|
+
}, z = (e) => {
|
|
236
|
+
let t = ie(e, re(e)), n = ae(e, t);
|
|
240
237
|
return {
|
|
241
238
|
x: n.coordinates.x,
|
|
242
239
|
y: n.coordinates.y,
|
|
@@ -244,7 +241,7 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
244
241
|
strategy: n.strategy,
|
|
245
242
|
maxHeight: n.maxHeight
|
|
246
243
|
};
|
|
247
|
-
},
|
|
244
|
+
}, B = () => {
|
|
248
245
|
let e = window.visualViewport;
|
|
249
246
|
return e ? {
|
|
250
247
|
top: e.offsetTop,
|
|
@@ -261,21 +258,21 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
261
258
|
width: window.innerWidth,
|
|
262
259
|
height: window.innerHeight
|
|
263
260
|
};
|
|
264
|
-
},
|
|
261
|
+
}, V = (e) => ({
|
|
265
262
|
top: e.top,
|
|
266
263
|
left: e.left,
|
|
267
264
|
right: e.right,
|
|
268
265
|
bottom: e.bottom,
|
|
269
266
|
width: e.width,
|
|
270
267
|
height: e.height
|
|
271
|
-
}),
|
|
268
|
+
}), H = /auto|scroll|overlay|hidden|clip/, U = (e) => {
|
|
272
269
|
let t = window.getComputedStyle(e);
|
|
273
270
|
return [
|
|
274
271
|
t.overflow,
|
|
275
272
|
t.overflowX,
|
|
276
273
|
t.overflowY
|
|
277
|
-
].some((e) =>
|
|
278
|
-
},
|
|
274
|
+
].some((e) => H.test(e));
|
|
275
|
+
}, W = (e, t) => {
|
|
279
276
|
let n = Math.max(e.top, t.top), r = Math.max(e.left, t.left), i = Math.min(e.right, t.right), a = Math.min(e.bottom, t.bottom);
|
|
280
277
|
return {
|
|
281
278
|
top: n,
|
|
@@ -285,47 +282,54 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
285
282
|
width: Math.max(0, i - r),
|
|
286
283
|
height: Math.max(0, a - n)
|
|
287
284
|
};
|
|
288
|
-
},
|
|
289
|
-
let t =
|
|
285
|
+
}, G = (e) => {
|
|
286
|
+
let t = B();
|
|
290
287
|
if (!e) return t;
|
|
291
288
|
let n = e.parentElement;
|
|
292
|
-
for (; n;)
|
|
289
|
+
for (; n;) U(n) && (t = W(t, n.getBoundingClientRect())), n = n.parentElement;
|
|
293
290
|
return t;
|
|
294
|
-
},
|
|
291
|
+
}, K = /auto|scroll|overlay/, q = (e) => {
|
|
295
292
|
let t = window.getComputedStyle(e);
|
|
296
293
|
return [
|
|
297
294
|
t.overflow,
|
|
298
295
|
t.overflowX,
|
|
299
296
|
t.overflowY
|
|
300
|
-
].some((e) =>
|
|
301
|
-
},
|
|
297
|
+
].some((e) => K.test(e));
|
|
298
|
+
}, oe = (e) => {
|
|
302
299
|
let t = [], n = e?.parentElement ?? null;
|
|
303
|
-
for (; n;)
|
|
300
|
+
for (; n;) q(n) && t.push(n), n = n.parentElement;
|
|
304
301
|
return t;
|
|
305
|
-
},
|
|
302
|
+
}, J = (e) => e ? e instanceof HTMLElement ? e : e.$el instanceof HTMLElement ? e.$el : null : null, Y = (e) => e.key === "Escape", X = (e) => {
|
|
303
|
+
let t = !1;
|
|
304
|
+
s(window, "keydown", (n) => {
|
|
305
|
+
Y(n) && (t = i(e.hasOpenDescendant ?? !1));
|
|
306
|
+
}, { capture: !0 }), s(window, "keydown", (n) => {
|
|
307
|
+
!Y(n) || !i(e.open) || !i(e.enabled ?? !0) || t || e.onDismiss();
|
|
308
|
+
});
|
|
309
|
+
}, Z = (e) => {
|
|
306
310
|
let t = e.trim();
|
|
307
311
|
if (!t) return;
|
|
308
312
|
let n = parseFloat(t);
|
|
309
313
|
if (!Number.isNaN(n)) return n;
|
|
310
|
-
},
|
|
314
|
+
}, se = (e) => {
|
|
311
315
|
let t = getComputedStyle(e);
|
|
312
316
|
return {
|
|
313
|
-
arrowSize:
|
|
314
|
-
arrowPadding:
|
|
317
|
+
arrowSize: Z(t.getPropertyValue("--s-ui-dropdown-arrow-size")) ?? 12,
|
|
318
|
+
arrowPadding: Z(t.getPropertyValue("--s-ui-dropdown-arrow-padding")) ?? 8
|
|
315
319
|
};
|
|
316
|
-
},
|
|
320
|
+
}, ce = (e, t, n) => {
|
|
317
321
|
if (!n) return t;
|
|
318
322
|
let r = e.firstElementChild;
|
|
319
323
|
if (!(r instanceof HTMLElement)) return Math.max(e.scrollHeight, t);
|
|
320
324
|
let i = Math.max(0, t - r.clientHeight);
|
|
321
325
|
return r.scrollHeight + i;
|
|
322
|
-
},
|
|
326
|
+
}, Q = (e, t) => i(e ?? t), le = (e, t) => e && t instanceof HTMLElement ? se(t) : {
|
|
323
327
|
arrowSize: 12,
|
|
324
328
|
arrowPadding: 8
|
|
325
|
-
},
|
|
326
|
-
let c =
|
|
329
|
+
}, $ = (e, t, n, r, i, a, o, s) => {
|
|
330
|
+
let c = O(i, o), l = S(F(t, r), a, o), u = D(n, c), d = m(e.resolvedPlacement).side, f = s ? !E(l, d) : !T(l);
|
|
327
331
|
return u && f;
|
|
328
|
-
},
|
|
332
|
+
}, ue = (l) => {
|
|
329
333
|
let u = r(null), p = r(void 0), m = r(d.BOTTOM_START), h = r(!1), g = r(0), _ = r(null), v = r(!1), b = [], x = () => {
|
|
330
334
|
i(l.open) && D();
|
|
331
335
|
}, S = () => {
|
|
@@ -333,8 +337,8 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
333
337
|
b = [];
|
|
334
338
|
}, C = () => {
|
|
335
339
|
S();
|
|
336
|
-
let e =
|
|
337
|
-
for (let t of
|
|
340
|
+
let e = J(i(l.reference));
|
|
341
|
+
for (let t of oe(e)) t.addEventListener("scroll", x, {
|
|
338
342
|
capture: !0,
|
|
339
343
|
passive: !0
|
|
340
344
|
}), b.push(() => {
|
|
@@ -343,15 +347,15 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
343
347
|
};
|
|
344
348
|
s(window, "scroll", x, { capture: !0 }), s(document, "scroll", x, { capture: !0 }), s(() => document.documentElement, "scroll", x, { capture: !0 }), s(() => window.visualViewport ?? null, "scroll", x, { passive: !0 });
|
|
345
349
|
let w = () => ({
|
|
346
|
-
matchReferenceWidth:
|
|
347
|
-
fitViewport:
|
|
348
|
-
shift:
|
|
349
|
-
baseOffset:
|
|
350
|
-
viewportPadding:
|
|
351
|
-
hasArrow:
|
|
352
|
-
placement:
|
|
353
|
-
flip:
|
|
354
|
-
boundary:
|
|
350
|
+
matchReferenceWidth: Q(l.matchReferenceWidth, !1),
|
|
351
|
+
fitViewport: Q(l.fitViewport, !1),
|
|
352
|
+
shift: Q(l.shift, !1),
|
|
353
|
+
baseOffset: Q(l.offset, 8),
|
|
354
|
+
viewportPadding: Q(l.viewportPadding, 8),
|
|
355
|
+
hasArrow: Q(l.arrow, !1),
|
|
356
|
+
placement: Q(l.placement, d.BOTTOM_START),
|
|
357
|
+
flip: Q(l.flip, !0),
|
|
358
|
+
boundary: Q(l.boundary, f.CLIPPING_ANCESTORS)
|
|
355
359
|
}), T = (e, t) => {
|
|
356
360
|
if (!e) {
|
|
357
361
|
_.value = null, v.value = !1;
|
|
@@ -371,14 +375,14 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
371
375
|
_.value = n, v.value = n.isOverflow;
|
|
372
376
|
}, E = () => {
|
|
373
377
|
if (!i(l.open)) return;
|
|
374
|
-
let e =
|
|
378
|
+
let e = J(i(l.reference)), t = i(l.panel);
|
|
375
379
|
if (!e || !t) return;
|
|
376
|
-
let n = w(), r =
|
|
380
|
+
let n = w(), r = V(e.getBoundingClientRect()), a = V(t.getBoundingClientRect());
|
|
377
381
|
g.value = Math.round(r.width);
|
|
378
|
-
let o = t.firstElementChild, { arrowSize: s, arrowPadding: c } =
|
|
382
|
+
let o = t.firstElementChild, { arrowSize: s, arrowPadding: c } = le(n.hasArrow, o), d = n.hasArrow ? n.baseOffset + s / 2 : n.baseOffset, _ = {
|
|
379
383
|
width: n.matchReferenceWidth && r.width > 0 ? r.width : a.width,
|
|
380
|
-
height:
|
|
381
|
-
}, v =
|
|
384
|
+
height: ce(t, a.height, n.fitViewport)
|
|
385
|
+
}, v = G(e), y = n.boundary === f.VIEWPORT ? B() : v, b = z({
|
|
382
386
|
referenceRect: r,
|
|
383
387
|
floatingSize: _,
|
|
384
388
|
placement: n.placement,
|
|
@@ -397,7 +401,7 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
397
401
|
width: _.width,
|
|
398
402
|
height: p.value ?? _.height
|
|
399
403
|
};
|
|
400
|
-
h.value =
|
|
404
|
+
h.value = $(b, u.value, r, x, v, y, n.viewportPadding, n.shift), T(n.hasArrow, {
|
|
401
405
|
referenceRect: r,
|
|
402
406
|
result: b,
|
|
403
407
|
renderedFloatingSize: x,
|
|
@@ -453,7 +457,7 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
453
457
|
() => i(l.boundary ?? f.CLIPPING_ANCESTORS)
|
|
454
458
|
], async () => {
|
|
455
459
|
i(l.open) && (h.value = !1, await t(), D());
|
|
456
|
-
}), c(() =>
|
|
460
|
+
}), c(() => J(i(l.reference)), () => {
|
|
457
461
|
i(l.open) && D();
|
|
458
462
|
}), c(() => i(l.panel), () => {
|
|
459
463
|
i(l.open) && D();
|
|
@@ -463,12 +467,11 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
463
467
|
i(l.open) && D();
|
|
464
468
|
}), o(() => i(l.panel), () => {
|
|
465
469
|
!i(l.open) || !i(l.dismissOnClickOutside ?? !0) || A();
|
|
466
|
-
}, { ignore: [
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
!i(l.open) || !i(l.dismissOnEscape ?? !0) || e.key === "Escape" && A();
|
|
470
|
+
}, { ignore: e(() => [J(i(l.reference)), ...i(l.clickOutsideIgnore ?? [])]) }), X({
|
|
471
|
+
open: () => i(l.open),
|
|
472
|
+
enabled: () => i(l.dismissOnEscape ?? !0),
|
|
473
|
+
hasOpenDescendant: () => i(l.hasOpenDescendant ?? !1),
|
|
474
|
+
onDismiss: A
|
|
472
475
|
}), n(() => {
|
|
473
476
|
S();
|
|
474
477
|
}), {
|
|
@@ -483,4 +486,4 @@ var l = /* @__PURE__ */ function(e) {
|
|
|
483
486
|
};
|
|
484
487
|
};
|
|
485
488
|
//#endregion
|
|
486
|
-
export {
|
|
489
|
+
export { p as a, z as i, X as n, f as o, J as r, d as s, ue as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shtabapp/ui-kit",
|
|
3
|
-
"version": "1.71.
|
|
3
|
+
"version": "1.71.2",
|
|
4
4
|
"description": "Vue 3 component library by Shtab — 30+ typed components, design tokens, light/dark themes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"shtab",
|
|
@@ -274,8 +274,8 @@
|
|
|
274
274
|
"dependencies": {
|
|
275
275
|
"chart.js": "^4.5.0",
|
|
276
276
|
"vue-i18n": "^9.14.5",
|
|
277
|
-
"@shtabapp/ui-kit-
|
|
278
|
-
"@shtabapp/ui-kit-
|
|
277
|
+
"@shtabapp/ui-kit-primitives": "^1.33.0",
|
|
278
|
+
"@shtabapp/ui-kit-tokens": "^1.20.0"
|
|
279
279
|
},
|
|
280
280
|
"devDependencies": {
|
|
281
281
|
"@atlaskit/pragmatic-drag-and-drop": "^3.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=require("./useFloatingOverlay-Dp44TxvN.cjs");let t=require("vue"),n=require("@shtabapp/ui-kit-primitives"),r=require("@vueuse/core");var i=768,a=e=>{let n=(0,t.ref)(e.value),r=(0,t.ref)(e.value);return(0,t.watch)(e,e=>{if(e){n.value=!0,r.value=!0;return}n.value=!1},{flush:`sync`}),{isPanelShown:n,isPanelActive:r,handlePanelAfterLeave:()=>{e.value||(r.value=!1)}}},o=(e,n)=>{let i=(0,r.useMediaQuery)((0,t.computed)(()=>`(max-width: ${((0,t.toValue)(n)||768)-.02}px)`));return(0,t.computed)(()=>(0,t.toValue)(e)&&i.value)},s=e=>{if(!e)return null;let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return e;let n=e.firstElementChild;return n instanceof HTMLElement?n:e},c={OVERDRAG_LIMIT:50,CLOSE_DISTANCE_RATIO:.3,CLOSE_DISTANCE_LIMIT:140,CLOSE_VELOCITY:.5,SETTLE_TIMEOUT:400,INTERACTIVE_SELECTOR:`button, a[href], input, select, textarea, [role="button"], [contenteditable="true"]`},l=e=>{let n=(0,t.shallowRef)(0),i=(0,t.shallowRef)(!1),a=(0,t.shallowRef)(!1),o=null,s=0,l=0,u=0,d=0,f=0,p,m=(0,t.computed)(()=>i.value||a.value),h=()=>{clearTimeout(p),p=void 0,a.value=!1},g=()=>{a.value=!0,clearTimeout(p),p=setTimeout(h,c.SETTLE_TIMEOUT)},_=()=>{o=null,n.value=0,i.value=!1,h()},v=()=>(0,t.toValue)(e.popup)?.offsetHeight??0,y=()=>{let e=d-s;if(e<=0)return!1;let t=f-u;return(t>0?(d-l)/t:0)>=c.CLOSE_VELOCITY?!0:e>=Math.min(v()*c.CLOSE_DISTANCE_RATIO,c.CLOSE_DISTANCE_LIMIT)},b=e=>{o===null&&(e.pointerType===`mouse`&&e.button!==0||e.target instanceof Element&&e.target.closest(c.INTERACTIVE_SELECTOR)||(o=e.pointerId,s=e.clientY,d=e.clientY,l=e.clientY,f=e.timeStamp,u=e.timeStamp,h(),i.value=!0))},x=e=>{o===e.pointerId&&(l=d,u=f,d=e.clientY,f=e.timeStamp,n.value=Math.max(e.clientY-s,-c.OVERDRAG_LIMIT))},S=t=>{if(o===t.pointerId){if(o=null,i.value=!1,y()){a.value=!0,n.value=v()+c.OVERDRAG_LIMIT,e.onClose();return}if(n.value===0){h();return}g(),n.value=0}};return(0,r.useEventListener)(()=>(0,t.toValue)(e.handle),`pointerdown`,b),(0,r.useEventListener)(window,`pointermove`,x),(0,r.useEventListener)(window,`pointerup`,S),(0,r.useEventListener)(window,`pointercancel`,S),(0,r.useEventListener)(()=>(0,t.toValue)(e.popup),`transitionend`,e=>{e.propertyName!==`transform`||i.value||n.value!==0||h()}),(0,t.onScopeDispose)(()=>{clearTimeout(p)}),{isActive:m,popupStyles:(0,t.computed)(()=>{if(m.value)return{transform:`translate3d(0, ${n.value}px, 0)`,transition:a.value?`transform var(--s-ui-transition-duration-slow) var(--s-ui-transition-easing-standard)`:`none`}}),reset:_}},u=[`aria-label`],d={class:`s-ui-dropdown-sheet__side`},f={class:`s-ui-dropdown-sheet__title`},p={class:`s-ui-dropdown-sheet__side s-ui-dropdown-sheet__side--end`},m=[`id`],h=(0,t.defineComponent)({__name:`SDropdownSheet`,props:{open:{type:Boolean},title:{default:``},dismissOnOverlayClick:{type:Boolean,default:!0},dismissOnEscape:{type:Boolean,default:!0},contentId:{}},emits:[`close`],setup(e,{emit:i}){let a=i,{t:o}=(0,n.useUiKitI18n)(),s=(0,t.useTemplateRef)(`popupRef`),c=(0,t.useTemplateRef)(`headerRef`),h=()=>a(`close`),{isActive:g,popupStyles:_,reset:v}=l({handle:c,popup:s,onClose:h}),y=(0,r.useScrollLock)(()=>typeof document>`u`?null:document.body),b=()=>{e.dismissOnOverlayClick&&h()},x=e=>{g.value&&e.stopPropagation()},S=()=>v(),C=null,w=()=>{let e=document.activeElement;C=e instanceof HTMLElement?e:null},T=async()=>{await(0,t.nextTick)();let e=s.value;!e||e.contains(document.activeElement)||e.focus({preventScroll:!0})},E=()=>{let e=C,t=!!s.value?.contains(document.activeElement);C=null,!(!t||!e?.isConnected)&&e.focus({preventScroll:!0})};return(0,t.watch)(()=>e.open,e=>{if(y.value=e,e){w(),T();return}E()},{immediate:!0}),(0,r.useEventListener)(window,`keydown`,t=>{!e.open||!e.dismissOnEscape||t.key!==`Escape`||h()}),(0,t.onBeforeUnmount)(()=>{y.value=!1}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{name:`s-ui-dropdown-sheet`,onAfterLeave:S},{default:(0,t.withCtx)(()=>[e.open?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`s-ui-dropdown-sheet`,onClick:b},[(0,t.createElementVNode)(`div`,{ref_key:`popupRef`,ref:s,class:`s-ui-dropdown-sheet__popup`,style:(0,t.normalizeStyle)((0,t.unref)(_)),role:`dialog`,"aria-modal":`true`,"aria-label":e.title||(0,t.unref)(o)(`dropdown.sheet`),tabindex:`-1`,onClickCapture:x,onClick:r[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`header`,{ref_key:`headerRef`,ref:c,class:`s-ui-dropdown-sheet__header`},[r[1]||=(0,t.createElementVNode)(`span`,{class:`s-ui-dropdown-sheet__handle`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,d,[(0,t.renderSlot)(n.$slots,`header-left`)]),(0,t.createElementVNode)(`div`,f,(0,t.toDisplayString)(e.title),1),(0,t.createElementVNode)(`div`,p,[(0,t.renderSlot)(n.$slots,`header-right`)])],512),(0,t.createElementVNode)(`div`,{id:e.contentId,class:`s-ui-dropdown-sheet__content`},[(0,t.renderSlot)(n.$slots,`default`)],8,m)],44,u)])):(0,t.createCommentVNode)(``,!0)]),_:3}))}}),g=[`id`],_=[`data-placement`],v={class:`s-ui-dropdown__content`},y=(0,t.defineComponent)({inheritAttrs:!1,__name:`SDropdown`,props:(0,t.mergeModels)({placement:{default:()=>e.a.BOTTOM_START},offset:{default:8},flip:{type:Boolean,default:!0},shift:{type:Boolean,default:!1},matchReferenceWidth:{type:Boolean,default:!1},fitViewport:{type:Boolean,default:!1},surfaceClass:{},teleportTo:{type:[String,Boolean],default:`body`},dismissOnClickOutside:{type:Boolean,default:!0},dismissOnEscape:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},reference:{default:null},contentId:{},viewportPadding:{default:8},boundary:{default:()=>e.i.CLIPPING_ANCESTORS},block:{type:Boolean,default:!1},arrow:{type:Boolean,default:!1},showOnHover:{type:Boolean,default:!1},hoverLeaveDelay:{default:100},sheet:{type:Boolean,default:!0},sheetBreakpoint:{default:()=>768},sheetTitle:{default:``}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(n,{expose:i}){let c=(0,t.useModel)(n,`modelValue`),l=o(()=>n.sheet,()=>n.sheetBreakpoint),{isPanelShown:u,isPanelActive:d,handlePanelAfterLeave:f}=a(c),p=e=>{c.value=e},m=()=>p(!1),y=(0,t.useSlots)(),b=(0,t.useTemplateRef)(`triggerWrapperRef`),x=(0,t.useTemplateRef)(`panelRef`),S=(0,t.useId)(),C=(0,t.useId)(),w=(0,t.computed)(()=>n.contentId??S),T=(0,t.computed)(()=>y.trigger?s(b.value):n.reference),E=(0,t.computed)(()=>n.teleportTo!==!1),D=(0,t.computed)(()=>n.teleportTo===!1?`body`:n.teleportTo),O=e.a.BOTTOM_START,k=()=>{n.disabled||p(!0)},A=()=>{n.disabled||(c.value=!c.value)},j=(0,t.computed)(()=>({id:C,"aria-expanded":c.value,"aria-haspopup":`dialog`,"aria-controls":w.value})),{panelStyles:M,panelMaxHeight:N,resolvedPlacement:P,arrowStyles:F,isArrowOverflow:I,isPositionReady:L,updatePosition:R}=e.t({open:()=>d.value&&!l.value,onOpenChange:p,reference:()=>T.value,panel:()=>x.value,placement:()=>n.placement,offset:()=>n.offset,flip:()=>n.flip,shift:()=>n.shift,matchReferenceWidth:()=>n.matchReferenceWidth,fitViewport:()=>n.fitViewport,dismissOnClickOutside:()=>n.dismissOnClickOutside,dismissOnEscape:()=>n.dismissOnEscape,viewportPadding:()=>n.viewportPadding,arrow:()=>n.arrow,boundary:()=>n.boundary}),z=(0,t.computed)(()=>n.showOnHover&&!l.value),B=(0,t.computed)(()=>z.value?T.value:null),V=(0,t.computed)(()=>z.value?x.value:null),H=(0,r.useElementHover)(B,{delayLeave:n.hoverLeaveDelay}),U=(0,r.useElementHover)(V,{delayLeave:n.hoverLeaveDelay});(0,t.watch)([H,U,z,()=>n.disabled],()=>{if(z.value){if(n.disabled){p(!1);return}p(H.value||U.value)}});let W=(0,t.computed)(()=>!!N.value),G=(0,t.computed)(()=>{if(N.value)return{maxHeight:`${N.value}px`}});return(0,t.watch)(()=>n.disabled,e=>{e&&c.value&&(c.value=!1)}),i({updatePosition:R,show:k,close:m,toggle:A}),(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.unref)(y).trigger?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)({key:0,ref_key:`triggerWrapperRef`,ref:b,class:[`s-ui-dropdown`,{"s-ui-dropdown--block":n.block}]},e.$attrs),[(0,t.renderSlot)(e.$slots,`trigger`,{open:c.value,toggle:A,close:m,isSheet:(0,t.unref)(l),triggerProps:j.value})],16)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:D.value,disabled:!E.value},[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createBlock)(h,{key:0,open:c.value,title:n.sheetTitle,"dismiss-on-overlay-click":n.dismissOnClickOutside,"dismiss-on-escape":n.dismissOnEscape,"content-id":w.value,onClose:m},{"header-left":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`sheet-header-left`,{close:m})]),"header-right":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`sheet-header-right`,{close:m})]),default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`content`,{resolvedPlacement:(0,t.unref)(O),isSheet:!0,close:m})]),_:3},8,[`open`,`title`,`dismiss-on-overlay-click`,`dismiss-on-escape`,`content-id`])):((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{key:1,name:`s-ui-dropdown`,onAfterLeave:(0,t.unref)(f)},{default:(0,t.withCtx)(()=>[(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:w.value,ref_key:`panelRef`,ref:x,class:(0,t.normalizeClass)([`s-ui-dropdown__panel`,{"s-ui-dropdown__panel--match-reference-width":n.matchReferenceWidth,"s-ui-dropdown__panel--ready":(0,t.unref)(L)}]),style:(0,t.normalizeStyle)((0,t.unref)(M)),role:`dialog`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`s-ui-dropdown__surface`,[n.surfaceClass,{"s-ui-dropdown__surface--fit-viewport":W.value,"s-ui-dropdown__surface--with-arrow":n.arrow}]]),style:(0,t.normalizeStyle)(G.value),"data-placement":(0,t.unref)(P)},[n.arrow?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`s-ui-dropdown__arrow`,{"s-ui-dropdown__arrow--overflow":(0,t.unref)(I)}]),style:(0,t.normalizeStyle)((0,t.unref)(F)),"aria-hidden":`true`},[...r[0]||=[(0,t.createElementVNode)(`span`,{class:`s-ui-dropdown__arrow-outer`},null,-1),(0,t.createElementVNode)(`span`,{class:`s-ui-dropdown__arrow-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,v,[(0,t.renderSlot)(e.$slots,`content`,{resolvedPlacement:(0,t.unref)(P),isSheet:!1,close:m})])],14,_)],14,g)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`onAfterLeave`]))],8,[`to`,`disabled`]))],64))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return y}});
|