@hanzogui/theme-builder 8.3.0 → 8.3.2

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 (159) hide show
  1. package/dist/cjs/ThemeBuilder.js +262 -0
  2. package/dist/cjs/ThemeBuilder.js.map +1 -0
  3. package/dist/cjs/createStudioThemes.js +26 -0
  4. package/dist/cjs/createStudioThemes.js.map +1 -0
  5. package/dist/cjs/createThemes.js +402 -0
  6. package/dist/cjs/createThemes.js.map +1 -0
  7. package/dist/cjs/defaultComponentThemes.js +28 -0
  8. package/dist/cjs/defaultComponentThemes.js.map +1 -0
  9. package/dist/cjs/defaultTemplates.js +136 -0
  10. package/dist/cjs/defaultTemplates.js.map +1 -0
  11. package/dist/cjs/defaultTemplatesStronger.js +131 -0
  12. package/dist/cjs/defaultTemplatesStronger.js.map +1 -0
  13. package/dist/cjs/defaultTemplatesStrongest.js +131 -0
  14. package/dist/cjs/defaultTemplatesStrongest.js.map +1 -0
  15. package/dist/cjs/getThemeSuitePalettes.js +80 -0
  16. package/dist/cjs/getThemeSuitePalettes.js.map +1 -0
  17. package/dist/cjs/helpers.js +14 -0
  18. package/dist/cjs/helpers.js.map +1 -0
  19. package/dist/cjs/index.js +25 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/masks.js +73 -0
  22. package/dist/cjs/masks.js.map +1 -0
  23. package/dist/cjs/package.json +1 -0
  24. package/dist/cjs/types.js +3 -0
  25. package/dist/cjs/types.js.map +1 -0
  26. package/dist/esm/ThemeBuilder.js +257 -0
  27. package/dist/esm/ThemeBuilder.js.map +1 -0
  28. package/dist/esm/createStudioThemes.js +23 -0
  29. package/dist/esm/createStudioThemes.js.map +1 -0
  30. package/dist/esm/createThemes.js +392 -0
  31. package/dist/esm/createThemes.js.map +1 -0
  32. package/dist/esm/defaultComponentThemes.js +25 -0
  33. package/dist/esm/defaultComponentThemes.js.map +1 -0
  34. package/dist/esm/defaultTemplates.js +133 -0
  35. package/dist/esm/defaultTemplates.js.map +1 -0
  36. package/dist/esm/defaultTemplatesStronger.js +128 -0
  37. package/dist/esm/defaultTemplatesStronger.js.map +1 -0
  38. package/dist/esm/defaultTemplatesStrongest.js +128 -0
  39. package/dist/esm/defaultTemplatesStrongest.js.map +1 -0
  40. package/dist/esm/getThemeSuitePalettes.js +76 -0
  41. package/dist/esm/getThemeSuitePalettes.js.map +1 -0
  42. package/dist/esm/helpers.js +8 -0
  43. package/dist/esm/helpers.js.map +1 -0
  44. package/dist/esm/index.js +11 -10
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/masks.js +70 -0
  47. package/dist/esm/masks.js.map +1 -0
  48. package/dist/esm/types.js +2 -0
  49. package/dist/esm/types.js.map +1 -0
  50. package/package.json +15 -15
  51. package/src/ThemeBuilder.ts +1 -1
  52. package/src/createStudioThemes.ts +6 -6
  53. package/src/createThemes.ts +24 -17
  54. package/src/defaultComponentThemes.ts +1 -1
  55. package/src/defaultTemplates.ts +2 -2
  56. package/src/defaultTemplatesStronger.ts +2 -2
  57. package/src/defaultTemplatesStrongest.ts +2 -2
  58. package/src/getThemeSuitePalettes.ts +1 -1
  59. package/src/helpers.ts +10 -3
  60. package/src/index.ts +11 -8
  61. package/types/ThemeBuilder.d.ts +1 -1
  62. package/types/ThemeBuilder.d.ts.map +1 -1
  63. package/types/createStudioThemes.d.ts +3 -3
  64. package/types/createStudioThemes.d.ts.map +1 -1
  65. package/types/createThemes.d.ts +5 -5
  66. package/types/createThemes.d.ts.map +1 -1
  67. package/types/defaultComponentThemes.d.ts.map +1 -1
  68. package/types/defaultTemplates.d.ts +2 -2
  69. package/types/defaultTemplatesStronger.d.ts +2 -2
  70. package/types/defaultTemplatesStrongest.d.ts +2 -2
  71. package/types/getThemeSuitePalettes.d.ts +1 -1
  72. package/types/getThemeSuitePalettes.d.ts.map +1 -1
  73. package/types/helpers.d.ts.map +1 -1
  74. package/types/index.d.ts +8 -8
  75. package/types/index.d.ts.map +1 -1
  76. package/dist/cjs/ThemeBuilder.cjs +0 -248
  77. package/dist/cjs/ThemeBuilder.native.js +0 -338
  78. package/dist/cjs/ThemeBuilder.native.js.map +0 -1
  79. package/dist/cjs/createStudioThemes.cjs +0 -42
  80. package/dist/cjs/createStudioThemes.native.js +0 -45
  81. package/dist/cjs/createStudioThemes.native.js.map +0 -1
  82. package/dist/cjs/createThemes.cjs +0 -395
  83. package/dist/cjs/createThemes.native.js +0 -405
  84. package/dist/cjs/createThemes.native.js.map +0 -1
  85. package/dist/cjs/defaultComponentThemes.cjs +0 -86
  86. package/dist/cjs/defaultComponentThemes.native.js +0 -89
  87. package/dist/cjs/defaultComponentThemes.native.js.map +0 -1
  88. package/dist/cjs/defaultTemplates.cjs +0 -154
  89. package/dist/cjs/defaultTemplates.native.js +0 -162
  90. package/dist/cjs/defaultTemplates.native.js.map +0 -1
  91. package/dist/cjs/defaultTemplatesStronger.cjs +0 -152
  92. package/dist/cjs/defaultTemplatesStronger.native.js +0 -160
  93. package/dist/cjs/defaultTemplatesStronger.native.js.map +0 -1
  94. package/dist/cjs/defaultTemplatesStrongest.cjs +0 -152
  95. package/dist/cjs/defaultTemplatesStrongest.native.js +0 -160
  96. package/dist/cjs/defaultTemplatesStrongest.native.js.map +0 -1
  97. package/dist/cjs/getThemeSuitePalettes.cjs +0 -92
  98. package/dist/cjs/getThemeSuitePalettes.native.js +0 -117
  99. package/dist/cjs/getThemeSuitePalettes.native.js.map +0 -1
  100. package/dist/cjs/helpers.cjs +0 -36
  101. package/dist/cjs/helpers.native.js +0 -41
  102. package/dist/cjs/helpers.native.js.map +0 -1
  103. package/dist/cjs/index.cjs +0 -45
  104. package/dist/cjs/index.native.js +0 -48
  105. package/dist/cjs/index.native.js.map +0 -1
  106. package/dist/cjs/masks.cjs +0 -117
  107. package/dist/cjs/masks.native.js +0 -120
  108. package/dist/cjs/masks.native.js.map +0 -1
  109. package/dist/cjs/types.cjs +0 -18
  110. package/dist/cjs/types.native.js +0 -21
  111. package/dist/cjs/types.native.js.map +0 -1
  112. package/dist/esm/ThemeBuilder.mjs +0 -222
  113. package/dist/esm/ThemeBuilder.mjs.map +0 -1
  114. package/dist/esm/ThemeBuilder.native.js +0 -309
  115. package/dist/esm/ThemeBuilder.native.js.map +0 -1
  116. package/dist/esm/createStudioThemes.mjs +0 -17
  117. package/dist/esm/createStudioThemes.mjs.map +0 -1
  118. package/dist/esm/createStudioThemes.native.js +0 -17
  119. package/dist/esm/createStudioThemes.native.js.map +0 -1
  120. package/dist/esm/createThemes.mjs +0 -364
  121. package/dist/esm/createThemes.mjs.map +0 -1
  122. package/dist/esm/createThemes.native.js +0 -371
  123. package/dist/esm/createThemes.native.js.map +0 -1
  124. package/dist/esm/defaultComponentThemes.mjs +0 -61
  125. package/dist/esm/defaultComponentThemes.mjs.map +0 -1
  126. package/dist/esm/defaultComponentThemes.native.js +0 -61
  127. package/dist/esm/defaultComponentThemes.native.js.map +0 -1
  128. package/dist/esm/defaultTemplates.mjs +0 -129
  129. package/dist/esm/defaultTemplates.mjs.map +0 -1
  130. package/dist/esm/defaultTemplates.native.js +0 -134
  131. package/dist/esm/defaultTemplates.native.js.map +0 -1
  132. package/dist/esm/defaultTemplatesStronger.mjs +0 -127
  133. package/dist/esm/defaultTemplatesStronger.mjs.map +0 -1
  134. package/dist/esm/defaultTemplatesStronger.native.js +0 -132
  135. package/dist/esm/defaultTemplatesStronger.native.js.map +0 -1
  136. package/dist/esm/defaultTemplatesStrongest.mjs +0 -127
  137. package/dist/esm/defaultTemplatesStrongest.mjs.map +0 -1
  138. package/dist/esm/defaultTemplatesStrongest.native.js +0 -132
  139. package/dist/esm/defaultTemplatesStrongest.native.js.map +0 -1
  140. package/dist/esm/getThemeSuitePalettes.mjs +0 -66
  141. package/dist/esm/getThemeSuitePalettes.mjs.map +0 -1
  142. package/dist/esm/getThemeSuitePalettes.native.js +0 -88
  143. package/dist/esm/getThemeSuitePalettes.native.js.map +0 -1
  144. package/dist/esm/helpers.mjs +0 -9
  145. package/dist/esm/helpers.mjs.map +0 -1
  146. package/dist/esm/helpers.native.js +0 -11
  147. package/dist/esm/helpers.native.js.map +0 -1
  148. package/dist/esm/index.mjs +0 -10
  149. package/dist/esm/index.mjs.map +0 -1
  150. package/dist/esm/index.native.js +0 -10
  151. package/dist/esm/index.native.js.map +0 -1
  152. package/dist/esm/masks.mjs +0 -92
  153. package/dist/esm/masks.mjs.map +0 -1
  154. package/dist/esm/masks.native.js +0 -92
  155. package/dist/esm/masks.native.js.map +0 -1
  156. package/dist/esm/types.mjs +0 -2
  157. package/dist/esm/types.mjs.map +0 -1
  158. package/dist/esm/types.native.js +0 -2
  159. package/dist/esm/types.native.js.map +0 -1
@@ -0,0 +1,392 @@
1
+ import { parseToHsla } from 'color2k';
2
+ import { defaultComponentThemes } from './defaultComponentThemes.js';
3
+ import { defaultTemplates } from './defaultTemplates.js';
4
+ import { getThemeSuitePalettes, PALETTE_BACKGROUND_OFFSET, } from './getThemeSuitePalettes.js';
5
+ import { createThemeBuilder } from './ThemeBuilder.js';
6
+ // Implementation
7
+ export function createThemes(props) {
8
+ const { accent, childrenThemes, grandChildrenThemes, templates = defaultTemplates, componentThemes, getTheme, } = props;
9
+ const builder = createSimpleThemeBuilder({
10
+ extra: props.base.extra,
11
+ accentExtra: accent?.extra,
12
+ componentThemes,
13
+ palettes: createPalettes(getThemesPalettes(props)),
14
+ templates: templates,
15
+ accentTheme: !!accent,
16
+ childrenThemes: normalizeSubThemes(childrenThemes),
17
+ grandChildrenThemes: (grandChildrenThemes
18
+ ? normalizeSubThemes(grandChildrenThemes)
19
+ : undefined),
20
+ getTheme: getTheme,
21
+ });
22
+ lastBuilder = builder.themeBuilder;
23
+ return builder.themes;
24
+ }
25
+ let lastBuilder = null;
26
+ export const getLastBuilder = () => lastBuilder;
27
+ /**
28
+ * V4 version of createThemes - uses v4 theme ordering for backwards compatibility.
29
+ * Use this for v4 themes (like v4-hanzogui.ts).
30
+ */
31
+ export function createV4Themes(props) {
32
+ const { accent, childrenThemes, grandChildrenThemes, templates = defaultTemplates, componentThemes, getTheme, } = props;
33
+ const builder = createV4ThemeBuilder({
34
+ extra: props.base.extra,
35
+ accentExtra: accent?.extra,
36
+ componentThemes,
37
+ palettes: createPalettes(getThemesPalettes(props)),
38
+ templates: templates,
39
+ accentTheme: !!accent,
40
+ childrenThemes: normalizeSubThemes(childrenThemes),
41
+ grandChildrenThemes: (grandChildrenThemes
42
+ ? normalizeSubThemes(grandChildrenThemes)
43
+ : undefined),
44
+ getTheme: getTheme,
45
+ });
46
+ lastBuilder = builder.themeBuilder;
47
+ return builder.themes;
48
+ }
49
+ function normalizeSubThemes(defs) {
50
+ return Object.fromEntries(Object.entries(defs || {}).map(([name, value]) => {
51
+ const hasPalette = value.palette !== undefined;
52
+ return [
53
+ name,
54
+ {
55
+ // Only add palette if the definition has one, otherwise theme is template-only
56
+ ...(hasPalette ? { palette: name } : {}),
57
+ template: value.template || 'base',
58
+ },
59
+ ];
60
+ }));
61
+ }
62
+ const defaultPalettes = createPalettes(getThemesPalettes({
63
+ base: {
64
+ palette: ['#fff', '#000'],
65
+ },
66
+ accent: {
67
+ palette: ['#ff0000', '#ff9999'],
68
+ },
69
+ }));
70
+ // a simpler API surface
71
+ export function createSimpleThemeBuilder(props) {
72
+ const { getTheme, extra, accentExtra, childrenThemes = null, grandChildrenThemes = null, templates = defaultTemplates, palettes = defaultPalettes, accentTheme, componentThemes = templates === defaultTemplates
73
+ ? defaultComponentThemes
74
+ : undefined, } = props;
75
+ // start theme-builder
76
+ let themeBuilder = createThemeBuilder()
77
+ .addPalettes(palettes)
78
+ .addTemplates(templates)
79
+ .addThemes({
80
+ light: {
81
+ template: 'base',
82
+ palette: 'light',
83
+ nonInheritedValues: {
84
+ ...extra?.light,
85
+ ...(accentTheme &&
86
+ palettes.light_accent && {
87
+ accent1: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 0],
88
+ accent2: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 1],
89
+ accent3: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 2],
90
+ accent4: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 3],
91
+ accent5: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 4],
92
+ accent6: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 5],
93
+ accent7: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 6],
94
+ accent8: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 7],
95
+ accent9: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 8],
96
+ accent10: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 9],
97
+ accent11: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 10],
98
+ accent12: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 11],
99
+ }),
100
+ },
101
+ },
102
+ dark: {
103
+ template: 'base',
104
+ palette: 'dark',
105
+ nonInheritedValues: {
106
+ ...extra?.dark,
107
+ ...(accentTheme &&
108
+ palettes.dark_accent && {
109
+ accent1: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 0],
110
+ accent2: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 1],
111
+ accent3: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 2],
112
+ accent4: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 3],
113
+ accent5: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 4],
114
+ accent6: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 5],
115
+ accent7: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 6],
116
+ accent8: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 7],
117
+ accent9: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 8],
118
+ accent10: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 9],
119
+ accent11: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 10],
120
+ accent12: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 11],
121
+ }),
122
+ },
123
+ },
124
+ });
125
+ // v5 behavior: add accent FIRST, without avoidNestingWithin
126
+ if (palettes.light_accent) {
127
+ themeBuilder = themeBuilder.addChildThemes({
128
+ accent: [
129
+ {
130
+ parent: 'light',
131
+ template: 'base',
132
+ palette: 'light_accent',
133
+ nonInheritedValues: accentExtra?.light,
134
+ },
135
+ {
136
+ parent: 'dark',
137
+ template: 'base',
138
+ palette: 'dark_accent',
139
+ nonInheritedValues: accentExtra?.dark,
140
+ },
141
+ ],
142
+ });
143
+ }
144
+ // then add children and grandChildren
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: 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: { light: lhue, dark: dhue },
184
+ sat: { light: lsat, dark: dsat },
185
+ lum: { light: llum, dark: dlum },
186
+ alpha: { light: lalpha, dark: dalpha },
187
+ };
188
+ });
189
+ return anchors;
190
+ }
191
+ function spreadIndex(maxIndex, numItems, index) {
192
+ return Math.round((index / (numItems - 1)) * maxIndex);
193
+ }
194
+ function coerceSimplePaletteToSchemePalette(def) {
195
+ return Array.isArray(def) ? getSchemePalette(def) : def;
196
+ }
197
+ function getThemesPalettes(props) {
198
+ const base = coerceSimplePaletteToSchemePalette(props.base.palette);
199
+ const accent = props.accent
200
+ ? coerceSimplePaletteToSchemePalette(props.accent.palette)
201
+ : null;
202
+ const baseAnchors = getAnchors(base);
203
+ function getSubThemesPalettes(defs, isGrandChildren = false) {
204
+ return Object.fromEntries(Object.entries(defs)
205
+ .map(([key, value]) => {
206
+ // For grandChildren accent without custom palette: skip it entirely
207
+ // It will inherit from parent in the theme builder
208
+ if (isGrandChildren && key === 'accent' && !value.palette) {
209
+ return null;
210
+ }
211
+ return [
212
+ key,
213
+ {
214
+ name: key,
215
+ anchors: value.palette
216
+ ? getAnchors(coerceSimplePaletteToSchemePalette(value.palette))
217
+ : baseAnchors,
218
+ },
219
+ ];
220
+ })
221
+ .filter(Boolean));
222
+ }
223
+ return {
224
+ base: {
225
+ name: 'base',
226
+ anchors: baseAnchors,
227
+ },
228
+ ...(accent && {
229
+ accent: {
230
+ name: 'accent',
231
+ anchors: getAnchors(accent),
232
+ },
233
+ }),
234
+ ...(props.childrenThemes && getSubThemesPalettes(props.childrenThemes, false)),
235
+ ...(props.grandChildrenThemes &&
236
+ getSubThemesPalettes(props.grandChildrenThemes, true)),
237
+ };
238
+ }
239
+ export const getComponentThemes = (components) => {
240
+ return Object.fromEntries(Object.entries(components).map(([componentName, { template }]) => {
241
+ return [
242
+ componentName,
243
+ {
244
+ parent: '',
245
+ template: template || 'base',
246
+ },
247
+ ];
248
+ }));
249
+ };
250
+ export function createPalettes(palettes) {
251
+ const accentPalettes = palettes.accent ? getThemeSuitePalettes(palettes.accent) : null;
252
+ const basePalettes = getThemeSuitePalettes(palettes.base);
253
+ const next = Object.fromEntries(Object.entries(palettes).flatMap(([name, palette]) => {
254
+ const palettes = getThemeSuitePalettes(palette);
255
+ const isAccent = name.startsWith('accent');
256
+ const oppositePalettes = isAccent ? basePalettes : accentPalettes || basePalettes;
257
+ if (!oppositePalettes) {
258
+ return [];
259
+ }
260
+ const oppositeLight = oppositePalettes.light;
261
+ const oppositeDark = oppositePalettes.dark;
262
+ const bgOffset = 7;
263
+ const out = [
264
+ [
265
+ name === 'base' ? 'light' : `light_${name}`,
266
+ [
267
+ oppositeLight[bgOffset],
268
+ ...palettes.light,
269
+ oppositeLight[oppositeLight.length - bgOffset - 1],
270
+ ],
271
+ ],
272
+ [
273
+ name === 'base' ? 'dark' : `dark_${name}`,
274
+ [
275
+ oppositeDark[oppositeDark.length - bgOffset - 1],
276
+ ...palettes.dark,
277
+ oppositeDark[bgOffset],
278
+ ],
279
+ ],
280
+ ];
281
+ return out;
282
+ }));
283
+ return next;
284
+ }
285
+ /**
286
+ * V4 theme builder - preserves v4 ordering for backwards compatibility:
287
+ * - Children and grandChildren themes are added FIRST
288
+ * - Accent theme is added LAST with avoidNestingWithin for children themes
289
+ *
290
+ * Use this for v4 themes (like v4-hanzogui.ts). The default createSimpleThemeBuilder
291
+ * now uses v5 ordering.
292
+ */
293
+ export function createV4ThemeBuilder(props) {
294
+ const { getTheme, extra, accentExtra, childrenThemes = null, grandChildrenThemes = null, templates = defaultTemplates, palettes = defaultPalettes, accentTheme, componentThemes = templates === defaultTemplates
295
+ ? defaultComponentThemes
296
+ : undefined, } = props;
297
+ // start theme-builder
298
+ let themeBuilder = createThemeBuilder()
299
+ .addPalettes(palettes)
300
+ .addTemplates(templates)
301
+ .addThemes({
302
+ light: {
303
+ template: 'base',
304
+ palette: 'light',
305
+ nonInheritedValues: {
306
+ ...extra?.light,
307
+ ...(accentTheme &&
308
+ palettes.light_accent && {
309
+ accent1: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 0],
310
+ accent2: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 1],
311
+ accent3: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 2],
312
+ accent4: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 3],
313
+ accent5: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 4],
314
+ accent6: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 5],
315
+ accent7: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 6],
316
+ accent8: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 7],
317
+ accent9: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 8],
318
+ accent10: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 9],
319
+ accent11: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 10],
320
+ accent12: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 11],
321
+ }),
322
+ },
323
+ },
324
+ dark: {
325
+ template: 'base',
326
+ palette: 'dark',
327
+ nonInheritedValues: {
328
+ ...extra?.dark,
329
+ ...(accentTheme &&
330
+ palettes.dark_accent && {
331
+ accent1: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 0],
332
+ accent2: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 1],
333
+ accent3: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 2],
334
+ accent4: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 3],
335
+ accent5: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 4],
336
+ accent6: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 5],
337
+ accent7: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 6],
338
+ accent8: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 7],
339
+ accent9: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 8],
340
+ accent10: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 9],
341
+ accent11: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 10],
342
+ accent12: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 11],
343
+ }),
344
+ },
345
+ },
346
+ });
347
+ // v4 behavior: add children and grandChildren FIRST
348
+ if (childrenThemes) {
349
+ themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
350
+ avoidNestingWithin: ['accent'],
351
+ });
352
+ }
353
+ if (grandChildrenThemes) {
354
+ themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
355
+ avoidNestingWithin: ['accent'],
356
+ });
357
+ }
358
+ // then add accent LAST with avoidNestingWithin
359
+ if (palettes.light_accent) {
360
+ themeBuilder = themeBuilder.addChildThemes({
361
+ accent: [
362
+ {
363
+ parent: 'light',
364
+ template: 'base',
365
+ palette: 'light_accent',
366
+ nonInheritedValues: accentExtra?.light,
367
+ },
368
+ {
369
+ parent: 'dark',
370
+ template: 'base',
371
+ palette: 'dark_accent',
372
+ nonInheritedValues: accentExtra?.dark,
373
+ },
374
+ ],
375
+ }, {
376
+ avoidNestingWithin: Object.keys(childrenThemes || {}),
377
+ });
378
+ }
379
+ if (componentThemes) {
380
+ themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
381
+ avoidNestingWithin: Object.keys(grandChildrenThemes || {}),
382
+ });
383
+ }
384
+ if (getTheme) {
385
+ themeBuilder = themeBuilder.getTheme(getTheme);
386
+ }
387
+ return {
388
+ themeBuilder: themeBuilder,
389
+ themes: themeBuilder.build(),
390
+ };
391
+ }
392
+ //# sourceMappingURL=createThemes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createThemes.js","sourceRoot":"","sources":["../../src/createThemes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @deprecated component themes are no longer recommended - configure component styles directly via themes or component defaultProps instead
3
+ */
4
+ export const defaultComponentThemes = {
5
+ ListItem: { template: 'surface1' },
6
+ SelectItem: { template: 'surface1' },
7
+ SelectTrigger: { template: 'surface1' },
8
+ Card: { template: 'surface1' },
9
+ Button: { template: 'surface3' },
10
+ Checkbox: { template: 'surface2' },
11
+ Switch: { template: 'surface2' },
12
+ SwitchThumb: { template: 'inverse' },
13
+ TooltipContent: { template: 'surface2' },
14
+ Progress: { template: 'surface1' },
15
+ RadioGroupItem: { template: 'surface2' },
16
+ TooltipArrow: { template: 'surface1' },
17
+ SliderTrackActive: { template: 'surface2' },
18
+ SliderTrack: { template: 'inverse' },
19
+ SliderThumb: { template: 'inverse' },
20
+ Tooltip: { template: 'inverse' },
21
+ ProgressIndicator: { template: 'inverse' },
22
+ Input: { template: 'surface1' },
23
+ TextArea: { template: 'surface1' },
24
+ };
25
+ //# sourceMappingURL=defaultComponentThemes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultComponentThemes.js","sourceRoot":"","sources":["../../src/defaultComponentThemes.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAClC,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IACpC,aAAa,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IACvC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC9B,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAChC,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAClC,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAChC,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IACpC,cAAc,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAClC,cAAc,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IACxC,YAAY,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IACtC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC3C,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IACpC,WAAW,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IACpC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAChC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;IAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;CACF,CAAA"}
@@ -0,0 +1,133 @@
1
+ import { objectFromEntries, objectKeys } from './helpers.js';
2
+ const getTemplates = () => {
3
+ const lightTemplates = getBaseTemplates('light');
4
+ const darkTemplates = getBaseTemplates('dark');
5
+ const templates = {
6
+ ...objectFromEntries(objectKeys(lightTemplates).map((name) => [`light_${name}`, lightTemplates[name]])),
7
+ ...objectFromEntries(objectKeys(darkTemplates).map((name) => [`dark_${name}`, darkTemplates[name]])),
8
+ };
9
+ return templates;
10
+ };
11
+ const getBaseTemplates = (scheme) => {
12
+ const isLight = scheme === 'light';
13
+ // our palettes have 4 things padding each end until you get to bg/color:
14
+ // [accentBg, transparent1, transparent2, transparent3, transparent4, background, ...]
15
+ const bgIndex = 6;
16
+ const lighten = isLight ? -1 : 1;
17
+ const darken = -lighten;
18
+ // always +1 because palette is structured with higher indices = more contrast from background
19
+ const increaseContrast = 1;
20
+ const borderColor = bgIndex + 3;
21
+ const baseColors = {
22
+ color: -bgIndex,
23
+ colorHover: -bgIndex - 1,
24
+ colorPress: -bgIndex,
25
+ colorFocus: -bgIndex - 1,
26
+ placeholderColor: -bgIndex - 3,
27
+ outlineColor: -2,
28
+ };
29
+ // templates use the palette and specify index
30
+ // negative goes backwards from end so -1 is the last item
31
+ const base = {
32
+ accentBackground: 0,
33
+ accentColor: -0,
34
+ background0: 1,
35
+ background02: 2,
36
+ background04: 3,
37
+ background06: 4,
38
+ background08: 5,
39
+ color1: bgIndex,
40
+ color2: bgIndex + 1,
41
+ color3: bgIndex + 2,
42
+ color4: bgIndex + 3,
43
+ color5: bgIndex + 4,
44
+ color6: bgIndex + 5,
45
+ color7: bgIndex + 6,
46
+ color8: bgIndex + 7,
47
+ color9: bgIndex + 8,
48
+ color10: bgIndex + 9,
49
+ color11: bgIndex + 10,
50
+ color12: bgIndex + 11,
51
+ color0: -1,
52
+ color02: -2,
53
+ color04: -3,
54
+ color06: -4,
55
+ color08: -5,
56
+ // the background, color, etc keys here work like generics - they make it so you
57
+ // can publish components for others to use without mandating a specific color scale
58
+ // the @hanzogui/button Button component looks for `$background`, so you set the
59
+ // dark_red_Button theme to have a stronger background than the dark_red theme.
60
+ background: bgIndex,
61
+ backgroundHover: bgIndex + increaseContrast * 2,
62
+ backgroundPress: bgIndex + increaseContrast * 3,
63
+ backgroundFocus: bgIndex + increaseContrast * 2,
64
+ borderColor,
65
+ borderColorHover: borderColor + lighten,
66
+ borderColorPress: borderColor + darken,
67
+ borderColorFocus: borderColor,
68
+ ...baseColors,
69
+ colorTransparent: -1,
70
+ };
71
+ const surface1 = {
72
+ ...baseColors,
73
+ background: base.background + 1,
74
+ backgroundHover: base.backgroundHover + 1,
75
+ backgroundPress: base.backgroundPress + 1,
76
+ backgroundFocus: base.backgroundFocus + 1,
77
+ backgroundActive: base.background + 1,
78
+ borderColor: base.borderColor + 1,
79
+ borderColorHover: base.borderColorHover + 1,
80
+ borderColorFocus: base.borderColorFocus + 1,
81
+ borderColorPress: base.borderColorPress + 1,
82
+ };
83
+ const surface2 = {
84
+ ...baseColors,
85
+ background: base.background + 2,
86
+ backgroundHover: base.backgroundHover + 2,
87
+ backgroundPress: base.backgroundPress + 2,
88
+ backgroundFocus: base.backgroundFocus + 2,
89
+ backgroundActive: base.background + 2,
90
+ borderColor: base.borderColor + 2,
91
+ borderColorHover: base.borderColorHover + 2,
92
+ borderColorFocus: base.borderColorFocus + 2,
93
+ borderColorPress: base.borderColorPress + 2,
94
+ };
95
+ const surface3 = {
96
+ ...baseColors,
97
+ background: base.background + 3,
98
+ backgroundHover: base.backgroundHover + 3,
99
+ backgroundPress: base.backgroundPress + 3,
100
+ backgroundFocus: base.backgroundFocus + 3,
101
+ backgroundActive: base.background + 3,
102
+ borderColor: base.borderColor + 3,
103
+ borderColorHover: base.borderColorHover + 3,
104
+ borderColorFocus: base.borderColorFocus + 3,
105
+ borderColorPress: base.borderColorPress + 3,
106
+ };
107
+ const alt1 = {
108
+ color: base.color - 1,
109
+ colorHover: base.colorHover - 1,
110
+ colorPress: base.colorPress - 1,
111
+ colorFocus: base.colorFocus - 1,
112
+ };
113
+ const alt2 = {
114
+ color: base.color - 2,
115
+ colorHover: base.colorHover - 2,
116
+ colorPress: base.colorPress - 2,
117
+ colorFocus: base.colorFocus - 2,
118
+ };
119
+ const inverse = Object.fromEntries(Object.entries(base).map(([key, index]) => {
120
+ return [key, -index];
121
+ }));
122
+ return {
123
+ base,
124
+ surface1,
125
+ surface2,
126
+ surface3,
127
+ alt1,
128
+ alt2,
129
+ inverse,
130
+ };
131
+ };
132
+ export const defaultTemplates = getTemplates();
133
+ //# sourceMappingURL=defaultTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultTemplates.js","sourceRoot":"","sources":["../../src/defaultTemplates.ts"],"names":[],"mappings":"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"}