@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,113 +5,167 @@ class ThemeBuilder {
5
5
  }
6
6
  _getThemeFn;
7
7
  addPalettes(palettes) {
8
- return this.state.palettes = {
8
+ this.state.palettes = {
9
9
  // as {} prevents generic string key merge messing up types
10
10
  ...this.state.palettes,
11
11
  ...palettes
12
- }, this;
12
+ };
13
+ return this;
13
14
  }
14
15
  addTemplates(templates) {
15
- return this.state.templates = {
16
+ this.state.templates = {
16
17
  // as {} prevents generic string key merge messing up types
17
18
  ...this.state.templates,
18
19
  ...templates
19
- }, this;
20
+ };
21
+ return this;
20
22
  }
21
23
  addMasks(masks) {
22
- return this.state.masks = {
24
+ this.state.masks = {
23
25
  // as {} prevents generic string key merge messing up types
24
26
  ...this.state.masks,
25
27
  ...objectFromEntries(objectEntries(masks).map(([key, val]) => [key, createMask(val)]))
26
- }, this;
28
+ };
29
+ return this;
27
30
  }
28
31
  // for dev mode only really
29
32
  _addedThemes = [];
30
33
  addThemes(themes) {
31
- return this._addedThemes.push({
34
+ this._addedThemes.push({
32
35
  type: "themes",
33
36
  args: [themes]
34
- }), this.state.themes = {
37
+ });
38
+ this.state.themes = {
35
39
  // as {} prevents generic string key merge messing up types
36
40
  ...this.state.themes,
37
41
  ...themes
38
- }, this;
42
+ };
43
+ return this;
39
44
  }
40
45
  // these wont be typed to save some complexity and because they don't need to be typed!
41
46
  addComponentThemes(childThemeDefinition, options) {
42
- return this.addChildThemes(childThemeDefinition, options), this;
47
+ void this.addChildThemes(childThemeDefinition, options);
48
+ return this;
43
49
  }
44
50
  addChildThemes(childThemeDefinition, options) {
45
51
  const currentThemes = this.state.themes;
46
- if (!currentThemes) throw new Error("No themes defined yet, use addThemes first to set your base themes");
52
+ if (!currentThemes) {
53
+ throw new Error(`No themes defined yet, use addThemes first to set your base themes`);
54
+ }
47
55
  this._addedThemes.push({
48
56
  type: "childThemes",
49
57
  args: [childThemeDefinition, options]
50
58
  });
51
- const currentThemeNames = Object.keys(currentThemes),
52
- incomingThemeNames = Object.keys(childThemeDefinition),
53
- namesWithDefinitions = currentThemeNames.flatMap(prefix => {
54
- const avoidNestingWithin = options?.avoidNestingWithin;
55
- return avoidNestingWithin && avoidNestingWithin.some(avoidName => prefix.startsWith(avoidName) || prefix.endsWith(avoidName)) ? [] : incomingThemeNames.map(subName => {
56
- const fullName = `${prefix}_${subName}`,
57
- definition = childThemeDefinition[subName];
58
- return "avoidNestingWithin" in definition && definition.avoidNestingWithin.some(name => (name === "light" || name === "dark") && prefix.includes("_") ? !1 : prefix.startsWith(name) || prefix.endsWith(name)) || prefix.endsWith(`_${subName}`) ? null : [fullName, definition];
59
- }).filter(Boolean);
60
- }),
61
- childThemes = Object.fromEntries(namesWithDefinitions),
62
- next = {
63
- // as {} prevents generic string key merge messing up types
64
- ...this.state.themes,
65
- ...childThemes
66
- };
67
- return this.state.themes = next, this;
59
+ const currentThemeNames = Object.keys(currentThemes);
60
+ const incomingThemeNames = Object.keys(childThemeDefinition);
61
+ const namesWithDefinitions = currentThemeNames.flatMap(prefix => {
62
+ const avoidNestingWithin = options?.avoidNestingWithin;
63
+ if (avoidNestingWithin) {
64
+ if (avoidNestingWithin.some(avoidName => prefix.startsWith(avoidName) || prefix.endsWith(avoidName))) {
65
+ return [];
66
+ }
67
+ }
68
+ return incomingThemeNames.map(subName => {
69
+ const fullName = `${prefix}_${subName}`;
70
+ const definition = childThemeDefinition[subName];
71
+ if ("avoidNestingWithin" in definition) {
72
+ const avoidNest = definition.avoidNestingWithin;
73
+ if (avoidNest.some(name => {
74
+ if ((name === "light" || name === "dark") && prefix.includes("_")) {
75
+ return false;
76
+ }
77
+ return prefix.startsWith(name) || prefix.endsWith(name);
78
+ })) {
79
+ return null;
80
+ }
81
+ }
82
+ if (prefix.endsWith(`_${subName}`)) {
83
+ return null;
84
+ }
85
+ if (fullName in currentThemes) {
86
+ return null;
87
+ }
88
+ return [fullName, definition];
89
+ }).filter(Boolean);
90
+ });
91
+ const childThemes = Object.fromEntries(namesWithDefinitions);
92
+ const next = {
93
+ // as {} prevents generic string key merge messing up types
94
+ ...this.state.themes,
95
+ ...childThemes
96
+ };
97
+ this.state.themes = next;
98
+ return this;
68
99
  }
69
100
  getTheme(fn) {
70
- return this._getThemeFn = fn, this;
101
+ this._getThemeFn = fn;
102
+ return this;
71
103
  }
72
104
  build() {
73
- if (!this.state.themes) return {};
74
- const out = {},
75
- maskedThemes = [];
105
+ if (!this.state.themes) {
106
+ return {};
107
+ }
108
+ const out = {};
109
+ const maskedThemes = [];
76
110
  for (const themeName in this.state.themes) {
77
- const nameParts = themeName.split("_"),
78
- parentName = nameParts.slice(0, nameParts.length - 1).join("_"),
79
- definitions = this.state.themes[themeName],
80
- themeDefinition = Array.isArray(definitions) ? (() => {
81
- const found = definitions.find(
82
- // endWith match stronger than startsWith
83
- d => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : !0);
84
- return found || null;
85
- })() : definitions;
86
- if (themeDefinition) if ("theme" in themeDefinition) out[themeName] = themeDefinition.theme;else if ("mask" in themeDefinition) maskedThemes.push({
87
- parentName,
88
- themeName,
89
- mask: themeDefinition
90
- });else {
111
+ const nameParts = themeName.split("_");
112
+ const parentName = nameParts.slice(0, nameParts.length - 1).join("_");
113
+ const definitions = this.state.themes[themeName];
114
+ const themeDefinition = Array.isArray(definitions) ? (() => {
115
+ const found = definitions.find(
116
+ // endWith match stronger than startsWith
117
+ d => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : true);
118
+ if (!found) {
119
+ return null;
120
+ }
121
+ return found;
122
+ })() : definitions;
123
+ if (!themeDefinition) {
124
+ continue;
125
+ }
126
+ if ("theme" in themeDefinition) {
127
+ out[themeName] = themeDefinition.theme;
128
+ } else if ("mask" in themeDefinition) {
129
+ maskedThemes.push({
130
+ parentName,
131
+ themeName,
132
+ mask: themeDefinition
133
+ });
134
+ } else {
91
135
  let {
92
136
  palette: paletteName = "",
93
137
  template: templateName,
94
138
  ...options
95
139
  } = themeDefinition;
96
140
  const parentDefinition = this.state.themes[parentName];
97
- if (!this.state.palettes) throw new Error(`No palettes defined for theme with palette expected: ${themeName}`);
98
- let palette = this.state.palettes[paletteName || ""],
99
- attemptParentName = `${parentName}_${paletteName}`;
100
- for (; !palette && attemptParentName;) attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
141
+ if (!this.state.palettes) {
142
+ throw new Error(`No palettes defined for theme with palette expected: ${themeName}`);
143
+ }
144
+ let palette = this.state.palettes[paletteName || ""];
145
+ let attemptParentName = `${parentName}_${paletteName}`;
146
+ while (!palette && attemptParentName) {
147
+ if (attemptParentName in this.state.palettes) {
148
+ palette = this.state.palettes[attemptParentName];
149
+ paletteName = attemptParentName;
150
+ } else {
151
+ attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
152
+ }
153
+ }
101
154
  if (!palette) {
102
155
  const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
103
156
  Definition: ${JSON.stringify(themeDefinition)}
104
157
  Parent: ${JSON.stringify(parentDefinition)}
105
- Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
158
+ Potential: (${Object.keys(this.state.palettes).join(", ")})` : ``;
106
159
  throw new Error(`No palette for theme${msg}`);
107
160
  }
108
161
  const template = this.state.templates?.[templateName] ??
109
162
  // fall back to finding the scheme specific on if it exists
110
163
  this.state.templates?.[`${nameParts[0]}_${templateName}`];
111
- if (!template) throw new Error(`No template for theme ${themeName}: ${templateName} in templates:
112
- - ${Object.keys(this.state.templates || {}).join(`
113
- - `)}`);
114
- const theme = createThemeWithPalettes(this.state.palettes, paletteName, template, options, themeName, !0);
164
+ if (!template) {
165
+ throw new Error(`No template for theme ${themeName}: ${templateName} in templates:
166
+ - ${Object.keys(this.state.templates || {}).join("\n - ")}`);
167
+ }
168
+ const theme = createThemeWithPalettes(this.state.palettes, paletteName, template, options, themeName, true);
115
169
  out[themeName] = this._getThemeFn ? {
116
170
  ...theme,
117
171
  ...this._getThemeFn({
@@ -133,20 +187,27 @@ class ThemeBuilder {
133
187
  parentName
134
188
  } of maskedThemes) {
135
189
  const parent = out[parentName];
136
- if (!parent) continue;
190
+ if (!parent) {
191
+ continue;
192
+ }
137
193
  const {
138
194
  mask: maskName,
139
195
  ...options
140
196
  } = mask;
141
197
  let maskFunction = this.state.masks?.[maskName];
142
- if (!maskFunction) throw new Error(`No mask ${maskName}`);
198
+ if (!maskFunction) {
199
+ throw new Error(`No mask ${maskName}`);
200
+ }
143
201
  const parentTheme = this.state.themes[parentName];
144
202
  if (parentTheme && "childOptions" in parentTheme) {
145
203
  const {
146
204
  mask: mask2,
147
205
  ...childOpts
148
206
  } = parentTheme.childOptions;
149
- mask2 && (maskFunction = this.state.masks?.[mask2]), Object.assign(options, childOpts);
207
+ if (mask2) {
208
+ maskFunction = this.state.masks?.[mask2];
209
+ }
210
+ Object.assign(options, childOpts);
150
211
  }
151
212
  out[themeName] = applyMask(parent, maskFunction, options, parentName, themeName);
152
213
  }
@@ -1 +1 @@
1
- {"version":3,"names":["applyMask","createMask","createThemeWithPalettes","objectEntries","objectFromEntries","ThemeBuilder","constructor","state","_getThemeFn","addPalettes","palettes","addTemplates","templates","addMasks","masks","map","key","val","_addedThemes","addThemes","themes","push","type","args","addComponentThemes","childThemeDefinition","options","addChildThemes","currentThemes","Error","currentThemeNames","Object","keys","incomingThemeNames","namesWithDefinitions","flatMap","prefix","avoidNestingWithin","some","avoidName","startsWith","endsWith","subName","fullName","definition","name","includes","filter","Boolean","childThemes","fromEntries","next","getTheme","fn","build","out","maskedThemes","themeName","nameParts","split","parentName","slice","length","join","definitions","themeDefinition","Array","isArray","found","find","d","parent","theme","mask","palette","paletteName","template","templateName","parentDefinition","attemptParentName","msg","process","env","NODE_ENV","JSON","stringify","level","scheme","test","parentNames","maskName","maskFunction","parentTheme","mask2","childOpts","childOptions","assign","createThemeBuilder"],"sources":["../../src/ThemeBuilder.ts"],"sourcesContent":[null],"mappings":"AAQA,SACEA,SAAA,EACAC,UAAA,EACAC,uBAAA,EACAC,aAAA,EACAC,iBAAA,QACK;AAwFA,MAAMC,YAAA,CAGX;EAGAC,YAAmBC,KAAA,EAAc;IAAd,KAAAA,KAAA,GAAAA,KAAA;EAAe;EAF1BC,WAAA;EAIRC,YAAgDC,QAAA,EAAa;IAC3D,YAAKH,KAAA,CAAMG,QAAA,GAAW;MAAA;MAEpB,GAAI,KAAKH,KAAA,CAAMG,QAAA;MACf,GAAGA;IACL,GACO;EAMT;EAEAC,aAAkDC,SAAA,EAAc;IAC9D,YAAKL,KAAA,CAAMK,SAAA,GAAY;MAAA;MAErB,GAAI,KAAKL,KAAA,CAAMK,SAAA;MACf,GAAGA;IACL,GACO;EAMT;EAEAC,SAA0CC,KAAA,EAAU;IAClD,YAAKP,KAAA,CAAMO,KAAA,GAAQ;MAAA;MAEjB,GAAI,KAAKP,KAAA,CAAMO,KAAA;MACf,GAAIV,iBAAA,CACFD,aAAA,CAAcW,KAAK,EAAEC,GAAA,CAAI,CAAC,CAACC,GAAA,EAAKC,GAAG,MAAM,CAACD,GAAA,EAAKf,UAAA,CAAWgB,GAAG,CAAC,CAAC,CACjE;IACF,GACO;EAMT;EAAA;EAGAC,YAAA,GAAgE,EAAC;EAEjEC,UACEC,MAAA,EACA;IACA,YAAKF,YAAA,CAAaG,IAAA,CAAK;MAAEC,IAAA,EAAM;MAAUC,IAAA,EAAM,CAACH,MAAM;IAAE,CAAC,GAEzD,KAAKb,KAAA,CAAMa,MAAA,GAAS;MAAA;MAElB,GAAI,KAAKb,KAAA,CAAMa,MAAA;MACf,GAAGA;IACL,GAUO;EAUT;EAAA;EAGAI,mBAGEC,oBAAA,EACAC,OAAA,EAGA;IACA,OAAK,KAAKC,cAAA,CAAeF,oBAAA,EAAsBC,OAAO,GAC/C;EACT;EAEAC,eAIEF,oBAAA,EACAC,OAAA,EAGA;IACA,MAAME,aAAA,GAAgB,KAAKrB,KAAA,CAAMa,MAAA;IACjC,IAAI,CAACQ,aAAA,EACH,MAAM,IAAIC,KAAA,CACR,oEACF;IAGF,KAAKX,YAAA,CAAaG,IAAA,CAAK;MAAEC,IAAA,EAAM;MAAeC,IAAA,EAAM,CAACE,oBAAA,EAAsBC,OAAO;IAAE,CAAC;IAMrF,MAAMI,iBAAA,GAAoBC,MAAA,CAAOC,IAAA,CAAKJ,aAAa;MAC7CK,kBAAA,GAAqBF,MAAA,CAAOC,IAAA,CAAKP,oBAAoB;MAErDS,oBAAA,GAAuBJ,iBAAA,CAAkBK,OAAA,CAASC,MAAA,IAAW;QACjE,MAAMC,kBAAA,GAAqBX,OAAA,EAASW,kBAAA;QACpC,OAAIA,kBAAA,IAEAA,kBAAA,CAAmBC,IAAA,CAChBC,SAAA,IAAcH,MAAA,CAAOI,UAAA,CAAWD,SAAS,KAAKH,MAAA,CAAOK,QAAA,CAASF,SAAS,CAC1E,IAEO,EAAC,GAILN,kBAAA,CACJlB,GAAA,CAAK2B,OAAA,IAAY;UAChB,MAAMC,QAAA,GAAW,GAAGP,MAAM,IAAIM,OAAO;YAC/BE,UAAA,GAAanB,oBAAA,CAAqBiB,OAAO;UAmB/C,OAjBI,wBAAwBE,UAAA,IACRA,UAAA,CAAWP,kBAAA,CAEjBC,IAAA,CAAMO,IAAA,KAETA,IAAA,KAAS,WAAWA,IAAA,KAAS,WAAWT,MAAA,CAAOU,QAAA,CAAS,GAAG,IACvD,KAEFV,MAAA,CAAOI,UAAA,CAAWK,IAAI,KAAKT,MAAA,CAAOK,QAAA,CAASI,IAAI,CACvD,KAQDT,MAAA,CAAOK,QAAA,CAAS,IAAIC,OAAO,EAAE,IACxB,OAGF,CAACC,QAAA,EAAUC,UAAU;QAC9B,CAAC,EACAG,MAAA,CAAOC,OAAO;MACnB,CAAC;MAQKC,WAAA,GAAclB,MAAA,CAAOmB,WAAA,CAAYhB,oBAAoB;MAErDiB,IAAA,GAAO;QAAA;QAEX,GAAI,KAAK5C,KAAA,CAAMa,MAAA;QACf,GAAG6B;MACL;IAGA,YAAK1C,KAAA,CAAMa,MAAA,GAAS+B,IAAA,EAEb;EAMT;EAEAC,SACEC,EAAA,EAUA;IACA,YAAK7C,WAAA,GAAc6C,EAAA,EACZ;EACT;EAEAC,MAAA,EAAoD;IAClD,IAAI,CAAC,KAAK/C,KAAA,CAAMa,MAAA,EACd,OAAO,CAAC;IAGV,MAAMmC,GAAA,GAAM,CAAC;MACPC,YAAA,GAIA,EAAC;IAEP,WAAWC,SAAA,IAAa,KAAKlD,KAAA,CAAMa,MAAA,EAAQ;MACzC,MAAMsC,SAAA,GAAYD,SAAA,CAAUE,KAAA,CAAM,GAAG;QAC/BC,UAAA,GAAaF,SAAA,CAAUG,KAAA,CAAM,GAAGH,SAAA,CAAUI,MAAA,GAAS,CAAC,EAAEC,IAAA,CAAK,GAAG;QAE9DC,WAAA,GAAc,KAAKzD,KAAA,CAAMa,MAAA,CAAOqC,SAAS;QACzCQ,eAAA,GAAkBC,KAAA,CAAMC,OAAA,CAAQH,WAAW,KAC5C,MAAM;UACL,MAAMI,KAAA,GAAQJ,WAAA,CAAYK,IAAA;UAAA;UAEvBC,CAAA,IACCA,CAAA,CAAEC,MAAA,GACEX,UAAA,CAAWnB,QAAA,CAAS6B,CAAA,CAAEC,MAAO,KAAKX,UAAA,CAAWpB,UAAA,CAAW8B,CAAA,CAAEC,MAAO,IACjE,EACR;UACA,OAAKH,KAAA,IACI;QAGX,GAAG,IACHJ,WAAA;MAEJ,IAAKC,eAAA,EAKL,IAAI,WAAWA,eAAA,EACbV,GAAA,CAAIE,SAAS,IAAIQ,eAAA,CAAgBO,KAAA,UACxB,UAAUP,eAAA,EACnBT,YAAA,CAAanC,IAAA,CAAK;QAAEuC,UAAA;QAAYH,SAAA;QAAWgB,IAAA,EAAMR;MAAgB,CAAC,OAC7D;QACL,IAAI;UACFS,OAAA,EAASC,WAAA,GAAc;UACvBC,QAAA,EAAUC,YAAA;UACV,GAAGnD;QACL,IAAIuC,eAAA;QAEJ,MAAMa,gBAAA,GAAmB,KAAKvE,KAAA,CAAMa,MAAA,CAAOwC,UAAU;QAErD,IAAI,CAAC,KAAKrD,KAAA,CAAMG,QAAA,EACd,MAAM,IAAImB,KAAA,CACR,wDAAwD4B,SAAS,EACnE;QAGF,IAAIiB,OAAA,GAAU,KAAKnE,KAAA,CAAMG,QAAA,CAASiE,WAAA,IAAe,EAAE;UAC/CI,iBAAA,GAAoB,GAAGnB,UAAU,IAAIe,WAAW;QAEpD,OAAO,CAACD,OAAA,IAAWK,iBAAA,GACbA,iBAAA,IAAqB,KAAKxE,KAAA,CAAMG,QAAA,IAClCgE,OAAA,GAAU,KAAKnE,KAAA,CAAMG,QAAA,CAASqE,iBAAiB,GAC/CJ,WAAA,GAAcI,iBAAA,IAEdA,iBAAA,GAAoBA,iBAAA,CAAkBpB,KAAA,CAAM,GAAG,EAAEE,KAAA,CAAM,GAAG,EAAE,EAAEE,IAAA,CAAK,GAAG;QAI1E,IAAI,CAACW,OAAA,EAAS;UACZ,MAAMM,GAAA,GACJC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eACrB,KAAK1B,SAAS,KAAKkB,WAAW;AAAA,wBACtBS,IAAA,CAAKC,SAAA,CAAUpB,eAAe,CAAC;AAAA,oBACnCmB,IAAA,CAAKC,SAAA,CAAUP,gBAAgB,CAAC;AAAA,wBAC5B/C,MAAA,CAAOC,IAAA,CAAK,KAAKzB,KAAA,CAAMG,QAAQ,EAAEqD,IAAA,CAAK,IAAI,CAAC,MACnD;UACN,MAAM,IAAIlC,KAAA,CAAM,uBAAuBmD,GAAG,EAAE;QAC9C;QAEA,MAAMJ,QAAA,GACJ,KAAKrE,KAAA,CAAMK,SAAA,GAAYiE,YAAY;QAAA;QAEnC,KAAKtE,KAAA,CAAMK,SAAA,GAAY,GAAG8C,SAAA,CAAU,CAAC,CAAC,IAAImB,YAAY,EAAE;QAE1D,IAAI,CAACD,QAAA,EACH,MAAM,IAAI/C,KAAA,CACR,yBAAyB4B,SAAS,KAAKoB,YAAY;AAAA,IAAqB9C,MAAA,CAAOC,IAAA,CAAK,KAAKzB,KAAA,CAAMK,SAAA,IAAa,CAAC,CAAC,EAAEmD,IAAA,CAAK;AAAA,IAAO,CAAC,EAC/H;QAGF,MAAMS,KAAA,GAAQtE,uBAAA,CACZ,KAAKK,KAAA,CAAMG,QAAA,EACXiE,WAAA,EACAC,QAAA,EACAlD,OAAA,EACA+B,SAAA,EACA,EACF;QAEAF,GAAA,CAAIE,SAAS,IAAI,KAAKjD,WAAA,GAClB;UACE,GAAGgE,KAAA;UACH,GAAG,KAAKhE,WAAA,CAAY;YAClBgE,KAAA;YACA3B,IAAA,EAAMY,SAAA;YACN6B,KAAA,EAAO5B,SAAA,CAAUI,MAAA;YACjBF,UAAA;YACA2B,MAAA,EAAQ,iBAAiBC,IAAA,CAAK9B,SAAA,CAAU,CAAC,CAAC,IACrCA,SAAA,CAAU,CAAC,IACZ;YACJ+B,WAAA,EAAa/B,SAAA,CAAUG,KAAA,CAAM,GAAG,EAAE;YAClCa,OAAA;YACAE;UACF,CAAC;QACH,IACAJ,KAAA;MACN;IACF;IAEA,WAAW;MAAEC,IAAA;MAAMhB,SAAA;MAAWG;IAAW,KAAKJ,YAAA,EAAc;MAC1D,MAAMe,MAAA,GAAShB,GAAA,CAAIK,UAAU;MAE7B,IAAI,CAACW,MAAA,EAEH;MAGF,MAAM;QAAEE,IAAA,EAAMiB,QAAA;QAAU,GAAGhE;MAAQ,IAAI+C,IAAA;MACvC,IAAIkB,YAAA,GAAe,KAAKpF,KAAA,CAAMO,KAAA,GAAQ4E,QAAQ;MAE9C,IAAI,CAACC,YAAA,EACH,MAAM,IAAI9D,KAAA,CAAM,WAAW6D,QAAQ,EAAE;MAGvC,MAAME,WAAA,GAAc,KAAKrF,KAAA,CAAMa,MAAA,CAAOwC,UAAU;MAEhD,IAAIgC,WAAA,IAAe,kBAAkBA,WAAA,EAAa;QAChD,MAAM;UAAEnB,IAAA,EAAAoB,KAAA;UAAM,GAAGC;QAAU,IAAIF,WAAA,CAAYG,YAAA;QACvCF,KAAA,KACFF,YAAA,GAAe,KAAKpF,KAAA,CAAMO,KAAA,GAAQ+E,KAAI,IAExC9D,MAAA,CAAOiE,MAAA,CAAOtE,OAAA,EAASoE,SAAS;MAClC;MAEAvC,GAAA,CAAIE,SAAS,IAAIzD,SAAA,CACfuE,MAAA,EACAoB,YAAA,EACAjE,OAAA,EACAkC,UAAA,EACAH,SACF;IACF;IAEA,OAAOF,GAAA;EACT;AACF;AAEO,SAAS0C,mBAAA,EAAqB;EACnC,OAAO,IAAI5F,YAAA,CAAa,CAAC,CAAC;AAC5B","ignoreList":[]}
1
+ {"version":3,"names":["applyMask","createMask","createThemeWithPalettes","objectEntries","objectFromEntries","ThemeBuilder","constructor","state","_getThemeFn","addPalettes","palettes","addTemplates","templates","addMasks","masks","map","key","val","_addedThemes","addThemes","themes","push","type","args","addComponentThemes","childThemeDefinition","options","addChildThemes","currentThemes","Error","currentThemeNames","Object","keys","incomingThemeNames","namesWithDefinitions","flatMap","prefix","avoidNestingWithin","some","avoidName","startsWith","endsWith","subName","fullName","definition","avoidNest","name","includes","filter","Boolean","childThemes","fromEntries","next","getTheme","fn","build","out","maskedThemes","themeName","nameParts","split","parentName","slice","length","join","definitions","themeDefinition","Array","isArray","found","find","d","parent","theme","mask","palette","paletteName","template","templateName","parentDefinition","attemptParentName","msg","process","env","NODE_ENV","JSON","stringify","level","scheme","test","parentNames","maskName","maskFunction","parentTheme","mask2","childOpts","childOptions","assign","createThemeBuilder"],"sources":["../../src/ThemeBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}