openportal 0.1.0 → 0.1.1

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 (99) hide show
  1. package/package.json +10 -4
  2. package/web/.next/static/{b-zSCTvx5IzLyCj7s91p4 → A7pW-dtFIbPCSkvE8uenX}/_buildManifest.js +5 -5
  3. package/web/.next/static/chunks/{d3520c0622de77ff.js → 2e7bfb90c343ca96.js} +2 -2
  4. package/web/.next/static/chunks/{c2c14edbf40dd531.js → 8f80b41262ef70b6.js} +1 -1
  5. package/web/.next/static/chunks/{6ed981794a42d949.js → 967a1e0002fe9ae6.js} +2 -2
  6. package/web/.next/static/chunks/{688448a61fbd7d50.js → 9b265e2198b5525f.js} +2 -2
  7. package/web/.next/static/chunks/{c617a4c7a78d4946.js → aebf799dac29fe08.js} +2 -2
  8. package/web/.next/static/chunks/{d091e73f46572c38.js → c20ae04df8cc28be.js} +2 -2
  9. package/web/.next/static/chunks/{fe47781ce8074a57.js → d316d63225992c76.js} +2 -2
  10. package/web/.next/static/chunks/{turbopack-f44fd3803d0d6727.js → turbopack-1837909a677d116b.js} +1 -1
  11. package/web/.next/static/chunks/{turbopack-03c9848eaf268db1.js → turbopack-26688626142ac58f.js} +1 -1
  12. package/web/.next/static/chunks/{turbopack-bc49f2e78bf92fdb.js → turbopack-27558c851386934e.js} +1 -1
  13. package/web/.next/static/chunks/{turbopack-d90c5e114da5fc51.js → turbopack-92c911b9efda2756.js} +1 -1
  14. package/web/.next/static/chunks/{turbopack-ededbd49a3a234ea.js → turbopack-c40ec6674624f1d7.js} +1 -1
  15. package/web/.next/static/chunks/{turbopack-b3b62a2520d01d7e.js → turbopack-f4c0881f9723f5a5.js} +1 -1
  16. package/web/apps/web/.next/BUILD_ID +1 -1
  17. package/web/apps/web/.next/build-manifest.json +14 -14
  18. package/web/apps/web/.next/required-server-files.json +1 -1
  19. package/web/apps/web/.next/server/middleware-build-manifest.js +12 -12
  20. package/web/apps/web/.next/server/pages/404.html +1 -1
  21. package/web/apps/web/.next/server/pages/500.html +1 -1
  22. package/web/apps/web/.next/server/pages/_app/build-manifest.json +2 -2
  23. package/web/apps/web/.next/server/pages/_app/client-build-manifest.json +1 -1
  24. package/web/apps/web/.next/server/pages/_error/build-manifest.json +2 -2
  25. package/web/apps/web/.next/server/pages/_error/client-build-manifest.json +1 -1
  26. package/web/apps/web/.next/server/pages/index/build-manifest.json +2 -2
  27. package/web/apps/web/.next/server/pages/index/client-build-manifest.json +1 -1
  28. package/web/apps/web/.next/server/pages/index.html +1 -1
  29. package/web/apps/web/.next/server/pages/session/[id]/build-manifest.json +2 -2
  30. package/web/apps/web/.next/server/pages/session/[id]/client-build-manifest.json +1 -1
  31. package/web/apps/web/.next/server/pages/session/[id].html +1 -1
  32. package/web/apps/web/.next/server/pages/settings/build-manifest.json +2 -2
  33. package/web/apps/web/.next/server/pages/settings/client-build-manifest.json +1 -1
  34. package/web/apps/web/.next/server/pages/settings.html +1 -1
  35. package/web/apps/web/.next/server/pages/terminal/build-manifest.json +2 -2
  36. package/web/apps/web/.next/server/pages/terminal/client-build-manifest.json +1 -1
  37. package/web/apps/web/.next/server/pages/terminal.html +1 -1
  38. package/web/apps/web/server.js +1 -1
  39. package/web/node_modules/.bun/@img+colour@1.0.0/node_modules/@img/colour/color.cjs +0 -1594
  40. package/web/node_modules/.bun/@img+colour@1.0.0/node_modules/@img/colour/index.cjs +0 -1
  41. package/web/node_modules/.bun/@img+colour@1.0.0/node_modules/@img/colour/package.json +0 -45
  42. package/web/node_modules/.bun/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  43. package/web/node_modules/.bun/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
  44. package/web/node_modules/.bun/@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/README.md +0 -46
  45. package/web/node_modules/.bun/@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +0 -220
  46. package/web/node_modules/.bun/@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
  47. package/web/node_modules/.bun/@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
  48. package/web/node_modules/.bun/@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
  49. package/web/node_modules/.bun/@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
  50. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +0 -6
  51. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +0 -38
  52. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +0 -6
  53. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js +0 -6
  54. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js +0 -13
  55. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js +0 -6
  56. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_class_private_field_get.js +0 -8
  57. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_class_private_field_init.js +0 -7
  58. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_class_private_field_set.js +0 -9
  59. package/web/node_modules/.bun/@swc+helpers@0.5.15/node_modules/@swc/helpers/package.json +0 -471
  60. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/channel.js +0 -177
  61. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/colour.js +0 -195
  62. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/composite.js +0 -212
  63. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/constructor.js +0 -499
  64. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/index.js +0 -16
  65. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/input.js +0 -809
  66. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/is.js +0 -143
  67. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/libvips.js +0 -207
  68. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/operation.js +0 -1016
  69. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/output.js +0 -1666
  70. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/resize.js +0 -595
  71. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/sharp.js +0 -121
  72. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/lib/utility.js +0 -291
  73. package/web/node_modules/.bun/sharp@0.34.5/node_modules/sharp/package.json +0 -202
  74. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/_tsc.js +0 -133818
  75. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/_tsserver.js +0 -659
  76. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  77. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  78. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  79. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  80. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  81. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  82. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  83. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  84. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  85. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  86. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  87. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  88. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/tsc.js +0 -8
  89. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/tsserver.js +0 -8
  90. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  91. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/typesMap.json +0 -497
  92. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/typescript.js +0 -200276
  93. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/typingsInstaller.js +0 -8
  94. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/watchGuard.js +0 -53
  95. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  96. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  97. package/web/node_modules/.bun/typescript@5.9.3/node_modules/typescript/package.json +0 -120
  98. /package/web/.next/static/{b-zSCTvx5IzLyCj7s91p4 → A7pW-dtFIbPCSkvE8uenX}/_clientMiddlewareManifest.json +0 -0
  99. /package/web/.next/static/{b-zSCTvx5IzLyCj7s91p4 → A7pW-dtFIbPCSkvE8uenX}/_ssgManifest.js +0 -0
@@ -1,1594 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // node_modules/color/index.js
20
- var index_exports = {};
21
- __export(index_exports, {
22
- default: () => index_default
23
- });
24
- module.exports = __toCommonJS(index_exports);
25
-
26
- // node_modules/color-name/index.js
27
- var color_name_default = {
28
- aliceblue: [240, 248, 255],
29
- antiquewhite: [250, 235, 215],
30
- aqua: [0, 255, 255],
31
- aquamarine: [127, 255, 212],
32
- azure: [240, 255, 255],
33
- beige: [245, 245, 220],
34
- bisque: [255, 228, 196],
35
- black: [0, 0, 0],
36
- blanchedalmond: [255, 235, 205],
37
- blue: [0, 0, 255],
38
- blueviolet: [138, 43, 226],
39
- brown: [165, 42, 42],
40
- burlywood: [222, 184, 135],
41
- cadetblue: [95, 158, 160],
42
- chartreuse: [127, 255, 0],
43
- chocolate: [210, 105, 30],
44
- coral: [255, 127, 80],
45
- cornflowerblue: [100, 149, 237],
46
- cornsilk: [255, 248, 220],
47
- crimson: [220, 20, 60],
48
- cyan: [0, 255, 255],
49
- darkblue: [0, 0, 139],
50
- darkcyan: [0, 139, 139],
51
- darkgoldenrod: [184, 134, 11],
52
- darkgray: [169, 169, 169],
53
- darkgreen: [0, 100, 0],
54
- darkgrey: [169, 169, 169],
55
- darkkhaki: [189, 183, 107],
56
- darkmagenta: [139, 0, 139],
57
- darkolivegreen: [85, 107, 47],
58
- darkorange: [255, 140, 0],
59
- darkorchid: [153, 50, 204],
60
- darkred: [139, 0, 0],
61
- darksalmon: [233, 150, 122],
62
- darkseagreen: [143, 188, 143],
63
- darkslateblue: [72, 61, 139],
64
- darkslategray: [47, 79, 79],
65
- darkslategrey: [47, 79, 79],
66
- darkturquoise: [0, 206, 209],
67
- darkviolet: [148, 0, 211],
68
- deeppink: [255, 20, 147],
69
- deepskyblue: [0, 191, 255],
70
- dimgray: [105, 105, 105],
71
- dimgrey: [105, 105, 105],
72
- dodgerblue: [30, 144, 255],
73
- firebrick: [178, 34, 34],
74
- floralwhite: [255, 250, 240],
75
- forestgreen: [34, 139, 34],
76
- fuchsia: [255, 0, 255],
77
- gainsboro: [220, 220, 220],
78
- ghostwhite: [248, 248, 255],
79
- gold: [255, 215, 0],
80
- goldenrod: [218, 165, 32],
81
- gray: [128, 128, 128],
82
- green: [0, 128, 0],
83
- greenyellow: [173, 255, 47],
84
- grey: [128, 128, 128],
85
- honeydew: [240, 255, 240],
86
- hotpink: [255, 105, 180],
87
- indianred: [205, 92, 92],
88
- indigo: [75, 0, 130],
89
- ivory: [255, 255, 240],
90
- khaki: [240, 230, 140],
91
- lavender: [230, 230, 250],
92
- lavenderblush: [255, 240, 245],
93
- lawngreen: [124, 252, 0],
94
- lemonchiffon: [255, 250, 205],
95
- lightblue: [173, 216, 230],
96
- lightcoral: [240, 128, 128],
97
- lightcyan: [224, 255, 255],
98
- lightgoldenrodyellow: [250, 250, 210],
99
- lightgray: [211, 211, 211],
100
- lightgreen: [144, 238, 144],
101
- lightgrey: [211, 211, 211],
102
- lightpink: [255, 182, 193],
103
- lightsalmon: [255, 160, 122],
104
- lightseagreen: [32, 178, 170],
105
- lightskyblue: [135, 206, 250],
106
- lightslategray: [119, 136, 153],
107
- lightslategrey: [119, 136, 153],
108
- lightsteelblue: [176, 196, 222],
109
- lightyellow: [255, 255, 224],
110
- lime: [0, 255, 0],
111
- limegreen: [50, 205, 50],
112
- linen: [250, 240, 230],
113
- magenta: [255, 0, 255],
114
- maroon: [128, 0, 0],
115
- mediumaquamarine: [102, 205, 170],
116
- mediumblue: [0, 0, 205],
117
- mediumorchid: [186, 85, 211],
118
- mediumpurple: [147, 112, 219],
119
- mediumseagreen: [60, 179, 113],
120
- mediumslateblue: [123, 104, 238],
121
- mediumspringgreen: [0, 250, 154],
122
- mediumturquoise: [72, 209, 204],
123
- mediumvioletred: [199, 21, 133],
124
- midnightblue: [25, 25, 112],
125
- mintcream: [245, 255, 250],
126
- mistyrose: [255, 228, 225],
127
- moccasin: [255, 228, 181],
128
- navajowhite: [255, 222, 173],
129
- navy: [0, 0, 128],
130
- oldlace: [253, 245, 230],
131
- olive: [128, 128, 0],
132
- olivedrab: [107, 142, 35],
133
- orange: [255, 165, 0],
134
- orangered: [255, 69, 0],
135
- orchid: [218, 112, 214],
136
- palegoldenrod: [238, 232, 170],
137
- palegreen: [152, 251, 152],
138
- paleturquoise: [175, 238, 238],
139
- palevioletred: [219, 112, 147],
140
- papayawhip: [255, 239, 213],
141
- peachpuff: [255, 218, 185],
142
- peru: [205, 133, 63],
143
- pink: [255, 192, 203],
144
- plum: [221, 160, 221],
145
- powderblue: [176, 224, 230],
146
- purple: [128, 0, 128],
147
- rebeccapurple: [102, 51, 153],
148
- red: [255, 0, 0],
149
- rosybrown: [188, 143, 143],
150
- royalblue: [65, 105, 225],
151
- saddlebrown: [139, 69, 19],
152
- salmon: [250, 128, 114],
153
- sandybrown: [244, 164, 96],
154
- seagreen: [46, 139, 87],
155
- seashell: [255, 245, 238],
156
- sienna: [160, 82, 45],
157
- silver: [192, 192, 192],
158
- skyblue: [135, 206, 235],
159
- slateblue: [106, 90, 205],
160
- slategray: [112, 128, 144],
161
- slategrey: [112, 128, 144],
162
- snow: [255, 250, 250],
163
- springgreen: [0, 255, 127],
164
- steelblue: [70, 130, 180],
165
- tan: [210, 180, 140],
166
- teal: [0, 128, 128],
167
- thistle: [216, 191, 216],
168
- tomato: [255, 99, 71],
169
- turquoise: [64, 224, 208],
170
- violet: [238, 130, 238],
171
- wheat: [245, 222, 179],
172
- white: [255, 255, 255],
173
- whitesmoke: [245, 245, 245],
174
- yellow: [255, 255, 0],
175
- yellowgreen: [154, 205, 50]
176
- };
177
-
178
- // node_modules/color-string/index.js
179
- var reverseNames = /* @__PURE__ */ Object.create(null);
180
- for (const name in color_name_default) {
181
- if (Object.hasOwn(color_name_default, name)) {
182
- reverseNames[color_name_default[name]] = name;
183
- }
184
- }
185
- var cs = {
186
- to: {},
187
- get: {}
188
- };
189
- cs.get = function(string) {
190
- const prefix = string.slice(0, 3).toLowerCase();
191
- let value;
192
- let model;
193
- switch (prefix) {
194
- case "hsl": {
195
- value = cs.get.hsl(string);
196
- model = "hsl";
197
- break;
198
- }
199
- case "hwb": {
200
- value = cs.get.hwb(string);
201
- model = "hwb";
202
- break;
203
- }
204
- default: {
205
- value = cs.get.rgb(string);
206
- model = "rgb";
207
- break;
208
- }
209
- }
210
- if (!value) {
211
- return null;
212
- }
213
- return { model, value };
214
- };
215
- cs.get.rgb = function(string) {
216
- if (!string) {
217
- return null;
218
- }
219
- const abbr = /^#([a-f\d]{3,4})$/i;
220
- const hex = /^#([a-f\d]{6})([a-f\d]{2})?$/i;
221
- const rgba = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/;
222
- const per = /^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/;
223
- const keyword = /^(\w+)$/;
224
- let rgb = [0, 0, 0, 1];
225
- let match;
226
- let i;
227
- let hexAlpha;
228
- if (match = string.match(hex)) {
229
- hexAlpha = match[2];
230
- match = match[1];
231
- for (i = 0; i < 3; i++) {
232
- const i2 = i * 2;
233
- rgb[i] = Number.parseInt(match.slice(i2, i2 + 2), 16);
234
- }
235
- if (hexAlpha) {
236
- rgb[3] = Number.parseInt(hexAlpha, 16) / 255;
237
- }
238
- } else if (match = string.match(abbr)) {
239
- match = match[1];
240
- hexAlpha = match[3];
241
- for (i = 0; i < 3; i++) {
242
- rgb[i] = Number.parseInt(match[i] + match[i], 16);
243
- }
244
- if (hexAlpha) {
245
- rgb[3] = Number.parseInt(hexAlpha + hexAlpha, 16) / 255;
246
- }
247
- } else if (match = string.match(rgba)) {
248
- for (i = 0; i < 3; i++) {
249
- rgb[i] = Number.parseInt(match[i + 1], 10);
250
- }
251
- if (match[4]) {
252
- rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]);
253
- }
254
- } else if (match = string.match(per)) {
255
- for (i = 0; i < 3; i++) {
256
- rgb[i] = Math.round(Number.parseFloat(match[i + 1]) * 2.55);
257
- }
258
- if (match[4]) {
259
- rgb[3] = match[5] ? Number.parseFloat(match[4]) * 0.01 : Number.parseFloat(match[4]);
260
- }
261
- } else if (match = string.match(keyword)) {
262
- if (match[1] === "transparent") {
263
- return [0, 0, 0, 0];
264
- }
265
- if (!Object.hasOwn(color_name_default, match[1])) {
266
- return null;
267
- }
268
- rgb = color_name_default[match[1]];
269
- rgb[3] = 1;
270
- return rgb;
271
- } else {
272
- return null;
273
- }
274
- for (i = 0; i < 3; i++) {
275
- rgb[i] = clamp(rgb[i], 0, 255);
276
- }
277
- rgb[3] = clamp(rgb[3], 0, 1);
278
- return rgb;
279
- };
280
- cs.get.hsl = function(string) {
281
- if (!string) {
282
- return null;
283
- }
284
- const hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
285
- const match = string.match(hsl);
286
- if (match) {
287
- const alpha = Number.parseFloat(match[4]);
288
- const h = (Number.parseFloat(match[1]) % 360 + 360) % 360;
289
- const s = clamp(Number.parseFloat(match[2]), 0, 100);
290
- const l = clamp(Number.parseFloat(match[3]), 0, 100);
291
- const a = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1);
292
- return [h, s, l, a];
293
- }
294
- return null;
295
- };
296
- cs.get.hwb = function(string) {
297
- if (!string) {
298
- return null;
299
- }
300
- const hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
301
- const match = string.match(hwb);
302
- if (match) {
303
- const alpha = Number.parseFloat(match[4]);
304
- const h = (Number.parseFloat(match[1]) % 360 + 360) % 360;
305
- const w = clamp(Number.parseFloat(match[2]), 0, 100);
306
- const b = clamp(Number.parseFloat(match[3]), 0, 100);
307
- const a = clamp(Number.isNaN(alpha) ? 1 : alpha, 0, 1);
308
- return [h, w, b, a];
309
- }
310
- return null;
311
- };
312
- cs.to.hex = function(...rgba) {
313
- return "#" + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : "");
314
- };
315
- cs.to.rgb = function(...rgba) {
316
- return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ")" : "rgba(" + Math.round(rgba[0]) + ", " + Math.round(rgba[1]) + ", " + Math.round(rgba[2]) + ", " + rgba[3] + ")";
317
- };
318
- cs.to.rgb.percent = function(...rgba) {
319
- const r = Math.round(rgba[0] / 255 * 100);
320
- const g = Math.round(rgba[1] / 255 * 100);
321
- const b = Math.round(rgba[2] / 255 * 100);
322
- return rgba.length < 4 || rgba[3] === 1 ? "rgb(" + r + "%, " + g + "%, " + b + "%)" : "rgba(" + r + "%, " + g + "%, " + b + "%, " + rgba[3] + ")";
323
- };
324
- cs.to.hsl = function(...hsla) {
325
- return hsla.length < 4 || hsla[3] === 1 ? "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)" : "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, " + hsla[3] + ")";
326
- };
327
- cs.to.hwb = function(...hwba) {
328
- let a = "";
329
- if (hwba.length >= 4 && hwba[3] !== 1) {
330
- a = ", " + hwba[3];
331
- }
332
- return "hwb(" + hwba[0] + ", " + hwba[1] + "%, " + hwba[2] + "%" + a + ")";
333
- };
334
- cs.to.keyword = function(...rgb) {
335
- return reverseNames[rgb.slice(0, 3)];
336
- };
337
- function clamp(number_, min, max) {
338
- return Math.min(Math.max(min, number_), max);
339
- }
340
- function hexDouble(number_) {
341
- const string_ = Math.round(number_).toString(16).toUpperCase();
342
- return string_.length < 2 ? "0" + string_ : string_;
343
- }
344
- var color_string_default = cs;
345
-
346
- // node_modules/color-convert/conversions.js
347
- var reverseKeywords = {};
348
- for (const key of Object.keys(color_name_default)) {
349
- reverseKeywords[color_name_default[key]] = key;
350
- }
351
- var convert = {
352
- rgb: { channels: 3, labels: "rgb" },
353
- hsl: { channels: 3, labels: "hsl" },
354
- hsv: { channels: 3, labels: "hsv" },
355
- hwb: { channels: 3, labels: "hwb" },
356
- cmyk: { channels: 4, labels: "cmyk" },
357
- xyz: { channels: 3, labels: "xyz" },
358
- lab: { channels: 3, labels: "lab" },
359
- oklab: { channels: 3, labels: ["okl", "oka", "okb"] },
360
- lch: { channels: 3, labels: "lch" },
361
- oklch: { channels: 3, labels: ["okl", "okc", "okh"] },
362
- hex: { channels: 1, labels: ["hex"] },
363
- keyword: { channels: 1, labels: ["keyword"] },
364
- ansi16: { channels: 1, labels: ["ansi16"] },
365
- ansi256: { channels: 1, labels: ["ansi256"] },
366
- hcg: { channels: 3, labels: ["h", "c", "g"] },
367
- apple: { channels: 3, labels: ["r16", "g16", "b16"] },
368
- gray: { channels: 1, labels: ["gray"] }
369
- };
370
- var conversions_default = convert;
371
- var LAB_FT = (6 / 29) ** 3;
372
- function srgbNonlinearTransform(c) {
373
- const cc = c > 31308e-7 ? 1.055 * c ** (1 / 2.4) - 0.055 : c * 12.92;
374
- return Math.min(Math.max(0, cc), 1);
375
- }
376
- function srgbNonlinearTransformInv(c) {
377
- return c > 0.04045 ? ((c + 0.055) / 1.055) ** 2.4 : c / 12.92;
378
- }
379
- for (const model of Object.keys(convert)) {
380
- if (!("channels" in convert[model])) {
381
- throw new Error("missing channels property: " + model);
382
- }
383
- if (!("labels" in convert[model])) {
384
- throw new Error("missing channel labels property: " + model);
385
- }
386
- if (convert[model].labels.length !== convert[model].channels) {
387
- throw new Error("channel and label counts mismatch: " + model);
388
- }
389
- const { channels, labels } = convert[model];
390
- delete convert[model].channels;
391
- delete convert[model].labels;
392
- Object.defineProperty(convert[model], "channels", { value: channels });
393
- Object.defineProperty(convert[model], "labels", { value: labels });
394
- }
395
- convert.rgb.hsl = function(rgb) {
396
- const r = rgb[0] / 255;
397
- const g = rgb[1] / 255;
398
- const b = rgb[2] / 255;
399
- const min = Math.min(r, g, b);
400
- const max = Math.max(r, g, b);
401
- const delta = max - min;
402
- let h;
403
- let s;
404
- switch (max) {
405
- case min: {
406
- h = 0;
407
- break;
408
- }
409
- case r: {
410
- h = (g - b) / delta;
411
- break;
412
- }
413
- case g: {
414
- h = 2 + (b - r) / delta;
415
- break;
416
- }
417
- case b: {
418
- h = 4 + (r - g) / delta;
419
- break;
420
- }
421
- }
422
- h = Math.min(h * 60, 360);
423
- if (h < 0) {
424
- h += 360;
425
- }
426
- const l = (min + max) / 2;
427
- if (max === min) {
428
- s = 0;
429
- } else if (l <= 0.5) {
430
- s = delta / (max + min);
431
- } else {
432
- s = delta / (2 - max - min);
433
- }
434
- return [h, s * 100, l * 100];
435
- };
436
- convert.rgb.hsv = function(rgb) {
437
- let rdif;
438
- let gdif;
439
- let bdif;
440
- let h;
441
- let s;
442
- const r = rgb[0] / 255;
443
- const g = rgb[1] / 255;
444
- const b = rgb[2] / 255;
445
- const v = Math.max(r, g, b);
446
- const diff = v - Math.min(r, g, b);
447
- const diffc = function(c) {
448
- return (v - c) / 6 / diff + 1 / 2;
449
- };
450
- if (diff === 0) {
451
- h = 0;
452
- s = 0;
453
- } else {
454
- s = diff / v;
455
- rdif = diffc(r);
456
- gdif = diffc(g);
457
- bdif = diffc(b);
458
- switch (v) {
459
- case r: {
460
- h = bdif - gdif;
461
- break;
462
- }
463
- case g: {
464
- h = 1 / 3 + rdif - bdif;
465
- break;
466
- }
467
- case b: {
468
- h = 2 / 3 + gdif - rdif;
469
- break;
470
- }
471
- }
472
- if (h < 0) {
473
- h += 1;
474
- } else if (h > 1) {
475
- h -= 1;
476
- }
477
- }
478
- return [
479
- h * 360,
480
- s * 100,
481
- v * 100
482
- ];
483
- };
484
- convert.rgb.hwb = function(rgb) {
485
- const r = rgb[0];
486
- const g = rgb[1];
487
- let b = rgb[2];
488
- const h = convert.rgb.hsl(rgb)[0];
489
- const w = 1 / 255 * Math.min(r, Math.min(g, b));
490
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
491
- return [h, w * 100, b * 100];
492
- };
493
- convert.rgb.oklab = function(rgb) {
494
- const r = srgbNonlinearTransformInv(rgb[0] / 255);
495
- const g = srgbNonlinearTransformInv(rgb[1] / 255);
496
- const b = srgbNonlinearTransformInv(rgb[2] / 255);
497
- const lp = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
498
- const mp = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
499
- const sp = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
500
- const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
501
- const aa = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp;
502
- const bb = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp;
503
- return [l * 100, aa * 100, bb * 100];
504
- };
505
- convert.rgb.cmyk = function(rgb) {
506
- const r = rgb[0] / 255;
507
- const g = rgb[1] / 255;
508
- const b = rgb[2] / 255;
509
- const k = Math.min(1 - r, 1 - g, 1 - b);
510
- const c = (1 - r - k) / (1 - k) || 0;
511
- const m = (1 - g - k) / (1 - k) || 0;
512
- const y = (1 - b - k) / (1 - k) || 0;
513
- return [c * 100, m * 100, y * 100, k * 100];
514
- };
515
- function comparativeDistance(x, y) {
516
- return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
517
- }
518
- convert.rgb.keyword = function(rgb) {
519
- const reversed = reverseKeywords[rgb];
520
- if (reversed) {
521
- return reversed;
522
- }
523
- let currentClosestDistance = Number.POSITIVE_INFINITY;
524
- let currentClosestKeyword;
525
- for (const keyword of Object.keys(color_name_default)) {
526
- const value = color_name_default[keyword];
527
- const distance = comparativeDistance(rgb, value);
528
- if (distance < currentClosestDistance) {
529
- currentClosestDistance = distance;
530
- currentClosestKeyword = keyword;
531
- }
532
- }
533
- return currentClosestKeyword;
534
- };
535
- convert.keyword.rgb = function(keyword) {
536
- return color_name_default[keyword];
537
- };
538
- convert.rgb.xyz = function(rgb) {
539
- const r = srgbNonlinearTransformInv(rgb[0] / 255);
540
- const g = srgbNonlinearTransformInv(rgb[1] / 255);
541
- const b = srgbNonlinearTransformInv(rgb[2] / 255);
542
- const x = r * 0.4124564 + g * 0.3575761 + b * 0.1804375;
543
- const y = r * 0.2126729 + g * 0.7151522 + b * 0.072175;
544
- const z = r * 0.0193339 + g * 0.119192 + b * 0.9503041;
545
- return [x * 100, y * 100, z * 100];
546
- };
547
- convert.rgb.lab = function(rgb) {
548
- const xyz = convert.rgb.xyz(rgb);
549
- let x = xyz[0];
550
- let y = xyz[1];
551
- let z = xyz[2];
552
- x /= 95.047;
553
- y /= 100;
554
- z /= 108.883;
555
- x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116;
556
- y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116;
557
- z = z > LAB_FT ? z ** (1 / 3) : 7.787 * z + 16 / 116;
558
- const l = 116 * y - 16;
559
- const a = 500 * (x - y);
560
- const b = 200 * (y - z);
561
- return [l, a, b];
562
- };
563
- convert.hsl.rgb = function(hsl) {
564
- const h = hsl[0] / 360;
565
- const s = hsl[1] / 100;
566
- const l = hsl[2] / 100;
567
- let t3;
568
- let value;
569
- if (s === 0) {
570
- value = l * 255;
571
- return [value, value, value];
572
- }
573
- const t2 = l < 0.5 ? l * (1 + s) : l + s - l * s;
574
- const t1 = 2 * l - t2;
575
- const rgb = [0, 0, 0];
576
- for (let i = 0; i < 3; i++) {
577
- t3 = h + 1 / 3 * -(i - 1);
578
- if (t3 < 0) {
579
- t3++;
580
- }
581
- if (t3 > 1) {
582
- t3--;
583
- }
584
- if (6 * t3 < 1) {
585
- value = t1 + (t2 - t1) * 6 * t3;
586
- } else if (2 * t3 < 1) {
587
- value = t2;
588
- } else if (3 * t3 < 2) {
589
- value = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
590
- } else {
591
- value = t1;
592
- }
593
- rgb[i] = value * 255;
594
- }
595
- return rgb;
596
- };
597
- convert.hsl.hsv = function(hsl) {
598
- const h = hsl[0];
599
- let s = hsl[1] / 100;
600
- let l = hsl[2] / 100;
601
- let smin = s;
602
- const lmin = Math.max(l, 0.01);
603
- l *= 2;
604
- s *= l <= 1 ? l : 2 - l;
605
- smin *= lmin <= 1 ? lmin : 2 - lmin;
606
- const v = (l + s) / 2;
607
- const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
608
- return [h, sv * 100, v * 100];
609
- };
610
- convert.hsv.rgb = function(hsv) {
611
- const h = hsv[0] / 60;
612
- const s = hsv[1] / 100;
613
- let v = hsv[2] / 100;
614
- const hi = Math.floor(h) % 6;
615
- const f = h - Math.floor(h);
616
- const p = 255 * v * (1 - s);
617
- const q = 255 * v * (1 - s * f);
618
- const t = 255 * v * (1 - s * (1 - f));
619
- v *= 255;
620
- switch (hi) {
621
- case 0: {
622
- return [v, t, p];
623
- }
624
- case 1: {
625
- return [q, v, p];
626
- }
627
- case 2: {
628
- return [p, v, t];
629
- }
630
- case 3: {
631
- return [p, q, v];
632
- }
633
- case 4: {
634
- return [t, p, v];
635
- }
636
- case 5: {
637
- return [v, p, q];
638
- }
639
- }
640
- };
641
- convert.hsv.hsl = function(hsv) {
642
- const h = hsv[0];
643
- const s = hsv[1] / 100;
644
- const v = hsv[2] / 100;
645
- const vmin = Math.max(v, 0.01);
646
- let sl;
647
- let l;
648
- l = (2 - s) * v;
649
- const lmin = (2 - s) * vmin;
650
- sl = s * vmin;
651
- sl /= lmin <= 1 ? lmin : 2 - lmin;
652
- sl = sl || 0;
653
- l /= 2;
654
- return [h, sl * 100, l * 100];
655
- };
656
- convert.hwb.rgb = function(hwb) {
657
- const h = hwb[0] / 360;
658
- let wh = hwb[1] / 100;
659
- let bl = hwb[2] / 100;
660
- const ratio = wh + bl;
661
- let f;
662
- if (ratio > 1) {
663
- wh /= ratio;
664
- bl /= ratio;
665
- }
666
- const i = Math.floor(6 * h);
667
- const v = 1 - bl;
668
- f = 6 * h - i;
669
- if ((i & 1) !== 0) {
670
- f = 1 - f;
671
- }
672
- const n = wh + f * (v - wh);
673
- let r;
674
- let g;
675
- let b;
676
- switch (i) {
677
- default:
678
- case 6:
679
- case 0: {
680
- r = v;
681
- g = n;
682
- b = wh;
683
- break;
684
- }
685
- case 1: {
686
- r = n;
687
- g = v;
688
- b = wh;
689
- break;
690
- }
691
- case 2: {
692
- r = wh;
693
- g = v;
694
- b = n;
695
- break;
696
- }
697
- case 3: {
698
- r = wh;
699
- g = n;
700
- b = v;
701
- break;
702
- }
703
- case 4: {
704
- r = n;
705
- g = wh;
706
- b = v;
707
- break;
708
- }
709
- case 5: {
710
- r = v;
711
- g = wh;
712
- b = n;
713
- break;
714
- }
715
- }
716
- return [r * 255, g * 255, b * 255];
717
- };
718
- convert.cmyk.rgb = function(cmyk) {
719
- const c = cmyk[0] / 100;
720
- const m = cmyk[1] / 100;
721
- const y = cmyk[2] / 100;
722
- const k = cmyk[3] / 100;
723
- const r = 1 - Math.min(1, c * (1 - k) + k);
724
- const g = 1 - Math.min(1, m * (1 - k) + k);
725
- const b = 1 - Math.min(1, y * (1 - k) + k);
726
- return [r * 255, g * 255, b * 255];
727
- };
728
- convert.xyz.rgb = function(xyz) {
729
- const x = xyz[0] / 100;
730
- const y = xyz[1] / 100;
731
- const z = xyz[2] / 100;
732
- let r;
733
- let g;
734
- let b;
735
- r = x * 3.2404542 + y * -1.5371385 + z * -0.4985314;
736
- g = x * -0.969266 + y * 1.8760108 + z * 0.041556;
737
- b = x * 0.0556434 + y * -0.2040259 + z * 1.0572252;
738
- r = srgbNonlinearTransform(r);
739
- g = srgbNonlinearTransform(g);
740
- b = srgbNonlinearTransform(b);
741
- return [r * 255, g * 255, b * 255];
742
- };
743
- convert.xyz.lab = function(xyz) {
744
- let x = xyz[0];
745
- let y = xyz[1];
746
- let z = xyz[2];
747
- x /= 95.047;
748
- y /= 100;
749
- z /= 108.883;
750
- x = x > LAB_FT ? x ** (1 / 3) : 7.787 * x + 16 / 116;
751
- y = y > LAB_FT ? y ** (1 / 3) : 7.787 * y + 16 / 116;
752
- z = z > LAB_FT ? z ** (1 / 3) : 7.787 * z + 16 / 116;
753
- const l = 116 * y - 16;
754
- const a = 500 * (x - y);
755
- const b = 200 * (y - z);
756
- return [l, a, b];
757
- };
758
- convert.xyz.oklab = function(xyz) {
759
- const x = xyz[0] / 100;
760
- const y = xyz[1] / 100;
761
- const z = xyz[2] / 100;
762
- const lp = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z);
763
- const mp = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z);
764
- const sp = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.633851707 * z);
765
- const l = 0.2104542553 * lp + 0.793617785 * mp - 0.0040720468 * sp;
766
- const a = 1.9779984951 * lp - 2.428592205 * mp + 0.4505937099 * sp;
767
- const b = 0.0259040371 * lp + 0.7827717662 * mp - 0.808675766 * sp;
768
- return [l * 100, a * 100, b * 100];
769
- };
770
- convert.oklab.oklch = function(oklab) {
771
- return convert.lab.lch(oklab);
772
- };
773
- convert.oklab.xyz = function(oklab) {
774
- const ll = oklab[0] / 100;
775
- const a = oklab[1] / 100;
776
- const b = oklab[2] / 100;
777
- const l = (0.999999998 * ll + 0.396337792 * a + 0.215803758 * b) ** 3;
778
- const m = (1.000000008 * ll - 0.105561342 * a - 0.063854175 * b) ** 3;
779
- const s = (1.000000055 * ll - 0.089484182 * a - 1.291485538 * b) ** 3;
780
- const x = 1.227013851 * l - 0.55779998 * m + 0.281256149 * s;
781
- const y = -0.040580178 * l + 1.11225687 * m - 0.071676679 * s;
782
- const z = -0.076381285 * l - 0.421481978 * m + 1.58616322 * s;
783
- return [x * 100, y * 100, z * 100];
784
- };
785
- convert.oklab.rgb = function(oklab) {
786
- const ll = oklab[0] / 100;
787
- const aa = oklab[1] / 100;
788
- const bb = oklab[2] / 100;
789
- const l = (ll + 0.3963377774 * aa + 0.2158037573 * bb) ** 3;
790
- const m = (ll - 0.1055613458 * aa - 0.0638541728 * bb) ** 3;
791
- const s = (ll - 0.0894841775 * aa - 1.291485548 * bb) ** 3;
792
- const r = srgbNonlinearTransform(4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s);
793
- const g = srgbNonlinearTransform(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s);
794
- const b = srgbNonlinearTransform(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s);
795
- return [r * 255, g * 255, b * 255];
796
- };
797
- convert.oklch.oklab = function(oklch) {
798
- return convert.lch.lab(oklch);
799
- };
800
- convert.lab.xyz = function(lab) {
801
- const l = lab[0];
802
- const a = lab[1];
803
- const b = lab[2];
804
- let x;
805
- let y;
806
- let z;
807
- y = (l + 16) / 116;
808
- x = a / 500 + y;
809
- z = y - b / 200;
810
- const y2 = y ** 3;
811
- const x2 = x ** 3;
812
- const z2 = z ** 3;
813
- y = y2 > LAB_FT ? y2 : (y - 16 / 116) / 7.787;
814
- x = x2 > LAB_FT ? x2 : (x - 16 / 116) / 7.787;
815
- z = z2 > LAB_FT ? z2 : (z - 16 / 116) / 7.787;
816
- x *= 95.047;
817
- y *= 100;
818
- z *= 108.883;
819
- return [x, y, z];
820
- };
821
- convert.lab.lch = function(lab) {
822
- const l = lab[0];
823
- const a = lab[1];
824
- const b = lab[2];
825
- let h;
826
- const hr = Math.atan2(b, a);
827
- h = hr * 360 / 2 / Math.PI;
828
- if (h < 0) {
829
- h += 360;
830
- }
831
- const c = Math.sqrt(a * a + b * b);
832
- return [l, c, h];
833
- };
834
- convert.lch.lab = function(lch) {
835
- const l = lch[0];
836
- const c = lch[1];
837
- const h = lch[2];
838
- const hr = h / 360 * 2 * Math.PI;
839
- const a = c * Math.cos(hr);
840
- const b = c * Math.sin(hr);
841
- return [l, a, b];
842
- };
843
- convert.rgb.ansi16 = function(args, saturation = null) {
844
- const [r, g, b] = args;
845
- let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
846
- value = Math.round(value / 50);
847
- if (value === 0) {
848
- return 30;
849
- }
850
- let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
851
- if (value === 2) {
852
- ansi += 60;
853
- }
854
- return ansi;
855
- };
856
- convert.hsv.ansi16 = function(args) {
857
- return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
858
- };
859
- convert.rgb.ansi256 = function(args) {
860
- const r = args[0];
861
- const g = args[1];
862
- const b = args[2];
863
- if (r >> 4 === g >> 4 && g >> 4 === b >> 4) {
864
- if (r < 8) {
865
- return 16;
866
- }
867
- if (r > 248) {
868
- return 231;
869
- }
870
- return Math.round((r - 8) / 247 * 24) + 232;
871
- }
872
- const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
873
- return ansi;
874
- };
875
- convert.ansi16.rgb = function(args) {
876
- args = args[0];
877
- let color = args % 10;
878
- if (color === 0 || color === 7) {
879
- if (args > 50) {
880
- color += 3.5;
881
- }
882
- color = color / 10.5 * 255;
883
- return [color, color, color];
884
- }
885
- const mult = (Math.trunc(args > 50) + 1) * 0.5;
886
- const r = (color & 1) * mult * 255;
887
- const g = (color >> 1 & 1) * mult * 255;
888
- const b = (color >> 2 & 1) * mult * 255;
889
- return [r, g, b];
890
- };
891
- convert.ansi256.rgb = function(args) {
892
- args = args[0];
893
- if (args >= 232) {
894
- const c = (args - 232) * 10 + 8;
895
- return [c, c, c];
896
- }
897
- args -= 16;
898
- let rem;
899
- const r = Math.floor(args / 36) / 5 * 255;
900
- const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
901
- const b = rem % 6 / 5 * 255;
902
- return [r, g, b];
903
- };
904
- convert.rgb.hex = function(args) {
905
- const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
906
- const string = integer.toString(16).toUpperCase();
907
- return "000000".slice(string.length) + string;
908
- };
909
- convert.hex.rgb = function(args) {
910
- const match = args.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);
911
- if (!match) {
912
- return [0, 0, 0];
913
- }
914
- let colorString = match[0];
915
- if (match[0].length === 3) {
916
- colorString = [...colorString].map((char) => char + char).join("");
917
- }
918
- const integer = Number.parseInt(colorString, 16);
919
- const r = integer >> 16 & 255;
920
- const g = integer >> 8 & 255;
921
- const b = integer & 255;
922
- return [r, g, b];
923
- };
924
- convert.rgb.hcg = function(rgb) {
925
- const r = rgb[0] / 255;
926
- const g = rgb[1] / 255;
927
- const b = rgb[2] / 255;
928
- const max = Math.max(Math.max(r, g), b);
929
- const min = Math.min(Math.min(r, g), b);
930
- const chroma = max - min;
931
- let hue;
932
- const grayscale = chroma < 1 ? min / (1 - chroma) : 0;
933
- if (chroma <= 0) {
934
- hue = 0;
935
- } else if (max === r) {
936
- hue = (g - b) / chroma % 6;
937
- } else if (max === g) {
938
- hue = 2 + (b - r) / chroma;
939
- } else {
940
- hue = 4 + (r - g) / chroma;
941
- }
942
- hue /= 6;
943
- hue %= 1;
944
- return [hue * 360, chroma * 100, grayscale * 100];
945
- };
946
- convert.hsl.hcg = function(hsl) {
947
- const s = hsl[1] / 100;
948
- const l = hsl[2] / 100;
949
- const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
950
- let f = 0;
951
- if (c < 1) {
952
- f = (l - 0.5 * c) / (1 - c);
953
- }
954
- return [hsl[0], c * 100, f * 100];
955
- };
956
- convert.hsv.hcg = function(hsv) {
957
- const s = hsv[1] / 100;
958
- const v = hsv[2] / 100;
959
- const c = s * v;
960
- let f = 0;
961
- if (c < 1) {
962
- f = (v - c) / (1 - c);
963
- }
964
- return [hsv[0], c * 100, f * 100];
965
- };
966
- convert.hcg.rgb = function(hcg) {
967
- const h = hcg[0] / 360;
968
- const c = hcg[1] / 100;
969
- const g = hcg[2] / 100;
970
- if (c === 0) {
971
- return [g * 255, g * 255, g * 255];
972
- }
973
- const pure = [0, 0, 0];
974
- const hi = h % 1 * 6;
975
- const v = hi % 1;
976
- const w = 1 - v;
977
- let mg = 0;
978
- switch (Math.floor(hi)) {
979
- case 0: {
980
- pure[0] = 1;
981
- pure[1] = v;
982
- pure[2] = 0;
983
- break;
984
- }
985
- case 1: {
986
- pure[0] = w;
987
- pure[1] = 1;
988
- pure[2] = 0;
989
- break;
990
- }
991
- case 2: {
992
- pure[0] = 0;
993
- pure[1] = 1;
994
- pure[2] = v;
995
- break;
996
- }
997
- case 3: {
998
- pure[0] = 0;
999
- pure[1] = w;
1000
- pure[2] = 1;
1001
- break;
1002
- }
1003
- case 4: {
1004
- pure[0] = v;
1005
- pure[1] = 0;
1006
- pure[2] = 1;
1007
- break;
1008
- }
1009
- default: {
1010
- pure[0] = 1;
1011
- pure[1] = 0;
1012
- pure[2] = w;
1013
- }
1014
- }
1015
- mg = (1 - c) * g;
1016
- return [
1017
- (c * pure[0] + mg) * 255,
1018
- (c * pure[1] + mg) * 255,
1019
- (c * pure[2] + mg) * 255
1020
- ];
1021
- };
1022
- convert.hcg.hsv = function(hcg) {
1023
- const c = hcg[1] / 100;
1024
- const g = hcg[2] / 100;
1025
- const v = c + g * (1 - c);
1026
- let f = 0;
1027
- if (v > 0) {
1028
- f = c / v;
1029
- }
1030
- return [hcg[0], f * 100, v * 100];
1031
- };
1032
- convert.hcg.hsl = function(hcg) {
1033
- const c = hcg[1] / 100;
1034
- const g = hcg[2] / 100;
1035
- const l = g * (1 - c) + 0.5 * c;
1036
- let s = 0;
1037
- if (l > 0 && l < 0.5) {
1038
- s = c / (2 * l);
1039
- } else if (l >= 0.5 && l < 1) {
1040
- s = c / (2 * (1 - l));
1041
- }
1042
- return [hcg[0], s * 100, l * 100];
1043
- };
1044
- convert.hcg.hwb = function(hcg) {
1045
- const c = hcg[1] / 100;
1046
- const g = hcg[2] / 100;
1047
- const v = c + g * (1 - c);
1048
- return [hcg[0], (v - c) * 100, (1 - v) * 100];
1049
- };
1050
- convert.hwb.hcg = function(hwb) {
1051
- const w = hwb[1] / 100;
1052
- const b = hwb[2] / 100;
1053
- const v = 1 - b;
1054
- const c = v - w;
1055
- let g = 0;
1056
- if (c < 1) {
1057
- g = (v - c) / (1 - c);
1058
- }
1059
- return [hwb[0], c * 100, g * 100];
1060
- };
1061
- convert.apple.rgb = function(apple) {
1062
- return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
1063
- };
1064
- convert.rgb.apple = function(rgb) {
1065
- return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
1066
- };
1067
- convert.gray.rgb = function(args) {
1068
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
1069
- };
1070
- convert.gray.hsl = function(args) {
1071
- return [0, 0, args[0]];
1072
- };
1073
- convert.gray.hsv = convert.gray.hsl;
1074
- convert.gray.hwb = function(gray) {
1075
- return [0, 100, gray[0]];
1076
- };
1077
- convert.gray.cmyk = function(gray) {
1078
- return [0, 0, 0, gray[0]];
1079
- };
1080
- convert.gray.lab = function(gray) {
1081
- return [gray[0], 0, 0];
1082
- };
1083
- convert.gray.hex = function(gray) {
1084
- const value = Math.round(gray[0] / 100 * 255) & 255;
1085
- const integer = (value << 16) + (value << 8) + value;
1086
- const string = integer.toString(16).toUpperCase();
1087
- return "000000".slice(string.length) + string;
1088
- };
1089
- convert.rgb.gray = function(rgb) {
1090
- const value = (rgb[0] + rgb[1] + rgb[2]) / 3;
1091
- return [value / 255 * 100];
1092
- };
1093
-
1094
- // node_modules/color-convert/route.js
1095
- function buildGraph() {
1096
- const graph = {};
1097
- const models2 = Object.keys(conversions_default);
1098
- for (let { length } = models2, i = 0; i < length; i++) {
1099
- graph[models2[i]] = {
1100
- // http://jsperf.com/1-vs-infinity
1101
- // micro-opt, but this is simple.
1102
- distance: -1,
1103
- parent: null
1104
- };
1105
- }
1106
- return graph;
1107
- }
1108
- function deriveBFS(fromModel) {
1109
- const graph = buildGraph();
1110
- const queue = [fromModel];
1111
- graph[fromModel].distance = 0;
1112
- while (queue.length > 0) {
1113
- const current = queue.pop();
1114
- const adjacents = Object.keys(conversions_default[current]);
1115
- for (let { length } = adjacents, i = 0; i < length; i++) {
1116
- const adjacent = adjacents[i];
1117
- const node = graph[adjacent];
1118
- if (node.distance === -1) {
1119
- node.distance = graph[current].distance + 1;
1120
- node.parent = current;
1121
- queue.unshift(adjacent);
1122
- }
1123
- }
1124
- }
1125
- return graph;
1126
- }
1127
- function link(from, to) {
1128
- return function(args) {
1129
- return to(from(args));
1130
- };
1131
- }
1132
- function wrapConversion(toModel, graph) {
1133
- const path = [graph[toModel].parent, toModel];
1134
- let fn = conversions_default[graph[toModel].parent][toModel];
1135
- let cur = graph[toModel].parent;
1136
- while (graph[cur].parent) {
1137
- path.unshift(graph[cur].parent);
1138
- fn = link(conversions_default[graph[cur].parent][cur], fn);
1139
- cur = graph[cur].parent;
1140
- }
1141
- fn.conversion = path;
1142
- return fn;
1143
- }
1144
- function route(fromModel) {
1145
- const graph = deriveBFS(fromModel);
1146
- const conversion = {};
1147
- const models2 = Object.keys(graph);
1148
- for (let { length } = models2, i = 0; i < length; i++) {
1149
- const toModel = models2[i];
1150
- const node = graph[toModel];
1151
- if (node.parent === null) {
1152
- continue;
1153
- }
1154
- conversion[toModel] = wrapConversion(toModel, graph);
1155
- }
1156
- return conversion;
1157
- }
1158
- var route_default = route;
1159
-
1160
- // node_modules/color-convert/index.js
1161
- var convert2 = {};
1162
- var models = Object.keys(conversions_default);
1163
- function wrapRaw(fn) {
1164
- const wrappedFn = function(...args) {
1165
- const arg0 = args[0];
1166
- if (arg0 === void 0 || arg0 === null) {
1167
- return arg0;
1168
- }
1169
- if (arg0.length > 1) {
1170
- args = arg0;
1171
- }
1172
- return fn(args);
1173
- };
1174
- if ("conversion" in fn) {
1175
- wrappedFn.conversion = fn.conversion;
1176
- }
1177
- return wrappedFn;
1178
- }
1179
- function wrapRounded(fn) {
1180
- const wrappedFn = function(...args) {
1181
- const arg0 = args[0];
1182
- if (arg0 === void 0 || arg0 === null) {
1183
- return arg0;
1184
- }
1185
- if (arg0.length > 1) {
1186
- args = arg0;
1187
- }
1188
- const result = fn(args);
1189
- if (typeof result === "object") {
1190
- for (let { length } = result, i = 0; i < length; i++) {
1191
- result[i] = Math.round(result[i]);
1192
- }
1193
- }
1194
- return result;
1195
- };
1196
- if ("conversion" in fn) {
1197
- wrappedFn.conversion = fn.conversion;
1198
- }
1199
- return wrappedFn;
1200
- }
1201
- for (const fromModel of models) {
1202
- convert2[fromModel] = {};
1203
- Object.defineProperty(convert2[fromModel], "channels", { value: conversions_default[fromModel].channels });
1204
- Object.defineProperty(convert2[fromModel], "labels", { value: conversions_default[fromModel].labels });
1205
- const routes = route_default(fromModel);
1206
- const routeModels = Object.keys(routes);
1207
- for (const toModel of routeModels) {
1208
- const fn = routes[toModel];
1209
- convert2[fromModel][toModel] = wrapRounded(fn);
1210
- convert2[fromModel][toModel].raw = wrapRaw(fn);
1211
- }
1212
- }
1213
- var color_convert_default = convert2;
1214
-
1215
- // node_modules/color/index.js
1216
- var skippedModels = [
1217
- // To be honest, I don't really feel like keyword belongs in color convert, but eh.
1218
- "keyword",
1219
- // Gray conflicts with some method names, and has its own method defined.
1220
- "gray",
1221
- // Shouldn't really be in color-convert either...
1222
- "hex"
1223
- ];
1224
- var hashedModelKeys = {};
1225
- for (const model of Object.keys(color_convert_default)) {
1226
- hashedModelKeys[[...color_convert_default[model].labels].sort().join("")] = model;
1227
- }
1228
- var limiters = {};
1229
- function Color(object, model) {
1230
- if (!(this instanceof Color)) {
1231
- return new Color(object, model);
1232
- }
1233
- if (model && model in skippedModels) {
1234
- model = null;
1235
- }
1236
- if (model && !(model in color_convert_default)) {
1237
- throw new Error("Unknown model: " + model);
1238
- }
1239
- let i;
1240
- let channels;
1241
- if (object == null) {
1242
- this.model = "rgb";
1243
- this.color = [0, 0, 0];
1244
- this.valpha = 1;
1245
- } else if (object instanceof Color) {
1246
- this.model = object.model;
1247
- this.color = [...object.color];
1248
- this.valpha = object.valpha;
1249
- } else if (typeof object === "string") {
1250
- const result = color_string_default.get(object);
1251
- if (result === null) {
1252
- throw new Error("Unable to parse color from string: " + object);
1253
- }
1254
- this.model = result.model;
1255
- channels = color_convert_default[this.model].channels;
1256
- this.color = result.value.slice(0, channels);
1257
- this.valpha = typeof result.value[channels] === "number" ? result.value[channels] : 1;
1258
- } else if (object.length > 0) {
1259
- this.model = model || "rgb";
1260
- channels = color_convert_default[this.model].channels;
1261
- const newArray = Array.prototype.slice.call(object, 0, channels);
1262
- this.color = zeroArray(newArray, channels);
1263
- this.valpha = typeof object[channels] === "number" ? object[channels] : 1;
1264
- } else if (typeof object === "number") {
1265
- this.model = "rgb";
1266
- this.color = [
1267
- object >> 16 & 255,
1268
- object >> 8 & 255,
1269
- object & 255
1270
- ];
1271
- this.valpha = 1;
1272
- } else {
1273
- this.valpha = 1;
1274
- const keys = Object.keys(object);
1275
- if ("alpha" in object) {
1276
- keys.splice(keys.indexOf("alpha"), 1);
1277
- this.valpha = typeof object.alpha === "number" ? object.alpha : 0;
1278
- }
1279
- const hashedKeys = keys.sort().join("");
1280
- if (!(hashedKeys in hashedModelKeys)) {
1281
- throw new Error("Unable to parse color from object: " + JSON.stringify(object));
1282
- }
1283
- this.model = hashedModelKeys[hashedKeys];
1284
- const { labels } = color_convert_default[this.model];
1285
- const color = [];
1286
- for (i = 0; i < labels.length; i++) {
1287
- color.push(object[labels[i]]);
1288
- }
1289
- this.color = zeroArray(color);
1290
- }
1291
- if (limiters[this.model]) {
1292
- channels = color_convert_default[this.model].channels;
1293
- for (i = 0; i < channels; i++) {
1294
- const limit = limiters[this.model][i];
1295
- if (limit) {
1296
- this.color[i] = limit(this.color[i]);
1297
- }
1298
- }
1299
- }
1300
- this.valpha = Math.max(0, Math.min(1, this.valpha));
1301
- if (Object.freeze) {
1302
- Object.freeze(this);
1303
- }
1304
- }
1305
- Color.prototype = {
1306
- toString() {
1307
- return this.string();
1308
- },
1309
- toJSON() {
1310
- return this[this.model]();
1311
- },
1312
- string(places) {
1313
- let self = this.model in color_string_default.to ? this : this.rgb();
1314
- self = self.round(typeof places === "number" ? places : 1);
1315
- const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
1316
- return color_string_default.to[self.model](...arguments_);
1317
- },
1318
- percentString(places) {
1319
- const self = this.rgb().round(typeof places === "number" ? places : 1);
1320
- const arguments_ = self.valpha === 1 ? self.color : [...self.color, this.valpha];
1321
- return color_string_default.to.rgb.percent(...arguments_);
1322
- },
1323
- array() {
1324
- return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];
1325
- },
1326
- object() {
1327
- const result = {};
1328
- const { channels } = color_convert_default[this.model];
1329
- const { labels } = color_convert_default[this.model];
1330
- for (let i = 0; i < channels; i++) {
1331
- result[labels[i]] = this.color[i];
1332
- }
1333
- if (this.valpha !== 1) {
1334
- result.alpha = this.valpha;
1335
- }
1336
- return result;
1337
- },
1338
- unitArray() {
1339
- const rgb = this.rgb().color;
1340
- rgb[0] /= 255;
1341
- rgb[1] /= 255;
1342
- rgb[2] /= 255;
1343
- if (this.valpha !== 1) {
1344
- rgb.push(this.valpha);
1345
- }
1346
- return rgb;
1347
- },
1348
- unitObject() {
1349
- const rgb = this.rgb().object();
1350
- rgb.r /= 255;
1351
- rgb.g /= 255;
1352
- rgb.b /= 255;
1353
- if (this.valpha !== 1) {
1354
- rgb.alpha = this.valpha;
1355
- }
1356
- return rgb;
1357
- },
1358
- round(places) {
1359
- places = Math.max(places || 0, 0);
1360
- return new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);
1361
- },
1362
- alpha(value) {
1363
- if (value !== void 0) {
1364
- return new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);
1365
- }
1366
- return this.valpha;
1367
- },
1368
- // Rgb
1369
- red: getset("rgb", 0, maxfn(255)),
1370
- green: getset("rgb", 1, maxfn(255)),
1371
- blue: getset("rgb", 2, maxfn(255)),
1372
- hue: getset(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, (value) => (value % 360 + 360) % 360),
1373
- saturationl: getset("hsl", 1, maxfn(100)),
1374
- lightness: getset("hsl", 2, maxfn(100)),
1375
- saturationv: getset("hsv", 1, maxfn(100)),
1376
- value: getset("hsv", 2, maxfn(100)),
1377
- chroma: getset("hcg", 1, maxfn(100)),
1378
- gray: getset("hcg", 2, maxfn(100)),
1379
- white: getset("hwb", 1, maxfn(100)),
1380
- wblack: getset("hwb", 2, maxfn(100)),
1381
- cyan: getset("cmyk", 0, maxfn(100)),
1382
- magenta: getset("cmyk", 1, maxfn(100)),
1383
- yellow: getset("cmyk", 2, maxfn(100)),
1384
- black: getset("cmyk", 3, maxfn(100)),
1385
- x: getset("xyz", 0, maxfn(95.047)),
1386
- y: getset("xyz", 1, maxfn(100)),
1387
- z: getset("xyz", 2, maxfn(108.833)),
1388
- l: getset("lab", 0, maxfn(100)),
1389
- a: getset("lab", 1),
1390
- b: getset("lab", 2),
1391
- keyword(value) {
1392
- if (value !== void 0) {
1393
- return new Color(value);
1394
- }
1395
- return color_convert_default[this.model].keyword(this.color);
1396
- },
1397
- hex(value) {
1398
- if (value !== void 0) {
1399
- return new Color(value);
1400
- }
1401
- return color_string_default.to.hex(...this.rgb().round().color);
1402
- },
1403
- hexa(value) {
1404
- if (value !== void 0) {
1405
- return new Color(value);
1406
- }
1407
- const rgbArray = this.rgb().round().color;
1408
- let alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();
1409
- if (alphaHex.length === 1) {
1410
- alphaHex = "0" + alphaHex;
1411
- }
1412
- return color_string_default.to.hex(...rgbArray) + alphaHex;
1413
- },
1414
- rgbNumber() {
1415
- const rgb = this.rgb().color;
1416
- return (rgb[0] & 255) << 16 | (rgb[1] & 255) << 8 | rgb[2] & 255;
1417
- },
1418
- luminosity() {
1419
- const rgb = this.rgb().color;
1420
- const lum = [];
1421
- for (const [i, element] of rgb.entries()) {
1422
- const chan = element / 255;
1423
- lum[i] = chan <= 0.04045 ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;
1424
- }
1425
- return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
1426
- },
1427
- contrast(color2) {
1428
- const lum1 = this.luminosity();
1429
- const lum2 = color2.luminosity();
1430
- if (lum1 > lum2) {
1431
- return (lum1 + 0.05) / (lum2 + 0.05);
1432
- }
1433
- return (lum2 + 0.05) / (lum1 + 0.05);
1434
- },
1435
- level(color2) {
1436
- const contrastRatio = this.contrast(color2);
1437
- if (contrastRatio >= 7) {
1438
- return "AAA";
1439
- }
1440
- return contrastRatio >= 4.5 ? "AA" : "";
1441
- },
1442
- isDark() {
1443
- const rgb = this.rgb().color;
1444
- const yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 1e4;
1445
- return yiq < 128;
1446
- },
1447
- isLight() {
1448
- return !this.isDark();
1449
- },
1450
- negate() {
1451
- const rgb = this.rgb();
1452
- for (let i = 0; i < 3; i++) {
1453
- rgb.color[i] = 255 - rgb.color[i];
1454
- }
1455
- return rgb;
1456
- },
1457
- lighten(ratio) {
1458
- const hsl = this.hsl();
1459
- hsl.color[2] += hsl.color[2] * ratio;
1460
- return hsl;
1461
- },
1462
- darken(ratio) {
1463
- const hsl = this.hsl();
1464
- hsl.color[2] -= hsl.color[2] * ratio;
1465
- return hsl;
1466
- },
1467
- saturate(ratio) {
1468
- const hsl = this.hsl();
1469
- hsl.color[1] += hsl.color[1] * ratio;
1470
- return hsl;
1471
- },
1472
- desaturate(ratio) {
1473
- const hsl = this.hsl();
1474
- hsl.color[1] -= hsl.color[1] * ratio;
1475
- return hsl;
1476
- },
1477
- whiten(ratio) {
1478
- const hwb = this.hwb();
1479
- hwb.color[1] += hwb.color[1] * ratio;
1480
- return hwb;
1481
- },
1482
- blacken(ratio) {
1483
- const hwb = this.hwb();
1484
- hwb.color[2] += hwb.color[2] * ratio;
1485
- return hwb;
1486
- },
1487
- grayscale() {
1488
- const rgb = this.rgb().color;
1489
- const value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
1490
- return Color.rgb(value, value, value);
1491
- },
1492
- fade(ratio) {
1493
- return this.alpha(this.valpha - this.valpha * ratio);
1494
- },
1495
- opaquer(ratio) {
1496
- return this.alpha(this.valpha + this.valpha * ratio);
1497
- },
1498
- rotate(degrees) {
1499
- const hsl = this.hsl();
1500
- let hue = hsl.color[0];
1501
- hue = (hue + degrees) % 360;
1502
- hue = hue < 0 ? 360 + hue : hue;
1503
- hsl.color[0] = hue;
1504
- return hsl;
1505
- },
1506
- mix(mixinColor, weight) {
1507
- if (!mixinColor || !mixinColor.rgb) {
1508
- throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor);
1509
- }
1510
- const color1 = mixinColor.rgb();
1511
- const color2 = this.rgb();
1512
- const p = weight === void 0 ? 0.5 : weight;
1513
- const w = 2 * p - 1;
1514
- const a = color1.alpha() - color2.alpha();
1515
- const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;
1516
- const w2 = 1 - w1;
1517
- return Color.rgb(
1518
- w1 * color1.red() + w2 * color2.red(),
1519
- w1 * color1.green() + w2 * color2.green(),
1520
- w1 * color1.blue() + w2 * color2.blue(),
1521
- color1.alpha() * p + color2.alpha() * (1 - p)
1522
- );
1523
- }
1524
- };
1525
- for (const model of Object.keys(color_convert_default)) {
1526
- if (skippedModels.includes(model)) {
1527
- continue;
1528
- }
1529
- const { channels } = color_convert_default[model];
1530
- Color.prototype[model] = function(...arguments_) {
1531
- if (this.model === model) {
1532
- return new Color(this);
1533
- }
1534
- if (arguments_.length > 0) {
1535
- return new Color(arguments_, model);
1536
- }
1537
- return new Color([...assertArray(color_convert_default[this.model][model].raw(this.color)), this.valpha], model);
1538
- };
1539
- Color[model] = function(...arguments_) {
1540
- let color = arguments_[0];
1541
- if (typeof color === "number") {
1542
- color = zeroArray(arguments_, channels);
1543
- }
1544
- return new Color(color, model);
1545
- };
1546
- }
1547
- function roundTo(number, places) {
1548
- return Number(number.toFixed(places));
1549
- }
1550
- function roundToPlace(places) {
1551
- return function(number) {
1552
- return roundTo(number, places);
1553
- };
1554
- }
1555
- function getset(model, channel, modifier) {
1556
- model = Array.isArray(model) ? model : [model];
1557
- for (const m of model) {
1558
- (limiters[m] ||= [])[channel] = modifier;
1559
- }
1560
- model = model[0];
1561
- return function(value) {
1562
- let result;
1563
- if (value !== void 0) {
1564
- if (modifier) {
1565
- value = modifier(value);
1566
- }
1567
- result = this[model]();
1568
- result.color[channel] = value;
1569
- return result;
1570
- }
1571
- result = this[model]().color[channel];
1572
- if (modifier) {
1573
- result = modifier(result);
1574
- }
1575
- return result;
1576
- };
1577
- }
1578
- function maxfn(max) {
1579
- return function(v) {
1580
- return Math.max(0, Math.min(max, v));
1581
- };
1582
- }
1583
- function assertArray(value) {
1584
- return Array.isArray(value) ? value : [value];
1585
- }
1586
- function zeroArray(array, length) {
1587
- for (let i = 0; i < length; i++) {
1588
- if (typeof array[i] !== "number") {
1589
- array[i] = 0;
1590
- }
1591
- }
1592
- return array;
1593
- }
1594
- var index_default = Color;