const p=(o=0)=>e=>`\x1B[${e+o}m`,B=(o=0)=>e=>`\x1B[${38+o};5;${e}m`,y=(o=0)=>(e,t,r)=>`\x1B[${38+o};2;${e};${t};${r}m`,l={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(l.modifier);const T=Object.keys(l.color),M=Object.keys(l.bgColor);[...T,...M];function w(){const o=new Map;for(const[e,t]of Object.entries(l)){for(const[r,n]of Object.entries(t))l[r]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},t[r]=l[r],o.set(n[0],n[1]);Object.defineProperty(l,e,{value:t,enumerable:!1})}return Object.defineProperty(l,"codes",{value:o,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",l.color.ansi=p(),l.color.ansi256=B(),l.color.ansi16m=y(),l.bgColor.ansi=p(10),l.bgColor.ansi256=B(10),l.bgColor.ansi16m=y(10),Object.defineProperties(l,{rgbToAnsi256:{value(e,t,r){return e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(s=>s+s).join(""));const n=Number.parseInt(r,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:e=>l.rgbToAnsi256(...l.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,n;if(e>=232)t=((e-232)*10+8)/255,r=t,n=t;else{e-=16;const v=e%36;t=Math.floor(e/36)/5,r=Math.floor(v/6)/5,n=v%6/5}const s=Math.max(t,r,n)*2;if(s===0)return 30;let a=30+(Math.round(n)<<2|Math.round(r)<<1|Math.round(t));return s===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>l.ansi256ToAnsi(l.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>l.ansi256ToAnsi(l.hexToAnsi256(e)),enumerable:!1}}),l}const i=w(),O=(()=>{if(navigator.userAgentData){const o=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(o&&o.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),x=O!==0&&{level:O},P={stdout:x,stderr:x};function k(o,e,t){let r=o.indexOf(e);if(r===-1)return o;const n=e.length;let s=0,a="";do a+=o.slice(s,r)+e+t,s=r+n,r=o.indexOf(e,s);while(r!==-1);return a+=o.slice(s),a}function R(o,e,t,r){let n=0,s="";do{const a=o[r-1]==="\r";s+=o.slice(n,a?r-1:r)+e+(a?`\r
`:`
`)+t,n=r+1,r=o.indexOf(`
`,n)}while(r!==-1);return s+=o.slice(n),s}const{stdout:A,stderr:j}=P,f=Symbol("GENERATOR"),c=Symbol("STYLER"),g=Symbol("IS_EMPTY"),C=["ansi","ansi","ansi256","ansi16m"],u=Object.create(null),$=(o,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const t=A?A.level:0;o.level=e.level===void 0?t:e.level},S=o=>{const e=(...t)=>t.join(" ");return $(e,o),Object.setPrototypeOf(e,b.prototype),e};function b(o){return S(o)}Object.setPrototypeOf(b.prototype,Function.prototype);for(const[o,e]of Object.entries(i))u[o]={get(){const t=h(this,m(e.open,e.close,this[c]),this[g]);return Object.defineProperty(this,o,{value:t}),t}};u.visible={get(){const o=h(this,this[c],!0);return Object.defineProperty(this,"visible",{value:o}),o}};const d=(o,e,t,...r)=>o==="rgb"?e==="ansi16m"?i[t].ansi16m(...r):e==="ansi256"?i[t].ansi256(i.rgbToAnsi256(...r)):i[t].ansi(i.rgbToAnsi(...r)):o==="hex"?d("rgb",e,t,...i.hexToRgb(...r)):i[t][o](...r),E=["rgb","hex","ansi256"];for(const o of E){u[o]={get(){const{level:t}=this;return function(...r){const n=m(d(o,C[t],"color",...r),i.color.close,this[c]);return h(this,n,this[g])}}};const e="bg"+o[0].toUpperCase()+o.slice(1);u[e]={get(){const{level:t}=this;return function(...r){const n=m(d(o,C[t],"bgColor",...r),i.bgColor.close,this[c]);return h(this,n,this[g])}}}}const G=Object.defineProperties(()=>{},{...u,level:{enumerable:!0,get(){return this[f].level},set(o){this[f].level=o}}}),m=(o,e,t)=>{let r,n;return t===void 0?(r=o,n=e):(r=t.openAll+o,n=e+t.closeAll),{open:o,close:e,openAll:r,closeAll:n,parent:t}},h=(o,e,t)=>{const r=(...n)=>N(r,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(r,G),r[f]=o,r[c]=e,r[g]=t,r},N=(o,e)=>{if(o.level<=0||!e)return o[g]?"":e;let t=o[c];if(t===void 0)return e;const{openAll:r,closeAll:n}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=k(e,t.close,t.open),t=t.parent;const s=e.indexOf(`
`);return s!==-1&&(e=R(e,n,r,s)),r+e+n};Object.defineProperties(b.prototype,u);const I=b();b({level:j?j.level:0});export{M as backgroundColorNames,M as backgroundColors,I as default,T as foregroundColorNames,T as foregroundColors,A as supportsColor,j as supportsColorStderr};
