@tamagui/theme-builder 2.0.0-rc.4 → 2.0.0-rc.40

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 (119) hide show
  1. package/dist/cjs/ThemeBuilder.cjs +131 -68
  2. package/dist/cjs/ThemeBuilder.native.js +208 -132
  3. package/dist/cjs/ThemeBuilder.native.js.map +1 -1
  4. package/dist/cjs/createStudioThemes.cjs +19 -17
  5. package/dist/cjs/createStudioThemes.native.js +19 -17
  6. package/dist/cjs/createStudioThemes.native.js.map +1 -1
  7. package/dist/cjs/createThemes.cjs +173 -123
  8. package/dist/cjs/createThemes.native.js +287 -248
  9. package/dist/cjs/createThemes.native.js.map +1 -1
  10. package/dist/cjs/defaultComponentThemes.cjs +12 -10
  11. package/dist/cjs/defaultComponentThemes.native.js +12 -10
  12. package/dist/cjs/defaultComponentThemes.native.js.map +1 -1
  13. package/dist/cjs/defaultTemplates.cjs +137 -132
  14. package/dist/cjs/defaultTemplates.native.js +144 -142
  15. package/dist/cjs/defaultTemplates.native.js.map +1 -1
  16. package/dist/cjs/defaultTemplatesStronger.cjs +135 -130
  17. package/dist/cjs/defaultTemplatesStronger.native.js +142 -140
  18. package/dist/cjs/defaultTemplatesStronger.native.js.map +1 -1
  19. package/dist/cjs/defaultTemplatesStrongest.cjs +135 -130
  20. package/dist/cjs/defaultTemplatesStrongest.native.js +142 -140
  21. package/dist/cjs/defaultTemplatesStrongest.native.js.map +1 -1
  22. package/dist/cjs/getThemeSuitePalettes.cjs +61 -50
  23. package/dist/cjs/getThemeSuitePalettes.native.js +79 -55
  24. package/dist/cjs/getThemeSuitePalettes.native.js.map +1 -1
  25. package/dist/cjs/helpers.cjs +12 -10
  26. package/dist/cjs/helpers.native.js +12 -10
  27. package/dist/cjs/helpers.native.js.map +1 -1
  28. package/dist/cjs/index.cjs +19 -17
  29. package/dist/cjs/index.native.js +19 -17
  30. package/dist/cjs/index.native.js.map +1 -1
  31. package/dist/cjs/masks.cjs +29 -26
  32. package/dist/cjs/masks.native.js +98 -96
  33. package/dist/cjs/masks.native.js.map +1 -1
  34. package/dist/cjs/types.cjs +7 -5
  35. package/dist/cjs/types.native.js +7 -5
  36. package/dist/cjs/types.native.js.map +1 -1
  37. package/dist/esm/ThemeBuilder.mjs +119 -58
  38. package/dist/esm/ThemeBuilder.mjs.map +1 -1
  39. package/dist/esm/ThemeBuilder.native.js +196 -122
  40. package/dist/esm/ThemeBuilder.native.js.map +1 -1
  41. package/dist/esm/createStudioThemes.mjs +2 -2
  42. package/dist/esm/createStudioThemes.mjs.map +1 -1
  43. package/dist/esm/createStudioThemes.native.js +2 -2
  44. package/dist/esm/createStudioThemes.native.js.map +1 -1
  45. package/dist/esm/createThemes.mjs +156 -108
  46. package/dist/esm/createThemes.mjs.map +1 -1
  47. package/dist/esm/createThemes.native.js +270 -233
  48. package/dist/esm/createThemes.native.js.map +1 -1
  49. package/dist/esm/defaultTemplates.mjs +125 -122
  50. package/dist/esm/defaultTemplates.mjs.map +1 -1
  51. package/dist/esm/defaultTemplates.native.js +130 -130
  52. package/dist/esm/defaultTemplates.native.js.map +1 -1
  53. package/dist/esm/defaultTemplatesStronger.mjs +123 -120
  54. package/dist/esm/defaultTemplatesStronger.mjs.map +1 -1
  55. package/dist/esm/defaultTemplatesStronger.native.js +128 -128
  56. package/dist/esm/defaultTemplatesStronger.native.js.map +1 -1
  57. package/dist/esm/defaultTemplatesStrongest.mjs +123 -120
  58. package/dist/esm/defaultTemplatesStrongest.mjs.map +1 -1
  59. package/dist/esm/defaultTemplatesStrongest.native.js +128 -128
  60. package/dist/esm/defaultTemplatesStrongest.native.js.map +1 -1
  61. package/dist/esm/getThemeSuitePalettes.mjs +49 -40
  62. package/dist/esm/getThemeSuitePalettes.mjs.map +1 -1
  63. package/dist/esm/getThemeSuitePalettes.native.js +66 -44
  64. package/dist/esm/getThemeSuitePalettes.native.js.map +1 -1
  65. package/dist/esm/index.js +8 -24
  66. package/dist/esm/index.js.map +1 -6
  67. package/dist/esm/masks.mjs +17 -16
  68. package/dist/esm/masks.mjs.map +1 -1
  69. package/dist/esm/masks.native.js +18 -18
  70. package/dist/esm/masks.native.js.map +1 -1
  71. package/package.json +8 -10
  72. package/src/ThemeBuilder.ts +6 -0
  73. package/types/ThemeBuilder.d.ts.map +1 -1
  74. package/dist/cjs/ThemeBuilder.js +0 -184
  75. package/dist/cjs/ThemeBuilder.js.map +0 -6
  76. package/dist/cjs/createStudioThemes.js +0 -30
  77. package/dist/cjs/createStudioThemes.js.map +0 -6
  78. package/dist/cjs/createThemes.js +0 -356
  79. package/dist/cjs/createThemes.js.map +0 -6
  80. package/dist/cjs/defaultComponentThemes.js +0 -41
  81. package/dist/cjs/defaultComponentThemes.js.map +0 -6
  82. package/dist/cjs/defaultTemplates.js +0 -138
  83. package/dist/cjs/defaultTemplates.js.map +0 -6
  84. package/dist/cjs/defaultTemplatesStronger.js +0 -137
  85. package/dist/cjs/defaultTemplatesStronger.js.map +0 -6
  86. package/dist/cjs/defaultTemplatesStrongest.js +0 -137
  87. package/dist/cjs/defaultTemplatesStrongest.js.map +0 -6
  88. package/dist/cjs/getThemeSuitePalettes.js +0 -69
  89. package/dist/cjs/getThemeSuitePalettes.js.map +0 -6
  90. package/dist/cjs/helpers.js +0 -29
  91. package/dist/cjs/helpers.js.map +0 -6
  92. package/dist/cjs/index.js +0 -32
  93. package/dist/cjs/index.js.map +0 -6
  94. package/dist/cjs/masks.js +0 -86
  95. package/dist/cjs/masks.js.map +0 -6
  96. package/dist/cjs/types.js +0 -14
  97. package/dist/cjs/types.js.map +0 -6
  98. package/dist/esm/ThemeBuilder.js +0 -174
  99. package/dist/esm/ThemeBuilder.js.map +0 -6
  100. package/dist/esm/createStudioThemes.js +0 -18
  101. package/dist/esm/createStudioThemes.js.map +0 -6
  102. package/dist/esm/createThemes.js +0 -344
  103. package/dist/esm/createThemes.js.map +0 -6
  104. package/dist/esm/defaultComponentThemes.js +0 -25
  105. package/dist/esm/defaultComponentThemes.js.map +0 -6
  106. package/dist/esm/defaultTemplates.js +0 -122
  107. package/dist/esm/defaultTemplates.js.map +0 -6
  108. package/dist/esm/defaultTemplatesStronger.js +0 -121
  109. package/dist/esm/defaultTemplatesStronger.js.map +0 -6
  110. package/dist/esm/defaultTemplatesStrongest.js +0 -121
  111. package/dist/esm/defaultTemplatesStrongest.js.map +0 -6
  112. package/dist/esm/getThemeSuitePalettes.js +0 -53
  113. package/dist/esm/getThemeSuitePalettes.js.map +0 -6
  114. package/dist/esm/helpers.js +0 -13
  115. package/dist/esm/helpers.js.map +0 -6
  116. package/dist/esm/masks.js +0 -78
  117. package/dist/esm/masks.js.map +0 -6
  118. package/dist/esm/types.js +0 -1
  119. package/dist/esm/types.js.map +0 -6
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
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, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var createThemes_exports = {};
22
24
  __export(createThemes_exports, {
@@ -29,56 +31,58 @@ __export(createThemes_exports, {
29
31
  getLastBuilder: () => getLastBuilder
30
32
  });
31
33
  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");
34
+ var import_color2k = require("color2k");
35
+ var import_defaultComponentThemes = require("./defaultComponentThemes.cjs");
36
+ var import_defaultTemplates = require("./defaultTemplates.cjs");
37
+ var import_getThemeSuitePalettes = require("./getThemeSuitePalettes.cjs");
38
+ var import_ThemeBuilder = require("./ThemeBuilder.cjs");
37
39
  function createThemes(props) {
38
40
  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;
41
+ accent,
42
+ childrenThemes,
43
+ grandChildrenThemes,
44
+ templates = import_defaultTemplates.defaultTemplates,
45
+ componentThemes,
46
+ getTheme
47
+ } = props;
48
+ const builder = createSimpleThemeBuilder({
49
+ extra: props.base.extra,
50
+ accentExtra: accent?.extra,
51
+ componentThemes,
52
+ palettes: createPalettes(getThemesPalettes(props)),
53
+ templates,
54
+ accentTheme: !!accent,
55
+ childrenThemes: normalizeSubThemes(childrenThemes),
56
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
57
+ getTheme
58
+ });
59
+ lastBuilder = builder.themeBuilder;
60
+ return builder.themes;
58
61
  }
59
62
  let lastBuilder = null;
60
63
  const getLastBuilder = () => lastBuilder;
61
64
  function createV4Themes(props) {
62
65
  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;
66
+ accent,
67
+ childrenThemes,
68
+ grandChildrenThemes,
69
+ templates = import_defaultTemplates.defaultTemplates,
70
+ componentThemes,
71
+ getTheme
72
+ } = props;
73
+ const builder = createV4ThemeBuilder({
74
+ extra: props.base.extra,
75
+ accentExtra: accent?.extra,
76
+ componentThemes,
77
+ palettes: createPalettes(getThemesPalettes(props)),
78
+ templates,
79
+ accentTheme: !!accent,
80
+ childrenThemes: normalizeSubThemes(childrenThemes),
81
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
82
+ getTheme
83
+ });
84
+ lastBuilder = builder.themeBuilder;
85
+ return builder.themes;
82
86
  }
83
87
  function normalizeSubThemes(defs) {
84
88
  return Object.fromEntries(Object.entries(defs || {}).map(([name, value]) => {
@@ -156,25 +160,40 @@ function createSimpleThemeBuilder(props) {
156
160
  }
157
161
  }
158
162
  });
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)), {
163
+ if (palettes.light_accent) {
164
+ themeBuilder = themeBuilder.addChildThemes({
165
+ accent: [{
166
+ parent: "light",
167
+ template: "base",
168
+ palette: "light_accent",
169
+ nonInheritedValues: accentExtra?.light
170
+ }, {
171
+ parent: "dark",
172
+ template: "base",
173
+ palette: "dark_accent",
174
+ nonInheritedValues: accentExtra?.dark
175
+ }]
176
+ });
177
+ }
178
+ if (childrenThemes) {
179
+ themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
180
+ avoidNestingWithin: ["accent"]
181
+ });
182
+ }
183
+ if (grandChildrenThemes) {
184
+ themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
185
+ avoidNestingWithin: ["accent"]
186
+ });
187
+ }
188
+ if (componentThemes) {
189
+ themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
190
+ avoidNestingWithin: Object.keys(grandChildrenThemes || {})
191
+ });
192
+ }
193
+ if (getTheme) {
194
+ themeBuilder = themeBuilder.getTheme(getTheme);
195
+ }
196
+ return {
178
197
  themeBuilder,
179
198
  themes: themeBuilder.build()
180
199
  };
@@ -186,13 +205,14 @@ function getSchemePalette(colors) {
186
205
  };
187
206
  }
188
207
  function getAnchors(palette) {
208
+ const maxIndex = 11;
189
209
  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);
210
+ const anchors = palette.light.map((lcolor, index) => {
211
+ const dcolor = palette.dark[index];
212
+ const [lhue, lsat, llum, lalpha] = (0, import_color2k.parseToHsla)(lcolor);
213
+ const [dhue, dsat, dlum, dalpha] = (0, import_color2k.parseToHsla)(dcolor);
194
214
  return {
195
- index: spreadIndex(11, numItems, index),
215
+ index: spreadIndex(maxIndex, numItems, index),
196
216
  hue: {
197
217
  light: lhue,
198
218
  dark: dhue
@@ -211,6 +231,7 @@ function getAnchors(palette) {
211
231
  }
212
232
  };
213
233
  });
234
+ return anchors;
214
235
  }
215
236
  function spreadIndex(maxIndex, numItems, index) {
216
237
  return Math.round(index / (numItems - 1) * maxIndex);
@@ -219,14 +240,19 @@ function coerceSimplePaletteToSchemePalette(def) {
219
240
  return Array.isArray(def) ? getSchemePalette(def) : def;
220
241
  }
221
242
  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));
243
+ const base = coerceSimplePaletteToSchemePalette(props.base.palette);
244
+ const accent = props.accent ? coerceSimplePaletteToSchemePalette(props.accent.palette) : null;
245
+ const baseAnchors = getAnchors(base);
246
+ function getSubThemesPalettes(defs, isGrandChildren = false) {
247
+ return Object.fromEntries(Object.entries(defs).map(([key, value]) => {
248
+ if (isGrandChildren && key === "accent" && !value.palette) {
249
+ return null;
250
+ }
251
+ return [key, {
252
+ name: key,
253
+ anchors: value.palette ? getAnchors(coerceSimplePaletteToSchemePalette(value.palette)) : baseAnchors
254
+ }];
255
+ }).filter(Boolean));
230
256
  }
231
257
  return {
232
258
  base: {
@@ -239,28 +265,37 @@ function getThemesPalettes(props) {
239
265
  anchors: getAnchors(accent)
240
266
  }
241
267
  }),
242
- ...(props.childrenThemes && getSubThemesPalettes(props.childrenThemes, !1)),
243
- ...(props.grandChildrenThemes && getSubThemesPalettes(props.grandChildrenThemes, !0))
268
+ ...(props.childrenThemes && getSubThemesPalettes(props.childrenThemes, false)),
269
+ ...(props.grandChildrenThemes && getSubThemesPalettes(props.grandChildrenThemes, true))
244
270
  };
245
271
  }
246
- const getComponentThemes = components => Object.fromEntries(Object.entries(components).map(([componentName, {
247
- template
248
- }]) => [componentName, {
249
- parent: "",
250
- template: template || "base"
251
- }]));
272
+ const getComponentThemes = components => {
273
+ return Object.fromEntries(Object.entries(components).map(([componentName, {
274
+ template
275
+ }]) => {
276
+ return [componentName, {
277
+ parent: "",
278
+ template: template || "base"
279
+ }];
280
+ }));
281
+ };
252
282
  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]]]];
283
+ const accentPalettes = palettes.accent ? (0, import_getThemeSuitePalettes.getThemeSuitePalettes)(palettes.accent) : null;
284
+ const basePalettes = (0, import_getThemeSuitePalettes.getThemeSuitePalettes)(palettes.base);
285
+ const next = Object.fromEntries(Object.entries(palettes).flatMap(([name, palette]) => {
286
+ const palettes2 = (0, import_getThemeSuitePalettes.getThemeSuitePalettes)(palette);
287
+ const isAccent = name.startsWith("accent");
288
+ const oppositePalettes = isAccent ? basePalettes : accentPalettes || basePalettes;
289
+ if (!oppositePalettes) {
290
+ return [];
291
+ }
292
+ const oppositeLight = oppositePalettes.light;
293
+ const oppositeDark = oppositePalettes.dark;
294
+ const bgOffset = 7;
295
+ const out = [[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]]]];
296
+ return out;
263
297
  }));
298
+ return next;
264
299
  }
265
300
  function createV4ThemeBuilder(props) {
266
301
  const {
@@ -318,27 +353,42 @@ function createV4ThemeBuilder(props) {
318
353
  }
319
354
  }
320
355
  });
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
356
+ if (childrenThemes) {
357
+ themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
358
+ avoidNestingWithin: ["accent"]
359
+ });
360
+ }
361
+ if (grandChildrenThemes) {
362
+ themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
363
+ avoidNestingWithin: ["accent"]
364
+ });
365
+ }
366
+ if (palettes.light_accent) {
367
+ themeBuilder = themeBuilder.addChildThemes({
368
+ accent: [{
369
+ parent: "light",
370
+ template: "base",
371
+ palette: "light_accent",
372
+ nonInheritedValues: accentExtra?.light
373
+ }, {
374
+ parent: "dark",
375
+ template: "base",
376
+ palette: "dark_accent",
377
+ nonInheritedValues: accentExtra?.dark
378
+ }]
331
379
  }, {
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)), {
380
+ avoidNestingWithin: Object.keys(childrenThemes || {})
381
+ });
382
+ }
383
+ if (componentThemes) {
384
+ themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
385
+ avoidNestingWithin: Object.keys(grandChildrenThemes || {})
386
+ });
387
+ }
388
+ if (getTheme) {
389
+ themeBuilder = themeBuilder.getTheme(getTheme);
390
+ }
391
+ return {
342
392
  themeBuilder,
343
393
  themes: themeBuilder.build()
344
394
  };