@shtabapp/ui-kit 1.59.0 → 1.60.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 +12 -0
  2. package/dist/{SColorPicker-BFw8CCDr.cjs → SColorPicker-DZx0q55N.cjs} +1 -1
  3. package/dist/{SColorPicker-CTl7cSAO.js → SColorPicker-so_XNexn.js} +1 -1
  4. package/dist/SList-By6TzeID.js +580 -0
  5. package/dist/SList-a88nA5Qh.cjs +1 -0
  6. package/dist/SSegmentControl-Dh_HmD4Z.cjs +1 -0
  7. package/dist/SSegmentControl-hAAYltQR.js +202 -0
  8. package/dist/{SSelect-fLtErA7p.js → SSelect-BZFFs_lW.js} +1 -1
  9. package/dist/{SSelect-mFCdoFuO.cjs → SSelect-C48pqmeX.cjs} +1 -1
  10. package/dist/STabs-BUafXb2Q.js +150 -0
  11. package/dist/STabs-h8sm-3do.cjs +1 -0
  12. package/dist/components/SList/SList.vue.d.ts +3 -0
  13. package/dist/components/SList/SList.vue.d.ts.map +1 -1
  14. package/dist/components/SSegmentControl/utils/useSegmentIndicator.d.ts.map +1 -1
  15. package/dist/components/STabs/utils/useTabsIndicator.d.ts +1 -1
  16. package/dist/components/STabs/utils/useTabsIndicator.d.ts.map +1 -1
  17. package/dist/entries/color-picker.cjs +1 -1
  18. package/dist/entries/color-picker.js +1 -1
  19. package/dist/entries/list.cjs +1 -1
  20. package/dist/entries/list.js +1 -1
  21. package/dist/entries/segment-control.cjs +1 -1
  22. package/dist/entries/segment-control.js +1 -1
  23. package/dist/entries/select.cjs +1 -1
  24. package/dist/entries/select.js +1 -1
  25. package/dist/entries/tabs.cjs +1 -1
  26. package/dist/entries/tabs.js +1 -1
  27. package/dist/getIndicatorMetricsPercent-CFGy_nB8.cjs +1 -0
  28. package/dist/getIndicatorMetricsPercent-CWrH_ONg.js +19 -0
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.js +5 -5
  31. package/dist/uikit-components.css +1 -1
  32. package/dist/utils/getIndicatorMetricsPercent.d.ts +22 -0
  33. package/dist/utils/getIndicatorMetricsPercent.d.ts.map +1 -0
  34. package/package.json +1 -1
  35. package/dist/SList-D9SztBPD.cjs +0 -1
  36. package/dist/SList-DhjYsx7q.js +0 -548
  37. package/dist/SSegmentControl-CmJEjfSR.js +0 -212
  38. package/dist/SSegmentControl-Dz-d3Y9v.cjs +0 -1
  39. package/dist/STabs-CTM8Nji_.js +0 -164
  40. package/dist/STabs-DeHqnjNJ.cjs +0 -1
@@ -0,0 +1,202 @@
1
+ import { n as e } from "./SButton.types-CpdHQtyx.js";
2
+ import { i as t, n, o as r, r as i } from "./useSelectionGroup-cKj38lEN.js";
3
+ import { n as a, t as o } from "./useSelectLink-DClG5hGA.js";
4
+ import { n as s, r as c, t as l } from "./useLink-Com5VhOk.js";
5
+ import { n as u, t as d } from "./getIndicatorMetricsPercent-CWrH_ONg.js";
6
+ import { Fragment as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createVNode as v, defineComponent as y, inject as b, mergeModels as x, mergeProps as S, nextTick as C, normalizeClass as w, normalizeStyle as T, openBlock as E, provide as D, ref as O, renderList as k, resolveDynamicComponent as A, toDisplayString as j, toValue as M, unref as N, useModel as P, useTemplateRef as F, watch as I, withCtx as L } from "vue";
7
+ import { SIcon as R } from "@shtabapp/ui-kit-primitives";
8
+ import { useResizeObserver as z } from "@vueuse/core";
9
+ //#region src/components/SSegmentControl/utils/context.ts
10
+ var B = Symbol("SSegmentControl"), V = {
11
+ key: 0,
12
+ class: "s-ui-segment-control__icon",
13
+ "aria-hidden": "true"
14
+ }, H = /* @__PURE__ */ y({
15
+ __name: "SSegmentControlItem",
16
+ props: { item: {} },
17
+ setup(t) {
18
+ let n = b(B, null), r = {
19
+ [e.SMALL]: "s-ui-typography-label-12-medium",
20
+ [e.MEDIUM]: "s-ui-typography-label-14-medium",
21
+ [e.LARGE]: "s-ui-typography-label-16-medium"
22
+ }, i = {
23
+ [e.SMALL]: 16,
24
+ [e.MEDIUM]: 20,
25
+ [e.LARGE]: 24
26
+ }, u = p(() => n ? M(n.size) : e.MEDIUM), d = p(() => r[u.value]), f = p(() => i[u.value]), _ = F("itemRootRef"), y = l(() => t.item.link, () => t.item.exact, () => t.item.replace);
27
+ o({
28
+ isRouterLink: y.isRouterLink,
29
+ isActive: y.isActive,
30
+ group: () => n,
31
+ value: () => t.item.value
32
+ });
33
+ let x = p(() => !!(n && M(n.disabled)) || !!t.item.disabled), C = a({
34
+ group: () => n,
35
+ value: () => t.item.value,
36
+ el: _,
37
+ disabled: x
38
+ }), T = p(() => y.isRouterLink.value ? y.isActive.value : C.isActive.value), D = y.linkPresentation, O = p(() => {
39
+ let e = D.value;
40
+ return e.mode === "none" ? "button" : e.rootTag;
41
+ }), k = p(() => O.value === "button"), P = p(() => {
42
+ if (n) return M(n.name);
43
+ }), I = p(() => ({
44
+ "s-ui-segment-control__item--selected": T.value,
45
+ "s-ui-segment-control__item--icon-only": !!t.item.iconOnly,
46
+ "s-ui-segment-control__item--link": c(t.item.link)
47
+ })), z = p(() => ({
48
+ ...s(D.value, { replace: t.item.replace }),
49
+ disabled: k.value && x.value ? !0 : void 0,
50
+ "aria-disabled": !k.value && x.value ? !0 : void 0
51
+ })), H = p(() => x.value ? -1 : C.tabIndex.value ?? -1), U = (e) => {
52
+ if (!x.value) {
53
+ if (y.isRouterLink.value && (e.key === "Enter" || e.key === " " || e.key === "Spacebar")) {
54
+ e.preventDefault(), y.navigate();
55
+ return;
56
+ }
57
+ C.handleKeydown(e);
58
+ }
59
+ }, W = (e) => {
60
+ if (x.value) {
61
+ e.preventDefault(), e.stopPropagation();
62
+ return;
63
+ }
64
+ y.isRouterLink.value || C.handleClick();
65
+ };
66
+ return (e, n) => (E(), m(A(O.value), S({
67
+ ref_key: "itemRootRef",
68
+ ref: _,
69
+ role: "radio",
70
+ class: ["s-ui-segment-control__item", I.value],
71
+ type: k.value ? "button" : void 0
72
+ }, z.value, {
73
+ "aria-checked": T.value ? "true" : "false",
74
+ tabindex: H.value,
75
+ name: k.value ? P.value : void 0,
76
+ onClick: W,
77
+ onKeydown: U
78
+ }), {
79
+ default: L(() => [t.item.icon ? (E(), g("span", V, [v(N(R), {
80
+ name: t.item.icon,
81
+ size: f.value
82
+ }, null, 8, ["name", "size"])])) : h("", !0), t.item.label && !t.item.iconOnly ? (E(), g("span", {
83
+ key: 1,
84
+ class: w(["s-ui-segment-control__label", d.value])
85
+ }, j(t.item.label), 3)) : h("", !0)]),
86
+ _: 1
87
+ }, 16, [
88
+ "class",
89
+ "type",
90
+ "aria-checked",
91
+ "tabindex",
92
+ "name"
93
+ ]));
94
+ }
95
+ }), U = ".s-ui-segment-control__item", W = ({ trackEl: e, activeIndex: t, itemCount: n }) => {
96
+ let r = O(d()), i = () => {
97
+ let n = M(e), i = M(t);
98
+ if (!n || i < 0) {
99
+ r.value = d();
100
+ return;
101
+ }
102
+ let a = n.querySelectorAll(U).item(i);
103
+ if (!(a instanceof HTMLElement)) {
104
+ r.value = d();
105
+ return;
106
+ }
107
+ r.value = u(n, a);
108
+ };
109
+ return z(e, () => {
110
+ i();
111
+ }), I(() => [M(t), M(n)], async () => {
112
+ await C(), i();
113
+ }, { immediate: !0 }), {
114
+ indicatorStyle: p(() => {
115
+ let { left: e, top: t, width: n, height: i } = r.value;
116
+ return !n || !i ? { opacity: "0" } : {
117
+ opacity: "1",
118
+ left: `${e}%`,
119
+ top: `${t}%`,
120
+ width: `${n}%`,
121
+ height: `${i}%`
122
+ };
123
+ }),
124
+ updateMetrics: i
125
+ };
126
+ }, G = ["aria-disabled"], K = /* @__PURE__ */ y({
127
+ __name: "SSegmentControl",
128
+ props: /*@__PURE__*/ x({
129
+ items: {},
130
+ size: { default: () => e.MEDIUM },
131
+ disabled: {
132
+ type: Boolean,
133
+ default: !1
134
+ },
135
+ mandatory: {
136
+ type: Boolean,
137
+ default: !0
138
+ },
139
+ name: {}
140
+ }, {
141
+ modelValue: {},
142
+ modelModifiers: {}
143
+ }),
144
+ emits: /*@__PURE__*/ x(["change"], ["update:modelValue"]),
145
+ setup(e, { emit: a }) {
146
+ let o = P(e, "modelValue"), s = a, c = F("trackRef"), l = r({
147
+ modelValue: () => o.value,
148
+ onUpdateModelValue: (e) => {
149
+ t(e) && (o.value = e, s("change", e));
150
+ },
151
+ mode: n.SINGLE,
152
+ mandatory: () => e.mandatory,
153
+ orientation: i.HORIZONTAL,
154
+ loop: !0
155
+ });
156
+ D(B, {
157
+ mode: () => n.SINGLE,
158
+ isSelected: l.isSelected,
159
+ selectItem: l.select,
160
+ registerItem: l.registerItem,
161
+ getItemTabIndex: l.getItemTabIndex,
162
+ getGroupTabIndex: l.getGroupTabIndex,
163
+ handleItemKeydown: l.handleItemKeydown,
164
+ disabled: () => e.disabled,
165
+ name: () => e.name,
166
+ size: () => e.size
167
+ });
168
+ let { indicatorStyle: u } = W({
169
+ trackEl: () => c.value,
170
+ activeIndex: p(() => {
171
+ let t = e.items.findIndex((e) => l.isSelected(e.value));
172
+ return t >= 0 ? t : 0;
173
+ }),
174
+ itemCount: () => e.items.length
175
+ }), d = p(() => ({
176
+ [`s-ui-segment-control--size-${e.size}`]: !0,
177
+ "s-ui-segment-control--disabled": e.disabled
178
+ })), h = (e, t) => `${String(e.value)}-${t}`, v = () => {
179
+ if (o.value !== void 0 && o.value !== null) return;
180
+ let t = e.items.find((e) => !e.disabled);
181
+ t && (o.value = t.value);
182
+ };
183
+ return I(() => e.items, () => {
184
+ v();
185
+ }, { immediate: !0 }), (t, n) => (E(), g("div", S({
186
+ ref_key: "trackRef",
187
+ ref: c,
188
+ class: ["s-ui-segment-control", d.value],
189
+ role: "radiogroup",
190
+ "aria-disabled": e.disabled || void 0
191
+ }, t.$attrs), [_("span", {
192
+ class: "s-ui-segment-control__indicator",
193
+ style: T(N(u)),
194
+ "aria-hidden": "true"
195
+ }, null, 4), (E(!0), g(f, null, k(e.items, (e, t) => (E(), m(H, {
196
+ key: h(e, t),
197
+ item: e
198
+ }, null, 8, ["item"]))), 128))], 16, G));
199
+ }
200
+ });
201
+ //#endregion
202
+ export { K as t };
@@ -3,7 +3,7 @@ import { t as r } from "./SButton-DnU_XZ1C.js";
3
3
  import { n as i } from "./useSelectionGroup-cKj38lEN.js";
4
4
  import { t as a } from "./SDropdown-LOTCtlCX.js";
5
5
  import { n as o, t as s } from "./SInput-Csy2uch7.js";
6
- import { i as c, n as l, r as u, t as d } from "./SList-DhjYsx7q.js";
6
+ import { i as c, n as l, r as u, t as d } from "./SList-By6TzeID.js";
7
7
  import { t as f } from "./SListItem-BYMbFs2A.js";
8
8
  import { computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createSlots as v, createTextVNode as ee, createVNode as y, defineComponent as b, guardReactiveProps as x, isRef as te, mergeModels as S, mergeProps as C, nextTick as w, normalizeClass as T, normalizeProps as E, normalizeStyle as D, openBlock as O, ref as ne, renderSlot as k, toDisplayString as A, toValue as j, unref as M, useId as re, useModel as ie, useSlots as ae, useTemplateRef as N, vModelText as oe, watch as P, withCtx as F, withDirectives as se, withModifiers as ce } from "vue";
9
9
  import { SIcon as le, useUiKitI18n as ue } from "@shtabapp/ui-kit-primitives";
@@ -1 +1 @@
1
- const e=require("./SButton.types-UKroD-ev.cjs"),t=require("./SButton-C-z_q5CG.cjs"),n=require("./useSelectionGroup-TaektE-I.cjs"),r=require("./SDropdown-LNVnMol3.cjs"),i=require("./SInput-CRAegYKS.cjs"),a=require("./SList-D9SztBPD.cjs"),o=require("./SListItem-3IpjaE9h.cjs");let s=require("vue"),c=require("@shtabapp/ui-kit-primitives");var l={key:0,class:`s-ui-dropdown-menu__header`},u={key:1,class:`s-ui-dropdown-menu__footer`},d=(0,s.defineComponent)({__name:`SDropdownMenu`,props:{width:{},maxHeight:{},accent:{type:Boolean,default:!1}},setup(e){let t=(0,s.useSlots)(),n=e=>typeof e==`number`?`${e}px`:e,r=(0,s.computed)(()=>({"s-ui-dropdown-menu--accent":e.accent,"s-ui-dropdown-menu--bounded":!!e.maxHeight})),i=(0,s.computed)(()=>({"s-ui-dropdown-menu__body--scrollable":!!e.maxHeight})),a=(0,s.computed)(()=>({"--s-ui-dropdown-menu-width":n(e.width),"--s-ui-dropdown-menu-max-height":n(e.maxHeight)}));return(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)([`s-ui-dropdown-menu`,r.value]),style:(0,s.normalizeStyle)(a.value)},[(0,s.unref)(t).header?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,l,[(0,s.renderSlot)(e.$slots,`header`)])):(0,s.createCommentVNode)(``,!0),(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)([`s-ui-dropdown-menu__body`,i.value])},[(0,s.renderSlot)(e.$slots,`default`)],2),(0,s.unref)(t).footer?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,u,[(0,s.renderSlot)(e.$slots,`footer`)])):(0,s.createCommentVNode)(``,!0)],6))}}),f=({listItemScope:e,itemTitle:t,itemSubtitle:n,itemDisabled:r,itemIconLeft:i,listActiveKey:o,isOptionSelected:s})=>{let c=e.item;return{rowKey:e.key,title:a.i(c,t),subtitle:a.i(c,n),disabled:a.n(c,r),iconLeft:a.r(c,i),selected:s,active:o===e.key,revealRight:e.revealRight,tiny:!0}},p=e=>typeof e==`string`||typeof e==`number`,m=(e,t)=>{let n=e[t];if(p(n))return n},h=e=>typeof e==`string`?e:String(e),g=e=>e==null?!1:typeof e==`string`?e.length>0:!0,_=(e,t,n)=>t.find(t=>h(m(t,n)??``)===e),v=e=>typeof e==`object`&&!!e,y=(e,t,n)=>{let r=_(e,t,n);if(r)return m(r,n)},b=function(e){return e.INPUT=`input`,e.CONTENT=`content`,e}({}),x=(e,t,n)=>{if(!e)return!0;let r=e.toLocaleLowerCase(),i=a.i(t,n.itemTitle)?.toLocaleLowerCase()??``,o=h(m(t,n.itemValue)??``).toLocaleLowerCase();return i.includes(r)||o.includes(r)},S=(e,t,n,r)=>{let i=r??((e,t)=>x(e,t,n));return t?e.filter(e=>i(t,e)):[...e]},C=e=>typeof e==`string`&&g(e),w=e=>typeof e==`number`&&g(e),T=(e,t,n)=>{if(t){if(!v(e))return;let t=m(e,n);return C(t)||w(t)?t:void 0}let r=typeof e==`string`||typeof e==`number`?e:void 0;if(C(r)||w(r))return r},E=(e,t,n)=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let r=T(e,t,n);return g(r)?[r]:[]}):[],D=(e,t)=>{if(C(t)){e.value=t;return}if(w(t)){e.value=t;return}e.value=void 0},O=(e,t,n)=>t.flatMap(t=>{let r=h(t),i=e.find(e=>h(m(e,n)??``)===r);return i?[i]:[]}),k=({modelValue:e,options:t,itemFields:r,multiple:i,returnObject:o,searchable:c,filterOption:l,isDropdownOpen:u,searchQuery:d})=>{let f=(0,s.computed)(()=>(0,s.toValue)(i)),p=(0,s.computed)(()=>(0,s.toValue)(o)),v=(0,s.computed)(()=>(0,s.toValue)(c)===b.INPUT),x=(0,s.computed)(()=>(0,s.toValue)(c)===b.CONTENT),C=(0,s.computed)(()=>!!(0,s.toValue)(c)),w=(0,s.computed)(()=>{let t=(0,s.toValue)(r);return E(e.value,p.value,t.itemValue)}),T=(0,s.computed)(()=>{let e=(0,s.toValue)(t),n=(0,s.toValue)(r);return S(e,C.value?d.value:``,n,(0,s.toValue)(l))}),k=(0,s.computed)(()=>f.value?n.n.MULTIPLE:n.n.SINGLE),A=(t,n,r)=>{if(p.value){e.value=O(n,t,r);return}e.value=t},ee=(t,n,r)=>{if(!t){e.value=void 0;return}if(p.value){e.value=_(t,n,r)??void 0;return}D(e,y(t,n,r))},te=(0,s.computed)({get:()=>{if(f.value)return w.value.map(e=>h(e));let e=w.value[0];if(g(e))return h(e)},set:e=>{let n=(0,s.toValue)(t),i=(0,s.toValue)(r);if(f.value){A((Array.isArray(e)?e:[]).map(e=>y(e,n,i.itemValue)).filter(e=>g(e)),n,i.itemValue);return}ee(typeof e==`string`?e:void 0,n,i.itemValue)}}),ne=(0,s.computed)(()=>w.value.length>0),j=(e,t,n)=>{let r=h(t);return e.find(e=>h(m(e,n)??``)===r)},M=(0,s.computed)(()=>{let e=w.value[0];if(!g(e))return``;let n=(0,s.toValue)(r),i=j((0,s.toValue)(t),e,n.itemValue);return i?a.i(i,n.itemTitle)??``:h(e)}),N=(0,s.computed)(()=>{let e=(0,s.toValue)(t),n=(0,s.toValue)(r);return w.value.map(t=>{let r=j(e,t,n.itemValue);return r?a.i(r,n.itemTitle)??``:h(t)})}),re=(0,s.computed)(()=>N.value.join(`, `)),ie=(0,s.computed)(()=>f.value?w.value.length===0:!M.value),ae=(0,s.computed)(()=>v.value&&(u.value||f.value)),P=()=>{d.value=``};return(0,s.watch)(u,e=>{e||P()}),(0,s.watch)(()=>(0,s.toValue)(c),()=>{P()}),{searchQuery:d,selectedValues:w,filteredOptions:T,listSelectionMode:k,listSelectedModel:te,hasSelectedValues:ne,singleDisplayLabel:M,multipleDisplayLabels:N,multipleDisplayText:re,showPlaceholder:ie,showInputSearchField:ae,isSearchableMode:C,isSearchableInputMode:v,isSearchableContentMode:x,isMultipleMode:f,isReturnObjectMode:p,clearSelection:()=>{e.value=void 0,P()},removeSelectedValue:e=>{let n=h(e);A(w.value.filter(e=>h(e)!==n),(0,s.toValue)(t),(0,s.toValue)(r).itemValue)},resetSearchQuery:P,formatSelectListKey:h,resolveValueFromListKey:e=>y(e,(0,s.toValue)(t),(0,s.toValue)(r).itemValue)}},A={key:1,class:`s-ui-select__empty s-ui-typography-body-14-regular`},ee=[`id`,`aria-expanded`,`aria-controls`,`aria-disabled`,`aria-readonly`,`aria-autocomplete`,`tabindex`],te={key:0,class:`s-ui-select__value`},ne={key:1,class:`s-ui-select__placeholder`},j={key:1,class:`s-ui-select__placeholder`},M={key:2,class:`s-ui-select__value`},N={key:3,class:`s-ui-select__value-suffix`},re=[`name`,`placeholder`,`disabled`,`readonly`],ie=20,ae=`100%`,P=20,F=(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(n,{expose:l,emit:u}){let p=(0,s.useModel)(n,`modelValue`),m=(0,s.useModel)(n,`searchQuery`),h=u,{t:_}=(0,c.useUiKitI18n)(),v=(0,s.useSlots)(),y=(0,s.useId)(),b=(0,s.useId)(),x=(0,s.useTemplateRef)(`triggerInputRef`),S=(0,s.ref)(``),C=(0,s.useTemplateRef)(`searchInputElementRef`),w=(0,s.useTemplateRef)(`panelSearchInputElementRef`),T=(0,s.useTemplateRef)(`listElementRef`),E=(0,s.ref)(),D=(0,s.ref)(!1),O=(0,s.ref)(!1),F=(0,s.computed)(()=>n.panelWidth===void 0),oe=(0,s.computed)(()=>n.panelWidth??ae),I=(0,s.computed)(()=>n.itemId??n.itemValue),se=(0,s.computed)(()=>({itemValue:n.itemValue,itemTitle:n.itemTitle,itemSubtitle:n.itemSubtitle,itemId:I.value})),{selectedValues:L,filteredOptions:R,listSelectionMode:ce,listSelectedModel:z,hasSelectedValues:B,singleDisplayLabel:le,multipleDisplayLabels:ue,multipleDisplayText:V,showPlaceholder:H,showInputSearchField:U,isSearchableMode:de,isSearchableInputMode:W,isSearchableContentMode:G,isMultipleMode:K,clearSelection:fe,removeSelectedValue:q,resolveValueFromListKey:pe,formatSelectListKey:J}=k({modelValue:p,options:()=>n.options,itemFields:()=>se.value,multiple:()=>n.multiple,returnObject:()=>n.returnObject,searchable:()=>n.searchable,filterOption:()=>n.filterOption,isDropdownOpen:D,searchQuery:m}),me=(0,s.computed)(()=>({disabled:n.disabled,displayLabel:le.value})),Y=(0,s.computed)(()=>R.value.length>P),he=(0,s.computed)(()=>G.value||Y.value?n.listHeight:`auto`),ge=(0,s.computed)(()=>{if(!(G.value||Y.value))return n.listHeight}),_e=(0,s.computed)(()=>L.value.map(e=>J(e))),ve=e=>_e.value.includes(e),ye=()=>({tiny:!0}),be=e=>f({listItemScope:e,itemTitle:n.itemTitle,itemSubtitle:n.itemSubtitle,itemDisabled:n.itemDisabled,itemIconLeft:n.itemIconLeft,listActiveKey:E.value,isOptionSelected:ve(e.key)}),xe=e=>{let t=pe(e);if(g(t)){if(K.value){q(t);return}p.value=void 0}},Se=(0,s.computed)(()=>n.id??y),Ce=(0,s.computed)(()=>b),we=(0,s.computed)(()=>x.value?.fieldElementRef??null),Te=(0,s.computed)(()=>({labels:ue.value,values:L.value,displayText:V.value,disabled:n.disabled||n.readonly,removeValue:q})),Ee=(0,s.computed)(()=>{if(!n.disabled&&(n.readonly&&!W.value||!W.value))return 0}),De=(0,s.computed)(()=>({"s-ui-select--disabled":n.disabled,"s-ui-select--readonly":n.readonly,"s-ui-select--multiple":K.value,"s-ui-select--open":D.value})),Oe=()=>{if(G.value){w.value?.focus();return}C.value?.focus()},ke=async()=>{await(0,s.nextTick)(),w.value?.focus()},Ae=async()=>{await(0,s.nextTick)(),await T.value?.focusNavigation()},X=async()=>{if(!(n.disabled||n.readonly)&&!D.value){if(D.value=!0,h(`open`),G.value){await ke();return}if(W.value){await(0,s.nextTick)(),C.value?.focus();return}await Ae()}},je=async()=>{n.disabled||n.readonly||D.value||await X()};(0,s.watch)(m,async e=>{W.value&&(n.disabled||n.readonly||e&&(D.value||await X()))});let Z=()=>{D.value&&(D.value=!1,E.value=void 0,h(`close`))},Q=()=>{!n.closeOnSelect||K.value||Z()};(0,s.watch)(p,(e,t)=>{!n.closeOnSelect||K.value||!D.value||!e||e===t||Z()});let Me=e=>{D.value&&e.target instanceof Element&&e.target.closest(`.s-ui-list-item`)&&Q()},Ne=async e=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||D.value&&(await(0,s.nextTick)(),Q())},$=async()=>{if(D.value){Z();return}await X()},Pe=async e=>{if(!(n.disabled||n.readonly)&&e.target instanceof HTMLElement){if(e.target.closest(`.s-ui-select__search-input`)){D.value||await X();return}await $()}},Fe=async e=>e.key!==`ArrowDown`&&e.key!==`ArrowUp`?!1:(e.preventDefault(),e.stopPropagation(),D.value||await X(),await Ae(),await T.value?.handleKeyboardNavigation(e),!0),Ie=e=>{let t=pe(e);if(t){if(K.value){L.value.some(t=>J(t)===e)?q(t):z.value=[...L.value.map(e=>J(e)),e];return}z.value=e,Q()}},Le=async e=>{if(!(n.disabled||n.readonly)&&!await Fe(e)){if(e.key===`Escape`){e.preventDefault(),Z();return}if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),D.value&&E.value){Ie(E.value);return}await $()}}},Re=async e=>{if(e.key===`Escape`){e.preventDefault(),Z();return}await Fe(e)},ze=Re,Be=e=>{n.disabled||(O.value||h(`focus`,e),O.value=!0)},Ve=e=>{if(!(e.currentTarget instanceof HTMLElement))return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(O.value=!1,h(`blur`,e))},He=()=>{fe(),h(`clear`)},Ue=e=>{h(`endReached`,e)};return l({open:X,close:Z,toggle:$,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)(r.t),{modelValue:D.value,"onUpdate:modelValue":u[4]||=e=>D.value=e,reference:we.value,disabled:n.disabled,"match-reference-width":F.value,"fit-viewport":n.fitViewport,"surface-class":n.surfaceClass,"content-id":Ce.value,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{content:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(d),{class:`s-ui-select__menu`,width:oe.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)(a.t),{key:0,ref_key:`listElementRef`,ref:T,modelValue:E.value,"onUpdate:modelValue":u[2]||=e=>E.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":I.value,"title-key":n.itemTitle,"subtitle-key":n.itemSubtitle,"icon-left-key":n.itemIconLeft,"disabled-key":n.itemDisabled,"selection-mode":(0,s.unref)(ce),mandatory:!n.multiple,height:he.value,"max-height":ge.value,virtual:Y.value,"item-props":ye,"selected-on-top":(0,s.unref)(K),"can-load-more":n.canLoadMore,"end-reached-distance":n.endReachedDistance,onEndReached:Ue},(0,s.createSlots)({_:2},[(0,s.unref)(v).option||(0,s.unref)(v)[`option-icon`]||n.closableOptions||(0,s.unref)(K)?{name:`item`,fn:(0,s.withCtx)(r=>[(0,s.unref)(v).option?(0,s.renderSlot)(l.$slots,`option`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},r))):n.closableOptions?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.t),(0,s.normalizeProps)((0,s.mergeProps)({key:1},be(r))),(0,s.createSlots)({_:2},[(0,s.unref)(v)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(r)))]),key:`0`}:void 0,ve(r.key)?{name:`right`,fn:(0,s.withCtx)(n=>[(0,s.createVNode)((0,s.unref)(t.t),{appearance:(0,s.unref)(e.t).BARE,variant:(0,s.unref)(e.r).NEUTRAL,size:(0,s.unref)(e.n).SMALL,icon:`closeMini`,"aria-label":(0,s.unref)(_)(`select.removeOption`),disabled:n.disabled||n.readonly,tabindex:-1,onClick:(0,s.withModifiers)(e=>xe(r.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)(o.t),(0,s.normalizeProps)((0,s.mergeProps)({key:2},be(r))),(0,s.createSlots)({_:2},[(0,s.unref)(v)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(r)))]),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`,A,[(0,s.renderSlot)(l.$slots,`empty`,{},()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(_)(`select.noOptions`)),1)])]))],32)]),_:2},[(0,s.unref)(G)||(0,s.unref)(v)[`panel-header`]?{name:`header`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`panel-header`),(0,s.unref)(G)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(i.t),{key:0,ref_key:`panelSearchInputElementRef`,ref:w,modelValue:m.value,"onUpdate:modelValue":u[0]||=e=>m.value=e,placeholder:n.searchPlaceholder,disabled:n.disabled,clearable:!1,"icon-left":`search`,onClick:u[1]||=(0,s.withModifiers)(()=>{},[`stop`]),onKeydown:(0,s.unref)(ze)},null,8,[`modelValue`,`placeholder`,`disabled`,`onKeydown`])):(0,s.createCommentVNode)(``,!0)]),key:`0`}:void 0,(0,s.unref)(v)[`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:x,modelValue:S.value,"onUpdate:modelValue":u[7]||=e=>S.value=e,label:n.label,"label-props":n.labelProps,placeholder:n.placeholder,"help-messages":n.helpMessages,"error-messages":n.errorMessages,bordered:n.bordered,disabled:n.disabled,readonly:n.readonly,clearable:n.clearable,"has-value":(0,s.unref)(B),focused:O.value||D.value,"icon-left":n.iconLeft,customize:n.customize,name:n.name,id:Se.value,onClear:He,onFocus:Be,onBlur:Ve},(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)(K),"s-ui-select__control--empty":(0,s.unref)(K)&&!(0,s.unref)(B)&&!(0,s.unref)(U),"s-ui-select__control--with-value-suffix":(0,s.unref)(v)[`value-suffix`]&&!(0,s.unref)(K)&&!(0,s.unref)(U)&&!(0,s.unref)(H)}]),role:`combobox`,"aria-expanded":D.value,"aria-controls":Ce.value,"aria-haspopup":`listbox`,"aria-disabled":n.disabled?!0:void 0,"aria-readonly":n.readonly?!0:void 0,"aria-autocomplete":(0,s.unref)(de)?`list`:void 0,tabindex:Ee.value,onClick:Pe,onKeydown:Le},[(0,s.unref)(K)?(0,s.renderSlot)(l.$slots,`selection`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},Te.value)),()=>[(0,s.unref)(V)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,te,(0,s.toDisplayString)((0,s.unref)(V)),1)):(0,s.unref)(H)&&!(0,s.unref)(U)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ne,(0,s.toDisplayString)(n.placeholder),1)):(0,s.createCommentVNode)(``,!0)]):(0,s.unref)(H)&&!(0,s.unref)(U)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,j,(0,s.toDisplayString)(n.placeholder),1)):(0,s.unref)(U)?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createElementBlock)(`span`,M,(0,s.toDisplayString)((0,s.unref)(le)),1)),(0,s.unref)(v)[`value-suffix`]&&!(0,s.unref)(K)&&!(0,s.unref)(U)&&!(0,s.unref)(H)?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,N,[(0,s.renderSlot)(l.$slots,`value-suffix`,(0,s.normalizeProps)((0,s.guardReactiveProps)(me.value)))])):(0,s.createCommentVNode)(``,!0),(0,s.unref)(U)?(0,s.withDirectives)(((0,s.openBlock)(),(0,s.createElementBlock)(`input`,{key:4,ref_key:`searchInputElementRef`,ref:C,"onUpdate:modelValue":u[5]||=e=>m.value=e,class:`s-ui-select__search-input`,type:`text`,name:n.name,placeholder:n.placeholder,disabled:n.disabled,readonly:n.readonly,autocomplete:`off`,onClick:u[6]||=(0,s.withModifiers)(()=>{},[`stop`]),onFocus:je,onKeydown:Re},null,40,re)),[[s.vModelText,m.value]]):(0,s.createCommentVNode)(``,!0)],42,ee)]),action:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.SIcon),{name:`chevronMiniDown`,size:ie,class:`s-ui-select__chevron`})]),_:2},[(0,s.unref)(v).label?{name:`label`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`label`)]),key:`0`}:void 0,(0,s.unref)(v).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)(v).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)(v).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 b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return F}});
1
+ const e=require("./SButton.types-UKroD-ev.cjs"),t=require("./SButton-C-z_q5CG.cjs"),n=require("./useSelectionGroup-TaektE-I.cjs"),r=require("./SDropdown-LNVnMol3.cjs"),i=require("./SInput-CRAegYKS.cjs"),a=require("./SList-a88nA5Qh.cjs"),o=require("./SListItem-3IpjaE9h.cjs");let s=require("vue"),c=require("@shtabapp/ui-kit-primitives");var l={key:0,class:`s-ui-dropdown-menu__header`},u={key:1,class:`s-ui-dropdown-menu__footer`},d=(0,s.defineComponent)({__name:`SDropdownMenu`,props:{width:{},maxHeight:{},accent:{type:Boolean,default:!1}},setup(e){let t=(0,s.useSlots)(),n=e=>typeof e==`number`?`${e}px`:e,r=(0,s.computed)(()=>({"s-ui-dropdown-menu--accent":e.accent,"s-ui-dropdown-menu--bounded":!!e.maxHeight})),i=(0,s.computed)(()=>({"s-ui-dropdown-menu__body--scrollable":!!e.maxHeight})),a=(0,s.computed)(()=>({"--s-ui-dropdown-menu-width":n(e.width),"--s-ui-dropdown-menu-max-height":n(e.maxHeight)}));return(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{class:(0,s.normalizeClass)([`s-ui-dropdown-menu`,r.value]),style:(0,s.normalizeStyle)(a.value)},[(0,s.unref)(t).header?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,l,[(0,s.renderSlot)(e.$slots,`header`)])):(0,s.createCommentVNode)(``,!0),(0,s.createElementVNode)(`div`,{class:(0,s.normalizeClass)([`s-ui-dropdown-menu__body`,i.value])},[(0,s.renderSlot)(e.$slots,`default`)],2),(0,s.unref)(t).footer?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,u,[(0,s.renderSlot)(e.$slots,`footer`)])):(0,s.createCommentVNode)(``,!0)],6))}}),f=({listItemScope:e,itemTitle:t,itemSubtitle:n,itemDisabled:r,itemIconLeft:i,listActiveKey:o,isOptionSelected:s})=>{let c=e.item;return{rowKey:e.key,title:a.i(c,t),subtitle:a.i(c,n),disabled:a.n(c,r),iconLeft:a.r(c,i),selected:s,active:o===e.key,revealRight:e.revealRight,tiny:!0}},p=e=>typeof e==`string`||typeof e==`number`,m=(e,t)=>{let n=e[t];if(p(n))return n},h=e=>typeof e==`string`?e:String(e),g=e=>e==null?!1:typeof e==`string`?e.length>0:!0,_=(e,t,n)=>t.find(t=>h(m(t,n)??``)===e),v=e=>typeof e==`object`&&!!e,y=(e,t,n)=>{let r=_(e,t,n);if(r)return m(r,n)},b=function(e){return e.INPUT=`input`,e.CONTENT=`content`,e}({}),x=(e,t,n)=>{if(!e)return!0;let r=e.toLocaleLowerCase(),i=a.i(t,n.itemTitle)?.toLocaleLowerCase()??``,o=h(m(t,n.itemValue)??``).toLocaleLowerCase();return i.includes(r)||o.includes(r)},S=(e,t,n,r)=>{let i=r??((e,t)=>x(e,t,n));return t?e.filter(e=>i(t,e)):[...e]},C=e=>typeof e==`string`&&g(e),w=e=>typeof e==`number`&&g(e),T=(e,t,n)=>{if(t){if(!v(e))return;let t=m(e,n);return C(t)||w(t)?t:void 0}let r=typeof e==`string`||typeof e==`number`?e:void 0;if(C(r)||w(r))return r},E=(e,t,n)=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let r=T(e,t,n);return g(r)?[r]:[]}):[],D=(e,t)=>{if(C(t)){e.value=t;return}if(w(t)){e.value=t;return}e.value=void 0},O=(e,t,n)=>t.flatMap(t=>{let r=h(t),i=e.find(e=>h(m(e,n)??``)===r);return i?[i]:[]}),k=({modelValue:e,options:t,itemFields:r,multiple:i,returnObject:o,searchable:c,filterOption:l,isDropdownOpen:u,searchQuery:d})=>{let f=(0,s.computed)(()=>(0,s.toValue)(i)),p=(0,s.computed)(()=>(0,s.toValue)(o)),v=(0,s.computed)(()=>(0,s.toValue)(c)===b.INPUT),x=(0,s.computed)(()=>(0,s.toValue)(c)===b.CONTENT),C=(0,s.computed)(()=>!!(0,s.toValue)(c)),w=(0,s.computed)(()=>{let t=(0,s.toValue)(r);return E(e.value,p.value,t.itemValue)}),T=(0,s.computed)(()=>{let e=(0,s.toValue)(t),n=(0,s.toValue)(r);return S(e,C.value?d.value:``,n,(0,s.toValue)(l))}),k=(0,s.computed)(()=>f.value?n.n.MULTIPLE:n.n.SINGLE),A=(t,n,r)=>{if(p.value){e.value=O(n,t,r);return}e.value=t},ee=(t,n,r)=>{if(!t){e.value=void 0;return}if(p.value){e.value=_(t,n,r)??void 0;return}D(e,y(t,n,r))},te=(0,s.computed)({get:()=>{if(f.value)return w.value.map(e=>h(e));let e=w.value[0];if(g(e))return h(e)},set:e=>{let n=(0,s.toValue)(t),i=(0,s.toValue)(r);if(f.value){A((Array.isArray(e)?e:[]).map(e=>y(e,n,i.itemValue)).filter(e=>g(e)),n,i.itemValue);return}ee(typeof e==`string`?e:void 0,n,i.itemValue)}}),ne=(0,s.computed)(()=>w.value.length>0),j=(e,t,n)=>{let r=h(t);return e.find(e=>h(m(e,n)??``)===r)},M=(0,s.computed)(()=>{let e=w.value[0];if(!g(e))return``;let n=(0,s.toValue)(r),i=j((0,s.toValue)(t),e,n.itemValue);return i?a.i(i,n.itemTitle)??``:h(e)}),N=(0,s.computed)(()=>{let e=(0,s.toValue)(t),n=(0,s.toValue)(r);return w.value.map(t=>{let r=j(e,t,n.itemValue);return r?a.i(r,n.itemTitle)??``:h(t)})}),re=(0,s.computed)(()=>N.value.join(`, `)),ie=(0,s.computed)(()=>f.value?w.value.length===0:!M.value),ae=(0,s.computed)(()=>v.value&&(u.value||f.value)),P=()=>{d.value=``};return(0,s.watch)(u,e=>{e||P()}),(0,s.watch)(()=>(0,s.toValue)(c),()=>{P()}),{searchQuery:d,selectedValues:w,filteredOptions:T,listSelectionMode:k,listSelectedModel:te,hasSelectedValues:ne,singleDisplayLabel:M,multipleDisplayLabels:N,multipleDisplayText:re,showPlaceholder:ie,showInputSearchField:ae,isSearchableMode:C,isSearchableInputMode:v,isSearchableContentMode:x,isMultipleMode:f,isReturnObjectMode:p,clearSelection:()=>{e.value=void 0,P()},removeSelectedValue:e=>{let n=h(e);A(w.value.filter(e=>h(e)!==n),(0,s.toValue)(t),(0,s.toValue)(r).itemValue)},resetSearchQuery:P,formatSelectListKey:h,resolveValueFromListKey:e=>y(e,(0,s.toValue)(t),(0,s.toValue)(r).itemValue)}},A={key:1,class:`s-ui-select__empty s-ui-typography-body-14-regular`},ee=[`id`,`aria-expanded`,`aria-controls`,`aria-disabled`,`aria-readonly`,`aria-autocomplete`,`tabindex`],te={key:0,class:`s-ui-select__value`},ne={key:1,class:`s-ui-select__placeholder`},j={key:1,class:`s-ui-select__placeholder`},M={key:2,class:`s-ui-select__value`},N={key:3,class:`s-ui-select__value-suffix`},re=[`name`,`placeholder`,`disabled`,`readonly`],ie=20,ae=`100%`,P=20,F=(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(n,{expose:l,emit:u}){let p=(0,s.useModel)(n,`modelValue`),m=(0,s.useModel)(n,`searchQuery`),h=u,{t:_}=(0,c.useUiKitI18n)(),v=(0,s.useSlots)(),y=(0,s.useId)(),b=(0,s.useId)(),x=(0,s.useTemplateRef)(`triggerInputRef`),S=(0,s.ref)(``),C=(0,s.useTemplateRef)(`searchInputElementRef`),w=(0,s.useTemplateRef)(`panelSearchInputElementRef`),T=(0,s.useTemplateRef)(`listElementRef`),E=(0,s.ref)(),D=(0,s.ref)(!1),O=(0,s.ref)(!1),F=(0,s.computed)(()=>n.panelWidth===void 0),oe=(0,s.computed)(()=>n.panelWidth??ae),I=(0,s.computed)(()=>n.itemId??n.itemValue),se=(0,s.computed)(()=>({itemValue:n.itemValue,itemTitle:n.itemTitle,itemSubtitle:n.itemSubtitle,itemId:I.value})),{selectedValues:L,filteredOptions:R,listSelectionMode:ce,listSelectedModel:z,hasSelectedValues:B,singleDisplayLabel:le,multipleDisplayLabels:ue,multipleDisplayText:V,showPlaceholder:H,showInputSearchField:U,isSearchableMode:de,isSearchableInputMode:W,isSearchableContentMode:G,isMultipleMode:K,clearSelection:fe,removeSelectedValue:q,resolveValueFromListKey:pe,formatSelectListKey:J}=k({modelValue:p,options:()=>n.options,itemFields:()=>se.value,multiple:()=>n.multiple,returnObject:()=>n.returnObject,searchable:()=>n.searchable,filterOption:()=>n.filterOption,isDropdownOpen:D,searchQuery:m}),me=(0,s.computed)(()=>({disabled:n.disabled,displayLabel:le.value})),Y=(0,s.computed)(()=>R.value.length>P),he=(0,s.computed)(()=>G.value||Y.value?n.listHeight:`auto`),ge=(0,s.computed)(()=>{if(!(G.value||Y.value))return n.listHeight}),_e=(0,s.computed)(()=>L.value.map(e=>J(e))),ve=e=>_e.value.includes(e),ye=()=>({tiny:!0}),be=e=>f({listItemScope:e,itemTitle:n.itemTitle,itemSubtitle:n.itemSubtitle,itemDisabled:n.itemDisabled,itemIconLeft:n.itemIconLeft,listActiveKey:E.value,isOptionSelected:ve(e.key)}),xe=e=>{let t=pe(e);if(g(t)){if(K.value){q(t);return}p.value=void 0}},Se=(0,s.computed)(()=>n.id??y),Ce=(0,s.computed)(()=>b),we=(0,s.computed)(()=>x.value?.fieldElementRef??null),Te=(0,s.computed)(()=>({labels:ue.value,values:L.value,displayText:V.value,disabled:n.disabled||n.readonly,removeValue:q})),Ee=(0,s.computed)(()=>{if(!n.disabled&&(n.readonly&&!W.value||!W.value))return 0}),De=(0,s.computed)(()=>({"s-ui-select--disabled":n.disabled,"s-ui-select--readonly":n.readonly,"s-ui-select--multiple":K.value,"s-ui-select--open":D.value})),Oe=()=>{if(G.value){w.value?.focus();return}C.value?.focus()},ke=async()=>{await(0,s.nextTick)(),w.value?.focus()},Ae=async()=>{await(0,s.nextTick)(),await T.value?.focusNavigation()},X=async()=>{if(!(n.disabled||n.readonly)&&!D.value){if(D.value=!0,h(`open`),G.value){await ke();return}if(W.value){await(0,s.nextTick)(),C.value?.focus();return}await Ae()}},je=async()=>{n.disabled||n.readonly||D.value||await X()};(0,s.watch)(m,async e=>{W.value&&(n.disabled||n.readonly||e&&(D.value||await X()))});let Z=()=>{D.value&&(D.value=!1,E.value=void 0,h(`close`))},Q=()=>{!n.closeOnSelect||K.value||Z()};(0,s.watch)(p,(e,t)=>{!n.closeOnSelect||K.value||!D.value||!e||e===t||Z()});let Me=e=>{D.value&&e.target instanceof Element&&e.target.closest(`.s-ui-list-item`)&&Q()},Ne=async e=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||D.value&&(await(0,s.nextTick)(),Q())},$=async()=>{if(D.value){Z();return}await X()},Pe=async e=>{if(!(n.disabled||n.readonly)&&e.target instanceof HTMLElement){if(e.target.closest(`.s-ui-select__search-input`)){D.value||await X();return}await $()}},Fe=async e=>e.key!==`ArrowDown`&&e.key!==`ArrowUp`?!1:(e.preventDefault(),e.stopPropagation(),D.value||await X(),await Ae(),await T.value?.handleKeyboardNavigation(e),!0),Ie=e=>{let t=pe(e);if(t){if(K.value){L.value.some(t=>J(t)===e)?q(t):z.value=[...L.value.map(e=>J(e)),e];return}z.value=e,Q()}},Le=async e=>{if(!(n.disabled||n.readonly)&&!await Fe(e)){if(e.key===`Escape`){e.preventDefault(),Z();return}if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),D.value&&E.value){Ie(E.value);return}await $()}}},Re=async e=>{if(e.key===`Escape`){e.preventDefault(),Z();return}await Fe(e)},ze=Re,Be=e=>{n.disabled||(O.value||h(`focus`,e),O.value=!0)},Ve=e=>{if(!(e.currentTarget instanceof HTMLElement))return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(O.value=!1,h(`blur`,e))},He=()=>{fe(),h(`clear`)},Ue=e=>{h(`endReached`,e)};return l({open:X,close:Z,toggle:$,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)(r.t),{modelValue:D.value,"onUpdate:modelValue":u[4]||=e=>D.value=e,reference:we.value,disabled:n.disabled,"match-reference-width":F.value,"fit-viewport":n.fitViewport,"surface-class":n.surfaceClass,"content-id":Ce.value,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{content:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(d),{class:`s-ui-select__menu`,width:oe.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)(a.t),{key:0,ref_key:`listElementRef`,ref:T,modelValue:E.value,"onUpdate:modelValue":u[2]||=e=>E.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":I.value,"title-key":n.itemTitle,"subtitle-key":n.itemSubtitle,"icon-left-key":n.itemIconLeft,"disabled-key":n.itemDisabled,"selection-mode":(0,s.unref)(ce),mandatory:!n.multiple,height:he.value,"max-height":ge.value,virtual:Y.value,"item-props":ye,"selected-on-top":(0,s.unref)(K),"can-load-more":n.canLoadMore,"end-reached-distance":n.endReachedDistance,onEndReached:Ue},(0,s.createSlots)({_:2},[(0,s.unref)(v).option||(0,s.unref)(v)[`option-icon`]||n.closableOptions||(0,s.unref)(K)?{name:`item`,fn:(0,s.withCtx)(r=>[(0,s.unref)(v).option?(0,s.renderSlot)(l.$slots,`option`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},r))):n.closableOptions?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(o.t),(0,s.normalizeProps)((0,s.mergeProps)({key:1},be(r))),(0,s.createSlots)({_:2},[(0,s.unref)(v)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(r)))]),key:`0`}:void 0,ve(r.key)?{name:`right`,fn:(0,s.withCtx)(n=>[(0,s.createVNode)((0,s.unref)(t.t),{appearance:(0,s.unref)(e.t).BARE,variant:(0,s.unref)(e.r).NEUTRAL,size:(0,s.unref)(e.n).SMALL,icon:`closeMini`,"aria-label":(0,s.unref)(_)(`select.removeOption`),disabled:n.disabled||n.readonly,tabindex:-1,onClick:(0,s.withModifiers)(e=>xe(r.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)(o.t),(0,s.normalizeProps)((0,s.mergeProps)({key:2},be(r))),(0,s.createSlots)({_:2},[(0,s.unref)(v)[`option-icon`]?{name:`icon-left`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`option-icon`,(0,s.normalizeProps)((0,s.guardReactiveProps)(r)))]),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`,A,[(0,s.renderSlot)(l.$slots,`empty`,{},()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(_)(`select.noOptions`)),1)])]))],32)]),_:2},[(0,s.unref)(G)||(0,s.unref)(v)[`panel-header`]?{name:`header`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`panel-header`),(0,s.unref)(G)?((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(i.t),{key:0,ref_key:`panelSearchInputElementRef`,ref:w,modelValue:m.value,"onUpdate:modelValue":u[0]||=e=>m.value=e,placeholder:n.searchPlaceholder,disabled:n.disabled,clearable:!1,"icon-left":`search`,onClick:u[1]||=(0,s.withModifiers)(()=>{},[`stop`]),onKeydown:(0,s.unref)(ze)},null,8,[`modelValue`,`placeholder`,`disabled`,`onKeydown`])):(0,s.createCommentVNode)(``,!0)]),key:`0`}:void 0,(0,s.unref)(v)[`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:x,modelValue:S.value,"onUpdate:modelValue":u[7]||=e=>S.value=e,label:n.label,"label-props":n.labelProps,placeholder:n.placeholder,"help-messages":n.helpMessages,"error-messages":n.errorMessages,bordered:n.bordered,disabled:n.disabled,readonly:n.readonly,clearable:n.clearable,"has-value":(0,s.unref)(B),focused:O.value||D.value,"icon-left":n.iconLeft,customize:n.customize,name:n.name,id:Se.value,onClear:He,onFocus:Be,onBlur:Ve},(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)(K),"s-ui-select__control--empty":(0,s.unref)(K)&&!(0,s.unref)(B)&&!(0,s.unref)(U),"s-ui-select__control--with-value-suffix":(0,s.unref)(v)[`value-suffix`]&&!(0,s.unref)(K)&&!(0,s.unref)(U)&&!(0,s.unref)(H)}]),role:`combobox`,"aria-expanded":D.value,"aria-controls":Ce.value,"aria-haspopup":`listbox`,"aria-disabled":n.disabled?!0:void 0,"aria-readonly":n.readonly?!0:void 0,"aria-autocomplete":(0,s.unref)(de)?`list`:void 0,tabindex:Ee.value,onClick:Pe,onKeydown:Le},[(0,s.unref)(K)?(0,s.renderSlot)(l.$slots,`selection`,(0,s.normalizeProps)((0,s.mergeProps)({key:0},Te.value)),()=>[(0,s.unref)(V)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,te,(0,s.toDisplayString)((0,s.unref)(V)),1)):(0,s.unref)(H)&&!(0,s.unref)(U)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ne,(0,s.toDisplayString)(n.placeholder),1)):(0,s.createCommentVNode)(``,!0)]):(0,s.unref)(H)&&!(0,s.unref)(U)?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,j,(0,s.toDisplayString)(n.placeholder),1)):(0,s.unref)(U)?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createElementBlock)(`span`,M,(0,s.toDisplayString)((0,s.unref)(le)),1)),(0,s.unref)(v)[`value-suffix`]&&!(0,s.unref)(K)&&!(0,s.unref)(U)&&!(0,s.unref)(H)?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,N,[(0,s.renderSlot)(l.$slots,`value-suffix`,(0,s.normalizeProps)((0,s.guardReactiveProps)(me.value)))])):(0,s.createCommentVNode)(``,!0),(0,s.unref)(U)?(0,s.withDirectives)(((0,s.openBlock)(),(0,s.createElementBlock)(`input`,{key:4,ref_key:`searchInputElementRef`,ref:C,"onUpdate:modelValue":u[5]||=e=>m.value=e,class:`s-ui-select__search-input`,type:`text`,name:n.name,placeholder:n.placeholder,disabled:n.disabled,readonly:n.readonly,autocomplete:`off`,onClick:u[6]||=(0,s.withModifiers)(()=>{},[`stop`]),onFocus:je,onKeydown:Re},null,40,re)),[[s.vModelText,m.value]]):(0,s.createCommentVNode)(``,!0)],42,ee)]),action:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(c.SIcon),{name:`chevronMiniDown`,size:ie,class:`s-ui-select__chevron`})]),_:2},[(0,s.unref)(v).label?{name:`label`,fn:(0,s.withCtx)(()=>[(0,s.renderSlot)(l.$slots,`label`)]),key:`0`}:void 0,(0,s.unref)(v).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)(v).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)(v).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 b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return F}});
@@ -0,0 +1,150 @@
1
+ import { n as e, r as t, t as n } from "./SButton.types-CpdHQtyx.js";
2
+ import { t as r } from "./SButton-DnU_XZ1C.js";
3
+ import { i, n as a, o, r as s } from "./useSelectionGroup-cKj38lEN.js";
4
+ import { n as c, t as l } from "./getIndicatorMetricsPercent-CWrH_ONg.js";
5
+ import { i as u, n as d, r as f } from "./STab-DY1TGadw.js";
6
+ import { computed as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createVNode as _, defineComponent as v, mergeModels as y, nextTick as b, normalizeClass as x, normalizeStyle as S, openBlock as C, provide as w, ref as T, renderSlot as E, toValue as D, unref as O, useModel as k, useTemplateRef as A, watch as j } from "vue";
7
+ import { useResizeObserver as M, useScroll as N } from "@vueuse/core";
8
+ //#region src/components/STabs/utils/useTabsIndicator.ts
9
+ var P = ".s-ui-tab[aria-selected=\"true\"]", F = () => ({
10
+ ...l(),
11
+ isBilling: !1
12
+ }), I = ({ trackEl: e, selectedValue: t, enabled: n }) => {
13
+ let r = T(F()), i = () => {
14
+ if (!D(n)) {
15
+ r.value = F();
16
+ return;
17
+ }
18
+ let t = D(e);
19
+ if (!t) {
20
+ r.value = F();
21
+ return;
22
+ }
23
+ let i = t.querySelector(P);
24
+ if (!(i instanceof HTMLElement)) {
25
+ r.value = F();
26
+ return;
27
+ }
28
+ r.value = {
29
+ ...c(t, i),
30
+ isBilling: i.classList.contains("s-ui-tab--billing")
31
+ };
32
+ };
33
+ return M(e, () => {
34
+ i();
35
+ }), j(() => D(t), async () => {
36
+ await b(), i();
37
+ }, { immediate: !0 }), {
38
+ indicatorStyle: p(() => {
39
+ let { left: e, width: t } = r.value;
40
+ return t ? {
41
+ opacity: "1",
42
+ left: `${e}%`,
43
+ width: `${t}%`
44
+ } : { opacity: "0" };
45
+ }),
46
+ indicatorIsBilling: p(() => r.value.isBilling)
47
+ };
48
+ }, L = ["aria-disabled"], R = { class: "s-ui-tabs__body" }, z = /* @__PURE__ */ v({
49
+ __name: "STabs",
50
+ props: /*@__PURE__*/ y({
51
+ appearance: { default: () => d.PRIMARY },
52
+ size: { default: () => f.LARGE },
53
+ disabled: {
54
+ type: Boolean,
55
+ default: !1
56
+ },
57
+ mandatory: {
58
+ type: Boolean,
59
+ default: !0
60
+ },
61
+ addable: {
62
+ type: Boolean,
63
+ default: !1
64
+ },
65
+ loop: {
66
+ type: Boolean,
67
+ default: !0
68
+ }
69
+ }, {
70
+ modelValue: {},
71
+ modelModifiers: {}
72
+ }),
73
+ emits: /*@__PURE__*/ y(["add"], ["update:modelValue"]),
74
+ setup(c, { emit: l }) {
75
+ let f = k(c, "modelValue"), v = l, y = A("tabsBodyRef"), b = A("tabsTrackRef"), { arrivedState: T } = N(y, {
76
+ throttle: 100,
77
+ offset: { right: 1 }
78
+ }), D = o({
79
+ modelValue: () => f.value,
80
+ onUpdateModelValue: (e) => {
81
+ i(e) && (f.value = e);
82
+ },
83
+ mode: a.SINGLE,
84
+ mandatory: () => c.mandatory,
85
+ orientation: s.HORIZONTAL,
86
+ loop: () => c.loop
87
+ });
88
+ w(u, {
89
+ mode: () => a.SINGLE,
90
+ isSelected: D.isSelected,
91
+ selectItem: D.toggle,
92
+ registerItem: D.registerItem,
93
+ getItemTabIndex: D.getItemTabIndex,
94
+ getGroupTabIndex: D.getGroupTabIndex,
95
+ handleItemKeydown: D.handleItemKeydown,
96
+ appearance: () => c.appearance,
97
+ size: () => c.size,
98
+ disabled: () => c.disabled
99
+ });
100
+ let j = p(() => c.appearance === d.PRIMARY), { indicatorStyle: M, indicatorIsBilling: P } = I({
101
+ trackEl: () => b.value,
102
+ selectedValue: () => f.value,
103
+ enabled: j
104
+ }), F = p(() => c.addable && !T.right), z = p(() => [
105
+ `s-ui-tabs--appearance-${c.appearance}`,
106
+ `s-ui-tabs--size-${c.size}`,
107
+ c.addable ? "s-ui-tabs--addable" : void 0
108
+ ]), B = () => {
109
+ c.disabled || v("add");
110
+ };
111
+ return (i, a) => (C(), h("div", {
112
+ class: x(["s-ui-tabs", z.value]),
113
+ role: "tablist",
114
+ "aria-orientation": "horizontal",
115
+ "aria-disabled": c.disabled ? !0 : void 0
116
+ }, [g("div", R, [g("div", {
117
+ ref_key: "tabsBodyRef",
118
+ ref: y,
119
+ class: "s-ui-tabs__scroll"
120
+ }, [g("div", {
121
+ ref_key: "tabsTrackRef",
122
+ ref: b,
123
+ class: "s-ui-tabs__track"
124
+ }, [j.value ? (C(), h("span", {
125
+ key: 0,
126
+ class: x(["s-ui-tabs__indicator", { "s-ui-tabs__indicator--billing": O(P) }]),
127
+ style: S(O(M)),
128
+ "aria-hidden": "true"
129
+ }, null, 6)) : m("", !0), E(i.$slots, "default")], 512)], 512), c.addable ? (C(), h("span", {
130
+ key: 0,
131
+ class: x(["s-ui-tabs__fade", { "s-ui-tabs__fade--visible": F.value }]),
132
+ "aria-hidden": "true"
133
+ }, null, 2)) : m("", !0)]), c.addable ? E(i.$slots, "add", { key: 0 }, () => [_(O(r), {
134
+ class: "s-ui-tabs__add",
135
+ icon: "plus",
136
+ appearance: O(n).BARE,
137
+ variant: O(t).NEUTRAL,
138
+ size: O(e).SMALL,
139
+ disabled: c.disabled,
140
+ onClick: B
141
+ }, null, 8, [
142
+ "appearance",
143
+ "variant",
144
+ "size",
145
+ "disabled"
146
+ ])]) : m("", !0)], 10, L));
147
+ }
148
+ });
149
+ //#endregion
150
+ export { z as t };
@@ -0,0 +1 @@
1
+ const e=require("./SButton.types-UKroD-ev.cjs"),t=require("./SButton-C-z_q5CG.cjs"),n=require("./useSelectionGroup-TaektE-I.cjs"),r=require("./getIndicatorMetricsPercent-CFGy_nB8.cjs"),i=require("./STab-BbzowB-Y.cjs");let a=require("vue"),o=require("@vueuse/core");var s=`.s-ui-tab[aria-selected="true"]`,c=()=>({...r.t(),isBilling:!1}),l=({trackEl:e,selectedValue:t,enabled:n})=>{let i=(0,a.ref)(c()),l=()=>{if(!(0,a.toValue)(n)){i.value=c();return}let t=(0,a.toValue)(e);if(!t){i.value=c();return}let o=t.querySelector(s);if(!(o instanceof HTMLElement)){i.value=c();return}i.value={...r.n(t,o),isBilling:o.classList.contains(`s-ui-tab--billing`)}};return(0,o.useResizeObserver)(e,()=>{l()}),(0,a.watch)(()=>(0,a.toValue)(t),async()=>{await(0,a.nextTick)(),l()},{immediate:!0}),{indicatorStyle:(0,a.computed)(()=>{let{left:e,width:t}=i.value;return t?{opacity:`1`,left:`${e}%`,width:`${t}%`}:{opacity:`0`}}),indicatorIsBilling:(0,a.computed)(()=>i.value.isBilling)}},u=[`aria-disabled`],d={class:`s-ui-tabs__body`},f=(0,a.defineComponent)({__name:`STabs`,props:(0,a.mergeModels)({appearance:{default:()=>i.n.PRIMARY},size:{default:()=>i.r.LARGE},disabled:{type:Boolean,default:!1},mandatory:{type:Boolean,default:!0},addable:{type:Boolean,default:!1},loop:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:(0,a.mergeModels)([`add`],[`update:modelValue`]),setup(r,{emit:s}){let c=(0,a.useModel)(r,`modelValue`),f=s,p=(0,a.useTemplateRef)(`tabsBodyRef`),m=(0,a.useTemplateRef)(`tabsTrackRef`),{arrivedState:h}=(0,o.useScroll)(p,{throttle:100,offset:{right:1}}),g=n.o({modelValue:()=>c.value,onUpdateModelValue:e=>{n.i(e)&&(c.value=e)},mode:n.n.SINGLE,mandatory:()=>r.mandatory,orientation:n.r.HORIZONTAL,loop:()=>r.loop});(0,a.provide)(i.i,{mode:()=>n.n.SINGLE,isSelected:g.isSelected,selectItem:g.toggle,registerItem:g.registerItem,getItemTabIndex:g.getItemTabIndex,getGroupTabIndex:g.getGroupTabIndex,handleItemKeydown:g.handleItemKeydown,appearance:()=>r.appearance,size:()=>r.size,disabled:()=>r.disabled});let _=(0,a.computed)(()=>r.appearance===i.n.PRIMARY),{indicatorStyle:v,indicatorIsBilling:y}=l({trackEl:()=>m.value,selectedValue:()=>c.value,enabled:_}),b=(0,a.computed)(()=>r.addable&&!h.right),x=(0,a.computed)(()=>[`s-ui-tabs--appearance-${r.appearance}`,`s-ui-tabs--size-${r.size}`,r.addable?`s-ui-tabs--addable`:void 0]),S=()=>{r.disabled||f(`add`)};return(n,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`s-ui-tabs`,x.value]),role:`tablist`,"aria-orientation":`horizontal`,"aria-disabled":r.disabled?!0:void 0},[(0,a.createElementVNode)(`div`,d,[(0,a.createElementVNode)(`div`,{ref_key:`tabsBodyRef`,ref:p,class:`s-ui-tabs__scroll`},[(0,a.createElementVNode)(`div`,{ref_key:`tabsTrackRef`,ref:m,class:`s-ui-tabs__track`},[_.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,{key:0,class:(0,a.normalizeClass)([`s-ui-tabs__indicator`,{"s-ui-tabs__indicator--billing":(0,a.unref)(y)}]),style:(0,a.normalizeStyle)((0,a.unref)(v)),"aria-hidden":`true`},null,6)):(0,a.createCommentVNode)(``,!0),(0,a.renderSlot)(n.$slots,`default`)],512)],512),r.addable?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,{key:0,class:(0,a.normalizeClass)([`s-ui-tabs__fade`,{"s-ui-tabs__fade--visible":b.value}]),"aria-hidden":`true`},null,2)):(0,a.createCommentVNode)(``,!0)]),r.addable?(0,a.renderSlot)(n.$slots,`add`,{key:0},()=>[(0,a.createVNode)((0,a.unref)(t.t),{class:`s-ui-tabs__add`,icon:`plus`,appearance:(0,a.unref)(e.t).BARE,variant:(0,a.unref)(e.r).NEUTRAL,size:(0,a.unref)(e.n).SMALL,disabled:r.disabled,onClick:S},null,8,[`appearance`,`variant`,`size`,`disabled`])]):(0,a.createCommentVNode)(``,!0)],10,u))}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
@@ -25,6 +25,9 @@ declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props:
25
25
  attrs: any;
26
26
  slots: {
27
27
  item?: (slotProps: TSListItemSlotScope<TItem>) => unknown;
28
+ itemIconLeft?: (slotProps: TSListItemSlotScope<TItem>) => unknown;
29
+ itemTitle?: (slotProps: TSListItemSlotScope<TItem>) => unknown;
30
+ itemSubtitle?: (slotProps: TSListItemSlotScope<TItem>) => unknown;
28
31
  loadMore?: (slotProps: TSListLoadMoreSlotScope<TItem>) => unknown;
29
32
  default?: () => unknown;
30
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SList/SList.vue"],"names":[],"mappings":"AA8zBA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAiB9F,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WA+8BO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;qBA/S3C,MAAM,GAAG,SAAS;mBAClB,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;mBAC7B,MAAM,EAAE;;;;;uBA7nBO,QAAQ;;;iBAEC,MAAM;kBAAQ,KAAK;;;KAw6BmC,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,OAAO,KAAK,EAAE,gBAAgB;;0CA/kBF,aAAa;MA+kBW,KAAK,IAAI;WACxE,GAAG;;eAr6BF,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;mBAC9C,CAAC,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,KAAK,OAAO;kBACvD,MAAM,OAAO;;UAq6BlB;mBA96BqB,QAAQ;;aAEC,MAAM;cAAQ,KAAK;2NA46Bb;EAEvC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"SList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SList/SList.vue"],"names":[],"mappings":"AAw1BA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAiB9F,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAshCO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;qBAnX3C,MAAM,GAAG,SAAS;mBAClB,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;mBAC7B,MAAM,EAAE;;;;;uBAhoBO,QAAQ;;;iBAEC,MAAM;kBAAQ,KAAK;;;KA++BmC,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,OAAO,KAAK,EAAE,gBAAgB;;0CAnpBF,aAAa;MAmpBW,KAAK,IAAI;WACxE,GAAG;;eA5+BF,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;uBAC1C,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;oBACrD,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;uBAC/C,CAAC,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;mBACtD,CAAC,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,KAAK,OAAO;kBACvD,MAAM,OAAO;;UAy+BlB;mBAr/BqB,QAAQ;;aAEC,MAAM;cAAQ,KAAK;2NAm/Bb;EAEvC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSegmentIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/SSegmentControl/utils/useSegmentIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAY1E,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7C,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACrC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;CACpC;AASD,eAAO,MAAM,mBAAmB,GAAI,sCAIjC,2BAA2B;;;;;;;;;;;;;;;CAiE7B,CAAA"}
1
+ {"version":3,"file":"useSegmentIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/SSegmentControl/utils/useSegmentIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAWpF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7C,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACrC,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;CACpC;AAED,eAAO,MAAM,mBAAmB,GAAI,sCAIjC,2BAA2B;;;;;;;;;;;;;;;CA0D7B,CAAA"}
@@ -8,7 +8,7 @@ export interface IUseTabsIndicatorReturn {
8
8
  indicatorStyle: ComputedRef<{
9
9
  opacity: string;
10
10
  width?: string;
11
- transform?: string;
11
+ left?: string;
12
12
  }>;
13
13
  indicatorIsBilling: ComputedRef<boolean>;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTabsIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/STabs/utils/useTabsIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAA;AAWZ,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7C,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpF,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACzC;AAED,eAAO,MAAM,gBAAgB,GAAI,sCAI9B,wBAAwB,KAAG,uBAsE7B,CAAA"}
1
+ {"version":3,"file":"useTabsIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/STabs/utils/useTabsIndicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAA;AAeZ,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7C,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/E,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CACzC;AAOD,eAAO,MAAM,gBAAgB,GAAI,sCAI9B,wBAAwB,KAAG,uBA8D7B,CAAA"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SColorPicker-BFw8CCDr.cjs"),t=require("../SColorPalette-CqfVzhda.cjs"),n=require("../colorValue-Dda7fKd3.cjs");exports.EColorFormat=t.o,exports.MAX_RECENT_COLORS=e.i,exports.RECOMMENDED_COLOR_PALETTE=t.r,exports.SColorArea=e.r,exports.SColorPicker=e.t,exports.SColorValues=e.n,exports.isSameColor=n.r,exports.resolveColorPreview=n.a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SColorPicker-DZx0q55N.cjs"),t=require("../SColorPalette-CqfVzhda.cjs"),n=require("../colorValue-Dda7fKd3.cjs");exports.EColorFormat=t.o,exports.MAX_RECENT_COLORS=e.i,exports.RECOMMENDED_COLOR_PALETTE=t.r,exports.SColorArea=e.r,exports.SColorPicker=e.t,exports.SColorValues=e.n,exports.isSameColor=n.r,exports.resolveColorPreview=n.a;
@@ -1,4 +1,4 @@
1
- import { i as e, n as t, r as n, t as r } from "../SColorPicker-CTl7cSAO.js";
1
+ import { i as e, n as t, r as n, t as r } from "../SColorPicker-so_XNexn.js";
2
2
  import { o as i, r as a } from "../SColorPalette-D2WCADDX.js";
3
3
  import { a as o, r as s } from "../colorValue-CSh0chxp.js";
4
4
  export { i as EColorFormat, e as MAX_RECENT_COLORS, a as RECOMMENDED_COLOR_PALETTE, n as SColorArea, r as SColorPicker, t as SColorValues, s as isSameColor, o as resolveColorPreview };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SList-D9SztBPD.cjs");exports.ESListGap=e.a,exports.SList=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SList-a88nA5Qh.cjs");exports.ESListGap=e.a,exports.SList=e.t;
@@ -1,2 +1,2 @@
1
- import { a as e, t } from "../SList-DhjYsx7q.js";
1
+ import { a as e, t } from "../SList-By6TzeID.js";
2
2
  export { e as ESListGap, t as SList };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SButton.types-UKroD-ev.cjs"),t=require("../SSegmentControl-Dz-d3Y9v.cjs");exports.ESSegmentControlSize=e.n,exports.SSegmentControl=t.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SButton.types-UKroD-ev.cjs"),t=require("../SSegmentControl-Dh_HmD4Z.cjs");exports.ESSegmentControlSize=e.n,exports.SSegmentControl=t.t;
@@ -1,3 +1,3 @@
1
1
  import { n as e } from "../SButton.types-CpdHQtyx.js";
2
- import { t } from "../SSegmentControl-CmJEjfSR.js";
2
+ import { t } from "../SSegmentControl-hAAYltQR.js";
3
3
  export { e as ESSegmentControlSize, t as SSegmentControl };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SSelect-mFCdoFuO.cjs");exports.ESSelectSearchable=e.n,exports.SSelect=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../SSelect-C48pqmeX.cjs");exports.ESSelectSearchable=e.n,exports.SSelect=e.t;
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../SSelect-fLtErA7p.js";
1
+ import { n as e, t } from "../SSelect-BZFFs_lW.js";
2
2
  export { e as ESSelectSearchable, t as SSelect };
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../STab-BbzowB-Y.cjs"),t=require("../STabs-DeHqnjNJ.cjs");exports.ESTabAppearance=e.n,exports.ESTabSize=e.r,exports.STab=e.t,exports.STabs=t.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../STab-BbzowB-Y.cjs"),t=require("../STabs-h8sm-3do.cjs");exports.ESTabAppearance=e.n,exports.ESTabSize=e.r,exports.STab=e.t,exports.STabs=t.t;
@@ -1,3 +1,3 @@
1
1
  import { n as e, r as t, t as n } from "../STab-DY1TGadw.js";
2
- import { t as r } from "../STabs-CTM8Nji_.js";
2
+ import { t as r } from "../STabs-BUafXb2Q.js";
3
3
  export { e as ESTabAppearance, t as ESTabSize, n as STab, r as STabs };
@@ -0,0 +1 @@
1
+ var e=()=>({left:0,top:0,width:0,height:0}),t=(t,n)=>{let r=t.getBoundingClientRect();if(!r.width||!r.height)return e();let i=n.getBoundingClientRect();return{left:(i.left-r.left)/r.width*100,top:(i.top-r.top)/r.height*100,width:i.width/r.width*100,height:i.height/r.height*100}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
@@ -0,0 +1,19 @@
1
+ //#region src/utils/getIndicatorMetricsPercent.ts
2
+ var e = () => ({
3
+ left: 0,
4
+ top: 0,
5
+ width: 0,
6
+ height: 0
7
+ }), t = (t, n) => {
8
+ let r = t.getBoundingClientRect();
9
+ if (!r.width || !r.height) return e();
10
+ let i = n.getBoundingClientRect();
11
+ return {
12
+ left: (i.left - r.left) / r.width * 100,
13
+ top: (i.top - r.top) / r.height * 100,
14
+ width: i.width / r.width * 100,
15
+ height: i.height / r.height * 100
16
+ };
17
+ };
18
+ //#endregion
19
+ export { t as n, e as t };