@shtabapp/ui-kit 1.57.0 → 1.59.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 (85) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/SButtonGroup-BOZQSxWY.js +90 -0
  3. package/dist/SButtonGroup-Cnuo4SzC.cjs +1 -0
  4. package/dist/SChip-BL47yJ-i.cjs +1 -0
  5. package/dist/SChip-XCYvlpaS.js +102 -0
  6. package/dist/{SColorPicker-Cucd749L.cjs → SColorPicker-BFw8CCDr.cjs} +1 -1
  7. package/dist/{SColorPicker-PI3xoFtS.js → SColorPicker-CTl7cSAO.js} +2 -2
  8. package/dist/SDropdown-LNVnMol3.cjs +1 -0
  9. package/dist/SDropdown-LOTCtlCX.js +356 -0
  10. package/dist/SInput-CRAegYKS.cjs +1 -0
  11. package/dist/SInput-Csy2uch7.js +224 -0
  12. package/dist/{SSelect-8RPurgr-.js → SSelect-fLtErA7p.js} +2 -2
  13. package/dist/{SSelect-BVs3lWQ9.cjs → SSelect-mFCdoFuO.cjs} +1 -1
  14. package/dist/STextarea-BDyy7Ku5.js +269 -0
  15. package/dist/STextarea-C4qDIp2k.cjs +1 -0
  16. package/dist/components/SButtonGroup/SButtonGroup.vue.d.ts.map +1 -1
  17. package/dist/components/SButtonGroup/utils/context.d.ts.map +1 -1
  18. package/dist/components/SChip/SChip.types.d.ts +4 -0
  19. package/dist/components/SChip/SChip.types.d.ts.map +1 -1
  20. package/dist/components/SChip/SChip.vue.d.ts +6 -2
  21. package/dist/components/SChip/SChip.vue.d.ts.map +1 -1
  22. package/dist/components/SDropdown/SDropdown.types.d.ts +12 -0
  23. package/dist/components/SDropdown/SDropdown.types.d.ts.map +1 -1
  24. package/dist/components/SDropdown/SDropdown.vue.d.ts +23 -2
  25. package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
  26. package/dist/components/SDropdown/index.d.ts +1 -1
  27. package/dist/components/SDropdown/index.d.ts.map +1 -1
  28. package/dist/components/SDropdown/parts/SDropdownSheet.types.d.ts +13 -0
  29. package/dist/components/SDropdown/parts/SDropdownSheet.types.d.ts.map +1 -0
  30. package/dist/components/SDropdown/parts/SDropdownSheet.vue.d.ts +23 -0
  31. package/dist/components/SDropdown/parts/SDropdownSheet.vue.d.ts.map +1 -0
  32. package/dist/components/SDropdown/utils/useDropdownSheetMode.d.ts +7 -0
  33. package/dist/components/SDropdown/utils/useDropdownSheetMode.d.ts.map +1 -0
  34. package/dist/components/SDropdown/utils/useSheetDrag.d.ts +18 -0
  35. package/dist/components/SDropdown/utils/useSheetDrag.d.ts.map +1 -0
  36. package/dist/components/SInlineGroup/SInlineGroup.types.d.ts +11 -0
  37. package/dist/components/SInlineGroup/SInlineGroup.types.d.ts.map +1 -0
  38. package/dist/components/SInlineGroup/SInlineGroup.vue.d.ts +14 -0
  39. package/dist/components/SInlineGroup/SInlineGroup.vue.d.ts.map +1 -0
  40. package/dist/components/SInlineGroup/index.d.ts +4 -0
  41. package/dist/components/SInlineGroup/index.d.ts.map +1 -0
  42. package/dist/components/SInput/SInput.types.d.ts +5 -1
  43. package/dist/components/SInput/SInput.types.d.ts.map +1 -1
  44. package/dist/components/SInput/SInput.vue.d.ts.map +1 -1
  45. package/dist/components/STextarea/STextarea.vue.d.ts.map +1 -1
  46. package/dist/composables/useFieldAttrs.d.ts +22 -0
  47. package/dist/composables/useFieldAttrs.d.ts.map +1 -0
  48. package/dist/composables/useFieldFilled.d.ts +19 -0
  49. package/dist/composables/useFieldFilled.d.ts.map +1 -0
  50. package/dist/entries/button-group.cjs +1 -1
  51. package/dist/entries/button-group.js +1 -1
  52. package/dist/entries/chip.cjs +1 -1
  53. package/dist/entries/chip.js +1 -1
  54. package/dist/entries/color-picker.cjs +1 -1
  55. package/dist/entries/color-picker.js +1 -1
  56. package/dist/entries/dropdown.cjs +1 -1
  57. package/dist/entries/dropdown.d.ts +2 -2
  58. package/dist/entries/dropdown.d.ts.map +1 -1
  59. package/dist/entries/dropdown.js +2 -2
  60. package/dist/entries/input.cjs +1 -1
  61. package/dist/entries/input.js +1 -1
  62. package/dist/entries/select.cjs +1 -1
  63. package/dist/entries/select.js +1 -1
  64. package/dist/entries/textarea.cjs +1 -1
  65. package/dist/entries/textarea.js +1 -1
  66. package/dist/index.cjs +1 -1
  67. package/dist/index.d.ts +4 -2
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +137 -137
  70. package/dist/uikit-components.css +1 -1
  71. package/dist/useFieldMessages-2TaArixP.cjs +1 -0
  72. package/dist/useFieldMessages-C-GXaf_q.js +43 -0
  73. package/package.json +2 -2
  74. package/dist/SButtonGroup-BPy2YaEP.cjs +0 -1
  75. package/dist/SButtonGroup-CmSlYnSv.js +0 -72
  76. package/dist/SChip-DRz5BA4Z.cjs +0 -1
  77. package/dist/SChip-DvPazz7Y.js +0 -67
  78. package/dist/SDropdown-CTQ5Qlez.js +0 -175
  79. package/dist/SDropdown-_QUOP-rw.cjs +0 -1
  80. package/dist/SInput-C-_R5pug.js +0 -204
  81. package/dist/SInput-Cw8pt9Sr.cjs +0 -1
  82. package/dist/STextarea-CFOemAYa.js +0 -264
  83. package/dist/STextarea-Dg-Dy3ZT.cjs +0 -1
  84. package/dist/useFieldMessages-Cb06My1W.js +0 -30
  85. package/dist/useFieldMessages-CzjU0ajM.cjs +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## [@shtabapp/ui-kit-v1.59.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.58.0...@shtabapp/ui-kit@1.59.0) (2026-07-30)
2
+
3
+ ### Features
4
+
5
+ - **components:** schip deletable and selected ([332115e](https://gitlab.com/mstikharev/shtab-ui-kit/commit/332115e81105a4ce88874c447c3eed8cc30b62e2))
6
+
7
+ ## [@shtabapp/ui-kit-v1.58.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.57.0...@shtabapp/ui-kit@1.58.0) (2026-07-30)
8
+
9
+ ### Features
10
+
11
+ - **components:** expose sinput outline colour per state ([0c35bd9](https://gitlab.com/mstikharev/shtab-ui-kit/commit/0c35bd9625eb150cfbc1bd9bfa1bf5a261c3a53b))
12
+ - **components:** route field attrs to the control, not the wrapper ([4e6f0cb](https://gitlab.com/mstikharev/shtab-ui-kit/commit/4e6f0cb2eed43e5a837a1736a08e6a122e18ff15))
13
+ - **components:** sdropdown bottom sheet on mobile ([6353ff3](https://gitlab.com/mstikharev/shtab-ui-kit/commit/6353ff3b18e6f2f0f4b0fdae3beeab1e4ea5884f))
14
+ - **components:** sinlinegroup and a radius contract for attached controls ([c51ae47](https://gitlab.com/mstikharev/shtab-ui-kit/commit/c51ae47f7da9bed2cc2496a116f08ecee9ecfd23))
15
+ - **components:** sinput autofocus ([d8431b2](https://gitlab.com/mstikharev/shtab-ui-kit/commit/d8431b2486c29dc8a60152f05cd0144007d3ede4)), closes [#control](https://gitlab.com/mstikharev/shtab-ui-kit/issues/control)
16
+ - **components:** ssearch ([fa002ab](https://gitlab.com/mstikharev/shtab-ui-kit/commit/fa002ab00f44d5cec6c159cdf4998d38eb5af405)), closes [#action](https://gitlab.com/mstikharev/shtab-ui-kit/issues/action) [#control](https://gitlab.com/mstikharev/shtab-ui-kit/issues/control)
17
+ - improve buttongroup with inlinegroup ([2ae333f](https://gitlab.com/mstikharev/shtab-ui-kit/commit/2ae333f79652d7cdff8418d287c3b9fadc760686))
18
+
19
+ ### Bug Fixes
20
+
21
+ - **components:** sinput clearable never rendered the clear button ([4cdbc41](https://gitlab.com/mstikharev/shtab-ui-kit/commit/4cdbc41d46ed8c9ed6827f6f208a42c04518a6d0))
22
+
23
+ ### Reverts
24
+
25
+ - ssearch as a kit component ([8fc5aac](https://gitlab.com/mstikharev/shtab-ui-kit/commit/8fc5aac9928eff00259e5b55ce29cfcbc3c26e73))
26
+
1
27
  ## [@shtabapp/ui-kit-v1.57.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.56.0...@shtabapp/ui-kit@1.57.0) (2026-07-29)
2
28
 
3
29
  ### Features
@@ -0,0 +1,90 @@
1
+ import { t as e } from "./context-C3WoLJS4.js";
2
+ import { n as t, o as n, r } from "./useSelectionGroup-cKj38lEN.js";
3
+ import { computed as i, createBlock as a, createElementBlock as o, defineComponent as s, mergeModels as c, normalizeClass as l, openBlock as u, provide as d, renderSlot as f, resolveDynamicComponent as p, unref as m, useModel as h, withCtx as g } from "vue";
4
+ //#region src/components/SButtonGroup/SButtonGroup.types.ts
5
+ var _ = /* @__PURE__ */ function(e) {
6
+ return e.ATTACHED = "attached", e.SEPARATED = "separated", e;
7
+ }({}), v = /* @__PURE__ */ function(e) {
8
+ return e.HORIZONTAL = "horizontal", e.VERTICAL = "vertical", e;
9
+ }({}), y = /* @__PURE__ */ s({
10
+ __name: "SInlineGroup",
11
+ props: { orientation: { default: () => v.HORIZONTAL } },
12
+ setup(e) {
13
+ let t = i(() => `s-ui-inline-group--orientation-${e.orientation}`);
14
+ return (e, n) => (u(), o("div", { class: l(["s-ui-inline-group", t.value]) }, [f(e.$slots, "default")], 2));
15
+ }
16
+ }), b = /* @__PURE__ */ s({
17
+ __name: "SButtonGroup",
18
+ props: /*@__PURE__*/ c({
19
+ mode: { default: () => t.SINGLE },
20
+ mandatory: {
21
+ type: Boolean,
22
+ default: !1
23
+ },
24
+ orientation: { default: () => r.HORIZONTAL },
25
+ layout: { default: () => _.ATTACHED },
26
+ loop: {
27
+ type: Boolean,
28
+ default: !0
29
+ },
30
+ disabled: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ appearance: {},
35
+ variant: {},
36
+ size: {}
37
+ }, {
38
+ modelValue: {},
39
+ modelModifiers: {}
40
+ }),
41
+ emits: ["update:modelValue"],
42
+ setup(t) {
43
+ let o = h(t, "modelValue"), s = n({
44
+ modelValue: () => o.value,
45
+ onUpdateModelValue: (e) => {
46
+ o.value = e;
47
+ },
48
+ mode: () => t.mode,
49
+ mandatory: () => t.mandatory,
50
+ orientation: () => t.orientation,
51
+ loop: () => t.loop
52
+ });
53
+ d(e, {
54
+ mode: () => t.mode,
55
+ isSelected: s.isSelected,
56
+ selectItem: s.toggle,
57
+ registerItem: s.registerItem,
58
+ getItemTabIndex: s.getItemTabIndex,
59
+ getGroupTabIndex: s.getGroupTabIndex,
60
+ handleItemKeydown: s.handleItemKeydown,
61
+ appearance: () => t.appearance,
62
+ variant: () => t.variant,
63
+ size: () => t.size,
64
+ disabled: () => t.disabled
65
+ });
66
+ let c = i(() => t.layout === _.ATTACHED), b = i(() => t.orientation === r.VERTICAL ? v.VERTICAL : v.HORIZONTAL), x = i(() => [
67
+ "s-ui-button-group",
68
+ `s-ui-button-group--orientation-${t.orientation}`,
69
+ `s-ui-button-group--layout-${t.layout}`,
70
+ { "s-ui-button-group--disabled": t.disabled }
71
+ ]);
72
+ return (e, n) => (u(), a(p(c.value ? m(y) : "div"), {
73
+ orientation: c.value ? b.value : void 0,
74
+ class: l(x.value),
75
+ role: "group",
76
+ "aria-orientation": t.orientation,
77
+ "aria-disabled": t.disabled || void 0
78
+ }, {
79
+ default: g(() => [f(e.$slots, "default")]),
80
+ _: 3
81
+ }, 8, [
82
+ "orientation",
83
+ "class",
84
+ "aria-orientation",
85
+ "aria-disabled"
86
+ ]));
87
+ }
88
+ });
89
+ //#endregion
90
+ export { _ as i, y as n, v as r, b as t };
@@ -0,0 +1 @@
1
+ const e=require("./context-kCi2xRHY.cjs"),t=require("./useSelectionGroup-TaektE-I.cjs");let n=require("vue");var r=function(e){return e.ATTACHED=`attached`,e.SEPARATED=`separated`,e}({}),i=function(e){return e.HORIZONTAL=`horizontal`,e.VERTICAL=`vertical`,e}({}),a=(0,n.defineComponent)({__name:`SInlineGroup`,props:{orientation:{default:()=>i.HORIZONTAL}},setup(e){let t=(0,n.computed)(()=>`s-ui-inline-group--orientation-${e.orientation}`);return(e,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{class:(0,n.normalizeClass)([`s-ui-inline-group`,t.value])},[(0,n.renderSlot)(e.$slots,`default`)],2))}}),o=(0,n.defineComponent)({__name:`SButtonGroup`,props:(0,n.mergeModels)({mode:{default:()=>t.n.SINGLE},mandatory:{type:Boolean,default:!1},orientation:{default:()=>t.r.HORIZONTAL},layout:{default:()=>r.ATTACHED},loop:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},appearance:{},variant:{},size:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(o){let s=(0,n.useModel)(o,`modelValue`),c=t.o({modelValue:()=>s.value,onUpdateModelValue:e=>{s.value=e},mode:()=>o.mode,mandatory:()=>o.mandatory,orientation:()=>o.orientation,loop:()=>o.loop});(0,n.provide)(e.t,{mode:()=>o.mode,isSelected:c.isSelected,selectItem:c.toggle,registerItem:c.registerItem,getItemTabIndex:c.getItemTabIndex,getGroupTabIndex:c.getGroupTabIndex,handleItemKeydown:c.handleItemKeydown,appearance:()=>o.appearance,variant:()=>o.variant,size:()=>o.size,disabled:()=>o.disabled});let l=(0,n.computed)(()=>o.layout===r.ATTACHED),u=(0,n.computed)(()=>o.orientation===t.r.VERTICAL?i.VERTICAL:i.HORIZONTAL),d=(0,n.computed)(()=>[`s-ui-button-group`,`s-ui-button-group--orientation-${o.orientation}`,`s-ui-button-group--layout-${o.layout}`,{"s-ui-button-group--disabled":o.disabled}]);return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(l.value?(0,n.unref)(a):`div`),{orientation:l.value?u.value:void 0,class:(0,n.normalizeClass)(d.value),role:`group`,"aria-orientation":o.orientation,"aria-disabled":o.disabled||void 0},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`orientation`,`class`,`aria-orientation`,`aria-disabled`]))}});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -0,0 +1 @@
1
+ const e=require("./SButton.types-UKroD-ev.cjs"),t=require("./SButton-C-z_q5CG.cjs");let n=require("vue"),r=require("@shtabapp/ui-kit-primitives");var i=function(e){return e.BLUE=`blue`,e.RED=`red`,e.WHITE=`white`,e.BILLING=`billing`,e}({}),a=function(e){return e.SIZE_20=`20`,e.SIZE_24=`24`,e.SIZE_32=`32`,e}({}),o=[`tabindex`,`aria-disabled`,`inert`],s={class:`s-ui-chip__content`},c={key:0,class:`s-ui-chip__icon`},l={key:1,class:`s-ui-chip__prefix`},u={key:0,class:`s-ui-chip__actions`},d={key:0,class:`s-ui-chip__action-delete`},f=(0,n.defineComponent)({__name:`SChip`,props:{color:{default:()=>i.BLUE},disabled:{type:Boolean,default:!1},size:{default:()=>a.SIZE_32},deletable:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},emits:[`delete`],setup(f,{emit:p}){let m=p,{t:h}=(0,r.useUiKitI18n)(),g=(0,n.useSlots)(),_=(0,n.computed)(()=>f.color===i.BILLING),v=(0,n.computed)(()=>f.disabled?!1:_.value),y=(0,n.computed)(()=>f.disabled?-1:0),b=(0,n.computed)(()=>!!g.actions||f.deletable),x=()=>{m(`delete`)},S=(0,n.computed)(()=>[`s-ui-chip--color-${f.color}`,`s-ui-chip--size-${f.size}`,{"s-ui-chip--disabled":f.disabled,"s-ui-chip--selected":f.selected}]),C=(0,n.computed)(()=>f.size===a.SIZE_20?`s-ui-typography-label-12-medium`:`s-ui-typography-label-14-medium`),w={[a.SIZE_20]:16,[a.SIZE_24]:20,[a.SIZE_32]:20},T=(0,n.computed)(()=>w[f.size]);return(r,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{class:(0,n.normalizeClass)([`s-ui-chip`,S.value]),tabindex:y.value,role:`group`,"aria-disabled":f.disabled?!0:void 0,inert:f.disabled?!0:void 0},[(0,n.createElementVNode)(`span`,s,[(0,n.unref)(g).icon?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,c,[(0,n.renderSlot)(r.$slots,`icon`,{billing:v.value,disabled:f.disabled,size:T.value})])):(0,n.createCommentVNode)(``,!0),(0,n.unref)(g).prefix?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,l,[(0,n.renderSlot)(r.$slots,`prefix`,{disabled:f.disabled,size:f.size})])):(0,n.createCommentVNode)(``,!0),(0,n.unref)(g).default?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,{key:2,class:(0,n.normalizeClass)([`s-ui-chip__label`,C.value])},[(0,n.renderSlot)(r.$slots,`default`)],2)):(0,n.createCommentVNode)(``,!0)]),b.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,u,[(0,n.renderSlot)(r.$slots,`actions`,{billing:_.value,disabled:f.disabled}),f.deletable?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,d,[(0,n.createVNode)((0,n.unref)(t.t),{appearance:(0,n.unref)(e.t).BARE,variant:(0,n.unref)(e.r).NEUTRAL,size:(0,n.unref)(e.n).SMALL,disabled:f.disabled,tabindex:-1,icon:`closeMini`,"aria-label":(0,n.unref)(h)(`chip.delete`),onClick:(0,n.withModifiers)(x,[`stop`])},null,8,[`appearance`,`variant`,`size`,`disabled`,`aria-label`])])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0)],10,o))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
@@ -0,0 +1,102 @@
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 { computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, normalizeClass as u, openBlock as d, renderSlot as f, unref as p, useSlots as m, withModifiers as h } from "vue";
4
+ import { useUiKitI18n as g } from "@shtabapp/ui-kit-primitives";
5
+ //#region src/components/SChip/SChip.types.ts
6
+ var _ = /* @__PURE__ */ function(e) {
7
+ return e.BLUE = "blue", e.RED = "red", e.WHITE = "white", e.BILLING = "billing", e;
8
+ }({}), v = /* @__PURE__ */ function(e) {
9
+ return e.SIZE_20 = "20", e.SIZE_24 = "24", e.SIZE_32 = "32", e;
10
+ }({}), y = [
11
+ "tabindex",
12
+ "aria-disabled",
13
+ "inert"
14
+ ], b = { class: "s-ui-chip__content" }, x = {
15
+ key: 0,
16
+ class: "s-ui-chip__icon"
17
+ }, S = {
18
+ key: 1,
19
+ class: "s-ui-chip__prefix"
20
+ }, C = {
21
+ key: 0,
22
+ class: "s-ui-chip__actions"
23
+ }, w = {
24
+ key: 0,
25
+ class: "s-ui-chip__action-delete"
26
+ }, T = /* @__PURE__ */ l({
27
+ __name: "SChip",
28
+ props: {
29
+ color: { default: () => _.BLUE },
30
+ disabled: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ size: { default: () => v.SIZE_32 },
35
+ deletable: {
36
+ type: Boolean,
37
+ default: !1
38
+ },
39
+ selected: {
40
+ type: Boolean,
41
+ default: !1
42
+ }
43
+ },
44
+ emits: ["delete"],
45
+ setup(l, { emit: T }) {
46
+ let E = T, { t: D } = g(), O = m(), k = i(() => l.color === _.BILLING), A = i(() => l.disabled ? !1 : k.value), j = i(() => l.disabled ? -1 : 0), M = i(() => !!O.actions || l.deletable), N = () => {
47
+ E("delete");
48
+ }, P = i(() => [
49
+ `s-ui-chip--color-${l.color}`,
50
+ `s-ui-chip--size-${l.size}`,
51
+ {
52
+ "s-ui-chip--disabled": l.disabled,
53
+ "s-ui-chip--selected": l.selected
54
+ }
55
+ ]), F = i(() => l.size === v.SIZE_20 ? "s-ui-typography-label-12-medium" : "s-ui-typography-label-14-medium"), I = {
56
+ [v.SIZE_20]: 16,
57
+ [v.SIZE_24]: 20,
58
+ [v.SIZE_32]: 20
59
+ }, L = i(() => I[l.size]);
60
+ return (i, m) => (d(), o("span", {
61
+ class: u(["s-ui-chip", P.value]),
62
+ tabindex: j.value,
63
+ role: "group",
64
+ "aria-disabled": l.disabled ? !0 : void 0,
65
+ inert: l.disabled ? !0 : void 0
66
+ }, [s("span", b, [
67
+ p(O).icon ? (d(), o("span", x, [f(i.$slots, "icon", {
68
+ billing: A.value,
69
+ disabled: l.disabled,
70
+ size: L.value
71
+ })])) : a("", !0),
72
+ p(O).prefix ? (d(), o("span", S, [f(i.$slots, "prefix", {
73
+ disabled: l.disabled,
74
+ size: l.size
75
+ })])) : a("", !0),
76
+ p(O).default ? (d(), o("span", {
77
+ key: 2,
78
+ class: u(["s-ui-chip__label", F.value])
79
+ }, [f(i.$slots, "default")], 2)) : a("", !0)
80
+ ]), M.value ? (d(), o("span", C, [f(i.$slots, "actions", {
81
+ billing: k.value,
82
+ disabled: l.disabled
83
+ }), l.deletable ? (d(), o("span", w, [c(p(r), {
84
+ appearance: p(n).BARE,
85
+ variant: p(t).NEUTRAL,
86
+ size: p(e).SMALL,
87
+ disabled: l.disabled,
88
+ tabindex: -1,
89
+ icon: "closeMini",
90
+ "aria-label": p(D)("chip.delete"),
91
+ onClick: h(N, ["stop"])
92
+ }, null, 8, [
93
+ "appearance",
94
+ "variant",
95
+ "size",
96
+ "disabled",
97
+ "aria-label"
98
+ ])])) : a("", !0)])) : a("", !0)], 10, y));
99
+ }
100
+ });
101
+ //#endregion
102
+ export { _ as n, v as r, T as t };
@@ -1 +1 @@
1
- const e=require("./contrastSurfaceTextColor-BRjRzXyZ.cjs"),t=require("./SColorPalette-CqfVzhda.cjs"),n=require("./colorValue-Dda7fKd3.cjs"),r=require("./SButton.types-UKroD-ev.cjs"),i=require("./SButton-C-z_q5CG.cjs"),a=require("./useFloatingOverlay-B1UCUYQQ.cjs"),o=require("./SDropdown-_QUOP-rw.cjs"),s=require("./SSelect-BVs3lWQ9.cjs");let c=require("vue"),l=require("@shtabapp/ui-kit-primitives"),u=require("@vueuse/core");var d=e=>Math.max(0,Math.min(255,Math.round(e))),f=e=>{let t=e%360;return t<0?t+360:t},p=e=>Math.max(0,Math.min(100,Math.round(e))),m=e=>{let t=e.slice(1);if(t.length===3){let e=t[0],n=t[1],r=t[2];return!e||!n||!r?void 0:`${e}${e}${n}${n}${r}${r}`}if(t.length===6||t.length===8)return t.slice(0,6)},h=e=>{let t=m(e);if(!t)return;let n=Number.parseInt(t.slice(0,2),16),r=Number.parseInt(t.slice(2,4),16),i=Number.parseInt(t.slice(4,6),16);if(!(Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)))return{first:n,second:r,third:i}},g=e=>{let t=d(e.first),n=d(e.second),r=d(e.third);return`#${t.toString(16).padStart(2,`0`).toUpperCase()}${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}`},_=e=>{let t=h(e);if(!t)return;let n=t.first/255,r=t.second/255,i=t.third/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=a-o,c=0,l=(a+o)/2;s!==0&&(c=a===n?((r-i)/s+(r<i?6:0))*60:a===r?((i-n)/s+2)*60:((n-r)/s+4)*60);let u=0;return s!==0&&(u=l>.5?s/(2-a-o):s/(a+o)),{first:Math.round(c),second:Math.round(u*100),third:Math.round(l*100)}},v=e=>{let t=f(e.first),n=p(e.second)/100,r=p(e.third)/100,i=e=>{let i=(t+e)/30;return d((r-n*Math.min(r,1-r)*Math.max(-1,Math.min(i%2-1,1)))*255)};return g({first:i(0),second:i(8),third:i(4)})},y=t=>{let n=t.toUpperCase(),r=n.startsWith(`#`)?n.slice(1):n;if(!/^[0-9A-F]{3}$/.test(r)&&!/^[0-9A-F]{6}$/.test(r))return;let i=`#${r}`;if(e.n(i))return g(h(i)??{first:0,second:0,third:0})},b=e=>e.slice(1).toUpperCase(),x=e=>{let t=e.first/255,n=e.second/255,r=e.third/255,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=0;a!==0&&(o=i===t?(n-r)/a%6:i===n?(r-t)/a+2:(t-n)/a+4,o=Math.round(o*60),o<0&&(o+=360));let s=i===0?0:a/i;return{hue:o,saturation:s,value:i}},S=e=>{let t=e.value*e.saturation,n=e.hue/60,r=t*(1-Math.abs(n%2-1)),i=e.value-t,a=0,o=0,s=0;return n>=0&&n<1?(a=t,o=r):n>=1&&n<2?(a=r,o=t):n>=2&&n<3?(o=t,s=r):n>=3&&n<4?(o=r,s=t):n>=4&&n<5?(a=r,s=t):(a=t,s=r),{first:d((a+i)*255),second:d((o+i)*255),third:d((s+i)*255)}},C=e=>{let t=h(e);if(t)return x(t)},w=e=>g(S(e)),T=[t.o.HEX,t.o.RGB,t.o.HSL],E={[t.o.HEX]:`Hex`,[t.o.RGB]:`RGB`,[t.o.HSL]:`HSL`},D=e=>{let t=getComputedStyle(e).backgroundColor.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(!t)return;let n=Number.parseInt(t[1]??`0`,10),r=Number.parseInt(t[2]??`0`,10),i=Number.parseInt(t[3]??`0`,10);return`#${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}${i.toString(16).padStart(2,`0`).toUpperCase()}`},O=(t,r)=>{if(n.n(t)&&e.n(t))return t;if(r)return D(r)},k=(e,n)=>n===t.o.HEX?b(e):n===t.o.RGB?h(e)??{first:0,second:0,third:0}:_(e)??{first:0,second:0,third:0},A=e=>{let t=Number.parseInt(e,10);if(!Number.isNaN(t))return t},j=(e,n)=>{if(e===t.o.HEX)return typeof n==`string`?y(n):void 0;if(typeof n==`string`)return;if(e===t.o.RGB){let e=g({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});return h(e)?e:void 0}let r=v({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});if(r&&_(r))return r},M=17,N=`#000000`,P=e=>e??N,F=({modelValue:e,getEditableHex:t,saturationAreaRef:n,hueSliderRef:r,disabled:i,readonly:a})=>{let o=C(P(t()))??{hue:0,saturation:0,value:0},s=(0,c.ref)(o.hue),l=(0,c.ref)(o.saturation),d=(0,c.ref)(o.value),f=(0,c.ref)(!1),p=(0,c.ref)(!1),m=(0,c.ref)(!1),h=(0,c.shallowRef)(null),g=(0,c.shallowRef)(null),_=(0,c.computed)(()=>w({hue:s.value,saturation:l.value,value:d.value})),v=(0,c.computed)(()=>w({hue:s.value,saturation:1,value:1})),y=e=>{s.value=Math.max(0,Math.min(360,e))},b=(e,t)=>{l.value=Math.max(0,Math.min(1,e)),d.value=Math.max(0,Math.min(1,t))},x=e=>{let t=C(P(e));t&&(f.value=!0,t.saturation>0&&(s.value=t.hue),l.value=t.saturation,d.value=t.value,f.value=!1)},S=()=>{let e=t();e&&e.toUpperCase()!==_.value.toUpperCase()&&x(e)},T=()=>{let n=_.value;t()?.toUpperCase()!==n.toUpperCase()&&(f.value=!0,e.value=n,f.value=!1)};(0,c.watch)([s,l,d],()=>{f.value||T()}),(0,c.watch)(e,()=>{f.value||S()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{E(),D(),S()})});let E=()=>{h.value=n.value?.getBoundingClientRect()??null},D=()=>{g.value=r.value?.getBoundingClientRect()??null},O=(0,c.computed)(()=>{let e=h.value;return e?{transform:`translate3d(calc(${l.value*e.width}px - 50%), calc(${(1-d.value)*e.height}px - 50%), 0)`}:{}}),k=(0,c.computed)(()=>{let e=g.value;return e?{transform:`translate3d(-50%, calc(${s.value/360*e.height}px - 50%), 0)`}:{}}),A=()=>!i.value&&!a.value,j=e=>{let t=h.value;if(!t)return;let n=Math.max(0,Math.min(e.clientX-t.left,t.width)),r=Math.max(0,Math.min(e.clientY-t.top,t.height));b(n/t.width,1-r/t.height)},M=e=>{let t=g.value;t&&y(Math.max(0,Math.min(e.clientY-t.top,t.height))/t.height*360)},N=e=>{A()&&(E(),p.value=!0,j(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},F=e=>{A()&&(D(),m.value=!0,M(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},I=()=>{p.value=!1},L=()=>{m.value=!1};return(0,u.useEventListener)(n,`pointermove`,e=>{p.value&&j(e)}),(0,u.useEventListener)(n,`pointerup`,I),(0,u.useEventListener)(n,`pointercancel`,I),(0,u.useEventListener)(n,`lostpointercapture`,I),(0,u.useEventListener)(r,`pointermove`,e=>{m.value&&M(e)}),(0,u.useEventListener)(r,`pointerup`,L),(0,u.useEventListener)(r,`pointercancel`,L),(0,u.useEventListener)(r,`lostpointercapture`,L),{hexColor:_,hueBackground:v,saturationPointerStyle:O,huePointerStyle:k,handleSaturationPointerDown:N,handleHuePointerDown:F,syncFromModelValue:S}},I=e=>{if(!e)return null;let t=e.$el;if(!(t instanceof HTMLElement))return null;let n=t.querySelector(`.s-ui-color-swatch__fill`);return n instanceof HTMLElement?n:null},L={class:`s-ui-color-area__canvas-row`},R=[`aria-label`],z=[`aria-label`,`aria-disabled`],B=(0,c.defineComponent)({__name:`SColorArea`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,c.useModel)(e,`modelValue`),{t:r}=(0,l.useUiKitI18n)(),i=(0,c.useTemplateRef)(`colorResolutionSwatchRef`),a=(0,c.useTemplateRef)(`saturationAreaRef`),o=(0,c.useTemplateRef)(`hueSliderRef`),s=()=>O(t.value,I(i.value)),u=(0,c.computed)(()=>n.a(t.value)),{hexColor:d,hueBackground:f,saturationPointerStyle:p,huePointerStyle:m,handleSaturationPointerDown:h,handleHuePointerDown:g}=F({modelValue:t,getEditableHex:s,saturationAreaRef:a,hueSliderRef:o,disabled:(0,c.toRef)(()=>e.disabled),readonly:(0,c.toRef)(()=>e.readonly)});return(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-area`,{"s-ui-color-area--disabled":e.disabled,"s-ui-color-area--readonly":e.readonly}]},t.$attrs),[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`colorResolutionSwatchRef`,ref:i,class:`s-ui-color-area__color-resolution`,color:u.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_24,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`]),(0,c.createElementVNode)(`div`,L,[(0,c.createElementVNode)(`div`,{ref_key:`saturationAreaRef`,ref:a,class:`s-ui-color-area__canvas`,role:`img`,"aria-label":(0,c.unref)(r)(`colorArea.saturationBrightness`),style:(0,c.normalizeStyle)({"--s-ui-color-area-hue":(0,c.unref)(f)}),onPointerdown:n[0]||=(...e)=>(0,c.unref)(h)&&(0,c.unref)(h)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__canvas-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(p),backgroundColor:(0,c.unref)(d)})},null,4)],44,R),(0,c.createElementVNode)(`div`,{ref_key:`hueSliderRef`,ref:o,class:`s-ui-color-area__hue`,role:`slider`,"aria-label":(0,c.unref)(r)(`colorArea.hue`),"aria-valuemin":`0`,"aria-valuemax":`360`,"aria-disabled":e.disabled||e.readonly,onPointerdown:n[1]||=(...e)=>(0,c.unref)(g)&&(0,c.unref)(g)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__hue-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(m),backgroundColor:(0,c.unref)(f)})},null,4)],40,z)])],16))}}),V={class:`s-ui-color-values__left`},H={class:`s-ui-color-values__format`},U={class:`s-ui-color-values__value-group`},W={class:`s-ui-color-values__inputs`},G={key:0,class:`s-ui-color-values__input-wrap`},K=[`disabled`,`readonly`,`aria-label`],q={class:`s-ui-color-values__input-wrap`},J=[`disabled`,`readonly`,`aria-label`],Y={class:`s-ui-color-values__input-wrap`},X=[`disabled`,`readonly`,`aria-label`],Z={class:`s-ui-color-values__input-wrap`},Q=[`disabled`,`readonly`,`aria-label`],$=(0,c.defineComponent)({__name:`SColorValues`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},formats:{default:()=>T}},{modelValue:{required:!0},modelModifiers:{},format:{default:t.o.HEX},formatModifiers:{}}),emits:(0,c.mergeModels)([`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`,`update:format`]),setup(e,{emit:a}){let{t:o}=(0,l.useUiKitI18n)(),u=(0,c.useModel)(e,`modelValue`),d=(0,c.useModel)(e,`format`),f=a,p=(0,c.useTemplateRef)(`previewSwatchRef`),m=(0,c.ref)(``),h=(0,c.ref)(`0`),g=(0,c.ref)(`0`),_=(0,c.ref)(`0`),v=(0,c.computed)(()=>(e.formats.length>0?e.formats:T).map(e=>({value:e,label:E[e]}))),y=(0,c.computed)(()=>n.a(u.value)),b=(0,c.computed)(()=>O(u.value,I(p.value))),x=(0,c.computed)(()=>d.value===t.o.RGB?o(`colorValues.redChannel`):o(`colorValues.hueChannel`)),S=(0,c.computed)(()=>d.value===t.o.RGB?o(`colorValues.greenChannel`):o(`colorValues.saturationChannel`)),C=(0,c.computed)(()=>d.value===t.o.RGB?o(`colorValues.blueChannel`):o(`colorValues.lightnessChannel`)),w=()=>{let e=b.value;if(!e)return;let n=k(e,d.value);if(d.value===t.o.HEX&&typeof n==`string`){m.value=n;return}typeof n==`object`&&(h.value=String(n.first),g.value=String(n.second),_.value=String(n.third))};(0,c.watch)([u,d,b],()=>{w()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{w()})});let D=()=>{if(e.disabled||e.readonly)return;if(d.value===t.o.HEX){let e=j(t.o.HEX,m.value);e&&(u.value=e),w();return}let n=j(d.value,{first:Number.parseInt(h.value,10),second:Number.parseInt(g.value,10),third:Number.parseInt(_.value,10)});n&&(u.value=n),w()},A=e=>{e.key===`Enter`&&(e.preventDefault(),D())};return(n,a)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-values`,{"s-ui-color-values--disabled":e.disabled,"s-ui-color-values--readonly":e.readonly}]},n.$attrs),[(0,c.createElementVNode)(`div`,V,[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`previewSwatchRef`,ref:p,class:`s-ui-color-values__preview`,color:y.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`,`disabled`]),(0,c.createElementVNode)(`div`,H,[(0,c.createVNode)((0,c.unref)(s.t),{modelValue:d.value,"onUpdate:modelValue":a[0]||=e=>d.value=e,class:`s-ui-color-values__format-select`,options:v.value,disabled:e.disabled,readonly:e.readonly,bordered:!0,clearable:!1,"close-on-select":!0,"fit-viewport":!1,"aria-label":(0,c.unref)(o)(`colorValues.format`),onOpen:a[1]||=e=>f(`formatDropdownOpen`),onClose:a[2]||=e=>f(`formatDropdownClose`)},null,8,[`modelValue`,`options`,`disabled`,`readonly`,`aria-label`])])]),(0,c.createElementVNode)(`div`,U,[(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-color-values__pipette`,appearance:(0,c.unref)(r.t).BARE,variant:(0,c.unref)(r.r).NEUTRAL,size:(0,c.unref)(r.n).SMALL,icon:`pipette`,"aria-label":(0,c.unref)(o)(`colorValues.pickColor`),"aria-disabled":`true`,disabled:e.disabled,tabindex:`-1`},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`]),a[9]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,W,[d.value===(0,c.unref)(t.o).HEX?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,G,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[3]||=e=>m.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`text`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":(0,c.unref)(o)(`colorValues.hexValue`),onBlur:D,onKeydown:A},null,40,K),[[c.vModelText,m.value]])])):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createElementVNode)(`div`,q,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[4]||=e=>h.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":x.value,onBlur:D,onKeydown:A},null,40,J),[[c.vModelText,h.value]])]),a[7]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Y,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[5]||=e=>g.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":S.value,onBlur:D,onKeydown:A},null,40,X),[[c.vModelText,g.value]])]),a[8]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Z,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[6]||=e=>_.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":C.value,onBlur:D,onKeydown:A},null,40,Q),[[c.vModelText,_.value]])])],64))])])],16))}}),ee={class:`s-ui-color-picker__section`},te={class:`s-ui-color-picker__label`},ne={class:`s-ui-color-picker__section`},re={class:`s-ui-color-picker__label`},ie={class:`s-ui-color-picker__custom-editor`},ae={class:`s-ui-color-picker__custom-actions`},oe=(0,c.defineComponent)({__name:`SColorPicker`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},recommendedColors:{},recentColors:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:(0,c.mergeModels)([`select`,`customEditorOpen`,`customEditorClose`,`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`]),setup(e,{emit:n}){let u=(0,c.useModel)(e,`modelValue`),d=n,{t:f}=(0,l.useUiKitI18n)(),p=(0,c.ref)(!1),m=(0,c.ref)(`#526DE3`),h=(0,c.ref)(t.o.HEX),g=(0,c.computed)(()=>e.recommendedColors&&e.recommendedColors.length>0?e.recommendedColors:t.r),_=(0,c.computed)(()=>e.recentColors.length<=17?e.recentColors:e.recentColors.slice(0,17)),v=()=>{if(u.value){m.value=u.value;return}m.value=`#526DE3`},y=e=>{d(`select`,e)},b=()=>{u.value=m.value,d(`select`,m.value),p.value=!1},x=()=>{p.value=!1};return(0,c.watch)(p,(e,t)=>{if(e&&!t){v(),d(`customEditorOpen`);return}!e&&t&&d(`customEditorClose`)}),(n,v)=>((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(s.r),(0,c.mergeProps)({width:336},n.$attrs),{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`s-ui-color-picker`,{"s-ui-color-picker--disabled":e.disabled}])},[(0,c.createElementVNode)(`section`,ee,[(0,c.createElementVNode)(`span`,te,(0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.recommendedColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:u.value,"onUpdate:modelValue":v[0]||=e=>u.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).GRID,colors:g.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:y},null,8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])]),(0,c.createElementVNode)(`section`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.recentColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:u.value,"onUpdate:modelValue":v[7]||=e=>u.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).ROW,colors:_.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:y},{append:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(o.t),{modelValue:p.value,"onUpdate:modelValue":v[6]||=e=>p.value=e,placement:(0,c.unref)(a.i).RIGHT_START,offset:8,shift:!0,flip:!0,disabled:e.disabled,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{trigger:(0,c.withCtx)(({toggle:t,triggerProps:n})=>[(0,c.createVNode)((0,c.unref)(i.t),(0,c.mergeProps)(n,{class:`s-ui-color-picker__add-button`,appearance:(0,c.unref)(r.t).OUTLINED,variant:(0,c.unref)(r.r).NEUTRAL,size:(0,c.unref)(r.n).SMALL,icon:`plus`,"aria-label":(0,c.unref)(f)(`colorPicker.addCustomColor`),disabled:e.disabled,onClick:t}),null,16,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),content:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(s.r),{width:320},{footer:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ae,[(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-color-picker__save-button`,appearance:(0,c.unref)(r.t).MAJOR,variant:(0,c.unref)(r.r).MAIN,size:(0,c.unref)(r.n).SMALL,disabled:e.disabled,onClick:b},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.save`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`]),(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-color-picker__cancel-button`,appearance:(0,c.unref)(r.t).MINOR,variant:(0,c.unref)(r.r).NEUTRAL,size:(0,c.unref)(r.n).SMALL,disabled:e.disabled,onClick:x},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.cancel`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`])])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ie,[(0,c.createVNode)(B,{modelValue:m.value,"onUpdate:modelValue":v[1]||=e=>m.value=e,disabled:e.disabled},null,8,[`modelValue`,`disabled`]),(0,c.createVNode)($,{modelValue:m.value,"onUpdate:modelValue":v[2]||=e=>m.value=e,format:h.value,"onUpdate:format":v[3]||=e=>h.value=e,disabled:e.disabled,onFormatDropdownOpen:v[4]||=e=>d(`formatDropdownOpen`),onFormatDropdownClose:v[5]||=e=>d(`formatDropdownClose`)},null,8,[`modelValue`,`format`,`disabled`])])]),_:1})]),_:1},8,[`modelValue`,`placement`,`disabled`])]),_:1},8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])])],2)]),_:1},16))}});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return oe}});
1
+ const e=require("./contrastSurfaceTextColor-BRjRzXyZ.cjs"),t=require("./SColorPalette-CqfVzhda.cjs"),n=require("./colorValue-Dda7fKd3.cjs"),r=require("./SButton.types-UKroD-ev.cjs"),i=require("./SButton-C-z_q5CG.cjs"),a=require("./useFloatingOverlay-B1UCUYQQ.cjs"),o=require("./SDropdown-LNVnMol3.cjs"),s=require("./SSelect-mFCdoFuO.cjs");let c=require("vue"),l=require("@shtabapp/ui-kit-primitives"),u=require("@vueuse/core");var d=e=>Math.max(0,Math.min(255,Math.round(e))),f=e=>{let t=e%360;return t<0?t+360:t},p=e=>Math.max(0,Math.min(100,Math.round(e))),m=e=>{let t=e.slice(1);if(t.length===3){let e=t[0],n=t[1],r=t[2];return!e||!n||!r?void 0:`${e}${e}${n}${n}${r}${r}`}if(t.length===6||t.length===8)return t.slice(0,6)},h=e=>{let t=m(e);if(!t)return;let n=Number.parseInt(t.slice(0,2),16),r=Number.parseInt(t.slice(2,4),16),i=Number.parseInt(t.slice(4,6),16);if(!(Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)))return{first:n,second:r,third:i}},g=e=>{let t=d(e.first),n=d(e.second),r=d(e.third);return`#${t.toString(16).padStart(2,`0`).toUpperCase()}${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}`},_=e=>{let t=h(e);if(!t)return;let n=t.first/255,r=t.second/255,i=t.third/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=a-o,c=0,l=(a+o)/2;s!==0&&(c=a===n?((r-i)/s+(r<i?6:0))*60:a===r?((i-n)/s+2)*60:((n-r)/s+4)*60);let u=0;return s!==0&&(u=l>.5?s/(2-a-o):s/(a+o)),{first:Math.round(c),second:Math.round(u*100),third:Math.round(l*100)}},v=e=>{let t=f(e.first),n=p(e.second)/100,r=p(e.third)/100,i=e=>{let i=(t+e)/30;return d((r-n*Math.min(r,1-r)*Math.max(-1,Math.min(i%2-1,1)))*255)};return g({first:i(0),second:i(8),third:i(4)})},y=t=>{let n=t.toUpperCase(),r=n.startsWith(`#`)?n.slice(1):n;if(!/^[0-9A-F]{3}$/.test(r)&&!/^[0-9A-F]{6}$/.test(r))return;let i=`#${r}`;if(e.n(i))return g(h(i)??{first:0,second:0,third:0})},b=e=>e.slice(1).toUpperCase(),x=e=>{let t=e.first/255,n=e.second/255,r=e.third/255,i=Math.max(t,n,r),a=i-Math.min(t,n,r),o=0;a!==0&&(o=i===t?(n-r)/a%6:i===n?(r-t)/a+2:(t-n)/a+4,o=Math.round(o*60),o<0&&(o+=360));let s=i===0?0:a/i;return{hue:o,saturation:s,value:i}},S=e=>{let t=e.value*e.saturation,n=e.hue/60,r=t*(1-Math.abs(n%2-1)),i=e.value-t,a=0,o=0,s=0;return n>=0&&n<1?(a=t,o=r):n>=1&&n<2?(a=r,o=t):n>=2&&n<3?(o=t,s=r):n>=3&&n<4?(o=r,s=t):n>=4&&n<5?(a=r,s=t):(a=t,s=r),{first:d((a+i)*255),second:d((o+i)*255),third:d((s+i)*255)}},C=e=>{let t=h(e);if(t)return x(t)},w=e=>g(S(e)),T=[t.o.HEX,t.o.RGB,t.o.HSL],E={[t.o.HEX]:`Hex`,[t.o.RGB]:`RGB`,[t.o.HSL]:`HSL`},D=e=>{let t=getComputedStyle(e).backgroundColor.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(!t)return;let n=Number.parseInt(t[1]??`0`,10),r=Number.parseInt(t[2]??`0`,10),i=Number.parseInt(t[3]??`0`,10);return`#${n.toString(16).padStart(2,`0`).toUpperCase()}${r.toString(16).padStart(2,`0`).toUpperCase()}${i.toString(16).padStart(2,`0`).toUpperCase()}`},O=(t,r)=>{if(n.n(t)&&e.n(t))return t;if(r)return D(r)},k=(e,n)=>n===t.o.HEX?b(e):n===t.o.RGB?h(e)??{first:0,second:0,third:0}:_(e)??{first:0,second:0,third:0},A=e=>{let t=Number.parseInt(e,10);if(!Number.isNaN(t))return t},j=(e,n)=>{if(e===t.o.HEX)return typeof n==`string`?y(n):void 0;if(typeof n==`string`)return;if(e===t.o.RGB){let e=g({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});return h(e)?e:void 0}let r=v({first:A(String(n.first))??0,second:A(String(n.second))??0,third:A(String(n.third))??0});if(r&&_(r))return r},M=17,N=`#000000`,P=e=>e??N,F=({modelValue:e,getEditableHex:t,saturationAreaRef:n,hueSliderRef:r,disabled:i,readonly:a})=>{let o=C(P(t()))??{hue:0,saturation:0,value:0},s=(0,c.ref)(o.hue),l=(0,c.ref)(o.saturation),d=(0,c.ref)(o.value),f=(0,c.ref)(!1),p=(0,c.ref)(!1),m=(0,c.ref)(!1),h=(0,c.shallowRef)(null),g=(0,c.shallowRef)(null),_=(0,c.computed)(()=>w({hue:s.value,saturation:l.value,value:d.value})),v=(0,c.computed)(()=>w({hue:s.value,saturation:1,value:1})),y=e=>{s.value=Math.max(0,Math.min(360,e))},b=(e,t)=>{l.value=Math.max(0,Math.min(1,e)),d.value=Math.max(0,Math.min(1,t))},x=e=>{let t=C(P(e));t&&(f.value=!0,t.saturation>0&&(s.value=t.hue),l.value=t.saturation,d.value=t.value,f.value=!1)},S=()=>{let e=t();e&&e.toUpperCase()!==_.value.toUpperCase()&&x(e)},T=()=>{let n=_.value;t()?.toUpperCase()!==n.toUpperCase()&&(f.value=!0,e.value=n,f.value=!1)};(0,c.watch)([s,l,d],()=>{f.value||T()}),(0,c.watch)(e,()=>{f.value||S()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{E(),D(),S()})});let E=()=>{h.value=n.value?.getBoundingClientRect()??null},D=()=>{g.value=r.value?.getBoundingClientRect()??null},O=(0,c.computed)(()=>{let e=h.value;return e?{transform:`translate3d(calc(${l.value*e.width}px - 50%), calc(${(1-d.value)*e.height}px - 50%), 0)`}:{}}),k=(0,c.computed)(()=>{let e=g.value;return e?{transform:`translate3d(-50%, calc(${s.value/360*e.height}px - 50%), 0)`}:{}}),A=()=>!i.value&&!a.value,j=e=>{let t=h.value;if(!t)return;let n=Math.max(0,Math.min(e.clientX-t.left,t.width)),r=Math.max(0,Math.min(e.clientY-t.top,t.height));b(n/t.width,1-r/t.height)},M=e=>{let t=g.value;t&&y(Math.max(0,Math.min(e.clientY-t.top,t.height))/t.height*360)},N=e=>{A()&&(E(),p.value=!0,j(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},F=e=>{A()&&(D(),m.value=!0,M(e),e.currentTarget instanceof HTMLElement&&e.currentTarget.setPointerCapture(e.pointerId))},I=()=>{p.value=!1},L=()=>{m.value=!1};return(0,u.useEventListener)(n,`pointermove`,e=>{p.value&&j(e)}),(0,u.useEventListener)(n,`pointerup`,I),(0,u.useEventListener)(n,`pointercancel`,I),(0,u.useEventListener)(n,`lostpointercapture`,I),(0,u.useEventListener)(r,`pointermove`,e=>{m.value&&M(e)}),(0,u.useEventListener)(r,`pointerup`,L),(0,u.useEventListener)(r,`pointercancel`,L),(0,u.useEventListener)(r,`lostpointercapture`,L),{hexColor:_,hueBackground:v,saturationPointerStyle:O,huePointerStyle:k,handleSaturationPointerDown:N,handleHuePointerDown:F,syncFromModelValue:S}},I=e=>{if(!e)return null;let t=e.$el;if(!(t instanceof HTMLElement))return null;let n=t.querySelector(`.s-ui-color-swatch__fill`);return n instanceof HTMLElement?n:null},L={class:`s-ui-color-area__canvas-row`},R=[`aria-label`],z=[`aria-label`,`aria-disabled`],B=(0,c.defineComponent)({__name:`SColorArea`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,c.useModel)(e,`modelValue`),{t:r}=(0,l.useUiKitI18n)(),i=(0,c.useTemplateRef)(`colorResolutionSwatchRef`),a=(0,c.useTemplateRef)(`saturationAreaRef`),o=(0,c.useTemplateRef)(`hueSliderRef`),s=()=>O(t.value,I(i.value)),u=(0,c.computed)(()=>n.a(t.value)),{hexColor:d,hueBackground:f,saturationPointerStyle:p,huePointerStyle:m,handleSaturationPointerDown:h,handleHuePointerDown:g}=F({modelValue:t,getEditableHex:s,saturationAreaRef:a,hueSliderRef:o,disabled:(0,c.toRef)(()=>e.disabled),readonly:(0,c.toRef)(()=>e.readonly)});return(t,n)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-area`,{"s-ui-color-area--disabled":e.disabled,"s-ui-color-area--readonly":e.readonly}]},t.$attrs),[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`colorResolutionSwatchRef`,ref:i,class:`s-ui-color-area__color-resolution`,color:u.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_24,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`]),(0,c.createElementVNode)(`div`,L,[(0,c.createElementVNode)(`div`,{ref_key:`saturationAreaRef`,ref:a,class:`s-ui-color-area__canvas`,role:`img`,"aria-label":(0,c.unref)(r)(`colorArea.saturationBrightness`),style:(0,c.normalizeStyle)({"--s-ui-color-area-hue":(0,c.unref)(f)}),onPointerdown:n[0]||=(...e)=>(0,c.unref)(h)&&(0,c.unref)(h)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__canvas-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(p),backgroundColor:(0,c.unref)(d)})},null,4)],44,R),(0,c.createElementVNode)(`div`,{ref_key:`hueSliderRef`,ref:o,class:`s-ui-color-area__hue`,role:`slider`,"aria-label":(0,c.unref)(r)(`colorArea.hue`),"aria-valuemin":`0`,"aria-valuemax":`360`,"aria-disabled":e.disabled||e.readonly,onPointerdown:n[1]||=(...e)=>(0,c.unref)(g)&&(0,c.unref)(g)(...e)},[(0,c.createElementVNode)(`div`,{class:`s-ui-color-area__hue-pointer`,style:(0,c.normalizeStyle)({...(0,c.unref)(m),backgroundColor:(0,c.unref)(f)})},null,4)],40,z)])],16))}}),V={class:`s-ui-color-values__left`},H={class:`s-ui-color-values__format`},U={class:`s-ui-color-values__value-group`},W={class:`s-ui-color-values__inputs`},G={key:0,class:`s-ui-color-values__input-wrap`},K=[`disabled`,`readonly`,`aria-label`],q={class:`s-ui-color-values__input-wrap`},J=[`disabled`,`readonly`,`aria-label`],Y={class:`s-ui-color-values__input-wrap`},X=[`disabled`,`readonly`,`aria-label`],Z={class:`s-ui-color-values__input-wrap`},Q=[`disabled`,`readonly`,`aria-label`],$=(0,c.defineComponent)({__name:`SColorValues`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},formats:{default:()=>T}},{modelValue:{required:!0},modelModifiers:{},format:{default:t.o.HEX},formatModifiers:{}}),emits:(0,c.mergeModels)([`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`,`update:format`]),setup(e,{emit:a}){let{t:o}=(0,l.useUiKitI18n)(),u=(0,c.useModel)(e,`modelValue`),d=(0,c.useModel)(e,`format`),f=a,p=(0,c.useTemplateRef)(`previewSwatchRef`),m=(0,c.ref)(``),h=(0,c.ref)(`0`),g=(0,c.ref)(`0`),_=(0,c.ref)(`0`),v=(0,c.computed)(()=>(e.formats.length>0?e.formats:T).map(e=>({value:e,label:E[e]}))),y=(0,c.computed)(()=>n.a(u.value)),b=(0,c.computed)(()=>O(u.value,I(p.value))),x=(0,c.computed)(()=>d.value===t.o.RGB?o(`colorValues.redChannel`):o(`colorValues.hueChannel`)),S=(0,c.computed)(()=>d.value===t.o.RGB?o(`colorValues.greenChannel`):o(`colorValues.saturationChannel`)),C=(0,c.computed)(()=>d.value===t.o.RGB?o(`colorValues.blueChannel`):o(`colorValues.lightnessChannel`)),w=()=>{let e=b.value;if(!e)return;let n=k(e,d.value);if(d.value===t.o.HEX&&typeof n==`string`){m.value=n;return}typeof n==`object`&&(h.value=String(n.first),g.value=String(n.second),_.value=String(n.third))};(0,c.watch)([u,d,b],()=>{w()}),(0,c.onMounted)(()=>{(0,c.nextTick)(()=>{w()})});let D=()=>{if(e.disabled||e.readonly)return;if(d.value===t.o.HEX){let e=j(t.o.HEX,m.value);e&&(u.value=e),w();return}let n=j(d.value,{first:Number.parseInt(h.value,10),second:Number.parseInt(g.value,10),third:Number.parseInt(_.value,10)});n&&(u.value=n),w()},A=e=>{e.key===`Enter`&&(e.preventDefault(),D())};return(n,a)=>((0,c.openBlock)(),(0,c.createElementBlock)(`div`,(0,c.mergeProps)({class:[`s-ui-color-values`,{"s-ui-color-values--disabled":e.disabled,"s-ui-color-values--readonly":e.readonly}]},n.$attrs),[(0,c.createElementVNode)(`div`,V,[(0,c.createVNode)((0,c.unref)(l.SColorSwatch),{ref_key:`previewSwatchRef`,ref:p,class:`s-ui-color-values__preview`,color:y.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,tabindex:`-1`,"aria-hidden":`true`},null,8,[`color`,`size`,`disabled`]),(0,c.createElementVNode)(`div`,H,[(0,c.createVNode)((0,c.unref)(s.t),{modelValue:d.value,"onUpdate:modelValue":a[0]||=e=>d.value=e,class:`s-ui-color-values__format-select`,options:v.value,disabled:e.disabled,readonly:e.readonly,bordered:!0,clearable:!1,"close-on-select":!0,"fit-viewport":!1,"aria-label":(0,c.unref)(o)(`colorValues.format`),onOpen:a[1]||=e=>f(`formatDropdownOpen`),onClose:a[2]||=e=>f(`formatDropdownClose`)},null,8,[`modelValue`,`options`,`disabled`,`readonly`,`aria-label`])])]),(0,c.createElementVNode)(`div`,U,[(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-color-values__pipette`,appearance:(0,c.unref)(r.t).BARE,variant:(0,c.unref)(r.r).NEUTRAL,size:(0,c.unref)(r.n).SMALL,icon:`pipette`,"aria-label":(0,c.unref)(o)(`colorValues.pickColor`),"aria-disabled":`true`,disabled:e.disabled,tabindex:`-1`},null,8,[`appearance`,`variant`,`size`,`aria-label`,`disabled`]),a[9]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,W,[d.value===(0,c.unref)(t.o).HEX?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,G,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[3]||=e=>m.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`text`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":(0,c.unref)(o)(`colorValues.hexValue`),onBlur:D,onKeydown:A},null,40,K),[[c.vModelText,m.value]])])):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createElementVNode)(`div`,q,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[4]||=e=>h.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":x.value,onBlur:D,onKeydown:A},null,40,J),[[c.vModelText,h.value]])]),a[7]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Y,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[5]||=e=>g.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":S.value,onBlur:D,onKeydown:A},null,40,X),[[c.vModelText,g.value]])]),a[8]||=(0,c.createElementVNode)(`span`,{class:`s-ui-color-values__separator`,"aria-hidden":`true`},null,-1),(0,c.createElementVNode)(`div`,Z,[(0,c.withDirectives)((0,c.createElementVNode)(`input`,{"onUpdate:modelValue":a[6]||=e=>_.value=e,class:`s-ui-color-values__input s-ui-typography-body-14-regular`,type:`text`,inputmode:`numeric`,spellcheck:`false`,disabled:e.disabled,readonly:e.readonly,"aria-label":C.value,onBlur:D,onKeydown:A},null,40,Q),[[c.vModelText,_.value]])])],64))])])],16))}}),ee={class:`s-ui-color-picker__section`},te={class:`s-ui-color-picker__label`},ne={class:`s-ui-color-picker__section`},re={class:`s-ui-color-picker__label`},ie={class:`s-ui-color-picker__custom-editor`},ae={class:`s-ui-color-picker__custom-actions`},oe=(0,c.defineComponent)({__name:`SColorPicker`,props:(0,c.mergeModels)({disabled:{type:Boolean,default:!1},recommendedColors:{},recentColors:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:(0,c.mergeModels)([`select`,`customEditorOpen`,`customEditorClose`,`formatDropdownOpen`,`formatDropdownClose`],[`update:modelValue`]),setup(e,{emit:n}){let u=(0,c.useModel)(e,`modelValue`),d=n,{t:f}=(0,l.useUiKitI18n)(),p=(0,c.ref)(!1),m=(0,c.ref)(`#526DE3`),h=(0,c.ref)(t.o.HEX),g=(0,c.computed)(()=>e.recommendedColors&&e.recommendedColors.length>0?e.recommendedColors:t.r),_=(0,c.computed)(()=>e.recentColors.length<=17?e.recentColors:e.recentColors.slice(0,17)),v=()=>{if(u.value){m.value=u.value;return}m.value=`#526DE3`},y=e=>{d(`select`,e)},b=()=>{u.value=m.value,d(`select`,m.value),p.value=!1},x=()=>{p.value=!1};return(0,c.watch)(p,(e,t)=>{if(e&&!t){v(),d(`customEditorOpen`);return}!e&&t&&d(`customEditorClose`)}),(n,v)=>((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(s.r),(0,c.mergeProps)({width:336},n.$attrs),{default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`s-ui-color-picker`,{"s-ui-color-picker--disabled":e.disabled}])},[(0,c.createElementVNode)(`section`,ee,[(0,c.createElementVNode)(`span`,te,(0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.recommendedColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:u.value,"onUpdate:modelValue":v[0]||=e=>u.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).GRID,colors:g.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:y},null,8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])]),(0,c.createElementVNode)(`section`,ne,[(0,c.createElementVNode)(`span`,re,(0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.recentColors`)),1),(0,c.createVNode)((0,c.unref)(t.t),{modelValue:u.value,"onUpdate:modelValue":v[7]||=e=>u.value=e,class:`s-ui-color-picker__palette`,layout:(0,c.unref)(t.n).ROW,colors:_.value,size:(0,c.unref)(l.ESColorSwatchSize).SIZE_32,disabled:e.disabled,onSelect:y},{append:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(o.t),{modelValue:p.value,"onUpdate:modelValue":v[6]||=e=>p.value=e,placement:(0,c.unref)(a.i).RIGHT_START,offset:8,shift:!0,flip:!0,disabled:e.disabled,"dismiss-on-click-outside":!0,"dismiss-on-escape":!0},{trigger:(0,c.withCtx)(({toggle:t,triggerProps:n})=>[(0,c.createVNode)((0,c.unref)(i.t),(0,c.mergeProps)(n,{class:`s-ui-color-picker__add-button`,appearance:(0,c.unref)(r.t).OUTLINED,variant:(0,c.unref)(r.r).NEUTRAL,size:(0,c.unref)(r.n).SMALL,icon:`plus`,"aria-label":(0,c.unref)(f)(`colorPicker.addCustomColor`),disabled:e.disabled,onClick:t}),null,16,[`appearance`,`variant`,`size`,`aria-label`,`disabled`,`onClick`])]),content:(0,c.withCtx)(()=>[(0,c.createVNode)((0,c.unref)(s.r),{width:320},{footer:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ae,[(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-color-picker__save-button`,appearance:(0,c.unref)(r.t).MAJOR,variant:(0,c.unref)(r.r).MAIN,size:(0,c.unref)(r.n).SMALL,disabled:e.disabled,onClick:b},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.save`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`]),(0,c.createVNode)((0,c.unref)(i.t),{class:`s-ui-color-picker__cancel-button`,appearance:(0,c.unref)(r.t).MINOR,variant:(0,c.unref)(r.r).NEUTRAL,size:(0,c.unref)(r.n).SMALL,disabled:e.disabled,onClick:x},{default:(0,c.withCtx)(()=>[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(f)(`colorPicker.cancel`)),1)]),_:1},8,[`appearance`,`variant`,`size`,`disabled`])])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,ie,[(0,c.createVNode)(B,{modelValue:m.value,"onUpdate:modelValue":v[1]||=e=>m.value=e,disabled:e.disabled},null,8,[`modelValue`,`disabled`]),(0,c.createVNode)($,{modelValue:m.value,"onUpdate:modelValue":v[2]||=e=>m.value=e,format:h.value,"onUpdate:format":v[3]||=e=>h.value=e,disabled:e.disabled,onFormatDropdownOpen:v[4]||=e=>d(`formatDropdownOpen`),onFormatDropdownClose:v[5]||=e=>d(`formatDropdownClose`)},null,8,[`modelValue`,`format`,`disabled`])])]),_:1})]),_:1},8,[`modelValue`,`placement`,`disabled`])]),_:1},8,[`modelValue`,`layout`,`colors`,`size`,`disabled`])])],2)]),_:1},16))}});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return oe}});
@@ -4,8 +4,8 @@ import { a, n as o } from "./colorValue-CSh0chxp.js";
4
4
  import { n as s, r as c, t as l } from "./SButton.types-CpdHQtyx.js";
5
5
  import { t as u } from "./SButton-DnU_XZ1C.js";
6
6
  import { i as d } from "./useFloatingOverlay-QcumEYEq.js";
7
- import { t as f } from "./SDropdown-CTQ5Qlez.js";
8
- import { r as p, t as m } from "./SSelect-8RPurgr-.js";
7
+ import { t as f } from "./SDropdown-LOTCtlCX.js";
8
+ import { r as p, t as m } from "./SSelect-fLtErA7p.js";
9
9
  import { Fragment as h, computed as g, createBlock as _, createElementBlock as v, createElementVNode as y, createTextVNode as b, createVNode as x, defineComponent as S, mergeModels as C, mergeProps as w, nextTick as T, normalizeClass as E, normalizeStyle as D, onMounted as O, openBlock as k, ref as A, shallowRef as j, toDisplayString as M, toRef as N, unref as P, useModel as F, useTemplateRef as I, vModelText as L, watch as R, withCtx as z, withDirectives as B } from "vue";
10
10
  import { ESColorSwatchSize as V, SColorSwatch as ee, useUiKitI18n as H } from "@shtabapp/ui-kit-primitives";
11
11
  import { useEventListener as U } from "@vueuse/core";
@@ -0,0 +1 @@
1
+ const e=require("./useFloatingOverlay-B1UCUYQQ.cjs");let t=require("vue"),n=require("@shtabapp/ui-kit-primitives"),r=require("@vueuse/core");var i=768,a=e=>{let n=(0,t.ref)(e.value),r=(0,t.ref)(e.value);return(0,t.watch)(e,e=>{if(e){n.value=!0,r.value=!0;return}n.value=!1},{flush:`sync`}),{isPanelShown:n,isPanelActive:r,handlePanelAfterLeave:()=>{e.value||(r.value=!1)}}},o=(e,n)=>{let i=(0,r.useMediaQuery)((0,t.computed)(()=>`(max-width: ${((0,t.toValue)(n)||768)-.02}px)`));return(0,t.computed)(()=>(0,t.toValue)(e)&&i.value)},s=e=>{if(!e)return null;let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return e;let n=e.firstElementChild;return n instanceof HTMLElement?n:e},c={OVERDRAG_LIMIT:50,CLOSE_DISTANCE_RATIO:.3,CLOSE_DISTANCE_LIMIT:140,CLOSE_VELOCITY:.5,SETTLE_TIMEOUT:400,INTERACTIVE_SELECTOR:`button, a[href], input, select, textarea, [role="button"], [contenteditable="true"]`},l=e=>{let n=(0,t.shallowRef)(0),i=(0,t.shallowRef)(!1),a=(0,t.shallowRef)(!1),o=null,s=0,l=0,u=0,d=0,f=0,p,m=(0,t.computed)(()=>i.value||a.value),h=()=>{clearTimeout(p),p=void 0,a.value=!1},g=()=>{a.value=!0,clearTimeout(p),p=setTimeout(h,c.SETTLE_TIMEOUT)},_=()=>{o=null,n.value=0,i.value=!1,h()},v=()=>(0,t.toValue)(e.popup)?.offsetHeight??0,y=()=>{let e=d-s;if(e<=0)return!1;let t=f-u;return(t>0?(d-l)/t:0)>=c.CLOSE_VELOCITY?!0:e>=Math.min(v()*c.CLOSE_DISTANCE_RATIO,c.CLOSE_DISTANCE_LIMIT)},b=e=>{o===null&&(e.pointerType===`mouse`&&e.button!==0||e.target instanceof Element&&e.target.closest(c.INTERACTIVE_SELECTOR)||(o=e.pointerId,s=e.clientY,d=e.clientY,l=e.clientY,f=e.timeStamp,u=e.timeStamp,h(),i.value=!0))},x=e=>{o===e.pointerId&&(l=d,u=f,d=e.clientY,f=e.timeStamp,n.value=Math.max(e.clientY-s,-c.OVERDRAG_LIMIT))},S=t=>{if(o===t.pointerId){if(o=null,i.value=!1,y()){a.value=!0,n.value=v()+c.OVERDRAG_LIMIT,e.onClose();return}if(n.value===0){h();return}g(),n.value=0}};return(0,r.useEventListener)(()=>(0,t.toValue)(e.handle),`pointerdown`,b),(0,r.useEventListener)(window,`pointermove`,x),(0,r.useEventListener)(window,`pointerup`,S),(0,r.useEventListener)(window,`pointercancel`,S),(0,r.useEventListener)(()=>(0,t.toValue)(e.popup),`transitionend`,e=>{e.propertyName!==`transform`||i.value||n.value!==0||h()}),(0,t.onScopeDispose)(()=>{clearTimeout(p)}),{isActive:m,popupStyles:(0,t.computed)(()=>{if(m.value)return{transform:`translate3d(0, ${n.value}px, 0)`,transition:a.value?`transform var(--s-ui-transition-duration-slow) var(--s-ui-transition-easing-standard)`:`none`}}),reset:_}},u=[`aria-label`],d={class:`s-ui-dropdown-sheet__side`},f={class:`s-ui-dropdown-sheet__title`},p={class:`s-ui-dropdown-sheet__side s-ui-dropdown-sheet__side--end`},m=[`id`],h=(0,t.defineComponent)({__name:`SDropdownSheet`,props:{open:{type:Boolean},title:{default:``},dismissOnOverlayClick:{type:Boolean,default:!0},dismissOnEscape:{type:Boolean,default:!0},contentId:{}},emits:[`close`],setup(e,{emit:i}){let a=i,{t:o}=(0,n.useUiKitI18n)(),s=(0,t.useTemplateRef)(`popupRef`),c=(0,t.useTemplateRef)(`headerRef`),h=()=>a(`close`),{isActive:g,popupStyles:_,reset:v}=l({handle:c,popup:s,onClose:h}),y=(0,r.useScrollLock)(()=>typeof document>`u`?null:document.body),b=()=>{e.dismissOnOverlayClick&&h()},x=e=>{g.value&&e.stopPropagation()},S=()=>v(),C=null,w=()=>{let e=document.activeElement;C=e instanceof HTMLElement?e:null},T=async()=>{await(0,t.nextTick)();let e=s.value;!e||e.contains(document.activeElement)||e.focus({preventScroll:!0})},E=()=>{let e=C,t=!!s.value?.contains(document.activeElement);C=null,!(!t||!e?.isConnected)&&e.focus({preventScroll:!0})};return(0,t.watch)(()=>e.open,e=>{if(y.value=e,e){w(),T();return}E()},{immediate:!0}),(0,r.useEventListener)(window,`keydown`,t=>{!e.open||!e.dismissOnEscape||t.key!==`Escape`||h()}),(0,t.onBeforeUnmount)(()=>{y.value=!1}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{name:`s-ui-dropdown-sheet`,onAfterLeave:S},{default:(0,t.withCtx)(()=>[e.open?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`s-ui-dropdown-sheet`,onClick:b},[(0,t.createElementVNode)(`div`,{ref_key:`popupRef`,ref:s,class:`s-ui-dropdown-sheet__popup`,style:(0,t.normalizeStyle)((0,t.unref)(_)),role:`dialog`,"aria-modal":`true`,"aria-label":e.title||(0,t.unref)(o)(`dropdown.sheet`),tabindex:`-1`,onClickCapture:x,onClick:r[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`header`,{ref_key:`headerRef`,ref:c,class:`s-ui-dropdown-sheet__header`},[r[1]||=(0,t.createElementVNode)(`span`,{class:`s-ui-dropdown-sheet__handle`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`div`,d,[(0,t.renderSlot)(n.$slots,`header-left`)]),(0,t.createElementVNode)(`div`,f,(0,t.toDisplayString)(e.title),1),(0,t.createElementVNode)(`div`,p,[(0,t.renderSlot)(n.$slots,`header-right`)])],512),(0,t.createElementVNode)(`div`,{id:e.contentId,class:`s-ui-dropdown-sheet__content`},[(0,t.renderSlot)(n.$slots,`default`)],8,m)],44,u)])):(0,t.createCommentVNode)(``,!0)]),_:3}))}}),g=[`id`],_=[`data-placement`],v={class:`s-ui-dropdown__content`},y=(0,t.defineComponent)({inheritAttrs:!1,__name:`SDropdown`,props:(0,t.mergeModels)({placement:{default:()=>e.i.BOTTOM_START},offset:{default:8},flip:{type:Boolean,default:!0},shift:{type:Boolean,default:!1},matchReferenceWidth:{type:Boolean,default:!1},fitViewport:{type:Boolean,default:!1},surfaceClass:{},teleportTo:{type:[String,Boolean],default:`body`},dismissOnClickOutside:{type:Boolean,default:!0},dismissOnEscape:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},reference:{default:null},contentId:{},viewportPadding:{default:8},arrow:{type:Boolean,default:!1},showOnHover:{type:Boolean,default:!1},hoverLeaveDelay:{default:100},sheet:{type:Boolean,default:!0},sheetBreakpoint:{default:()=>768},sheetTitle:{default:``}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(n,{expose:i}){let c=(0,t.useModel)(n,`modelValue`),l=o(()=>n.sheet,()=>n.sheetBreakpoint),{isPanelShown:u,isPanelActive:d,handlePanelAfterLeave:f}=a(c),p=e=>{c.value=e},m=()=>p(!1),y=(0,t.useSlots)(),b=(0,t.useTemplateRef)(`triggerWrapperRef`),x=(0,t.useTemplateRef)(`panelRef`),S=(0,t.useId)(),C=(0,t.useId)(),w=(0,t.computed)(()=>n.contentId??S),T=(0,t.computed)(()=>y.trigger?s(b.value):n.reference),E=(0,t.computed)(()=>n.teleportTo!==!1),D=(0,t.computed)(()=>n.teleportTo===!1?`body`:n.teleportTo),O=e.i.BOTTOM_START,k=()=>{n.disabled||p(!0)},A=()=>{n.disabled||(c.value=!c.value)},j=(0,t.computed)(()=>({id:C,"aria-expanded":c.value,"aria-haspopup":`dialog`,"aria-controls":w.value})),{panelStyles:M,panelMaxHeight:N,resolvedPlacement:P,arrowStyles:F,isArrowOverflow:I,isPositionReady:L,updatePosition:R}=e.t({open:()=>d.value&&!l.value,onOpenChange:p,reference:()=>T.value,panel:()=>x.value,placement:()=>n.placement,offset:()=>n.offset,flip:()=>n.flip,shift:()=>n.shift,matchReferenceWidth:()=>n.matchReferenceWidth,fitViewport:()=>n.fitViewport,dismissOnClickOutside:()=>n.dismissOnClickOutside,dismissOnEscape:()=>n.dismissOnEscape,viewportPadding:()=>n.viewportPadding,arrow:()=>n.arrow}),z=(0,t.computed)(()=>n.showOnHover&&!l.value),B=(0,t.computed)(()=>z.value?T.value:null),V=(0,t.computed)(()=>z.value?x.value:null),H=(0,r.useElementHover)(B,{delayLeave:n.hoverLeaveDelay}),U=(0,r.useElementHover)(V,{delayLeave:n.hoverLeaveDelay});(0,t.watch)([H,U,z,()=>n.disabled],()=>{if(z.value){if(n.disabled){p(!1);return}p(H.value||U.value)}});let W=(0,t.computed)(()=>!!N.value),G=(0,t.computed)(()=>{if(N.value)return{maxHeight:`${N.value}px`}});return(0,t.watch)(()=>n.disabled,e=>{e&&c.value&&(c.value=!1)}),i({updatePosition:R,show:k,close:m,toggle:A}),(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.unref)(y).trigger?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,(0,t.mergeProps)({key:0,ref_key:`triggerWrapperRef`,ref:b,class:`s-ui-dropdown`},e.$attrs),[(0,t.renderSlot)(e.$slots,`trigger`,{open:c.value,toggle:A,close:m,isSheet:(0,t.unref)(l),triggerProps:j.value})],16)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:D.value,disabled:!E.value},[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createBlock)(h,{key:0,open:c.value,title:n.sheetTitle,"dismiss-on-overlay-click":n.dismissOnClickOutside,"dismiss-on-escape":n.dismissOnEscape,"content-id":w.value,onClose:m},{"header-left":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`sheet-header-left`,{close:m})]),"header-right":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`sheet-header-right`,{close:m})]),default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`content`,{resolvedPlacement:(0,t.unref)(O),isSheet:!0,close:m})]),_:3},8,[`open`,`title`,`dismiss-on-overlay-click`,`dismiss-on-escape`,`content-id`])):((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{key:1,name:`s-ui-dropdown`,onAfterLeave:(0,t.unref)(f)},{default:(0,t.withCtx)(()=>[(0,t.unref)(u)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:w.value,ref_key:`panelRef`,ref:x,class:(0,t.normalizeClass)([`s-ui-dropdown__panel`,{"s-ui-dropdown__panel--match-reference-width":n.matchReferenceWidth,"s-ui-dropdown__panel--ready":(0,t.unref)(L)}]),style:(0,t.normalizeStyle)((0,t.unref)(M)),role:`dialog`},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`s-ui-dropdown__surface`,[n.surfaceClass,{"s-ui-dropdown__surface--fit-viewport":W.value,"s-ui-dropdown__surface--with-arrow":n.arrow}]]),style:(0,t.normalizeStyle)(G.value),"data-placement":(0,t.unref)(P)},[n.arrow?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`s-ui-dropdown__arrow`,{"s-ui-dropdown__arrow--overflow":(0,t.unref)(I)}]),style:(0,t.normalizeStyle)((0,t.unref)(F)),"aria-hidden":`true`},[...r[0]||=[(0,t.createElementVNode)(`span`,{class:`s-ui-dropdown__arrow-outer`},null,-1),(0,t.createElementVNode)(`span`,{class:`s-ui-dropdown__arrow-inner`},null,-1)]],6)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,v,[(0,t.renderSlot)(e.$slots,`content`,{resolvedPlacement:(0,t.unref)(P),isSheet:!1,close:m})])],14,_)],14,g)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`onAfterLeave`]))],8,[`to`,`disabled`]))],64))}});Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return y}});