@tamagui/theme-builder 1.89.0-1706483140977 → 1.89.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.
@@ -85,7 +85,7 @@ class ThemeBuilder {
85
85
  const nameParts = themeName.split("_"), parentName = nameParts.slice(0, nameParts.length - 1).join("_"), definitions = this.state.themes[themeName], themeDefinition = Array.isArray(definitions) ? (() => {
86
86
  const found = definitions.find(
87
87
  // endWith match stronger than startsWith
88
- (d) => parentName.endsWith(d.parent) || parentName.startsWith(d.parent)
88
+ (d) => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : !0
89
89
  );
90
90
  return found || null;
91
91
  })() : definitions;
@@ -95,18 +95,26 @@ class ThemeBuilder {
95
95
  else if ("mask" in themeDefinition)
96
96
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
97
97
  else {
98
- let { palette: paletteName, template: templateName, ...options } = themeDefinition;
98
+ let {
99
+ palette: paletteName = "",
100
+ template: templateName,
101
+ ...options
102
+ } = themeDefinition;
103
+ const parentDefinition = this.state.themes[parentName];
99
104
  if (!this.state.palettes)
100
105
  throw new Error(
101
106
  `No palettes defined for theme with palette expected: ${themeName}`
102
107
  );
103
- let palette = this.state.palettes[paletteName];
104
- if (palette || (paletteName = `${parentName}_${paletteName}`, palette = this.state.palettes[paletteName]), !palette)
105
- throw new Error(
106
- `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
107
- this.state.palettes
108
- ).join(", ")})`
109
- );
108
+ let palette = this.state.palettes[paletteName || ""], attemptParentName = `${parentName}_${paletteName}`;
109
+ for (; !palette && attemptParentName; )
110
+ attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
111
+ if (!palette) {
112
+ const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
113
+ Definition: ${JSON.stringify(themeDefinition)}
114
+ Parent: ${JSON.stringify(parentDefinition)}
115
+ Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
116
+ throw new Error(`No palette for theme${msg}`);
117
+ }
110
118
  const template = this.state.templates?.[templateName];
111
119
  if (!template)
112
120
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
@@ -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
  }
@@ -87,7 +87,7 @@ class ThemeBuilder {
87
87
  const nameParts = themeName.split("_"), parentName = nameParts.slice(0, nameParts.length - 1).join("_"), definitions = this.state.themes[themeName], themeDefinition = Array.isArray(definitions) ? (() => {
88
88
  const found = definitions.find(
89
89
  // endWith match stronger than startsWith
90
- (d) => parentName.endsWith(d.parent) || parentName.startsWith(d.parent)
90
+ (d) => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : !0
91
91
  );
92
92
  return found || null;
93
93
  })() : definitions;
@@ -97,18 +97,26 @@ class ThemeBuilder {
97
97
  else if ("mask" in themeDefinition)
98
98
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
99
99
  else {
100
- let { palette: paletteName, template: templateName, ...options } = themeDefinition;
100
+ let {
101
+ palette: paletteName = "",
102
+ template: templateName,
103
+ ...options
104
+ } = themeDefinition;
105
+ const parentDefinition = this.state.themes[parentName];
101
106
  if (!this.state.palettes)
102
107
  throw new Error(
103
108
  `No palettes defined for theme with palette expected: ${themeName}`
104
109
  );
105
- let palette = this.state.palettes[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
- );
110
+ let palette = this.state.palettes[paletteName || ""], attemptParentName = `${parentName}_${paletteName}`;
111
+ for (; !palette && attemptParentName; )
112
+ attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
113
+ if (!palette) {
114
+ const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
115
+ Definition: ${JSON.stringify(themeDefinition)}
116
+ Parent: ${JSON.stringify(parentDefinition)}
117
+ Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
118
+ throw new Error(`No palette for theme${msg}`);
119
+ }
112
120
  const template = (_a = this.state.templates) == null ? void 0 : _a[templateName];
113
121
  if (!template)
114
122
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ThemeBuilder.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,0BAMO;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,OAAI;AAAA,YACF,mCAAc,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,SAAK,gCAAW,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,mCAAS;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;AArO1C;AAsOI,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,YAAW,UAAK,MAAM,cAAX,mBAAuB;AACxC,cAAI,CAAC;AACH,kBAAM,IAAI,MAAM,yBAAyB,SAAS,KAAK,YAAY,EAAE;AAGvE,cAAI,SAAS,QAAI;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,gBAAe,UAAK,MAAM,UAAX,mBAAmB;AAEtC,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,gBAAe,UAAK,MAAM,UAAX,mBAAmBA,SAEpC,OAAO,OAAO,SAAS,SAAS;AAAA,MAClC;AAEA,UAAI,SAAS,QAAI;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;",
4
+ "mappings": "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",
5
5
  "names": ["mask"]
6
6
  }
@@ -71,7 +71,7 @@ class ThemeBuilder {
71
71
  const nameParts = themeName.split("_"), parentName = nameParts.slice(0, nameParts.length - 1).join("_"), definitions = this.state.themes[themeName], themeDefinition = Array.isArray(definitions) ? (() => {
72
72
  const found = definitions.find(
73
73
  // endWith match stronger than startsWith
74
- (d) => parentName.endsWith(d.parent) || parentName.startsWith(d.parent)
74
+ (d) => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : !0
75
75
  );
76
76
  return found || null;
77
77
  })() : definitions;
@@ -81,18 +81,26 @@ class ThemeBuilder {
81
81
  else if ("mask" in themeDefinition)
82
82
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
83
83
  else {
84
- let { palette: paletteName, template: templateName, ...options } = themeDefinition;
84
+ let {
85
+ palette: paletteName = "",
86
+ template: templateName,
87
+ ...options
88
+ } = themeDefinition;
89
+ const parentDefinition = this.state.themes[parentName];
85
90
  if (!this.state.palettes)
86
91
  throw new Error(
87
92
  `No palettes defined for theme with palette expected: ${themeName}`
88
93
  );
89
- let palette = this.state.palettes[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
- );
94
+ let palette = this.state.palettes[paletteName || ""], attemptParentName = `${parentName}_${paletteName}`;
95
+ for (; !palette && attemptParentName; )
96
+ attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
97
+ if (!palette) {
98
+ const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
99
+ Definition: ${JSON.stringify(themeDefinition)}
100
+ Parent: ${JSON.stringify(parentDefinition)}
101
+ Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
102
+ throw new Error(`No palette for theme${msg}`);
103
+ }
96
104
  const template = this.state.templates?.[templateName];
97
105
  if (!template)
98
106
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
@@ -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
  }
@@ -72,7 +72,7 @@ class ThemeBuilder {
72
72
  themeDefinition = Array.isArray(definitions) ? (() => {
73
73
  const found = definitions.find(
74
74
  // endWith match stronger than startsWith
75
- d => parentName.endsWith(d.parent) || parentName.startsWith(d.parent));
75
+ d => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : !0);
76
76
  return found || null;
77
77
  })() : definitions;
78
78
  if (themeDefinition) if ("theme" in themeDefinition) out[themeName] = themeDefinition.theme;else if ("mask" in themeDefinition) maskedThemes.push({
@@ -81,13 +81,22 @@ class ThemeBuilder {
81
81
  mask: themeDefinition
82
82
  });else {
83
83
  let {
84
- palette: paletteName,
84
+ palette: paletteName = "",
85
85
  template: templateName,
86
86
  ...options
87
87
  } = themeDefinition;
88
+ const parentDefinition = this.state.themes[parentName];
88
89
  if (!this.state.palettes) throw new Error(`No palettes defined for theme with palette expected: ${themeName}`);
89
- let palette = this.state.palettes[paletteName];
90
- if (palette || (paletteName = `${parentName}_${paletteName}`, palette = this.state.palettes[paletteName]), !palette) throw new Error(`No palette for theme ${themeName}: ${paletteName} (${Object.keys(this.state.palettes).join(", ")})`);
90
+ let palette = this.state.palettes[paletteName || ""],
91
+ attemptParentName = `${parentName}_${paletteName}`;
92
+ for (; !palette && attemptParentName;) attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
93
+ if (!palette) {
94
+ const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
95
+ Definition: ${JSON.stringify(themeDefinition)}
96
+ Parent: ${JSON.stringify(parentDefinition)}
97
+ Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
98
+ throw new Error(`No palette for theme${msg}`);
99
+ }
91
100
  const template = this.state.templates?.[templateName];
92
101
  if (!template) throw new Error(`No template for theme ${themeName}: ${templateName}`);
93
102
  out[themeName] = createThemeWithPalettes(this.state.palettes, paletteName, template, options, themeName, !0);
@@ -1,25 +1,10 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: !0 });
9
- }, __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from == "object" || typeof from == "function")
11
- for (let key of __getOwnPropNames(from))
12
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- return to;
14
- };
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
- var ThemeBuilder_exports = {};
17
- __export(ThemeBuilder_exports, {
18
- ThemeBuilder: () => ThemeBuilder,
19
- createThemeBuilder: () => createThemeBuilder
20
- });
21
- module.exports = __toCommonJS(ThemeBuilder_exports);
22
- var import_create_theme = require("@tamagui/create-theme");
1
+ import {
2
+ applyMask,
3
+ createMask,
4
+ createThemeWithPalettes,
5
+ objectEntries,
6
+ objectFromEntries
7
+ } from "@tamagui/create-theme";
23
8
  class ThemeBuilder {
24
9
  constructor(state) {
25
10
  this.state = state;
@@ -44,8 +29,8 @@ class ThemeBuilder {
44
29
  return this.state.masks = {
45
30
  // as {} prevents generic string key merge messing up types
46
31
  ...this.state.masks,
47
- ...(0, import_create_theme.objectFromEntries)(
48
- (0, import_create_theme.objectEntries)(masks).map(([key, val]) => [key, (0, import_create_theme.createMask)(val)])
32
+ ...objectFromEntries(
33
+ objectEntries(masks).map(([key, val]) => [key, createMask(val)])
49
34
  )
50
35
  }, this;
51
36
  }
@@ -87,7 +72,7 @@ class ThemeBuilder {
87
72
  const nameParts = themeName.split("_"), parentName = nameParts.slice(0, nameParts.length - 1).join("_"), definitions = this.state.themes[themeName], themeDefinition = Array.isArray(definitions) ? (() => {
88
73
  const found = definitions.find(
89
74
  // endWith match stronger than startsWith
90
- (d) => parentName.endsWith(d.parent) || parentName.startsWith(d.parent)
75
+ (d) => d.parent ? parentName.endsWith(d.parent) || parentName.startsWith(d.parent) : !0
91
76
  );
92
77
  return found || null;
93
78
  })() : definitions;
@@ -97,22 +82,30 @@ class ThemeBuilder {
97
82
  else if ("mask" in themeDefinition)
98
83
  maskedThemes.push({ parentName, themeName, mask: themeDefinition });
99
84
  else {
100
- let { palette: paletteName, template: templateName, ...options } = themeDefinition;
85
+ let {
86
+ palette: paletteName = "",
87
+ template: templateName,
88
+ ...options
89
+ } = themeDefinition;
90
+ const parentDefinition = this.state.themes[parentName];
101
91
  if (!this.state.palettes)
102
92
  throw new Error(
103
93
  `No palettes defined for theme with palette expected: ${themeName}`
104
94
  );
105
- let palette = this.state.palettes[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
- );
95
+ let palette = this.state.palettes[paletteName || ""], attemptParentName = `${parentName}_${paletteName}`;
96
+ for (; !palette && attemptParentName; )
97
+ attemptParentName in this.state.palettes ? (palette = this.state.palettes[attemptParentName], paletteName = attemptParentName) : attemptParentName = attemptParentName.split("_").slice(0, -1).join("_");
98
+ if (!palette) {
99
+ const msg = process.env.NODE_ENV !== "production" ? `: ${themeName}: ${paletteName}
100
+ Definition: ${JSON.stringify(themeDefinition)}
101
+ Parent: ${JSON.stringify(parentDefinition)}
102
+ Potential: (${Object.keys(this.state.palettes).join(", ")})` : "";
103
+ throw new Error(`No palette for theme${msg}`);
104
+ }
112
105
  const template = (_a = this.state.templates) == null ? void 0 : _a[templateName];
113
106
  if (!template)
114
107
  throw new Error(`No template for theme ${themeName}: ${templateName}`);
115
- out[themeName] = (0, import_create_theme.createThemeWithPalettes)(
108
+ out[themeName] = createThemeWithPalettes(
116
109
  this.state.palettes,
117
110
  paletteName,
118
111
  template,
@@ -135,7 +128,7 @@ class ThemeBuilder {
135
128
  const { mask: mask2, ...childOpts } = parentTheme.childOptions;
136
129
  mask2 && (maskFunction = (_c = this.state.masks) == null ? void 0 : _c[mask2]), Object.assign(options, childOpts);
137
130
  }
138
- out[themeName] = (0, import_create_theme.applyMask)(
131
+ out[themeName] = applyMask(
139
132
  parent,
140
133
  maskFunction,
141
134
  options,
@@ -149,9 +142,8 @@ class ThemeBuilder {
149
142
  function createThemeBuilder() {
150
143
  return new ThemeBuilder({});
151
144
  }
152
- // Annotate the CommonJS export names for ESM import in node:
153
- 0 && (module.exports = {
145
+ export {
154
146
  ThemeBuilder,
155
147
  createThemeBuilder
156
- });
148
+ };
157
149
  //# sourceMappingURL=ThemeBuilder.js.map
@@ -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,22 +1,3 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from == "object" || typeof from == "function")
8
- for (let key of __getOwnPropNames(from))
9
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- return to;
11
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
- var src_exports = {};
14
- module.exports = __toCommonJS(src_exports);
15
- __reExport(src_exports, require("./ThemeBuilder"), module.exports);
16
- __reExport(src_exports, require("@tamagui/create-theme"), module.exports);
17
- // Annotate the CommonJS export names for ESM import in node:
18
- 0 && (module.exports = {
19
- ...require("./ThemeBuilder"),
20
- ...require("@tamagui/create-theme")
21
- });
1
+ export * from "./ThemeBuilder";
2
+ export * from "@tamagui/create-theme";
22
3
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,2BAAd;AACA,wBAAc,kCADd;",
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/theme-builder",
3
- "version": "1.89.0-1706483140977",
3
+ "version": "1.89.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -28,11 +28,11 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@tamagui/create-theme": "1.89.0-1706483140977",
31
+ "@tamagui/create-theme": "1.89.0",
32
32
  "color2k": "^2.0.2"
33
33
  },
34
34
  "devDependencies": {
35
- "@tamagui/build": "1.89.0-1706483140977"
35
+ "@tamagui/build": "1.89.0"
36
36
  },
37
37
  "publishConfig": {
38
38
  "access": "public"
@@ -248,7 +248,10 @@ export class ThemeBuilder<
248
248
  ? (() => {
249
249
  const found = definitions.find(
250
250
  // endWith match stronger than startsWith
251
- (d) => parentName.endsWith(d.parent!) || parentName.startsWith(d.parent!)
251
+ (d) =>
252
+ d.parent
253
+ ? parentName.endsWith(d.parent!) || parentName.startsWith(d.parent!)
254
+ : true
252
255
  )
253
256
  if (!found) {
254
257
  return null
@@ -267,7 +270,13 @@ export class ThemeBuilder<
267
270
  } else if ('mask' in themeDefinition) {
268
271
  maskedThemes.push({ parentName, themeName, mask: themeDefinition })
269
272
  } else {
270
- let { palette: paletteName, template: templateName, ...options } = themeDefinition
273
+ let {
274
+ palette: paletteName = '',
275
+ template: templateName,
276
+ ...options
277
+ } = themeDefinition
278
+
279
+ const parentDefinition = this.state.themes[parentName]
271
280
 
272
281
  if (!this.state.palettes) {
273
282
  throw new Error(
@@ -275,19 +284,27 @@ export class ThemeBuilder<
275
284
  )
276
285
  }
277
286
 
278
- let palette = this.state.palettes[paletteName]
279
- if (!palette) {
280
- paletteName = `${parentName}_${paletteName}`
281
- palette = this.state.palettes[paletteName]
282
- // try using the prefix
287
+ let palette = this.state.palettes[paletteName || '']
288
+ let attemptParentName = `${parentName}_${paletteName}`
289
+
290
+ while (!palette && attemptParentName) {
291
+ if (attemptParentName in this.state.palettes) {
292
+ palette = this.state.palettes[attemptParentName]
293
+ paletteName = attemptParentName
294
+ } else {
295
+ attemptParentName = attemptParentName.split('_').slice(0, -1).join('_')
296
+ }
283
297
  }
284
298
 
285
299
  if (!palette) {
286
- throw new Error(
287
- `No palette for theme ${themeName}: ${paletteName} (${Object.keys(
288
- this.state.palettes
289
- ).join(', ')})`
290
- )
300
+ const msg =
301
+ process.env.NODE_ENV !== 'production'
302
+ ? `: ${themeName}: ${paletteName}
303
+ Definition: ${JSON.stringify(themeDefinition)}
304
+ Parent: ${JSON.stringify(parentDefinition)}
305
+ Potential: (${Object.keys(this.state.palettes).join(', ')})`
306
+ : ``
307
+ throw new Error(`No palette for theme${msg}`)
291
308
  }
292
309
 
293
310
  const template = this.state.templates?.[templateName]
@@ -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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"}