@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
@@ -1,118 +0,0 @@
1
- import { n as e, r as t, t as n } from "./SButton.types-CpdHQtyx.js";
2
- import { t as r } from "./SButton-DnU_XZ1C.js";
3
- import { n as i, r as a, t as o } from "./useLink-Com5VhOk.js";
4
- import { computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, mergeModels as m, mergeProps as h, openBlock as g, resolveDynamicComponent as _, toDisplayString as v, unref as y, useAttrs as b, useModel as x, withCtx as S, withModifiers as C } from "vue";
5
- //#region src/components/STag/STag.types.ts
6
- var w = /* @__PURE__ */ function(e) {
7
- return e.RED_ORANGE = "red-orange", e.ORANGE = "orange", e.YELLOW = "yellow", e.GREEN = "green", e.TEAL = "teal", e.CYAN = "cyan", e.BLUE = "blue", e.INDIGO = "indigo", e.VIOLET = "violet", e.MAGENTA = "magenta", e.PINK = "pink", e.GRAY = "gray", e.RED = "red", e.WHITE_BORDER = "white-border", e.BILLING = "billing", e.BILLING_LIGHT = "billing-light", e;
8
- }({}), T = /* @__PURE__ */ function(e) {
9
- return e.SMALL = "small", e.MEDIUM = "medium", e;
10
- }({}), E = (e) => e.startsWith("#") || e.startsWith("var(--"), D = (e) => E(e) ? "s-ui-tag--color-custom" : `s-ui-tag--color-${e}`, O = (e) => ({ "--s-ui-tag-bg": e }), k = { class: "s-ui-tag__content s-ui-typography-body-12-regular" }, A = {
11
- key: 0,
12
- class: "s-ui-tag__actions"
13
- }, j = { class: "s-ui-tag__action-close" }, M = /* @__PURE__ */ p({
14
- inheritAttrs: !1,
15
- __name: "STag",
16
- props: /*@__PURE__*/ m({
17
- color: { default: () => w.RED_ORANGE },
18
- size: { default: () => T.MEDIUM },
19
- short: {
20
- type: Boolean,
21
- default: !1
22
- },
23
- closable: {
24
- type: Boolean,
25
- default: !1
26
- },
27
- disabled: {
28
- type: Boolean,
29
- default: !1
30
- },
31
- selected: {
32
- type: Boolean,
33
- default: !1
34
- },
35
- link: {},
36
- exact: {
37
- type: Boolean,
38
- default: !1
39
- },
40
- replace: {
41
- type: Boolean,
42
- default: !1
43
- }
44
- }, {
45
- modelValue: { default: "" },
46
- modelModifiers: {}
47
- }),
48
- emits: /*@__PURE__*/ m(["close"], ["update:modelValue"]),
49
- setup(p, { emit: m }) {
50
- let w = b(), T = x(p, "modelValue"), M = m, N = o(() => p.link, () => p.exact, () => p.replace), P = N.linkPresentation, F = s(() => {
51
- let e = P.value;
52
- return e.mode === "none" ? "span" : e.rootTag;
53
- }), I = s(() => i(P.value, { replace: p.replace })), L = s(() => ({
54
- ...I.value,
55
- ...w
56
- })), R = s(() => N.isRouterLink.value ? N.isActive.value : p.selected), z = s(() => p.closable && !p.short), B = s(() => {
57
- if (p.disabled) return -1;
58
- if (!a(p.link)) return z.value ? 0 : -1;
59
- }), V = s(() => [
60
- D(p.color),
61
- `s-ui-tag--size-${p.size}`,
62
- {
63
- "s-ui-tag--short": p.short,
64
- "s-ui-tag--disabled": p.disabled,
65
- "s-ui-tag--selected": R.value,
66
- "s-ui-tag--link": a(p.link)
67
- }
68
- ]), H = s(() => {
69
- if (E(p.color)) return O(p.color);
70
- }), U = s(() => p.short ? T.value.slice(0, 1) : T.value), W = () => {
71
- M("close");
72
- }, G = [
73
- "Enter",
74
- " ",
75
- "Spacebar"
76
- ], K = ["Delete", "Backspace"], q = (e) => {
77
- if (!p.disabled) {
78
- if (N.isRouterLink.value && G.includes(e.key)) {
79
- e.preventDefault(), N.navigate();
80
- return;
81
- }
82
- if (e.target === e.currentTarget && K.includes(e.key)) {
83
- if (!z.value) return;
84
- e.preventDefault(), M("close");
85
- }
86
- }
87
- };
88
- return (i, a) => (g(), c(_(F.value), h({
89
- class: ["s-ui-tag", V.value],
90
- style: H.value,
91
- tabindex: B.value,
92
- "aria-disabled": p.disabled ? !0 : void 0
93
- }, L.value, { onKeydown: q }), {
94
- default: S(() => [d("span", k, v(U.value), 1), z.value ? (g(), u("span", A, [d("span", j, [f(y(r), {
95
- appearance: y(n).BARE,
96
- variant: y(t).NEUTRAL,
97
- size: y(e).SMALL,
98
- disabled: p.disabled,
99
- tabindex: -1,
100
- icon: "closeMini",
101
- onClick: C(W, ["stop"])
102
- }, null, 8, [
103
- "appearance",
104
- "variant",
105
- "size",
106
- "disabled"
107
- ])])])) : l("", !0)]),
108
- _: 1
109
- }, 16, [
110
- "class",
111
- "style",
112
- "tabindex",
113
- "aria-disabled"
114
- ]));
115
- }
116
- });
117
- //#endregion
118
- export { w as n, T as r, M as t };
@@ -1 +0,0 @@
1
- const e=require("./SButton.types-UKroD-ev.cjs"),t=require("./SButton-C-z_q5CG.cjs"),n=require("./useLink-1LLWpdDZ.cjs");let r=require("vue");var i=function(e){return e.RED_ORANGE=`red-orange`,e.ORANGE=`orange`,e.YELLOW=`yellow`,e.GREEN=`green`,e.TEAL=`teal`,e.CYAN=`cyan`,e.BLUE=`blue`,e.INDIGO=`indigo`,e.VIOLET=`violet`,e.MAGENTA=`magenta`,e.PINK=`pink`,e.GRAY=`gray`,e.RED=`red`,e.WHITE_BORDER=`white-border`,e.BILLING=`billing`,e.BILLING_LIGHT=`billing-light`,e}({}),a=function(e){return e.SMALL=`small`,e.MEDIUM=`medium`,e}({}),o=e=>e.startsWith(`#`)||e.startsWith(`var(--`),s=e=>o(e)?`s-ui-tag--color-custom`:`s-ui-tag--color-${e}`,c=e=>({"--s-ui-tag-bg":e}),l={class:`s-ui-tag__content s-ui-typography-body-12-regular`},u={key:0,class:`s-ui-tag__actions`},d={class:`s-ui-tag__action-close`},f=(0,r.defineComponent)({inheritAttrs:!1,__name:`STag`,props:(0,r.mergeModels)({color:{default:()=>i.RED_ORANGE},size:{default:()=>a.MEDIUM},short:{type:Boolean,default:!1},closable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},link:{},exact:{type:Boolean,default:!1},replace:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:(0,r.mergeModels)([`close`],[`update:modelValue`]),setup(i,{emit:a}){let f=(0,r.useAttrs)(),p=(0,r.useModel)(i,`modelValue`),m=a,h=n.t(()=>i.link,()=>i.exact,()=>i.replace),g=h.linkPresentation,_=(0,r.computed)(()=>{let e=g.value;return e.mode===`none`?`span`:e.rootTag}),v=(0,r.computed)(()=>n.n(g.value,{replace:i.replace})),y=(0,r.computed)(()=>({...v.value,...f})),b=(0,r.computed)(()=>h.isRouterLink.value?h.isActive.value:i.selected),x=(0,r.computed)(()=>i.closable&&!i.short),S=(0,r.computed)(()=>{if(i.disabled)return-1;if(!n.r(i.link))return x.value?0:-1}),C=(0,r.computed)(()=>[s(i.color),`s-ui-tag--size-${i.size}`,{"s-ui-tag--short":i.short,"s-ui-tag--disabled":i.disabled,"s-ui-tag--selected":b.value,"s-ui-tag--link":n.r(i.link)}]),w=(0,r.computed)(()=>{if(o(i.color))return c(i.color)}),T=(0,r.computed)(()=>i.short?p.value.slice(0,1):p.value),E=()=>{m(`close`)},D=[`Enter`,` `,`Spacebar`],O=[`Delete`,`Backspace`],k=e=>{if(!i.disabled){if(h.isRouterLink.value&&D.includes(e.key)){e.preventDefault(),h.navigate();return}if(e.target===e.currentTarget&&O.includes(e.key)){if(!x.value)return;e.preventDefault(),m(`close`)}}};return(n,a)=>((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(_.value),(0,r.mergeProps)({class:[`s-ui-tag`,C.value],style:w.value,tabindex:S.value,"aria-disabled":i.disabled?!0:void 0},y.value,{onKeydown:k}),{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`span`,l,(0,r.toDisplayString)(T.value),1),x.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,u,[(0,r.createElementVNode)(`span`,d,[(0,r.createVNode)((0,r.unref)(t.t),{appearance:(0,r.unref)(e.t).BARE,variant:(0,r.unref)(e.r).NEUTRAL,size:(0,r.unref)(e.n).SMALL,disabled:i.disabled,tabindex:-1,icon:`closeMini`,onClick:(0,r.withModifiers)(E,[`stop`])},null,8,[`appearance`,`variant`,`size`,`disabled`])])])):(0,r.createCommentVNode)(``,!0)]),_:1},16,[`class`,`style`,`tabindex`,`aria-disabled`]))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
@@ -1 +0,0 @@
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.RIGHT=`right`,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.RIGHT:return{side:n.RIGHT,align:r.CENTER};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?i.LEFT: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)))]}),(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}});