@shtabapp/ui-kit 1.32.0 → 1.34.0

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 (115) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/SAvatar-C2gekygl.cjs +1 -0
  3. package/dist/SAvatar-DAfDAqrP.js +265 -0
  4. package/dist/{SAvatarGroup-CMa9KhUZ.cjs → SAvatarGroup-76j-sHCe.cjs} +1 -1
  5. package/dist/{SAvatarGroup-wkXHy_tK.js → SAvatarGroup-HvIlI5y0.js} +1 -1
  6. package/dist/SColorPalette-B9WrqgRz.js +146 -0
  7. package/dist/SColorPalette-CYGnmIWP.cjs +1 -0
  8. package/dist/SColorPicker-Cs0QmYWm.js +635 -0
  9. package/dist/SColorPicker-D7QwVS2t.cjs +1 -0
  10. package/dist/{SDropdown-Cv729__Y.js → SDropdown-CTQ5Qlez.js} +50 -49
  11. package/dist/SDropdown-_QUOP-rw.cjs +1 -0
  12. package/dist/{SSelect-iBb45tet.js → SSelect-AcH04gtk.js} +23 -18
  13. package/dist/{SSelect-CgL7ECfS.cjs → SSelect-CT3AMH-u.cjs} +1 -1
  14. package/dist/STag-COwzellL.js +123 -0
  15. package/dist/STag-HgFvU1Iy.cjs +1 -0
  16. package/dist/{STagGroup-BMyuxfVX.cjs → STagGroup-CKxDA9Y0.cjs} +1 -1
  17. package/dist/{STagGroup-B2-_OG3R.js → STagGroup-Cbe0AENj.js} +1 -1
  18. package/dist/colorValue-DClAEDHr.cjs +1 -0
  19. package/dist/colorValue-DXJiNKGE.js +5 -0
  20. package/dist/components/SAvatar/SAvatar.vue.d.ts.map +1 -1
  21. package/dist/components/SAvatar/utils/getAvatarInitialsTextColor.d.ts +4 -0
  22. package/dist/components/SAvatar/utils/getAvatarInitialsTextColor.d.ts.map +1 -0
  23. package/dist/components/SAvatar/utils/resolveAvatarColor.d.ts +1 -3
  24. package/dist/components/SAvatar/utils/resolveAvatarColor.d.ts.map +1 -1
  25. package/dist/components/SColorPalette/SColorPalette.types.d.ts +19 -0
  26. package/dist/components/SColorPalette/SColorPalette.types.d.ts.map +1 -0
  27. package/dist/components/SColorPalette/SColorPalette.vue.d.ts +26 -0
  28. package/dist/components/SColorPalette/SColorPalette.vue.d.ts.map +1 -0
  29. package/dist/components/SColorPalette/index.d.ts +4 -0
  30. package/dist/components/SColorPalette/index.d.ts.map +1 -0
  31. package/dist/components/SColorPicker/SColorPicker.types.d.ts +12 -0
  32. package/dist/components/SColorPicker/SColorPicker.types.d.ts.map +1 -0
  33. package/dist/components/SColorPicker/SColorPicker.vue.d.ts +25 -0
  34. package/dist/components/SColorPicker/SColorPicker.vue.d.ts.map +1 -0
  35. package/dist/components/SColorPicker/constants/SColorPicker.constants.d.ts +2 -0
  36. package/dist/components/SColorPicker/constants/SColorPicker.constants.d.ts.map +1 -0
  37. package/dist/components/SColorPicker/index.d.ts +8 -0
  38. package/dist/components/SColorPicker/index.d.ts.map +1 -0
  39. package/dist/components/SColorPicker/parts/SColorArea.types.d.ts +9 -0
  40. package/dist/components/SColorPicker/parts/SColorArea.types.d.ts.map +1 -0
  41. package/dist/components/SColorPicker/parts/SColorArea.vue.d.ts +15 -0
  42. package/dist/components/SColorPicker/parts/SColorArea.vue.d.ts.map +1 -0
  43. package/dist/components/SColorPicker/parts/SColorValues.types.d.ts +12 -0
  44. package/dist/components/SColorPicker/parts/SColorValues.types.d.ts.map +1 -0
  45. package/dist/components/SColorPicker/parts/SColorValues.vue.d.ts +22 -0
  46. package/dist/components/SColorPicker/parts/SColorValues.vue.d.ts.map +1 -0
  47. package/dist/components/SColorPicker/utils/resolveColorSwatchFillElement.d.ts +3 -0
  48. package/dist/components/SColorPicker/utils/resolveColorSwatchFillElement.d.ts.map +1 -0
  49. package/dist/components/SColorPicker/utils/useColorArea.d.ts +29 -0
  50. package/dist/components/SColorPicker/utils/useColorArea.d.ts.map +1 -0
  51. package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
  52. package/dist/components/SSelect/SSelect.types.d.ts +5 -0
  53. package/dist/components/SSelect/SSelect.types.d.ts.map +1 -1
  54. package/dist/components/SSelect/SSelect.vue.d.ts.map +1 -1
  55. package/dist/components/STag/utils/resolveTagColor.d.ts +1 -3
  56. package/dist/components/STag/utils/resolveTagColor.d.ts.map +1 -1
  57. package/dist/composables/connectedPosition/parseAnchor.d.ts.map +1 -1
  58. package/dist/composables/connectedPosition/types.d.ts +5 -1
  59. package/dist/composables/connectedPosition/types.d.ts.map +1 -1
  60. package/dist/contrastSurfaceTextColor-Dl641cZ_.js +33 -0
  61. package/dist/contrastSurfaceTextColor-Ybh-FZof.cjs +1 -0
  62. package/dist/entries/avatar-group.cjs +1 -1
  63. package/dist/entries/avatar-group.js +1 -1
  64. package/dist/entries/avatar.cjs +1 -1
  65. package/dist/entries/avatar.js +1 -1
  66. package/dist/entries/color-palette.cjs +1 -0
  67. package/dist/entries/color-palette.d.ts +5 -0
  68. package/dist/entries/color-palette.d.ts.map +1 -0
  69. package/dist/entries/color-palette.js +3 -0
  70. package/dist/entries/color-picker.cjs +1 -0
  71. package/dist/entries/color-picker.d.ts +5 -0
  72. package/dist/entries/color-picker.d.ts.map +1 -0
  73. package/dist/entries/color-picker.js +4 -0
  74. package/dist/entries/composables.cjs +1 -1
  75. package/dist/entries/composables.js +1 -1
  76. package/dist/entries/dropdown.cjs +1 -1
  77. package/dist/entries/dropdown.js +2 -2
  78. package/dist/entries/select.cjs +1 -1
  79. package/dist/entries/select.js +1 -1
  80. package/dist/entries/tag-group.cjs +1 -1
  81. package/dist/entries/tag-group.js +2 -2
  82. package/dist/entries/tag.cjs +1 -1
  83. package/dist/entries/tag.js +1 -1
  84. package/dist/index.cjs +1 -1
  85. package/dist/index.d.ts +6 -0
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +37 -34
  88. package/dist/uikit-components.css +1 -1
  89. package/dist/useFloatingOverlay-B1UCUYQQ.cjs +1 -0
  90. package/dist/{useFloatingOverlay-D-GlpoPP.js → useFloatingOverlay-QcumEYEq.js} +23 -3
  91. package/dist/utils/color/colorFormatChannels.d.ts +11 -0
  92. package/dist/utils/color/colorFormatChannels.d.ts.map +1 -0
  93. package/dist/utils/color/colorValue.d.ts +9 -0
  94. package/dist/utils/color/colorValue.d.ts.map +1 -0
  95. package/dist/utils/color/contrastSurfaceTextColor.d.ts +4 -0
  96. package/dist/utils/color/contrastSurfaceTextColor.d.ts.map +1 -0
  97. package/dist/utils/color/defaultPaletteColors.d.ts +3 -0
  98. package/dist/utils/color/defaultPaletteColors.d.ts.map +1 -0
  99. package/dist/utils/color/formatColorForDisplay.d.ts +9 -0
  100. package/dist/utils/color/formatColorForDisplay.d.ts.map +1 -0
  101. package/dist/utils/color/index.d.ts +10 -0
  102. package/dist/utils/color/index.d.ts.map +1 -0
  103. package/dist/utils/color/parseColorFromInput.d.ts +4 -0
  104. package/dist/utils/color/parseColorFromInput.d.ts.map +1 -0
  105. package/dist/utils/color/recommendedColorPalette.d.ts +3 -0
  106. package/dist/utils/color/recommendedColorPalette.d.ts.map +1 -0
  107. package/dist/utils/color/types.d.ts +35 -0
  108. package/dist/utils/color/types.d.ts.map +1 -0
  109. package/package.json +12 -2
  110. package/dist/SAvatar-BS9Lu2eL.js +0 -249
  111. package/dist/SAvatar-BXABKIV0.cjs +0 -1
  112. package/dist/SDropdown-B6b7IDjp.cjs +0 -1
  113. package/dist/STag-CYoj7L-p.js +0 -118
  114. package/dist/STag-DVrSWByQ.cjs +0 -1
  115. package/dist/useFloatingOverlay-Cwg2MWyD.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.PREFERRED=`preferred`,e.FLIP=`flip`,e.SHIFT=`shift`,e.SIZE=`size`,e}({}),o=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}},s=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,c=(e,t,n)=>Math.min(Math.max(t,e),n),l=e=>e===n.TOP?`bottom`:e===n.BOTTOM?`top`:e===n.LEFT?`right`:`left`,u=({referenceCenter:e,floatingStart:t,floatingLength:n,crossAxisProperty:r,staticSide:i,staticOffset:a,arrowSize:o,arrowPadding:s})=>{let l=e-t-o/2,u=c(s,l,n-o-s),d=l-u;return{crossAxisPosition:u,crossAxisProperty:r,staticSide:i,staticOffset:a,centerOffset:d,isOverflow:Math.abs(d)>o/2}},d=e=>{let{referenceRect:t,floatingCoordinates:r,floatingSize:i,arrowSize:a,arrowPadding:s}=e,c=o(e.resolvedPlacement),d=l(c.side),f=-(a/2);return c.side===n.TOP||c.side===n.BOTTOM?u({referenceCenter:t.left+t.width/2,floatingStart:r.x,floatingLength:i.width,crossAxisProperty:`left`,staticSide:d,staticOffset:f,arrowSize:a,arrowPadding:s}):u({referenceCenter:t.top+t.height/2,floatingStart:r.y,floatingLength:i.height,crossAxisProperty:`top`,staticSide:d,staticOffset:f,arrowSize:a,arrowPadding:s})},f=(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}},p=(e,t)=>t===`top`?e.top>0:t===`bottom`?e.bottom>0:t===`left`?e.left>0:e.right>0,m=e=>e.top>0||e.bottom>0||e.left>0||e.right>0,h=(e,t)=>t===n.TOP||t===n.BOTTOM?e.left>0||e.right>0:e.top>0||e.bottom>0,g=(e,t)=>e.bottom>t.top&&e.top<t.bottom&&e.right>t.left&&e.left<t.right,_=(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)}},v=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},y=(e,t,n)=>Math.min(Math.max(t,e),n),b=(e,t,n)=>e===`y`?{x:t.x,y:y(t.y+n.top,t.y,t.y-n.bottom)}:{x:y(t.x+n.left,t.x,t.x-n.right),y:t.y},x=e=>e===n.TOP||e===n.BOTTOM?{mainAxis:`x`,crossAxis:`y`}:{mainAxis:`y`,crossAxis:`x`},S=(e,t,n,i)=>i===r.START?e:i===r.END?e+t-n:e+(t-n)/2,C=(e,t,r,i)=>r.side===n.BOTTOM?{x:S(e.left,e.width,t.width,r.align),y:e.bottom+i}:r.side===n.TOP?{x:S(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:S(e.top,e.height,t.height,r.align)}:{x:e.right+i,y:S(e.top,e.height,t.height,r.align)},w=(e,t)=>({top:e.y,left:e.x,right:e.x+t.width,bottom:e.y+t.height,width:t.width,height:t.height}),T=(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},E=(e,t,n,r,i)=>t<=n?y(t,e,n):y(r,e,i),D=(e,t,n,r,i,a)=>{let{mainAxis:o}=x(t),{x:s,y:c}=e,l=T(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=E(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=E(s,i,a,l.min,l.max)}return{x:s,y:c}},O=(e,t,n)=>{let{anchorSide:r,referenceRect:i,viewportRect:a,viewportPadding:o,mainAxis:s=!0,crossAxis:c=!1}=n,l=f(w(e,t),a,o),{mainAxis:u,crossAxis:d}=x(r),p={x:e.x,y:e.y};return s&&(p=b(u,p,l)),c&&(p=b(d,p,l)),D(p,r,i,t,a,o)},k=e=>e===n.TOP?`top`:e===n.BOTTOM?`bottom`:e===n.LEFT?`left`:`right`,A=(e,t,n)=>{let r=t.bottom-n;return Math.max(0,Math.floor(r-e.y))},j=e=>{let t=o(e.placement),n=e.flip?[t,v(t)]:[t],r={anchor:t,coordinates:C(e.referenceRect,e.floatingSize,t,e.offset),strategy:a.PREFERRED};for(let i of n){let n=C(e.referenceRect,e.floatingSize,i,e.offset);if(!p(f(w(n,e.floatingSize),e.viewportRect,e.viewportPadding),k(i.side)))return{anchor:i,coordinates:n,strategy:i===t?a.PREFERRED:a.FLIP};r={anchor:i,coordinates:n,strategy:a.FLIP}}return r},M=(e,t)=>!e.shift||!m(f(w(t.coordinates,e.floatingSize),e.viewportRect,e.viewportPadding))?t:{...t,coordinates:O(t.coordinates,e.floatingSize,{anchorSide:t.anchor.side,referenceRect:e.referenceRect,viewportRect:e.viewportRect,viewportPadding:e.viewportPadding}),strategy:a.SHIFT},N=(e,t)=>{if(!e.fitViewport)return{coordinates:t.coordinates,strategy:t.strategy,maxHeight:void 0};let r=A(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:a.SIZE,maxHeight:r}},P=e=>{let t=M(e,j(e)),n=N(e,t);return{x:n.coordinates.x,y:n.coordinates.y,resolvedPlacement:s(t.anchor),strategy:n.strategy,maxHeight:n.maxHeight}},F=()=>{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}},I=e=>({top:e.top,left:e.left,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),L=/auto|scroll|overlay|hidden|clip/,R=e=>{let t=window.getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>L.test(e))},z=(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)}},B=e=>{let t=F();if(!e)return t;let n=e.parentElement;for(;n;)R(n)&&(t=z(t,n.getBoundingClientRect())),n=n.parentElement;return t},V=/auto|scroll|overlay/,H=e=>{let t=window.getComputedStyle(e);return[t.overflow,t.overflowX,t.overflowY].some(e=>V.test(e))},U=e=>{let t=[],n=e?.parentElement??null;for(;n;)H(n)&&t.push(n),n=n.parentElement;return t},W=e=>e?e instanceof HTMLElement?e:e.$el instanceof HTMLElement?e.$el:null:null,G=e=>{let t=e.trim();if(!t)return;let n=parseFloat(t);if(!Number.isNaN(n))return n},K=e=>{let t=getComputedStyle(e);return{arrowSize:G(t.getPropertyValue(`--s-ui-dropdown-arrow-size`))??12,arrowPadding:G(t.getPropertyValue(`--s-ui-dropdown-arrow-padding`))??8}},q=(e,t,n)=>{if(!n)return t;let r=e.firstElementChild;return r instanceof HTMLElement?Math.max(r.scrollHeight,t):Math.max(e.scrollHeight,t)},J=(t,n)=>(0,e.toValue)(t??n),Y=(e,t)=>e&&t instanceof HTMLElement?K(t):{arrowSize:12,arrowPadding:8},X=(e,t,n,r,i,a)=>{let s=_(r,i),c=f(w({x:e.x,y:e.y},n),r,i),l=g(t,s),u=o(e.resolvedPlacement).side,d=a?!h(c,u):!m(c);return l&&d},Z=n=>{let r=(0,e.shallowRef)(null),a=(0,e.shallowRef)(void 0),o=(0,e.shallowRef)(i.BOTTOM_START),s=(0,e.shallowRef)(!1),c=(0,e.shallowRef)(0),l=(0,e.shallowRef)(null),u=(0,e.shallowRef)(!1),f=[],p=()=>{(0,e.toValue)(n.open)&&y()},m=()=>{for(let e of f)e();f=[]},h=()=>{m();let t=W((0,e.toValue)(n.reference));for(let e of U(t))e.addEventListener(`scroll`,p,{capture:!0,passive:!0}),f.push(()=>{e.removeEventListener(`scroll`,p,{capture:!0})})};(0,t.useEventListener)(window,`scroll`,p,{capture:!0}),(0,t.useEventListener)(document,`scroll`,p,{capture:!0}),(0,t.useEventListener)(()=>document.documentElement,`scroll`,p,{capture:!0}),(0,t.useEventListener)(()=>window.visualViewport??null,`scroll`,p,{passive:!0});let g=()=>({matchReferenceWidth:J(n.matchReferenceWidth,!1),fitViewport:J(n.fitViewport,!1),shift:J(n.shift,!1),baseOffset:J(n.offset,8),viewportPadding:J(n.viewportPadding,8),hasArrow:J(n.arrow,!1),placement:J(n.placement,i.BOTTOM_START),flip:J(n.flip,!0)}),_=(e,t)=>{if(!e){l.value=null,u.value=!1;return}let n=d({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});l.value=n,u.value=n.isOverflow},v=()=>{if(!(0,e.toValue)(n.open))return;let t=W((0,e.toValue)(n.reference)),i=(0,e.toValue)(n.panel);if(!t||!i)return;let l=g(),u=I(t.getBoundingClientRect()),d=I(i.getBoundingClientRect());c.value=Math.round(u.width);let f=i.firstElementChild,{arrowSize:p,arrowPadding:m}=Y(l.hasArrow,f),h=l.hasArrow?l.baseOffset+p/2:l.baseOffset,v={width:l.matchReferenceWidth&&u.width>0?u.width:d.width,height:q(i,d.height,l.fitViewport)},y=B(t),b=P({referenceRect:u,floatingSize:v,placement:l.placement,offset:h,flip:l.flip,shift:l.shift,fitViewport:l.fitViewport,viewportRect:y,viewportPadding:l.viewportPadding});r.value={x:b.x,y:b.y},a.value=b.maxHeight,o.value=b.resolvedPlacement;let x={width:v.width,height:b.maxHeight??v.height};s.value=X(b,u,x,y,l.viewportPadding,l.shift),_(l.hasArrow,{referenceRect:u,result:b,renderedFloatingSize:x,arrowSize:p,arrowPadding:m})},y=()=>{v()},b=(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:s.value?`visible`:`hidden`,pointerEvents:s.value?`auto`:`none`};if(t&&c.value>0){let e=`${Math.round(c.value)}px`;i.width=e,i.minWidth=e,i.maxWidth=e}return i}),x=(0,e.computed)(()=>{if(!(0,e.toValue)(n.open)||!(0,e.toValue)(n.arrow??!1)||!l.value)return;let t=l.value;return{[t.crossAxisProperty]:`${t.crossAxisPosition}px`}}),S=()=>{n.onOpenChange?.(!1)};return(0,e.watch)(()=>(0,e.toValue)(n.open),async t=>{if(t){s.value=!1,await(0,e.nextTick)(),h(),y();return}s.value=!1,r.value=null,a.value=void 0,l.value=null,u.value=!1,m()}),(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)],async()=>{(0,e.toValue)(n.open)&&(s.value=!1,await(0,e.nextTick)(),y())}),(0,t.useResizeObserver)(()=>W((0,e.toValue)(n.reference)),()=>{(0,e.toValue)(n.open)&&y()}),(0,t.useResizeObserver)(()=>(0,e.toValue)(n.panel),()=>{(0,e.toValue)(n.open)&&y()}),(0,t.useEventListener)(window,`resize`,()=>{(0,e.toValue)(n.open)&&y()}),(0,t.useEventListener)(()=>window.visualViewport??null,`resize`,()=>{(0,e.toValue)(n.open)&&y()}),(0,t.onClickOutside)(()=>(0,e.toValue)(n.panel),()=>{!(0,e.toValue)(n.open)||!(0,e.toValue)(n.dismissOnClickOutside??!0)||S()},{ignore:[(0,e.computed)(()=>W((0,e.toValue)(n.reference))),`.s-ui-dropdown`,`.s-ui-dropdown__panel`]}),(0,t.useEventListener)(window,`keydown`,t=>{!(0,e.toValue)(n.open)||!(0,e.toValue)(n.dismissOnEscape??!0)||t.key===`Escape`&&S()}),(0,e.onScopeDispose)(()=>{m()}),{panelStyles:b,panelMaxHeight:a,resolvedPlacement:o,isPositionReady:s,referenceWidth:c,arrowStyles:x,isArrowOverflow:u,updatePosition:y}};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return Z}});
@@ -6,7 +6,7 @@ var l = /* @__PURE__ */ function(e) {
6
6
  }({}), u = /* @__PURE__ */ function(e) {
7
7
  return e.START = "start", e.END = "end", e.CENTER = "center", e;
8
8
  }({}), d = /* @__PURE__ */ function(e) {
9
- 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.RIGHT = "right", e;
9
+ 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;
10
10
  }({}), f = /* @__PURE__ */ function(e) {
11
11
  return e.PREFERRED = "preferred", e.FLIP = "flip", e.SHIFT = "shift", e.SIZE = "size", e;
12
12
  }({}), p = (e) => {
@@ -39,13 +39,29 @@ var l = /* @__PURE__ */ function(e) {
39
39
  side: l.LEFT,
40
40
  align: u.CENTER
41
41
  };
42
+ case d.LEFT_START: return {
43
+ side: l.LEFT,
44
+ align: u.START
45
+ };
46
+ case d.LEFT_END: return {
47
+ side: l.LEFT,
48
+ align: u.END
49
+ };
42
50
  case d.RIGHT: return {
43
51
  side: l.RIGHT,
44
52
  align: u.CENTER
45
53
  };
54
+ case d.RIGHT_START: return {
55
+ side: l.RIGHT,
56
+ align: u.START
57
+ };
58
+ case d.RIGHT_END: return {
59
+ side: l.RIGHT,
60
+ align: u.END
61
+ };
46
62
  default: return e;
47
63
  }
48
- }, m = (e) => e.side === l.TOP ? e.align === u.START ? d.TOP_START : e.align === u.END ? d.TOP_END : d.TOP : e.side === l.BOTTOM ? e.align === u.START ? d.BOTTOM_START : e.align === u.END ? d.BOTTOM_END : d.BOTTOM : e.side === l.LEFT ? d.LEFT : d.RIGHT, h = (e, t, n) => Math.min(Math.max(t, e), n), g = (e) => e === l.TOP ? "bottom" : e === l.BOTTOM ? "top" : e === l.LEFT ? "right" : "left", _ = ({ referenceCenter: e, floatingStart: t, floatingLength: n, crossAxisProperty: r, staticSide: i, staticOffset: a, arrowSize: o, arrowPadding: s }) => {
64
+ }, m = (e) => e.side === l.TOP ? e.align === u.START ? d.TOP_START : e.align === u.END ? d.TOP_END : d.TOP : e.side === l.BOTTOM ? e.align === u.START ? d.BOTTOM_START : e.align === u.END ? d.BOTTOM_END : d.BOTTOM : e.side === l.LEFT ? e.align === u.START ? d.LEFT_START : e.align === u.END ? d.LEFT_END : d.LEFT : e.align === u.START ? d.RIGHT_START : e.align === u.END ? d.RIGHT_END : d.RIGHT, h = (e, t, n) => Math.min(Math.max(t, e), n), g = (e) => e === l.TOP ? "bottom" : e === l.BOTTOM ? "top" : e === l.LEFT ? "right" : "left", _ = ({ referenceCenter: e, floatingStart: t, floatingLength: n, crossAxisProperty: r, staticSide: i, staticOffset: a, arrowSize: o, arrowPadding: s }) => {
49
65
  let c = e - t - o / 2, l = h(s, c, n - o - s), u = c - l;
50
66
  return {
51
67
  crossAxisPosition: l,
@@ -444,7 +460,11 @@ var l = /* @__PURE__ */ function(e) {
444
460
  i(l.open) && E();
445
461
  }), o(() => i(l.panel), () => {
446
462
  !i(l.open) || !i(l.dismissOnClickOutside ?? !0) || k();
447
- }, { ignore: [e(() => Z(i(l.reference)))] }), s(window, "keydown", (e) => {
463
+ }, { ignore: [
464
+ e(() => Z(i(l.reference))),
465
+ ".s-ui-dropdown",
466
+ ".s-ui-dropdown__panel"
467
+ ] }), s(window, "keydown", (e) => {
448
468
  !i(l.open) || !i(l.dismissOnEscape ?? !0) || e.key === "Escape" && k();
449
469
  }), n(() => {
450
470
  x();
@@ -0,0 +1,11 @@
1
+ import { type THexColor } from './contrastSurfaceTextColor';
2
+ import type { THsvChannels, TColorFormatChannels } from './types';
3
+ export declare const hexToRgbChannels: (hexColor: THexColor) => TColorFormatChannels | undefined;
4
+ export declare const rgbChannelsToHex: (channels: TColorFormatChannels) => THexColor;
5
+ export declare const hexToHslChannels: (hexColor: THexColor) => TColorFormatChannels | undefined;
6
+ export declare const hslChannelsToHex: (channels: TColorFormatChannels) => THexColor | undefined;
7
+ export declare const normalizeHexInput: (hexInput: string) => THexColor | undefined;
8
+ export declare const formatHexDisplayValue: (hexColor: THexColor) => string;
9
+ export declare const hexToHsvChannels: (hexColor: THexColor) => THsvChannels | undefined;
10
+ export declare const hsvChannelsToHex: (channels: THsvChannels) => THexColor;
11
+ //# sourceMappingURL=colorFormatChannels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorFormatChannels.d.ts","sourceRoot":"","sources":["../../../src/utils/color/colorFormatChannels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA0CjE,eAAO,MAAM,gBAAgB,GAAI,UAAU,SAAS,KAAG,oBAAoB,GAAG,SAoB7E,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,oBAAoB,KAAG,SAUjE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,SAAS,KAAG,oBAAoB,GAAG,SA6C7E,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,oBAAoB,KAAG,SAAS,GAAG,SAmB7E,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,SAAS,GAAG,SAehE,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,UAAU,SAAS,WAExD,CAAA;AA4ED,eAAO,MAAM,gBAAgB,GAAI,UAAU,SAAS,KAAG,YAAY,GAAG,SAQrE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,YAAY,KAAG,SAEzD,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { TSColorSwatchColor } from '@shtabapp/ui-kit-primitives';
2
+ import type { EAccentColor, TCssVariableColor, TColorValue, TCustomColor } from './types';
3
+ export declare const isCssVariableColor: (value: string) => value is TCustomColor & `var(--${string}`;
4
+ export declare const isCustomColor: (value: TColorValue) => value is TCustomColor;
5
+ export declare const resolveAccentColorPreview: (accent: EAccentColor) => TCssVariableColor;
6
+ export declare const resolveColorPreview: (value: TColorValue) => TSColorSwatchColor;
7
+ export declare const normalizeColorValue: (value: TColorValue) => string;
8
+ export declare const isSameColor: (first: TColorValue, second: TColorValue) => boolean;
9
+ //# sourceMappingURL=colorValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorValue.d.ts","sourceRoot":"","sources":["../../../src/utils/color/colorValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAGrE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEzF,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,YAAY,GAAG,SAAS,MAAM,EAEzF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,WAAW,KAAG,KAAK,IAAI,YAE3D,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,QAAQ,YAAY,KAAG,iBAEhE,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,KAAG,kBAMxD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,WAUrD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,EAAE,QAAQ,WAAW,YAElE,CAAA"}
@@ -0,0 +1,4 @@
1
+ export type THexColor = `#${string}`;
2
+ export declare const isHexColor: (value: string) => value is THexColor;
3
+ export declare const getContrastingSurfaceTextColor: (backgroundHex: THexColor) => "var(--s-ui-color-text-surface-primary)" | "var(--s-ui-color-text-surface-static)";
4
+ //# sourceMappingURL=contrastSurfaceTextColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrastSurfaceTextColor.d.ts","sourceRoot":"","sources":["../../../src/utils/color/contrastSurfaceTextColor.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,IAAI,MAAM,EAAE,CAAA;AAapC,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,SAEnD,CAAA;AAqED,eAAO,MAAM,8BAA8B,GAAI,eAAe,SAAS,uFAiBtE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type TColorValue } from './types';
2
+ export declare const DEFAULT_COLOR_PALETTE: TColorValue[];
3
+ //# sourceMappingURL=defaultPaletteColors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultPaletteColors.d.ts","sourceRoot":"","sources":["../../../src/utils/color/defaultPaletteColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAExD,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAY9C,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { type THexColor } from './contrastSurfaceTextColor';
2
+ import { EColorFormat, type TColorFormatChannels, type TColorValue } from './types';
3
+ export declare const DEFAULT_COLOR_FORMATS: EColorFormat[];
4
+ export declare const COLOR_FORMAT_LABELS: Record<EColorFormat, string>;
5
+ export declare const readHexFromComputedBackground: (element: HTMLElement) => THexColor | undefined;
6
+ export declare const resolveEditableHexColor: (colorValue: TColorValue, previewElement?: HTMLElement | null) => `#${string}` | undefined;
7
+ export declare const formatColorForDisplay: (hexColor: THexColor, format: EColorFormat) => string | TColorFormatChannels;
8
+ export declare const resolveColorPreviewCssValue: (colorValue: TColorValue) => import("@shtabapp/ui-kit-primitives").TSColorSwatchColor;
9
+ //# sourceMappingURL=formatColorForDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatColorForDisplay.d.ts","sourceRoot":"","sources":["../../../src/utils/color/formatColorForDisplay.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAGnF,eAAO,MAAM,qBAAqB,gBAAyD,CAAA;AAE3F,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI5D,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,SAAS,WAAW,KAAG,SAAS,GAAG,SAiBhF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,YAAY,WAAW,EACvB,iBAAiB,WAAW,GAAG,IAAI,6BAWpC,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,UAAU,SAAS,EACnB,QAAQ,YAAY,KACnB,MAAM,GAAG,oBAUX,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,YAAY,WAAW,6DAElE,CAAA"}
@@ -0,0 +1,10 @@
1
+ export { getContrastingSurfaceTextColor, isHexColor } from './contrastSurfaceTextColor';
2
+ export { formatHexDisplayValue, hexToHslChannels, hexToHsvChannels, hexToRgbChannels, hslChannelsToHex, hsvChannelsToHex, normalizeHexInput, rgbChannelsToHex, } from './colorFormatChannels';
3
+ export { COLOR_FORMAT_LABELS, DEFAULT_COLOR_FORMATS, formatColorForDisplay, readHexFromComputedBackground, resolveColorPreviewCssValue, resolveEditableHexColor, } from './formatColorForDisplay';
4
+ export { parseColorFromInput } from './parseColorFromInput';
5
+ export { isCssVariableColor, isCustomColor, isSameColor, normalizeColorValue, resolveAccentColorPreview, resolveColorPreview, } from './colorValue';
6
+ export { DEFAULT_COLOR_PALETTE } from './defaultPaletteColors';
7
+ export { RECOMMENDED_COLOR_PALETTE } from './recommendedColorPalette';
8
+ export { EAccentColor, EColorFormat, type TCssVariableColor, type TColorFormatChannels, type THsvChannels, type TColorValue, type TCustomColor, } from './types';
9
+ export type { THexColor } from './contrastSurfaceTextColor';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/color/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { THexColor } from './contrastSurfaceTextColor';
2
+ import { EColorFormat, type TColorFormatChannels } from './types';
3
+ export declare const parseColorFromInput: (format: EColorFormat, inputValue: string | TColorFormatChannels) => THexColor | undefined;
4
+ //# sourceMappingURL=parseColorFromInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseColorFromInput.d.ts","sourceRoot":"","sources":["../../../src/utils/color/parseColorFromInput.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAYjE,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,YAAY,EACpB,YAAY,MAAM,GAAG,oBAAoB,KACxC,SAAS,GAAG,SAiDd,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type TColorValue } from './types';
2
+ export declare const RECOMMENDED_COLOR_PALETTE: TColorValue[];
3
+ //# sourceMappingURL=recommendedColorPalette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendedColorPalette.d.ts","sourceRoot":"","sources":["../../../src/utils/color/recommendedColorPalette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AA0ChF,eAAO,MAAM,yBAAyB,EAAE,WAAW,EAGlD,CAAA"}
@@ -0,0 +1,35 @@
1
+ import type { THexColor } from './contrastSurfaceTextColor';
2
+ export type { THexColor };
3
+ export declare enum EAccentColor {
4
+ RED_ORANGE = "red-orange",
5
+ ORANGE = "orange",
6
+ YELLOW = "yellow",
7
+ GREEN = "green",
8
+ TEAL = "teal",
9
+ CYAN = "cyan",
10
+ BLUE = "blue",
11
+ INDIGO = "indigo",
12
+ VIOLET = "violet",
13
+ MAGENTA = "magenta",
14
+ PINK = "pink",
15
+ RED = "red"
16
+ }
17
+ export declare enum EColorFormat {
18
+ HEX = "hex",
19
+ RGB = "rgb",
20
+ HSL = "hsl"
21
+ }
22
+ export type TCssVariableColor = `var(--${string})`;
23
+ export type TCustomColor = THexColor | TCssVariableColor;
24
+ export type TColorValue = EAccentColor | TCustomColor;
25
+ export type TColorFormatChannels = {
26
+ first: number;
27
+ second: number;
28
+ third: number;
29
+ };
30
+ export type THsvChannels = {
31
+ hue: number;
32
+ saturation: number;
33
+ value: number;
34
+ };
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/color/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,YAAY,EAAE,SAAS,EAAE,CAAA;AAEzB,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,MAAM,GAAG,CAAA;AAClD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,iBAAiB,CAAA;AACxD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,CAAA;AAErD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shtabapp/ui-kit",
3
- "version": "1.32.0",
3
+ "version": "1.34.0",
4
4
  "description": "Vue 3 component library by Shtab — 30+ typed components, design tokens, light/dark themes",
5
5
  "keywords": [
6
6
  "shtab",
@@ -98,6 +98,16 @@
98
98
  "import": "./dist/entries/chip.js",
99
99
  "require": "./dist/entries/chip.cjs"
100
100
  },
101
+ "./color-palette": {
102
+ "types": "./dist/entries/color-palette.d.ts",
103
+ "import": "./dist/entries/color-palette.js",
104
+ "require": "./dist/entries/color-palette.cjs"
105
+ },
106
+ "./color-picker": {
107
+ "types": "./dist/entries/color-picker.d.ts",
108
+ "import": "./dist/entries/color-picker.js",
109
+ "require": "./dist/entries/color-picker.cjs"
110
+ },
101
111
  "./checkbox": {
102
112
  "types": "./dist/entries/checkbox.d.ts",
103
113
  "import": "./dist/entries/checkbox.js",
@@ -233,7 +243,7 @@
233
243
  },
234
244
  "dependencies": {
235
245
  "chart.js": "^4.5.0",
236
- "@shtabapp/ui-kit-primitives": "^1.16.0",
246
+ "@shtabapp/ui-kit-primitives": "^1.17.0",
237
247
  "@shtabapp/ui-kit-tokens": "^1.16.0"
238
248
  },
239
249
  "devDependencies": {
@@ -1,249 +0,0 @@
1
- import { i as e, n as t, r as n, t as r } from "./SBadge-BDxQJh6c.js";
2
- import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createVNode as u, defineComponent as d, mergeProps as f, normalizeClass as p, openBlock as m, ref as h, renderList as g, toDisplayString as _, toValue as v, unref as y, useAttrs as b, watch as x } from "vue";
3
- import { ESIconName as S, SIcon as C } from "@shtabapp/ui-kit-primitives";
4
- //#region src/components/SAvatar/SAvatar.types.ts
5
- var w = /* @__PURE__ */ function(e) {
6
- return e.SIZE_80 = "80", e.SIZE_72 = "72", e.SIZE_64 = "64", e.SIZE_56 = "56", e.SIZE_48 = "48", e.SIZE_40 = "40", e.SIZE_32 = "32", e.SIZE_24 = "24", e.SIZE_20 = "20", e.SIZE_16 = "16", e;
7
- }({}), T = /* @__PURE__ */ function(e) {
8
- return e.CIRCLE = "circle", e.SQUARE = "square", e;
9
- }({}), E = /* @__PURE__ */ function(e) {
10
- return e.TEAL = "teal", e.CYAN = "cyan", e.INDIGO = "indigo", e.VIOLET = "violet", e.PINK = "pink", e.SURFACE = "surface", e;
11
- }({}), D = /* @__PURE__ */ function(e) {
12
- return e.NEUTRAL = "neutral", e.MAIN = "main", e;
13
- }({}), O = /* @__PURE__ */ function(e) {
14
- return e.DEFAULT = "default", e.ONLINE = "online", e.OFFLINE = "offline", e.RECENTLY = "recently", e.ERROR = "error", e.TRACK = "track", e.DONE = "done", e.CONTROLLER = "controller", e.FAVORITE = "favorite", e.PIN = "pin", e.PRIVATE = "private", e;
15
- }({}), k = /* @__PURE__ */ function(e) {
16
- return e.SMALL = "s", e.MEDIUM = "m", e.LARGE = "l", e;
17
- }({}), A = {
18
- [w.SIZE_80]: "s-ui-typography-heading-h3-semibold",
19
- [w.SIZE_72]: "s-ui-typography-heading-h4-semibold",
20
- [w.SIZE_64]: "s-ui-typography-heading-h4-semibold",
21
- [w.SIZE_56]: "s-ui-typography-label-16-medium",
22
- [w.SIZE_48]: "s-ui-typography-label-16-medium",
23
- [w.SIZE_40]: "s-ui-typography-label-16-medium",
24
- [w.SIZE_32]: "s-ui-typography-label-14-medium",
25
- [w.SIZE_24]: "s-ui-typography-label-12-medium",
26
- [w.SIZE_20]: "s-ui-typography-label-12-medium",
27
- [w.SIZE_16]: "s-ui-typography-label-10-medium"
28
- }, j = {
29
- [w.SIZE_80]: 40,
30
- [w.SIZE_72]: 40,
31
- [w.SIZE_64]: 40,
32
- [w.SIZE_56]: 32,
33
- [w.SIZE_48]: 32,
34
- [w.SIZE_40]: 24,
35
- [w.SIZE_32]: 24,
36
- [w.SIZE_24]: 20,
37
- [w.SIZE_20]: 16,
38
- [w.SIZE_16]: 16
39
- }, M = {
40
- [w.SIZE_80]: k.LARGE,
41
- [w.SIZE_72]: k.LARGE,
42
- [w.SIZE_64]: k.MEDIUM,
43
- [w.SIZE_56]: k.MEDIUM,
44
- [w.SIZE_48]: k.SMALL,
45
- [w.SIZE_40]: k.SMALL,
46
- [w.SIZE_32]: k.SMALL,
47
- [w.SIZE_24]: k.SMALL,
48
- [w.SIZE_20]: k.SMALL,
49
- [w.SIZE_16]: k.SMALL
50
- }, N = {
51
- [k.SMALL]: e.SMALL,
52
- [k.MEDIUM]: e.MEDIUM,
53
- [k.LARGE]: e.LARGE
54
- }, P = {
55
- [e.SMALL]: 8,
56
- [e.MEDIUM]: 10,
57
- [e.LARGE]: 12
58
- }, F = {
59
- [e.SMALL]: 12,
60
- [e.MEDIUM]: 16,
61
- [e.LARGE]: 20
62
- }, I = 16, L = {
63
- [w.SIZE_80]: 0,
64
- [w.SIZE_72]: 0,
65
- [w.SIZE_64]: 0,
66
- [w.SIZE_56]: 0,
67
- [w.SIZE_48]: 0,
68
- [w.SIZE_40]: 0,
69
- [w.SIZE_32]: -2,
70
- [w.SIZE_24]: -2,
71
- [w.SIZE_20]: -4,
72
- [w.SIZE_16]: -4
73
- }, R = {
74
- [w.SIZE_80]: -8,
75
- [w.SIZE_72]: -8,
76
- [w.SIZE_64]: -8,
77
- [w.SIZE_56]: -8,
78
- [w.SIZE_48]: -8,
79
- [w.SIZE_40]: -8,
80
- [w.SIZE_32]: -8,
81
- [w.SIZE_24]: -8,
82
- [w.SIZE_20]: -10,
83
- [w.SIZE_16]: -10
84
- }, z = {
85
- [O.DEFAULT]: t.MAIN,
86
- [O.ONLINE]: t.SUCCESS,
87
- [O.OFFLINE]: t.WHITE,
88
- [O.RECENTLY]: t.WARNING,
89
- [O.ERROR]: t.DANGER,
90
- [O.TRACK]: t.MAIN,
91
- [O.DONE]: t.SUCCESS,
92
- [O.CONTROLLER]: t.MAIN,
93
- [O.FAVORITE]: t.WARNING,
94
- [O.PIN]: t.MAIN,
95
- [O.PRIVATE]: t.BILLING
96
- }, B = {
97
- [O.TRACK]: S.playFill,
98
- [O.DONE]: S.checkBold,
99
- [O.CONTROLLER]: S.controlFill,
100
- [O.FAVORITE]: S.starFill,
101
- [O.PIN]: S.pinFill,
102
- [O.PRIVATE]: S.tabooBold
103
- }, V = ({ avatarSize: e, badgeSize: t, hasIcon: n }) => {
104
- let r = L[e];
105
- return n ? r : r + (F[t] - P[t]) / 2;
106
- }, H = (e, t) => ({
107
- offsetX: -e - t / 2,
108
- offsetY: -e - t / 2
109
- }), U = (e, t) => ({
110
- offsetX: -e - t / 2,
111
- offsetY: e + t / 2
112
- }), W = ({ badge: r, counter: i, size: o }) => {
113
- let s = a(() => {
114
- let e = v(r);
115
- if (!e) return;
116
- let t = v(o), i = B[e], a = N[M[t]], s = i ? F[a] : P[a], c = H(V({
117
- avatarSize: t,
118
- badgeSize: a,
119
- hasIcon: !!i
120
- }), s);
121
- return {
122
- anchored: !0,
123
- color: z[e],
124
- icon: i,
125
- label: e,
126
- offsetX: c.offsetX,
127
- offsetY: c.offsetY,
128
- placement: n.BOTTOM_END,
129
- size: a
130
- };
131
- }), c = a(() => {
132
- let r = v(i);
133
- if (typeof r != "number") return;
134
- let a = R[v(o)], s = U(a, I);
135
- return {
136
- anchored: !0,
137
- color: t.MAIN,
138
- offsetX: s.offsetX,
139
- offsetY: s.offsetY,
140
- placement: n.TOP_END,
141
- size: e.MEDIUM,
142
- value: r
143
- };
144
- });
145
- return { avatarBadgeItemsProps: a(() => {
146
- let e = [];
147
- return c.value && e.push(c.value), s.value && e.push(s.value), e;
148
- }) };
149
- }, G = (e) => e.startsWith("#"), K = (e) => G(e) ? "s-ui-avatar--color-custom" : `s-ui-avatar--color-${e}`, q = (e) => ({ "--s-ui-avatar-background": e }), J = ["aria-disabled"], Y = { class: "s-ui-avatar__content" }, X = ["src", "alt"], Z = {
150
- key: 1,
151
- class: "s-ui-avatar__icon"
152
- }, Q = ["role", "aria-label"], $ = {
153
- key: 0,
154
- class: "s-ui-avatar__name"
155
- }, ee = /* @__PURE__ */ d({
156
- inheritAttrs: !1,
157
- __name: "SAvatar",
158
- props: {
159
- alt: {},
160
- badge: {},
161
- bordered: {
162
- type: Boolean,
163
- default: !0
164
- },
165
- color: { default: () => E.TEAL },
166
- counter: {},
167
- disabled: {
168
- type: Boolean,
169
- default: !1
170
- },
171
- icon: {},
172
- iconBackground: { default: () => D.NEUTRAL },
173
- initialLength: { default: 1 },
174
- name: {},
175
- shape: { default: () => T.CIRCLE },
176
- showName: {
177
- type: Boolean,
178
- default: !0
179
- },
180
- size: { default: () => w.SIZE_40 },
181
- src: {}
182
- },
183
- setup(e) {
184
- let t = b(), n = h(!1), d = (e) => typeof e == "number" || typeof e == "string", v = a(() => {
185
- if (d(t.tabindex)) return t.tabindex;
186
- if (d(t.tabIndex)) return t.tabIndex;
187
- }), S = a(() => d(t.tabindex) || d(t.tabIndex)), w = a(() => e.disabled ? -1 : S.value ? v.value : 0), T = a(() => ({
188
- ...t,
189
- tabindex: w.value
190
- })), E = a(() => [
191
- `s-ui-avatar--size-${e.size}`,
192
- `s-ui-avatar--shape-${e.shape}`,
193
- K(e.color),
194
- `s-ui-avatar--icon-background-${e.iconBackground}`,
195
- {
196
- "s-ui-avatar--bordered": e.bordered,
197
- "s-ui-avatar--disabled": e.disabled,
198
- "s-ui-avatar--icon": k.value,
199
- "s-ui-avatar--photo": O.value
200
- }
201
- ]), D = a(() => {
202
- if (!k.value && G(e.color)) return q(e.color);
203
- }), O = a(() => !!(e.src && !n.value)), k = a(() => !!(!O.value && e.icon)), M = (e) => {
204
- let t = e.split(/\s+/).filter(Boolean);
205
- if (t.length === 1) {
206
- let e = t[0];
207
- if (e) return e;
208
- }
209
- return t.map((e) => e.slice(0, 1)).join("");
210
- }, N = a(() => e.name ? M(e.name) : ""), P = a(() => e.alt ? e.alt : e.name ? e.name : N.value), F = a(() => {
211
- if (e.alt) return e.alt;
212
- if (e.name) return e.name;
213
- }), I = a(() => N.value.slice(0, Math.max(e.initialLength, 0))), L = a(() => A[e.size]), R = a(() => j[e.size]), { avatarBadgeItemsProps: z } = W({
214
- badge: () => e.badge,
215
- counter: () => e.counter,
216
- size: () => e.size
217
- }), B = () => {
218
- n.value = !0;
219
- };
220
- return x(() => e.src, () => {
221
- n.value = !1;
222
- }), (t, a) => (m(), c("span", f(T.value, {
223
- class: ["s-ui-avatar", E.value],
224
- style: D.value,
225
- "aria-disabled": e.disabled || void 0
226
- }), [l("span", Y, [e.src && !n.value ? (m(), c("img", {
227
- key: 0,
228
- class: "s-ui-avatar__image",
229
- src: e.src,
230
- alt: P.value,
231
- onError: B
232
- }, null, 40, X)) : e.icon ? (m(), c("span", Z, [u(y(C), {
233
- name: e.icon,
234
- size: R.value,
235
- "aria-label": F.value
236
- }, null, 8, [
237
- "name",
238
- "size",
239
- "aria-label"
240
- ])])) : (m(), c("span", {
241
- key: 2,
242
- class: p(["s-ui-avatar__initials", L.value]),
243
- role: e.alt ? "img" : void 0,
244
- "aria-label": e.alt
245
- }, _(I.value), 11, Q)), (m(!0), c(i, null, g(y(z), (e) => (m(), o(y(r), f({ key: e.placement }, { ref_for: !0 }, e), null, 16))), 128))]), e.showName && e.name ? (m(), c("span", $, _(e.name), 1)) : s("", !0)], 16, J));
246
- }
247
- });
248
- //#endregion
249
- export { T as a, D as i, O as n, w as o, E as r, ee as t };
@@ -1 +0,0 @@
1
- const e=require("./SBadge-d1GOPFP-.cjs");let t=require("vue"),n=require("@shtabapp/ui-kit-primitives");var r=function(e){return e.SIZE_80=`80`,e.SIZE_72=`72`,e.SIZE_64=`64`,e.SIZE_56=`56`,e.SIZE_48=`48`,e.SIZE_40=`40`,e.SIZE_32=`32`,e.SIZE_24=`24`,e.SIZE_20=`20`,e.SIZE_16=`16`,e}({}),i=function(e){return e.CIRCLE=`circle`,e.SQUARE=`square`,e}({}),a=function(e){return e.TEAL=`teal`,e.CYAN=`cyan`,e.INDIGO=`indigo`,e.VIOLET=`violet`,e.PINK=`pink`,e.SURFACE=`surface`,e}({}),o=function(e){return e.NEUTRAL=`neutral`,e.MAIN=`main`,e}({}),s=function(e){return e.DEFAULT=`default`,e.ONLINE=`online`,e.OFFLINE=`offline`,e.RECENTLY=`recently`,e.ERROR=`error`,e.TRACK=`track`,e.DONE=`done`,e.CONTROLLER=`controller`,e.FAVORITE=`favorite`,e.PIN=`pin`,e.PRIVATE=`private`,e}({}),c=function(e){return e.SMALL=`s`,e.MEDIUM=`m`,e.LARGE=`l`,e}({}),l={[r.SIZE_80]:`s-ui-typography-heading-h3-semibold`,[r.SIZE_72]:`s-ui-typography-heading-h4-semibold`,[r.SIZE_64]:`s-ui-typography-heading-h4-semibold`,[r.SIZE_56]:`s-ui-typography-label-16-medium`,[r.SIZE_48]:`s-ui-typography-label-16-medium`,[r.SIZE_40]:`s-ui-typography-label-16-medium`,[r.SIZE_32]:`s-ui-typography-label-14-medium`,[r.SIZE_24]:`s-ui-typography-label-12-medium`,[r.SIZE_20]:`s-ui-typography-label-12-medium`,[r.SIZE_16]:`s-ui-typography-label-10-medium`},u={[r.SIZE_80]:40,[r.SIZE_72]:40,[r.SIZE_64]:40,[r.SIZE_56]:32,[r.SIZE_48]:32,[r.SIZE_40]:24,[r.SIZE_32]:24,[r.SIZE_24]:20,[r.SIZE_20]:16,[r.SIZE_16]:16},d={[r.SIZE_80]:c.LARGE,[r.SIZE_72]:c.LARGE,[r.SIZE_64]:c.MEDIUM,[r.SIZE_56]:c.MEDIUM,[r.SIZE_48]:c.SMALL,[r.SIZE_40]:c.SMALL,[r.SIZE_32]:c.SMALL,[r.SIZE_24]:c.SMALL,[r.SIZE_20]:c.SMALL,[r.SIZE_16]:c.SMALL},f={[c.SMALL]:e.i.SMALL,[c.MEDIUM]:e.i.MEDIUM,[c.LARGE]:e.i.LARGE},p={[e.i.SMALL]:8,[e.i.MEDIUM]:10,[e.i.LARGE]:12},m={[e.i.SMALL]:12,[e.i.MEDIUM]:16,[e.i.LARGE]:20},h=16,g={[r.SIZE_80]:0,[r.SIZE_72]:0,[r.SIZE_64]:0,[r.SIZE_56]:0,[r.SIZE_48]:0,[r.SIZE_40]:0,[r.SIZE_32]:-2,[r.SIZE_24]:-2,[r.SIZE_20]:-4,[r.SIZE_16]:-4},_={[r.SIZE_80]:-8,[r.SIZE_72]:-8,[r.SIZE_64]:-8,[r.SIZE_56]:-8,[r.SIZE_48]:-8,[r.SIZE_40]:-8,[r.SIZE_32]:-8,[r.SIZE_24]:-8,[r.SIZE_20]:-10,[r.SIZE_16]:-10},v={[s.DEFAULT]:e.n.MAIN,[s.ONLINE]:e.n.SUCCESS,[s.OFFLINE]:e.n.WHITE,[s.RECENTLY]:e.n.WARNING,[s.ERROR]:e.n.DANGER,[s.TRACK]:e.n.MAIN,[s.DONE]:e.n.SUCCESS,[s.CONTROLLER]:e.n.MAIN,[s.FAVORITE]:e.n.WARNING,[s.PIN]:e.n.MAIN,[s.PRIVATE]:e.n.BILLING},y={[s.TRACK]:n.ESIconName.playFill,[s.DONE]:n.ESIconName.checkBold,[s.CONTROLLER]:n.ESIconName.controlFill,[s.FAVORITE]:n.ESIconName.starFill,[s.PIN]:n.ESIconName.pinFill,[s.PRIVATE]:n.ESIconName.tabooBold},b=({avatarSize:e,badgeSize:t,hasIcon:n})=>{let r=g[e];return n?r:r+(m[t]-p[t])/2},x=(e,t)=>({offsetX:-e-t/2,offsetY:-e-t/2}),S=(e,t)=>({offsetX:-e-t/2,offsetY:e+t/2}),C=({badge:n,counter:r,size:i})=>{let a=(0,t.computed)(()=>{let r=(0,t.toValue)(n);if(!r)return;let a=(0,t.toValue)(i),o=y[r],s=f[d[a]],c=o?m[s]:p[s],l=x(b({avatarSize:a,badgeSize:s,hasIcon:!!o}),c);return{anchored:!0,color:v[r],icon:o,label:r,offsetX:l.offsetX,offsetY:l.offsetY,placement:e.r.BOTTOM_END,size:s}}),o=(0,t.computed)(()=>{let n=(0,t.toValue)(r);if(typeof n!=`number`)return;let a=_[(0,t.toValue)(i)],o=S(a,h);return{anchored:!0,color:e.n.MAIN,offsetX:o.offsetX,offsetY:o.offsetY,placement:e.r.TOP_END,size:e.i.MEDIUM,value:n}});return{avatarBadgeItemsProps:(0,t.computed)(()=>{let e=[];return o.value&&e.push(o.value),a.value&&e.push(a.value),e})}},w=e=>e.startsWith(`#`),T=e=>w(e)?`s-ui-avatar--color-custom`:`s-ui-avatar--color-${e}`,E=e=>({"--s-ui-avatar-background":e}),D=[`aria-disabled`],O={class:`s-ui-avatar__content`},k=[`src`,`alt`],A={key:1,class:`s-ui-avatar__icon`},j=[`role`,`aria-label`],M={key:0,class:`s-ui-avatar__name`},N=(0,t.defineComponent)({inheritAttrs:!1,__name:`SAvatar`,props:{alt:{},badge:{},bordered:{type:Boolean,default:!0},color:{default:()=>a.TEAL},counter:{},disabled:{type:Boolean,default:!1},icon:{},iconBackground:{default:()=>o.NEUTRAL},initialLength:{default:1},name:{},shape:{default:()=>i.CIRCLE},showName:{type:Boolean,default:!0},size:{default:()=>r.SIZE_40},src:{}},setup(r){let i=(0,t.useAttrs)(),a=(0,t.ref)(!1),o=e=>typeof e==`number`||typeof e==`string`,s=(0,t.computed)(()=>{if(o(i.tabindex))return i.tabindex;if(o(i.tabIndex))return i.tabIndex}),c=(0,t.computed)(()=>o(i.tabindex)||o(i.tabIndex)),d=(0,t.computed)(()=>r.disabled?-1:c.value?s.value:0),f=(0,t.computed)(()=>({...i,tabindex:d.value})),p=(0,t.computed)(()=>[`s-ui-avatar--size-${r.size}`,`s-ui-avatar--shape-${r.shape}`,T(r.color),`s-ui-avatar--icon-background-${r.iconBackground}`,{"s-ui-avatar--bordered":r.bordered,"s-ui-avatar--disabled":r.disabled,"s-ui-avatar--icon":g.value,"s-ui-avatar--photo":h.value}]),m=(0,t.computed)(()=>{if(!g.value&&w(r.color))return E(r.color)}),h=(0,t.computed)(()=>!!(r.src&&!a.value)),g=(0,t.computed)(()=>!!(!h.value&&r.icon)),_=e=>{let t=e.split(/\s+/).filter(Boolean);if(t.length===1){let e=t[0];if(e)return e}return t.map(e=>e.slice(0,1)).join(``)},v=(0,t.computed)(()=>r.name?_(r.name):``),y=(0,t.computed)(()=>r.alt?r.alt:r.name?r.name:v.value),b=(0,t.computed)(()=>{if(r.alt)return r.alt;if(r.name)return r.name}),x=(0,t.computed)(()=>v.value.slice(0,Math.max(r.initialLength,0))),S=(0,t.computed)(()=>l[r.size]),N=(0,t.computed)(()=>u[r.size]),{avatarBadgeItemsProps:P}=C({badge:()=>r.badge,counter:()=>r.counter,size:()=>r.size}),F=()=>{a.value=!0};return(0,t.watch)(()=>r.src,()=>{a.value=!1}),(i,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)(f.value,{class:[`s-ui-avatar`,p.value],style:m.value,"aria-disabled":r.disabled||void 0}),[(0,t.createElementVNode)(`span`,O,[r.src&&!a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,class:`s-ui-avatar__image`,src:r.src,alt:y.value,onError:F},null,40,k)):r.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,A,[(0,t.createVNode)((0,t.unref)(n.SIcon),{name:r.icon,size:N.value,"aria-label":b.value},null,8,[`name`,`size`,`aria-label`])])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:2,class:(0,t.normalizeClass)([`s-ui-avatar__initials`,S.value]),role:r.alt?`img`:void 0,"aria-label":r.alt},(0,t.toDisplayString)(x.value),11,j)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(P),n=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(e.t),(0,t.mergeProps)({key:n.placement},{ref_for:!0},n),null,16))),128))]),r.showName&&r.name?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,M,(0,t.toDisplayString)(r.name),1)):(0,t.createCommentVNode)(``,!0)],16,D))}});Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}});
@@ -1 +0,0 @@
1
- const e=require("./useFloatingOverlay-Cwg2MWyD.cjs");let t=require("vue"),n=require("@vueuse/core");var r=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)}}},i=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},a=[`id`],o=[`data-placement`],s={class:`s-ui-dropdown__content`},c=(0,t.defineComponent)({__name:`SDropdown`,props:(0,t.mergeModels)({placement:{default:()=>e.i.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},arrow:{type:Boolean,default:!1},showOnHover:{type:Boolean,default:!1},hoverLeaveDelay:{default:100}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(c,{expose:l}){let u=(0,t.useModel)(c,`modelValue`),{isPanelShown:d,isPanelActive:f,handlePanelAfterLeave:p}=r(u),m=e=>{u.value=e},h=(0,t.useSlots)(),g=(0,t.useTemplateRef)(`triggerWrapperRef`),_=(0,t.useTemplateRef)(`panelRef`),v=(0,t.useId)(),y=(0,t.useId)(),b=(0,t.computed)(()=>c.contentId??v),x=(0,t.computed)(()=>h.trigger?i(g.value):c.reference),S=(0,t.computed)(()=>c.teleportTo!==!1),C=(0,t.computed)(()=>c.teleportTo===!1?`body`:c.teleportTo),w=()=>{c.disabled||(u.value=!u.value)},T=(0,t.computed)(()=>({id:y,"aria-expanded":u.value,"aria-haspopup":`dialog`,"aria-controls":b.value})),{panelStyles:E,panelMaxHeight:D,resolvedPlacement:O,arrowStyles:k,isArrowOverflow:A,isPositionReady:j,updatePosition:M}=e.t({open:()=>f.value,onOpenChange:m,reference:()=>x.value,panel:()=>_.value,placement:()=>c.placement,offset:()=>c.offset,flip:()=>c.flip,shift:()=>c.shift,matchReferenceWidth:()=>c.matchReferenceWidth,fitViewport:()=>c.fitViewport,dismissOnClickOutside:()=>c.dismissOnClickOutside,dismissOnEscape:()=>c.dismissOnEscape,viewportPadding:()=>c.viewportPadding,arrow:()=>c.arrow}),N=(0,t.computed)(()=>c.showOnHover?x.value:null),P=(0,t.computed)(()=>c.showOnHover?_.value:null),F=(0,n.useElementHover)(N,{delayLeave:c.hoverLeaveDelay}),I=(0,n.useElementHover)(P,{delayLeave:c.hoverLeaveDelay});(0,t.watch)([F,I,()=>c.showOnHover,()=>c.disabled],()=>{if(c.showOnHover){if(c.disabled){m(!1);return}m(F.value||I.value)}});let L=(0,t.computed)(()=>!!D.value),R=(0,t.computed)(()=>{if(D.value)return{maxHeight:`${D.value}px`}});return(0,t.watch)(()=>c.disabled,e=>{e&&u.value&&(u.value=!1)}),l({updatePosition:M}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.unref)(h).trigger?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,ref_key:`triggerWrapperRef`,ref:g,class:`s-ui-dropdown`},[(0,t.renderSlot)(e.$slots,`trigger`,{open:u.value,toggle:w,triggerProps:T.value})],512)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:C.value,disabled:!S.value},[(0,t.createVNode)(t.Transition,{name:`s-ui-dropdown`,onAfterLeave:(0,t.unref)(p)},{default:(0,t.withCtx)(()=>[(0,t.unref)(d)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:b.value,ref_key:`panelRef`,ref:_,class:(0,t.normalizeClass)([`s-ui-dropdown__panel`,{"s-ui-dropdown__panel--match-reference-width":c.matchReferenceWidth,"s-ui-dropdown__panel--ready":(0,t.unref)(j)}]),style:(0,t.normalizeStyle)((0,t.unref)(E)),role:`dialog`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`s-ui-dropdown__surface`,[c.surfaceClass,{"s-ui-dropdown__surface--fit-viewport":L.value,"s-ui-dropdown__surface--with-arrow":c.arrow}]]),style:(0,t.normalizeStyle)(R.value),"data-placement":(0,t.unref)(O)},[c.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)(A)}]),style:(0,t.normalizeStyle)((0,t.unref)(k)),"aria-hidden":`true`},[...n[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`,s,[(0,t.renderSlot)(e.$slots,`content`,{resolvedPlacement:(0,t.unref)(O)})])],14,o)],14,a)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`onAfterLeave`])],8,[`to`,`disabled`]))],64))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});