@ankhorage/zora 2.11.0 → 2.12.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 (144) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +2 -2
  3. package/dist/components/button/Button.d.ts.map +1 -1
  4. package/dist/components/button/Button.js +4 -2
  5. package/dist/components/button/Button.js.map +1 -1
  6. package/dist/components/button/meta.d.ts +3 -6
  7. package/dist/components/button/meta.d.ts.map +1 -1
  8. package/dist/components/button/meta.js +9 -15
  9. package/dist/components/button/meta.js.map +1 -1
  10. package/dist/components/button/resolveButtonThemeRecipe.d.ts +9 -0
  11. package/dist/components/button/resolveButtonThemeRecipe.d.ts.map +1 -0
  12. package/dist/components/button/resolveButtonThemeRecipe.js +30 -0
  13. package/dist/components/button/resolveButtonThemeRecipe.js.map +1 -0
  14. package/dist/components/button/themeRecipeMeta.d.ts +4 -10
  15. package/dist/components/button/themeRecipeMeta.d.ts.map +1 -1
  16. package/dist/components/button/themeRecipeMeta.js +5 -10
  17. package/dist/components/button/themeRecipeMeta.js.map +1 -1
  18. package/dist/components/card/Card.d.ts.map +1 -1
  19. package/dist/components/card/Card.js +8 -4
  20. package/dist/components/card/Card.js.map +1 -1
  21. package/dist/components/card/meta.d.ts +22 -3
  22. package/dist/components/card/meta.d.ts.map +1 -1
  23. package/dist/components/card/meta.js +14 -15
  24. package/dist/components/card/meta.js.map +1 -1
  25. package/dist/components/card/resolveCardThemeRecipe.d.ts +15 -0
  26. package/dist/components/card/resolveCardThemeRecipe.d.ts.map +1 -0
  27. package/dist/components/card/resolveCardThemeRecipe.js +22 -0
  28. package/dist/components/card/resolveCardThemeRecipe.js.map +1 -0
  29. package/dist/components/card/themeRecipeMeta.d.ts +1 -1
  30. package/dist/components/card/themeRecipeMeta.js +1 -1
  31. package/dist/components/card/themeRecipeMeta.js.map +1 -1
  32. package/dist/components/card/types.d.ts +2 -0
  33. package/dist/components/card/types.d.ts.map +1 -1
  34. package/dist/components/card/types.js.map +1 -1
  35. package/dist/components/heading/Heading.d.ts.map +1 -1
  36. package/dist/components/heading/Heading.js +14 -15
  37. package/dist/components/heading/Heading.js.map +1 -1
  38. package/dist/components/heading/meta.d.ts +6 -1
  39. package/dist/components/heading/meta.d.ts.map +1 -1
  40. package/dist/components/heading/meta.js +13 -22
  41. package/dist/components/heading/meta.js.map +1 -1
  42. package/dist/components/heading/resolveHeadingThemeRecipe.d.ts +11 -0
  43. package/dist/components/heading/resolveHeadingThemeRecipe.d.ts.map +1 -0
  44. package/dist/components/heading/resolveHeadingThemeRecipe.js +46 -0
  45. package/dist/components/heading/resolveHeadingThemeRecipe.js.map +1 -0
  46. package/dist/components/heading/themeRecipeMeta.d.ts +39 -0
  47. package/dist/components/heading/themeRecipeMeta.d.ts.map +1 -0
  48. package/dist/components/heading/themeRecipeMeta.js +32 -0
  49. package/dist/components/heading/themeRecipeMeta.js.map +1 -0
  50. package/dist/components/text/Text.d.ts +0 -1
  51. package/dist/components/text/Text.d.ts.map +1 -1
  52. package/dist/components/text/Text.js +14 -16
  53. package/dist/components/text/Text.js.map +1 -1
  54. package/dist/components/text/meta.d.ts +6 -5
  55. package/dist/components/text/meta.d.ts.map +1 -1
  56. package/dist/components/text/meta.js +13 -25
  57. package/dist/components/text/meta.js.map +1 -1
  58. package/dist/components/text/resolveTextThemeRecipe.d.ts +11 -0
  59. package/dist/components/text/resolveTextThemeRecipe.d.ts.map +1 -0
  60. package/dist/components/text/resolveTextThemeRecipe.js +46 -0
  61. package/dist/components/text/resolveTextThemeRecipe.js.map +1 -0
  62. package/dist/components/text/themeRecipeMeta.d.ts +15 -7
  63. package/dist/components/text/themeRecipeMeta.d.ts.map +1 -1
  64. package/dist/components/text/themeRecipeMeta.js +12 -11
  65. package/dist/components/text/themeRecipeMeta.js.map +1 -1
  66. package/dist/metadata/themeRecipeMeta.d.ts.map +1 -1
  67. package/dist/metadata/themeRecipeMeta.js +2 -0
  68. package/dist/metadata/themeRecipeMeta.js.map +1 -1
  69. package/dist/metadata/themeRecipeTypes.d.ts +3 -3
  70. package/dist/metadata/themeRecipeTypes.d.ts.map +1 -1
  71. package/dist/metadata/themeRecipeTypes.js.map +1 -1
  72. package/dist/metadata/types.d.ts +1 -0
  73. package/dist/metadata/types.d.ts.map +1 -1
  74. package/dist/metadata/types.js.map +1 -1
  75. package/dist/patterns/panel/Panel.d.ts +0 -2
  76. package/dist/patterns/panel/Panel.d.ts.map +1 -1
  77. package/dist/patterns/panel/Panel.js +6 -4
  78. package/dist/patterns/panel/Panel.js.map +1 -1
  79. package/dist/patterns/panel/meta.d.ts +22 -3
  80. package/dist/patterns/panel/meta.d.ts.map +1 -1
  81. package/dist/patterns/panel/meta.js +14 -15
  82. package/dist/patterns/panel/meta.js.map +1 -1
  83. package/dist/patterns/panel/themeRecipeMeta.d.ts +1 -1
  84. package/dist/patterns/panel/themeRecipeMeta.js +1 -1
  85. package/dist/patterns/panel/themeRecipeMeta.js.map +1 -1
  86. package/dist/patterns/panel/types.d.ts +2 -0
  87. package/dist/patterns/panel/types.d.ts.map +1 -1
  88. package/dist/patterns/panel/types.js.map +1 -1
  89. package/dist/theme/ZoraProvider.d.ts +4 -12
  90. package/dist/theme/ZoraProvider.d.ts.map +1 -1
  91. package/dist/theme/ZoraProvider.js +5 -14
  92. package/dist/theme/ZoraProvider.js.map +1 -1
  93. package/dist/theme/ZoraThemeRuntimeContext.d.ts +1 -2
  94. package/dist/theme/ZoraThemeRuntimeContext.d.ts.map +1 -1
  95. package/dist/theme/ZoraThemeRuntimeContext.js +0 -1
  96. package/dist/theme/ZoraThemeRuntimeContext.js.map +1 -1
  97. package/dist/theme/ZoraThemeScope.d.ts.map +1 -1
  98. package/dist/theme/ZoraThemeScope.js +4 -10
  99. package/dist/theme/ZoraThemeScope.js.map +1 -1
  100. package/dist/theme/resolveZoraThemeRecipe.d.ts +16 -0
  101. package/dist/theme/resolveZoraThemeRecipe.d.ts.map +1 -0
  102. package/dist/theme/resolveZoraThemeRecipe.js +56 -0
  103. package/dist/theme/resolveZoraThemeRecipe.js.map +1 -0
  104. package/dist/theme/useZoraThemeRecipe.d.ts +2 -0
  105. package/dist/theme/useZoraThemeRecipe.d.ts.map +1 -0
  106. package/dist/theme/useZoraThemeRecipe.js +7 -0
  107. package/dist/theme/useZoraThemeRecipe.js.map +1 -0
  108. package/package.json +4 -4
  109. package/src/components/button/Button.tsx +4 -2
  110. package/src/components/button/meta.ts +10 -15
  111. package/src/components/button/resolveButtonThemeRecipe.test.ts +25 -0
  112. package/src/components/button/resolveButtonThemeRecipe.ts +41 -0
  113. package/src/components/button/themeRecipeMeta.ts +5 -10
  114. package/src/components/card/Card.tsx +13 -7
  115. package/src/components/card/meta.ts +15 -15
  116. package/src/components/card/resolveCardThemeRecipe.test.ts +28 -0
  117. package/src/components/card/resolveCardThemeRecipe.ts +33 -0
  118. package/src/components/card/themeRecipeMeta.ts +1 -1
  119. package/src/components/card/types.ts +2 -0
  120. package/src/components/contentFallback.test.ts +4 -4
  121. package/src/components/heading/Heading.tsx +18 -28
  122. package/src/components/heading/meta.ts +14 -22
  123. package/src/components/heading/resolveHeadingThemeRecipe.ts +55 -0
  124. package/src/components/heading/themeRecipeMeta.ts +33 -0
  125. package/src/components/text/Text.tsx +16 -25
  126. package/src/components/text/meta.ts +14 -25
  127. package/src/components/text/resolveTextThemeRecipe.ts +48 -0
  128. package/src/components/text/themeRecipeMeta.ts +12 -11
  129. package/src/metadata/authoringMeta.test.ts +18 -44
  130. package/src/metadata/themeRecipeMeta.test.ts +41 -39
  131. package/src/metadata/themeRecipeMeta.ts +2 -0
  132. package/src/metadata/themeRecipeTypes.ts +3 -3
  133. package/src/metadata/types.ts +3 -9
  134. package/src/patterns/panel/Panel.tsx +14 -4
  135. package/src/patterns/panel/meta.ts +15 -15
  136. package/src/patterns/panel/themeRecipeMeta.ts +1 -1
  137. package/src/patterns/panel/types.ts +2 -0
  138. package/src/theme/ZoraProvider.tsx +10 -13
  139. package/src/theme/ZoraThemeRuntimeContext.tsx +1 -3
  140. package/src/theme/ZoraThemeScope.tsx +5 -25
  141. package/src/theme/resolveZoraThemeRecipe.test.ts +72 -0
  142. package/src/theme/resolveZoraThemeRecipe.ts +91 -0
  143. package/src/theme/themeConfigScope.test.ts +25 -0
  144. package/src/theme/useZoraThemeRecipe.ts +7 -0
@@ -0,0 +1,25 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+
4
+ import { describe, expect, test } from 'bun:test';
5
+
6
+ const themeDir = import.meta.dir;
7
+
8
+ describe('canonical ThemeConfig scope propagation', () => {
9
+ test('provider accepts the canonical ThemeConfig without duplicating live config state', () => {
10
+ const provider = readFileSync(join(themeDir, 'ZoraProvider.tsx'), 'utf8');
11
+ const context = readFileSync(join(themeDir, 'ZoraThemeRuntimeContext.tsx'), 'utf8');
12
+ expect(provider).toContain('themeConfig?: ThemeConfig');
13
+ expect(provider).toContain('themeConfig ?? createZoraThemeConfig(theme)');
14
+ expect(context).not.toContain('ThemeConfig');
15
+ expect(context).not.toContain('sourceTheme');
16
+ });
17
+
18
+ test('nested scopes derive from the current Surface config authority', () => {
19
+ const scope = readFileSync(join(themeDir, 'ZoraThemeScope.tsx'), 'utf8');
20
+ expect(scope).toContain('const sourceConfig = parentSurface.theme.config;');
21
+ expect(scope).toContain('createTheme(sourceConfig');
22
+ expect(scope).not.toContain('createZoraThemeConfig');
23
+ expect(scope).not.toContain('sourceTheme');
24
+ });
25
+ });
@@ -0,0 +1,7 @@
1
+ import { resolveZoraThemeRecipe } from './resolveZoraThemeRecipe';
2
+ import { useZoraTheme } from './useZoraTheme';
3
+
4
+ export function useZoraThemeRecipe(recipeName: string) {
5
+ const { theme } = useZoraTheme();
6
+ return resolveZoraThemeRecipe(theme, recipeName);
7
+ }