@packyoung98/vcolor 0.0.0 → 0.0.2

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/dist/vcolor.js DELETED
@@ -1,1447 +0,0 @@
1
- import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, defineComponent as s, mergeModels as c, nextTick as l, normalizeClass as u, normalizeStyle as d, onBeforeUnmount as f, openBlock as p, readonly as m, ref as h, renderList as g, toDisplayString as _, unref as v, useModel as y, vModelText as ee, vShow as b, watch as x, withDirectives as S, withKeys as C } from "vue";
2
- //#region src/utils/convert.ts
3
- function w(e) {
4
- return (e % 360 + 360) % 360;
5
- }
6
- function T(e, t, n) {
7
- return Math.min(n, Math.max(t, e));
8
- }
9
- function E({ h: e, s: t, v: n, a: r }) {
10
- e = w(e), t = T(t, 0, 100) / 100, n = T(n, 0, 100) / 100;
11
- let i = n * t, a = i * (1 - Math.abs(e / 60 % 2 - 1)), o = n - i, s = 0, c = 0, l = 0;
12
- return e < 60 ? [s, c, l] = [
13
- i,
14
- a,
15
- 0
16
- ] : e < 120 ? [s, c, l] = [
17
- a,
18
- i,
19
- 0
20
- ] : e < 180 ? [s, c, l] = [
21
- 0,
22
- i,
23
- a
24
- ] : e < 240 ? [s, c, l] = [
25
- 0,
26
- a,
27
- i
28
- ] : e < 300 ? [s, c, l] = [
29
- a,
30
- 0,
31
- i
32
- ] : [s, c, l] = [
33
- i,
34
- 0,
35
- a
36
- ], {
37
- r: Math.round((s + o) * 255),
38
- g: Math.round((c + o) * 255),
39
- b: Math.round((l + o) * 255),
40
- a: r
41
- };
42
- }
43
- function D({ r: e, g: t, b: n, a: r }) {
44
- e /= 255, t /= 255, n /= 255;
45
- let i = Math.max(e, t, n), a = i - Math.min(e, t, n), o = 0;
46
- a !== 0 && (o = i === e ? (t - n) / a % 6 : i === t ? (n - e) / a + 2 : (e - t) / a + 4, o = w(o * 60));
47
- let s = i === 0 ? 0 : a / i, c = i;
48
- return {
49
- h: o,
50
- s: s * 100,
51
- v: c * 100,
52
- a: r
53
- };
54
- }
55
- function O({ r: e, g: t, b: n, a: r }) {
56
- e /= 255, t /= 255, n /= 255;
57
- let i = Math.max(e, t, n), a = Math.min(e, t, n), o = i - a, s = 0;
58
- o !== 0 && (s = i === e ? (t - n) / o % 6 : i === t ? (n - e) / o + 2 : (e - t) / o + 4, s = w(s * 60));
59
- let c = (i + a) / 2, l = o === 0 ? 0 : o / (1 - Math.abs(2 * c - 1));
60
- return {
61
- h: s,
62
- s: l * 100,
63
- l: c * 100,
64
- a: r
65
- };
66
- }
67
- function k({ h: e, s: t, l: n, a: r }) {
68
- e = w(e), t = T(t, 0, 100) / 100, n = T(n, 0, 100) / 100;
69
- let i = (1 - Math.abs(2 * n - 1)) * t, a = i * (1 - Math.abs(e / 60 % 2 - 1)), o = n - i / 2, s = 0, c = 0, l = 0;
70
- return e < 60 ? [s, c, l] = [
71
- i,
72
- a,
73
- 0
74
- ] : e < 120 ? [s, c, l] = [
75
- a,
76
- i,
77
- 0
78
- ] : e < 180 ? [s, c, l] = [
79
- 0,
80
- i,
81
- a
82
- ] : e < 240 ? [s, c, l] = [
83
- 0,
84
- a,
85
- i
86
- ] : e < 300 ? [s, c, l] = [
87
- a,
88
- 0,
89
- i
90
- ] : [s, c, l] = [
91
- i,
92
- 0,
93
- a
94
- ], {
95
- r: Math.round((s + o) * 255),
96
- g: Math.round((c + o) * 255),
97
- b: Math.round((l + o) * 255),
98
- a: r
99
- };
100
- }
101
- function A({ r: e, g: t, b: n, a: r }) {
102
- let i = (e) => T(Math.round(e), 0, 255).toString(16).padStart(2, "0"), a = `#${i(e)}${i(t)}${i(n)}`;
103
- return r < 1 && (a += i(Math.round(r * 255))), a.toUpperCase();
104
- }
105
- function j(e) {
106
- let t = e.trim().replace(/^#/, "");
107
- (t.length === 3 || t.length === 4) && (t = t.split("").map((e) => e + e).join(""));
108
- let n = parseInt(t.slice(0, 2), 16), r = parseInt(t.slice(2, 4), 16), i = parseInt(t.slice(4, 6), 16), a = t.length === 8 ? parseInt(t.slice(6, 8), 16) / 255 : 1;
109
- return {
110
- r: Number.isNaN(n) ? 0 : n,
111
- g: Number.isNaN(r) ? 0 : r,
112
- b: Number.isNaN(i) ? 0 : i,
113
- a: Number.isNaN(a) ? 1 : a
114
- };
115
- }
116
- //#endregion
117
- //#region src/composables/useColor.ts
118
- function M(e = "#000000") {
119
- let n = h(D(j(e))), r = t(() => E(n.value)), i = t(() => O(r.value)), a = t(() => A(r.value));
120
- function o(e) {
121
- n.value = { ...e };
122
- }
123
- function s(e) {
124
- n.value = D(e);
125
- }
126
- function c(e) {
127
- n.value = D(k(e));
128
- }
129
- function l(e) {
130
- n.value = D(j(e));
131
- }
132
- function u(e) {
133
- n.value = {
134
- ...n.value,
135
- h: e
136
- };
137
- }
138
- function d(e, t) {
139
- n.value = {
140
- ...n.value,
141
- s: e,
142
- v: t
143
- };
144
- }
145
- function f(e) {
146
- n.value = {
147
- ...n.value,
148
- a: e
149
- };
150
- }
151
- return {
152
- hsva: n,
153
- rgba: r,
154
- hsla: i,
155
- hex: a,
156
- setFromHsva: o,
157
- setFromRgba: s,
158
- setFromHsla: c,
159
- setFromHex: l,
160
- setHue: u,
161
- setSaturation: d,
162
- setAlpha: f
163
- };
164
- }
165
- //#endregion
166
- //#region src/utils/format.ts
167
- function N(e, t, n = !1) {
168
- let r = n ? 1 : e.a, i = E({
169
- ...e,
170
- a: r
171
- });
172
- if (t === "rgb") return i;
173
- if (t === "hsl") {
174
- let e = O(i);
175
- return {
176
- h: Math.round(e.h),
177
- s: Math.round(e.s),
178
- l: Math.round(e.l),
179
- a: e.a
180
- };
181
- }
182
- return A(i);
183
- }
184
- //#endregion
185
- //#region src/composables/usePicker.ts
186
- function P(e, t) {
187
- t != null && (typeof t == "string" ? e.setFromHex(t) : "v" in t ? e.setFromHsva(t) : "l" in t ? e.setFromHsla(t) : e.setFromRgba(t));
188
- }
189
- function F(e, t, n, r) {
190
- let i = M(typeof e.value == "string" ? e.value : "#FF5733");
191
- P(i, e.value);
192
- function a() {
193
- return N(i.hsva.value, n(), r());
194
- }
195
- x(e, (e) => {
196
- JSON.stringify(e) !== JSON.stringify(a()) && P(i, e);
197
- });
198
- function o() {
199
- let n = a();
200
- e.value = n, t("input", n);
201
- }
202
- function s() {
203
- let n = a();
204
- e.value = n, t("change", n);
205
- }
206
- return {
207
- ...i,
208
- output: a,
209
- input: o,
210
- change: s
211
- };
212
- }
213
- //#endregion
214
- //#region src/composables/useEyeDropper.ts
215
- function I() {
216
- let e = h(typeof window < "u" && "EyeDropper" in window), t = h("");
217
- async function n() {
218
- if (!e.value || !window.EyeDropper) return null;
219
- try {
220
- let e = await new window.EyeDropper().open();
221
- return t.value = e.sRGBHex, e.sRGBHex;
222
- } catch {
223
- return null;
224
- }
225
- }
226
- return {
227
- isSupported: e,
228
- sRGBHex: t,
229
- open: n
230
- };
231
- }
232
- //#endregion
233
- //#region src/composables/useDrag.ts
234
- function L(e) {
235
- return Math.min(1, Math.max(0, e));
236
- }
237
- function R(e, t) {
238
- let n = h(null);
239
- function r(t) {
240
- let r = n.value;
241
- if (!r) return;
242
- let i = r.getBoundingClientRect();
243
- e(L((t.clientX - i.left) / i.width), L((t.clientY - i.top) / i.height));
244
- }
245
- function i() {
246
- window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i), t?.();
247
- }
248
- function a(e) {
249
- e.preventDefault(), n.value?.focus?.(), r(e), window.addEventListener("pointermove", r), window.addEventListener("pointerup", i);
250
- }
251
- return f(i), {
252
- target: n,
253
- down: a
254
- };
255
- }
256
- //#endregion
257
- //#region src/components/primitives/Saturation.vue?vue&type=script&setup=true&lang.ts
258
- var te = ["aria-valuetext"], z = /* @__PURE__ */ s({
259
- __name: "Saturation",
260
- props: {
261
- hue: {},
262
- saturation: {},
263
- value: {}
264
- },
265
- emits: ["input", "change"],
266
- setup(e, { emit: n }) {
267
- let r = e, o = n, s = t(() => `hsl(${r.hue}, 100%, 50%)`), c = t(() => `${r.saturation}%`), l = t(() => `${100 - r.value}%`), { down: u } = R((e, t) => o("input", {
268
- s: Math.round(e * 100),
269
- v: Math.round((1 - t) * 100)
270
- }), () => o("change"));
271
- function f(e) {
272
- let t = r.saturation, n = r.value;
273
- switch (e.key) {
274
- case "ArrowLeft":
275
- --t;
276
- break;
277
- case "ArrowRight":
278
- t += 1;
279
- break;
280
- case "ArrowUp":
281
- n += 1;
282
- break;
283
- case "ArrowDown":
284
- --n;
285
- break;
286
- default: return;
287
- }
288
- e.preventDefault(), o("input", {
289
- s: Math.min(100, Math.max(0, t)),
290
- v: Math.min(100, Math.max(0, n))
291
- }), o("change");
292
- }
293
- return (t, n) => (p(), i("div", {
294
- class: "vc-saturation",
295
- ref: "target",
296
- style: d({ background: s.value }),
297
- onPointerdown: n[0] ||= (...e) => v(u) && v(u)(...e),
298
- onKeydown: f,
299
- tabindex: "0",
300
- role: "slider",
301
- "aria-label": "채도/명도 (saturation/value)",
302
- "aria-valuetext": `S ${Math.round(e.saturation)}, V ${Math.round(e.value)}`
303
- }, [
304
- n[1] ||= a("div", { class: "vc-saturation__white" }, null, -1),
305
- n[2] ||= a("div", { class: "vc-saturation__black" }, null, -1),
306
- a("div", {
307
- class: "vc-saturation__pointer",
308
- style: d({
309
- left: c.value,
310
- top: l.value
311
- })
312
- }, null, 4)
313
- ], 44, te));
314
- }
315
- }), ne = ["aria-valuenow"], B = /* @__PURE__ */ s({
316
- __name: "Hue",
317
- props: { hue: {} },
318
- emits: ["input", "change"],
319
- setup(e, { emit: n }) {
320
- let r = e, o = n, s = t(() => `${r.hue / 360 * 100}%`), { down: c } = R((e) => o("input", Math.round(e * 360)), () => o("change"));
321
- function l(e) {
322
- let t = r.hue;
323
- switch (e.key) {
324
- case "ArrowLeft":
325
- case "ArrowDown":
326
- --t;
327
- break;
328
- case "ArrowRight":
329
- case "ArrowUp":
330
- t += 1;
331
- break;
332
- case "PageDown":
333
- t -= 10;
334
- break;
335
- case "PageUp":
336
- t += 10;
337
- break;
338
- case "Home":
339
- t = 0;
340
- break;
341
- case "End":
342
- t = 360;
343
- break;
344
- default: return;
345
- }
346
- e.preventDefault(), o("input", Math.min(360, Math.max(0, t))), o("change");
347
- }
348
- return (t, n) => (p(), i("div", {
349
- class: "vc-hue",
350
- ref: "target",
351
- onPointerdown: n[0] ||= (...e) => v(c) && v(c)(...e),
352
- onKeydown: l,
353
- tabindex: "0",
354
- role: "slider",
355
- "aria-label": "색조 (hue)",
356
- "aria-valuemin": 0,
357
- "aria-valuemax": 360,
358
- "aria-valuenow": Math.round(e.hue)
359
- }, [a("div", {
360
- class: "vc-hue__pointer",
361
- style: d({ left: s.value })
362
- }, null, 4)], 40, ne));
363
- }
364
- }), re = ["aria-valuenow"], ie = { class: "vc-alpha__track" }, V = /* @__PURE__ */ s({
365
- __name: "Alpha",
366
- props: { rgba: {} },
367
- emits: ["input", "change"],
368
- setup(e, { emit: n }) {
369
- let r = e, o = n, s = t(() => {
370
- let { r: e, g: t, b: n } = r.rgba;
371
- return `linear-gradient(to right, rgba(${e},${t},${n},0), rgba(${e},${t},${n},1))`;
372
- }), c = t(() => `${r.rgba.a * 100}%`), { down: l } = R((e) => o("input", Math.round(e * 100) / 100), () => o("change"));
373
- function u(e) {
374
- let t = r.rgba.a;
375
- switch (e.key) {
376
- case "ArrowLeft":
377
- case "ArrowDown":
378
- t -= .05;
379
- break;
380
- case "ArrowRight":
381
- case "ArrowUp":
382
- t += .05;
383
- break;
384
- case "Home":
385
- t = 0;
386
- break;
387
- case "End":
388
- t = 1;
389
- break;
390
- default: return;
391
- }
392
- e.preventDefault(), t = Math.min(1, Math.max(0, Math.round(t * 100) / 100)), o("input", t), o("change");
393
- }
394
- return (t, n) => (p(), i("div", {
395
- class: "vc-alpha",
396
- ref: "target",
397
- onPointerdown: n[0] ||= (...e) => v(l) && v(l)(...e),
398
- onKeydown: u,
399
- tabindex: "0",
400
- role: "slider",
401
- "aria-label": "투명도 (alpha)",
402
- "aria-valuemin": 0,
403
- "aria-valuemax": 1,
404
- "aria-valuenow": e.rgba.a
405
- }, [a("div", ie, [n[1] ||= a("div", { class: "vc-alpha__checker" }, null, -1), a("div", {
406
- class: "vc-alpha__grad",
407
- style: d({ background: s.value })
408
- }, null, 4)]), a("div", {
409
- class: "vc-alpha__pointer",
410
- style: d({ left: c.value })
411
- }, null, 4)], 40, re));
412
- }
413
- }), ae = { class: "vc-input" }, oe = ["value"], se = { class: "vc-input__label" }, H = /* @__PURE__ */ s({
414
- __name: "EditableInput",
415
- props: {
416
- label: {},
417
- modelValue: {}
418
- },
419
- emits: ["update:modelValue", "change"],
420
- setup(e, { emit: t }) {
421
- let n = e, r = t, o = h(String(n.modelValue)), s = h(!1);
422
- x(() => n.modelValue, (e) => {
423
- s.value || (o.value = String(e));
424
- });
425
- function c(e) {
426
- o.value = e.target.value;
427
- }
428
- function u() {
429
- s.value = !0;
430
- }
431
- async function d() {
432
- s.value = !1, r("update:modelValue", o.value), r("change"), await l(), o.value = String(n.modelValue);
433
- }
434
- function f(e) {
435
- e.target.blur();
436
- }
437
- return (t, n) => (p(), i("label", ae, [a("input", {
438
- class: "vc-input__field",
439
- value: o.value,
440
- onInput: c,
441
- onFocus: u,
442
- onBlur: d,
443
- onKeyup: C(f, ["enter"])
444
- }, null, 40, oe), a("span", se, _(e.label), 1)]));
445
- }
446
- }), U = { class: "vc-chrome__body" }, W = { class: "vc-chrome__sliders" }, G = { class: "vc-chrome__fields" }, K = { class: "vc-input vc-input--wide" }, ce = {
447
- key: 3,
448
- class: "vc-chrome__switch"
449
- }, le = { class: "vc-chrome__mode" }, ue = /* @__PURE__ */ s({
450
- __name: "ChromePicker",
451
- props: /*@__PURE__*/ c({
452
- format: { default: "hex" },
453
- disableAlpha: {
454
- type: Boolean,
455
- default: !1
456
- },
457
- width: { default: "var(--vc-width, 240px)" },
458
- inputFormats: { default: () => [
459
- "hex",
460
- "rgb",
461
- "hsl"
462
- ] }
463
- }, {
464
- modelValue: {},
465
- modelModifiers: {}
466
- }),
467
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
468
- setup(s, { emit: c }) {
469
- let l = y(s, "modelValue"), u = s, f = F(l, c, () => u.format, () => u.disableAlpha), m = I();
470
- async function g() {
471
- let e = await m.open();
472
- e && (f.setFromHex(e), f.input(), f.change());
473
- }
474
- let b = h(u.inputFormats.includes(u.format) ? u.format : u.inputFormats[0] ?? "hex"), w = t(() => u.inputFormats.length > 1);
475
- function T(e) {
476
- let t = u.inputFormats;
477
- b.value = t[(t.indexOf(b.value) + e + t.length) % t.length];
478
- }
479
- let E = h(f.hex.value), D = h(!1);
480
- x(() => f.hex.value, (e) => {
481
- D.value || (E.value = e);
482
- });
483
- function O() {
484
- D.value = !1;
485
- let e = E.value.trim().replace(/[^0-9a-fA-F]/g, "").slice(0, 8);
486
- f.setFromHex("#" + e), f.input(), E.value = f.hex.value;
487
- }
488
- function k(e, t) {
489
- return Math.max(0, Math.min(t, Math.round(+e || 0)));
490
- }
491
- function A(e, t) {
492
- f.setFromRgba({
493
- ...f.rgba.value,
494
- [e]: k(t, 255)
495
- }), f.input();
496
- }
497
- function j(e, t) {
498
- f.setFromHsla({
499
- ...f.hsla.value,
500
- [e]: k(t, e === "h" ? 360 : 100)
501
- }), f.input();
502
- }
503
- function M(e) {
504
- f.setAlpha(Math.max(0, Math.min(1, +e || 0))), f.input();
505
- }
506
- let N = t(() => Math.round(f.rgba.value.a * 100) / 100), P = t(() => ({
507
- h: Math.round(f.hsla.value.h),
508
- s: Math.round(f.hsla.value.s),
509
- l: Math.round(f.hsla.value.l)
510
- })), L = t(() => ({ background: f.hex.value }));
511
- return (t, c) => (p(), i("div", {
512
- class: "vc-chrome",
513
- style: d({ width: s.width })
514
- }, [
515
- o(z, {
516
- hue: v(f).hsva.value.h,
517
- saturation: v(f).hsva.value.s,
518
- value: v(f).hsva.value.v,
519
- onInput: c[0] ||= (e) => {
520
- v(f).setSaturation(e.s, e.v), v(f).input();
521
- },
522
- onChange: c[1] ||= (e) => v(f).change()
523
- }, null, 8, [
524
- "hue",
525
- "saturation",
526
- "value"
527
- ]),
528
- a("div", U, [
529
- a("div", {
530
- class: "vc-chrome__preview",
531
- style: d(L.value)
532
- }, null, 4),
533
- v(m).isSupported ? (p(), i("button", {
534
- key: 0,
535
- type: "button",
536
- class: "vc-chrome__eyedropper",
537
- "aria-label": "스포이드로 화면 색 추출",
538
- title: "스포이드",
539
- onClick: g
540
- }, [...c[16] ||= [a("svg", {
541
- width: "16",
542
- height: "16",
543
- viewBox: "0 0 24 24",
544
- fill: "none",
545
- stroke: "currentColor",
546
- "stroke-width": "2",
547
- "stroke-linecap": "round",
548
- "stroke-linejoin": "round"
549
- }, [a("path", { d: "M11 7l6 6" }), a("path", { d: "M4 16l11.7 -11.7a2.41 2.41 0 0 1 3.4 3.4l-11.7 11.7l-4 1l1 -4z" })], -1)]])) : r("", !0),
550
- a("div", W, [o(B, {
551
- hue: v(f).hsva.value.h,
552
- onInput: c[2] ||= (e) => {
553
- v(f).setHue(e), v(f).input();
554
- },
555
- onChange: c[3] ||= (e) => v(f).change()
556
- }, null, 8, ["hue"]), s.disableAlpha ? r("", !0) : (p(), n(V, {
557
- key: 0,
558
- rgba: v(f).rgba.value,
559
- onInput: c[4] ||= (e) => {
560
- v(f).setAlpha(e), v(f).input();
561
- },
562
- onChange: c[5] ||= (e) => v(f).change()
563
- }, null, 8, ["rgba"]))])
564
- ]),
565
- a("div", G, [b.value === "hex" ? (p(), i(e, { key: 0 }, [a("label", K, [S(a("input", {
566
- class: "vc-input__field",
567
- "onUpdate:modelValue": c[6] ||= (e) => E.value = e,
568
- onFocus: c[7] ||= (e) => D.value = !0,
569
- onChange: O,
570
- onKeyup: C(O, ["enter"])
571
- }, null, 544), [[ee, E.value]]), c[17] ||= a("span", { class: "vc-input__label" }, "hex", -1)]), s.disableAlpha ? r("", !0) : (p(), n(H, {
572
- key: 0,
573
- label: "a",
574
- modelValue: N.value,
575
- "onUpdate:modelValue": M
576
- }, null, 8, ["modelValue"]))], 64)) : b.value === "rgb" ? (p(), i(e, { key: 1 }, [
577
- o(H, {
578
- label: "r",
579
- modelValue: v(f).rgba.value.r,
580
- "onUpdate:modelValue": c[8] ||= (e) => A("r", e)
581
- }, null, 8, ["modelValue"]),
582
- o(H, {
583
- label: "g",
584
- modelValue: v(f).rgba.value.g,
585
- "onUpdate:modelValue": c[9] ||= (e) => A("g", e)
586
- }, null, 8, ["modelValue"]),
587
- o(H, {
588
- label: "b",
589
- modelValue: v(f).rgba.value.b,
590
- "onUpdate:modelValue": c[10] ||= (e) => A("b", e)
591
- }, null, 8, ["modelValue"]),
592
- s.disableAlpha ? r("", !0) : (p(), n(H, {
593
- key: 0,
594
- label: "a",
595
- modelValue: N.value,
596
- "onUpdate:modelValue": M
597
- }, null, 8, ["modelValue"]))
598
- ], 64)) : (p(), i(e, { key: 2 }, [
599
- o(H, {
600
- label: "h",
601
- modelValue: P.value.h,
602
- "onUpdate:modelValue": c[11] ||= (e) => j("h", e)
603
- }, null, 8, ["modelValue"]),
604
- o(H, {
605
- label: "s",
606
- modelValue: P.value.s,
607
- "onUpdate:modelValue": c[12] ||= (e) => j("s", e)
608
- }, null, 8, ["modelValue"]),
609
- o(H, {
610
- label: "l",
611
- modelValue: P.value.l,
612
- "onUpdate:modelValue": c[13] ||= (e) => j("l", e)
613
- }, null, 8, ["modelValue"]),
614
- s.disableAlpha ? r("", !0) : (p(), n(H, {
615
- key: 0,
616
- label: "a",
617
- modelValue: N.value,
618
- "onUpdate:modelValue": M
619
- }, null, 8, ["modelValue"]))
620
- ], 64)), w.value ? (p(), i("div", ce, [a("button", {
621
- type: "button",
622
- class: "vc-chrome__chev",
623
- "aria-label": "이전 포맷",
624
- onClick: c[14] ||= (e) => T(-1)
625
- }, " ▲ "), a("button", {
626
- type: "button",
627
- class: "vc-chrome__chev",
628
- "aria-label": "다음 포맷",
629
- onClick: c[15] ||= (e) => T(1)
630
- }, " ▼ ")])) : r("", !0)]),
631
- a("div", le, _(b.value.toUpperCase()), 1)
632
- ], 4));
633
- }
634
- }), q = [
635
- "#D0021B",
636
- "#F5A623",
637
- "#F8E71C",
638
- "#8B572A",
639
- "#7ED321",
640
- "#417505",
641
- "#BD10E0",
642
- "#9013FE",
643
- "#4A90E2",
644
- "#50E3C2",
645
- "#B8E986",
646
- "#000000",
647
- "#4A4A4A",
648
- "#9B9B9B",
649
- "#FFFFFF"
650
- ], de = [
651
- "#F44336",
652
- "#E91E63",
653
- "#9C27B0",
654
- "#673AB7",
655
- "#3F51B5",
656
- "#2196F3",
657
- "#03A9F4",
658
- "#00BCD4",
659
- "#009688",
660
- "#4CAF50",
661
- "#8BC34A",
662
- "#CDDC39",
663
- "#FFEB3B",
664
- "#FFC107",
665
- "#FF9800",
666
- "#FF5722",
667
- "#795548",
668
- "#607D8B"
669
- ], J = [
670
- "#4D4D4D",
671
- "#999999",
672
- "#FFFFFF",
673
- "#F44E3B",
674
- "#FE9200",
675
- "#FCDC00",
676
- "#DBDF00",
677
- "#A4DD00",
678
- "#68CCCA",
679
- "#73D8FF",
680
- "#AEA1FF",
681
- "#FDA1FF",
682
- "#333333",
683
- "#808080",
684
- "#CCCCCC",
685
- "#D33115",
686
- "#E27300",
687
- "#FCC400",
688
- "#B0BC00",
689
- "#68BC00",
690
- "#16A5A5",
691
- "#009CE0",
692
- "#7B64FF",
693
- "#FA28FF"
694
- ], Y = [
695
- "#FF6900",
696
- "#FCB900",
697
- "#7BDCB5",
698
- "#00D084",
699
- "#8ED1FC",
700
- "#0693E3",
701
- "#ABB8C3",
702
- "#EB144C",
703
- "#F78DA7",
704
- "#9900EF"
705
- ], X = Array.from({ length: 15 }, (e, t) => {
706
- let n = Math.round(t / 14 * 255).toString(16).padStart(2, "0");
707
- return `#${n}${n}${n}`.toUpperCase();
708
- }), Z = [
709
- [
710
- "#FFEBEE",
711
- "#FFCDD2",
712
- "#E57373",
713
- "#F44336",
714
- "#D32F2F",
715
- "#B71C1C"
716
- ],
717
- [
718
- "#F3E5F5",
719
- "#CE93D8",
720
- "#AB47BC",
721
- "#9C27B0",
722
- "#7B1FA2",
723
- "#4A148C"
724
- ],
725
- [
726
- "#E3F2FD",
727
- "#90CAF9",
728
- "#42A5F5",
729
- "#2196F3",
730
- "#1976D2",
731
- "#0D47A1"
732
- ],
733
- [
734
- "#E0F2F1",
735
- "#80CBC4",
736
- "#26A69A",
737
- "#009688",
738
- "#00796B",
739
- "#004D40"
740
- ],
741
- [
742
- "#E8F5E9",
743
- "#A5D6A7",
744
- "#66BB6A",
745
- "#4CAF50",
746
- "#388E3C",
747
- "#1B5E20"
748
- ],
749
- [
750
- "#FFFDE7",
751
- "#FFF59D",
752
- "#FFEE58",
753
- "#FFEB3B",
754
- "#FBC02D",
755
- "#F57F17"
756
- ],
757
- [
758
- "#FFF3E0",
759
- "#FFCC80",
760
- "#FFA726",
761
- "#FF9800",
762
- "#F57C00",
763
- "#E65100"
764
- ],
765
- [
766
- "#EFEBE9",
767
- "#BCAAA4",
768
- "#8D6E63",
769
- "#795548",
770
- "#5D4037",
771
- "#3E2723"
772
- ]
773
- ], fe = ["aria-label"], Q = /* @__PURE__ */ s({
774
- __name: "Swatch",
775
- props: {
776
- color: {},
777
- active: { type: Boolean }
778
- },
779
- emits: ["select"],
780
- setup(e, { emit: t }) {
781
- let n = t;
782
- return (t, r) => (p(), i("button", {
783
- class: u(["vc-swatch", { "is-active": e.active }]),
784
- style: d({ background: e.color }),
785
- type: "button",
786
- "aria-label": e.color,
787
- onClick: r[0] ||= (t) => n("select", e.color)
788
- }, null, 14, fe));
789
- }
790
- }), pe = { class: "vc-sketch__controls" }, me = { class: "vc-sketch__sliders" }, he = { class: "vc-sketch__field" }, ge = { class: "vc-sketch__presets" }, _e = /* @__PURE__ */ s({
791
- __name: "SketchPicker",
792
- props: /*@__PURE__*/ c({
793
- format: { default: "hex" },
794
- disableAlpha: {
795
- type: Boolean,
796
- default: !1
797
- },
798
- presetColors: { default: () => q },
799
- width: { default: "var(--vc-width, 240px)" }
800
- }, {
801
- modelValue: {},
802
- modelModifiers: {}
803
- }),
804
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
805
- setup(s, { emit: c }) {
806
- let l = y(s, "modelValue"), u = s, f = F(l, c, () => u.format, () => u.disableAlpha), m = t(() => ({ background: f.hex.value }));
807
- function h(e) {
808
- f.setFromHex(e), f.input(), f.change();
809
- }
810
- function _(e) {
811
- f.setFromHex(e), f.input();
812
- }
813
- return (t, c) => (p(), i("div", {
814
- class: "vc-sketch",
815
- style: d({ width: s.width })
816
- }, [
817
- o(z, {
818
- hue: v(f).hsva.value.h,
819
- saturation: v(f).hsva.value.s,
820
- value: v(f).hsva.value.v,
821
- onInput: c[0] ||= (e) => {
822
- v(f).setSaturation(e.s, e.v), v(f).input();
823
- },
824
- onChange: c[1] ||= (e) => v(f).change()
825
- }, null, 8, [
826
- "hue",
827
- "saturation",
828
- "value"
829
- ]),
830
- a("div", pe, [a("div", me, [o(B, {
831
- hue: v(f).hsva.value.h,
832
- onInput: c[2] ||= (e) => {
833
- v(f).setHue(e), v(f).input();
834
- },
835
- onChange: c[3] ||= (e) => v(f).change()
836
- }, null, 8, ["hue"]), s.disableAlpha ? r("", !0) : (p(), n(V, {
837
- key: 0,
838
- rgba: v(f).rgba.value,
839
- onInput: c[4] ||= (e) => {
840
- v(f).setAlpha(e), v(f).input();
841
- },
842
- onChange: c[5] ||= (e) => v(f).change()
843
- }, null, 8, ["rgba"]))]), a("div", {
844
- class: "vc-sketch__preview",
845
- style: d(m.value)
846
- }, null, 4)]),
847
- a("div", he, [o(H, {
848
- label: "hex",
849
- modelValue: v(f).hex.value,
850
- "onUpdate:modelValue": _
851
- }, null, 8, ["modelValue"])]),
852
- a("div", ge, [(p(!0), i(e, null, g(s.presetColors, (e) => (p(), n(Q, {
853
- key: e,
854
- color: e,
855
- onSelect: h
856
- }, null, 8, ["color"]))), 128))])
857
- ], 4));
858
- }
859
- }), ve = { class: "vc-ps__main" }, ye = { class: "vc-ps__hue" }, be = { class: "vc-ps__side" }, xe = { class: "vc-ps__compare" }, Se = /* @__PURE__ */ s({
860
- __name: "PhotoshopPicker",
861
- props: /*@__PURE__*/ c({
862
- format: { default: "hex" },
863
- disableAlpha: {
864
- type: Boolean,
865
- default: !1
866
- },
867
- width: { default: "var(--vc-width, 280px)" }
868
- }, {
869
- modelValue: {},
870
- modelModifiers: {}
871
- }),
872
- emits: /*@__PURE__*/ c([
873
- "change",
874
- "input",
875
- "ok",
876
- "cancel"
877
- ], ["update:modelValue"]),
878
- setup(e, { emit: n }) {
879
- let r = y(e, "modelValue"), s = e, c = n, l = F(r, c, () => s.format, () => s.disableAlpha), u = h(A({
880
- ...l.rgba.value,
881
- a: 1
882
- })), f = t(() => l.hex.value);
883
- function m() {
884
- c("ok", l.output()), u.value = l.hex.value;
885
- }
886
- function g() {
887
- l.setFromHex(u.value), l.input(), c("cancel");
888
- }
889
- return (t, n) => (p(), i("div", {
890
- class: "vc-ps",
891
- style: d({ width: e.width })
892
- }, [a("div", ve, [o(z, {
893
- class: "vc-ps__sat",
894
- hue: v(l).hsva.value.h,
895
- saturation: v(l).hsva.value.s,
896
- value: v(l).hsva.value.v,
897
- onInput: n[0] ||= (e) => {
898
- v(l).setSaturation(e.s, e.v), v(l).input();
899
- },
900
- onChange: n[1] ||= (e) => v(l).change()
901
- }, null, 8, [
902
- "hue",
903
- "saturation",
904
- "value"
905
- ]), a("div", ye, [o(B, {
906
- hue: v(l).hsva.value.h,
907
- onInput: n[2] ||= (e) => {
908
- v(l).setHue(e), v(l).input();
909
- },
910
- onChange: n[3] ||= (e) => v(l).change()
911
- }, null, 8, ["hue"])])]), a("div", be, [
912
- a("div", xe, [a("div", {
913
- class: "vc-ps__swatch",
914
- style: d({ background: f.value })
915
- }, [...n[4] ||= [a("span", null, "new", -1)]], 4), a("div", {
916
- class: "vc-ps__swatch",
917
- style: d({ background: u.value })
918
- }, [...n[5] ||= [a("span", null, "current", -1)]], 4)]),
919
- a("button", {
920
- type: "button",
921
- class: "vc-ps__btn vc-ps__btn--ok",
922
- onClick: m
923
- }, " OK "),
924
- a("button", {
925
- type: "button",
926
- class: "vc-ps__btn",
927
- onClick: g
928
- }, "Cancel")
929
- ])], 4));
930
- }
931
- }), Ce = { class: "vc-compact__grid" }, we = { class: "vc-compact__field" }, Te = /* @__PURE__ */ s({
932
- __name: "CompactPicker",
933
- props: /*@__PURE__*/ c({
934
- format: { default: "hex" },
935
- presetColors: { default: () => J },
936
- columns: {},
937
- width: { default: "var(--vc-width, 240px)" }
938
- }, {
939
- modelValue: {},
940
- modelModifiers: {}
941
- }),
942
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
943
- setup(r, { emit: s }) {
944
- let c = y(r, "modelValue"), l = r, u = F(c, s, () => l.format, () => !0), f = t(() => Array.isArray(l.presetColors[0]) ? l.presetColors.flat() : l.presetColors);
945
- function m(e) {
946
- u.setFromHex(e), u.input(), u.change();
947
- }
948
- function h(e) {
949
- u.setFromHex(e), u.input();
950
- }
951
- return (t, s) => (p(), i("div", {
952
- class: "vc-compact",
953
- style: d({
954
- width: r.width,
955
- ...r.columns == null ? {} : { "--vc-swatch-columns": r.columns }
956
- })
957
- }, [a("div", Ce, [(p(!0), i(e, null, g(f.value, (e) => (p(), n(Q, {
958
- key: e,
959
- color: e,
960
- active: e.toUpperCase() === v(u).hex.value.toUpperCase(),
961
- onSelect: m
962
- }, null, 8, ["color", "active"]))), 128))]), a("div", we, [a("div", {
963
- class: "vc-compact__preview",
964
- style: d({ background: v(u).hex.value })
965
- }, null, 4), o(H, {
966
- label: "hex",
967
- modelValue: v(u).hex.value,
968
- "onUpdate:modelValue": h
969
- }, null, 8, ["modelValue"])])], 4));
970
- }
971
- }), Ee = /* @__PURE__ */ s({
972
- __name: "GrayscalePicker",
973
- props: /*@__PURE__*/ c({
974
- format: { default: "hex" },
975
- presetColors: { default: () => X },
976
- columns: {},
977
- width: { default: "var(--vc-width, 240px)" }
978
- }, {
979
- modelValue: {},
980
- modelModifiers: {}
981
- }),
982
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
983
- setup(r, { emit: a }) {
984
- let o = y(r, "modelValue"), s = r, c = F(o, a, () => s.format, () => !0), l = t(() => Array.isArray(s.presetColors[0]) ? s.presetColors.flat() : s.presetColors);
985
- function u(e) {
986
- c.setFromHex(e), c.input(), c.change();
987
- }
988
- return (t, a) => (p(), i("div", {
989
- class: "vc-gray",
990
- style: d({
991
- width: r.width,
992
- ...r.columns == null ? {} : { "--vc-swatch-columns": r.columns }
993
- })
994
- }, [(p(!0), i(e, null, g(l.value, (e) => (p(), n(Q, {
995
- key: e,
996
- color: e,
997
- active: e.toUpperCase() === v(c).hex.value.toUpperCase(),
998
- onSelect: u
999
- }, null, 8, ["color", "active"]))), 128))], 4));
1000
- }
1001
- }), De = { class: "vc-material__rgb" }, Oe = /* @__PURE__ */ s({
1002
- __name: "MaterialPicker",
1003
- props: /*@__PURE__*/ c({
1004
- format: { default: "hex" },
1005
- width: { default: "var(--vc-width, 240px)" }
1006
- }, {
1007
- modelValue: {},
1008
- modelModifiers: {}
1009
- }),
1010
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1011
- setup(e, { emit: t }) {
1012
- let n = y(e, "modelValue"), r = e, s = F(n, t, () => r.format, () => !0);
1013
- function c(e) {
1014
- s.setFromHex(e), s.input();
1015
- }
1016
- function l(e) {
1017
- return Math.max(0, Math.min(255, Math.round(+e || 0)));
1018
- }
1019
- function u(e, t) {
1020
- s.setFromRgba({
1021
- ...s.rgba.value,
1022
- [e]: l(t)
1023
- }), s.input();
1024
- }
1025
- return (t, n) => (p(), i("div", {
1026
- class: "vc-material",
1027
- style: d({
1028
- width: e.width,
1029
- borderTopColor: v(s).hex.value
1030
- })
1031
- }, [o(H, {
1032
- class: "vc-material__hex",
1033
- label: "hex",
1034
- modelValue: v(s).hex.value,
1035
- "onUpdate:modelValue": c
1036
- }, null, 8, ["modelValue"]), a("div", De, [
1037
- o(H, {
1038
- label: "r",
1039
- modelValue: v(s).rgba.value.r,
1040
- "onUpdate:modelValue": n[0] ||= (e) => u("r", e)
1041
- }, null, 8, ["modelValue"]),
1042
- o(H, {
1043
- label: "g",
1044
- modelValue: v(s).rgba.value.g,
1045
- "onUpdate:modelValue": n[1] ||= (e) => u("g", e)
1046
- }, null, 8, ["modelValue"]),
1047
- o(H, {
1048
- label: "b",
1049
- modelValue: v(s).rgba.value.b,
1050
- "onUpdate:modelValue": n[2] ||= (e) => u("b", e)
1051
- }, null, 8, ["modelValue"])
1052
- ])], 4));
1053
- }
1054
- }), ke = { class: "vc-twitter__swatches" }, Ae = { class: "vc-twitter__field" }, je = /* @__PURE__ */ s({
1055
- __name: "TwitterPicker",
1056
- props: /*@__PURE__*/ c({
1057
- format: { default: "hex" },
1058
- presetColors: { default: () => Y },
1059
- width: { default: "var(--vc-width, 240px)" }
1060
- }, {
1061
- modelValue: {},
1062
- modelModifiers: {}
1063
- }),
1064
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1065
- setup(r, { emit: s }) {
1066
- let c = y(r, "modelValue"), l = r, u = F(c, s, () => l.format, () => !0), f = t(() => Array.isArray(l.presetColors[0]) ? l.presetColors.flat() : l.presetColors);
1067
- function m(e) {
1068
- u.setFromHex(e), u.input(), u.change();
1069
- }
1070
- function h(e) {
1071
- u.setFromHex(e), u.input();
1072
- }
1073
- return (t, s) => (p(), i("div", {
1074
- class: "vc-twitter",
1075
- style: d({ width: r.width })
1076
- }, [a("div", ke, [(p(!0), i(e, null, g(f.value, (e) => (p(), n(Q, {
1077
- key: e,
1078
- color: e,
1079
- onSelect: m
1080
- }, null, 8, ["color"]))), 128))]), a("div", Ae, [s[1] ||= a("span", { class: "vc-twitter__hash" }, "#", -1), o(H, {
1081
- label: "",
1082
- modelValue: v(u).hex.value.replace("#", ""),
1083
- "onUpdate:modelValue": s[0] ||= (e) => h("#" + e)
1084
- }, null, 8, ["modelValue"])])], 4));
1085
- }
1086
- }), Me = {
1087
- key: 1,
1088
- class: "vc-swatches__grid"
1089
- }, Ne = /* @__PURE__ */ s({
1090
- __name: "SwatchesPicker",
1091
- props: /*@__PURE__*/ c({
1092
- format: { default: "hex" },
1093
- presetColors: { default: () => Z },
1094
- columns: {},
1095
- width: { default: "var(--vc-width, 260px)" }
1096
- }, {
1097
- modelValue: {},
1098
- modelModifiers: {}
1099
- }),
1100
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1101
- setup(r, { emit: a }) {
1102
- let o = y(r, "modelValue"), s = r, c = F(o, a, () => s.format, () => !0), l = t(() => Array.isArray(s.presetColors[0])), u = t(() => l.value ? s.presetColors : []);
1103
- function f(e) {
1104
- c.setFromHex(e), c.input(), c.change();
1105
- }
1106
- function m(e) {
1107
- return e.toUpperCase() === c.hex.value.toUpperCase();
1108
- }
1109
- return (t, a) => (p(), i("div", {
1110
- class: "vc-swatches",
1111
- style: d({
1112
- width: r.width,
1113
- ...r.columns == null ? {} : { "--vc-swatch-columns": r.columns }
1114
- })
1115
- }, [l.value ? (p(!0), i(e, { key: 0 }, g(u.value, (t, r) => (p(), i("div", {
1116
- key: r,
1117
- class: "vc-swatches__row"
1118
- }, [(p(!0), i(e, null, g(t, (e) => (p(), n(Q, {
1119
- key: e,
1120
- color: e,
1121
- active: m(e),
1122
- onSelect: f
1123
- }, null, 8, ["color", "active"]))), 128))]))), 128)) : (p(), i("div", Me, [(p(!0), i(e, null, g(r.presetColors, (e) => (p(), n(Q, {
1124
- key: e,
1125
- color: e,
1126
- active: m(e),
1127
- onSelect: f
1128
- }, null, 8, ["color", "active"]))), 128))]))], 4));
1129
- }
1130
- }), Pe = /* @__PURE__ */ s({
1131
- __name: "HueSlider",
1132
- props: /*@__PURE__*/ c({ width: { default: "var(--vc-width, 240px)" } }, {
1133
- modelValue: { default: 0 },
1134
- modelModifiers: {}
1135
- }),
1136
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1137
- setup(e, { emit: t }) {
1138
- let n = y(e, "modelValue"), r = e, a = t;
1139
- function s(e) {
1140
- n.value = e, a("input", e);
1141
- }
1142
- function c() {
1143
- a("change", n.value ?? 0);
1144
- }
1145
- return (e, t) => (p(), i("div", {
1146
- class: "vc-hue-slider",
1147
- style: d({ width: r.width })
1148
- }, [o(B, {
1149
- hue: n.value ?? 0,
1150
- onInput: s,
1151
- onChange: c
1152
- }, null, 8, ["hue"])], 4));
1153
- }
1154
- }), Fe = { class: "vc-slider__row" }, Ie = { class: "vc-slider__row" }, Le = ["value"], Re = {
1155
- key: 0,
1156
- class: "vc-slider__row"
1157
- }, ze = /* @__PURE__ */ s({
1158
- __name: "SliderPicker",
1159
- props: /*@__PURE__*/ c({
1160
- format: { default: "hex" },
1161
- disableAlpha: {
1162
- type: Boolean,
1163
- default: !1
1164
- },
1165
- width: { default: "var(--vc-width, 240px)" }
1166
- }, {
1167
- modelValue: {},
1168
- modelModifiers: {}
1169
- }),
1170
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1171
- setup(e, { emit: t }) {
1172
- let n = y(e, "modelValue"), s = e, c = F(n, t, () => s.format, () => s.disableAlpha);
1173
- function l(e) {
1174
- let t = +e.target.value;
1175
- c.setFromHsla({
1176
- ...c.hsla.value,
1177
- l: t
1178
- }), c.input();
1179
- }
1180
- return (t, n) => (p(), i("div", {
1181
- class: "vc-slider",
1182
- style: d({ width: e.width })
1183
- }, [
1184
- a("div", Fe, [n[5] ||= a("span", { class: "vc-slider__label" }, "H", -1), o(B, {
1185
- hue: v(c).hsva.value.h,
1186
- onInput: n[0] ||= (e) => {
1187
- v(c).setHue(e), v(c).input();
1188
- },
1189
- onChange: n[1] ||= (e) => v(c).change()
1190
- }, null, 8, ["hue"])]),
1191
- a("div", Ie, [n[6] ||= a("span", { class: "vc-slider__label" }, "L", -1), a("input", {
1192
- class: "vc-slider__range",
1193
- type: "range",
1194
- min: "0",
1195
- max: "100",
1196
- value: v(c).hsla.value.l,
1197
- onInput: l,
1198
- onChange: n[2] ||= (e) => v(c).change()
1199
- }, null, 40, Le)]),
1200
- e.disableAlpha ? r("", !0) : (p(), i("div", Re, [n[7] ||= a("span", { class: "vc-slider__label" }, "A", -1), o(V, {
1201
- rgba: v(c).rgba.value,
1202
- onInput: n[3] ||= (e) => {
1203
- v(c).setAlpha(e), v(c).input();
1204
- },
1205
- onChange: n[4] ||= (e) => v(c).change()
1206
- }, null, 8, ["rgba"])]))
1207
- ], 4));
1208
- }
1209
- }), Be = { class: "vc-sliders__label" }, Ve = [
1210
- "max",
1211
- "step",
1212
- "value",
1213
- "onInput"
1214
- ], $ = { class: "vc-sliders__value" }, He = /* @__PURE__ */ s({
1215
- __name: "RGBASliders",
1216
- props: /*@__PURE__*/ c({
1217
- format: { default: "rgb" },
1218
- disableAlpha: {
1219
- type: Boolean,
1220
- default: !1
1221
- },
1222
- width: { default: "var(--vc-width, 240px)" }
1223
- }, {
1224
- modelValue: {},
1225
- modelModifiers: {}
1226
- }),
1227
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1228
- setup(t, { emit: n }) {
1229
- let r = y(t, "modelValue"), o = t, s = F(r, n, () => o.format, () => o.disableAlpha), c = [
1230
- {
1231
- key: "r",
1232
- max: 255,
1233
- step: 1
1234
- },
1235
- {
1236
- key: "g",
1237
- max: 255,
1238
- step: 1
1239
- },
1240
- {
1241
- key: "b",
1242
- max: 255,
1243
- step: 1
1244
- },
1245
- {
1246
- key: "a",
1247
- max: 1,
1248
- step: .01
1249
- }
1250
- ];
1251
- function l(e) {
1252
- return s.rgba.value[e];
1253
- }
1254
- function u(e, t) {
1255
- let n = +t.target.value;
1256
- s.setFromRgba({
1257
- ...s.rgba.value,
1258
- [e]: n
1259
- }), s.input();
1260
- }
1261
- return (n, r) => (p(), i("div", {
1262
- class: "vc-sliders",
1263
- style: d({ width: t.width })
1264
- }, [(p(), i(e, null, g(c, (e) => S(a("div", {
1265
- class: "vc-sliders__row",
1266
- key: e.key
1267
- }, [
1268
- a("span", Be, _(e.key.toUpperCase()), 1),
1269
- a("input", {
1270
- class: "vc-sliders__range",
1271
- type: "range",
1272
- min: 0,
1273
- max: e.max,
1274
- step: e.step,
1275
- value: l(e.key),
1276
- onInput: (t) => u(e.key, t),
1277
- onChange: r[0] ||= (e) => v(s).change()
1278
- }, null, 40, Ve),
1279
- a("span", $, _(e.key === "a" ? l(e.key).toFixed(2) : Math.round(l(e.key))), 1)
1280
- ]), [[b, e.key !== "a" || !t.disableAlpha]])), 64))], 4));
1281
- }
1282
- }), Ue = { class: "vc-sliders__label" }, We = [
1283
- "max",
1284
- "step",
1285
- "value",
1286
- "onInput"
1287
- ], Ge = { class: "vc-sliders__value" }, Ke = /* @__PURE__ */ s({
1288
- __name: "HSVSliders",
1289
- props: /*@__PURE__*/ c({
1290
- format: { default: "hex" },
1291
- disableAlpha: {
1292
- type: Boolean,
1293
- default: !1
1294
- },
1295
- width: { default: "var(--vc-width, 240px)" }
1296
- }, {
1297
- modelValue: {},
1298
- modelModifiers: {}
1299
- }),
1300
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1301
- setup(t, { emit: n }) {
1302
- let r = y(t, "modelValue"), o = t, s = F(r, n, () => o.format, () => o.disableAlpha), c = [
1303
- {
1304
- key: "h",
1305
- max: 360,
1306
- step: 1
1307
- },
1308
- {
1309
- key: "s",
1310
- max: 100,
1311
- step: 1
1312
- },
1313
- {
1314
- key: "v",
1315
- max: 100,
1316
- step: 1
1317
- },
1318
- {
1319
- key: "a",
1320
- max: 1,
1321
- step: .01
1322
- }
1323
- ];
1324
- function l(e) {
1325
- return s.hsva.value[e];
1326
- }
1327
- function u(e, t) {
1328
- let n = +t.target.value;
1329
- s.setFromHsva({
1330
- ...s.hsva.value,
1331
- [e]: n
1332
- }), s.input();
1333
- }
1334
- return (n, r) => (p(), i("div", {
1335
- class: "vc-sliders",
1336
- style: d({ width: t.width })
1337
- }, [(p(), i(e, null, g(c, (e) => S(a("div", {
1338
- class: "vc-sliders__row",
1339
- key: e.key
1340
- }, [
1341
- a("span", Ue, _(e.key.toUpperCase()), 1),
1342
- a("input", {
1343
- class: "vc-sliders__range",
1344
- type: "range",
1345
- min: 0,
1346
- max: e.max,
1347
- step: e.step,
1348
- value: l(e.key),
1349
- onInput: (t) => u(e.key, t),
1350
- onChange: r[0] ||= (e) => v(s).change()
1351
- }, null, 40, We),
1352
- a("span", Ge, _(e.key === "a" ? l(e.key).toFixed(2) : Math.round(l(e.key))), 1)
1353
- ]), [[b, e.key !== "a" || !t.disableAlpha]])), 64))], 4));
1354
- }
1355
- }), qe = { class: "vc-sliders__label" }, Je = [
1356
- "max",
1357
- "step",
1358
- "value",
1359
- "onInput"
1360
- ], Ye = { class: "vc-sliders__value" }, Xe = /* @__PURE__ */ s({
1361
- __name: "HSLSliders",
1362
- props: /*@__PURE__*/ c({
1363
- format: { default: "hsl" },
1364
- disableAlpha: {
1365
- type: Boolean,
1366
- default: !1
1367
- },
1368
- width: { default: "var(--vc-width, 240px)" }
1369
- }, {
1370
- modelValue: {},
1371
- modelModifiers: {}
1372
- }),
1373
- emits: /*@__PURE__*/ c(["change", "input"], ["update:modelValue"]),
1374
- setup(t, { emit: n }) {
1375
- let r = y(t, "modelValue"), o = t, s = F(r, n, () => o.format, () => o.disableAlpha), c = [
1376
- {
1377
- key: "h",
1378
- max: 360,
1379
- step: 1
1380
- },
1381
- {
1382
- key: "s",
1383
- max: 100,
1384
- step: 1
1385
- },
1386
- {
1387
- key: "l",
1388
- max: 100,
1389
- step: 1
1390
- },
1391
- {
1392
- key: "a",
1393
- max: 1,
1394
- step: .01
1395
- }
1396
- ];
1397
- function l(e) {
1398
- return s.hsla.value[e];
1399
- }
1400
- function u(e, t) {
1401
- let n = +t.target.value;
1402
- s.setFromHsla({
1403
- ...s.hsla.value,
1404
- [e]: n
1405
- }), s.input();
1406
- }
1407
- return (n, r) => (p(), i("div", {
1408
- class: "vc-sliders",
1409
- style: d({ width: t.width })
1410
- }, [(p(), i(e, null, g(c, (e) => S(a("div", {
1411
- class: "vc-sliders__row",
1412
- key: e.key
1413
- }, [
1414
- a("span", qe, _(e.key.toUpperCase()), 1),
1415
- a("input", {
1416
- class: "vc-sliders__range",
1417
- type: "range",
1418
- min: 0,
1419
- max: e.max,
1420
- step: e.step,
1421
- value: l(e.key),
1422
- onInput: (t) => u(e.key, t),
1423
- onChange: r[0] ||= (e) => v(s).change()
1424
- }, null, 40, Je),
1425
- a("span", Ye, _(e.key === "a" ? l(e.key).toFixed(2) : Math.round(l(e.key))), 1)
1426
- ]), [[b, e.key !== "a" || !t.disableAlpha]])), 64))], 4));
1427
- }
1428
- });
1429
- //#endregion
1430
- //#region src/composables/useColorHistory.ts
1431
- function Ze(e = 8) {
1432
- let t = h([]);
1433
- function n(n) {
1434
- let r = n.toUpperCase();
1435
- t.value = [r, ...t.value.filter((e) => e !== r)].slice(0, e);
1436
- }
1437
- function r() {
1438
- t.value = [];
1439
- }
1440
- return {
1441
- history: m(t),
1442
- add: n,
1443
- clear: r
1444
- };
1445
- }
1446
- //#endregion
1447
- export { V as Alpha, J as COMPACT_PRESETS, ue as ChromePicker, Te as CompactPicker, q as DEFAULT_PRESETS, H as EditableInput, X as GRAYSCALE_PRESETS, Ee as GrayscalePicker, Xe as HSLSliders, Ke as HSVSliders, B as Hue, Pe as HueSlider, Z as MATERIAL_GRID, de as MATERIAL_PRESETS, Oe as MaterialPicker, Se as PhotoshopPicker, He as RGBASliders, z as Saturation, _e as SketchPicker, ze as SliderPicker, Q as Swatch, Ne as SwatchesPicker, Y as TWITTER_PRESETS, je as TwitterPicker, j as hexToRgb, k as hslToRgb, E as hsvToRgb, A as rgbToHex, O as rgbToHsl, D as rgbToHsv, M as useColor, Ze as useColorHistory, R as useDrag, I as useEyeDropper };