@shell-shock/plugin-theme 0.4.20 → 0.4.23
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.
- package/dist/_virtual/_rolldown/runtime.mjs +41 -0
- package/dist/contexts/theme.mjs.map +1 -1
- package/dist/core/dist/types/command.d.cts +0 -1
- package/dist/core/dist/types/command.d.cts.map +1 -1
- package/dist/core/dist/types/config.d.cts +13 -11
- package/dist/core/dist/types/config.d.cts.map +1 -1
- package/dist/core/dist/types/context.d.cts +3 -2
- package/dist/core/dist/types/context.d.cts.map +1 -1
- package/dist/helpers/ansi-utils.mjs.map +1 -1
- package/dist/helpers/border-styles.mjs.map +1 -1
- package/dist/helpers/constants.d.cts +2 -2
- package/dist/helpers/constants.d.cts.map +1 -1
- package/dist/helpers/constants.d.mts +2 -2
- package/dist/helpers/constants.d.mts.map +1 -1
- package/dist/helpers/constants.mjs.map +1 -1
- package/dist/helpers/merge.mjs.map +1 -1
- package/dist/helpers/spinners.mjs.map +1 -1
- package/dist/index.cjs +41 -47
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +41 -46
- package/dist/index.mjs.map +1 -1
- package/dist/node_modules/.pnpm/@standard-schema_spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.mts +8 -0
- package/dist/node_modules/.pnpm/@standard-schema_spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/ZodError.d.mts +11 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/ZodError.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/errors.d.mts +10 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/errors.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/external.d.mts +14 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/external.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/enumUtil.d.mts +8 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/enumUtil.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/errorUtil.d.mts +8 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/errorUtil.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/parseUtil.d.mts +10 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/parseUtil.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/partialUtil.d.mts +9 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/partialUtil.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/typeAliases.d.mts +8 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/typeAliases.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/util.d.mts +8 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/helpers/util.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/index.d.mts +9 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/index.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/locales/en.d.mts +9 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/locales/en.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/standard-schema.d.mts +8 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/standard-schema.d.mts.map +1 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/types.d.mts +16 -0
- package/dist/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/types.d.mts.map +1 -0
- package/dist/packages/core/dist/api.d.mts +9 -0
- package/dist/packages/core/dist/api.d.mts.map +1 -0
- package/dist/packages/core/dist/index.d.mts +13 -0
- package/dist/packages/core/dist/index.d.mts.map +1 -0
- package/dist/packages/core/dist/types/command.d.mts +10 -0
- package/dist/packages/core/dist/types/command.d.mts.map +1 -0
- package/dist/packages/core/dist/types/config.d.mts +10 -0
- package/dist/packages/core/dist/types/config.d.mts.map +1 -0
- package/dist/packages/core/dist/types/context.d.mts +10 -0
- package/dist/packages/core/dist/types/context.d.mts.map +1 -0
- package/dist/packages/core/dist/types/options.d.mts +8 -0
- package/dist/packages/core/dist/types/options.d.mts.map +1 -0
- package/dist/style-dictionary/border-styles.mjs.map +1 -1
- package/dist/style-dictionary/colors.mjs.map +1 -1
- package/dist/style-dictionary/icons.mjs.map +1 -1
- package/dist/style-dictionary/labels.mjs.map +1 -1
- package/dist/style-dictionary/padding.mjs.map +1 -1
- package/dist/style-dictionary/settings.mjs.map +1 -1
- package/dist/style-dictionary/spinners.mjs.map +1 -1
- package/dist/themes/default.mjs.map +1 -1
- package/dist/types/plugin.d.mts +4 -5
- package/dist/types/plugin.d.mts.map +1 -1
- package/package.json +13 -10
- package/dist/core/dist/api.d.mts +0 -1
- package/dist/core/dist/index.d.mts +0 -3
- package/dist/core/dist/types/command.d.mts +0 -274
- package/dist/core/dist/types/command.d.mts.map +0 -1
- package/dist/core/dist/types/config.d.mts +0 -119
- package/dist/core/dist/types/config.d.mts.map +0 -1
- package/dist/core/dist/types/context.d.mts +0 -28
- package/dist/core/dist/types/context.d.mts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.mjs","names":[],"sources":["../../src/style-dictionary/icons.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeIconLinkStateConfig,\n ThemeIconMessageStateConfig,\n ThemeIconPromptStateConfig,\n ThemeIconSpinnerStateConfig,\n ThemeIconsResolvedConfig,\n ThemeIconSubItemConfig,\n ThemeIconsUserConfig,\n ThemeIconTypeResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Icons Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const icons = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/icons\",\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 Icons\n\n resolvedConfig.icons ??= {\n link: {},\n message: { header: {} },\n banner: { header: {} },\n prompt: {}\n } as ThemeIconsResolvedConfig;\n const icons = dictionary.icons as ThemeIconsUserConfig;\n\n if (isSetString(icons)) {\n resolvedConfig.icons = {\n link: {\n external: icons\n },\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 prompt: {\n active: icons,\n cancelled: icons,\n warning: icons,\n error: icons,\n submitted: icons,\n disabled: icons\n },\n spinner: {\n help: icons,\n success: icons,\n info: icons,\n warning: icons,\n error: icons\n }\n };\n } else if (isSetObject(icons)) {\n resolvedConfig.icons.link ??= {} as ThemeIconLinkStateConfig;\n const app = icons.link;\n\n if (isSetString(app)) {\n resolvedConfig.icons.link = {\n external: app\n };\n } else if (isSetObject(app)) {\n if (isSetString(app.external)) {\n resolvedConfig.icons.link.external = app.external;\n }\n }\n\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 resolvedConfig.icons.prompt ??= {} as ThemeIconPromptStateConfig;\n const prompt = icons.prompt;\n\n if (isSetString(prompt)) {\n resolvedConfig.icons.prompt = {\n active: prompt,\n cancelled: prompt,\n error: prompt,\n warning: prompt,\n submitted: prompt,\n disabled: prompt\n };\n } else if (isSetObject(prompt)) {\n if (isSetString(prompt.active)) {\n resolvedConfig.icons.prompt.active = prompt.active;\n }\n if (isSetString(prompt.cancelled)) {\n resolvedConfig.icons.prompt.cancelled = prompt.cancelled;\n }\n if (isSetString(prompt.error)) {\n resolvedConfig.icons.prompt.error = prompt.error;\n }\n if (isSetString(prompt.warning)) {\n resolvedConfig.icons.prompt.warning = prompt.warning;\n }\n if (isSetString(prompt.submitted)) {\n resolvedConfig.icons.prompt.submitted = prompt.submitted;\n }\n if (isSetString(prompt.disabled)) {\n resolvedConfig.icons.prompt.disabled = prompt.disabled;\n }\n }\n\n resolvedConfig.icons.spinner ??= {} as ThemeIconSpinnerStateConfig;\n const spinner = icons.spinner;\n\n if (isSetString(spinner)) {\n resolvedConfig.icons.spinner = {\n help: spinner,\n success: spinner,\n info: spinner,\n warning: spinner,\n error: spinner\n };\n } else if (isSetObject(spinner)) {\n if (isSetString(spinner.help)) {\n resolvedConfig.icons.spinner.help = spinner.help;\n }\n if (isSetString(spinner.success)) {\n resolvedConfig.icons.spinner.success = spinner.success;\n }\n if (isSetString(spinner.info)) {\n resolvedConfig.icons.spinner.info = spinner.info;\n }\n if (isSetString(spinner.warning)) {\n resolvedConfig.icons.spinner.warning = spinner.warning;\n }\n if (isSetString(spinner.error)) {\n resolvedConfig.icons.spinner.error = spinner.error;\n }\n }\n }\n\n // #endregion Icons\n\n // #endregion Tiered token resolution\n\n // #region Missing token defaulting\n\n if (\n !resolvedConfig.icons.prompt?.active &&\n resolvedConfig.icons?.banner?.header?.primary\n ) {\n resolvedConfig.icons.prompt.active =\n resolvedConfig.icons.banner.header.primary;\n }\n if (\n !resolvedConfig.icons.prompt?.submitted &&\n resolvedConfig.icons.message?.header?.success\n ) {\n resolvedConfig.icons.prompt.submitted =\n resolvedConfig.icons.message.header.success;\n }\n if (\n !resolvedConfig.icons.prompt?.warning &&\n resolvedConfig.icons.message?.header?.warning\n ) {\n resolvedConfig.icons.prompt.warning =\n resolvedConfig.icons.message.header.warning;\n }\n if (\n !resolvedConfig.icons.prompt?.error &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.prompt.error =\n resolvedConfig.icons.message.header.error;\n }\n if (\n !resolvedConfig.icons.prompt?.cancelled &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.prompt.cancelled =\n resolvedConfig.icons.message.header.error;\n }\n\n if (\n !resolvedConfig.icons.spinner?.success &&\n resolvedConfig.icons.message?.header?.success\n ) {\n resolvedConfig.icons.spinner.success =\n resolvedConfig.icons.message.header.success;\n }\n if (\n !resolvedConfig.icons.spinner?.warning &&\n resolvedConfig.icons.message?.header?.warning\n ) {\n resolvedConfig.icons.spinner.warning =\n resolvedConfig.icons.message.header.warning;\n }\n if (\n !resolvedConfig.icons.spinner?.error &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.spinner.error =\n resolvedConfig.icons.message.header.error;\n }\n if (\n !resolvedConfig.icons.spinner?.info &&\n resolvedConfig.icons.message?.header?.info\n ) {\n resolvedConfig.icons.spinner.info =\n resolvedConfig.icons.message.header.info;\n }\n if (\n !resolvedConfig.icons.spinner?.help &&\n resolvedConfig.icons.message?.header?.help\n ) {\n resolvedConfig.icons.spinner.help =\n resolvedConfig.icons.message.header.help;\n }\n\n // #endregion Missing token defaulting\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;AA8CA,MAAa,SAAS,aAA+C;CACnE,MAAM;CACN,eACE,YACA,aACuB;EACvB,MAAM,iBAAiB,EAAE;AACzB,iBAAe,OACZ,WAA2B,UAAU,QAAQ,OAAO;AAMvD,iBAAe,UAAU;GACvB,MAAM,EAAE;GACR,SAAS,EAAE,QAAQ,EAAE,EAAE;GACvB,QAAQ,EAAE,QAAQ,EAAE,EAAE;GACtB,QAAQ,EAAE;GACX;EACD,MAAM,QAAQ,WAAW;AAEzB,MAAI,YAAY,MAAM,CACpB,gBAAe,QAAQ;GACrB,MAAM,EACJ,UAAU,OACX;GACD,SAAS,EACP,QAAQ;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACR,EACF;GACD,QAAQ,EACN,QAAQ;IACN,SAAS;IACT,WAAW;IACX,UAAU;IACX,EACF;GACD,QAAQ;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,OAAO;IACP,WAAW;IACX,UAAU;IACX;GACD,SAAS;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACR;GACF;WACQ,YAAY,MAAM,EAAE;AAC7B,kBAAe,MAAM,SAAS,EAAE;GAChC,MAAM,MAAM,MAAM;AAElB,OAAI,YAAY,IAAI,CAClB,gBAAe,MAAM,OAAO,EAC1B,UAAU,KACX;YACQ,YAAY,IAAI,EACzB;QAAI,YAAY,IAAI,SAAS,CAC3B,gBAAe,MAAM,KAAK,WAAW,IAAI;;AAI7C,kBAAe,MAAM,UACnB,EAAE;GACJ,MAAM,UAAU,MAAM;AAEtB,OAAI,YAAY,QAAQ,CACtB,gBAAe,MAAM,UAAU,EAC7B,QAAQ;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,QAAQ;IACR,OAAO;IACR,EACF;YACQ,YAAY,QAAQ,EAAE;AAC/B,mBAAe,MAAM,QAAQ,WAC3B,EAAE;IACJ,MAAM,SAAS,QAAQ;AAEvB,QAAI,YAAY,OAAO,CACrB,gBAAe,MAAM,UAAU,EAC7B,QAAQ;KACN,MAAM;KACN,SAAS;KACT,MAAM;KACN,OAAO;KACP,SAAS;KACT,QAAQ;KACR,OAAO;KACR,EACF;aACQ,YAAY,OAAO,EAAE;AAC9B,SAAI,YAAY,OAAO,KAAK,CAC1B,gBAAe,MAAM,QAAQ,OAAO,OAAO,OAAO;AAEpD,SAAI,YAAY,OAAO,QAAQ,CAC7B,gBAAe,MAAM,QAAQ,OAAO,UAAU,OAAO;AAEvD,SAAI,YAAY,OAAO,KAAK,CAC1B,gBAAe,MAAM,QAAQ,OAAO,OAAO,OAAO;AAEpD,SAAI,YAAY,OAAO,MAAM,CAC3B,gBAAe,MAAM,QAAQ,OAAO,QAAQ,OAAO;AAErD,SAAI,YAAY,OAAO,QAAQ,CAC7B,gBAAe,MAAM,QAAQ,OAAO,UAAU,OAAO;AAEvD,SAAI,YAAY,OAAO,OAAO,CAC5B,gBAAe,MAAM,QAAQ,OAAO,SAAS,OAAO;AAEtD,SAAI,YAAY,OAAO,MAAM,CAC3B,gBAAe,MAAM,QAAQ,OAAO,QAAQ,OAAO;;;AAKzD,kBAAe,MAAM,WAAW,EAC9B,QAAQ,EAAE,EACX;GACD,MAAM,SAAS,MAAM;AAErB,OAAI,YAAY,OAAO,CACrB,gBAAe,MAAM,SAAS,EAC5B,QAAQ;IACN,SAAS;IACT,WAAW;IACX,UAAU;IACX,EACF;YACQ,YAAY,OAAO,EAAE;AAC9B,mBAAe,MAAM,OAAO,WAAW,EAAE;IACzC,MAAM,SAAS,OAAO;AAEtB,QAAI,YAAY,OAAO,OAAO,CAC5B,gBAAe,MAAM,SAAS,EAC5B,QAAQ;KACN,SAAS,OAAO;KAChB,WAAW,OAAO;KAClB,UAAU,OAAO;KAClB,EACF;aACQ,YAAY,OAAO,OAAO,EAAE;AACrC,SAAI,YAAY,OAAO,QAAQ,CAC7B,gBAAe,MAAM,OAAO,OAAO,UAAU,OAAO;AAEtD,SAAI,YAAY,OAAO,UAAU,CAC/B,gBAAe,MAAM,OAAO,OAAO,YAAY,OAAO;AAExD,SAAI,YAAY,OAAO,SAAS,CAC9B,gBAAe,MAAM,OAAO,OAAO,WAAW,OAAO;;;AAK3D,kBAAe,MAAM,WAAW,EAAE;GAClC,MAAM,SAAS,MAAM;AAErB,OAAI,YAAY,OAAO,CACrB,gBAAe,MAAM,SAAS;IAC5B,QAAQ;IACR,WAAW;IACX,OAAO;IACP,SAAS;IACT,WAAW;IACX,UAAU;IACX;YACQ,YAAY,OAAO,EAAE;AAC9B,QAAI,YAAY,OAAO,OAAO,CAC5B,gBAAe,MAAM,OAAO,SAAS,OAAO;AAE9C,QAAI,YAAY,OAAO,UAAU,CAC/B,gBAAe,MAAM,OAAO,YAAY,OAAO;AAEjD,QAAI,YAAY,OAAO,MAAM,CAC3B,gBAAe,MAAM,OAAO,QAAQ,OAAO;AAE7C,QAAI,YAAY,OAAO,QAAQ,CAC7B,gBAAe,MAAM,OAAO,UAAU,OAAO;AAE/C,QAAI,YAAY,OAAO,UAAU,CAC/B,gBAAe,MAAM,OAAO,YAAY,OAAO;AAEjD,QAAI,YAAY,OAAO,SAAS,CAC9B,gBAAe,MAAM,OAAO,WAAW,OAAO;;AAIlD,kBAAe,MAAM,YAAY,EAAE;GACnC,MAAM,UAAU,MAAM;AAEtB,OAAI,YAAY,QAAQ,CACtB,gBAAe,MAAM,UAAU;IAC7B,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACR;YACQ,YAAY,QAAQ,EAAE;AAC/B,QAAI,YAAY,QAAQ,KAAK,CAC3B,gBAAe,MAAM,QAAQ,OAAO,QAAQ;AAE9C,QAAI,YAAY,QAAQ,QAAQ,CAC9B,gBAAe,MAAM,QAAQ,UAAU,QAAQ;AAEjD,QAAI,YAAY,QAAQ,KAAK,CAC3B,gBAAe,MAAM,QAAQ,OAAO,QAAQ;AAE9C,QAAI,YAAY,QAAQ,QAAQ,CAC9B,gBAAe,MAAM,QAAQ,UAAU,QAAQ;AAEjD,QAAI,YAAY,QAAQ,MAAM,CAC5B,gBAAe,MAAM,QAAQ,QAAQ,QAAQ;;;AAWnD,MACE,CAAC,eAAe,MAAM,QAAQ,UAC9B,eAAe,OAAO,QAAQ,QAAQ,QAEtC,gBAAe,MAAM,OAAO,SAC1B,eAAe,MAAM,OAAO,OAAO;AAEvC,MACE,CAAC,eAAe,MAAM,QAAQ,aAC9B,eAAe,MAAM,SAAS,QAAQ,QAEtC,gBAAe,MAAM,OAAO,YAC1B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,QAAQ,WAC9B,eAAe,MAAM,SAAS,QAAQ,QAEtC,gBAAe,MAAM,OAAO,UAC1B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,QAAQ,SAC9B,eAAe,MAAM,SAAS,QAAQ,MAEtC,gBAAe,MAAM,OAAO,QAC1B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,QAAQ,aAC9B,eAAe,MAAM,SAAS,QAAQ,MAEtC,gBAAe,MAAM,OAAO,YAC1B,eAAe,MAAM,QAAQ,OAAO;AAGxC,MACE,CAAC,eAAe,MAAM,SAAS,WAC/B,eAAe,MAAM,SAAS,QAAQ,QAEtC,gBAAe,MAAM,QAAQ,UAC3B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,SAAS,WAC/B,eAAe,MAAM,SAAS,QAAQ,QAEtC,gBAAe,MAAM,QAAQ,UAC3B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,SAAS,SAC/B,eAAe,MAAM,SAAS,QAAQ,MAEtC,gBAAe,MAAM,QAAQ,QAC3B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,SAAS,QAC/B,eAAe,MAAM,SAAS,QAAQ,KAEtC,gBAAe,MAAM,QAAQ,OAC3B,eAAe,MAAM,QAAQ,OAAO;AAExC,MACE,CAAC,eAAe,MAAM,SAAS,QAC/B,eAAe,MAAM,SAAS,QAAQ,KAEtC,gBAAe,MAAM,QAAQ,OAC3B,eAAe,MAAM,QAAQ,OAAO;AAKxC,cAAY,SAAS,eAAe;AAEpC,SAAO;;CAEV"}
|
|
1
|
+
{"version":3,"file":"icons.mjs","names":[],"sources":["../../src/style-dictionary/icons.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeIconLinkStateConfig,\n ThemeIconMessageStateConfig,\n ThemeIconPromptStateConfig,\n ThemeIconSpinnerStateConfig,\n ThemeIconsResolvedConfig,\n ThemeIconSubItemConfig,\n ThemeIconsUserConfig,\n ThemeIconTypeResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Icons Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const icons = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/icons\",\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 Icons\n\n resolvedConfig.icons ??= {\n link: {},\n message: { header: {} },\n banner: { header: {} },\n prompt: {}\n } as ThemeIconsResolvedConfig;\n const icons = dictionary.icons as ThemeIconsUserConfig;\n\n if (isSetString(icons)) {\n resolvedConfig.icons = {\n link: {\n external: icons\n },\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 prompt: {\n active: icons,\n cancelled: icons,\n warning: icons,\n error: icons,\n submitted: icons,\n disabled: icons\n },\n spinner: {\n help: icons,\n success: icons,\n info: icons,\n warning: icons,\n error: icons\n }\n };\n } else if (isSetObject(icons)) {\n resolvedConfig.icons.link ??= {} as ThemeIconLinkStateConfig;\n const app = icons.link;\n\n if (isSetString(app)) {\n resolvedConfig.icons.link = {\n external: app\n };\n } else if (isSetObject(app)) {\n if (isSetString(app.external)) {\n resolvedConfig.icons.link.external = app.external;\n }\n }\n\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 resolvedConfig.icons.prompt ??= {} as ThemeIconPromptStateConfig;\n const prompt = icons.prompt;\n\n if (isSetString(prompt)) {\n resolvedConfig.icons.prompt = {\n active: prompt,\n cancelled: prompt,\n error: prompt,\n warning: prompt,\n submitted: prompt,\n disabled: prompt\n };\n } else if (isSetObject(prompt)) {\n if (isSetString(prompt.active)) {\n resolvedConfig.icons.prompt.active = prompt.active;\n }\n if (isSetString(prompt.cancelled)) {\n resolvedConfig.icons.prompt.cancelled = prompt.cancelled;\n }\n if (isSetString(prompt.error)) {\n resolvedConfig.icons.prompt.error = prompt.error;\n }\n if (isSetString(prompt.warning)) {\n resolvedConfig.icons.prompt.warning = prompt.warning;\n }\n if (isSetString(prompt.submitted)) {\n resolvedConfig.icons.prompt.submitted = prompt.submitted;\n }\n if (isSetString(prompt.disabled)) {\n resolvedConfig.icons.prompt.disabled = prompt.disabled;\n }\n }\n\n resolvedConfig.icons.spinner ??= {} as ThemeIconSpinnerStateConfig;\n const spinner = icons.spinner;\n\n if (isSetString(spinner)) {\n resolvedConfig.icons.spinner = {\n help: spinner,\n success: spinner,\n info: spinner,\n warning: spinner,\n error: spinner\n };\n } else if (isSetObject(spinner)) {\n if (isSetString(spinner.help)) {\n resolvedConfig.icons.spinner.help = spinner.help;\n }\n if (isSetString(spinner.success)) {\n resolvedConfig.icons.spinner.success = spinner.success;\n }\n if (isSetString(spinner.info)) {\n resolvedConfig.icons.spinner.info = spinner.info;\n }\n if (isSetString(spinner.warning)) {\n resolvedConfig.icons.spinner.warning = spinner.warning;\n }\n if (isSetString(spinner.error)) {\n resolvedConfig.icons.spinner.error = spinner.error;\n }\n }\n }\n\n // #endregion Icons\n\n // #endregion Tiered token resolution\n\n // #region Missing token defaulting\n\n if (\n !resolvedConfig.icons.prompt?.active &&\n resolvedConfig.icons?.banner?.header?.primary\n ) {\n resolvedConfig.icons.prompt.active =\n resolvedConfig.icons.banner.header.primary;\n }\n if (\n !resolvedConfig.icons.prompt?.submitted &&\n resolvedConfig.icons.message?.header?.success\n ) {\n resolvedConfig.icons.prompt.submitted =\n resolvedConfig.icons.message.header.success;\n }\n if (\n !resolvedConfig.icons.prompt?.warning &&\n resolvedConfig.icons.message?.header?.warning\n ) {\n resolvedConfig.icons.prompt.warning =\n resolvedConfig.icons.message.header.warning;\n }\n if (\n !resolvedConfig.icons.prompt?.error &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.prompt.error =\n resolvedConfig.icons.message.header.error;\n }\n if (\n !resolvedConfig.icons.prompt?.cancelled &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.prompt.cancelled =\n resolvedConfig.icons.message.header.error;\n }\n\n if (\n !resolvedConfig.icons.spinner?.success &&\n resolvedConfig.icons.message?.header?.success\n ) {\n resolvedConfig.icons.spinner.success =\n resolvedConfig.icons.message.header.success;\n }\n if (\n !resolvedConfig.icons.spinner?.warning &&\n resolvedConfig.icons.message?.header?.warning\n ) {\n resolvedConfig.icons.spinner.warning =\n resolvedConfig.icons.message.header.warning;\n }\n if (\n !resolvedConfig.icons.spinner?.error &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.spinner.error =\n resolvedConfig.icons.message.header.error;\n }\n if (\n !resolvedConfig.icons.spinner?.info &&\n resolvedConfig.icons.message?.header?.info\n ) {\n resolvedConfig.icons.spinner.info =\n resolvedConfig.icons.message.header.info;\n }\n if (\n !resolvedConfig.icons.spinner?.help &&\n resolvedConfig.icons.message?.header?.help\n ) {\n resolvedConfig.icons.spinner.help =\n resolvedConfig.icons.message.header.help;\n }\n\n // #endregion Missing token defaulting\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.mjs","names":[],"sources":["../../src/style-dictionary/labels.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeLabelBannerSubItemConfig,\n ThemeLabelMessageStateConfig,\n ThemeLabelsResolvedConfig,\n ThemeLabelsUserConfig,\n ThemeLabelTypeResolvedConfig,\n ThemeLabelTypeUserConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Labels Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const labels = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/labels\",\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 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 mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"labels.mjs","names":[],"sources":["../../src/style-dictionary/labels.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeLabelBannerSubItemConfig,\n ThemeLabelMessageStateConfig,\n ThemeLabelsResolvedConfig,\n ThemeLabelsUserConfig,\n ThemeLabelTypeResolvedConfig,\n ThemeLabelTypeUserConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Labels Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const labels = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/labels\",\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 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 mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"padding.mjs","names":[],"sources":["../../src/style-dictionary/padding.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 type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Padding Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const padding = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/padding\",\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 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 // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"padding.mjs","names":[],"sources":["../../src/style-dictionary/padding.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 type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Padding Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const padding = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/padding\",\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 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 // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;AA2BA,MAAa,WAAC,aAAqB;CACnC,MAAO;CACL,eAAA,YAA0B,aAAA;EAC1B,MAAA,iBAAA,EAAA;AACA,iBAAe,OAAM,WAAA,UAAA,QAAA,OAAA;AAMpB,iBAAK,YAAqB,EAAA;EAC3B,MAAA,UAAA,WAAA;AACF,MAAO,SAAM,QAAW,CAClB,gBAAe,UAAQ;GAC3B,QAAc;GACZ,SAAY;GACZ,KAAS;GACR,OAAA;GACD;WACA,YAAoB,QAAA,EAAA;AAClB,OAAC,SAAW,QAAG,OAAa;iCAI1B,gBAAO,QAAA,UAAA,QAAA;AAEX,OAAA,SAAe,QAAQ,IAAI,CAC3B,gBAAgB,QAAW,MAAA,QAAO;AAEhC,OAAE,SAAS,QAAU,MAAA,CACrB,gBAAe,QAAU,QAAA,QAAA;;AAQ3B,cAAI,SAAe,eAAiB;AACpC,SAAE;;CAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.mjs","names":[],"sources":["../../src/style-dictionary/settings.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type { ThemeResolvedConfig } from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Settings Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const settings = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/settings\",\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 Settings\n\n resolvedConfig.settings ??= {};\n const settings = dictionary.settings;\n\n if (isSetObject(settings)) {\n resolvedConfig.settings = {\n ...settings\n };\n }\n\n // #endregion Settings\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"settings.mjs","names":[],"sources":["../../src/style-dictionary/settings.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type { ThemeResolvedConfig } from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Settings Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const settings = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/settings\",\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 Settings\n\n resolvedConfig.settings ??= {};\n const settings = dictionary.settings;\n\n if (isSetObject(settings)) {\n resolvedConfig.settings = {\n ...settings\n };\n }\n\n // #endregion Settings\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;AA0BA,MAAa,YAAC,aAAqB;CACnC,MAAO;;EAEL,MAAA,iBAAA,EAAA;AACC,iBAAc,OAAM,WAAS,UAAA,QAAA,OAAA;AAM9B,iBAAa,aAAe,EAAA;EAC5B,MAAA,WAAc,WAAA;AACZ,MAAA,YAAY,SAAA,CACZ,gBAAiB,WAAE,EAClB,GAAA,UACD;;AAQA,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinners.mjs","names":[],"sources":["../../src/style-dictionary/spinners.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { SpinnerPreset } from \"../helpers/spinners\";\nimport { resolveSpinner } from \"../helpers/spinners\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeResolvedConfig,\n ThemeSpinnerResolvedConfig,\n ThemeSpinnerUserConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Spinners Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const spinners = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/spinners\",\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 Spinners\n\n const spinner = dictionary.spinner as\n | ThemeSpinnerUserConfig\n | SpinnerPreset;\n\n if (isSetString(spinner)) {\n resolvedConfig.spinner = resolveSpinner(\n spinner\n ) as ThemeSpinnerResolvedConfig;\n } else if (isSetObject(spinner)) {\n resolvedConfig.spinner = {\n interval: 80,\n ...spinner\n } as ThemeSpinnerResolvedConfig;\n }\n\n // #endregion Spinners\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"spinners.mjs","names":[],"sources":["../../src/style-dictionary/spinners.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { SpinnerPreset } from \"../helpers/spinners\";\nimport { resolveSpinner } from \"../helpers/spinners\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeResolvedConfig,\n ThemeSpinnerResolvedConfig,\n ThemeSpinnerUserConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Spinners Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const spinners = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/spinners\",\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 Spinners\n\n const spinner = dictionary.spinner as\n | ThemeSpinnerUserConfig\n | SpinnerPreset;\n\n if (isSetString(spinner)) {\n resolvedConfig.spinner = resolveSpinner(\n spinner\n ) as ThemeSpinnerResolvedConfig;\n } else if (isSetObject(spinner)) {\n resolvedConfig.spinner = {\n interval: 80,\n ...spinner\n } as ThemeSpinnerResolvedConfig;\n }\n\n // #endregion Spinners\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAS,YAAe,aAAW;CACnC,MAAO;CACP,eAAY,YAAA,aAAA;EACV,MAAA,iBAAmB,EAAA;AACnB,iBAAA,OAAA,WAA0B,UAAA,QAAA,OAAA;EAM3B,MAAA,UAAA,WAAA;AACG,MAAA,YAAA,QAAA,CACD,gBAAkB,UAAQ,eAAa,QAAA;WACxC,YAAA,QAAA,CACI,gBAAe,UAAI;GACjB,UAAO;GACb,GAAA;GACE;AAOA,cAAW,SAAO,eAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.mjs","names":[],"sources":["../../src/themes/default.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ThemeUserConfig } from \"../types/theme\";\n\nexport const theme: ThemeUserConfig = {\n $theme: \"default\",\n colors: {\n text: {\n banner: {\n title: \"#ffffff\",\n command: \"#e3e7e8\",\n description: \"#9ca8ab\"\n },\n heading: {\n primary: \"#ffffff\",\n secondary: \"#e3e7e8\",\n tertiary: \"#9ca8ab\"\n },\n body: {\n primary: \"#9ca8ab\",\n secondary: \"#9ca8ab\",\n tertiary: \"#67787c\",\n link: \"#3fa6ff\"\n },\n message: {\n description: \"#e3e7e8\"\n },\n usage: {\n bin: \"#67787c\",\n command: \"#e3e7e8\",\n dynamic: \"#e3e7e8\",\n options: \"#67787c\",\n args: \"#67787c\",\n description: \"#67787c\"\n },\n prompt: {\n icon: {\n active: \"#3b82f6\",\n warning: \"#f3d371\",\n error: \"#d8314a\",\n submitted: \"#45b27e\",\n cancelled: \"#d8314a\",\n disabled: \"#4b585b\"\n },\n message: {\n active: \"#e3e7e8\",\n warning: \"#e3e7e8\",\n error: \"#e3e7e8\",\n submitted: \"#67787c\",\n cancelled: \"#67787c\",\n disabled: \"#4b585b\"\n },\n input: {\n active: \"#3b82f6\",\n inactive: \"#9ca8ab\",\n warning: \"#f3d371\",\n error: \"#d8314a\",\n submitted: \"#e3e7e8\",\n cancelled: \"#d8314a\",\n placeholder: \"#4b585b\",\n disabled: \"#4b585b\"\n },\n description: {\n active: \"#67787c\",\n inactive: \"#4b585b\",\n warning: \"#f3d371\",\n error: \"#d8314a\",\n submitted: \"#67787c\",\n cancelled: \"#d8314a\",\n disabled: \"#4b585b\"\n }\n },\n spinner: {\n icon: {\n active: \"#3b82f6\",\n error: \"#d8314a\",\n success: \"#45b27e\",\n help: \"#818cf8\",\n info: \"#38bdf8\",\n warning: \"#f3d371\"\n },\n message: {\n active: \"#e3e7e8\",\n error: \"#d8314a\",\n success: \"#67787c\",\n help: \"#67787c\",\n info: \"#67787c\",\n warning: \"#67787c\"\n }\n },\n tags: {\n utility: \"#94a3b8\",\n deprecated: \"#f87171\",\n experimental: \"#818cf8\",\n $default: \"#e3e7e8\"\n }\n },\n border: {\n app: {\n primary: \"#e3e7e8\",\n secondary: \"#67787c\",\n tertiary: \"#4b585b\"\n },\n banner: \"#ffffff\",\n message: {\n help: \"#818cf8\",\n success: \"#45b27e\",\n info: \"#38bdf8\",\n debug: \"#8afafc\",\n warning: \"#f3d371\",\n danger: \"#d8314a\"\n }\n }\n },\n borderStyles: {\n app: \"single\",\n banner: \"bold\",\n message: \"round\"\n },\n padding: {\n app: 0,\n banner: 14,\n message: 8,\n table: 1\n },\n icons: {\n link: {\n external: \"↗\"\n },\n message: {\n header: {\n help: \"✱\",\n success: \"✔\",\n info: \"🛈\",\n debug: \"🛠\",\n warning: \"🛆\",\n danger: \"🛇\",\n error: \"✘\"\n }\n },\n banner: {\n header: \"⏺\"\n },\n prompt: {\n active: \"✱\",\n error: \"✘\",\n warning: \"🛆\",\n submitted: \"✔\",\n cancelled: \"🛇\",\n disabled: \"🛇\"\n }\n },\n labels: {\n message: {\n header: {\n help: \"Useful Tip\",\n success: \"Success\",\n info: \"Info\",\n debug: \"Debug\",\n warning: \"Warning\",\n danger: \"Danger\",\n error: \"Error\"\n }\n }\n },\n spinner: \"dots\"\n} as const;\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"default.mjs","names":[],"sources":["../../src/themes/default.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ThemeUserConfig } from \"../types/theme\";\n\nexport const theme: ThemeUserConfig = {\n $theme: \"default\",\n colors: {\n text: {\n banner: {\n title: \"#ffffff\",\n command: \"#e3e7e8\",\n description: \"#9ca8ab\"\n },\n heading: {\n primary: \"#ffffff\",\n secondary: \"#e3e7e8\",\n tertiary: \"#9ca8ab\"\n },\n body: {\n primary: \"#9ca8ab\",\n secondary: \"#9ca8ab\",\n tertiary: \"#67787c\",\n link: \"#3fa6ff\"\n },\n message: {\n description: \"#e3e7e8\"\n },\n usage: {\n bin: \"#67787c\",\n command: \"#e3e7e8\",\n dynamic: \"#e3e7e8\",\n options: \"#67787c\",\n args: \"#67787c\",\n description: \"#67787c\"\n },\n prompt: {\n icon: {\n active: \"#3b82f6\",\n warning: \"#f3d371\",\n error: \"#d8314a\",\n submitted: \"#45b27e\",\n cancelled: \"#d8314a\",\n disabled: \"#4b585b\"\n },\n message: {\n active: \"#e3e7e8\",\n warning: \"#e3e7e8\",\n error: \"#e3e7e8\",\n submitted: \"#67787c\",\n cancelled: \"#67787c\",\n disabled: \"#4b585b\"\n },\n input: {\n active: \"#3b82f6\",\n inactive: \"#9ca8ab\",\n warning: \"#f3d371\",\n error: \"#d8314a\",\n submitted: \"#e3e7e8\",\n cancelled: \"#d8314a\",\n placeholder: \"#4b585b\",\n disabled: \"#4b585b\"\n },\n description: {\n active: \"#67787c\",\n inactive: \"#4b585b\",\n warning: \"#f3d371\",\n error: \"#d8314a\",\n submitted: \"#67787c\",\n cancelled: \"#d8314a\",\n disabled: \"#4b585b\"\n }\n },\n spinner: {\n icon: {\n active: \"#3b82f6\",\n error: \"#d8314a\",\n success: \"#45b27e\",\n help: \"#818cf8\",\n info: \"#38bdf8\",\n warning: \"#f3d371\"\n },\n message: {\n active: \"#e3e7e8\",\n error: \"#d8314a\",\n success: \"#67787c\",\n help: \"#67787c\",\n info: \"#67787c\",\n warning: \"#67787c\"\n }\n },\n tags: {\n utility: \"#94a3b8\",\n deprecated: \"#f87171\",\n experimental: \"#818cf8\",\n $default: \"#e3e7e8\"\n }\n },\n border: {\n app: {\n primary: \"#e3e7e8\",\n secondary: \"#67787c\",\n tertiary: \"#4b585b\"\n },\n banner: \"#ffffff\",\n message: {\n help: \"#818cf8\",\n success: \"#45b27e\",\n info: \"#38bdf8\",\n debug: \"#8afafc\",\n warning: \"#f3d371\",\n danger: \"#d8314a\"\n }\n }\n },\n borderStyles: {\n app: \"single\",\n banner: \"bold\",\n message: \"round\"\n },\n padding: {\n app: 0,\n banner: 14,\n message: 8,\n table: 1\n },\n icons: {\n link: {\n external: \"↗\"\n },\n message: {\n header: {\n help: \"✱\",\n success: \"✔\",\n info: \"🛈\",\n debug: \"🛠\",\n warning: \"🛆\",\n danger: \"🛇\",\n error: \"✘\"\n }\n },\n banner: {\n header: \"⏺\"\n },\n prompt: {\n active: \"✱\",\n error: \"✘\",\n warning: \"🛆\",\n submitted: \"✔\",\n cancelled: \"🛇\",\n disabled: \"🛇\"\n }\n },\n labels: {\n message: {\n header: {\n help: \"Useful Tip\",\n success: \"Success\",\n info: \"Info\",\n debug: \"Debug\",\n warning: \"Warning\",\n danger: \"Danger\",\n error: \"Error\"\n }\n }\n },\n spinner: \"dots\"\n} as const;\n"],"mappings":";AAkBA,MAAa,QAAC;;CAEd,QAAO;EACJ,MAAO;GACR,QAAQ;IACF,OAAE;IACJ,SAAQ;IACN,aAAS;IACV;GACD,SAAE;IACD,SAAA;IACD,WAAS;IACP,UAAU;IACX;GACD,MAAE;IACD,SAAA;IACD,WAAM;IACJ,UAAU;IACV,MAAA;IACD;GACD,SAAS,EACR,aAAA,WACD;GACA,OAAE;IACD,KAAA;IACD,SAAO;IACL,SAAO;IACP,SAAS;IACT,MAAA;IACA,aAAW;IACZ;GACD,QAAE;IACD,MAAA;KACD,QAAQ;KACN,SAAM;KACJ,OAAO;KACP,WAAW;KACX,WAAS;KACT,UAAU;KACX;IACD,SAAE;KACD,QAAA;KACD,SAAS;KACP,OAAO;KACP,WAAW;KACX,WAAS;KACT,UAAU;KACX;IACD,OAAE;KACD,QAAA;KACD,UAAO;KACL,SAAS;KACT,OAAA;KACA,WAAW;KACX,WAAS;KACT,aAAa;KACb,UAAU;KACX;IACD,aAAa;KACZ,QAAA;KACD,UAAY;KACV,SAAS;KACT,OAAA;KACA,WAAW;KACX,WAAS;KACT,UAAU;KACX;IACF;GACD,SAAE;IACD,MAAA;KACD,QAAS;KACP,OAAM;KACJ,SAAS;KACT,MAAM;KACN,MAAA;KACA,SAAQ;KACT;IACD,SAAS;KACR,QAAA;KACD,OAAS;KACP,SAAS;KACT,MAAM;KACN,MAAA;KACA,SAAQ;KACT;IACF;GACD,MAAE;IACD,SAAA;IACD,YAAM;IACJ,cAAW;IACX,UAAU;IACX;GACF;EACD,QAAE;GACD,KAAA;IACD,SAAQ;IACN,WAAK;IACH,UAAU;IACX;GACD,QAAE;GACF,SAAC;IACD,MAAQ;IACR,SAAS;IACP,MAAM;IACN,OAAO;IACP,SAAQ;IACR,QAAQ;IACT;GACF;EACF;CACD,cAAE;EACD,KAAA;EACD,QAAA;EACE,SAAM;EACP;CACD,SAAS;EACR,KAAA;EACD,QAAS;EACP,SAAM;EACN,OAAO;EACR;CACD,OAAO;EACN,MAAA,EACD,UAAO,KACL;EACA,SAAE,EACD,QAAA;GACD,MAAS;GACP,SAAQ;GACN,MAAM;GACN,OAAO;GACP,SAAS;GACT,QAAQ;GACR,OAAO;GACR,EACF;EACD,QAAE,EACD,QAAA,KACD;EACA,QAAQ;GACP,QAAA;GACD,OAAQ;GACN,SAAS;GACT,WAAU;GACV,WAAU;GACV,UAAU;GACX;EACF;CACD,QAAE,EACD,SAAA,EACD,QAAQ;EACN,MAAS;EACP,SAAQ;EACN,MAAM;EACN,OAAO;EACP,SAAO;EACP,QAAQ;EACR,OAAO;EACR,EACF,EACF;CACD,SAAE;CACH"}
|
package/dist/types/plugin.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ThemeResolvedConfig, ThemeUserConfig } from "./theme.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { Context } from "../core/dist/types/context.mjs";
|
|
2
|
+
import { require_index_d } from "../packages/core/dist/index.mjs";
|
|
4
3
|
import { AlloyPluginContext, AlloyPluginOptions, AlloyPluginResolvedConfig } from "@powerlines/plugin-alloy/types";
|
|
5
4
|
import { StyleDictionaryPluginContext, StyleDictionaryPluginOptions, StyleDictionaryPluginResolvedConfig, StyleDictionaryPluginUserConfig } from "@powerlines/plugin-style-dictionary/types";
|
|
6
5
|
|
|
@@ -11,14 +10,14 @@ type ThemePluginOptions = StyleDictionaryPluginOptions & AlloyPluginOptions & {
|
|
|
11
10
|
*/
|
|
12
11
|
theme?: ThemeUserConfig;
|
|
13
12
|
};
|
|
14
|
-
type ThemePluginUserConfig = StyleDictionaryPluginUserConfig & AlloyPluginOptions & UserConfig & ThemePluginOptions;
|
|
15
|
-
type ThemePluginResolvedConfig = StyleDictionaryPluginResolvedConfig & AlloyPluginResolvedConfig & ResolvedConfig & {
|
|
13
|
+
type ThemePluginUserConfig = StyleDictionaryPluginUserConfig & AlloyPluginOptions & import_index_d.UserConfig & ThemePluginOptions;
|
|
14
|
+
type ThemePluginResolvedConfig = StyleDictionaryPluginResolvedConfig & AlloyPluginResolvedConfig & import_index_d.ResolvedConfig & {
|
|
16
15
|
/**
|
|
17
16
|
* Resolved theme configuration for the plugin.
|
|
18
17
|
*/
|
|
19
18
|
theme: ThemeResolvedConfig;
|
|
20
19
|
};
|
|
21
|
-
type ThemePluginContext<TResolvedConfig extends ThemePluginResolvedConfig = ThemePluginResolvedConfig> = AlloyPluginContext<TResolvedConfig> & StyleDictionaryPluginContext<TResolvedConfig> & Context<TResolvedConfig> & {
|
|
20
|
+
type ThemePluginContext<TResolvedConfig extends ThemePluginResolvedConfig = ThemePluginResolvedConfig> = AlloyPluginContext<TResolvedConfig> & StyleDictionaryPluginContext<TResolvedConfig> & import_index_d.Context<TResolvedConfig> & {
|
|
22
21
|
/**
|
|
23
22
|
* Resolved theme configuration.
|
|
24
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.mts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":";;;;;;KAgCY,kBAAA,GAAqB,4BAAA,GAC/B,kBAAA;;;AADF;EAKI,KAAA,GAAQ,eAAA;AAAA;AAAA,KAGA,qBAAA,GAAwB,+BAAA,GAClC,kBAAA,GACA,cAAA,CAAA,UAAA,GACA,kBAAA;AAAA,KAEU,yBAAA,GAA4B,mCAAA,GACtC,yBAAA,GACA,cAAA,CAAA,cAAA;EAVU;;;EAcR,KAAA,EAAO,mBAAA;AAAA;AAAA,KAGC,kBAAA,yBACc,yBAAA,GAA4B,yBAAA,IAClD,kBAAA,CAAmB,eAAA,IACrB,4BAAA,CAA6B,eAAA,IAC7B,cAAA,CAAA,OAAA,CAAQ,eAAA;EArBE;;;EAyBR,KAAA,EAAO,mBAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shell-shock/plugin-theme",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.23",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A package containing a Shell Shock plugin to generate source code given a list design tokens.",
|
|
6
6
|
"keywords": [
|
|
@@ -223,20 +223,23 @@
|
|
|
223
223
|
"files": ["dist/**/*"],
|
|
224
224
|
"dependencies": {
|
|
225
225
|
"@alloy-js/core": "0.23.0-dev.8",
|
|
226
|
-
"@powerlines/plugin-alloy": "^0.26.
|
|
227
|
-
"@powerlines/plugin-plugin": "^0.12.
|
|
228
|
-
"@powerlines/plugin-style-dictionary": "^0.3.
|
|
229
|
-
"@stryke/helpers": "^0.10.
|
|
230
|
-
"@stryke/
|
|
231
|
-
"@stryke/string-format": "^0.17.
|
|
226
|
+
"@powerlines/plugin-alloy": "^0.26.84",
|
|
227
|
+
"@powerlines/plugin-plugin": "^0.12.416",
|
|
228
|
+
"@powerlines/plugin-style-dictionary": "^0.3.366",
|
|
229
|
+
"@stryke/helpers": "^0.10.12",
|
|
230
|
+
"@stryke/json": "^0.14.16",
|
|
231
|
+
"@stryke/string-format": "^0.17.13",
|
|
232
|
+
"@stryke/type-checks": "^0.6.5",
|
|
233
|
+
"@stryke/types": "^0.12.0",
|
|
232
234
|
"defu": "^6.1.7",
|
|
233
|
-
"powerlines": "^0.
|
|
235
|
+
"powerlines": "^0.47.4",
|
|
234
236
|
"style-dictionary": "^5.4.0"
|
|
235
237
|
},
|
|
236
238
|
"devDependencies": {
|
|
237
|
-
"@powerlines/plugin-deepkit": "^0.11.
|
|
239
|
+
"@powerlines/plugin-deepkit": "^0.11.347",
|
|
238
240
|
"@types/node": "^25.6.0"
|
|
239
241
|
},
|
|
240
242
|
"publishConfig": { "access": "public" },
|
|
241
|
-
"
|
|
243
|
+
"inlinedDependencies": { "@standard-schema/spec": "1.1.0", "zod": "4.4.3" },
|
|
244
|
+
"gitHead": "7b4030fd6be000c960e8cc4c4f7b4db205054e69"
|
|
242
245
|
}
|
package/dist/core/dist/api.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { BaseBooleanCommandParameter, BaseCommandParameter, BaseNumberCommandParameter, BaseStringCommandParameter, BooleanCommandOption, BooleanCommandParameter, CommandArgument, CommandBase, CommandConfig, CommandOption, CommandParameterKind, CommandParameterKinds, CommandTree, NumberCommandParameter, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter } from "./types/command.mjs";
|
|
2
|
-
import { Options, OutputConfig, ReferenceOptions, ResolvedConfig, UserConfig } from "./types/config.mjs";
|
|
3
|
-
import { Context } from "./types/context.mjs";
|
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
import { ResolvedEntryTypeDefinition } from "powerlines";
|
|
2
|
-
|
|
3
|
-
//#region ../core/dist/types/command.d.cts
|
|
4
|
-
declare const CommandParameterKinds: {
|
|
5
|
-
readonly string: "string";
|
|
6
|
-
readonly number: "number";
|
|
7
|
-
readonly boolean: "boolean";
|
|
8
|
-
};
|
|
9
|
-
type CommandParameterKind = (typeof CommandParameterKinds)[keyof typeof CommandParameterKinds];
|
|
10
|
-
interface BaseCommandParameter {
|
|
11
|
-
/**
|
|
12
|
-
* The option name.
|
|
13
|
-
*/
|
|
14
|
-
name: string;
|
|
15
|
-
/**
|
|
16
|
-
* The option kind.
|
|
17
|
-
*/
|
|
18
|
-
kind: CommandParameterKind;
|
|
19
|
-
/**
|
|
20
|
-
* The display title.
|
|
21
|
-
*/
|
|
22
|
-
title: string;
|
|
23
|
-
/**
|
|
24
|
-
* The option description.
|
|
25
|
-
*/
|
|
26
|
-
description: string;
|
|
27
|
-
/**
|
|
28
|
-
* Alternative option names.
|
|
29
|
-
*/
|
|
30
|
-
alias: string[];
|
|
31
|
-
/**
|
|
32
|
-
* The default value.
|
|
33
|
-
*/
|
|
34
|
-
default?: string | number | boolean | string[] | number[] | boolean[];
|
|
35
|
-
/**
|
|
36
|
-
* The environment variable name or false to disable.
|
|
37
|
-
*/
|
|
38
|
-
env: string | false;
|
|
39
|
-
/**
|
|
40
|
-
* Whether the option is optional.
|
|
41
|
-
*/
|
|
42
|
-
optional: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Whether the option accepts multiple values.
|
|
45
|
-
*/
|
|
46
|
-
variadic: boolean;
|
|
47
|
-
}
|
|
48
|
-
interface BaseStringCommandParameter extends BaseCommandParameter {
|
|
49
|
-
/**
|
|
50
|
-
* The option kind.
|
|
51
|
-
*/
|
|
52
|
-
kind: "string";
|
|
53
|
-
/**
|
|
54
|
-
* The default value.
|
|
55
|
-
*/
|
|
56
|
-
default?: string | string[];
|
|
57
|
-
/**
|
|
58
|
-
* A standard string format to validate the option value against.
|
|
59
|
-
*/
|
|
60
|
-
format?: "email" | "uri" | "uuid" | "ipv4" | "ipv6" | "date" | "time" | "date-time" | "duration";
|
|
61
|
-
/**
|
|
62
|
-
* The allowed choices for the option value.
|
|
63
|
-
*/
|
|
64
|
-
choices?: string[];
|
|
65
|
-
}
|
|
66
|
-
interface SingleStringCommandParameter extends BaseStringCommandParameter {
|
|
67
|
-
/**
|
|
68
|
-
* The default value.
|
|
69
|
-
*/
|
|
70
|
-
default?: string;
|
|
71
|
-
/**
|
|
72
|
-
* Whether the option accepts multiple values.
|
|
73
|
-
*/
|
|
74
|
-
variadic: false;
|
|
75
|
-
}
|
|
76
|
-
interface VariadicStringCommandParameter extends BaseStringCommandParameter {
|
|
77
|
-
/**
|
|
78
|
-
* The default value.
|
|
79
|
-
*/
|
|
80
|
-
default?: string[];
|
|
81
|
-
/**
|
|
82
|
-
* Whether the option accepts multiple values.
|
|
83
|
-
*/
|
|
84
|
-
variadic: true;
|
|
85
|
-
}
|
|
86
|
-
type StringCommandParameter = SingleStringCommandParameter | VariadicStringCommandParameter;
|
|
87
|
-
interface BaseNumberCommandParameter extends BaseCommandParameter {
|
|
88
|
-
/**
|
|
89
|
-
* The option kind.
|
|
90
|
-
*/
|
|
91
|
-
kind: "number";
|
|
92
|
-
/**
|
|
93
|
-
* The default value.
|
|
94
|
-
*/
|
|
95
|
-
default?: number | number[];
|
|
96
|
-
/**
|
|
97
|
-
* The allowed choices for the option value.
|
|
98
|
-
*/
|
|
99
|
-
choices?: number[];
|
|
100
|
-
}
|
|
101
|
-
interface SingleNumberCommandParameter extends BaseNumberCommandParameter {
|
|
102
|
-
/**
|
|
103
|
-
* The default value.
|
|
104
|
-
*/
|
|
105
|
-
default?: number;
|
|
106
|
-
/**
|
|
107
|
-
* Whether the option accepts multiple values.
|
|
108
|
-
*/
|
|
109
|
-
variadic: false;
|
|
110
|
-
}
|
|
111
|
-
interface VariadicNumberCommandParameter extends BaseNumberCommandParameter {
|
|
112
|
-
/**
|
|
113
|
-
* The default value.
|
|
114
|
-
*/
|
|
115
|
-
default?: number[];
|
|
116
|
-
/**
|
|
117
|
-
* Whether the option accepts multiple values.
|
|
118
|
-
*/
|
|
119
|
-
variadic: true;
|
|
120
|
-
}
|
|
121
|
-
type NumberCommandParameter = SingleNumberCommandParameter | VariadicNumberCommandParameter;
|
|
122
|
-
interface BaseBooleanCommandParameter extends BaseCommandParameter {
|
|
123
|
-
/**
|
|
124
|
-
* The option kind.
|
|
125
|
-
*/
|
|
126
|
-
kind: "boolean";
|
|
127
|
-
/**
|
|
128
|
-
* The default value.
|
|
129
|
-
*/
|
|
130
|
-
default?: boolean | boolean[];
|
|
131
|
-
}
|
|
132
|
-
interface SingleBooleanCommandParameter extends BaseBooleanCommandParameter {
|
|
133
|
-
/**
|
|
134
|
-
* The default value.
|
|
135
|
-
*/
|
|
136
|
-
default?: boolean;
|
|
137
|
-
/**
|
|
138
|
-
* Whether the option accepts multiple values.
|
|
139
|
-
*/
|
|
140
|
-
variadic: false;
|
|
141
|
-
}
|
|
142
|
-
interface VariadicBooleanCommandParameter extends BaseBooleanCommandParameter {
|
|
143
|
-
/**
|
|
144
|
-
* The default value.
|
|
145
|
-
*/
|
|
146
|
-
default?: boolean[];
|
|
147
|
-
/**
|
|
148
|
-
* Whether the option accepts multiple values.
|
|
149
|
-
*/
|
|
150
|
-
variadic: true;
|
|
151
|
-
}
|
|
152
|
-
type BooleanCommandParameter = SingleBooleanCommandParameter | VariadicBooleanCommandParameter;
|
|
153
|
-
interface BooleanCommandOption extends SingleBooleanCommandParameter {
|
|
154
|
-
/**
|
|
155
|
-
* The option this negates.
|
|
156
|
-
*/
|
|
157
|
-
isNegativeOf?: string;
|
|
158
|
-
/**
|
|
159
|
-
* Whether to skip adding a negative option.
|
|
160
|
-
*/
|
|
161
|
-
skipAddingNegative?: boolean;
|
|
162
|
-
}
|
|
163
|
-
type CommandOption = StringCommandParameter | NumberCommandParameter | BooleanCommandOption | VariadicBooleanCommandParameter;
|
|
164
|
-
type CommandArgument = StringCommandParameter | NumberCommandParameter | BooleanCommandParameter;
|
|
165
|
-
interface CommandBase {
|
|
166
|
-
/**
|
|
167
|
-
* The command id.
|
|
168
|
-
*/
|
|
169
|
-
id: string | null;
|
|
170
|
-
/**
|
|
171
|
-
* The command name.
|
|
172
|
-
*/
|
|
173
|
-
name: string;
|
|
174
|
-
/**
|
|
175
|
-
* The full command path value.
|
|
176
|
-
*/
|
|
177
|
-
path: string | null;
|
|
178
|
-
/**
|
|
179
|
-
* The path segments.
|
|
180
|
-
*/
|
|
181
|
-
segments: string[];
|
|
182
|
-
/**
|
|
183
|
-
* The display title.
|
|
184
|
-
*/
|
|
185
|
-
title?: string;
|
|
186
|
-
/**
|
|
187
|
-
* The command description.
|
|
188
|
-
*/
|
|
189
|
-
description?: string;
|
|
190
|
-
/**
|
|
191
|
-
* Alternative command names.
|
|
192
|
-
*/
|
|
193
|
-
alias?: string[];
|
|
194
|
-
/**
|
|
195
|
-
* The command icon.
|
|
196
|
-
*/
|
|
197
|
-
icon?: string;
|
|
198
|
-
/**
|
|
199
|
-
* A URL to the command documentation or reference.
|
|
200
|
-
*/
|
|
201
|
-
reference?: string;
|
|
202
|
-
/**
|
|
203
|
-
* Whether the command is virtual.
|
|
204
|
-
*
|
|
205
|
-
* @remarks
|
|
206
|
-
* Virtual commands are considered forks in the command tree and are not directly executable. They are used to group related subcommands together without having an actual command handler or entry point.
|
|
207
|
-
*/
|
|
208
|
-
isVirtual: boolean;
|
|
209
|
-
}
|
|
210
|
-
interface CommandConfig extends CommandBase {
|
|
211
|
-
/**
|
|
212
|
-
* The command id.
|
|
213
|
-
*/
|
|
214
|
-
id: string;
|
|
215
|
-
/**
|
|
216
|
-
* The resolved entry definition.
|
|
217
|
-
*/
|
|
218
|
-
entry: ResolvedEntryTypeDefinition;
|
|
219
|
-
/**
|
|
220
|
-
* Optional tags for the command.
|
|
221
|
-
*
|
|
222
|
-
* @remarks
|
|
223
|
-
* Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.
|
|
224
|
-
*/
|
|
225
|
-
tags?: string[];
|
|
226
|
-
/**
|
|
227
|
-
* A string representing the source of the command, which can be "file", a specific plugin name, or any other string value that describes the source that added the command.
|
|
228
|
-
*/
|
|
229
|
-
source?: "file" | string;
|
|
230
|
-
}
|
|
231
|
-
type CommandTree = CommandConfig & {
|
|
232
|
-
/**
|
|
233
|
-
* The display title.
|
|
234
|
-
*/
|
|
235
|
-
title: string;
|
|
236
|
-
/**
|
|
237
|
-
* The command description.
|
|
238
|
-
*/
|
|
239
|
-
description: string;
|
|
240
|
-
/**
|
|
241
|
-
* Alternative command names.
|
|
242
|
-
*/
|
|
243
|
-
alias: string[];
|
|
244
|
-
/**
|
|
245
|
-
* A set of tags for the command.
|
|
246
|
-
*
|
|
247
|
-
* @remarks
|
|
248
|
-
* Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.
|
|
249
|
-
*/
|
|
250
|
-
tags: string[];
|
|
251
|
-
/**
|
|
252
|
-
* A string representing the source of the command, which can be "file", a specific plugin name, or any other string value that describes the source that added the command.
|
|
253
|
-
*/
|
|
254
|
-
source: "file" | string;
|
|
255
|
-
/**
|
|
256
|
-
* The command options.
|
|
257
|
-
*/
|
|
258
|
-
options: Record<string, CommandOption>;
|
|
259
|
-
/**
|
|
260
|
-
* The positional arguments provided to the command.
|
|
261
|
-
*/
|
|
262
|
-
args: CommandArgument[];
|
|
263
|
-
/**
|
|
264
|
-
* The parent command.
|
|
265
|
-
*/
|
|
266
|
-
parent: null | CommandTree;
|
|
267
|
-
/**
|
|
268
|
-
* Child commands.
|
|
269
|
-
*/
|
|
270
|
-
children: Record<string, CommandTree>;
|
|
271
|
-
};
|
|
272
|
-
//#endregion
|
|
273
|
-
export { BaseBooleanCommandParameter, BaseCommandParameter, BaseNumberCommandParameter, BaseStringCommandParameter, BooleanCommandOption, BooleanCommandParameter, CommandArgument, CommandBase, CommandConfig, CommandOption, CommandParameterKind, CommandParameterKinds, CommandTree, NumberCommandParameter, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter };
|
|
274
|
-
//# sourceMappingURL=command.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.mts","names":["ResolvedEntryTypeDefinition","StandardJSONSchemaV1","JsonSchema7TupleType","AnyFunction","JSONSchema7Object","z3","CommandParameterType","CommandParameterKinds","string","number","boolean","CommandParameterKind","BaseCommandParameter","name","kind","title","description","alias","default","env","optional","variadic","BaseSingleCommandParameter","BaseVariadicCommandParameter","BaseStringCommandParameter","format","choices","SingleStringCommandParameter","VariadicStringCommandParameter","StringCommandParameter","BaseNumberCommandParameter","SingleNumberCommandParameter","VariadicNumberCommandParameter","NumberCommandParameter","BaseBooleanCommandParameter","SingleBooleanCommandParameter","VariadicBooleanCommandParameter","BooleanCommandParameter","CommandParameter","AsCommandParameterConfig","T","Pick","Omit","Partial","StringCommandParameterConfig","NumberCommandParameterConfig","BooleanCommandParameterConfig","CommandParameterConfig","BooleanCommandOption","isNegativeOf","skipAddingNegative","CommandOption","CommandOptionConfig","CommandArgument","CommandArgumentConfig","CommandBase","id","path","segments","icon","reference","isVirtual","CommandConfig","entry","tags","source","CommandTree","Record","options","args","parent","children","SerializedCommandTree","CommandMetadata","CommandModule","AnyZodObject","AnyZodTuple","metadata"],"sources":["../../../../../core/dist/types/command.d.cts"],"mappings":"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"}
|