@shtabapp/ui-kit 1.33.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/SColorPalette-B9WrqgRz.js +146 -0
- package/dist/SColorPalette-CYGnmIWP.cjs +1 -0
- package/dist/SColorPicker-Cs0QmYWm.js +635 -0
- package/dist/SColorPicker-D7QwVS2t.cjs +1 -0
- package/dist/{SDropdown-Cv729__Y.js → SDropdown-CTQ5Qlez.js} +50 -49
- package/dist/SDropdown-_QUOP-rw.cjs +1 -0
- package/dist/{SSelect-CZe3djdm.js → SSelect-AcH04gtk.js} +17 -17
- package/dist/{SSelect-DAPSmCWf.cjs → SSelect-CT3AMH-u.cjs} +1 -1
- package/dist/{STag-L6B4DxOx.js → STag-COwzellL.js} +36 -35
- package/dist/STag-HgFvU1Iy.cjs +1 -0
- package/dist/{STagGroup-BMGq6jB5.cjs → STagGroup-CKxDA9Y0.cjs} +1 -1
- package/dist/{STagGroup-DWsu0ket.js → STagGroup-Cbe0AENj.js} +1 -1
- package/dist/colorValue-DClAEDHr.cjs +1 -0
- package/dist/colorValue-DXJiNKGE.js +5 -0
- package/dist/components/SColorPalette/SColorPalette.types.d.ts +19 -0
- package/dist/components/SColorPalette/SColorPalette.types.d.ts.map +1 -0
- package/dist/components/SColorPalette/SColorPalette.vue.d.ts +26 -0
- package/dist/components/SColorPalette/SColorPalette.vue.d.ts.map +1 -0
- package/dist/components/SColorPalette/index.d.ts +4 -0
- package/dist/components/SColorPalette/index.d.ts.map +1 -0
- package/dist/components/SColorPicker/SColorPicker.types.d.ts +12 -0
- package/dist/components/SColorPicker/SColorPicker.types.d.ts.map +1 -0
- package/dist/components/SColorPicker/SColorPicker.vue.d.ts +25 -0
- package/dist/components/SColorPicker/SColorPicker.vue.d.ts.map +1 -0
- package/dist/components/SColorPicker/constants/SColorPicker.constants.d.ts +2 -0
- package/dist/components/SColorPicker/constants/SColorPicker.constants.d.ts.map +1 -0
- package/dist/components/SColorPicker/index.d.ts +8 -0
- package/dist/components/SColorPicker/index.d.ts.map +1 -0
- package/dist/components/SColorPicker/parts/SColorArea.types.d.ts +9 -0
- package/dist/components/SColorPicker/parts/SColorArea.types.d.ts.map +1 -0
- package/dist/components/SColorPicker/parts/SColorArea.vue.d.ts +15 -0
- package/dist/components/SColorPicker/parts/SColorArea.vue.d.ts.map +1 -0
- package/dist/components/SColorPicker/parts/SColorValues.types.d.ts +12 -0
- package/dist/components/SColorPicker/parts/SColorValues.types.d.ts.map +1 -0
- package/dist/components/SColorPicker/parts/SColorValues.vue.d.ts +22 -0
- package/dist/components/SColorPicker/parts/SColorValues.vue.d.ts.map +1 -0
- package/dist/components/SColorPicker/utils/resolveColorSwatchFillElement.d.ts +3 -0
- package/dist/components/SColorPicker/utils/resolveColorSwatchFillElement.d.ts.map +1 -0
- package/dist/components/SColorPicker/utils/useColorArea.d.ts +29 -0
- package/dist/components/SColorPicker/utils/useColorArea.d.ts.map +1 -0
- package/dist/components/SDropdown/SDropdown.vue.d.ts.map +1 -1
- package/dist/components/STag/utils/resolveTagColor.d.ts.map +1 -1
- package/dist/composables/connectedPosition/parseAnchor.d.ts.map +1 -1
- package/dist/composables/connectedPosition/types.d.ts +5 -1
- package/dist/composables/connectedPosition/types.d.ts.map +1 -1
- package/dist/entries/color-palette.cjs +1 -0
- package/dist/entries/color-palette.d.ts +5 -0
- package/dist/entries/color-palette.d.ts.map +1 -0
- package/dist/entries/color-palette.js +3 -0
- package/dist/entries/color-picker.cjs +1 -0
- package/dist/entries/color-picker.d.ts +5 -0
- package/dist/entries/color-picker.d.ts.map +1 -0
- package/dist/entries/color-picker.js +4 -0
- package/dist/entries/composables.cjs +1 -1
- package/dist/entries/composables.js +1 -1
- package/dist/entries/dropdown.cjs +1 -1
- package/dist/entries/dropdown.js +2 -2
- package/dist/entries/select.cjs +1 -1
- package/dist/entries/select.js +1 -1
- package/dist/entries/tag-group.cjs +1 -1
- package/dist/entries/tag-group.js +2 -2
- package/dist/entries/tag.cjs +1 -1
- package/dist/entries/tag.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -33
- package/dist/uikit-components.css +1 -1
- package/dist/useFloatingOverlay-B1UCUYQQ.cjs +1 -0
- package/dist/{useFloatingOverlay-D-GlpoPP.js → useFloatingOverlay-QcumEYEq.js} +23 -3
- package/dist/utils/color/colorFormatChannels.d.ts +11 -0
- package/dist/utils/color/colorFormatChannels.d.ts.map +1 -0
- package/dist/utils/color/colorValue.d.ts +9 -0
- package/dist/utils/color/colorValue.d.ts.map +1 -0
- package/dist/utils/color/defaultPaletteColors.d.ts +3 -0
- package/dist/utils/color/defaultPaletteColors.d.ts.map +1 -0
- package/dist/utils/color/formatColorForDisplay.d.ts +9 -0
- package/dist/utils/color/formatColorForDisplay.d.ts.map +1 -0
- package/dist/utils/color/index.d.ts +9 -1
- package/dist/utils/color/index.d.ts.map +1 -1
- package/dist/utils/color/parseColorFromInput.d.ts +4 -0
- package/dist/utils/color/parseColorFromInput.d.ts.map +1 -0
- package/dist/utils/color/recommendedColorPalette.d.ts +3 -0
- package/dist/utils/color/recommendedColorPalette.d.ts.map +1 -0
- package/dist/utils/color/types.d.ts +35 -0
- package/dist/utils/color/types.d.ts.map +1 -0
- package/package.json +12 -2
- package/dist/SDropdown-B6b7IDjp.cjs +0 -1
- package/dist/STag-BwzuI3cF.cjs +0 -1
- package/dist/useFloatingOverlay-Cwg2MWyD.cjs +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [@shtabapp/ui-kit-v1.34.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.33.0...@shtabapp/ui-kit@1.34.0) (2026-07-01)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
- color picker (swatch, palette, area, values) ([2fbc95c](https://gitlab.com/mstikharev/shtab-ui-kit/commit/2fbc95c15c65ed87f9a36b9aaec6fe71a6f5ff03))
|
|
6
|
+
|
|
1
7
|
## [@shtabapp/ui-kit-v1.33.0](https://gitlab.com/mstikharev/shtab-ui-kit/compare/@shtabapp/ui-kit@1.32.0...@shtabapp/ui-kit@1.33.0) (2026-07-01)
|
|
2
8
|
|
|
3
9
|
### Features
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { a as e, r as t } from "./colorValue-DXJiNKGE.js";
|
|
2
|
+
import { i as n, n as r, o as i, r as a } from "./useSelectionGroup-cKj38lEN.js";
|
|
3
|
+
import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, defineComponent as d, mergeModels as f, mergeProps as p, onScopeDispose as m, openBlock as h, renderList as g, renderSlot as _, shallowReactive as v, unref as y, useModel as b, useSlots as x } from "vue";
|
|
4
|
+
import { ESColorSwatchSize as S, SColorSwatch as C } from "@shtabapp/ui-kit-primitives";
|
|
5
|
+
//#region src/utils/color/types.ts
|
|
6
|
+
var w = /* @__PURE__ */ function(e) {
|
|
7
|
+
return e.RED_ORANGE = "red-orange", e.ORANGE = "orange", e.YELLOW = "yellow", e.GREEN = "green", e.TEAL = "teal", e.CYAN = "cyan", e.BLUE = "blue", e.INDIGO = "indigo", e.VIOLET = "violet", e.MAGENTA = "magenta", e.PINK = "pink", e.RED = "red", e;
|
|
8
|
+
}({}), T = /* @__PURE__ */ function(e) {
|
|
9
|
+
return e.HEX = "hex", e.RGB = "rgb", e.HSL = "hsl", e;
|
|
10
|
+
}({}), E = [
|
|
11
|
+
w.RED_ORANGE,
|
|
12
|
+
w.ORANGE,
|
|
13
|
+
w.YELLOW,
|
|
14
|
+
w.GREEN,
|
|
15
|
+
w.TEAL,
|
|
16
|
+
w.CYAN,
|
|
17
|
+
w.BLUE,
|
|
18
|
+
w.INDIGO,
|
|
19
|
+
w.VIOLET,
|
|
20
|
+
w.MAGENTA,
|
|
21
|
+
w.PINK
|
|
22
|
+
], D = [
|
|
23
|
+
w.RED_ORANGE,
|
|
24
|
+
w.ORANGE,
|
|
25
|
+
w.YELLOW,
|
|
26
|
+
w.GREEN,
|
|
27
|
+
w.TEAL,
|
|
28
|
+
w.CYAN,
|
|
29
|
+
w.BLUE,
|
|
30
|
+
w.INDIGO,
|
|
31
|
+
w.VIOLET,
|
|
32
|
+
w.MAGENTA,
|
|
33
|
+
w.PINK
|
|
34
|
+
], O = [
|
|
35
|
+
"primary",
|
|
36
|
+
"secondary",
|
|
37
|
+
"tertiary"
|
|
38
|
+
], k = (e, t) => `var(--s-ui-color-background-accent-${e}-${t})`, A = [
|
|
39
|
+
"var(--s-ui-color-icon-surface-primary)",
|
|
40
|
+
"var(--s-ui-color-icon-surface-tertiary)",
|
|
41
|
+
"var(--s-ui-color-icon-surface-disabled)"
|
|
42
|
+
], j = [...(() => {
|
|
43
|
+
let e = [];
|
|
44
|
+
for (let t of D) for (let n of O) e.push(k(t, n));
|
|
45
|
+
return e;
|
|
46
|
+
})(), ...A], M = /* @__PURE__ */ function(e) {
|
|
47
|
+
return e.ROW = "row", e.GRID = "grid", e;
|
|
48
|
+
}({}), N = ["aria-disabled"], P = {
|
|
49
|
+
key: 0,
|
|
50
|
+
class: "s-ui-color-palette__append"
|
|
51
|
+
}, F = /* @__PURE__ */ d({
|
|
52
|
+
__name: "SColorPalette",
|
|
53
|
+
props: /*@__PURE__*/ f({
|
|
54
|
+
layout: { default: () => M.ROW },
|
|
55
|
+
disabled: {
|
|
56
|
+
type: Boolean,
|
|
57
|
+
default: !1
|
|
58
|
+
},
|
|
59
|
+
colors: {},
|
|
60
|
+
size: { default: () => S.SIZE_40 }
|
|
61
|
+
}, {
|
|
62
|
+
modelValue: {},
|
|
63
|
+
modelModifiers: {}
|
|
64
|
+
}),
|
|
65
|
+
emits: /*@__PURE__*/ f(["select"], ["update:modelValue"]),
|
|
66
|
+
setup(d, { emit: f }) {
|
|
67
|
+
let S = b(d, "modelValue"), w = f, T = x(), D = s(() => d.colors === void 0 ? E : d.colors), O = i({
|
|
68
|
+
modelValue: () => S.value,
|
|
69
|
+
onUpdateModelValue: (e) => {
|
|
70
|
+
n(e) && (S.value = e, w("select", e));
|
|
71
|
+
},
|
|
72
|
+
mode: r.SINGLE,
|
|
73
|
+
orientation: a.HORIZONTAL,
|
|
74
|
+
orderedValues: () => D.value,
|
|
75
|
+
compareValues: t,
|
|
76
|
+
loop: !0
|
|
77
|
+
}), k = v(/* @__PURE__ */ new Map()), A = /* @__PURE__ */ new Map(), j = /* @__PURE__ */ new Map(), M = (e, t) => `${String(e)}-${t}`, F = (e) => e && (e instanceof HTMLElement || "$el" in e) ? e : null, I = (e, t) => {
|
|
78
|
+
let n = M(e, t), r = j.get(n);
|
|
79
|
+
if (r) return r;
|
|
80
|
+
let i = (t) => {
|
|
81
|
+
let r = A.get(n), i = F(t);
|
|
82
|
+
if (!t) {
|
|
83
|
+
r && (r(), A.delete(n)), k.delete(n);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (!i || k.get(n) === i && r) return;
|
|
87
|
+
r && (r(), A.delete(n)), k.set(n, i);
|
|
88
|
+
let a = O.registerItem({
|
|
89
|
+
value: e,
|
|
90
|
+
el: () => k.get(n) ?? null,
|
|
91
|
+
disabled: () => d.disabled
|
|
92
|
+
});
|
|
93
|
+
A.set(n, a);
|
|
94
|
+
};
|
|
95
|
+
return j.set(n, i), i;
|
|
96
|
+
};
|
|
97
|
+
m(() => {
|
|
98
|
+
for (let e of A.values()) e();
|
|
99
|
+
A.clear(), k.clear(), j.clear();
|
|
100
|
+
});
|
|
101
|
+
let L = (e) => d.disabled ? -1 : O.getItemTabIndex(e), R = (e, t) => {
|
|
102
|
+
if (d.disabled) {
|
|
103
|
+
t.preventDefault(), t.stopPropagation();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
O.select(e);
|
|
107
|
+
}, z = (e, t) => {
|
|
108
|
+
d.disabled || O.handleItemKeydown(t, e);
|
|
109
|
+
}, B = s(() => [`s-ui-color-palette--layout-${d.layout}`, {
|
|
110
|
+
"s-ui-color-palette--disabled": d.disabled,
|
|
111
|
+
"s-ui-color-palette--has-append": !!T.append
|
|
112
|
+
}]);
|
|
113
|
+
return (t, n) => (h(), u("div", p({
|
|
114
|
+
class: ["s-ui-color-palette", B.value],
|
|
115
|
+
role: "radiogroup",
|
|
116
|
+
"aria-disabled": d.disabled || void 0
|
|
117
|
+
}, t.$attrs), [(h(!0), u(o, null, g(D.value, (t, n) => (h(), c(y(C), {
|
|
118
|
+
key: `${String(t)}-${n}`,
|
|
119
|
+
ref_for: !0,
|
|
120
|
+
ref: I(t, n),
|
|
121
|
+
role: "radio",
|
|
122
|
+
class: "s-ui-color-palette__swatch",
|
|
123
|
+
color: y(e)(t),
|
|
124
|
+
size: d.size,
|
|
125
|
+
selected: y(O).isSelected(t),
|
|
126
|
+
disabled: d.disabled,
|
|
127
|
+
"aria-checked": y(O).isSelected(t) ? "true" : "false",
|
|
128
|
+
"aria-label": String(t),
|
|
129
|
+
tabindex: L(t),
|
|
130
|
+
onClick: (e) => R(t, e),
|
|
131
|
+
onKeydown: (e) => z(t, e)
|
|
132
|
+
}, null, 8, [
|
|
133
|
+
"color",
|
|
134
|
+
"size",
|
|
135
|
+
"selected",
|
|
136
|
+
"disabled",
|
|
137
|
+
"aria-checked",
|
|
138
|
+
"aria-label",
|
|
139
|
+
"tabindex",
|
|
140
|
+
"onClick",
|
|
141
|
+
"onKeydown"
|
|
142
|
+
]))), 128)), y(T).append ? (h(), u("div", P, [_(t.$slots, "append")])) : l("", !0)], 16, N));
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
//#endregion
|
|
146
|
+
export { w as a, E as i, M as n, T as o, j as r, F as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./colorValue-DClAEDHr.cjs"),t=require("./useSelectionGroup-TaektE-I.cjs");let n=require("vue"),r=require("@shtabapp/ui-kit-primitives");var i=function(e){return e.RED_ORANGE=`red-orange`,e.ORANGE=`orange`,e.YELLOW=`yellow`,e.GREEN=`green`,e.TEAL=`teal`,e.CYAN=`cyan`,e.BLUE=`blue`,e.INDIGO=`indigo`,e.VIOLET=`violet`,e.MAGENTA=`magenta`,e.PINK=`pink`,e.RED=`red`,e}({}),a=function(e){return e.HEX=`hex`,e.RGB=`rgb`,e.HSL=`hsl`,e}({}),o=[i.RED_ORANGE,i.ORANGE,i.YELLOW,i.GREEN,i.TEAL,i.CYAN,i.BLUE,i.INDIGO,i.VIOLET,i.MAGENTA,i.PINK],s=[i.RED_ORANGE,i.ORANGE,i.YELLOW,i.GREEN,i.TEAL,i.CYAN,i.BLUE,i.INDIGO,i.VIOLET,i.MAGENTA,i.PINK],c=[`primary`,`secondary`,`tertiary`],l=(e,t)=>`var(--s-ui-color-background-accent-${e}-${t})`,u=[`var(--s-ui-color-icon-surface-primary)`,`var(--s-ui-color-icon-surface-tertiary)`,`var(--s-ui-color-icon-surface-disabled)`],d=[...(()=>{let e=[];for(let t of s)for(let n of c)e.push(l(t,n));return e})(),...u],f=function(e){return e.ROW=`row`,e.GRID=`grid`,e}({}),p=[`aria-disabled`],m={key:0,class:`s-ui-color-palette__append`},h=(0,n.defineComponent)({__name:`SColorPalette`,props:(0,n.mergeModels)({layout:{default:()=>f.ROW},disabled:{type:Boolean,default:!1},colors:{},size:{default:()=>r.ESColorSwatchSize.SIZE_40}},{modelValue:{},modelModifiers:{}}),emits:(0,n.mergeModels)([`select`],[`update:modelValue`]),setup(i,{emit:a}){let s=(0,n.useModel)(i,`modelValue`),c=a,l=(0,n.useSlots)(),u=(0,n.computed)(()=>i.colors===void 0?o:i.colors),d=t.o({modelValue:()=>s.value,onUpdateModelValue:e=>{t.i(e)&&(s.value=e,c(`select`,e))},mode:t.n.SINGLE,orientation:t.r.HORIZONTAL,orderedValues:()=>u.value,compareValues:e.r,loop:!0}),f=(0,n.shallowReactive)(new Map),h=new Map,g=new Map,_=(e,t)=>`${String(e)}-${t}`,v=e=>e&&(e instanceof HTMLElement||`$el`in e)?e:null,y=(e,t)=>{let n=_(e,t),r=g.get(n);if(r)return r;let a=t=>{let r=h.get(n),a=v(t);if(!t){r&&(r(),h.delete(n)),f.delete(n);return}if(!a||f.get(n)===a&&r)return;r&&(r(),h.delete(n)),f.set(n,a);let o=d.registerItem({value:e,el:()=>f.get(n)??null,disabled:()=>i.disabled});h.set(n,o)};return g.set(n,a),a};(0,n.onScopeDispose)(()=>{for(let e of h.values())e();h.clear(),f.clear(),g.clear()});let b=e=>i.disabled?-1:d.getItemTabIndex(e),x=(e,t)=>{if(i.disabled){t.preventDefault(),t.stopPropagation();return}d.select(e)},S=(e,t)=>{i.disabled||d.handleItemKeydown(t,e)},C=(0,n.computed)(()=>[`s-ui-color-palette--layout-${i.layout}`,{"s-ui-color-palette--disabled":i.disabled,"s-ui-color-palette--has-append":!!l.append}]);return(t,a)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,(0,n.mergeProps)({class:[`s-ui-color-palette`,C.value],role:`radiogroup`,"aria-disabled":i.disabled||void 0},t.$attrs),[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.value,(t,a)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.SColorSwatch),{key:`${String(t)}-${a}`,ref_for:!0,ref:y(t,a),role:`radio`,class:`s-ui-color-palette__swatch`,color:(0,n.unref)(e.a)(t),size:i.size,selected:(0,n.unref)(d).isSelected(t),disabled:i.disabled,"aria-checked":(0,n.unref)(d).isSelected(t)?`true`:`false`,"aria-label":String(t),tabindex:b(t),onClick:e=>x(t,e),onKeydown:e=>S(t,e)},null,8,[`color`,`size`,`selected`,`disabled`,`aria-checked`,`aria-label`,`tabindex`,`onClick`,`onKeydown`]))),128)),(0,n.unref)(l).append?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,m,[(0,n.renderSlot)(t.$slots,`append`)])):(0,n.createCommentVNode)(``,!0)],16,p))}});Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
|