@evolve.ui/theme-system 1.1.0 → 1.2.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.
Files changed (99) hide show
  1. package/{allThemes-CFS_9-tk.cjs → allThemes-3d8nhymo.cjs} +12 -2
  2. package/allThemes-3d8nhymo.cjs.map +1 -0
  3. package/{allThemes-OV-ayn4C.mjs → allThemes-Abn6KDm7.mjs} +7 -3
  4. package/allThemes-Abn6KDm7.mjs.map +1 -0
  5. package/allThemes.cjs +1 -1
  6. package/allThemes.d.cts +1 -0
  7. package/allThemes.d.cts.map +1 -1
  8. package/allThemes.d.mts +1 -0
  9. package/allThemes.d.mts.map +1 -1
  10. package/allThemes.mjs +1 -1
  11. package/brands-CE0wIkKX.d.cts +58 -0
  12. package/brands-CE0wIkKX.d.cts.map +1 -0
  13. package/brands-CE0wIkKX.d.mts +58 -0
  14. package/brands-CE0wIkKX.d.mts.map +1 -0
  15. package/brands.cjs +16 -13
  16. package/brands.cjs.map +1 -1
  17. package/brands.d.cts +2 -2
  18. package/brands.d.mts +2 -2
  19. package/brands.mjs +16 -13
  20. package/brands.mjs.map +1 -1
  21. package/css/EverydayHarbor.css +377 -0
  22. package/css/EverydayHarbor.effects.css +650 -0
  23. package/{default-b-tgfyxR.cjs → default-B6VWF0Js.cjs} +237 -36
  24. package/default-B6VWF0Js.cjs.map +1 -0
  25. package/{default-B2n4PnsJ.mjs → default-BogJDhKE.mjs} +238 -37
  26. package/default-BogJDhKE.mjs.map +1 -0
  27. package/effects.cjs +26 -0
  28. package/effects.cjs.map +1 -0
  29. package/effects.d.cts +22 -0
  30. package/effects.d.cts.map +1 -0
  31. package/effects.d.mts +22 -0
  32. package/effects.d.mts.map +1 -0
  33. package/effects.mjs +22 -0
  34. package/effects.mjs.map +1 -0
  35. package/evolve-ui.entries.json +5 -0
  36. package/index.cjs +12 -5
  37. package/index.cjs.map +1 -1
  38. package/index.d.cts +108 -4
  39. package/index.d.cts.map +1 -1
  40. package/index.d.mts +108 -4
  41. package/index.d.mts.map +1 -1
  42. package/index.mjs +9 -6
  43. package/index.mjs.map +1 -1
  44. package/package.json +5 -1
  45. package/{plugin-DPtvp4lp.cjs → plugin-B3PF4RMI.cjs} +299 -110
  46. package/plugin-B3PF4RMI.cjs.map +1 -0
  47. package/{plugin-D4eCyUJe.mjs → plugin-D6aLCeNB.mjs} +258 -111
  48. package/plugin-D6aLCeNB.mjs.map +1 -0
  49. package/src/effects/__fixtures__/fixtureLayer.ts +88 -0
  50. package/src/effects/brands/EverydayHarbor.ts +392 -0
  51. package/src/effects/classes.ts +19 -0
  52. package/src/effects/emit.ts +314 -0
  53. package/src/effects/hooks.ts +493 -0
  54. package/src/effects/index.ts +2 -0
  55. package/src/effects/layers.ts +18 -0
  56. package/src/effects/rules.ts +90 -0
  57. package/src/effects/rules.typecheck.ts +50 -0
  58. package/src/effects/tokens.ts +148 -0
  59. package/src/effects/validate.ts +683 -0
  60. package/src/effects/vocabulary.ts +32 -0
  61. package/src/index.ts +3 -0
  62. package/src/tailwind/animation.ts +30 -0
  63. package/src/tailwind/borderWidth.ts +14 -0
  64. package/src/tailwind/plugin.ts +230 -239
  65. package/src/tailwind/reducedMotion.ts +164 -0
  66. package/src/tailwind/text.ts +4 -2
  67. package/src/themeValues.snapshot.ts +6735 -0
  68. package/src/themes/EverydayHarbor.ts +147 -0
  69. package/src/themes/allThemes.ts +2 -0
  70. package/src/themes/brandSources.ts +37 -0
  71. package/src/themes/brands.ts +41 -15
  72. package/src/themes/contrastFloors.ts +26 -0
  73. package/src/themes/inkRamps.ts +43 -0
  74. package/src/themes/runtime/buildTheme.ts +6 -19
  75. package/src/themes/runtime/everydayHarbor.ts +3 -0
  76. package/src/themes/semanticColorTokenSteps.ts +5 -2
  77. package/src/themes/themeValues.ts +374 -0
  78. package/src/themes/wcag.ts +48 -0
  79. package/tailwind/plugin.cjs +5 -1
  80. package/tailwind/plugin.d.cts +458 -1
  81. package/tailwind/plugin.d.cts.map +1 -1
  82. package/tailwind/plugin.d.mts +458 -1
  83. package/tailwind/plugin.d.mts.map +1 -1
  84. package/tailwind/plugin.mjs +2 -2
  85. package/themes/runtime/default.cjs +1 -1
  86. package/themes/runtime/default.mjs +1 -1
  87. package/themes/themeType.d.cts +1 -1
  88. package/themes/themeType.d.mts +1 -1
  89. package/allThemes-CFS_9-tk.cjs.map +0 -1
  90. package/allThemes-OV-ayn4C.mjs.map +0 -1
  91. package/brands-n30rolHQ.d.cts +0 -33
  92. package/brands-n30rolHQ.d.cts.map +0 -1
  93. package/brands-n30rolHQ.d.mts +0 -33
  94. package/brands-n30rolHQ.d.mts.map +0 -1
  95. package/default-B2n4PnsJ.mjs.map +0 -1
  96. package/default-b-tgfyxR.cjs.map +0 -1
  97. package/plugin-D4eCyUJe.mjs.map +0 -1
  98. package/plugin-DPtvp4lp.cjs.map +0 -1
  99. package/src/themes/generate.ts +0 -46
@@ -1,7 +1,10 @@
1
- const require_default = require("./default-b-tgfyxR.cjs");
1
+ const require_default = require("./default-B6VWF0Js.cjs");
2
2
  //#region src/themes/runtime/basketballTraining.ts
3
3
  const basketballTrainingTheme = require_default.buildRuntimeTheme("BasketballTraining");
4
4
  //#endregion
5
+ //#region src/themes/runtime/everydayHarbor.ts
6
+ const everydayHarborTheme = require_default.buildRuntimeTheme("EverydayHarbor");
7
+ //#endregion
5
8
  //#region src/themes/runtime/professionalBrand.ts
6
9
  const professionalBrandTheme = require_default.buildRuntimeTheme("ProfessionalBrand");
7
10
  //#endregion
@@ -9,6 +12,7 @@ const professionalBrandTheme = require_default.buildRuntimeTheme("ProfessionalBr
9
12
  const allThemes = {
10
13
  BasketballTraining: basketballTrainingTheme,
11
14
  Default: require_default.defaultTheme,
15
+ EverydayHarbor: everydayHarborTheme,
12
16
  ProfessionalBrand: professionalBrandTheme
13
17
  };
14
18
  //#endregion
@@ -24,6 +28,12 @@ Object.defineProperty(exports, "basketballTrainingTheme", {
24
28
  return basketballTrainingTheme;
25
29
  }
26
30
  });
31
+ Object.defineProperty(exports, "everydayHarborTheme", {
32
+ enumerable: true,
33
+ get: function() {
34
+ return everydayHarborTheme;
35
+ }
36
+ });
27
37
  Object.defineProperty(exports, "professionalBrandTheme", {
28
38
  enumerable: true,
29
39
  get: function() {
@@ -31,4 +41,4 @@ Object.defineProperty(exports, "professionalBrandTheme", {
31
41
  }
32
42
  });
33
43
 
34
- //# sourceMappingURL=allThemes-CFS_9-tk.cjs.map
44
+ //# sourceMappingURL=allThemes-3d8nhymo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allThemes-3d8nhymo.cjs","names":["buildRuntimeTheme","buildRuntimeTheme","buildRuntimeTheme","defaultTheme"],"sources":["../src/themes/runtime/basketballTraining.ts","../src/themes/runtime/everydayHarbor.ts","../src/themes/runtime/professionalBrand.ts","../src/themes/allThemes.ts"],"sourcesContent":["import { buildRuntimeTheme } from './buildTheme';\n\nexport const basketballTrainingTheme = buildRuntimeTheme('BasketballTraining');\n","import { buildRuntimeTheme } from './buildTheme';\n\nexport const everydayHarborTheme = buildRuntimeTheme('EverydayHarbor');\n","import { buildRuntimeTheme } from './buildTheme';\n\nexport const professionalBrandTheme = buildRuntimeTheme('ProfessionalBrand');\n","import type { Brands } from './brands';\nimport type { CleanTheme } from './themeType';\n\nimport { basketballTrainingTheme } from './runtime/basketballTraining';\nimport { defaultTheme } from './runtime/default';\nimport { everydayHarborTheme } from './runtime/everydayHarbor';\nimport { professionalBrandTheme } from './runtime/professionalBrand';\n\nexport const allThemes = {\n BasketballTraining: basketballTrainingTheme,\n Default: defaultTheme,\n EverydayHarbor: everydayHarborTheme,\n ProfessionalBrand: professionalBrandTheme,\n} as const satisfies Record<Brands, CleanTheme>;\n"],"mappings":";;AAEA,MAAa,0BAA0BA,gBAAAA,kBAAkB,oBAAoB;;;ACA7E,MAAa,sBAAsBC,gBAAAA,kBAAkB,gBAAgB;;;ACArE,MAAa,yBAAyBC,gBAAAA,kBAAkB,mBAAmB;;;ACM3E,MAAa,YAAY;CACrB,oBAAoB;CACpB,SAASC,gBAAAA;CACT,gBAAgB;CAChB,mBAAmB;AACvB"}
@@ -1,7 +1,10 @@
1
- import { n as buildRuntimeTheme, t as defaultTheme } from "./default-B2n4PnsJ.mjs";
1
+ import { n as buildRuntimeTheme, t as defaultTheme } from "./default-BogJDhKE.mjs";
2
2
  //#region src/themes/runtime/basketballTraining.ts
3
3
  const basketballTrainingTheme = buildRuntimeTheme("BasketballTraining");
4
4
  //#endregion
5
+ //#region src/themes/runtime/everydayHarbor.ts
6
+ const everydayHarborTheme = buildRuntimeTheme("EverydayHarbor");
7
+ //#endregion
5
8
  //#region src/themes/runtime/professionalBrand.ts
6
9
  const professionalBrandTheme = buildRuntimeTheme("ProfessionalBrand");
7
10
  //#endregion
@@ -9,9 +12,10 @@ const professionalBrandTheme = buildRuntimeTheme("ProfessionalBrand");
9
12
  const allThemes = {
10
13
  BasketballTraining: basketballTrainingTheme,
11
14
  Default: defaultTheme,
15
+ EverydayHarbor: everydayHarborTheme,
12
16
  ProfessionalBrand: professionalBrandTheme
13
17
  };
14
18
  //#endregion
15
- export { professionalBrandTheme as n, basketballTrainingTheme as r, allThemes as t };
19
+ export { basketballTrainingTheme as i, professionalBrandTheme as n, everydayHarborTheme as r, allThemes as t };
16
20
 
17
- //# sourceMappingURL=allThemes-OV-ayn4C.mjs.map
21
+ //# sourceMappingURL=allThemes-Abn6KDm7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allThemes-Abn6KDm7.mjs","names":[],"sources":["../src/themes/runtime/basketballTraining.ts","../src/themes/runtime/everydayHarbor.ts","../src/themes/runtime/professionalBrand.ts","../src/themes/allThemes.ts"],"sourcesContent":["import { buildRuntimeTheme } from './buildTheme';\n\nexport const basketballTrainingTheme = buildRuntimeTheme('BasketballTraining');\n","import { buildRuntimeTheme } from './buildTheme';\n\nexport const everydayHarborTheme = buildRuntimeTheme('EverydayHarbor');\n","import { buildRuntimeTheme } from './buildTheme';\n\nexport const professionalBrandTheme = buildRuntimeTheme('ProfessionalBrand');\n","import type { Brands } from './brands';\nimport type { CleanTheme } from './themeType';\n\nimport { basketballTrainingTheme } from './runtime/basketballTraining';\nimport { defaultTheme } from './runtime/default';\nimport { everydayHarborTheme } from './runtime/everydayHarbor';\nimport { professionalBrandTheme } from './runtime/professionalBrand';\n\nexport const allThemes = {\n BasketballTraining: basketballTrainingTheme,\n Default: defaultTheme,\n EverydayHarbor: everydayHarborTheme,\n ProfessionalBrand: professionalBrandTheme,\n} as const satisfies Record<Brands, CleanTheme>;\n"],"mappings":";;AAEA,MAAa,0BAA0B,kBAAkB,oBAAoB;;;ACA7E,MAAa,sBAAsB,kBAAkB,gBAAgB;;;ACArE,MAAa,yBAAyB,kBAAkB,mBAAmB;;;ACM3E,MAAa,YAAY;CACrB,oBAAoB;CACpB,SAAS;CACT,gBAAgB;CAChB,mBAAmB;AACvB"}
package/allThemes.cjs CHANGED
@@ -2,5 +2,5 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_allThemes = require("./allThemes-CFS_9-tk.cjs");
5
+ const require_allThemes = require("./allThemes-3d8nhymo.cjs");
6
6
  exports.allThemes = require_allThemes.allThemes;
package/allThemes.d.cts CHANGED
@@ -4,6 +4,7 @@ import { Theme } from "./themes/themeType.cjs";
4
4
  declare const allThemes: {
5
5
  readonly BasketballTraining: Theme;
6
6
  readonly Default: Theme;
7
+ readonly EverydayHarbor: Theme;
7
8
  readonly ProfessionalBrand: Theme;
8
9
  };
9
10
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"allThemes.d.cts","names":[],"sources":["../src/themes/allThemes.ts"],"mappings":";;;cAOa,SAAA;EAAA,6BAIkC,KAAA;EAAA"}
1
+ {"version":3,"file":"allThemes.d.cts","names":[],"sources":["../src/themes/allThemes.ts"],"mappings":";;;cAQa,SAAA;EAAA,6BAKkC,KAAA;EAAA"}
package/allThemes.d.mts CHANGED
@@ -4,6 +4,7 @@ import { Theme } from "./themes/themeType.mjs";
4
4
  declare const allThemes: {
5
5
  readonly BasketballTraining: Theme;
6
6
  readonly Default: Theme;
7
+ readonly EverydayHarbor: Theme;
7
8
  readonly ProfessionalBrand: Theme;
8
9
  };
9
10
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"allThemes.d.mts","names":[],"sources":["../src/themes/allThemes.ts"],"mappings":";;;cAOa,SAAA;EAAA,6BAIkC,KAAA;EAAA"}
1
+ {"version":3,"file":"allThemes.d.mts","names":[],"sources":["../src/themes/allThemes.ts"],"mappings":";;;cAQa,SAAA;EAAA,6BAKkC,KAAA;EAAA"}
package/allThemes.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as allThemes } from "./allThemes-OV-ayn4C.mjs";
1
+ import { t as allThemes } from "./allThemes-Abn6KDm7.mjs";
2
2
  export { allThemes };
@@ -0,0 +1,58 @@
1
+ //#region src/themes/brands.d.ts
2
+ /**
3
+ * The `Brands` union is the ONE authored list of brand names. Every other per-brand table is derived
4
+ * from `brandRegistry` or checked against this union with `satisfies Record<Brands, …>`, so a missing
5
+ * entry is a compile error rather than a silent omission.
6
+ *
7
+ * Stays pure data: this module is the published `@evolve.ui/theme-system/brands` subpath and is
8
+ * imported by Storybook in the browser, so it must not import brand palette modules.
9
+ */
10
+ type Brands = 'BasketballTraining' | 'Default' | 'EverydayHarbor' | 'ProfessionalBrand';
11
+ /**
12
+ * `paper`: light canvas; the brand renders on `bg-background-primary`.
13
+ * `ink`: inverted canvas; Storybook frames it separately instead of in the white "All together" grid.
14
+ */
15
+ type BrandCanvas = 'ink' | 'paper';
16
+ type BrandRegistryEntry = {
17
+ readonly canvas: BrandCanvas;
18
+ readonly cssClass: `brand-${string}`;
19
+ readonly label: string; /** Kept for API compatibility; always equal to the registry key. */
20
+ readonly storybookKey: Brands;
21
+ readonly themeKey: Brands;
22
+ };
23
+ declare const brandRegistry: {
24
+ readonly BasketballTraining: {
25
+ readonly canvas: "paper";
26
+ readonly cssClass: "brand-basketball";
27
+ readonly label: "Basketball Training";
28
+ readonly storybookKey: "BasketballTraining";
29
+ readonly themeKey: "BasketballTraining";
30
+ };
31
+ readonly Default: {
32
+ readonly canvas: "paper";
33
+ readonly cssClass: "brand-default";
34
+ readonly label: "Default (Neutral)";
35
+ readonly storybookKey: "Default";
36
+ readonly themeKey: "Default";
37
+ };
38
+ readonly ProfessionalBrand: {
39
+ readonly canvas: "paper";
40
+ readonly cssClass: "brand-professional";
41
+ readonly label: "Professional Brand";
42
+ readonly storybookKey: "ProfessionalBrand";
43
+ readonly themeKey: "ProfessionalBrand";
44
+ };
45
+ readonly EverydayHarbor: {
46
+ readonly canvas: "ink";
47
+ readonly cssClass: "brand-harbor";
48
+ readonly label: "Everyday Harbor";
49
+ readonly storybookKey: "EverydayHarbor";
50
+ readonly themeKey: "EverydayHarbor";
51
+ };
52
+ };
53
+ /** Registry key order (previously a hand list ordered Basketball, Professional, Default). */
54
+ declare const brands: Brands[];
55
+ declare const brandsToCSS: Record<Brands, string>;
56
+ //#endregion
57
+ export { brands as a, brandRegistry as i, BrandRegistryEntry as n, brandsToCSS as o, Brands as r, BrandCanvas as t };
58
+ //# sourceMappingURL=brands-CE0wIkKX.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brands-CE0wIkKX.d.cts","names":[],"sources":["../src/themes/brands.ts"],"mappings":";;AAQA;;;;AAAkB;AAMlB;;KANY,MAAA;;AAMW;AAEvB;;KAFY,WAAA;AAAA,KAEA,kBAAA;EAAA,SACC,MAAA,EAAQ,WAAA;EAAA,SACR,QAAA;EAAA,SACA,KAAA,UAGgB;EAAA,SADhB,YAAA,EAAc,MAAA;EAAA,SACd,QAAA,EAAU,MAAA;AAAA;AAAA,cAGV,aAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCA,MAAA,EAAQ,MAAM;AAAA,cAEd,WAAA,EAAa,MAAM,CAAC,MAAA"}
@@ -0,0 +1,58 @@
1
+ //#region src/themes/brands.d.ts
2
+ /**
3
+ * The `Brands` union is the ONE authored list of brand names. Every other per-brand table is derived
4
+ * from `brandRegistry` or checked against this union with `satisfies Record<Brands, …>`, so a missing
5
+ * entry is a compile error rather than a silent omission.
6
+ *
7
+ * Stays pure data: this module is the published `@evolve.ui/theme-system/brands` subpath and is
8
+ * imported by Storybook in the browser, so it must not import brand palette modules.
9
+ */
10
+ type Brands = 'BasketballTraining' | 'Default' | 'EverydayHarbor' | 'ProfessionalBrand';
11
+ /**
12
+ * `paper`: light canvas; the brand renders on `bg-background-primary`.
13
+ * `ink`: inverted canvas; Storybook frames it separately instead of in the white "All together" grid.
14
+ */
15
+ type BrandCanvas = 'ink' | 'paper';
16
+ type BrandRegistryEntry = {
17
+ readonly canvas: BrandCanvas;
18
+ readonly cssClass: `brand-${string}`;
19
+ readonly label: string; /** Kept for API compatibility; always equal to the registry key. */
20
+ readonly storybookKey: Brands;
21
+ readonly themeKey: Brands;
22
+ };
23
+ declare const brandRegistry: {
24
+ readonly BasketballTraining: {
25
+ readonly canvas: "paper";
26
+ readonly cssClass: "brand-basketball";
27
+ readonly label: "Basketball Training";
28
+ readonly storybookKey: "BasketballTraining";
29
+ readonly themeKey: "BasketballTraining";
30
+ };
31
+ readonly Default: {
32
+ readonly canvas: "paper";
33
+ readonly cssClass: "brand-default";
34
+ readonly label: "Default (Neutral)";
35
+ readonly storybookKey: "Default";
36
+ readonly themeKey: "Default";
37
+ };
38
+ readonly ProfessionalBrand: {
39
+ readonly canvas: "paper";
40
+ readonly cssClass: "brand-professional";
41
+ readonly label: "Professional Brand";
42
+ readonly storybookKey: "ProfessionalBrand";
43
+ readonly themeKey: "ProfessionalBrand";
44
+ };
45
+ readonly EverydayHarbor: {
46
+ readonly canvas: "ink";
47
+ readonly cssClass: "brand-harbor";
48
+ readonly label: "Everyday Harbor";
49
+ readonly storybookKey: "EverydayHarbor";
50
+ readonly themeKey: "EverydayHarbor";
51
+ };
52
+ };
53
+ /** Registry key order (previously a hand list ordered Basketball, Professional, Default). */
54
+ declare const brands: Brands[];
55
+ declare const brandsToCSS: Record<Brands, string>;
56
+ //#endregion
57
+ export { brands as a, brandRegistry as i, BrandRegistryEntry as n, brandsToCSS as o, Brands as r, BrandCanvas as t };
58
+ //# sourceMappingURL=brands-CE0wIkKX.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brands-CE0wIkKX.d.mts","names":[],"sources":["../src/themes/brands.ts"],"mappings":";;AAQA;;;;AAAkB;AAMlB;;KANY,MAAA;;AAMW;AAEvB;;KAFY,WAAA;AAAA,KAEA,kBAAA;EAAA,SACC,MAAA,EAAQ,WAAA;EAAA,SACR,QAAA;EAAA,SACA,KAAA,UAGgB;EAAA,SADhB,YAAA,EAAc,MAAA;EAAA,SACd,QAAA,EAAU,MAAA;AAAA;AAAA,cAGV,aAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiCA,MAAA,EAAQ,MAAM;AAAA,cAEd,WAAA,EAAa,MAAM,CAAC,MAAA"}
package/brands.cjs CHANGED
@@ -3,36 +3,39 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  //#region src/themes/brands.ts
6
- const brands = [
7
- "BasketballTraining",
8
- "ProfessionalBrand",
9
- "Default"
10
- ];
11
- const brandsToCSS = {
12
- BasketballTraining: "brand-basketball",
13
- Default: "brand-default",
14
- ProfessionalBrand: "brand-professional"
15
- };
16
6
  const brandRegistry = {
17
7
  BasketballTraining: {
18
- cssClass: brandsToCSS.BasketballTraining,
8
+ canvas: "paper",
9
+ cssClass: "brand-basketball",
19
10
  label: "Basketball Training",
20
11
  storybookKey: "BasketballTraining",
21
12
  themeKey: "BasketballTraining"
22
13
  },
23
14
  Default: {
24
- cssClass: brandsToCSS.Default,
15
+ canvas: "paper",
16
+ cssClass: "brand-default",
25
17
  label: "Default (Neutral)",
26
18
  storybookKey: "Default",
27
19
  themeKey: "Default"
28
20
  },
29
21
  ProfessionalBrand: {
30
- cssClass: brandsToCSS.ProfessionalBrand,
22
+ canvas: "paper",
23
+ cssClass: "brand-professional",
31
24
  label: "Professional Brand",
32
25
  storybookKey: "ProfessionalBrand",
33
26
  themeKey: "ProfessionalBrand"
27
+ },
28
+ EverydayHarbor: {
29
+ canvas: "ink",
30
+ cssClass: "brand-harbor",
31
+ label: "Everyday Harbor",
32
+ storybookKey: "EverydayHarbor",
33
+ themeKey: "EverydayHarbor"
34
34
  }
35
35
  };
36
+ /** Registry key order (previously a hand list ordered Basketball, Professional, Default). */
37
+ const brands = Object.keys(brandRegistry);
38
+ const brandsToCSS = Object.fromEntries(brands.map((brand) => [brand, brandRegistry[brand].cssClass]));
36
39
  //#endregion
37
40
  exports.brandRegistry = brandRegistry;
38
41
  exports.brands = brands;
package/brands.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"brands.cjs","names":[],"sources":["../src/themes/brands.ts"],"sourcesContent":["export type Brands = 'BasketballTraining' | 'ProfessionalBrand' | 'Default';\n\nexport const brands: Brands[] = ['BasketballTraining', 'ProfessionalBrand', 'Default'];\n\nexport const brandsToCSS: Record<Brands, string> = {\n BasketballTraining: 'brand-basketball',\n Default: 'brand-default',\n ProfessionalBrand: 'brand-professional',\n};\n\nexport type BrandRegistryEntry = {\n cssClass: string;\n label: string;\n storybookKey: Brands;\n themeKey: Brands;\n};\n\nexport const brandRegistry = {\n BasketballTraining: {\n cssClass: brandsToCSS.BasketballTraining,\n label: 'Basketball Training',\n storybookKey: 'BasketballTraining',\n themeKey: 'BasketballTraining',\n },\n Default: {\n cssClass: brandsToCSS.Default,\n label: 'Default (Neutral)',\n storybookKey: 'Default',\n themeKey: 'Default',\n },\n ProfessionalBrand: {\n cssClass: brandsToCSS.ProfessionalBrand,\n label: 'Professional Brand',\n storybookKey: 'ProfessionalBrand',\n themeKey: 'ProfessionalBrand',\n },\n} as const satisfies Record<Brands, BrandRegistryEntry>;\n"],"mappings":";;;;;AAEA,MAAa,SAAmB;CAAC;CAAsB;CAAqB;AAAS;AAErF,MAAa,cAAsC;CAC/C,oBAAoB;CACpB,SAAS;CACT,mBAAmB;AACvB;AASA,MAAa,gBAAgB;CACzB,oBAAoB;EAChB,UAAU,YAAY;EACtB,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,SAAS;EACL,UAAU,YAAY;EACtB,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,mBAAmB;EACf,UAAU,YAAY;EACtB,OAAO;EACP,cAAc;EACd,UAAU;CACd;AACJ"}
1
+ {"version":3,"file":"brands.cjs","names":[],"sources":["../src/themes/brands.ts"],"sourcesContent":["/**\n * The `Brands` union is the ONE authored list of brand names. Every other per-brand table is derived\n * from `brandRegistry` or checked against this union with `satisfies Record<Brands, …>`, so a missing\n * entry is a compile error rather than a silent omission.\n *\n * Stays pure data: this module is the published `@evolve.ui/theme-system/brands` subpath and is\n * imported by Storybook in the browser, so it must not import brand palette modules.\n */\nexport type Brands = 'BasketballTraining' | 'Default' | 'EverydayHarbor' | 'ProfessionalBrand';\n\n/**\n * `paper`: light canvas; the brand renders on `bg-background-primary`.\n * `ink`: inverted canvas; Storybook frames it separately instead of in the white \"All together\" grid.\n */\nexport type BrandCanvas = 'ink' | 'paper';\n\nexport type BrandRegistryEntry = {\n readonly canvas: BrandCanvas;\n readonly cssClass: `brand-${string}`;\n readonly label: string;\n /** Kept for API compatibility; always equal to the registry key. */\n readonly storybookKey: Brands;\n readonly themeKey: Brands;\n};\n\nexport const brandRegistry = {\n BasketballTraining: {\n canvas: 'paper',\n cssClass: 'brand-basketball',\n label: 'Basketball Training',\n storybookKey: 'BasketballTraining',\n themeKey: 'BasketballTraining',\n },\n Default: {\n canvas: 'paper',\n cssClass: 'brand-default',\n label: 'Default (Neutral)',\n storybookKey: 'Default',\n themeKey: 'Default',\n },\n ProfessionalBrand: {\n canvas: 'paper',\n cssClass: 'brand-professional',\n label: 'Professional Brand',\n storybookKey: 'ProfessionalBrand',\n themeKey: 'ProfessionalBrand',\n },\n // Appended after the paper brands: the themeValues snapshot and `brands` order follow key order.\n EverydayHarbor: {\n canvas: 'ink',\n cssClass: 'brand-harbor',\n label: 'Everyday Harbor',\n storybookKey: 'EverydayHarbor',\n themeKey: 'EverydayHarbor',\n },\n} as const satisfies Record<Brands, BrandRegistryEntry>;\n\n/** Registry key order (previously a hand list ordered Basketball, Professional, Default). */\nexport const brands: Brands[] = Object.keys(brandRegistry) as Brands[];\n\nexport const brandsToCSS: Record<Brands, string> = Object.fromEntries(\n brands.map((brand) => [brand, brandRegistry[brand].cssClass])\n) as Record<Brands, string>;\n"],"mappings":";;;;;AAyBA,MAAa,gBAAgB;CACzB,oBAAoB;EAChB,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,SAAS;EACL,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,mBAAmB;EACf,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;CAEA,gBAAgB;EACZ,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;AACJ;;AAGA,MAAa,SAAmB,OAAO,KAAK,aAAa;AAEzD,MAAa,cAAsC,OAAO,YACtD,OAAO,KAAK,UAAU,CAAC,OAAO,cAAc,MAAM,CAAC,QAAQ,CAAC,CAChE"}
package/brands.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as brandsToCSS, i as brands, n as Brands, r as brandRegistry, t as BrandRegistryEntry } from "./brands-n30rolHQ.cjs";
2
- export { BrandRegistryEntry, Brands, brandRegistry, brands, brandsToCSS };
1
+ import { a as brands, i as brandRegistry, n as BrandRegistryEntry, o as brandsToCSS, r as Brands, t as BrandCanvas } from "./brands-CE0wIkKX.cjs";
2
+ export { BrandCanvas, BrandRegistryEntry, Brands, brandRegistry, brands, brandsToCSS };
package/brands.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as brandsToCSS, i as brands, n as Brands, r as brandRegistry, t as BrandRegistryEntry } from "./brands-n30rolHQ.mjs";
2
- export { BrandRegistryEntry, Brands, brandRegistry, brands, brandsToCSS };
1
+ import { a as brands, i as brandRegistry, n as BrandRegistryEntry, o as brandsToCSS, r as Brands, t as BrandCanvas } from "./brands-CE0wIkKX.mjs";
2
+ export { BrandCanvas, BrandRegistryEntry, Brands, brandRegistry, brands, brandsToCSS };
package/brands.mjs CHANGED
@@ -1,34 +1,37 @@
1
1
  //#region src/themes/brands.ts
2
- const brands = [
3
- "BasketballTraining",
4
- "ProfessionalBrand",
5
- "Default"
6
- ];
7
- const brandsToCSS = {
8
- BasketballTraining: "brand-basketball",
9
- Default: "brand-default",
10
- ProfessionalBrand: "brand-professional"
11
- };
12
2
  const brandRegistry = {
13
3
  BasketballTraining: {
14
- cssClass: brandsToCSS.BasketballTraining,
4
+ canvas: "paper",
5
+ cssClass: "brand-basketball",
15
6
  label: "Basketball Training",
16
7
  storybookKey: "BasketballTraining",
17
8
  themeKey: "BasketballTraining"
18
9
  },
19
10
  Default: {
20
- cssClass: brandsToCSS.Default,
11
+ canvas: "paper",
12
+ cssClass: "brand-default",
21
13
  label: "Default (Neutral)",
22
14
  storybookKey: "Default",
23
15
  themeKey: "Default"
24
16
  },
25
17
  ProfessionalBrand: {
26
- cssClass: brandsToCSS.ProfessionalBrand,
18
+ canvas: "paper",
19
+ cssClass: "brand-professional",
27
20
  label: "Professional Brand",
28
21
  storybookKey: "ProfessionalBrand",
29
22
  themeKey: "ProfessionalBrand"
23
+ },
24
+ EverydayHarbor: {
25
+ canvas: "ink",
26
+ cssClass: "brand-harbor",
27
+ label: "Everyday Harbor",
28
+ storybookKey: "EverydayHarbor",
29
+ themeKey: "EverydayHarbor"
30
30
  }
31
31
  };
32
+ /** Registry key order (previously a hand list ordered Basketball, Professional, Default). */
33
+ const brands = Object.keys(brandRegistry);
34
+ const brandsToCSS = Object.fromEntries(brands.map((brand) => [brand, brandRegistry[brand].cssClass]));
32
35
  //#endregion
33
36
  export { brandRegistry, brands, brandsToCSS };
34
37
 
package/brands.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"brands.mjs","names":[],"sources":["../src/themes/brands.ts"],"sourcesContent":["export type Brands = 'BasketballTraining' | 'ProfessionalBrand' | 'Default';\n\nexport const brands: Brands[] = ['BasketballTraining', 'ProfessionalBrand', 'Default'];\n\nexport const brandsToCSS: Record<Brands, string> = {\n BasketballTraining: 'brand-basketball',\n Default: 'brand-default',\n ProfessionalBrand: 'brand-professional',\n};\n\nexport type BrandRegistryEntry = {\n cssClass: string;\n label: string;\n storybookKey: Brands;\n themeKey: Brands;\n};\n\nexport const brandRegistry = {\n BasketballTraining: {\n cssClass: brandsToCSS.BasketballTraining,\n label: 'Basketball Training',\n storybookKey: 'BasketballTraining',\n themeKey: 'BasketballTraining',\n },\n Default: {\n cssClass: brandsToCSS.Default,\n label: 'Default (Neutral)',\n storybookKey: 'Default',\n themeKey: 'Default',\n },\n ProfessionalBrand: {\n cssClass: brandsToCSS.ProfessionalBrand,\n label: 'Professional Brand',\n storybookKey: 'ProfessionalBrand',\n themeKey: 'ProfessionalBrand',\n },\n} as const satisfies Record<Brands, BrandRegistryEntry>;\n"],"mappings":";AAEA,MAAa,SAAmB;CAAC;CAAsB;CAAqB;AAAS;AAErF,MAAa,cAAsC;CAC/C,oBAAoB;CACpB,SAAS;CACT,mBAAmB;AACvB;AASA,MAAa,gBAAgB;CACzB,oBAAoB;EAChB,UAAU,YAAY;EACtB,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,SAAS;EACL,UAAU,YAAY;EACtB,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,mBAAmB;EACf,UAAU,YAAY;EACtB,OAAO;EACP,cAAc;EACd,UAAU;CACd;AACJ"}
1
+ {"version":3,"file":"brands.mjs","names":[],"sources":["../src/themes/brands.ts"],"sourcesContent":["/**\n * The `Brands` union is the ONE authored list of brand names. Every other per-brand table is derived\n * from `brandRegistry` or checked against this union with `satisfies Record<Brands, …>`, so a missing\n * entry is a compile error rather than a silent omission.\n *\n * Stays pure data: this module is the published `@evolve.ui/theme-system/brands` subpath and is\n * imported by Storybook in the browser, so it must not import brand palette modules.\n */\nexport type Brands = 'BasketballTraining' | 'Default' | 'EverydayHarbor' | 'ProfessionalBrand';\n\n/**\n * `paper`: light canvas; the brand renders on `bg-background-primary`.\n * `ink`: inverted canvas; Storybook frames it separately instead of in the white \"All together\" grid.\n */\nexport type BrandCanvas = 'ink' | 'paper';\n\nexport type BrandRegistryEntry = {\n readonly canvas: BrandCanvas;\n readonly cssClass: `brand-${string}`;\n readonly label: string;\n /** Kept for API compatibility; always equal to the registry key. */\n readonly storybookKey: Brands;\n readonly themeKey: Brands;\n};\n\nexport const brandRegistry = {\n BasketballTraining: {\n canvas: 'paper',\n cssClass: 'brand-basketball',\n label: 'Basketball Training',\n storybookKey: 'BasketballTraining',\n themeKey: 'BasketballTraining',\n },\n Default: {\n canvas: 'paper',\n cssClass: 'brand-default',\n label: 'Default (Neutral)',\n storybookKey: 'Default',\n themeKey: 'Default',\n },\n ProfessionalBrand: {\n canvas: 'paper',\n cssClass: 'brand-professional',\n label: 'Professional Brand',\n storybookKey: 'ProfessionalBrand',\n themeKey: 'ProfessionalBrand',\n },\n // Appended after the paper brands: the themeValues snapshot and `brands` order follow key order.\n EverydayHarbor: {\n canvas: 'ink',\n cssClass: 'brand-harbor',\n label: 'Everyday Harbor',\n storybookKey: 'EverydayHarbor',\n themeKey: 'EverydayHarbor',\n },\n} as const satisfies Record<Brands, BrandRegistryEntry>;\n\n/** Registry key order (previously a hand list ordered Basketball, Professional, Default). */\nexport const brands: Brands[] = Object.keys(brandRegistry) as Brands[];\n\nexport const brandsToCSS: Record<Brands, string> = Object.fromEntries(\n brands.map((brand) => [brand, brandRegistry[brand].cssClass])\n) as Record<Brands, string>;\n"],"mappings":";AAyBA,MAAa,gBAAgB;CACzB,oBAAoB;EAChB,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,SAAS;EACL,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;CACA,mBAAmB;EACf,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;CAEA,gBAAgB;EACZ,QAAQ;EACR,UAAU;EACV,OAAO;EACP,cAAc;EACd,UAAU;CACd;AACJ;;AAGA,MAAa,SAAmB,OAAO,KAAK,aAAa;AAEzD,MAAa,cAAsC,OAAO,YACtD,OAAO,KAAK,UAAU,CAAC,OAAO,cAAc,MAAM,CAAC,QAAQ,CAAC,CAChE"}