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