@hanzogui/theme-builder 2.0.0-rc.41-hanzoai.5

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