@shell-shock/plugin-theme 0.3.3 → 0.3.5
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/helpers/ansi-utils.cjs +54 -0
- package/dist/helpers/ansi-utils.d.cts.map +1 -1
- package/dist/helpers/ansi-utils.d.mts.map +1 -1
- package/dist/helpers/ansi-utils.mjs +54 -0
- package/dist/helpers/ansi-utils.mjs.map +1 -1
- package/dist/{style-dictionary/helpers.mjs → helpers/border-styles.cjs} +2 -15
- package/dist/helpers/border-styles.d.cts +14 -0
- package/dist/helpers/border-styles.d.cts.map +1 -0
- package/dist/helpers/border-styles.d.mts +14 -0
- package/dist/helpers/border-styles.d.mts.map +1 -0
- package/dist/{style-dictionary/helpers.cjs → helpers/border-styles.mjs} +3 -17
- package/dist/helpers/border-styles.mjs.map +1 -0
- package/dist/helpers/index.cjs +98 -1
- package/dist/helpers/index.d.cts +4 -1
- package/dist/helpers/index.d.mts +4 -1
- package/dist/helpers/index.mjs +4 -1
- package/dist/helpers/merge.cjs +18 -0
- package/dist/helpers/merge.d.cts +16 -0
- package/dist/helpers/merge.d.cts.map +1 -0
- package/dist/helpers/merge.d.mts +16 -0
- package/dist/helpers/merge.d.mts.map +1 -0
- package/dist/helpers/merge.mjs +18 -0
- package/dist/helpers/merge.mjs.map +1 -0
- package/dist/helpers/spinners.cjs +1853 -0
- package/dist/helpers/spinners.d.cts +735 -0
- package/dist/helpers/spinners.d.cts.map +1 -0
- package/dist/helpers/spinners.d.mts +735 -0
- package/dist/helpers/spinners.d.mts.map +1 -0
- package/dist/helpers/spinners.mjs +1760 -0
- package/dist/helpers/spinners.mjs.map +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -1
- package/dist/style-dictionary/border-styles.cjs +39 -38
- package/dist/style-dictionary/border-styles.mjs +2 -1
- package/dist/style-dictionary/border-styles.mjs.map +1 -1
- package/dist/style-dictionary/colors.cjs +117 -2
- package/dist/style-dictionary/colors.mjs +116 -1
- package/dist/style-dictionary/colors.mjs.map +1 -1
- package/dist/style-dictionary/icons.cjs +30 -2
- package/dist/style-dictionary/icons.mjs +29 -1
- package/dist/style-dictionary/icons.mjs.map +1 -1
- package/dist/style-dictionary/labels.cjs +2 -2
- package/dist/style-dictionary/labels.mjs +1 -1
- package/dist/style-dictionary/labels.mjs.map +1 -1
- package/dist/style-dictionary/padding.cjs +39 -38
- package/dist/style-dictionary/padding.mjs +2 -1
- package/dist/style-dictionary/padding.mjs.map +1 -1
- package/dist/style-dictionary/settings.cjs +2 -2
- package/dist/style-dictionary/settings.mjs +1 -1
- package/dist/style-dictionary/settings.mjs.map +1 -1
- package/dist/style-dictionary/spinners.cjs +31 -0
- package/dist/style-dictionary/spinners.mjs +31 -0
- package/dist/style-dictionary/spinners.mjs.map +1 -0
- package/dist/themes/storm.cjs +20 -1
- package/dist/themes/storm.mjs +20 -1
- package/dist/themes/storm.mjs.map +1 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.mts +2 -2
- package/dist/types/theme.d.cts +48 -4
- package/dist/types/theme.d.cts.map +1 -1
- package/dist/types/theme.d.mts +48 -4
- package/dist/types/theme.d.mts.map +1 -1
- package/package.json +49 -7
- package/dist/style-dictionary/helpers.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const
|
|
2
|
+
const require_helpers_merge = require('../helpers/merge.cjs');
|
|
3
3
|
let __stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
|
|
4
4
|
let __stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
5
5
|
|
|
@@ -43,6 +43,13 @@ const icons = (context) => ({
|
|
|
43
43
|
error: icons$1,
|
|
44
44
|
submitted: icons$1,
|
|
45
45
|
disabled: icons$1
|
|
46
|
+
},
|
|
47
|
+
spinner: {
|
|
48
|
+
help: icons$1,
|
|
49
|
+
success: icons$1,
|
|
50
|
+
info: icons$1,
|
|
51
|
+
warning: icons$1,
|
|
52
|
+
error: icons$1
|
|
46
53
|
}
|
|
47
54
|
};
|
|
48
55
|
else if ((0, __stryke_type_checks_is_set_object.isSetObject)(icons$1)) {
|
|
@@ -118,13 +125,34 @@ const icons = (context) => ({
|
|
|
118
125
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(prompt.submitted)) resolvedConfig.icons.prompt.submitted = prompt.submitted;
|
|
119
126
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(prompt.disabled)) resolvedConfig.icons.prompt.disabled = prompt.disabled;
|
|
120
127
|
}
|
|
128
|
+
resolvedConfig.icons.spinner ??= {};
|
|
129
|
+
const spinner = icons$1.spinner;
|
|
130
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(spinner)) resolvedConfig.icons.spinner = {
|
|
131
|
+
help: spinner,
|
|
132
|
+
success: spinner,
|
|
133
|
+
info: spinner,
|
|
134
|
+
warning: spinner,
|
|
135
|
+
error: spinner
|
|
136
|
+
};
|
|
137
|
+
else if ((0, __stryke_type_checks_is_set_object.isSetObject)(spinner)) {
|
|
138
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(spinner.help)) resolvedConfig.icons.spinner.help = spinner.help;
|
|
139
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(spinner.success)) resolvedConfig.icons.spinner.success = spinner.success;
|
|
140
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(spinner.info)) resolvedConfig.icons.spinner.info = spinner.info;
|
|
141
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(spinner.warning)) resolvedConfig.icons.spinner.warning = spinner.warning;
|
|
142
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(spinner.error)) resolvedConfig.icons.spinner.error = spinner.error;
|
|
143
|
+
}
|
|
121
144
|
}
|
|
122
145
|
if (!resolvedConfig.icons.prompt?.active && resolvedConfig.icons?.banner?.header?.primary) resolvedConfig.icons.prompt.active = resolvedConfig.icons.banner.header.primary;
|
|
123
146
|
if (!resolvedConfig.icons.prompt?.submitted && resolvedConfig.icons.message?.header?.success) resolvedConfig.icons.prompt.submitted = resolvedConfig.icons.message.header.success;
|
|
124
147
|
if (!resolvedConfig.icons.prompt?.warning && resolvedConfig.icons.message?.header?.warning) resolvedConfig.icons.prompt.warning = resolvedConfig.icons.message.header.warning;
|
|
125
148
|
if (!resolvedConfig.icons.prompt?.error && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.prompt.error = resolvedConfig.icons.message.header.error;
|
|
126
149
|
if (!resolvedConfig.icons.prompt?.cancelled && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.prompt.cancelled = resolvedConfig.icons.message.header.error;
|
|
127
|
-
|
|
150
|
+
if (!resolvedConfig.icons.spinner?.success && resolvedConfig.icons.message?.header?.success) resolvedConfig.icons.spinner.success = resolvedConfig.icons.message.header.success;
|
|
151
|
+
if (!resolvedConfig.icons.spinner?.warning && resolvedConfig.icons.message?.header?.warning) resolvedConfig.icons.spinner.warning = resolvedConfig.icons.message.header.warning;
|
|
152
|
+
if (!resolvedConfig.icons.spinner?.error && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.spinner.error = resolvedConfig.icons.message.header.error;
|
|
153
|
+
if (!resolvedConfig.icons.spinner?.info && resolvedConfig.icons.message?.header?.info) resolvedConfig.icons.spinner.info = resolvedConfig.icons.message.header.info;
|
|
154
|
+
if (!resolvedConfig.icons.spinner?.help && resolvedConfig.icons.message?.header?.help) resolvedConfig.icons.spinner.help = resolvedConfig.icons.message.header.help;
|
|
155
|
+
require_helpers_merge.mergeThemes(context, resolvedConfig);
|
|
128
156
|
return dictionary;
|
|
129
157
|
}
|
|
130
158
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mergeThemes } from "
|
|
1
|
+
import { mergeThemes } from "../helpers/merge.mjs";
|
|
2
2
|
import { isSetObject } from "@stryke/type-checks/is-set-object";
|
|
3
3
|
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
4
4
|
|
|
@@ -42,6 +42,13 @@ const icons = (context) => ({
|
|
|
42
42
|
error: icons$1,
|
|
43
43
|
submitted: icons$1,
|
|
44
44
|
disabled: icons$1
|
|
45
|
+
},
|
|
46
|
+
spinner: {
|
|
47
|
+
help: icons$1,
|
|
48
|
+
success: icons$1,
|
|
49
|
+
info: icons$1,
|
|
50
|
+
warning: icons$1,
|
|
51
|
+
error: icons$1
|
|
45
52
|
}
|
|
46
53
|
};
|
|
47
54
|
else if (isSetObject(icons$1)) {
|
|
@@ -117,12 +124,33 @@ const icons = (context) => ({
|
|
|
117
124
|
if (isSetString(prompt.submitted)) resolvedConfig.icons.prompt.submitted = prompt.submitted;
|
|
118
125
|
if (isSetString(prompt.disabled)) resolvedConfig.icons.prompt.disabled = prompt.disabled;
|
|
119
126
|
}
|
|
127
|
+
resolvedConfig.icons.spinner ??= {};
|
|
128
|
+
const spinner = icons$1.spinner;
|
|
129
|
+
if (isSetString(spinner)) resolvedConfig.icons.spinner = {
|
|
130
|
+
help: spinner,
|
|
131
|
+
success: spinner,
|
|
132
|
+
info: spinner,
|
|
133
|
+
warning: spinner,
|
|
134
|
+
error: spinner
|
|
135
|
+
};
|
|
136
|
+
else if (isSetObject(spinner)) {
|
|
137
|
+
if (isSetString(spinner.help)) resolvedConfig.icons.spinner.help = spinner.help;
|
|
138
|
+
if (isSetString(spinner.success)) resolvedConfig.icons.spinner.success = spinner.success;
|
|
139
|
+
if (isSetString(spinner.info)) resolvedConfig.icons.spinner.info = spinner.info;
|
|
140
|
+
if (isSetString(spinner.warning)) resolvedConfig.icons.spinner.warning = spinner.warning;
|
|
141
|
+
if (isSetString(spinner.error)) resolvedConfig.icons.spinner.error = spinner.error;
|
|
142
|
+
}
|
|
120
143
|
}
|
|
121
144
|
if (!resolvedConfig.icons.prompt?.active && resolvedConfig.icons?.banner?.header?.primary) resolvedConfig.icons.prompt.active = resolvedConfig.icons.banner.header.primary;
|
|
122
145
|
if (!resolvedConfig.icons.prompt?.submitted && resolvedConfig.icons.message?.header?.success) resolvedConfig.icons.prompt.submitted = resolvedConfig.icons.message.header.success;
|
|
123
146
|
if (!resolvedConfig.icons.prompt?.warning && resolvedConfig.icons.message?.header?.warning) resolvedConfig.icons.prompt.warning = resolvedConfig.icons.message.header.warning;
|
|
124
147
|
if (!resolvedConfig.icons.prompt?.error && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.prompt.error = resolvedConfig.icons.message.header.error;
|
|
125
148
|
if (!resolvedConfig.icons.prompt?.cancelled && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.prompt.cancelled = resolvedConfig.icons.message.header.error;
|
|
149
|
+
if (!resolvedConfig.icons.spinner?.success && resolvedConfig.icons.message?.header?.success) resolvedConfig.icons.spinner.success = resolvedConfig.icons.message.header.success;
|
|
150
|
+
if (!resolvedConfig.icons.spinner?.warning && resolvedConfig.icons.message?.header?.warning) resolvedConfig.icons.spinner.warning = resolvedConfig.icons.message.header.warning;
|
|
151
|
+
if (!resolvedConfig.icons.spinner?.error && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.spinner.error = resolvedConfig.icons.message.header.error;
|
|
152
|
+
if (!resolvedConfig.icons.spinner?.info && resolvedConfig.icons.message?.header?.info) resolvedConfig.icons.spinner.info = resolvedConfig.icons.message.header.info;
|
|
153
|
+
if (!resolvedConfig.icons.spinner?.help && resolvedConfig.icons.message?.header?.help) resolvedConfig.icons.spinner.help = resolvedConfig.icons.message.header.help;
|
|
126
154
|
mergeThemes(context, resolvedConfig);
|
|
127
155
|
return dictionary;
|
|
128
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.mjs","names":["isSetObject","isSetString","mergeThemes","icons","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","message","header","banner","prompt","help","success","info","debug","warning","danger","error","primary","secondary","tertiary","active","cancelled","submitted","disabled"],"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 type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeIconMessageStateConfig,\n ThemeIconPromptState,\n ThemeIconsResolvedConfig,\n ThemeIconSubItemConfig,\n ThemeIconsUserConfig,\n ThemeIconTypeResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\nimport { mergeThemes } from \"./helpers\";\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 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 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 };\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 resolvedConfig.icons.prompt ??= {} as ThemeIconPromptState;\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\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 // #endregion Missing token defaulting\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"icons.mjs","names":["isSetObject","isSetString","mergeThemes","icons","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","message","header","banner","prompt","help","success","info","debug","warning","danger","error","primary","secondary","tertiary","active","cancelled","submitted","disabled","spinner"],"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 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 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 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.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,5 +1,5 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const
|
|
2
|
+
const require_helpers_merge = require('../helpers/merge.cjs');
|
|
3
3
|
let __stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
|
|
4
4
|
let __stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
5
5
|
|
|
@@ -142,7 +142,7 @@ const labels = (context) => ({
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
require_helpers_merge.mergeThemes(context, resolvedConfig);
|
|
146
146
|
return dictionary;
|
|
147
147
|
}
|
|
148
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.mjs","names":["isSetObject","isSetString","mergeThemes","labels","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","message","header","footer","banner","help","success","info","debug","warning","danger","error","primary","secondary","tertiary"],"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 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\";\nimport { mergeThemes } from \"./helpers\";\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":["isSetObject","isSetString","mergeThemes","labels","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","message","header","footer","banner","help","success","info","debug","warning","danger","error","primary","secondary","tertiary"],"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":";;;;;;;;;;;AA4CA,MAAaG,UAAUC,aAA+C;CACpEC,MAAM;CACNC,eACEC,YACAC,aACuB;EACvB,MAAMC,iBAAiB,EAAyB;AAChDA,iBAAeJ,OACZE,WAA2BG,UAAUN,QAAQO,OAAON;AAMvDI,iBAAeN,WAAW;GACxBS,SAAS;IAAEC,QAAQ,EAAE;IAAEC,QAAQ,EAAC;IAAG;GACnCC,QAAQ;IAAEF,QAAQ,EAAE;IAAEC,QAAQ,EAAC;IAAE;GACL;EAC9B,MAAMX,WAASI,WAAWJ;AAE1B,MAAIF,YAAYE,SAAO,CACrBM,gBAAeN,SAAS;GACtBS,SAAS;IACPC,QAAQ;KACNG,MAAMb;KACNc,SAASd;KACTe,MAAMf;KACNgB,OAAOhB;KACPiB,SAASjB;KACTkB,QAAQlB;KACRmB,OAAOnB;KACR;IACDW,QAAQ,EAAC;IACV;GACDC,QAAQ;IACNF,QAAQ;KACNU,SAASpB;KACTqB,WAAWrB;KACXsB,UAAUtB;KACX;IACDW,QAAQ,EAAC;IACX;GACD;WACQd,YAAYG,SAAO,EAAE;AAC9BM,kBAAeN,OAAOS,YACpB,EAAgE;GAClE,MAAMA,UACJT,UAAQS;AAEV,OAAIX,YAAYW,QAAQ,CACtBH,gBAAeN,OAAOS,UAAU;IAC9BC,QAAQ;KACNG,MAAMJ;KACNK,SAASL;KACTM,MAAMN;KACNO,OAAOP;KACPQ,SAASR;KACTS,QAAQT;KACRU,OAAOV;KACR;IACDE,QAAQ,EAAC;IACV;YACQd,YAAYY,QAAQ,EAAE;AAC/BH,mBAAeN,OAAOS,QAAQC,SAC5B,EAAkC;AACpCJ,mBAAeN,OAAOS,QAAQE,SAC5B,EAAkC;IACpC,MAAMD,SAASD,QAAQC;IACvB,MAAMC,SAASF,QAAQE;AAEvB,QAAIb,YAAYY,OAAO,CACrBJ,gBAAeN,OAAOS,QAAQC,SAAS;KACrCG,MAAMH;KACNI,SAASJ;KACTK,MAAML;KACNM,OAAON;KACPO,SAASP;KACTQ,QAAQR;KACRS,OAAOT;KACR;aACQb,YAAYa,OAAO,EAAE;AAC9B,SAAIZ,YAAYY,OAAOG,KAAK,CAC1BP,gBAAeN,OAAOS,QAAQC,OAAOG,OAAOH,OAAOG;AAErD,SAAIf,YAAYY,OAAOI,QAAQ,CAC7BR,gBAAeN,OAAOS,QAAQC,OAAOI,UAAUJ,OAAOI;AAExD,SAAIhB,YAAYY,OAAOK,KAAK,CAC1BT,gBAAeN,OAAOS,QAAQC,OAAOK,OAAOL,OAAOK;AAErD,SAAIjB,YAAYY,OAAOM,MAAM,CAC3BV,gBAAeN,OAAOS,QAAQC,OAAOM,QAAQN,OAAOM;AAEtD,SAAIlB,YAAYY,OAAOO,QAAQ,CAC7BX,gBAAeN,OAAOS,QAAQC,OAAOO,UAAUP,OAAOO;AAExD,SAAInB,YAAYY,OAAOQ,OAAO,CAC5BZ,gBAAeN,OAAOS,QAAQC,OAAOQ,SAASR,OAAOQ;AAEvD,SAAIpB,YAAYY,OAAOS,MAAM,CAC3Bb,gBAAeN,OAAOS,QAAQC,OAAOS,QAAQT,OAAOS;;AAIxD,QAAIrB,YAAYa,OAAO,CACrBL,gBAAeN,OAAOS,QAAQE,SAAS;KACrCE,MAAMF;KACNG,SAASH;KACTI,MAAMJ;KACNK,OAAOL;KACPM,SAASN;KACTO,QAAQP;KACRQ,OAAOR;KACR;aACQd,YAAYc,OAAO,EAAE;AAC9B,SAAIb,YAAYa,OAAOE,KAAK,CAC1BP,gBAAeN,OAAOS,QAAQE,OAAOE,OAAOF,OAAOE;AAErD,SAAIf,YAAYa,OAAOG,QAAQ,CAC7BR,gBAAeN,OAAOS,QAAQE,OAAOG,UAAUH,OAAOG;AAExD,SAAIhB,YAAYa,OAAOI,KAAK,CAC1BT,gBAAeN,OAAOS,QAAQE,OAAOI,OAAOJ,OAAOI;AAErD,SAAIjB,YAAYa,OAAOK,MAAM,CAC3BV,gBAAeN,OAAOS,QAAQE,OAAOK,QAAQL,OAAOK;AAEtD,SAAIlB,YAAYa,OAAOM,QAAQ,CAC7BX,gBAAeN,OAAOS,QAAQE,OAAOM,UAAUN,OAAOM;AAExD,SAAInB,YAAYa,OAAOO,OAAO,CAC5BZ,gBAAeN,OAAOS,QAAQE,OAAOO,SAASP,OAAOO;AAEvD,SAAIpB,YAAYa,OAAOQ,MAAM,CAC3Bb,gBAAeN,OAAOS,QAAQE,OAAOQ,QAAQR,OAAOQ;;AAIxDb,mBAAeN,OAAOY,WACpB,EAAiE;IACnE,MAAMA,SACJZ,UAAQY;AAEV,QAAId,YAAYc,OAAO,CACrBN,gBAAeN,OAAOY,SAAS;KAC7BF,QAAQ;MACNU,SAASR;MACTS,WAAWT;MACXU,UAAUV;MACX;KACDD,QAAQ,EAAC;KACV;aACQd,YAAYe,OAAO,EAAE;AAC9BN,oBAAeN,OAAOY,OAAOF,SAC3B,EAAmC;AACrCJ,oBAAeN,OAAOY,OAAOD,SAC3B,EAAmC;KACrC,MAAMD,WAASE,OAAOF;KACtB,MAAMC,WAASC,OAAOD;AAEtB,SAAIb,YAAYY,SAAO,CACrBJ,gBAAeN,OAAOY,OAAOF,SAAS;MACpCU,SAASV;MACTW,WAAWX;MACXY,UAAUZ;MACX;cACQb,YAAYa,SAAO,EAAE;AAC9B,UAAIZ,YAAYY,SAAOU,QAAQ,CAC7Bd,gBAAeN,OAAOY,OAAOF,OAAOU,UAAUV,SAAOU;AAEvD,UAAItB,YAAYY,SAAOW,UAAU,CAC/Bf,gBAAeN,OAAOY,OAAOF,OAAOW,YAAYX,SAAOW;AAEzD,UAAIvB,YAAYY,SAAOY,SAAS,CAC9BhB,gBAAeN,OAAOY,OAAOF,OAAOY,WAAWZ,SAAOY;;AAI1D,SAAIxB,YAAYa,SAAO,CACrBL,gBAAeN,OAAOY,OAAOD,SAAS;MACpCS,SAAST;MACTU,WAAWV;MACXW,UAAUX;MACX;cACQd,YAAYc,SAAO,EAAE;AAC9B,UAAIb,YAAYa,SAAOS,QAAQ,CAC7Bd,gBAAeN,OAAOY,OAAOD,OAAOS,UAAUT,SAAOS;AAEvD,UAAItB,YAAYa,SAAOU,UAAU,CAC/Bf,gBAAeN,OAAOY,OAAOD,OAAOU,YAAYV,SAAOU;AAEzD,UAAIvB,YAAYa,SAAOW,SAAS,CAC9BhB,gBAAeN,OAAOY,OAAOD,OAAOW,WAAWX,SAAOW;;;;;AAWhEvB,cAAYE,SAASK,eAAe;AAEpC,SAAOF;;CAEV"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const
|
|
2
|
+
const require_helpers_border_styles = require('../helpers/border-styles.cjs');
|
|
3
|
+
const require_helpers_merge = require('../helpers/merge.cjs');
|
|
3
4
|
let __stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
|
|
4
5
|
let __stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
5
6
|
let __stryke_type_checks_is_number = require("@stryke/type-checks/is-number");
|
|
@@ -32,7 +33,7 @@ const padding = (context) => ({
|
|
|
32
33
|
};
|
|
33
34
|
const borderStyles = dictionary.borderStyles;
|
|
34
35
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(borderStyles)) {
|
|
35
|
-
const borderStyle =
|
|
36
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(borderStyles);
|
|
36
37
|
resolvedConfig.borderStyles = {
|
|
37
38
|
banner: {
|
|
38
39
|
outline: {
|
|
@@ -86,7 +87,7 @@ const padding = (context) => ({
|
|
|
86
87
|
};
|
|
87
88
|
const banner = borderStyles.banner;
|
|
88
89
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(banner)) {
|
|
89
|
-
const borderStyle =
|
|
90
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(banner);
|
|
90
91
|
resolvedConfig.borderStyles.banner = {
|
|
91
92
|
outline: {
|
|
92
93
|
primary: borderStyle,
|
|
@@ -103,7 +104,7 @@ const padding = (context) => ({
|
|
|
103
104
|
resolvedConfig.borderStyles.banner ??= {};
|
|
104
105
|
const outline = banner.outline;
|
|
105
106
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline)) {
|
|
106
|
-
const borderStyle =
|
|
107
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(outline);
|
|
107
108
|
resolvedConfig.borderStyles.banner.outline = {
|
|
108
109
|
primary: borderStyle,
|
|
109
110
|
secondary: borderStyle,
|
|
@@ -111,13 +112,13 @@ const padding = (context) => ({
|
|
|
111
112
|
};
|
|
112
113
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(outline)) {
|
|
113
114
|
resolvedConfig.borderStyles.banner.outline = {};
|
|
114
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.primary)) resolvedConfig.borderStyles.banner.outline.primary =
|
|
115
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.secondary)) resolvedConfig.borderStyles.banner.outline.secondary =
|
|
116
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.tertiary)) resolvedConfig.borderStyles.banner.outline.tertiary =
|
|
115
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.primary)) resolvedConfig.borderStyles.banner.outline.primary = require_helpers_border_styles.resolveBorderStyle(outline.primary);
|
|
116
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.secondary)) resolvedConfig.borderStyles.banner.outline.secondary = require_helpers_border_styles.resolveBorderStyle(outline.secondary);
|
|
117
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.tertiary)) resolvedConfig.borderStyles.banner.outline.tertiary = require_helpers_border_styles.resolveBorderStyle(outline.tertiary);
|
|
117
118
|
}
|
|
118
119
|
const divider = banner.divider;
|
|
119
120
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider)) {
|
|
120
|
-
const borderStyle =
|
|
121
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(divider);
|
|
121
122
|
resolvedConfig.borderStyles.banner.divider = {
|
|
122
123
|
primary: borderStyle,
|
|
123
124
|
secondary: borderStyle,
|
|
@@ -125,9 +126,9 @@ const padding = (context) => ({
|
|
|
125
126
|
};
|
|
126
127
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(divider)) {
|
|
127
128
|
resolvedConfig.borderStyles.banner.divider = {};
|
|
128
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.primary)) resolvedConfig.borderStyles.banner.divider.primary =
|
|
129
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.secondary)) resolvedConfig.borderStyles.banner.divider.secondary =
|
|
130
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.tertiary)) resolvedConfig.borderStyles.banner.divider.tertiary =
|
|
129
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.primary)) resolvedConfig.borderStyles.banner.divider.primary = require_helpers_border_styles.resolveBorderStyle(divider.primary);
|
|
130
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.secondary)) resolvedConfig.borderStyles.banner.divider.secondary = require_helpers_border_styles.resolveBorderStyle(divider.secondary);
|
|
131
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.tertiary)) resolvedConfig.borderStyles.banner.divider.tertiary = require_helpers_border_styles.resolveBorderStyle(divider.tertiary);
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
resolvedConfig.borderStyles.app ??= {
|
|
@@ -136,7 +137,7 @@ const padding = (context) => ({
|
|
|
136
137
|
};
|
|
137
138
|
const app = borderStyles.app;
|
|
138
139
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(app)) {
|
|
139
|
-
const borderStyle =
|
|
140
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(app);
|
|
140
141
|
resolvedConfig.borderStyles.app = {
|
|
141
142
|
table: {
|
|
142
143
|
primary: borderStyle,
|
|
@@ -153,7 +154,7 @@ const padding = (context) => ({
|
|
|
153
154
|
resolvedConfig.borderStyles.app ??= {};
|
|
154
155
|
const table = app.table;
|
|
155
156
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(table)) {
|
|
156
|
-
const borderStyle =
|
|
157
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(table);
|
|
157
158
|
resolvedConfig.borderStyles.app.table = {
|
|
158
159
|
primary: borderStyle,
|
|
159
160
|
secondary: borderStyle,
|
|
@@ -161,13 +162,13 @@ const padding = (context) => ({
|
|
|
161
162
|
};
|
|
162
163
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(table)) {
|
|
163
164
|
resolvedConfig.borderStyles.app.table = {};
|
|
164
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(table.primary)) resolvedConfig.borderStyles.app.table.primary =
|
|
165
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(table.secondary)) resolvedConfig.borderStyles.app.table.secondary =
|
|
166
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(table.tertiary)) resolvedConfig.borderStyles.app.table.tertiary =
|
|
165
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(table.primary)) resolvedConfig.borderStyles.app.table.primary = require_helpers_border_styles.resolveBorderStyle(table.primary);
|
|
166
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(table.secondary)) resolvedConfig.borderStyles.app.table.secondary = require_helpers_border_styles.resolveBorderStyle(table.secondary);
|
|
167
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(table.tertiary)) resolvedConfig.borderStyles.app.table.tertiary = require_helpers_border_styles.resolveBorderStyle(table.tertiary);
|
|
167
168
|
}
|
|
168
169
|
const divider = app.divider;
|
|
169
170
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider)) {
|
|
170
|
-
const borderStyle =
|
|
171
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(divider);
|
|
171
172
|
resolvedConfig.borderStyles.app.divider = {
|
|
172
173
|
primary: borderStyle,
|
|
173
174
|
secondary: borderStyle,
|
|
@@ -175,15 +176,15 @@ const padding = (context) => ({
|
|
|
175
176
|
};
|
|
176
177
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(divider)) {
|
|
177
178
|
resolvedConfig.borderStyles.app.divider = {};
|
|
178
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.primary)) resolvedConfig.borderStyles.app.divider.primary =
|
|
179
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.secondary)) resolvedConfig.borderStyles.app.divider.secondary =
|
|
180
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.tertiary)) resolvedConfig.borderStyles.app.divider.tertiary =
|
|
179
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.primary)) resolvedConfig.borderStyles.app.divider.primary = require_helpers_border_styles.resolveBorderStyle(divider.primary);
|
|
180
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.secondary)) resolvedConfig.borderStyles.app.divider.secondary = require_helpers_border_styles.resolveBorderStyle(divider.secondary);
|
|
181
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.tertiary)) resolvedConfig.borderStyles.app.divider.tertiary = require_helpers_border_styles.resolveBorderStyle(divider.tertiary);
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
resolvedConfig.borderStyles.message ??= {};
|
|
184
185
|
const message = borderStyles.message;
|
|
185
186
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(message)) {
|
|
186
|
-
const borderStyle =
|
|
187
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(message);
|
|
187
188
|
resolvedConfig.borderStyles.message = {
|
|
188
189
|
outline: {
|
|
189
190
|
help: borderStyle,
|
|
@@ -207,7 +208,7 @@ const padding = (context) => ({
|
|
|
207
208
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(message)) {
|
|
208
209
|
const outline = message.outline;
|
|
209
210
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline)) {
|
|
210
|
-
const borderStyle =
|
|
211
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(outline);
|
|
211
212
|
resolvedConfig.borderStyles.message.outline = {
|
|
212
213
|
help: borderStyle,
|
|
213
214
|
success: borderStyle,
|
|
@@ -219,18 +220,18 @@ const padding = (context) => ({
|
|
|
219
220
|
};
|
|
220
221
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(outline)) {
|
|
221
222
|
resolvedConfig.borderStyles.message.outline = {};
|
|
222
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.help)) resolvedConfig.borderStyles.message.outline.help =
|
|
223
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.success)) resolvedConfig.borderStyles.message.outline.success =
|
|
224
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.info)) resolvedConfig.borderStyles.message.outline.info =
|
|
225
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.debug)) resolvedConfig.borderStyles.message.outline.debug =
|
|
226
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.warning)) resolvedConfig.borderStyles.message.outline.warning =
|
|
227
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.danger)) resolvedConfig.borderStyles.message.outline.danger =
|
|
228
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.error)) resolvedConfig.borderStyles.message.outline.error =
|
|
223
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.help)) resolvedConfig.borderStyles.message.outline.help = require_helpers_border_styles.resolveBorderStyle(outline.help);
|
|
224
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.success)) resolvedConfig.borderStyles.message.outline.success = require_helpers_border_styles.resolveBorderStyle(outline.success);
|
|
225
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.info)) resolvedConfig.borderStyles.message.outline.info = require_helpers_border_styles.resolveBorderStyle(outline.info);
|
|
226
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.debug)) resolvedConfig.borderStyles.message.outline.debug = require_helpers_border_styles.resolveBorderStyle(outline.debug);
|
|
227
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.warning)) resolvedConfig.borderStyles.message.outline.warning = require_helpers_border_styles.resolveBorderStyle(outline.warning);
|
|
228
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.danger)) resolvedConfig.borderStyles.message.outline.danger = require_helpers_border_styles.resolveBorderStyle(outline.danger);
|
|
229
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.error)) resolvedConfig.borderStyles.message.outline.error = require_helpers_border_styles.resolveBorderStyle(outline.error);
|
|
229
230
|
}
|
|
230
231
|
resolvedConfig.borderStyles.message.divider ??= {};
|
|
231
232
|
const divider = message.divider;
|
|
232
233
|
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider)) {
|
|
233
|
-
const borderStyle =
|
|
234
|
+
const borderStyle = require_helpers_border_styles.resolveBorderStyle(divider);
|
|
234
235
|
resolvedConfig.borderStyles.message.divider = {
|
|
235
236
|
help: borderStyle,
|
|
236
237
|
success: borderStyle,
|
|
@@ -241,13 +242,13 @@ const padding = (context) => ({
|
|
|
241
242
|
error: borderStyle
|
|
242
243
|
};
|
|
243
244
|
} else if ((0, __stryke_type_checks_is_set_object.isSetObject)(divider)) {
|
|
244
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.help)) resolvedConfig.borderStyles.message.divider.help =
|
|
245
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.success)) resolvedConfig.borderStyles.message.divider.success =
|
|
246
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.info)) resolvedConfig.borderStyles.message.divider.info =
|
|
247
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.debug)) resolvedConfig.borderStyles.message.divider.debug =
|
|
248
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.warning)) resolvedConfig.borderStyles.message.divider.warning =
|
|
249
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.danger)) resolvedConfig.borderStyles.message.divider.danger =
|
|
250
|
-
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.error)) resolvedConfig.borderStyles.message.divider.error =
|
|
245
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.help)) resolvedConfig.borderStyles.message.divider.help = require_helpers_border_styles.resolveBorderStyle(divider.help);
|
|
246
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.success)) resolvedConfig.borderStyles.message.divider.success = require_helpers_border_styles.resolveBorderStyle(divider.success);
|
|
247
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.info)) resolvedConfig.borderStyles.message.divider.info = require_helpers_border_styles.resolveBorderStyle(divider.info);
|
|
248
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.debug)) resolvedConfig.borderStyles.message.divider.debug = require_helpers_border_styles.resolveBorderStyle(divider.debug);
|
|
249
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.warning)) resolvedConfig.borderStyles.message.divider.warning = require_helpers_border_styles.resolveBorderStyle(divider.warning);
|
|
250
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.danger)) resolvedConfig.borderStyles.message.divider.danger = require_helpers_border_styles.resolveBorderStyle(divider.danger);
|
|
251
|
+
if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.error)) resolvedConfig.borderStyles.message.divider.error = require_helpers_border_styles.resolveBorderStyle(divider.error);
|
|
251
252
|
}
|
|
252
253
|
}
|
|
253
254
|
}
|
|
@@ -265,7 +266,7 @@ const padding = (context) => ({
|
|
|
265
266
|
if ((0, __stryke_type_checks_is_number.isNumber)(padding$1.app)) resolvedConfig.padding.app = padding$1.app;
|
|
266
267
|
if ((0, __stryke_type_checks_is_number.isNumber)(padding$1.table)) resolvedConfig.padding.table = padding$1.table;
|
|
267
268
|
}
|
|
268
|
-
|
|
269
|
+
require_helpers_merge.mergeThemes(context, resolvedConfig);
|
|
269
270
|
return dictionary;
|
|
270
271
|
}
|
|
271
272
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveBorderStyle } from "../helpers/border-styles.mjs";
|
|
2
|
+
import { mergeThemes } from "../helpers/merge.mjs";
|
|
2
3
|
import { isSetObject } from "@stryke/type-checks/is-set-object";
|
|
3
4
|
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
4
5
|
import { isNumber } from "@stryke/type-checks/is-number";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"padding.mjs","names":["isNumber","isSetObject","isSetString","mergeThemes","resolveBorderStyle","padding","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","borderStyles","banner","outline","divider","message","app","table","borderStyle","primary","secondary","tertiary","help","success","info","debug","warning","danger","error"],"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 { 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 ThemePaddingResolvedConfig,\n ThemeResolvedConfig,\n ThemeStyleBorderIdentifiers\n} from \"../types/theme\";\nimport { mergeThemes, resolveBorderStyle } from \"./helpers\";\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 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 // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;;AA+CA,MAAaK,WAAWC,aAA+C;CACrEC,MAAM;CACNC,eACEC,YACAC,aACuB;EACvB,MAAMC,iBAAiB,EAAyB;AAChDA,iBAAeJ,OACZE,WAA2BG,UAAUN,QAAQO,OAAON;AAGvDI,iBAAeG,iBAAiB;GAC9BC,QAAQ;IAAEC,SAAS,EAAE;IAAEC,SAAS,EAAC;IAAG;GACpCC,SAAS;IAAEF,SAAS,EAAE;IAAEC,SAAS,EAAC;IAAG;GACrCE,KAAK;IAAEC,OAAO,EAAE;IAAEH,SAAS,EAAC;IAAE;GACI;EACpC,MAAMH,eAAeL,WAAWK;AAEhC,MAAIZ,YAAYY,aAAa,EAAE;GAC7B,MAAMO,cAAcjB,mBAClBU,aACD;AAEDH,kBAAeG,eAAe;IAC5BC,QAAQ;KACNC,SAAS;MACPM,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;KACDJ,SAAS;MACPK,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACZ;KACD;IACDH,SAAS;KACPF,SAAS;MACPS,MAAMJ;MACNK,SAASL;MACTM,MAAMN;MACNO,OAAOP;MACPQ,SAASR;MACTS,QAAQT;MACRU,OAAOV;MACR;KACDJ,SAAS;MACPQ,MAAMJ;MACNK,SAASL;MACTM,MAAMN;MACNO,OAAOP;MACPQ,SAASR;MACTS,QAAQT;MACRU,OAAOV;MACT;KACD;IACDF,KAAK;KACHC,OAAO;MACLE,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;KACDJ,SAAS;MACPK,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACZ;KACF;IACD;aACQpB,YAAYa,aAAa,EAAE;AACpCH,kBAAeG,aAAaC,WAAW;IACrCC,SAAS,EAAE;IACXC,SAAS,EAAC;IACkC;GAC9C,MAAMF,SAASD,aAAaC;AAE5B,OAAIb,YAAYa,OAAO,EAAE;IACvB,MAAMM,cAAcjB,mBAAmBW,OAAO;AAE9CJ,mBAAeG,aAAaC,SAAS;KACnCC,SAAS;MACPM,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;KACDJ,SAAS;MACPK,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACZ;KACD;cACQpB,YAAYc,OAAO,EAAE;AAC9BJ,mBAAeG,aAAaC,WAC1B,EAA+C;IACjD,MAAMC,UACJD,OACAC;AAEF,QAAId,YAAYc,QAAQ,EAAE;KACxB,MAAMK,cAAcjB,mBAAmBY,QAAQ;AAE/CL,oBAAeG,aAAaC,OAAOC,UAAU;MAC3CM,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;eACQpB,YAAYe,QAAQ,EAAE;AAC/BL,oBAAeG,aAAaC,OAAOC,UACjC,EAA0D;AAE5D,SACEd,YACGc,QAAmDM,QACrD,CAEDX,gBAAeG,aAAaC,OAAOC,QAAQM,UACzClB,mBACGY,QACEM,QACJ;AAEL,SACEpB,YACGc,QAAmDO,UACrD,CAEDZ,gBAAeG,aAAaC,OAAOC,QAAQO,YACzCnB,mBACGY,QACEO,UACJ;AAEL,SACErB,YACGc,QAAmDQ,SACrD,CAEDb,gBAAeG,aAAaC,OAAOC,QAAQQ,WACzCpB,mBACGY,QACEQ,SACJ;;IAIP,MAAMP,UACJF,OACAE;AAEF,QAAIf,YAAYe,QAAQ,EAAE;KACxB,MAAMI,cAAcjB,mBAAmBa,QAAQ;AAE/CN,oBAAeG,aAAaC,OAAOE,UAAU;MAC3CK,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;eACQpB,YAAYgB,QAAQ,EAAE;AAC/BN,oBAAeG,aAAaC,OAAOE,UACjC,EAA0D;AAE5D,SACEf,YACGe,QAAmDK,QACrD,CAEDX,gBAAeG,aAAaC,OAAOE,QAAQK,UACzClB,mBACGa,QACEK,QACJ;AAEL,SACEpB,YACGe,QAAmDM,UACrD,CAEDZ,gBAAeG,aAAaC,OAAOE,QAAQM,YACzCnB,mBACGa,QACEM,UACJ;AAEL,SACErB,YACGe,QAAmDO,SACrD,CAEDb,gBAAeG,aAAaC,OAAOE,QAAQO,WACzCpB,mBACGa,QACEO,SACJ;;;AAKTb,kBAAeG,aAAaK,QAAQ;IAClCC,OAAO,EAAE;IACTH,SAAS,EAAC;IAC+B;GAC3C,MAAME,MAAML,aAAaK;AAEzB,OAAIjB,YAAYiB,IAAI,EAAE;IACpB,MAAME,cAAcjB,mBAAmBe,IAAI;AAE3CR,mBAAeG,aAAaK,MAAM;KAChCC,OAAO;MACLE,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;KACDJ,SAAS;MACPK,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACZ;KACD;cACQpB,YAAYkB,IAAI,EAAE;AAC3BR,mBAAeG,aAAaK,QAC1B,EAA4C;IAE9C,MAAMC,QACJD,IACAC;AAEF,QAAIlB,YAAYkB,MAAM,EAAE;KACtB,MAAMC,cAAcjB,mBAAmBgB,MAAM;AAE7CT,oBAAeG,aAAaK,IAAIC,QAAQ;MACtCE,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;eACQpB,YAAYmB,MAAM,EAAE;AAC7BT,oBAAeG,aAAaK,IAAIC,QAC9B,EAAqD;AAEvD,SACElB,YACGkB,MAAiDE,QACnD,CAEDX,gBAAeG,aAAaK,IAAIC,MAAME,UAAUlB,mBAC7CgB,MACEE,QACJ;AAEH,SACEpB,YACGkB,MAAiDG,UACnD,CAEDZ,gBAAeG,aAAaK,IAAIC,MAAMG,YACpCnB,mBACGgB,MACEG,UACJ;AAEL,SACErB,YACGkB,MAAiDI,SACnD,CAEDb,gBAAeG,aAAaK,IAAIC,MAAMI,WAAWpB,mBAC9CgB,MACEI,SACJ;;IAIL,MAAMP,UACJE,IACAF;AAEF,QAAIf,YAAYe,QAAQ,EAAE;KACxB,MAAMI,cAAcjB,mBAAmBa,QAAQ;AAE/CN,oBAAeG,aAAaK,IAAIF,UAAU;MACxCK,SAASD;MACTE,WAAWF;MACXG,UAAUH;MACX;eACQpB,YAAYgB,QAAQ,EAAE;AAC/BN,oBAAeG,aAAaK,IAAIF,UAC9B,EAAuD;AAEzD,SACEf,YACGe,QAAmDK,QACrD,CAEDX,gBAAeG,aAAaK,IAAIF,QAAQK,UACtClB,mBACGa,QACEK,QACJ;AAEL,SACEpB,YACGe,QAAmDM,UACrD,CAEDZ,gBAAeG,aAAaK,IAAIF,QAAQM,YACtCnB,mBACGa,QACEM,UACJ;AAEL,SACErB,YACGe,QAAmDO,SACrD,CAEDb,gBAAeG,aAAaK,IAAIF,QAAQO,WACtCpB,mBACGa,QACEO,SACJ;;;AAKTb,kBAAeG,aAAaI,YAC1B,EAAgD;GAClD,MAAMA,UAAUJ,aAAaI;AAE7B,OAAIhB,YAAYgB,QAAQ,EAAE;IACxB,MAAMG,cAAcjB,mBAAmBc,QAAQ;AAE/CP,mBAAeG,aAAaI,UAAU;KACpCF,SAAS;MACPS,MAAMJ;MACNK,SAASL;MACTM,MAAMN;MACNO,OAAOP;MACPQ,SAASR;MACTS,QAAQT;MACRU,OAAOV;MACR;KACDJ,SAAS;MACPQ,MAAMJ;MACNK,SAASL;MACTM,MAAMN;MACNO,OAAOP;MACPQ,SAASR;MACTS,QAAQT;MACRU,OAAOV;MACT;KACD;cACQpB,YAAYiB,QAAQ,EAAE;IAC/B,MAAMF,UACJE,QACAF;AAEF,QAAId,YAAYc,QAAQ,EAAE;KACxB,MAAMK,cAAcjB,mBAAmBY,QAAQ;AAE/CL,oBAAeG,aAAaI,QAAQF,UAAU;MAC5CS,MAAMJ;MACNK,SAASL;MACTM,MAAMN;MACNO,OAAOP;MACPQ,SAASR;MACTS,QAAQT;MACRU,OAAOV;MACR;eACQpB,YAAYe,QAAQ,EAAE;AAC/BL,oBAAeG,aAAaI,QAAQF,UAClC,EAA2D;AAE7D,SACEd,YACGc,QAAmDS,KACrD,CAEDd,gBAAeG,aAAaI,QAAQF,QAAQS,OAC1CrB,mBACGY,QACES,KACJ;AAEL,SACEvB,YACGc,QAAmDU,QACrD,CAEDf,gBAAeG,aAAaI,QAAQF,QAAQU,UAC1CtB,mBACGY,QACEU,QACJ;AAEL,SACExB,YACGc,QAAmDW,KACrD,CAEDhB,gBAAeG,aAAaI,QAAQF,QAAQW,OAC1CvB,mBACGY,QACEW,KACJ;AAEL,SACEzB,YACGc,QAAmDY,MACrD,CAEDjB,gBAAeG,aAAaI,QAAQF,QAAQY,QAC1CxB,mBACGY,QACEY,MACJ;AAEL,SACE1B,YACGc,QAAmDa,QACrD,CAEDlB,gBAAeG,aAAaI,QAAQF,QAAQa,UAC1CzB,mBACGY,QACEa,QACJ;AAEL,SACE3B,YACGc,QAAmDc,OACrD,CAEDnB,gBAAeG,aAAaI,QAAQF,QAAQc,SAC1C1B,mBACGY,QACEc,OACJ;AAEL,SACE5B,YACGc,QAAmDe,MACrD,CAEDpB,gBAAeG,aAAaI,QAAQF,QAAQe,QAC1C3B,mBACGY,QACEe,MACJ;;AAIPpB,mBAAeG,aAAaI,QAAQD,YAClC,EAA2D;IAC7D,MAAMA,UACJC,QACAD;AAEF,QAAIf,YAAYe,QAAQ,EAAE;KACxB,MAAMI,cAAcjB,mBAAmBa,QAAQ;AAE/CN,oBAAeG,aAAaI,QAAQD,UAAU;MAC5CQ,MAAMJ;MACNK,SAASL;MACTM,MAAMN;MACNO,OAAOP;MACPQ,SAASR;MACTS,QAAQT;MACRU,OAAOV;MACR;eACQpB,YAAYgB,QAAQ,EAAE;AAC/B,SACEf,YACGe,QAAmDQ,KACrD,CAEDd,gBAAeG,aAAaI,QAAQD,QAAQQ,OAC1CrB,mBACGa,QACEQ,KACJ;AAEL,SACEvB,YACGe,QAAmDS,QACrD,CAEDf,gBAAeG,aAAaI,QAAQD,QAAQS,UAC1CtB,mBACGa,QACES,QACJ;AAEL,SACExB,YACGe,QAAmDU,KACrD,CAEDhB,gBAAeG,aAAaI,QAAQD,QAAQU,OAC1CvB,mBACGa,QACEU,KACJ;AAEL,SACEzB,YACGe,QAAmDW,MACrD,CAEDjB,gBAAeG,aAAaI,QAAQD,QAAQW,QAC1CxB,mBACGa,QACEW,MACJ;AAEL,SACE1B,YACGe,QAAmDY,QACrD,CAEDlB,gBAAeG,aAAaI,QAAQD,QAAQY,UAC1CzB,mBACGa,QACEY,QACJ;AAEL,SACE3B,YACGe,QAAmDa,OACrD,CAEDnB,gBAAeG,aAAaI,QAAQD,QAAQa,SAC1C1B,mBACGa,QACEa,OACJ;AAEL,SACE5B,YACGe,QAAmDc,MACrD,CAEDpB,gBAAeG,aAAaI,QAAQD,QAAQc,QAC1C3B,mBACGa,QACEc,MACJ;;;;AAUXpB,iBAAeN,YAAY,EAAgC;EAC3D,MAAMA,YAAUI,WAAWJ;AAE3B,MAAIL,SAASK,UAAQ,CACnBM,gBAAeN,UAAU;GACvBU,QAAQV;GACRa,SAASb;GACTc,KAAKd;GACLe,OAAOf;GACR;WACQJ,YAAYI,UAAQ,EAAE;AAC/B,OAAIL,SAASK,UAAQU,OAAO,CAC1BJ,gBAAeN,QAAQU,SAASV,UAAQU;AAE1C,OAAIf,SAASK,UAAQa,QAAQ,CAC3BP,gBAAeN,QAAQa,UAAUb,UAAQa;AAE3C,OAAIlB,SAASK,UAAQc,IAAI,CACvBR,gBAAeN,QAAQc,MAAMd,UAAQc;AAEvC,OAAInB,SAASK,UAAQe,MAAM,CACzBT,gBAAeN,QAAQe,QAAQf,UAAQe;;AAQ3CjB,cAAYG,SAASK,eAAe;AAEpC,SAAOF;;CAEV"}
|
|
1
|
+
{"version":3,"file":"padding.mjs","names":["isNumber","isSetObject","isSetString","resolveBorderStyle","mergeThemes","padding","context","name","preprocessor","dictionary","_options","resolvedConfig","$theme","config","borderStyles","banner","outline","divider","message","app","table","borderStyle","primary","secondary","tertiary","help","success","info","debug","warning","danger","error"],"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 { 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 { resolveBorderStyle } from \"../helpers/border-styles\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeBorderStyleAppSubItemUserConfig,\n ThemeBorderStyleMessageStateUserConfig,\n ThemeBorderStyleSectionTypesUserConfig,\n ThemeBorderStylesResolvedConfig,\n ThemeBorderStyleSubItemUserConfig,\n ThemeBorderStylesUserConfig,\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig,\n ThemeStyleBorderIdentifiers\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 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 // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|