@shtabapp/ui-kit 1.65.0 → 1.66.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 (40) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{SColorPicker-Z6lSlByI.cjs → SColorPicker-B_rbs-0d.cjs} +1 -1
  3. package/dist/{SColorPicker-B8x6qO8A.js → SColorPicker-C_161aLA.js} +3 -3
  4. package/dist/{SDropdown-LNVnMol3.cjs → SDropdown-B1OGbIYg.cjs} +1 -1
  5. package/dist/SDropdown-CiXHI3g1.js +362 -0
  6. package/dist/{SSelect-BLc_92_w.js → SSelect-C3-8vi2u.js} +1 -1
  7. package/dist/{SSelect-LaTTGKd1.cjs → SSelect-EhvfGB4d.cjs} +1 -1
  8. package/dist/{STable-CfRGPFmm.js → STable-CADyNvk8.js} +2 -2
  9. package/dist/{STable-xMxOF84K.cjs → STable-D1x-kIBO.cjs} +1 -1
  10. package/dist/components/SDropdown/SDropdown.types.d.ts +10 -2
  11. package/dist/components/SDropdown/SDropdown.types.d.ts.map +1 -1
  12. package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
  13. package/dist/components/SDropdown/index.d.ts +1 -1
  14. package/dist/components/SDropdown/index.d.ts.map +1 -1
  15. package/dist/composables/connectedPosition/index.d.ts +1 -1
  16. package/dist/composables/connectedPosition/index.d.ts.map +1 -1
  17. package/dist/composables/connectedPosition/types.d.ts +4 -0
  18. package/dist/composables/connectedPosition/types.d.ts.map +1 -1
  19. package/dist/composables/useFloatingOverlay.d.ts +2 -1
  20. package/dist/composables/useFloatingOverlay.d.ts.map +1 -1
  21. package/dist/entries/color-picker.cjs +1 -1
  22. package/dist/entries/color-picker.js +1 -1
  23. package/dist/entries/composables.cjs +1 -1
  24. package/dist/entries/composables.js +1 -1
  25. package/dist/entries/dropdown.cjs +1 -1
  26. package/dist/entries/dropdown.js +2 -2
  27. package/dist/entries/select.cjs +1 -1
  28. package/dist/entries/select.js +1 -1
  29. package/dist/entries/table.cjs +1 -1
  30. package/dist/entries/table.js +1 -1
  31. package/dist/index.cjs +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +139 -139
  35. package/dist/uikit-components.css +1 -1
  36. package/dist/{useFloatingOverlay-QcumEYEq.js → useFloatingOverlay-B1BvRxLz.js} +134 -130
  37. package/dist/useFloatingOverlay-CtQBdvS9.cjs +1 -0
  38. package/package.json +1 -1
  39. package/dist/SDropdown-LOTCtlCX.js +0 -356
  40. package/dist/useFloatingOverlay-B1UCUYQQ.cjs +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [@shtabapp/ui-kit-v1.66.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.65.0...@shtabapp/ui-kit@1.66.0) (2026-09-01)
2
+
3
+ ### Features
4
+
5
+ - **components:** sdropdown block trigger, sdropdownmenu header background and body padding vars ([29cab7e](https://gitlab.com/mstikharev/shtab-ui-kit/commit/29cab7eff33d6c7e9c763a44ec48be4d1e469c47))
6
+ - **components:** sdropdown boundary prop to escape clipping ancestors ([d75c464](https://gitlab.com/mstikharev/shtab-ui-kit/commit/d75c464e64278a75929d6105f7d046b8a1fc822a))
7
+
1
8
  ## [@shtabapp/ui-kit-v1.65.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.64.1...@shtabapp/ui-kit@1.65.0) (2026-08-31)
2
9
 
3
10
  ### Features
@@ -1 +1 @@
1
- const e=require("./contrastSurfaceTextColor-BRjRzXyZ.cjs"),t=require("./SColorPalette-CqIA4Qtp.cjs"),n=require("./colorValue-Dda7fKd3.cjs"),r=require("./SButton-BN-PppY7.cjs"),i=require("./useFloatingOverlay-B1UCUYQQ.cjs"),a=require("./SDropdown-LNVnMol3.cjs"),o=require("./SDropdownMenu-k9SxaFVH.cjs"),s=require("./SSelect-LaTTGKd1.cjs");let c=require("vue"),l=require("@shtabapp/ui-kit-primitives"),u=require("@vueuse/core");var d=e=>Math.max(0,Math.min(255,Math.round(e))),f=e=>{let t=e%360;return t<0?t+360:t},p=e=>Math.max(0,Math.min(100,Math.round(e))),m=e=>{let t=e.slice(1);if(t.length===3){let e=t[0],n=t[1],r=t[2];return!e||!n||!r?void 0:`${e}${e}${n}${n}${r}${r}`}if(t.length===6||t.length===8)return t.slice(0,6)},h=e=>{let t=m(e);if(!t)return;let n=Number.parseInt(t.slice(0,2),16),r=Number.parseInt(t.slice(2,4),16),i=Number.parseInt(t.slice(4,6),16);if(!(Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)))return{first:n,second:r,third:i}},g=e=>{let t=d(e.first),n=d(e.second),r=d(e.third);return`#${t.toString(16).padStart(2,`0`).toUpperCase()}${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}`},_=e=>{let t=h(e);if(!t)return;let n=t.first/255,r=t.second/255,i=t.third/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=a-o,c=0,l=(a+o)/2;s!==0&&(c=a===n?((r-i)/s+(r<i?6:0))*60:a===r?((i-n)/s+2)*60:((n-r)/s+4)*60);let u=0;return s!==0&&(u=l>.5?s/(2-a-o):s/(a+o)),{first:Math.round(c),second:Math.round(u*100),third:Math.round(l*100)}},v=e=>{let t=f(e.first),n=p(e.second)/100,r=p(e.third)/100,i=e=>{let i=(t+e)/30;return d((r-n*Math.min(r,1-r)*Math.max(-1,Math.min(i%2-1,1)))*255)};return g({first:i(0),second:i(8),third:i(4)})},y=t=>{let n=t.toUpperCase(),r=n.startsWith(`#`)?n.slice(1):n;if(!/^[0-9A-F]{3}$/.test(r)&&!/^[0-9A-F]{6}$/.test(r))return;let i=`#${r}`;if(e.n(i))return g(h(i)??{first:0,second:0,third:0})},b=e=>e.slice(1).toUpperCase(),x=e=>{let t=e.first/255,n=e.second/255,r=e.third/255,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=0;a!==0&&(o=i===t?(n-r)/a%6:i===n?(r-t)/a+2:(t-n)/a+4,o=Math.round(o*60),o<0&&(o+=360));let s=i===0?0:a/i;return{hue:o,saturation:s,value:i}},S=e=>{let t=e.value*e.saturation,n=e.hue/60,r=t*(1-Math.abs(n%2-1)),i=e.value-t,a=0,o=0,s=0;return n>=0&&n<1?(a=t,o=r):n>=1&&n<2?(a=r,o=t):n>=2&&n<3?(o=t,s=r):n>=3&&n<4?(o=r,s=t):n>=4&&n<5?(a=r,s=t):(a=t,s=r),{first:d((a+i)*255),second:d((o+i)*255),third:d((s+i)*255)}},C=e=>{let t=h(e);if(t)return x(t)},w=e=>g(S(e)),T=[t.o.HEX,t.o.RGB,t.o.HSL],E={[t.o.HEX]:`Hex`,[t.o.RGB]:`RGB`,[t.o.HSL]:`HSL`},D=e=>{let t=getComputedStyle(e).backgroundColor.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(!t)return;let n=Number.parseInt(t[1]??`0`,10),r=Number.parseInt(t[2]??`0`,10),i=Number.parseInt(t[3]??`0`,10);return`#${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}${i.toString(16).padStart(2,`0`).toUpperCase()}`},O=(t,r)=>{if(n.n(t)&&e.n(t))return t;if(r)return D(r)},k=(e,n)=>n===t.o.HEX?b(e):n===t.o.RGB?h(e)??{first:0,second:0,third:0}:_(e)??{first:0,second:0,third:0},A=e=>{let t=Number.parseInt(e,10);if(!Number.isNaN(t))return t},j=(e,n)=>{if(e===t.o.HEX)return typeof n==`string`?y(n):void 0;if(typeof n==`string`)return;if(e===t.o.RGB){let e=g({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});return h(e)?e:void 0}let r=v({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});if(r&&_(r))return r},M=17,N=`#000000`,P=e=>e??N,F=({modelValue:e,getEditableHex:t,saturationAreaRef:n,hueSliderRef:r,disabled:i,readonly:a})=>{let o=C(P(t()))??{hue:0,saturation:0,value:0},s=(0,c.ref)(o.hue),l=(0,c.ref)(o.saturation),d=(0,c.ref)(o.value),f=(0,c.ref)(!1),p=(0,c.ref)(!1),m=(0,c.ref)(!1),h=(0,c.shallowRef)(null),g=(0,c.shallowRef)(null),_=(0,c.computed)(()=>w({hue:s.value,saturation:l.value,value:d.value})),v=(0,c.computed)(()=>w({hue:s.value,saturation:1,value:1})),y=e=>{s.value=Math.max(0,Math.min(360,e))},b=(e,t)=>{l.value=Math.max(0,Math.min(1,e)),d.value=Math.max(0,Math.min(1,t))},x=e=>{let t=C(P(e));t&&(f.value=!0,t.saturation>0&&(s.value=t.hue),l.value=t.saturation,d.value=t.value,f.value=!1)},S=()=>{let e=t();e&&e.toUpperCase()!==_.value.toUpperCase()&&x(e)},T=()=>{let n=_.value;t()?.toUpperCase()!==n.toUpperCase()&&(f.value=!0,e.value=n,f.value=!1)};(0,c.watch)([s,l,d],()=>{f.value||T()}),(0,c.watch)(e,()=>{f.value||S()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{E(),D(),S()})});let E=()=>{h.value=n.value?.getBoundingClientRect()??null},D=()=>{g.value=r.value?.getBoundingClientRect()??null},O=(0,c.computed)(()=>{let e=h.value;return e?{transform:`translate3d(calc(${l.value*e.width}px - 50%), calc(${(1-d.value)*e.height}px - 50%), 0)`}:{}}),k=(0,c.computed)(()=>{let e=g.value;return e?{transform:`translate3d(-50%, calc(${s.value/360*e.height}px - 50%), 0)`}:{}}),A=()=>!i.value&&!a.value,j=e=>{let t=h.value;if(!t)return;let n=Math.max(0,Math.min(e.clientX-t.left,t.width)),r=Math.max(0,Math.min(e.clientY-t.top,t.height));b(n/t.width,1-r/t.height)},M=e=>{let t=g.value;t&&y(Math.max(0,Math.min(e.clientY-t.top,t.height))/t.height*360)},N=e=>{A()&&(E(),p.value=!0,j(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},F=e=>{A()&&(D(),m.value=!0,M(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},I=()=>{p.value=!1},L=()=>{m.value=!1};return(0,u.useEventListener)(n,`pointermove`,e=>{p.value&&j(e)}),(0,u.useEventListener)(n,`pointerup`,I),(0,u.useEventListener)(n,`pointercancel`,I),(0,u.useEventListener)(n,`lostpointercapture`,I),(0,u.useEventListener)(r,`pointermove`,e=>{m.value&&M(e)}),(0,u.useEventListener)(r,`pointerup`,L),(0,u.useEventListener)(r,`pointercancel`,L),(0,u.useEventListener)(r,`lostpointercapture`,L),{hexColor:_,hueBackground:v,saturationPointerStyle:O,huePointerStyle:k,handleSaturationPointerDown:N,handleHuePointerDown:F,syncFromModelValue:S}},I=e=>{if(!e)return null;let t=e.$el;if(!(t instanceof HTMLElement))return null;let n=t.querySelector(`.s-ui-color-swatch__fill`);return n instanceof HTMLElement?n:null},L={class:`s-ui-color-area__canvas-row`},R=[`aria-label`],z=[`aria-label`,`aria-disabled`],B=(0,c.defineComponent)({__name:`SColorArea`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,c.useModel)(e,`modelValue`),{t:r}=(0,l.useUiKitI18n)(),i=(0,c.useTemplateRef)(`colorResolutionSwatchRef`),a=(0,c.useTemplateRef)(`saturationAreaRef`),o=(0,c.useTemplateRef)(`hueSliderRef`),s=()=>O(t.value,I(i.value)),u=(0,c.computed)(()=>n.a(t.value)),{hexColor:d,hueBackground:f,saturationPointerStyle:p,huePointerStyle:m,handleSaturationPointerDown:h,handleHuePointerDown:g}=F({modelValue:t,getEditableHex:s,saturationAreaRef:a,hueSliderRef:o,disabled:(0,c.toRef)(()=>e.disabled),readonly:(0,c.toRef)(()=>e.readonly)});return(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-area`,{"s-ui-color-area--disabled":e.disabled,"s-ui-color-area--readonly":e.readonly}]},t.$attrs),[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`colorResolutionSwatchRef`,ref:i,class:`s-ui-color-area__color-resolution`,color:u.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_24,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`]),(0,c.createElementVNode)(`div`,L,[(0,c.createElementVNode)(`div`,{ref_key:`saturationAreaRef`,ref:a,class:`s-ui-color-area__canvas`,role:`img`,"aria-label":(0,c.unref)(r)(`colorArea.saturationBrightness`),style:(0,c.normalizeStyle)({"--s-ui-color-area-hue":(0,c.unref)(f)}),onPointerdown:n[0]||=(...e)=>(0,c.unref)(h)&&(0,c.unref)(h)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__canvas-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(p),backgroundColor:(0,c.unref)(d)})},null,4)],44,R),(0,c.createElementVNode)(`div`,{ref_key:`hueSliderRef`,ref:o,class:`s-ui-color-area__hue`,role:`slider`,"aria-label":(0,c.unref)(r)(`colorArea.hue`),"aria-valuemin":`0`,"aria-valuemax":`360`,"aria-disabled":e.disabled||e.readonly,onPointerdown:n[1]||=(...e)=>(0,c.unref)(g)&&(0,c.unref)(g)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__hue-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(m),backgroundColor:(0,c.unref)(f)})},null,4)],40,z)])],16))}}),V={class:`s-ui-color-values__left`},H={class:`s-ui-color-values__format`},U={class:`s-ui-color-values__value-group`},W={class:`s-ui-color-values__inputs`},G={key:0,class:`s-ui-color-values__input-wrap`},K=[`disabled`,`readonly`,`aria-label`],q={class:`s-ui-color-values__input-wrap`},J=[`disabled`,`readonly`,`aria-label`],Y={class:`s-ui-color-values__input-wrap`},X=[`disabled`,`readonly`,`aria-label`],Z={class:`s-ui-color-values__input-wrap`},Q=[`disabled`,`readonly`,`aria-label`],$=(0,c.defineComponent)({__name:`SColorValues`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},formats:{default:()=>T}},{modelValue:{required:!0},modelModifiers:{},format:{default:t.o.HEX},formatModifiers:{}}),emits:(0,c.mergeModels)([`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`,`update:format`]),setup(e,{emit:i}){let{t:a}=(0,l.useUiKitI18n)(),o=(0,c.useModel)(e,`modelValue`),u=(0,c.useModel)(e,`format`),d=i,f=(0,c.useTemplateRef)(`previewSwatchRef`),p=(0,c.ref)(``),m=(0,c.ref)(`0`),h=(0,c.ref)(`0`),g=(0,c.ref)(`0`),_=(0,c.computed)(()=>(e.formats.length>0?e.formats:T).map(e=>({value:e,label:E[e]}))),v=(0,c.computed)(()=>n.a(o.value)),y=(0,c.computed)(()=>O(o.value,I(f.value))),b=(0,c.computed)(()=>u.value===t.o.RGB?a(`colorValues.redChannel`):a(`colorValues.hueChannel`)),x=(0,c.computed)(()=>u.value===t.o.RGB?a(`colorValues.greenChannel`):a(`colorValues.saturationChannel`)),S=(0,c.computed)(()=>u.value===t.o.RGB?a(`colorValues.blueChannel`):a(`colorValues.lightnessChannel`)),C=()=>{let e=y.value;if(!e)return;let n=k(e,u.value);if(u.value===t.o.HEX&&typeof n==`string`){p.value=n;return}typeof n==`object`&&(m.value=String(n.first),h.value=String(n.second),g.value=String(n.third))};(0,c.watch)([o,u,y],()=>{C()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{C()})});let w=()=>{if(e.disabled||e.readonly)return;if(u.value===t.o.HEX){let e=j(t.o.HEX,p.value);e&&(o.value=e),C();return}let n=j(u.value,{first:Number.parseInt(m.value,10),second:Number.parseInt(h.value,10),third:Number.parseInt(g.value,10)});n&&(o.value=n),C()},D=e=>{e.key===`Enter`&&(e.preventDefault(),w())};return(n,i)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-values`,{"s-ui-color-values--disabled":e.disabled,"s-ui-color-values--readonly":e.readonly}]},n.$attrs),[(0,c.createElementVNode)(`div`,V,[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`previewSwatchRef`,ref:f,class:`s-ui-color-values__preview`,color:v.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`,`disabled`]),(0,c.createElementVNode)(`div`,H,[(0,c.createVNode)((0,c.unref)(s.t),{modelValue:u.value,"onUpdate:modelValue":i[0]||=e=>u.value=e,class:`s-ui-color-values__format-select`,options:_.value,disabled:e.disabled,readonly:e.readonly,bordered:!0,clearable:!1,"close-on-select":!0,"fit-viewport":!1,"aria-label":(0,c.unref)(a)(`colorValues.format`),onOpen:i[1]||=e=>d(`formatDropdownOpen`),onClose:i[2]||=e=>d(`formatDropdownClose`)},null,8,[`modelValue`,`options`,`disabled`,`readonly`,`aria-label`])])]),(0,c.createElementVNode)(`div`,U,[(0,c.createVNode)((0,c.unref)(r.t),{class:`s-ui-color-values__pipette`,appearance:(0,c.unref)(r.n).BARE,variant:(0,c.unref)(r.i).NEUTRAL,size:(0,c.unref)(r.r).SMALL,icon:`pipette`,"aria-label":(0,c.unref)(a)(`colorValues.pickColor`),"aria-disabled":`true`,disabled:e.disabled,tabindex:`-1`},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`]),i[9]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,W,[u.value===(0,c.unref)(t.o).HEX?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,G,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[3]||=e=>p.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`text`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":(0,c.unref)(a)(`colorValues.hexValue`),onBlur:w,onKeydown:D},null,40,K),[[c.vModelText,p.value]])])):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createElementVNode)(`div`,q,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[4]||=e=>m.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":b.value,onBlur:w,onKeydown:D},null,40,J),[[c.vModelText,m.value]])]),i[7]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Y,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[5]||=e=>h.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":x.value,onBlur:w,onKeydown:D},null,40,X),[[c.vModelText,h.value]])]),i[8]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Z,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[6]||=e=>g.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":S.value,onBlur:w,onKeydown:D},null,40,Q),[[c.vModelText,g.value]])])],64))])])],16))}}),ee={class:`s-ui-color-picker__section`},te={class:`s-ui-color-picker__label`},ne={class:`s-ui-color-picker__section`},re={class:`s-ui-color-picker__label`},ie={class:`s-ui-color-picker__custom-editor`},ae={class:`s-ui-color-picker__custom-actions`},oe=(0,c.defineComponent)({__name:`SColorPicker`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},recommendedColors:{},recentColors:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:(0,c.mergeModels)([`select`,`customEditorOpen`,`customEditorClose`,`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`]),setup(e,{emit:n}){let s=(0,c.useModel)(e,`modelValue`),u=n,{t:d}=(0,l.useUiKitI18n)(),f=(0,c.ref)(!1),p=(0,c.ref)(`#526DE3`),m=(0,c.ref)(t.o.HEX),h=(0,c.computed)(()=>e.recommendedColors&&e.recommendedColors.length>0?e.recommendedColors:t.r),g=(0,c.computed)(()=>e.recentColors.length<=17?e.recentColors:e.recentColors.slice(0,17)),_=()=>{if(s.value){p.value=s.value;return}p.value=`#526DE3`},v=e=>{u(`select`,e)},y=()=>{s.value=p.value,u(`select`,p.value),f.value=!1},b=()=>{f.value=!1};return(0,c.watch)(f,(e,t)=>{if(e&&!t){_(),u(`customEditorOpen`);return}!e&&t&&u(`customEditorClose`)}),(n,_)=>((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(o.t),(0,c.mergeProps)({width:336},n.$attrs),{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`s-ui-color-picker`,{"s-ui-color-picker--disabled":e.disabled}])},[(0,c.createElementVNode)(`section`,ee,[(0,c.createElementVNode)(`span`,te,(0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.recommendedColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:s.value,"onUpdate:modelValue":_[0]||=e=>s.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).GRID,colors:h.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:v},null,8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])]),(0,c.createElementVNode)(`section`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.recentColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:s.value,"onUpdate:modelValue":_[7]||=e=>s.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).ROW,colors:g.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:v},{append:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(a.t),{modelValue:f.value,"onUpdate:modelValue":_[6]||=e=>f.value=e,placement:(0,c.unref)(i.i).RIGHT_START,offset:8,shift:!0,flip:!0,disabled:e.disabled,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{trigger:(0,c.withCtx)(({toggle:t,triggerProps:n})=>[(0,c.createVNode)((0,c.unref)(r.t),(0,c.mergeProps)(n,{class:`s-ui-color-picker__add-button`,appearance:(0,c.unref)(r.n).OUTLINED,variant:(0,c.unref)(r.i).NEUTRAL,size:(0,c.unref)(r.r).SMALL,icon:`plus`,"aria-label":(0,c.unref)(d)(`colorPicker.addCustomColor`),disabled:e.disabled,onClick:t}),null,16,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),content:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(o.t),{width:320},{footer:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ae,[(0,c.createVNode)((0,c.unref)(r.t),{class:`s-ui-color-picker__save-button`,appearance:(0,c.unref)(r.n).MAJOR,variant:(0,c.unref)(r.i).MAIN,size:(0,c.unref)(r.r).SMALL,disabled:e.disabled,onClick:y},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.save`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`]),(0,c.createVNode)((0,c.unref)(r.t),{class:`s-ui-color-picker__cancel-button`,appearance:(0,c.unref)(r.n).MINOR,variant:(0,c.unref)(r.i).NEUTRAL,size:(0,c.unref)(r.r).SMALL,disabled:e.disabled,onClick:b},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.cancel`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`])])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ie,[(0,c.createVNode)(B,{modelValue:p.value,"onUpdate:modelValue":_[1]||=e=>p.value=e,disabled:e.disabled},null,8,[`modelValue`,`disabled`]),(0,c.createVNode)($,{modelValue:p.value,"onUpdate:modelValue":_[2]||=e=>p.value=e,format:m.value,"onUpdate:format":_[3]||=e=>m.value=e,disabled:e.disabled,onFormatDropdownOpen:_[4]||=e=>u(`formatDropdownOpen`),onFormatDropdownClose:_[5]||=e=>u(`formatDropdownClose`)},null,8,[`modelValue`,`format`,`disabled`])])]),_:1})]),_:1},8,[`modelValue`,`placement`,`disabled`])]),_:1},8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])])],2)]),_:1},16))}});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return oe}});
1
+ const e=require("./contrastSurfaceTextColor-BRjRzXyZ.cjs"),t=require("./SColorPalette-CqIA4Qtp.cjs"),n=require("./colorValue-Dda7fKd3.cjs"),r=require("./SButton-BN-PppY7.cjs"),i=require("./useFloatingOverlay-CtQBdvS9.cjs"),a=require("./SDropdown-B1OGbIYg.cjs"),o=require("./SDropdownMenu-k9SxaFVH.cjs"),s=require("./SSelect-EhvfGB4d.cjs");let c=require("vue"),l=require("@shtabapp/ui-kit-primitives"),u=require("@vueuse/core");var d=e=>Math.max(0,Math.min(255,Math.round(e))),f=e=>{let t=e%360;return t<0?t+360:t},p=e=>Math.max(0,Math.min(100,Math.round(e))),m=e=>{let t=e.slice(1);if(t.length===3){let e=t[0],n=t[1],r=t[2];return!e||!n||!r?void 0:`${e}${e}${n}${n}${r}${r}`}if(t.length===6||t.length===8)return t.slice(0,6)},h=e=>{let t=m(e);if(!t)return;let n=Number.parseInt(t.slice(0,2),16),r=Number.parseInt(t.slice(2,4),16),i=Number.parseInt(t.slice(4,6),16);if(!(Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)))return{first:n,second:r,third:i}},g=e=>{let t=d(e.first),n=d(e.second),r=d(e.third);return`#${t.toString(16).padStart(2,`0`).toUpperCase()}${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}`},_=e=>{let t=h(e);if(!t)return;let n=t.first/255,r=t.second/255,i=t.third/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=a-o,c=0,l=(a+o)/2;s!==0&&(c=a===n?((r-i)/s+(r<i?6:0))*60:a===r?((i-n)/s+2)*60:((n-r)/s+4)*60);let u=0;return s!==0&&(u=l>.5?s/(2-a-o):s/(a+o)),{first:Math.round(c),second:Math.round(u*100),third:Math.round(l*100)}},v=e=>{let t=f(e.first),n=p(e.second)/100,r=p(e.third)/100,i=e=>{let i=(t+e)/30;return d((r-n*Math.min(r,1-r)*Math.max(-1,Math.min(i%2-1,1)))*255)};return g({first:i(0),second:i(8),third:i(4)})},y=t=>{let n=t.toUpperCase(),r=n.startsWith(`#`)?n.slice(1):n;if(!/^[0-9A-F]{3}$/.test(r)&&!/^[0-9A-F]{6}$/.test(r))return;let i=`#${r}`;if(e.n(i))return g(h(i)??{first:0,second:0,third:0})},b=e=>e.slice(1).toUpperCase(),x=e=>{let t=e.first/255,n=e.second/255,r=e.third/255,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=0;a!==0&&(o=i===t?(n-r)/a%6:i===n?(r-t)/a+2:(t-n)/a+4,o=Math.round(o*60),o<0&&(o+=360));let s=i===0?0:a/i;return{hue:o,saturation:s,value:i}},S=e=>{let t=e.value*e.saturation,n=e.hue/60,r=t*(1-Math.abs(n%2-1)),i=e.value-t,a=0,o=0,s=0;return n>=0&&n<1?(a=t,o=r):n>=1&&n<2?(a=r,o=t):n>=2&&n<3?(o=t,s=r):n>=3&&n<4?(o=r,s=t):n>=4&&n<5?(a=r,s=t):(a=t,s=r),{first:d((a+i)*255),second:d((o+i)*255),third:d((s+i)*255)}},C=e=>{let t=h(e);if(t)return x(t)},w=e=>g(S(e)),T=[t.o.HEX,t.o.RGB,t.o.HSL],E={[t.o.HEX]:`Hex`,[t.o.RGB]:`RGB`,[t.o.HSL]:`HSL`},D=e=>{let t=getComputedStyle(e).backgroundColor.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(!t)return;let n=Number.parseInt(t[1]??`0`,10),r=Number.parseInt(t[2]??`0`,10),i=Number.parseInt(t[3]??`0`,10);return`#${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}${i.toString(16).padStart(2,`0`).toUpperCase()}`},O=(t,r)=>{if(n.n(t)&&e.n(t))return t;if(r)return D(r)},k=(e,n)=>n===t.o.HEX?b(e):n===t.o.RGB?h(e)??{first:0,second:0,third:0}:_(e)??{first:0,second:0,third:0},A=e=>{let t=Number.parseInt(e,10);if(!Number.isNaN(t))return t},j=(e,n)=>{if(e===t.o.HEX)return typeof n==`string`?y(n):void 0;if(typeof n==`string`)return;if(e===t.o.RGB){let e=g({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});return h(e)?e:void 0}let r=v({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});if(r&&_(r))return r},M=17,N=`#000000`,P=e=>e??N,F=({modelValue:e,getEditableHex:t,saturationAreaRef:n,hueSliderRef:r,disabled:i,readonly:a})=>{let o=C(P(t()))??{hue:0,saturation:0,value:0},s=(0,c.ref)(o.hue),l=(0,c.ref)(o.saturation),d=(0,c.ref)(o.value),f=(0,c.ref)(!1),p=(0,c.ref)(!1),m=(0,c.ref)(!1),h=(0,c.shallowRef)(null),g=(0,c.shallowRef)(null),_=(0,c.computed)(()=>w({hue:s.value,saturation:l.value,value:d.value})),v=(0,c.computed)(()=>w({hue:s.value,saturation:1,value:1})),y=e=>{s.value=Math.max(0,Math.min(360,e))},b=(e,t)=>{l.value=Math.max(0,Math.min(1,e)),d.value=Math.max(0,Math.min(1,t))},x=e=>{let t=C(P(e));t&&(f.value=!0,t.saturation>0&&(s.value=t.hue),l.value=t.saturation,d.value=t.value,f.value=!1)},S=()=>{let e=t();e&&e.toUpperCase()!==_.value.toUpperCase()&&x(e)},T=()=>{let n=_.value;t()?.toUpperCase()!==n.toUpperCase()&&(f.value=!0,e.value=n,f.value=!1)};(0,c.watch)([s,l,d],()=>{f.value||T()}),(0,c.watch)(e,()=>{f.value||S()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{E(),D(),S()})});let E=()=>{h.value=n.value?.getBoundingClientRect()??null},D=()=>{g.value=r.value?.getBoundingClientRect()??null},O=(0,c.computed)(()=>{let e=h.value;return e?{transform:`translate3d(calc(${l.value*e.width}px - 50%), calc(${(1-d.value)*e.height}px - 50%), 0)`}:{}}),k=(0,c.computed)(()=>{let e=g.value;return e?{transform:`translate3d(-50%, calc(${s.value/360*e.height}px - 50%), 0)`}:{}}),A=()=>!i.value&&!a.value,j=e=>{let t=h.value;if(!t)return;let n=Math.max(0,Math.min(e.clientX-t.left,t.width)),r=Math.max(0,Math.min(e.clientY-t.top,t.height));b(n/t.width,1-r/t.height)},M=e=>{let t=g.value;t&&y(Math.max(0,Math.min(e.clientY-t.top,t.height))/t.height*360)},N=e=>{A()&&(E(),p.value=!0,j(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},F=e=>{A()&&(D(),m.value=!0,M(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},I=()=>{p.value=!1},L=()=>{m.value=!1};return(0,u.useEventListener)(n,`pointermove`,e=>{p.value&&j(e)}),(0,u.useEventListener)(n,`pointerup`,I),(0,u.useEventListener)(n,`pointercancel`,I),(0,u.useEventListener)(n,`lostpointercapture`,I),(0,u.useEventListener)(r,`pointermove`,e=>{m.value&&M(e)}),(0,u.useEventListener)(r,`pointerup`,L),(0,u.useEventListener)(r,`pointercancel`,L),(0,u.useEventListener)(r,`lostpointercapture`,L),{hexColor:_,hueBackground:v,saturationPointerStyle:O,huePointerStyle:k,handleSaturationPointerDown:N,handleHuePointerDown:F,syncFromModelValue:S}},I=e=>{if(!e)return null;let t=e.$el;if(!(t instanceof HTMLElement))return null;let n=t.querySelector(`.s-ui-color-swatch__fill`);return n instanceof HTMLElement?n:null},L={class:`s-ui-color-area__canvas-row`},R=[`aria-label`],z=[`aria-label`,`aria-disabled`],B=(0,c.defineComponent)({__name:`SColorArea`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,c.useModel)(e,`modelValue`),{t:r}=(0,l.useUiKitI18n)(),i=(0,c.useTemplateRef)(`colorResolutionSwatchRef`),a=(0,c.useTemplateRef)(`saturationAreaRef`),o=(0,c.useTemplateRef)(`hueSliderRef`),s=()=>O(t.value,I(i.value)),u=(0,c.computed)(()=>n.a(t.value)),{hexColor:d,hueBackground:f,saturationPointerStyle:p,huePointerStyle:m,handleSaturationPointerDown:h,handleHuePointerDown:g}=F({modelValue:t,getEditableHex:s,saturationAreaRef:a,hueSliderRef:o,disabled:(0,c.toRef)(()=>e.disabled),readonly:(0,c.toRef)(()=>e.readonly)});return(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-area`,{"s-ui-color-area--disabled":e.disabled,"s-ui-color-area--readonly":e.readonly}]},t.$attrs),[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`colorResolutionSwatchRef`,ref:i,class:`s-ui-color-area__color-resolution`,color:u.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_24,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`]),(0,c.createElementVNode)(`div`,L,[(0,c.createElementVNode)(`div`,{ref_key:`saturationAreaRef`,ref:a,class:`s-ui-color-area__canvas`,role:`img`,"aria-label":(0,c.unref)(r)(`colorArea.saturationBrightness`),style:(0,c.normalizeStyle)({"--s-ui-color-area-hue":(0,c.unref)(f)}),onPointerdown:n[0]||=(...e)=>(0,c.unref)(h)&&(0,c.unref)(h)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__canvas-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(p),backgroundColor:(0,c.unref)(d)})},null,4)],44,R),(0,c.createElementVNode)(`div`,{ref_key:`hueSliderRef`,ref:o,class:`s-ui-color-area__hue`,role:`slider`,"aria-label":(0,c.unref)(r)(`colorArea.hue`),"aria-valuemin":`0`,"aria-valuemax":`360`,"aria-disabled":e.disabled||e.readonly,onPointerdown:n[1]||=(...e)=>(0,c.unref)(g)&&(0,c.unref)(g)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__hue-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(m),backgroundColor:(0,c.unref)(f)})},null,4)],40,z)])],16))}}),V={class:`s-ui-color-values__left`},H={class:`s-ui-color-values__format`},U={class:`s-ui-color-values__value-group`},W={class:`s-ui-color-values__inputs`},G={key:0,class:`s-ui-color-values__input-wrap`},K=[`disabled`,`readonly`,`aria-label`],q={class:`s-ui-color-values__input-wrap`},J=[`disabled`,`readonly`,`aria-label`],Y={class:`s-ui-color-values__input-wrap`},X=[`disabled`,`readonly`,`aria-label`],Z={class:`s-ui-color-values__input-wrap`},Q=[`disabled`,`readonly`,`aria-label`],$=(0,c.defineComponent)({__name:`SColorValues`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},formats:{default:()=>T}},{modelValue:{required:!0},modelModifiers:{},format:{default:t.o.HEX},formatModifiers:{}}),emits:(0,c.mergeModels)([`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`,`update:format`]),setup(e,{emit:i}){let{t:a}=(0,l.useUiKitI18n)(),o=(0,c.useModel)(e,`modelValue`),u=(0,c.useModel)(e,`format`),d=i,f=(0,c.useTemplateRef)(`previewSwatchRef`),p=(0,c.ref)(``),m=(0,c.ref)(`0`),h=(0,c.ref)(`0`),g=(0,c.ref)(`0`),_=(0,c.computed)(()=>(e.formats.length>0?e.formats:T).map(e=>({value:e,label:E[e]}))),v=(0,c.computed)(()=>n.a(o.value)),y=(0,c.computed)(()=>O(o.value,I(f.value))),b=(0,c.computed)(()=>u.value===t.o.RGB?a(`colorValues.redChannel`):a(`colorValues.hueChannel`)),x=(0,c.computed)(()=>u.value===t.o.RGB?a(`colorValues.greenChannel`):a(`colorValues.saturationChannel`)),S=(0,c.computed)(()=>u.value===t.o.RGB?a(`colorValues.blueChannel`):a(`colorValues.lightnessChannel`)),C=()=>{let e=y.value;if(!e)return;let n=k(e,u.value);if(u.value===t.o.HEX&&typeof n==`string`){p.value=n;return}typeof n==`object`&&(m.value=String(n.first),h.value=String(n.second),g.value=String(n.third))};(0,c.watch)([o,u,y],()=>{C()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{C()})});let w=()=>{if(e.disabled||e.readonly)return;if(u.value===t.o.HEX){let e=j(t.o.HEX,p.value);e&&(o.value=e),C();return}let n=j(u.value,{first:Number.parseInt(m.value,10),second:Number.parseInt(h.value,10),third:Number.parseInt(g.value,10)});n&&(o.value=n),C()},D=e=>{e.key===`Enter`&&(e.preventDefault(),w())};return(n,i)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-values`,{"s-ui-color-values--disabled":e.disabled,"s-ui-color-values--readonly":e.readonly}]},n.$attrs),[(0,c.createElementVNode)(`div`,V,[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`previewSwatchRef`,ref:f,class:`s-ui-color-values__preview`,color:v.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`,`disabled`]),(0,c.createElementVNode)(`div`,H,[(0,c.createVNode)((0,c.unref)(s.t),{modelValue:u.value,"onUpdate:modelValue":i[0]||=e=>u.value=e,class:`s-ui-color-values__format-select`,options:_.value,disabled:e.disabled,readonly:e.readonly,bordered:!0,clearable:!1,"close-on-select":!0,"fit-viewport":!1,"aria-label":(0,c.unref)(a)(`colorValues.format`),onOpen:i[1]||=e=>d(`formatDropdownOpen`),onClose:i[2]||=e=>d(`formatDropdownClose`)},null,8,[`modelValue`,`options`,`disabled`,`readonly`,`aria-label`])])]),(0,c.createElementVNode)(`div`,U,[(0,c.createVNode)((0,c.unref)(r.t),{class:`s-ui-color-values__pipette`,appearance:(0,c.unref)(r.n).BARE,variant:(0,c.unref)(r.i).NEUTRAL,size:(0,c.unref)(r.r).SMALL,icon:`pipette`,"aria-label":(0,c.unref)(a)(`colorValues.pickColor`),"aria-disabled":`true`,disabled:e.disabled,tabindex:`-1`},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`]),i[9]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,W,[u.value===(0,c.unref)(t.o).HEX?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,G,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[3]||=e=>p.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`text`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":(0,c.unref)(a)(`colorValues.hexValue`),onBlur:w,onKeydown:D},null,40,K),[[c.vModelText,p.value]])])):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createElementVNode)(`div`,q,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[4]||=e=>m.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":b.value,onBlur:w,onKeydown:D},null,40,J),[[c.vModelText,m.value]])]),i[7]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Y,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[5]||=e=>h.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":x.value,onBlur:w,onKeydown:D},null,40,X),[[c.vModelText,h.value]])]),i[8]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Z,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":i[6]||=e=>g.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":S.value,onBlur:w,onKeydown:D},null,40,Q),[[c.vModelText,g.value]])])],64))])])],16))}}),ee={class:`s-ui-color-picker__section`},te={class:`s-ui-color-picker__label`},ne={class:`s-ui-color-picker__section`},re={class:`s-ui-color-picker__label`},ie={class:`s-ui-color-picker__custom-editor`},ae={class:`s-ui-color-picker__custom-actions`},oe=(0,c.defineComponent)({__name:`SColorPicker`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},recommendedColors:{},recentColors:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:(0,c.mergeModels)([`select`,`customEditorOpen`,`customEditorClose`,`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`]),setup(e,{emit:n}){let s=(0,c.useModel)(e,`modelValue`),u=n,{t:d}=(0,l.useUiKitI18n)(),f=(0,c.ref)(!1),p=(0,c.ref)(`#526DE3`),m=(0,c.ref)(t.o.HEX),h=(0,c.computed)(()=>e.recommendedColors&&e.recommendedColors.length>0?e.recommendedColors:t.r),g=(0,c.computed)(()=>e.recentColors.length<=17?e.recentColors:e.recentColors.slice(0,17)),_=()=>{if(s.value){p.value=s.value;return}p.value=`#526DE3`},v=e=>{u(`select`,e)},y=()=>{s.value=p.value,u(`select`,p.value),f.value=!1},b=()=>{f.value=!1};return(0,c.watch)(f,(e,t)=>{if(e&&!t){_(),u(`customEditorOpen`);return}!e&&t&&u(`customEditorClose`)}),(n,_)=>((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(o.t),(0,c.mergeProps)({width:336},n.$attrs),{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`s-ui-color-picker`,{"s-ui-color-picker--disabled":e.disabled}])},[(0,c.createElementVNode)(`section`,ee,[(0,c.createElementVNode)(`span`,te,(0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.recommendedColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:s.value,"onUpdate:modelValue":_[0]||=e=>s.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).GRID,colors:h.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:v},null,8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])]),(0,c.createElementVNode)(`section`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.recentColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:s.value,"onUpdate:modelValue":_[7]||=e=>s.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).ROW,colors:g.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:v},{append:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(a.t),{modelValue:f.value,"onUpdate:modelValue":_[6]||=e=>f.value=e,placement:(0,c.unref)(i.a).RIGHT_START,offset:8,shift:!0,flip:!0,disabled:e.disabled,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{trigger:(0,c.withCtx)(({toggle:t,triggerProps:n})=>[(0,c.createVNode)((0,c.unref)(r.t),(0,c.mergeProps)(n,{class:`s-ui-color-picker__add-button`,appearance:(0,c.unref)(r.n).OUTLINED,variant:(0,c.unref)(r.i).NEUTRAL,size:(0,c.unref)(r.r).SMALL,icon:`plus`,"aria-label":(0,c.unref)(d)(`colorPicker.addCustomColor`),disabled:e.disabled,onClick:t}),null,16,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),content:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(o.t),{width:320},{footer:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ae,[(0,c.createVNode)((0,c.unref)(r.t),{class:`s-ui-color-picker__save-button`,appearance:(0,c.unref)(r.n).MAJOR,variant:(0,c.unref)(r.i).MAIN,size:(0,c.unref)(r.r).SMALL,disabled:e.disabled,onClick:y},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.save`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`]),(0,c.createVNode)((0,c.unref)(r.t),{class:`s-ui-color-picker__cancel-button`,appearance:(0,c.unref)(r.n).MINOR,variant:(0,c.unref)(r.i).NEUTRAL,size:(0,c.unref)(r.r).SMALL,disabled:e.disabled,onClick:b},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(d)(`colorPicker.cancel`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`])])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ie,[(0,c.createVNode)(B,{modelValue:p.value,"onUpdate:modelValue":_[1]||=e=>p.value=e,disabled:e.disabled},null,8,[`modelValue`,`disabled`]),(0,c.createVNode)($,{modelValue:p.value,"onUpdate:modelValue":_[2]||=e=>p.value=e,format:m.value,"onUpdate:format":_[3]||=e=>m.value=e,disabled:e.disabled,onFormatDropdownOpen:_[4]||=e=>u(`formatDropdownOpen`),onFormatDropdownClose:_[5]||=e=>u(`formatDropdownClose`)},null,8,[`modelValue`,`format`,`disabled`])])]),_:1})]),_:1},8,[`modelValue`,`placement`,`disabled`])]),_:1},8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])])],2)]),_:1},16))}});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return oe}});
@@ -2,10 +2,10 @@ import { n as e } from "./contrastSurfaceTextColor-BDlLSSXC.js";
2
2
  import { n as t, o as n, r, t as i } from "./SColorPalette-OCu-tgZ3.js";
3
3
  import { a, n as o } from "./colorValue-CSh0chxp.js";
4
4
  import { i as s, n as c, r as l, t as u } from "./SButton-DQTSlo61.js";
5
- import { i as d } from "./useFloatingOverlay-QcumEYEq.js";
6
- import { t as f } from "./SDropdown-LOTCtlCX.js";
5
+ import { a as d } from "./useFloatingOverlay-B1BvRxLz.js";
6
+ import { t as f } from "./SDropdown-CiXHI3g1.js";
7
7
  import { t as p } from "./SDropdownMenu-2koPU6IG.js";
8
- import { t as m } from "./SSelect-BLc_92_w.js";
8
+ import { t as m } from "./SSelect-C3-8vi2u.js";
9
9
  import { Fragment as h, computed as g, createBlock as _, createElementBlock as v, createElementVNode as y, createTextVNode as b, createVNode as x, defineComponent as S, mergeModels as C, mergeProps as w, nextTick as T, normalizeClass as E, normalizeStyle as D, onMounted as O, openBlock as k, ref as A, shallowRef as j, toDisplayString as M, toRef as N, unref as P, useModel as F, useTemplateRef as I, vModelText as L, watch as R, withCtx as z, withDirectives as B } from "vue";
10
10
  import { ESColorSwatchSize as V, SColorSwatch as ee, useUiKitI18n as H } from "@shtabapp/ui-kit-primitives";
11
11
  import { useEventListener as U } from "@vueuse/core";
@@ -1 +1 @@
1
- const e=require("./useFloatingOverlay-B1UCUYQQ.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.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},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.i.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}),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`},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}});
1
+ const e=require("./useFloatingOverlay-CtQBdvS9.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}});
@@ -0,0 +1,362 @@
1
+ import { a as e, i as t, t as n } from "./useFloatingOverlay-B1BvRxLz.js";
2
+ import { Fragment as r, Teleport as i, Transition as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, defineComponent as d, mergeModels as f, mergeProps as p, nextTick as m, normalizeClass as h, normalizeStyle as g, onBeforeUnmount as _, onScopeDispose as v, openBlock as y, ref as b, renderSlot as x, shallowRef as S, toDisplayString as C, toValue as w, unref as T, useId as E, useModel as D, useSlots as O, useTemplateRef as k, watch as A, withCtx as j, withModifiers as M } from "vue";
3
+ import { useUiKitI18n as N } from "@shtabapp/ui-kit-primitives";
4
+ import { useElementHover as P, useEventListener as F, useMediaQuery as I, useScrollLock as L } from "@vueuse/core";
5
+ //#region src/components/SDropdown/SDropdown.types.ts
6
+ var R = 768, ee = (e) => {
7
+ let t = b(e.value), n = b(e.value);
8
+ return A(e, (e) => {
9
+ if (e) {
10
+ t.value = !0, n.value = !0;
11
+ return;
12
+ }
13
+ t.value = !1;
14
+ }, { flush: "sync" }), {
15
+ isPanelShown: t,
16
+ isPanelActive: n,
17
+ handlePanelAfterLeave: () => {
18
+ e.value || (n.value = !1);
19
+ }
20
+ };
21
+ }, te = (e, t) => {
22
+ let n = I(o(() => `(max-width: ${(w(t) || 768) - .02}px)`));
23
+ return o(() => w(e) && n.value);
24
+ }, z = (e) => {
25
+ if (!e) return null;
26
+ let t = e.getBoundingClientRect();
27
+ if (t.width > 0 || t.height > 0) return e;
28
+ let n = e.firstElementChild;
29
+ return n instanceof HTMLElement ? n : e;
30
+ }, B = {
31
+ OVERDRAG_LIMIT: 50,
32
+ CLOSE_DISTANCE_RATIO: .3,
33
+ CLOSE_DISTANCE_LIMIT: 140,
34
+ CLOSE_VELOCITY: .5,
35
+ SETTLE_TIMEOUT: 400,
36
+ INTERACTIVE_SELECTOR: "button, a[href], input, select, textarea, [role=\"button\"], [contenteditable=\"true\"]"
37
+ }, V = (e) => {
38
+ let t = S(0), n = S(!1), r = S(!1), i = null, a = 0, s = 0, c = 0, l = 0, u = 0, d, f = o(() => n.value || r.value), p = () => {
39
+ clearTimeout(d), d = void 0, r.value = !1;
40
+ }, m = () => {
41
+ r.value = !0, clearTimeout(d), d = setTimeout(p, B.SETTLE_TIMEOUT);
42
+ }, h = () => {
43
+ i = null, t.value = 0, n.value = !1, p();
44
+ }, g = () => w(e.popup)?.offsetHeight ?? 0, _ = () => {
45
+ let e = l - a;
46
+ if (e <= 0) return !1;
47
+ let t = u - c;
48
+ return (t > 0 ? (l - s) / t : 0) >= B.CLOSE_VELOCITY ? !0 : e >= Math.min(g() * B.CLOSE_DISTANCE_RATIO, B.CLOSE_DISTANCE_LIMIT);
49
+ }, y = (e) => {
50
+ i === null && (e.pointerType === "mouse" && e.button !== 0 || e.target instanceof Element && e.target.closest(B.INTERACTIVE_SELECTOR) || (i = e.pointerId, a = e.clientY, l = e.clientY, s = e.clientY, u = e.timeStamp, c = e.timeStamp, p(), n.value = !0));
51
+ }, b = (e) => {
52
+ i === e.pointerId && (s = l, c = u, l = e.clientY, u = e.timeStamp, t.value = Math.max(e.clientY - a, -B.OVERDRAG_LIMIT));
53
+ }, x = (a) => {
54
+ if (i === a.pointerId) {
55
+ if (i = null, n.value = !1, _()) {
56
+ r.value = !0, t.value = g() + B.OVERDRAG_LIMIT, e.onClose();
57
+ return;
58
+ }
59
+ if (t.value === 0) {
60
+ p();
61
+ return;
62
+ }
63
+ m(), t.value = 0;
64
+ }
65
+ };
66
+ return F(() => w(e.handle), "pointerdown", y), F(window, "pointermove", b), F(window, "pointerup", x), F(window, "pointercancel", x), F(() => w(e.popup), "transitionend", (e) => {
67
+ e.propertyName !== "transform" || n.value || t.value !== 0 || p();
68
+ }), v(() => {
69
+ clearTimeout(d);
70
+ }), {
71
+ isActive: f,
72
+ popupStyles: o(() => {
73
+ if (f.value) return {
74
+ transform: `translate3d(0, ${t.value}px, 0)`,
75
+ transition: r.value ? "transform var(--s-ui-transition-duration-slow) var(--s-ui-transition-easing-standard)" : "none"
76
+ };
77
+ }),
78
+ reset: h
79
+ };
80
+ }, H = ["aria-label"], U = { class: "s-ui-dropdown-sheet__side" }, W = { class: "s-ui-dropdown-sheet__title" }, G = { class: "s-ui-dropdown-sheet__side s-ui-dropdown-sheet__side--end" }, K = ["id"], q = /* @__PURE__ */ d({
81
+ __name: "SDropdownSheet",
82
+ props: {
83
+ open: { type: Boolean },
84
+ title: { default: "" },
85
+ dismissOnOverlayClick: {
86
+ type: Boolean,
87
+ default: !0
88
+ },
89
+ dismissOnEscape: {
90
+ type: Boolean,
91
+ default: !0
92
+ },
93
+ contentId: {}
94
+ },
95
+ emits: ["close"],
96
+ setup(e, { emit: t }) {
97
+ let n = t, { t: r } = N(), i = k("popupRef"), o = k("headerRef"), d = () => n("close"), { isActive: f, popupStyles: p, reset: h } = V({
98
+ handle: o,
99
+ popup: i,
100
+ onClose: d
101
+ }), v = L(() => typeof document > "u" ? null : document.body), b = () => {
102
+ e.dismissOnOverlayClick && d();
103
+ }, S = (e) => {
104
+ f.value && e.stopPropagation();
105
+ }, w = () => h(), E = null, D = () => {
106
+ let e = document.activeElement;
107
+ E = e instanceof HTMLElement ? e : null;
108
+ }, O = async () => {
109
+ await m();
110
+ let e = i.value;
111
+ !e || e.contains(document.activeElement) || e.focus({ preventScroll: !0 });
112
+ }, P = () => {
113
+ let e = E, t = !!i.value?.contains(document.activeElement);
114
+ E = null, !(!t || !e?.isConnected) && e.focus({ preventScroll: !0 });
115
+ };
116
+ return A(() => e.open, (e) => {
117
+ if (v.value = e, e) {
118
+ D(), O();
119
+ return;
120
+ }
121
+ P();
122
+ }, { immediate: !0 }), F(window, "keydown", (t) => {
123
+ !e.open || !e.dismissOnEscape || t.key !== "Escape" || d();
124
+ }), _(() => {
125
+ v.value = !1;
126
+ }), (t, n) => (y(), s(a, {
127
+ name: "s-ui-dropdown-sheet",
128
+ onAfterLeave: w
129
+ }, {
130
+ default: j(() => [e.open ? (y(), l("div", {
131
+ key: 0,
132
+ class: "s-ui-dropdown-sheet",
133
+ onClick: b
134
+ }, [u("div", {
135
+ ref_key: "popupRef",
136
+ ref: i,
137
+ class: "s-ui-dropdown-sheet__popup",
138
+ style: g(T(p)),
139
+ role: "dialog",
140
+ "aria-modal": "true",
141
+ "aria-label": e.title || T(r)("dropdown.sheet"),
142
+ tabindex: "-1",
143
+ onClickCapture: S,
144
+ onClick: n[0] ||= M(() => {}, ["stop"])
145
+ }, [u("header", {
146
+ ref_key: "headerRef",
147
+ ref: o,
148
+ class: "s-ui-dropdown-sheet__header"
149
+ }, [
150
+ n[1] ||= u("span", {
151
+ class: "s-ui-dropdown-sheet__handle",
152
+ "aria-hidden": "true"
153
+ }, null, -1),
154
+ u("div", U, [x(t.$slots, "header-left")]),
155
+ u("div", W, C(e.title), 1),
156
+ u("div", G, [x(t.$slots, "header-right")])
157
+ ], 512), u("div", {
158
+ id: e.contentId,
159
+ class: "s-ui-dropdown-sheet__content"
160
+ }, [x(t.$slots, "default")], 8, K)], 44, H)])) : c("", !0)]),
161
+ _: 3
162
+ }));
163
+ }
164
+ }), J = ["id"], ne = ["data-placement"], re = { class: "s-ui-dropdown__content" }, Y = /* @__PURE__ */ d({
165
+ inheritAttrs: !1,
166
+ __name: "SDropdown",
167
+ props: /*@__PURE__*/ f({
168
+ placement: { default: () => e.BOTTOM_START },
169
+ offset: { default: 8 },
170
+ flip: {
171
+ type: Boolean,
172
+ default: !0
173
+ },
174
+ shift: {
175
+ type: Boolean,
176
+ default: !1
177
+ },
178
+ matchReferenceWidth: {
179
+ type: Boolean,
180
+ default: !1
181
+ },
182
+ fitViewport: {
183
+ type: Boolean,
184
+ default: !1
185
+ },
186
+ surfaceClass: {},
187
+ teleportTo: {
188
+ type: [String, Boolean],
189
+ default: "body"
190
+ },
191
+ dismissOnClickOutside: {
192
+ type: Boolean,
193
+ default: !0
194
+ },
195
+ dismissOnEscape: {
196
+ type: Boolean,
197
+ default: !0
198
+ },
199
+ disabled: {
200
+ type: Boolean,
201
+ default: !1
202
+ },
203
+ reference: { default: null },
204
+ contentId: {},
205
+ viewportPadding: { default: 8 },
206
+ boundary: { default: () => t.CLIPPING_ANCESTORS },
207
+ block: {
208
+ type: Boolean,
209
+ default: !1
210
+ },
211
+ arrow: {
212
+ type: Boolean,
213
+ default: !1
214
+ },
215
+ showOnHover: {
216
+ type: Boolean,
217
+ default: !1
218
+ },
219
+ hoverLeaveDelay: { default: 100 },
220
+ sheet: {
221
+ type: Boolean,
222
+ default: !0
223
+ },
224
+ sheetBreakpoint: { default: () => 768 },
225
+ sheetTitle: { default: "" }
226
+ }, {
227
+ modelValue: {
228
+ type: Boolean,
229
+ default: !1
230
+ },
231
+ modelModifiers: {}
232
+ }),
233
+ emits: ["update:modelValue"],
234
+ setup(t, { expose: d }) {
235
+ let f = D(t, "modelValue"), m = te(() => t.sheet, () => t.sheetBreakpoint), { isPanelShown: _, isPanelActive: v, handlePanelAfterLeave: b } = ee(f), S = (e) => {
236
+ f.value = e;
237
+ }, C = () => S(!1), w = O(), M = k("triggerWrapperRef"), N = k("panelRef"), F = E(), I = E(), L = o(() => t.contentId ?? F), R = o(() => w.trigger ? z(M.value) : t.reference), B = o(() => t.teleportTo !== !1), V = o(() => t.teleportTo === !1 ? "body" : t.teleportTo), H = e.BOTTOM_START, U = () => {
238
+ t.disabled || S(!0);
239
+ }, W = () => {
240
+ t.disabled || (f.value = !f.value);
241
+ }, G = o(() => ({
242
+ id: I,
243
+ "aria-expanded": f.value,
244
+ "aria-haspopup": "dialog",
245
+ "aria-controls": L.value
246
+ })), { panelStyles: K, panelMaxHeight: Y, resolvedPlacement: X, arrowStyles: ie, isArrowOverflow: ae, isPositionReady: oe, updatePosition: se } = n({
247
+ open: () => v.value && !m.value,
248
+ onOpenChange: S,
249
+ reference: () => R.value,
250
+ panel: () => N.value,
251
+ placement: () => t.placement,
252
+ offset: () => t.offset,
253
+ flip: () => t.flip,
254
+ shift: () => t.shift,
255
+ matchReferenceWidth: () => t.matchReferenceWidth,
256
+ fitViewport: () => t.fitViewport,
257
+ dismissOnClickOutside: () => t.dismissOnClickOutside,
258
+ dismissOnEscape: () => t.dismissOnEscape,
259
+ viewportPadding: () => t.viewportPadding,
260
+ arrow: () => t.arrow,
261
+ boundary: () => t.boundary
262
+ }), Z = o(() => t.showOnHover && !m.value), ce = o(() => Z.value ? R.value : null), le = o(() => Z.value ? N.value : null), Q = P(ce, { delayLeave: t.hoverLeaveDelay }), $ = P(le, { delayLeave: t.hoverLeaveDelay });
263
+ A([
264
+ Q,
265
+ $,
266
+ Z,
267
+ () => t.disabled
268
+ ], () => {
269
+ if (Z.value) {
270
+ if (t.disabled) {
271
+ S(!1);
272
+ return;
273
+ }
274
+ S(Q.value || $.value);
275
+ }
276
+ });
277
+ let ue = o(() => !!Y.value), de = o(() => {
278
+ if (Y.value) return { maxHeight: `${Y.value}px` };
279
+ });
280
+ return A(() => t.disabled, (e) => {
281
+ e && f.value && (f.value = !1);
282
+ }), d({
283
+ updatePosition: se,
284
+ show: U,
285
+ close: C,
286
+ toggle: W
287
+ }), (e, n) => (y(), l(r, null, [T(w).trigger ? (y(), l("span", p({
288
+ key: 0,
289
+ ref_key: "triggerWrapperRef",
290
+ ref: M,
291
+ class: ["s-ui-dropdown", { "s-ui-dropdown--block": t.block }]
292
+ }, e.$attrs), [x(e.$slots, "trigger", {
293
+ open: f.value,
294
+ toggle: W,
295
+ close: C,
296
+ isSheet: T(m),
297
+ triggerProps: G.value
298
+ })], 16)) : c("", !0), (y(), s(i, {
299
+ to: V.value,
300
+ disabled: !B.value
301
+ }, [T(m) ? (y(), s(q, {
302
+ key: 0,
303
+ open: f.value,
304
+ title: t.sheetTitle,
305
+ "dismiss-on-overlay-click": t.dismissOnClickOutside,
306
+ "dismiss-on-escape": t.dismissOnEscape,
307
+ "content-id": L.value,
308
+ onClose: C
309
+ }, {
310
+ "header-left": j(() => [x(e.$slots, "sheet-header-left", { close: C })]),
311
+ "header-right": j(() => [x(e.$slots, "sheet-header-right", { close: C })]),
312
+ default: j(() => [x(e.$slots, "content", {
313
+ resolvedPlacement: T(H),
314
+ isSheet: !0,
315
+ close: C
316
+ })]),
317
+ _: 3
318
+ }, 8, [
319
+ "open",
320
+ "title",
321
+ "dismiss-on-overlay-click",
322
+ "dismiss-on-escape",
323
+ "content-id"
324
+ ])) : (y(), s(a, {
325
+ key: 1,
326
+ name: "s-ui-dropdown",
327
+ onAfterLeave: T(b)
328
+ }, {
329
+ default: j(() => [T(_) ? (y(), l("div", {
330
+ key: 0,
331
+ id: L.value,
332
+ ref_key: "panelRef",
333
+ ref: N,
334
+ class: h(["s-ui-dropdown__panel", {
335
+ "s-ui-dropdown__panel--match-reference-width": t.matchReferenceWidth,
336
+ "s-ui-dropdown__panel--ready": T(oe)
337
+ }]),
338
+ style: g(T(K)),
339
+ role: "dialog"
340
+ }, [u("div", {
341
+ class: h(["s-ui-dropdown__surface", [t.surfaceClass, {
342
+ "s-ui-dropdown__surface--fit-viewport": ue.value,
343
+ "s-ui-dropdown__surface--with-arrow": t.arrow
344
+ }]]),
345
+ style: g(de.value),
346
+ "data-placement": T(X)
347
+ }, [t.arrow ? (y(), l("div", {
348
+ key: 0,
349
+ class: h(["s-ui-dropdown__arrow", { "s-ui-dropdown__arrow--overflow": T(ae) }]),
350
+ style: g(T(ie)),
351
+ "aria-hidden": "true"
352
+ }, [...n[0] ||= [u("span", { class: "s-ui-dropdown__arrow-outer" }, null, -1), u("span", { class: "s-ui-dropdown__arrow-inner" }, null, -1)]], 6)) : c("", !0), u("div", re, [x(e.$slots, "content", {
353
+ resolvedPlacement: T(X),
354
+ isSheet: !1,
355
+ close: C
356
+ })])], 14, ne)], 14, J)) : c("", !0)]),
357
+ _: 3
358
+ }, 8, ["onAfterLeave"]))], 8, ["to", "disabled"]))], 64));
359
+ }
360
+ });
361
+ //#endregion
362
+ export { R as n, Y as t };
@@ -1,6 +1,6 @@
1
1
  import { i as e, n as t, r as n, t as r } from "./SButton-DQTSlo61.js";
2
2
  import { n as i } from "./useSelectionGroup-BCAmPf3R.js";
3
- import { t as a } from "./SDropdown-LOTCtlCX.js";
3
+ import { t as a } from "./SDropdown-CiXHI3g1.js";
4
4
  import { t as o } from "./SDropdownMenu-2koPU6IG.js";
5
5
  import { n as s, t as c } from "./SInput-CqC-jrCC.js";
6
6
  import { t as l } from "./SListItem-Chd81xY0.js";
@@ -1 +1 @@
1
- const e=require("./SButton-BN-PppY7.cjs"),t=require("./useSelectionGroup-NJvi3hNo.cjs"),n=require("./SDropdown-LNVnMol3.cjs"),r=require("./SDropdownMenu-k9SxaFVH.cjs"),i=require("./SInput-Be10IJ_E.cjs"),a=require("./SListItem-Rb59ZhEw.cjs"),o=require("./SList-3YwWEhUU.cjs");let s=require("vue"),c=require("@shtabapp/ui-kit-primitives");var l=({listItemScope:e,itemTitle:t,itemSubtitle:n,itemDisabled:r,itemIconLeft:i,listActiveKey:a,isOptionSelected:s})=>{let c=e.item;return{rowKey:e.key,title:o.i(c,t),subtitle:o.i(c,n),disabled:o.n(c,r),iconLeft:o.r(c,i),selected:s,active:a===e.key,revealRight:e.revealRight,tiny:!0}},u=e=>typeof e==`string`||typeof e==`number`,d=(e,t)=>{let n=e[t];if(u(n))return n},f=e=>typeof e==`string`?e:String(e),p=e=>e==null?!1:typeof e==`string`?e.length>0:!0,m=(e,t,n)=>t.find(t=>f(d(t,n)??``)===e),h=e=>typeof e==`object`&&!!e,g=(e,t,n)=>{let r=m(e,t,n);if(r)return d(r,n)},_=function(e){return e.INPUT=`input`,e.CONTENT=`content`,e}({}),v=(e,t,n)=>{if(!e)return!0;let r=e.toLocaleLowerCase(),i=o.i(t,n.itemTitle)?.toLocaleLowerCase()??``,a=f(d(t,n.itemValue)??``).toLocaleLowerCase();return i.includes(r)||a.includes(r)},y=(e,t,n,r)=>{let i=r??((e,t)=>v(e,t,n));return t?e.filter(e=>i(t,e)):[...e]},b=e=>typeof e==`string`&&p(e),x=e=>typeof e==`number`&&p(e),S=(e,t,n)=>{if(t){if(!h(e))return;let t=d(e,n);return b(t)||x(t)?t:void 0}let r=typeof e==`string`||typeof e==`number`?e:void 0;if(b(r)||x(r))return r},C=(e,t,n)=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let r=S(e,t,n);return p(r)?[r]:[]}):[],w=(e,t)=>{if(b(t)){e.value=t;return}if(x(t)){e.value=t;return}e.value=void 0},T=(e,t,n)=>t.flatMap(t=>{let r=f(t),i=e.find(e=>f(d(e,n)??``)===r);return i?[i]:[]}),E=({modelValue:e,options:n,itemFields:r,multiple:i,returnObject:a,searchable:c,filterOption:l,isDropdownOpen:u,searchQuery:h})=>{let v=(0,s.computed)(()=>(0,s.toValue)(i)),b=(0,s.computed)(()=>(0,s.toValue)(a)),x=(0,s.computed)(()=>(0,s.toValue)(c)===_.INPUT),S=(0,s.computed)(()=>(0,s.toValue)(c)===_.CONTENT),E=(0,s.computed)(()=>!!(0,s.toValue)(c)),D=(0,s.computed)(()=>{let t=(0,s.toValue)(r);return C(e.value,b.value,t.itemValue)}),O=(0,s.computed)(()=>{let e=(0,s.toValue)(n),t=(0,s.toValue)(r);return y(e,E.value?h.value:``,t,(0,s.toValue)(l))}),k=(0,s.computed)(()=>v.value?t.n.MULTIPLE:t.n.SINGLE),A=(t,n,r)=>{if(b.value){e.value=T(n,t,r);return}e.value=t},ee=(t,n,r)=>{if(!t){e.value=void 0;return}if(b.value){e.value=m(t,n,r)??void 0;return}w(e,g(t,n,r))},te=(0,s.computed)({get:()=>{if(v.value)return D.value.map(e=>f(e));let e=D.value[0];if(p(e))return f(e)},set:e=>{let t=(0,s.toValue)(n),i=(0,s.toValue)(r);if(v.value){A((Array.isArray(e)?e:[]).map(e=>g(e,t,i.itemValue)).filter(e=>p(e)),t,i.itemValue);return}ee(typeof e==`string`?e:void 0,t,i.itemValue)}}),ne=(0,s.computed)(()=>D.value.length>0),j=(e,t,n)=>{let r=f(t);return e.find(e=>f(d(e,n)??``)===r)},M=(0,s.computed)(()=>{let e=D.value[0];if(!p(e))return``;let t=(0,s.toValue)(r),i=j((0,s.toValue)(n),e,t.itemValue);return i?o.i(i,t.itemTitle)??``:f(e)}),N=(0,s.computed)(()=>{let e=(0,s.toValue)(n),t=(0,s.toValue)(r);return D.value.map(n=>{let r=j(e,n,t.itemValue);return r?o.i(r,t.itemTitle)??``:f(n)})}),re=(0,s.computed)(()=>N.value.join(`, `)),P=(0,s.computed)(()=>v.value?D.value.length===0:!M.value),F=(0,s.computed)(()=>x.value&&(u.value||v.value)),I=()=>{h.value=``};return(0,s.watch)(u,e=>{e||I()}),(0,s.watch)(()=>(0,s.toValue)(c),()=>{I()}),{searchQuery:h,selectedValues:D,filteredOptions:O,listSelectionMode:k,listSelectedModel:te,hasSelectedValues:ne,singleDisplayLabel:M,multipleDisplayLabels:N,multipleDisplayText:re,showPlaceholder:P,showInputSearchField:F,isSearchableMode:E,isSearchableInputMode:x,isSearchableContentMode:S,isMultipleMode:v,isReturnObjectMode:b,clearSelection:()=>{e.value=void 0,I()},removeSelectedValue:e=>{let t=f(e);A(D.value.filter(e=>f(e)!==t),(0,s.toValue)(n),(0,s.toValue)(r).itemValue)},resetSearchQuery:I,formatSelectListKey:f,resolveValueFromListKey:e=>g(e,(0,s.toValue)(n),(0,s.toValue)(r).itemValue)}},D={key:1,class:`s-ui-select__empty s-ui-typography-body-14-regular`},O=[`id`,`aria-expanded`,`aria-controls`,`aria-disabled`,`aria-readonly`,`aria-autocomplete`,`tabindex`],k={key:0,class:`s-ui-select__value`},A={key:1,class:`s-ui-select__placeholder`},ee={key:1,class:`s-ui-select__placeholder`},te={key:2,class:`s-ui-select__value`},ne={key:3,class:`s-ui-select__value-suffix`},j=[`name`,`placeholder`,`disabled`,`readonly`],M=20,N=`100%`,re=20,P=(0,s.defineComponent)({__name:`SSelect`,props:(0,s.mergeModels)({options:{},itemValue:{default:`value`},itemTitle:{default:`label`},itemSubtitle:{default:`subtitle`},itemId:{},itemDisabled:{default:`disabled`},itemIconLeft:{default:`iconLeft`},multiple:{type:Boolean,default:!1},returnObject:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},closableOptions:{type:Boolean,default:!1},searchable:{type:[String,Boolean],default:!1},closeOnSelect:{type:Boolean,default:!0},listHeight:{default:320},searchPlaceholder:{default:`Search`},filterOption:{type:Function},fitViewport:{type:Boolean,default:!0},panelWidth:{},surfaceClass:{},canLoadMore:{type:Function},endReachedDistance:{default:0},label:{},labelProps:{},placeholder:{},helpMessages:{},errorMessages:{},bordered:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},iconLeft:{},customize:{default:()=>i.n.NONE},name:{},id:{}},{modelValue:{},modelModifiers:{},searchQuery:{default:``},searchQueryModifiers:{}}),emits:(0,s.mergeModels)([`clear`,`focus`,`blur`,`open`,`close`,`endReached`],[`update:modelValue`,`update:searchQuery`]),setup(t,{expose:u,emit:d}){let f=(0,s.useModel)(t,`modelValue`),m=(0,s.useModel)(t,`searchQuery`),h=d,{t:g}=(0,c.useUiKitI18n)(),_=(0,s.useSlots)(),v=(0,s.useId)(),y=(0,s.useId)(),b=(0,s.useTemplateRef)(`triggerInputRef`),x=(0,s.ref)(``),S=(0,s.useTemplateRef)(`searchInputElementRef`),C=(0,s.useTemplateRef)(`panelSearchInputElementRef`),w=(0,s.useTemplateRef)(`listElementRef`),T=(0,s.ref)(),P=(0,s.ref)(!1),F=(0,s.ref)(!1),I=(0,s.computed)(()=>t.panelWidth===void 0),ie=(0,s.computed)(()=>t.panelWidth??N),ae=(0,s.computed)(()=>t.itemId??t.itemValue),oe=(0,s.computed)(()=>({itemValue:t.itemValue,itemTitle:t.itemTitle,itemSubtitle:t.itemSubtitle,itemId:ae.value})),{selectedValues:L,filteredOptions:R,listSelectionMode:se,listSelectedModel:z,hasSelectedValues:ce,singleDisplayLabel:le,multipleDisplayLabels:ue,multipleDisplayText:B,showPlaceholder:V,showInputSearchField:H,isSearchableMode:de,isSearchableInputMode:U,isSearchableContentMode:W,isMultipleMode:G,clearSelection:fe,removeSelectedValue:K,resolveValueFromListKey:pe,formatSelectListKey:q}=E({modelValue:f,options:()=>t.options,itemFields:()=>oe.value,multiple:()=>t.multiple,returnObject:()=>t.returnObject,searchable:()=>t.searchable,filterOption:()=>t.filterOption,isDropdownOpen:P,searchQuery:m}),me=(0,s.computed)(()=>({disabled:t.disabled,displayLabel:le.value})),J=(0,s.computed)(()=>R.value.length>re),he=(0,s.computed)(()=>W.value||J.value?t.listHeight:`auto`),ge=(0,s.computed)(()=>{if(!(W.value||J.value))return t.listHeight}),_e=(0,s.computed)(()=>L.value.map(e=>q(e))),ve=e=>_e.value.includes(e),ye=()=>({tiny:!0}),be=e=>l({listItemScope:e,itemTitle:t.itemTitle,itemSubtitle:t.itemSubtitle,itemDisabled:t.itemDisabled,itemIconLeft:t.itemIconLeft,listActiveKey:T.value,isOptionSelected:ve(e.key)}),xe=e=>{let t=pe(e);if(p(t)){if(G.value){K(t);return}f.value=void 0}},Se=(0,s.computed)(()=>t.id??v),Ce=(0,s.computed)(()=>y),we=(0,s.computed)(()=>b.value?.fieldElementRef??null),Te=(0,s.computed)(()=>({labels:ue.value,values:L.value,displayText:B.value,disabled:t.disabled||t.readonly,removeValue:K})),Ee=(0,s.computed)(()=>{if(!t.disabled&&(t.readonly&&!U.value||!U.value))return 0}),De=(0,s.computed)(()=>({"s-ui-select--disabled":t.disabled,"s-ui-select--readonly":t.readonly,"s-ui-select--multiple":G.value,"s-ui-select--open":P.value})),Oe=()=>{if(W.value){C.value?.focus();return}S.value?.focus()},ke=async()=>{await(0,s.nextTick)(),C.value?.focus()},Ae=async()=>{await(0,s.nextTick)(),await w.value?.focusNavigation()},Y=async()=>{if(!(t.disabled||t.readonly)&&!P.value){if(P.value=!0,h(`open`),W.value){await ke();return}if(U.value){await(0,s.nextTick)(),S.value?.focus();return}await Ae()}},je=async()=>{t.disabled||t.readonly||P.value||await Y()};(0,s.watch)(m,async e=>{U.value&&(t.disabled||t.readonly||e&&(P.value||await Y()))});let X=()=>{P.value&&(P.value=!1,T.value=void 0,h(`close`))},Z=()=>{!t.closeOnSelect||G.value||X()};(0,s.watch)(f,(e,n)=>{!t.closeOnSelect||G.value||!P.value||!e||e===n||X()});let Me=e=>{P.value&&e.target instanceof Element&&e.target.closest(`.s-ui-list-item`)&&Z()},Ne=async e=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||P.value&&(await(0,s.nextTick)(),Z())},Q=async()=>{if(P.value){X();return}await Y()},Pe=async e=>{if(!(t.disabled||t.readonly)&&e.target instanceof HTMLElement){if(e.target.closest(`.s-ui-select__search-input`)){P.value||await Y();return}await Q()}},$=async e=>e.key!==`ArrowDown`&&e.key!==`ArrowUp`?!1:(e.preventDefault(),e.stopPropagation(),P.value||await Y(),await Ae(),await w.value?.handleKeyboardNavigation(e),!0),Fe=e=>{let t=pe(e);if(t){if(G.value){L.value.some(t=>q(t)===e)?K(t):z.value=[...L.value.map(e=>q(e)),e];return}z.value=e,Z()}},Ie=async e=>{if(!(t.disabled||t.readonly)&&!await $(e)){if(e.key===`Escape`){e.preventDefault(),X();return}if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),P.value&&T.value){Fe(T.value);return}await Q()}}},Le=async e=>{if(e.key===`Escape`){e.preventDefault(),X();return}await $(e)},Re=Le,ze=e=>{t.disabled||(F.value||h(`focus`,e),F.value=!0)},Be=e=>{if(!(e.currentTarget instanceof HTMLElement))return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(F.value=!1,h(`blur`,e))},Ve=()=>{fe(),h(`clear`)},He=e=>{h(`endReached`,e)};return u({open:Y,close:X,toggle:Q,focusSearchInput:Oe}),(l,u)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)([`s-ui-select`,De.value])},[(0,s.createVNode)((0,s.unref)(n.t),{modelValue:P.value,"onUpdate:modelValue":u[4]||=e=>P.value=e,reference:we.value,disabled:t.disabled,"match-reference-width":I.value,"fit-viewport":t.fitViewport,"surface-class":t.surfaceClass,"content-id":Ce.value,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{content:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(r.t),{class:`s-ui-select__menu`,width:ie.value},(0,s.createSlots)({default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{class:`s-ui-select__menu-body`,onClick:Me,onKeydown:Ne},[(0,s.unref)(R).length>0?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.t),{key:0,ref_key:`listElementRef`,ref:w,modelValue:T.value,"onUpdate:modelValue":u[2]||=e=>T.value=e,selected:(0,s.unref)(z),"onUpdate:selected":u[3]||=e=>(0,s.isRef)(z)?z.value=e:null,items:(0,s.unref)(R),"item-key":ae.value,"title-key":t.itemTitle,"subtitle-key":t.itemSubtitle,"icon-left-key":t.itemIconLeft,"disabled-key":t.itemDisabled,"selection-mode":(0,s.unref)(se),mandatory:!t.multiple,height:he.value,"max-height":ge.value,virtual:J.value,"item-props":ye,"selected-on-top":(0,s.unref)(G),"can-load-more":t.canLoadMore,"end-reached-distance":t.endReachedDistance,onEndReached:He},(0,s.createSlots)({_:2},[(0,s.unref)(_).option||(0,s.unref)(_)[`option-icon`]||t.closableOptions||(0,s.unref)(G)?{name:`item`,fn:(0,s.withCtx)(n=>[(0,s.unref)(_).option?(0,s.renderSlot)(l.$slots,`option`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},n))):t.closableOptions?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(a.t),(0,s.normalizeProps)((0,s.mergeProps)({key:1},be(n))),(0,s.createSlots)({_:2},[(0,s.unref)(_)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(n)))]),key:`0`}:void 0,ve(n.key)?{name:`right`,fn:(0,s.withCtx)(t=>[(0,s.createVNode)((0,s.unref)(e.t),{appearance:(0,s.unref)(e.n).BARE,variant:(0,s.unref)(e.i).NEUTRAL,size:(0,s.unref)(e.r).SMALL,icon:`closeMini`,"aria-label":(0,s.unref)(g)(`select.removeOption`),disabled:t.disabled||t.readonly,tabindex:-1,onClick:(0,s.withModifiers)(e=>xe(n.key),[`stop`])},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),key:`1`}:void 0]),1040)):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(a.t),(0,s.normalizeProps)((0,s.mergeProps)({key:2},be(n))),(0,s.createSlots)({_:2},[(0,s.unref)(_)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(n)))]),key:`0`}:void 0]),1040))]),key:`0`}:void 0]),1032,[`modelValue`,`selected`,`items`,`item-key`,`title-key`,`subtitle-key`,`icon-left-key`,`disabled-key`,`selection-mode`,`mandatory`,`height`,`max-height`,`virtual`,`selected-on-top`,`can-load-more`,`end-reached-distance`])):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,D,[(0,s.renderSlot)(l.$slots,`empty`,{},()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(g)(`select.noOptions`)),1)])]))],32)]),_:2},[(0,s.unref)(W)||(0,s.unref)(_)[`panel-header`]?{name:`header`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`panel-header`),(0,s.unref)(W)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(i.t),{key:0,ref_key:`panelSearchInputElementRef`,ref:C,modelValue:m.value,"onUpdate:modelValue":u[0]||=e=>m.value=e,placeholder:t.searchPlaceholder,disabled:t.disabled,clearable:!1,"icon-left":`search`,onClick:u[1]||=(0,s.withModifiers)(()=>{},[`stop`]),onKeydown:(0,s.unref)(Re)},null,8,[`modelValue`,`placeholder`,`disabled`,`onKeydown`])):(0,s.createCommentVNode)(``,!0)]),key:`0`}:void 0,(0,s.unref)(_)[`panel-footer`]?{name:`footer`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`panel-footer`)]),key:`1`}:void 0]),1032,[`width`])]),_:3},8,[`modelValue`,`reference`,`disabled`,`match-reference-width`,`fit-viewport`,`surface-class`,`content-id`]),(0,s.createVNode)((0,s.unref)(i.t),{ref_key:`triggerInputRef`,ref:b,modelValue:x.value,"onUpdate:modelValue":u[7]||=e=>x.value=e,label:t.label,"label-props":t.labelProps,placeholder:t.placeholder,"help-messages":t.helpMessages,"error-messages":t.errorMessages,bordered:t.bordered,disabled:t.disabled,readonly:t.readonly,clearable:t.clearable,"has-value":(0,s.unref)(ce),focused:F.value||P.value,"icon-left":t.iconLeft,customize:t.customize,name:t.name,id:Se.value,onClear:Ve,onFocus:ze,onBlur:Be},(0,s.createSlots)({control:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{id:Se.value,class:(0,s.normalizeClass)([`s-ui-select__control s-ui-typography-body-14-regular`,{"s-ui-select__control--multiple":(0,s.unref)(G),"s-ui-select__control--empty":(0,s.unref)(G)&&!(0,s.unref)(ce)&&!(0,s.unref)(H),"s-ui-select__control--with-value-suffix":(0,s.unref)(_)[`value-suffix`]&&!(0,s.unref)(G)&&!(0,s.unref)(H)&&!(0,s.unref)(V)}]),role:`combobox`,"aria-expanded":P.value,"aria-controls":Ce.value,"aria-haspopup":`listbox`,"aria-disabled":t.disabled?!0:void 0,"aria-readonly":t.readonly?!0:void 0,"aria-autocomplete":(0,s.unref)(de)?`list`:void 0,tabindex:Ee.value,onClick:Pe,onKeydown:Ie},[(0,s.unref)(G)?(0,s.renderSlot)(l.$slots,`selection`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},Te.value)),()=>[(0,s.unref)(B)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,k,(0,s.toDisplayString)((0,s.unref)(B)),1)):(0,s.unref)(V)&&!(0,s.unref)(H)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,A,(0,s.toDisplayString)(t.placeholder),1)):(0,s.createCommentVNode)(``,!0)]):(0,s.unref)(V)&&!(0,s.unref)(H)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ee,(0,s.toDisplayString)(t.placeholder),1)):(0,s.unref)(H)?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createElementBlock)(`span`,te,(0,s.toDisplayString)((0,s.unref)(le)),1)),(0,s.unref)(_)[`value-suffix`]&&!(0,s.unref)(G)&&!(0,s.unref)(H)&&!(0,s.unref)(V)?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ne,[(0,s.renderSlot)(l.$slots,`value-suffix`,(0,s.normalizeProps)((0,s.guardReactiveProps)(me.value)))])):(0,s.createCommentVNode)(``,!0),(0,s.unref)(H)?(0,s.withDirectives)(((0,s.openBlock)(),(0,s.createElementBlock)(`input`,{key:4,ref_key:`searchInputElementRef`,ref:S,"onUpdate:modelValue":u[5]||=e=>m.value=e,class:`s-ui-select__search-input`,type:`text`,name:t.name,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,autocomplete:`off`,onClick:u[6]||=(0,s.withModifiers)(()=>{},[`stop`]),onFocus:je,onKeydown:Le},null,40,j)),[[s.vModelText,m.value]]):(0,s.createCommentVNode)(``,!0)],42,O)]),action:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.SIcon),{name:`chevronMiniDown`,size:M,class:`s-ui-select__chevron`})]),_:2},[(0,s.unref)(_).label?{name:`label`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`label`)]),key:`0`}:void 0,(0,s.unref)(_).prefix?{name:`prefix`,fn:(0,s.withCtx)(e=>[(0,s.renderSlot)(l.$slots,`prefix`,(0,s.normalizeProps)((0,s.guardReactiveProps)(e)))]),key:`1`}:void 0,(0,s.unref)(_).prepend?{name:`prepend`,fn:(0,s.withCtx)(e=>[(0,s.renderSlot)(l.$slots,`prepend`,(0,s.normalizeProps)((0,s.guardReactiveProps)(e)))]),key:`2`}:void 0,(0,s.unref)(_).message?{name:`message`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`message`)]),key:`3`}:void 0]),1032,[`modelValue`,`label`,`label-props`,`placeholder`,`help-messages`,`error-messages`,`bordered`,`disabled`,`readonly`,`clearable`,`has-value`,`focused`,`icon-left`,`customize`,`name`,`id`])],2))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return P}});
1
+ const e=require("./SButton-BN-PppY7.cjs"),t=require("./useSelectionGroup-NJvi3hNo.cjs"),n=require("./SDropdown-B1OGbIYg.cjs"),r=require("./SDropdownMenu-k9SxaFVH.cjs"),i=require("./SInput-Be10IJ_E.cjs"),a=require("./SListItem-Rb59ZhEw.cjs"),o=require("./SList-3YwWEhUU.cjs");let s=require("vue"),c=require("@shtabapp/ui-kit-primitives");var l=({listItemScope:e,itemTitle:t,itemSubtitle:n,itemDisabled:r,itemIconLeft:i,listActiveKey:a,isOptionSelected:s})=>{let c=e.item;return{rowKey:e.key,title:o.i(c,t),subtitle:o.i(c,n),disabled:o.n(c,r),iconLeft:o.r(c,i),selected:s,active:a===e.key,revealRight:e.revealRight,tiny:!0}},u=e=>typeof e==`string`||typeof e==`number`,d=(e,t)=>{let n=e[t];if(u(n))return n},f=e=>typeof e==`string`?e:String(e),p=e=>e==null?!1:typeof e==`string`?e.length>0:!0,m=(e,t,n)=>t.find(t=>f(d(t,n)??``)===e),h=e=>typeof e==`object`&&!!e,g=(e,t,n)=>{let r=m(e,t,n);if(r)return d(r,n)},_=function(e){return e.INPUT=`input`,e.CONTENT=`content`,e}({}),v=(e,t,n)=>{if(!e)return!0;let r=e.toLocaleLowerCase(),i=o.i(t,n.itemTitle)?.toLocaleLowerCase()??``,a=f(d(t,n.itemValue)??``).toLocaleLowerCase();return i.includes(r)||a.includes(r)},y=(e,t,n,r)=>{let i=r??((e,t)=>v(e,t,n));return t?e.filter(e=>i(t,e)):[...e]},b=e=>typeof e==`string`&&p(e),x=e=>typeof e==`number`&&p(e),S=(e,t,n)=>{if(t){if(!h(e))return;let t=d(e,n);return b(t)||x(t)?t:void 0}let r=typeof e==`string`||typeof e==`number`?e:void 0;if(b(r)||x(r))return r},C=(e,t,n)=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let r=S(e,t,n);return p(r)?[r]:[]}):[],w=(e,t)=>{if(b(t)){e.value=t;return}if(x(t)){e.value=t;return}e.value=void 0},T=(e,t,n)=>t.flatMap(t=>{let r=f(t),i=e.find(e=>f(d(e,n)??``)===r);return i?[i]:[]}),E=({modelValue:e,options:n,itemFields:r,multiple:i,returnObject:a,searchable:c,filterOption:l,isDropdownOpen:u,searchQuery:h})=>{let v=(0,s.computed)(()=>(0,s.toValue)(i)),b=(0,s.computed)(()=>(0,s.toValue)(a)),x=(0,s.computed)(()=>(0,s.toValue)(c)===_.INPUT),S=(0,s.computed)(()=>(0,s.toValue)(c)===_.CONTENT),E=(0,s.computed)(()=>!!(0,s.toValue)(c)),D=(0,s.computed)(()=>{let t=(0,s.toValue)(r);return C(e.value,b.value,t.itemValue)}),O=(0,s.computed)(()=>{let e=(0,s.toValue)(n),t=(0,s.toValue)(r);return y(e,E.value?h.value:``,t,(0,s.toValue)(l))}),k=(0,s.computed)(()=>v.value?t.n.MULTIPLE:t.n.SINGLE),A=(t,n,r)=>{if(b.value){e.value=T(n,t,r);return}e.value=t},ee=(t,n,r)=>{if(!t){e.value=void 0;return}if(b.value){e.value=m(t,n,r)??void 0;return}w(e,g(t,n,r))},te=(0,s.computed)({get:()=>{if(v.value)return D.value.map(e=>f(e));let e=D.value[0];if(p(e))return f(e)},set:e=>{let t=(0,s.toValue)(n),i=(0,s.toValue)(r);if(v.value){A((Array.isArray(e)?e:[]).map(e=>g(e,t,i.itemValue)).filter(e=>p(e)),t,i.itemValue);return}ee(typeof e==`string`?e:void 0,t,i.itemValue)}}),ne=(0,s.computed)(()=>D.value.length>0),j=(e,t,n)=>{let r=f(t);return e.find(e=>f(d(e,n)??``)===r)},M=(0,s.computed)(()=>{let e=D.value[0];if(!p(e))return``;let t=(0,s.toValue)(r),i=j((0,s.toValue)(n),e,t.itemValue);return i?o.i(i,t.itemTitle)??``:f(e)}),N=(0,s.computed)(()=>{let e=(0,s.toValue)(n),t=(0,s.toValue)(r);return D.value.map(n=>{let r=j(e,n,t.itemValue);return r?o.i(r,t.itemTitle)??``:f(n)})}),re=(0,s.computed)(()=>N.value.join(`, `)),P=(0,s.computed)(()=>v.value?D.value.length===0:!M.value),F=(0,s.computed)(()=>x.value&&(u.value||v.value)),I=()=>{h.value=``};return(0,s.watch)(u,e=>{e||I()}),(0,s.watch)(()=>(0,s.toValue)(c),()=>{I()}),{searchQuery:h,selectedValues:D,filteredOptions:O,listSelectionMode:k,listSelectedModel:te,hasSelectedValues:ne,singleDisplayLabel:M,multipleDisplayLabels:N,multipleDisplayText:re,showPlaceholder:P,showInputSearchField:F,isSearchableMode:E,isSearchableInputMode:x,isSearchableContentMode:S,isMultipleMode:v,isReturnObjectMode:b,clearSelection:()=>{e.value=void 0,I()},removeSelectedValue:e=>{let t=f(e);A(D.value.filter(e=>f(e)!==t),(0,s.toValue)(n),(0,s.toValue)(r).itemValue)},resetSearchQuery:I,formatSelectListKey:f,resolveValueFromListKey:e=>g(e,(0,s.toValue)(n),(0,s.toValue)(r).itemValue)}},D={key:1,class:`s-ui-select__empty s-ui-typography-body-14-regular`},O=[`id`,`aria-expanded`,`aria-controls`,`aria-disabled`,`aria-readonly`,`aria-autocomplete`,`tabindex`],k={key:0,class:`s-ui-select__value`},A={key:1,class:`s-ui-select__placeholder`},ee={key:1,class:`s-ui-select__placeholder`},te={key:2,class:`s-ui-select__value`},ne={key:3,class:`s-ui-select__value-suffix`},j=[`name`,`placeholder`,`disabled`,`readonly`],M=20,N=`100%`,re=20,P=(0,s.defineComponent)({__name:`SSelect`,props:(0,s.mergeModels)({options:{},itemValue:{default:`value`},itemTitle:{default:`label`},itemSubtitle:{default:`subtitle`},itemId:{},itemDisabled:{default:`disabled`},itemIconLeft:{default:`iconLeft`},multiple:{type:Boolean,default:!1},returnObject:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},closableOptions:{type:Boolean,default:!1},searchable:{type:[String,Boolean],default:!1},closeOnSelect:{type:Boolean,default:!0},listHeight:{default:320},searchPlaceholder:{default:`Search`},filterOption:{type:Function},fitViewport:{type:Boolean,default:!0},panelWidth:{},surfaceClass:{},canLoadMore:{type:Function},endReachedDistance:{default:0},label:{},labelProps:{},placeholder:{},helpMessages:{},errorMessages:{},bordered:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},iconLeft:{},customize:{default:()=>i.n.NONE},name:{},id:{}},{modelValue:{},modelModifiers:{},searchQuery:{default:``},searchQueryModifiers:{}}),emits:(0,s.mergeModels)([`clear`,`focus`,`blur`,`open`,`close`,`endReached`],[`update:modelValue`,`update:searchQuery`]),setup(t,{expose:u,emit:d}){let f=(0,s.useModel)(t,`modelValue`),m=(0,s.useModel)(t,`searchQuery`),h=d,{t:g}=(0,c.useUiKitI18n)(),_=(0,s.useSlots)(),v=(0,s.useId)(),y=(0,s.useId)(),b=(0,s.useTemplateRef)(`triggerInputRef`),x=(0,s.ref)(``),S=(0,s.useTemplateRef)(`searchInputElementRef`),C=(0,s.useTemplateRef)(`panelSearchInputElementRef`),w=(0,s.useTemplateRef)(`listElementRef`),T=(0,s.ref)(),P=(0,s.ref)(!1),F=(0,s.ref)(!1),I=(0,s.computed)(()=>t.panelWidth===void 0),ie=(0,s.computed)(()=>t.panelWidth??N),ae=(0,s.computed)(()=>t.itemId??t.itemValue),oe=(0,s.computed)(()=>({itemValue:t.itemValue,itemTitle:t.itemTitle,itemSubtitle:t.itemSubtitle,itemId:ae.value})),{selectedValues:L,filteredOptions:R,listSelectionMode:se,listSelectedModel:z,hasSelectedValues:ce,singleDisplayLabel:le,multipleDisplayLabels:ue,multipleDisplayText:B,showPlaceholder:V,showInputSearchField:H,isSearchableMode:de,isSearchableInputMode:U,isSearchableContentMode:W,isMultipleMode:G,clearSelection:fe,removeSelectedValue:K,resolveValueFromListKey:pe,formatSelectListKey:q}=E({modelValue:f,options:()=>t.options,itemFields:()=>oe.value,multiple:()=>t.multiple,returnObject:()=>t.returnObject,searchable:()=>t.searchable,filterOption:()=>t.filterOption,isDropdownOpen:P,searchQuery:m}),me=(0,s.computed)(()=>({disabled:t.disabled,displayLabel:le.value})),J=(0,s.computed)(()=>R.value.length>re),he=(0,s.computed)(()=>W.value||J.value?t.listHeight:`auto`),ge=(0,s.computed)(()=>{if(!(W.value||J.value))return t.listHeight}),_e=(0,s.computed)(()=>L.value.map(e=>q(e))),ve=e=>_e.value.includes(e),ye=()=>({tiny:!0}),be=e=>l({listItemScope:e,itemTitle:t.itemTitle,itemSubtitle:t.itemSubtitle,itemDisabled:t.itemDisabled,itemIconLeft:t.itemIconLeft,listActiveKey:T.value,isOptionSelected:ve(e.key)}),xe=e=>{let t=pe(e);if(p(t)){if(G.value){K(t);return}f.value=void 0}},Se=(0,s.computed)(()=>t.id??v),Ce=(0,s.computed)(()=>y),we=(0,s.computed)(()=>b.value?.fieldElementRef??null),Te=(0,s.computed)(()=>({labels:ue.value,values:L.value,displayText:B.value,disabled:t.disabled||t.readonly,removeValue:K})),Ee=(0,s.computed)(()=>{if(!t.disabled&&(t.readonly&&!U.value||!U.value))return 0}),De=(0,s.computed)(()=>({"s-ui-select--disabled":t.disabled,"s-ui-select--readonly":t.readonly,"s-ui-select--multiple":G.value,"s-ui-select--open":P.value})),Oe=()=>{if(W.value){C.value?.focus();return}S.value?.focus()},ke=async()=>{await(0,s.nextTick)(),C.value?.focus()},Ae=async()=>{await(0,s.nextTick)(),await w.value?.focusNavigation()},Y=async()=>{if(!(t.disabled||t.readonly)&&!P.value){if(P.value=!0,h(`open`),W.value){await ke();return}if(U.value){await(0,s.nextTick)(),S.value?.focus();return}await Ae()}},je=async()=>{t.disabled||t.readonly||P.value||await Y()};(0,s.watch)(m,async e=>{U.value&&(t.disabled||t.readonly||e&&(P.value||await Y()))});let X=()=>{P.value&&(P.value=!1,T.value=void 0,h(`close`))},Z=()=>{!t.closeOnSelect||G.value||X()};(0,s.watch)(f,(e,n)=>{!t.closeOnSelect||G.value||!P.value||!e||e===n||X()});let Me=e=>{P.value&&e.target instanceof Element&&e.target.closest(`.s-ui-list-item`)&&Z()},Ne=async e=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||P.value&&(await(0,s.nextTick)(),Z())},Q=async()=>{if(P.value){X();return}await Y()},Pe=async e=>{if(!(t.disabled||t.readonly)&&e.target instanceof HTMLElement){if(e.target.closest(`.s-ui-select__search-input`)){P.value||await Y();return}await Q()}},$=async e=>e.key!==`ArrowDown`&&e.key!==`ArrowUp`?!1:(e.preventDefault(),e.stopPropagation(),P.value||await Y(),await Ae(),await w.value?.handleKeyboardNavigation(e),!0),Fe=e=>{let t=pe(e);if(t){if(G.value){L.value.some(t=>q(t)===e)?K(t):z.value=[...L.value.map(e=>q(e)),e];return}z.value=e,Z()}},Ie=async e=>{if(!(t.disabled||t.readonly)&&!await $(e)){if(e.key===`Escape`){e.preventDefault(),X();return}if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),P.value&&T.value){Fe(T.value);return}await Q()}}},Le=async e=>{if(e.key===`Escape`){e.preventDefault(),X();return}await $(e)},Re=Le,ze=e=>{t.disabled||(F.value||h(`focus`,e),F.value=!0)},Be=e=>{if(!(e.currentTarget instanceof HTMLElement))return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(F.value=!1,h(`blur`,e))},Ve=()=>{fe(),h(`clear`)},He=e=>{h(`endReached`,e)};return u({open:Y,close:X,toggle:Q,focusSearchInput:Oe}),(l,u)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)([`s-ui-select`,De.value])},[(0,s.createVNode)((0,s.unref)(n.t),{modelValue:P.value,"onUpdate:modelValue":u[4]||=e=>P.value=e,reference:we.value,disabled:t.disabled,"match-reference-width":I.value,"fit-viewport":t.fitViewport,"surface-class":t.surfaceClass,"content-id":Ce.value,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{content:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(r.t),{class:`s-ui-select__menu`,width:ie.value},(0,s.createSlots)({default:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{class:`s-ui-select__menu-body`,onClick:Me,onKeydown:Ne},[(0,s.unref)(R).length>0?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.t),{key:0,ref_key:`listElementRef`,ref:w,modelValue:T.value,"onUpdate:modelValue":u[2]||=e=>T.value=e,selected:(0,s.unref)(z),"onUpdate:selected":u[3]||=e=>(0,s.isRef)(z)?z.value=e:null,items:(0,s.unref)(R),"item-key":ae.value,"title-key":t.itemTitle,"subtitle-key":t.itemSubtitle,"icon-left-key":t.itemIconLeft,"disabled-key":t.itemDisabled,"selection-mode":(0,s.unref)(se),mandatory:!t.multiple,height:he.value,"max-height":ge.value,virtual:J.value,"item-props":ye,"selected-on-top":(0,s.unref)(G),"can-load-more":t.canLoadMore,"end-reached-distance":t.endReachedDistance,onEndReached:He},(0,s.createSlots)({_:2},[(0,s.unref)(_).option||(0,s.unref)(_)[`option-icon`]||t.closableOptions||(0,s.unref)(G)?{name:`item`,fn:(0,s.withCtx)(n=>[(0,s.unref)(_).option?(0,s.renderSlot)(l.$slots,`option`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},n))):t.closableOptions?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(a.t),(0,s.normalizeProps)((0,s.mergeProps)({key:1},be(n))),(0,s.createSlots)({_:2},[(0,s.unref)(_)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(n)))]),key:`0`}:void 0,ve(n.key)?{name:`right`,fn:(0,s.withCtx)(t=>[(0,s.createVNode)((0,s.unref)(e.t),{appearance:(0,s.unref)(e.n).BARE,variant:(0,s.unref)(e.i).NEUTRAL,size:(0,s.unref)(e.r).SMALL,icon:`closeMini`,"aria-label":(0,s.unref)(g)(`select.removeOption`),disabled:t.disabled||t.readonly,tabindex:-1,onClick:(0,s.withModifiers)(e=>xe(n.key),[`stop`])},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),key:`1`}:void 0]),1040)):((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(a.t),(0,s.normalizeProps)((0,s.mergeProps)({key:2},be(n))),(0,s.createSlots)({_:2},[(0,s.unref)(_)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(n)))]),key:`0`}:void 0]),1040))]),key:`0`}:void 0]),1032,[`modelValue`,`selected`,`items`,`item-key`,`title-key`,`subtitle-key`,`icon-left-key`,`disabled-key`,`selection-mode`,`mandatory`,`height`,`max-height`,`virtual`,`selected-on-top`,`can-load-more`,`end-reached-distance`])):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,D,[(0,s.renderSlot)(l.$slots,`empty`,{},()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(g)(`select.noOptions`)),1)])]))],32)]),_:2},[(0,s.unref)(W)||(0,s.unref)(_)[`panel-header`]?{name:`header`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`panel-header`),(0,s.unref)(W)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(i.t),{key:0,ref_key:`panelSearchInputElementRef`,ref:C,modelValue:m.value,"onUpdate:modelValue":u[0]||=e=>m.value=e,placeholder:t.searchPlaceholder,disabled:t.disabled,clearable:!1,"icon-left":`search`,onClick:u[1]||=(0,s.withModifiers)(()=>{},[`stop`]),onKeydown:(0,s.unref)(Re)},null,8,[`modelValue`,`placeholder`,`disabled`,`onKeydown`])):(0,s.createCommentVNode)(``,!0)]),key:`0`}:void 0,(0,s.unref)(_)[`panel-footer`]?{name:`footer`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`panel-footer`)]),key:`1`}:void 0]),1032,[`width`])]),_:3},8,[`modelValue`,`reference`,`disabled`,`match-reference-width`,`fit-viewport`,`surface-class`,`content-id`]),(0,s.createVNode)((0,s.unref)(i.t),{ref_key:`triggerInputRef`,ref:b,modelValue:x.value,"onUpdate:modelValue":u[7]||=e=>x.value=e,label:t.label,"label-props":t.labelProps,placeholder:t.placeholder,"help-messages":t.helpMessages,"error-messages":t.errorMessages,bordered:t.bordered,disabled:t.disabled,readonly:t.readonly,clearable:t.clearable,"has-value":(0,s.unref)(ce),focused:F.value||P.value,"icon-left":t.iconLeft,customize:t.customize,name:t.name,id:Se.value,onClear:Ve,onFocus:ze,onBlur:Be},(0,s.createSlots)({control:(0,s.withCtx)(()=>[(0,s.createElementVNode)(`div`,{id:Se.value,class:(0,s.normalizeClass)([`s-ui-select__control s-ui-typography-body-14-regular`,{"s-ui-select__control--multiple":(0,s.unref)(G),"s-ui-select__control--empty":(0,s.unref)(G)&&!(0,s.unref)(ce)&&!(0,s.unref)(H),"s-ui-select__control--with-value-suffix":(0,s.unref)(_)[`value-suffix`]&&!(0,s.unref)(G)&&!(0,s.unref)(H)&&!(0,s.unref)(V)}]),role:`combobox`,"aria-expanded":P.value,"aria-controls":Ce.value,"aria-haspopup":`listbox`,"aria-disabled":t.disabled?!0:void 0,"aria-readonly":t.readonly?!0:void 0,"aria-autocomplete":(0,s.unref)(de)?`list`:void 0,tabindex:Ee.value,onClick:Pe,onKeydown:Ie},[(0,s.unref)(G)?(0,s.renderSlot)(l.$slots,`selection`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},Te.value)),()=>[(0,s.unref)(B)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,k,(0,s.toDisplayString)((0,s.unref)(B)),1)):(0,s.unref)(V)&&!(0,s.unref)(H)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,A,(0,s.toDisplayString)(t.placeholder),1)):(0,s.createCommentVNode)(``,!0)]):(0,s.unref)(V)&&!(0,s.unref)(H)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ee,(0,s.toDisplayString)(t.placeholder),1)):(0,s.unref)(H)?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createElementBlock)(`span`,te,(0,s.toDisplayString)((0,s.unref)(le)),1)),(0,s.unref)(_)[`value-suffix`]&&!(0,s.unref)(G)&&!(0,s.unref)(H)&&!(0,s.unref)(V)?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ne,[(0,s.renderSlot)(l.$slots,`value-suffix`,(0,s.normalizeProps)((0,s.guardReactiveProps)(me.value)))])):(0,s.createCommentVNode)(``,!0),(0,s.unref)(H)?(0,s.withDirectives)(((0,s.openBlock)(),(0,s.createElementBlock)(`input`,{key:4,ref_key:`searchInputElementRef`,ref:S,"onUpdate:modelValue":u[5]||=e=>m.value=e,class:`s-ui-select__search-input`,type:`text`,name:t.name,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,autocomplete:`off`,onClick:u[6]||=(0,s.withModifiers)(()=>{},[`stop`]),onFocus:je,onKeydown:Le},null,40,j)),[[s.vModelText,m.value]]):(0,s.createCommentVNode)(``,!0)],42,O)]),action:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.SIcon),{name:`chevronMiniDown`,size:M,class:`s-ui-select__chevron`})]),_:2},[(0,s.unref)(_).label?{name:`label`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`label`)]),key:`0`}:void 0,(0,s.unref)(_).prefix?{name:`prefix`,fn:(0,s.withCtx)(e=>[(0,s.renderSlot)(l.$slots,`prefix`,(0,s.normalizeProps)((0,s.guardReactiveProps)(e)))]),key:`1`}:void 0,(0,s.unref)(_).prepend?{name:`prepend`,fn:(0,s.withCtx)(e=>[(0,s.renderSlot)(l.$slots,`prepend`,(0,s.normalizeProps)((0,s.guardReactiveProps)(e)))]),key:`2`}:void 0,(0,s.unref)(_).message?{name:`message`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`message`)]),key:`3`}:void 0]),1032,[`modelValue`,`label`,`label-props`,`placeholder`,`help-messages`,`error-messages`,`bordered`,`disabled`,`readonly`,`clearable`,`has-value`,`focused`,`icon-left`,`customize`,`name`,`id`])],2))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return P}});
@@ -1,7 +1,7 @@
1
1
  import { i as e, n as t, r as n, t as r } from "./SButton-DQTSlo61.js";
2
2
  import { i, t as a } from "./SCheckbox-BMkOc5cn.js";
3
- import { i as o } from "./useFloatingOverlay-QcumEYEq.js";
4
- import { t as s } from "./SDropdown-LOTCtlCX.js";
3
+ import { a as o } from "./useFloatingOverlay-B1BvRxLz.js";
4
+ import { t as s } from "./SDropdown-CiXHI3g1.js";
5
5
  import { t as c } from "./SDropdownMenu-2koPU6IG.js";
6
6
  import { a as l, o as u, r as d } from "./treeKeyboardNavigation-SmxTdnDz.js";
7
7
  import { t as f } from "./SListItem-Chd81xY0.js";