@hanzogui/theme-builder 2.0.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 (124) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/ThemeBuilder.cjs +184 -0
  3. package/dist/cjs/ThemeBuilder.native.js +262 -0
  4. package/dist/cjs/ThemeBuilder.native.js.map +1 -0
  5. package/dist/cjs/createStudioThemes.cjs +40 -0
  6. package/dist/cjs/createStudioThemes.native.js +43 -0
  7. package/dist/cjs/createStudioThemes.native.js.map +1 -0
  8. package/dist/cjs/createThemes.cjs +345 -0
  9. package/dist/cjs/createThemes.native.js +366 -0
  10. package/dist/cjs/createThemes.native.js.map +1 -0
  11. package/dist/cjs/defaultComponentThemes.cjs +84 -0
  12. package/dist/cjs/defaultComponentThemes.native.js +87 -0
  13. package/dist/cjs/defaultComponentThemes.native.js.map +1 -0
  14. package/dist/cjs/defaultTemplates.cjs +149 -0
  15. package/dist/cjs/defaultTemplates.native.js +160 -0
  16. package/dist/cjs/defaultTemplates.native.js.map +1 -0
  17. package/dist/cjs/defaultTemplatesStronger.cjs +147 -0
  18. package/dist/cjs/defaultTemplatesStronger.native.js +158 -0
  19. package/dist/cjs/defaultTemplatesStronger.native.js.map +1 -0
  20. package/dist/cjs/defaultTemplatesStrongest.cjs +147 -0
  21. package/dist/cjs/defaultTemplatesStrongest.native.js +158 -0
  22. package/dist/cjs/defaultTemplatesStrongest.native.js.map +1 -0
  23. package/dist/cjs/getThemeSuitePalettes.cjs +81 -0
  24. package/dist/cjs/getThemeSuitePalettes.native.js +93 -0
  25. package/dist/cjs/getThemeSuitePalettes.native.js.map +1 -0
  26. package/dist/cjs/helpers.cjs +34 -0
  27. package/dist/cjs/helpers.native.js +39 -0
  28. package/dist/cjs/helpers.native.js.map +1 -0
  29. package/dist/cjs/index.cjs +43 -0
  30. package/dist/cjs/index.native.js +46 -0
  31. package/dist/cjs/index.native.js.map +1 -0
  32. package/dist/cjs/masks.cjs +114 -0
  33. package/dist/cjs/masks.native.js +118 -0
  34. package/dist/cjs/masks.native.js.map +1 -0
  35. package/dist/cjs/types.cjs +16 -0
  36. package/dist/cjs/types.native.js +19 -0
  37. package/dist/cjs/types.native.js.map +1 -0
  38. package/dist/esm/ThemeBuilder.mjs +160 -0
  39. package/dist/esm/ThemeBuilder.mjs.map +1 -0
  40. package/dist/esm/ThemeBuilder.native.js +235 -0
  41. package/dist/esm/ThemeBuilder.native.js.map +1 -0
  42. package/dist/esm/createStudioThemes.mjs +17 -0
  43. package/dist/esm/createStudioThemes.mjs.map +1 -0
  44. package/dist/esm/createStudioThemes.native.js +17 -0
  45. package/dist/esm/createStudioThemes.native.js.map +1 -0
  46. package/dist/esm/createThemes.mjs +316 -0
  47. package/dist/esm/createThemes.mjs.map +1 -0
  48. package/dist/esm/createThemes.native.js +334 -0
  49. package/dist/esm/createThemes.native.js.map +1 -0
  50. package/dist/esm/defaultComponentThemes.mjs +61 -0
  51. package/dist/esm/defaultComponentThemes.mjs.map +1 -0
  52. package/dist/esm/defaultComponentThemes.native.js +61 -0
  53. package/dist/esm/defaultComponentThemes.native.js.map +1 -0
  54. package/dist/esm/defaultTemplates.mjs +126 -0
  55. package/dist/esm/defaultTemplates.mjs.map +1 -0
  56. package/dist/esm/defaultTemplates.native.js +134 -0
  57. package/dist/esm/defaultTemplates.native.js.map +1 -0
  58. package/dist/esm/defaultTemplatesStronger.mjs +124 -0
  59. package/dist/esm/defaultTemplatesStronger.mjs.map +1 -0
  60. package/dist/esm/defaultTemplatesStronger.native.js +132 -0
  61. package/dist/esm/defaultTemplatesStronger.native.js.map +1 -0
  62. package/dist/esm/defaultTemplatesStrongest.mjs +124 -0
  63. package/dist/esm/defaultTemplatesStrongest.mjs.map +1 -0
  64. package/dist/esm/defaultTemplatesStrongest.native.js +132 -0
  65. package/dist/esm/defaultTemplatesStrongest.native.js.map +1 -0
  66. package/dist/esm/getThemeSuitePalettes.mjs +57 -0
  67. package/dist/esm/getThemeSuitePalettes.mjs.map +1 -0
  68. package/dist/esm/getThemeSuitePalettes.native.js +66 -0
  69. package/dist/esm/getThemeSuitePalettes.native.js.map +1 -0
  70. package/dist/esm/helpers.mjs +9 -0
  71. package/dist/esm/helpers.mjs.map +1 -0
  72. package/dist/esm/helpers.native.js +11 -0
  73. package/dist/esm/helpers.native.js.map +1 -0
  74. package/dist/esm/index.js +10 -0
  75. package/dist/esm/index.js.map +1 -0
  76. package/dist/esm/index.mjs +10 -0
  77. package/dist/esm/index.mjs.map +1 -0
  78. package/dist/esm/index.native.js +10 -0
  79. package/dist/esm/index.native.js.map +1 -0
  80. package/dist/esm/masks.mjs +91 -0
  81. package/dist/esm/masks.mjs.map +1 -0
  82. package/dist/esm/masks.native.js +92 -0
  83. package/dist/esm/masks.native.js.map +1 -0
  84. package/dist/esm/types.mjs +2 -0
  85. package/dist/esm/types.mjs.map +1 -0
  86. package/dist/esm/types.native.js +2 -0
  87. package/dist/esm/types.native.js.map +1 -0
  88. package/package.json +48 -0
  89. package/src/ThemeBuilder.ts +514 -0
  90. package/src/createStudioThemes.ts +28 -0
  91. package/src/createThemes.ts +794 -0
  92. package/src/defaultComponentThemes.ts +26 -0
  93. package/src/defaultTemplates.ts +157 -0
  94. package/src/defaultTemplatesStronger.ts +152 -0
  95. package/src/defaultTemplatesStrongest.ts +152 -0
  96. package/src/getThemeSuitePalettes.ts +101 -0
  97. package/src/helpers.ts +44 -0
  98. package/src/index.ts +22 -0
  99. package/src/masks.tsx +83 -0
  100. package/src/types.ts +97 -0
  101. package/types/ThemeBuilder.d.ts +80 -0
  102. package/types/ThemeBuilder.d.ts.map +1 -0
  103. package/types/createStudioThemes.d.ts +8 -0
  104. package/types/createStudioThemes.d.ts.map +1 -0
  105. package/types/createThemes.d.ts +141 -0
  106. package/types/createThemes.d.ts.map +1 -0
  107. package/types/defaultComponentThemes.d.ts +63 -0
  108. package/types/defaultComponentThemes.d.ts.map +1 -0
  109. package/types/defaultTemplates.d.ts +42 -0
  110. package/types/defaultTemplates.d.ts.map +1 -0
  111. package/types/defaultTemplatesStronger.d.ts +42 -0
  112. package/types/defaultTemplatesStronger.d.ts.map +1 -0
  113. package/types/defaultTemplatesStrongest.d.ts +42 -0
  114. package/types/defaultTemplatesStrongest.d.ts.map +1 -0
  115. package/types/getThemeSuitePalettes.d.ts +7 -0
  116. package/types/getThemeSuitePalettes.d.ts.map +1 -0
  117. package/types/helpers.d.ts +24 -0
  118. package/types/helpers.d.ts.map +1 -0
  119. package/types/index.d.ts +11 -0
  120. package/types/index.d.ts.map +1 -0
  121. package/types/masks.d.ts +18 -0
  122. package/types/masks.d.ts.map +1 -0
  123. package/types/types.d.ts +76 -0
  124. package/types/types.d.ts.map +1 -0
@@ -0,0 +1,345 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var createThemes_exports = {};
22
+ __export(createThemes_exports, {
23
+ createPalettes: () => createPalettes,
24
+ createSimpleThemeBuilder: () => createSimpleThemeBuilder,
25
+ createThemes: () => createThemes,
26
+ createV4ThemeBuilder: () => createV4ThemeBuilder,
27
+ createV4Themes: () => createV4Themes,
28
+ getComponentThemes: () => getComponentThemes,
29
+ getLastBuilder: () => getLastBuilder
30
+ });
31
+ module.exports = __toCommonJS(createThemes_exports);
32
+ var import_color2k = require("color2k"),
33
+ import_defaultComponentThemes = require("./defaultComponentThemes.cjs"),
34
+ import_defaultTemplates = require("./defaultTemplates.cjs"),
35
+ import_getThemeSuitePalettes = require("./getThemeSuitePalettes.cjs"),
36
+ import_ThemeBuilder = require("./ThemeBuilder.cjs");
37
+ function createThemes(props) {
38
+ const {
39
+ accent,
40
+ childrenThemes,
41
+ grandChildrenThemes,
42
+ templates = import_defaultTemplates.defaultTemplates,
43
+ componentThemes,
44
+ getTheme
45
+ } = props,
46
+ builder = createSimpleThemeBuilder({
47
+ extra: props.base.extra,
48
+ accentExtra: accent?.extra,
49
+ componentThemes,
50
+ palettes: createPalettes(getThemesPalettes(props)),
51
+ templates,
52
+ accentTheme: !!accent,
53
+ childrenThemes: normalizeSubThemes(childrenThemes),
54
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
55
+ getTheme
56
+ });
57
+ return lastBuilder = builder.themeBuilder, builder.themes;
58
+ }
59
+ let lastBuilder = null;
60
+ const getLastBuilder = () => lastBuilder;
61
+ function createV4Themes(props) {
62
+ const {
63
+ accent,
64
+ childrenThemes,
65
+ grandChildrenThemes,
66
+ templates = import_defaultTemplates.defaultTemplates,
67
+ componentThemes,
68
+ getTheme
69
+ } = props,
70
+ builder = createV4ThemeBuilder({
71
+ extra: props.base.extra,
72
+ accentExtra: accent?.extra,
73
+ componentThemes,
74
+ palettes: createPalettes(getThemesPalettes(props)),
75
+ templates,
76
+ accentTheme: !!accent,
77
+ childrenThemes: normalizeSubThemes(childrenThemes),
78
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
79
+ getTheme
80
+ });
81
+ return lastBuilder = builder.themeBuilder, builder.themes;
82
+ }
83
+ function normalizeSubThemes(defs) {
84
+ return Object.fromEntries(Object.entries(defs || {}).map(([name, value]) => {
85
+ const hasPalette = value.palette !== void 0;
86
+ return [name, {
87
+ // Only add palette if the definition has one, otherwise theme is template-only
88
+ ...(hasPalette ? {
89
+ palette: name
90
+ } : {}),
91
+ template: value.template || "base"
92
+ }];
93
+ }));
94
+ }
95
+ const defaultPalettes = createPalettes(getThemesPalettes({
96
+ base: {
97
+ palette: ["#fff", "#000"]
98
+ },
99
+ accent: {
100
+ palette: ["#ff0000", "#ff9999"]
101
+ }
102
+ }));
103
+ function createSimpleThemeBuilder(props) {
104
+ const {
105
+ getTheme,
106
+ extra,
107
+ accentExtra,
108
+ childrenThemes = null,
109
+ grandChildrenThemes = null,
110
+ templates = import_defaultTemplates.defaultTemplates,
111
+ palettes = defaultPalettes,
112
+ accentTheme,
113
+ componentThemes = templates === import_defaultTemplates.defaultTemplates ? import_defaultComponentThemes.defaultComponentThemes : void 0
114
+ } = props;
115
+ let themeBuilder = (0, import_ThemeBuilder.createThemeBuilder)().addPalettes(palettes).addTemplates(templates).addThemes({
116
+ light: {
117
+ template: "base",
118
+ palette: "light",
119
+ nonInheritedValues: {
120
+ ...extra?.light,
121
+ ...(accentTheme && palettes.light_accent && {
122
+ accent1: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 0],
123
+ accent2: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 1],
124
+ accent3: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 2],
125
+ accent4: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 3],
126
+ accent5: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 4],
127
+ accent6: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 5],
128
+ accent7: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 6],
129
+ accent8: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 7],
130
+ accent9: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 8],
131
+ accent10: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 9],
132
+ accent11: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 10],
133
+ accent12: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 11]
134
+ })
135
+ }
136
+ },
137
+ dark: {
138
+ template: "base",
139
+ palette: "dark",
140
+ nonInheritedValues: {
141
+ ...extra?.dark,
142
+ ...(accentTheme && palettes.dark_accent && {
143
+ accent1: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 0],
144
+ accent2: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 1],
145
+ accent3: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 2],
146
+ accent4: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 3],
147
+ accent5: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 4],
148
+ accent6: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 5],
149
+ accent7: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 6],
150
+ accent8: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 7],
151
+ accent9: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 8],
152
+ accent10: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 9],
153
+ accent11: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 10],
154
+ accent12: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 11]
155
+ })
156
+ }
157
+ }
158
+ });
159
+ return palettes.light_accent && (themeBuilder = themeBuilder.addChildThemes({
160
+ accent: [{
161
+ parent: "light",
162
+ template: "base",
163
+ palette: "light_accent",
164
+ nonInheritedValues: accentExtra?.light
165
+ }, {
166
+ parent: "dark",
167
+ template: "base",
168
+ palette: "dark_accent",
169
+ nonInheritedValues: accentExtra?.dark
170
+ }]
171
+ })), childrenThemes && (themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
172
+ avoidNestingWithin: ["accent"]
173
+ })), grandChildrenThemes && (themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
174
+ avoidNestingWithin: ["accent"]
175
+ })), componentThemes && (themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
176
+ avoidNestingWithin: Object.keys(grandChildrenThemes || {})
177
+ })), getTheme && (themeBuilder = themeBuilder.getTheme(getTheme)), {
178
+ themeBuilder,
179
+ themes: themeBuilder.build()
180
+ };
181
+ }
182
+ function getSchemePalette(colors) {
183
+ return {
184
+ light: colors,
185
+ dark: [...colors].reverse()
186
+ };
187
+ }
188
+ function getAnchors(palette) {
189
+ const numItems = palette.light.length;
190
+ return palette.light.map((lcolor, index) => {
191
+ const dcolor = palette.dark[index],
192
+ [lhue, lsat, llum, lalpha] = (0, import_color2k.parseToHsla)(lcolor),
193
+ [dhue, dsat, dlum, dalpha] = (0, import_color2k.parseToHsla)(dcolor);
194
+ return {
195
+ index: spreadIndex(11, numItems, index),
196
+ hue: {
197
+ light: lhue,
198
+ dark: dhue
199
+ },
200
+ sat: {
201
+ light: lsat,
202
+ dark: dsat
203
+ },
204
+ lum: {
205
+ light: llum,
206
+ dark: dlum
207
+ },
208
+ alpha: {
209
+ light: lalpha,
210
+ dark: dalpha
211
+ }
212
+ };
213
+ });
214
+ }
215
+ function spreadIndex(maxIndex, numItems, index) {
216
+ return Math.round(index / (numItems - 1) * maxIndex);
217
+ }
218
+ function coerceSimplePaletteToSchemePalette(def) {
219
+ return Array.isArray(def) ? getSchemePalette(def) : def;
220
+ }
221
+ function getThemesPalettes(props) {
222
+ const base = coerceSimplePaletteToSchemePalette(props.base.palette),
223
+ accent = props.accent ? coerceSimplePaletteToSchemePalette(props.accent.palette) : null,
224
+ baseAnchors = getAnchors(base);
225
+ function getSubThemesPalettes(defs, isGrandChildren = !1) {
226
+ return Object.fromEntries(Object.entries(defs).map(([key, value]) => isGrandChildren && key === "accent" && !value.palette ? null : [key, {
227
+ name: key,
228
+ anchors: value.palette ? getAnchors(coerceSimplePaletteToSchemePalette(value.palette)) : baseAnchors
229
+ }]).filter(Boolean));
230
+ }
231
+ return {
232
+ base: {
233
+ name: "base",
234
+ anchors: baseAnchors
235
+ },
236
+ ...(accent && {
237
+ accent: {
238
+ name: "accent",
239
+ anchors: getAnchors(accent)
240
+ }
241
+ }),
242
+ ...(props.childrenThemes && getSubThemesPalettes(props.childrenThemes, !1)),
243
+ ...(props.grandChildrenThemes && getSubThemesPalettes(props.grandChildrenThemes, !0))
244
+ };
245
+ }
246
+ const getComponentThemes = components => Object.fromEntries(Object.entries(components).map(([componentName, {
247
+ template
248
+ }]) => [componentName, {
249
+ parent: "",
250
+ template: template || "base"
251
+ }]));
252
+ function createPalettes(palettes) {
253
+ const accentPalettes = palettes.accent ? (0, import_getThemeSuitePalettes.getThemeSuitePalettes)(palettes.accent) : null,
254
+ basePalettes = (0, import_getThemeSuitePalettes.getThemeSuitePalettes)(palettes.base);
255
+ return Object.fromEntries(Object.entries(palettes).flatMap(([name, palette]) => {
256
+ const palettes2 = (0, import_getThemeSuitePalettes.getThemeSuitePalettes)(palette),
257
+ oppositePalettes = name.startsWith("accent") ? basePalettes : accentPalettes || basePalettes;
258
+ if (!oppositePalettes) return [];
259
+ const oppositeLight = oppositePalettes.light,
260
+ oppositeDark = oppositePalettes.dark,
261
+ bgOffset = 7;
262
+ return [[name === "base" ? "light" : `light_${name}`, [oppositeLight[bgOffset], ...palettes2.light, oppositeLight[oppositeLight.length - bgOffset - 1]]], [name === "base" ? "dark" : `dark_${name}`, [oppositeDark[oppositeDark.length - bgOffset - 1], ...palettes2.dark, oppositeDark[bgOffset]]]];
263
+ }));
264
+ }
265
+ function createV4ThemeBuilder(props) {
266
+ const {
267
+ getTheme,
268
+ extra,
269
+ accentExtra,
270
+ childrenThemes = null,
271
+ grandChildrenThemes = null,
272
+ templates = import_defaultTemplates.defaultTemplates,
273
+ palettes = defaultPalettes,
274
+ accentTheme,
275
+ componentThemes = templates === import_defaultTemplates.defaultTemplates ? import_defaultComponentThemes.defaultComponentThemes : void 0
276
+ } = props;
277
+ let themeBuilder = (0, import_ThemeBuilder.createThemeBuilder)().addPalettes(palettes).addTemplates(templates).addThemes({
278
+ light: {
279
+ template: "base",
280
+ palette: "light",
281
+ nonInheritedValues: {
282
+ ...extra?.light,
283
+ ...(accentTheme && palettes.light_accent && {
284
+ accent1: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 0],
285
+ accent2: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 1],
286
+ accent3: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 2],
287
+ accent4: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 3],
288
+ accent5: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 4],
289
+ accent6: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 5],
290
+ accent7: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 6],
291
+ accent8: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 7],
292
+ accent9: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 8],
293
+ accent10: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 9],
294
+ accent11: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 10],
295
+ accent12: palettes.light_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 11]
296
+ })
297
+ }
298
+ },
299
+ dark: {
300
+ template: "base",
301
+ palette: "dark",
302
+ nonInheritedValues: {
303
+ ...extra?.dark,
304
+ ...(accentTheme && palettes.dark_accent && {
305
+ accent1: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 0],
306
+ accent2: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 1],
307
+ accent3: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 2],
308
+ accent4: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 3],
309
+ accent5: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 4],
310
+ accent6: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 5],
311
+ accent7: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 6],
312
+ accent8: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 7],
313
+ accent9: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 8],
314
+ accent10: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 9],
315
+ accent11: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 10],
316
+ accent12: palettes.dark_accent[import_getThemeSuitePalettes.PALETTE_BACKGROUND_OFFSET + 11]
317
+ })
318
+ }
319
+ }
320
+ });
321
+ return childrenThemes && (themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
322
+ avoidNestingWithin: ["accent"]
323
+ })), grandChildrenThemes && (themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
324
+ avoidNestingWithin: ["accent"]
325
+ })), palettes.light_accent && (themeBuilder = themeBuilder.addChildThemes({
326
+ accent: [{
327
+ parent: "light",
328
+ template: "base",
329
+ palette: "light_accent",
330
+ nonInheritedValues: accentExtra?.light
331
+ }, {
332
+ parent: "dark",
333
+ template: "base",
334
+ palette: "dark_accent",
335
+ nonInheritedValues: accentExtra?.dark
336
+ }]
337
+ }, {
338
+ avoidNestingWithin: Object.keys(childrenThemes || {})
339
+ })), componentThemes && (themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
340
+ avoidNestingWithin: Object.keys(grandChildrenThemes || {})
341
+ })), getTheme && (themeBuilder = themeBuilder.getTheme(getTheme)), {
342
+ themeBuilder,
343
+ themes: themeBuilder.build()
344
+ };
345
+ }