@visulima/colorize 1.4.11 → 1.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/LICENSE.md +27 -0
  3. package/README.md +54 -54
  4. package/dist/gradient.cjs +3 -14
  5. package/dist/gradient.d.cts +1 -79
  6. package/dist/gradient.d.mts +34 -0
  7. package/dist/gradient.d.ts +1 -79
  8. package/dist/gradient.mjs +3 -0
  9. package/dist/index.browser.d.mts +65 -0
  10. package/dist/index.browser.d.ts +3 -66
  11. package/dist/index.browser.mjs +1 -0
  12. package/dist/index.server.cjs +2 -13
  13. package/dist/index.server.d.cts +3 -1
  14. package/dist/index.server.d.mts +65 -0
  15. package/dist/index.server.d.ts +3 -66
  16. package/dist/index.server.mjs +1 -0
  17. package/dist/packem_shared/Colorize-BG7_2JWK.mjs +2 -0
  18. package/dist/packem_shared/Colorize-gGSr400y.mjs +1 -0
  19. package/dist/packem_shared/GradientBuilder-Bn5OODm9.cjs +1 -0
  20. package/dist/packem_shared/GradientBuilder-CL8ERRQu.mjs +1 -0
  21. package/dist/packem_shared/colorize.server-BayBPE0C.mjs +2 -0
  22. package/dist/packem_shared/colorize.server-BdZzymFP.cjs +2 -0
  23. package/dist/packem_shared/convertHexToRgb-CSiKB7t1.mjs +1 -0
  24. package/dist/packem_shared/convertHexToRgb-DN4AQa3T.cjs +1 -0
  25. package/dist/packem_shared/rgbToAnsi256-D4IPvnol.cjs +1 -0
  26. package/dist/packem_shared/rgbToAnsi256-YETEPW8R.mjs +1 -0
  27. package/dist/packem_shared/types-CoLB2PX2.d.mjs +67 -0
  28. package/dist/packem_shared/types-CoLB2PX2.d.mts +67 -0
  29. package/dist/packem_shared/types-CuuGv4d0.d.cts +81 -0
  30. package/dist/packem_shared/types-CuuGv4d0.d.mjs +81 -0
  31. package/dist/packem_shared/types-CuuGv4d0.d.mts +81 -0
  32. package/dist/template.cjs +2 -15
  33. package/dist/template.d.cts +4 -64
  34. package/dist/template.d.mts +7 -0
  35. package/dist/template.d.ts +4 -64
  36. package/dist/template.mjs +2 -0
  37. package/dist/utils.cjs +1 -10
  38. package/dist/utils.d.cts +1 -1
  39. package/dist/utils.d.mts +9 -0
  40. package/dist/utils.d.ts +1 -1
  41. package/dist/utils.mjs +1 -0
  42. package/package.json +41 -64
  43. package/dist/gradient.cjs.map +0 -1
  44. package/dist/gradient.js +0 -10
  45. package/dist/gradient.js.map +0 -1
  46. package/dist/index.browser.js +0 -5
  47. package/dist/index.browser.js.map +0 -1
  48. package/dist/index.server.cjs.map +0 -1
  49. package/dist/index.server.js +0 -8
  50. package/dist/index.server.js.map +0 -1
  51. package/dist/template.cjs.map +0 -1
  52. package/dist/template.js +0 -9
  53. package/dist/template.js.map +0 -1
  54. package/dist/utils.cjs.map +0 -1
  55. package/dist/utils.js +0 -5
  56. package/dist/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js","../src/util/clamp.ts","../src/util/convert-hex-to-rgb.ts","../src/util/convert-rgb-to-ansi.ts","../src/ansi-codes.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","clamp","number_","min","max","convertHexToRgb","hex","color","length_","rgbToAnsi256","g","b","ansi256To16","code","r","remainder","value","code16","rgbToAnsi16","closeCode","bgCloseCode","bgOffset","supportedColor","isStdoutColorSupported","mono","esc","open","close","createRgbFunction","function_","createHexFunction","createAnsi256","createBgAnsi256","createRgb","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","name","arguments_","colorize_server_default","colorNames","computeSubSteps","stops","steps","l","substeps","index","step","totalSubsteps","n","hsvToRgb","h","s","v","f","p","q","t","rgbToHsv","rdif","gdif","bdif","diff","diffc","c","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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","file":"gradient.cjs","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\tconst pattern = [\n\t\t`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`,\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))',\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/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 */\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport const convertHexToRgb = (hex: ColorValueHex | string): [number, number, number] => {\n let [, color] = /([a-f\\d]{3,6})/i.exec(hex) ?? [];\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const length_ = color ? color.length : 0;\n\n if (length_ === 3) {\n color =\n ((color as string)[0] as string) +\n ((color as string)[0] as string) +\n ((color as string)[1] as string) +\n ((color as string)[1] as string) +\n ((color as string)[2] as string) +\n ((color as string)[2] as string);\n } else if (length_ !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color as string, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n","/**\n * Copy of https://github.com/Qix-/color-convert/blob/master/conversions.js#L551\n *\n * MIT License\n *\n * Copyright (c) 2011-2016 Heather Arthur <fayearthur@gmail.com>.\n * Copyright (c) 2016-2021 Josh Junon <josh@junon.me>.\n */\n\n/**\n * Convert RGB values to approximate code of ANSI 256 colors.\n *\n */\nexport const rgbToAnsi256 = (r: number, g: number, b: number): number => {\n // greyscale\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n\n if (r > 248) {\n return 231;\n }\n\n return Math.round(((r - 8) / 247) * 24) + 232;\n }\n\n return (\n 16 +\n // r / 255 * 5 => r / 51\n 36 * Math.round(r / 51) +\n 6 * Math.round(g / 51) +\n Math.round(b / 51)\n );\n};\n\n/**\n * Convert ANSI 256 color code to approximate code of ANSI 16 colors.\n */\nexport const ansi256To16 = (code: number): number => {\n let r;\n let g;\n let b;\n\n if (code < 8) {\n return 30 + code;\n }\n\n if (code < 16) {\n return 90 + (code - 8);\n }\n\n if (code >= 232) {\n // greyscale\n // eslint-disable-next-line no-multi-assign\n r = g = b = ((code - 232) * 10 + 8) / 255;\n } else {\n // eslint-disable-next-line no-param-reassign\n code -= 16;\n\n const remainder = code % 36;\n\n r = Math.floor(code / 36) / 5;\n g = Math.floor(remainder / 6) / 5;\n b = (remainder % 6) / 5;\n }\n\n const value = Math.max(r, g, b) * 2;\n\n if (value === 0) {\n return 30;\n }\n\n // eslint-disable-next-line no-bitwise\n const code16 = 30 + ((Math.round(b) << 2) | (Math.round(g) << 1) | Math.round(r));\n\n return value === 2 ? code16 + 60 : code16;\n};\n\nexport const rgbToAnsi16 = (r: number, g: number, b: number): number => ansi256To16(rgbToAnsi256(r, g, b));\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 type { ColorSupportLevel } from \"@visulima/is-ansi-color-supported\";\nimport { isStdoutColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData, ColorValueHex } from \"./types\";\nimport { clamp } from \"./util/clamp\";\nimport { convertHexToRgb } from \"./util/convert-hex-to-rgb\";\nimport { ansi256To16, rgbToAnsi16, rgbToAnsi256 } from \"./util/convert-rgb-to-ansi\";\n\nconst closeCode = 39;\nconst bgCloseCode = 49;\nconst bgOffset = 10;\n\nconst supportedColor: ColorSupportLevel = isStdoutColorSupported();\n\nconst mono = { close: \"\", open: \"\" };\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n supportedColor > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => mono;\n\nconst createRgbFunction = (function_: (code: number | string) => ColorData) => (r: number | string, g: number | string, b: number | string) =>\n function_(rgbToAnsi256(Number(r), Number(g), Number(b)));\n\nconst createHexFunction = (function_: (r: number | string, g: number | string, b: number | string) => ColorData) => (hex: ColorValueHex) => {\n const [r, g, b] = convertHexToRgb(hex);\n\n return function_(r, g, b);\n};\n\nlet createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, closeCode);\n\nlet createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, bgCloseCode);\n\nlet createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, closeCode);\n\nlet createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, bgCloseCode);\n\nif (supportedColor === 1) {\n // ANSI 16 colors\n createAnsi256 = (code: number | string) => esc(ansi256To16(Number(code)), closeCode);\n createBgAnsi256 = (code: number | string) => esc(ansi256To16(Number(code)) + bgOffset, bgCloseCode);\n createRgb = (r: number | string, g: number | string, b: number | string) => esc(rgbToAnsi16(Number(r), Number(g), Number(b)), closeCode);\n createBgRgb = (r: number | string, g: number | string, b: number | string) => esc(rgbToAnsi16(Number(r), Number(g), Number(b)) + bgOffset, bgCloseCode);\n} else if (supportedColor === 2) {\n // ANSI 256 colors\n createRgb = createRgbFunction(createAnsi256);\n createBgRgb = createRgbFunction(createBgAnsi256);\n}\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: mono,\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, bgCloseCode),\n bgBlackBright: esc(100, bgCloseCode),\n bgBlue: esc(44, bgCloseCode),\n bgBlueBright: esc(104, bgCloseCode),\n bgCyan: esc(46, bgCloseCode),\n bgCyanBright: esc(106, bgCloseCode),\n bgGray: esc(100, bgCloseCode), // US spelling alias for bgBlackBright\n bgGreen: esc(42, bgCloseCode),\n bgGreenBright: esc(102, bgCloseCode),\n bgGrey: esc(100, bgCloseCode), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, bgCloseCode),\n bgMagentaBright: esc(105, bgCloseCode),\n bgRed: esc(41, bgCloseCode),\n bgRedBright: esc(101, bgCloseCode),\n bgWhite: esc(47, bgCloseCode),\n bgWhiteBright: esc(107, bgCloseCode),\n bgYellow: esc(43, bgCloseCode),\n bgYellowBright: esc(103, bgCloseCode),\n black: esc(30, closeCode),\n blackBright: esc(90, closeCode),\n blue: esc(34, closeCode),\n blueBright: esc(94, closeCode),\n cyan: esc(36, closeCode),\n cyanBright: esc(96, closeCode),\n gray: esc(90, closeCode), // US spelling alias for blackBright\n green: esc(32, closeCode),\n greenBright: esc(92, closeCode),\n grey: esc(90, closeCode), // UK spelling alias for blackBright\n magenta: esc(35, closeCode),\n magentaBright: esc(95, closeCode),\n red: esc(31, closeCode),\n redBright: esc(91, closeCode),\n white: esc(37, closeCode),\n whiteBright: esc(97, closeCode),\n yellow: esc(33, closeCode),\n yellowBright: esc(93, closeCode),\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: createHexFunction(createBgRgb),\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: createHexFunction(createRgb),\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 * 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 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 { convertHexToRgb } from \"../util/convert-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(\"#\") ? convertHexToRgb(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(\"#\") ? convertHexToRgb(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"]}
package/dist/gradient.js DELETED
@@ -1,10 +0,0 @@
1
- import { isStdoutColorSupported } from '@visulima/is-ansi-color-supported';
2
-
3
- function w({onlyFirst:r=!1}={}){let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(o,r?void 0:"g")}var h=(r,e,o)=>e>r?e:r>o?o:r;var S=r=>{let[,e]=/([a-f\d]{3,6})/i.exec(r)??[],o=e?e.length:0;if(o===3)e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2];else if(o!==6)return [0,0,0];let n=Number.parseInt(e,16);return [n>>16&255,n>>8&255,n&255]};var v=(r,e,o)=>r===e&&e===o?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/51)+6*Math.round(e/51)+Math.round(o/51),R=r=>{let e,o,n;if(r<8)return 30+r;if(r<16)return 90+(r-8);if(r>=232)e=o=n=((r-232)*10+8)/255;else {r-=16;let i=r%36;e=Math.floor(r/36)/5,o=Math.floor(i/6)/5,n=i%6/5;}let t=Math.max(e,o,n)*2;if(t===0)return 30;let s=30+(Math.round(n)<<2|Math.round(o)<<1|Math.round(e));return t===2?s+60:s},T=(r,e,o)=>R(v(r,e,o));var c=39,m=49,L=10,G=isStdoutColorSupported(),F={close:"",open:""},l=G>0?(r,e)=>({close:"\x1B["+e+"m",open:"\x1B["+r+"m"}):()=>F,E=r=>(e,o,n)=>r(v(Number(e),Number(o),Number(n))),Z=r=>e=>{let[o,n,t]=S(e);return r(o,n,t)},O=r=>l("38;5;"+r,c),A=r=>l("48;5;"+r,m),x=(r,e,o)=>l("38;2;"+r+";"+e+";"+o,c),B=(r,e,o)=>l("48;2;"+r+";"+e+";"+o,m);G===1?(O=r=>l(R(Number(r)),c),A=r=>l(R(Number(r))+L,m),x=(r,e,o)=>l(T(Number(r),Number(e),Number(o)),c),B=(r,e,o)=>l(T(Number(r),Number(e),Number(o))+L,m)):G===2&&(x=E(O),B=E(A));var M={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:F},z={bgBlack:l(40,m),bgBlackBright:l(100,m),bgBlue:l(44,m),bgBlueBright:l(104,m),bgCyan:l(46,m),bgCyanBright:l(106,m),bgGray:l(100,m),bgGreen:l(42,m),bgGreenBright:l(102,m),bgGrey:l(100,m),bgMagenta:l(45,m),bgMagentaBright:l(105,m),bgRed:l(41,m),bgRedBright:l(101,m),bgWhite:l(47,m),bgWhiteBright:l(107,m),bgYellow:l(43,m),bgYellowBright:l(103,m),black:l(30,c),blackBright:l(90,c),blue:l(34,c),blueBright:l(94,c),cyan:l(36,c),cyanBright:l(96,c),gray:l(90,c),green:l(32,c),greenBright:l(92,c),grey:l(90,c),magenta:l(35,c),magentaBright:l(95,c),red:l(31,c),redBright:l(91,c),white:l(37,c),whiteBright:l(97,c),yellow:l(33,c),yellowBright:l(93,c)},H={bg:r=>A(h(r,0,255)),bgHex:Z(B),bgRgb:(r,e,o)=>B(h(r,0,255),h(e,0,255),h(o,0,255)),fg:r=>O(h(r,0,255)),hex:Z(x),rgb:(r,e,o)=>x(h(r,0,255),h(e,0,255),h(o,0,255))};var W=(r,e,o)=>{if(e==="")return r;let n=r.indexOf(e);if(n<0)return r;let t=e.length,s=0,i="";for(;~n;)i+=r.slice(s,n)+o,s=n+t,n=r.indexOf(e,s);return i+r.slice(s)};var d={},N=null,U=(r,e,o)=>{if(!r)return "";let n=r.raw==null?r+"":String.raw(r,...e);if(n.includes("\x1B"))for(let t=o;t;t=t.props)n=W(n,t.close,t.open);return n.includes(`
4
- `)&&(n=n.replace(/(\r*\n)/g,o.closeStack+"$1"+o.openStack)),o.openStack+n+o.closeStack},I=({props:r},{close:e,open:o})=>{let n=(r?.openStack??"")+o,t=e+(r?.closeStack??""),s=(i,...u)=>U(i,u,s.props);return Object.setPrototypeOf(s,N),s.props={close:e,closeStack:t,open:o,openStack:n,props:r},s.open=n,s.close=t,s},_=function(){let r=e=>e+"";r.strip=e=>e.replaceAll(w(),"");for(let e in z)d[e]={get(){let o=I(this,z[e]);return Object.defineProperty(this,e,{value:o}),o}};for(let e in M)d[e]={get(){let o=I(this,M[e]);return Object.defineProperty(this,e,{value:o}),o}};return N=Object.defineProperties({},d),Object.setPrototypeOf(r,N),r};for(let r in H)d[r]={get(){return (...e)=>I(this,H[r](...e))}};d.ansi256=d.fg;d.bgAnsi256=d.bg;var X=_;var D={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 P=(r,e)=>{let o=r.length;if(e=Number.parseInt(e.toString(),10),Number.isNaN(e)||e<2)throw new Error("Invalid number of steps (< 2)");if(e<o)throw new Error("Number of steps cannot be inferior to number of stops");let n=[];for(let s=1;s<o;s++){let i=(e-1)*(r[s].position-r[s-1].position);n.push(Math.max(1,Math.round(i)));}let t=1;for(let s=o-1;s--;)t+=n[s];for(;t!==e;)if(t<e){let s=Math.min(...n);n[n.indexOf(s)]++,t++;}else {let s=Math.max(...n);n[n.indexOf(s)]--,t--;}return n};var Y=(r,e,o)=>{let n=0,t=0,s=0,i=Math.floor(r/60),u=r/60-i,a=o*(1-e),p=o*(1-u*e),b=o*(1-(1-u)*e);return i%6===0?(n=o,t=b,s=a):i%6===1?(n=p,t=o,s=a):i%6===2?(n=a,t=o,s=b):i%6===3?(n=a,t=p,s=o):i%6===4?(n=b,t=a,s=o):i%6===5&&(n=o,t=a,s=p),{b:Math.round(s*255),g:Math.round(t*255),r:Math.round(n*255)}};var j=({b:r,g:e,r:o})=>{let n,t,s,i=0,u=0;o/=255,e/=255,r/=255;let a=Math.max(o,e,r),p=a-Math.min(o,e,r),b=g=>(a-g)/6/p+1/2;return p!==0&&(u=p/a,n=b(o),t=b(e),s=b(r),a===o?i=s-t:a===e?i=.3333333333333333+n-s:a===r&&(i=.6666666666666666+t-n),i<0?i+=1:i>1&&(i-=1)),{h:i*360,s:u,v:a}};var ee={b:256,g:256,r:256},re={h:360,s:1,v:1},$=(r,e,o)=>{let n={};for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=o===0?0:(e[t]-r[t])/o);return n},J=(r,e,o,n)=>{let t={};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=r[s]*o+e[s],t[s]=t[s]<0?t[s]+n[s]:n[s]===1?t[s]:t[s]%n[s]);return t},k=(r,e,o)=>{let n={b:r.color[2],g:r.color[1],r:r.color[0]},t={b:e.color[2],g:e.color[1],r:e.color[0]},s=$(n,t,o),i=[{...n}];for(let u=1;u<o;u++){let a=J(s,n,u,ee);i.push({b:Math.floor(a.b),g:Math.floor(a.g),r:Math.floor(a.r)});}return i},V=(r,e,o,n)=>{let t=j({b:r.color[2],g:r.color[1],r:r.color[0]}),s=j({b:e.color[2],g:e.color[1],r:e.color[0]});if(t.s===0||s.s===0)return k(r,e,o);let i;if(typeof n=="boolean")i=n;else {let b=t.h<s.h&&s.h-t.h<180||t.h>s.h&&t.h-s.h>180;i=n==="long"&&b||n==="short"&&!b;}let u=$(t,s,o),a=[{b:r.color[2],g:r.color[1],r:r.color[0]}],p;t.h<=s.h&&!i||t.h>=s.h&&i?p=s.h-t.h:i?p=360-s.h+t.h:p=360-t.h+s.h,u.h=(-1)**(i?1:0)*Math.abs(p)/o;for(let b=1;b<o;b++){let g=J(u,t,b,re);a.push(Y(g.h,g.s,g.v));}return a};var C=class r{#e;stops;constructor(e,o){if(this.#e=e,this.stops=[],o.length<2)throw new Error("Invalid number of stops (< 2)");let n=o[0].position!==void 0,t=o.length,s=-1,i=!1;for(let[u,a]of o.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 g=a,y=g.color!==void 0;if(!y&&(i||u===0||u===t-1))throw new Error("Cannot define two consecutive position-only stops");i=!y;let f;if(y&&(Array.isArray(g.color)?f=g.color:typeof g.color=="string"?f=g.color.includes("#")?S(g.color):D[g.color]:g.color.r!==void 0&&g.color.g!==void 0&&g.color.b&&(f=[g.color.r,g.color.g,g.color.b])),p={color:f,colorLess:!y,position:g.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/(t-1)};else if(typeof a=="string")p={color:a.includes("#")?S(a):D[a],position:u/(t-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/(t-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}),t++),this.stops[t-1].position!==1&&this.stops.push({color:this.stops[t-1].color,position:1});}reverse(){let e=[];for(let o of this.stops){let n={...o};n.position=1-o.position,e.push(n);}return new r(this.#e,e.reverse())}loop(){let e=[],o=[];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))o.push({color:n.color,position:1-(n.position||0)/2});return new r(this.#e,[...e,...o.reverse()])}rgb(e){let o=P(this.stops,e),n=[];this.stops.forEach((t,s)=>{if(t.colorLess){let i=k(this.stops[s-1],this.stops[s+1],2);t.color=[i[1].r,i[1].g,i[1].b];}});for(let t=0,s=this.stops.length;t<s-1;t++){let i=k(this.stops[t],this.stops[t+1],o[t]);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,o=!1){let n=P(this.stops,e),t=[];this.stops.forEach((s,i)=>{if(s.colorLess){let u=V(this.stops[i-1],this.stops[i+1],2,o);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=V(this.stops[s],this.stops[s+1],n[s],o);t.splice(t.length,0,...u.map(a=>this.#e.rgb(a.r,a.g,a.b)));}return t.push(this.#e.rgb(...this.stops.at(-1).color)),t}};var K=new X,q=/\s/g,Ae=(r,e)=>{let{hsvSpin:o="short",interpolation:n="rgb"}=e??{},t=new C(K,r);return e?.loop?t=t.loop():e?.reverse&&(t=t.reverse()),s=>{let i=Math.max(s.replaceAll(q,"").length,t.stops.length),u=n==="rgb"?t.rgb(i):t.hsv(i,o),a="";for(let p of s)if(q.test(p))a+=p;else {let b=u.shift();a+=b(p);}return a}},Me=(r,e)=>{let{hsvSpin:o="short",interpolation:n="rgb"}=e??{},t=new C(K,r);return e?.loop?t=t.loop():e?.reverse&&(t=t.reverse()),s=>{let i=s.split(`
5
- `),u=Reflect.apply(Math.max,null,[...i.map(b=>b.length),t.stops.length]),a=n==="rgb"?t.rgb(u):t.hsv(u,o),p=[];for(let b of i){let g=[...a],y="";for(let f of b)y+=q.test(f)?f:g.shift()(f);p.push(y);}return p.join(`
6
- `)}};
7
-
8
- export { C as GradientBuilder, Ae as gradient, Me as multilineGradient };
9
- //# sourceMappingURL=gradient.js.map
10
- //# sourceMappingURL=gradient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js","../src/util/clamp.ts","../src/util/convert-hex-to-rgb.ts","../src/util/convert-rgb-to-ansi.ts","../src/ansi-codes.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","clamp","number_","min","max","convertHexToRgb","hex","color","length_","rgbToAnsi256","g","b","ansi256To16","code","r","remainder","value","code16","rgbToAnsi16","closeCode","bgCloseCode","bgOffset","supportedColor","isStdoutColorSupported","mono","esc","open","close","createRgbFunction","function_","createHexFunction","createAnsi256","createBgAnsi256","createRgb","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","name","arguments_","colorize_server_default","colorNames","computeSubSteps","stops","steps","l","substeps","index","step","totalSubsteps","n","hsvToRgb","h","s","v","f","p","q","t","rgbToHsv","rdif","gdif","bdif","diff","diffc","c","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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","file":"gradient.js","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\tconst pattern = [\n\t\t`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`,\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))',\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/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 */\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport const convertHexToRgb = (hex: ColorValueHex | string): [number, number, number] => {\n let [, color] = /([a-f\\d]{3,6})/i.exec(hex) ?? [];\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const length_ = color ? color.length : 0;\n\n if (length_ === 3) {\n color =\n ((color as string)[0] as string) +\n ((color as string)[0] as string) +\n ((color as string)[1] as string) +\n ((color as string)[1] as string) +\n ((color as string)[2] as string) +\n ((color as string)[2] as string);\n } else if (length_ !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color as string, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n","/**\n * Copy of https://github.com/Qix-/color-convert/blob/master/conversions.js#L551\n *\n * MIT License\n *\n * Copyright (c) 2011-2016 Heather Arthur <fayearthur@gmail.com>.\n * Copyright (c) 2016-2021 Josh Junon <josh@junon.me>.\n */\n\n/**\n * Convert RGB values to approximate code of ANSI 256 colors.\n *\n */\nexport const rgbToAnsi256 = (r: number, g: number, b: number): number => {\n // greyscale\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n\n if (r > 248) {\n return 231;\n }\n\n return Math.round(((r - 8) / 247) * 24) + 232;\n }\n\n return (\n 16 +\n // r / 255 * 5 => r / 51\n 36 * Math.round(r / 51) +\n 6 * Math.round(g / 51) +\n Math.round(b / 51)\n );\n};\n\n/**\n * Convert ANSI 256 color code to approximate code of ANSI 16 colors.\n */\nexport const ansi256To16 = (code: number): number => {\n let r;\n let g;\n let b;\n\n if (code < 8) {\n return 30 + code;\n }\n\n if (code < 16) {\n return 90 + (code - 8);\n }\n\n if (code >= 232) {\n // greyscale\n // eslint-disable-next-line no-multi-assign\n r = g = b = ((code - 232) * 10 + 8) / 255;\n } else {\n // eslint-disable-next-line no-param-reassign\n code -= 16;\n\n const remainder = code % 36;\n\n r = Math.floor(code / 36) / 5;\n g = Math.floor(remainder / 6) / 5;\n b = (remainder % 6) / 5;\n }\n\n const value = Math.max(r, g, b) * 2;\n\n if (value === 0) {\n return 30;\n }\n\n // eslint-disable-next-line no-bitwise\n const code16 = 30 + ((Math.round(b) << 2) | (Math.round(g) << 1) | Math.round(r));\n\n return value === 2 ? code16 + 60 : code16;\n};\n\nexport const rgbToAnsi16 = (r: number, g: number, b: number): number => ansi256To16(rgbToAnsi256(r, g, b));\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 type { ColorSupportLevel } from \"@visulima/is-ansi-color-supported\";\nimport { isStdoutColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData, ColorValueHex } from \"./types\";\nimport { clamp } from \"./util/clamp\";\nimport { convertHexToRgb } from \"./util/convert-hex-to-rgb\";\nimport { ansi256To16, rgbToAnsi16, rgbToAnsi256 } from \"./util/convert-rgb-to-ansi\";\n\nconst closeCode = 39;\nconst bgCloseCode = 49;\nconst bgOffset = 10;\n\nconst supportedColor: ColorSupportLevel = isStdoutColorSupported();\n\nconst mono = { close: \"\", open: \"\" };\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n supportedColor > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => mono;\n\nconst createRgbFunction = (function_: (code: number | string) => ColorData) => (r: number | string, g: number | string, b: number | string) =>\n function_(rgbToAnsi256(Number(r), Number(g), Number(b)));\n\nconst createHexFunction = (function_: (r: number | string, g: number | string, b: number | string) => ColorData) => (hex: ColorValueHex) => {\n const [r, g, b] = convertHexToRgb(hex);\n\n return function_(r, g, b);\n};\n\nlet createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, closeCode);\n\nlet createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, bgCloseCode);\n\nlet createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, closeCode);\n\nlet createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, bgCloseCode);\n\nif (supportedColor === 1) {\n // ANSI 16 colors\n createAnsi256 = (code: number | string) => esc(ansi256To16(Number(code)), closeCode);\n createBgAnsi256 = (code: number | string) => esc(ansi256To16(Number(code)) + bgOffset, bgCloseCode);\n createRgb = (r: number | string, g: number | string, b: number | string) => esc(rgbToAnsi16(Number(r), Number(g), Number(b)), closeCode);\n createBgRgb = (r: number | string, g: number | string, b: number | string) => esc(rgbToAnsi16(Number(r), Number(g), Number(b)) + bgOffset, bgCloseCode);\n} else if (supportedColor === 2) {\n // ANSI 256 colors\n createRgb = createRgbFunction(createAnsi256);\n createBgRgb = createRgbFunction(createBgAnsi256);\n}\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: mono,\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, bgCloseCode),\n bgBlackBright: esc(100, bgCloseCode),\n bgBlue: esc(44, bgCloseCode),\n bgBlueBright: esc(104, bgCloseCode),\n bgCyan: esc(46, bgCloseCode),\n bgCyanBright: esc(106, bgCloseCode),\n bgGray: esc(100, bgCloseCode), // US spelling alias for bgBlackBright\n bgGreen: esc(42, bgCloseCode),\n bgGreenBright: esc(102, bgCloseCode),\n bgGrey: esc(100, bgCloseCode), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, bgCloseCode),\n bgMagentaBright: esc(105, bgCloseCode),\n bgRed: esc(41, bgCloseCode),\n bgRedBright: esc(101, bgCloseCode),\n bgWhite: esc(47, bgCloseCode),\n bgWhiteBright: esc(107, bgCloseCode),\n bgYellow: esc(43, bgCloseCode),\n bgYellowBright: esc(103, bgCloseCode),\n black: esc(30, closeCode),\n blackBright: esc(90, closeCode),\n blue: esc(34, closeCode),\n blueBright: esc(94, closeCode),\n cyan: esc(36, closeCode),\n cyanBright: esc(96, closeCode),\n gray: esc(90, closeCode), // US spelling alias for blackBright\n green: esc(32, closeCode),\n greenBright: esc(92, closeCode),\n grey: esc(90, closeCode), // UK spelling alias for blackBright\n magenta: esc(35, closeCode),\n magentaBright: esc(95, closeCode),\n red: esc(31, closeCode),\n redBright: esc(91, closeCode),\n white: esc(37, closeCode),\n whiteBright: esc(97, closeCode),\n yellow: esc(33, closeCode),\n yellowBright: esc(93, closeCode),\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: createHexFunction(createBgRgb),\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: createHexFunction(createRgb),\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 * 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 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 { convertHexToRgb } from \"../util/convert-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(\"#\") ? convertHexToRgb(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(\"#\") ? convertHexToRgb(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,5 +0,0 @@
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
-
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
- //# sourceMappingURL=index.browser.js.map
5
- //# sourceMappingURL=index.browser.js.map
@@ -1 +0,0 @@
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,CAAyC,CAAA,CAClD,CAAG,CAAA,MAAA,CACH,CAAG,CAAA,MAAA,CACH,CAAG,CAAA,MAAA,CACH,CAAG,CAAA,MAAA,CACH,CAAG,CAAA,MAAA,CACH,EAAG,MACH,CAAA,CAAA,CAAG,MACH,CAAA,CAAA,CAAG,MACH,CAAA,CAAA,CAAG,MACH,CAAA,CAAA,CAAG,OACH,EAAI,CAAA,MAAA,CACJ,EAAI,CAAA,MAAA,CACJ,EAAI,CAAA,MAAA,CACJ,EAAI,CAAA,MAAA,CACJ,GAAI,MACJ,CAAA,EAAA,CAAI,MACJ,CAAA,EAAA,CAAI,MACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,SACJ,CAAA,EAAA,CAAI,UACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,EAAI,CAAA,SAAA,CACJ,GAAI,SACJ,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,GAAK,CAAA,SAAA,CACL,IAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,SACL,CAAA,GAAA,CAAK,UACL,GA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","file":"index.browser.js","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"]}