@shell-shock/plugin-theme 0.0.8 → 0.0.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.mjs","names":["banner","app","message"],"sources":["../../src/style-dictionary/preprocessor.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 { isNumber } from \"@stryke/type-checks/is-number\";\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 ThemeColorBannerSubItem,\n ThemeColorBodySubItem,\n ThemeColorBorderItemsResolvedConfig,\n ThemeColorBorderItemsUserConfig,\n ThemeColorMessageState,\n ThemeColorMessageSubItemResolvedConfig,\n ThemeColorsResolvedConfig,\n ThemeColorSubItem,\n ThemeColorTextItemsResolvedConfig,\n ThemeColorTextItemsUserConfig,\n ThemeColorUsageSubItem,\n ThemeIconMessageStateConfig,\n ThemeIconsResolvedConfig,\n ThemeIconSubItemConfig,\n ThemeIconsUserConfig,\n ThemeIconTypeResolvedConfig,\n ThemeLabelsResolvedConfig,\n ThemeLabelsUserConfig,\n ThemeLabelTypeResolvedConfig,\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig,\n ThemeStyleBorderIdentifiers\n} from \"../types/theme\";\nimport { resolveBorderStyle } from \"./helpers\";\n\n/**\n * Shell Shock - Theme Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const preprocessor = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/preprocessor\",\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 Colors\n\n resolvedConfig.colors ??= {\n text: {\n banner: {},\n heading: {},\n body: {},\n message: { link: {}, header: {}, footer: {}, description: {} }\n },\n border: {\n banner: { outline: {}, divider: {} },\n app: { table: {}, divider: {} },\n message: { outline: {}, divider: {} }\n }\n } as ThemeColorsResolvedConfig;\n const colors = dictionary.colors;\n\n if (isSetString(colors)) {\n resolvedConfig.colors = {\n text: {\n banner: {\n title: colors,\n header: colors,\n footer: colors,\n command: colors,\n description: colors\n },\n heading: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n body: {\n primary: colors,\n secondary: colors,\n tertiary: colors,\n link: colors\n },\n message: {\n link: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n header: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n footer: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n description: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n }\n },\n usage: {\n bin: colors,\n command: colors,\n subcommand: colors,\n options: colors,\n params: colors,\n description: colors\n }\n },\n border: {\n banner: {\n outline: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n divider: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n }\n },\n app: {\n table: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n divider: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n }\n },\n message: {\n outline: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n divider: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n }\n }\n }\n };\n } else if (isSetObject(colors)) {\n resolvedConfig.colors.text ??= {\n banner: {},\n heading: {},\n body: {},\n message: { link: {}, header: {}, footer: {}, description: {} }\n } as ThemeColorTextItemsResolvedConfig;\n const text = colors.text as ThemeColorTextItemsUserConfig;\n\n if (isSetString(text)) {\n resolvedConfig.colors.text = {\n banner: {\n title: text,\n header: text,\n footer: text,\n command: text,\n description: text\n },\n heading: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n body: {\n primary: text,\n secondary: text,\n tertiary: text,\n link: text\n },\n message: {\n link: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n },\n header: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n },\n footer: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n },\n description: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n }\n },\n usage: {\n bin: text,\n command: text,\n subcommand: text,\n options: text,\n params: text,\n description: text\n }\n };\n } else if (isSetObject(text)) {\n resolvedConfig.colors.text.banner ??= {} as ThemeColorBannerSubItem;\n const banner = text.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.colors.text.banner = {\n title: banner,\n header: banner,\n footer: banner,\n command: banner,\n description: banner\n };\n } else if (isSetObject(text.banner)) {\n if (isSetString(text.banner.title)) {\n resolvedConfig.colors.text.banner.title = text.banner.title;\n }\n if (isSetString(text.banner.header)) {\n resolvedConfig.colors.text.banner.header = text.banner.header;\n }\n if (isSetString(text.banner.footer)) {\n resolvedConfig.colors.text.banner.footer = text.banner.footer;\n }\n if (isSetString(text.banner.command)) {\n resolvedConfig.colors.text.banner.command = text.banner.command;\n }\n if (isSetString(text.banner.description)) {\n resolvedConfig.colors.text.banner.description =\n text.banner.description;\n }\n }\n\n resolvedConfig.colors.text.body ??= {} as ThemeColorBodySubItem;\n\n if (isSetString(text.body)) {\n const color = (text as DesignToken).body as string;\n\n resolvedConfig.colors.text.body = {\n primary: color,\n secondary: color,\n tertiary: color,\n link: color\n };\n } else if (isSetObject(text.body)) {\n if (isSetString(text.body.primary)) {\n resolvedConfig.colors.text.body.primary = text.body.primary;\n }\n if (isSetString(text.body.secondary)) {\n resolvedConfig.colors.text.body.secondary = text.body.secondary;\n }\n if (isSetString(text.body.tertiary)) {\n resolvedConfig.colors.text.body.tertiary = text.body.tertiary;\n }\n if (isSetString(text.body.link)) {\n resolvedConfig.colors.text.body.link = text.body.link;\n }\n }\n\n resolvedConfig.colors.text.heading ??= {} as ThemeColorSubItem;\n\n if (isSetString(text.heading)) {\n const color = (text as DesignToken).heading as string;\n\n resolvedConfig.colors.text.heading = {\n primary: color,\n secondary: color,\n tertiary: color\n };\n } else if (isSetObject(text.heading)) {\n if (isSetString(text.heading.primary)) {\n resolvedConfig.colors.text.heading.primary = text.heading.primary;\n }\n if (isSetString(text.heading.secondary)) {\n resolvedConfig.colors.text.heading.secondary =\n text.heading.secondary;\n }\n if (isSetString(text.heading.tertiary)) {\n resolvedConfig.colors.text.heading.tertiary = text.heading.tertiary;\n }\n }\n\n resolvedConfig.colors.text.usage ??= {} as ThemeColorUsageSubItem;\n\n if (isSetString(text.usage)) {\n resolvedConfig.colors.text.usage = {\n bin: text.usage,\n command: text.usage,\n subcommand: text.usage,\n options: text.usage,\n params: text.usage,\n description: text.usage\n };\n } else if (isSetObject(text.usage)) {\n if (isSetString(text.usage.bin)) {\n resolvedConfig.colors.text.usage.bin = text.usage.bin;\n }\n if (isSetString(text.usage.command)) {\n resolvedConfig.colors.text.usage.command = text.usage.command;\n }\n if (isSetString(text.usage.subcommand)) {\n resolvedConfig.colors.text.usage.subcommand = text.usage.subcommand;\n }\n if (isSetString(text.usage.options)) {\n resolvedConfig.colors.text.usage.options = text.usage.options;\n }\n if (isSetString(text.usage.params)) {\n resolvedConfig.colors.text.usage.params = text.usage.params;\n }\n if (isSetString(text.usage.description)) {\n resolvedConfig.colors.text.usage.description =\n text.usage.description;\n }\n }\n\n resolvedConfig.colors.text.message ??= {\n link: {},\n header: {},\n footer: {},\n description: {}\n } as ThemeColorMessageSubItemResolvedConfig;\n const message = text.message;\n\n if (isSetString(message)) {\n resolvedConfig.colors.text.message = {\n link: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n footer: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n description: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.colors.text.message.link ??=\n {} as ThemeColorMessageState;\n const link = message.link;\n\n if (isSetString(link)) {\n resolvedConfig.colors.text.message.link = {\n help: link,\n success: link,\n info: link,\n debug: link,\n warning: link,\n danger: link,\n error: link\n };\n } else if (isSetObject(link)) {\n if (isSetString(link.help)) {\n resolvedConfig.colors.text.message.link.help = link.help;\n }\n if (isSetString(link.success)) {\n resolvedConfig.colors.text.message.link.success = link.success;\n }\n if (isSetString(link.info)) {\n resolvedConfig.colors.text.message.link.info = link.info;\n }\n if (isSetString(link.debug)) {\n resolvedConfig.colors.text.message.link.debug = link.debug;\n }\n if (isSetString(link.warning)) {\n resolvedConfig.colors.text.message.link.warning = link.warning;\n }\n if (isSetString(link.danger)) {\n resolvedConfig.colors.text.message.link.danger = link.danger;\n }\n if (isSetString(link.error)) {\n resolvedConfig.colors.text.message.link.error = link.error;\n }\n }\n\n resolvedConfig.colors.text.message.description ??=\n {} as ThemeColorMessageState;\n const description = message.description;\n\n if (isSetString(description)) {\n resolvedConfig.colors.text.message.description = {\n help: description,\n success: description,\n info: description,\n debug: description,\n warning: description,\n danger: description,\n error: description\n };\n } else if (isSetObject(description)) {\n if (isSetString(description.help)) {\n resolvedConfig.colors.text.message.description.help =\n description.help;\n }\n if (isSetString(description.success)) {\n resolvedConfig.colors.text.message.description.success =\n description.success;\n }\n if (isSetString(description.info)) {\n resolvedConfig.colors.text.message.description.info =\n description.info;\n }\n if (isSetString(description.debug)) {\n resolvedConfig.colors.text.message.description.debug =\n description.debug;\n }\n if (isSetString(description.warning)) {\n resolvedConfig.colors.text.message.description.warning =\n description.warning;\n }\n if (isSetString(description.danger)) {\n resolvedConfig.colors.text.message.description.danger =\n description.danger;\n }\n if (isSetString(description.error)) {\n resolvedConfig.colors.text.message.description.error =\n description.error;\n }\n }\n\n resolvedConfig.colors.text.message.header ??=\n {} as ThemeColorMessageState;\n const header = message.header;\n\n if (isSetString(header)) {\n resolvedConfig.colors.text.message.header = {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.colors.text.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.colors.text.message.header.success =\n header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.colors.text.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.colors.text.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.colors.text.message.header.warning =\n header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.colors.text.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.colors.text.message.header.error = header.error;\n }\n }\n\n resolvedConfig.colors.text.message.footer ??=\n {} as ThemeColorMessageState;\n const footer = message.footer;\n\n if (isSetString(footer)) {\n resolvedConfig.colors.text.message.footer = {\n help: footer,\n success: footer,\n info: footer,\n debug: footer,\n warning: footer,\n danger: footer,\n error: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.help)) {\n resolvedConfig.colors.text.message.footer.help = footer.help;\n }\n if (isSetString(footer.success)) {\n resolvedConfig.colors.text.message.footer.success =\n footer.success;\n }\n if (isSetString(footer.info)) {\n resolvedConfig.colors.text.message.footer.info = footer.info;\n }\n if (isSetString(footer.debug)) {\n resolvedConfig.colors.text.message.footer.debug = footer.debug;\n }\n if (isSetString(footer.warning)) {\n resolvedConfig.colors.text.message.footer.warning =\n footer.warning;\n }\n if (isSetString(footer.danger)) {\n resolvedConfig.colors.text.message.footer.danger = footer.danger;\n }\n if (isSetString(footer.error)) {\n resolvedConfig.colors.text.message.footer.error = footer.error;\n }\n }\n }\n }\n\n resolvedConfig.colors.border ??= {\n banner: { outline: {}, divider: {} },\n app: { table: {}, divider: {} },\n message: { outline: {}, divider: {} }\n } as ThemeColorBorderItemsResolvedConfig;\n const border = colors.border as ThemeColorBorderItemsUserConfig;\n\n if (isSetString(border)) {\n resolvedConfig.colors.border = {\n banner: {\n outline: {\n primary: border,\n secondary: border,\n tertiary: border\n },\n divider: {\n primary: border,\n secondary: border,\n tertiary: border\n }\n },\n app: {\n table: {\n primary: border,\n secondary: border,\n tertiary: border\n },\n divider: {\n primary: border,\n secondary: border,\n tertiary: border\n }\n },\n message: {\n outline: {\n help: border,\n success: border,\n info: border,\n debug: border,\n warning: border,\n danger: border,\n error: border\n },\n divider: {\n help: border,\n success: border,\n info: border,\n debug: border,\n warning: border,\n danger: border,\n error: border\n }\n }\n };\n } else if (isSetObject(border)) {\n resolvedConfig.colors.border.banner ??= {\n outline: {},\n divider: {}\n } as ThemeColorBorderItemsResolvedConfig[\"banner\"];\n const banner = border.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.colors.border.banner = {\n outline: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n divider: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n }\n };\n } else if (isSetObject(banner)) {\n if (\"outline\" in banner || \"divider\" in banner) {\n resolvedConfig.colors.border.banner.outline =\n {} as ThemeColorSubItem;\n const outline = banner.outline as ThemeColorSubItem;\n if (isSetString(outline)) {\n resolvedConfig.colors.border.banner.outline = {\n primary: outline,\n secondary: outline,\n tertiary: outline\n };\n } else if (isSetObject(outline)) {\n if (isSetString(outline.primary)) {\n resolvedConfig.colors.border.banner.outline.primary =\n outline.primary;\n }\n if (isSetString(outline.secondary)) {\n resolvedConfig.colors.border.banner.outline.secondary =\n outline.secondary;\n }\n if (isSetString(outline.tertiary)) {\n resolvedConfig.colors.border.banner.outline.tertiary =\n outline.tertiary;\n }\n }\n\n resolvedConfig.colors.border.banner.divider ??=\n {} as ThemeColorSubItem;\n const divider = banner.divider as ThemeColorSubItem;\n\n if (isSetString(divider)) {\n resolvedConfig.colors.border.banner.divider = {\n primary: divider,\n secondary: divider,\n tertiary: divider\n };\n } else if (isSetObject(divider)) {\n if (isSetString(divider.primary)) {\n resolvedConfig.colors.border.banner.divider.primary =\n divider.primary;\n }\n if (isSetString(divider.secondary)) {\n resolvedConfig.colors.border.banner.divider.secondary =\n divider.secondary;\n }\n if (isSetString(divider.tertiary)) {\n resolvedConfig.colors.border.banner.divider.tertiary =\n divider.tertiary;\n }\n }\n } else {\n resolvedConfig.colors.border.banner.outline ??=\n {} as ThemeColorSubItem;\n resolvedConfig.colors.border.banner.divider ??=\n {} as ThemeColorSubItem;\n const banner = border.banner as ThemeColorSubItem;\n\n if (isSetString(banner.primary)) {\n resolvedConfig.colors.border.banner.outline.primary =\n banner.primary;\n resolvedConfig.colors.border.banner.divider.primary =\n banner.primary;\n }\n\n if (isSetString(banner.secondary)) {\n resolvedConfig.colors.border.banner.outline.secondary =\n banner.secondary;\n resolvedConfig.colors.border.banner.divider.secondary =\n banner.secondary;\n }\n\n if (isSetString(banner.tertiary)) {\n resolvedConfig.colors.border.banner.outline.tertiary =\n banner.tertiary;\n resolvedConfig.colors.border.banner.divider.tertiary =\n banner.tertiary;\n }\n }\n }\n\n resolvedConfig.colors.border.app ??= {\n table: {},\n divider: {}\n } as ThemeColorBorderItemsResolvedConfig[\"app\"];\n const app = border.app;\n\n if (isSetString(app)) {\n resolvedConfig.colors.border.app = {\n table: {\n primary: app,\n secondary: app,\n tertiary: app\n },\n divider: {\n primary: app,\n secondary: app,\n tertiary: app\n }\n };\n } else if (isSetObject(app)) {\n resolvedConfig.colors.border.app ??=\n {} as ThemeColorBorderItemsResolvedConfig[\"app\"];\n\n if (\"table\" in app || \"divider\" in app) {\n if (isSetString(app.table)) {\n resolvedConfig.colors.border.app.table = {\n primary: app.table,\n secondary: app.table,\n tertiary: app.table\n };\n } else if (isSetObject(app.table)) {\n resolvedConfig.colors.border.app.table = {} as ThemeColorSubItem;\n const table = app.table as ThemeColorSubItem;\n\n if (isSetString(table.primary)) {\n resolvedConfig.colors.border.app.table.primary = table.primary;\n }\n if (isSetString(table.secondary)) {\n resolvedConfig.colors.border.app.table.secondary =\n table.secondary;\n }\n if (isSetString(table.tertiary)) {\n resolvedConfig.colors.border.app.table.tertiary =\n table.tertiary;\n }\n }\n\n if (isSetString(app.divider)) {\n resolvedConfig.colors.border.app.divider = {\n primary: app.divider,\n secondary: app.divider,\n tertiary: app.divider\n };\n } else if (isSetObject(app.divider)) {\n resolvedConfig.colors.border.app.divider =\n {} as ThemeColorSubItem;\n const divider = app.divider as ThemeColorSubItem;\n\n if (isSetString(divider.primary)) {\n resolvedConfig.colors.border.app.divider.primary =\n divider.primary;\n }\n if (isSetString(divider.secondary)) {\n resolvedConfig.colors.border.app.divider.secondary =\n divider.secondary;\n }\n if (isSetString(divider.tertiary)) {\n resolvedConfig.colors.border.app.divider.tertiary =\n divider.tertiary;\n }\n }\n } else {\n resolvedConfig.colors.border.app.table ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.border.app.divider ??=\n {} as ThemeColorSubItem;\n const app = border.app as ThemeColorSubItem;\n\n if (isSetString(app.primary)) {\n resolvedConfig.colors.border.app.table.primary = app.primary;\n resolvedConfig.colors.border.app.divider.primary = app.primary;\n }\n if (isSetString(app.secondary)) {\n resolvedConfig.colors.border.app.table.secondary = app.secondary;\n resolvedConfig.colors.border.app.divider.secondary =\n app.secondary;\n }\n if (isSetString(app.tertiary)) {\n resolvedConfig.colors.border.app.table.tertiary = app.tertiary;\n resolvedConfig.colors.border.app.divider.tertiary = app.tertiary;\n }\n }\n }\n\n resolvedConfig.colors.border.message ??= {\n outline: {},\n divider: {}\n } as ThemeColorBorderItemsResolvedConfig[\"message\"];\n const message = border.message;\n\n if (isSetString(message)) {\n resolvedConfig.colors.border.message = {\n outline: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n divider: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.colors.border.message ??=\n {} as ThemeColorBorderItemsResolvedConfig[\"message\"];\n\n if (\"outline\" in message || \"divider\" in message) {\n if (isSetString(message.outline)) {\n resolvedConfig.colors.border.message.outline = {\n help: message.outline,\n success: message.outline,\n info: message.outline,\n debug: message.outline,\n warning: message.outline,\n danger: message.outline,\n error: message.outline\n };\n } else if (isSetObject(message.outline)) {\n resolvedConfig.colors.border.message.outline ??=\n {} as ThemeColorMessageState;\n const outline = message.outline as ThemeColorMessageState;\n\n if (isSetString(outline.help)) {\n resolvedConfig.colors.border.message.outline.help =\n outline.help;\n }\n if (isSetString(outline.success)) {\n resolvedConfig.colors.border.message.outline.success =\n outline.success;\n }\n if (isSetString(outline.info)) {\n resolvedConfig.colors.border.message.outline.info =\n outline.info;\n }\n if (isSetString(outline.debug)) {\n resolvedConfig.colors.border.message.outline.debug =\n outline.debug;\n }\n if (isSetString(outline.warning)) {\n resolvedConfig.colors.border.message.outline.warning =\n outline.warning;\n }\n if (isSetString(outline.danger)) {\n resolvedConfig.colors.border.message.outline.danger =\n outline.danger;\n }\n if (isSetString(outline.error)) {\n resolvedConfig.colors.border.message.outline.error =\n outline.error;\n }\n }\n\n if (isSetString(message.divider)) {\n resolvedConfig.colors.border.message.divider = {\n help: message.divider,\n success: message.divider,\n info: message.divider,\n debug: message.divider,\n warning: message.divider,\n danger: message.divider,\n error: message.divider\n };\n } else if (isSetObject(message.divider)) {\n resolvedConfig.colors.border.message.divider ??=\n {} as ThemeColorMessageState;\n const divider = message.divider as ThemeColorMessageState;\n\n if (isSetString(divider.help)) {\n resolvedConfig.colors.border.message.divider.help =\n divider.help;\n }\n if (isSetString(divider.success)) {\n resolvedConfig.colors.border.message.divider.success =\n divider.success;\n }\n if (isSetString(divider.info)) {\n resolvedConfig.colors.border.message.divider.info =\n divider.info;\n }\n if (isSetString(divider.debug)) {\n resolvedConfig.colors.border.message.divider.debug =\n divider.debug;\n }\n if (isSetString(divider.warning)) {\n resolvedConfig.colors.border.message.divider.warning =\n divider.warning;\n }\n if (isSetString(divider.danger)) {\n resolvedConfig.colors.border.message.divider.danger =\n divider.danger;\n }\n if (isSetString(divider.error)) {\n resolvedConfig.colors.border.message.divider.error =\n divider.error;\n }\n }\n } else {\n resolvedConfig.colors.border.message.outline ??=\n {} as ThemeColorMessageState;\n resolvedConfig.colors.border.message.divider ??=\n {} as ThemeColorMessageState;\n\n const message = border.message as ThemeColorMessageState;\n if (isSetString(message.help)) {\n resolvedConfig.colors.border.message.outline.help = message.help;\n resolvedConfig.colors.border.message.divider.help = message.help;\n }\n if (isSetString(message.success)) {\n resolvedConfig.colors.border.message.outline.success =\n message.success;\n resolvedConfig.colors.border.message.divider.success =\n message.success;\n }\n if (isSetString(message.info)) {\n resolvedConfig.colors.border.message.outline.info = message.info;\n resolvedConfig.colors.border.message.divider.info = message.info;\n }\n if (isSetString(message.debug)) {\n resolvedConfig.colors.border.message.outline.debug =\n message.debug;\n resolvedConfig.colors.border.message.divider.debug =\n message.debug;\n }\n if (isSetString(message.warning)) {\n resolvedConfig.colors.border.message.outline.warning =\n message.warning;\n resolvedConfig.colors.border.message.divider.warning =\n message.warning;\n }\n if (isSetString(message.danger)) {\n resolvedConfig.colors.border.message.outline.danger =\n message.danger;\n resolvedConfig.colors.border.message.divider.danger =\n message.danger;\n }\n if (isSetString(message.error)) {\n resolvedConfig.colors.border.message.outline.error =\n message.error;\n resolvedConfig.colors.border.message.divider.error =\n message.error;\n }\n }\n }\n }\n }\n\n // #endregion Colors\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 // #region Padding\n\n resolvedConfig.padding ??= {} as ThemePaddingResolvedConfig;\n const padding = dictionary.padding;\n\n if (isNumber(padding)) {\n resolvedConfig.padding = {\n banner: padding,\n message: padding,\n app: padding,\n table: padding\n };\n } else if (isSetObject(padding)) {\n if (isNumber(padding.banner)) {\n resolvedConfig.padding.banner = padding.banner;\n }\n if (isNumber(padding.message)) {\n resolvedConfig.padding.message = padding.message;\n }\n if (isNumber(padding.app)) {\n resolvedConfig.padding.app = padding.app;\n }\n if (isNumber(padding.table)) {\n resolvedConfig.padding.table = padding.table;\n }\n }\n\n // #endregion Padding\n\n // #region Icons\n\n resolvedConfig.icons ??= {\n message: { header: {} },\n banner: { header: {} }\n } as ThemeIconsResolvedConfig;\n const icons = dictionary.icons as ThemeIconsUserConfig;\n\n if (isSetString(icons)) {\n resolvedConfig.icons = {\n message: {\n header: {\n help: icons,\n success: icons,\n info: icons,\n debug: icons,\n warning: icons,\n danger: icons,\n error: icons\n }\n },\n banner: {\n header: {\n primary: icons,\n secondary: icons,\n tertiary: icons\n }\n }\n };\n } else if (isSetObject(icons)) {\n resolvedConfig.icons.message =\n {} as ThemeIconTypeResolvedConfig<ThemeIconMessageStateConfig>;\n const message = icons.message;\n\n if (isSetString(message)) {\n resolvedConfig.icons.message = {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.icons.message.header ??=\n {} as ThemeIconMessageStateConfig;\n const header = message.header;\n\n if (isSetString(header)) {\n resolvedConfig.icons.message = {\n header: {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n }\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.icons.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.icons.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.icons.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.icons.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.icons.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.icons.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.icons.message.header.error = header.error;\n }\n }\n }\n\n resolvedConfig.icons.banner ??= {\n header: {}\n } as ThemeIconTypeResolvedConfig<ThemeIconSubItemConfig>;\n const banner = icons.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.icons.banner = {\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n }\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.icons.banner.header ??= {} as ThemeIconSubItemConfig;\n const header = banner.header as ThemeIconSubItemConfig;\n\n if (isSetString(banner.header)) {\n resolvedConfig.icons.banner = {\n header: {\n primary: banner.header,\n secondary: banner.header,\n tertiary: banner.header\n }\n };\n } else if (isSetObject(banner.header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.icons.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.icons.banner.header.secondary = header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.icons.banner.header.tertiary = header.tertiary;\n }\n }\n }\n }\n\n // #endregion Icons\n\n // #region Labels\n\n resolvedConfig.labels ??= {\n message: { header: {} }\n } as ThemeLabelsResolvedConfig;\n const labels = dictionary.labels as ThemeLabelsUserConfig;\n\n if (isSetString(labels)) {\n resolvedConfig.labels = {\n message: {\n header: {\n help: labels,\n success: labels,\n info: labels,\n debug: labels,\n warning: labels,\n danger: labels,\n error: labels\n }\n }\n };\n } else if (isSetObject(labels)) {\n resolvedConfig.labels.message ??= {} as ThemeLabelTypeResolvedConfig;\n const message = labels.message;\n\n if (isSetString(message)) {\n resolvedConfig.labels = {\n message: {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.labels.message.header =\n {} as ThemeIconMessageStateConfig;\n const header = message.header as ThemeIconMessageStateConfig;\n\n if (isSetString(header)) {\n resolvedConfig.labels = {\n message: {\n header: {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n }\n }\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.labels.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.labels.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.labels.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.labels.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.labels.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.labels.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.labels.message.header.error = header.error;\n }\n }\n }\n }\n\n // #endregion Labels\n\n // #endregion Tiered token resolution\n\n // #region Missing token defaulting\n\n if (\n !resolvedConfig.colors.text?.body?.tertiary &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.body.tertiary =\n resolvedConfig.colors.text.body.secondary;\n }\n if (\n !resolvedConfig.colors.text?.body?.secondary &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.body.secondary =\n resolvedConfig.colors.text.body.tertiary;\n }\n\n if (\n !resolvedConfig.colors.text?.heading?.tertiary &&\n resolvedConfig.colors.text?.heading?.secondary\n ) {\n resolvedConfig.colors.text.heading.tertiary =\n resolvedConfig.colors.text.heading.secondary;\n }\n if (\n !resolvedConfig.colors.text?.heading?.secondary &&\n resolvedConfig.colors.text?.heading?.tertiary\n ) {\n resolvedConfig.colors.text.heading.secondary =\n resolvedConfig.colors.text.heading.tertiary;\n }\n\n if (\n !resolvedConfig.colors.text?.heading?.primary &&\n resolvedConfig.colors.text?.banner?.title\n ) {\n resolvedConfig.colors.text.heading.primary =\n resolvedConfig.colors.text.banner.title;\n }\n if (\n !resolvedConfig.colors.text?.heading?.tertiary &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.heading.tertiary =\n resolvedConfig.colors.text.body.secondary;\n }\n if (\n !resolvedConfig.colors.text?.heading?.secondary &&\n resolvedConfig.colors.text?.body?.primary\n ) {\n resolvedConfig.colors.text.heading.secondary =\n resolvedConfig.colors.text.body.primary;\n }\n\n if (\n !resolvedConfig.colors.text?.usage?.bin &&\n resolvedConfig.colors.text?.body?.primary\n ) {\n resolvedConfig.colors.text.usage.bin =\n resolvedConfig.colors.text.body.primary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.command &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.usage.command =\n resolvedConfig.colors.text.body.secondary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.subcommand &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.usage.subcommand =\n resolvedConfig.colors.text.body.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.options &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.usage.options =\n resolvedConfig.colors.text.body.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.params &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.usage.params =\n resolvedConfig.colors.text.body.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.description &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.usage.description =\n resolvedConfig.colors.text.body.secondary;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.title &&\n resolvedConfig.colors.text?.heading?.primary\n ) {\n resolvedConfig.colors.text.banner.title =\n resolvedConfig.colors.text.heading.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.command &&\n (resolvedConfig.colors.text?.heading?.secondary ||\n resolvedConfig.colors.text?.heading?.primary)\n ) {\n resolvedConfig.colors.text.banner.command =\n resolvedConfig.colors.text.heading.secondary ||\n resolvedConfig.colors.text.heading.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.description &&\n resolvedConfig.colors.text?.body?.primary\n ) {\n resolvedConfig.colors.text.banner.description =\n resolvedConfig.colors.text.body.primary;\n }\n if (\n !resolvedConfig.colors.border?.banner?.outline?.primary &&\n (resolvedConfig.colors.border?.banner?.outline?.secondary ||\n resolvedConfig.colors.border?.banner?.outline?.tertiary)\n ) {\n resolvedConfig.colors.border.banner.outline.primary =\n resolvedConfig.colors.border.banner.outline.secondary ||\n resolvedConfig.colors.border.banner.outline.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.banner?.outline?.secondary &&\n (resolvedConfig.colors.border?.banner?.outline?.primary ||\n resolvedConfig.colors.border?.banner?.outline?.tertiary)\n ) {\n resolvedConfig.colors.border.banner.outline.secondary =\n resolvedConfig.colors.border.banner.outline.primary ||\n resolvedConfig.colors.border.banner.outline.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.banner?.outline?.tertiary &&\n (resolvedConfig.colors.border?.banner?.outline?.primary ||\n resolvedConfig.colors.border?.banner?.outline?.secondary)\n ) {\n resolvedConfig.colors.border.banner.outline.tertiary =\n resolvedConfig.colors.border.banner.outline.primary ||\n resolvedConfig.colors.border.banner.outline.secondary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.header &&\n resolvedConfig.colors.border?.banner?.outline?.primary\n ) {\n resolvedConfig.colors.text.banner.header =\n resolvedConfig.colors.border.banner.outline.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.footer &&\n resolvedConfig.colors.border?.banner?.outline?.primary\n ) {\n resolvedConfig.colors.text.banner.footer =\n resolvedConfig.colors.border.banner.outline.primary;\n }\n if (\n !resolvedConfig.colors.border?.banner?.outline?.primary &&\n resolvedConfig.colors.text?.banner?.title\n ) {\n resolvedConfig.colors.border.banner.outline.primary =\n resolvedConfig.colors.text.banner.title;\n }\n\n if (\n !resolvedConfig.colors.border?.app?.divider?.primary &&\n (resolvedConfig.colors.border?.app?.divider?.secondary ||\n resolvedConfig.colors.border?.app?.divider?.tertiary)\n ) {\n resolvedConfig.colors.border.app.divider.primary =\n resolvedConfig.colors.border.app.divider.secondary ||\n resolvedConfig.colors.border.app.divider.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.divider?.secondary &&\n (resolvedConfig.colors.border?.app?.divider?.primary ||\n resolvedConfig.colors.border?.app?.divider?.tertiary)\n ) {\n resolvedConfig.colors.border.app.divider.secondary =\n resolvedConfig.colors.border.app.divider.primary ||\n resolvedConfig.colors.border.app.divider.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.divider?.tertiary &&\n (resolvedConfig.colors.border?.app?.divider?.primary ||\n resolvedConfig.colors.border?.app?.divider?.secondary)\n ) {\n resolvedConfig.colors.border.app.divider.tertiary =\n resolvedConfig.colors.border.app.divider.primary ||\n resolvedConfig.colors.border.app.divider.secondary;\n }\n\n if (\n !resolvedConfig.colors.border?.app?.table?.primary &&\n (resolvedConfig.colors.border?.app?.table?.secondary ||\n resolvedConfig.colors.border?.app?.table?.tertiary)\n ) {\n resolvedConfig.colors.border.app.table.primary =\n resolvedConfig.colors.border.app.table.secondary ||\n resolvedConfig.colors.border.app.table.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.table?.secondary &&\n (resolvedConfig.colors.border?.app?.table?.primary ||\n resolvedConfig.colors.border?.app?.table?.tertiary)\n ) {\n resolvedConfig.colors.border.app.table.secondary =\n resolvedConfig.colors.border.app.table.primary ||\n resolvedConfig.colors.border.app.table.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.table?.tertiary &&\n (resolvedConfig.colors.border?.app?.table?.primary ||\n resolvedConfig.colors.border?.app?.table?.secondary)\n ) {\n resolvedConfig.colors.border.app.table.tertiary =\n resolvedConfig.colors.border.app.table.primary ||\n resolvedConfig.colors.border.app.table.secondary;\n }\n\n if (\n !resolvedConfig.colors.border?.message?.divider?.info &&\n resolvedConfig.colors.border?.message?.divider?.debug\n ) {\n resolvedConfig.colors.border.message.divider.info =\n resolvedConfig.colors.border.message.divider.debug;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.debug &&\n resolvedConfig.colors.border?.message?.divider?.info\n ) {\n resolvedConfig.colors.border.message.divider.debug =\n resolvedConfig.colors.border.message.divider.info;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.info &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.border.message.outline.info =\n resolvedConfig.colors.border.message.outline.debug;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.debug &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.border.message.outline.debug =\n resolvedConfig.colors.border.message.outline.info;\n }\n\n if (\n !resolvedConfig.colors.border?.message?.divider?.error &&\n resolvedConfig.colors.border?.message?.divider?.danger\n ) {\n resolvedConfig.colors.border.message.divider.error =\n resolvedConfig.colors.border.message.divider.danger;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.danger &&\n resolvedConfig.colors.border?.message?.divider?.error\n ) {\n resolvedConfig.colors.border.message.divider.danger =\n resolvedConfig.colors.border.message.divider.error;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.error &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.border.message.outline.error =\n resolvedConfig.colors.border.message.outline.danger;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.danger &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.border.message.outline.danger =\n resolvedConfig.colors.border.message.outline.error;\n }\n\n if (\n !resolvedConfig.colors.border?.message?.divider?.help &&\n resolvedConfig.colors.border?.message?.outline?.help\n ) {\n resolvedConfig.colors.border.message.divider.help =\n resolvedConfig.colors.border.message.outline.help;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.success &&\n resolvedConfig.colors.border?.message?.outline?.success\n ) {\n resolvedConfig.colors.border.message.divider.success =\n resolvedConfig.colors.border.message.outline.success;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.info &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.border.message.divider.info =\n resolvedConfig.colors.border.message.outline.info;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.debug &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.border.message.divider.debug =\n resolvedConfig.colors.border.message.outline.debug;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.warning &&\n resolvedConfig.colors.border?.message?.outline?.warning\n ) {\n resolvedConfig.colors.border.message.divider.warning =\n resolvedConfig.colors.border.message.outline.warning;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.danger &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.border.message.divider.danger =\n resolvedConfig.colors.border.message.outline.danger;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.error &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.border.message.divider.error =\n resolvedConfig.colors.border.message.outline.error;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.help &&\n resolvedConfig.colors.border?.message?.outline?.help\n ) {\n resolvedConfig.colors.text.message.header.help =\n resolvedConfig.colors.border.message.outline.help;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.help &&\n resolvedConfig.colors.border?.message?.outline?.help\n ) {\n resolvedConfig.colors.text.message.footer.help =\n resolvedConfig.colors.border.message.outline.help;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.success &&\n resolvedConfig.colors.border?.message?.outline?.success\n ) {\n resolvedConfig.colors.text.message.header.success =\n resolvedConfig.colors.border.message.outline.success;\n }\n if (\n !resolvedConfig.colors.text.message.footer.success &&\n resolvedConfig.colors.border?.message?.outline?.success\n ) {\n resolvedConfig.colors.text.message.footer.success =\n resolvedConfig.colors.border.message.outline.success;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.info &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.text.message.header.info =\n resolvedConfig.colors.border.message.outline.info;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.info &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.text.message.footer.info =\n resolvedConfig.colors.border.message.outline.info;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.debug &&\n resolvedConfig.colors.text.message?.header?.info\n ) {\n resolvedConfig.colors.text.message.header.debug =\n resolvedConfig.colors.text.message.header.info;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.debug &&\n resolvedConfig.colors.text.message?.footer?.info\n ) {\n resolvedConfig.colors.text.message.footer.debug =\n resolvedConfig.colors.text.message.footer.info;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.debug &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.text.message.header.debug =\n resolvedConfig.colors.border.message.outline.debug;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.debug &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.text.message.footer.debug =\n resolvedConfig.colors.border.message.outline.debug;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.warning &&\n resolvedConfig.colors.border?.message?.outline?.warning\n ) {\n resolvedConfig.colors.text.message.header.warning =\n resolvedConfig.colors.border.message.outline.warning;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.warning &&\n resolvedConfig.colors.border?.message?.outline?.warning\n ) {\n resolvedConfig.colors.text.message.footer.warning =\n resolvedConfig.colors.border.message.outline.warning;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.danger &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.text.message.header.danger =\n resolvedConfig.colors.border.message.outline.danger;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.danger &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.text.message.footer.danger =\n resolvedConfig.colors.border.message.outline.danger;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.error &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.text.message.header.error =\n resolvedConfig.colors.border.message.outline.error;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.error &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.text.message.footer.error =\n resolvedConfig.colors.border.message.outline.error;\n }\n\n if (\n !resolvedConfig.colors.text.message?.link?.help &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.help =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.success &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.success =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.info &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.info =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.debug &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.debug =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.warning &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.warning =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.danger &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.danger =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.error &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.error =\n resolvedConfig.colors.text.body.link;\n }\n\n // #endregion Missing token defaulting\n\n context.theme = resolvedConfig;\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"preprocessor.mjs","names":["banner","app","message","header","footer"],"sources":["../../src/style-dictionary/preprocessor.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 { isNumber } from \"@stryke/type-checks/is-number\";\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 ThemeColorBannerSubItemResolvedConfig,\n ThemeColorBodySubItem,\n ThemeColorBorderItemsResolvedConfig,\n ThemeColorBorderItemsUserConfig,\n ThemeColorMessageState,\n ThemeColorMessageSubItemResolvedConfig,\n ThemeColorsResolvedConfig,\n ThemeColorSubItem,\n ThemeColorTextItemsResolvedConfig,\n ThemeColorTextItemsUserConfig,\n ThemeColorUsageSubItem,\n ThemeIconMessageStateConfig,\n ThemeIconsResolvedConfig,\n ThemeIconSubItemConfig,\n ThemeIconsUserConfig,\n ThemeIconTypeResolvedConfig,\n ThemeLabelBannerSubItemConfig,\n ThemeLabelMessageStateConfig,\n ThemeLabelsResolvedConfig,\n ThemeLabelsUserConfig,\n ThemeLabelTypeResolvedConfig,\n ThemeLabelTypeUserConfig,\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig,\n ThemeStyleBorderIdentifiers\n} from \"../types/theme\";\nimport { resolveBorderStyle } from \"./helpers\";\n\n/**\n * Shell Shock - Theme Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const preprocessor = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/preprocessor\",\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 Colors\n\n resolvedConfig.colors ??= {\n text: {\n banner: {},\n heading: {},\n body: {},\n message: { link: {}, header: {}, footer: {}, description: {} }\n },\n border: {\n banner: { outline: {}, divider: {} },\n app: { table: {}, divider: {} },\n message: { outline: {}, divider: {} }\n }\n } as ThemeColorsResolvedConfig;\n const colors = dictionary.colors;\n\n if (isSetString(colors)) {\n resolvedConfig.colors = {\n text: {\n banner: {\n title: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n header: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n footer: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n command: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n description: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n link: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n }\n },\n heading: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n body: {\n primary: colors,\n secondary: colors,\n tertiary: colors,\n link: colors\n },\n message: {\n link: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n header: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n footer: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n description: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n }\n },\n usage: {\n bin: colors,\n command: colors,\n subcommand: colors,\n options: colors,\n params: colors,\n description: colors\n }\n },\n border: {\n banner: {\n outline: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n divider: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n }\n },\n app: {\n table: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n },\n divider: {\n primary: colors,\n secondary: colors,\n tertiary: colors\n }\n },\n message: {\n outline: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n },\n divider: {\n help: colors,\n success: colors,\n info: colors,\n debug: colors,\n warning: colors,\n danger: colors,\n error: colors\n }\n }\n }\n };\n } else if (isSetObject(colors)) {\n resolvedConfig.colors.text ??= {\n banner: {},\n heading: {},\n body: {},\n message: { link: {}, header: {}, footer: {}, description: {} }\n } as ThemeColorTextItemsResolvedConfig;\n const text = colors.text as ThemeColorTextItemsUserConfig;\n\n if (isSetString(text)) {\n resolvedConfig.colors.text = {\n banner: {\n title: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n header: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n footer: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n command: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n description: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n link: {\n primary: text,\n secondary: text,\n tertiary: text\n }\n },\n heading: {\n primary: text,\n secondary: text,\n tertiary: text\n },\n body: {\n primary: text,\n secondary: text,\n tertiary: text,\n link: text\n },\n message: {\n link: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n },\n header: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n },\n footer: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n },\n description: {\n help: text,\n success: text,\n info: text,\n debug: text,\n warning: text,\n danger: text,\n error: text\n }\n },\n usage: {\n bin: text,\n command: text,\n subcommand: text,\n options: text,\n params: text,\n description: text\n }\n };\n } else if (isSetObject(text)) {\n resolvedConfig.colors.text.banner ??=\n {} as ThemeColorBannerSubItemResolvedConfig;\n const banner = text.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.colors.text.banner = {\n title: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n footer: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n command: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n description: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n link: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n }\n };\n } else if (isSetObject(text.banner)) {\n resolvedConfig.colors.text.banner.title ??= {} as ThemeColorSubItem;\n const title = text.banner.title;\n\n if (isSetString(text.banner.title)) {\n resolvedConfig.colors.text.banner.title = {\n primary: text.banner.title,\n secondary: text.banner.title,\n tertiary: text.banner.title\n };\n } else if (isSetObject(title)) {\n if (isSetString(title.primary)) {\n resolvedConfig.colors.text.banner.title.primary = title.primary;\n }\n if (isSetString(title.secondary)) {\n resolvedConfig.colors.text.banner.title.secondary =\n title.secondary;\n }\n if (isSetString(title.tertiary)) {\n resolvedConfig.colors.text.banner.title.tertiary = title.tertiary;\n }\n }\n\n resolvedConfig.colors.text.banner.header ??= {} as ThemeColorSubItem;\n const header = text.banner.header;\n\n if (isSetString(text.banner.header)) {\n resolvedConfig.colors.text.banner.header = {\n primary: text.banner.header,\n secondary: text.banner.header,\n tertiary: text.banner.header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.colors.text.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.colors.text.banner.header.secondary =\n header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.colors.text.banner.header.tertiary =\n header.tertiary;\n }\n }\n\n resolvedConfig.colors.text.banner.footer ??= {} as ThemeColorSubItem;\n const footer = text.banner.footer;\n\n if (isSetString(text.banner.footer)) {\n resolvedConfig.colors.text.banner.footer = {\n primary: text.banner.footer,\n secondary: text.banner.footer,\n tertiary: text.banner.footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.primary)) {\n resolvedConfig.colors.text.banner.footer.primary = footer.primary;\n }\n if (isSetString(footer.secondary)) {\n resolvedConfig.colors.text.banner.footer.secondary =\n footer.secondary;\n }\n if (isSetString(footer.tertiary)) {\n resolvedConfig.colors.text.banner.footer.tertiary =\n footer.tertiary;\n }\n }\n\n resolvedConfig.colors.text.banner.command ??= {} as ThemeColorSubItem;\n const command = text.banner.command;\n\n if (isSetString(text.banner.command)) {\n resolvedConfig.colors.text.banner.command = {\n primary: text.banner.command,\n secondary: text.banner.command,\n tertiary: text.banner.command\n };\n } else if (isSetObject(command)) {\n if (isSetString(command.primary)) {\n resolvedConfig.colors.text.banner.command.primary =\n command.primary;\n }\n if (isSetString(command.secondary)) {\n resolvedConfig.colors.text.banner.command.secondary =\n command.secondary;\n }\n if (isSetString(command.tertiary)) {\n resolvedConfig.colors.text.banner.command.tertiary =\n command.tertiary;\n }\n }\n\n resolvedConfig.colors.text.banner.description ??=\n {} as ThemeColorSubItem;\n const description = text.banner.description;\n\n if (isSetString(text.banner.description)) {\n resolvedConfig.colors.text.banner.description = {\n primary: text.banner.description,\n secondary: text.banner.description,\n tertiary: text.banner.description\n };\n } else if (isSetObject(description)) {\n if (isSetString(description.primary)) {\n resolvedConfig.colors.text.banner.description.primary =\n description.primary;\n }\n if (isSetString(description.secondary)) {\n resolvedConfig.colors.text.banner.description.secondary =\n description.secondary;\n }\n if (isSetString(description.tertiary)) {\n resolvedConfig.colors.text.banner.description.tertiary =\n description.tertiary;\n }\n }\n\n resolvedConfig.colors.text.banner.link ??= {} as ThemeColorSubItem;\n const link = text.banner.link;\n\n if (isSetString(text.banner.link)) {\n resolvedConfig.colors.text.banner.link = {\n primary: text.banner.link,\n secondary: text.banner.link,\n tertiary: text.banner.link\n };\n } else if (isSetObject(link)) {\n if (isSetString(link.primary)) {\n resolvedConfig.colors.text.banner.link.primary = link.primary;\n }\n if (isSetString(link.secondary)) {\n resolvedConfig.colors.text.banner.link.secondary = link.secondary;\n }\n if (isSetString(link.tertiary)) {\n resolvedConfig.colors.text.banner.link.tertiary = link.tertiary;\n }\n }\n }\n\n resolvedConfig.colors.text.body ??= {} as ThemeColorBodySubItem;\n\n if (isSetString(text.body)) {\n const color = (text as DesignToken).body as string;\n\n resolvedConfig.colors.text.body = {\n primary: color,\n secondary: color,\n tertiary: color,\n link: color\n };\n } else if (isSetObject(text.body)) {\n if (isSetString(text.body.primary)) {\n resolvedConfig.colors.text.body.primary = text.body.primary;\n }\n if (isSetString(text.body.secondary)) {\n resolvedConfig.colors.text.body.secondary = text.body.secondary;\n }\n if (isSetString(text.body.tertiary)) {\n resolvedConfig.colors.text.body.tertiary = text.body.tertiary;\n }\n if (isSetString(text.body.link)) {\n resolvedConfig.colors.text.body.link = text.body.link;\n }\n }\n\n resolvedConfig.colors.text.heading ??= {} as ThemeColorSubItem;\n\n if (isSetString(text.heading)) {\n const color = (text as DesignToken).heading as string;\n\n resolvedConfig.colors.text.heading = {\n primary: color,\n secondary: color,\n tertiary: color\n };\n } else if (isSetObject(text.heading)) {\n if (isSetString(text.heading.primary)) {\n resolvedConfig.colors.text.heading.primary = text.heading.primary;\n }\n if (isSetString(text.heading.secondary)) {\n resolvedConfig.colors.text.heading.secondary =\n text.heading.secondary;\n }\n if (isSetString(text.heading.tertiary)) {\n resolvedConfig.colors.text.heading.tertiary = text.heading.tertiary;\n }\n }\n\n resolvedConfig.colors.text.usage ??= {} as ThemeColorUsageSubItem;\n\n if (isSetString(text.usage)) {\n resolvedConfig.colors.text.usage = {\n bin: text.usage,\n command: text.usage,\n subcommand: text.usage,\n options: text.usage,\n params: text.usage,\n description: text.usage\n };\n } else if (isSetObject(text.usage)) {\n if (isSetString(text.usage.bin)) {\n resolvedConfig.colors.text.usage.bin = text.usage.bin;\n }\n if (isSetString(text.usage.command)) {\n resolvedConfig.colors.text.usage.command = text.usage.command;\n }\n if (isSetString(text.usage.subcommand)) {\n resolvedConfig.colors.text.usage.subcommand = text.usage.subcommand;\n }\n if (isSetString(text.usage.options)) {\n resolvedConfig.colors.text.usage.options = text.usage.options;\n }\n if (isSetString(text.usage.params)) {\n resolvedConfig.colors.text.usage.params = text.usage.params;\n }\n if (isSetString(text.usage.description)) {\n resolvedConfig.colors.text.usage.description =\n text.usage.description;\n }\n }\n\n resolvedConfig.colors.text.message ??= {\n link: {},\n header: {},\n footer: {},\n description: {}\n } as ThemeColorMessageSubItemResolvedConfig;\n const message = text.message;\n\n if (isSetString(message)) {\n resolvedConfig.colors.text.message = {\n link: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n footer: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n description: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.colors.text.message.link ??=\n {} as ThemeColorMessageState;\n const link = message.link;\n\n if (isSetString(link)) {\n resolvedConfig.colors.text.message.link = {\n help: link,\n success: link,\n info: link,\n debug: link,\n warning: link,\n danger: link,\n error: link\n };\n } else if (isSetObject(link)) {\n if (isSetString(link.help)) {\n resolvedConfig.colors.text.message.link.help = link.help;\n }\n if (isSetString(link.success)) {\n resolvedConfig.colors.text.message.link.success = link.success;\n }\n if (isSetString(link.info)) {\n resolvedConfig.colors.text.message.link.info = link.info;\n }\n if (isSetString(link.debug)) {\n resolvedConfig.colors.text.message.link.debug = link.debug;\n }\n if (isSetString(link.warning)) {\n resolvedConfig.colors.text.message.link.warning = link.warning;\n }\n if (isSetString(link.danger)) {\n resolvedConfig.colors.text.message.link.danger = link.danger;\n }\n if (isSetString(link.error)) {\n resolvedConfig.colors.text.message.link.error = link.error;\n }\n }\n\n resolvedConfig.colors.text.message.description ??=\n {} as ThemeColorMessageState;\n const description = message.description;\n\n if (isSetString(description)) {\n resolvedConfig.colors.text.message.description = {\n help: description,\n success: description,\n info: description,\n debug: description,\n warning: description,\n danger: description,\n error: description\n };\n } else if (isSetObject(description)) {\n if (isSetString(description.help)) {\n resolvedConfig.colors.text.message.description.help =\n description.help;\n }\n if (isSetString(description.success)) {\n resolvedConfig.colors.text.message.description.success =\n description.success;\n }\n if (isSetString(description.info)) {\n resolvedConfig.colors.text.message.description.info =\n description.info;\n }\n if (isSetString(description.debug)) {\n resolvedConfig.colors.text.message.description.debug =\n description.debug;\n }\n if (isSetString(description.warning)) {\n resolvedConfig.colors.text.message.description.warning =\n description.warning;\n }\n if (isSetString(description.danger)) {\n resolvedConfig.colors.text.message.description.danger =\n description.danger;\n }\n if (isSetString(description.error)) {\n resolvedConfig.colors.text.message.description.error =\n description.error;\n }\n }\n\n resolvedConfig.colors.text.message.header ??=\n {} as ThemeColorMessageState;\n const header = message.header;\n\n if (isSetString(header)) {\n resolvedConfig.colors.text.message.header = {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.colors.text.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.colors.text.message.header.success =\n header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.colors.text.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.colors.text.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.colors.text.message.header.warning =\n header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.colors.text.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.colors.text.message.header.error = header.error;\n }\n }\n\n resolvedConfig.colors.text.message.footer ??=\n {} as ThemeColorMessageState;\n const footer = message.footer;\n\n if (isSetString(footer)) {\n resolvedConfig.colors.text.message.footer = {\n help: footer,\n success: footer,\n info: footer,\n debug: footer,\n warning: footer,\n danger: footer,\n error: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.help)) {\n resolvedConfig.colors.text.message.footer.help = footer.help;\n }\n if (isSetString(footer.success)) {\n resolvedConfig.colors.text.message.footer.success =\n footer.success;\n }\n if (isSetString(footer.info)) {\n resolvedConfig.colors.text.message.footer.info = footer.info;\n }\n if (isSetString(footer.debug)) {\n resolvedConfig.colors.text.message.footer.debug = footer.debug;\n }\n if (isSetString(footer.warning)) {\n resolvedConfig.colors.text.message.footer.warning =\n footer.warning;\n }\n if (isSetString(footer.danger)) {\n resolvedConfig.colors.text.message.footer.danger = footer.danger;\n }\n if (isSetString(footer.error)) {\n resolvedConfig.colors.text.message.footer.error = footer.error;\n }\n }\n }\n }\n\n resolvedConfig.colors.border ??= {\n banner: { outline: {}, divider: {} },\n app: { table: {}, divider: {} },\n message: { outline: {}, divider: {} }\n } as ThemeColorBorderItemsResolvedConfig;\n const border = colors.border as ThemeColorBorderItemsUserConfig;\n\n if (isSetString(border)) {\n resolvedConfig.colors.border = {\n banner: {\n outline: {\n primary: border,\n secondary: border,\n tertiary: border\n },\n divider: {\n primary: border,\n secondary: border,\n tertiary: border\n }\n },\n app: {\n table: {\n primary: border,\n secondary: border,\n tertiary: border\n },\n divider: {\n primary: border,\n secondary: border,\n tertiary: border\n }\n },\n message: {\n outline: {\n help: border,\n success: border,\n info: border,\n debug: border,\n warning: border,\n danger: border,\n error: border\n },\n divider: {\n help: border,\n success: border,\n info: border,\n debug: border,\n warning: border,\n danger: border,\n error: border\n }\n }\n };\n } else if (isSetObject(border)) {\n resolvedConfig.colors.border.banner ??= {\n outline: {},\n divider: {}\n } as ThemeColorBorderItemsResolvedConfig[\"banner\"];\n const banner = border.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.colors.border.banner = {\n outline: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n divider: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n }\n };\n } else if (isSetObject(banner)) {\n if (\"outline\" in banner || \"divider\" in banner) {\n resolvedConfig.colors.border.banner.outline =\n {} as ThemeColorSubItem;\n const outline = banner.outline as ThemeColorSubItem;\n if (isSetString(outline)) {\n resolvedConfig.colors.border.banner.outline = {\n primary: outline,\n secondary: outline,\n tertiary: outline\n };\n } else if (isSetObject(outline)) {\n if (isSetString(outline.primary)) {\n resolvedConfig.colors.border.banner.outline.primary =\n outline.primary;\n }\n if (isSetString(outline.secondary)) {\n resolvedConfig.colors.border.banner.outline.secondary =\n outline.secondary;\n }\n if (isSetString(outline.tertiary)) {\n resolvedConfig.colors.border.banner.outline.tertiary =\n outline.tertiary;\n }\n }\n\n resolvedConfig.colors.border.banner.divider ??=\n {} as ThemeColorSubItem;\n const divider = banner.divider as ThemeColorSubItem;\n\n if (isSetString(divider)) {\n resolvedConfig.colors.border.banner.divider = {\n primary: divider,\n secondary: divider,\n tertiary: divider\n };\n } else if (isSetObject(divider)) {\n if (isSetString(divider.primary)) {\n resolvedConfig.colors.border.banner.divider.primary =\n divider.primary;\n }\n if (isSetString(divider.secondary)) {\n resolvedConfig.colors.border.banner.divider.secondary =\n divider.secondary;\n }\n if (isSetString(divider.tertiary)) {\n resolvedConfig.colors.border.banner.divider.tertiary =\n divider.tertiary;\n }\n }\n } else {\n resolvedConfig.colors.border.banner.outline ??=\n {} as ThemeColorSubItem;\n resolvedConfig.colors.border.banner.divider ??=\n {} as ThemeColorSubItem;\n const banner = border.banner as ThemeColorSubItem;\n\n if (isSetString(banner.primary)) {\n resolvedConfig.colors.border.banner.outline.primary =\n banner.primary;\n resolvedConfig.colors.border.banner.divider.primary =\n banner.primary;\n }\n\n if (isSetString(banner.secondary)) {\n resolvedConfig.colors.border.banner.outline.secondary =\n banner.secondary;\n resolvedConfig.colors.border.banner.divider.secondary =\n banner.secondary;\n }\n\n if (isSetString(banner.tertiary)) {\n resolvedConfig.colors.border.banner.outline.tertiary =\n banner.tertiary;\n resolvedConfig.colors.border.banner.divider.tertiary =\n banner.tertiary;\n }\n }\n }\n\n resolvedConfig.colors.border.app ??= {\n table: {},\n divider: {}\n } as ThemeColorBorderItemsResolvedConfig[\"app\"];\n const app = border.app;\n\n if (isSetString(app)) {\n resolvedConfig.colors.border.app = {\n table: {\n primary: app,\n secondary: app,\n tertiary: app\n },\n divider: {\n primary: app,\n secondary: app,\n tertiary: app\n }\n };\n } else if (isSetObject(app)) {\n resolvedConfig.colors.border.app ??=\n {} as ThemeColorBorderItemsResolvedConfig[\"app\"];\n\n if (\"table\" in app || \"divider\" in app) {\n if (isSetString(app.table)) {\n resolvedConfig.colors.border.app.table = {\n primary: app.table,\n secondary: app.table,\n tertiary: app.table\n };\n } else if (isSetObject(app.table)) {\n resolvedConfig.colors.border.app.table = {} as ThemeColorSubItem;\n const table = app.table as ThemeColorSubItem;\n\n if (isSetString(table.primary)) {\n resolvedConfig.colors.border.app.table.primary = table.primary;\n }\n if (isSetString(table.secondary)) {\n resolvedConfig.colors.border.app.table.secondary =\n table.secondary;\n }\n if (isSetString(table.tertiary)) {\n resolvedConfig.colors.border.app.table.tertiary =\n table.tertiary;\n }\n }\n\n if (isSetString(app.divider)) {\n resolvedConfig.colors.border.app.divider = {\n primary: app.divider,\n secondary: app.divider,\n tertiary: app.divider\n };\n } else if (isSetObject(app.divider)) {\n resolvedConfig.colors.border.app.divider =\n {} as ThemeColorSubItem;\n const divider = app.divider as ThemeColorSubItem;\n\n if (isSetString(divider.primary)) {\n resolvedConfig.colors.border.app.divider.primary =\n divider.primary;\n }\n if (isSetString(divider.secondary)) {\n resolvedConfig.colors.border.app.divider.secondary =\n divider.secondary;\n }\n if (isSetString(divider.tertiary)) {\n resolvedConfig.colors.border.app.divider.tertiary =\n divider.tertiary;\n }\n }\n } else {\n resolvedConfig.colors.border.app.table ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.border.app.divider ??=\n {} as ThemeColorSubItem;\n const app = border.app as ThemeColorSubItem;\n\n if (isSetString(app.primary)) {\n resolvedConfig.colors.border.app.table.primary = app.primary;\n resolvedConfig.colors.border.app.divider.primary = app.primary;\n }\n if (isSetString(app.secondary)) {\n resolvedConfig.colors.border.app.table.secondary = app.secondary;\n resolvedConfig.colors.border.app.divider.secondary =\n app.secondary;\n }\n if (isSetString(app.tertiary)) {\n resolvedConfig.colors.border.app.table.tertiary = app.tertiary;\n resolvedConfig.colors.border.app.divider.tertiary = app.tertiary;\n }\n }\n }\n\n resolvedConfig.colors.border.message ??= {\n outline: {},\n divider: {}\n } as ThemeColorBorderItemsResolvedConfig[\"message\"];\n const message = border.message;\n\n if (isSetString(message)) {\n resolvedConfig.colors.border.message = {\n outline: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n divider: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.colors.border.message ??=\n {} as ThemeColorBorderItemsResolvedConfig[\"message\"];\n\n if (\"outline\" in message || \"divider\" in message) {\n if (isSetString(message.outline)) {\n resolvedConfig.colors.border.message.outline = {\n help: message.outline,\n success: message.outline,\n info: message.outline,\n debug: message.outline,\n warning: message.outline,\n danger: message.outline,\n error: message.outline\n };\n } else if (isSetObject(message.outline)) {\n resolvedConfig.colors.border.message.outline ??=\n {} as ThemeColorMessageState;\n const outline = message.outline as ThemeColorMessageState;\n\n if (isSetString(outline.help)) {\n resolvedConfig.colors.border.message.outline.help =\n outline.help;\n }\n if (isSetString(outline.success)) {\n resolvedConfig.colors.border.message.outline.success =\n outline.success;\n }\n if (isSetString(outline.info)) {\n resolvedConfig.colors.border.message.outline.info =\n outline.info;\n }\n if (isSetString(outline.debug)) {\n resolvedConfig.colors.border.message.outline.debug =\n outline.debug;\n }\n if (isSetString(outline.warning)) {\n resolvedConfig.colors.border.message.outline.warning =\n outline.warning;\n }\n if (isSetString(outline.danger)) {\n resolvedConfig.colors.border.message.outline.danger =\n outline.danger;\n }\n if (isSetString(outline.error)) {\n resolvedConfig.colors.border.message.outline.error =\n outline.error;\n }\n }\n\n if (isSetString(message.divider)) {\n resolvedConfig.colors.border.message.divider = {\n help: message.divider,\n success: message.divider,\n info: message.divider,\n debug: message.divider,\n warning: message.divider,\n danger: message.divider,\n error: message.divider\n };\n } else if (isSetObject(message.divider)) {\n resolvedConfig.colors.border.message.divider ??=\n {} as ThemeColorMessageState;\n const divider = message.divider as ThemeColorMessageState;\n\n if (isSetString(divider.help)) {\n resolvedConfig.colors.border.message.divider.help =\n divider.help;\n }\n if (isSetString(divider.success)) {\n resolvedConfig.colors.border.message.divider.success =\n divider.success;\n }\n if (isSetString(divider.info)) {\n resolvedConfig.colors.border.message.divider.info =\n divider.info;\n }\n if (isSetString(divider.debug)) {\n resolvedConfig.colors.border.message.divider.debug =\n divider.debug;\n }\n if (isSetString(divider.warning)) {\n resolvedConfig.colors.border.message.divider.warning =\n divider.warning;\n }\n if (isSetString(divider.danger)) {\n resolvedConfig.colors.border.message.divider.danger =\n divider.danger;\n }\n if (isSetString(divider.error)) {\n resolvedConfig.colors.border.message.divider.error =\n divider.error;\n }\n }\n } else {\n resolvedConfig.colors.border.message.outline ??=\n {} as ThemeColorMessageState;\n resolvedConfig.colors.border.message.divider ??=\n {} as ThemeColorMessageState;\n\n const message = border.message as ThemeColorMessageState;\n if (isSetString(message.help)) {\n resolvedConfig.colors.border.message.outline.help = message.help;\n resolvedConfig.colors.border.message.divider.help = message.help;\n }\n if (isSetString(message.success)) {\n resolvedConfig.colors.border.message.outline.success =\n message.success;\n resolvedConfig.colors.border.message.divider.success =\n message.success;\n }\n if (isSetString(message.info)) {\n resolvedConfig.colors.border.message.outline.info = message.info;\n resolvedConfig.colors.border.message.divider.info = message.info;\n }\n if (isSetString(message.debug)) {\n resolvedConfig.colors.border.message.outline.debug =\n message.debug;\n resolvedConfig.colors.border.message.divider.debug =\n message.debug;\n }\n if (isSetString(message.warning)) {\n resolvedConfig.colors.border.message.outline.warning =\n message.warning;\n resolvedConfig.colors.border.message.divider.warning =\n message.warning;\n }\n if (isSetString(message.danger)) {\n resolvedConfig.colors.border.message.outline.danger =\n message.danger;\n resolvedConfig.colors.border.message.divider.danger =\n message.danger;\n }\n if (isSetString(message.error)) {\n resolvedConfig.colors.border.message.outline.error =\n message.error;\n resolvedConfig.colors.border.message.divider.error =\n message.error;\n }\n }\n }\n }\n }\n\n // #endregion Colors\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 // #region Padding\n\n resolvedConfig.padding ??= {} as ThemePaddingResolvedConfig;\n const padding = dictionary.padding;\n\n if (isNumber(padding)) {\n resolvedConfig.padding = {\n banner: padding,\n message: padding,\n app: padding,\n table: padding\n };\n } else if (isSetObject(padding)) {\n if (isNumber(padding.banner)) {\n resolvedConfig.padding.banner = padding.banner;\n }\n if (isNumber(padding.message)) {\n resolvedConfig.padding.message = padding.message;\n }\n if (isNumber(padding.app)) {\n resolvedConfig.padding.app = padding.app;\n }\n if (isNumber(padding.table)) {\n resolvedConfig.padding.table = padding.table;\n }\n }\n\n // #endregion Padding\n\n // #region Icons\n\n resolvedConfig.icons ??= {\n message: { header: {} },\n banner: { header: {} }\n } as ThemeIconsResolvedConfig;\n const icons = dictionary.icons as ThemeIconsUserConfig;\n\n if (isSetString(icons)) {\n resolvedConfig.icons = {\n message: {\n header: {\n help: icons,\n success: icons,\n info: icons,\n debug: icons,\n warning: icons,\n danger: icons,\n error: icons\n }\n },\n banner: {\n header: {\n primary: icons,\n secondary: icons,\n tertiary: icons\n }\n }\n };\n } else if (isSetObject(icons)) {\n resolvedConfig.icons.message =\n {} as ThemeIconTypeResolvedConfig<ThemeIconMessageStateConfig>;\n const message = icons.message;\n\n if (isSetString(message)) {\n resolvedConfig.icons.message = {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.icons.message.header ??=\n {} as ThemeIconMessageStateConfig;\n const header = message.header;\n\n if (isSetString(header)) {\n resolvedConfig.icons.message = {\n header: {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n }\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.icons.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.icons.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.icons.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.icons.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.icons.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.icons.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.icons.message.header.error = header.error;\n }\n }\n }\n\n resolvedConfig.icons.banner ??= {\n header: {}\n } as ThemeIconTypeResolvedConfig<ThemeIconSubItemConfig>;\n const banner = icons.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.icons.banner = {\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n }\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.icons.banner.header ??= {} as ThemeIconSubItemConfig;\n const header = banner.header as ThemeIconSubItemConfig;\n\n if (isSetString(banner.header)) {\n resolvedConfig.icons.banner = {\n header: {\n primary: banner.header,\n secondary: banner.header,\n tertiary: banner.header\n }\n };\n } else if (isSetObject(banner.header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.icons.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.icons.banner.header.secondary = header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.icons.banner.header.tertiary = header.tertiary;\n }\n }\n }\n }\n\n // #endregion Icons\n\n // #region Labels\n\n resolvedConfig.labels ??= {\n message: { header: {}, footer: {} },\n banner: { header: {}, footer: {} }\n } as ThemeLabelsResolvedConfig;\n const labels = dictionary.labels as ThemeLabelsUserConfig;\n\n if (isSetString(labels)) {\n resolvedConfig.labels = {\n message: {\n header: {\n help: labels,\n success: labels,\n info: labels,\n debug: labels,\n warning: labels,\n danger: labels,\n error: labels\n },\n footer: {}\n },\n banner: {\n header: {\n primary: labels,\n secondary: labels,\n tertiary: labels\n },\n footer: {}\n }\n };\n } else if (isSetObject(labels)) {\n resolvedConfig.labels.message ??=\n {} as ThemeLabelTypeResolvedConfig<ThemeLabelMessageStateConfig>;\n const message =\n labels?.message as ThemeLabelTypeUserConfig<ThemeLabelMessageStateConfig>;\n\n if (isSetString(message)) {\n resolvedConfig.labels.message = {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n footer: {}\n };\n } else if (isSetObject(message)) {\n resolvedConfig.labels.message.header =\n {} as ThemeLabelMessageStateConfig;\n resolvedConfig.labels.message.footer =\n {} as ThemeLabelMessageStateConfig;\n const header = message.header;\n const footer = message.footer;\n\n if (isSetString(header)) {\n resolvedConfig.labels.message.header = {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.labels.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.labels.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.labels.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.labels.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.labels.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.labels.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.labels.message.header.error = header.error;\n }\n }\n\n if (isSetString(footer)) {\n resolvedConfig.labels.message.footer = {\n help: footer,\n success: footer,\n info: footer,\n debug: footer,\n warning: footer,\n danger: footer,\n error: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.help)) {\n resolvedConfig.labels.message.footer.help = footer.help;\n }\n if (isSetString(footer.success)) {\n resolvedConfig.labels.message.footer.success = footer.success;\n }\n if (isSetString(footer.info)) {\n resolvedConfig.labels.message.footer.info = footer.info;\n }\n if (isSetString(footer.debug)) {\n resolvedConfig.labels.message.footer.debug = footer.debug;\n }\n if (isSetString(footer.warning)) {\n resolvedConfig.labels.message.footer.warning = footer.warning;\n }\n if (isSetString(footer.danger)) {\n resolvedConfig.labels.message.footer.danger = footer.danger;\n }\n if (isSetString(footer.error)) {\n resolvedConfig.labels.message.footer.error = footer.error;\n }\n }\n\n resolvedConfig.labels.banner ??=\n {} as ThemeLabelTypeResolvedConfig<ThemeLabelBannerSubItemConfig>;\n const banner =\n labels?.banner as ThemeLabelTypeUserConfig<ThemeLabelBannerSubItemConfig>;\n\n if (isSetString(banner)) {\n resolvedConfig.labels.banner = {\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n footer: {}\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.labels.banner.header =\n {} as ThemeLabelBannerSubItemConfig;\n resolvedConfig.labels.banner.footer =\n {} as ThemeLabelBannerSubItemConfig;\n const header = banner.header;\n const footer = banner.footer;\n\n if (isSetString(header)) {\n resolvedConfig.labels.banner.header = {\n primary: header,\n secondary: header,\n tertiary: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.labels.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.labels.banner.header.secondary = header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.labels.banner.header.tertiary = header.tertiary;\n }\n }\n\n if (isSetString(footer)) {\n resolvedConfig.labels.banner.footer = {\n primary: footer,\n secondary: footer,\n tertiary: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.primary)) {\n resolvedConfig.labels.banner.footer.primary = footer.primary;\n }\n if (isSetString(footer.secondary)) {\n resolvedConfig.labels.banner.footer.secondary = footer.secondary;\n }\n if (isSetString(footer.tertiary)) {\n resolvedConfig.labels.banner.footer.tertiary = footer.tertiary;\n }\n }\n }\n }\n }\n\n // #endregion Labels\n\n // #endregion Tiered token resolution\n\n // #region Missing token defaulting\n\n if (\n !resolvedConfig.colors.text?.body?.tertiary &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.body.tertiary =\n resolvedConfig.colors.text.body.secondary;\n }\n if (\n !resolvedConfig.colors.text?.body?.secondary &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.body.secondary =\n resolvedConfig.colors.text.body.tertiary;\n }\n\n if (\n !resolvedConfig.colors.text?.heading?.tertiary &&\n resolvedConfig.colors.text?.heading?.secondary\n ) {\n resolvedConfig.colors.text.heading.tertiary =\n resolvedConfig.colors.text.heading.secondary;\n }\n if (\n !resolvedConfig.colors.text?.heading?.secondary &&\n resolvedConfig.colors.text?.heading?.tertiary\n ) {\n resolvedConfig.colors.text.heading.secondary =\n resolvedConfig.colors.text.heading.tertiary;\n }\n\n if (\n !resolvedConfig.colors.text?.heading?.primary &&\n resolvedConfig.colors.text?.banner?.title?.primary\n ) {\n resolvedConfig.colors.text.heading.primary =\n resolvedConfig.colors.text.banner.title.primary;\n }\n if (\n !resolvedConfig.colors.text?.heading?.tertiary &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.heading.tertiary =\n resolvedConfig.colors.text.body.secondary;\n }\n if (\n !resolvedConfig.colors.text?.heading?.secondary &&\n resolvedConfig.colors.text?.body?.primary\n ) {\n resolvedConfig.colors.text.heading.secondary =\n resolvedConfig.colors.text.body.primary;\n }\n\n if (\n !resolvedConfig.colors.text?.usage?.bin &&\n resolvedConfig.colors.text?.body?.primary\n ) {\n resolvedConfig.colors.text.usage.bin =\n resolvedConfig.colors.text.body.primary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.command &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.usage.command =\n resolvedConfig.colors.text.body.secondary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.subcommand &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.usage.subcommand =\n resolvedConfig.colors.text.body.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.options &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.usage.options =\n resolvedConfig.colors.text.body.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.params &&\n resolvedConfig.colors.text?.body?.tertiary\n ) {\n resolvedConfig.colors.text.usage.params =\n resolvedConfig.colors.text.body.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.usage?.description &&\n resolvedConfig.colors.text?.body?.secondary\n ) {\n resolvedConfig.colors.text.usage.description =\n resolvedConfig.colors.text.body.secondary;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.title?.primary &&\n resolvedConfig.colors.text?.heading?.primary\n ) {\n resolvedConfig.colors.text.banner.title ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.title.primary =\n resolvedConfig.colors.text.heading.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.command?.primary &&\n (resolvedConfig.colors.text?.heading?.secondary ||\n resolvedConfig.colors.text?.heading?.primary)\n ) {\n resolvedConfig.colors.text.banner.command ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.command.primary =\n resolvedConfig.colors.text.heading.secondary ||\n resolvedConfig.colors.text.heading.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.description?.primary &&\n resolvedConfig.colors.text?.body?.primary\n ) {\n resolvedConfig.colors.text.banner.description ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.description.primary =\n resolvedConfig.colors.text.body.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.link?.primary &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.banner.link ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.link.primary =\n resolvedConfig.colors.text.body.link;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.title?.secondary &&\n resolvedConfig.colors.text?.banner?.title?.primary\n ) {\n resolvedConfig.colors.text.banner.title ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.title.secondary =\n resolvedConfig.colors.text.banner.title.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.command?.secondary &&\n resolvedConfig.colors.text?.banner?.command?.primary\n ) {\n resolvedConfig.colors.text.banner.command ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.command.secondary =\n resolvedConfig.colors.text.banner.command.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.description?.secondary &&\n resolvedConfig.colors.text?.banner?.description?.primary\n ) {\n resolvedConfig.colors.text.banner.description ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.description.secondary =\n resolvedConfig.colors.text.banner.description.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.link?.secondary &&\n resolvedConfig.colors.text?.banner?.link?.primary\n ) {\n resolvedConfig.colors.text.banner.link ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.link.secondary =\n resolvedConfig.colors.text.banner.link.primary;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.title?.tertiary &&\n resolvedConfig.colors.text?.banner?.title?.secondary\n ) {\n resolvedConfig.colors.text.banner.title ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.title.tertiary =\n resolvedConfig.colors.text.banner.title.secondary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.command?.tertiary &&\n resolvedConfig.colors.text?.banner?.command?.secondary\n ) {\n resolvedConfig.colors.text.banner.command ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.command.tertiary =\n resolvedConfig.colors.text.banner.command.secondary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.description?.tertiary &&\n resolvedConfig.colors.text?.banner?.description?.secondary\n ) {\n resolvedConfig.colors.text.banner.description ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.description.tertiary =\n resolvedConfig.colors.text.banner.description.secondary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.link?.tertiary &&\n resolvedConfig.colors.text?.banner?.link?.secondary\n ) {\n resolvedConfig.colors.text.banner.link ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.link.tertiary =\n resolvedConfig.colors.text.banner.link.secondary;\n }\n\n if (\n !resolvedConfig.colors.border?.banner?.outline?.primary &&\n (resolvedConfig.colors.border?.banner?.outline?.secondary ||\n resolvedConfig.colors.border?.banner?.outline?.tertiary)\n ) {\n resolvedConfig.colors.border.banner.outline.primary =\n resolvedConfig.colors.border.banner.outline.secondary ||\n resolvedConfig.colors.border.banner.outline.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.banner?.outline?.secondary &&\n (resolvedConfig.colors.border?.banner?.outline?.primary ||\n resolvedConfig.colors.border?.banner?.outline?.tertiary)\n ) {\n resolvedConfig.colors.border.banner.outline.secondary =\n resolvedConfig.colors.border.banner.outline.primary ||\n resolvedConfig.colors.border.banner.outline.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.banner?.outline?.tertiary &&\n (resolvedConfig.colors.border?.banner?.outline?.primary ||\n resolvedConfig.colors.border?.banner?.outline?.secondary)\n ) {\n resolvedConfig.colors.border.banner.outline.tertiary =\n resolvedConfig.colors.border.banner.outline.primary ||\n resolvedConfig.colors.border.banner.outline.secondary;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.header?.primary &&\n resolvedConfig.colors.border?.banner?.outline?.primary\n ) {\n resolvedConfig.colors.text.banner.header ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.header.primary =\n resolvedConfig.colors.border.banner.outline.primary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.footer?.primary &&\n resolvedConfig.colors.border?.banner?.outline?.primary\n ) {\n resolvedConfig.colors.text.banner.footer ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.footer.primary =\n resolvedConfig.colors.border.banner.outline.primary;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.header?.secondary &&\n resolvedConfig.colors.border?.banner?.outline?.secondary\n ) {\n resolvedConfig.colors.text.banner.header ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.header.secondary =\n resolvedConfig.colors.border.banner.outline.secondary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.footer?.secondary &&\n resolvedConfig.colors.border?.banner?.outline?.secondary\n ) {\n resolvedConfig.colors.text.banner.footer ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.footer.secondary =\n resolvedConfig.colors.border.banner.outline.secondary;\n }\n\n if (\n !resolvedConfig.colors.text?.banner?.header?.tertiary &&\n resolvedConfig.colors.border?.banner?.outline?.tertiary\n ) {\n resolvedConfig.colors.text.banner.header ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.header.tertiary =\n resolvedConfig.colors.border.banner.outline.tertiary;\n }\n if (\n !resolvedConfig.colors.text?.banner?.footer?.tertiary &&\n resolvedConfig.colors.border?.banner?.outline?.tertiary\n ) {\n resolvedConfig.colors.text.banner.footer ??= {} as ThemeColorSubItem;\n resolvedConfig.colors.text.banner.footer.tertiary =\n resolvedConfig.colors.border.banner.outline.tertiary;\n }\n\n if (\n !resolvedConfig.colors.border?.banner?.outline?.primary &&\n resolvedConfig.colors.text?.banner?.title?.primary\n ) {\n resolvedConfig.colors.border.banner.outline.primary =\n resolvedConfig.colors.text.banner.title.primary;\n }\n\n if (\n !resolvedConfig.colors.border?.app?.divider?.primary &&\n (resolvedConfig.colors.border?.app?.divider?.secondary ||\n resolvedConfig.colors.border?.app?.divider?.tertiary)\n ) {\n resolvedConfig.colors.border.app.divider.primary =\n resolvedConfig.colors.border.app.divider.secondary ||\n resolvedConfig.colors.border.app.divider.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.divider?.secondary &&\n (resolvedConfig.colors.border?.app?.divider?.primary ||\n resolvedConfig.colors.border?.app?.divider?.tertiary)\n ) {\n resolvedConfig.colors.border.app.divider.secondary =\n resolvedConfig.colors.border.app.divider.primary ||\n resolvedConfig.colors.border.app.divider.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.divider?.tertiary &&\n (resolvedConfig.colors.border?.app?.divider?.primary ||\n resolvedConfig.colors.border?.app?.divider?.secondary)\n ) {\n resolvedConfig.colors.border.app.divider.tertiary =\n resolvedConfig.colors.border.app.divider.primary ||\n resolvedConfig.colors.border.app.divider.secondary;\n }\n\n if (\n !resolvedConfig.colors.border?.app?.table?.primary &&\n (resolvedConfig.colors.border?.app?.table?.secondary ||\n resolvedConfig.colors.border?.app?.table?.tertiary)\n ) {\n resolvedConfig.colors.border.app.table.primary =\n resolvedConfig.colors.border.app.table.secondary ||\n resolvedConfig.colors.border.app.table.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.table?.secondary &&\n (resolvedConfig.colors.border?.app?.table?.primary ||\n resolvedConfig.colors.border?.app?.table?.tertiary)\n ) {\n resolvedConfig.colors.border.app.table.secondary =\n resolvedConfig.colors.border.app.table.primary ||\n resolvedConfig.colors.border.app.table.tertiary;\n }\n if (\n !resolvedConfig.colors.border?.app?.table?.tertiary &&\n (resolvedConfig.colors.border?.app?.table?.primary ||\n resolvedConfig.colors.border?.app?.table?.secondary)\n ) {\n resolvedConfig.colors.border.app.table.tertiary =\n resolvedConfig.colors.border.app.table.primary ||\n resolvedConfig.colors.border.app.table.secondary;\n }\n\n if (\n !resolvedConfig.colors.border?.message?.divider?.info &&\n resolvedConfig.colors.border?.message?.divider?.debug\n ) {\n resolvedConfig.colors.border.message.divider.info =\n resolvedConfig.colors.border.message.divider.debug;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.debug &&\n resolvedConfig.colors.border?.message?.divider?.info\n ) {\n resolvedConfig.colors.border.message.divider.debug =\n resolvedConfig.colors.border.message.divider.info;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.info &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.border.message.outline.info =\n resolvedConfig.colors.border.message.outline.debug;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.debug &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.border.message.outline.debug =\n resolvedConfig.colors.border.message.outline.info;\n }\n\n if (\n !resolvedConfig.colors.border?.message?.divider?.error &&\n resolvedConfig.colors.border?.message?.divider?.danger\n ) {\n resolvedConfig.colors.border.message.divider.error =\n resolvedConfig.colors.border.message.divider.danger;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.danger &&\n resolvedConfig.colors.border?.message?.divider?.error\n ) {\n resolvedConfig.colors.border.message.divider.danger =\n resolvedConfig.colors.border.message.divider.error;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.error &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.border.message.outline.error =\n resolvedConfig.colors.border.message.outline.danger;\n }\n if (\n !resolvedConfig.colors.border?.message?.outline?.danger &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.border.message.outline.danger =\n resolvedConfig.colors.border.message.outline.error;\n }\n\n if (\n !resolvedConfig.colors.border?.message?.divider?.help &&\n resolvedConfig.colors.border?.message?.outline?.help\n ) {\n resolvedConfig.colors.border.message.divider.help =\n resolvedConfig.colors.border.message.outline.help;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.success &&\n resolvedConfig.colors.border?.message?.outline?.success\n ) {\n resolvedConfig.colors.border.message.divider.success =\n resolvedConfig.colors.border.message.outline.success;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.info &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.border.message.divider.info =\n resolvedConfig.colors.border.message.outline.info;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.debug &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.border.message.divider.debug =\n resolvedConfig.colors.border.message.outline.debug;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.warning &&\n resolvedConfig.colors.border?.message?.outline?.warning\n ) {\n resolvedConfig.colors.border.message.divider.warning =\n resolvedConfig.colors.border.message.outline.warning;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.danger &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.border.message.divider.danger =\n resolvedConfig.colors.border.message.outline.danger;\n }\n if (\n !resolvedConfig.colors.border?.message?.divider?.error &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.border.message.divider.error =\n resolvedConfig.colors.border.message.outline.error;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.help &&\n resolvedConfig.colors.border?.message?.outline?.help\n ) {\n resolvedConfig.colors.text.message.header.help =\n resolvedConfig.colors.border.message.outline.help;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.help &&\n resolvedConfig.colors.border?.message?.outline?.help\n ) {\n resolvedConfig.colors.text.message.footer.help =\n resolvedConfig.colors.border.message.outline.help;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.success &&\n resolvedConfig.colors.border?.message?.outline?.success\n ) {\n resolvedConfig.colors.text.message.header.success =\n resolvedConfig.colors.border.message.outline.success;\n }\n if (\n !resolvedConfig.colors.text.message.footer.success &&\n resolvedConfig.colors.border?.message?.outline?.success\n ) {\n resolvedConfig.colors.text.message.footer.success =\n resolvedConfig.colors.border.message.outline.success;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.info &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.text.message.header.info =\n resolvedConfig.colors.border.message.outline.info;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.info &&\n resolvedConfig.colors.border?.message?.outline?.info\n ) {\n resolvedConfig.colors.text.message.footer.info =\n resolvedConfig.colors.border.message.outline.info;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.debug &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.text.message.header.debug =\n resolvedConfig.colors.border.message.outline.debug;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.debug &&\n resolvedConfig.colors.border?.message?.outline?.debug\n ) {\n resolvedConfig.colors.text.message.footer.debug =\n resolvedConfig.colors.border.message.outline.debug;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.warning &&\n resolvedConfig.colors.border?.message?.outline?.warning\n ) {\n resolvedConfig.colors.text.message.header.warning =\n resolvedConfig.colors.border.message.outline.warning;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.warning &&\n resolvedConfig.colors.border?.message?.outline?.warning\n ) {\n resolvedConfig.colors.text.message.footer.warning =\n resolvedConfig.colors.border.message.outline.warning;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.danger &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.text.message.header.danger =\n resolvedConfig.colors.border.message.outline.danger;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.danger &&\n resolvedConfig.colors.border?.message?.outline?.danger\n ) {\n resolvedConfig.colors.text.message.footer.danger =\n resolvedConfig.colors.border.message.outline.danger;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.error &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.text.message.header.error =\n resolvedConfig.colors.border.message.outline.error;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.error &&\n resolvedConfig.colors.border?.message?.outline?.error\n ) {\n resolvedConfig.colors.text.message.footer.error =\n resolvedConfig.colors.border.message.outline.error;\n }\n\n if (\n !resolvedConfig.colors.text.message?.header?.debug &&\n resolvedConfig.colors.text.message?.header?.info\n ) {\n resolvedConfig.colors.text.message.header.debug =\n resolvedConfig.colors.text.message.header.info;\n }\n if (\n !resolvedConfig.colors.text.message?.footer?.debug &&\n resolvedConfig.colors.text.message?.footer?.info\n ) {\n resolvedConfig.colors.text.message.footer.debug =\n resolvedConfig.colors.text.message.footer.info;\n }\n\n if (\n !resolvedConfig.colors.text.message?.link?.help &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.help =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.success &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.success =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.info &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.info =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.debug &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.debug =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.warning &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.warning =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.danger &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.danger =\n resolvedConfig.colors.text.body.link;\n }\n if (\n !resolvedConfig.colors.text.message?.link?.error &&\n resolvedConfig.colors.text?.body?.link\n ) {\n resolvedConfig.colors.text.message.link.error =\n resolvedConfig.colors.text.body.link;\n }\n\n // #endregion Missing token defaulting\n\n context.theme = resolvedConfig;\n\n return dictionary;\n }\n});\n"],"mappings":"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"}