@visulima/colorize 1.2.1 → 1.3.0

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.
@@ -0,0 +1,112 @@
1
+ type ColorValueHex = `#${string}`;
2
+ interface ColorizeType {
3
+ (string: number | string): string;
4
+ (string: TemplateStringsArray, ...parameters: string[]): string;
5
+ ansi256: (code: number) => this;
6
+ bg: (code: number) => this;
7
+ bgAnsi256: (code: number) => this;
8
+ readonly bgBlack: this;
9
+ readonly bgBlackBright: this;
10
+ readonly bgBlue: this;
11
+ readonly bgBlueBright: this;
12
+ readonly bgCyan: this;
13
+ readonly bgCyanBright: this;
14
+ readonly bgGray: this;
15
+ readonly bgGreen: this;
16
+ readonly bgGreenBright: this;
17
+ readonly bgGrey: this;
18
+ bgHex: (color: ColorValueHex) => this;
19
+ readonly bgMagenta: this;
20
+ readonly bgMagentaBright: this;
21
+ readonly bgRed: this;
22
+ readonly bgRedBright: this;
23
+ bgRgb: (red: number, green: number, blue: number) => this;
24
+ readonly bgWhite: this;
25
+ readonly bgWhiteBright: this;
26
+ readonly bgYellow: this;
27
+ readonly bgYellowBright: this;
28
+ readonly black: this;
29
+ readonly blackBright: this;
30
+ readonly blue: this;
31
+ readonly blueBright: this;
32
+ readonly bold: this;
33
+ readonly close: string;
34
+ readonly cyan: this;
35
+ readonly cyanBright: this;
36
+ readonly dim: this;
37
+ fg: (code: number) => this;
38
+ readonly gray: this;
39
+ readonly green: this;
40
+ readonly greenBright: this;
41
+ readonly grey: this;
42
+ hex: (color: ColorValueHex) => this;
43
+ readonly hidden: this;
44
+ readonly inverse: this;
45
+ readonly italic: this;
46
+ readonly magenta: this;
47
+ readonly magentaBright: this;
48
+ readonly open: string;
49
+ readonly overline: this;
50
+ readonly red: this;
51
+ readonly redBright: this;
52
+ readonly reset: this;
53
+ rgb: (red: number, green: number, blue: number) => this;
54
+ readonly strike: this;
55
+ readonly strikethrough: this;
56
+ strip: (string: string) => string;
57
+ readonly underline: this;
58
+ readonly visible: this;
59
+ readonly white: this;
60
+ readonly whiteBright: this;
61
+ readonly yellow: this;
62
+ readonly yellowBright: this;
63
+ }
64
+ type CssColorName = "aliceblue" | "antiquewhite" | "aqua" | "aquamarine" | "azure" | "beige" | "bisque" | "black" | "blanchedalmond" | "blue" | "blueviolet" | "brown" | "burlywood" | "cadetblue" | "chartreuse" | "chocolate" | "coral" | "cornflowerblue" | "cornsilk" | "crimson" | "cyan" | "darkblue" | "darkcyan" | "darkgoldenrod" | "darkgray" | "darkgreen" | "darkgrey" | "darkkhaki" | "darkmagenta" | "darkolivegreen" | "darkorange" | "darkorchid" | "darkred" | "darksalmon" | "darkseagreen" | "darkslateblue" | "darkslategray" | "darkslategrey" | "darkturquoise" | "darkviolet" | "deeppink" | "deepskyblue" | "dimgray" | "dimgrey" | "dodgerblue" | "firebrick" | "floralwhite" | "forestgreen" | "fuchsia" | "gainsboro" | "ghostwhite" | "gold" | "goldenrod" | "gray" | "green" | "greenyellow" | "grey" | "honeydew" | "hotpink" | "indianred" | "indigo" | "ivory" | "khaki" | "lavender" | "lavenderblush" | "lawngreen" | "lemonchiffon" | "lightblue" | "lightcoral" | "lightcyan" | "lightgoldenrodyellow" | "lightgray" | "lightgreen" | "lightgrey" | "lightpink" | "lightsalmon" | "lightseagreen" | "lightskyblue" | "lightslategray" | "lightslategrey" | "lightsteelblue" | "lightyellow" | "lime" | "limegreen" | "linen" | "magenta" | "maroon" | "mediumaquamarine" | "mediumblue" | "mediumorchid" | "mediumpurple" | "mediumseagreen" | "mediumslateblue" | "mediumspringgreen" | "mediumturquoise" | "mediumvioletred" | "midnightblue" | "mintcream" | "mistyrose" | "moccasin" | "navajowhite" | "navy" | "oldlace" | "olive" | "olivedrab" | "orange" | "orangered" | "orchid" | "palegoldenrod" | "palegreen" | "paleturquoise" | "palevioletred" | "papayawhip" | "peachpuff" | "peru" | "pink" | "plum" | "powderblue" | "purple" | "rebeccapurple" | "red" | "rosybrown" | "royalblue" | "saddlebrown" | "salmon" | "sandybrown" | "seagreen" | "seashell" | "sienna" | "silver" | "skyblue" | "slateblue" | "slategray" | "slategrey" | "snow" | "springgreen" | "steelblue" | "tan" | "teal" | "thistle" | "tomato" | "turquoise" | "violet" | "wheat" | "white" | "whitesmoke" | "yellow" | "yellowgreen";
65
+ type StopInput = {
66
+ color?: ColorValueHex | CssColorName | RGB | [number, number, number];
67
+ colorLess?: boolean;
68
+ position: number;
69
+ };
70
+ type StopOutput = {
71
+ color: [number, number, number] | undefined;
72
+ colorLess?: boolean;
73
+ position: number;
74
+ };
75
+ type RGB = {
76
+ b: number;
77
+ g: number;
78
+ r: number;
79
+ };
80
+
81
+ declare class GradientBuilder {
82
+ #private;
83
+ readonly stops: StopOutput[];
84
+ constructor(colorize: ColorizeType, stops: (ColorValueHex | CssColorName | RGB | StopInput | [number, number, number])[]);
85
+ reverse(): GradientBuilder;
86
+ loop(): GradientBuilder;
87
+ rgb(steps: number): ColorizeType[];
88
+ hsv(steps: number, mode?: boolean | "long" | "short"): ColorizeType[];
89
+ }
90
+
91
+ declare const gradient: (stops: (ColorValueHex | CssColorName | RGB | StopInput | [
92
+ number,
93
+ number,
94
+ number
95
+ ])[], options?: {
96
+ hsvSpin?: "long" | "short";
97
+ interpolation?: "hsv" | "rgb";
98
+ loop?: boolean;
99
+ reverse?: boolean;
100
+ }) => (string_: string) => string;
101
+ declare const multilineGradient: (stops: (ColorValueHex | CssColorName | RGB | StopInput | [
102
+ number,
103
+ number,
104
+ number
105
+ ])[], options?: {
106
+ hsvSpin?: "long" | "short";
107
+ interpolation?: "hsv" | "rgb";
108
+ loop?: boolean;
109
+ reverse?: boolean;
110
+ }) => (string_: string) => string;
111
+
112
+ export { GradientBuilder, gradient, multilineGradient };
@@ -0,0 +1,10 @@
1
+ import { isStdoutColorSupported } from '@visulima/is-ansi-color-supported';
2
+
3
+ function S({onlyFirst:r=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}var g=(r,e,t)=>e>r?e:r>t?t:r;var f=r=>{let e=r.replace("#","");if(e.length===3)e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2];else if(e.length!==6)return [0,0,0];let t=Number.parseInt(e,16);return [t>>16&255,t>>8&255,t&255]};var l=isStdoutColorSupported()>0?(r,e)=>({close:"\x1B["+e+"m",open:"\x1B["+r+"m"}):()=>({close:"",open:""}),V=r=>l("38;5;"+r,39),E=r=>l("48;5;"+r,49),z=(r,e,t)=>l("38;2;"+r+";"+e+";"+t,39),M=(r,e,t)=>l("48;2;"+r+";"+e+";"+t,49),R={bold:l(1,22),dim:l(2,22),hidden:l(8,28),inverse:l(7,27),italic:l(3,23),overline:l(53,55),reset:l(0,0),strike:l(9,29),strikethrough:l(9,29),underline:l(4,24),visible:{close:"",open:""}},k={bgBlack:l(40,49),bgBlackBright:l(100,49),bgBlue:l(44,49),bgBlueBright:l(104,49),bgCyan:l(46,49),bgCyanBright:l(106,49),bgGray:l(100,49),bgGreen:l(42,49),bgGreenBright:l(102,49),bgGrey:l(100,49),bgMagenta:l(45,49),bgMagentaBright:l(105,49),bgRed:l(41,49),bgRedBright:l(101,49),bgWhite:l(47,49),bgWhiteBright:l(107,49),bgYellow:l(43,49),bgYellowBright:l(103,49),black:l(30,39),blackBright:l(90,39),blue:l(34,39),blueBright:l(94,39),cyan:l(36,39),cyanBright:l(96,39),gray:l(90,39),green:l(32,39),greenBright:l(92,39),grey:l(90,39),magenta:l(35,39),magentaBright:l(95,39),red:l(31,39),redBright:l(91,39),white:l(37,39),whiteBright:l(97,39),yellow:l(33,39),yellowBright:l(93,39)},w={bg:r=>E(g(r,0,255)),bgHex:r=>M(...f(r)),bgRgb:(r,e,t)=>M(g(r,0,255),g(e,0,255),g(t,0,255)),fg:r=>V(g(r,0,255)),hex:r=>z(...f(r)),rgb:(r,e,t)=>z(g(r,0,255),g(e,0,255),g(t,0,255))};var H=(r,e,t)=>{if(e==="")return r;let n=r.indexOf(e);if(n<0)return r;let o=e.length,s=0,i="";for(;~n;)i+=r.slice(s,n)+t,s=n+o,n=r.indexOf(e,s);return i+r.slice(s)};var h={},B=null,L=(r,e,t)=>{if(!r)return "";let n=r.raw==null?r+"":String.raw(r,...e);if(n.includes("\x1B"))for(let o=t;o;o=o.props)n=H(n,o.close,o.open);return n.includes(`
4
+ `)&&(n=n.replace(/(\r*\n)/g,t.closeStack+"$1"+t.openStack)),t.openStack+n+t.closeStack},x=({props:r},{close:e,open:t})=>{let n=(r?.openStack??"")+t,o=e+(r?.closeStack??""),s=(i,...u)=>L(i,u,s.props);return Object.setPrototypeOf(s,B),s.props={close:e,closeStack:o,open:t,openStack:n,props:r},s.open=n,s.close=o,s},Z=function(){let r=e=>e+"";r.strip=e=>e.replaceAll(S(),"");for(let e in k)h[e]={get(){let t=x(this,k[e]);return Object.defineProperty(this,e,{value:t}),t}};for(let e in R)h[e]={get(){let t=x(this,R[e]);return Object.defineProperty(this,e,{value:t}),t}};return B=Object.defineProperties({},h),Object.setPrototypeOf(r,B),r};for(let r in w)h[r]={get(){return (...e)=>x(this,w[r](...e))}};h.ansi256=h.fg;h.bgAnsi256=h.bg;var I=Z;var v={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var G=(r,e)=>{let t=r.length;if(e=Number.parseInt(e.toString(),10),Number.isNaN(e)||e<2)throw new Error("Invalid number of steps (< 2)");if(e<t)throw new Error("Number of steps cannot be inferior to number of stops");let n=[];for(let s=1;s<t;s++){let i=(e-1)*(r[s].position-r[s-1].position);n.push(Math.max(1,Math.round(i)));}let o=1;for(let s=t-1;s--;)o+=n[s];for(;o!==e;)if(o<e){let s=Math.min(...n);n[n.indexOf(s)]++,o++;}else {let s=Math.max(...n);n[n.indexOf(s)]--,o--;}return n};var P=(r,e,t)=>{let n=0,o=0,s=0,i=Math.floor(r/60),u=r/60-i,a=t*(1-e),p=t*(1-u*e),b=t*(1-(1-u)*e);return i%6===0?(n=t,o=b,s=a):i%6===1?(n=p,o=t,s=a):i%6===2?(n=a,o=t,s=b):i%6===3?(n=a,o=p,s=t):i%6===4?(n=b,o=a,s=t):i%6===5&&(n=t,o=a,s=p),{b:Math.round(s*255),g:Math.round(o*255),r:Math.round(n*255)}};var O=({b:r,g:e,r:t})=>{let n,o,s,i=0,u=0;t/=255,e/=255,r/=255;let a=Math.max(t,e,r),p=a-Math.min(t,e,r),b=c=>(a-c)/6/p+1/2;return p!==0&&(u=p/a,n=b(t),o=b(e),s=b(r),a===t?i=s-o:a===e?i=.3333333333333333+n-s:a===r&&(i=.6666666666666666+o-n),i<0?i+=1:i>1&&(i-=1)),{h:i*360,s:u,v:a}};var W={b:256,g:256,r:256},X={h:360,s:1,v:1},D=(r,e,t)=>{let n={};for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=t===0?0:(e[o]-r[o])/t);return n},N=(r,e,t,n)=>{let o={};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&(o[s]=r[s]*t+e[s],o[s]=o[s]<0?o[s]+n[s]:n[s]===1?o[s]:o[s]%n[s]);return o},C=(r,e,t)=>{let n={b:r.color[2],g:r.color[1],r:r.color[0]},o={b:e.color[2],g:e.color[1],r:e.color[0]},s=D(n,o,t),i=[{...n}];for(let u=1;u<t;u++){let a=N(s,n,u,W);i.push({b:Math.floor(a.b),g:Math.floor(a.g),r:Math.floor(a.r)});}return i},A=(r,e,t,n)=>{let o=O({b:r.color[2],g:r.color[1],r:r.color[0]}),s=O({b:e.color[2],g:e.color[1],r:e.color[0]});if(o.s===0||s.s===0)return C(r,e,t);let i;if(typeof n=="boolean")i=n;else {let b=o.h<s.h&&s.h-o.h<180||o.h>s.h&&o.h-s.h>180;i=n==="long"&&b||n==="short"&&!b;}let u=D(o,s,t),a=[{b:r.color[2],g:r.color[1],r:r.color[0]}],p;o.h<=s.h&&!i||o.h>=s.h&&i?p=s.h-o.h:i?p=360-s.h+o.h:p=360-o.h+s.h,u.h=(-1)**(i?1:0)*Math.abs(p)/t;for(let b=1;b<t;b++){let c=N(u,o,b,X);a.push(P(c.h,c.s,c.v));}return a};var y=class r{#e;stops;constructor(e,t){if(this.#e=e,this.stops=[],t.length<2)throw new Error("Invalid number of stops (< 2)");let n=t[0].position!==void 0,o=t.length,s=-1,i=!1;for(let[u,a]of t.entries()){let p={},b=a.position!==void 0;if(n!==b)throw new Error("Cannot mix positioned and non-positioned color stops");if(b){let c=a,d=c.color!==void 0;if(!d&&(i||u===0||u===o-1))throw new Error("Cannot define two consecutive position-only stops");i=!d;let m;if(d&&(Array.isArray(c.color)?m=c.color:typeof c.color=="string"?m=c.color.includes("#")?f(c.color):v[c.color]:c.color.r!==void 0&&c.color.g!==void 0&&c.color.b&&(m=[c.color.r,c.color.g,c.color.b])),p={color:m,colorLess:!d,position:c.position},p.position<0||p.position>1)throw new Error("Color stops positions must be between 0 and 1");if(p.position<s)throw new Error("Color stops positions are not ordered");s=p.position;}else if(Array.isArray(a))p={color:a,position:u/(o-1)};else if(typeof a=="string")p={color:a.includes("#")?f(a):v[a],position:u/(o-1)};else if(a.r!==void 0&&a.g!==void 0&&a.b!==void 0)p={color:[a.r,a.g,a.b],position:u/(o-1)};else throw new Error("Invalid color stop");this.stops.push(p);}this.stops[0].position!==0&&(this.stops.unshift({color:this.stops[0].color,position:0}),o++),this.stops[o-1].position!==1&&this.stops.push({color:this.stops[o-1].color,position:1});}reverse(){let e=[];for(let t of this.stops){let n={...t};n.position=1-t.position,e.push(n);}return new r(this.#e,e.reverse())}loop(){let e=[],t=[];for(let n of this.stops)e.push({color:n.color,position:(n.position||0)/2});for(let n of this.stops.slice(0,-1))t.push({color:n.color,position:1-(n.position||0)/2});return new r(this.#e,[...e,...t.reverse()])}rgb(e){let t=G(this.stops,e),n=[];this.stops.forEach((o,s)=>{if(o.colorLess){let i=C(this.stops[s-1],this.stops[s+1],2);o.color=[i[1].r,i[1].g,i[1].b];}});for(let o=0,s=this.stops.length;o<s-1;o++){let i=C(this.stops[o],this.stops[o+1],t[o]);n.splice(n.length,0,...i.map(u=>this.#e.rgb(u.r,u.g,u.b)));}return n.push(this.#e.rgb(...this.stops.at(-1).color)),n}hsv(e,t=!1){let n=G(this.stops,e),o=[];this.stops.forEach((s,i)=>{if(s.colorLess){let u=A(this.stops[i-1],this.stops[i+1],2,t);s.color=[u[1].r,u[1].g,u[1].b];}});for(let s=0,i=this.stops.length;s<i-1;s++){let u=A(this.stops[s],this.stops[s+1],n[s],t);o.splice(o.length,0,...u.map(a=>this.#e.rgb(a.r,a.g,a.b)));}return o.push(this.#e.rgb(...this.stops.at(-1).color)),o}};var j=new I,T=/\s/g,ye=(r,e)=>{let{hsvSpin:t="short",interpolation:n="rgb"}=e??{},o=new y(j,r);return e?.loop?o=o.loop():e?.reverse&&(o=o.reverse()),s=>{let i=Math.max(s.replaceAll(T,"").length,o.stops.length),u=n==="rgb"?o.rgb(i):o.hsv(i,t),a="";for(let p of s)if(T.test(p))a+=p;else {let b=u.shift();a+=b(p);}return a}},Ce=(r,e)=>{let{hsvSpin:t="short",interpolation:n="rgb"}=e??{},o=new y(j,r);return e?.loop?o=o.loop():e?.reverse&&(o=o.reverse()),s=>{let i=s.split(`
5
+ `),u=Reflect.apply(Math.max,null,[...i.map(b=>b.length),o.stops.length]),a=n==="rgb"?o.rgb(u):o.hsv(u,t),p=[];for(let b of i){let c=[...a],d="";for(let m of b)d+=T.test(m)?m:c.shift()(m);p.push(d);}return p.join(`
6
+ `)}};
7
+
8
+ export { y as GradientBuilder, ye as gradient, Ce as multilineGradient };
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=gradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.0.1/node_modules/ansi-regex/index.js","../src/ansi-codes.ts","../src/util/clamp.ts","../src/util/hex-to-rgb.ts","../src/util/string-replace-all.ts","../src/colorize.server.ts","../src/gradient/util/color-names.ts","../src/gradient/util/compute.ts","../src/gradient/util/hsv-to-rgb.ts","../src/gradient/util/rgb-to-hsv.ts","../src/gradient/util/interpolate.ts","../src/gradient/gradient-builder.ts","../src/gradient.ts"],"names":["ansiRegex","onlyFirst","pattern","isStdoutColorSupported","clamp","number_","min","max","hexToRgb","hex","color","esc","open","close","createAnsi256","code","createBgAnsi256","createRgb","g","b","createBgRgb","baseStyles","baseColors","styleMethods","stringReplaceAll","string_","searchValue","replaceValue","pos","substringLength","lastPos","result","styles","stylePrototype","wrapText","strings","values","properties","string","currentProperties","createStyle","props","openStack","closeStack","style","Colorize","self","value","name","arguments_","colorize_server_default","colorNames","computeSubSteps","stops","steps","l","substeps","index","step","totalSubsteps","n","hsvToRgb","h","s","v","r","f","p","q","t","rgbToHsv","rdif","gdif","bdif","diff","diffc","RGBA_MAX","HSV_MAX","calculateStepSize","start","end","k","interpolate","interpolateRgb","stop1","stop2","gradient","interpolateHsv","mode","trigonometric","trigShortest","GradientBuilder","_GradientBuilder","#colorize","colorize","havingPositions","lastColorLess","stop_","stop","hasPosition","stopInput","hasColor","stops1","stops2","subSteps","rgbs","rgb","forbiddenChars","options","hsvSpin","interpolation","builder","colorsCount","colors","multilineGradient","lines","results","line","lineColors","lineResult"],"mappings":"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","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/ansi-codes.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nimport { isStdoutColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData, ColorValueHex } from \"./types\";\nimport { clamp } from \"./util/clamp\";\nimport { hexToRgb } from \"./util/hex-to-rgb\";\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n isStdoutColorSupported() > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n\nconst createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, 49);\n\nexport const baseStyles: Required<Record<AnsiStyles, ColorData>> = {\n // 21 isn't widely supported and 22 does the same thing\n bold: esc(1, 22),\n dim: esc(2, 22),\n hidden: esc(8, 28),\n inverse: esc(7, 27),\n italic: esc(3, 23),\n overline: esc(53, 55),\n reset: esc(0, 0),\n strike: esc(9, 29), // alias for strikethrough\n strikethrough: esc(9, 29),\n underline: esc(4, 24),\n visible: { close: \"\", open: \"\" },\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, 49),\n bgBlackBright: esc(100, 49),\n bgBlue: esc(44, 49),\n bgBlueBright: esc(104, 49),\n bgCyan: esc(46, 49),\n bgCyanBright: esc(106, 49),\n bgGray: esc(100, 49), // US spelling alias for bgBlackBright\n bgGreen: esc(42, 49),\n bgGreenBright: esc(102, 49),\n bgGrey: esc(100, 49), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, 49),\n bgMagentaBright: esc(105, 49),\n bgRed: esc(41, 49),\n bgRedBright: esc(101, 49),\n bgWhite: esc(47, 49),\n bgWhiteBright: esc(107, 49),\n bgYellow: esc(43, 49),\n bgYellowBright: esc(103, 49),\n black: esc(30, 39),\n blackBright: esc(90, 39),\n blue: esc(34, 39),\n blueBright: esc(94, 39),\n cyan: esc(36, 39),\n cyanBright: esc(96, 39),\n gray: esc(90, 39), // US spelling alias for blackBright\n green: esc(32, 39),\n greenBright: esc(92, 39),\n grey: esc(90, 39), // UK spelling alias for blackBright\n magenta: esc(35, 39),\n magentaBright: esc(95, 39),\n red: esc(31, 39),\n redBright: esc(91, 39),\n white: esc(37, 39),\n whiteBright: esc(97, 39),\n yellow: esc(33, 39),\n yellowBright: esc(93, 39),\n};\n\nexport const styleMethods: {\n bg: (code: number) => ColorData;\n bgHex: (hex: ColorValueHex) => ColorData;\n bgRgb: (r: number, g: number, b: number) => ColorData;\n fg: (code: number) => ColorData;\n hex: (hex: ColorValueHex) => ColorData;\n rgb: (r: number, g: number, b: number) => ColorData;\n} = {\n bg: (code) => createBgAnsi256(clamp(code, 0, 255)),\n\n bgHex: (hex) => createBgRgb(...hexToRgb(hex)),\n\n bgRgb: (r, g, b) => createBgRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n\n fg: (code) => createAnsi256(clamp(code, 0, 255)),\n\n hex: (hex) => createRgb(...hexToRgb(hex)),\n\n rgb: (r, g, b) => createRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Clamp a number within the inclusive range specified by min and max.\n * @note: The ternary operator is a tick quicker than Math.min(Math.max(num, min), max).\n */\n\nexport const clamp = (number_: number, min: number, max: number): number => (min > number_ ? min : number_ > max ? max : number_);\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nimport type { ColorValueHex } from \"../types\";\n\n/**\n * Convert hex color string to RGB values.\n *\n * A hexadecimal color code can be 3 or 6 digits with an optional \"#\" prefix.\n *\n * The 3 digits specifies an RGB doublet data as a fully opaque color.\n * For example, \"#123\" specifies the color that is represented by \"#112233\".\n *\n * The 6 digits specifies a fully opaque color.\n * For example, \"#112233\".\n *\n * @param {string} hex A string that contains the hexadecimal RGB color representation.\n * @return {[number, number, number]} The red, green, blue values in range [0, 255] .\n */\nexport const hexToRgb = (hex: ColorValueHex): [number, number, number] => {\n let color: string = hex.replace(\"#\", \"\");\n\n if (color.length === 3) {\n color = (color[0] as string) + (color[0] as string) + (color[1] as string) + (color[1] as string) + (color[2] as string) + (color[2] as string);\n } else if (color.length !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Replace all matched strings.\n * Note: this implementation is over 30% faster than String.replaceAll().\n */\nexport const stringReplaceAll = (string_: string, searchValue: string, replaceValue: string): string => {\n // visible style has empty open/close props\n if (searchValue === \"\") {\n return string_;\n }\n\n let pos = string_.indexOf(searchValue);\n if (pos < 0) {\n return string_;\n }\n\n const substringLength = searchValue.length;\n let lastPos = 0;\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-bitwise\n while (~pos) {\n result += string_.slice(lastPos, pos) + replaceValue;\n lastPos = pos + substringLength;\n pos = string_.indexOf(searchValue, lastPos);\n }\n\n return result + string_.slice(lastPos);\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/index.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ansiRegex from \"ansi-regex\";\n\nimport { baseColors, baseStyles, styleMethods } from \"./ansi-codes\";\nimport type { ColorData, ColorizeType } from \"./types\";\nimport { stringReplaceAll } from \"./util/string-replace-all\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst wrapText = (\n strings: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n values: string[],\n properties: ColorizeProperties,\n) => {\n if (!strings) {\n return \"\";\n }\n\n let string =\n (strings as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw == null\n ? (((strings as number | string) + \"\") as string)\n : String.raw(strings as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n if (string.includes(\"\\u001B\")) {\n // eslint-disable-next-line no-loops/no-loops,@typescript-eslint/no-unnecessary-condition\n for (let currentProperties = properties; currentProperties; currentProperties = currentProperties.props) {\n string = stringReplaceAll(string, currentProperties.close, currentProperties.open);\n }\n }\n\n if (string.includes(\"\\n\")) {\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n string = string.replace(/(\\r*\\n)/g, properties.closeStack + \"$1\" + properties.openStack);\n }\n\n return properties.openStack + string + properties.closeStack;\n};\n\ntype ColorizeProperties = { close: string; closeStack: string; open: string; openStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n { close, open }: ColorData,\n): {\n (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string;\n close: string;\n open: string;\n props: { close: string; closeStack: string; open: string; openStack: string; props?: ColorizeProperties };\n} => {\n const openStack: string = (props?.openStack ?? \"\") + open;\n const closeStack: string = close + (props?.closeStack ?? \"\");\n\n const style = (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]) => wrapText(strings, values, style.props);\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { close, closeStack, open, openStack, props } as ColorizeProperties;\n style.open = openStack;\n style.close = closeStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst Colorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value.replaceAll(ansiRegex(), \"\");\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default Colorize;\n","// A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors.\nimport type { CssColorCodes } from \"../../types\";\n\nexport const colorNames: CssColorCodes = {\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 134, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 250, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n grey: [128, 128, 128],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 221],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n rebeccapurple: [102, 51, 153],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [112, 128, 144],\n slategrey: [112, 128, 144],\n snow: [255, 250, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 50],\n};\n","import type { StopOutput } from \"../../types\";\n\nexport const computeSubSteps = (stops: StopOutput[], steps: number): number[] => {\n const l = stops.length;\n\n // eslint-disable-next-line no-param-reassign\n steps = Number.parseInt(steps.toString(), 10);\n\n if (Number.isNaN(steps) || steps < 2) {\n throw new Error(\"Invalid number of steps (< 2)\");\n }\n\n if (steps < l) {\n throw new Error(\"Number of steps cannot be inferior to number of stops\");\n }\n\n const substeps: number[] = [];\n\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let index = 1; index < l; index++) {\n // eslint-disable-next-line security/detect-object-injection\n const step = (steps - 1) * ((stops[index] as StopOutput).position - (stops[index - 1] as StopOutput).position);\n\n substeps.push(Math.max(1, Math.round(step)));\n }\n\n let totalSubsteps = 1;\n\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let n = l - 1; n--; ) {\n // eslint-disable-next-line security/detect-object-injection\n totalSubsteps += substeps[n] as number;\n }\n\n // eslint-disable-next-line no-loops/no-loops\n while (totalSubsteps !== steps) {\n if (totalSubsteps < steps) {\n const min = Math.min(...substeps);\n\n // eslint-disable-next-line no-plusplus\n substeps[substeps.indexOf(min)]++;\n // eslint-disable-next-line no-plusplus\n totalSubsteps++;\n } else {\n const max = Math.max(...substeps);\n\n // eslint-disable-next-line no-plusplus\n substeps[substeps.indexOf(max)]--;\n // eslint-disable-next-line no-plusplus\n totalSubsteps--;\n }\n }\n\n return substeps;\n};\n","export const hsvToRgb = (h: number, s: number, v: number): { b: number; g: number; r: number } => {\n let r = 0;\n let g = 0;\n let b = 0;\n\n const index = Math.floor(h / 60);\n const f = h / 60 - index;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n if (index % 6 === 0) {\n r = v;\n g = t;\n b = p;\n } else if (index % 6 === 1) {\n r = q;\n g = v;\n b = p;\n } else if (index % 6 === 2) {\n r = p;\n g = v;\n b = t;\n } else if (index % 6 === 3) {\n r = p;\n g = q;\n b = v;\n } else if (index % 6 === 4) {\n r = t;\n g = p;\n b = v;\n } else if (index % 6 === 5) {\n r = v;\n g = p;\n b = q;\n }\n\n return { b: Math.round(b * 255), g: Math.round(g * 255), r: Math.round(r * 255) };\n};\n","export const rgbToHsv = ({ b, g, r }: { b: number; g: number; r: number }): { h: number; s: number; v: number } => {\n let rdif;\n let gdif;\n let bdif;\n let h = 0;\n let s = 0;\n\n // eslint-disable-next-line no-param-reassign\n r /= 255;\n // eslint-disable-next-line no-param-reassign\n g /= 255;\n // eslint-disable-next-line no-param-reassign\n b /= 255;\n\n const v = Math.max(r, g, b);\n const diff = v - Math.min(r, g, b);\n const diffc = (c: number) => (v - c) / 6 / diff + 1 / 2;\n\n if (diff !== 0) {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n\n // eslint-disable-next-line unicorn/prefer-switch\n if (v === r) {\n h = bdif - gdif;\n } else if (v === g) {\n h = 1 / 3 + rdif - bdif;\n } else if (v === b) {\n h = 2 / 3 + gdif - rdif;\n }\n\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n\n return {\n h: h * 360,\n s,\n v,\n };\n};\n","import type { HSVA, RGB, StopOutput } from \"../../types\";\nimport { hsvToRgb } from \"./hsv-to-rgb\";\nimport { rgbToHsv } from \"./rgb-to-hsv\";\n\nconst RGBA_MAX: RGB = { b: 256, g: 256, r: 256 };\nconst HSV_MAX: HSVA = { h: 360, s: 1, v: 1 };\n\nconst calculateStepSize = <T extends Record<string, number>>(start: T, end: T, steps: number): T => {\n const step: T = {} as T;\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const k in start) {\n if (Object.prototype.hasOwnProperty.call(start, k)) {\n // @TODO: Fix this any type\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-explicit-any\n (step as any)[k] = steps === 0 ? 0 : ((end[k] as number) - (start[k] as number)) / steps;\n }\n }\n\n return step;\n};\n\nconst interpolate = <T extends Record<string, number>>(step: T, start: T, index: number, max: T): T => {\n const color: T = {} as T;\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const k in start) {\n if (Object.prototype.hasOwnProperty.call(start, k)) {\n // @TODO: Fix this any type\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-explicit-any\n (color as any)[k] = (step[k] as number) * index + (start[k] as number);\n // @TODO: Fix this any type\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-explicit-any,sonarjs/no-element-overwrite\n (color as any)[k] =\n // eslint-disable-next-line security/detect-object-injection\n (color[k] as number) < 0\n ? // eslint-disable-next-line security/detect-object-injection\n (color[k] as number) + (max[k] as number)\n : // eslint-disable-next-line security/detect-object-injection\n max[k] === 1\n ? // eslint-disable-next-line security/detect-object-injection\n (color[k] as number)\n : // eslint-disable-next-line security/detect-object-injection\n (color[k] as number) % (max[k] as number);\n }\n }\n\n return color;\n};\n\nexport const interpolateRgb = (stop1: StopOutput, stop2: StopOutput, steps: number): RGB[] => {\n const start: RGB = { b: (stop1.color as number[])[2] as number, g: (stop1.color as number[])[1] as number, r: (stop1.color as number[])[0] as number };\n const end: RGB = { b: (stop2.color as number[])[2] as number, g: (stop2.color as number[])[1] as number, r: (stop2.color as number[])[0] as number };\n\n const step = calculateStepSize<RGB>(start, end, steps);\n\n const gradient: RGB[] = [{ ...start }];\n\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let index = 1; index < steps; index++) {\n const color = interpolate<RGB>(step, start, index, RGBA_MAX);\n\n gradient.push({\n b: Math.floor(color.b as number),\n g: Math.floor(color.g as number),\n r: Math.floor(color.r as number),\n });\n }\n\n return gradient;\n};\n\nexport const interpolateHsv = (\n stop1: StopOutput,\n stop2: StopOutput,\n steps: number,\n mode: boolean | \"long\" | \"short\",\n // eslint-disable-next-line sonarjs/cognitive-complexity\n): RGB[] => {\n const start = rgbToHsv({ b: (stop1.color as number[])[2] as number, g: (stop1.color as number[])[1] as number, r: (stop1.color as number[])[0] as number });\n const end = rgbToHsv({ b: (stop2.color as number[])[2] as number, g: (stop2.color as number[])[1] as number, r: (stop2.color as number[])[0] as number });\n\n if (start.s === 0 || end.s === 0) {\n return interpolateRgb(stop1, stop2, steps);\n }\n\n let trigonometric: boolean;\n\n if (typeof mode === \"boolean\") {\n trigonometric = mode;\n } else {\n const trigShortest = (start.h < end.h && end.h - start.h < 180) || (start.h > end.h && start.h - end.h > 180);\n\n trigonometric = (mode === \"long\" && trigShortest) || (mode === \"short\" && !trigShortest);\n }\n\n const step = calculateStepSize(start, end, steps);\n const gradient: RGB[] = [\n {\n b: (stop1.color as [number, number, number])[2],\n g: (stop1.color as [number, number, number])[1],\n r: (stop1.color as [number, number, number])[0],\n },\n ];\n\n let diff: number;\n\n if ((start.h <= end.h && !trigonometric) || (start.h >= end.h && trigonometric)) {\n diff = end.h - start.h;\n } else if (trigonometric) {\n diff = 360 - end.h + start.h;\n } else {\n diff = 360 - start.h + end.h;\n }\n\n step.h = ((-1) ** (trigonometric ? 1 : 0) * Math.abs(diff)) / steps;\n\n // eslint-disable-next-line no-plusplus,no-loops/no-loops\n for (let index = 1; index < steps; index++) {\n const color = interpolate<HSVA>(step, start, index, HSV_MAX);\n\n gradient.push(hsvToRgb(color.h, color.s, color.v));\n }\n\n return gradient;\n};\n","import type { ColorizeType, ColorValueHex, CssColorName, RGB, StopInput, StopOutput } from \"../types\";\nimport { hexToRgb } from \"../util/hex-to-rgb\";\nimport { colorNames } from \"./util/color-names\";\nimport { computeSubSteps } from \"./util/compute\";\nimport { interpolateHsv, interpolateRgb } from \"./util/interpolate\";\n\nexport class GradientBuilder {\n readonly #colorize: ColorizeType;\n\n public readonly stops: StopOutput[];\n\n // eslint-disable-next-line sonarjs/cognitive-complexity\n public constructor(colorize: ColorizeType, stops: (ColorValueHex | CssColorName | RGB | StopInput | [number, number, number])[]) {\n this.#colorize = colorize;\n this.stops = [];\n\n if (stops.length < 2) {\n throw new Error(\"Invalid number of stops (< 2)\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const havingPositions = (stops[0] as StopInput).position !== undefined;\n\n let l = stops.length;\n let p = -1;\n let lastColorLess = false;\n\n // eslint-disable-next-line no-loops/no-loops,@typescript-eslint/naming-convention,no-restricted-syntax\n for (const [index, stop_] of stops.entries()) {\n let stop = {} as StopOutput;\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n const hasPosition = (stop_ as StopInput).position !== undefined;\n\n if (havingPositions !== hasPosition) {\n throw new Error(\"Cannot mix positioned and non-positioned color stops\");\n }\n\n if (hasPosition) {\n const stopInput = stop_ as StopInput;\n\n const hasColor = stopInput.color !== undefined;\n\n if (!hasColor && (lastColorLess || index === 0 || index === l - 1)) {\n throw new Error(\"Cannot define two consecutive position-only stops\");\n }\n\n lastColorLess = !hasColor;\n\n let color: [number, number, number] | undefined;\n\n if (hasColor) {\n if (Array.isArray(stopInput.color)) {\n color = stopInput.color as [number, number, number];\n } else if (typeof stopInput.color === \"string\") {\n color = stopInput.color.includes(\"#\") ? hexToRgb(stopInput.color as ColorValueHex) : colorNames[stopInput.color as CssColorName];\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n } else if ((stopInput.color as RGB).r !== undefined && (stopInput.color as RGB).g !== undefined && (stopInput.color as RGB).b) {\n color = [(stopInput.color as RGB).r, (stopInput.color as RGB).g, (stopInput.color as RGB).b];\n }\n }\n\n stop = {\n color,\n colorLess: !hasColor,\n position: stopInput.position,\n };\n\n if (stop.position < 0 || stop.position > 1) {\n throw new Error(\"Color stops positions must be between 0 and 1\");\n } else if (stop.position < p) {\n throw new Error(\"Color stops positions are not ordered\");\n }\n\n p = stop.position;\n } else if (Array.isArray(stop_)) {\n stop = {\n color: stop_ as [number, number, number],\n position: index / (l - 1),\n };\n } else if (typeof stop_ === \"string\") {\n stop = {\n color: stop_.includes(\"#\") ? hexToRgb(stop_ as ColorValueHex) : colorNames[stop_ as CssColorName],\n position: index / (l - 1),\n };\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n } else if ((stop_ as RGB).r !== undefined && (stop_ as RGB).g !== undefined && (stop_ as RGB).b !== undefined) {\n stop = {\n color: [(stop_ as RGB).r, (stop_ as RGB).g, (stop_ as RGB).b],\n position: index / (l - 1),\n };\n } else {\n throw new Error(\"Invalid color stop\");\n }\n\n this.stops.push(stop);\n }\n\n if ((this.stops[0] as StopOutput).position !== 0) {\n this.stops.unshift({\n color: (this.stops[0] as StopOutput).color,\n position: 0,\n });\n\n // eslint-disable-next-line no-plusplus\n l++;\n }\n\n if ((this.stops[l - 1] as StopOutput).position !== 1) {\n this.stops.push({\n color: (this.stops[l - 1] as StopOutput).color,\n position: 1,\n });\n }\n }\n\n public reverse(): GradientBuilder {\n const stops: StopInput[] = [];\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const stop of this.stops) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const stop_ = { ...stop };\n\n stop_.position = 1 - stop.position;\n\n stops.push(stop_ as StopInput);\n }\n\n // eslint-disable-next-line etc/no-assign-mutated-array\n return new GradientBuilder(this.#colorize, stops.reverse());\n }\n\n public loop(): GradientBuilder {\n const stops1: StopInput[] = [];\n const stops2: StopInput[] = [];\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const stop of this.stops) {\n stops1.push({\n color: stop.color,\n position: (stop.position || 0) / 2,\n } as StopInput);\n }\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const stop of this.stops.slice(0, -1)) {\n stops2.push({\n color: stop.color,\n position: 1 - (stop.position || 0) / 2,\n } as StopInput);\n }\n\n // eslint-disable-next-line etc/no-assign-mutated-array\n return new GradientBuilder(this.#colorize, [...stops1, ...stops2.reverse()]);\n }\n\n public rgb(steps: number): ColorizeType[] {\n const subSteps = computeSubSteps(this.stops, steps);\n const gradient: ColorizeType[] = [];\n\n this.stops.forEach((stop, index) => {\n if (stop.colorLess) {\n const rgbs = interpolateRgb(this.stops[index - 1] as StopOutput, this.stops[index + 1] as StopOutput, 2);\n // eslint-disable-next-line no-param-reassign\n stop.color = [(rgbs[1] as RGB).r, (rgbs[1] as RGB).g, (rgbs[1] as RGB).b];\n }\n });\n\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let index = 0, l = this.stops.length; index < l - 1; index++) {\n // eslint-disable-next-line security/detect-object-injection\n const rgbs = interpolateRgb(this.stops[index] as StopOutput, this.stops[index + 1] as StopOutput, subSteps[index] as number);\n\n gradient.splice(gradient.length, 0, ...rgbs.map((rgb) => this.#colorize.rgb(rgb.r, rgb.g, rgb.b)));\n }\n\n gradient.push(this.#colorize.rgb(...((this.stops.at(-1) as StopOutput).color as [number, number, number])));\n\n return gradient;\n }\n\n public hsv(steps: number, mode: boolean | \"long\" | \"short\" = false): ColorizeType[] {\n const subSteps = computeSubSteps(this.stops, steps);\n const gradient: ColorizeType[] = [];\n\n this.stops.forEach((stop, index) => {\n if (stop.colorLess) {\n const rgbs = interpolateHsv(this.stops[index - 1] as StopOutput, this.stops[index + 1] as StopOutput, 2, mode);\n // eslint-disable-next-line no-param-reassign\n stop.color = [(rgbs[1] as RGB).r, (rgbs[1] as RGB).g, (rgbs[1] as RGB).b];\n }\n });\n\n // eslint-disable-next-line no-plusplus,no-loops/no-loops\n for (let index = 0, l = this.stops.length; index < l - 1; index++) {\n // eslint-disable-next-line security/detect-object-injection\n const rgbs = interpolateHsv(this.stops[index] as StopOutput, this.stops[index + 1] as StopOutput, subSteps[index] as number, mode);\n\n gradient.splice(gradient.length, 0, ...rgbs.map((rgb) => this.#colorize.rgb(rgb.r, rgb.g, rgb.b)));\n }\n\n gradient.push(this.#colorize.rgb(...((this.stops.at(-1) as StopOutput).color as [number, number, number])));\n\n return gradient;\n }\n}\n","import ColorizeImpl from \"./colorize.server\";\nimport { GradientBuilder } from \"./gradient/gradient-builder\";\nimport type { ColorizeType, ColorValueHex, CssColorName, RGB, StopInput } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\nconst forbiddenChars = /\\s/g;\n\nexport const gradient = (\n stops: (ColorValueHex | CssColorName | RGB | StopInput | [number, number, number])[],\n options?: {\n hsvSpin?: \"long\" | \"short\";\n interpolation?: \"hsv\" | \"rgb\";\n loop?: boolean;\n reverse?: boolean;\n },\n): ((string_: string) => string) => {\n const { hsvSpin = \"short\", interpolation = \"rgb\" } = options ?? {};\n\n let builder = new GradientBuilder(colorize, stops);\n\n if (options?.loop) {\n builder = builder.loop();\n } else if (options?.reverse) {\n builder = builder.reverse();\n }\n\n return (string_: string): string => {\n const colorsCount = Math.max(string_.replaceAll(forbiddenChars, \"\").length, builder.stops.length);\n const colors = interpolation === \"rgb\" ? builder.rgb(colorsCount) : builder.hsv(colorsCount, hsvSpin);\n\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const s of string_) {\n if (forbiddenChars.test(s)) {\n result += s;\n } else {\n const color = colors.shift();\n\n result += (color as ColorizeType)(s);\n }\n }\n\n return result;\n };\n};\n\n// eslint-disable-next-line import/no-unused-modules\nexport const multilineGradient = (\n stops: (ColorValueHex | CssColorName | RGB | StopInput | [number, number, number])[],\n options?: {\n hsvSpin?: \"long\" | \"short\";\n interpolation?: \"hsv\" | \"rgb\";\n loop?: boolean;\n reverse?: boolean;\n },\n): ((string_: string) => string) => {\n const { hsvSpin = \"short\", interpolation = \"rgb\" } = options ?? {};\n\n let builder = new GradientBuilder(colorize, stops);\n\n if (options?.loop) {\n builder = builder.loop();\n } else if (options?.reverse) {\n builder = builder.reverse();\n }\n\n return (string_: string): string => {\n const lines = string_.split(\"\\n\");\n\n const colorsCount = Reflect.apply(Math.max, null, [...lines.map((l) => l.length), builder.stops.length]);\n const colors = interpolation === \"rgb\" ? builder.rgb(colorsCount) : builder.hsv(colorsCount, hsvSpin);\n\n const results: string[] = [];\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const line of lines) {\n const lineColors = [...colors];\n\n let lineResult = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const l of line) {\n lineResult += forbiddenChars.test(l) ? l : (lineColors.shift() as ColorizeType)(l);\n }\n\n results.push(lineResult);\n }\n\n return results.join(\"\\n\");\n };\n};\n\n// eslint-disable-next-line import/no-unused-modules\nexport { GradientBuilder } from \"./gradient/gradient-builder\";\n"]}
@@ -1,3 +1,4 @@
1
+ type ColorValueHex = `#${string}`;
1
2
  interface ColorizeType {
2
3
  (string: number | string): string;
3
4
  (string: TemplateStringsArray, ...parameters: string[]): string;
@@ -14,7 +15,7 @@ interface ColorizeType {
14
15
  readonly bgGreen: this;
15
16
  readonly bgGreenBright: this;
16
17
  readonly bgGrey: this;
17
- bgHex: (color: string) => this;
18
+ bgHex: (color: ColorValueHex) => this;
18
19
  readonly bgMagenta: this;
19
20
  readonly bgMagentaBright: this;
20
21
  readonly bgRed: this;
@@ -38,7 +39,7 @@ interface ColorizeType {
38
39
  readonly green: this;
39
40
  readonly greenBright: this;
40
41
  readonly grey: this;
41
- hex: (color: string) => this;
42
+ hex: (color: ColorValueHex) => this;
42
43
  readonly hidden: this;
43
44
  readonly inverse: this;
44
45
  readonly italic: this;
@@ -80,7 +81,7 @@ declare const bgGray: ColorizeType;
80
81
  declare const bgGreen: ColorizeType;
81
82
  declare const bgGreenBright: ColorizeType;
82
83
  declare const bgGrey: ColorizeType;
83
- declare const bgHex: (color: string) => ColorizeType;
84
+ declare const bgHex: (color: `#${string}`) => ColorizeType;
84
85
  declare const bgMagenta: ColorizeType;
85
86
  declare const bgMagentaBright: ColorizeType;
86
87
  declare const bgRed: ColorizeType;
@@ -103,7 +104,7 @@ declare const gray: ColorizeType;
103
104
  declare const green: ColorizeType;
104
105
  declare const greenBright: ColorizeType;
105
106
  declare const grey: ColorizeType;
106
- declare const hex: (color: string) => ColorizeType;
107
+ declare const hex: (color: `#${string}`) => ColorizeType;
107
108
  declare const hidden: ColorizeType;
108
109
  declare const inverse: ColorizeType;
109
110
  declare const italic: ColorizeType;
@@ -1,5 +1,5 @@
1
- var c={0:"#000",1:"#800",2:"#080",3:"#880",4:"#008",5:"#808",6:"#088",7:"#ccc",8:"#444",9:"#f00",10:"#0f0",11:"#ff0",12:"#00f",13:"#f0f",14:"#0ff",15:"#fff",16:"#000",17:"#00005f",18:"#000087",19:"#0000af",20:"#0000d7",21:"#0000ff",22:"#005f00",23:"#005f5f",24:"#005f87",25:"#005faf",26:"#005fd7",27:"#005fff",28:"#008700",29:"#00875f",30:"#008787",31:"#0087af",32:"#0087d7",33:"#0087ff",34:"#00af00",35:"#00af5f",36:"#00af87",37:"#00afaf",38:"#00afd7",39:"#00afff",40:"#00d700",41:"#00d75f",42:"#00d787",43:"#00d7af",44:"#00d7d7",45:"#00d7ff",46:"#00ff00",47:"#00ff5f",48:"#00ff87",49:"#00ffaf",50:"#00ffd7",51:"#00ffff",52:"#5f0000",53:"#5f005f",54:"#5f0087",55:"#5f00af",56:"#5f00d7",57:"#5f00ff",58:"#5f5f00",59:"#5f5f5f",60:"#5f5f87",61:"#5f5faf",62:"#5f5fd7",63:"#5f5fff",64:"#5f8700",65:"#5f875f",66:"#5f8787",67:"#5f87af",68:"#5f87d7",69:"#5f87ff",70:"#5faf00",71:"#5faf5f",72:"#5faf87",73:"#5fafaf",74:"#5fafd7",75:"#5fafff",76:"#5fd700",77:"#5fd75f",78:"#5fd787",79:"#5fd7af",80:"#5fd7d7",81:"#5fd7ff",82:"#5fff00",83:"#5fff5f",84:"#5fff87",85:"#5fffaf",86:"#5fffd7",87:"#5fffff",88:"#870000",89:"#87005f",90:"#870087",91:"#8700af",92:"#8700d7",93:"#8700ff",94:"#875f00",95:"#875f5f",96:"#875f87",97:"#875faf",98:"#875fd7",99:"#875fff",100:"#878700",101:"#87875f",102:"#878787",103:"#8787af",104:"#8787d7",105:"#8787ff",106:"#87af00",107:"#87af5f",108:"#87af87",109:"#87afaf",110:"#87afd7",111:"#87afff",112:"#87d700",113:"#87d75f",114:"#87d787",115:"#87d7af",116:"#87d7d7",117:"#87d7ff",118:"#87ff00",119:"#87ff5f",120:"#87ff87",121:"#87ffaf",122:"#87ffd7",123:"#87ffff",124:"#af0000",125:"#af005f",126:"#af0087",127:"#af00af",128:"#af00d7",129:"#af00ff",130:"#af5f00",131:"#af5f5f",132:"#af5f87",133:"#af5faf",134:"#af5fd7",135:"#af5fff",136:"#af8700",137:"#af875f",138:"#af8787",139:"#af87af",140:"#af87d7",141:"#af87ff",142:"#afaf00",143:"#afaf5f",144:"#afaf87",145:"#afafaf",146:"#afafd7",147:"#afafff",148:"#afd700",149:"#afd75f",150:"#afd787",151:"#afd7af",152:"#afd7d7",153:"#afd7ff",154:"#afff00",155:"#afff5f",156:"#afff87",157:"#afffaf",158:"#afffd7",159:"#afffff",160:"#d70000",161:"#d7005f",162:"#d70087",163:"#d700af",164:"#d700d7",165:"#d700ff",166:"#d75f00",167:"#d75f5f",168:"#d75f87",169:"#d75faf",170:"#d75fd7",171:"#d75fff",172:"#d78700",173:"#d7875f",174:"#d78787",175:"#d787af",176:"#d787d7",177:"#d787ff",178:"#d7af00",179:"#d7af5f",180:"#d7af87",181:"#d7afaf",182:"#d7afd7",183:"#d7afff",184:"#d7d700",185:"#d7d75f",186:"#d7d787",187:"#d7d7af",188:"#d7d7d7",189:"#d7d7ff",190:"#d7ff00",191:"#d7ff5f",192:"#d7ff87",193:"#d7ffaf",194:"#d7ffd7",195:"#d7ffff",196:"#ff0000",197:"#ff005f",198:"#ff0087",199:"#ff00af",200:"#ff00d7",201:"#ff00ff",202:"#ff5f00",203:"#ff5f5f",204:"#ff5f87",205:"#ff5faf",206:"#ff5fd7",207:"#ff5fff",208:"#ff8700",209:"#ff875f",210:"#ff8787",211:"#ff87af",212:"#ff87d7",213:"#ff87ff",214:"#ffaf00",215:"#ffaf5f",216:"#ffaf87",217:"#ffafaf",218:"#ffafd7",219:"#ffafff",220:"#ffd700",221:"#ffd75f",222:"#ffd787",223:"#ffd7af",224:"#ffd7d7",225:"#ffd7ff",226:"#ffff00",227:"#ffff5f",228:"#ffff87",229:"#ffffaf",230:"#ffffd7",231:"#ffffff",232:"#080808",233:"#121212",234:"#1c1c1c",235:"#262626",236:"#303030",237:"#3a3a3a",238:"#444444",239:"#4e4e4e",240:"#585858",241:"#626262",242:"#6c6c6c",243:"#767676",244:"#808080",245:"#8a8a8a",246:"#949494",247:"#9e9e9e",248:"#a8a8a8",249:"#b2b2b2",250:"#bcbcbc",251:"#c6c6c6",252:"#d0d0d0",253:"#dadada",254:"#e4e4e4",255:"#eeeeee"};var l={bold:"font-weight: bold;",dim:"opacity: 0.5;",hidden:"visibility: hidden;",inverse:"background-color: currentColor; color: background-color;",italic:"font-style: italic;",overline:"text-decoration: overline;",reset:"color: inherit",strike:"text-decoration: line-through;",strikethrough:"text-decoration: line-through;",underline:"text-decoration: underline;",visible:"opacity: 0;"},g={bgBlack:"background-color: black; color: white;",bgBlackBright:"background-color: #666; color: white;",bgBlue:"background-color: blue; color: white;",bgBlueBright:"background-color: #55f; color: white;",bgCyan:"background-color: cyan; color: black;",bgCyanBright:"background-color: #5ff; color: black;",bgGray:"background-color: #666; color: white;",bgGreen:"background-color: green; color: white;",bgGreenBright:"background-color: #5f5; color: white;",bgGrey:"background-color: #666; color: white;",bgMagenta:"background-color: magenta; color: white;",bgMagentaBright:"background-color: #f5f; color: white;",bgRed:"background-color: red; color: white;",bgRedBright:"background-color: #f55; color: white;",bgWhite:"background-color: white; color: black;",bgWhiteBright:"background-color: #eee; color: black;",bgYellow:"background-color: yellow; color: black;",bgYellowBright:"background-color: #ff5; color: black;",black:"color: black;",blackBright:"color: #666;",blue:"color: blue;",blueBright:"color: #55f;",cyan:"color: cyan;",cyanBright:"color: #5ff;",gray:"color: #666;",green:"color: green;",greenBright:"color: #5f5;",grey:"color: #666;",magenta:"color: magenta;",magentaBright:"color: #f5f;",red:"color: red;",redBright:"color: #f55;",white:"color: white;",whiteBright:"color: #eee;",yellow:"color: yellow;",yellowBright:"color: #ff5;"},d={bg:f=>"background-color: "+c[f]+";",bgHex:f=>"background-color: "+f+";",bgRgb:(f,r,o)=>"background-color: rgb("+f+","+r+","+o+");",fg:f=>"color: "+c[f]+";",hex:f=>"color:"+f+";",rgb:(f,r,o)=>"color: rgb("+f+","+r+","+o+");"};var a={},b=null,k=f=>{let r={};return f.replaceAll(/(?<=^|;)\s*([^:]+)\s*:\s*([^;]+)\s*/g,(o,t,e)=>r[t]=e),r},y=({props:f},r)=>{let o=r;if(f?.cssStack){let e=k(r),n=k(f.cssStack);for(let i in n)e[i]===void 0&&(e[i]=n[i]);o=JSON.stringify(e).replace(/["{}]/g,"").replace(/,/g,";")+";";}let t=(e,...n)=>{if(!e)return [];if(typeof e=="string"&&e.includes("%c")){let s=e.match(/(?<=,).*;/g);return ["%c"+e.replace(/,.*;/g,""),t.css,...s??[]]}if(typeof e=="number"||typeof e=="string")return ["%c"+e,t.css];if(e.raw!==null&&Array.isArray(n)&&n.length>0){let s=String.raw(e,...n),p=s.match(/(?<=,).*;/g);return ["%c"+s.replace(/,.*;/g,""),t.css,...(p??[]).join("").split(",").filter(Boolean)]}let[i,...h]=e;return h.unshift(t.css),[((i+"").includes("%c")?"":"%c")+(i+""),h.join("")]};return Object.setPrototypeOf(t,b),t.props={css:r,cssStack:o,props:f},t.css=o,t},B=function(){let f=r=>r+"";f.strip=r=>r;for(let r in g)a[r]={get(){let o=y(this,g[r]);return Object.defineProperty(this,r,{value:o}),o}};for(let r in l)a[r]={get(){let o=y(this,l[r]);return Object.defineProperty(this,r,{value:o}),o}};return b=Object.defineProperties({},a),Object.setPrototypeOf(f,b),f};for(let f in d)a[f]={get(){return (...r)=>y(this,d[f](...r))}};a.ansi256=a.fg;a.bgAnsi256=a.bg;var u=B;var m=new u,j=m,{ansi256:O,bg:P,bgAnsi256:M,bgBlack:v,bgBlackBright:T,bgBlue:W,bgBlueBright:G,bgCyan:L,bgCyanBright:H,bgGray:Y,bgGreen:q,bgGreenBright:I,bgGrey:N,bgHex:J,bgMagenta:D,bgMagentaBright:E,bgRed:F,bgRedBright:K,bgRgb:Q,bgWhite:U,bgWhiteBright:X,bgYellow:Z,bgYellowBright:$,black:V,blackBright:_,blue:ff,blueBright:rf,bold:ef,cyan:of,cyanBright:tf,dim:af,fg:nf,gray:sf,green:cf,greenBright:lf,grey:gf,hex:df,hidden:bf,inverse:yf,italic:uf,magenta:hf,magentaBright:pf,overline:kf,red:mf,redBright:Bf,reset:wf,rgb:Cf,strike:xf,strikethrough:Af,strip:Rf,underline:Sf,visible:zf,white:jf,whiteBright:Of,yellow:Pf,yellowBright:Mf}=m;
1
+ var s={0:"#000",1:"#800",2:"#080",3:"#880",4:"#008",5:"#808",6:"#088",7:"#ccc",8:"#444",9:"#f00",10:"#0f0",11:"#ff0",12:"#00f",13:"#f0f",14:"#0ff",15:"#fff",16:"#000",17:"#00005f",18:"#000087",19:"#0000af",20:"#0000d7",21:"#0000ff",22:"#005f00",23:"#005f5f",24:"#005f87",25:"#005faf",26:"#005fd7",27:"#005fff",28:"#008700",29:"#00875f",30:"#008787",31:"#0087af",32:"#0087d7",33:"#0087ff",34:"#00af00",35:"#00af5f",36:"#00af87",37:"#00afaf",38:"#00afd7",39:"#00afff",40:"#00d700",41:"#00d75f",42:"#00d787",43:"#00d7af",44:"#00d7d7",45:"#00d7ff",46:"#00ff00",47:"#00ff5f",48:"#00ff87",49:"#00ffaf",50:"#00ffd7",51:"#00ffff",52:"#5f0000",53:"#5f005f",54:"#5f0087",55:"#5f00af",56:"#5f00d7",57:"#5f00ff",58:"#5f5f00",59:"#5f5f5f",60:"#5f5f87",61:"#5f5faf",62:"#5f5fd7",63:"#5f5fff",64:"#5f8700",65:"#5f875f",66:"#5f8787",67:"#5f87af",68:"#5f87d7",69:"#5f87ff",70:"#5faf00",71:"#5faf5f",72:"#5faf87",73:"#5fafaf",74:"#5fafd7",75:"#5fafff",76:"#5fd700",77:"#5fd75f",78:"#5fd787",79:"#5fd7af",80:"#5fd7d7",81:"#5fd7ff",82:"#5fff00",83:"#5fff5f",84:"#5fff87",85:"#5fffaf",86:"#5fffd7",87:"#5fffff",88:"#870000",89:"#87005f",90:"#870087",91:"#8700af",92:"#8700d7",93:"#8700ff",94:"#875f00",95:"#875f5f",96:"#875f87",97:"#875faf",98:"#875fd7",99:"#875fff",100:"#878700",101:"#87875f",102:"#878787",103:"#8787af",104:"#8787d7",105:"#8787ff",106:"#87af00",107:"#87af5f",108:"#87af87",109:"#87afaf",110:"#87afd7",111:"#87afff",112:"#87d700",113:"#87d75f",114:"#87d787",115:"#87d7af",116:"#87d7d7",117:"#87d7ff",118:"#87ff00",119:"#87ff5f",120:"#87ff87",121:"#87ffaf",122:"#87ffd7",123:"#87ffff",124:"#af0000",125:"#af005f",126:"#af0087",127:"#af00af",128:"#af00d7",129:"#af00ff",130:"#af5f00",131:"#af5f5f",132:"#af5f87",133:"#af5faf",134:"#af5fd7",135:"#af5fff",136:"#af8700",137:"#af875f",138:"#af8787",139:"#af87af",140:"#af87d7",141:"#af87ff",142:"#afaf00",143:"#afaf5f",144:"#afaf87",145:"#afafaf",146:"#afafd7",147:"#afafff",148:"#afd700",149:"#afd75f",150:"#afd787",151:"#afd7af",152:"#afd7d7",153:"#afd7ff",154:"#afff00",155:"#afff5f",156:"#afff87",157:"#afffaf",158:"#afffd7",159:"#afffff",160:"#d70000",161:"#d7005f",162:"#d70087",163:"#d700af",164:"#d700d7",165:"#d700ff",166:"#d75f00",167:"#d75f5f",168:"#d75f87",169:"#d75faf",170:"#d75fd7",171:"#d75fff",172:"#d78700",173:"#d7875f",174:"#d78787",175:"#d787af",176:"#d787d7",177:"#d787ff",178:"#d7af00",179:"#d7af5f",180:"#d7af87",181:"#d7afaf",182:"#d7afd7",183:"#d7afff",184:"#d7d700",185:"#d7d75f",186:"#d7d787",187:"#d7d7af",188:"#d7d7d7",189:"#d7d7ff",190:"#d7ff00",191:"#d7ff5f",192:"#d7ff87",193:"#d7ffaf",194:"#d7ffd7",195:"#d7ffff",196:"#ff0000",197:"#ff005f",198:"#ff0087",199:"#ff00af",200:"#ff00d7",201:"#ff00ff",202:"#ff5f00",203:"#ff5f5f",204:"#ff5f87",205:"#ff5faf",206:"#ff5fd7",207:"#ff5fff",208:"#ff8700",209:"#ff875f",210:"#ff8787",211:"#ff87af",212:"#ff87d7",213:"#ff87ff",214:"#ffaf00",215:"#ffaf5f",216:"#ffaf87",217:"#ffafaf",218:"#ffafd7",219:"#ffafff",220:"#ffd700",221:"#ffd75f",222:"#ffd787",223:"#ffd7af",224:"#ffd7d7",225:"#ffd7ff",226:"#ffff00",227:"#ffff5f",228:"#ffff87",229:"#ffffaf",230:"#ffffd7",231:"#ffffff",232:"#080808",233:"#121212",234:"#1c1c1c",235:"#262626",236:"#303030",237:"#3a3a3a",238:"#444444",239:"#4e4e4e",240:"#585858",241:"#626262",242:"#6c6c6c",243:"#767676",244:"#808080",245:"#8a8a8a",246:"#949494",247:"#9e9e9e",248:"#a8a8a8",249:"#b2b2b2",250:"#bcbcbc",251:"#c6c6c6",252:"#d0d0d0",253:"#dadada",254:"#e4e4e4",255:"#eeeeee"};var l={bold:"font-weight: bold;",dim:"opacity: 0.5;",hidden:"visibility: hidden;",inverse:"background-color: currentColor; color: background-color;",italic:"font-style: italic;",overline:"text-decoration: overline;",reset:"color: inherit",strike:"text-decoration: line-through;",strikethrough:"text-decoration: line-through;",underline:"text-decoration: underline;",visible:"opacity: 0;"},g={bgBlack:"background-color: black; color: white;",bgBlackBright:"background-color: #666; color: white;",bgBlue:"background-color: blue; color: white;",bgBlueBright:"background-color: #55f; color: white;",bgCyan:"background-color: cyan; color: black;",bgCyanBright:"background-color: #5ff; color: black;",bgGray:"background-color: #666; color: white;",bgGreen:"background-color: green; color: white;",bgGreenBright:"background-color: #5f5; color: white;",bgGrey:"background-color: #666; color: white;",bgMagenta:"background-color: magenta; color: white;",bgMagentaBright:"background-color: #f5f; color: white;",bgRed:"background-color: red; color: white;",bgRedBright:"background-color: #f55; color: white;",bgWhite:"background-color: white; color: black;",bgWhiteBright:"background-color: #eee; color: black;",bgYellow:"background-color: yellow; color: black;",bgYellowBright:"background-color: #ff5; color: black;",black:"color: black;",blackBright:"color: #666;",blue:"color: blue;",blueBright:"color: #55f;",cyan:"color: cyan;",cyanBright:"color: #5ff;",gray:"color: #666;",green:"color: green;",greenBright:"color: #5f5;",grey:"color: #666;",magenta:"color: magenta;",magentaBright:"color: #f5f;",red:"color: red;",redBright:"color: #f55;",white:"color: white;",whiteBright:"color: #eee;",yellow:"color: yellow;",yellowBright:"color: #ff5;"},d={bg:f=>"background-color: "+s[f]+";",bgHex:f=>"background-color: "+f+";",bgRgb:(f,r,o)=>"background-color: rgb("+f+","+r+","+o+");",fg:f=>"color: "+s[f]+";",hex:f=>"color:"+f+";",rgb:(f,r,o)=>"color: rgb("+f+","+r+","+o+");"};var a={},b=null,k=f=>{let r={};return f.replace(/(?<=^|;)\s*([^:]+)\s*:\s*([^;]+)\s*/g,(o,t,e)=>(r[t]=e,e)),r},y=({props:f},r)=>{let o=r;if(f?.cssStack){let e=k(r),n=k(f.cssStack);for(let i in n)e[i]===void 0&&(e[i]=n[i]);o=JSON.stringify(e).replace(/["{}]/g,"").replace(/,/g,";")+";";}let t=(e,...n)=>{if(!e)return [];if(typeof e=="string"&&e.includes("%c")){let c=e.match(/(?<=,).*;/g);return ["%c"+e.replace(/,.*;/g,""),t.css,...c??[]]}if(typeof e=="number"||typeof e=="string")return ["%c"+e,t.css];if(e.raw!==null&&Array.isArray(n)&&n.length>0){let c=String.raw(e,...n),p=c.match(/(?<=,).*;/g);return ["%c"+c.replace(/,.*;/g,""),t.css,...(p??[]).join("").split(",").filter(Boolean)]}let[i,...u]=e;return u.unshift(t.css),[((i+"").includes("%c")?"":"%c")+(i+""),u.join("")]};return Object.setPrototypeOf(t,b),t.props={css:r,cssStack:o,props:f},t.css=o,t},B=function(){let f=r=>r+"";f.strip=r=>r;for(let r in g)a[r]={get(){let o=y(this,g[r]);return Object.defineProperty(this,r,{value:o}),o}};for(let r in l)a[r]={get(){let o=y(this,l[r]);return Object.defineProperty(this,r,{value:o}),o}};return b=Object.defineProperties({},a),Object.setPrototypeOf(f,b),f};for(let f in d)a[f]={get(){return (...r)=>y(this,d[f](...r))}};a.ansi256=a.fg;a.bgAnsi256=a.bg;var h=B;var m=new h,j=m,{ansi256:O,bg:P,bgAnsi256:M,bgBlack:W,bgBlackBright:v,bgBlue:G,bgBlueBright:T,bgCyan:H,bgCyanBright:L,bgGray:Y,bgGreen:q,bgGreenBright:I,bgGrey:J,bgHex:N,bgMagenta:_,bgMagentaBright:D,bgRed:E,bgRedBright:F,bgRgb:K,bgWhite:Q,bgWhiteBright:U,bgYellow:V,bgYellowBright:X,black:Z,blackBright:$,blue:ff,blueBright:rf,bold:ef,cyan:of,cyanBright:tf,dim:af,fg:nf,gray:cf,green:sf,greenBright:lf,grey:gf,hex:df,hidden:bf,inverse:yf,italic:hf,magenta:uf,magentaBright:pf,overline:kf,red:mf,redBright:Bf,reset:wf,rgb:Cf,strike:xf,strikethrough:Sf,strip:Af,underline:Rf,visible:zf,white:jf,whiteBright:Of,yellow:Pf,yellowBright:Mf}=m;
2
2
 
3
- export { u as Colorize, O as ansi256, P as bg, M as bgAnsi256, v as bgBlack, T as bgBlackBright, W as bgBlue, G as bgBlueBright, L as bgCyan, H as bgCyanBright, Y as bgGray, q as bgGreen, I as bgGreenBright, N as bgGrey, J as bgHex, D as bgMagenta, E as bgMagentaBright, F as bgRed, K as bgRedBright, Q as bgRgb, U as bgWhite, X as bgWhiteBright, Z as bgYellow, $ as bgYellowBright, V as black, _ as blackBright, ff as blue, rf as blueBright, ef as bold, of as cyan, tf as cyanBright, j as default, af as dim, nf as fg, sf as gray, cf as green, lf as greenBright, gf as grey, df as hex, bf as hidden, yf as inverse, uf as italic, hf as magenta, pf as magentaBright, kf as overline, mf as red, Bf as redBright, wf as reset, Cf as rgb, xf as strike, Af as strikethrough, Rf as strip, Sf as underline, zf as visible, jf as white, Of as whiteBright, Pf as yellow, Mf as yellowBright };
3
+ export { h as Colorize, O as ansi256, P as bg, M as bgAnsi256, W as bgBlack, v as bgBlackBright, G as bgBlue, T as bgBlueBright, H as bgCyan, L as bgCyanBright, Y as bgGray, q as bgGreen, I as bgGreenBright, J as bgGrey, N as bgHex, _ as bgMagenta, D as bgMagentaBright, E as bgRed, F as bgRedBright, K as bgRgb, Q as bgWhite, U as bgWhiteBright, V as bgYellow, X as bgYellowBright, Z as black, $ as blackBright, ff as blue, rf as blueBright, ef as bold, of as cyan, tf as cyanBright, j as default, af as dim, nf as fg, cf as gray, sf as green, lf as greenBright, gf as grey, df as hex, bf as hidden, yf as inverse, hf as italic, uf as magenta, pf as magentaBright, kf as overline, mf as red, Bf as redBright, wf as reset, Cf as rgb, xf as strike, Sf as strikethrough, Af as strip, Rf as underline, zf as visible, jf as white, Of as whiteBright, Pf as yellow, Mf as yellowBright };
4
4
  //# sourceMappingURL=out.js.map
5
5
  //# sourceMappingURL=index.browser.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.ts","../src/css-code.ts","../src/colorize.browser.ts","../src/index.browser.ts"],"names":["ansiCodeHexMap","baseStyles","baseColors","styleMethods","code","hex","r","g","b","styles","stylePrototype","cssStringToObject","css","cssObject","_","key","value","createStyle","props","cssStack","propertiesCssObject","style","input","values","collectedStyles","rawString","first","rest","WebColorize","self","string_","name","arguments_","colorize_browser_default","colorize","index_browser_default","ansi256","bg","bgAnsi256","bgBlack","bgBlackBright","bgBlue","bgBlueBright","bgCyan","bgCyanBright","bgGray","bgGreen","bgGreenBright","bgGrey","bgHex","bgMagenta","bgMagentaBright","bgRed","bgRedBright","bgRgb","bgWhite","bgWhiteBright","bgYellow","bgYellowBright","black","blackBright","blue","blueBright","bold","cyan","cyanBright","dim","fg","gray","green","greenBright","grey","hidden","inverse","italic","magenta","magentaBright","overline","red","redBright","reset","rgb","strike","strikethrough","strip","underline","visible","white","whiteBright","yellow","yellowBright"],"mappings":"AAyEO,IAAMA,EAAyC,CAClD,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,U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","sourcesContent":["/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Convert hex color string to RGB values.\n *\n * A hexadecimal color code can be 3 or 6 digits with an optional \"#\" prefix.\n *\n * The 3 digits specifies an RGB doublet data as a fully opaque color.\n * For example, \"#123\" specifies the color that is represented by \"#112233\".\n *\n * The 6 digits specifies a fully opaque color.\n * For example, \"#112233\".\n *\n * @param {string} hex A string that contains the hexadecimal RGB color representation.\n * @return {[number, number, number]} The red, green, blue values in range [0, 255] .\n */\nexport const hexToRgb = (hex: string): [number, number, number] => {\n let color: string = hex.replace(\"#\", \"\");\n\n if (color.length === 3) {\n color = (color[0] as string) + (color[0] as string) + (color[1] as string) + (color[1] as string) + (color[2] as string) + (color[2] as string);\n } else if (color.length !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n\n/**\n * Clamp a number within the inclusive range specified by min and max.\n * @note: The ternary operator is a tick quicker than Math.min(Math.max(num, min), max).\n */\nexport const clamp = (number_: number, min: number, max: number): number => (min > number_ ? min : number_ > max ? max : number_);\n\n/**\n * Replace all matched strings.\n * Note: this implementation is over 30% faster than String.replaceAll().\n */\nexport const stringReplaceAll = (string_: string, searchValue: string, replaceValue: string): string => {\n // visible style has empty open/close props\n if (searchValue === \"\") {\n return string_;\n }\n\n let pos = string_.indexOf(searchValue);\n if (pos < 0) {\n return string_;\n }\n\n const substringLength = searchValue.length;\n let lastPos = 0;\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-bitwise\n while (~pos) {\n result += string_.slice(lastPos, pos) + replaceValue;\n lastPos = pos + substringLength;\n pos = string_.indexOf(searchValue, lastPos);\n }\n\n return result + string_.slice(lastPos);\n};\n\nexport const ansiCodeHexMap: Record<number, string> = {\n 0: \"#000\",\n 1: \"#800\",\n 2: \"#080\",\n 3: \"#880\",\n 4: \"#008\",\n 5: \"#808\",\n 6: \"#088\",\n 7: \"#ccc\",\n 8: \"#444\",\n 9: \"#f00\",\n 10: \"#0f0\",\n 11: \"#ff0\",\n 12: \"#00f\",\n 13: \"#f0f\",\n 14: \"#0ff\",\n 15: \"#fff\",\n 16: \"#000\",\n 17: \"#00005f\",\n 18: \"#000087\",\n 19: \"#0000af\",\n 20: \"#0000d7\",\n 21: \"#0000ff\",\n 22: \"#005f00\",\n 23: \"#005f5f\",\n 24: \"#005f87\",\n 25: \"#005faf\",\n 26: \"#005fd7\",\n 27: \"#005fff\",\n 28: \"#008700\",\n 29: \"#00875f\",\n 30: \"#008787\",\n 31: \"#0087af\",\n 32: \"#0087d7\",\n 33: \"#0087ff\",\n 34: \"#00af00\",\n 35: \"#00af5f\",\n 36: \"#00af87\",\n 37: \"#00afaf\",\n 38: \"#00afd7\",\n 39: \"#00afff\",\n 40: \"#00d700\",\n 41: \"#00d75f\",\n 42: \"#00d787\",\n 43: \"#00d7af\",\n 44: \"#00d7d7\",\n 45: \"#00d7ff\",\n 46: \"#00ff00\",\n 47: \"#00ff5f\",\n 48: \"#00ff87\",\n 49: \"#00ffaf\",\n 50: \"#00ffd7\",\n 51: \"#00ffff\",\n 52: \"#5f0000\",\n 53: \"#5f005f\",\n 54: \"#5f0087\",\n 55: \"#5f00af\",\n 56: \"#5f00d7\",\n 57: \"#5f00ff\",\n 58: \"#5f5f00\",\n 59: \"#5f5f5f\",\n 60: \"#5f5f87\",\n 61: \"#5f5faf\",\n 62: \"#5f5fd7\",\n 63: \"#5f5fff\",\n 64: \"#5f8700\",\n 65: \"#5f875f\",\n 66: \"#5f8787\",\n 67: \"#5f87af\",\n 68: \"#5f87d7\",\n 69: \"#5f87ff\",\n 70: \"#5faf00\",\n 71: \"#5faf5f\",\n 72: \"#5faf87\",\n 73: \"#5fafaf\",\n 74: \"#5fafd7\",\n 75: \"#5fafff\",\n 76: \"#5fd700\",\n 77: \"#5fd75f\",\n 78: \"#5fd787\",\n 79: \"#5fd7af\",\n 80: \"#5fd7d7\",\n 81: \"#5fd7ff\",\n 82: \"#5fff00\",\n 83: \"#5fff5f\",\n 84: \"#5fff87\",\n 85: \"#5fffaf\",\n 86: \"#5fffd7\",\n 87: \"#5fffff\",\n 88: \"#870000\",\n 89: \"#87005f\",\n 90: \"#870087\",\n 91: \"#8700af\",\n 92: \"#8700d7\",\n 93: \"#8700ff\",\n 94: \"#875f00\",\n 95: \"#875f5f\",\n 96: \"#875f87\",\n 97: \"#875faf\",\n 98: \"#875fd7\",\n 99: \"#875fff\",\n 100: \"#878700\",\n 101: \"#87875f\",\n 102: \"#878787\",\n 103: \"#8787af\",\n 104: \"#8787d7\",\n 105: \"#8787ff\",\n 106: \"#87af00\",\n 107: \"#87af5f\",\n 108: \"#87af87\",\n 109: \"#87afaf\",\n 110: \"#87afd7\",\n 111: \"#87afff\",\n 112: \"#87d700\",\n 113: \"#87d75f\",\n 114: \"#87d787\",\n 115: \"#87d7af\",\n 116: \"#87d7d7\",\n 117: \"#87d7ff\",\n 118: \"#87ff00\",\n 119: \"#87ff5f\",\n 120: \"#87ff87\",\n 121: \"#87ffaf\",\n 122: \"#87ffd7\",\n 123: \"#87ffff\",\n 124: \"#af0000\",\n 125: \"#af005f\",\n 126: \"#af0087\",\n 127: \"#af00af\",\n 128: \"#af00d7\",\n 129: \"#af00ff\",\n 130: \"#af5f00\",\n 131: \"#af5f5f\",\n 132: \"#af5f87\",\n 133: \"#af5faf\",\n 134: \"#af5fd7\",\n 135: \"#af5fff\",\n 136: \"#af8700\",\n 137: \"#af875f\",\n 138: \"#af8787\",\n 139: \"#af87af\",\n 140: \"#af87d7\",\n 141: \"#af87ff\",\n 142: \"#afaf00\",\n 143: \"#afaf5f\",\n 144: \"#afaf87\",\n 145: \"#afafaf\",\n 146: \"#afafd7\",\n 147: \"#afafff\",\n 148: \"#afd700\",\n 149: \"#afd75f\",\n 150: \"#afd787\",\n 151: \"#afd7af\",\n 152: \"#afd7d7\",\n 153: \"#afd7ff\",\n 154: \"#afff00\",\n 155: \"#afff5f\",\n 156: \"#afff87\",\n 157: \"#afffaf\",\n 158: \"#afffd7\",\n 159: \"#afffff\",\n 160: \"#d70000\",\n 161: \"#d7005f\",\n 162: \"#d70087\",\n 163: \"#d700af\",\n 164: \"#d700d7\",\n 165: \"#d700ff\",\n 166: \"#d75f00\",\n 167: \"#d75f5f\",\n 168: \"#d75f87\",\n 169: \"#d75faf\",\n 170: \"#d75fd7\",\n 171: \"#d75fff\",\n 172: \"#d78700\",\n 173: \"#d7875f\",\n 174: \"#d78787\",\n 175: \"#d787af\",\n 176: \"#d787d7\",\n 177: \"#d787ff\",\n 178: \"#d7af00\",\n 179: \"#d7af5f\",\n 180: \"#d7af87\",\n 181: \"#d7afaf\",\n 182: \"#d7afd7\",\n 183: \"#d7afff\",\n 184: \"#d7d700\",\n 185: \"#d7d75f\",\n 186: \"#d7d787\",\n 187: \"#d7d7af\",\n 188: \"#d7d7d7\",\n 189: \"#d7d7ff\",\n 190: \"#d7ff00\",\n 191: \"#d7ff5f\",\n 192: \"#d7ff87\",\n 193: \"#d7ffaf\",\n 194: \"#d7ffd7\",\n 195: \"#d7ffff\",\n 196: \"#ff0000\",\n 197: \"#ff005f\",\n 198: \"#ff0087\",\n 199: \"#ff00af\",\n 200: \"#ff00d7\",\n 201: \"#ff00ff\",\n 202: \"#ff5f00\",\n 203: \"#ff5f5f\",\n 204: \"#ff5f87\",\n 205: \"#ff5faf\",\n 206: \"#ff5fd7\",\n 207: \"#ff5fff\",\n 208: \"#ff8700\",\n 209: \"#ff875f\",\n 210: \"#ff8787\",\n 211: \"#ff87af\",\n 212: \"#ff87d7\",\n 213: \"#ff87ff\",\n 214: \"#ffaf00\",\n 215: \"#ffaf5f\",\n 216: \"#ffaf87\",\n 217: \"#ffafaf\",\n 218: \"#ffafd7\",\n 219: \"#ffafff\",\n 220: \"#ffd700\",\n 221: \"#ffd75f\",\n 222: \"#ffd787\",\n 223: \"#ffd7af\",\n 224: \"#ffd7d7\",\n 225: \"#ffd7ff\",\n 226: \"#ffff00\",\n 227: \"#ffff5f\",\n 228: \"#ffff87\",\n 229: \"#ffffaf\",\n 230: \"#ffffd7\",\n 231: \"#ffffff\",\n 232: \"#080808\",\n 233: \"#121212\",\n 234: \"#1c1c1c\",\n 235: \"#262626\",\n 236: \"#303030\",\n 237: \"#3a3a3a\",\n 238: \"#444444\",\n 239: \"#4e4e4e\",\n 240: \"#585858\",\n 241: \"#626262\",\n 242: \"#6c6c6c\",\n 243: \"#767676\",\n 244: \"#808080\",\n 245: \"#8a8a8a\",\n 246: \"#949494\",\n 247: \"#9e9e9e\",\n 248: \"#a8a8a8\",\n 249: \"#b2b2b2\",\n 250: \"#bcbcbc\",\n 251: \"#c6c6c6\",\n 252: \"#d0d0d0\",\n 253: \"#dadada\",\n 254: \"#e4e4e4\",\n 255: \"#eeeeee\",\n};\n","import type { AnsiColors, AnsiStyles } from \"./types\";\nimport { ansiCodeHexMap } from \"./utils\";\n\nexport const baseStyles: Required<Record<AnsiStyles, string>> = {\n bold: \"font-weight: bold;\",\n dim: \"opacity: 0.5;\",\n hidden: \"visibility: hidden;\",\n inverse: \"background-color: currentColor; color: background-color;\",\n italic: \"font-style: italic;\",\n overline: \"text-decoration: overline;\",\n reset: \"color: inherit\",\n strike: \"text-decoration: line-through;\",\n strikethrough: \"text-decoration: line-through;\",\n underline: \"text-decoration: underline;\",\n visible: \"opacity: 0;\",\n};\n\nexport const baseColors: Required<Record<AnsiColors, string>> = {\n bgBlack: \"background-color: black; color: white;\",\n bgBlackBright: \"background-color: #666; color: white;\",\n bgBlue: \"background-color: blue; color: white;\",\n bgBlueBright: \"background-color: #55f; color: white;\",\n bgCyan: \"background-color: cyan; color: black;\",\n bgCyanBright: \"background-color: #5ff; color: black;\",\n bgGray: \"background-color: #666; color: white;\", // US spelling alias for bgBlackBright\n bgGreen: \"background-color: green; color: white;\",\n bgGreenBright: \"background-color: #5f5; color: white;\",\n bgGrey: \"background-color: #666; color: white;\", // UK spelling alias for bgBlackBright\n bgMagenta: \"background-color: magenta; color: white;\",\n bgMagentaBright: \"background-color: #f5f; color: white;\",\n bgRed: \"background-color: red; color: white;\",\n bgRedBright: \"background-color: #f55; color: white;\",\n bgWhite: \"background-color: white; color: black;\",\n bgWhiteBright: \"background-color: #eee; color: black;\",\n bgYellow: \"background-color: yellow; color: black;\",\n bgYellowBright: \"background-color: #ff5; color: black;\",\n black: \"color: black;\",\n blackBright: \"color: #666;\",\n blue: \"color: blue;\",\n blueBright: \"color: #55f;\",\n cyan: \"color: cyan;\",\n cyanBright: \"color: #5ff;\",\n gray: \"color: #666;\", // US spelling alias for blackBright\n green: \"color: green;\",\n greenBright: \"color: #5f5;\",\n grey: \"color: #666;\", // UK spelling alias for blackBright\n magenta: \"color: magenta;\",\n magentaBright: \"color: #f5f;\",\n red: \"color: red;\",\n redBright: \"color: #f55;\",\n white: \"color: white;\",\n whiteBright: \"color: #eee;\",\n yellow: \"color: yellow;\",\n yellowBright: \"color: #ff5;\",\n};\n\nexport const styleMethods: {\n bg: (code: number) => string;\n bgHex: (hex: string) => string;\n bgRgb: (r: number, g: number, b: number) => string;\n fg: (code: number) => string;\n hex: (hex: string) => string;\n rgb: (r: number, g: number, b: number) => string;\n} = {\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-unsafe-member-access\n bg: (code: number) => \"background-color: \" + ansiCodeHexMap[code] + \";\",\n bgHex: (hex: string) => \"background-color: \" + hex + \";\",\n bgRgb: (r: number, g: number, b: number) => \"background-color: rgb(\" + r + \",\" + g + \",\" + b + \");\",\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-unsafe-member-access\n fg: (code: number) => \"color: \" + ansiCodeHexMap[code] + \";\",\n hex: (hex: string) => \"color:\" + hex + \";\",\n rgb: (r: number, g: number, b: number) => \"color: rgb(\" + r + \",\" + g + \",\" + b + \");\",\n};\n","import { baseColors, baseStyles, styleMethods } from \"./css-code\";\nimport type { ColorizeType } from \"./types\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst cssStringToObject = (css: string): Record<string, string> => {\n const cssObject: Record<string, string> = {};\n\n // eslint-disable-next-line regexp/no-super-linear-backtracking,regexp/optimal-quantifier-concatenation,security/detect-object-injection,no-return-assign\n css.replaceAll(/(?<=^|;)\\s*([^:]+)\\s*:\\s*([^;]+)\\s*/g, (_, key: string, value) => (cssObject[key] = value));\n\n return cssObject;\n};\n\ntype ColorizeProperties = { css: string; cssStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n css: string,\n // eslint-disable-next-line sonarjs/cognitive-complexity\n): { (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string[] | \"\"; css: string; props: ColorizeProperties } => {\n let cssStack = css;\n\n if (props?.cssStack) {\n const cssObject = cssStringToObject(css);\n const propertiesCssObject = cssStringToObject(props.cssStack);\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const key in propertiesCssObject) {\n // eslint-disable-next-line security/detect-object-injection\n if (cssObject[key] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n cssObject[key] = propertiesCssObject[key] as string;\n }\n }\n\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n cssStack = JSON.stringify(cssObject).replace(/[\"{}]/g, \"\").replace(/,/g, \";\") + \";\";\n }\n\n const style = (\n input: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n ...values: string[]\n ): string[] => {\n if (!input) {\n return [];\n }\n\n if (typeof input === \"string\" && input.includes(\"%c\")) {\n const collectedStyles = input.match(/(?<=,).*;/g);\n\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n const inputWithoutStyles = input.replace(/,.*;/g, \"\");\n\n return [\"%c\" + inputWithoutStyles, style.css, ...(collectedStyles ?? [])];\n }\n\n if (typeof input === \"number\" || typeof input === \"string\") {\n return [\"%c\" + input, style.css];\n }\n\n if ((input as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw !== null && Array.isArray(values) && values.length > 0) {\n const rawString = String.raw(input as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n const collectedStyles = rawString.match(/(?<=,).*;/g);\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n const inputWithoutStyles = rawString.replace(/,.*;/g, \"\");\n\n return [\"%c\" + inputWithoutStyles, style.css, ...(collectedStyles ?? []).join(\"\").split(\",\").filter(Boolean)];\n }\n\n const [first, ...rest] = input as string[];\n\n rest.unshift(style.css);\n\n return [((first + \"\").includes(\"%c\") ? \"\" : \"%c\") + (first + \"\"), rest.join(\"\")];\n };\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { css, cssStack, props } as ColorizeProperties;\n style.css = cssStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst WebColorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value;\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default WebColorize;\n","import ColorizeImpl from \"./colorize.browser\";\nimport type { ColorizeType } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\n// eslint-disable-next-line import/no-default-export\nexport default colorize as ColorizeType;\n\n// eslint-disable-next-line import/no-unused-modules\nexport const {\n ansi256,\n bg,\n bgAnsi256,\n bgBlack,\n bgBlackBright,\n bgBlue,\n bgBlueBright,\n bgCyan,\n bgCyanBright,\n bgGray,\n bgGreen,\n bgGreenBright,\n bgGrey,\n bgHex,\n bgMagenta,\n bgMagentaBright,\n bgRed,\n bgRedBright,\n bgRgb,\n bgWhite,\n bgWhiteBright,\n bgYellow,\n bgYellowBright,\n black,\n blackBright,\n blue,\n blueBright,\n bold,\n cyan,\n cyanBright,\n dim,\n fg,\n gray,\n green,\n greenBright,\n grey,\n hex,\n hidden,\n inverse,\n italic,\n magenta,\n magentaBright,\n overline,\n red,\n redBright,\n reset,\n rgb,\n strike,\n strikethrough,\n strip,\n underline,\n visible,\n white,\n whiteBright,\n yellow,\n yellowBright,\n} = colorize;\n\nexport { default as Colorize } from \"./colorize.browser\";\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
1
+ {"version":3,"sources":["../src/util/ansi-code-hex-map.ts","../src/css-code.ts","../src/colorize.browser.ts","../src/index.browser.ts"],"names":["ansiCodeHexMap","baseStyles","baseColors","styleMethods","code","hex","r","g","b","styles","stylePrototype","cssStringToObject","css","cssObject","_","key","value","createStyle","props","cssStack","propertiesCssObject","style","input","values","collectedStyles","rawString","first","rest","WebColorize","self","string_","name","arguments_","colorize_browser_default","colorize","index_browser_default","ansi256","bg","bgAnsi256","bgBlack","bgBlackBright","bgBlue","bgBlueBright","bgCyan","bgCyanBright","bgGray","bgGreen","bgGreenBright","bgGrey","bgHex","bgMagenta","bgMagentaBright","bgRed","bgRedBright","bgRgb","bgWhite","bgWhiteBright","bgYellow","bgYellowBright","black","blackBright","blue","blueBright","bold","cyan","cyanBright","dim","fg","gray","green","greenBright","grey","hidden","inverse","italic","magenta","magentaBright","overline","red","redBright","reset","rgb","strike","strikethrough","strip","underline","visible","white","whiteBright","yellow","yellowBright"],"mappings":"AAQO,IAAMA,EAAyC,CAClD,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UA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","sourcesContent":["/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nexport const ansiCodeHexMap: Record<number, string> = {\n 0: \"#000\",\n 1: \"#800\",\n 2: \"#080\",\n 3: \"#880\",\n 4: \"#008\",\n 5: \"#808\",\n 6: \"#088\",\n 7: \"#ccc\",\n 8: \"#444\",\n 9: \"#f00\",\n 10: \"#0f0\",\n 11: \"#ff0\",\n 12: \"#00f\",\n 13: \"#f0f\",\n 14: \"#0ff\",\n 15: \"#fff\",\n 16: \"#000\",\n 17: \"#00005f\",\n 18: \"#000087\",\n 19: \"#0000af\",\n 20: \"#0000d7\",\n 21: \"#0000ff\",\n 22: \"#005f00\",\n 23: \"#005f5f\",\n 24: \"#005f87\",\n 25: \"#005faf\",\n 26: \"#005fd7\",\n 27: \"#005fff\",\n 28: \"#008700\",\n 29: \"#00875f\",\n 30: \"#008787\",\n 31: \"#0087af\",\n 32: \"#0087d7\",\n 33: \"#0087ff\",\n 34: \"#00af00\",\n 35: \"#00af5f\",\n 36: \"#00af87\",\n 37: \"#00afaf\",\n 38: \"#00afd7\",\n 39: \"#00afff\",\n 40: \"#00d700\",\n 41: \"#00d75f\",\n 42: \"#00d787\",\n 43: \"#00d7af\",\n 44: \"#00d7d7\",\n 45: \"#00d7ff\",\n 46: \"#00ff00\",\n 47: \"#00ff5f\",\n 48: \"#00ff87\",\n 49: \"#00ffaf\",\n 50: \"#00ffd7\",\n 51: \"#00ffff\",\n 52: \"#5f0000\",\n 53: \"#5f005f\",\n 54: \"#5f0087\",\n 55: \"#5f00af\",\n 56: \"#5f00d7\",\n 57: \"#5f00ff\",\n 58: \"#5f5f00\",\n 59: \"#5f5f5f\",\n 60: \"#5f5f87\",\n 61: \"#5f5faf\",\n 62: \"#5f5fd7\",\n 63: \"#5f5fff\",\n 64: \"#5f8700\",\n 65: \"#5f875f\",\n 66: \"#5f8787\",\n 67: \"#5f87af\",\n 68: \"#5f87d7\",\n 69: \"#5f87ff\",\n 70: \"#5faf00\",\n 71: \"#5faf5f\",\n 72: \"#5faf87\",\n 73: \"#5fafaf\",\n 74: \"#5fafd7\",\n 75: \"#5fafff\",\n 76: \"#5fd700\",\n 77: \"#5fd75f\",\n 78: \"#5fd787\",\n 79: \"#5fd7af\",\n 80: \"#5fd7d7\",\n 81: \"#5fd7ff\",\n 82: \"#5fff00\",\n 83: \"#5fff5f\",\n 84: \"#5fff87\",\n 85: \"#5fffaf\",\n 86: \"#5fffd7\",\n 87: \"#5fffff\",\n 88: \"#870000\",\n 89: \"#87005f\",\n 90: \"#870087\",\n 91: \"#8700af\",\n 92: \"#8700d7\",\n 93: \"#8700ff\",\n 94: \"#875f00\",\n 95: \"#875f5f\",\n 96: \"#875f87\",\n 97: \"#875faf\",\n 98: \"#875fd7\",\n 99: \"#875fff\",\n 100: \"#878700\",\n 101: \"#87875f\",\n 102: \"#878787\",\n 103: \"#8787af\",\n 104: \"#8787d7\",\n 105: \"#8787ff\",\n 106: \"#87af00\",\n 107: \"#87af5f\",\n 108: \"#87af87\",\n 109: \"#87afaf\",\n 110: \"#87afd7\",\n 111: \"#87afff\",\n 112: \"#87d700\",\n 113: \"#87d75f\",\n 114: \"#87d787\",\n 115: \"#87d7af\",\n 116: \"#87d7d7\",\n 117: \"#87d7ff\",\n 118: \"#87ff00\",\n 119: \"#87ff5f\",\n 120: \"#87ff87\",\n 121: \"#87ffaf\",\n 122: \"#87ffd7\",\n 123: \"#87ffff\",\n 124: \"#af0000\",\n 125: \"#af005f\",\n 126: \"#af0087\",\n 127: \"#af00af\",\n 128: \"#af00d7\",\n 129: \"#af00ff\",\n 130: \"#af5f00\",\n 131: \"#af5f5f\",\n 132: \"#af5f87\",\n 133: \"#af5faf\",\n 134: \"#af5fd7\",\n 135: \"#af5fff\",\n 136: \"#af8700\",\n 137: \"#af875f\",\n 138: \"#af8787\",\n 139: \"#af87af\",\n 140: \"#af87d7\",\n 141: \"#af87ff\",\n 142: \"#afaf00\",\n 143: \"#afaf5f\",\n 144: \"#afaf87\",\n 145: \"#afafaf\",\n 146: \"#afafd7\",\n 147: \"#afafff\",\n 148: \"#afd700\",\n 149: \"#afd75f\",\n 150: \"#afd787\",\n 151: \"#afd7af\",\n 152: \"#afd7d7\",\n 153: \"#afd7ff\",\n 154: \"#afff00\",\n 155: \"#afff5f\",\n 156: \"#afff87\",\n 157: \"#afffaf\",\n 158: \"#afffd7\",\n 159: \"#afffff\",\n 160: \"#d70000\",\n 161: \"#d7005f\",\n 162: \"#d70087\",\n 163: \"#d700af\",\n 164: \"#d700d7\",\n 165: \"#d700ff\",\n 166: \"#d75f00\",\n 167: \"#d75f5f\",\n 168: \"#d75f87\",\n 169: \"#d75faf\",\n 170: \"#d75fd7\",\n 171: \"#d75fff\",\n 172: \"#d78700\",\n 173: \"#d7875f\",\n 174: \"#d78787\",\n 175: \"#d787af\",\n 176: \"#d787d7\",\n 177: \"#d787ff\",\n 178: \"#d7af00\",\n 179: \"#d7af5f\",\n 180: \"#d7af87\",\n 181: \"#d7afaf\",\n 182: \"#d7afd7\",\n 183: \"#d7afff\",\n 184: \"#d7d700\",\n 185: \"#d7d75f\",\n 186: \"#d7d787\",\n 187: \"#d7d7af\",\n 188: \"#d7d7d7\",\n 189: \"#d7d7ff\",\n 190: \"#d7ff00\",\n 191: \"#d7ff5f\",\n 192: \"#d7ff87\",\n 193: \"#d7ffaf\",\n 194: \"#d7ffd7\",\n 195: \"#d7ffff\",\n 196: \"#ff0000\",\n 197: \"#ff005f\",\n 198: \"#ff0087\",\n 199: \"#ff00af\",\n 200: \"#ff00d7\",\n 201: \"#ff00ff\",\n 202: \"#ff5f00\",\n 203: \"#ff5f5f\",\n 204: \"#ff5f87\",\n 205: \"#ff5faf\",\n 206: \"#ff5fd7\",\n 207: \"#ff5fff\",\n 208: \"#ff8700\",\n 209: \"#ff875f\",\n 210: \"#ff8787\",\n 211: \"#ff87af\",\n 212: \"#ff87d7\",\n 213: \"#ff87ff\",\n 214: \"#ffaf00\",\n 215: \"#ffaf5f\",\n 216: \"#ffaf87\",\n 217: \"#ffafaf\",\n 218: \"#ffafd7\",\n 219: \"#ffafff\",\n 220: \"#ffd700\",\n 221: \"#ffd75f\",\n 222: \"#ffd787\",\n 223: \"#ffd7af\",\n 224: \"#ffd7d7\",\n 225: \"#ffd7ff\",\n 226: \"#ffff00\",\n 227: \"#ffff5f\",\n 228: \"#ffff87\",\n 229: \"#ffffaf\",\n 230: \"#ffffd7\",\n 231: \"#ffffff\",\n 232: \"#080808\",\n 233: \"#121212\",\n 234: \"#1c1c1c\",\n 235: \"#262626\",\n 236: \"#303030\",\n 237: \"#3a3a3a\",\n 238: \"#444444\",\n 239: \"#4e4e4e\",\n 240: \"#585858\",\n 241: \"#626262\",\n 242: \"#6c6c6c\",\n 243: \"#767676\",\n 244: \"#808080\",\n 245: \"#8a8a8a\",\n 246: \"#949494\",\n 247: \"#9e9e9e\",\n 248: \"#a8a8a8\",\n 249: \"#b2b2b2\",\n 250: \"#bcbcbc\",\n 251: \"#c6c6c6\",\n 252: \"#d0d0d0\",\n 253: \"#dadada\",\n 254: \"#e4e4e4\",\n 255: \"#eeeeee\",\n};\n","import type { AnsiColors, AnsiStyles } from \"./types\";\nimport { ansiCodeHexMap } from \"./util/ansi-code-hex-map\";\n\nexport const baseStyles: Required<Record<AnsiStyles, string>> = {\n bold: \"font-weight: bold;\",\n dim: \"opacity: 0.5;\",\n hidden: \"visibility: hidden;\",\n inverse: \"background-color: currentColor; color: background-color;\",\n italic: \"font-style: italic;\",\n overline: \"text-decoration: overline;\",\n reset: \"color: inherit\",\n strike: \"text-decoration: line-through;\",\n strikethrough: \"text-decoration: line-through;\",\n underline: \"text-decoration: underline;\",\n visible: \"opacity: 0;\",\n};\n\nexport const baseColors: Required<Record<AnsiColors, string>> = {\n bgBlack: \"background-color: black; color: white;\",\n bgBlackBright: \"background-color: #666; color: white;\",\n bgBlue: \"background-color: blue; color: white;\",\n bgBlueBright: \"background-color: #55f; color: white;\",\n bgCyan: \"background-color: cyan; color: black;\",\n bgCyanBright: \"background-color: #5ff; color: black;\",\n bgGray: \"background-color: #666; color: white;\", // US spelling alias for bgBlackBright\n bgGreen: \"background-color: green; color: white;\",\n bgGreenBright: \"background-color: #5f5; color: white;\",\n bgGrey: \"background-color: #666; color: white;\", // UK spelling alias for bgBlackBright\n bgMagenta: \"background-color: magenta; color: white;\",\n bgMagentaBright: \"background-color: #f5f; color: white;\",\n bgRed: \"background-color: red; color: white;\",\n bgRedBright: \"background-color: #f55; color: white;\",\n bgWhite: \"background-color: white; color: black;\",\n bgWhiteBright: \"background-color: #eee; color: black;\",\n bgYellow: \"background-color: yellow; color: black;\",\n bgYellowBright: \"background-color: #ff5; color: black;\",\n black: \"color: black;\",\n blackBright: \"color: #666;\",\n blue: \"color: blue;\",\n blueBright: \"color: #55f;\",\n cyan: \"color: cyan;\",\n cyanBright: \"color: #5ff;\",\n gray: \"color: #666;\", // US spelling alias for blackBright\n green: \"color: green;\",\n greenBright: \"color: #5f5;\",\n grey: \"color: #666;\", // UK spelling alias for blackBright\n magenta: \"color: magenta;\",\n magentaBright: \"color: #f5f;\",\n red: \"color: red;\",\n redBright: \"color: #f55;\",\n white: \"color: white;\",\n whiteBright: \"color: #eee;\",\n yellow: \"color: yellow;\",\n yellowBright: \"color: #ff5;\",\n};\n\nexport const styleMethods: {\n bg: (code: number) => string;\n bgHex: (hex: string) => string;\n bgRgb: (r: number, g: number, b: number) => string;\n fg: (code: number) => string;\n hex: (hex: string) => string;\n rgb: (r: number, g: number, b: number) => string;\n} = {\n // eslint-disable-next-line security/detect-object-injection\n bg: (code: number) => \"background-color: \" + ansiCodeHexMap[code] + \";\",\n bgHex: (hex: string) => \"background-color: \" + hex + \";\",\n bgRgb: (r: number, g: number, b: number) => \"background-color: rgb(\" + r + \",\" + g + \",\" + b + \");\",\n // eslint-disable-next-line security/detect-object-injection\n fg: (code: number) => \"color: \" + ansiCodeHexMap[code] + \";\",\n hex: (hex: string) => \"color:\" + hex + \";\",\n rgb: (r: number, g: number, b: number) => \"color: rgb(\" + r + \",\" + g + \",\" + b + \");\",\n};\n","import { baseColors, baseStyles, styleMethods } from \"./css-code\";\nimport type { ColorizeType } from \"./types\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst cssStringToObject = (css: string): Record<string, string> => {\n const cssObject: Record<string, string> = {};\n\n // eslint-disable-next-line regexp/no-super-linear-backtracking,regexp/optimal-quantifier-concatenation,unicorn/prefer-string-replace-all\n css.replace(/(?<=^|;)\\s*([^:]+)\\s*:\\s*([^;]+)\\s*/g, (_, key: string, value) => {\n // eslint-disable-next-line security/detect-object-injection\n cssObject[key] = value;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value;\n });\n\n return cssObject;\n};\n\ntype ColorizeProperties = { css: string; cssStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n css: string,\n // eslint-disable-next-line sonarjs/cognitive-complexity\n): { (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string[] | \"\"; css: string; props: ColorizeProperties } => {\n let cssStack = css;\n\n if (props?.cssStack) {\n const cssObject = cssStringToObject(css);\n const propertiesCssObject = cssStringToObject(props.cssStack);\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const key in propertiesCssObject) {\n // eslint-disable-next-line security/detect-object-injection\n if (cssObject[key] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n cssObject[key] = propertiesCssObject[key] as string;\n }\n }\n\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n cssStack = JSON.stringify(cssObject).replace(/[\"{}]/g, \"\").replace(/,/g, \";\") + \";\";\n }\n\n const style = (\n input: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n ...values: string[]\n ): string[] => {\n if (!input) {\n return [];\n }\n\n if (typeof input === \"string\" && input.includes(\"%c\")) {\n const collectedStyles = input.match(/(?<=,).*;/g);\n\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n const inputWithoutStyles = input.replace(/,.*;/g, \"\");\n\n return [\"%c\" + inputWithoutStyles, style.css, ...(collectedStyles ?? [])];\n }\n\n if (typeof input === \"number\" || typeof input === \"string\") {\n return [\"%c\" + input, style.css];\n }\n\n if ((input as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw !== null && Array.isArray(values) && values.length > 0) {\n const rawString = String.raw(input as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n const collectedStyles = rawString.match(/(?<=,).*;/g);\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n const inputWithoutStyles = rawString.replace(/,.*;/g, \"\");\n\n return [\"%c\" + inputWithoutStyles, style.css, ...(collectedStyles ?? []).join(\"\").split(\",\").filter(Boolean)];\n }\n\n const [first, ...rest] = input as string[];\n\n rest.unshift(style.css);\n\n return [((first + \"\").includes(\"%c\") ? \"\" : \"%c\") + (first + \"\"), rest.join(\"\")];\n };\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { css, cssStack, props } as ColorizeProperties;\n style.css = cssStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst WebColorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value;\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default WebColorize;\n","import ColorizeImpl from \"./colorize.browser\";\nimport type { ColorizeType } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\n// eslint-disable-next-line import/no-default-export\nexport default colorize as ColorizeType;\n\n// eslint-disable-next-line import/no-unused-modules\nexport const {\n ansi256,\n bg,\n bgAnsi256,\n bgBlack,\n bgBlackBright,\n bgBlue,\n bgBlueBright,\n bgCyan,\n bgCyanBright,\n bgGray,\n bgGreen,\n bgGreenBright,\n bgGrey,\n bgHex,\n bgMagenta,\n bgMagentaBright,\n bgRed,\n bgRedBright,\n bgRgb,\n bgWhite,\n bgWhiteBright,\n bgYellow,\n bgYellowBright,\n black,\n blackBright,\n blue,\n blueBright,\n bold,\n cyan,\n cyanBright,\n dim,\n fg,\n gray,\n green,\n greenBright,\n grey,\n hex,\n hidden,\n inverse,\n italic,\n magenta,\n magentaBright,\n overline,\n red,\n redBright,\n reset,\n rgb,\n strike,\n strikethrough,\n strip,\n underline,\n visible,\n white,\n whiteBright,\n yellow,\n yellowBright,\n} = colorize;\n\nexport { default as Colorize } from \"./colorize.browser\";\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var isAnsiColorSupported = require('@visulima/is-ansi-color-supported');
6
6
 
7
- function l({onlyFirst:f=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,f?void 0:"g")}var g=f=>{let r=f.replace("#","");if(r.length===3)r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2];else if(r.length!==6)return [0,0,0];let t=Number.parseInt(r,16);return [t>>16&255,t>>8&255,t&255]},s=(f,r,t)=>r>f?r:f>t?t:f,C=(f,r,t)=>{if(r==="")return f;let a=f.indexOf(r);if(a<0)return f;let n=r.length,o=0,d="";for(;~a;)d+=f.slice(o,a)+t,o=a+n,a=f.indexOf(r,o);return d+f.slice(o)};var e=isAnsiColorSupported.isColorSupported()>0?(f,r)=>({close:"\x1B["+r+"m",open:"\x1B["+f+"m"}):()=>({close:"",open:""}),x=f=>e("38;5;"+f,39),R=f=>e("48;5;"+f,49),h=(f,r,t)=>e("38;2;"+f+";"+r+";"+t,39),k=(f,r,t)=>e("48;2;"+f+";"+r+";"+t,49),c={bold:e(1,22),dim:e(2,22),hidden:e(8,28),inverse:e(7,27),italic:e(3,23),overline:e(53,55),reset:e(0,0),strike:e(9,29),strikethrough:e(9,29),underline:e(4,24),visible:{close:"",open:""}},b={bgBlack:e(40,49),bgBlackBright:e(100,49),bgBlue:e(44,49),bgBlueBright:e(104,49),bgCyan:e(46,49),bgCyanBright:e(106,49),bgGray:e(100,49),bgGreen:e(42,49),bgGreenBright:e(102,49),bgGrey:e(100,49),bgMagenta:e(45,49),bgMagentaBright:e(105,49),bgRed:e(41,49),bgRedBright:e(101,49),bgWhite:e(47,49),bgWhiteBright:e(107,49),bgYellow:e(43,49),bgYellowBright:e(103,49),black:e(30,39),blackBright:e(90,39),blue:e(34,39),blueBright:e(94,39),cyan:e(36,39),cyanBright:e(96,39),gray:e(90,39),green:e(32,39),greenBright:e(92,39),grey:e(90,39),magenta:e(35,39),magentaBright:e(95,39),red:e(31,39),redBright:e(91,39),white:e(37,39),whiteBright:e(97,39),yellow:e(33,39),yellowBright:e(93,39)},p={bg:f=>R(s(f,0,255)),bgHex:f=>k(...g(f)),bgRgb:(f,r,t)=>k(s(f,0,255),s(r,0,255),s(t,0,255)),fg:f=>x(s(f,0,255)),hex:f=>h(...g(f)),rgb:(f,r,t)=>h(s(f,0,255),s(r,0,255),s(t,0,255))};var i={},u=null,S=(f,r,t)=>{if(!f)return "";let a=f.raw==null?f+"":String.raw(f,...r);if(a.includes("\x1B"))for(let n=t;n;n=n.props)a=C(a,n.close,n.open);return a.includes(`
8
- `)&&(a=a.replace(/(\r*\n)/g,t.closeStack+"$1"+t.openStack)),t.openStack+a+t.closeStack},y=({props:f},{close:r,open:t})=>{let a=(f?.openStack??"")+t,n=r+(f?.closeStack??""),o=(d,...A)=>S(d,A,o.props);return Object.setPrototypeOf(o,u),o.props={close:r,closeStack:n,open:t,openStack:a,props:f},o.open=a,o.close=n,o},z=function(){let f=r=>r+"";f.strip=r=>r.replaceAll(l(),"");for(let r in b)i[r]={get(){let t=y(this,b[r]);return Object.defineProperty(this,r,{value:t}),t}};for(let r in c)i[r]={get(){let t=y(this,c[r]);return Object.defineProperty(this,r,{value:t}),t}};return u=Object.defineProperties({},i),Object.setPrototypeOf(f,u),f};for(let f in p)i[f]={get(){return (...r)=>y(this,p[f](...r))}};i.ansi256=i.fg;i.bgAnsi256=i.bg;var m=z;var D=new m,q=D,H=m;
7
+ function c({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var l=(e,t,o)=>t>e?t:e>o?o:e;var b=e=>{let t=e.replace("#","");if(t.length===3)t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2];else if(t.length!==6)return [0,0,0];let o=Number.parseInt(t,16);return [o>>16&255,o>>8&255,o&255]};var r=isAnsiColorSupported.isStdoutColorSupported()>0?(e,t)=>({close:"\x1B["+t+"m",open:"\x1B["+e+"m"}):()=>({close:"",open:""}),B=e=>r("38;5;"+e,39),R=e=>r("48;5;"+e,49),d=(e,t,o)=>r("38;2;"+e+";"+t+";"+o,39),h=(e,t,o)=>r("48;2;"+e+";"+t+";"+o,49),p={bold:r(1,22),dim:r(2,22),hidden:r(8,28),inverse:r(7,27),italic:r(3,23),overline:r(53,55),reset:r(0,0),strike:r(9,29),strikethrough:r(9,29),underline:r(4,24),visible:{close:"",open:""}},u={bgBlack:r(40,49),bgBlackBright:r(100,49),bgBlue:r(44,49),bgBlueBright:r(104,49),bgCyan:r(46,49),bgCyanBright:r(106,49),bgGray:r(100,49),bgGreen:r(42,49),bgGreenBright:r(102,49),bgGrey:r(100,49),bgMagenta:r(45,49),bgMagentaBright:r(105,49),bgRed:r(41,49),bgRedBright:r(101,49),bgWhite:r(47,49),bgWhiteBright:r(107,49),bgYellow:r(43,49),bgYellowBright:r(103,49),black:r(30,39),blackBright:r(90,39),blue:r(34,39),blueBright:r(94,39),cyan:r(36,39),cyanBright:r(96,39),gray:r(90,39),green:r(32,39),greenBright:r(92,39),grey:r(90,39),magenta:r(35,39),magentaBright:r(95,39),red:r(31,39),redBright:r(91,39),white:r(37,39),whiteBright:r(97,39),yellow:r(33,39),yellowBright:r(93,39)},y={bg:e=>R(l(e,0,255)),bgHex:e=>h(...b(e)),bgRgb:(e,t,o)=>h(l(e,0,255),l(t,0,255),l(o,0,255)),fg:e=>B(l(e,0,255)),hex:e=>d(...b(e)),rgb:(e,t,o)=>d(l(e,0,255),l(t,0,255),l(o,0,255))};var x=(e,t,o)=>{if(t==="")return e;let n=e.indexOf(t);if(n<0)return e;let i=t.length,s=0,g="";for(;~n;)g+=e.slice(s,n)+o,s=n+i,n=e.indexOf(t,s);return g+e.slice(s)};var a={},m=null,S=(e,t,o)=>{if(!e)return "";let n=e.raw==null?e+"":String.raw(e,...t);if(n.includes("\x1B"))for(let i=o;i;i=i.props)n=x(n,i.close,i.open);return n.includes(`
8
+ `)&&(n=n.replace(/(\r*\n)/g,o.closeStack+"$1"+o.openStack)),o.openStack+n+o.closeStack},f=({props:e},{close:t,open:o})=>{let n=(e?.openStack??"")+o,i=t+(e?.closeStack??""),s=(g,...k)=>S(g,k,s.props);return Object.setPrototypeOf(s,m),s.props={close:t,closeStack:i,open:o,openStack:n,props:e},s.open=n,s.close=i,s},z=function(){let e=t=>t+"";e.strip=t=>t.replaceAll(c(),"");for(let t in u)a[t]={get(){let o=f(this,u[t]);return Object.defineProperty(this,t,{value:o}),o}};for(let t in p)a[t]={get(){let o=f(this,p[t]);return Object.defineProperty(this,t,{value:o}),o}};return m=Object.defineProperties({},a),Object.setPrototypeOf(e,m),e};for(let e in y)a[e]={get(){return (...t)=>f(this,y[e](...t))}};a.ansi256=a.fg;a.bgAnsi256=a.bg;var C=z;var D=new C,V=D,W=C;
9
9
 
10
- module.exports = q;
11
- module.exports.Colorize = H;
10
+ module.exports = V;
11
+ module.exports.Colorize = W;
12
12
  //# sourceMappingURL=out.js.map
13
13
  //# sourceMappingURL=index.server.cjs.map