@visulima/colorize 2.0.0-alpha.1 → 2.0.0-alpha.11

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 (101) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +32 -30
  4. package/dist/gradient.cjs +3 -60
  5. package/dist/gradient.d.cts +21 -12
  6. package/dist/gradient.d.mts +21 -12
  7. package/dist/gradient.d.ts +21 -12
  8. package/dist/gradient.mjs +3 -54
  9. package/dist/index.browser.d.mts +204 -61
  10. package/dist/index.browser.d.ts +204 -0
  11. package/dist/index.browser.mjs +1 -61
  12. package/dist/index.server.cjs +2 -246
  13. package/dist/index.server.d.cts +13 -7
  14. package/dist/index.server.d.mts +204 -61
  15. package/dist/index.server.d.ts +13 -7
  16. package/dist/index.server.mjs +1 -61
  17. package/dist/packem_shared/Colorize-BUAQi0t0.js +2 -0
  18. package/dist/packem_shared/Colorize-i0NybjSp.js +1 -0
  19. package/dist/packem_shared/GradientBuilder-CudosKb8.cjs +1 -0
  20. package/dist/packem_shared/GradientBuilder-Du8WSL23.mjs +1 -0
  21. package/dist/packem_shared/colorize.server-BkQZGeaS.mjs +2 -0
  22. package/dist/packem_shared/colorize.server-Dn-gV0MN.cjs +2 -0
  23. package/dist/packem_shared/convertHexToRgb-CJNE3k_E.mjs +1 -0
  24. package/dist/packem_shared/convertHexToRgb-Dvalc5FD.cjs +1 -0
  25. package/dist/packem_shared/rgbToAnsi256--f09kvlF.cjs +1 -0
  26. package/dist/packem_shared/rgbToAnsi256-YETEPW8R.mjs +1 -0
  27. package/dist/packem_shared/types.d-bhP-2hCu.d.cts +154 -0
  28. package/dist/packem_shared/types.d-bhP-2hCu.d.mts +154 -0
  29. package/dist/packem_shared/types.d-bhP-2hCu.d.ts +154 -0
  30. package/dist/template.cjs +2 -144
  31. package/dist/template.d.cts +10 -4
  32. package/dist/template.d.mts +4 -4
  33. package/dist/template.d.ts +10 -4
  34. package/dist/template.mjs +2 -138
  35. package/dist/utils.cjs +1 -13
  36. package/dist/utils.d.cts +13 -2
  37. package/dist/utils.d.mts +13 -2
  38. package/dist/utils.d.ts +13 -2
  39. package/dist/utils.mjs +1 -2
  40. package/package.json +50 -50
  41. package/dist/ansi-codes.d.cts +0 -18
  42. package/dist/ansi-codes.d.mts +0 -18
  43. package/dist/ansi-codes.d.ts +0 -18
  44. package/dist/colorize.browser.d.mts +0 -3
  45. package/dist/colorize.server.d.cts +0 -10
  46. package/dist/colorize.server.d.mts +0 -10
  47. package/dist/colorize.server.d.ts +0 -10
  48. package/dist/css-code.d.mts +0 -11
  49. package/dist/gradient/gradient-builder.d.cts +0 -10
  50. package/dist/gradient/gradient-builder.d.mts +0 -10
  51. package/dist/gradient/gradient-builder.d.ts +0 -10
  52. package/dist/gradient/util/color-names.d.cts +0 -2
  53. package/dist/gradient/util/color-names.d.mts +0 -2
  54. package/dist/gradient/util/color-names.d.ts +0 -2
  55. package/dist/gradient/util/compute.d.cts +0 -2
  56. package/dist/gradient/util/compute.d.mts +0 -2
  57. package/dist/gradient/util/compute.d.ts +0 -2
  58. package/dist/gradient/util/hsv-to-rgb.d.cts +0 -5
  59. package/dist/gradient/util/hsv-to-rgb.d.mts +0 -5
  60. package/dist/gradient/util/hsv-to-rgb.d.ts +0 -5
  61. package/dist/gradient/util/interpolate.d.cts +0 -3
  62. package/dist/gradient/util/interpolate.d.mts +0 -3
  63. package/dist/gradient/util/interpolate.d.ts +0 -3
  64. package/dist/gradient/util/rgb-to-hsv.d.cts +0 -9
  65. package/dist/gradient/util/rgb-to-hsv.d.mts +0 -9
  66. package/dist/gradient/util/rgb-to-hsv.d.ts +0 -9
  67. package/dist/packem_shared/Colorize-BenP3bFn.mjs +0 -241
  68. package/dist/packem_shared/Colorize-Ca9CXTcj.mjs +0 -413
  69. package/dist/packem_shared/GradientBuilder-BXOgJeHi.cjs +0 -490
  70. package/dist/packem_shared/GradientBuilder-DTnSGyYW.mjs +0 -486
  71. package/dist/packem_shared/colorize.server-BA3gZZXz.cjs +0 -193
  72. package/dist/packem_shared/colorize.server-ry9FZNfG.mjs +0 -191
  73. package/dist/packem_shared/convertHexToRgb-CWdAm2kE.mjs +0 -13
  74. package/dist/packem_shared/convertHexToRgb-DvkHBM3-.cjs +0 -17
  75. package/dist/packem_shared/rgbToAnsi256-BdS0fomP.mjs +0 -41
  76. package/dist/packem_shared/rgbToAnsi256-DL8eajTz.cjs +0 -47
  77. package/dist/template/make-colorize-template.d.cts +0 -9
  78. package/dist/template/make-colorize-template.d.mts +0 -9
  79. package/dist/template/make-colorize-template.d.ts +0 -9
  80. package/dist/template/make-template.d.cts +0 -10
  81. package/dist/template/make-template.d.mts +0 -10
  82. package/dist/template/make-template.d.ts +0 -10
  83. package/dist/types.d.cts +0 -174
  84. package/dist/types.d.mts +0 -174
  85. package/dist/types.d.ts +0 -174
  86. package/dist/util/ansi-code-hex-map.d.mts +0 -8
  87. package/dist/util/clamp.d.cts +0 -12
  88. package/dist/util/clamp.d.mts +0 -12
  89. package/dist/util/clamp.d.ts +0 -12
  90. package/dist/util/convert-hex-to-rgb.d.cts +0 -22
  91. package/dist/util/convert-hex-to-rgb.d.mts +0 -22
  92. package/dist/util/convert-hex-to-rgb.d.ts +0 -22
  93. package/dist/util/convert-rgb-to-ansi.d.cts +0 -18
  94. package/dist/util/convert-rgb-to-ansi.d.mts +0 -18
  95. package/dist/util/convert-rgb-to-ansi.d.ts +0 -18
  96. package/dist/util/string-replace-all.d.cts +0 -12
  97. package/dist/util/string-replace-all.d.mts +0 -12
  98. package/dist/util/string-replace-all.d.ts +0 -12
  99. package/dist/util/unescape.d.cts +0 -9
  100. package/dist/util/unescape.d.mts +0 -9
  101. package/dist/util/unescape.d.ts +0 -9
@@ -1,413 +0,0 @@
1
- const ansiCodeHexMap = {
2
- 0: "#000",
3
- 1: "#800",
4
- 2: "#080",
5
- 3: "#880",
6
- 4: "#008",
7
- 5: "#808",
8
- 6: "#088",
9
- 7: "#ccc",
10
- 8: "#444",
11
- 9: "#f00",
12
- 10: "#0f0",
13
- 11: "#ff0",
14
- 12: "#00f",
15
- 13: "#f0f",
16
- 14: "#0ff",
17
- 15: "#fff",
18
- 16: "#000",
19
- 17: "#00005f",
20
- 18: "#000087",
21
- 19: "#0000af",
22
- 20: "#0000d7",
23
- 21: "#0000ff",
24
- 22: "#005f00",
25
- 23: "#005f5f",
26
- 24: "#005f87",
27
- 25: "#005faf",
28
- 26: "#005fd7",
29
- 27: "#005fff",
30
- 28: "#008700",
31
- 29: "#00875f",
32
- 30: "#008787",
33
- 31: "#0087af",
34
- 32: "#0087d7",
35
- 33: "#0087ff",
36
- 34: "#00af00",
37
- 35: "#00af5f",
38
- 36: "#00af87",
39
- 37: "#00afaf",
40
- 38: "#00afd7",
41
- 39: "#00afff",
42
- 40: "#00d700",
43
- 41: "#00d75f",
44
- 42: "#00d787",
45
- 43: "#00d7af",
46
- 44: "#00d7d7",
47
- 45: "#00d7ff",
48
- 46: "#00ff00",
49
- 47: "#00ff5f",
50
- 48: "#00ff87",
51
- 49: "#00ffaf",
52
- 50: "#00ffd7",
53
- 51: "#00ffff",
54
- 52: "#5f0000",
55
- 53: "#5f005f",
56
- 54: "#5f0087",
57
- 55: "#5f00af",
58
- 56: "#5f00d7",
59
- 57: "#5f00ff",
60
- 58: "#5f5f00",
61
- 59: "#5f5f5f",
62
- 60: "#5f5f87",
63
- 61: "#5f5faf",
64
- 62: "#5f5fd7",
65
- 63: "#5f5fff",
66
- 64: "#5f8700",
67
- 65: "#5f875f",
68
- 66: "#5f8787",
69
- 67: "#5f87af",
70
- 68: "#5f87d7",
71
- 69: "#5f87ff",
72
- 70: "#5faf00",
73
- 71: "#5faf5f",
74
- 72: "#5faf87",
75
- 73: "#5fafaf",
76
- 74: "#5fafd7",
77
- 75: "#5fafff",
78
- 76: "#5fd700",
79
- 77: "#5fd75f",
80
- 78: "#5fd787",
81
- 79: "#5fd7af",
82
- 80: "#5fd7d7",
83
- 81: "#5fd7ff",
84
- 82: "#5fff00",
85
- 83: "#5fff5f",
86
- 84: "#5fff87",
87
- 85: "#5fffaf",
88
- 86: "#5fffd7",
89
- 87: "#5fffff",
90
- 88: "#870000",
91
- 89: "#87005f",
92
- 90: "#870087",
93
- 91: "#8700af",
94
- 92: "#8700d7",
95
- 93: "#8700ff",
96
- 94: "#875f00",
97
- 95: "#875f5f",
98
- 96: "#875f87",
99
- 97: "#875faf",
100
- 98: "#875fd7",
101
- 99: "#875fff",
102
- 100: "#878700",
103
- 101: "#87875f",
104
- 102: "#878787",
105
- 103: "#8787af",
106
- 104: "#8787d7",
107
- 105: "#8787ff",
108
- 106: "#87af00",
109
- 107: "#87af5f",
110
- 108: "#87af87",
111
- 109: "#87afaf",
112
- 110: "#87afd7",
113
- 111: "#87afff",
114
- 112: "#87d700",
115
- 113: "#87d75f",
116
- 114: "#87d787",
117
- 115: "#87d7af",
118
- 116: "#87d7d7",
119
- 117: "#87d7ff",
120
- 118: "#87ff00",
121
- 119: "#87ff5f",
122
- 120: "#87ff87",
123
- 121: "#87ffaf",
124
- 122: "#87ffd7",
125
- 123: "#87ffff",
126
- 124: "#af0000",
127
- 125: "#af005f",
128
- 126: "#af0087",
129
- 127: "#af00af",
130
- 128: "#af00d7",
131
- 129: "#af00ff",
132
- 130: "#af5f00",
133
- 131: "#af5f5f",
134
- 132: "#af5f87",
135
- 133: "#af5faf",
136
- 134: "#af5fd7",
137
- 135: "#af5fff",
138
- 136: "#af8700",
139
- 137: "#af875f",
140
- 138: "#af8787",
141
- 139: "#af87af",
142
- 140: "#af87d7",
143
- 141: "#af87ff",
144
- 142: "#afaf00",
145
- 143: "#afaf5f",
146
- 144: "#afaf87",
147
- 145: "#afafaf",
148
- 146: "#afafd7",
149
- 147: "#afafff",
150
- 148: "#afd700",
151
- 149: "#afd75f",
152
- 150: "#afd787",
153
- 151: "#afd7af",
154
- 152: "#afd7d7",
155
- 153: "#afd7ff",
156
- 154: "#afff00",
157
- 155: "#afff5f",
158
- 156: "#afff87",
159
- 157: "#afffaf",
160
- 158: "#afffd7",
161
- 159: "#afffff",
162
- 160: "#d70000",
163
- 161: "#d7005f",
164
- 162: "#d70087",
165
- 163: "#d700af",
166
- 164: "#d700d7",
167
- 165: "#d700ff",
168
- 166: "#d75f00",
169
- 167: "#d75f5f",
170
- 168: "#d75f87",
171
- 169: "#d75faf",
172
- 170: "#d75fd7",
173
- 171: "#d75fff",
174
- 172: "#d78700",
175
- 173: "#d7875f",
176
- 174: "#d78787",
177
- 175: "#d787af",
178
- 176: "#d787d7",
179
- 177: "#d787ff",
180
- 178: "#d7af00",
181
- 179: "#d7af5f",
182
- 180: "#d7af87",
183
- 181: "#d7afaf",
184
- 182: "#d7afd7",
185
- 183: "#d7afff",
186
- 184: "#d7d700",
187
- 185: "#d7d75f",
188
- 186: "#d7d787",
189
- 187: "#d7d7af",
190
- 188: "#d7d7d7",
191
- 189: "#d7d7ff",
192
- 190: "#d7ff00",
193
- 191: "#d7ff5f",
194
- 192: "#d7ff87",
195
- 193: "#d7ffaf",
196
- 194: "#d7ffd7",
197
- 195: "#d7ffff",
198
- 196: "#ff0000",
199
- 197: "#ff005f",
200
- 198: "#ff0087",
201
- 199: "#ff00af",
202
- 200: "#ff00d7",
203
- 201: "#ff00ff",
204
- 202: "#ff5f00",
205
- 203: "#ff5f5f",
206
- 204: "#ff5f87",
207
- 205: "#ff5faf",
208
- 206: "#ff5fd7",
209
- 207: "#ff5fff",
210
- 208: "#ff8700",
211
- 209: "#ff875f",
212
- 210: "#ff8787",
213
- 211: "#ff87af",
214
- 212: "#ff87d7",
215
- 213: "#ff87ff",
216
- 214: "#ffaf00",
217
- 215: "#ffaf5f",
218
- 216: "#ffaf87",
219
- 217: "#ffafaf",
220
- 218: "#ffafd7",
221
- 219: "#ffafff",
222
- 220: "#ffd700",
223
- 221: "#ffd75f",
224
- 222: "#ffd787",
225
- 223: "#ffd7af",
226
- 224: "#ffd7d7",
227
- 225: "#ffd7ff",
228
- 226: "#ffff00",
229
- 227: "#ffff5f",
230
- 228: "#ffff87",
231
- 229: "#ffffaf",
232
- 230: "#ffffd7",
233
- 231: "#ffffff",
234
- 232: "#080808",
235
- 233: "#121212",
236
- 234: "#1c1c1c",
237
- 235: "#262626",
238
- 236: "#303030",
239
- 237: "#3a3a3a",
240
- 238: "#444444",
241
- 239: "#4e4e4e",
242
- 240: "#585858",
243
- 241: "#626262",
244
- 242: "#6c6c6c",
245
- 243: "#767676",
246
- 244: "#808080",
247
- 245: "#8a8a8a",
248
- 246: "#949494",
249
- 247: "#9e9e9e",
250
- 248: "#a8a8a8",
251
- 249: "#b2b2b2",
252
- 250: "#bcbcbc",
253
- 251: "#c6c6c6",
254
- 252: "#d0d0d0",
255
- 253: "#dadada",
256
- 254: "#e4e4e4",
257
- 255: "#eeeeee"
258
- };
259
-
260
- const baseStyles = {
261
- bold: "font-weight: bold;",
262
- dim: "opacity: 0.5;",
263
- hidden: "visibility: hidden;",
264
- inverse: "background-color: currentColor; color: background-color;",
265
- italic: "font-style: italic;",
266
- overline: "text-decoration: overline;",
267
- reset: "color: inherit",
268
- strike: "text-decoration: line-through;",
269
- strikethrough: "text-decoration: line-through;",
270
- underline: "text-decoration: underline;",
271
- visible: "opacity: 0;"
272
- };
273
- const baseColors = {
274
- bgBlack: "background-color: black; color: white;",
275
- bgBlackBright: "background-color: #666; color: white;",
276
- bgBlue: "background-color: blue; color: white;",
277
- bgBlueBright: "background-color: #55f; color: white;",
278
- bgCyan: "background-color: cyan; color: black;",
279
- bgCyanBright: "background-color: #5ff; color: black;",
280
- bgGray: "background-color: #666; color: white;",
281
- // US spelling alias for bgBlackBright
282
- bgGreen: "background-color: green; color: white;",
283
- bgGreenBright: "background-color: #5f5; color: white;",
284
- bgGrey: "background-color: #666; color: white;",
285
- // UK spelling alias for bgBlackBright
286
- bgMagenta: "background-color: magenta; color: white;",
287
- bgMagentaBright: "background-color: #f5f; color: white;",
288
- bgRed: "background-color: red; color: white;",
289
- bgRedBright: "background-color: #f55; color: white;",
290
- bgWhite: "background-color: white; color: black;",
291
- bgWhiteBright: "background-color: #eee; color: black;",
292
- bgYellow: "background-color: yellow; color: black;",
293
- bgYellowBright: "background-color: #ff5; color: black;",
294
- black: "color: black;",
295
- blackBright: "color: #666;",
296
- blue: "color: blue;",
297
- blueBright: "color: #55f;",
298
- cyan: "color: cyan;",
299
- cyanBright: "color: #5ff;",
300
- gray: "color: #666;",
301
- // US spelling alias for blackBright
302
- green: "color: green;",
303
- greenBright: "color: #5f5;",
304
- grey: "color: #666;",
305
- // UK spelling alias for blackBright
306
- magenta: "color: magenta;",
307
- magentaBright: "color: #f5f;",
308
- red: "color: red;",
309
- redBright: "color: #f55;",
310
- white: "color: white;",
311
- whiteBright: "color: #eee;",
312
- yellow: "color: yellow;",
313
- yellowBright: "color: #ff5;"
314
- };
315
- const styleMethods = {
316
- // eslint-disable-next-line security/detect-object-injection
317
- bg: (code) => `background-color: ${ansiCodeHexMap[code]};`,
318
- bgHex: (hex) => `background-color: ${hex};`,
319
- bgRgb: (r, g, b) => `background-color: rgb(${r},${g},${b});`,
320
- // eslint-disable-next-line security/detect-object-injection
321
- fg: (code) => `color: ${ansiCodeHexMap[code]};`,
322
- hex: (hex) => `color:${hex};`,
323
- rgb: (r, g, b) => `color: rgb(${r},${g},${b});`
324
- };
325
-
326
- const styles = {};
327
- let stylePrototype = null;
328
- const cssStringToObject = (css) => {
329
- const cssObject = {};
330
- css.replace(/(?<=^|;)\s*([^:]+)\s*:\s*([^;]+)\s*/g, (_, key, value) => {
331
- cssObject[key] = value;
332
- return value;
333
- });
334
- return cssObject;
335
- };
336
- const createStyle = ({ props }, css) => {
337
- let cssStack = css;
338
- if (props?.cssStack) {
339
- const cssObject = cssStringToObject(css);
340
- const propertiesCssObject = cssStringToObject(props.cssStack);
341
- for (const key in propertiesCssObject) {
342
- if (cssObject[key] === void 0) {
343
- cssObject[key] = propertiesCssObject[key];
344
- }
345
- }
346
- cssStack = `${JSON.stringify(cssObject).replace(/["{}]/g, "").replace(/,/g, ";")};`;
347
- }
348
- const style = (input, ...values) => {
349
- if (!input) {
350
- return [];
351
- }
352
- if (typeof input === "string" && input.includes("%c")) {
353
- const collectedStyles = input.match(/(?<=,).*;/g);
354
- const inputWithoutStyles = input.replace(/,.*;/g, "");
355
- return [`%c${inputWithoutStyles}`, style.css, ...collectedStyles ?? []];
356
- }
357
- if (typeof input === "number" || typeof input === "string") {
358
- return [`%c${input}`, style.css];
359
- }
360
- if (input.raw !== null && Array.isArray(values) && values.length > 0) {
361
- const rawString = String.raw(input, ...values);
362
- const collectedStyles = rawString.match(/(?<=,).*;/g);
363
- const inputWithoutStyles = rawString.replace(/,.*;/g, "");
364
- return [`%c${inputWithoutStyles}`, style.css, ...(collectedStyles ?? []).join("").split(",").filter(Boolean)];
365
- }
366
- const [first, ...rest] = input;
367
- rest.unshift(style.css);
368
- return [`${`${first}`.includes("%c") ? "" : "%c"}${first}`, rest.join("")];
369
- };
370
- Object.setPrototypeOf(style, stylePrototype);
371
- style.props = { css, cssStack, props };
372
- style.css = cssStack;
373
- return style;
374
- };
375
- const WebColorize = function() {
376
- const self = (string_) => `${string_}`;
377
- self.strip = (value) => value;
378
- for (const name in baseColors) {
379
- styles[name] = {
380
- get() {
381
- const style = createStyle(this, baseColors[name]);
382
- Object.defineProperty(this, name, { value: style });
383
- return style;
384
- }
385
- };
386
- }
387
- for (const name in baseStyles) {
388
- styles[name] = {
389
- get() {
390
- const style = createStyle(this, baseStyles[name]);
391
- Object.defineProperty(this, name, { value: style });
392
- return style;
393
- }
394
- };
395
- }
396
- stylePrototype = Object.defineProperties({}, styles);
397
- Object.setPrototypeOf(self, stylePrototype);
398
- return self;
399
- };
400
- for (const name in styleMethods) {
401
- styles[name] = {
402
- get() {
403
- return (...arguments_) => (
404
- // @ts-expect-error: TODO: fix typing of `arguments_`
405
- createStyle(this, styleMethods[name](...arguments_))
406
- );
407
- }
408
- };
409
- }
410
- styles.ansi256 = styles.fg;
411
- styles.bgAnsi256 = styles.bg;
412
-
413
- export { WebColorize as default };