@visulima/colorize 1.4.22 → 1.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/dist/gradient.cjs +3 -62
- package/dist/gradient.d.cts +2 -2
- package/dist/gradient.d.mts +2 -2
- package/dist/gradient.d.ts +2 -2
- package/dist/gradient.mjs +3 -56
- package/dist/index.browser.mjs +1 -63
- package/dist/index.server.cjs +2 -266
- package/dist/index.server.d.cts +72 -71
- package/dist/index.server.mjs +1 -63
- package/dist/packem_shared/Colorize-Bn8gI3ME.mjs +1 -0
- package/dist/packem_shared/Colorize-CfIXnDUD.mjs +2 -0
- package/dist/packem_shared/GradientBuilder-C2IS34v_.cjs +1 -0
- package/dist/packem_shared/GradientBuilder-I_j6wpvU.mjs +1 -0
- package/dist/packem_shared/ansi256To16--f09kvlF.cjs +1 -0
- package/dist/packem_shared/ansi256To16-YETEPW8R.mjs +1 -0
- package/dist/packem_shared/colorize.server-9hV-s1hY.mjs +2 -0
- package/dist/packem_shared/colorize.server-B0BWdm8_.cjs +2 -0
- package/dist/packem_shared/convertHexToRgb-BEnfEytq.cjs +1 -0
- package/dist/packem_shared/convertHexToRgb-DGcGUKnj.mjs +1 -0
- package/dist/template.cjs +2 -158
- package/dist/template.d.cts +10 -8
- package/dist/template.d.mts +1 -1
- package/dist/template.d.ts +10 -8
- package/dist/template.mjs +2 -152
- package/dist/utils.cjs +1 -13
- package/dist/utils.mjs +1 -2
- package/package.json +19 -19
- package/dist/packem_shared/Colorize-B2nGcFjg.mjs +0 -417
- package/dist/packem_shared/Colorize-BihiZiAf.mjs +0 -258
- package/dist/packem_shared/GradientBuilder-Cn2sQ1aK.cjs +0 -505
- package/dist/packem_shared/GradientBuilder-Dy53F9zB.mjs +0 -501
- package/dist/packem_shared/colorize.server-0LnwnixR.cjs +0 -205
- package/dist/packem_shared/colorize.server-DSyvWqmN.mjs +0 -203
- package/dist/packem_shared/convertHexToRgb-DDy3Eccg.cjs +0 -19
- package/dist/packem_shared/convertHexToRgb-DOIRmKxM.mjs +0 -15
- package/dist/packem_shared/rgbToAnsi256-Cakhu-n9.cjs +0 -50
- package/dist/packem_shared/rgbToAnsi256-DcQVMIqi.mjs +0 -44
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
import { isStdoutColorSupported } from '@visulima/is-ansi-color-supported';
|
|
2
|
-
|
|
3
|
-
var __defProp$6 = Object.defineProperty;
|
|
4
|
-
var __name$6 = (target, value) => __defProp$6(target, "name", { value, configurable: true });
|
|
5
|
-
function ansiRegex({ onlyFirst = false } = {}) {
|
|
6
|
-
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
|
|
7
|
-
const pattern = [
|
|
8
|
-
`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
|
|
9
|
-
"(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
|
|
10
|
-
].join("|");
|
|
11
|
-
return new RegExp(pattern, onlyFirst ? void 0 : "g");
|
|
12
|
-
}
|
|
13
|
-
__name$6(ansiRegex, "ansiRegex");
|
|
14
|
-
|
|
15
|
-
var __defProp$5 = Object.defineProperty;
|
|
16
|
-
var __name$5 = (target, value) => __defProp$5(target, "name", { value, configurable: true });
|
|
17
|
-
const clamp = /* @__PURE__ */ __name$5((number_, min, max) => min > number_ ? min : number_ > max ? max : number_, "clamp");
|
|
18
|
-
|
|
19
|
-
var __defProp$4 = Object.defineProperty;
|
|
20
|
-
var __name$4 = (target, value) => __defProp$4(target, "name", { value, configurable: true });
|
|
21
|
-
const convertHexToRgb = /* @__PURE__ */ __name$4((hex) => {
|
|
22
|
-
let [, color] = /([a-f\d]{3,6})/i.exec(hex) ?? [];
|
|
23
|
-
const length_ = color ? color.length : 0;
|
|
24
|
-
if (length_ === 3) {
|
|
25
|
-
color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];
|
|
26
|
-
} else if (length_ !== 6) {
|
|
27
|
-
return [0, 0, 0];
|
|
28
|
-
}
|
|
29
|
-
const number_ = Number.parseInt(color, 16);
|
|
30
|
-
return [number_ >> 16 & 255, number_ >> 8 & 255, number_ & 255];
|
|
31
|
-
}, "convertHexToRgb");
|
|
32
|
-
|
|
33
|
-
var __defProp$3 = Object.defineProperty;
|
|
34
|
-
var __name$3 = (target, value) => __defProp$3(target, "name", { value, configurable: true });
|
|
35
|
-
const rgbToAnsi256 = /* @__PURE__ */ __name$3((r, g, b) => {
|
|
36
|
-
if (r === g && g === b) {
|
|
37
|
-
if (r < 8) {
|
|
38
|
-
return 16;
|
|
39
|
-
}
|
|
40
|
-
if (r > 248) {
|
|
41
|
-
return 231;
|
|
42
|
-
}
|
|
43
|
-
return Math.round((r - 8) / 247 * 24) + 232;
|
|
44
|
-
}
|
|
45
|
-
return 16 + // r / 255 * 5 => r / 51
|
|
46
|
-
36 * Math.round(r / 51) + 6 * Math.round(g / 51) + Math.round(b / 51);
|
|
47
|
-
}, "rgbToAnsi256");
|
|
48
|
-
const ansi256To16 = /* @__PURE__ */ __name$3((code) => {
|
|
49
|
-
let r;
|
|
50
|
-
let g;
|
|
51
|
-
let b;
|
|
52
|
-
if (code < 8) {
|
|
53
|
-
return 30 + code;
|
|
54
|
-
}
|
|
55
|
-
if (code < 16) {
|
|
56
|
-
return 90 + (code - 8);
|
|
57
|
-
}
|
|
58
|
-
if (code >= 232) {
|
|
59
|
-
r = g = b = ((code - 232) * 10 + 8) / 255;
|
|
60
|
-
} else {
|
|
61
|
-
code -= 16;
|
|
62
|
-
const remainder = code % 36;
|
|
63
|
-
r = Math.floor(code / 36) / 5;
|
|
64
|
-
g = Math.floor(remainder / 6) / 5;
|
|
65
|
-
b = remainder % 6 / 5;
|
|
66
|
-
}
|
|
67
|
-
const value = Math.max(r, g, b) * 2;
|
|
68
|
-
if (value === 0) {
|
|
69
|
-
return 30;
|
|
70
|
-
}
|
|
71
|
-
const code16 = 30 + (Math.round(b) << 2 | Math.round(g) << 1 | Math.round(r));
|
|
72
|
-
return value === 2 ? code16 + 60 : code16;
|
|
73
|
-
}, "ansi256To16");
|
|
74
|
-
const rgbToAnsi16 = /* @__PURE__ */ __name$3((r, g, b) => ansi256To16(rgbToAnsi256(r, g, b)), "rgbToAnsi16");
|
|
75
|
-
|
|
76
|
-
var __defProp$2 = Object.defineProperty;
|
|
77
|
-
var __name$2 = (target, value) => __defProp$2(target, "name", { value, configurable: true });
|
|
78
|
-
const closeCode = 39;
|
|
79
|
-
const bgCloseCode = 49;
|
|
80
|
-
const bgOffset = 10;
|
|
81
|
-
const supportedColor = isStdoutColorSupported();
|
|
82
|
-
const mono = { close: "", open: "" };
|
|
83
|
-
const esc = supportedColor > 0 ? (open, close) => {
|
|
84
|
-
return { close: "\x1B[" + close + "m", open: "\x1B[" + open + "m" };
|
|
85
|
-
} : () => mono;
|
|
86
|
-
const createRgbFunction = /* @__PURE__ */ __name$2((function_) => (r, g, b) => function_(rgbToAnsi256(Number(r), Number(g), Number(b))), "createRgbFunction");
|
|
87
|
-
const createHexFunction = /* @__PURE__ */ __name$2((function_) => (hex) => {
|
|
88
|
-
const [r, g, b] = convertHexToRgb(hex);
|
|
89
|
-
return function_(r, g, b);
|
|
90
|
-
}, "createHexFunction");
|
|
91
|
-
let createAnsi256 = /* @__PURE__ */ __name$2((code) => esc("38;5;" + code, closeCode), "createAnsi256");
|
|
92
|
-
let createBgAnsi256 = /* @__PURE__ */ __name$2((code) => esc("48;5;" + code, bgCloseCode), "createBgAnsi256");
|
|
93
|
-
let createRgb = /* @__PURE__ */ __name$2((r, g, b) => esc("38;2;" + r + ";" + g + ";" + b, closeCode), "createRgb");
|
|
94
|
-
let createBgRgb = /* @__PURE__ */ __name$2((r, g, b) => esc("48;2;" + r + ";" + g + ";" + b, bgCloseCode), "createBgRgb");
|
|
95
|
-
if (supportedColor === 1) {
|
|
96
|
-
createAnsi256 = /* @__PURE__ */ __name$2((code) => esc(ansi256To16(Number(code)), closeCode), "createAnsi256");
|
|
97
|
-
createBgAnsi256 = /* @__PURE__ */ __name$2((code) => esc(ansi256To16(Number(code)) + bgOffset, bgCloseCode), "createBgAnsi256");
|
|
98
|
-
createRgb = /* @__PURE__ */ __name$2((r, g, b) => esc(rgbToAnsi16(Number(r), Number(g), Number(b)), closeCode), "createRgb");
|
|
99
|
-
createBgRgb = /* @__PURE__ */ __name$2((r, g, b) => esc(rgbToAnsi16(Number(r), Number(g), Number(b)) + bgOffset, bgCloseCode), "createBgRgb");
|
|
100
|
-
} else if (supportedColor === 2) {
|
|
101
|
-
createRgb = createRgbFunction(createAnsi256);
|
|
102
|
-
createBgRgb = createRgbFunction(createBgAnsi256);
|
|
103
|
-
}
|
|
104
|
-
const baseStyles = {
|
|
105
|
-
// 21 isn't widely supported and 22 does the same thing
|
|
106
|
-
bold: esc(1, 22),
|
|
107
|
-
dim: esc(2, 22),
|
|
108
|
-
hidden: esc(8, 28),
|
|
109
|
-
inverse: esc(7, 27),
|
|
110
|
-
italic: esc(3, 23),
|
|
111
|
-
overline: esc(53, 55),
|
|
112
|
-
reset: esc(0, 0),
|
|
113
|
-
strike: esc(9, 29),
|
|
114
|
-
// alias for strikethrough
|
|
115
|
-
strikethrough: esc(9, 29),
|
|
116
|
-
underline: esc(4, 24),
|
|
117
|
-
visible: mono
|
|
118
|
-
};
|
|
119
|
-
const baseColors = {
|
|
120
|
-
bgBlack: esc(40, bgCloseCode),
|
|
121
|
-
bgBlackBright: esc(100, bgCloseCode),
|
|
122
|
-
bgBlue: esc(44, bgCloseCode),
|
|
123
|
-
bgBlueBright: esc(104, bgCloseCode),
|
|
124
|
-
bgCyan: esc(46, bgCloseCode),
|
|
125
|
-
bgCyanBright: esc(106, bgCloseCode),
|
|
126
|
-
bgGray: esc(100, bgCloseCode),
|
|
127
|
-
// US spelling alias for bgBlackBright
|
|
128
|
-
bgGreen: esc(42, bgCloseCode),
|
|
129
|
-
bgGreenBright: esc(102, bgCloseCode),
|
|
130
|
-
bgGrey: esc(100, bgCloseCode),
|
|
131
|
-
// UK spelling alias for bgBlackBright
|
|
132
|
-
bgMagenta: esc(45, bgCloseCode),
|
|
133
|
-
bgMagentaBright: esc(105, bgCloseCode),
|
|
134
|
-
bgRed: esc(41, bgCloseCode),
|
|
135
|
-
bgRedBright: esc(101, bgCloseCode),
|
|
136
|
-
bgWhite: esc(47, bgCloseCode),
|
|
137
|
-
bgWhiteBright: esc(107, bgCloseCode),
|
|
138
|
-
bgYellow: esc(43, bgCloseCode),
|
|
139
|
-
bgYellowBright: esc(103, bgCloseCode),
|
|
140
|
-
black: esc(30, closeCode),
|
|
141
|
-
blackBright: esc(90, closeCode),
|
|
142
|
-
blue: esc(34, closeCode),
|
|
143
|
-
blueBright: esc(94, closeCode),
|
|
144
|
-
cyan: esc(36, closeCode),
|
|
145
|
-
cyanBright: esc(96, closeCode),
|
|
146
|
-
gray: esc(90, closeCode),
|
|
147
|
-
// US spelling alias for blackBright
|
|
148
|
-
green: esc(32, closeCode),
|
|
149
|
-
greenBright: esc(92, closeCode),
|
|
150
|
-
grey: esc(90, closeCode),
|
|
151
|
-
// UK spelling alias for blackBright
|
|
152
|
-
magenta: esc(35, closeCode),
|
|
153
|
-
magentaBright: esc(95, closeCode),
|
|
154
|
-
red: esc(31, closeCode),
|
|
155
|
-
redBright: esc(91, closeCode),
|
|
156
|
-
white: esc(37, closeCode),
|
|
157
|
-
whiteBright: esc(97, closeCode),
|
|
158
|
-
yellow: esc(33, closeCode),
|
|
159
|
-
yellowBright: esc(93, closeCode)
|
|
160
|
-
};
|
|
161
|
-
const styleMethods = {
|
|
162
|
-
bg: /* @__PURE__ */ __name$2((code) => createBgAnsi256(clamp(code, 0, 255)), "bg"),
|
|
163
|
-
bgHex: createHexFunction(createBgRgb),
|
|
164
|
-
bgRgb: /* @__PURE__ */ __name$2((r, g, b) => createBgRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)), "bgRgb"),
|
|
165
|
-
fg: /* @__PURE__ */ __name$2((code) => createAnsi256(clamp(code, 0, 255)), "fg"),
|
|
166
|
-
hex: createHexFunction(createRgb),
|
|
167
|
-
rgb: /* @__PURE__ */ __name$2((r, g, b) => createRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)), "rgb")
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
var __defProp$1 = Object.defineProperty;
|
|
171
|
-
var __name$1 = (target, value) => __defProp$1(target, "name", { value, configurable: true });
|
|
172
|
-
const stringReplaceAll = /* @__PURE__ */ __name$1((string_, searchValue, replaceValue) => {
|
|
173
|
-
if (searchValue === "") {
|
|
174
|
-
return string_;
|
|
175
|
-
}
|
|
176
|
-
let pos = string_.indexOf(searchValue);
|
|
177
|
-
if (pos < 0) {
|
|
178
|
-
return string_;
|
|
179
|
-
}
|
|
180
|
-
const substringLength = searchValue.length;
|
|
181
|
-
let lastPos = 0;
|
|
182
|
-
let result = "";
|
|
183
|
-
while (~pos) {
|
|
184
|
-
result += string_.slice(lastPos, pos) + replaceValue;
|
|
185
|
-
lastPos = pos + substringLength;
|
|
186
|
-
pos = string_.indexOf(searchValue, lastPos);
|
|
187
|
-
}
|
|
188
|
-
return result + string_.slice(lastPos);
|
|
189
|
-
}, "stringReplaceAll");
|
|
190
|
-
|
|
191
|
-
var __defProp = Object.defineProperty;
|
|
192
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
193
|
-
const styles = {};
|
|
194
|
-
let stylePrototype = null;
|
|
195
|
-
const wrapText = /* @__PURE__ */ __name((strings, values, properties) => {
|
|
196
|
-
if (!strings) {
|
|
197
|
-
return "";
|
|
198
|
-
}
|
|
199
|
-
let string = strings.raw == null ? strings + "" : String.raw(strings, ...values);
|
|
200
|
-
if (string.includes("\x1B")) {
|
|
201
|
-
for (let currentProperties = properties; currentProperties; currentProperties = currentProperties.props) {
|
|
202
|
-
string = stringReplaceAll(string, currentProperties.close, currentProperties.open);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
if (string.includes("\n")) {
|
|
206
|
-
string = string.replace(/(\r*\n)/g, properties.closeStack + "$1" + properties.openStack);
|
|
207
|
-
}
|
|
208
|
-
return properties.openStack + string + properties.closeStack;
|
|
209
|
-
}, "wrapText");
|
|
210
|
-
const createStyle = /* @__PURE__ */ __name(({ props }, { close, open }) => {
|
|
211
|
-
const openStack = (props?.openStack ?? "") + open;
|
|
212
|
-
const closeStack = close + (props?.closeStack ?? "");
|
|
213
|
-
const style = /* @__PURE__ */ __name((strings, ...values) => wrapText(strings, values, style.props), "style");
|
|
214
|
-
Object.setPrototypeOf(style, stylePrototype);
|
|
215
|
-
style.props = { close, closeStack, open, openStack, props };
|
|
216
|
-
style.open = openStack;
|
|
217
|
-
style.close = closeStack;
|
|
218
|
-
return style;
|
|
219
|
-
}, "createStyle");
|
|
220
|
-
const Colorize = /* @__PURE__ */ __name(function() {
|
|
221
|
-
const self = /* @__PURE__ */ __name((string_) => string_ + "", "self");
|
|
222
|
-
self.strip = (value) => value.replaceAll(ansiRegex(), "");
|
|
223
|
-
for (const name in baseColors) {
|
|
224
|
-
styles[name] = {
|
|
225
|
-
get() {
|
|
226
|
-
const style = createStyle(this, baseColors[name]);
|
|
227
|
-
Object.defineProperty(this, name, { value: style });
|
|
228
|
-
return style;
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
}
|
|
232
|
-
for (const name in baseStyles) {
|
|
233
|
-
styles[name] = {
|
|
234
|
-
get() {
|
|
235
|
-
const style = createStyle(this, baseStyles[name]);
|
|
236
|
-
Object.defineProperty(this, name, { value: style });
|
|
237
|
-
return style;
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
stylePrototype = Object.defineProperties({}, styles);
|
|
242
|
-
Object.setPrototypeOf(self, stylePrototype);
|
|
243
|
-
return self;
|
|
244
|
-
}, "Colorize");
|
|
245
|
-
for (const name in styleMethods) {
|
|
246
|
-
styles[name] = {
|
|
247
|
-
get() {
|
|
248
|
-
return (...arguments_) => (
|
|
249
|
-
// @ts-expect-error: TODO: fix typing of `arguments_`
|
|
250
|
-
createStyle(this, styleMethods[name](...arguments_))
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
styles.ansi256 = styles.fg;
|
|
256
|
-
styles.bgAnsi256 = styles.bg;
|
|
257
|
-
|
|
258
|
-
export { Colorize as default };
|