@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.
Files changed (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{SColorPicker-BmaA5Xnp.js → SColorPicker-BjtlrGHZ.js} +3 -3
  3. package/dist/{SColorPicker-D7mTRL7K.cjs → SColorPicker-Ct8FVU0D.cjs} +1 -1
  4. package/dist/SDropdown-B8Z4oNMk.cjs +1 -0
  5. package/dist/SDropdown-cNmJ5Lrz.js +400 -0
  6. package/dist/SSelect-mnobObXO.cjs +1 -0
  7. package/dist/{SSelect-DUtNtnqM.js → SSelect-rpJCD5PL.js} +22 -19
  8. package/dist/{STable-CunQFK-x.js → STable-1Bfr6VLH.js} +2 -2
  9. package/dist/{STable-Ch7thYCy.cjs → STable-uR69d9kL.cjs} +1 -1
  10. package/dist/components/SDropdown/SDropdown.types.d.ts +4 -4
  11. package/dist/components/SDropdown/SDropdown.types.d.ts.map +1 -1
  12. package/dist/components/SDropdown/SDropdown.vue.d.ts +8 -8
  13. package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
  14. package/dist/components/SDropdown/parts/SDropdownSheet.types.d.ts +2 -0
  15. package/dist/components/SDropdown/parts/SDropdownSheet.types.d.ts.map +1 -1
  16. package/dist/components/SDropdown/parts/SDropdownSheet.vue.d.ts +3 -1
  17. package/dist/components/SDropdown/parts/SDropdownSheet.vue.d.ts.map +1 -1
  18. package/dist/components/SDropdown/utils/context.d.ts +13 -0
  19. package/dist/components/SDropdown/utils/context.d.ts.map +1 -0
  20. package/dist/components/SDropdown/utils/useDropdownTree.d.ts +18 -0
  21. package/dist/components/SDropdown/utils/useDropdownTree.d.ts.map +1 -0
  22. package/dist/components/SSelect/SSelect.vue.d.ts.map +1 -1
  23. package/dist/composables/connectedPosition/computeConnectedPosition.d.ts.map +1 -1
  24. package/dist/composables/connectedPosition/getOverflow.d.ts +1 -0
  25. package/dist/composables/connectedPosition/getOverflow.d.ts.map +1 -1
  26. package/dist/composables/useEscapeDismiss.d.ts +15 -0
  27. package/dist/composables/useEscapeDismiss.d.ts.map +1 -0
  28. package/dist/composables/useFloatingOverlay.d.ts +4 -0
  29. package/dist/composables/useFloatingOverlay.d.ts.map +1 -1
  30. package/dist/entries/color-picker.cjs +1 -1
  31. package/dist/entries/color-picker.js +1 -1
  32. package/dist/entries/composables.cjs +1 -1
  33. package/dist/entries/composables.js +2 -2
  34. package/dist/entries/dropdown.cjs +1 -1
  35. package/dist/entries/dropdown.js +2 -2
  36. package/dist/entries/select.cjs +1 -1
  37. package/dist/entries/select.js +1 -1
  38. package/dist/entries/table.cjs +1 -1
  39. package/dist/entries/table.js +1 -1
  40. package/dist/index.cjs +1 -1
  41. package/dist/index.js +6 -6
  42. package/dist/uikit-components.css +1 -1
  43. package/dist/useFloatingOverlay-CwGCMrig.cjs +1 -0
  44. package/dist/{useFloatingOverlay-b9_eDGNE.js → useFloatingOverlay-TxzVisMJ.js} +89 -86
  45. package/package.json +3 -3
  46. package/dist/SDropdown-BdgpPzfl.cjs +0 -1
  47. package/dist/SDropdown-xNcC6JDy.js +0 -362
  48. package/dist/SSelect-Coyrc99Y.cjs +0 -1
  49. 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), T = (e, t) => t === l.TOP || t === l.BOTTOM ? x(e.left) || x(e.right) : x(e.top) || x(e.bottom), E = (e, t) => e.bottom > t.top && e.top < t.bottom && e.right > t.left && e.left < t.right, D = (e, t) => {
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
- }, O = (e) => e.side === l.TOP ? {
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
- }, k = (e, t, n) => Math.min(Math.max(t, e), n), A = (e, t, n) => e === "y" ? {
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: k(t.y + n.top, t.y, t.y - n.bottom)
129
+ y: A(t.y + n.top, t.y, t.y - n.bottom)
130
130
  } : {
131
- x: k(t.x + n.left, t.x, t.x - n.right),
131
+ x: A(t.x + n.left, t.x, t.x - n.right),
132
132
  y: t.y
133
- }, j = (e) => e === l.TOP || e === l.BOTTOM ? {
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
- }, M = (e, t, n, r) => r === u.START ? e : r === u.END ? e + t - n : e + (t - n) / 2, N = (e, t, n, r) => n.side === l.BOTTOM ? {
140
- x: M(e.left, e.width, t.width, n.align),
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: M(e.left, e.width, t.width, n.align),
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: M(e.top, e.height, t.height, n.align)
147
+ y: N(e.top, e.height, t.height, n.align)
148
148
  } : {
149
149
  x: e.right + r,
150
- y: M(e.top, e.height, t.height, n.align)
151
- }, P = (e, t) => ({
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
- }), F = (e, t, n, r) => e === "x" ? {
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 ? k(t, e, n) : k(r, e, i), L = (e, t, n, r, i, a) => {
165
- let { mainAxis: o } = j(t), { x: s, y: c } = e, l = F(o, i, a, r);
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(P(e, t), a, o), { mainAxis: u, crossAxis: d } = j(r), f = {
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 = A(u, f, l)), c && (f = A(d, f, l)), L(f, r, i, t, a, o);
183
- }, z = (e) => e === l.TOP ? "top" : e === l.BOTTOM ? "bottom" : e === l.LEFT ? "left" : "right", B = (e, t, n) => {
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
- }, V = (e) => {
187
- let t = m(e.placement), n = e.flip ? [t, O(t)] : [t], r = {
188
- anchor: t,
189
- coordinates: N(e.referenceRect, e.floatingSize, t, e.offset),
190
- strategy: p.PREFERRED
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
- }, H = (e, t) => !e.shift || !w(S(P(t.coordinates, e.floatingSize), e.viewportRect, e.viewportPadding)) ? t : {
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
- }, U = (e, t) => {
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 = B(t.coordinates, e.viewportRect, e.viewportPadding), r = e.referenceRect.top - e.offset;
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
- }, W = (e) => {
239
- let t = H(e, V(e)), n = U(e, 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
- }, G = () => {
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
- }, K = (e) => ({
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
- }), q = /auto|scroll|overlay|hidden|clip/, J = (e) => {
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) => q.test(e));
278
- }, Y = (e, t) => {
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
- }, X = (e) => {
289
- let t = G();
285
+ }, G = (e) => {
286
+ let t = B();
290
287
  if (!e) return t;
291
288
  let n = e.parentElement;
292
- for (; n;) J(n) && (t = Y(t, n.getBoundingClientRect())), n = n.parentElement;
289
+ for (; n;) U(n) && (t = W(t, n.getBoundingClientRect())), n = n.parentElement;
293
290
  return t;
294
- }, ee = /auto|scroll|overlay/, te = (e) => {
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) => ee.test(e));
301
- }, ne = (e) => {
297
+ ].some((e) => K.test(e));
298
+ }, oe = (e) => {
302
299
  let t = [], n = e?.parentElement ?? null;
303
- for (; n;) te(n) && t.push(n), n = n.parentElement;
300
+ for (; n;) q(n) && t.push(n), n = n.parentElement;
304
301
  return t;
305
- }, Z = (e) => e ? e instanceof HTMLElement ? e : e.$el instanceof HTMLElement ? e.$el : null : null, Q = (e) => {
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
- }, re = (e) => {
314
+ }, se = (e) => {
311
315
  let t = getComputedStyle(e);
312
316
  return {
313
- arrowSize: Q(t.getPropertyValue("--s-ui-dropdown-arrow-size")) ?? 12,
314
- arrowPadding: Q(t.getPropertyValue("--s-ui-dropdown-arrow-padding")) ?? 8
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
- }, ie = (e, t, n) => {
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
- }, $ = (e, t) => i(e ?? t), ae = (e, t) => e && t instanceof HTMLElement ? re(t) : {
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
- }, oe = (e, t, n, r, i, a, o, s) => {
326
- let c = D(i, o), l = S(P(t, r), a, o), u = E(n, c), d = m(e.resolvedPlacement).side, f = s ? !T(l, d) : !w(l);
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
- }, se = (l) => {
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 = Z(i(l.reference));
337
- for (let t of ne(e)) t.addEventListener("scroll", x, {
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: $(l.matchReferenceWidth, !1),
347
- fitViewport: $(l.fitViewport, !1),
348
- shift: $(l.shift, !1),
349
- baseOffset: $(l.offset, 8),
350
- viewportPadding: $(l.viewportPadding, 8),
351
- hasArrow: $(l.arrow, !1),
352
- placement: $(l.placement, d.BOTTOM_START),
353
- flip: $(l.flip, !0),
354
- boundary: $(l.boundary, f.CLIPPING_ANCESTORS)
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 = Z(i(l.reference)), t = i(l.panel);
378
+ let e = J(i(l.reference)), t = i(l.panel);
375
379
  if (!e || !t) return;
376
- let n = w(), r = K(e.getBoundingClientRect()), a = K(t.getBoundingClientRect());
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 } = ae(n.hasArrow, o), d = n.hasArrow ? n.baseOffset + s / 2 : n.baseOffset, _ = {
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: ie(t, a.height, n.fitViewport)
381
- }, v = X(e), y = n.boundary === f.VIEWPORT ? G() : v, b = W({
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 = oe(b, u.value, r, x, v, y, n.viewportPadding, n.shift), T(n.hasArrow, {
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(() => Z(i(l.reference)), () => {
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
- e(() => Z(i(l.reference))),
468
- ".s-ui-dropdown",
469
- ".s-ui-dropdown__panel"
470
- ] }), s(window, "keydown", (e) => {
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 { d as a, f as i, W as n, p as r, se as t };
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.0",
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-tokens": "^1.20.0",
278
- "@shtabapp/ui-kit-primitives": "^1.33.0"
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}});