@yelbolt/engine-ui-color-palette 1.10.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.
Files changed (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +430 -0
  3. package/dist/color-DTr3No_G.js +540 -0
  4. package/dist/color-DTr3No_G.js.map +1 -0
  5. package/dist/formats/primitives/makeCompose.d.ts +4 -0
  6. package/dist/formats/primitives/makeCompose.d.ts.map +1 -0
  7. package/dist/formats/primitives/makeCssCustomProps.d.ts +5 -0
  8. package/dist/formats/primitives/makeCssCustomProps.d.ts.map +1 -0
  9. package/dist/formats/primitives/makeCsv.d.ts +13 -0
  10. package/dist/formats/primitives/makeCsv.d.ts.map +1 -0
  11. package/dist/formats/primitives/makeDtcgTokens.d.ts +5 -0
  12. package/dist/formats/primitives/makeDtcgTokens.d.ts.map +1 -0
  13. package/dist/formats/primitives/makeLessVariables.d.ts +5 -0
  14. package/dist/formats/primitives/makeLessVariables.d.ts.map +1 -0
  15. package/dist/formats/primitives/makeNativeTokens.d.ts +4 -0
  16. package/dist/formats/primitives/makeNativeTokens.d.ts.map +1 -0
  17. package/dist/formats/primitives/makeResources.d.ts +4 -0
  18. package/dist/formats/primitives/makeResources.d.ts.map +1 -0
  19. package/dist/formats/primitives/makeScssVariables.d.ts +5 -0
  20. package/dist/formats/primitives/makeScssVariables.d.ts.map +1 -0
  21. package/dist/formats/primitives/makeStyleDictionaryV3Tokens.d.ts +4 -0
  22. package/dist/formats/primitives/makeStyleDictionaryV3Tokens.d.ts.map +1 -0
  23. package/dist/formats/primitives/makeSwiftUI.d.ts +4 -0
  24. package/dist/formats/primitives/makeSwiftUI.d.ts.map +1 -0
  25. package/dist/formats/primitives/makeTailwindV3Config.d.ts +4 -0
  26. package/dist/formats/primitives/makeTailwindV3Config.d.ts.map +1 -0
  27. package/dist/formats/primitives/makeTailwindV4Config.d.ts +4 -0
  28. package/dist/formats/primitives/makeTailwindV4Config.d.ts.map +1 -0
  29. package/dist/formats/primitives/makeUIKit.d.ts +4 -0
  30. package/dist/formats/primitives/makeUIKit.d.ts.map +1 -0
  31. package/dist/formats/primitives/makeUniversalTokens.d.ts +4 -0
  32. package/dist/formats/primitives/makeUniversalTokens.d.ts.map +1 -0
  33. package/dist/formats/semantics/_helpers.d.ts +26 -0
  34. package/dist/formats/semantics/_helpers.d.ts.map +1 -0
  35. package/dist/formats/semantics/makeComposeSemantics.d.ts +5 -0
  36. package/dist/formats/semantics/makeComposeSemantics.d.ts.map +1 -0
  37. package/dist/formats/semantics/makeCssSemantics.d.ts +5 -0
  38. package/dist/formats/semantics/makeCssSemantics.d.ts.map +1 -0
  39. package/dist/formats/semantics/makeCsvSemantics.d.ts +5 -0
  40. package/dist/formats/semantics/makeCsvSemantics.d.ts.map +1 -0
  41. package/dist/formats/semantics/makeDtcgSemantics.d.ts +5 -0
  42. package/dist/formats/semantics/makeDtcgSemantics.d.ts.map +1 -0
  43. package/dist/formats/semantics/makeLessSemantics.d.ts +5 -0
  44. package/dist/formats/semantics/makeLessSemantics.d.ts.map +1 -0
  45. package/dist/formats/semantics/makeNativeSemantics.d.ts +5 -0
  46. package/dist/formats/semantics/makeNativeSemantics.d.ts.map +1 -0
  47. package/dist/formats/semantics/makeResourcesSemantics.d.ts +5 -0
  48. package/dist/formats/semantics/makeResourcesSemantics.d.ts.map +1 -0
  49. package/dist/formats/semantics/makeScssSemantics.d.ts +5 -0
  50. package/dist/formats/semantics/makeScssSemantics.d.ts.map +1 -0
  51. package/dist/formats/semantics/makeStyleDictionaryV3Semantics.d.ts +5 -0
  52. package/dist/formats/semantics/makeStyleDictionaryV3Semantics.d.ts.map +1 -0
  53. package/dist/formats/semantics/makeSwiftUISemantics.d.ts +5 -0
  54. package/dist/formats/semantics/makeSwiftUISemantics.d.ts.map +1 -0
  55. package/dist/formats/semantics/makeTailwindV3Semantics.d.ts +5 -0
  56. package/dist/formats/semantics/makeTailwindV3Semantics.d.ts.map +1 -0
  57. package/dist/formats/semantics/makeTailwindV4Semantics.d.ts +5 -0
  58. package/dist/formats/semantics/makeTailwindV4Semantics.d.ts.map +1 -0
  59. package/dist/formats/semantics/makeUIKitSemantics.d.ts +5 -0
  60. package/dist/formats/semantics/makeUIKitSemantics.d.ts.map +1 -0
  61. package/dist/formats/semantics/makeUniversalSemantics.d.ts +5 -0
  62. package/dist/formats/semantics/makeUniversalSemantics.d.ts.map +1 -0
  63. package/dist/index-Beb8qoyd.js +1403 -0
  64. package/dist/index-Beb8qoyd.js.map +1 -0
  65. package/dist/index.d.ts +14 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +17 -0
  68. package/dist/index.js.map +1 -0
  69. package/dist/modules/code/code.d.ts +28 -0
  70. package/dist/modules/code/code.d.ts.map +1 -0
  71. package/dist/modules/code/code.js +1312 -0
  72. package/dist/modules/code/code.js.map +1 -0
  73. package/dist/modules/color/color.d.ts +49 -0
  74. package/dist/modules/color/color.d.ts.map +1 -0
  75. package/dist/modules/color/color.js +6 -0
  76. package/dist/modules/color/color.js.map +1 -0
  77. package/dist/modules/color-harmony/color-harmony.d.ts +25 -0
  78. package/dist/modules/color-harmony/color-harmony.d.ts.map +1 -0
  79. package/dist/modules/color-harmony/color-harmony.js +147 -0
  80. package/dist/modules/color-harmony/color-harmony.js.map +1 -0
  81. package/dist/modules/contrast/contrast.d.ts +19 -0
  82. package/dist/modules/contrast/contrast.d.ts.map +1 -0
  83. package/dist/modules/contrast/contrast.js +187 -0
  84. package/dist/modules/contrast/contrast.js.map +1 -0
  85. package/dist/modules/data/data.d.ts +17 -0
  86. package/dist/modules/data/data.d.ts.map +1 -0
  87. package/dist/modules/data/data.js +461 -0
  88. package/dist/modules/data/data.js.map +1 -0
  89. package/dist/modules/dominant-colors/dominant-colors.d.ts +39 -0
  90. package/dist/modules/dominant-colors/dominant-colors.d.ts.map +1 -0
  91. package/dist/modules/dominant-colors/dominant-colors.js +198 -0
  92. package/dist/modules/dominant-colors/dominant-colors.js.map +1 -0
  93. package/dist/modules/system/system.d.ts +17 -0
  94. package/dist/modules/system/system.d.ts.map +1 -0
  95. package/dist/modules/system/system.js +78 -0
  96. package/dist/modules/system/system.js.map +1 -0
  97. package/dist/types/code.types.d.ts +6 -0
  98. package/dist/types/code.types.d.ts.map +1 -0
  99. package/dist/types/color.types.d.ts +45 -0
  100. package/dist/types/color.types.d.ts.map +1 -0
  101. package/dist/types/configuration.types.d.ts +154 -0
  102. package/dist/types/configuration.types.d.ts.map +1 -0
  103. package/dist/types/data.types.d.ts +135 -0
  104. package/dist/types/data.types.d.ts.map +1 -0
  105. package/dist/types/model.types.d.ts +3 -0
  106. package/dist/types/model.types.d.ts.map +1 -0
  107. package/dist/types/system.types.d.ts +40 -0
  108. package/dist/types/system.types.d.ts.map +1 -0
  109. package/package.json +65 -0
@@ -0,0 +1,461 @@
1
+ var N = Object.defineProperty;
2
+ var B = (C, e, c) => e in C ? N(C, e, { enumerable: !0, configurable: !0, writable: !0, value: c }) : C[e] = c;
3
+ var g = (C, e, c) => B(C, typeof e != "symbol" ? e + "" : e, c);
4
+ import { C as x, H as T } from "../../color-DTr3No_G.js";
5
+ import { c as s } from "../../index-Beb8qoyd.js";
6
+ import p from "../contrast/contrast.js";
7
+ var k = 256, R = [], H = 256, F;
8
+ for (; k--; ) R[k] = (k + 256).toString(16).substring(1);
9
+ function O(C) {
10
+ var e = 0, c = 11;
11
+ if (!F || k + c > H * 2)
12
+ for (F = "", k = 0; e < H; e++)
13
+ F += R[Math.random() * 256 | 0];
14
+ return F.substring(k, k++ + c);
15
+ }
16
+ const U = (/* @__PURE__ */ new Date()).toISOString(), V = {
17
+ id: O(),
18
+ dates: {
19
+ createdAt: U,
20
+ updatedAt: U,
21
+ publishedAt: "",
22
+ openedAt: ""
23
+ },
24
+ publicationStatus: {
25
+ isPublished: !1,
26
+ isShared: !1
27
+ },
28
+ creatorIdentity: {
29
+ creatorFullName: "",
30
+ creatorAvatar: "",
31
+ creatorId: ""
32
+ }
33
+ }, G = (C, e, c) => {
34
+ const t = C / 255, S = e / 255, n = c / 255, o = 1 - Math.max(t, S, n);
35
+ return o === 1 ? [0, 0, 0, 1] : [
36
+ (1 - t - o) / (1 - o),
37
+ (1 - S - o) / (1 - o),
38
+ (1 - n - o) / (1 - o),
39
+ o
40
+ ];
41
+ };
42
+ class Y {
43
+ constructor({
44
+ base: e,
45
+ themes: c,
46
+ meta: t
47
+ }) {
48
+ g(this, "base");
49
+ g(this, "themes");
50
+ g(this, "meta");
51
+ g(this, "paletteData");
52
+ g(this, "makePaletteData", () => (this.themes.forEach((e) => {
53
+ const c = {
54
+ id: e.id,
55
+ name: e.name,
56
+ description: e.description,
57
+ colors: [],
58
+ textColorsTheme: e.textColorsTheme,
59
+ type: e.type
60
+ };
61
+ this.base.colors.forEach((t) => {
62
+ const S = Object.entries(e.scale).reverse().map((a) => {
63
+ if (t.alpha.isEnabled) {
64
+ const r = new x({
65
+ render: "RGB",
66
+ sourceColor: [
67
+ t.rgb.r * 255,
68
+ t.rgb.g * 255,
69
+ t.rgb.b * 255
70
+ ],
71
+ alpha: parseFloat((a[1] / 100).toFixed(2)),
72
+ hueShifting: t.hue.shift !== void 0 ? t.hue.shift : 0,
73
+ chromaShifting: t.chroma.shift !== void 0 ? t.chroma.shift : 100,
74
+ algorithmVersion: this.base.algorithmVersion,
75
+ visionSimulationMode: e.visionSimulationMode
76
+ }), h = new x({
77
+ render: "RGB",
78
+ sourceColor: s(t.alpha.backgroundColor).rgb(),
79
+ algorithmVersion: this.base.algorithmVersion,
80
+ visionSimulationMode: e.visionSimulationMode
81
+ });
82
+ switch (this.base.colorSpace) {
83
+ case "LCH":
84
+ return this.base.areSourceColorsLocked ? [
85
+ a,
86
+ r.setColorWithAlpha(),
87
+ h.setColorWithAlpha()
88
+ ] : [
89
+ a,
90
+ r.lcha(),
91
+ h.lcha()
92
+ ];
93
+ case "OKLCH":
94
+ return this.base.areSourceColorsLocked ? [
95
+ a,
96
+ r.setColorWithAlpha(),
97
+ h.setColorWithAlpha()
98
+ ] : [
99
+ a,
100
+ r.oklcha(),
101
+ h.oklcha()
102
+ ];
103
+ case "LAB":
104
+ return this.base.areSourceColorsLocked ? [
105
+ a,
106
+ r.setColorWithAlpha(),
107
+ h.setColorWithAlpha()
108
+ ] : [
109
+ a,
110
+ r.laba(),
111
+ h.laba()
112
+ ];
113
+ case "OKLAB":
114
+ return this.base.areSourceColorsLocked ? [
115
+ a,
116
+ r.setColorWithAlpha(),
117
+ h.setColorWithAlpha()
118
+ ] : [
119
+ a,
120
+ r.oklaba(),
121
+ h.oklaba()
122
+ ];
123
+ case "HSL":
124
+ return this.base.areSourceColorsLocked ? [
125
+ a,
126
+ r.setColorWithAlpha(),
127
+ h.setColorWithAlpha()
128
+ ] : [
129
+ a,
130
+ r.hsla(),
131
+ h.hsla()
132
+ ];
133
+ case "HSLUV":
134
+ return this.base.areSourceColorsLocked ? [
135
+ a,
136
+ r.setColorWithAlpha(),
137
+ h.setColorWithAlpha()
138
+ ] : [
139
+ a,
140
+ r.hsluva(),
141
+ h.hsluva()
142
+ ];
143
+ case "HSV":
144
+ return this.base.areSourceColorsLocked ? [
145
+ a,
146
+ r.setColorWithAlpha(),
147
+ h.setColorWithAlpha()
148
+ ] : [
149
+ a,
150
+ r.hsva(),
151
+ h.hsva()
152
+ ];
153
+ case "CMYK":
154
+ return this.base.areSourceColorsLocked ? [
155
+ a,
156
+ r.setColorWithAlpha(),
157
+ h.setColorWithAlpha()
158
+ ] : [
159
+ a,
160
+ r.cmyka(),
161
+ h.cmyka()
162
+ ];
163
+ default:
164
+ return [a, [0, 0, 0], [255, 255, 255]];
165
+ }
166
+ } else {
167
+ const r = new x({
168
+ render: "RGB",
169
+ sourceColor: [
170
+ t.rgb.r * 255,
171
+ t.rgb.g * 255,
172
+ t.rgb.b * 255
173
+ ],
174
+ lightness: a[1],
175
+ hueShifting: t.hue.shift !== void 0 ? t.hue.shift : 0,
176
+ chromaShifting: t.chroma.shift !== void 0 ? t.chroma.shift : 100,
177
+ algorithmVersion: this.base.algorithmVersion,
178
+ visionSimulationMode: e.visionSimulationMode
179
+ });
180
+ switch (this.base.colorSpace) {
181
+ case "LCH":
182
+ return [a, r.lch()];
183
+ case "OKLCH":
184
+ return [a, r.oklch()];
185
+ case "LAB":
186
+ return [a, r.lab()];
187
+ case "OKLAB":
188
+ return [a, r.oklab()];
189
+ case "HSL":
190
+ return [a, r.hsl()];
191
+ case "HSLUV":
192
+ return [a, r.hsluv()];
193
+ case "HSV":
194
+ return [a, r.hsv()];
195
+ case "CMYK":
196
+ return [a, r.cmyk()];
197
+ default:
198
+ return [a, [0, 0, 0]];
199
+ }
200
+ }
201
+ }), n = {
202
+ id: t.id,
203
+ name: t.name,
204
+ description: t.description,
205
+ shades: [],
206
+ type: "color"
207
+ }, o = [
208
+ t.rgb.r * 255,
209
+ t.rgb.g * 255,
210
+ t.rgb.b * 255
211
+ ], d = new T();
212
+ d.rgb_r = t.rgb.r, d.rgb_g = t.rgb.g, d.rgb_b = t.rgb.b, d.rgbToHsluv();
213
+ const m = new p({
214
+ backgroundColor: o,
215
+ textColor: e.paletteBackground
216
+ }), l = e.textColorsTheme ? (() => {
217
+ const a = new p({
218
+ backgroundColor: o,
219
+ textColor: e.textColorsTheme.lightColor
220
+ }), r = new p({
221
+ backgroundColor: o,
222
+ textColor: e.textColorsTheme.darkColor
223
+ });
224
+ return {
225
+ wcag: {
226
+ light: {
227
+ ratio: parseFloat(
228
+ a.getWCAGContrast().toFixed(2)
229
+ ),
230
+ score: a.getWCAGScore()
231
+ },
232
+ dark: {
233
+ ratio: parseFloat(
234
+ r.getWCAGContrast().toFixed(2)
235
+ ),
236
+ score: r.getWCAGScore()
237
+ }
238
+ },
239
+ apca: {
240
+ light: {
241
+ lc: parseFloat(a.getAPCAContrast().toFixed(2)),
242
+ recommendedUsage: a.getRecommendedUsage()
243
+ },
244
+ dark: {
245
+ lc: parseFloat(r.getAPCAContrast().toFixed(2)),
246
+ recommendedUsage: r.getRecommendedUsage()
247
+ }
248
+ }
249
+ };
250
+ })() : void 0;
251
+ n.shades.push({
252
+ name: "source",
253
+ description: "Source color",
254
+ hex: s(o).hex(),
255
+ rgb: o,
256
+ gl: s(o).gl(),
257
+ lch: s(o).lch(),
258
+ oklch: s(o).oklch(),
259
+ lab: s(o).lab(),
260
+ oklab: s(o).oklab(),
261
+ hsl: s(o).hsl(),
262
+ hsluv: [
263
+ d.hsluv_h,
264
+ d.hsluv_s,
265
+ d.hsluv_l
266
+ ],
267
+ hsv: s(o).hsv(),
268
+ cmyk: G(...o),
269
+ contrast: {
270
+ wcag: {
271
+ ratio: m.getWCAGContrast(),
272
+ score: m.getWCAGScore()
273
+ },
274
+ apca: {
275
+ lc: m.getAPCAContrast(),
276
+ recommendedUsage: m.getRecommendedUsage()
277
+ }
278
+ },
279
+ textContrast: l,
280
+ type: "source color"
281
+ });
282
+ const v = S.map(
283
+ (a) => s.distance(
284
+ s(o).hex(),
285
+ s(a[1]).hex(),
286
+ "rgb"
287
+ )
288
+ ), i = v.indexOf(Math.min(...v));
289
+ S.forEach((a, r) => {
290
+ const h = s.distance(
291
+ s(o).hex(),
292
+ s(a[1]).hex(),
293
+ "rgb"
294
+ ), P = Object.keys(e.scale).find((A) => A === a[0][0]) ?? "0", b = new T(), W = new x({
295
+ render: "RGB",
296
+ sourceColor: s(o).rgb(),
297
+ visionSimulationMode: e.visionSimulationMode
298
+ }).setColor(), u = new x({
299
+ render: "HEX",
300
+ sourceColor: s(o).rgb(),
301
+ visionSimulationMode: e.visionSimulationMode
302
+ }).setColor(), w = t.alpha.isEnabled && t.alpha.backgroundColor ? new x({
303
+ visionSimulationMode: e.visionSimulationMode
304
+ }).mixColorsRgb(
305
+ [
306
+ ...a[1],
307
+ parseFloat(
308
+ (a[0][1] / 100).toFixed(2)
309
+ )
310
+ ],
311
+ [...a[2], 1]
312
+ ) : void 0;
313
+ r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? (b.rgb_r = Number(W[0]) / 255, b.rgb_g = Number(W[1]) / 255, b.rgb_b = Number(W[2]) / 255) : (b.rgb_r = Number(a[1][0]) / 255, b.rgb_g = Number(a[1][1]) / 255, b.rgb_b = Number(a[1][2]) / 255), b.rgbToHsluv();
314
+ const E = new p({
315
+ backgroundColor: t.alpha.isEnabled ? w : a[1],
316
+ textColor: e.paletteBackground
317
+ }), _ = E.getWCAGContrast(), y = E.getWCAGScore(), D = E.getAPCAContrast(), M = E.getRecommendedUsage(), I = e.textColorsTheme ? (() => {
318
+ const A = t.alpha.isEnabled ? w : a[1], L = new p({
319
+ backgroundColor: A,
320
+ textColor: e.textColorsTheme.lightColor
321
+ }), f = new p({
322
+ backgroundColor: A,
323
+ textColor: e.textColorsTheme.darkColor
324
+ });
325
+ return {
326
+ wcag: {
327
+ light: {
328
+ ratio: parseFloat(
329
+ L.getWCAGContrast().toFixed(2)
330
+ ),
331
+ score: L.getWCAGScore()
332
+ },
333
+ dark: {
334
+ ratio: parseFloat(
335
+ f.getWCAGContrast().toFixed(2)
336
+ ),
337
+ score: f.getWCAGScore()
338
+ }
339
+ },
340
+ apca: {
341
+ light: {
342
+ lc: parseFloat(
343
+ L.getAPCAContrast().toFixed(2)
344
+ ),
345
+ recommendedUsage: L.getRecommendedUsage()
346
+ },
347
+ dark: {
348
+ lc: parseFloat(f.getAPCAContrast().toFixed(2)),
349
+ recommendedUsage: f.getRecommendedUsage()
350
+ }
351
+ }
352
+ };
353
+ })() : void 0;
354
+ n.shades.push({
355
+ name: P,
356
+ description: `Shade/Tint color with ${typeof a[0][1] == "number" ? a[0][1].toFixed(1) : a[0][1]}% of ${t.alpha.isEnabled ? "opacity" : "lightness"} — WCAG ${_.toFixed(2)}:1 (${y}) · APCA Lc ${D.toFixed(1)} (${M.replace(/_/g, " ").toLowerCase()})`,
357
+ hex: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).hex() : s(a[1]).hex(),
358
+ rgb: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).rgb() : s(a[1]).rgb(),
359
+ gl: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).gl() : s(a[1]).gl(),
360
+ lch: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).lch() : s(a[1]).lch(),
361
+ oklch: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).oklch() : s(a[1]).oklch(),
362
+ lab: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).lab() : s(a[1]).lab(),
363
+ oklab: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).oklab() : s(a[1]).oklab(),
364
+ hsl: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u).hsl() : s(a[1]).hsl(),
365
+ hsluv: [b.hsluv_h, b.hsluv_s, b.hsluv_l],
366
+ hsv: (r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u) : s(a[1])).hsv(),
367
+ cmyk: (() => {
368
+ const [A, L, f] = (r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled ? s(u) : s(a[1])).rgb();
369
+ return G(A, L, f);
370
+ })(),
371
+ alpha: t.alpha.isEnabled ? parseFloat((a[0][1] / 100).toFixed(2)) : void 0,
372
+ backgroundColor: t.alpha.isEnabled && t.alpha.backgroundColor ? s(a[2]).rgb() : void 0,
373
+ mixedColor: w,
374
+ contrast: {
375
+ wcag: {
376
+ ratio: _,
377
+ score: y
378
+ },
379
+ apca: {
380
+ lc: D,
381
+ recommendedUsage: M
382
+ }
383
+ },
384
+ textContrast: I,
385
+ isClosestToRef: h < 4 && !this.base.areSourceColorsLocked,
386
+ isSourceColorLocked: r === i && this.base.areSourceColorsLocked && !t.alpha.isEnabled,
387
+ isTransparent: t.alpha.isEnabled,
388
+ type: "color shade/tint"
389
+ });
390
+ }), c.colors.push(n);
391
+ }), this.paletteData.themes.push(c);
392
+ }), this.paletteData));
393
+ g(this, "makeLibraryData", (e, c) => {
394
+ const t = this.makePaletteData();
395
+ return t.themes.flatMap(
396
+ (n) => n.colors.flatMap(
397
+ (o) => o.shades.flatMap((d) => {
398
+ const m = `${n.id}:${o.id}:${d.name}`, l = c == null ? void 0 : c.find(
399
+ (v) => v.id === m
400
+ );
401
+ return {
402
+ id: m,
403
+ paletteName: t.name,
404
+ themeName: n.name,
405
+ colorName: o.name,
406
+ shadeName: d.name,
407
+ ...(e == null ? void 0 : e.includes("alpha")) && { alpha: d.alpha ?? 1 },
408
+ ...(e == null ? void 0 : e.includes("hex")) && { hex: d.hex },
409
+ ...(e == null ? void 0 : e.includes("gl")) && { gl: d.gl },
410
+ ...(e == null ? void 0 : e.includes("description")) && {
411
+ description: o.description
412
+ },
413
+ ...(e == null ? void 0 : e.includes("collection_id")) && {
414
+ collectionId: l == null ? void 0 : l.collectionId
415
+ },
416
+ ...(e == null ? void 0 : e.includes("mode_id")) && {
417
+ modeId: l == null ? void 0 : l.modeId
418
+ },
419
+ ...(e == null ? void 0 : e.includes("variable_id")) && {
420
+ variableId: l == null ? void 0 : l.variableId
421
+ },
422
+ ...(e == null ? void 0 : e.includes("style_id")) && {
423
+ styleId: l == null ? void 0 : l.styleId
424
+ },
425
+ ...(e == null ? void 0 : e.includes("catalog_id")) && {
426
+ catalogId: l == null ? void 0 : l.catalogId
427
+ },
428
+ ...(e == null ? void 0 : e.includes("theme_id")) && {
429
+ themeId: l == null ? void 0 : l.themeId
430
+ },
431
+ ...(e == null ? void 0 : e.includes("set_id")) && {
432
+ setId: l == null ? void 0 : l.setId
433
+ },
434
+ ...(e == null ? void 0 : e.includes("token_id")) && {
435
+ tokenId: l == null ? void 0 : l.tokenId
436
+ }
437
+ };
438
+ })
439
+ )
440
+ );
441
+ });
442
+ g(this, "makePaletteFullData", () => ({
443
+ base: this.base,
444
+ themes: this.themes,
445
+ libraryData: this.makeLibraryData(),
446
+ meta: this.meta,
447
+ version: "2025.06",
448
+ type: "UI_COLOR_PALETTE"
449
+ }));
450
+ this.base = e, this.themes = c, this.meta = t ?? V, this.paletteData = {
451
+ name: e.name ?? "UI Color Palette",
452
+ description: e.description,
453
+ themes: [],
454
+ type: "palette"
455
+ };
456
+ }
457
+ }
458
+ export {
459
+ Y as default
460
+ };
461
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sources":["../../../node_modules/uid/dist/index.mjs","../../../src/modules/data/data.ts"],"sourcesContent":["var IDX=256, HEX=[], SIZE=256, BUFFER;\nwhile (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);\n\nexport function uid(len) {\n\tvar i=0, tmp=(len || 11);\n\tif (!BUFFER || ((IDX + tmp) > SIZE*2)) {\n\t\tfor (BUFFER='',IDX=0; i < SIZE; i++) {\n\t\t\tBUFFER += HEX[Math.random() * 256 | 0];\n\t\t}\n\t}\n\n\treturn BUFFER.substring(IDX, IDX++ + tmp);\n}\n","import { uid } from 'uid'\nimport { Hsluv } from 'hsluv'\nimport chroma from 'chroma-js'\nimport {\n LibraryData,\n PaletteData,\n PaletteDataColorItem,\n PaletteDataThemeItem,\n} from '@tps/data.types'\nimport {\n MetaConfiguration,\n BaseConfiguration,\n ThemeConfiguration,\n FullConfiguration,\n} from '@tps/configuration.types'\nimport { Channel, ChannelWithAlpha, HexModel } from '@tps/color.types'\nimport Contrast from '@modules/contrast/contrast'\nimport Color from '@modules/color/color'\n\nconst now = new Date().toISOString()\nconst DEFAULT_META: MetaConfiguration = {\n id: uid(),\n dates: {\n createdAt: now,\n updatedAt: now,\n publishedAt: '',\n openedAt: '',\n },\n publicationStatus: {\n isPublished: false,\n isShared: false,\n },\n creatorIdentity: {\n creatorFullName: '',\n creatorAvatar: '',\n creatorId: '',\n },\n}\n\nconst rgbToCmyk = (r: number, g: number, b: number): ChannelWithAlpha => {\n const r1 = r / 255,\n g1 = g / 255,\n b1 = b / 255\n const k = 1 - Math.max(r1, g1, b1)\n\n if (k === 1) return [0, 0, 0, 1]\n\n return [\n (1 - r1 - k) / (1 - k),\n (1 - g1 - k) / (1 - k),\n (1 - b1 - k) / (1 - k),\n k,\n ]\n}\n\nexport default class Data {\n private base: BaseConfiguration\n private themes: Array<ThemeConfiguration>\n private meta: MetaConfiguration\n private paletteData: PaletteData\n\n constructor({\n base,\n themes,\n meta,\n }: {\n base: BaseConfiguration\n themes: Array<ThemeConfiguration>\n meta?: MetaConfiguration\n }) {\n this.base = base\n this.themes = themes\n this.meta = meta ?? DEFAULT_META\n this.paletteData = {\n name: base.name ?? 'UI Color Palette',\n description: base.description,\n themes: [],\n type: 'palette',\n }\n }\n\n makePaletteData = () => {\n this.themes.forEach((theme) => {\n const paletteDataThemeItem: PaletteDataThemeItem = {\n id: theme.id,\n name: theme.name,\n description: theme.description,\n colors: [],\n textColorsTheme: theme.textColorsTheme,\n type: theme.type,\n }\n this.base.colors.forEach((color) => {\n const scaledColors = Object.entries(theme.scale)\n .reverse()\n .map((lightness) => {\n if (color.alpha.isEnabled) {\n const foregroundColorData = new Color({\n render: 'RGB',\n sourceColor: [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ],\n alpha: parseFloat((lightness[1] / 100).toFixed(2)),\n hueShifting:\n color.hue.shift !== undefined ? color.hue.shift : 0,\n chromaShifting:\n color.chroma.shift !== undefined ? color.chroma.shift : 100,\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n const backgroundColorData = new Color({\n render: 'RGB',\n sourceColor: chroma(color.alpha.backgroundColor).rgb(),\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n\n switch (this.base.colorSpace) {\n case 'LCH':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.lcha(),\n backgroundColorData.lcha(),\n ]\n case 'OKLCH':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.oklcha(),\n backgroundColorData.oklcha(),\n ]\n case 'LAB':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.laba(),\n backgroundColorData.laba(),\n ]\n case 'OKLAB':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.oklaba(),\n backgroundColorData.oklaba(),\n ]\n case 'HSL':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsla(),\n backgroundColorData.hsla(),\n ]\n case 'HSLUV':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsluva(),\n backgroundColorData.hsluva(),\n ]\n case 'HSV':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.hsva(),\n backgroundColorData.hsva(),\n ]\n case 'CMYK':\n return this.base.areSourceColorsLocked\n ? [\n lightness,\n foregroundColorData.setColorWithAlpha(),\n backgroundColorData.setColorWithAlpha(),\n ]\n : [\n lightness,\n foregroundColorData.cmyka(),\n backgroundColorData.cmyka(),\n ]\n default:\n return [lightness, [0, 0, 0], [255, 255, 255]]\n }\n } else {\n const colorData = new Color({\n render: 'RGB',\n sourceColor: [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ],\n lightness: lightness[1],\n hueShifting:\n color.hue.shift !== undefined ? color.hue.shift : 0,\n chromaShifting:\n color.chroma.shift !== undefined ? color.chroma.shift : 100,\n algorithmVersion: this.base.algorithmVersion,\n visionSimulationMode: theme.visionSimulationMode,\n })\n\n switch (this.base.colorSpace) {\n case 'LCH':\n return [lightness, colorData.lch()]\n case 'OKLCH':\n return [lightness, colorData.oklch()]\n case 'LAB':\n return [lightness, colorData.lab()]\n case 'OKLAB':\n return [lightness, colorData.oklab()]\n case 'HSL':\n return [lightness, colorData.hsl()]\n case 'HSLUV':\n return [lightness, colorData.hsluv()]\n case 'HSV':\n return [lightness, colorData.hsv()]\n case 'CMYK':\n return [lightness, colorData.cmyk()]\n default:\n return [lightness, [0, 0, 0]]\n }\n }\n })\n\n const paletteDataColorItem: PaletteDataColorItem = {\n id: color.id,\n name: color.name,\n description: color.description,\n shades: [],\n type: 'color',\n },\n sourceColor: Channel = [\n color.rgb.r * 255,\n color.rgb.g * 255,\n color.rgb.b * 255,\n ]\n\n const sourceHsluv = new Hsluv()\n sourceHsluv.rgb_r = color.rgb.r\n sourceHsluv.rgb_g = color.rgb.g\n sourceHsluv.rgb_b = color.rgb.b\n sourceHsluv.rgbToHsluv()\n const sourceContrastChecker = new Contrast({\n backgroundColor: sourceColor,\n textColor: theme.paletteBackground,\n })\n\n const sourceTextContrast = theme.textColorsTheme\n ? (() => {\n const lightContrast = new Contrast({\n backgroundColor: sourceColor,\n textColor: theme.textColorsTheme.lightColor,\n })\n const darkContrast = new Contrast({\n backgroundColor: sourceColor,\n textColor: theme.textColorsTheme.darkColor,\n })\n return {\n wcag: {\n light: {\n ratio: parseFloat(\n lightContrast.getWCAGContrast().toFixed(2)\n ),\n score: lightContrast.getWCAGScore(),\n },\n dark: {\n ratio: parseFloat(\n darkContrast.getWCAGContrast().toFixed(2)\n ),\n score: darkContrast.getWCAGScore(),\n },\n },\n apca: {\n light: {\n lc: parseFloat(lightContrast.getAPCAContrast().toFixed(2)),\n recommendedUsage: lightContrast.getRecommendedUsage(),\n },\n dark: {\n lc: parseFloat(darkContrast.getAPCAContrast().toFixed(2)),\n recommendedUsage: darkContrast.getRecommendedUsage(),\n },\n },\n }\n })()\n : undefined\n\n paletteDataColorItem.shades.push({\n name: 'source',\n description: 'Source color',\n hex: chroma(sourceColor).hex(),\n rgb: sourceColor,\n gl: chroma(sourceColor).gl(),\n lch: chroma(sourceColor).lch(),\n oklch: chroma(sourceColor).oklch(),\n lab: chroma(sourceColor).lab(),\n oklab: chroma(sourceColor).oklab(),\n hsl: chroma(sourceColor).hsl(),\n hsluv: [\n sourceHsluv.hsluv_h,\n sourceHsluv.hsluv_s,\n sourceHsluv.hsluv_l,\n ],\n hsv: chroma(sourceColor).hsv() as Channel,\n cmyk: rgbToCmyk(...sourceColor),\n contrast: {\n wcag: {\n ratio: sourceContrastChecker.getWCAGContrast(),\n score: sourceContrastChecker.getWCAGScore(),\n },\n apca: {\n lc: sourceContrastChecker.getAPCAContrast(),\n recommendedUsage: sourceContrastChecker.getRecommendedUsage(),\n },\n },\n textContrast: sourceTextContrast,\n type: 'source color',\n })\n\n const distances = scaledColors.map((shade) =>\n chroma.distance(\n chroma(sourceColor).hex(),\n chroma(shade[1] as Channel).hex(),\n 'rgb'\n )\n )\n const minDistanceIndex = distances.indexOf(Math.min(...distances))\n\n scaledColors.forEach((scaledColor, index) => {\n const distance: number = chroma.distance(\n chroma(sourceColor).hex(),\n chroma(scaledColor[1] as Channel).hex(),\n 'rgb'\n )\n const scaleName: string =\n Object.keys(theme.scale).find((key) => key === scaledColor[0][0]) ??\n '0'\n const newHsluv = new Hsluv()\n const simulatedSourceColorRgb = new Color({\n render: 'RGB',\n sourceColor: chroma(sourceColor).rgb(),\n visionSimulationMode: theme.visionSimulationMode,\n }).setColor() as Channel\n const simulatedSourceColorHex = new Color({\n render: 'HEX',\n sourceColor: chroma(sourceColor).rgb(),\n visionSimulationMode: theme.visionSimulationMode,\n }).setColor() as HexModel\n const mixedColor =\n color.alpha.isEnabled && color.alpha.backgroundColor\n ? new Color({\n visionSimulationMode: theme.visionSimulationMode,\n }).mixColorsRgb(\n [\n ...(scaledColor[1] as Channel),\n parseFloat(\n ((scaledColor[0][1] as number) / 100).toFixed(2)\n ),\n ],\n [...(scaledColor[2] as Channel), 1]\n )\n : undefined\n\n if (\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ) {\n newHsluv.rgb_r = Number(simulatedSourceColorRgb[0]) / 255\n newHsluv.rgb_g = Number(simulatedSourceColorRgb[1]) / 255\n newHsluv.rgb_b = Number(simulatedSourceColorRgb[2]) / 255\n } else {\n newHsluv.rgb_r = Number(scaledColor[1][0]) / 255\n newHsluv.rgb_g = Number(scaledColor[1][1]) / 255\n newHsluv.rgb_b = Number(scaledColor[1][2]) / 255\n }\n newHsluv.rgbToHsluv()\n\n const contrastChecker = new Contrast({\n backgroundColor: color.alpha.isEnabled\n ? mixedColor\n : (scaledColor[1] as Channel),\n textColor: theme.paletteBackground,\n })\n const wcagRatio = contrastChecker.getWCAGContrast()\n const wcagScore = contrastChecker.getWCAGScore()\n const apcaLc = contrastChecker.getAPCAContrast()\n const apcaUsage = contrastChecker.getRecommendedUsage()\n\n const shadeTextContrast = theme.textColorsTheme\n ? (() => {\n const bgColor = color.alpha.isEnabled\n ? mixedColor\n : (scaledColor[1] as Channel)\n const lightContrast = new Contrast({\n backgroundColor: bgColor,\n textColor: theme.textColorsTheme.lightColor,\n })\n const darkContrast = new Contrast({\n backgroundColor: bgColor,\n textColor: theme.textColorsTheme.darkColor,\n })\n return {\n wcag: {\n light: {\n ratio: parseFloat(\n lightContrast.getWCAGContrast().toFixed(2)\n ),\n score: lightContrast.getWCAGScore(),\n },\n dark: {\n ratio: parseFloat(\n darkContrast.getWCAGContrast().toFixed(2)\n ),\n score: darkContrast.getWCAGScore(),\n },\n },\n apca: {\n light: {\n lc: parseFloat(\n lightContrast.getAPCAContrast().toFixed(2)\n ),\n recommendedUsage: lightContrast.getRecommendedUsage(),\n },\n dark: {\n lc: parseFloat(darkContrast.getAPCAContrast().toFixed(2)),\n recommendedUsage: darkContrast.getRecommendedUsage(),\n },\n },\n }\n })()\n : undefined\n\n paletteDataColorItem.shades.push({\n name: scaleName,\n description: `Shade/Tint color with ${typeof scaledColor[0][1] === 'number' ? scaledColor[0][1].toFixed(1) : scaledColor[0][1]}% of ${\n color.alpha.isEnabled ? 'opacity' : 'lightness'\n } — WCAG ${wcagRatio.toFixed(2)}:1 (${wcagScore}) · APCA Lc ${apcaLc.toFixed(1)} (${apcaUsage.replace(/_/g, ' ').toLowerCase()})`,\n hex:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).hex()\n : chroma(scaledColor[1] as Channel).hex(),\n rgb:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).rgb()\n : chroma(scaledColor[1] as Channel).rgb(),\n gl:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).gl()\n : chroma(scaledColor[1] as Channel).gl(),\n lch:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).lch()\n : chroma(scaledColor[1] as Channel).lch(),\n oklch:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).oklch()\n : chroma(scaledColor[1] as Channel).oklch(),\n lab:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).lab()\n : chroma(scaledColor[1] as Channel).lab(),\n oklab:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).oklab()\n : chroma(scaledColor[1] as Channel).oklab(),\n hsl:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex).hsl()\n : chroma(scaledColor[1] as Channel).hsl(),\n hsluv: [newHsluv.hsluv_h, newHsluv.hsluv_s, newHsluv.hsluv_l],\n hsv: (index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex)\n : chroma(scaledColor[1] as Channel)\n ).hsv() as Channel,\n cmyk: (() => {\n const [r, g, b] = (\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled\n ? chroma(simulatedSourceColorHex)\n : chroma(scaledColor[1] as Channel)\n ).rgb()\n return rgbToCmyk(r, g, b)\n })(),\n alpha: color.alpha.isEnabled\n ? parseFloat(((scaledColor[0][1] as number) / 100).toFixed(2))\n : undefined,\n backgroundColor:\n color.alpha.isEnabled && color.alpha.backgroundColor\n ? chroma(scaledColor[2] as Channel).rgb()\n : undefined,\n mixedColor: mixedColor,\n contrast: {\n wcag: {\n ratio: wcagRatio,\n score: wcagScore,\n },\n apca: {\n lc: apcaLc,\n recommendedUsage: apcaUsage,\n },\n },\n textContrast: shadeTextContrast,\n isClosestToRef: distance < 4 && !this.base.areSourceColorsLocked,\n isSourceColorLocked:\n index === minDistanceIndex &&\n this.base.areSourceColorsLocked &&\n !color.alpha.isEnabled,\n isTransparent: color.alpha.isEnabled,\n type: 'color shade/tint',\n })\n })\n\n paletteDataThemeItem.colors.push(paletteDataColorItem)\n })\n this.paletteData.themes.push(paletteDataThemeItem)\n })\n\n return this.paletteData\n }\n\n makeLibraryData = (\n options?: Array<\n | 'collection_id'\n | 'mode_id'\n | 'variable_id'\n | 'style_id'\n | 'catalog_id'\n | 'theme_id'\n | 'set_id'\n | 'token_id'\n | 'gl'\n | 'hex'\n | 'description'\n | 'alpha'\n >,\n previousData?: Array<LibraryData>\n ) => {\n const paletteData = this.makePaletteData()\n\n const libraryData: Array<LibraryData> = paletteData.themes.flatMap(\n (theme) => {\n return theme.colors.flatMap((color) =>\n color.shades.flatMap((shade) => {\n const generatedId = `${theme.id}:${color.id}:${shade.name}`\n const previousItem = previousData?.find(\n (item) => item.id === generatedId\n )\n\n return {\n id: generatedId,\n paletteName: paletteData.name,\n themeName: theme.name,\n colorName: color.name,\n shadeName: shade.name,\n ...(options?.includes('alpha') && { alpha: shade.alpha ?? 1 }),\n ...(options?.includes('hex') && { hex: shade.hex }),\n ...(options?.includes('gl') && { gl: shade.gl }),\n ...(options?.includes('description') && {\n description: color.description,\n }),\n ...(options?.includes('collection_id') && {\n collectionId: previousItem?.collectionId,\n }),\n ...(options?.includes('mode_id') && {\n modeId: previousItem?.modeId,\n }),\n ...(options?.includes('variable_id') && {\n variableId: previousItem?.variableId,\n }),\n ...(options?.includes('style_id') && {\n styleId: previousItem?.styleId,\n }),\n ...(options?.includes('catalog_id') && {\n catalogId: previousItem?.catalogId,\n }),\n ...(options?.includes('theme_id') && {\n themeId: previousItem?.themeId,\n }),\n ...(options?.includes('set_id') && {\n setId: previousItem?.setId,\n }),\n ...(options?.includes('token_id') && {\n tokenId: previousItem?.tokenId,\n }),\n }\n })\n )\n }\n )\n\n return libraryData\n }\n\n makePaletteFullData = () => {\n const fullPaletteData = {\n base: this.base,\n themes: this.themes,\n libraryData: this.makeLibraryData(),\n meta: this.meta,\n version: '2025.06',\n type: 'UI_COLOR_PALETTE',\n } as FullConfiguration\n\n return fullPaletteData\n }\n}\n"],"names":["IDX","HEX","SIZE","BUFFER","uid","len","i","tmp","now","DEFAULT_META","rgbToCmyk","r","g","b","r1","g1","b1","k","Data","base","themes","meta","__publicField","theme","paletteDataThemeItem","color","scaledColors","lightness","foregroundColorData","Color","backgroundColorData","chroma","colorData","paletteDataColorItem","sourceColor","sourceHsluv","Hsluv","sourceContrastChecker","Contrast","sourceTextContrast","lightContrast","darkContrast","distances","shade","minDistanceIndex","scaledColor","index","distance","scaleName","key","newHsluv","simulatedSourceColorRgb","simulatedSourceColorHex","mixedColor","contrastChecker","wcagRatio","wcagScore","apcaLc","apcaUsage","shadeTextContrast","bgColor","options","previousData","paletteData","generatedId","previousItem","item"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,39 @@
1
+ import { ImageData, DominantColorResult, DominantColorsOptions } from '../../types/color.types';
2
+ interface DominantColorsInput extends DominantColorsOptions {
3
+ imageData?: ImageData;
4
+ arrayBuffer?: ArrayBuffer;
5
+ maxImageSize?: number;
6
+ }
7
+ export default class DominantColors {
8
+ private imageData;
9
+ private colorCount;
10
+ private maxIterations;
11
+ private tolerance;
12
+ private skipTransparent;
13
+ private maxImageSize;
14
+ constructor({ imageData, arrayBuffer, colorCount, maxIterations, tolerance, skipTransparent, maxImageSize, }: DominantColorsInput);
15
+ private arrayBuffer?;
16
+ private ensureImageData;
17
+ private decodeImageFromArrayBuffer;
18
+ /** Synchronous extraction for ImageData (backward compatibility) */
19
+ extractDominantColors: () => DominantColorResult[];
20
+ /** Asynchronous extraction for ArrayBuffer */
21
+ extractDominantColorsAsync: () => Promise<DominantColorResult[]>;
22
+ private extractPixels;
23
+ private performKMeans;
24
+ private initializeCentroids;
25
+ private findClosestCentroid;
26
+ private calculateDistance;
27
+ private calculateCentroid;
28
+ private hasConverged;
29
+ private calculateColorFrequencies;
30
+ setColorCount: (count: number) => void;
31
+ updateOptions: (options: Partial<DominantColorsOptions>) => void;
32
+ getOptions: () => DominantColorsOptions;
33
+ /** Static method for simplified ArrayBuffer usage */
34
+ static fromArrayBuffer(arrayBuffer: ArrayBuffer, options?: Omit<DominantColorsInput, 'arrayBuffer' | 'imageData'>): Promise<DominantColorResult[]>;
35
+ /** Simplified static method for quick color extraction */
36
+ static extract(arrayBuffer: ArrayBuffer, colorCount?: number): Promise<DominantColorResult[]>;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=dominant-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dominant-colors.d.ts","sourceRoot":"","sources":["../../../src/modules/dominant-colors/dominant-colors.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AAEzB,UAAU,mBAAoB,SAAQ,qBAAqB;IACzD,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAQ;gBAEhB,EACV,SAAS,EACT,WAAW,EACX,UAAc,EACd,aAAkB,EAClB,SAAgB,EAChB,eAAsB,EACtB,YAAkB,GACnB,EAAE,mBAAmB;IAiBtB,OAAO,CAAC,WAAW,CAAC,CAAa;YAEnB,eAAe;YAMf,0BAA0B;IA2ExC,oEAAoE;IACpE,qBAAqB,QAAO,mBAAmB,EAAE,CAchD;IAED,8CAA8C;IAC9C,0BAA0B,QAAa,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAgBpE;IAED,OAAO,CAAC,aAAa,CAoBpB;IAED,OAAO,CAAC,aAAa,CA+BpB;IAED,OAAO,CAAC,mBAAmB,CA8B1B;IAED,OAAO,CAAC,mBAAmB,CAgB1B;IAED,OAAO,CAAC,iBAAiB,CAOxB;IAED,OAAO,CAAC,iBAAiB,CAWxB;IAED,OAAO,CAAC,YAAY,CAUnB;IAED,OAAO,CAAC,yBAAyB,CAmBhC;IAED,aAAa,UAAW,MAAM,KAAG,IAAI,CAEpC;IAED,aAAa,YAAa,OAAO,CAAC,qBAAqB,CAAC,KAAG,IAAI,CAO9D;IAED,UAAU,QAAO,qBAAqB,CAKpC;IAEF,qDAAqD;WACxC,eAAe,CAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,WAAW,CAAM,GACnE,OAAO,CAAC,mBAAmB,EAAE,CAAC;IASjC,0DAA0D;WAC7C,OAAO,CAClB,WAAW,EAAE,WAAW,EACxB,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAGlC"}