@tamagui/theme-builder 1.81.3 → 1.82.0

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.
@@ -96,26 +96,29 @@ class ThemeBuilder {
96
96
  else if ("mask" in themeDefinition)
97
97
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
98
98
  else {
99
- const {
100
- palette: paletteName,
101
- template: templateName,
102
- ...options
103
- } = themeDefinition;
99
+ let { palette: paletteName, template: templateName, ...options } = themeDefinition;
104
100
  if (!this.state.palettes)
105
101
  throw new Error(
106
102
  `No palettes defined for theme with palette expected: ${themeName}`
107
103
  );
108
104
  let palette = this.state.palettes[paletteName];
109
- if (!palette) {
110
- const fullPaletteName = `${parentName}_${paletteName}`;
111
- palette = this.state.palettes[fullPaletteName];
112
- }
113
- if (!palette)
114
- throw new Error(`No palette for theme ${themeName}: ${paletteName}`);
105
+ if (palette || (paletteName = `${parentName}_${paletteName}`, palette = this.state.palettes[paletteName]), !palette)
106
+ throw new Error(
107
+ `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
108
+ this.state.palettes
109
+ ).join(", ")})`
110
+ );
115
111
  const template = (_a = this.state.templates) == null ? void 0 : _a[templateName];
116
112
  if (!template)
117
113
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
118
- out[themeName] = (0, import_create_theme.createTheme)(palette, template, options, themeName, !0);
114
+ out[themeName] = (0, import_create_theme.createThemeWithPalettes)(
115
+ this.state.palettes,
116
+ paletteName,
117
+ template,
118
+ options,
119
+ themeName,
120
+ !0
121
+ );
119
122
  }
120
123
  }
121
124
  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
  }
@@ -97,26 +97,29 @@ class ThemeBuilder {
97
97
  else if ("mask" in themeDefinition)
98
98
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
99
99
  else {
100
- const {
101
- palette: paletteName,
102
- template: templateName,
103
- ...options
104
- } = themeDefinition;
100
+ let { palette: paletteName, template: templateName, ...options } = themeDefinition;
105
101
  if (!this.state.palettes)
106
102
  throw new Error(
107
103
  `No palettes defined for theme with palette expected: ${themeName}`
108
104
  );
109
105
  let palette = this.state.palettes[paletteName];
110
- if (!palette) {
111
- const fullPaletteName = `${parentName}_${paletteName}`;
112
- palette = this.state.palettes[fullPaletteName];
113
- }
114
- if (!palette)
115
- throw new Error(`No palette for theme ${themeName}: ${paletteName}`);
106
+ if (palette || (paletteName = `${parentName}_${paletteName}`, palette = this.state.palettes[paletteName]), !palette)
107
+ throw new Error(
108
+ `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
109
+ this.state.palettes
110
+ ).join(", ")})`
111
+ );
116
112
  const template = (_a = this.state.templates) == null ? void 0 : _a[templateName];
117
113
  if (!template)
118
114
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
119
- out[themeName] = (0, import_create_theme.createTheme)(palette, template, options, themeName, !0);
115
+ out[themeName] = (0, import_create_theme.createThemeWithPalettes)(
116
+ this.state.palettes,
117
+ paletteName,
118
+ template,
119
+ options,
120
+ themeName,
121
+ !0
122
+ );
120
123
  }
121
124
  }
122
125
  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
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  applyMask,
3
3
  createMask,
4
- createTheme,
4
+ createThemeWithPalettes,
5
5
  objectEntries,
6
6
  objectFromEntries
7
7
  } from "@tamagui/create-theme";
@@ -81,26 +81,29 @@ class ThemeBuilder {
81
81
  else if ("mask" in themeDefinition)
82
82
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
83
83
  else {
84
- const {
85
- palette: paletteName,
86
- template: templateName,
87
- ...options
88
- } = themeDefinition;
84
+ let { palette: paletteName, template: templateName, ...options } = themeDefinition;
89
85
  if (!this.state.palettes)
90
86
  throw new Error(
91
87
  `No palettes defined for theme with palette expected: ${themeName}`
92
88
  );
93
89
  let palette = this.state.palettes[paletteName];
94
- if (!palette) {
95
- const fullPaletteName = `${parentName}_${paletteName}`;
96
- palette = this.state.palettes[fullPaletteName];
97
- }
98
- if (!palette)
99
- throw new Error(`No palette for theme ${themeName}: ${paletteName}`);
90
+ if (palette || (paletteName = `${parentName}_${paletteName}`, palette = this.state.palettes[paletteName]), !palette)
91
+ throw new Error(
92
+ `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
93
+ this.state.palettes
94
+ ).join(", ")})`
95
+ );
100
96
  const template = this.state.templates?.[templateName];
101
97
  if (!template)
102
98
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
103
- out[themeName] = createTheme(palette, template, options, themeName, !0);
99
+ out[themeName] = createThemeWithPalettes(
100
+ this.state.palettes,
101
+ paletteName,
102
+ template,
103
+ options,
104
+ themeName,
105
+ !0
106
+ );
104
107
  }
105
108
  }
106
109
  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
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  applyMask,
3
3
  createMask,
4
- createTheme,
4
+ createThemeWithPalettes,
5
5
  objectEntries,
6
6
  objectFromEntries
7
7
  } from "@tamagui/create-theme";
@@ -81,26 +81,29 @@ class ThemeBuilder {
81
81
  else if ("mask" in themeDefinition)
82
82
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
83
83
  else {
84
- const {
85
- palette: paletteName,
86
- template: templateName,
87
- ...options
88
- } = themeDefinition;
84
+ let { palette: paletteName, template: templateName, ...options } = themeDefinition;
89
85
  if (!this.state.palettes)
90
86
  throw new Error(
91
87
  `No palettes defined for theme with palette expected: ${themeName}`
92
88
  );
93
89
  let palette = this.state.palettes[paletteName];
94
- if (!palette) {
95
- const fullPaletteName = `${parentName}_${paletteName}`;
96
- palette = this.state.palettes[fullPaletteName];
97
- }
98
- if (!palette)
99
- throw new Error(`No palette for theme ${themeName}: ${paletteName}`);
90
+ if (palette || (paletteName = `${parentName}_${paletteName}`, palette = this.state.palettes[paletteName]), !palette)
91
+ throw new Error(
92
+ `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
93
+ this.state.palettes
94
+ ).join(", ")})`
95
+ );
100
96
  const template = this.state.templates?.[templateName];
101
97
  if (!template)
102
98
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
103
- out[themeName] = createTheme(palette, template, options, themeName, !0);
99
+ out[themeName] = createThemeWithPalettes(
100
+ this.state.palettes,
101
+ paletteName,
102
+ template,
103
+ options,
104
+ themeName,
105
+ !0
106
+ );
104
107
  }
105
108
  }
106
109
  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": "AAAA;AAAA,EAME;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAyDA,MAAM,aAEX;AAAA,EACA,YAAmB,OAAc;AAAd;AA4CnB;AAAA,wBAAgE,CAAC;AAAA,EA5C/B;AAAA,EAElC,YAAgD,UAAa;AAC3D,gBAAK,MAAM,WAAW;AAAA;AAAA,MAEpB,GAAI,KAAK,MAAM;AAAA,MACf,GAAG;AAAA,IACL,GACO;AAAA,EAKT;AAAA,EAEA,aAAkD,WAAc;AAC9D,gBAAK,MAAM,YAAY;AAAA;AAAA,MAErB,GAAI,KAAK,MAAM;AAAA,MACf,GAAG;AAAA,IACL,GACO;AAAA,EAKT;AAAA,EAEA,SAA0C,OAAU;AAClD,gBAAK,MAAM,QAAQ;AAAA;AAAA,MAEjB,GAAI,KAAK,MAAM;AAAA,MACf,GAAI;AAAA,QACF,cAAc,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,WAAW,GAAG,CAAC,CAAC;AAAA,MACjE;AAAA,IACF,GACO;AAAA,EAKT;AAAA,EAKA,UACE,QACA;AACA,gBAAK,aAAa,KAAK,EAAE,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,GAEzD,KAAK,MAAM,SAAS;AAAA;AAAA,MAElB,GAAI,KAAK,MAAM;AAAA,MACf,GAAG;AAAA,IACL,GAUO;AAAA,EAST;AAAA,EAEA,eAIE,sBACA,SAGA;AACA,UAAM,gBAAgB,KAAK,MAAM;AACjC,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAGF,SAAK,aAAa,KAAK,EAAE,MAAM,eAAe,MAAM,CAAC,sBAAsB,OAAO,EAAE,CAAC;AAMrF,UAAM,oBAAoB,OAAO,KAAK,aAAa,GAC7C,qBAAqB,OAAO,KAAK,oBAAoB,GAErD,uBAAuB,kBAAkB,QAAQ,CAAC,WAAW;AACjE,YAAM,qBAAqB,SAAS;AACpC,aAAI,sBAEA,mBAAmB;AAAA,QACjB,CAAC,cAAc,OAAO,WAAW,SAAS,KAAK,OAAO,SAAS,SAAS;AAAA,MAC1E,IAEO,CAAC,IAIL,mBACJ,IAAI,CAAC,YAAY;AAChB,cAAM,WAAW,GAAG,MAAM,IAAI,OAAO,IAC/B,aAAa,qBAAqB,OAAO;AAE/C,eAAI,wBAAwB,cACR,WAAW,mBAEjB,KAAK,CAAC,SAAS,OAAO,WAAW,IAAI,KAAK,OAAO,SAAS,IAAI,CAAC,IAElE,OAIJ,CAAC,UAAU,UAAU;AAAA,MAC9B,CAAC,EACA,OAAO,OAAO;AAAA,IACnB,CAAC,GAQK,cAAc,OAAO,YAAY,oBAAoB,GAErD,OAAO;AAAA;AAAA,MAEX,GAAI,KAAK,MAAM;AAAA,MACf,GAAG;AAAA,IACL;AAGA,gBAAK,MAAM,SAAS,MAEb;AAAA,EAKT;AAAA,EAEA,QAAwC;AACtC,QAAI,CAAC,KAAK,MAAM;AACd,aAAO,CAAC;AAGV,UAAM,MAAM,CAAC,GACP,eAIA,CAAC;AAEP,eAAW,aAAa,KAAK,MAAM,QAAQ;AACzC,YAAM,YAAY,UAAU,MAAM,GAAG,GAC/B,aAAa,UAAU,MAAM,GAAG,UAAU,SAAS,CAAC,EAAE,KAAK,GAAG,GAE9D,cAAc,KAAK,MAAM,OAAO,SAAS,GACzC,kBAAkB,MAAM,QAAQ,WAAW,KAC5C,MAAM;AACL,cAAM,QAAQ,YAAY;AAAA;AAAA,UAExB,CAAC,MAAM,WAAW,SAAS,EAAE,MAAO,KAAK,WAAW,WAAW,EAAE,MAAO;AAAA,QAC1E;AACA,eAAK,SACI;AAAA,MAGX,GAAG,IACH;AAEJ,UAAK;AAKL,YAAI,WAAW;AACb,cAAI,SAAS,IAAI,gBAAgB;AAAA,iBACxB,UAAU;AACnB,uBAAa,KAAK,EAAE,YAAY,WAAW,MAAM,gBAAgB,CAAC;AAAA,aAC7D;AACL,cAAI,EAAE,SAAS,aAAa,UAAU,cAAc,GAAG,QAAQ,IAAI;AAEnE,cAAI,CAAC,KAAK,MAAM;AACd,kBAAM,IAAI;AAAA,cACR,wDAAwD,SAAS;AAAA,YACnE;AAGF,cAAI,UAAU,KAAK,MAAM,SAAS,WAAW;AAO7C,cANK,YACH,cAAc,GAAG,UAAU,IAAI,WAAW,IAC1C,UAAU,KAAK,MAAM,SAAS,WAAW,IAIvC,CAAC;AACH,kBAAM,IAAI;AAAA,cACR,wBAAwB,SAAS,KAAK,WAAW,KAAK,OAAO;AAAA,gBAC3D,KAAK,MAAM;AAAA,cACb,EAAE,KAAK,IAAI,CAAC;AAAA,YACd;AAGF,gBAAM,WAAW,KAAK,MAAM,YAAY,YAAY;AACpD,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,yBAAyB,SAAS,KAAK,YAAY,EAAE;AAGvE,cAAI,SAAS,IAAI;AAAA,YACf,KAAK,MAAM;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,IACF;AAEA,eAAW,EAAE,MAAM,WAAW,WAAW,KAAK,cAAc;AAC1D,YAAM,SAAS,IAAI,UAAU;AAE7B,UAAI,CAAC;AAEH;AAGF,YAAM,EAAE,MAAM,UAAU,GAAG,QAAQ,IAAI;AACvC,UAAI,eAAe,KAAK,MAAM,QAAQ,QAAQ;AAE9C,UAAI,CAAC;AACH,cAAM,IAAI,MAAM,WAAW,YAAY,EAAE;AAG3C,YAAM,cAAc,KAAK,MAAM,OAAO,UAAU;AAEhD,UAAI,eAAe,kBAAkB,aAAa;AAChD,cAAM,EAAE,MAAAA,OAAM,GAAG,UAAU,IAAI,YAAY;AAC3C,QAAIA,UACF,eAAe,KAAK,MAAM,QAAQA,KAAI,IAExC,OAAO,OAAO,SAAS,SAAS;AAAA,MAClC;AAEA,UAAI,SAAS,IAAI;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,qBAAqB;AACnC,SAAO,IAAI,aAAa,CAAC,CAAC;AAC5B;",
5
5
  "names": ["mask"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/theme-builder",
3
- "version": "1.81.3",
3
+ "version": "1.82.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -23,15 +23,16 @@
23
23
  ".": {
24
24
  "types": "./types/index.d.ts",
25
25
  "import": "./dist/esm/index.js",
26
- "require": "./dist/cjs/index.js"
26
+ "require": "./dist/cjs/index.js",
27
+ "react-native": "./dist/cjs/index.native.js"
27
28
  }
28
29
  },
29
30
  "dependencies": {
30
- "@tamagui/create-theme": "1.81.3",
31
+ "@tamagui/create-theme": "1.82.0",
31
32
  "color2k": "^2.0.2"
32
33
  },
33
34
  "devDependencies": {
34
- "@tamagui/build": "1.81.3"
35
+ "@tamagui/build": "1.82.0"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"
@@ -6,13 +6,13 @@ import {
6
6
  ThemeUsingMask,
7
7
  applyMask,
8
8
  createMask,
9
- createTheme,
9
+ createThemeWithPalettes,
10
10
  objectEntries,
11
11
  objectFromEntries,
12
12
  } from '@tamagui/create-theme'
13
13
  import type { Narrow } from '@tamagui/web'
14
14
 
15
- type ThemeBuilderState = {
15
+ export type ThemeBuilderInternalState = {
16
16
  palettes?: PaletteDefinitions
17
17
  templates?: TemplateDefinitions
18
18
  themes?: ThemeDefinitions
@@ -23,12 +23,6 @@ type ObjectStringKeys<A extends Object | undefined> = A extends Object
23
23
  ? Exclude<keyof A, symbol | number>
24
24
  : never
25
25
 
26
- // type GetNonInheritedKeys<TD> = TD extends { nonInheritedValues: infer X }
27
- // ? X extends { [key: string]: any }
28
- // ? keyof X
29
- // : never
30
- // : never
31
-
32
26
  type GetGeneratedThemeFromTemplate<Template, TD> = {
33
27
  [key in keyof Template]: string
34
28
  }
@@ -45,7 +39,7 @@ type GetParentTheme<P, Themes extends ThemeDefinitions | undefined> = P extends
45
39
  : never
46
40
  : never
47
41
 
48
- type GetGeneratedTheme<TD, S extends ThemeBuilderState> = TD extends {
42
+ type GetGeneratedTheme<TD, S extends ThemeBuilderInternalState> = TD extends {
49
43
  theme: infer T
50
44
  }
51
45
  ? T
@@ -57,7 +51,7 @@ type GetGeneratedTheme<TD, S extends ThemeBuilderState> = TD extends {
57
51
  : TD
58
52
  : TD
59
53
 
60
- type ThemeBuilderBuildResult<S extends ThemeBuilderState> = {
54
+ type ThemeBuilderBuildResult<S extends ThemeBuilderInternalState> = {
61
55
  [Key in keyof S['themes']]: GetGeneratedTheme<S['themes'][Key], S>
62
56
  }
63
57
 
@@ -72,7 +66,9 @@ type GetParentName<N extends string> =
72
66
  ? `${A}`
73
67
  : never
74
68
 
75
- export class ThemeBuilder<State extends ThemeBuilderState = ThemeBuilderState> {
69
+ export class ThemeBuilder<
70
+ State extends ThemeBuilderInternalState = ThemeBuilderInternalState
71
+ > {
76
72
  constructor(public state: State) {}
77
73
 
78
74
  addPalettes<const P extends PaletteDefinitions>(palettes: P) {
@@ -269,11 +265,7 @@ export class ThemeBuilder<State extends ThemeBuilderState = ThemeBuilderState> {
269
265
  } else if ('mask' in themeDefinition) {
270
266
  maskedThemes.push({ parentName, themeName, mask: themeDefinition })
271
267
  } else {
272
- const {
273
- palette: paletteName,
274
- template: templateName,
275
- ...options
276
- } = themeDefinition
268
+ let { palette: paletteName, template: templateName, ...options } = themeDefinition
277
269
 
278
270
  if (!this.state.palettes) {
279
271
  throw new Error(
@@ -283,13 +275,17 @@ export class ThemeBuilder<State extends ThemeBuilderState = ThemeBuilderState> {
283
275
 
284
276
  let palette = this.state.palettes[paletteName]
285
277
  if (!palette) {
286
- const fullPaletteName = `${parentName}_${paletteName}`
287
- palette = this.state.palettes[fullPaletteName]
278
+ paletteName = `${parentName}_${paletteName}`
279
+ palette = this.state.palettes[paletteName]
288
280
  // try using the prefix
289
281
  }
290
282
 
291
283
  if (!palette) {
292
- throw new Error(`No palette for theme ${themeName}: ${paletteName}`)
284
+ throw new Error(
285
+ `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
286
+ this.state.palettes
287
+ ).join(', ')})`
288
+ )
293
289
  }
294
290
 
295
291
  const template = this.state.templates?.[templateName]
@@ -297,7 +293,14 @@ export class ThemeBuilder<State extends ThemeBuilderState = ThemeBuilderState> {
297
293
  throw new Error(`No template for theme ${themeName}: ${templateName}`)
298
294
  }
299
295
 
300
- out[themeName] = createTheme(palette, template, options, themeName, true)
296
+ out[themeName] = createThemeWithPalettes(
297
+ this.state.palettes,
298
+ paletteName,
299
+ template,
300
+ options,
301
+ themeName,
302
+ true
303
+ )
301
304
  }
302
305
  }
303
306
 
@@ -1,6 +1,6 @@
1
1
  import { MaskDefinitions, PaletteDefinitions, TemplateDefinitions, ThemeDefinitions } from '@tamagui/create-theme';
2
2
  import type { Narrow } from '@tamagui/web';
3
- type ThemeBuilderState = {
3
+ export type ThemeBuilderInternalState = {
4
4
  palettes?: PaletteDefinitions;
5
5
  templates?: TemplateDefinitions;
6
6
  themes?: ThemeDefinitions;
@@ -11,18 +11,18 @@ type GetGeneratedThemeFromTemplate<Template, TD> = {
11
11
  [key in keyof Template]: string;
12
12
  };
13
13
  type GetParentTheme<P, Themes extends ThemeDefinitions | undefined> = P extends string ? P extends keyof Themes ? Themes[P] : GetParentName<P> extends keyof Themes ? Themes[GetParentName<P>] : GetParentName<GetParentName<P>> extends keyof Themes ? Themes[GetParentName<GetParentName<P>>] : GetParentName<GetParentName<GetParentName<P>>> extends keyof Themes ? Themes[GetParentName<GetParentName<GetParentName<P>>>] : never : never;
14
- type GetGeneratedTheme<TD, S extends ThemeBuilderState> = TD extends {
14
+ type GetGeneratedTheme<TD, S extends ThemeBuilderInternalState> = TD extends {
15
15
  theme: infer T;
16
16
  } ? T : TD extends {
17
17
  parent: infer P;
18
18
  } ? GetGeneratedTheme<GetParentTheme<P, S['themes']>, S> : TD extends {
19
19
  template: infer T;
20
20
  } ? T extends keyof S['templates'] ? GetGeneratedThemeFromTemplate<S['templates'][T], TD> : TD : TD;
21
- type ThemeBuilderBuildResult<S extends ThemeBuilderState> = {
21
+ type ThemeBuilderBuildResult<S extends ThemeBuilderInternalState> = {
22
22
  [Key in keyof S['themes']]: GetGeneratedTheme<S['themes'][Key], S>;
23
23
  };
24
24
  type GetParentName<N extends string> = N extends `${infer A}_${infer B}_${infer C}_${infer D}_${string}` ? `${A}_${B}_${C}_${D}` : N extends `${infer A}_${infer B}_${infer C}_${string}` ? `${A}_${B}_${C}` : N extends `${infer A}_${infer B}_${string}` ? `${A}_${B}` : N extends `${infer A}_${string}` ? `${A}` : never;
25
- export declare class ThemeBuilder<State extends ThemeBuilderState = ThemeBuilderState> {
25
+ export declare class ThemeBuilder<State extends ThemeBuilderInternalState = ThemeBuilderInternalState> {
26
26
  state: State;
27
27
  constructor(state: State);
28
28
  addPalettes<const P extends PaletteDefinitions>(palettes: P): ThemeBuilder<State & {
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeBuilder.d.ts","sourceRoot":"","sources":["../src/ThemeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeBuilder.d.ts","sourceRoot":"","sources":["../src/ThemeBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { BuildTheme, BuildThemeSuitePalettes } from './types';
2
- export declare function getThemeSuitePalettes(theme: BuildTheme): BuildThemeSuitePalettes;
3
- //# sourceMappingURL=buildThemeSuitePalettes.d.ts.map