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