@tamagui/theme-builder 1.138.0 → 1.138.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 (36) hide show
  1. package/dist/cjs/ThemeBuilder.cjs +15 -1
  2. package/dist/cjs/ThemeBuilder.js +15 -1
  3. package/dist/cjs/ThemeBuilder.js.map +1 -1
  4. package/dist/cjs/ThemeBuilder.native.js +17 -2
  5. package/dist/cjs/ThemeBuilder.native.js.map +1 -1
  6. package/dist/cjs/createThemes.cjs +6 -3
  7. package/dist/cjs/createThemes.js +6 -3
  8. package/dist/cjs/createThemes.js.map +1 -1
  9. package/dist/cjs/createThemes.native.js +6 -3
  10. package/dist/cjs/createThemes.native.js.map +1 -1
  11. package/dist/esm/ThemeBuilder.js +15 -1
  12. package/dist/esm/ThemeBuilder.js.map +1 -1
  13. package/dist/esm/ThemeBuilder.mjs +15 -1
  14. package/dist/esm/ThemeBuilder.mjs.map +1 -1
  15. package/dist/esm/ThemeBuilder.native.js +17 -2
  16. package/dist/esm/ThemeBuilder.native.js.map +1 -1
  17. package/dist/esm/createThemes.js +6 -3
  18. package/dist/esm/createThemes.js.map +1 -1
  19. package/dist/esm/createThemes.mjs +6 -3
  20. package/dist/esm/createThemes.mjs.map +1 -1
  21. package/dist/esm/createThemes.native.js +6 -3
  22. package/dist/esm/createThemes.native.js.map +1 -1
  23. package/package.json +8 -5
  24. package/src/ThemeBuilder.ts +79 -10
  25. package/src/createThemes.ts +26 -14
  26. package/src/types.ts +11 -0
  27. package/types/ThemeBuilder.d.ts +32 -10
  28. package/types/ThemeBuilder.d.ts.map +1 -1
  29. package/types/createStudioThemes.d.ts +1 -1
  30. package/types/createThemes.d.ts +6 -9
  31. package/types/createThemes.d.ts.map +1 -1
  32. package/types/defaultTemplates.d.ts +1 -1
  33. package/types/defaultTemplatesStronger.d.ts +1 -1
  34. package/types/defaultTemplatesStrongest.d.ts +1 -1
  35. package/types/types.d.ts +10 -0
  36. package/types/types.d.ts.map +1 -1
@@ -29,6 +29,7 @@ class ThemeBuilder {
29
29
  constructor(state) {
30
30
  this.state = state;
31
31
  }
32
+ _getThemeFn;
32
33
  addPalettes(palettes) {
33
34
  return this.state.palettes = {
34
35
  // as {} prevents generic string key merge messing up types
@@ -91,6 +92,9 @@ class ThemeBuilder {
91
92
  };
92
93
  return this.state.themes = next, this;
93
94
  }
95
+ getTheme(fn) {
96
+ return this._getThemeFn = fn, this;
97
+ }
94
98
  build() {
95
99
  if (!this.state.themes) return {};
96
100
  const out = {},
@@ -133,7 +137,17 @@ class ThemeBuilder {
133
137
  if (!template) throw new Error(`No template for theme ${themeName}: ${templateName} in templates:
134
138
  - ${Object.keys(this.state.templates || {}).join(`
135
139
  - `)}`);
136
- out[themeName] = (0, import_create_theme.createThemeWithPalettes)(this.state.palettes, paletteName, template, options, themeName, !0);
140
+ const theme = (0, import_create_theme.createThemeWithPalettes)(this.state.palettes, paletteName, template, options, themeName, !0);
141
+ out[themeName] = this._getThemeFn ? this._getThemeFn({
142
+ theme,
143
+ name: themeName,
144
+ level: nameParts.length,
145
+ parentName,
146
+ scheme: /^(light|dark)$/.test(nameParts[0]) ? nameParts[0] : void 0,
147
+ parentNames: nameParts.slice(0, -1),
148
+ palette,
149
+ template
150
+ }) : theme;
137
151
  }
138
152
  }
139
153
  for (const {
@@ -23,6 +23,7 @@ class ThemeBuilder {
23
23
  constructor(state) {
24
24
  this.state = state;
25
25
  }
26
+ _getThemeFn;
26
27
  addPalettes(palettes) {
27
28
  return this.state.palettes = {
28
29
  // as {} prevents generic string key merge messing up types
@@ -81,6 +82,9 @@ class ThemeBuilder {
81
82
  };
82
83
  return this.state.themes = next, this;
83
84
  }
85
+ getTheme(fn) {
86
+ return this._getThemeFn = fn, this;
87
+ }
84
88
  build() {
85
89
  if (!this.state.themes)
86
90
  return {};
@@ -127,7 +131,7 @@ class ThemeBuilder {
127
131
  - ${Object.keys(this.state.templates || {}).join(`
128
132
  - `)}`
129
133
  );
130
- out[themeName] = (0, import_create_theme.createThemeWithPalettes)(
134
+ const theme = (0, import_create_theme.createThemeWithPalettes)(
131
135
  this.state.palettes,
132
136
  paletteName,
133
137
  template,
@@ -135,6 +139,16 @@ class ThemeBuilder {
135
139
  themeName,
136
140
  !0
137
141
  );
142
+ out[themeName] = this._getThemeFn ? this._getThemeFn({
143
+ theme,
144
+ name: themeName,
145
+ level: nameParts.length,
146
+ parentName,
147
+ scheme: /^(light|dark)$/.test(nameParts[0]) ? nameParts[0] : void 0,
148
+ parentNames: nameParts.slice(0, -1),
149
+ palette,
150
+ template
151
+ }) : theme;
138
152
  }
139
153
  }
140
154
  for (const { mask, themeName, parentName } of maskedThemes) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ThemeBuilder.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["mask"]
6
6
  }
@@ -51,7 +51,7 @@ var ThemeBuilder = /* @__PURE__ */function () {
51
51
  "use strict";
52
52
 
53
53
  function ThemeBuilder2(state) {
54
- _class_call_check(this, ThemeBuilder2), _define_property(this, "state", void 0), _define_property(this, "_addedThemes", void 0), this.state = state, this._addedThemes = [];
54
+ _class_call_check(this, ThemeBuilder2), _define_property(this, "state", void 0), _define_property(this, "_getThemeFn", void 0), _define_property(this, "_addedThemes", void 0), this.state = state, this._addedThemes = [];
55
55
  }
56
56
  return _create_class(ThemeBuilder2, [{
57
57
  key: "addPalettes",
@@ -140,6 +140,11 @@ var ThemeBuilder = /* @__PURE__ */function () {
140
140
  };
141
141
  return this.state.themes = next, this;
142
142
  }
143
+ }, {
144
+ key: "getTheme",
145
+ value: function (fn) {
146
+ return this._getThemeFn = fn, this;
147
+ }
143
148
  }, {
144
149
  key: "build",
145
150
  value: function () {
@@ -184,7 +189,17 @@ var ThemeBuilder = /* @__PURE__ */function () {
184
189
  if (!template) throw new Error(`No template for theme ${themeName2}: ${templateName} in templates:
185
190
  - ${Object.keys(_this.state.templates || {}).join(`
186
191
  - `)}`);
187
- out[themeName2] = (0, import_create_theme.createThemeWithPalettes)(_this.state.palettes, paletteName, template, options2, themeName2, !0);
192
+ var theme = (0, import_create_theme.createThemeWithPalettes)(_this.state.palettes, paletteName, template, options2, themeName2, !0);
193
+ out[themeName2] = _this._getThemeFn ? _this._getThemeFn({
194
+ theme,
195
+ name: themeName2,
196
+ level: nameParts.length,
197
+ parentName: parentName2,
198
+ scheme: /^(light|dark)$/.test(nameParts[0]) ? nameParts[0] : void 0,
199
+ parentNames: nameParts.slice(0, -1),
200
+ palette,
201
+ template
202
+ }) : theme;
188
203
  }
189
204
  };
190
205
  if (!this.state.themes) return {};
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ThemeBuilder_exports","__export","ThemeBuilder","createThemeBuilder","module","exports","import_create_theme","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","ThemeBuilder2","state","_addedThemes","palettes","templates","masks","objectFromEntries","objectEntries","map","param","val","createMask","themes","push","type","args","childThemeDefinition","options","addChildThemes","currentThemes","Error","currentThemeNames","keys","incomingThemeNames","namesWithDefinitions","flatMap","prefix","avoidNestingWithin","some","avoidName","startsWith","endsWith","subName","fullName","definition","avoidNest","name","filter","Boolean","childThemes","fromEntries","next","_this","_loop","themeName2","nameParts","split","parentName2","slice","join","definitions","themeDefinition","Array","isArray","found","find","d","parent"],"sources":["../../src/ThemeBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ThemeBuilder_exports","__export","ThemeBuilder","createThemeBuilder","module","exports","import_create_theme","require","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","ThemeBuilder2","state","_addedThemes","palettes","templates","masks","objectFromEntries","objectEntries","map","param","val","createMask","themes","push","type","args","childThemeDefinition","options","addChildThemes","currentThemes","Error","currentThemeNames","keys","incomingThemeNames","namesWithDefinitions","flatMap","prefix","avoidNestingWithin","some","avoidName","startsWith","endsWith","subName","fullName","definition","avoidNest","name","filter","Boolean","childThemes","fromEntries","next","fn","_getThemeFn","_this","_loop","themeName2","nameParts","split","parentName2","slice","join","definitions","themeDefinition","Array","isArray","found","find","d","parent","out","theme","maskedThemes","parentName","themeName","mask"],"sources":["../../src/ThemeBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,8 @@ function createThemes(props) {
38
38
  childrenThemes,
39
39
  grandChildrenThemes,
40
40
  templates = import_defaultTemplates.defaultTemplates,
41
- componentThemes
41
+ componentThemes,
42
+ getTheme
42
43
  } = props,
43
44
  builder = createSimpleThemeBuilder({
44
45
  extra: props.base.extra,
@@ -47,7 +48,8 @@ function createThemes(props) {
47
48
  templates,
48
49
  accentTheme: !!accent,
49
50
  childrenThemes: normalizeSubThemes(childrenThemes),
50
- grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0
51
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
52
+ getTheme
51
53
  });
52
54
  return lastBuilder = builder.themeBuilder, builder.themes;
53
55
  }
@@ -69,6 +71,7 @@ const defaultPalettes = createPalettes(getThemesPalettes({
69
71
  }));
70
72
  function createSimpleThemeBuilder(props) {
71
73
  const {
74
+ getTheme,
72
75
  extra,
73
76
  childrenThemes = null,
74
77
  grandChildrenThemes = null,
@@ -139,7 +142,7 @@ function createSimpleThemeBuilder(props) {
139
142
  avoidNestingWithin: [
140
143
  // ...Object.keys(childrenThemes || {}),
141
144
  ...Object.keys(grandChildrenThemes || {})]
142
- })), {
145
+ })), getTheme && (themeBuilder = themeBuilder.getTheme(getTheme)), {
143
146
  themeBuilder,
144
147
  themes: themeBuilder.build()
145
148
  };
@@ -28,7 +28,8 @@ function createThemes(props) {
28
28
  childrenThemes,
29
29
  grandChildrenThemes,
30
30
  templates = import_defaultTemplates.defaultTemplates,
31
- componentThemes
31
+ componentThemes,
32
+ getTheme
32
33
  } = props, builder = createSimpleThemeBuilder({
33
34
  extra: props.base.extra,
34
35
  componentThemes,
@@ -36,7 +37,8 @@ function createThemes(props) {
36
37
  templates,
37
38
  accentTheme: !!accent,
38
39
  childrenThemes: normalizeSubThemes(childrenThemes),
39
- grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0
40
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
41
+ getTheme
40
42
  });
41
43
  return lastBuilder = builder.themeBuilder, builder.themes;
42
44
  }
@@ -65,6 +67,7 @@ const defaultPalettes = createPalettes(
65
67
  );
66
68
  function createSimpleThemeBuilder(props) {
67
69
  const {
70
+ getTheme,
68
71
  extra,
69
72
  childrenThemes = null,
70
73
  grandChildrenThemes = null,
@@ -139,7 +142,7 @@ function createSimpleThemeBuilder(props) {
139
142
  // ...Object.keys(childrenThemes || {}),
140
143
  ...Object.keys(grandChildrenThemes || {})
141
144
  ]
142
- })), {
145
+ })), getTheme && (themeBuilder = themeBuilder.getTheme(getTheme)), {
143
146
  themeBuilder,
144
147
  themes: themeBuilder.build()
145
148
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createThemes.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA4B,oBAC5B,gCAAuC,qCACvC,0BAAiC,+BACjC,+BAAiE,oCACjE,sBAAsD;AAgD/C,SAAS,aAQd,OAQA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACF,IAAI,OAEE,UAAU,yBAAyB;AAAA,IACvC,OAAO,MAAM,KAAK;AAAA,IAClB;AAAA,IACA,UAAU,eAAe,kBAAkB,KAAY,CAAC;AAAA,IACxD;AAAA,IACA,aAAa,CAAC,CAAC;AAAA,IACf,gBAAgB,mBAAmB,cAAc;AAAA,IACjD,qBAAsB,sBAClB,mBAAmB,mBAAmB,IACtC;AAAA,IAGJ;AAAA,EACF,CAAC;AAED,uBAAc,QAAQ,cAEf,QAAQ;AACjB;AAEA,IAAI,cAAmC;AAEhC,MAAM,iBAAiB,MAAM;AAEpC,SAAS,mBAAqD,MAAU;AACtE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MACnC;AAAA,MACL;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU,MAAM,YAAY;AAAA,MAC9B;AAAA,IACF,CACD;AAAA,EACH;AACF;AAEA,MAAM,kBAA4C;AAAA,EAChD,kBAAkB;AAAA,IAChB,MAAM;AAAA,MACJ,SAAS,CAAC,QAAQ,MAAM;AAAA,IAC1B;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,CAAC,WAAW,SAAS;AAAA,IAChC;AAAA,EACF,CAAC;AACH;AAOO,SAAS,yBAuCd,OAYA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,YAAY;AAAA,IACZ,WAAW;AAAA,IACX;AAAA,IACA,kBAAkB,cAAe,2CAC5B,uDACD;AAAA,EACN,IAAI;AAGJ,MAAI,mBAAe,wCAAmB,EACnC,YAAY,QAAQ,EACpB,aAAa,SAAS,EACtB,UAAU;AAAA,IACT,OAAO;AAAA,MACL,UAAU;AAAA,MACV,SAAS;AAAA,MACT,oBAAoB;AAAA,QAClB,GAAG,OAAO;AAAA,QACV,GAAI,eACF,SAAS,gBAAgB;AAAA,UACvB,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,SAAS,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC5D,UAAU,SAAS,aAAa,yDAA4B,CAAC;AAAA,UAC7D,UAAU,SAAS,aAAa,yDAA4B,EAAE;AAAA,UAC9D,UAAU,SAAS,aAAa,yDAA4B,EAAE;AAAA,QAChE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,SAAS;AAAA,MACT,oBAAoB;AAAA,QAClB,GAAG,OAAO;AAAA,QACV,GAAI,eACF,SAAS,eAAe;AAAA,UACtB,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,SAAS,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC3D,UAAU,SAAS,YAAY,yDAA4B,CAAC;AAAA,UAC5D,UAAU,SAAS,YAAY,yDAA4B,EAAE;AAAA,UAC7D,UAAU,SAAS,YAAY,yDAA4B,EAAE;AAAA,QAC/D;AAAA,MACJ;AAAA,IACF;AAAA,EACF,CAAC;AAEH,SAAI,SAAS,iBACX,eAAe,aAAa,eAAe;AAAA,IACzC,QAAQ;AAAA,MACN;AAAA,QACE,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC,IAGC,mBACF,eAAe,aAAa,eAAe,gBAAgB;AAAA,IACzD,oBAAoB,CAAC,QAAQ;AAAA,EAC/B,CAAC,IAGC,wBACF,eAAe,aAAa,eAAe,qBAAqB;AAAA,IAC9D,oBAAoB,CAAC,QAAQ;AAAA,EAC/B,CAAC,IAGC,oBACF,eAAe,aAAa,mBAAmB,mBAAmB,eAAe,GAAG;AAAA,IAClF,oBAAoB;AAAA;AAAA,MAElB,GAAG,OAAO,KAAK,uBAAuB,CAAC,CAAC;AAAA,IAC1C;AAAA,EACF,CAAC,IAGC,aACF,eAAe,aAAa,SAAS,QAAe,IAG/C;AAAA,IACL;AAAA,IACA,QAAQ,aAAa,MAAM;AAAA,EAC7B;AACF;AAEA,SAAS,iBAAiB,QAAsC;AAC9D,SAAO;AAAA,IACL,OAAO;AAAA,IACP,MAAM,CAAC,GAAG,MAAM,EAAE,QAAQ;AAAA,EAC5B;AACF;AAEA,SAAS,WAAW,SAAwB;AAE1C,QAAM,WAAW,QAAQ,MAAM;AAc/B,SAZgB,QAAQ,MAAM,IAAI,CAAC,QAAQ,UAAU;AACnD,UAAM,SAAS,QAAQ,KAAK,KAAK,GAC3B,CAAC,MAAM,MAAM,IAAI,QAAI,4BAAY,MAAM,GACvC,CAAC,MAAM,MAAM,IAAI,QAAI,4BAAY,MAAM;AAC7C,WAAO;AAAA,MACL,OAAO,YAAY,IAAU,UAAU,KAAK;AAAA,MAC5C,KAAK,EAAE,OAAO,MAAM,MAAM,KAAK;AAAA,MAC/B,KAAK,EAAE,OAAO,MAAM,MAAM,KAAK;AAAA,MAC/B,KAAK,EAAE,OAAO,MAAM,MAAM,KAAK;AAAA,IACjC;AAAA,EACF,CAAC;AAGH;AAEA,SAAS,YAAY,UAAkB,UAAkB,OAAe;AACtE,SAAO,KAAK,MAAO,SAAS,WAAW,KAAM,QAAQ;AACvD;AAEA,SAAS,mCAAmC,KAAc;AACxD,SAAO,MAAM,QAAQ,GAAG,IAAI,iBAAiB,GAAG,IAAI;AACtD;AAEA,SAAS,kBAAkB,OAAmD;AAC5E,QAAM,OAAO,mCAAmC,MAAM,KAAK,OAAO,GAC5D,SAAS,MAAM,SACjB,mCAAmC,MAAM,OAAO,OAAO,IACvD,MAEE,cAAc,WAAW,IAAI;AAEnC,WAAS,qBAAqB,MAA8B;AAC1D,WAAO,OAAO;AAAA,MACZ,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAC5B;AAAA,QACL;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,SAAS,MAAM,UACX,WAAW,mCAAmC,MAAM,OAAO,CAAC,IAC5D;AAAA,QACN;AAAA,MACF,CACD;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,GAAI,UAAU;AAAA,MACZ,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,SAAS,WAAW,MAAM;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,GAAI,MAAM,kBAAkB,qBAAqB,MAAM,cAAc;AAAA,IACrE,GAAI,MAAM,uBAAuB,qBAAqB,MAAM,mBAAmB;AAAA,EACjF;AACF;AAEO,MAAM,qBAAqB,CAAC,eAC1B,OAAO;AAAA,EACZ,OAAO,QAAQ,UAAU,EAAE,IAAI,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,MACnD;AAAA,IACL;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,YAAY;AAAA,IACxB;AAAA,EACF,CACD;AACH;AAGK,SAAS,eAAe,UAAmD;AAChF,QAAM,iBAAiB,SAAS,aAAS,oDAAsB,SAAS,MAAM,IAAI,MAC5E,mBAAe,oDAAsB,SAAS,IAAI;AAwCxD,SAtCa,OAAO;AAAA,IAClB,OAAO,QAAQ,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,OAAO,MAAM;AACpD,YAAMA,gBAAW,oDAAsB,OAAO,GAExC,mBADW,KAAK,WAAW,QAAQ,IACL,eAAe,kBAAkB;AAErE,UAAI,CAAC;AACH,eAAO,CAAC;AAGV,YAAM,gBAAgB,iBAAkB,OAClC,eAAe,iBAAkB,MAEjC,WAAW;AAqBjB,aAnBY;AAAA,QACV;AAAA,UACE,SAAS,SAAS,UAAU,SAAS,IAAI;AAAA,UACzC;AAAA,YACE,cAAc,QAAQ;AAAA,YACtB,GAAGA,UAAS;AAAA,YACZ,cAAc,cAAc,SAAS,WAAW,CAAC;AAAA,UACnD;AAAA,QACF;AAAA,QACA;AAAA,UACE,SAAS,SAAS,SAAS,QAAQ,IAAI;AAAA,UACvC;AAAA,YACE,aAAa,aAAa,SAAS,WAAW,CAAC;AAAA,YAC/C,GAAGA,UAAS;AAAA,YACZ,aAAa,QAAQ;AAAA,UACvB;AAAA,QACF;AAAA,MACF;AAAA,IAGF,CAAC;AAAA,EACH;AAGF;",
5
5
  "names": ["palettes"]
6
6
  }
@@ -40,7 +40,8 @@ function createThemes(props) {
40
40
  childrenThemes,
41
41
  grandChildrenThemes,
42
42
  templates = import_defaultTemplates.defaultTemplates,
43
- componentThemes
43
+ componentThemes,
44
+ getTheme
44
45
  } = props,
45
46
  builder = createSimpleThemeBuilder({
46
47
  extra: props.base.extra,
@@ -49,7 +50,8 @@ function createThemes(props) {
49
50
  templates,
50
51
  accentTheme: !!accent,
51
52
  childrenThemes: normalizeSubThemes(childrenThemes),
52
- grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0
53
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0,
54
+ getTheme
53
55
  });
54
56
  return lastBuilder = builder.themeBuilder, builder.themes;
55
57
  }
@@ -76,6 +78,7 @@ var defaultPalettes = createPalettes(getThemesPalettes({
76
78
  }));
77
79
  function createSimpleThemeBuilder(props) {
78
80
  var {
81
+ getTheme,
79
82
  extra,
80
83
  childrenThemes = null,
81
84
  grandChildrenThemes = null,
@@ -146,7 +149,7 @@ function createSimpleThemeBuilder(props) {
146
149
  avoidNestingWithin: [
147
150
  // ...Object.keys(childrenThemes || {}),
148
151
  ...Object.keys(grandChildrenThemes || {})]
149
- })), {
152
+ })), getTheme && (themeBuilder = themeBuilder.getTheme(getTheme)), {
150
153
  themeBuilder,
151
154
  themes: themeBuilder.build()
152
155
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createThemes_exports","__export","createPalettes","createSimpleThemeBuilder","createThemes","getComponentThemes","getLastBuilder","module","exports","import_color2k","require","import_defaultComponentThemes","import_defaultTemplates","import_getThemeSuitePalettes","import_ThemeBuilder","props","accent","childrenThemes","grandChildrenThemes","templates","defaultTemplates","componentThemes","builder","extra","base","palettes","getThemesPalettes","accentTheme","normalizeSubThemes","lastBuilder","themeBuilder","themes","defs","Object","fromEntries","entries","map","param","name","palette","template","defaultPalettes","defaultComponentThemes","createThemeBuilder","addPalettes","addTemplates","addThemes","light","nonInheritedValues","light_accent","accent1","PALETTE_BACKGROUND_OFFSET","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10","accent11","accent12","dark","dark_accent","addChildThemes","parent","avoidNestingWithin","addComponentThemes","keys","build","getSchemePalette","colors","reverse","getAnchors","maxIndex","numItems","length","anchors","lcolor","index","dcolor","lhue","lsat","llum","parseToHsla","dhue","dsat","dlum","spreadIndex","hue","sat","lum","Math","round","coerceSimplePaletteToSchemePalette","def","Array","isArray","baseAnchors","getSubThemesPalettes","key","components","componentName","accentPalettes","getThemeSuitePalettes","basePalettes","next","flatMap","_$palettes","isAccent","startsWith","oppositePalettes","oppositeLight","oppositeDark","bgOffset","out"],"sources":["../../src/createThemes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createThemes_exports","__export","createPalettes","createSimpleThemeBuilder","createThemes","getComponentThemes","getLastBuilder","module","exports","import_color2k","require","import_defaultComponentThemes","import_defaultTemplates","import_getThemeSuitePalettes","import_ThemeBuilder","props","accent","childrenThemes","grandChildrenThemes","templates","defaultTemplates","componentThemes","getTheme","builder","extra","base","palettes","getThemesPalettes","accentTheme","normalizeSubThemes","lastBuilder","themeBuilder","themes","defs","Object","fromEntries","entries","map","param","name","palette","template","defaultPalettes","defaultComponentThemes","createThemeBuilder","addPalettes","addTemplates","addThemes","light","nonInheritedValues","light_accent","accent1","PALETTE_BACKGROUND_OFFSET","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10","accent11","accent12","dark","dark_accent","addChildThemes","parent","avoidNestingWithin","addComponentThemes","keys","build","getSchemePalette","colors","reverse","getAnchors","maxIndex","numItems","length","anchors","lcolor","index","dcolor","lhue","lsat","llum","parseToHsla","dhue","dsat","dlum","spreadIndex","hue","sat","lum","Math","round","coerceSimplePaletteToSchemePalette","def","Array","isArray","baseAnchors","getSubThemesPalettes","key","components","componentName","accentPalettes","getThemeSuitePalettes","basePalettes","next","flatMap","_$palettes","isAccent","startsWith","oppositePalettes","oppositeLight","oppositeDark","bgOffset","out"],"sources":["../../src/createThemes.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAb,YAA4B,CAAAK,oBAC5B;AAmDO,IAAAS,cAAS,GAAAC,OAQd,CAQA;EAAAC,6BAAA,GAAAD,OAAA;EAAAE,uBAAA,GAAAF,OAAA;EAAAG,4BAAA,GAAAH,OAAA;EAAAI,mBAAA,GAAAJ,OAAA;AACA,SAAMN,aAAAW,KAAA;EAAA,IACJ;MAAAC,MAAA;MAAAC,cAAA;MAAAC,mBAAA;MAAAC,SAAA,GAAAP,uBAAA,CAAAQ,gBAAA;MAAAC,eAAA;MAAAC;IAAA,IAAAP,KAAA;IAAAQ,OAAA,GAAApB,wBAAA;MACAqB,KAAA,EAAAT,KAAA,CAAAU,IAAA,CAAAD,KAAA;MACAH,eAAA;MACAK,QAAA,EAAAxB,cAAY,CAAAyB,iBAAA,CAAAZ,KAAA;MACZI,SAAA;MACAS,WAAA,IAAAZ,MAAA;MACFC,cAEM,EAAAY,kBAAU,CAAAZ,cAAyB;MACvCC,mBAAkB,EAAAA,mBAAA,GAAAW,kBAAA,CAAAX,mBAAA;MAClBI;IAAA,EACA;EAAwD,OACxDQ,WAAA,GAAAP,OAAA,CAAAQ,YAAA,EAAAR,OAAA,CAAAS,MAAA;AAAA;AACe,IACfF,WAAA,OAAgB;EAAAxB,cAAA,GAAmB,SAAAA,CAAA;IAAc,OACjDwB,WAAA;EAEI;AAGJ,SACDD,mBAAAI,IAAA;EAED,OAAAC,MAAA,CAAAC,WAAc,CAAAD,MAAQ,CAAAE,OAAA,CAAAH,IAEf,MAAQ,EAAAI,GAAA,WAAAC,KAAA;IACjB,KAAAC,IAAA,EAAAxC,KAAA,IAAAuC,KAAA;IAEI,QAESC,IAAA,EAEb;MACEC,OAAO,EAAOD,IAAA;MACZE,QAAO,EAAA1C,KAAQ,CAAA0C,QAAY,IAAK;IAE5B;EACA;AACW;AACmB,IAAAC,eAC9B,GAAAxC,cAAA,CAAAyB,iBAAA;EAAAF,IAEH;IACHe,OAAA,GACF,QAEM;EACc;EACVxB,MACJ;IACFwB,OAAA,GACA,SAAQ,EACN,SAAS;EAEb;AACF;AAOO,SAASrC,yBAuCdY,KAAA,EAYA;EACA;MAAMO,QAAA;MAAAE,KAAA;MAAAP,cAAA;MAAAC,mBAAA;MAAAC,SAAA,GAAAP,uBAAA,CAAAQ,gBAAA;MAAAM,QAAA,GAAAgB,eAAA;MAAAd,WAAA;MAAAP,eAAA,GAAAF,SAAA,KAAAP,uBAAA,CAAAQ,gBAAA,GAAAT,6BAAA,CAAAgC,sBAAA;IAAA,IAAA5B,KAAA;IAAAgB,YAAA,OAAAjB,mBAAA,CAAA8B,kBAAA,IAAAC,WAAA,CAAAnB,QAAA,EAAAoB,YAAA,CAAA3B,SAAA,EAAA4B,SAAA;MACJC,KAAA;QACAP,QAAA;QACAD,OAAA,SAAiB;QACjBS,kBAAA,EAAsB;UACtB,GAAAzB,KAAY,EAAAwB,KAAA;UACZ,IAAApB,WAAW,IAAAF,QAAA,CAAAwB,YAAA;YACXC,OAAA,EAAAzB,QAAA,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YACAC,OAAA,EAAA3B,QAAkB,CAAAwB,YAAe,CAAArC,4BAAA,CAAAuC,yBAC5B;YAEHE,OAAA,EAAA5B,QAAA,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YAGAG,OAAA,EAAA7B,QAAe,CAAAwB,YAAA,CAAArC,4BAChB,CAAAuC,yBACA;YAECI,OAAO,EAAA9B,QAAA,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YACLK,OAAU,EAAA/B,QAAA,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YACVM,OAAS,EAAAhC,QAAA,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YACTO,OAAA,EAAAjC,QAAoB,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YAClBQ,OAAG,EAAOlC,QAAA,CAAAwB,YAAA,CAAArC,4BAAA,CAAAuC,yBAAA;YACVS,QAAI,EAAAnC,QACF,CAAAwB,YAAS,CAAArC,4BAAgB,CAAAuC,yBAAA;YACvBU,QAAA,EAASpC,QAAS,CAAAwB,YAAa,CAAArC,4BAAA,CAAAuC,yBAAA,GAA6B;YAC5DW,QAAA,EAASrC,QAAS,CAAAwB,YAAa,CAAArC,4BAAA,CAAAuC,yBAAA,GAA6B;UAAA;QACA;MACA;MACAY,IAAA,EAC5D;QAA4DvB,QAC5D,QAAS;QAAmDD,OAC5D,QAAS;QAAmDS,kBACnD;UAAmD,GAC5DzB,KAAA,EAAAwC,IAAU;UAAmD,IAC7DpC,WAAU,IAAAF,QAAS,CAAAuC,WAAa;YAChCd,OAAA,EAAAzB,QAAU,CAAAuC,WAAS,CAAApD,4BAAa,CAAAuC,yBAAA,KAA4B;YAC9DC,OAAA,EAAA3B,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACJE,OAAA,EAAA5B,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACFG,OAAA,EAAA7B,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACMI,OAAA,EAAA9B,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACJK,OAAU,EAAA/B,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACVM,OAAS,EAAAhC,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACTO,OAAA,EAAAjC,QAAoB,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YAClBQ,OAAG,EAAOlC,QAAA,CAAAuC,WAAA,CAAApD,4BAAA,CAAAuC,yBAAA;YACVS,QAAI,EAAAnC,QACF,CAAAuC,WAAS,CAAApD,4BAAe,CAAAuC,yBAAA;YACtBU,QAAA,EAASpC,QAAS,CAAAuC,WAAY,CAAApD,4BAAA,CAAAuC,yBAAA,GAA6B;YAC3DW,QAAA,EAASrC,QAAS,CAAAuC,WAAY,CAAApD,4BAAA,CAAAuC,yBAAA,GAA6B;UAAA;QACA;MACA;IACA;EACA,OAAA1B,QAC3D,CAAAwB,YAAkB,KAAAnB,YAAY,GAAAA,YAAA,CAAAmC,cAAA;IAA6BlD,MAC3D,GAA2D;MACAmD,MAC3D,SAAU;MAAkD1B,QAC5D,QAAU;MAAmDD,OAC7D;IAA6D,GAEnE;MACF2B,MAAA;MACD1B,QAAA;MAEHD,OAAI;IAEA;EACE,KAAAvB,cACU,KAAAc,YAAA,GAAAA,YAAA,CAAAmC,cAAA,CAAAjD,cAAA;IAAAmD,kBACE,WACV;EACF,KACAlD,mBAAA,KAAAa,YAAA,GAAAA,YAAA,CAAAmC,cAAA,CAAAhD,mBAAA;IAAAkD,kBACU,WACR;EACS,KACX/C,eAAA,KAAAU,YAAA,GAAAA,YAAA,CAAAsC,kBAAA,CAAAhE,kBAAA,CAAAgB,eAAA;IACF+C,kBAAA;IACD;IAKC,GAAAlC,MAAA,CAAAoC,IAAA,CAAApD,mBAA6B;EAKiC,EAC9D,GAAAI,QAAA,KAAAS,YAAqB,GAAQA,YAAA,CAAAT,QAAA,CAAAA,QAAA;IAC9BS,YAGC;IAEAC,MAAA,EAAAD,YAAoB,CAAAwC,KAAA;EAAA;AAAA;AAEsB,SAC1CC,iBAAAC,MAAA;EACF,OAGE;IAKFzB,KAAA,EAAAyB,MAAA;IACAT,IAAA,GACF,GAAAS,MAAA,CACF,CAAAC,OAAA;EAEA;AACE;AAAO,SACLC,UAAOA,CAAAnC,OAAA;EAAA,IACPoC,QAAU;IAAMC,QAAE,GAAQrC,OAAA,CAAAQ,KAAA,CAAA8B,MAAA;IAAAC,OAAA,GAAAvC,OAAA,CAAAQ,KAAA,CAAAX,GAAA,WAAA2C,MAAA,EAAAC,KAAA;MAC5B,IAAAC,MAAA,GAAA1C,OAAA,CAAAwB,IAAA,CAAAiB,KAAA;QAAA,CAAAE,IAAA,EAAAC,IAAA,EAAAC,IAAA,QAAA5E,cAAA,CAAA6E,WAAA,EAAAN,MAAA;QAAA,CAAAO,IAAA,EAAAC,IAAA,EAAAC,IAAA,QAAAhF,cAAA,CAAA6E,WAAA,EAAAJ,MAAA;MACF;QAEAD,KAAS,EAAAS,WAAW,CAAAd,QAAwB,EAAAC,QAAA,EAAAI,KAAA;QAE1CU,GAAM;UAcN3C,KAZgB,EAAAmC,IAAQ;UACtBnB,IAAM,EAAAuB;QAGN;QACEK,GAAA;UACA5C,KAAO,EAAAoC,IAAA;UACPpB,IAAK,EAAEwB;QACP;QACFK,GAAA;UACD7C,KAAA,EAAAqC,IAAA;UAGHrB,IAAA,EAAAyB;QAEA;MACE;IACF;EAEA,OAASV,OAAA;AACP;AACF,SAAAW,YAAAd,QAAA,EAAAC,QAAA,EAAAI,KAAA;EAEA,OAASa,IAAA,CAAAC,KAAA,CAAAd,KAAA,IAAkBJ,QAAmD,QAAAD,QAAA;AAC5E;AAOA,SAAAoB,kCAA4DA,CAAAC,GAAA;EAC1D,OAAAC,KAAO,CAAAC,OAAO,CAAAF,GAAA,IAAAzB,gBAAA,CAAAyB,GAAA,IAAAA,GAAA;AAAA;AAEH,SACLtE,kBAAAZ,KAAA;EAAA,IAAAU,IACA,GAAAuE,kCAAA,CAAAjF,KAAA,CAAAU,IAAA,CAAAe,OAAA;IAAAxB,MAAA,GAAAD,KAAA,CAAAC,MAAA,GAAAgF,kCAAA,CAAAjF,KAAA,CAAAC,MAAA,CAAAwB,OAAA;IAAA4D,WAAA,GAAAzB,UAAA,CAAAlD,IAAA;EAAA,SACE4E,oBAAMA,CAAApE,IAAA;IAAA,OACNC,MAAA,CAAAC,WAAe,CAAAD,MACX,CAAAE,OAAA,CAAAH,IAAW,EAAAI,GAAA,WAAAC,KAAA;MACX,IACN,CAAAgE,GAAA,EAAAvG,KAAA,IAAAuC,KAAA;MACF,OACD,CACHgE,GAAA,EACF;QAEO/D,IAAA,EAAA+D,GAAA;QACCvB,OAAA,EAAAhF,KAAA,CAAAyC,OAAA,GAAAmC,UAAA,CAAAqB,kCAAA,CAAAjG,KAAA,CAAAyC,OAAA,KAAA4D;MACJ,EACA;IACF;EAAA;EACc,OACZ;IAAQ3E,IACN;MAAMc,IACN,QAAS;MACXwC,OAAA,EAAAqB;IACF;IACA,IAAIpF,MAAM;MACVA,MAAI,EAAM;QACZuB,IAAA;QACFwC,OAAA,EAAAJ,UAAA,CAAA3D,MAAA;MAEa;IAET;IAEI,IAAAD,KAAA,CAAAE,cAAA,IAAAoF,oBAAA,CAAAtF,KAAA,CAAAE,cAAA;IACA,IAAAF,KAAA,CAAAG,mBAAA,IAAAmF,oBAAA,CAAAtF,KAAA,CAAAG,mBAAA;EAAA;AACU;AACc,IACxBb,kBAAA,YAAAA,CAAAkG,UAAA;EACF,OACDrE,MAAA,CAAAC,WAAA,CAAAD,MAAA,CAAAE,OAAA,CAAAmE,UAAA,EAAAlE,GAAA,WAAAC,KAAA;IACH,KAAAkE,aAAA;MAAA/D;IAAA,KAAAH,KAAA;IAGK,OAAS,CACdkE,aAAM,EAyCN;MArCErC,MAAO;MACL1B,QAAM,EAAAA,QAAA,IAAW;IAIjB,EACE;EAGF;AAwBA;AAnBY,SACVvC,eAAAwB,QAAA;EAAA,IAAA+E,cACW,GAAA/E,QAAS,CAAAV,MAAU,OAAAH,4BAAa,CAAA6F,qBAAA,EAAAhF,QAAA,CAAAV,MAAA;IAAA2F,YAAA,OAAA9F,4BAAA,CAAA6F,qBAAA,EAAAhF,QAAA,CAAAD,IAAA;IAAAmF,IAAA,GAAA1E,MAAA,CAAAC,WAAA,CAAAD,MAAA,CAAAE,OAAA,CAAAV,QAAA,EAAAmF,OAAA,WAAAvE,KAAA;MAAA,KAAAC,IACzC,EAAAC,OAAA,IAAAF,KAAA;QAAAwE,UAAA,OAAAjG,4BAAA,CAAA6F,qBAAA,EAAAlE,OAAA;QAAAuE,QAAA,GAAAxE,IAAA,CAAAyE,UAAA;QAAAC,gBAAA,GAAAF,QAAA,GAAAJ,YAAA,GAAAF,cAAA,IAAAE,YAAA;MAAA,KAAAM,gBACE,EAAsB,OACtB,EAAG;MAAS,IAAAC,aACZ,GAAAD,gBAA4B,CAAAjE,KAAA;QAAAmE,YAAoB,GAACF,gBAAA,CAAAjD,IAAA;QAAAoD,QAAA;QAAAC,GAAA,KAErD9E,IAAA,iCAAAA,IAAA,IACA,CACE2E,aAAS,CAAAE,QAAS,GAClB,GAAAN,UAAA,CAAA9D,KAAA,EAAAkE,aACE,CAAAA,aAAa,CAAapC,MAAA,GAASsC,QAAA,GAAW,CAAC,GACnC,EACS,CAEzB7E,IAAA,+BAAAA,IAAA,IACF,CAGD4E,YAAA,CAAAA,YAAA,CAAArC,MAAA,GAAAsC,QAAA,OACH,GAAAN,UAAA,CAAA9C,IAAA,EAGFmD,YAAA,CAAAC,QAAA,E","ignoreList":[]}
@@ -9,6 +9,7 @@ class ThemeBuilder {
9
9
  constructor(state) {
10
10
  this.state = state;
11
11
  }
12
+ _getThemeFn;
12
13
  addPalettes(palettes) {
13
14
  return this.state.palettes = {
14
15
  // as {} prevents generic string key merge messing up types
@@ -67,6 +68,9 @@ class ThemeBuilder {
67
68
  };
68
69
  return this.state.themes = next, this;
69
70
  }
71
+ getTheme(fn) {
72
+ return this._getThemeFn = fn, this;
73
+ }
70
74
  build() {
71
75
  if (!this.state.themes)
72
76
  return {};
@@ -113,7 +117,7 @@ class ThemeBuilder {
113
117
  - ${Object.keys(this.state.templates || {}).join(`
114
118
  - `)}`
115
119
  );
116
- out[themeName] = createThemeWithPalettes(
120
+ const theme = createThemeWithPalettes(
117
121
  this.state.palettes,
118
122
  paletteName,
119
123
  template,
@@ -121,6 +125,16 @@ class ThemeBuilder {
121
125
  themeName,
122
126
  !0
123
127
  );
128
+ out[themeName] = this._getThemeFn ? this._getThemeFn({
129
+ theme,
130
+ name: themeName,
131
+ level: nameParts.length,
132
+ parentName,
133
+ scheme: /^(light|dark)$/.test(nameParts[0]) ? nameParts[0] : void 0,
134
+ parentNames: nameParts.slice(0, -1),
135
+ palette,
136
+ template
137
+ }) : theme;
124
138
  }
125
139
  }
126
140
  for (const { mask, themeName, parentName } of maskedThemes) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ThemeBuilder.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["mask"]
6
6
  }
@@ -3,6 +3,7 @@ class ThemeBuilder {
3
3
  constructor(state) {
4
4
  this.state = state;
5
5
  }
6
+ _getThemeFn;
6
7
  addPalettes(palettes) {
7
8
  return this.state.palettes = {
8
9
  // as {} prevents generic string key merge messing up types
@@ -65,6 +66,9 @@ class ThemeBuilder {
65
66
  };
66
67
  return this.state.themes = next, this;
67
68
  }
69
+ getTheme(fn) {
70
+ return this._getThemeFn = fn, this;
71
+ }
68
72
  build() {
69
73
  if (!this.state.themes) return {};
70
74
  const out = {},
@@ -107,7 +111,17 @@ class ThemeBuilder {
107
111
  if (!template) throw new Error(`No template for theme ${themeName}: ${templateName} in templates:
108
112
  - ${Object.keys(this.state.templates || {}).join(`
109
113
  - `)}`);
110
- out[themeName] = createThemeWithPalettes(this.state.palettes, paletteName, template, options, themeName, !0);
114
+ const theme = createThemeWithPalettes(this.state.palettes, paletteName, template, options, themeName, !0);
115
+ out[themeName] = this._getThemeFn ? this._getThemeFn({
116
+ theme,
117
+ name: themeName,
118
+ level: nameParts.length,
119
+ parentName,
120
+ scheme: /^(light|dark)$/.test(nameParts[0]) ? nameParts[0] : void 0,
121
+ parentNames: nameParts.slice(0, -1),
122
+ palette,
123
+ template
124
+ }) : theme;
111
125
  }
112
126
  }
113
127
  for (const {
@@ -1 +1 @@
1
- {"version":3,"names":["applyMask","createMask","createThemeWithPalettes","objectEntries","objectFromEntries","ThemeBuilder","constructor","state","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","filter","Boolean","childThemes","fromEntries","next","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","maskName","maskFunction","parentTheme","mask2","childOpts","childOptions","assign","createThemeBuilder"],"sources":["../../src/ThemeBuilder.ts"],"sourcesContent":[null],"mappings":"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","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","name","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":[]}
@@ -23,7 +23,7 @@ var ThemeBuilder = /* @__PURE__ */function () {
23
23
  "use strict";
24
24
 
25
25
  function ThemeBuilder2(state) {
26
- _class_call_check(this, ThemeBuilder2), _define_property(this, "state", void 0), _define_property(this, "_addedThemes", void 0), this.state = state, this._addedThemes = [];
26
+ _class_call_check(this, ThemeBuilder2), _define_property(this, "state", void 0), _define_property(this, "_getThemeFn", void 0), _define_property(this, "_addedThemes", void 0), this.state = state, this._addedThemes = [];
27
27
  }
28
28
  return _create_class(ThemeBuilder2, [{
29
29
  key: "addPalettes",
@@ -112,6 +112,11 @@ var ThemeBuilder = /* @__PURE__ */function () {
112
112
  };
113
113
  return this.state.themes = next, this;
114
114
  }
115
+ }, {
116
+ key: "getTheme",
117
+ value: function (fn) {
118
+ return this._getThemeFn = fn, this;
119
+ }
115
120
  }, {
116
121
  key: "build",
117
122
  value: function () {
@@ -156,7 +161,17 @@ var ThemeBuilder = /* @__PURE__ */function () {
156
161
  if (!template) throw new Error(`No template for theme ${themeName2}: ${templateName} in templates:
157
162
  - ${Object.keys(_this.state.templates || {}).join(`
158
163
  - `)}`);
159
- out[themeName2] = createThemeWithPalettes(_this.state.palettes, paletteName, template, options2, themeName2, !0);
164
+ var theme = createThemeWithPalettes(_this.state.palettes, paletteName, template, options2, themeName2, !0);
165
+ out[themeName2] = _this._getThemeFn ? _this._getThemeFn({
166
+ theme,
167
+ name: themeName2,
168
+ level: nameParts.length,
169
+ parentName: parentName2,
170
+ scheme: /^(light|dark)$/.test(nameParts[0]) ? nameParts[0] : void 0,
171
+ parentNames: nameParts.slice(0, -1),
172
+ palette,
173
+ template
174
+ }) : theme;
160
175
  }
161
176
  };
162
177
  if (!this.state.themes) return {};