@shtabapp/ui-kit 1.79.0 → 1.80.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 (96) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/{SAvatar-hWbsODUa.js → SAvatar-6uaisUHm.js} +23 -21
  3. package/dist/{SAvatar-ClmtSIFg.cjs → SAvatar-BQNqFdkk.cjs} +1 -1
  4. package/dist/{SAvatarGroup-By8oMNTe.cjs → SAvatarGroup-D27squmU.cjs} +1 -1
  5. package/dist/{SAvatarGroup-CSSCQKdH.js → SAvatarGroup-DnVhY7I1.js} +1 -1
  6. package/dist/SBadge-Dn87LB9z.cjs +1 -0
  7. package/dist/{SBadge-BDxQJh6c.js → SBadge-Du9iIiXS.js} +4 -2
  8. package/dist/{SButton-BxsPvcET.cjs → SButton-B3o80WMR.cjs} +1 -1
  9. package/dist/{SButton-B21hubD2.js → SButton-D-dmK8Cm.js} +1 -1
  10. package/dist/{SChip-suCSzJ9O.js → SChip-C6Z1VRf9.js} +1 -1
  11. package/dist/{SChip-no4cGQNB.cjs → SChip-Cr6wNKd7.cjs} +1 -1
  12. package/dist/{SColorPicker-DHjY2NVd.cjs → SColorPicker--sBL2SBq.cjs} +1 -1
  13. package/dist/{SColorPicker-C5pA54Q3.js → SColorPicker-D2072gdX.js} +3 -3
  14. package/dist/SDropdown-B_nsm3Jf.cjs +1 -0
  15. package/dist/SDropdown-aWjZrahp.js +541 -0
  16. package/dist/{SInput-DRV4XHWh.js → SInput-D2pCcaym.js} +1 -1
  17. package/dist/{SInput-Doale-L0.cjs → SInput-DG9R9tJC.cjs} +1 -1
  18. package/dist/{SList-DuSCQL0t.js → SList-DKstFJu1.js} +1 -1
  19. package/dist/{SList-B98BGyt8.cjs → SList-_VnusDWn.cjs} +1 -1
  20. package/dist/SListItem-B7RIawMl.cjs +1 -0
  21. package/dist/SListItem-Bw0OXPVk.js +231 -0
  22. package/dist/{SPhotoEdit-D3a1Ptp0.cjs → SPhotoEdit-C1K1n0ti.cjs} +1 -1
  23. package/dist/{SPhotoEdit-CuVHNypX.js → SPhotoEdit-eKRRevtl.js} +1 -1
  24. package/dist/SSelect-91iBEAHR.cjs +1 -0
  25. package/dist/{SSelect-BU4eSrVf.js → SSelect-CKw3a1AD.js} +238 -230
  26. package/dist/STable-CdMVPiYt.cjs +1 -0
  27. package/dist/{STable-BTKXjbrB.js → STable-Dbr1oX01.js} +1032 -1002
  28. package/dist/{STabs-B07Q6QYO.js → STabs-DhwF2GvF.js} +1 -1
  29. package/dist/{STabs-JtF4ca3o.cjs → STabs-yf2Mtaji.cjs} +1 -1
  30. package/dist/{STag-BKLs0RRY.js → STag-BCGC8smg.js} +1 -1
  31. package/dist/{STag-Btut_n-4.cjs → STag-DBerzc3o.cjs} +1 -1
  32. package/dist/{STagGroup-CNZVwrG2.js → STagGroup-B2FeOTSD.js} +1 -1
  33. package/dist/{STagGroup-Ddeb_8Ot.cjs → STagGroup-GecKyBlJ.cjs} +1 -1
  34. package/dist/components/SAvatar/SAvatar.vue.d.ts.map +1 -1
  35. package/dist/components/SBadge/SBadge.vue.d.ts.map +1 -1
  36. package/dist/components/SDropdown/SDropdown.types.d.ts +16 -1
  37. package/dist/components/SDropdown/SDropdown.types.d.ts.map +1 -1
  38. package/dist/components/SDropdown/SDropdown.vue.d.ts +2 -2
  39. package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
  40. package/dist/components/SDropdown/utils/dropdownFocusables.d.ts +9 -0
  41. package/dist/components/SDropdown/utils/dropdownFocusables.d.ts.map +1 -0
  42. package/dist/components/SDropdown/utils/useDropdownFocus.d.ts +31 -0
  43. package/dist/components/SDropdown/utils/useDropdownFocus.d.ts.map +1 -0
  44. package/dist/components/SListItem/SListItem.types.d.ts +5 -3
  45. package/dist/components/SListItem/SListItem.types.d.ts.map +1 -1
  46. package/dist/components/SListItem/SListItem.vue.d.ts.map +1 -1
  47. package/dist/components/SSelect/SSelect.vue.d.ts.map +1 -1
  48. package/dist/components/STable/STable.vue.d.ts.map +1 -1
  49. package/dist/components/STable/utils/useTableGridFocus.d.ts +5 -2
  50. package/dist/components/STable/utils/useTableGridFocus.d.ts.map +1 -1
  51. package/dist/components/STable/utils/useTableGridKeyboard.d.ts.map +1 -1
  52. package/dist/components/SToastProvider/SToastProvider.vue.d.ts +1 -1
  53. package/dist/components/SToastProvider/SToastProvider.vue.d.ts.map +1 -1
  54. package/dist/entries/avatar-group.cjs +1 -1
  55. package/dist/entries/avatar-group.js +1 -1
  56. package/dist/entries/avatar.cjs +1 -1
  57. package/dist/entries/avatar.js +1 -1
  58. package/dist/entries/badge.cjs +1 -1
  59. package/dist/entries/badge.js +1 -1
  60. package/dist/entries/button.cjs +1 -1
  61. package/dist/entries/button.js +1 -1
  62. package/dist/entries/chip.cjs +1 -1
  63. package/dist/entries/chip.js +1 -1
  64. package/dist/entries/color-picker.cjs +1 -1
  65. package/dist/entries/color-picker.js +1 -1
  66. package/dist/entries/dropdown.cjs +1 -1
  67. package/dist/entries/dropdown.js +1 -1
  68. package/dist/entries/input.cjs +1 -1
  69. package/dist/entries/input.js +1 -1
  70. package/dist/entries/list-item.cjs +1 -1
  71. package/dist/entries/list-item.js +1 -1
  72. package/dist/entries/list.cjs +1 -1
  73. package/dist/entries/list.js +1 -1
  74. package/dist/entries/photo-edit.cjs +1 -1
  75. package/dist/entries/photo-edit.js +1 -1
  76. package/dist/entries/select.cjs +1 -1
  77. package/dist/entries/select.js +1 -1
  78. package/dist/entries/table.cjs +1 -1
  79. package/dist/entries/table.js +1 -1
  80. package/dist/entries/tabs.cjs +1 -1
  81. package/dist/entries/tabs.js +1 -1
  82. package/dist/entries/tag-group.cjs +1 -1
  83. package/dist/entries/tag-group.js +2 -2
  84. package/dist/entries/tag.cjs +1 -1
  85. package/dist/entries/tag.js +1 -1
  86. package/dist/index.cjs +1 -1
  87. package/dist/index.js +447 -423
  88. package/dist/uikit-components.css +1 -1
  89. package/package.json +3 -3
  90. package/dist/SBadge-d1GOPFP-.cjs +0 -1
  91. package/dist/SDropdown-CPfoNHbg.cjs +0 -1
  92. package/dist/SDropdown-DvPW3_WP.js +0 -400
  93. package/dist/SListItem-B3MQgu4Q.js +0 -227
  94. package/dist/SListItem-CZtR8bgI.cjs +0 -1
  95. package/dist/SSelect-CPQIcGhK.cjs +0 -1
  96. package/dist/STable-RmVTPyg2.cjs +0 -1
@@ -0,0 +1 @@
1
+ const e=require("./SButton-B3o80WMR.cjs"),t=require("./useSelectLink-DZIAhQ2J.cjs");let n=require("vue"),r=require("@shtabapp/ui-kit-primitives");var i=Symbol(`sListInjectionKey`),a=function(e){return e.NEUTRAL=`neutral`,e.SECONDARY=`secondary`,e.MAIN=`main`,e.ERROR=`error`,e.BILLING=`billing`,e}({}),o=function(e){return e.OPTION=`option`,e.TREEITEM=`treeitem`,e.MENUITEM=`menuitem`,e.MENUITEMCHECKBOX=`menuitemcheckbox`,e.MENUITEMRADIO=`menuitemradio`,e.BUTTON=`button`,e.LINK=`link`,e.NONE=`none`,e}({}),s=new Set([o.OPTION,o.TREEITEM]),c=new Set([o.MENUITEMCHECKBOX,o.MENUITEMRADIO]),l=new Set([o.TREEITEM,o.MENUITEM,o.BUTTON,o.LINK]),u=({role:e,selected:t})=>({"aria-selected":s.has(e)&&t?!0:void 0,"aria-checked":c.has(e)?t:void 0}),d=({role:e,expandable:t,expanded:n,loading:r,depth:i})=>({"aria-expanded":l.has(e)&&t&&!r?n:void 0,"aria-level":e===o.TREEITEM?i+1:void 0}),f=({disabled:e,readonly:t,loading:n})=>({"aria-disabled":e||t||n?!0:void 0,"aria-busy":n?!0:void 0}),p=e=>e.role===o.NONE?{role:e.role}:{role:e.role,...u(e),...d(e),...f(e)},m=[`id`,`tabindex`],h={key:0,class:`s-ui-list-item__level`},g={class:`s-ui-list-item__body`},_={key:0,class:`s-ui-list-item__icon-left`},v={class:`s-ui-list-item__text`},y={key:0,class:`s-ui-list-item__title s-ui-typography-label-14-medium`},b={key:1,class:`s-ui-list-item__subtitle s-ui-typography-body-12-regular`},x={key:1,class:`s-ui-list-item__title-action`},S={key:1,class:`s-ui-list-item__actions`},C={class:`s-ui-list-item__actions-reveal`},w={class:`s-ui-list-item__actions-inner`},T={key:0,class:`s-ui-list-item__trailing`},E={key:1,class:`s-ui-list-item__action-end`},D=`.s-ui-list-item__expand, .s-ui-list-item__title-action, .s-ui-list-item__actions`,O=16,k=`a, button, input, select, textarea, [role="button"], [role="link"], [contenteditable="true"]`,A=(0,n.defineComponent)({__name:`SListItem`,props:{depth:{default:0},hasLevel:{type:Boolean,default:!1},expandable:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1},variant:{default:()=>a.NEUTRAL},tiny:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},flush:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},title:{},subtitle:{},iconLeft:{},iconLeftSize:{},rowKey:{},revealRight:{type:Boolean},expandOnClick:{type:Boolean},role:{}},emits:[`click`,`toggleExpand`,`keydown`],setup(s,{expose:c,emit:l}){let u=l,d=(0,n.computed)(()=>({disabled:s.disabled,readonly:s.readonly})),f=(0,n.useSlots)(),A=(0,n.useTemplateRef)(`listItemElementRef`),j=(0,n.inject)(i,null),{t:M}=(0,r.useUiKitI18n)(),N=t.n({group:()=>j,value:()=>s.rowKey,el:()=>A.value,disabled:()=>s.disabled||s.loading,interactive:()=>!s.readonly&&!s.loading}),P=(0,n.computed)(()=>s.variant===a.BILLING&&!s.disabled),F=[`Enter`,` `,`Spacebar`],I=(0,n.computed)(()=>j&&s.rowKey?j.isExpanded(s.rowKey):s.expanded),L=(0,n.computed)(()=>I.value?M(`listItem.collapse`):M(`listItem.expand`)),R=(0,n.computed)(()=>N.isInGroup.value?N.isActive.value:s.selected),ee=(0,n.computed)(()=>j&&s.rowKey?j.activeKey()===s.rowKey:s.active),z=(0,n.computed)(()=>s.revealRight?!0:j?j.revealRight():!1),B=(0,n.computed)(()=>s.expandOnClick?!0:j?j.expandOnClick():!1),V=(0,n.computed)(()=>{if(!(!j||!s.rowKey))return j.getItemOptionId(s.rowKey)}),H=(0,n.shallowRef)(!1);(0,n.onMounted)(()=>{H.value=!!A.value?.parentElement?.closest(`[role="menu"]`)});let U=(0,n.computed)(()=>s.role?s.role:j?j.itemRole():H.value?o.MENUITEM:o.BUTTON),W=(0,n.computed)(()=>p({role:U.value,selected:R.value,expandable:s.expandable,expanded:I.value,disabled:s.disabled,readonly:s.readonly,loading:s.loading,depth:s.depth})),G=(0,n.computed)(()=>{if(j?.usesActiveDescendantNavigation())return-1;if(!(s.disabled||s.readonly||s.loading||U.value===o.NONE))return N.tabIndex.value===void 0?0:N.tabIndex.value}),K=(0,n.computed)(()=>({"--s-ui-list-item-depth":String(s.depth),"--s-ui-list-item-icon-size":s.iconLeftSize===void 0?void 0:`${s.iconLeftSize}px`})),q=(0,n.computed)(()=>[`s-ui-list-item--variant-${s.variant}`,{"s-ui-list-item--tiny":s.tiny,"s-ui-list-item--compact":s.compact,"s-ui-list-item--flush":s.flush,"s-ui-list-item--selected":R.value,"s-ui-list-item--active":ee.value,"s-ui-list-item--disabled":s.disabled,"s-ui-list-item--readonly":s.readonly,"s-ui-list-item--loading":s.loading,"s-ui-list-item--expandable":s.expandable,"s-ui-list-item--reveal-right":z.value}]),J=()=>{if(j&&s.rowKey){j.toggleExpanded(s.rowKey);return}u(`toggleExpand`)},Y=()=>{s.disabled||s.readonly||s.loading||J()},X=e=>e.target instanceof Element&&!!e.target.closest(D)&&!!e.target.closest(k),Z=e=>{s.disabled||s.readonly||s.loading||X(e)||(s.expandable&&B.value&&(j&&s.rowKey?j.toggleExpanded(s.rowKey):u(`toggleExpand`)),j&&s.rowKey&&j.setActiveKey(s.rowKey),N.isInGroup.value&&N.handleClick(),u(`click`,e))},Q=e=>!s.expandable||j?.handlesTreeKeyboardNavigation()||e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||e.key===`ArrowRight`===I.value?!1:(e.preventDefault(),J(),!0),$=e=>j||N.isInGroup.value||!F.includes(e.key)||e.target!==A.value?!1:(e.preventDefault(),A.value?.click(),!0),te=e=>{s.disabled||s.readonly||s.loading||(!Q(e)&&!$(e)&&N.isInGroup.value&&N.handleKeydown(e),u(`keydown`,e))};return c({listItemElementRef:A}),(t,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,(0,n.mergeProps)({ref_key:`listItemElementRef`,ref:A,id:V.value,class:[`s-ui-list-item`,q.value],style:K.value,tabindex:G.value},W.value,{onClick:Z,onKeydown:te}),[s.loading?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.SSkeleton),{key:0,type:(0,n.unref)(r.ESSkeletonType).S_LIST_ITEM},null,8,[`type`])):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[s.expandable||s.depth||s.hasLevel||(0,n.unref)(f).level?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,h,[(0,n.renderSlot)(t.$slots,`level`,{},()=>[s.expandable?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(e.t),{key:0,class:(0,n.normalizeClass)([`s-ui-list-item__expand`,{"s-ui-list-item__expand--expanded":I.value}]),appearance:(0,n.unref)(e.n).BARE,variant:(0,n.unref)(e.i).NEUTRAL,size:(0,n.unref)(e.r).SMALL,icon:`chevronMiniRight`,disabled:s.disabled||s.readonly,tabindex:-1,"aria-label":L.value,onClick:(0,n.withModifiers)(Y,[`stop`])},null,8,[`class`,`appearance`,`variant`,`size`,`disabled`,`aria-label`])):(0,n.createCommentVNode)(``,!0)])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,g,[s.iconLeft||(0,n.unref)(f)[`icon-left`]?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,_,[(0,n.renderSlot)(t.$slots,`icon-left`,{},()=>[s.iconLeft?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.SIcon),{key:0,name:s.iconLeft,size:s.iconLeftSize??O,billing:P.value},null,8,[`name`,`size`,`billing`])):(0,n.createCommentVNode)(``,!0)])])):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,v,[s.title||(0,n.unref)(f).title?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,y,[(0,n.renderSlot)(t.$slots,`title`,{},()=>[(0,n.createTextVNode)((0,n.toDisplayString)(s.title),1)])])):(0,n.createCommentVNode)(``,!0),s.subtitle||(0,n.unref)(f).subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,b,[(0,n.renderSlot)(t.$slots,`subtitle`,{},()=>[(0,n.createTextVNode)((0,n.toDisplayString)(s.subtitle),1)])])):(0,n.createCommentVNode)(``,!0)]),(0,n.unref)(f)[`title-action`]?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,x,[(0,n.renderSlot)(t.$slots,`title-action`,(0,n.normalizeProps)((0,n.guardReactiveProps)(d.value)))])):(0,n.createCommentVNode)(``,!0)]),(0,n.unref)(f).trailing||(0,n.unref)(f).right||(0,n.unref)(f)[`action-end`]?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,S,[(0,n.createElementVNode)(`div`,C,[(0,n.createElementVNode)(`div`,w,[(0,n.unref)(f).trailing?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,T,[(0,n.renderSlot)(t.$slots,`trailing`,(0,n.normalizeProps)((0,n.guardReactiveProps)(d.value)))])):(0,n.createCommentVNode)(``,!0),(0,n.renderSlot)(t.$slots,`right`,(0,n.normalizeProps)((0,n.guardReactiveProps)(d.value))),(0,n.unref)(f)[`action-end`]?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,E,[(0,n.renderSlot)(t.$slots,`action-end`,(0,n.normalizeProps)((0,n.guardReactiveProps)(d.value)))])):(0,n.createCommentVNode)(``,!0)])])])):(0,n.createCommentVNode)(``,!0)],64))],16,m))}});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return A}});
@@ -0,0 +1,231 @@
1
+ import { i as e, n as t, r as n, t as r } from "./SButton-D-dmK8Cm.js";
2
+ import { n as i } from "./useSelectLink-2aCIYmF6.js";
3
+ import { Fragment as ee, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, defineComponent as d, guardReactiveProps as f, inject as te, mergeProps as ne, normalizeClass as re, normalizeProps as p, onMounted as ie, openBlock as m, renderSlot as h, shallowRef as ae, toDisplayString as g, unref as _, useSlots as v, useTemplateRef as y, withModifiers as b } from "vue";
4
+ import { ESSkeletonType as oe, SIcon as se, SSkeleton as ce, useUiKitI18n as le } from "@shtabapp/ui-kit-primitives";
5
+ //#region src/components/SList/utils/context.ts
6
+ var x = Symbol("sListInjectionKey"), S = /* @__PURE__ */ function(e) {
7
+ return e.NEUTRAL = "neutral", e.SECONDARY = "secondary", e.MAIN = "main", e.ERROR = "error", e.BILLING = "billing", e;
8
+ }({}), C = /* @__PURE__ */ function(e) {
9
+ return e.OPTION = "option", e.TREEITEM = "treeitem", e.MENUITEM = "menuitem", e.MENUITEMCHECKBOX = "menuitemcheckbox", e.MENUITEMRADIO = "menuitemradio", e.BUTTON = "button", e.LINK = "link", e.NONE = "none", e;
10
+ }({}), w = new Set([C.OPTION, C.TREEITEM]), T = new Set([C.MENUITEMCHECKBOX, C.MENUITEMRADIO]), E = new Set([
11
+ C.TREEITEM,
12
+ C.MENUITEM,
13
+ C.BUTTON,
14
+ C.LINK
15
+ ]), D = ({ role: e, selected: t }) => ({
16
+ "aria-selected": w.has(e) && t ? !0 : void 0,
17
+ "aria-checked": T.has(e) ? t : void 0
18
+ }), O = ({ role: e, expandable: t, expanded: n, loading: r, depth: i }) => ({
19
+ "aria-expanded": E.has(e) && t && !r ? n : void 0,
20
+ "aria-level": e === C.TREEITEM ? i + 1 : void 0
21
+ }), k = ({ disabled: e, readonly: t, loading: n }) => ({
22
+ "aria-disabled": e || t || n ? !0 : void 0,
23
+ "aria-busy": n ? !0 : void 0
24
+ }), A = (e) => e.role === C.NONE ? { role: e.role } : {
25
+ role: e.role,
26
+ ...D(e),
27
+ ...O(e),
28
+ ...k(e)
29
+ }, j = ["id", "tabindex"], M = {
30
+ key: 0,
31
+ class: "s-ui-list-item__level"
32
+ }, N = { class: "s-ui-list-item__body" }, P = {
33
+ key: 0,
34
+ class: "s-ui-list-item__icon-left"
35
+ }, F = { class: "s-ui-list-item__text" }, I = {
36
+ key: 0,
37
+ class: "s-ui-list-item__title s-ui-typography-label-14-medium"
38
+ }, L = {
39
+ key: 1,
40
+ class: "s-ui-list-item__subtitle s-ui-typography-body-12-regular"
41
+ }, R = {
42
+ key: 1,
43
+ class: "s-ui-list-item__title-action"
44
+ }, z = {
45
+ key: 1,
46
+ class: "s-ui-list-item__actions"
47
+ }, B = { class: "s-ui-list-item__actions-reveal" }, V = { class: "s-ui-list-item__actions-inner" }, H = {
48
+ key: 0,
49
+ class: "s-ui-list-item__trailing"
50
+ }, U = {
51
+ key: 1,
52
+ class: "s-ui-list-item__action-end"
53
+ }, W = ".s-ui-list-item__expand, .s-ui-list-item__title-action, .s-ui-list-item__actions", ue = 16, de = "a, button, input, select, textarea, [role=\"button\"], [role=\"link\"], [contenteditable=\"true\"]", G = /* @__PURE__ */ d({
54
+ __name: "SListItem",
55
+ props: {
56
+ depth: { default: 0 },
57
+ hasLevel: {
58
+ type: Boolean,
59
+ default: !1
60
+ },
61
+ expandable: {
62
+ type: Boolean,
63
+ default: !1
64
+ },
65
+ expanded: {
66
+ type: Boolean,
67
+ default: !1
68
+ },
69
+ variant: { default: () => S.NEUTRAL },
70
+ tiny: {
71
+ type: Boolean,
72
+ default: !1
73
+ },
74
+ compact: {
75
+ type: Boolean,
76
+ default: !1
77
+ },
78
+ flush: {
79
+ type: Boolean,
80
+ default: !1
81
+ },
82
+ selected: {
83
+ type: Boolean,
84
+ default: !1
85
+ },
86
+ active: {
87
+ type: Boolean,
88
+ default: !1
89
+ },
90
+ disabled: {
91
+ type: Boolean,
92
+ default: !1
93
+ },
94
+ readonly: {
95
+ type: Boolean,
96
+ default: !1
97
+ },
98
+ loading: {
99
+ type: Boolean,
100
+ default: !1
101
+ },
102
+ title: {},
103
+ subtitle: {},
104
+ iconLeft: {},
105
+ iconLeftSize: {},
106
+ rowKey: {},
107
+ revealRight: { type: Boolean },
108
+ expandOnClick: { type: Boolean },
109
+ role: {}
110
+ },
111
+ emits: [
112
+ "click",
113
+ "toggleExpand",
114
+ "keydown"
115
+ ],
116
+ setup(d, { expose: w, emit: T }) {
117
+ let E = T, D = a(() => ({
118
+ disabled: d.disabled,
119
+ readonly: d.readonly
120
+ })), O = v(), k = y("listItemElementRef"), G = te(x, null), { t: K } = le(), q = i({
121
+ group: () => G,
122
+ value: () => d.rowKey,
123
+ el: () => k.value,
124
+ disabled: () => d.disabled || d.loading,
125
+ interactive: () => !d.readonly && !d.loading
126
+ }), fe = a(() => d.variant === S.BILLING && !d.disabled), pe = [
127
+ "Enter",
128
+ " ",
129
+ "Spacebar"
130
+ ], J = a(() => G && d.rowKey ? G.isExpanded(d.rowKey) : d.expanded), me = a(() => J.value ? K("listItem.collapse") : K("listItem.expand")), Y = a(() => q.isInGroup.value ? q.isActive.value : d.selected), he = a(() => G && d.rowKey ? G.activeKey() === d.rowKey : d.active), ge = a(() => d.revealRight ? !0 : G ? G.revealRight() : !1), _e = a(() => d.expandOnClick ? !0 : G ? G.expandOnClick() : !1), ve = a(() => {
131
+ if (!(!G || !d.rowKey)) return G.getItemOptionId(d.rowKey);
132
+ }), X = ae(!1);
133
+ ie(() => {
134
+ X.value = !!k.value?.parentElement?.closest("[role=\"menu\"]");
135
+ });
136
+ let Z = a(() => d.role ? d.role : G ? G.itemRole() : X.value ? C.MENUITEM : C.BUTTON), ye = a(() => A({
137
+ role: Z.value,
138
+ selected: Y.value,
139
+ expandable: d.expandable,
140
+ expanded: J.value,
141
+ disabled: d.disabled,
142
+ readonly: d.readonly,
143
+ loading: d.loading,
144
+ depth: d.depth
145
+ })), be = a(() => {
146
+ if (G?.usesActiveDescendantNavigation()) return -1;
147
+ if (!(d.disabled || d.readonly || d.loading || Z.value === C.NONE)) return q.tabIndex.value === void 0 ? 0 : q.tabIndex.value;
148
+ }), xe = a(() => ({
149
+ "--s-ui-list-item-depth": String(d.depth),
150
+ "--s-ui-list-item-icon-size": d.iconLeftSize === void 0 ? void 0 : `${d.iconLeftSize}px`
151
+ })), Se = a(() => [`s-ui-list-item--variant-${d.variant}`, {
152
+ "s-ui-list-item--tiny": d.tiny,
153
+ "s-ui-list-item--compact": d.compact,
154
+ "s-ui-list-item--flush": d.flush,
155
+ "s-ui-list-item--selected": Y.value,
156
+ "s-ui-list-item--active": he.value,
157
+ "s-ui-list-item--disabled": d.disabled,
158
+ "s-ui-list-item--readonly": d.readonly,
159
+ "s-ui-list-item--loading": d.loading,
160
+ "s-ui-list-item--expandable": d.expandable,
161
+ "s-ui-list-item--reveal-right": ge.value
162
+ }]), Q = () => {
163
+ if (G && d.rowKey) {
164
+ G.toggleExpanded(d.rowKey);
165
+ return;
166
+ }
167
+ E("toggleExpand");
168
+ }, Ce = () => {
169
+ d.disabled || d.readonly || d.loading || Q();
170
+ }, $ = (e) => e.target instanceof Element && !!e.target.closest(W) && !!e.target.closest(de), we = (e) => {
171
+ d.disabled || d.readonly || d.loading || $(e) || (d.expandable && _e.value && (G && d.rowKey ? G.toggleExpanded(d.rowKey) : E("toggleExpand")), G && d.rowKey && G.setActiveKey(d.rowKey), q.isInGroup.value && q.handleClick(), E("click", e));
172
+ }, Te = (e) => !d.expandable || G?.handlesTreeKeyboardNavigation() || e.key !== "ArrowLeft" && e.key !== "ArrowRight" || e.key === "ArrowRight" === J.value ? !1 : (e.preventDefault(), Q(), !0), Ee = (e) => G || q.isInGroup.value || !pe.includes(e.key) || e.target !== k.value ? !1 : (e.preventDefault(), k.value?.click(), !0), De = (e) => {
173
+ d.disabled || d.readonly || d.loading || (!Te(e) && !Ee(e) && q.isInGroup.value && q.handleKeydown(e), E("keydown", e));
174
+ };
175
+ return w({ listItemElementRef: k }), (i, a) => (m(), c("div", ne({
176
+ ref_key: "listItemElementRef",
177
+ ref: k,
178
+ id: ve.value,
179
+ class: ["s-ui-list-item", Se.value],
180
+ style: xe.value,
181
+ tabindex: be.value
182
+ }, ye.value, {
183
+ onClick: we,
184
+ onKeydown: De
185
+ }), [d.loading ? (m(), o(_(ce), {
186
+ key: 0,
187
+ type: _(oe).S_LIST_ITEM
188
+ }, null, 8, ["type"])) : (m(), c(ee, { key: 1 }, [
189
+ d.expandable || d.depth || d.hasLevel || _(O).level ? (m(), c("div", M, [h(i.$slots, "level", {}, () => [d.expandable ? (m(), o(_(r), {
190
+ key: 0,
191
+ class: re(["s-ui-list-item__expand", { "s-ui-list-item__expand--expanded": J.value }]),
192
+ appearance: _(t).BARE,
193
+ variant: _(e).NEUTRAL,
194
+ size: _(n).SMALL,
195
+ icon: "chevronMiniRight",
196
+ disabled: d.disabled || d.readonly,
197
+ tabindex: -1,
198
+ "aria-label": me.value,
199
+ onClick: b(Ce, ["stop"])
200
+ }, null, 8, [
201
+ "class",
202
+ "appearance",
203
+ "variant",
204
+ "size",
205
+ "disabled",
206
+ "aria-label"
207
+ ])) : s("", !0)])])) : s("", !0),
208
+ l("div", N, [
209
+ d.iconLeft || _(O)["icon-left"] ? (m(), c("div", P, [h(i.$slots, "icon-left", {}, () => [d.iconLeft ? (m(), o(_(se), {
210
+ key: 0,
211
+ name: d.iconLeft,
212
+ size: d.iconLeftSize ?? ue,
213
+ billing: fe.value
214
+ }, null, 8, [
215
+ "name",
216
+ "size",
217
+ "billing"
218
+ ])) : s("", !0)])])) : s("", !0),
219
+ l("div", F, [d.title || _(O).title ? (m(), c("span", I, [h(i.$slots, "title", {}, () => [u(g(d.title), 1)])])) : s("", !0), d.subtitle || _(O).subtitle ? (m(), c("span", L, [h(i.$slots, "subtitle", {}, () => [u(g(d.subtitle), 1)])])) : s("", !0)]),
220
+ _(O)["title-action"] ? (m(), c("div", R, [h(i.$slots, "title-action", p(f(D.value)))])) : s("", !0)
221
+ ]),
222
+ _(O).trailing || _(O).right || _(O)["action-end"] ? (m(), c("div", z, [l("div", B, [l("div", V, [
223
+ _(O).trailing ? (m(), c("div", H, [h(i.$slots, "trailing", p(f(D.value)))])) : s("", !0),
224
+ h(i.$slots, "right", p(f(D.value))),
225
+ _(O)["action-end"] ? (m(), c("div", U, [h(i.$slots, "action-end", p(f(D.value)))])) : s("", !0)
226
+ ])])])) : s("", !0)
227
+ ], 64))], 16, j));
228
+ }
229
+ });
230
+ //#endregion
231
+ export { x as i, C as n, S as r, G as t };
@@ -1 +1 @@
1
- const e=require("./SButton-BxsPvcET.cjs");let t=require("vue"),n=require("@shtabapp/ui-kit-primitives");var r=function(e){return e.X_SMALL=`x-small`,e.SMALL=`small`,e.BIG=`big`,e}({}),i=function(e){return e.CIRCLE=`circle`,e.SQUARE=`square`,e}({}),a={key:0,class:`s-ui-photo-edit__remove`},o={class:`s-ui-photo-edit__wrapper`},s=[`tabindex`,`aria-disabled`,`aria-label`],c=[`src`,`alt`],l={key:1,class:`s-ui-photo-edit__placeholder`},u={class:`s-ui-photo-edit__camera`},d={class:`s-ui-photo-edit__overlay`},f=[`accept`,`disabled`],p=(0,t.defineComponent)({__name:`SPhotoEdit`,props:(0,t.mergeModels)({accept:{default:`image/jpeg,image/png,image/jpg`},alt:{},disabled:{type:Boolean,default:!1},shape:{default:()=>i.CIRCLE},size:{default:()=>r.SMALL}},{modelValue:{default:null},modelModifiers:{}}),emits:(0,t.mergeModels)([`change`,`remove`],[`update:modelValue`]),setup(i,{emit:p}){let m=(0,t.useModel)(i,`modelValue`),h=p,{t:g}=(0,n.useUiKitI18n)(),_=(0,t.useTemplateRef)(`fileInputRef`),v=(0,t.ref)(null),y=()=>{v.value&&=(URL.revokeObjectURL(v.value),null)};(0,t.watch)(()=>m.value,e=>{y(),e instanceof File&&(v.value=URL.createObjectURL(e))},{immediate:!0}),(0,t.onScopeDispose)(y);let b=(0,t.computed)(()=>{let e=m.value;return e instanceof File?v.value??``:typeof e==`string`?e:``}),x=(0,t.computed)(()=>{let e=m.value;return e instanceof File?!0:typeof e==`string`?e.length>0:!1}),S=(0,t.computed)(()=>({[`s-ui-photo-edit--size-${i.size}`]:!0,[`s-ui-photo-edit--shape-${i.shape}`]:!0,"s-ui-photo-edit--filled":x.value,"s-ui-photo-edit--disabled":i.disabled})),C=(0,t.computed)(()=>i.size===r.X_SMALL?`s-ui-typography-label-10-medium`:`s-ui-typography-label-12-medium`),w=(0,t.computed)(()=>x.value?g(`photoEdit.changePhoto`):g(`photoEdit.uploadPhoto`)),T=(0,t.computed)(()=>x.value?g(`photoEdit.changePhoto`):g(`photoEdit.pickPhoto`)),E=(0,t.computed)(()=>i.disabled?-1:0),D=()=>{_.value&&(_.value.value=``)},O=()=>{m.value=null,y(),D()},k=e=>{h(`change`,{file:e,abort:O})},A=()=>{i.disabled||_.value?.click()},j=()=>{A()},M=e=>{i.disabled||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),A())},N=e=>{if(!(e.target instanceof HTMLInputElement))return;let t=e.target.files?.[0];t&&(m.value=t,k(t),D())},P=()=>{i.disabled||(h(`remove`),m.value=null,y(),D(),k(null))};return(r,p)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`s-ui-photo-edit`,S.value])},[x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,a,[(0,t.createVNode)((0,t.unref)(e.t),{appearance:(0,t.unref)(e.n).BARE,variant:(0,t.unref)(e.i).NEUTRAL,size:(0,t.unref)(e.r).SMALL,disabled:i.disabled,tabindex:-1,icon:`closeMini`,"aria-label":(0,t.unref)(g)(`photoEdit.removePhoto`),onClick:(0,t.withModifiers)(P,[`stop`])},null,8,[`appearance`,`variant`,`size`,`disabled`,`aria-label`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,o,[(0,t.createElementVNode)(`div`,{class:`s-ui-photo-edit__trigger`,role:`button`,tabindex:E.value,"aria-disabled":i.disabled||void 0,"aria-label":T.value,onClick:j,onKeydown:M},[b.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,class:`s-ui-photo-edit__preview`,src:b.value,alt:i.alt??``},null,8,c)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,l,[(0,t.createElementVNode)(`span`,u,[(0,t.createVNode)((0,t.unref)(n.SIcon),{name:`camera`,size:40})])])),(0,t.createElementVNode)(`div`,d,[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`s-ui-photo-edit__label`,C.value])},(0,t.toDisplayString)(w.value),3)])],40,s)]),(0,t.createElementVNode)(`input`,{ref_key:`fileInputRef`,ref:_,class:`s-ui-photo-edit__input`,type:`file`,accept:i.accept,disabled:i.disabled,onChange:N},null,40,f)],2))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
1
+ const e=require("./SButton-B3o80WMR.cjs");let t=require("vue"),n=require("@shtabapp/ui-kit-primitives");var r=function(e){return e.X_SMALL=`x-small`,e.SMALL=`small`,e.BIG=`big`,e}({}),i=function(e){return e.CIRCLE=`circle`,e.SQUARE=`square`,e}({}),a={key:0,class:`s-ui-photo-edit__remove`},o={class:`s-ui-photo-edit__wrapper`},s=[`tabindex`,`aria-disabled`,`aria-label`],c=[`src`,`alt`],l={key:1,class:`s-ui-photo-edit__placeholder`},u={class:`s-ui-photo-edit__camera`},d={class:`s-ui-photo-edit__overlay`},f=[`accept`,`disabled`],p=(0,t.defineComponent)({__name:`SPhotoEdit`,props:(0,t.mergeModels)({accept:{default:`image/jpeg,image/png,image/jpg`},alt:{},disabled:{type:Boolean,default:!1},shape:{default:()=>i.CIRCLE},size:{default:()=>r.SMALL}},{modelValue:{default:null},modelModifiers:{}}),emits:(0,t.mergeModels)([`change`,`remove`],[`update:modelValue`]),setup(i,{emit:p}){let m=(0,t.useModel)(i,`modelValue`),h=p,{t:g}=(0,n.useUiKitI18n)(),_=(0,t.useTemplateRef)(`fileInputRef`),v=(0,t.ref)(null),y=()=>{v.value&&=(URL.revokeObjectURL(v.value),null)};(0,t.watch)(()=>m.value,e=>{y(),e instanceof File&&(v.value=URL.createObjectURL(e))},{immediate:!0}),(0,t.onScopeDispose)(y);let b=(0,t.computed)(()=>{let e=m.value;return e instanceof File?v.value??``:typeof e==`string`?e:``}),x=(0,t.computed)(()=>{let e=m.value;return e instanceof File?!0:typeof e==`string`?e.length>0:!1}),S=(0,t.computed)(()=>({[`s-ui-photo-edit--size-${i.size}`]:!0,[`s-ui-photo-edit--shape-${i.shape}`]:!0,"s-ui-photo-edit--filled":x.value,"s-ui-photo-edit--disabled":i.disabled})),C=(0,t.computed)(()=>i.size===r.X_SMALL?`s-ui-typography-label-10-medium`:`s-ui-typography-label-12-medium`),w=(0,t.computed)(()=>x.value?g(`photoEdit.changePhoto`):g(`photoEdit.uploadPhoto`)),T=(0,t.computed)(()=>x.value?g(`photoEdit.changePhoto`):g(`photoEdit.pickPhoto`)),E=(0,t.computed)(()=>i.disabled?-1:0),D=()=>{_.value&&(_.value.value=``)},O=()=>{m.value=null,y(),D()},k=e=>{h(`change`,{file:e,abort:O})},A=()=>{i.disabled||_.value?.click()},j=()=>{A()},M=e=>{i.disabled||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),A())},N=e=>{if(!(e.target instanceof HTMLInputElement))return;let t=e.target.files?.[0];t&&(m.value=t,k(t),D())},P=()=>{i.disabled||(h(`remove`),m.value=null,y(),D(),k(null))};return(r,p)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`s-ui-photo-edit`,S.value])},[x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,a,[(0,t.createVNode)((0,t.unref)(e.t),{appearance:(0,t.unref)(e.n).BARE,variant:(0,t.unref)(e.i).NEUTRAL,size:(0,t.unref)(e.r).SMALL,disabled:i.disabled,tabindex:-1,icon:`closeMini`,"aria-label":(0,t.unref)(g)(`photoEdit.removePhoto`),onClick:(0,t.withModifiers)(P,[`stop`])},null,8,[`appearance`,`variant`,`size`,`disabled`,`aria-label`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,o,[(0,t.createElementVNode)(`div`,{class:`s-ui-photo-edit__trigger`,role:`button`,tabindex:E.value,"aria-disabled":i.disabled||void 0,"aria-label":T.value,onClick:j,onKeydown:M},[b.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,class:`s-ui-photo-edit__preview`,src:b.value,alt:i.alt??``},null,8,c)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,l,[(0,t.createElementVNode)(`span`,u,[(0,t.createVNode)((0,t.unref)(n.SIcon),{name:`camera`,size:40})])])),(0,t.createElementVNode)(`div`,d,[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`s-ui-photo-edit__label`,C.value])},(0,t.toDisplayString)(w.value),3)])],40,s)]),(0,t.createElementVNode)(`input`,{ref_key:`fileInputRef`,ref:_,class:`s-ui-photo-edit__input`,type:`file`,accept:i.accept,disabled:i.disabled,onChange:N},null,40,f)],2))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
@@ -1,4 +1,4 @@
1
- import { i as e, n as t, r as n, t as r } from "./SButton-B21hubD2.js";
1
+ import { i as e, n as t, r as n, t as r } from "./SButton-D-dmK8Cm.js";
2
2
  import { computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, mergeModels as u, normalizeClass as d, onScopeDispose as f, openBlock as p, ref as m, toDisplayString as h, unref as g, useModel as _, useTemplateRef as v, watch as y, withModifiers as b } from "vue";
3
3
  import { SIcon as x, useUiKitI18n as S } from "@shtabapp/ui-kit-primitives";
4
4
  //#region src/components/SPhotoEdit/SPhotoEdit.types.ts
@@ -0,0 +1 @@
1
+ const e=require("./SButton-B3o80WMR.cjs"),t=require("./useSelectionGroup-NJvi3hNo.cjs"),n=require("./useAriaAttrs-D748yeJ_.cjs"),r=require("./SDropdown-B_nsm3Jf.cjs"),i=require("./SDropdownMenu-k9SxaFVH.cjs"),a=require("./SInput-DG9R9tJC.cjs"),o=require("./SListItem-B7RIawMl.cjs"),s=require("./SList-_VnusDWn.cjs");let c=require("vue"),l=require("@shtabapp/ui-kit-primitives"),u=require("@vueuse/core");var d=({listItemScope:e,itemTitle:t,itemSubtitle:n,itemDisabled:r,itemIconLeft:i,listActiveKey:a,isOptionSelected:o})=>{let c=e.item;return{rowKey:e.key,title:s.i(c,t),subtitle:s.i(c,n),disabled:s.n(c,r),iconLeft:s.r(c,i),selected:o,active:a===e.key,revealRight:e.revealRight,tiny:!0}},f=e=>typeof e==`string`||typeof e==`number`,p=(e,t)=>{let n=e[t];if(f(n))return n},m=e=>typeof e==`string`?e:String(e),h=e=>e==null?!1:typeof e==`string`?e.length>0:!0,g=(e,t,n)=>t.find(t=>m(p(t,n)??``)===e),_=e=>typeof e==`object`&&!!e,v=(e,t,n)=>{let r=g(e,t,n);if(r)return p(r,n)},y=function(e){return e.INPUT=`input`,e.CONTENT=`content`,e}({}),b=(e,t,n)=>{if(!e)return!0;let r=e.toLocaleLowerCase(),i=s.i(t,n.itemTitle)?.toLocaleLowerCase()??``,a=m(p(t,n.itemValue)??``).toLocaleLowerCase();return i.includes(r)||a.includes(r)},ee=(e,t,n,r)=>{let i=r??((e,t)=>b(e,t,n));return t?e.filter(e=>i(t,e)):[...e]},x=e=>typeof e==`string`&&h(e),S=e=>typeof e==`number`&&h(e),C=(e,t,n)=>{if(t){if(!_(e))return;let t=p(e,n);return x(t)||S(t)?t:void 0}let r=typeof e==`string`||typeof e==`number`?e:void 0;if(x(r)||S(r))return r},w=(e,t,n)=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let r=C(e,t,n);return h(r)?[r]:[]}):[],T=(e,t)=>{if(x(t)){e.value=t;return}if(S(t)){e.value=t;return}e.value=void 0},E=(e,t,n)=>t.flatMap(t=>{let r=m(t),i=e.find(e=>m(p(e,n)??``)===r);return i?[i]:[]}),te=({modelValue:e,options:n,itemFields:r,multiple:i,returnObject:a,searchable:o,filterOption:l,isDropdownOpen:u,searchQuery:d})=>{let f=(0,c.computed)(()=>(0,c.toValue)(i)),_=(0,c.computed)(()=>(0,c.toValue)(a)),b=(0,c.computed)(()=>(0,c.toValue)(o)===y.INPUT),x=(0,c.computed)(()=>(0,c.toValue)(o)===y.CONTENT),S=(0,c.computed)(()=>!!(0,c.toValue)(o)),C=(0,c.computed)(()=>{let t=(0,c.toValue)(r);return w(e.value,_.value,t.itemValue)}),te=(0,c.computed)(()=>{let e=(0,c.toValue)(n),t=(0,c.toValue)(r);return ee(e,S.value?d.value:``,t,(0,c.toValue)(l))}),ne=(0,c.computed)(()=>f.value?t.n.MULTIPLE:t.n.SINGLE),D=(t,n,r)=>{if(_.value){e.value=E(n,t,r);return}e.value=t},re=(t,n,r)=>{if(!t){e.value=void 0;return}if(_.value){e.value=g(t,n,r)??void 0;return}T(e,v(t,n,r))},ie=(0,c.computed)({get:()=>{if(f.value)return C.value.map(e=>m(e));let e=C.value[0];if(h(e))return m(e)},set:e=>{let t=(0,c.toValue)(n),i=(0,c.toValue)(r);if(f.value){D((Array.isArray(e)?e:[]).map(e=>v(e,t,i.itemValue)).filter(e=>h(e)),t,i.itemValue);return}re(typeof e==`string`?e:void 0,t,i.itemValue)}}),ae=(0,c.computed)(()=>C.value.length>0),O=(e,t,n)=>{let r=m(t);return e.find(e=>m(p(e,n)??``)===r)},oe=(0,c.computed)(()=>{let e=C.value[0];if(!h(e))return``;let t=(0,c.toValue)(r),i=O((0,c.toValue)(n),e,t.itemValue);return i?s.i(i,t.itemTitle)??``:m(e)}),se=(0,c.computed)(()=>{let e=(0,c.toValue)(n),t=(0,c.toValue)(r);return C.value.map(n=>{let r=O(e,n,t.itemValue);return r?s.i(r,t.itemTitle)??``:m(n)})}),ce=(0,c.computed)(()=>se.value.join(`, `)),le=(0,c.computed)(()=>f.value?C.value.length===0:!oe.value),ue=(0,c.computed)(()=>b.value&&(u.value||f.value)),k=()=>{d.value=``};return(0,c.watch)(u,e=>{e||k()}),(0,c.watch)(()=>(0,c.toValue)(o),()=>{k()}),{searchQuery:d,selectedValues:C,filteredOptions:te,listSelectionMode:ne,listSelectedModel:ie,hasSelectedValues:ae,singleDisplayLabel:oe,multipleDisplayLabels:se,multipleDisplayText:ce,showPlaceholder:le,showInputSearchField:ue,isSearchableMode:S,isSearchableInputMode:b,isSearchableContentMode:x,isMultipleMode:f,isReturnObjectMode:_,clearSelection:()=>{e.value=void 0,k()},removeSelectedValue:e=>{let t=m(e);D(C.value.filter(e=>m(e)!==t),(0,c.toValue)(n),(0,c.toValue)(r).itemValue)},resetSearchQuery:k,formatSelectListKey:m,resolveValueFromListKey:e=>v(e,(0,c.toValue)(n),(0,c.toValue)(r).itemValue)}},ne={key:1,class:`s-ui-select__empty s-ui-typography-body-14-regular`},D=[`id`,`aria-expanded`,`aria-controls`,`aria-disabled`,`aria-readonly`,`aria-autocomplete`,`tabindex`],re={key:0,class:`s-ui-select__value`},ie={key:1,class:`s-ui-select__placeholder`},ae={key:1,class:`s-ui-select__placeholder`},O={key:2,class:`s-ui-select__value`},oe={key:3,class:`s-ui-select__value-suffix`},se=[`name`,`placeholder`,`disabled`,`readonly`],ce=20,le=`100%`,ue=20,k=(0,c.defineComponent)({inheritAttrs:!1,__name:`SSelect`,props:(0,c.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:()=>a.r.NONE},name:{},id:{}},{modelValue:{},modelModifiers:{},searchQuery:{default:``},searchQueryModifiers:{}}),emits:(0,c.mergeModels)([`clear`,`focus`,`blur`,`open`,`close`,`endReached`],[`update:modelValue`,`update:searchQuery`]),setup(t,{expose:f,emit:p}){let m=(0,c.useModel)(t,`modelValue`),g=(0,c.useModel)(t,`searchQuery`),_=p,{t:v}=(0,l.useUiKitI18n)(),y=(0,c.useSlots)(),{getRootAttrs:b,getAriaAttrs:ee,getAriaAttr:x}=n.t(),S=(0,c.useId)(),C=(0,c.useId)(),w=(0,c.useTemplateRef)(`rootElementRef`),T=(0,c.useTemplateRef)(`triggerInputRef`),E=(0,c.ref)(``),k=(0,c.useTemplateRef)(`searchInputElementRef`),A=(0,c.useTemplateRef)(`panelSearchInputElementRef`),j=(0,c.useTemplateRef)(`listElementRef`),M=(0,c.ref)(),N=(0,c.ref)(!1),P=(0,c.ref)(!1),de=(0,c.computed)(()=>t.panelWidth===void 0),fe=(0,c.computed)(()=>t.panelWidth??le),pe=(0,c.computed)(()=>t.itemId??t.itemValue),me=(0,c.computed)(()=>({itemValue:t.itemValue,itemTitle:t.itemTitle,itemSubtitle:t.itemSubtitle,itemId:pe.value})),{selectedValues:F,filteredOptions:I,listSelectionMode:he,listSelectedModel:L,hasSelectedValues:ge,singleDisplayLabel:_e,multipleDisplayLabels:ve,multipleDisplayText:R,showPlaceholder:z,showInputSearchField:B,isSearchableMode:ye,isSearchableInputMode:V,isSearchableContentMode:H,isMultipleMode:U,clearSelection:be,removeSelectedValue:W,resolveValueFromListKey:xe,formatSelectListKey:G}=te({modelValue:m,options:()=>t.options,itemFields:()=>me.value,multiple:()=>t.multiple,returnObject:()=>t.returnObject,searchable:()=>t.searchable,filterOption:()=>t.filterOption,isDropdownOpen:N,searchQuery:g}),Se=(0,c.computed)(()=>({disabled:t.disabled,displayLabel:_e.value})),K=(0,c.computed)(()=>I.value.length>ue),q=(0,c.ref)();(0,c.watch)(g,(e,t)=>{if(!e){q.value=void 0;return}if(!t&&H.value&&!K.value){let e=j.value?.$el;q.value=e instanceof HTMLElement?e.offsetHeight:void 0}},{flush:`pre`});let Ce=(0,c.computed)(()=>K.value?t.listHeight:q.value??`auto`),we=(0,c.computed)(()=>{if(!K.value)return t.listHeight}),Te=(0,c.computed)(()=>F.value.map(e=>G(e))),Ee=e=>Te.value.includes(e),De=()=>({tiny:!0}),Oe=e=>d({listItemScope:e,itemTitle:t.itemTitle,itemSubtitle:t.itemSubtitle,itemDisabled:t.itemDisabled,itemIconLeft:t.itemIconLeft,listActiveKey:M.value,isOptionSelected:Ee(e.key)}),ke=e=>{let t=xe(e);if(h(t)){if(U.value){W(t);return}m.value=void 0}},J=(0,c.computed)(()=>t.id??S),Ae=(0,c.computed)(()=>C),je=(0,c.computed)(()=>a.n(J.value)),Y=()=>{let e=x(`aria-label`),n=x(`aria-labelledby`);return e||n?{"aria-label":e,"aria-labelledby":n}:t.label||y.label?{"aria-labelledby":je.value}:t.placeholder?{"aria-label":t.placeholder}:{}},Me=(0,c.computed)(()=>x(`aria-label`)||t.label||t.placeholder),{focused:Ne}=(0,u.useFocusWithin)(w),Pe=()=>({...ee(),...Y()}),Fe=(0,c.computed)(()=>T.value?.fieldElementRef??null),Ie=(0,c.computed)(()=>({labels:ve.value,values:F.value,displayText:R.value,disabled:t.disabled||t.readonly,removeValue:W})),Le=(0,c.computed)(()=>{if(!t.disabled&&(t.readonly&&!V.value||!V.value))return 0}),Re=(0,c.computed)(()=>({"s-ui-select--disabled":t.disabled,"s-ui-select--readonly":t.readonly,"s-ui-select--multiple":U.value,"s-ui-select--open":N.value})),ze=()=>{if(H.value){A.value?.focus();return}k.value?.focus()},Be=async()=>{await(0,c.nextTick)(),A.value?.focus()},Ve=async()=>{await(0,c.nextTick)(),await j.value?.focusNavigation()},X=async()=>{if(!(t.disabled||t.readonly)&&!N.value){if(N.value=!0,_(`open`),H.value){await Be();return}if(V.value){await(0,c.nextTick)(),k.value?.focus();return}await Ve()}},He=async()=>{t.disabled||t.readonly||N.value||await X()};(0,c.watch)(g,async e=>{V.value&&(t.disabled||t.readonly||e&&(N.value||await X()))});let Z=()=>{N.value&&(N.value=!1,M.value=void 0,_(`close`))},Q=()=>{!t.closeOnSelect||U.value||Z()};(0,c.watch)(m,(e,n)=>{!t.closeOnSelect||U.value||!N.value||!e||e===n||Z()});let Ue=e=>{N.value&&e.target instanceof Element&&e.target.closest(`.s-ui-list-item`)&&Q()},We=async e=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||N.value&&(await(0,c.nextTick)(),Q())},$=async()=>{if(N.value){Z();return}await X()},Ge=async e=>{if(!(t.disabled||t.readonly)&&e.target instanceof HTMLElement){if(e.target.closest(`.s-ui-select__search-input`)){N.value||await X();return}await $()}},Ke=async()=>{t.disabled||t.readonly||await $()},qe=async e=>e.key!==`ArrowDown`&&e.key!==`ArrowUp`?!1:(e.preventDefault(),e.stopPropagation(),N.value||await X(),await Ve(),await j.value?.handleKeyboardNavigation(e),!0),Je=e=>{let t=xe(e);if(t){if(U.value){F.value.some(t=>G(t)===e)?W(t):L.value=[...F.value.map(e=>G(e)),e];return}L.value=e,Q()}},Ye=async e=>{if(!(t.disabled||t.readonly)&&!await qe(e)){if(e.key===`Escape`){e.preventDefault(),Z();return}if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),N.value&&M.value){Je(M.value);return}await $()}}},Xe=async e=>{if(e.key===`Escape`){e.preventDefault(),Z();return}await qe(e)},Ze=Xe,Qe=e=>{t.disabled||(P.value||_(`focus`,e),P.value=!0)},$e=e=>{if(!(e.currentTarget instanceof HTMLElement))return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||(P.value=!1,_(`blur`,e))},et=()=>{be(),_(`clear`)},tt=e=>{_(`endReached`,e)};return f({open:X,close:Z,toggle:$,focusSearchInput:ze}),(n,u)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({ref_key:`rootElementRef`,ref:w,class:[`s-ui-select`,Re.value]},(0,c.unref)(b)()),[(0,c.createVNode)((0,c.unref)(r.t),{modelValue:N.value,"onUpdate:modelValue":u[4]||=e=>N.value=e,reference:Fe.value,disabled:t.disabled,"match-reference-width":de.value,"fit-viewport":t.fitViewport,"surface-class":t.surfaceClass,"content-id":Ae.value,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0,"focus-on-open":!1,"panel-label":Me.value},{content:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-select__menu`,width:fe.value},(0,c.createSlots)({default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,{class:`s-ui-select__menu-body`,onClick:Ue,onKeydown:We},[(0,c.unref)(I).length>0?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(s.t),(0,c.mergeProps)({key:0,ref_key:`listElementRef`,ref:j,modelValue:M.value,"onUpdate:modelValue":u[2]||=e=>M.value=e,selected:(0,c.unref)(L),"onUpdate:selected":u[3]||=e=>(0,c.isRef)(L)?L.value=e:null,items:(0,c.unref)(I),"item-key":pe.value,"title-key":t.itemTitle,"subtitle-key":t.itemSubtitle,"icon-left-key":t.itemIconLeft,"disabled-key":t.itemDisabled,"selection-mode":(0,c.unref)(he),mandatory:!t.multiple,height:Ce.value,"max-height":we.value,virtual:K.value,"item-props":De,"selected-on-top":(0,c.unref)(U),"can-load-more":t.canLoadMore,"end-reached-distance":t.endReachedDistance},Y(),{onEndReached:tt}),(0,c.createSlots)({_:2},[(0,c.unref)(y).option||(0,c.unref)(y)[`option-icon`]||t.closableOptions||(0,c.unref)(U)?{name:`item`,fn:(0,c.withCtx)(r=>[(0,c.unref)(y).option?(0,c.renderSlot)(n.$slots,`option`,(0,c.normalizeProps)((0,c.mergeProps)({key:0},r))):t.closableOptions?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(o.t),(0,c.normalizeProps)((0,c.mergeProps)({key:1},Oe(r))),(0,c.createSlots)({_:2},[(0,c.unref)(y)[`option-icon`]?{name:`icon-left`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(n.$slots,`option-icon`,(0,c.normalizeProps)((0,c.guardReactiveProps)(r)))]),key:`0`}:void 0,Ee(r.key)?{name:`right`,fn:(0,c.withCtx)(t=>[(0,c.createVNode)((0,c.unref)(e.t),{appearance:(0,c.unref)(e.n).BARE,variant:(0,c.unref)(e.i).NEUTRAL,size:(0,c.unref)(e.r).SMALL,icon:`closeMini`,"aria-label":(0,c.unref)(v)(`select.removeOption`),disabled:t.disabled||t.readonly,tabindex:-1,onClick:(0,c.withModifiers)(e=>ke(r.key),[`stop`])},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),key:`1`}:void 0]),1040)):((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(o.t),(0,c.normalizeProps)((0,c.mergeProps)({key:2},Oe(r))),(0,c.createSlots)({_:2},[(0,c.unref)(y)[`option-icon`]?{name:`icon-left`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(n.$slots,`option-icon`,(0,c.normalizeProps)((0,c.guardReactiveProps)(r)))]),key:`0`}:void 0]),1040))]),key:`0`}:void 0]),1040,[`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,c.openBlock)(),(0,c.createElementBlock)(`div`,ne,[(0,c.renderSlot)(n.$slots,`empty`,{},()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(v)(`select.noOptions`)),1)])]))],32)]),_:2},[(0,c.unref)(H)||(0,c.unref)(y)[`panel-header`]?{name:`header`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(n.$slots,`panel-header`),(0,c.unref)(H)?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(a.t),{key:0,ref_key:`panelSearchInputElementRef`,ref:A,modelValue:g.value,"onUpdate:modelValue":u[0]||=e=>g.value=e,placeholder:t.searchPlaceholder,disabled:t.disabled,clearable:!1,"aria-label":t.searchPlaceholder,"icon-left":`search`,onClick:u[1]||=(0,c.withModifiers)(()=>{},[`stop`]),onKeydown:(0,c.unref)(Ze)},null,8,[`modelValue`,`placeholder`,`disabled`,`aria-label`,`onKeydown`])):(0,c.createCommentVNode)(``,!0)]),key:`0`}:void 0,(0,c.unref)(y)[`panel-footer`]?{name:`footer`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(n.$slots,`panel-footer`)]),key:`1`}:void 0]),1032,[`width`])]),_:3},8,[`modelValue`,`reference`,`disabled`,`match-reference-width`,`fit-viewport`,`surface-class`,`content-id`,`panel-label`]),(0,c.createVNode)((0,c.unref)(a.t),{ref_key:`triggerInputRef`,ref:T,modelValue:E.value,"onUpdate:modelValue":u[7]||=e=>E.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,c.unref)(ge),focused:(0,c.unref)(Ne)||N.value,"icon-left":t.iconLeft,customize:t.customize,name:t.name,id:J.value,onClear:et,onFocus:Qe,onBlur:$e},(0,c.createSlots)({control:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,(0,c.mergeProps)({id:J.value,class:[`s-ui-select__control s-ui-typography-body-14-regular`,{"s-ui-select__control--multiple":(0,c.unref)(U),"s-ui-select__control--empty":(0,c.unref)(U)&&!(0,c.unref)(ge)&&!(0,c.unref)(B),"s-ui-select__control--with-value-suffix":(0,c.unref)(y)[`value-suffix`]&&!(0,c.unref)(U)&&!(0,c.unref)(B)&&!(0,c.unref)(z)}],role:`combobox`,"aria-expanded":N.value,"aria-controls":Ae.value,"aria-haspopup":`listbox`,"aria-disabled":t.disabled?!0:void 0,"aria-readonly":t.readonly?!0:void 0,"aria-autocomplete":(0,c.unref)(ye)?`list`:void 0},Pe(),{tabindex:Le.value,onClick:Ge,onKeydown:Ye}),[(0,c.unref)(U)?(0,c.renderSlot)(n.$slots,`selection`,(0,c.normalizeProps)((0,c.mergeProps)({key:0},Ie.value)),()=>[(0,c.unref)(R)?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,re,(0,c.toDisplayString)((0,c.unref)(R)),1)):(0,c.unref)(z)&&!(0,c.unref)(B)?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,ie,(0,c.toDisplayString)(t.placeholder),1)):(0,c.createCommentVNode)(``,!0)]):(0,c.unref)(z)&&!(0,c.unref)(B)?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,ae,(0,c.toDisplayString)(t.placeholder),1)):(0,c.unref)(B)?(0,c.createCommentVNode)(``,!0):((0,c.openBlock)(),(0,c.createElementBlock)(`span`,O,(0,c.toDisplayString)((0,c.unref)(_e)),1)),(0,c.unref)(y)[`value-suffix`]&&!(0,c.unref)(U)&&!(0,c.unref)(B)&&!(0,c.unref)(z)?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,oe,[(0,c.renderSlot)(n.$slots,`value-suffix`,(0,c.normalizeProps)((0,c.guardReactiveProps)(Se.value)))])):(0,c.createCommentVNode)(``,!0),(0,c.unref)(B)?(0,c.withDirectives)(((0,c.openBlock)(),(0,c.createElementBlock)(`input`,(0,c.mergeProps)({key:4,ref_key:`searchInputElementRef`,ref:k,"onUpdate:modelValue":u[5]||=e=>g.value=e,class:`s-ui-select__search-input`,type:`text`,name:t.name,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,autocomplete:`off`},Y(),{onClick:u[6]||=(0,c.withModifiers)(()=>{},[`stop`]),onFocus:He,onKeydown:Xe}),null,16,se)),[[c.vModelText,g.value]]):(0,c.createCommentVNode)(``,!0)],16,D)]),action:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(l.SIcon),{name:`chevronMiniDown`,size:ce,class:`s-ui-select__chevron`,onClick:Ke})]),_:2},[(0,c.unref)(y).label?{name:`label`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(n.$slots,`label`)]),key:`0`}:void 0,(0,c.unref)(y).prefix?{name:`prefix`,fn:(0,c.withCtx)(e=>[(0,c.renderSlot)(n.$slots,`prefix`,(0,c.normalizeProps)((0,c.guardReactiveProps)(e)))]),key:`1`}:void 0,(0,c.unref)(y).prepend?{name:`prepend`,fn:(0,c.withCtx)(e=>[(0,c.renderSlot)(n.$slots,`prepend`,(0,c.normalizeProps)((0,c.guardReactiveProps)(e)))]),key:`2`}:void 0,(0,c.unref)(y).message?{name:`message`,fn:(0,c.withCtx)(()=>[(0,c.renderSlot)(n.$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`])],16))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return k}});