@shell-shock/plugin-theme 0.4.21 → 0.4.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +29 -1
  2. package/dist/_virtual/_rolldown/runtime.mjs +41 -1
  3. package/dist/contexts/index.cjs +5 -1
  4. package/dist/contexts/index.mjs +3 -1
  5. package/dist/contexts/theme.cjs +29 -1
  6. package/dist/contexts/theme.mjs +26 -1
  7. package/dist/contexts/theme.mjs.map +1 -1
  8. package/dist/core/dist/types/command.d.cts.map +1 -1
  9. package/dist/core/dist/types/config.d.cts +10 -9
  10. package/dist/core/dist/types/config.d.cts.map +1 -1
  11. package/dist/helpers/ansi-utils.cjs +1295 -1
  12. package/dist/helpers/ansi-utils.mjs +1287 -1
  13. package/dist/helpers/ansi-utils.mjs.map +1 -1
  14. package/dist/helpers/border-styles.cjs +201 -1
  15. package/dist/helpers/border-styles.mjs +199 -1
  16. package/dist/helpers/border-styles.mjs.map +1 -1
  17. package/dist/helpers/constants.cjs +39 -1
  18. package/dist/helpers/constants.mjs +33 -1
  19. package/dist/helpers/constants.mjs.map +1 -1
  20. package/dist/helpers/index.cjs +107 -1
  21. package/dist/helpers/index.mjs +6 -1
  22. package/dist/helpers/merge.cjs +19 -1
  23. package/dist/helpers/merge.mjs +17 -1
  24. package/dist/helpers/merge.mjs.map +1 -1
  25. package/dist/helpers/spinners.cjs +1852 -1
  26. package/dist/helpers/spinners.mjs +1758 -1
  27. package/dist/helpers/spinners.mjs.map +1 -1
  28. package/dist/index.cjs +70 -1
  29. package/dist/index.mjs +65 -1
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/ZodError.d.mts +1 -1
  32. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/ZodError.d.mts.map +1 -1
  33. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/errors.d.mts +1 -1
  34. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/errors.d.mts.map +1 -1
  35. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/external.d.mts +1 -1
  36. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/external.d.mts.map +1 -1
  37. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/enumUtil.d.mts +1 -1
  38. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/enumUtil.d.mts.map +1 -1
  39. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/errorUtil.d.mts +1 -1
  40. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/errorUtil.d.mts.map +1 -1
  41. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/parseUtil.d.mts +1 -1
  42. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/parseUtil.d.mts.map +1 -1
  43. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/partialUtil.d.mts +1 -1
  44. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/partialUtil.d.mts.map +1 -1
  45. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/typeAliases.d.mts +1 -1
  46. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/typeAliases.d.mts.map +1 -1
  47. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/util.d.mts +1 -1
  48. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/helpers/util.d.mts.map +1 -1
  49. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/index.d.mts +1 -1
  50. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/index.d.mts.map +1 -1
  51. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/locales/en.d.mts +1 -1
  52. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/locales/en.d.mts.map +1 -1
  53. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/standard-schema.d.mts +1 -1
  54. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/standard-schema.d.mts.map +1 -1
  55. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/types.d.mts +1 -1
  56. package/dist/node_modules/.pnpm/{zod@4.3.6 → zod@4.4.3}/node_modules/zod/v3/types.d.mts.map +1 -1
  57. package/dist/packages/core/dist/api.d.mts +1 -0
  58. package/dist/packages/core/dist/api.d.mts.map +1 -1
  59. package/dist/packages/core/dist/index.d.mts +1 -1
  60. package/dist/packages/core/dist/index.d.mts.map +1 -1
  61. package/dist/packages/core/dist/types/command.d.mts +1 -1
  62. package/dist/packages/core/dist/types/command.d.mts.map +1 -1
  63. package/dist/packages/core/dist/types/config.d.mts.map +1 -1
  64. package/dist/style-dictionary/border-styles.cjs +285 -1
  65. package/dist/style-dictionary/border-styles.mjs +284 -1
  66. package/dist/style-dictionary/border-styles.mjs.map +1 -1
  67. package/dist/style-dictionary/colors.cjs +1391 -1
  68. package/dist/style-dictionary/colors.mjs +1390 -1
  69. package/dist/style-dictionary/colors.mjs.map +1 -1
  70. package/dist/style-dictionary/icons.cjs +169 -1
  71. package/dist/style-dictionary/icons.mjs +168 -1
  72. package/dist/style-dictionary/icons.mjs.map +1 -1
  73. package/dist/style-dictionary/labels.cjs +151 -1
  74. package/dist/style-dictionary/labels.mjs +150 -1
  75. package/dist/style-dictionary/labels.mjs.map +1 -1
  76. package/dist/style-dictionary/padding.cjs +38 -1
  77. package/dist/style-dictionary/padding.mjs +37 -1
  78. package/dist/style-dictionary/padding.mjs.map +1 -1
  79. package/dist/style-dictionary/settings.cjs +26 -1
  80. package/dist/style-dictionary/settings.mjs +25 -1
  81. package/dist/style-dictionary/settings.mjs.map +1 -1
  82. package/dist/style-dictionary/spinners.cjs +31 -1
  83. package/dist/style-dictionary/spinners.mjs +30 -1
  84. package/dist/style-dictionary/spinners.mjs.map +1 -1
  85. package/dist/themes/default.cjs +156 -1
  86. package/dist/themes/default.mjs +155 -1
  87. package/dist/themes/default.mjs.map +1 -1
  88. package/dist/types/index.mjs +1 -1
  89. package/dist/types/plugin.mjs +1 -1
  90. package/dist/types/theme.mjs +1 -1
  91. package/package.json +13 -13
@@ -1,2 +1,151 @@
1
- import{mergeThemes as e}from"../helpers/merge.mjs";import{isSetObject as t}from"@stryke/type-checks/is-set-object";import{isSetString as n}from"@stryke/type-checks/is-set-string";const r=r=>({name:`shell-shock/labels`,preprocessor:(i,a)=>{let o={};o.name=i.$theme??r.config.name,o.labels??={message:{header:{},footer:{}},banner:{header:{},footer:{}}};let s=i.labels;if(n(s))o.labels={message:{header:{help:s,success:s,info:s,debug:s,warning:s,danger:s,error:s},footer:{}},banner:{header:{primary:s,secondary:s,tertiary:s},footer:{}}};else if(t(s)){o.labels.message??={};let e=s?.message;if(n(e))o.labels.message={header:{help:e,success:e,info:e,debug:e,warning:e,danger:e,error:e},footer:{}};else if(t(e)){o.labels.message.header={},o.labels.message.footer={};let r=e.header,i=e.footer;n(r)?o.labels.message.header={help:r,success:r,info:r,debug:r,warning:r,danger:r,error:r}:t(r)&&(n(r.help)&&(o.labels.message.header.help=r.help),n(r.success)&&(o.labels.message.header.success=r.success),n(r.info)&&(o.labels.message.header.info=r.info),n(r.debug)&&(o.labels.message.header.debug=r.debug),n(r.warning)&&(o.labels.message.header.warning=r.warning),n(r.danger)&&(o.labels.message.header.danger=r.danger),n(r.error)&&(o.labels.message.header.error=r.error)),n(i)?o.labels.message.footer={help:i,success:i,info:i,debug:i,warning:i,danger:i,error:i}:t(i)&&(n(i.help)&&(o.labels.message.footer.help=i.help),n(i.success)&&(o.labels.message.footer.success=i.success),n(i.info)&&(o.labels.message.footer.info=i.info),n(i.debug)&&(o.labels.message.footer.debug=i.debug),n(i.warning)&&(o.labels.message.footer.warning=i.warning),n(i.danger)&&(o.labels.message.footer.danger=i.danger),n(i.error)&&(o.labels.message.footer.error=i.error)),o.labels.banner??={};let a=s?.banner;if(n(a))o.labels.banner={header:{primary:a,secondary:a,tertiary:a},footer:{}};else if(t(a)){o.labels.banner.header={},o.labels.banner.footer={};let e=a.header,r=a.footer;n(e)?o.labels.banner.header={primary:e,secondary:e,tertiary:e}:t(e)&&(n(e.primary)&&(o.labels.banner.header.primary=e.primary),n(e.secondary)&&(o.labels.banner.header.secondary=e.secondary),n(e.tertiary)&&(o.labels.banner.header.tertiary=e.tertiary)),n(r)?o.labels.banner.footer={primary:r,secondary:r,tertiary:r}:t(r)&&(n(r.primary)&&(o.labels.banner.footer.primary=r.primary),n(r.secondary)&&(o.labels.banner.footer.secondary=r.secondary),n(r.tertiary)&&(o.labels.banner.footer.tertiary=r.tertiary))}}}return e(r,o),i}});export{r as labels};
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":["../../src/style-dictionary/labels.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeLabelBannerSubItemConfig,\n ThemeLabelMessageStateConfig,\n ThemeLabelsResolvedConfig,\n ThemeLabelsUserConfig,\n ThemeLabelTypeResolvedConfig,\n ThemeLabelTypeUserConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Labels Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const labels = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/labels\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Labels\n\n resolvedConfig.labels ??= {\n message: { header: {}, footer: {} },\n banner: { header: {}, footer: {} }\n } as ThemeLabelsResolvedConfig;\n const labels = dictionary.labels as ThemeLabelsUserConfig;\n\n if (isSetString(labels)) {\n resolvedConfig.labels = {\n message: {\n header: {\n help: labels,\n success: labels,\n info: labels,\n debug: labels,\n warning: labels,\n danger: labels,\n error: labels\n },\n footer: {}\n },\n banner: {\n header: {\n primary: labels,\n secondary: labels,\n tertiary: labels\n },\n footer: {}\n }\n };\n } else if (isSetObject(labels)) {\n resolvedConfig.labels.message ??=\n {} as ThemeLabelTypeResolvedConfig<ThemeLabelMessageStateConfig>;\n const message =\n labels?.message as ThemeLabelTypeUserConfig<ThemeLabelMessageStateConfig>;\n\n if (isSetString(message)) {\n resolvedConfig.labels.message = {\n header: {\n help: message,\n success: message,\n info: message,\n debug: message,\n warning: message,\n danger: message,\n error: message\n },\n footer: {}\n };\n } else if (isSetObject(message)) {\n resolvedConfig.labels.message.header =\n {} as ThemeLabelMessageStateConfig;\n resolvedConfig.labels.message.footer =\n {} as ThemeLabelMessageStateConfig;\n const header = message.header;\n const footer = message.footer;\n\n if (isSetString(header)) {\n resolvedConfig.labels.message.header = {\n help: header,\n success: header,\n info: header,\n debug: header,\n warning: header,\n danger: header,\n error: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.help)) {\n resolvedConfig.labels.message.header.help = header.help;\n }\n if (isSetString(header.success)) {\n resolvedConfig.labels.message.header.success = header.success;\n }\n if (isSetString(header.info)) {\n resolvedConfig.labels.message.header.info = header.info;\n }\n if (isSetString(header.debug)) {\n resolvedConfig.labels.message.header.debug = header.debug;\n }\n if (isSetString(header.warning)) {\n resolvedConfig.labels.message.header.warning = header.warning;\n }\n if (isSetString(header.danger)) {\n resolvedConfig.labels.message.header.danger = header.danger;\n }\n if (isSetString(header.error)) {\n resolvedConfig.labels.message.header.error = header.error;\n }\n }\n\n if (isSetString(footer)) {\n resolvedConfig.labels.message.footer = {\n help: footer,\n success: footer,\n info: footer,\n debug: footer,\n warning: footer,\n danger: footer,\n error: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.help)) {\n resolvedConfig.labels.message.footer.help = footer.help;\n }\n if (isSetString(footer.success)) {\n resolvedConfig.labels.message.footer.success = footer.success;\n }\n if (isSetString(footer.info)) {\n resolvedConfig.labels.message.footer.info = footer.info;\n }\n if (isSetString(footer.debug)) {\n resolvedConfig.labels.message.footer.debug = footer.debug;\n }\n if (isSetString(footer.warning)) {\n resolvedConfig.labels.message.footer.warning = footer.warning;\n }\n if (isSetString(footer.danger)) {\n resolvedConfig.labels.message.footer.danger = footer.danger;\n }\n if (isSetString(footer.error)) {\n resolvedConfig.labels.message.footer.error = footer.error;\n }\n }\n\n resolvedConfig.labels.banner ??=\n {} as ThemeLabelTypeResolvedConfig<ThemeLabelBannerSubItemConfig>;\n const banner =\n labels?.banner as ThemeLabelTypeUserConfig<ThemeLabelBannerSubItemConfig>;\n\n if (isSetString(banner)) {\n resolvedConfig.labels.banner = {\n header: {\n primary: banner,\n secondary: banner,\n tertiary: banner\n },\n footer: {}\n };\n } else if (isSetObject(banner)) {\n resolvedConfig.labels.banner.header =\n {} as ThemeLabelBannerSubItemConfig;\n resolvedConfig.labels.banner.footer =\n {} as ThemeLabelBannerSubItemConfig;\n const header = banner.header;\n const footer = banner.footer;\n\n if (isSetString(header)) {\n resolvedConfig.labels.banner.header = {\n primary: header,\n secondary: header,\n tertiary: header\n };\n } else if (isSetObject(header)) {\n if (isSetString(header.primary)) {\n resolvedConfig.labels.banner.header.primary = header.primary;\n }\n if (isSetString(header.secondary)) {\n resolvedConfig.labels.banner.header.secondary = header.secondary;\n }\n if (isSetString(header.tertiary)) {\n resolvedConfig.labels.banner.header.tertiary = header.tertiary;\n }\n }\n\n if (isSetString(footer)) {\n resolvedConfig.labels.banner.footer = {\n primary: footer,\n secondary: footer,\n tertiary: footer\n };\n } else if (isSetObject(footer)) {\n if (isSetString(footer.primary)) {\n resolvedConfig.labels.banner.footer.primary = footer.primary;\n }\n if (isSetString(footer.secondary)) {\n resolvedConfig.labels.banner.footer.secondary = footer.secondary;\n }\n if (isSetString(footer.tertiary)) {\n resolvedConfig.labels.banner.footer.tertiary = footer.tertiary;\n }\n }\n }\n }\n }\n\n // #endregion Labels\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"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"}
@@ -1 +1,38 @@
1
- require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../helpers/merge.cjs`);let t=require(`@stryke/type-checks/is-set-object`),n=require(`@stryke/type-checks/is-number`);const r=r=>({name:`shell-shock/padding`,preprocessor:(i,a)=>{let o={};o.name=i.$theme??r.config.name,o.padding??={};let s=i.padding;return(0,n.isNumber)(s)?o.padding={banner:s,message:s,app:s,table:s}:(0,t.isSetObject)(s)&&((0,n.isNumber)(s.banner)&&(o.padding.banner=s.banner),(0,n.isNumber)(s.message)&&(o.padding.message=s.message),(0,n.isNumber)(s.app)&&(o.padding.app=s.app),(0,n.isNumber)(s.table)&&(o.padding.table=s.table)),e.mergeThemes(r,o),i}});exports.padding=r;
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require_helpers_merge = require('../helpers/merge.cjs');
3
+ let _stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
4
+ let _stryke_type_checks_is_number = require("@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.padding ??= {};
19
+ const padding = dictionary.padding;
20
+ if ((0, _stryke_type_checks_is_number.isNumber)(padding)) resolvedConfig.padding = {
21
+ banner: padding,
22
+ message: padding,
23
+ app: padding,
24
+ table: padding
25
+ };
26
+ else if ((0, _stryke_type_checks_is_set_object.isSetObject)(padding)) {
27
+ if ((0, _stryke_type_checks_is_number.isNumber)(padding.banner)) resolvedConfig.padding.banner = padding.banner;
28
+ if ((0, _stryke_type_checks_is_number.isNumber)(padding.message)) resolvedConfig.padding.message = padding.message;
29
+ if ((0, _stryke_type_checks_is_number.isNumber)(padding.app)) resolvedConfig.padding.app = padding.app;
30
+ if ((0, _stryke_type_checks_is_number.isNumber)(padding.table)) resolvedConfig.padding.table = padding.table;
31
+ }
32
+ require_helpers_merge.mergeThemes(context, resolvedConfig);
33
+ return dictionary;
34
+ }
35
+ });
36
+
37
+ //#endregion
38
+ exports.padding = padding;
@@ -1,2 +1,38 @@
1
- import{mergeThemes as e}from"../helpers/merge.mjs";import{isSetObject as t}from"@stryke/type-checks/is-set-object";import{isNumber as n}from"@stryke/type-checks/is-number";const r=r=>({name:`shell-shock/padding`,preprocessor:(i,a)=>{let o={};o.name=i.$theme??r.config.name,o.padding??={};let s=i.padding;return n(s)?o.padding={banner:s,message:s,app:s,table:s}:t(s)&&(n(s.banner)&&(o.padding.banner=s.banner),n(s.message)&&(o.padding.message=s.message),n(s.app)&&(o.padding.app=s.app),n(s.table)&&(o.padding.table=s.table)),e(r,o),i}});export{r as padding};
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":["../../src/style-dictionary/padding.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isNumber } from \"@stryke/type-checks/is-number\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Padding Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const padding = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/padding\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Padding\n\n resolvedConfig.padding ??= {} as ThemePaddingResolvedConfig;\n const padding = dictionary.padding;\n\n if (isNumber(padding)) {\n resolvedConfig.padding = {\n banner: padding,\n message: padding,\n app: padding,\n table: padding\n };\n } else if (isSetObject(padding)) {\n if (isNumber(padding.banner)) {\n resolvedConfig.padding.banner = padding.banner;\n }\n if (isNumber(padding.message)) {\n resolvedConfig.padding.message = padding.message;\n }\n if (isNumber(padding.app)) {\n resolvedConfig.padding.app = padding.app;\n }\n if (isNumber(padding.table)) {\n resolvedConfig.padding.table = padding.table;\n }\n }\n\n // #endregion Padding\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"4KA2BA,MAAa,EAAC,IAAqB,CACnC,KAAO,sBACL,cAAA,EAA0B,IAAA,CAC1B,IAAA,EAAA,EAAA,CACA,EAAe,KAAM,EAAA,QAAA,EAAA,OAAA,KAMpB,EAAK,UAAqB,EAAA,CAC3B,IAAA,EAAA,EAAA,QA4BE,OA3BG,EAAM,EAAW,CAClB,EAAe,QAAQ,CAC3B,OAAc,EACZ,QAAY,EACZ,IAAS,EACR,MAAA,EACD,CACA,EAAoB,EAAA,GACjB,EAAW,EAAG,OAAa,GAAA,EAAA,QAAA,OAAA,EAAA,uBAI1B,EAAO,QAAA,QAAA,EAAA,SAEX,EAAe,EAAQ,IAAI,GAC3B,EAAgB,QAAW,IAAA,EAAO,KAE9B,EAAS,EAAU,MAAA,GACrB,EAAe,QAAU,MAAA,EAAA,QAQ3B,EAAI,EAAe,EAAiB,CAClC,GAEL"}
1
+ {"version":3,"file":"padding.mjs","names":[],"sources":["../../src/style-dictionary/padding.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isNumber } from \"@stryke/type-checks/is-number\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemePaddingResolvedConfig,\n ThemeResolvedConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Padding Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const padding = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/padding\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Padding\n\n resolvedConfig.padding ??= {} as ThemePaddingResolvedConfig;\n const padding = dictionary.padding;\n\n if (isNumber(padding)) {\n resolvedConfig.padding = {\n banner: padding,\n message: padding,\n app: padding,\n table: padding\n };\n } else if (isSetObject(padding)) {\n if (isNumber(padding.banner)) {\n resolvedConfig.padding.banner = padding.banner;\n }\n if (isNumber(padding.message)) {\n resolvedConfig.padding.message = padding.message;\n }\n if (isNumber(padding.app)) {\n resolvedConfig.padding.app = padding.app;\n }\n if (isNumber(padding.table)) {\n resolvedConfig.padding.table = padding.table;\n }\n }\n\n // #endregion Padding\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;AA2BA,MAAa,WAAC,aAAqB;CACnC,MAAO;CACL,eAAA,YAA0B,aAAA;EAC1B,MAAA,iBAAA,EAAA;AACA,iBAAe,OAAM,WAAA,UAAA,QAAA,OAAA;AAMpB,iBAAK,YAAqB,EAAA;EAC3B,MAAA,UAAA,WAAA;AACF,MAAO,SAAM,QAAW,CAClB,gBAAe,UAAQ;GAC3B,QAAc;GACZ,SAAY;GACZ,KAAS;GACR,OAAA;GACD;WACA,YAAoB,QAAA,EAAA;AAClB,OAAC,SAAW,QAAG,OAAa;iCAI1B,gBAAO,QAAA,UAAA,QAAA;AAEX,OAAA,SAAe,QAAQ,IAAI,CAC3B,gBAAgB,QAAW,MAAA,QAAO;AAEhC,OAAE,SAAS,QAAU,MAAA,CACrB,gBAAe,QAAU,QAAA,QAAA;;AAQ3B,cAAI,SAAe,eAAiB;AACpC,SAAE;;CAEL"}
@@ -1 +1,26 @@
1
- require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../helpers/merge.cjs`);let t=require(`@stryke/type-checks/is-set-object`);const n=n=>({name:`shell-shock/settings`,preprocessor:(r,i)=>{let a={};a.name=r.$theme??n.config.name,a.settings??={};let o=r.settings;return(0,t.isSetObject)(o)&&(a.settings={...o}),e.mergeThemes(n,a),r}});exports.settings=n;
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require_helpers_merge = require('../helpers/merge.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 = dictionary.settings;
19
+ if ((0, _stryke_type_checks_is_set_object.isSetObject)(settings)) resolvedConfig.settings = { ...settings };
20
+ require_helpers_merge.mergeThemes(context, resolvedConfig);
21
+ return dictionary;
22
+ }
23
+ });
24
+
25
+ //#endregion
26
+ exports.settings = settings;
@@ -1,2 +1,26 @@
1
- import{mergeThemes as e}from"../helpers/merge.mjs";import{isSetObject as t}from"@stryke/type-checks/is-set-object";const n=n=>({name:`shell-shock/settings`,preprocessor:(r,i)=>{let a={};a.name=r.$theme??n.config.name,a.settings??={};let o=r.settings;return t(o)&&(a.settings={...o}),e(n,a),r}});export{n as settings};
1
+ import { mergeThemes } from "../helpers/merge.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 = dictionary.settings;
18
+ if (isSetObject(settings)) resolvedConfig.settings = { ...settings };
19
+ mergeThemes(context, resolvedConfig);
20
+ return dictionary;
21
+ }
22
+ });
23
+
24
+ //#endregion
25
+ export { settings };
2
26
  //# sourceMappingURL=settings.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.mjs","names":[],"sources":["../../src/style-dictionary/settings.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type { ThemeResolvedConfig } from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Settings Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const settings = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/settings\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Settings\n\n resolvedConfig.settings ??= {};\n const settings = dictionary.settings;\n\n if (isSetObject(settings)) {\n resolvedConfig.settings = {\n ...settings\n };\n }\n\n // #endregion Settings\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"mHA0BA,MAAa,EAAC,IAAqB,CACnC,KAAO,4CAEL,IAAA,EAAA,EAAA,CACC,EAAc,KAAM,EAAS,QAAA,EAAA,OAAA,KAM9B,EAAa,WAAe,EAAA,CAC5B,IAAA,EAAc,EAAA,SAYZ,OAXA,EAAY,EAAA,GACZ,EAAiB,SAAE,CAClB,GAAA,EACD,SAQA"}
1
+ {"version":3,"file":"settings.mjs","names":[],"sources":["../../src/style-dictionary/settings.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type { ThemeResolvedConfig } from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Settings Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const settings = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/settings\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Settings\n\n resolvedConfig.settings ??= {};\n const settings = dictionary.settings;\n\n if (isSetObject(settings)) {\n resolvedConfig.settings = {\n ...settings\n };\n }\n\n // #endregion Settings\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;AA0BA,MAAa,YAAC,aAAqB;CACnC,MAAO;;EAEL,MAAA,iBAAA,EAAA;AACC,iBAAc,OAAM,WAAS,UAAA,QAAA,OAAA;AAM9B,iBAAa,aAAe,EAAA;EAC5B,MAAA,WAAc,WAAA;AACZ,MAAA,YAAY,SAAA,CACZ,gBAAiB,WAAE,EAClB,GAAA,UACD;;AAQA,SAAA"}
@@ -1 +1,31 @@
1
- require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../helpers/merge.cjs`),t=require(`../helpers/spinners.cjs`);let n=require(`@stryke/type-checks/is-set-object`),r=require(`@stryke/type-checks/is-set-string`);const i=i=>({name:`shell-shock/spinners`,preprocessor:(a,o)=>{let s={};s.name=a.$theme??i.config.name;let c=a.spinner;return(0,r.isSetString)(c)?s.spinner=t.resolveSpinner(c):(0,n.isSetObject)(c)&&(s.spinner={interval:80,...c}),e.mergeThemes(i,s),a}});exports.spinners=i;
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require_helpers_merge = require('../helpers/merge.cjs');
3
+ const require_helpers_spinners = require('../helpers/spinners.cjs');
4
+ let _stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
5
+ let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
6
+
7
+ //#region src/style-dictionary/spinners.ts
8
+ /**
9
+ * Shell Shock - Theme Spinners Preprocessor
10
+ *
11
+ * @remarks
12
+ * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
13
+ */
14
+ const spinners = (context) => ({
15
+ name: "shell-shock/spinners",
16
+ preprocessor: (dictionary, _options) => {
17
+ const resolvedConfig = {};
18
+ resolvedConfig.name = dictionary.$theme ?? context.config.name;
19
+ const spinner = dictionary.spinner;
20
+ if ((0, _stryke_type_checks_is_set_string.isSetString)(spinner)) resolvedConfig.spinner = require_helpers_spinners.resolveSpinner(spinner);
21
+ else if ((0, _stryke_type_checks_is_set_object.isSetObject)(spinner)) resolvedConfig.spinner = {
22
+ interval: 80,
23
+ ...spinner
24
+ };
25
+ require_helpers_merge.mergeThemes(context, resolvedConfig);
26
+ return dictionary;
27
+ }
28
+ });
29
+
30
+ //#endregion
31
+ exports.spinners = spinners;
@@ -1,2 +1,31 @@
1
- import{mergeThemes as e}from"../helpers/merge.mjs";import{resolveSpinner as t}from"../helpers/spinners.mjs";import{isSetObject as n}from"@stryke/type-checks/is-set-object";import{isSetString as r}from"@stryke/type-checks/is-set-string";const i=i=>({name:`shell-shock/spinners`,preprocessor:(a,o)=>{let s={};s.name=a.$theme??i.config.name;let c=a.spinner;return r(c)?s.spinner=t(c):n(c)&&(s.spinner={interval:80,...c}),e(i,s),a}});export{i as spinners};
1
+ import { mergeThemes } from "../helpers/merge.mjs";
2
+ import { resolveSpinner } from "../helpers/spinners.mjs";
3
+ import { isSetObject } from "@stryke/type-checks/is-set-object";
4
+ import { isSetString } from "@stryke/type-checks/is-set-string";
5
+
6
+ //#region src/style-dictionary/spinners.ts
7
+ /**
8
+ * Shell Shock - Theme Spinners Preprocessor
9
+ *
10
+ * @remarks
11
+ * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.
12
+ */
13
+ const spinners = (context) => ({
14
+ name: "shell-shock/spinners",
15
+ preprocessor: (dictionary, _options) => {
16
+ const resolvedConfig = {};
17
+ resolvedConfig.name = dictionary.$theme ?? context.config.name;
18
+ const spinner = dictionary.spinner;
19
+ if (isSetString(spinner)) resolvedConfig.spinner = resolveSpinner(spinner);
20
+ else if (isSetObject(spinner)) resolvedConfig.spinner = {
21
+ interval: 80,
22
+ ...spinner
23
+ };
24
+ mergeThemes(context, resolvedConfig);
25
+ return dictionary;
26
+ }
27
+ });
28
+
29
+ //#endregion
30
+ export { spinners };
2
31
  //# sourceMappingURL=spinners.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinners.mjs","names":[],"sources":["../../src/style-dictionary/spinners.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { SpinnerPreset } from \"../helpers/spinners\";\nimport { resolveSpinner } from \"../helpers/spinners\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeResolvedConfig,\n ThemeSpinnerResolvedConfig,\n ThemeSpinnerUserConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Spinners Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const spinners = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/spinners\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Spinners\n\n const spinner = dictionary.spinner as\n | ThemeSpinnerUserConfig\n | SpinnerPreset;\n\n if (isSetString(spinner)) {\n resolvedConfig.spinner = resolveSpinner(\n spinner\n ) as ThemeSpinnerResolvedConfig;\n } else if (isSetObject(spinner)) {\n resolvedConfig.spinner = {\n interval: 80,\n ...spinner\n } as ThemeSpinnerResolvedConfig;\n }\n\n // #endregion Spinners\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":"4OA4BA,MAAS,EAAe,IAAW,CACnC,KAAO,uBACP,cAAY,EAAA,IAAA,CACV,IAAA,EAAmB,EAAA,CACnB,EAAA,KAAA,EAA0B,QAAA,EAAA,OAAA,KAM3B,IAAA,EAAA,EAAA,eACG,EAAA,EAAA,CACD,EAAkB,QAAQ,EAAa,EAAA,CACxC,EAAA,EAAA,GACI,EAAe,QAAI,CACjB,SAAO,GACb,GAAA,EACE,EAOA,EAAW,EAAO,EAAM"}
1
+ {"version":3,"file":"spinners.mjs","names":[],"sources":["../../src/style-dictionary/spinners.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { Config, PlatformConfig } from \"style-dictionary\";\nimport type {\n DesignToken,\n PreprocessedTokens,\n Preprocessor\n} from \"style-dictionary/types\";\nimport { mergeThemes } from \"../helpers/merge\";\nimport type { SpinnerPreset } from \"../helpers/spinners\";\nimport { resolveSpinner } from \"../helpers/spinners\";\nimport type { ThemePluginContext } from \"../types/plugin\";\nimport type {\n ThemeResolvedConfig,\n ThemeSpinnerResolvedConfig,\n ThemeSpinnerUserConfig\n} from \"../types/theme\";\n\n/**\n * Shell Shock - Theme Spinners Preprocessor\n *\n * @remarks\n * This preprocessor applies custom value transformations to design tokens based on the provided configuration options.\n */\nexport const spinners = (context: ThemePluginContext): Preprocessor => ({\n name: \"shell-shock/spinners\",\n preprocessor: (\n dictionary: PreprocessedTokens,\n _options: Config | PlatformConfig\n ): PreprocessedTokens => {\n const resolvedConfig = {} as ThemeResolvedConfig;\n resolvedConfig.name =\n (dictionary as DesignToken).$theme ?? context.config.name;\n\n // #region Tiered token resolution\n\n // #region Spinners\n\n const spinner = dictionary.spinner as\n | ThemeSpinnerUserConfig\n | SpinnerPreset;\n\n if (isSetString(spinner)) {\n resolvedConfig.spinner = resolveSpinner(\n spinner\n ) as ThemeSpinnerResolvedConfig;\n } else if (isSetObject(spinner)) {\n resolvedConfig.spinner = {\n interval: 80,\n ...spinner\n } as ThemeSpinnerResolvedConfig;\n }\n\n // #endregion Spinners\n\n // #endregion Tiered token resolution\n\n mergeThemes(context, resolvedConfig);\n\n return dictionary;\n }\n});\n"],"mappings":";;;;;;;;;;;;AA4BA,MAAS,YAAe,aAAW;CACnC,MAAO;CACP,eAAY,YAAA,aAAA;EACV,MAAA,iBAAmB,EAAA;AACnB,iBAAA,OAAA,WAA0B,UAAA,QAAA,OAAA;EAM3B,MAAA,UAAA,WAAA;AACG,MAAA,YAAA,QAAA,CACD,gBAAkB,UAAQ,eAAa,QAAA;WACxC,YAAA,QAAA,CACI,gBAAe,UAAI;GACjB,UAAO;GACb,GAAA;GACE;AAOA,cAAW,SAAO,eAAM"}
@@ -1 +1,156 @@
1
- const e={$theme:`default`,colors:{text:{banner:{title:`#ffffff`,command:`#e3e7e8`,description:`#9ca8ab`},heading:{primary:`#ffffff`,secondary:`#e3e7e8`,tertiary:`#9ca8ab`},body:{primary:`#9ca8ab`,secondary:`#9ca8ab`,tertiary:`#67787c`,link:`#3fa6ff`},message:{description:`#e3e7e8`},usage:{bin:`#67787c`,command:`#e3e7e8`,dynamic:`#e3e7e8`,options:`#67787c`,args:`#67787c`,description:`#67787c`},prompt:{icon:{active:`#3b82f6`,warning:`#f3d371`,error:`#d8314a`,submitted:`#45b27e`,cancelled:`#d8314a`,disabled:`#4b585b`},message:{active:`#e3e7e8`,warning:`#e3e7e8`,error:`#e3e7e8`,submitted:`#67787c`,cancelled:`#67787c`,disabled:`#4b585b`},input:{active:`#3b82f6`,inactive:`#9ca8ab`,warning:`#f3d371`,error:`#d8314a`,submitted:`#e3e7e8`,cancelled:`#d8314a`,placeholder:`#4b585b`,disabled:`#4b585b`},description:{active:`#67787c`,inactive:`#4b585b`,warning:`#f3d371`,error:`#d8314a`,submitted:`#67787c`,cancelled:`#d8314a`,disabled:`#4b585b`}},spinner:{icon:{active:`#3b82f6`,error:`#d8314a`,success:`#45b27e`,help:`#818cf8`,info:`#38bdf8`,warning:`#f3d371`},message:{active:`#e3e7e8`,error:`#d8314a`,success:`#67787c`,help:`#67787c`,info:`#67787c`,warning:`#67787c`}},tags:{utility:`#94a3b8`,deprecated:`#f87171`,experimental:`#818cf8`,$default:`#e3e7e8`}},border:{app:{primary:`#e3e7e8`,secondary:`#67787c`,tertiary:`#4b585b`},banner:`#ffffff`,message:{help:`#818cf8`,success:`#45b27e`,info:`#38bdf8`,debug:`#8afafc`,warning:`#f3d371`,danger:`#d8314a`}}},borderStyles:{app:`single`,banner:`bold`,message:`round`},padding:{app:0,banner:14,message:8,table:1},icons:{link:{external:`↗`},message:{header:{help:`✱`,success:`✔`,info:`🛈`,debug:`🛠`,warning:`🛆`,danger:`🛇`,error:`✘`}},banner:{header:`⏺`},prompt:{active:`✱`,error:`✘`,warning:`🛆`,submitted:`✔`,cancelled:`🛇`,disabled:`🛇`}},labels:{message:{header:{help:`Useful Tip`,success:`Success`,info:`Info`,debug:`Debug`,warning:`Warning`,danger:`Danger`,error:`Error`}}},spinner:`dots`};exports.theme=e;
1
+
2
+ //#region src/themes/default.ts
3
+ const theme = {
4
+ $theme: "default",
5
+ colors: {
6
+ text: {
7
+ banner: {
8
+ title: "#ffffff",
9
+ command: "#e3e7e8",
10
+ description: "#9ca8ab"
11
+ },
12
+ heading: {
13
+ primary: "#ffffff",
14
+ secondary: "#e3e7e8",
15
+ tertiary: "#9ca8ab"
16
+ },
17
+ body: {
18
+ primary: "#9ca8ab",
19
+ secondary: "#9ca8ab",
20
+ tertiary: "#67787c",
21
+ link: "#3fa6ff"
22
+ },
23
+ message: { description: "#e3e7e8" },
24
+ usage: {
25
+ bin: "#67787c",
26
+ command: "#e3e7e8",
27
+ dynamic: "#e3e7e8",
28
+ options: "#67787c",
29
+ args: "#67787c",
30
+ description: "#67787c"
31
+ },
32
+ prompt: {
33
+ icon: {
34
+ active: "#3b82f6",
35
+ warning: "#f3d371",
36
+ error: "#d8314a",
37
+ submitted: "#45b27e",
38
+ cancelled: "#d8314a",
39
+ disabled: "#4b585b"
40
+ },
41
+ message: {
42
+ active: "#e3e7e8",
43
+ warning: "#e3e7e8",
44
+ error: "#e3e7e8",
45
+ submitted: "#67787c",
46
+ cancelled: "#67787c",
47
+ disabled: "#4b585b"
48
+ },
49
+ input: {
50
+ active: "#3b82f6",
51
+ inactive: "#9ca8ab",
52
+ warning: "#f3d371",
53
+ error: "#d8314a",
54
+ submitted: "#e3e7e8",
55
+ cancelled: "#d8314a",
56
+ placeholder: "#4b585b",
57
+ disabled: "#4b585b"
58
+ },
59
+ description: {
60
+ active: "#67787c",
61
+ inactive: "#4b585b",
62
+ warning: "#f3d371",
63
+ error: "#d8314a",
64
+ submitted: "#67787c",
65
+ cancelled: "#d8314a",
66
+ disabled: "#4b585b"
67
+ }
68
+ },
69
+ spinner: {
70
+ icon: {
71
+ active: "#3b82f6",
72
+ error: "#d8314a",
73
+ success: "#45b27e",
74
+ help: "#818cf8",
75
+ info: "#38bdf8",
76
+ warning: "#f3d371"
77
+ },
78
+ message: {
79
+ active: "#e3e7e8",
80
+ error: "#d8314a",
81
+ success: "#67787c",
82
+ help: "#67787c",
83
+ info: "#67787c",
84
+ warning: "#67787c"
85
+ }
86
+ },
87
+ tags: {
88
+ utility: "#94a3b8",
89
+ deprecated: "#f87171",
90
+ experimental: "#818cf8",
91
+ $default: "#e3e7e8"
92
+ }
93
+ },
94
+ border: {
95
+ app: {
96
+ primary: "#e3e7e8",
97
+ secondary: "#67787c",
98
+ tertiary: "#4b585b"
99
+ },
100
+ banner: "#ffffff",
101
+ message: {
102
+ help: "#818cf8",
103
+ success: "#45b27e",
104
+ info: "#38bdf8",
105
+ debug: "#8afafc",
106
+ warning: "#f3d371",
107
+ danger: "#d8314a"
108
+ }
109
+ }
110
+ },
111
+ borderStyles: {
112
+ app: "single",
113
+ banner: "bold",
114
+ message: "round"
115
+ },
116
+ padding: {
117
+ app: 0,
118
+ banner: 14,
119
+ message: 8,
120
+ table: 1
121
+ },
122
+ icons: {
123
+ link: { external: "↗" },
124
+ message: { header: {
125
+ help: "✱",
126
+ success: "✔",
127
+ info: "🛈",
128
+ debug: "🛠",
129
+ warning: "🛆",
130
+ danger: "🛇",
131
+ error: "✘"
132
+ } },
133
+ banner: { header: "⏺" },
134
+ prompt: {
135
+ active: "✱",
136
+ error: "✘",
137
+ warning: "🛆",
138
+ submitted: "✔",
139
+ cancelled: "🛇",
140
+ disabled: "🛇"
141
+ }
142
+ },
143
+ labels: { message: { header: {
144
+ help: "Useful Tip",
145
+ success: "Success",
146
+ info: "Info",
147
+ debug: "Debug",
148
+ warning: "Warning",
149
+ danger: "Danger",
150
+ error: "Error"
151
+ } } },
152
+ spinner: "dots"
153
+ };
154
+
155
+ //#endregion
156
+ exports.theme = theme;