@shell-shock/plugin-theme 0.0.21 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +1 -1
  2. package/dist/index.cjs +22 -3
  3. package/dist/index.d.cts +2 -2
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.mts +2 -2
  6. package/dist/index.d.mts.map +1 -1
  7. package/dist/index.mjs +22 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/style-dictionary/border-styles.cjs +259 -0
  10. package/dist/style-dictionary/border-styles.mjs +259 -0
  11. package/dist/style-dictionary/border-styles.mjs.map +1 -0
  12. package/dist/style-dictionary/{preprocessor.cjs → colors.cjs} +323 -550
  13. package/dist/style-dictionary/{preprocessor.mjs → colors.mjs} +325 -552
  14. package/dist/style-dictionary/colors.mjs.map +1 -0
  15. package/dist/style-dictionary/helpers.cjs +14 -0
  16. package/dist/style-dictionary/helpers.mjs +14 -1
  17. package/dist/style-dictionary/helpers.mjs.map +1 -1
  18. package/dist/style-dictionary/icons.cjs +133 -0
  19. package/dist/style-dictionary/icons.mjs +133 -0
  20. package/dist/style-dictionary/icons.mjs.map +1 -0
  21. package/dist/style-dictionary/labels.cjs +151 -0
  22. package/dist/style-dictionary/labels.mjs +151 -0
  23. package/dist/style-dictionary/labels.mjs.map +1 -0
  24. package/dist/style-dictionary/padding.cjs +274 -0
  25. package/dist/style-dictionary/padding.mjs +274 -0
  26. package/dist/style-dictionary/padding.mjs.map +1 -0
  27. package/dist/style-dictionary/settings.cjs +26 -0
  28. package/dist/style-dictionary/settings.mjs +26 -0
  29. package/dist/style-dictionary/settings.mjs.map +1 -0
  30. package/dist/themes/storm.cjs +50 -5
  31. package/dist/themes/storm.mjs +50 -5
  32. package/dist/themes/storm.mjs.map +1 -1
  33. package/dist/types/index.d.cts +2 -2
  34. package/dist/types/index.d.mts +2 -2
  35. package/dist/types/theme.d.cts +41 -1
  36. package/dist/types/theme.d.cts.map +1 -1
  37. package/dist/types/theme.d.mts +41 -1
  38. package/dist/types/theme.d.mts.map +1 -1
  39. package/package.json +7 -7
  40. package/dist/style-dictionary/preprocessor.mjs.map +0 -1
@@ -0,0 +1,274 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_helpers = require('./helpers.cjs');
3
+ let __stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
4
+ let __stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
5
+ let __stryke_type_checks_is_number = require("@stryke/type-checks/is-number");
6
+
7
+ //#region src/style-dictionary/padding.ts
8
+ /**
9
+ * Shell Shock - Theme Padding Preprocessor
10
+ *
11
+ * @remarks
12
+ * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
13
+ */
14
+ const padding = (context) => ({
15
+ name: "shell-shock/padding",
16
+ preprocessor: (dictionary, _options) => {
17
+ const resolvedConfig = {};
18
+ resolvedConfig.name = dictionary.$theme ?? context.config.name;
19
+ resolvedConfig.borderStyles ??= {
20
+ banner: {
21
+ outline: {},
22
+ divider: {}
23
+ },
24
+ message: {
25
+ outline: {},
26
+ divider: {}
27
+ },
28
+ app: {
29
+ table: {},
30
+ divider: {}
31
+ }
32
+ };
33
+ const borderStyles = dictionary.borderStyles;
34
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(borderStyles)) {
35
+ const borderStyle = require_helpers.resolveBorderStyle(borderStyles);
36
+ resolvedConfig.borderStyles = {
37
+ banner: {
38
+ outline: {
39
+ primary: borderStyle,
40
+ secondary: borderStyle,
41
+ tertiary: borderStyle
42
+ },
43
+ divider: {
44
+ primary: borderStyle,
45
+ secondary: borderStyle,
46
+ tertiary: borderStyle
47
+ }
48
+ },
49
+ message: {
50
+ outline: {
51
+ help: borderStyle,
52
+ success: borderStyle,
53
+ info: borderStyle,
54
+ debug: borderStyle,
55
+ warning: borderStyle,
56
+ danger: borderStyle,
57
+ error: borderStyle
58
+ },
59
+ divider: {
60
+ help: borderStyle,
61
+ success: borderStyle,
62
+ info: borderStyle,
63
+ debug: borderStyle,
64
+ warning: borderStyle,
65
+ danger: borderStyle,
66
+ error: borderStyle
67
+ }
68
+ },
69
+ app: {
70
+ table: {
71
+ primary: borderStyle,
72
+ secondary: borderStyle,
73
+ tertiary: borderStyle
74
+ },
75
+ divider: {
76
+ primary: borderStyle,
77
+ secondary: borderStyle,
78
+ tertiary: borderStyle
79
+ }
80
+ }
81
+ };
82
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(borderStyles)) {
83
+ resolvedConfig.borderStyles.banner ??= {
84
+ outline: {},
85
+ divider: {}
86
+ };
87
+ const banner = borderStyles.banner;
88
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(banner)) {
89
+ const borderStyle = require_helpers.resolveBorderStyle(banner);
90
+ resolvedConfig.borderStyles.banner = {
91
+ outline: {
92
+ primary: borderStyle,
93
+ secondary: borderStyle,
94
+ tertiary: borderStyle
95
+ },
96
+ divider: {
97
+ primary: borderStyle,
98
+ secondary: borderStyle,
99
+ tertiary: borderStyle
100
+ }
101
+ };
102
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(banner)) {
103
+ resolvedConfig.borderStyles.banner ??= {};
104
+ const outline = banner.outline;
105
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline)) {
106
+ const borderStyle = require_helpers.resolveBorderStyle(outline);
107
+ resolvedConfig.borderStyles.banner.outline = {
108
+ primary: borderStyle,
109
+ secondary: borderStyle,
110
+ tertiary: borderStyle
111
+ };
112
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(outline)) {
113
+ resolvedConfig.borderStyles.banner.outline = {};
114
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.primary)) resolvedConfig.borderStyles.banner.outline.primary = require_helpers.resolveBorderStyle(outline.primary);
115
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.secondary)) resolvedConfig.borderStyles.banner.outline.secondary = require_helpers.resolveBorderStyle(outline.secondary);
116
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.tertiary)) resolvedConfig.borderStyles.banner.outline.tertiary = require_helpers.resolveBorderStyle(outline.tertiary);
117
+ }
118
+ const divider = banner.divider;
119
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider)) {
120
+ const borderStyle = require_helpers.resolveBorderStyle(divider);
121
+ resolvedConfig.borderStyles.banner.divider = {
122
+ primary: borderStyle,
123
+ secondary: borderStyle,
124
+ tertiary: borderStyle
125
+ };
126
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(divider)) {
127
+ resolvedConfig.borderStyles.banner.divider = {};
128
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.primary)) resolvedConfig.borderStyles.banner.divider.primary = require_helpers.resolveBorderStyle(divider.primary);
129
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.secondary)) resolvedConfig.borderStyles.banner.divider.secondary = require_helpers.resolveBorderStyle(divider.secondary);
130
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.tertiary)) resolvedConfig.borderStyles.banner.divider.tertiary = require_helpers.resolveBorderStyle(divider.tertiary);
131
+ }
132
+ }
133
+ resolvedConfig.borderStyles.app ??= {
134
+ table: {},
135
+ divider: {}
136
+ };
137
+ const app = borderStyles.app;
138
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(app)) {
139
+ const borderStyle = require_helpers.resolveBorderStyle(app);
140
+ resolvedConfig.borderStyles.app = {
141
+ table: {
142
+ primary: borderStyle,
143
+ secondary: borderStyle,
144
+ tertiary: borderStyle
145
+ },
146
+ divider: {
147
+ primary: borderStyle,
148
+ secondary: borderStyle,
149
+ tertiary: borderStyle
150
+ }
151
+ };
152
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(app)) {
153
+ resolvedConfig.borderStyles.app ??= {};
154
+ const table = app.table;
155
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(table)) {
156
+ const borderStyle = require_helpers.resolveBorderStyle(table);
157
+ resolvedConfig.borderStyles.app.table = {
158
+ primary: borderStyle,
159
+ secondary: borderStyle,
160
+ tertiary: borderStyle
161
+ };
162
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(table)) {
163
+ resolvedConfig.borderStyles.app.table = {};
164
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(table.primary)) resolvedConfig.borderStyles.app.table.primary = require_helpers.resolveBorderStyle(table.primary);
165
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(table.secondary)) resolvedConfig.borderStyles.app.table.secondary = require_helpers.resolveBorderStyle(table.secondary);
166
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(table.tertiary)) resolvedConfig.borderStyles.app.table.tertiary = require_helpers.resolveBorderStyle(table.tertiary);
167
+ }
168
+ const divider = app.divider;
169
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider)) {
170
+ const borderStyle = require_helpers.resolveBorderStyle(divider);
171
+ resolvedConfig.borderStyles.app.divider = {
172
+ primary: borderStyle,
173
+ secondary: borderStyle,
174
+ tertiary: borderStyle
175
+ };
176
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(divider)) {
177
+ resolvedConfig.borderStyles.app.divider = {};
178
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.primary)) resolvedConfig.borderStyles.app.divider.primary = require_helpers.resolveBorderStyle(divider.primary);
179
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.secondary)) resolvedConfig.borderStyles.app.divider.secondary = require_helpers.resolveBorderStyle(divider.secondary);
180
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.tertiary)) resolvedConfig.borderStyles.app.divider.tertiary = require_helpers.resolveBorderStyle(divider.tertiary);
181
+ }
182
+ }
183
+ resolvedConfig.borderStyles.message ??= {};
184
+ const message = borderStyles.message;
185
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(message)) {
186
+ const borderStyle = require_helpers.resolveBorderStyle(message);
187
+ resolvedConfig.borderStyles.message = {
188
+ outline: {
189
+ help: borderStyle,
190
+ success: borderStyle,
191
+ info: borderStyle,
192
+ debug: borderStyle,
193
+ warning: borderStyle,
194
+ danger: borderStyle,
195
+ error: borderStyle
196
+ },
197
+ divider: {
198
+ help: borderStyle,
199
+ success: borderStyle,
200
+ info: borderStyle,
201
+ debug: borderStyle,
202
+ warning: borderStyle,
203
+ danger: borderStyle,
204
+ error: borderStyle
205
+ }
206
+ };
207
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(message)) {
208
+ const outline = message.outline;
209
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline)) {
210
+ const borderStyle = require_helpers.resolveBorderStyle(outline);
211
+ resolvedConfig.borderStyles.message.outline = {
212
+ help: borderStyle,
213
+ success: borderStyle,
214
+ info: borderStyle,
215
+ debug: borderStyle,
216
+ warning: borderStyle,
217
+ danger: borderStyle,
218
+ error: borderStyle
219
+ };
220
+ } else if ((0, __stryke_type_checks_is_set_object.isSetObject)(outline)) {
221
+ resolvedConfig.borderStyles.message.outline = {};
222
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.help)) resolvedConfig.borderStyles.message.outline.help = require_helpers.resolveBorderStyle(outline.help);
223
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.success)) resolvedConfig.borderStyles.message.outline.success = require_helpers.resolveBorderStyle(outline.success);
224
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.info)) resolvedConfig.borderStyles.message.outline.info = require_helpers.resolveBorderStyle(outline.info);
225
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.debug)) resolvedConfig.borderStyles.message.outline.debug = require_helpers.resolveBorderStyle(outline.debug);
226
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.warning)) resolvedConfig.borderStyles.message.outline.warning = require_helpers.resolveBorderStyle(outline.warning);
227
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.danger)) resolvedConfig.borderStyles.message.outline.danger = require_helpers.resolveBorderStyle(outline.danger);
228
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(outline.error)) resolvedConfig.borderStyles.message.outline.error = require_helpers.resolveBorderStyle(outline.error);
229
+ }
230
+ resolvedConfig.borderStyles.message.divider ??= {};
231
+ const divider = message.divider;
232
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider)) {
233
+ const borderStyle = require_helpers.resolveBorderStyle(divider);
234
+ resolvedConfig.borderStyles.message.divider = {
235
+ help: borderStyle,
236
+ success: borderStyle,
237
+ info: borderStyle,
238
+ debug: borderStyle,
239
+ warning: borderStyle,
240
+ danger: borderStyle,
241
+ error: borderStyle
242
+ };
243
+ } 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 = require_helpers.resolveBorderStyle(divider.help);
245
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.success)) resolvedConfig.borderStyles.message.divider.success = require_helpers.resolveBorderStyle(divider.success);
246
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.info)) resolvedConfig.borderStyles.message.divider.info = require_helpers.resolveBorderStyle(divider.info);
247
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.debug)) resolvedConfig.borderStyles.message.divider.debug = require_helpers.resolveBorderStyle(divider.debug);
248
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.warning)) resolvedConfig.borderStyles.message.divider.warning = require_helpers.resolveBorderStyle(divider.warning);
249
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.danger)) resolvedConfig.borderStyles.message.divider.danger = require_helpers.resolveBorderStyle(divider.danger);
250
+ if ((0, __stryke_type_checks_is_set_string.isSetString)(divider.error)) resolvedConfig.borderStyles.message.divider.error = require_helpers.resolveBorderStyle(divider.error);
251
+ }
252
+ }
253
+ }
254
+ resolvedConfig.padding ??= {};
255
+ const padding$1 = dictionary.padding;
256
+ if ((0, __stryke_type_checks_is_number.isNumber)(padding$1)) resolvedConfig.padding = {
257
+ banner: padding$1,
258
+ message: padding$1,
259
+ app: padding$1,
260
+ table: padding$1
261
+ };
262
+ else if ((0, __stryke_type_checks_is_set_object.isSetObject)(padding$1)) {
263
+ if ((0, __stryke_type_checks_is_number.isNumber)(padding$1.banner)) resolvedConfig.padding.banner = padding$1.banner;
264
+ if ((0, __stryke_type_checks_is_number.isNumber)(padding$1.message)) resolvedConfig.padding.message = padding$1.message;
265
+ if ((0, __stryke_type_checks_is_number.isNumber)(padding$1.app)) resolvedConfig.padding.app = padding$1.app;
266
+ if ((0, __stryke_type_checks_is_number.isNumber)(padding$1.table)) resolvedConfig.padding.table = padding$1.table;
267
+ }
268
+ require_helpers.mergeThemes(context, resolvedConfig);
269
+ return dictionary;
270
+ }
271
+ });
272
+
273
+ //#endregion
274
+ exports.padding = padding;
@@ -0,0 +1,274 @@
1
+ import { mergeThemes, resolveBorderStyle } from "./helpers.mjs";
2
+ import { isSetObject } from "@stryke/type-checks/is-set-object";
3
+ import { isSetString } from "@stryke/type-checks/is-set-string";
4
+ import { isNumber } from "@stryke/type-checks/is-number";
5
+
6
+ //#region src/style-dictionary/padding.ts
7
+ /**
8
+ * Shell Shock - Theme Padding Preprocessor
9
+ *
10
+ * @remarks
11
+ * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
12
+ */
13
+ const padding = (context) => ({
14
+ name: "shell-shock/padding",
15
+ preprocessor: (dictionary, _options) => {
16
+ const resolvedConfig = {};
17
+ resolvedConfig.name = dictionary.$theme ?? context.config.name;
18
+ resolvedConfig.borderStyles ??= {
19
+ banner: {
20
+ outline: {},
21
+ divider: {}
22
+ },
23
+ message: {
24
+ outline: {},
25
+ divider: {}
26
+ },
27
+ app: {
28
+ table: {},
29
+ divider: {}
30
+ }
31
+ };
32
+ const borderStyles = dictionary.borderStyles;
33
+ if (isSetString(borderStyles)) {
34
+ const borderStyle = resolveBorderStyle(borderStyles);
35
+ resolvedConfig.borderStyles = {
36
+ banner: {
37
+ outline: {
38
+ primary: borderStyle,
39
+ secondary: borderStyle,
40
+ tertiary: borderStyle
41
+ },
42
+ divider: {
43
+ primary: borderStyle,
44
+ secondary: borderStyle,
45
+ tertiary: borderStyle
46
+ }
47
+ },
48
+ message: {
49
+ outline: {
50
+ help: borderStyle,
51
+ success: borderStyle,
52
+ info: borderStyle,
53
+ debug: borderStyle,
54
+ warning: borderStyle,
55
+ danger: borderStyle,
56
+ error: borderStyle
57
+ },
58
+ divider: {
59
+ help: borderStyle,
60
+ success: borderStyle,
61
+ info: borderStyle,
62
+ debug: borderStyle,
63
+ warning: borderStyle,
64
+ danger: borderStyle,
65
+ error: borderStyle
66
+ }
67
+ },
68
+ app: {
69
+ table: {
70
+ primary: borderStyle,
71
+ secondary: borderStyle,
72
+ tertiary: borderStyle
73
+ },
74
+ divider: {
75
+ primary: borderStyle,
76
+ secondary: borderStyle,
77
+ tertiary: borderStyle
78
+ }
79
+ }
80
+ };
81
+ } else if (isSetObject(borderStyles)) {
82
+ resolvedConfig.borderStyles.banner ??= {
83
+ outline: {},
84
+ divider: {}
85
+ };
86
+ const banner = borderStyles.banner;
87
+ if (isSetString(banner)) {
88
+ const borderStyle = resolveBorderStyle(banner);
89
+ resolvedConfig.borderStyles.banner = {
90
+ outline: {
91
+ primary: borderStyle,
92
+ secondary: borderStyle,
93
+ tertiary: borderStyle
94
+ },
95
+ divider: {
96
+ primary: borderStyle,
97
+ secondary: borderStyle,
98
+ tertiary: borderStyle
99
+ }
100
+ };
101
+ } else if (isSetObject(banner)) {
102
+ resolvedConfig.borderStyles.banner ??= {};
103
+ const outline = banner.outline;
104
+ if (isSetString(outline)) {
105
+ const borderStyle = resolveBorderStyle(outline);
106
+ resolvedConfig.borderStyles.banner.outline = {
107
+ primary: borderStyle,
108
+ secondary: borderStyle,
109
+ tertiary: borderStyle
110
+ };
111
+ } else if (isSetObject(outline)) {
112
+ resolvedConfig.borderStyles.banner.outline = {};
113
+ if (isSetString(outline.primary)) resolvedConfig.borderStyles.banner.outline.primary = resolveBorderStyle(outline.primary);
114
+ if (isSetString(outline.secondary)) resolvedConfig.borderStyles.banner.outline.secondary = resolveBorderStyle(outline.secondary);
115
+ if (isSetString(outline.tertiary)) resolvedConfig.borderStyles.banner.outline.tertiary = resolveBorderStyle(outline.tertiary);
116
+ }
117
+ const divider = banner.divider;
118
+ if (isSetString(divider)) {
119
+ const borderStyle = resolveBorderStyle(divider);
120
+ resolvedConfig.borderStyles.banner.divider = {
121
+ primary: borderStyle,
122
+ secondary: borderStyle,
123
+ tertiary: borderStyle
124
+ };
125
+ } else if (isSetObject(divider)) {
126
+ resolvedConfig.borderStyles.banner.divider = {};
127
+ if (isSetString(divider.primary)) resolvedConfig.borderStyles.banner.divider.primary = resolveBorderStyle(divider.primary);
128
+ if (isSetString(divider.secondary)) resolvedConfig.borderStyles.banner.divider.secondary = resolveBorderStyle(divider.secondary);
129
+ if (isSetString(divider.tertiary)) resolvedConfig.borderStyles.banner.divider.tertiary = resolveBorderStyle(divider.tertiary);
130
+ }
131
+ }
132
+ resolvedConfig.borderStyles.app ??= {
133
+ table: {},
134
+ divider: {}
135
+ };
136
+ const app = borderStyles.app;
137
+ if (isSetString(app)) {
138
+ const borderStyle = resolveBorderStyle(app);
139
+ resolvedConfig.borderStyles.app = {
140
+ table: {
141
+ primary: borderStyle,
142
+ secondary: borderStyle,
143
+ tertiary: borderStyle
144
+ },
145
+ divider: {
146
+ primary: borderStyle,
147
+ secondary: borderStyle,
148
+ tertiary: borderStyle
149
+ }
150
+ };
151
+ } else if (isSetObject(app)) {
152
+ resolvedConfig.borderStyles.app ??= {};
153
+ const table = app.table;
154
+ if (isSetString(table)) {
155
+ const borderStyle = resolveBorderStyle(table);
156
+ resolvedConfig.borderStyles.app.table = {
157
+ primary: borderStyle,
158
+ secondary: borderStyle,
159
+ tertiary: borderStyle
160
+ };
161
+ } else if (isSetObject(table)) {
162
+ resolvedConfig.borderStyles.app.table = {};
163
+ if (isSetString(table.primary)) resolvedConfig.borderStyles.app.table.primary = resolveBorderStyle(table.primary);
164
+ if (isSetString(table.secondary)) resolvedConfig.borderStyles.app.table.secondary = resolveBorderStyle(table.secondary);
165
+ if (isSetString(table.tertiary)) resolvedConfig.borderStyles.app.table.tertiary = resolveBorderStyle(table.tertiary);
166
+ }
167
+ const divider = app.divider;
168
+ if (isSetString(divider)) {
169
+ const borderStyle = resolveBorderStyle(divider);
170
+ resolvedConfig.borderStyles.app.divider = {
171
+ primary: borderStyle,
172
+ secondary: borderStyle,
173
+ tertiary: borderStyle
174
+ };
175
+ } else if (isSetObject(divider)) {
176
+ resolvedConfig.borderStyles.app.divider = {};
177
+ if (isSetString(divider.primary)) resolvedConfig.borderStyles.app.divider.primary = resolveBorderStyle(divider.primary);
178
+ if (isSetString(divider.secondary)) resolvedConfig.borderStyles.app.divider.secondary = resolveBorderStyle(divider.secondary);
179
+ if (isSetString(divider.tertiary)) resolvedConfig.borderStyles.app.divider.tertiary = resolveBorderStyle(divider.tertiary);
180
+ }
181
+ }
182
+ resolvedConfig.borderStyles.message ??= {};
183
+ const message = borderStyles.message;
184
+ if (isSetString(message)) {
185
+ const borderStyle = resolveBorderStyle(message);
186
+ resolvedConfig.borderStyles.message = {
187
+ outline: {
188
+ help: borderStyle,
189
+ success: borderStyle,
190
+ info: borderStyle,
191
+ debug: borderStyle,
192
+ warning: borderStyle,
193
+ danger: borderStyle,
194
+ error: borderStyle
195
+ },
196
+ divider: {
197
+ help: borderStyle,
198
+ success: borderStyle,
199
+ info: borderStyle,
200
+ debug: borderStyle,
201
+ warning: borderStyle,
202
+ danger: borderStyle,
203
+ error: borderStyle
204
+ }
205
+ };
206
+ } else if (isSetObject(message)) {
207
+ const outline = message.outline;
208
+ if (isSetString(outline)) {
209
+ const borderStyle = resolveBorderStyle(outline);
210
+ resolvedConfig.borderStyles.message.outline = {
211
+ help: borderStyle,
212
+ success: borderStyle,
213
+ info: borderStyle,
214
+ debug: borderStyle,
215
+ warning: borderStyle,
216
+ danger: borderStyle,
217
+ error: borderStyle
218
+ };
219
+ } else if (isSetObject(outline)) {
220
+ resolvedConfig.borderStyles.message.outline = {};
221
+ if (isSetString(outline.help)) resolvedConfig.borderStyles.message.outline.help = resolveBorderStyle(outline.help);
222
+ if (isSetString(outline.success)) resolvedConfig.borderStyles.message.outline.success = resolveBorderStyle(outline.success);
223
+ if (isSetString(outline.info)) resolvedConfig.borderStyles.message.outline.info = resolveBorderStyle(outline.info);
224
+ if (isSetString(outline.debug)) resolvedConfig.borderStyles.message.outline.debug = resolveBorderStyle(outline.debug);
225
+ if (isSetString(outline.warning)) resolvedConfig.borderStyles.message.outline.warning = resolveBorderStyle(outline.warning);
226
+ if (isSetString(outline.danger)) resolvedConfig.borderStyles.message.outline.danger = resolveBorderStyle(outline.danger);
227
+ if (isSetString(outline.error)) resolvedConfig.borderStyles.message.outline.error = resolveBorderStyle(outline.error);
228
+ }
229
+ resolvedConfig.borderStyles.message.divider ??= {};
230
+ const divider = message.divider;
231
+ if (isSetString(divider)) {
232
+ const borderStyle = resolveBorderStyle(divider);
233
+ resolvedConfig.borderStyles.message.divider = {
234
+ help: borderStyle,
235
+ success: borderStyle,
236
+ info: borderStyle,
237
+ debug: borderStyle,
238
+ warning: borderStyle,
239
+ danger: borderStyle,
240
+ error: borderStyle
241
+ };
242
+ } else if (isSetObject(divider)) {
243
+ if (isSetString(divider.help)) resolvedConfig.borderStyles.message.divider.help = resolveBorderStyle(divider.help);
244
+ if (isSetString(divider.success)) resolvedConfig.borderStyles.message.divider.success = resolveBorderStyle(divider.success);
245
+ if (isSetString(divider.info)) resolvedConfig.borderStyles.message.divider.info = resolveBorderStyle(divider.info);
246
+ if (isSetString(divider.debug)) resolvedConfig.borderStyles.message.divider.debug = resolveBorderStyle(divider.debug);
247
+ if (isSetString(divider.warning)) resolvedConfig.borderStyles.message.divider.warning = resolveBorderStyle(divider.warning);
248
+ if (isSetString(divider.danger)) resolvedConfig.borderStyles.message.divider.danger = resolveBorderStyle(divider.danger);
249
+ if (isSetString(divider.error)) resolvedConfig.borderStyles.message.divider.error = resolveBorderStyle(divider.error);
250
+ }
251
+ }
252
+ }
253
+ resolvedConfig.padding ??= {};
254
+ const padding$1 = dictionary.padding;
255
+ if (isNumber(padding$1)) resolvedConfig.padding = {
256
+ banner: padding$1,
257
+ message: padding$1,
258
+ app: padding$1,
259
+ table: padding$1
260
+ };
261
+ else if (isSetObject(padding$1)) {
262
+ if (isNumber(padding$1.banner)) resolvedConfig.padding.banner = padding$1.banner;
263
+ if (isNumber(padding$1.message)) resolvedConfig.padding.message = padding$1.message;
264
+ if (isNumber(padding$1.app)) resolvedConfig.padding.app = padding$1.app;
265
+ if (isNumber(padding$1.table)) resolvedConfig.padding.table = padding$1.table;
266
+ }
267
+ mergeThemes(context, resolvedConfig);
268
+ return dictionary;
269
+ }
270
+ });
271
+
272
+ //#endregion
273
+ export { padding };
274
+ //# sourceMappingURL=padding.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padding.mjs","names":["padding"],"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":"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"}
@@ -0,0 +1,26 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_helpers = require('./helpers.cjs');
3
+ let __stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
4
+
5
+ //#region src/style-dictionary/settings.ts
6
+ /**
7
+ * Shell Shock - Theme Settings Preprocessor
8
+ *
9
+ * @remarks
10
+ * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
11
+ */
12
+ const settings = (context) => ({
13
+ name: "shell-shock/settings",
14
+ preprocessor: (dictionary, _options) => {
15
+ const resolvedConfig = {};
16
+ resolvedConfig.name = dictionary.$theme ?? context.config.name;
17
+ resolvedConfig.settings ??= {};
18
+ const settings$1 = dictionary.settings;
19
+ if ((0, __stryke_type_checks_is_set_object.isSetObject)(settings$1)) resolvedConfig.settings = { ...settings$1 };
20
+ require_helpers.mergeThemes(context, resolvedConfig);
21
+ return dictionary;
22
+ }
23
+ });
24
+
25
+ //#endregion
26
+ exports.settings = settings;
@@ -0,0 +1,26 @@
1
+ import { mergeThemes } from "./helpers.mjs";
2
+ import { isSetObject } from "@stryke/type-checks/is-set-object";
3
+
4
+ //#region src/style-dictionary/settings.ts
5
+ /**
6
+ * Shell Shock - Theme Settings Preprocessor
7
+ *
8
+ * @remarks
9
+ * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
10
+ */
11
+ const settings = (context) => ({
12
+ name: "shell-shock/settings",
13
+ preprocessor: (dictionary, _options) => {
14
+ const resolvedConfig = {};
15
+ resolvedConfig.name = dictionary.$theme ?? context.config.name;
16
+ resolvedConfig.settings ??= {};
17
+ const settings$1 = dictionary.settings;
18
+ if (isSetObject(settings$1)) resolvedConfig.settings = { ...settings$1 };
19
+ mergeThemes(context, resolvedConfig);
20
+ return dictionary;
21
+ }
22
+ });
23
+
24
+ //#endregion
25
+ export { settings };
26
+ //# sourceMappingURL=settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.mjs","names":["settings"],"sources":["../../src/style-dictionary/settings.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type { ThemeResolvedConfig } from \"../types/theme\";\nimport { mergeThemes } from \"./helpers\";\n\n/**\n * Shell Shock - Theme Settings Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const settings = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/settings\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Settings\n\n resolvedConfig.settings ??= {};\n const settings = dictionary.settings;\n\n if (isSetObject(settings)) {\n resolvedConfig.settings = {\n ...settings\n };\n }\n\n // #endregion Settings\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;AAmCA,MAAa,YAAY,aAA+C;CACtE,MAAM;CACN,eACE,YACA,aACuB;EACvB,MAAM,iBAAiB,EAAE;AACzB,iBAAe,OACZ,WAA2B,UAAU,QAAQ,OAAO;AAMvD,iBAAe,aAAa,EAAE;EAC9B,MAAMA,aAAW,WAAW;AAE5B,MAAI,YAAYA,WAAS,CACvB,gBAAe,WAAW,EACxB,GAAGA,YACJ;AAOH,cAAY,SAAS,eAAe;AAEpC,SAAO;;CAEV"}