@shell-shock/plugin-theme 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/contexts/index.cjs +4 -0
  2. package/dist/contexts/index.d.cts +2 -0
  3. package/dist/contexts/index.d.mts +2 -0
  4. package/dist/contexts/index.mjs +3 -0
  5. package/dist/contexts/theme.cjs +28 -0
  6. package/dist/contexts/theme.d.cts +20 -0
  7. package/dist/contexts/theme.d.cts.map +1 -0
  8. package/dist/contexts/theme.d.mts +20 -0
  9. package/dist/contexts/theme.d.mts.map +1 -0
  10. package/dist/contexts/theme.mjs +27 -0
  11. package/dist/contexts/theme.mjs.map +1 -0
  12. package/dist/helpers/ansi-utils.cjs +692 -0
  13. package/dist/helpers/ansi-utils.d.cts +75 -0
  14. package/dist/helpers/ansi-utils.d.cts.map +1 -0
  15. package/dist/helpers/ansi-utils.d.mts +75 -0
  16. package/dist/helpers/ansi-utils.d.mts.map +1 -0
  17. package/dist/helpers/ansi-utils.mjs +689 -0
  18. package/dist/helpers/ansi-utils.mjs.map +1 -0
  19. package/dist/helpers/index.cjs +6 -0
  20. package/dist/helpers/index.d.cts +2 -0
  21. package/dist/helpers/index.d.mts +2 -0
  22. package/dist/helpers/index.mjs +3 -0
  23. package/dist/index.cjs +53 -47
  24. package/dist/index.d.cts.map +1 -1
  25. package/dist/index.d.mts.map +1 -1
  26. package/dist/index.mjs +52 -47
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/style-dictionary/border-styles.mjs.map +1 -1
  29. package/dist/style-dictionary/colors.mjs.map +1 -1
  30. package/dist/style-dictionary/helpers.mjs.map +1 -1
  31. package/dist/style-dictionary/icons.mjs.map +1 -1
  32. package/dist/style-dictionary/labels.mjs.map +1 -1
  33. package/dist/style-dictionary/padding.mjs.map +1 -1
  34. package/dist/style-dictionary/settings.mjs.map +1 -1
  35. package/dist/themes/storm.mjs.map +1 -1
  36. package/dist/types/plugin.d.cts +6 -4
  37. package/dist/types/plugin.d.cts.map +1 -1
  38. package/dist/types/plugin.d.mts +6 -4
  39. package/dist/types/plugin.d.mts.map +1 -1
  40. package/package.json +61 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi-utils.mjs","names":["ANSI_BACKGROUND_OFFSET","modifiers","reset","bold","dim","italic","underline","overline","inverse","hidden","strikethrough","colors","black","red","green","yellow","blue","magenta","cyan","white","blackBright","gray","grey","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgColors","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgBlackBright","bgGray","bgGrey","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","wrapAnsi16","offset","code","wrapAnsi256","wrapAnsi16m","hexToRgb","rgbToAnsi256","Math","round","hex","matches","exec","toString","colorString","length","map","character","join","integer","Number","parseInt","hexToAnsi256","ansi256ToAnsi","remainder","floor","value","max","result","hexToAnsi","buildThemeAnsiStyles","theme","wrapFn","convertFn","text","banner","title","primary","open","close","secondary","tertiary","command","description","header","footer","link","heading","body","message","help","success","info","debug","warning","danger","error","usage","bin","dynamic","options","arguments","prompt","icon","active","submitted","cancelled","disabled","input","inactive","placeholder","border","divider","outline","app","table","getAnsiStyles","output","ansi16","ansi256","ansi16m","key","Object","entries"],"sources":["../../src/helpers/ansi-utils.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ThemeColorsResolvedConfig } from \"../types/theme\";\n\nconst ANSI_BACKGROUND_OFFSET = 10;\n\nexport const modifiers = {\n reset: [0, 0],\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n overline: [53, 55],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29]\n};\n\nexport const colors = {\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n\n // Bright color\n blackBright: [90, 39],\n gray: [90, 39],\n grey: [90, 39],\n redBright: [91, 39],\n greenBright: [92, 39],\n yellowBright: [93, 39],\n blueBright: [94, 39],\n magentaBright: [95, 39],\n cyanBright: [96, 39],\n whiteBright: [97, 39]\n};\n\nexport const bgColors = {\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n\n // Bright color\n bgBlackBright: [100, 49],\n bgGray: [100, 49],\n bgGrey: [100, 49],\n bgRedBright: [101, 49],\n bgGreenBright: [102, 49],\n bgYellowBright: [103, 49],\n bgBlueBright: [104, 49],\n bgMagentaBright: [105, 49],\n bgCyanBright: [106, 49],\n bgWhiteBright: [107, 49]\n};\n\nexport interface AnsiWrappers {\n open: string;\n close: string;\n}\n\ntype WrapAnsiFn = (offset?: number) => (code: number) => string;\ntype WrapAnsi16mFn = (offset?: number) => (code: string) => string;\n\nconst wrapAnsi16: WrapAnsiFn =\n (offset = 0) =>\n (code: number) =>\n `\\\\x1b[${code + offset}m`;\n\nconst wrapAnsi256: WrapAnsiFn =\n (offset = 0) =>\n (code: number) =>\n `\\\\x1b[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m: WrapAnsi16mFn =\n (offset = 0) =>\n (code: string) => {\n const [red, green, blue] = hexToRgb(code);\n\n return `\\\\x1b[${38 + offset};2;${red};${green};${blue}m`;\n };\n\nexport type BaseAnsiStylesKeys =\n | keyof typeof modifiers\n | keyof typeof colors\n | keyof typeof bgColors;\n\nexport type BaseAnsiStyles = Record<\n \"ansi16\" | \"ansi256\" | \"ansi16m\",\n Record<BaseAnsiStylesKeys, AnsiWrappers>\n>;\n\ntype ThemeAnsiStylesFormat<T> = T extends object\n ? {\n [K in keyof T]: ThemeAnsiStylesFormat<T[K]>;\n }\n : AnsiWrappers;\n\nexport type ThemeAnsiStyles = Record<\n \"ansi16\" | \"ansi256\" | \"ansi16m\",\n { theme: ThemeAnsiStylesFormat<ThemeColorsResolvedConfig> }\n>;\n\nexport type AnsiStyles = BaseAnsiStyles & ThemeAnsiStyles;\n\nfunction rgbToAnsi256(red: number, green: number, blue: number): number {\n if (red === green && green === blue) {\n if (red < 8) {\n return 16;\n }\n\n if (red > 248) {\n return 231;\n }\n\n return Math.round(((red - 8) / 247) * 24) + 232;\n }\n\n return (\n 16 +\n 36 * Math.round((red / 255) * 5) +\n 6 * Math.round((green / 255) * 5) +\n Math.round((blue / 255) * 5)\n );\n}\n\nfunction hexToRgb(hex: string | number): [number, number, number] {\n const matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n if (!matches) {\n return [0, 0, 0];\n }\n\n let [colorString] = matches;\n\n if (colorString.length === 3) {\n colorString = [...colorString]\n .map(character => character + character)\n .join(\"\");\n }\n\n const integer = Number.parseInt(colorString, 16);\n\n return [(integer >> 16) & 0xff, (integer >> 8) & 0xff, integer & 0xff];\n}\n\nfunction hexToAnsi256(hex: string | number): number {\n return rgbToAnsi256(...hexToRgb(hex));\n}\n\nfunction ansi256ToAnsi(code: number): number {\n if (code < 8) {\n return 30 + code;\n }\n\n if (code < 16) {\n return 90 + (code - 8);\n }\n\n let red;\n let green;\n let blue;\n\n if (code >= 232) {\n red = ((code - 232) * 10 + 8) / 255;\n green = red;\n blue = red;\n } else {\n code -= 16;\n\n const remainder = code % 36;\n\n red = Math.floor(code / 36) / 5;\n green = Math.floor(remainder / 6) / 5;\n blue = (remainder % 6) / 5;\n }\n\n const value = Math.max(red, green, blue) * 2;\n\n if (value === 0) {\n return 30;\n }\n\n let result =\n 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n if (value === 2) {\n result += 60;\n }\n\n return result;\n}\n\n// function rgbToAnsi(red: number, green: number, blue: number): number {\n// return ansi256ToAnsi(rgbToAnsi256(red, green, blue));\n// }\n\nfunction hexToAnsi(hex: string | number): number {\n return ansi256ToAnsi(hexToAnsi256(hex));\n}\n\nfunction buildThemeAnsiStyles(\n theme: ThemeColorsResolvedConfig,\n wrapFn: (offset?: number) => (code: any) => string,\n convertFn: (code: string) => any\n): ThemeAnsiStylesFormat<ThemeColorsResolvedConfig> {\n return {\n text: {\n banner: {\n title: {\n primary: {\n open: wrapFn()(convertFn(theme.text.banner.title.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.banner.title.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.banner.title.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n command: {\n primary: {\n open: wrapFn()(convertFn(theme.text.banner.command.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.banner.command.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.banner.command.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n description: {\n primary: {\n open: wrapFn()(convertFn(theme.text.banner.description.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.banner.description.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.banner.description.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n header: {\n primary: {\n open: wrapFn()(convertFn(theme.text.banner.header.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.banner.header.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.banner.header.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n footer: {\n primary: {\n open: wrapFn()(convertFn(theme.text.banner.footer.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.banner.footer.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.banner.footer.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n link: {\n primary: {\n open: wrapFn()(convertFn(theme.text.banner.link.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.banner.link.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.banner.link.tertiary)),\n close: wrapAnsi16()(39)\n }\n }\n },\n heading: {\n primary: {\n open: wrapFn()(convertFn(theme.text.heading.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.heading.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.heading.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n body: {\n primary: {\n open: wrapFn()(convertFn(theme.text.body.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.text.body.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.text.body.tertiary)),\n close: wrapAnsi16()(39)\n },\n link: {\n open: wrapFn()(convertFn(theme.text.body.link)),\n close: wrapAnsi16()(39)\n }\n },\n message: {\n description: {\n help: {\n open: wrapFn()(convertFn(theme.text.message.description.help)),\n close: wrapAnsi16()(39)\n },\n success: {\n open: wrapFn()(convertFn(theme.text.message.description.success)),\n close: wrapAnsi16()(39)\n },\n info: {\n open: wrapFn()(convertFn(theme.text.message.description.info)),\n close: wrapAnsi16()(39)\n },\n debug: {\n open: wrapFn()(convertFn(theme.text.message.description.debug)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.message.description.warning)),\n close: wrapAnsi16()(39)\n },\n danger: {\n open: wrapFn()(convertFn(theme.text.message.description.danger)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.message.description.error)),\n close: wrapAnsi16()(39)\n }\n },\n link: {\n help: {\n open: wrapFn()(convertFn(theme.text.message.link.help)),\n close: wrapAnsi16()(39)\n },\n success: {\n open: wrapFn()(convertFn(theme.text.message.link.success)),\n close: wrapAnsi16()(39)\n },\n info: {\n open: wrapFn()(convertFn(theme.text.message.link.info)),\n close: wrapAnsi16()(39)\n },\n debug: {\n open: wrapFn()(convertFn(theme.text.message.link.debug)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.message.link.warning)),\n close: wrapAnsi16()(39)\n },\n danger: {\n open: wrapFn()(convertFn(theme.text.message.link.danger)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.message.link.error)),\n close: wrapAnsi16()(39)\n }\n },\n header: {\n help: {\n open: wrapFn()(convertFn(theme.text.message.header.help)),\n close: wrapAnsi16()(39)\n },\n success: {\n open: wrapFn()(convertFn(theme.text.message.header.success)),\n close: wrapAnsi16()(39)\n },\n info: {\n open: wrapFn()(convertFn(theme.text.message.header.info)),\n close: wrapAnsi16()(39)\n },\n debug: {\n open: wrapFn()(convertFn(theme.text.message.header.debug)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.message.header.warning)),\n close: wrapAnsi16()(39)\n },\n danger: {\n open: wrapFn()(convertFn(theme.text.message.header.danger)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.message.header.error)),\n close: wrapAnsi16()(39)\n }\n },\n footer: {\n help: {\n open: wrapFn()(convertFn(theme.text.message.footer.help)),\n close: wrapAnsi16()(39)\n },\n success: {\n open: wrapFn()(convertFn(theme.text.message.footer.success)),\n close: wrapAnsi16()(39)\n },\n info: {\n open: wrapFn()(convertFn(theme.text.message.footer.info)),\n close: wrapAnsi16()(39)\n },\n debug: {\n open: wrapFn()(convertFn(theme.text.message.footer.debug)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.message.footer.warning)),\n close: wrapAnsi16()(39)\n },\n danger: {\n open: wrapFn()(convertFn(theme.text.message.footer.danger)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.message.footer.error)),\n close: wrapAnsi16()(39)\n }\n }\n },\n usage: {\n bin: {\n open: wrapFn()(convertFn(theme.text.usage.bin)),\n close: wrapAnsi16()(39)\n },\n command: {\n open: wrapFn()(convertFn(theme.text.usage.command)),\n close: wrapAnsi16()(39)\n },\n dynamic: {\n open: wrapFn()(convertFn(theme.text.usage.dynamic)),\n close: wrapAnsi16()(39)\n },\n options: {\n open: wrapFn()(convertFn(theme.text.usage.options)),\n close: wrapAnsi16()(39)\n },\n arguments: {\n open: wrapFn()(convertFn(theme.text.usage.arguments)),\n close: wrapAnsi16()(39)\n },\n description: {\n open: wrapFn()(convertFn(theme.text.usage.description)),\n close: wrapAnsi16()(39)\n }\n },\n prompt: {\n icon: {\n active: {\n open: wrapFn()(convertFn(theme.text.prompt.icon.active)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.prompt.icon.warning)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.prompt.icon.error)),\n close: wrapAnsi16()(39)\n },\n submitted: {\n open: wrapFn()(convertFn(theme.text.prompt.icon.submitted)),\n close: wrapAnsi16()(39)\n },\n cancelled: {\n open: wrapFn()(convertFn(theme.text.prompt.icon.cancelled)),\n close: wrapAnsi16()(39)\n },\n disabled: {\n open: wrapFn()(convertFn(theme.text.prompt.icon.disabled)),\n close: wrapAnsi16()(39)\n }\n },\n message: {\n active: {\n open: wrapFn()(convertFn(theme.text.prompt.message.active)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.prompt.message.warning)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.prompt.message.error)),\n close: wrapAnsi16()(39)\n },\n submitted: {\n open: wrapFn()(convertFn(theme.text.prompt.message.submitted)),\n close: wrapAnsi16()(39)\n },\n cancelled: {\n open: wrapFn()(convertFn(theme.text.prompt.message.cancelled)),\n close: wrapAnsi16()(39)\n },\n disabled: {\n open: wrapFn()(convertFn(theme.text.prompt.message.disabled)),\n close: wrapAnsi16()(39)\n }\n },\n input: {\n active: {\n open: wrapFn()(convertFn(theme.text.prompt.input.active)),\n close: wrapAnsi16()(39)\n },\n inactive: {\n open: wrapFn()(convertFn(theme.text.prompt.input.inactive)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.prompt.input.warning)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.prompt.input.error)),\n close: wrapAnsi16()(39)\n },\n submitted: {\n open: wrapFn()(convertFn(theme.text.prompt.input.submitted)),\n close: wrapAnsi16()(39)\n },\n cancelled: {\n open: wrapFn()(convertFn(theme.text.prompt.input.cancelled)),\n close: wrapAnsi16()(39)\n },\n disabled: {\n open: wrapFn()(convertFn(theme.text.prompt.input.disabled)),\n close: wrapAnsi16()(39)\n },\n placeholder: {\n open: wrapFn()(convertFn(theme.text.prompt.input.placeholder)),\n close: wrapAnsi16()(39)\n }\n },\n description: {\n active: {\n open: wrapFn()(convertFn(theme.text.prompt.description.active)),\n close: wrapAnsi16()(39)\n },\n inactive: {\n open: wrapFn()(convertFn(theme.text.prompt.description.inactive)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.text.prompt.description.warning)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.text.prompt.description.error)),\n close: wrapAnsi16()(39)\n },\n submitted: {\n open: wrapFn()(convertFn(theme.text.prompt.description.submitted)),\n close: wrapAnsi16()(39)\n },\n cancelled: {\n open: wrapFn()(convertFn(theme.text.prompt.description.cancelled)),\n close: wrapAnsi16()(39)\n },\n disabled: {\n open: wrapFn()(convertFn(theme.text.prompt.description.disabled)),\n close: wrapAnsi16()(39)\n }\n }\n }\n },\n border: {\n banner: {\n divider: {\n primary: {\n open: wrapFn()(convertFn(theme.border.banner.divider.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.border.banner.divider.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.border.banner.divider.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n outline: {\n primary: {\n open: wrapFn()(convertFn(theme.border.banner.outline.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.border.banner.outline.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.border.banner.outline.tertiary)),\n close: wrapAnsi16()(39)\n }\n }\n },\n app: {\n divider: {\n primary: {\n open: wrapFn()(convertFn(theme.border.app.divider.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.border.app.divider.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.border.app.divider.tertiary)),\n close: wrapAnsi16()(39)\n }\n },\n table: {\n primary: {\n open: wrapFn()(convertFn(theme.border.app.table.primary)),\n close: wrapAnsi16()(39)\n },\n secondary: {\n open: wrapFn()(convertFn(theme.border.app.table.secondary)),\n close: wrapAnsi16()(39)\n },\n tertiary: {\n open: wrapFn()(convertFn(theme.border.app.table.tertiary)),\n close: wrapAnsi16()(39)\n }\n }\n },\n message: {\n divider: {\n help: {\n open: wrapFn()(convertFn(theme.border.message.divider.help)),\n close: wrapAnsi16()(39)\n },\n success: {\n open: wrapFn()(convertFn(theme.border.message.divider.success)),\n close: wrapAnsi16()(39)\n },\n info: {\n open: wrapFn()(convertFn(theme.border.message.divider.info)),\n close: wrapAnsi16()(39)\n },\n debug: {\n open: wrapFn()(convertFn(theme.border.message.divider.debug)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.border.message.divider.warning)),\n close: wrapAnsi16()(39)\n },\n danger: {\n open: wrapFn()(convertFn(theme.border.message.divider.danger)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.border.message.divider.error)),\n close: wrapAnsi16()(39)\n }\n },\n outline: {\n help: {\n open: wrapFn()(convertFn(theme.border.message.outline.help)),\n close: wrapAnsi16()(39)\n },\n success: {\n open: wrapFn()(convertFn(theme.border.message.outline.success)),\n close: wrapAnsi16()(39)\n },\n info: {\n open: wrapFn()(convertFn(theme.border.message.outline.info)),\n close: wrapAnsi16()(39)\n },\n debug: {\n open: wrapFn()(convertFn(theme.border.message.outline.debug)),\n close: wrapAnsi16()(39)\n },\n warning: {\n open: wrapFn()(convertFn(theme.border.message.outline.warning)),\n close: wrapAnsi16()(39)\n },\n danger: {\n open: wrapFn()(convertFn(theme.border.message.outline.danger)),\n close: wrapAnsi16()(39)\n },\n error: {\n open: wrapFn()(convertFn(theme.border.message.outline.error)),\n close: wrapAnsi16()(39)\n }\n }\n }\n }\n };\n}\n\n/**\n * Generates ANSI styles based on the provided context.\n *\n * @param theme - The theme colors configuration.\n * @returns The generated ANSI styles.\n */\nexport function getAnsiStyles(theme: ThemeColorsResolvedConfig): AnsiStyles {\n const output = { ansi16: {}, ansi256: {}, ansi16m: {} } as AnsiStyles;\n\n for (const [key, value] of Object.entries(modifiers) as [\n BaseAnsiStylesKeys,\n [number, number]\n ][]) {\n output.ansi16[key] = {\n open: wrapAnsi16()(value[0]),\n close: wrapAnsi16()(value[1])\n };\n\n output.ansi256[key] = {\n open: wrapAnsi16()(value[0]),\n close: wrapAnsi16()(value[1])\n };\n\n output.ansi16m[key] = {\n open: wrapAnsi16()(value[0]),\n close: wrapAnsi16()(value[1])\n };\n }\n\n for (const [key, value] of Object.entries(colors) as [\n BaseAnsiStylesKeys,\n [number, number]\n ][]) {\n output.ansi16[key] = {\n open: wrapAnsi16()(value[0]),\n close: wrapAnsi16()(value[1])\n };\n\n output.ansi256[key] = {\n open: wrapAnsi16()(value[0]),\n close: wrapAnsi16()(value[1])\n };\n\n output.ansi16m[key] = {\n open: wrapAnsi16()(value[0]),\n close: wrapAnsi16()(value[1])\n };\n }\n\n for (const [key, value] of Object.entries(bgColors) as [\n BaseAnsiStylesKeys,\n [number, number]\n ][]) {\n output.ansi16[key] = {\n open: wrapAnsi16(ANSI_BACKGROUND_OFFSET)(value[0]),\n close: wrapAnsi16(ANSI_BACKGROUND_OFFSET)(value[1])\n };\n\n output.ansi256[key] = {\n open: wrapAnsi16(ANSI_BACKGROUND_OFFSET)(value[0]),\n close: wrapAnsi16(ANSI_BACKGROUND_OFFSET)(value[1])\n };\n\n output.ansi16m[key] = {\n open: wrapAnsi16(ANSI_BACKGROUND_OFFSET)(value[0]),\n close: wrapAnsi16(ANSI_BACKGROUND_OFFSET)(value[1])\n };\n }\n\n output.ansi16.theme = buildThemeAnsiStyles(theme, wrapAnsi16, hexToAnsi);\n output.ansi256.theme = buildThemeAnsiStyles(theme, wrapAnsi256, hexToAnsi256);\n output.ansi16m.theme = buildThemeAnsiStyles(\n theme,\n wrapAnsi16m,\n (code: string) => code\n );\n\n return output;\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ const require_helpers_ansi_utils = require('./ansi-utils.cjs');
2
+
3
+ exports.bgColors = require_helpers_ansi_utils.bgColors;
4
+ exports.colors = require_helpers_ansi_utils.colors;
5
+ exports.getAnsiStyles = require_helpers_ansi_utils.getAnsiStyles;
6
+ exports.modifiers = require_helpers_ansi_utils.modifiers;
@@ -0,0 +1,2 @@
1
+ import { AnsiStyles, AnsiWrappers, BaseAnsiStyles, BaseAnsiStylesKeys, ThemeAnsiStyles, bgColors, colors, getAnsiStyles, modifiers } from "./ansi-utils.cjs";
2
+ export { AnsiStyles, AnsiWrappers, BaseAnsiStyles, BaseAnsiStylesKeys, ThemeAnsiStyles, bgColors, colors, getAnsiStyles, modifiers };
@@ -0,0 +1,2 @@
1
+ import { AnsiStyles, AnsiWrappers, BaseAnsiStyles, BaseAnsiStylesKeys, ThemeAnsiStyles, bgColors, colors, getAnsiStyles, modifiers } from "./ansi-utils.mjs";
2
+ export { AnsiStyles, AnsiWrappers, BaseAnsiStyles, BaseAnsiStylesKeys, ThemeAnsiStyles, bgColors, colors, getAnsiStyles, modifiers };
@@ -0,0 +1,3 @@
1
+ import { bgColors, colors, getAnsiStyles, modifiers } from "./ansi-utils.mjs";
2
+
3
+ export { bgColors, colors, getAnsiStyles, modifiers };
package/dist/index.cjs CHANGED
@@ -7,6 +7,8 @@ const require_labels = require('./style-dictionary/labels.cjs');
7
7
  const require_padding = require('./style-dictionary/padding.cjs');
8
8
  const require_settings = require('./style-dictionary/settings.cjs');
9
9
  const require_storm = require('./themes/storm.cjs');
10
+ let __powerlines_plugin_alloy = require("@powerlines/plugin-alloy");
11
+ __powerlines_plugin_alloy = require_rolldown_runtime.__toESM(__powerlines_plugin_alloy);
10
12
  let __powerlines_plugin_style_dictionary = require("@powerlines/plugin-style-dictionary");
11
13
  __powerlines_plugin_style_dictionary = require_rolldown_runtime.__toESM(__powerlines_plugin_style_dictionary);
12
14
  let __stryke_helpers_omit = require("@stryke/helpers/omit");
@@ -19,55 +21,59 @@ defu = require_rolldown_runtime.__toESM(defu);
19
21
  * The Style Dictionary - Shell Shock plugin to use Style Dictionary tokens to select theme colors to Shell Shock projects.
20
22
  */
21
23
  const plugin = (options = {}) => {
22
- return [(0, __powerlines_plugin_style_dictionary.default)((0, defu.default)({ skipBuild: false }, (0, __stryke_helpers_omit.omit)(options, ["theme"]))), {
23
- name: "shell-shock:theme",
24
- config() {
25
- this.debug("Providing default configuration for the Shell Shock `theme` plugin.");
26
- return {
27
- theme: options.theme,
28
- styleDictionary: { customPreprocessors: (context) => ({
29
- "shell-shock/colors": require_colors.colors(context),
30
- "shell-shock/border-styles": require_border_styles.borderStyles(context),
31
- "shell-shock/padding": require_padding.padding(context),
32
- "shell-shock/icons": require_icons.icons(context),
33
- "shell-shock/labels": require_labels.labels(context),
34
- "shell-shock/settings": require_settings.settings(context)
35
- }) }
36
- };
37
- },
38
- configResolved: {
39
- order: "pre",
40
- async handler() {
41
- this.debug("Shell Shock `theme` plugin configuration resolved.");
42
- this.config.styleDictionary = (0, defu.default)(this.config.styleDictionary, {
43
- tokens: (0, __stryke_type_checks_is_set_object.isSetObject)(this.config.theme) ? (0, defu.default)(this.config.theme, require_storm.theme) : require_storm.theme,
44
- platforms: { js: {
45
- preprocessors: [
46
- "shell-shock/colors",
47
- "shell-shock/border-styles",
48
- "shell-shock/padding",
49
- "shell-shock/icons",
50
- "shell-shock/labels",
51
- "shell-shock/settings"
52
- ],
53
- transformGroup: "js",
54
- transforms: ["name/camel"],
55
- fileHeader: "powerlines/file-header",
56
- buildPath: this.config.output.outputPath,
57
- files: [{
58
- format: "javascript/module",
59
- destination: "theme.js",
60
- options: { minify: this.config.mode === "production" }
61
- }, {
62
- format: "typescript/module-declarations",
63
- destination: "theme.d.ts",
64
- options: { minify: this.config.mode === "production" }
65
- }]
66
- } }
67
- });
24
+ return [
25
+ (0, __powerlines_plugin_style_dictionary.default)((0, defu.default)({ skipBuild: false }, (0, __stryke_helpers_omit.omit)(options, ["theme"]))),
26
+ ...(0, __powerlines_plugin_alloy.default)(options),
27
+ {
28
+ name: "shell-shock:theme",
29
+ config() {
30
+ this.debug("Providing default configuration for the Shell Shock `theme` plugin.");
31
+ return {
32
+ theme: options.theme,
33
+ styleDictionary: { customPreprocessors: (context) => ({
34
+ "shell-shock/colors": require_colors.colors(context),
35
+ "shell-shock/border-styles": require_border_styles.borderStyles(context),
36
+ "shell-shock/padding": require_padding.padding(context),
37
+ "shell-shock/icons": require_icons.icons(context),
38
+ "shell-shock/labels": require_labels.labels(context),
39
+ "shell-shock/settings": require_settings.settings(context)
40
+ }) }
41
+ };
42
+ },
43
+ configResolved: {
44
+ order: "pre",
45
+ async handler() {
46
+ this.debug("Shell Shock `theme` plugin configuration resolved.");
47
+ this.config.styleDictionary = (0, defu.default)(this.config.styleDictionary, {
48
+ tokens: (0, __stryke_type_checks_is_set_object.isSetObject)(this.config.theme) ? (0, defu.default)(this.config.theme, require_storm.theme) : require_storm.theme,
49
+ platforms: { js: {
50
+ preprocessors: [
51
+ "shell-shock/colors",
52
+ "shell-shock/border-styles",
53
+ "shell-shock/padding",
54
+ "shell-shock/icons",
55
+ "shell-shock/labels",
56
+ "shell-shock/settings"
57
+ ],
58
+ transformGroup: "js",
59
+ transforms: ["name/camel"],
60
+ fileHeader: "powerlines/file-header",
61
+ buildPath: this.config.output.outputPath,
62
+ files: [{
63
+ format: "javascript/module",
64
+ destination: "theme.js",
65
+ options: { minify: this.config.mode === "production" }
66
+ }, {
67
+ format: "typescript/module-declarations",
68
+ destination: "theme.d.ts",
69
+ options: { minify: this.config.mode === "production" }
70
+ }]
71
+ } }
72
+ });
73
+ }
68
74
  }
69
75
  }
70
- }];
76
+ ];
71
77
  };
72
78
  var src_default = plugin;
73
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAsCa,cAAA,MA0EZ,EAAA,CAAA,iBAzEkB,kBAyElB,GAzEuC,kBAyEvC,CAAA,CAAA,OAAA,CAAA,EAvEU,kBAuEV,EAAA,GAtEE,MAsEF,CAtES,QAsET,CAAA,EAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAuCa,cAAA,MA2EZ,EAAA,CAAA,iBA1EkB,kBA0ElB,GA1EuC,kBA0EvC,CAAA,CAAA,OAAA,CAAA,EAxEU,kBAwEV,EAAA,GAvEE,MAuEF,CAvES,QAuET,CAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAsCa,cAAA,MA0EZ,EAAA,CAAA,iBAzEkB,kBAyElB,GAzEuC,kBAyEvC,CAAA,CAAA,OAAA,CAAA,EAvEU,kBAuEV,EAAA,GAtEE,MAsEF,CAtES,QAsET,CAAA,EAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAuCa,cAAA,MA2EZ,EAAA,CAAA,iBA1EkB,kBA0ElB,GA1EuC,kBA0EvC,CAAA,CAAA,OAAA,CAAA,EAxEU,kBAwEV,EAAA,GAvEE,MAuEF,CAvES,QAuET,CAAA,EAAA"}
package/dist/index.mjs CHANGED
@@ -5,6 +5,7 @@ import { labels } from "./style-dictionary/labels.mjs";
5
5
  import { padding } from "./style-dictionary/padding.mjs";
6
6
  import { settings } from "./style-dictionary/settings.mjs";
7
7
  import { theme } from "./themes/storm.mjs";
8
+ import alloy from "@powerlines/plugin-alloy";
8
9
  import styleDictionary from "@powerlines/plugin-style-dictionary";
9
10
  import { omit } from "@stryke/helpers/omit";
10
11
  import { isSetObject } from "@stryke/type-checks/is-set-object";
@@ -15,55 +16,59 @@ import defu from "defu";
15
16
  * The Style Dictionary - Shell Shock plugin to use Style Dictionary tokens to select theme colors to Shell Shock projects.
16
17
  */
17
18
  const plugin = (options = {}) => {
18
- return [styleDictionary(defu({ skipBuild: false }, omit(options, ["theme"]))), {
19
- name: "shell-shock:theme",
20
- config() {
21
- this.debug("Providing default configuration for the Shell Shock `theme` plugin.");
22
- return {
23
- theme: options.theme,
24
- styleDictionary: { customPreprocessors: (context) => ({
25
- "shell-shock/colors": colors(context),
26
- "shell-shock/border-styles": borderStyles(context),
27
- "shell-shock/padding": padding(context),
28
- "shell-shock/icons": icons(context),
29
- "shell-shock/labels": labels(context),
30
- "shell-shock/settings": settings(context)
31
- }) }
32
- };
33
- },
34
- configResolved: {
35
- order: "pre",
36
- async handler() {
37
- this.debug("Shell Shock `theme` plugin configuration resolved.");
38
- this.config.styleDictionary = defu(this.config.styleDictionary, {
39
- tokens: isSetObject(this.config.theme) ? defu(this.config.theme, theme) : theme,
40
- platforms: { js: {
41
- preprocessors: [
42
- "shell-shock/colors",
43
- "shell-shock/border-styles",
44
- "shell-shock/padding",
45
- "shell-shock/icons",
46
- "shell-shock/labels",
47
- "shell-shock/settings"
48
- ],
49
- transformGroup: "js",
50
- transforms: ["name/camel"],
51
- fileHeader: "powerlines/file-header",
52
- buildPath: this.config.output.outputPath,
53
- files: [{
54
- format: "javascript/module",
55
- destination: "theme.js",
56
- options: { minify: this.config.mode === "production" }
57
- }, {
58
- format: "typescript/module-declarations",
59
- destination: "theme.d.ts",
60
- options: { minify: this.config.mode === "production" }
61
- }]
62
- } }
63
- });
19
+ return [
20
+ styleDictionary(defu({ skipBuild: false }, omit(options, ["theme"]))),
21
+ ...alloy(options),
22
+ {
23
+ name: "shell-shock:theme",
24
+ config() {
25
+ this.debug("Providing default configuration for the Shell Shock `theme` plugin.");
26
+ return {
27
+ theme: options.theme,
28
+ styleDictionary: { customPreprocessors: (context) => ({
29
+ "shell-shock/colors": colors(context),
30
+ "shell-shock/border-styles": borderStyles(context),
31
+ "shell-shock/padding": padding(context),
32
+ "shell-shock/icons": icons(context),
33
+ "shell-shock/labels": labels(context),
34
+ "shell-shock/settings": settings(context)
35
+ }) }
36
+ };
37
+ },
38
+ configResolved: {
39
+ order: "pre",
40
+ async handler() {
41
+ this.debug("Shell Shock `theme` plugin configuration resolved.");
42
+ this.config.styleDictionary = defu(this.config.styleDictionary, {
43
+ tokens: isSetObject(this.config.theme) ? defu(this.config.theme, theme) : theme,
44
+ platforms: { js: {
45
+ preprocessors: [
46
+ "shell-shock/colors",
47
+ "shell-shock/border-styles",
48
+ "shell-shock/padding",
49
+ "shell-shock/icons",
50
+ "shell-shock/labels",
51
+ "shell-shock/settings"
52
+ ],
53
+ transformGroup: "js",
54
+ transforms: ["name/camel"],
55
+ fileHeader: "powerlines/file-header",
56
+ buildPath: this.config.output.outputPath,
57
+ files: [{
58
+ format: "javascript/module",
59
+ destination: "theme.js",
60
+ options: { minify: this.config.mode === "production" }
61
+ }, {
62
+ format: "typescript/module-declarations",
63
+ destination: "theme.d.ts",
64
+ options: { minify: this.config.mode === "production" }
65
+ }]
66
+ } }
67
+ });
68
+ }
64
69
  }
65
70
  }
66
- }];
71
+ ];
67
72
  };
68
73
  var src_default = plugin;
69
74
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["defaultTheme"],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport styleDictionary from \"@powerlines/plugin-style-dictionary\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport defu from \"defu\";\nimport type { Plugin } from \"powerlines\";\nimport type { Config } from \"style-dictionary/types\";\nimport { borderStyles } from \"./style-dictionary/border-styles\";\nimport { colors } from \"./style-dictionary/colors\";\nimport { icons } from \"./style-dictionary/icons\";\nimport { labels } from \"./style-dictionary/labels\";\nimport { padding } from \"./style-dictionary/padding\";\nimport { settings } from \"./style-dictionary/settings\";\nimport { theme as defaultTheme } from \"./themes/storm\";\nimport type { ThemePluginContext, ThemePluginOptions } from \"./types/plugin\";\n\nexport * from \"./types\";\n\n/**\n * The Style Dictionary - Shell Shock plugin to use Style Dictionary tokens to select theme colors to Shell Shock projects.\n */\nexport const plugin = <\n TContext extends ThemePluginContext = ThemePluginContext\n>(\n options: ThemePluginOptions = {}\n): Plugin<TContext>[] => {\n return [\n styleDictionary(defu({ skipBuild: false }, omit(options, [\"theme\"]))),\n {\n name: \"shell-shock:theme\",\n config() {\n this.debug(\n \"Providing default configuration for the Shell Shock `theme` plugin.\"\n );\n\n return {\n theme: options.theme,\n styleDictionary: {\n customPreprocessors: (context: TContext) => ({\n \"shell-shock/colors\": colors(context),\n \"shell-shock/border-styles\": borderStyles(context),\n \"shell-shock/padding\": padding(context),\n \"shell-shock/icons\": icons(context),\n \"shell-shock/labels\": labels(context),\n \"shell-shock/settings\": settings(context)\n })\n }\n };\n },\n configResolved: {\n order: \"pre\",\n async handler() {\n this.debug(\"Shell Shock `theme` plugin configuration resolved.\");\n\n this.config.styleDictionary = defu(this.config.styleDictionary, {\n tokens: isSetObject(this.config.theme)\n ? defu(this.config.theme, defaultTheme)\n : defaultTheme,\n platforms: {\n js: {\n preprocessors: [\n \"shell-shock/colors\",\n \"shell-shock/border-styles\",\n \"shell-shock/padding\",\n \"shell-shock/icons\",\n \"shell-shock/labels\",\n \"shell-shock/settings\"\n ],\n transformGroup: \"js\",\n transforms: [\"name/camel\"],\n fileHeader: \"powerlines/file-header\",\n buildPath: this.config.output.outputPath,\n files: [\n {\n format: \"javascript/module\",\n destination: \"theme.js\",\n options: {\n minify: this.config.mode === \"production\"\n }\n },\n {\n format: \"typescript/module-declarations\",\n destination: \"theme.d.ts\",\n options: {\n minify: this.config.mode === \"production\"\n }\n }\n ]\n }\n }\n } as Config);\n }\n }\n }\n ];\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;AAsCA,MAAa,UAGX,UAA8B,EAAE,KACT;AACvB,QAAO,CACL,gBAAgB,KAAK,EAAE,WAAW,OAAO,EAAE,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EACrE;EACE,MAAM;EACN,SAAS;AACP,QAAK,MACH,sEACD;AAED,UAAO;IACL,OAAO,QAAQ;IACf,iBAAiB,EACf,sBAAsB,aAAuB;KAC3C,sBAAsB,OAAO,QAAQ;KACrC,6BAA6B,aAAa,QAAQ;KAClD,uBAAuB,QAAQ,QAAQ;KACvC,qBAAqB,MAAM,QAAQ;KACnC,sBAAsB,OAAO,QAAQ;KACrC,wBAAwB,SAAS,QAAQ;KAC1C,GACF;IACF;;EAEH,gBAAgB;GACd,OAAO;GACP,MAAM,UAAU;AACd,SAAK,MAAM,qDAAqD;AAEhE,SAAK,OAAO,kBAAkB,KAAK,KAAK,OAAO,iBAAiB;KAC9D,QAAQ,YAAY,KAAK,OAAO,MAAM,GAClC,KAAK,KAAK,OAAO,OAAOA,MAAa,GACrCA;KACJ,WAAW,EACT,IAAI;MACF,eAAe;OACb;OACA;OACA;OACA;OACA;OACA;OACD;MACD,gBAAgB;MAChB,YAAY,CAAC,aAAa;MAC1B,YAAY;MACZ,WAAW,KAAK,OAAO,OAAO;MAC9B,OAAO,CACL;OACE,QAAQ;OACR,aAAa;OACb,SAAS,EACP,QAAQ,KAAK,OAAO,SAAS,cAC9B;OACF,EACD;OACE,QAAQ;OACR,aAAa;OACb,SAAS,EACP,QAAQ,KAAK,OAAO,SAAS,cAC9B;OACF,CACF;MACF,EACF;KACF,CAAW;;GAEf;EACF,CACF;;AAGH,kBAAe"}
1
+ {"version":3,"file":"index.mjs","names":["alloy","styleDictionary","omit","isSetObject","defu","borderStyles","colors","icons","labels","padding","settings","theme","defaultTheme","plugin","options","skipBuild","name","config","debug","customPreprocessors","context","configResolved","order","handler","tokens","platforms","js","preprocessors","transformGroup","transforms","fileHeader","buildPath","output","outputPath","files","format","destination","minify","mode"],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport alloy from \"@powerlines/plugin-alloy\";\nimport styleDictionary from \"@powerlines/plugin-style-dictionary\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport defu from \"defu\";\nimport type { Plugin } from \"powerlines\";\nimport type { Config } from \"style-dictionary/types\";\nimport { borderStyles } from \"./style-dictionary/border-styles\";\nimport { colors } from \"./style-dictionary/colors\";\nimport { icons } from \"./style-dictionary/icons\";\nimport { labels } from \"./style-dictionary/labels\";\nimport { padding } from \"./style-dictionary/padding\";\nimport { settings } from \"./style-dictionary/settings\";\nimport { theme as defaultTheme } from \"./themes/storm\";\nimport type { ThemePluginContext, ThemePluginOptions } from \"./types/plugin\";\n\nexport * from \"./types\";\n\n/**\n * The Style Dictionary - Shell Shock plugin to use Style Dictionary tokens to select theme colors to Shell Shock projects.\n */\nexport const plugin = <\n TContext extends ThemePluginContext = ThemePluginContext\n>(\n options: ThemePluginOptions = {}\n): Plugin<TContext>[] => {\n return [\n styleDictionary(defu({ skipBuild: false }, omit(options, [\"theme\"]))),\n ...alloy(options),\n {\n name: \"shell-shock:theme\",\n config() {\n this.debug(\n \"Providing default configuration for the Shell Shock `theme` plugin.\"\n );\n\n return {\n theme: options.theme,\n styleDictionary: {\n customPreprocessors: (context: TContext) => ({\n \"shell-shock/colors\": colors(context),\n \"shell-shock/border-styles\": borderStyles(context),\n \"shell-shock/padding\": padding(context),\n \"shell-shock/icons\": icons(context),\n \"shell-shock/labels\": labels(context),\n \"shell-shock/settings\": settings(context)\n })\n }\n };\n },\n configResolved: {\n order: \"pre\",\n async handler() {\n this.debug(\"Shell Shock `theme` plugin configuration resolved.\");\n\n this.config.styleDictionary = defu(this.config.styleDictionary, {\n tokens: isSetObject(this.config.theme)\n ? defu(this.config.theme, defaultTheme)\n : defaultTheme,\n platforms: {\n js: {\n preprocessors: [\n \"shell-shock/colors\",\n \"shell-shock/border-styles\",\n \"shell-shock/padding\",\n \"shell-shock/icons\",\n \"shell-shock/labels\",\n \"shell-shock/settings\"\n ],\n transformGroup: \"js\",\n transforms: [\"name/camel\"],\n fileHeader: \"powerlines/file-header\",\n buildPath: this.config.output.outputPath,\n files: [\n {\n format: \"javascript/module\",\n destination: \"theme.js\",\n options: {\n minify: this.config.mode === \"production\"\n }\n },\n {\n format: \"typescript/module-declarations\",\n destination: \"theme.d.ts\",\n options: {\n minify: this.config.mode === \"production\"\n }\n }\n ]\n }\n }\n } as Config);\n }\n }\n }\n ] as Plugin<TContext>[];\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;;AAuCA,MAAaa,UAGXC,UAA8B,EAAE,KACT;AACvB,QAAO;EACLb,gBAAgBG,KAAK,EAAEW,WAAW,OAAO,EAAEb,KAAKY,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;EACrE,GAAGd,MAAMc,QAAQ;EACjB;GACEE,MAAM;GACNC,SAAS;AACP,SAAKC,MACH,sEACD;AAED,WAAO;KACLP,OAAOG,QAAQH;KACfV,iBAAiB,EACfkB,sBAAsBC,aAAuB;MAC3C,sBAAsBd,OAAOc,QAAQ;MACrC,6BAA6Bf,aAAae,QAAQ;MAClD,uBAAuBX,QAAQW,QAAQ;MACvC,qBAAqBb,MAAMa,QAAQ;MACnC,sBAAsBZ,OAAOY,QAAQ;MACrC,wBAAwBV,SAASU,QAAO;MACzC,GACH;KACD;;GAEHC,gBAAgB;IACdC,OAAO;IACP,MAAMC,UAAU;AACd,UAAKL,MAAM,qDAAqD;AAEhE,UAAKD,OAAOhB,kBAAkBG,KAAK,KAAKa,OAAOhB,iBAAiB;MAC9DuB,QAAQrB,YAAY,KAAKc,OAAON,MAAM,GAClCP,KAAK,KAAKa,OAAON,OAAOC,MAAa,GACrCA;MACJa,WAAW,EACTC,IAAI;OACFC,eAAe;QACb;QACA;QACA;QACA;QACA;QACA;QACD;OACDC,gBAAgB;OAChBC,YAAY,CAAC,aAAa;OAC1BC,YAAY;OACZC,WAAW,KAAKd,OAAOe,OAAOC;OAC9BC,OAAO,CACL;QACEC,QAAQ;QACRC,aAAa;QACbtB,SAAS,EACPuB,QAAQ,KAAKpB,OAAOqB,SAAS,cAC/B;QACD,EACD;QACEH,QAAQ;QACRC,aAAa;QACbtB,SAAS,EACPuB,QAAQ,KAAKpB,OAAOqB,SAAS,cAC/B;QACD,CAAA;OAEL,EACF;MACS,CAAC;;IAEhB;GACD;EACF;;AAGH,kBAAezB"}
@@ -1 +1 @@
1
- {"version":3,"file":"border-styles.mjs","names":["borderStyles"],"sources":["../../src/style-dictionary/border-styles.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeBorderStyleAppSubItemUserConfig,\n ThemeBorderStyleMessageStateUserConfig,\n ThemeBorderStyleSectionTypesUserConfig,\n ThemeBorderStylesResolvedConfig,\n ThemeBorderStyleSubItemUserConfig,\n ThemeBorderStylesUserConfig,\n ThemeResolvedConfig,\n ThemeStyleBorderIdentifiers\n} from \"../types/theme\";\nimport { mergeThemes, resolveBorderStyle } from \"./helpers\";\n\n/**\n * Shell Shock - Theme Border Styles Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const borderStyles = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/border-styles\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region BorderStyles\n\n resolvedConfig.borderStyles ??= {\n banner: { outline: {}, divider: {} },\n message: { outline: {}, divider: {} },\n app: { table: {}, divider: {} }\n } as ThemeBorderStylesResolvedConfig;\n const borderStyles = dictionary.borderStyles as ThemeBorderStylesUserConfig;\n\n if (isSetString(borderStyles)) {\n const borderStyle = resolveBorderStyle(\n borderStyles as ThemeStyleBorderIdentifiers\n );\n\n resolvedConfig.borderStyles = {\n banner: {\n outline: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n },\n message: {\n outline: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n },\n divider: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n }\n },\n app: {\n table: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n }\n };\n } else if (isSetObject(borderStyles)) {\n resolvedConfig.borderStyles.banner ??= {\n outline: {},\n divider: {}\n } as ThemeBorderStylesResolvedConfig[\"banner\"];\n const banner = borderStyles.banner;\n\n if (isSetString(banner)) {\n const borderStyle = resolveBorderStyle(banner);\n\n resolvedConfig.borderStyles.banner = {\n outline: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.borderStyles.banner ??=\n {} as ThemeBorderStylesResolvedConfig[\"banner\"];\n const outline = (\n banner as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).outline;\n\n if (isSetString(outline)) {\n const borderStyle = resolveBorderStyle(outline);\n\n resolvedConfig.borderStyles.banner.outline = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(outline)) {\n resolvedConfig.borderStyles.banner.outline =\n {} as ThemeBorderStylesResolvedConfig[\"banner\"][\"outline\"];\n\n if (\n isSetString(\n (outline as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.banner.outline.primary =\n resolveBorderStyle(\n (outline as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.banner.outline.secondary =\n resolveBorderStyle(\n (outline as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.banner.outline.tertiary =\n resolveBorderStyle(\n (outline as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n\n const divider = (\n banner as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).divider;\n\n if (isSetString(divider)) {\n const borderStyle = resolveBorderStyle(divider);\n\n resolvedConfig.borderStyles.banner.divider = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(divider)) {\n resolvedConfig.borderStyles.banner.divider =\n {} as ThemeBorderStylesResolvedConfig[\"banner\"][\"divider\"];\n\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.banner.divider.primary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.banner.divider.secondary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.banner.divider.tertiary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n }\n\n resolvedConfig.borderStyles.app ??= {\n table: {},\n divider: {}\n } as ThemeBorderStylesResolvedConfig[\"app\"];\n const app = borderStyles.app;\n\n if (isSetString(app)) {\n const borderStyle = resolveBorderStyle(app);\n\n resolvedConfig.borderStyles.app = {\n table: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n };\n } else if (isSetObject(app)) {\n resolvedConfig.borderStyles.app ??=\n {} as ThemeBorderStylesResolvedConfig[\"app\"];\n\n const table = (\n app as ThemeBorderStyleAppSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).table;\n\n if (isSetString(table)) {\n const borderStyle = resolveBorderStyle(table);\n\n resolvedConfig.borderStyles.app.table = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(table)) {\n resolvedConfig.borderStyles.app.table =\n {} as ThemeBorderStylesResolvedConfig[\"app\"][\"table\"];\n\n if (\n isSetString(\n (table as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.app.table.primary = resolveBorderStyle(\n (table as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (table as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.app.table.secondary =\n resolveBorderStyle(\n (table as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (table as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.app.table.tertiary = resolveBorderStyle(\n (table as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n\n const divider = (\n app as ThemeBorderStyleAppSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).divider;\n\n if (isSetString(divider)) {\n const borderStyle = resolveBorderStyle(divider);\n\n resolvedConfig.borderStyles.app.divider = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(divider)) {\n resolvedConfig.borderStyles.app.divider =\n {} as ThemeBorderStylesResolvedConfig[\"app\"][\"divider\"];\n\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.app.divider.primary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.app.divider.secondary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.app.divider.tertiary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n }\n\n resolvedConfig.borderStyles.message ??=\n {} as ThemeBorderStylesResolvedConfig[\"message\"];\n const message = borderStyles.message;\n\n if (isSetString(message)) {\n const borderStyle = resolveBorderStyle(message);\n\n resolvedConfig.borderStyles.message = {\n outline: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n },\n divider: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n }\n };\n } else if (isSetObject(message)) {\n const outline = (\n message as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).outline;\n\n if (isSetString(outline)) {\n const borderStyle = resolveBorderStyle(outline);\n\n resolvedConfig.borderStyles.message.outline = {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n };\n } else if (isSetObject(outline)) {\n resolvedConfig.borderStyles.message.outline =\n {} as ThemeBorderStylesResolvedConfig[\"message\"][\"outline\"];\n\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).help\n )\n ) {\n resolvedConfig.borderStyles.message.outline.help =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .help as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).success\n )\n ) {\n resolvedConfig.borderStyles.message.outline.success =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .success as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).info\n )\n ) {\n resolvedConfig.borderStyles.message.outline.info =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .info as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).debug\n )\n ) {\n resolvedConfig.borderStyles.message.outline.debug =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .debug as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).warning\n )\n ) {\n resolvedConfig.borderStyles.message.outline.warning =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .warning as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).danger\n )\n ) {\n resolvedConfig.borderStyles.message.outline.danger =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .danger as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).error\n )\n ) {\n resolvedConfig.borderStyles.message.outline.error =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .error as ThemeStyleBorderIdentifiers\n );\n }\n }\n\n resolvedConfig.borderStyles.message.divider ??=\n {} as ThemeBorderStylesResolvedConfig[\"message\"][\"divider\"];\n const divider = (\n message as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).divider;\n\n if (isSetString(divider)) {\n const borderStyle = resolveBorderStyle(divider);\n\n resolvedConfig.borderStyles.message.divider = {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n };\n } else if (isSetObject(divider)) {\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).help\n )\n ) {\n resolvedConfig.borderStyles.message.divider.help =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .help as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).success\n )\n ) {\n resolvedConfig.borderStyles.message.divider.success =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .success as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).info\n )\n ) {\n resolvedConfig.borderStyles.message.divider.info =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .info as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).debug\n )\n ) {\n resolvedConfig.borderStyles.message.divider.debug =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .debug as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).warning\n )\n ) {\n resolvedConfig.borderStyles.message.divider.warning =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .warning as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).danger\n )\n ) {\n resolvedConfig.borderStyles.message.divider.danger =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .danger as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).error\n )\n ) {\n resolvedConfig.borderStyles.message.divider.error =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .error as ThemeStyleBorderIdentifiers\n );\n }\n }\n }\n }\n\n // #endregion BorderStyles\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"border-styles.mjs","names":["isSetObject","isSetString","mergeThemes","resolveBorderStyle","borderStyles","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","banner","outline","divider","message","app","table","borderStyle","primary","secondary","tertiary","help","success","info","debug","warning","danger","error"],"sources":["../../src/style-dictionary/border-styles.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeBorderStyleAppSubItemUserConfig,\n ThemeBorderStyleMessageStateUserConfig,\n ThemeBorderStyleSectionTypesUserConfig,\n ThemeBorderStylesResolvedConfig,\n ThemeBorderStyleSubItemUserConfig,\n ThemeBorderStylesUserConfig,\n ThemeResolvedConfig,\n ThemeStyleBorderIdentifiers\n} from \"../types/theme\";\nimport { mergeThemes, resolveBorderStyle } from \"./helpers\";\n\n/**\n * Shell Shock - Theme Border Styles Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const borderStyles = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/border-styles\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region BorderStyles\n\n resolvedConfig.borderStyles ??= {\n banner: { outline: {}, divider: {} },\n message: { outline: {}, divider: {} },\n app: { table: {}, divider: {} }\n } as ThemeBorderStylesResolvedConfig;\n const borderStyles = dictionary.borderStyles as ThemeBorderStylesUserConfig;\n\n if (isSetString(borderStyles)) {\n const borderStyle = resolveBorderStyle(\n borderStyles as ThemeStyleBorderIdentifiers\n );\n\n resolvedConfig.borderStyles = {\n banner: {\n outline: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n },\n message: {\n outline: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n },\n divider: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n }\n },\n app: {\n table: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n }\n };\n } else if (isSetObject(borderStyles)) {\n resolvedConfig.borderStyles.banner ??= {\n outline: {},\n divider: {}\n } as ThemeBorderStylesResolvedConfig[\"banner\"];\n const banner = borderStyles.banner;\n\n if (isSetString(banner)) {\n const borderStyle = resolveBorderStyle(banner);\n\n resolvedConfig.borderStyles.banner = {\n outline: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.borderStyles.banner ??=\n {} as ThemeBorderStylesResolvedConfig[\"banner\"];\n const outline = (\n banner as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).outline;\n\n if (isSetString(outline)) {\n const borderStyle = resolveBorderStyle(outline);\n\n resolvedConfig.borderStyles.banner.outline = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(outline)) {\n resolvedConfig.borderStyles.banner.outline =\n {} as ThemeBorderStylesResolvedConfig[\"banner\"][\"outline\"];\n\n if (\n isSetString(\n (outline as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.banner.outline.primary =\n resolveBorderStyle(\n (outline as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.banner.outline.secondary =\n resolveBorderStyle(\n (outline as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.banner.outline.tertiary =\n resolveBorderStyle(\n (outline as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n\n const divider = (\n banner as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).divider;\n\n if (isSetString(divider)) {\n const borderStyle = resolveBorderStyle(divider);\n\n resolvedConfig.borderStyles.banner.divider = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(divider)) {\n resolvedConfig.borderStyles.banner.divider =\n {} as ThemeBorderStylesResolvedConfig[\"banner\"][\"divider\"];\n\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.banner.divider.primary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.banner.divider.secondary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.banner.divider.tertiary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n }\n\n resolvedConfig.borderStyles.app ??= {\n table: {},\n divider: {}\n } as ThemeBorderStylesResolvedConfig[\"app\"];\n const app = borderStyles.app;\n\n if (isSetString(app)) {\n const borderStyle = resolveBorderStyle(app);\n\n resolvedConfig.borderStyles.app = {\n table: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n },\n divider: {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n }\n };\n } else if (isSetObject(app)) {\n resolvedConfig.borderStyles.app ??=\n {} as ThemeBorderStylesResolvedConfig[\"app\"];\n\n const table = (\n app as ThemeBorderStyleAppSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).table;\n\n if (isSetString(table)) {\n const borderStyle = resolveBorderStyle(table);\n\n resolvedConfig.borderStyles.app.table = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(table)) {\n resolvedConfig.borderStyles.app.table =\n {} as ThemeBorderStylesResolvedConfig[\"app\"][\"table\"];\n\n if (\n isSetString(\n (table as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.app.table.primary = resolveBorderStyle(\n (table as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (table as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.app.table.secondary =\n resolveBorderStyle(\n (table as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (table as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.app.table.tertiary = resolveBorderStyle(\n (table as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n\n const divider = (\n app as ThemeBorderStyleAppSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).divider;\n\n if (isSetString(divider)) {\n const borderStyle = resolveBorderStyle(divider);\n\n resolvedConfig.borderStyles.app.divider = {\n primary: borderStyle,\n secondary: borderStyle,\n tertiary: borderStyle\n };\n } else if (isSetObject(divider)) {\n resolvedConfig.borderStyles.app.divider =\n {} as ThemeBorderStylesResolvedConfig[\"app\"][\"divider\"];\n\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).primary\n )\n ) {\n resolvedConfig.borderStyles.app.divider.primary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .primary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).secondary\n )\n ) {\n resolvedConfig.borderStyles.app.divider.secondary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .secondary as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleSectionTypesUserConfig).tertiary\n )\n ) {\n resolvedConfig.borderStyles.app.divider.tertiary =\n resolveBorderStyle(\n (divider as ThemeBorderStyleSectionTypesUserConfig)\n .tertiary as ThemeStyleBorderIdentifiers\n );\n }\n }\n }\n\n resolvedConfig.borderStyles.message ??=\n {} as ThemeBorderStylesResolvedConfig[\"message\"];\n const message = borderStyles.message;\n\n if (isSetString(message)) {\n const borderStyle = resolveBorderStyle(message);\n\n resolvedConfig.borderStyles.message = {\n outline: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n },\n divider: {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n }\n };\n } else if (isSetObject(message)) {\n const outline = (\n message as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).outline;\n\n if (isSetString(outline)) {\n const borderStyle = resolveBorderStyle(outline);\n\n resolvedConfig.borderStyles.message.outline = {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n };\n } else if (isSetObject(outline)) {\n resolvedConfig.borderStyles.message.outline =\n {} as ThemeBorderStylesResolvedConfig[\"message\"][\"outline\"];\n\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).help\n )\n ) {\n resolvedConfig.borderStyles.message.outline.help =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .help as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).success\n )\n ) {\n resolvedConfig.borderStyles.message.outline.success =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .success as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).info\n )\n ) {\n resolvedConfig.borderStyles.message.outline.info =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .info as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).debug\n )\n ) {\n resolvedConfig.borderStyles.message.outline.debug =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .debug as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).warning\n )\n ) {\n resolvedConfig.borderStyles.message.outline.warning =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .warning as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).danger\n )\n ) {\n resolvedConfig.borderStyles.message.outline.danger =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .danger as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (outline as ThemeBorderStyleMessageStateUserConfig).error\n )\n ) {\n resolvedConfig.borderStyles.message.outline.error =\n resolveBorderStyle(\n (outline as ThemeBorderStyleMessageStateUserConfig)\n .error as ThemeStyleBorderIdentifiers\n );\n }\n }\n\n resolvedConfig.borderStyles.message.divider ??=\n {} as ThemeBorderStylesResolvedConfig[\"message\"][\"divider\"];\n const divider = (\n message as ThemeBorderStyleSubItemUserConfig<ThemeBorderStyleSectionTypesUserConfig>\n ).divider;\n\n if (isSetString(divider)) {\n const borderStyle = resolveBorderStyle(divider);\n\n resolvedConfig.borderStyles.message.divider = {\n help: borderStyle,\n success: borderStyle,\n info: borderStyle,\n debug: borderStyle,\n warning: borderStyle,\n danger: borderStyle,\n error: borderStyle\n };\n } else if (isSetObject(divider)) {\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).help\n )\n ) {\n resolvedConfig.borderStyles.message.divider.help =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .help as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).success\n )\n ) {\n resolvedConfig.borderStyles.message.divider.success =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .success as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).info\n )\n ) {\n resolvedConfig.borderStyles.message.divider.info =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .info as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).debug\n )\n ) {\n resolvedConfig.borderStyles.message.divider.debug =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .debug as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).warning\n )\n ) {\n resolvedConfig.borderStyles.message.divider.warning =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .warning as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).danger\n )\n ) {\n resolvedConfig.borderStyles.message.divider.danger =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .danger as ThemeStyleBorderIdentifiers\n );\n }\n if (\n isSetString(\n (divider as ThemeBorderStyleMessageStateUserConfig).error\n )\n ) {\n resolvedConfig.borderStyles.message.divider.error =\n resolveBorderStyle(\n (divider as ThemeBorderStyleMessageStateUserConfig)\n .error as ThemeStyleBorderIdentifiers\n );\n }\n }\n }\n }\n\n // #endregion BorderStyles\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}