@shell-shock/plugin-theme 0.4.21 → 0.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.cjs +29 -1
- package/dist/_virtual/_rolldown/runtime.mjs +8 -1
- package/dist/contexts/index.cjs +5 -1
- package/dist/contexts/index.mjs +3 -1
- package/dist/contexts/theme.cjs +28 -1
- package/dist/contexts/theme.d.cts.map +1 -1
- package/dist/contexts/theme.d.mts.map +1 -1
- package/dist/contexts/theme.mjs +26 -1
- package/dist/contexts/theme.mjs.map +1 -1
- package/dist/core/dist/config.d.cts +1 -0
- package/dist/core/dist/config.d.mts +9 -0
- package/dist/core/dist/config.d.mts.map +1 -0
- package/dist/core/dist/index.d.cts +1 -1
- package/dist/{packages/core → core}/dist/index.d.mts +2 -2
- package/dist/core/dist/index.d.mts.map +1 -0
- package/dist/core/dist/types/command.d.cts +60 -69
- package/dist/core/dist/types/command.d.cts.map +1 -1
- package/dist/core/dist/types/command.d.mts +8 -0
- package/dist/core/dist/types/command.d.mts.map +1 -0
- package/dist/core/dist/types/config.d.cts +14 -14
- package/dist/core/dist/types/config.d.cts.map +1 -1
- package/dist/{packages/core → core}/dist/types/config.d.mts +1 -1
- package/dist/core/dist/types/config.d.mts.map +1 -0
- package/dist/core/dist/types/context.d.cts.map +1 -1
- package/dist/{packages/core → core}/dist/types/context.d.mts +1 -1
- package/dist/core/dist/types/context.d.mts.map +1 -0
- package/dist/{packages/core → core}/dist/types/options.d.mts +1 -1
- package/dist/core/dist/types/options.d.mts.map +1 -0
- package/dist/helpers/ansi-utils.cjs +1294 -1
- 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 +1287 -1
- package/dist/helpers/ansi-utils.mjs.map +1 -1
- package/dist/helpers/border-styles.cjs +201 -1
- package/dist/helpers/border-styles.d.cts.map +1 -1
- package/dist/helpers/border-styles.d.mts.map +1 -1
- package/dist/helpers/border-styles.mjs +199 -1
- package/dist/helpers/border-styles.mjs.map +1 -1
- package/dist/helpers/constants.cjs +39 -1
- package/dist/helpers/constants.d.mts.map +1 -1
- package/dist/helpers/constants.mjs +33 -1
- package/dist/helpers/constants.mjs.map +1 -1
- package/dist/helpers/index.cjs +107 -1
- package/dist/helpers/index.mjs +6 -1
- package/dist/helpers/merge.cjs +18 -1
- package/dist/helpers/merge.d.cts.map +1 -1
- package/dist/helpers/merge.d.mts.map +1 -1
- package/dist/helpers/merge.mjs +17 -1
- package/dist/helpers/merge.mjs.map +1 -1
- package/dist/helpers/spinners.cjs +1852 -1
- package/dist/helpers/spinners.d.cts.map +1 -1
- package/dist/helpers/spinners.d.mts.map +1 -1
- package/dist/helpers/spinners.mjs +1758 -1
- package/dist/helpers/spinners.mjs.map +1 -1
- package/dist/index.cjs +70 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +65 -1
- package/dist/index.mjs.map +1 -1
- package/dist/style-dictionary/border-styles.cjs +284 -1
- package/dist/style-dictionary/border-styles.mjs +284 -1
- package/dist/style-dictionary/border-styles.mjs.map +1 -1
- package/dist/style-dictionary/colors.cjs +1390 -1
- package/dist/style-dictionary/colors.mjs +1390 -1
- package/dist/style-dictionary/colors.mjs.map +1 -1
- package/dist/style-dictionary/icons.cjs +168 -1
- package/dist/style-dictionary/icons.mjs +168 -1
- package/dist/style-dictionary/icons.mjs.map +1 -1
- package/dist/style-dictionary/labels.cjs +150 -1
- package/dist/style-dictionary/labels.mjs +150 -1
- package/dist/style-dictionary/labels.mjs.map +1 -1
- package/dist/style-dictionary/padding.cjs +37 -1
- package/dist/style-dictionary/padding.mjs +37 -1
- package/dist/style-dictionary/padding.mjs.map +1 -1
- package/dist/style-dictionary/settings.cjs +25 -1
- package/dist/style-dictionary/settings.mjs +25 -1
- package/dist/style-dictionary/settings.mjs.map +1 -1
- package/dist/style-dictionary/spinners.cjs +30 -1
- package/dist/style-dictionary/spinners.mjs +30 -1
- package/dist/style-dictionary/spinners.mjs.map +1 -1
- package/dist/themes/default.cjs +156 -1
- package/dist/themes/default.mjs +155 -1
- package/dist/themes/default.mjs.map +1 -1
- package/dist/types/index.mjs +1 -1
- package/dist/types/plugin.d.mts +1 -1
- package/dist/types/plugin.d.mts.map +1 -1
- package/dist/types/plugin.mjs +1 -1
- package/dist/types/theme.d.cts.map +1 -1
- package/dist/types/theme.d.mts.map +1 -1
- package/dist/types/theme.mjs +1 -1
- package/package.json +15 -19
- package/dist/core/dist/api.d.cts +0 -1
- package/dist/node_modules/.pnpm/@standard-schema_spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.mts +0 -8
- package/dist/node_modules/.pnpm/@standard-schema_spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/ZodError.d.mts +0 -11
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/ZodError.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.d.mts +0 -10
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.d.mts +0 -14
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/enumUtil.d.mts +0 -8
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/enumUtil.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorUtil.d.mts +0 -8
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorUtil.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.d.mts +0 -10
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/partialUtil.d.mts +0 -9
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/partialUtil.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typeAliases.d.mts +0 -8
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typeAliases.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.d.mts +0 -8
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.d.mts +0 -9
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.d.mts +0 -9
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/standard-schema.d.mts +0 -8
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/standard-schema.d.mts.map +0 -1
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.d.mts +0 -16
- package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.d.mts.map +0 -1
- package/dist/packages/core/dist/api.d.mts +0 -8
- package/dist/packages/core/dist/api.d.mts.map +0 -1
- package/dist/packages/core/dist/index.d.mts.map +0 -1
- package/dist/packages/core/dist/types/command.d.mts +0 -10
- package/dist/packages/core/dist/types/command.d.mts.map +0 -1
- package/dist/packages/core/dist/types/config.d.mts.map +0 -1
- package/dist/packages/core/dist/types/context.d.mts.map +0 -1
- package/dist/packages/core/dist/types/options.d.mts.map +0 -1
|
@@ -1,2 +1,169 @@
|
|
|
1
|
-
import{mergeThemes
|
|
1
|
+
import { mergeThemes } from "../helpers/merge.mjs";
|
|
2
|
+
import { isSetObject } from "@stryke/type-checks/is-set-object";
|
|
3
|
+
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
4
|
+
|
|
5
|
+
//#region src/style-dictionary/icons.ts
|
|
6
|
+
/**
|
|
7
|
+
* Shell Shock - Theme Icons Preprocessor
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
|
|
11
|
+
*/
|
|
12
|
+
const icons = (context) => ({
|
|
13
|
+
name: "shell-shock/icons",
|
|
14
|
+
preprocessor: (dictionary, _options) => {
|
|
15
|
+
const resolvedConfig = {};
|
|
16
|
+
resolvedConfig.name = dictionary.$theme ?? context.config.name;
|
|
17
|
+
resolvedConfig.icons ??= {
|
|
18
|
+
link: {},
|
|
19
|
+
message: { header: {} },
|
|
20
|
+
banner: { header: {} },
|
|
21
|
+
prompt: {}
|
|
22
|
+
};
|
|
23
|
+
const icons = dictionary.icons;
|
|
24
|
+
if (isSetString(icons)) resolvedConfig.icons = {
|
|
25
|
+
link: { external: icons },
|
|
26
|
+
message: { header: {
|
|
27
|
+
help: icons,
|
|
28
|
+
success: icons,
|
|
29
|
+
info: icons,
|
|
30
|
+
debug: icons,
|
|
31
|
+
warning: icons,
|
|
32
|
+
danger: icons,
|
|
33
|
+
error: icons
|
|
34
|
+
} },
|
|
35
|
+
banner: { header: {
|
|
36
|
+
primary: icons,
|
|
37
|
+
secondary: icons,
|
|
38
|
+
tertiary: icons
|
|
39
|
+
} },
|
|
40
|
+
prompt: {
|
|
41
|
+
active: icons,
|
|
42
|
+
cancelled: icons,
|
|
43
|
+
warning: icons,
|
|
44
|
+
error: icons,
|
|
45
|
+
submitted: icons,
|
|
46
|
+
disabled: icons
|
|
47
|
+
},
|
|
48
|
+
spinner: {
|
|
49
|
+
help: icons,
|
|
50
|
+
success: icons,
|
|
51
|
+
info: icons,
|
|
52
|
+
warning: icons,
|
|
53
|
+
error: icons
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
else if (isSetObject(icons)) {
|
|
57
|
+
resolvedConfig.icons.link ??= {};
|
|
58
|
+
const app = icons.link;
|
|
59
|
+
if (isSetString(app)) resolvedConfig.icons.link = { external: app };
|
|
60
|
+
else if (isSetObject(app)) {
|
|
61
|
+
if (isSetString(app.external)) resolvedConfig.icons.link.external = app.external;
|
|
62
|
+
}
|
|
63
|
+
resolvedConfig.icons.message = {};
|
|
64
|
+
const message = icons.message;
|
|
65
|
+
if (isSetString(message)) resolvedConfig.icons.message = { header: {
|
|
66
|
+
help: message,
|
|
67
|
+
success: message,
|
|
68
|
+
info: message,
|
|
69
|
+
debug: message,
|
|
70
|
+
warning: message,
|
|
71
|
+
danger: message,
|
|
72
|
+
error: message
|
|
73
|
+
} };
|
|
74
|
+
else if (isSetObject(message)) {
|
|
75
|
+
resolvedConfig.icons.message.header ??= {};
|
|
76
|
+
const header = message.header;
|
|
77
|
+
if (isSetString(header)) resolvedConfig.icons.message = { header: {
|
|
78
|
+
help: header,
|
|
79
|
+
success: header,
|
|
80
|
+
info: header,
|
|
81
|
+
debug: header,
|
|
82
|
+
warning: header,
|
|
83
|
+
danger: header,
|
|
84
|
+
error: header
|
|
85
|
+
} };
|
|
86
|
+
else if (isSetObject(header)) {
|
|
87
|
+
if (isSetString(header.help)) resolvedConfig.icons.message.header.help = header.help;
|
|
88
|
+
if (isSetString(header.success)) resolvedConfig.icons.message.header.success = header.success;
|
|
89
|
+
if (isSetString(header.info)) resolvedConfig.icons.message.header.info = header.info;
|
|
90
|
+
if (isSetString(header.debug)) resolvedConfig.icons.message.header.debug = header.debug;
|
|
91
|
+
if (isSetString(header.warning)) resolvedConfig.icons.message.header.warning = header.warning;
|
|
92
|
+
if (isSetString(header.danger)) resolvedConfig.icons.message.header.danger = header.danger;
|
|
93
|
+
if (isSetString(header.error)) resolvedConfig.icons.message.header.error = header.error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
resolvedConfig.icons.banner ??= { header: {} };
|
|
97
|
+
const banner = icons.banner;
|
|
98
|
+
if (isSetString(banner)) resolvedConfig.icons.banner = { header: {
|
|
99
|
+
primary: banner,
|
|
100
|
+
secondary: banner,
|
|
101
|
+
tertiary: banner
|
|
102
|
+
} };
|
|
103
|
+
else if (isSetObject(banner)) {
|
|
104
|
+
resolvedConfig.icons.banner.header ??= {};
|
|
105
|
+
const header = banner.header;
|
|
106
|
+
if (isSetString(banner.header)) resolvedConfig.icons.banner = { header: {
|
|
107
|
+
primary: banner.header,
|
|
108
|
+
secondary: banner.header,
|
|
109
|
+
tertiary: banner.header
|
|
110
|
+
} };
|
|
111
|
+
else if (isSetObject(banner.header)) {
|
|
112
|
+
if (isSetString(header.primary)) resolvedConfig.icons.banner.header.primary = header.primary;
|
|
113
|
+
if (isSetString(header.secondary)) resolvedConfig.icons.banner.header.secondary = header.secondary;
|
|
114
|
+
if (isSetString(header.tertiary)) resolvedConfig.icons.banner.header.tertiary = header.tertiary;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
resolvedConfig.icons.prompt ??= {};
|
|
118
|
+
const prompt = icons.prompt;
|
|
119
|
+
if (isSetString(prompt)) resolvedConfig.icons.prompt = {
|
|
120
|
+
active: prompt,
|
|
121
|
+
cancelled: prompt,
|
|
122
|
+
error: prompt,
|
|
123
|
+
warning: prompt,
|
|
124
|
+
submitted: prompt,
|
|
125
|
+
disabled: prompt
|
|
126
|
+
};
|
|
127
|
+
else if (isSetObject(prompt)) {
|
|
128
|
+
if (isSetString(prompt.active)) resolvedConfig.icons.prompt.active = prompt.active;
|
|
129
|
+
if (isSetString(prompt.cancelled)) resolvedConfig.icons.prompt.cancelled = prompt.cancelled;
|
|
130
|
+
if (isSetString(prompt.error)) resolvedConfig.icons.prompt.error = prompt.error;
|
|
131
|
+
if (isSetString(prompt.warning)) resolvedConfig.icons.prompt.warning = prompt.warning;
|
|
132
|
+
if (isSetString(prompt.submitted)) resolvedConfig.icons.prompt.submitted = prompt.submitted;
|
|
133
|
+
if (isSetString(prompt.disabled)) resolvedConfig.icons.prompt.disabled = prompt.disabled;
|
|
134
|
+
}
|
|
135
|
+
resolvedConfig.icons.spinner ??= {};
|
|
136
|
+
const spinner = icons.spinner;
|
|
137
|
+
if (isSetString(spinner)) resolvedConfig.icons.spinner = {
|
|
138
|
+
help: spinner,
|
|
139
|
+
success: spinner,
|
|
140
|
+
info: spinner,
|
|
141
|
+
warning: spinner,
|
|
142
|
+
error: spinner
|
|
143
|
+
};
|
|
144
|
+
else if (isSetObject(spinner)) {
|
|
145
|
+
if (isSetString(spinner.help)) resolvedConfig.icons.spinner.help = spinner.help;
|
|
146
|
+
if (isSetString(spinner.success)) resolvedConfig.icons.spinner.success = spinner.success;
|
|
147
|
+
if (isSetString(spinner.info)) resolvedConfig.icons.spinner.info = spinner.info;
|
|
148
|
+
if (isSetString(spinner.warning)) resolvedConfig.icons.spinner.warning = spinner.warning;
|
|
149
|
+
if (isSetString(spinner.error)) resolvedConfig.icons.spinner.error = spinner.error;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (!resolvedConfig.icons.prompt?.active && resolvedConfig.icons?.banner?.header?.primary) resolvedConfig.icons.prompt.active = resolvedConfig.icons.banner.header.primary;
|
|
153
|
+
if (!resolvedConfig.icons.prompt?.submitted && resolvedConfig.icons.message?.header?.success) resolvedConfig.icons.prompt.submitted = resolvedConfig.icons.message.header.success;
|
|
154
|
+
if (!resolvedConfig.icons.prompt?.warning && resolvedConfig.icons.message?.header?.warning) resolvedConfig.icons.prompt.warning = resolvedConfig.icons.message.header.warning;
|
|
155
|
+
if (!resolvedConfig.icons.prompt?.error && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.prompt.error = resolvedConfig.icons.message.header.error;
|
|
156
|
+
if (!resolvedConfig.icons.prompt?.cancelled && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.prompt.cancelled = resolvedConfig.icons.message.header.error;
|
|
157
|
+
if (!resolvedConfig.icons.spinner?.success && resolvedConfig.icons.message?.header?.success) resolvedConfig.icons.spinner.success = resolvedConfig.icons.message.header.success;
|
|
158
|
+
if (!resolvedConfig.icons.spinner?.warning && resolvedConfig.icons.message?.header?.warning) resolvedConfig.icons.spinner.warning = resolvedConfig.icons.message.header.warning;
|
|
159
|
+
if (!resolvedConfig.icons.spinner?.error && resolvedConfig.icons.message?.header?.error) resolvedConfig.icons.spinner.error = resolvedConfig.icons.message.header.error;
|
|
160
|
+
if (!resolvedConfig.icons.spinner?.info && resolvedConfig.icons.message?.header?.info) resolvedConfig.icons.spinner.info = resolvedConfig.icons.message.header.info;
|
|
161
|
+
if (!resolvedConfig.icons.spinner?.help && resolvedConfig.icons.message?.header?.help) resolvedConfig.icons.spinner.help = resolvedConfig.icons.message.header.help;
|
|
162
|
+
mergeThemes(context, resolvedConfig);
|
|
163
|
+
return dictionary;
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
//#endregion
|
|
168
|
+
export { icons };
|
|
2
169
|
//# sourceMappingURL=icons.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.mjs","names":[],"sources":["../../src/style-dictionary/icons.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeIconLinkStateConfig,\n ThemeIconMessageStateConfig,\n ThemeIconPromptStateConfig,\n ThemeIconSpinnerStateConfig,\n ThemeIconsResolvedConfig,\n ThemeIconSubItemConfig,\n ThemeIconsUserConfig,\n ThemeIconTypeResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Icons Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const icons = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/icons\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Icons\n\n resolvedConfig.icons ??= {\n link: {},\n message: { header: {} },\n banner: { header: {} },\n prompt: {}\n } as ThemeIconsResolvedConfig;\n const icons = dictionary.icons as ThemeIconsUserConfig;\n\n if (isSetString(icons)) {\n resolvedConfig.icons = {\n link: {\n external: icons\n },\n message: {\n header: {\n help: icons,\n success: icons,\n info: icons,\n debug: icons,\n warning: icons,\n danger: icons,\n error: icons\n }\n },\n banner: {\n header: {\n primary: icons,\n secondary: icons,\n tertiary: icons\n }\n },\n prompt: {\n active: icons,\n cancelled: icons,\n warning: icons,\n error: icons,\n submitted: icons,\n disabled: icons\n },\n spinner: {\n help: icons,\n success: icons,\n info: icons,\n warning: icons,\n error: icons\n }\n };\n } else if (isSetObject(icons)) {\n resolvedConfig.icons.link ??= {} as ThemeIconLinkStateConfig;\n const app = icons.link;\n\n if (isSetString(app)) {\n resolvedConfig.icons.link = {\n external: app\n };\n } else if (isSetObject(app)) {\n if (isSetString(app.external)) {\n resolvedConfig.icons.link.external = app.external;\n }\n }\n\n resolvedConfig.icons.message =\n {} as ThemeIconTypeResolvedConfig<ThemeIconMessageStateConfig>;\n const message = icons.message;\n\n if (isSetString(message)) {\n resolvedConfig.icons.message = {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n }\n };\n } else if (isSetObject(message)) {\n resolvedConfig.icons.message.header ??=\n {} as ThemeIconMessageStateConfig;\n const header = message.header;\n\n if (isSetString(header)) {\n resolvedConfig.icons.message = {\n header: {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n }\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.icons.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.icons.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.icons.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.icons.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.icons.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.icons.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.icons.message.header.error = header.error;\n }\n }\n }\n\n resolvedConfig.icons.banner ??= {\n header: {}\n } as ThemeIconTypeResolvedConfig<ThemeIconSubItemConfig>;\n const banner = icons.banner;\n\n if (isSetString(banner)) {\n resolvedConfig.icons.banner = {\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n }\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.icons.banner.header ??= {} as ThemeIconSubItemConfig;\n const header = banner.header as ThemeIconSubItemConfig;\n\n if (isSetString(banner.header)) {\n resolvedConfig.icons.banner = {\n header: {\n primary: banner.header,\n secondary: banner.header,\n tertiary: banner.header\n }\n };\n } else if (isSetObject(banner.header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.icons.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.icons.banner.header.secondary = header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.icons.banner.header.tertiary = header.tertiary;\n }\n }\n }\n\n resolvedConfig.icons.prompt ??= {} as ThemeIconPromptStateConfig;\n const prompt = icons.prompt;\n\n if (isSetString(prompt)) {\n resolvedConfig.icons.prompt = {\n active: prompt,\n cancelled: prompt,\n error: prompt,\n warning: prompt,\n submitted: prompt,\n disabled: prompt\n };\n } else if (isSetObject(prompt)) {\n if (isSetString(prompt.active)) {\n resolvedConfig.icons.prompt.active = prompt.active;\n }\n if (isSetString(prompt.cancelled)) {\n resolvedConfig.icons.prompt.cancelled = prompt.cancelled;\n }\n if (isSetString(prompt.error)) {\n resolvedConfig.icons.prompt.error = prompt.error;\n }\n if (isSetString(prompt.warning)) {\n resolvedConfig.icons.prompt.warning = prompt.warning;\n }\n if (isSetString(prompt.submitted)) {\n resolvedConfig.icons.prompt.submitted = prompt.submitted;\n }\n if (isSetString(prompt.disabled)) {\n resolvedConfig.icons.prompt.disabled = prompt.disabled;\n }\n }\n\n resolvedConfig.icons.spinner ??= {} as ThemeIconSpinnerStateConfig;\n const spinner = icons.spinner;\n\n if (isSetString(spinner)) {\n resolvedConfig.icons.spinner = {\n help: spinner,\n success: spinner,\n info: spinner,\n warning: spinner,\n error: spinner\n };\n } else if (isSetObject(spinner)) {\n if (isSetString(spinner.help)) {\n resolvedConfig.icons.spinner.help = spinner.help;\n }\n if (isSetString(spinner.success)) {\n resolvedConfig.icons.spinner.success = spinner.success;\n }\n if (isSetString(spinner.info)) {\n resolvedConfig.icons.spinner.info = spinner.info;\n }\n if (isSetString(spinner.warning)) {\n resolvedConfig.icons.spinner.warning = spinner.warning;\n }\n if (isSetString(spinner.error)) {\n resolvedConfig.icons.spinner.error = spinner.error;\n }\n }\n }\n\n // #endregion Icons\n\n // #endregion Tiered token resolution\n\n // #region Missing token defaulting\n\n if (\n !resolvedConfig.icons.prompt?.active &&\n resolvedConfig.icons?.banner?.header?.primary\n ) {\n resolvedConfig.icons.prompt.active =\n resolvedConfig.icons.banner.header.primary;\n }\n if (\n !resolvedConfig.icons.prompt?.submitted &&\n resolvedConfig.icons.message?.header?.success\n ) {\n resolvedConfig.icons.prompt.submitted =\n resolvedConfig.icons.message.header.success;\n }\n if (\n !resolvedConfig.icons.prompt?.warning &&\n resolvedConfig.icons.message?.header?.warning\n ) {\n resolvedConfig.icons.prompt.warning =\n resolvedConfig.icons.message.header.warning;\n }\n if (\n !resolvedConfig.icons.prompt?.error &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.prompt.error =\n resolvedConfig.icons.message.header.error;\n }\n if (\n !resolvedConfig.icons.prompt?.cancelled &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.prompt.cancelled =\n resolvedConfig.icons.message.header.error;\n }\n\n if (\n !resolvedConfig.icons.spinner?.success &&\n resolvedConfig.icons.message?.header?.success\n ) {\n resolvedConfig.icons.spinner.success =\n resolvedConfig.icons.message.header.success;\n }\n if (\n !resolvedConfig.icons.spinner?.warning &&\n resolvedConfig.icons.message?.header?.warning\n ) {\n resolvedConfig.icons.spinner.warning =\n resolvedConfig.icons.message.header.warning;\n }\n if (\n !resolvedConfig.icons.spinner?.error &&\n resolvedConfig.icons.message?.header?.error\n ) {\n resolvedConfig.icons.spinner.error =\n resolvedConfig.icons.message.header.error;\n }\n if (\n !resolvedConfig.icons.spinner?.info &&\n resolvedConfig.icons.message?.header?.info\n ) {\n resolvedConfig.icons.spinner.info =\n resolvedConfig.icons.message.header.info;\n }\n if (\n !resolvedConfig.icons.spinner?.help &&\n resolvedConfig.icons.message?.header?.help\n ) {\n resolvedConfig.icons.spinner.help =\n resolvedConfig.icons.message.header.help;\n }\n\n // #endregion Missing token defaulting\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"icons.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1,150 @@
|
|
|
1
|
-
|
|
1
|
+
const require_helpers_merge = require('../helpers/merge.cjs');
|
|
2
|
+
let _stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
|
|
3
|
+
let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
4
|
+
|
|
5
|
+
//#region src/style-dictionary/labels.ts
|
|
6
|
+
/**
|
|
7
|
+
* Shell Shock - Theme Labels Preprocessor
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
|
|
11
|
+
*/
|
|
12
|
+
const labels = (context) => ({
|
|
13
|
+
name: "shell-shock/labels",
|
|
14
|
+
preprocessor: (dictionary, _options) => {
|
|
15
|
+
const resolvedConfig = {};
|
|
16
|
+
resolvedConfig.name = dictionary.$theme ?? context.config.name;
|
|
17
|
+
resolvedConfig.labels ??= {
|
|
18
|
+
message: {
|
|
19
|
+
header: {},
|
|
20
|
+
footer: {}
|
|
21
|
+
},
|
|
22
|
+
banner: {
|
|
23
|
+
header: {},
|
|
24
|
+
footer: {}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const labels = dictionary.labels;
|
|
28
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(labels)) resolvedConfig.labels = {
|
|
29
|
+
message: {
|
|
30
|
+
header: {
|
|
31
|
+
help: labels,
|
|
32
|
+
success: labels,
|
|
33
|
+
info: labels,
|
|
34
|
+
debug: labels,
|
|
35
|
+
warning: labels,
|
|
36
|
+
danger: labels,
|
|
37
|
+
error: labels
|
|
38
|
+
},
|
|
39
|
+
footer: {}
|
|
40
|
+
},
|
|
41
|
+
banner: {
|
|
42
|
+
header: {
|
|
43
|
+
primary: labels,
|
|
44
|
+
secondary: labels,
|
|
45
|
+
tertiary: labels
|
|
46
|
+
},
|
|
47
|
+
footer: {}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(labels)) {
|
|
51
|
+
resolvedConfig.labels.message ??= {};
|
|
52
|
+
const message = labels?.message;
|
|
53
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(message)) resolvedConfig.labels.message = {
|
|
54
|
+
header: {
|
|
55
|
+
help: message,
|
|
56
|
+
success: message,
|
|
57
|
+
info: message,
|
|
58
|
+
debug: message,
|
|
59
|
+
warning: message,
|
|
60
|
+
danger: message,
|
|
61
|
+
error: message
|
|
62
|
+
},
|
|
63
|
+
footer: {}
|
|
64
|
+
};
|
|
65
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(message)) {
|
|
66
|
+
resolvedConfig.labels.message.header = {};
|
|
67
|
+
resolvedConfig.labels.message.footer = {};
|
|
68
|
+
const header = message.header;
|
|
69
|
+
const footer = message.footer;
|
|
70
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header)) resolvedConfig.labels.message.header = {
|
|
71
|
+
help: header,
|
|
72
|
+
success: header,
|
|
73
|
+
info: header,
|
|
74
|
+
debug: header,
|
|
75
|
+
warning: header,
|
|
76
|
+
danger: header,
|
|
77
|
+
error: header
|
|
78
|
+
};
|
|
79
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(header)) {
|
|
80
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.help)) resolvedConfig.labels.message.header.help = header.help;
|
|
81
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.success)) resolvedConfig.labels.message.header.success = header.success;
|
|
82
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.info)) resolvedConfig.labels.message.header.info = header.info;
|
|
83
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.debug)) resolvedConfig.labels.message.header.debug = header.debug;
|
|
84
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.warning)) resolvedConfig.labels.message.header.warning = header.warning;
|
|
85
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.danger)) resolvedConfig.labels.message.header.danger = header.danger;
|
|
86
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.error)) resolvedConfig.labels.message.header.error = header.error;
|
|
87
|
+
}
|
|
88
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer)) resolvedConfig.labels.message.footer = {
|
|
89
|
+
help: footer,
|
|
90
|
+
success: footer,
|
|
91
|
+
info: footer,
|
|
92
|
+
debug: footer,
|
|
93
|
+
warning: footer,
|
|
94
|
+
danger: footer,
|
|
95
|
+
error: footer
|
|
96
|
+
};
|
|
97
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(footer)) {
|
|
98
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.help)) resolvedConfig.labels.message.footer.help = footer.help;
|
|
99
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.success)) resolvedConfig.labels.message.footer.success = footer.success;
|
|
100
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.info)) resolvedConfig.labels.message.footer.info = footer.info;
|
|
101
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.debug)) resolvedConfig.labels.message.footer.debug = footer.debug;
|
|
102
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.warning)) resolvedConfig.labels.message.footer.warning = footer.warning;
|
|
103
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.danger)) resolvedConfig.labels.message.footer.danger = footer.danger;
|
|
104
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.error)) resolvedConfig.labels.message.footer.error = footer.error;
|
|
105
|
+
}
|
|
106
|
+
resolvedConfig.labels.banner ??= {};
|
|
107
|
+
const banner = labels?.banner;
|
|
108
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(banner)) resolvedConfig.labels.banner = {
|
|
109
|
+
header: {
|
|
110
|
+
primary: banner,
|
|
111
|
+
secondary: banner,
|
|
112
|
+
tertiary: banner
|
|
113
|
+
},
|
|
114
|
+
footer: {}
|
|
115
|
+
};
|
|
116
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(banner)) {
|
|
117
|
+
resolvedConfig.labels.banner.header = {};
|
|
118
|
+
resolvedConfig.labels.banner.footer = {};
|
|
119
|
+
const header = banner.header;
|
|
120
|
+
const footer = banner.footer;
|
|
121
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header)) resolvedConfig.labels.banner.header = {
|
|
122
|
+
primary: header,
|
|
123
|
+
secondary: header,
|
|
124
|
+
tertiary: header
|
|
125
|
+
};
|
|
126
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(header)) {
|
|
127
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.primary)) resolvedConfig.labels.banner.header.primary = header.primary;
|
|
128
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.secondary)) resolvedConfig.labels.banner.header.secondary = header.secondary;
|
|
129
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(header.tertiary)) resolvedConfig.labels.banner.header.tertiary = header.tertiary;
|
|
130
|
+
}
|
|
131
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer)) resolvedConfig.labels.banner.footer = {
|
|
132
|
+
primary: footer,
|
|
133
|
+
secondary: footer,
|
|
134
|
+
tertiary: footer
|
|
135
|
+
};
|
|
136
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(footer)) {
|
|
137
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.primary)) resolvedConfig.labels.banner.footer.primary = footer.primary;
|
|
138
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.secondary)) resolvedConfig.labels.banner.footer.secondary = footer.secondary;
|
|
139
|
+
if ((0, _stryke_type_checks_is_set_string.isSetString)(footer.tertiary)) resolvedConfig.labels.banner.footer.tertiary = footer.tertiary;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
require_helpers_merge.mergeThemes(context, resolvedConfig);
|
|
145
|
+
return dictionary;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
//#endregion
|
|
150
|
+
exports.labels = labels;
|
|
@@ -1,2 +1,151 @@
|
|
|
1
|
-
import{mergeThemes
|
|
1
|
+
import { mergeThemes } from "../helpers/merge.mjs";
|
|
2
|
+
import { isSetObject } from "@stryke/type-checks/is-set-object";
|
|
3
|
+
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
4
|
+
|
|
5
|
+
//#region src/style-dictionary/labels.ts
|
|
6
|
+
/**
|
|
7
|
+
* Shell Shock - Theme Labels Preprocessor
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
|
|
11
|
+
*/
|
|
12
|
+
const labels = (context) => ({
|
|
13
|
+
name: "shell-shock/labels",
|
|
14
|
+
preprocessor: (dictionary, _options) => {
|
|
15
|
+
const resolvedConfig = {};
|
|
16
|
+
resolvedConfig.name = dictionary.$theme ?? context.config.name;
|
|
17
|
+
resolvedConfig.labels ??= {
|
|
18
|
+
message: {
|
|
19
|
+
header: {},
|
|
20
|
+
footer: {}
|
|
21
|
+
},
|
|
22
|
+
banner: {
|
|
23
|
+
header: {},
|
|
24
|
+
footer: {}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const labels = dictionary.labels;
|
|
28
|
+
if (isSetString(labels)) resolvedConfig.labels = {
|
|
29
|
+
message: {
|
|
30
|
+
header: {
|
|
31
|
+
help: labels,
|
|
32
|
+
success: labels,
|
|
33
|
+
info: labels,
|
|
34
|
+
debug: labels,
|
|
35
|
+
warning: labels,
|
|
36
|
+
danger: labels,
|
|
37
|
+
error: labels
|
|
38
|
+
},
|
|
39
|
+
footer: {}
|
|
40
|
+
},
|
|
41
|
+
banner: {
|
|
42
|
+
header: {
|
|
43
|
+
primary: labels,
|
|
44
|
+
secondary: labels,
|
|
45
|
+
tertiary: labels
|
|
46
|
+
},
|
|
47
|
+
footer: {}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
else if (isSetObject(labels)) {
|
|
51
|
+
resolvedConfig.labels.message ??= {};
|
|
52
|
+
const message = labels?.message;
|
|
53
|
+
if (isSetString(message)) resolvedConfig.labels.message = {
|
|
54
|
+
header: {
|
|
55
|
+
help: message,
|
|
56
|
+
success: message,
|
|
57
|
+
info: message,
|
|
58
|
+
debug: message,
|
|
59
|
+
warning: message,
|
|
60
|
+
danger: message,
|
|
61
|
+
error: message
|
|
62
|
+
},
|
|
63
|
+
footer: {}
|
|
64
|
+
};
|
|
65
|
+
else if (isSetObject(message)) {
|
|
66
|
+
resolvedConfig.labels.message.header = {};
|
|
67
|
+
resolvedConfig.labels.message.footer = {};
|
|
68
|
+
const header = message.header;
|
|
69
|
+
const footer = message.footer;
|
|
70
|
+
if (isSetString(header)) resolvedConfig.labels.message.header = {
|
|
71
|
+
help: header,
|
|
72
|
+
success: header,
|
|
73
|
+
info: header,
|
|
74
|
+
debug: header,
|
|
75
|
+
warning: header,
|
|
76
|
+
danger: header,
|
|
77
|
+
error: header
|
|
78
|
+
};
|
|
79
|
+
else if (isSetObject(header)) {
|
|
80
|
+
if (isSetString(header.help)) resolvedConfig.labels.message.header.help = header.help;
|
|
81
|
+
if (isSetString(header.success)) resolvedConfig.labels.message.header.success = header.success;
|
|
82
|
+
if (isSetString(header.info)) resolvedConfig.labels.message.header.info = header.info;
|
|
83
|
+
if (isSetString(header.debug)) resolvedConfig.labels.message.header.debug = header.debug;
|
|
84
|
+
if (isSetString(header.warning)) resolvedConfig.labels.message.header.warning = header.warning;
|
|
85
|
+
if (isSetString(header.danger)) resolvedConfig.labels.message.header.danger = header.danger;
|
|
86
|
+
if (isSetString(header.error)) resolvedConfig.labels.message.header.error = header.error;
|
|
87
|
+
}
|
|
88
|
+
if (isSetString(footer)) resolvedConfig.labels.message.footer = {
|
|
89
|
+
help: footer,
|
|
90
|
+
success: footer,
|
|
91
|
+
info: footer,
|
|
92
|
+
debug: footer,
|
|
93
|
+
warning: footer,
|
|
94
|
+
danger: footer,
|
|
95
|
+
error: footer
|
|
96
|
+
};
|
|
97
|
+
else if (isSetObject(footer)) {
|
|
98
|
+
if (isSetString(footer.help)) resolvedConfig.labels.message.footer.help = footer.help;
|
|
99
|
+
if (isSetString(footer.success)) resolvedConfig.labels.message.footer.success = footer.success;
|
|
100
|
+
if (isSetString(footer.info)) resolvedConfig.labels.message.footer.info = footer.info;
|
|
101
|
+
if (isSetString(footer.debug)) resolvedConfig.labels.message.footer.debug = footer.debug;
|
|
102
|
+
if (isSetString(footer.warning)) resolvedConfig.labels.message.footer.warning = footer.warning;
|
|
103
|
+
if (isSetString(footer.danger)) resolvedConfig.labels.message.footer.danger = footer.danger;
|
|
104
|
+
if (isSetString(footer.error)) resolvedConfig.labels.message.footer.error = footer.error;
|
|
105
|
+
}
|
|
106
|
+
resolvedConfig.labels.banner ??= {};
|
|
107
|
+
const banner = labels?.banner;
|
|
108
|
+
if (isSetString(banner)) resolvedConfig.labels.banner = {
|
|
109
|
+
header: {
|
|
110
|
+
primary: banner,
|
|
111
|
+
secondary: banner,
|
|
112
|
+
tertiary: banner
|
|
113
|
+
},
|
|
114
|
+
footer: {}
|
|
115
|
+
};
|
|
116
|
+
else if (isSetObject(banner)) {
|
|
117
|
+
resolvedConfig.labels.banner.header = {};
|
|
118
|
+
resolvedConfig.labels.banner.footer = {};
|
|
119
|
+
const header = banner.header;
|
|
120
|
+
const footer = banner.footer;
|
|
121
|
+
if (isSetString(header)) resolvedConfig.labels.banner.header = {
|
|
122
|
+
primary: header,
|
|
123
|
+
secondary: header,
|
|
124
|
+
tertiary: header
|
|
125
|
+
};
|
|
126
|
+
else if (isSetObject(header)) {
|
|
127
|
+
if (isSetString(header.primary)) resolvedConfig.labels.banner.header.primary = header.primary;
|
|
128
|
+
if (isSetString(header.secondary)) resolvedConfig.labels.banner.header.secondary = header.secondary;
|
|
129
|
+
if (isSetString(header.tertiary)) resolvedConfig.labels.banner.header.tertiary = header.tertiary;
|
|
130
|
+
}
|
|
131
|
+
if (isSetString(footer)) resolvedConfig.labels.banner.footer = {
|
|
132
|
+
primary: footer,
|
|
133
|
+
secondary: footer,
|
|
134
|
+
tertiary: footer
|
|
135
|
+
};
|
|
136
|
+
else if (isSetObject(footer)) {
|
|
137
|
+
if (isSetString(footer.primary)) resolvedConfig.labels.banner.footer.primary = footer.primary;
|
|
138
|
+
if (isSetString(footer.secondary)) resolvedConfig.labels.banner.footer.secondary = footer.secondary;
|
|
139
|
+
if (isSetString(footer.tertiary)) resolvedConfig.labels.banner.footer.tertiary = footer.tertiary;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
mergeThemes(context, resolvedConfig);
|
|
145
|
+
return dictionary;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
//#endregion
|
|
150
|
+
export { labels };
|
|
2
151
|
//# sourceMappingURL=labels.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.mjs","names":[],"sources":["../../src/style-dictionary/labels.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeLabelBannerSubItemConfig,\n ThemeLabelMessageStateConfig,\n ThemeLabelsResolvedConfig,\n ThemeLabelsUserConfig,\n ThemeLabelTypeResolvedConfig,\n ThemeLabelTypeUserConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Labels Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const labels = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/labels\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Labels\n\n resolvedConfig.labels ??= {\n message: { header: {}, footer: {} },\n banner: { header: {}, footer: {} }\n } as ThemeLabelsResolvedConfig;\n const labels = dictionary.labels as ThemeLabelsUserConfig;\n\n if (isSetString(labels)) {\n resolvedConfig.labels = {\n message: {\n header: {\n help: labels,\n success: labels,\n info: labels,\n debug: labels,\n warning: labels,\n danger: labels,\n error: labels\n },\n footer: {}\n },\n banner: {\n header: {\n primary: labels,\n secondary: labels,\n tertiary: labels\n },\n footer: {}\n }\n };\n } else if (isSetObject(labels)) {\n resolvedConfig.labels.message ??=\n {} as ThemeLabelTypeResolvedConfig<ThemeLabelMessageStateConfig>;\n const message =\n labels?.message as ThemeLabelTypeUserConfig<ThemeLabelMessageStateConfig>;\n\n if (isSetString(message)) {\n resolvedConfig.labels.message = {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n footer: {}\n };\n } else if (isSetObject(message)) {\n resolvedConfig.labels.message.header =\n {} as ThemeLabelMessageStateConfig;\n resolvedConfig.labels.message.footer =\n {} as ThemeLabelMessageStateConfig;\n const header = message.header;\n const footer = message.footer;\n\n if (isSetString(header)) {\n resolvedConfig.labels.message.header = {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.labels.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.labels.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.labels.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.labels.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.labels.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.labels.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.labels.message.header.error = header.error;\n }\n }\n\n if (isSetString(footer)) {\n resolvedConfig.labels.message.footer = {\n help: footer,\n success: footer,\n info: footer,\n debug: footer,\n warning: footer,\n danger: footer,\n error: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.help)) {\n resolvedConfig.labels.message.footer.help = footer.help;\n }\n if (isSetString(footer.success)) {\n resolvedConfig.labels.message.footer.success = footer.success;\n }\n if (isSetString(footer.info)) {\n resolvedConfig.labels.message.footer.info = footer.info;\n }\n if (isSetString(footer.debug)) {\n resolvedConfig.labels.message.footer.debug = footer.debug;\n }\n if (isSetString(footer.warning)) {\n resolvedConfig.labels.message.footer.warning = footer.warning;\n }\n if (isSetString(footer.danger)) {\n resolvedConfig.labels.message.footer.danger = footer.danger;\n }\n if (isSetString(footer.error)) {\n resolvedConfig.labels.message.footer.error = footer.error;\n }\n }\n\n resolvedConfig.labels.banner ??=\n {} as ThemeLabelTypeResolvedConfig<ThemeLabelBannerSubItemConfig>;\n const banner =\n labels?.banner as ThemeLabelTypeUserConfig<ThemeLabelBannerSubItemConfig>;\n\n if (isSetString(banner)) {\n resolvedConfig.labels.banner = {\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n footer: {}\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.labels.banner.header =\n {} as ThemeLabelBannerSubItemConfig;\n resolvedConfig.labels.banner.footer =\n {} as ThemeLabelBannerSubItemConfig;\n const header = banner.header;\n const footer = banner.footer;\n\n if (isSetString(header)) {\n resolvedConfig.labels.banner.header = {\n primary: header,\n secondary: header,\n tertiary: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.labels.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.labels.banner.header.secondary = header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.labels.banner.header.tertiary = header.tertiary;\n }\n }\n\n if (isSetString(footer)) {\n resolvedConfig.labels.banner.footer = {\n primary: footer,\n secondary: footer,\n tertiary: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.primary)) {\n resolvedConfig.labels.banner.footer.primary = footer.primary;\n }\n if (isSetString(footer.secondary)) {\n resolvedConfig.labels.banner.footer.secondary = footer.secondary;\n }\n if (isSetString(footer.tertiary)) {\n resolvedConfig.labels.banner.footer.tertiary = footer.tertiary;\n }\n }\n }\n }\n }\n\n // #endregion Labels\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"labels.mjs","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
const require_helpers_merge = require('../helpers/merge.cjs');
|
|
2
|
+
let _stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
|
|
3
|
+
let _stryke_type_checks_is_number = require("@stryke/type-checks/is-number");
|
|
4
|
+
|
|
5
|
+
//#region src/style-dictionary/padding.ts
|
|
6
|
+
/**
|
|
7
|
+
* Shell Shock - Theme Padding Preprocessor
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
|
|
11
|
+
*/
|
|
12
|
+
const padding = (context) => ({
|
|
13
|
+
name: "shell-shock/padding",
|
|
14
|
+
preprocessor: (dictionary, _options) => {
|
|
15
|
+
const resolvedConfig = {};
|
|
16
|
+
resolvedConfig.name = dictionary.$theme ?? context.config.name;
|
|
17
|
+
resolvedConfig.padding ??= {};
|
|
18
|
+
const padding = dictionary.padding;
|
|
19
|
+
if ((0, _stryke_type_checks_is_number.isNumber)(padding)) resolvedConfig.padding = {
|
|
20
|
+
banner: padding,
|
|
21
|
+
message: padding,
|
|
22
|
+
app: padding,
|
|
23
|
+
table: padding
|
|
24
|
+
};
|
|
25
|
+
else if ((0, _stryke_type_checks_is_set_object.isSetObject)(padding)) {
|
|
26
|
+
if ((0, _stryke_type_checks_is_number.isNumber)(padding.banner)) resolvedConfig.padding.banner = padding.banner;
|
|
27
|
+
if ((0, _stryke_type_checks_is_number.isNumber)(padding.message)) resolvedConfig.padding.message = padding.message;
|
|
28
|
+
if ((0, _stryke_type_checks_is_number.isNumber)(padding.app)) resolvedConfig.padding.app = padding.app;
|
|
29
|
+
if ((0, _stryke_type_checks_is_number.isNumber)(padding.table)) resolvedConfig.padding.table = padding.table;
|
|
30
|
+
}
|
|
31
|
+
require_helpers_merge.mergeThemes(context, resolvedConfig);
|
|
32
|
+
return dictionary;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
exports.padding = padding;
|
|
@@ -1,2 +1,38 @@
|
|
|
1
|
-
import{mergeThemes
|
|
1
|
+
import { mergeThemes } from "../helpers/merge.mjs";
|
|
2
|
+
import { isSetObject } from "@stryke/type-checks/is-set-object";
|
|
3
|
+
import { isNumber } from "@stryke/type-checks/is-number";
|
|
4
|
+
|
|
5
|
+
//#region src/style-dictionary/padding.ts
|
|
6
|
+
/**
|
|
7
|
+
* Shell Shock - Theme Padding Preprocessor
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
|
|
11
|
+
*/
|
|
12
|
+
const padding = (context) => ({
|
|
13
|
+
name: "shell-shock/padding",
|
|
14
|
+
preprocessor: (dictionary, _options) => {
|
|
15
|
+
const resolvedConfig = {};
|
|
16
|
+
resolvedConfig.name = dictionary.$theme ?? context.config.name;
|
|
17
|
+
resolvedConfig.padding ??= {};
|
|
18
|
+
const padding = dictionary.padding;
|
|
19
|
+
if (isNumber(padding)) resolvedConfig.padding = {
|
|
20
|
+
banner: padding,
|
|
21
|
+
message: padding,
|
|
22
|
+
app: padding,
|
|
23
|
+
table: padding
|
|
24
|
+
};
|
|
25
|
+
else if (isSetObject(padding)) {
|
|
26
|
+
if (isNumber(padding.banner)) resolvedConfig.padding.banner = padding.banner;
|
|
27
|
+
if (isNumber(padding.message)) resolvedConfig.padding.message = padding.message;
|
|
28
|
+
if (isNumber(padding.app)) resolvedConfig.padding.app = padding.app;
|
|
29
|
+
if (isNumber(padding.table)) resolvedConfig.padding.table = padding.table;
|
|
30
|
+
}
|
|
31
|
+
mergeThemes(context, resolvedConfig);
|
|
32
|
+
return dictionary;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { padding };
|
|
2
38
|
//# sourceMappingURL=padding.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"padding.mjs","names":[],"sources":[
|
|
1
|
+
{"version":3,"file":"padding.mjs","names":[],"sources":[],"mappings":""}
|