@ankhorage/zora 22.0.72 → 22.0.74

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 (477) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/dist/{features/authoring/allowedChildren.d.ts → constants/authoring.d.ts} +40 -1
  4. package/dist/constants/authoring.d.ts.map +1 -0
  5. package/dist/{features/authoring/allowedChildren.js → constants/authoring.js} +53 -1
  6. package/dist/constants/authoring.js.map +1 -0
  7. package/dist/features/accordion/accordionItemMeta.js +1 -1
  8. package/dist/features/accordion/accordionItemMeta.js.map +1 -1
  9. package/dist/features/accordion/accordionMeta.js.map +1 -1
  10. package/dist/features/activity-indicator/activityIndicatorMeta.js.map +1 -1
  11. package/dist/features/app-bar/appBarMeta.js.map +1 -1
  12. package/dist/features/auth/forgotPasswordFormMeta.js.map +1 -1
  13. package/dist/features/auth/oauthProviderButtonMeta.js.map +1 -1
  14. package/dist/features/auth/oauthProviderListMeta.js.map +1 -1
  15. package/dist/features/auth/otpFormMeta.js.map +1 -1
  16. package/dist/features/auth/signInFormMeta.js.map +1 -1
  17. package/dist/features/auth/signUpFormMeta.js.map +1 -1
  18. package/dist/features/bottom-sheet/bottomSheetMeta.js +1 -1
  19. package/dist/features/bottom-sheet/bottomSheetMeta.js.map +1 -1
  20. package/dist/features/breadcrumbs/breadcrumbsMeta.js.map +1 -1
  21. package/dist/features/button/adapters/inbound/Button.d.ts.map +1 -1
  22. package/dist/features/button/adapters/inbound/Button.js +2 -1
  23. package/dist/features/button/adapters/inbound/Button.js.map +1 -1
  24. package/dist/features/button/buttonGroupMeta.js.map +1 -1
  25. package/dist/features/button/buttonMeta.js +1 -1
  26. package/dist/features/button/buttonMeta.js.map +1 -1
  27. package/dist/features/card/adapters/inbound/Card.d.ts.map +1 -1
  28. package/dist/features/card/adapters/inbound/Card.js +2 -1
  29. package/dist/features/card/adapters/inbound/Card.js.map +1 -1
  30. package/dist/features/card/cardMeta.js +2 -2
  31. package/dist/features/card/cardMeta.js.map +1 -1
  32. package/dist/features/card/mediaCardMeta.js +1 -1
  33. package/dist/features/card/mediaCardMeta.js.map +1 -1
  34. package/dist/features/card/postCardMeta.js +1 -1
  35. package/dist/features/card/postCardMeta.js.map +1 -1
  36. package/dist/features/card/productCardMeta.js.map +1 -1
  37. package/dist/features/chat/chatListItemMeta.js.map +1 -1
  38. package/dist/features/chat/messageBubbleMeta.js +1 -1
  39. package/dist/features/chat/messageBubbleMeta.js.map +1 -1
  40. package/dist/features/collection-editor/meta.js.map +1 -1
  41. package/dist/features/content-rail/contentRailMeta.js +1 -1
  42. package/dist/features/content-rail/contentRailMeta.js.map +1 -1
  43. package/dist/features/date-picker/datePickerMeta.js.map +1 -1
  44. package/dist/features/dialog/dialogMeta.js +1 -1
  45. package/dist/features/dialog/dialogMeta.js.map +1 -1
  46. package/dist/features/empty-state/emptyStateMeta.js.map +1 -1
  47. package/dist/features/form/checkbox/checkboxMeta.js.map +1 -1
  48. package/dist/features/form/field/meta.js.map +1 -1
  49. package/dist/features/form/formActionsMeta.js.map +1 -1
  50. package/dist/features/form/formErrorMeta.js.map +1 -1
  51. package/dist/features/form/formMeta.js.map +1 -1
  52. package/dist/features/form/radio/adapters/inbound/RadioGroup.d.ts.map +1 -1
  53. package/dist/features/form/radio/adapters/inbound/RadioGroup.js +2 -1
  54. package/dist/features/form/radio/adapters/inbound/RadioGroup.js.map +1 -1
  55. package/dist/features/form/radio/radioMeta.js.map +1 -1
  56. package/dist/features/form/select/selectMeta.js.map +1 -1
  57. package/dist/features/form/switch/switchMeta.js.map +1 -1
  58. package/dist/features/form/text-input/textInputMeta.js.map +1 -1
  59. package/dist/features/game/{adapters/inbound → utils}/measureGameEntity.d.ts +1 -1
  60. package/dist/features/game/utils/measureGameEntity.d.ts.map +1 -0
  61. package/dist/features/game/utils/measureGameEntity.js.map +1 -0
  62. package/dist/features/game/utils/useGameEntityMeasurement.js +1 -1
  63. package/dist/features/game/utils/useGameEntityMeasurement.js.map +1 -1
  64. package/dist/features/gradient/gradientMeta.js +1 -1
  65. package/dist/features/gradient/gradientMeta.js.map +1 -1
  66. package/dist/features/graph-view/adapters/inbound/web-artifact/GraphNodeOverlay.d.ts +1 -1
  67. package/dist/features/graph-view/adapters/inbound/web-artifact/GraphNodeOverlay.d.ts.map +1 -1
  68. package/dist/features/graph-view/adapters/inbound/web-artifact/GraphNodeOverlay.js.map +1 -1
  69. package/dist/features/graph-view/adapters/inbound/web-artifact/GraphView.d.ts +1 -96
  70. package/dist/features/graph-view/adapters/inbound/web-artifact/GraphView.d.ts.map +1 -1
  71. package/dist/features/graph-view/adapters/inbound/web-artifact/GraphView.js.map +1 -1
  72. package/dist/features/graph-view/adapters/inbound/web-artifact/bindGraphEvents.d.ts +1 -1
  73. package/dist/features/graph-view/adapters/inbound/web-artifact/bindGraphEvents.d.ts.map +1 -1
  74. package/dist/features/graph-view/adapters/inbound/web-artifact/bindGraphEvents.js.map +1 -1
  75. package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphController.d.ts +1 -1
  76. package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphController.d.ts.map +1 -1
  77. package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphController.js.map +1 -1
  78. package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.d.ts +1 -1
  79. package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.d.ts.map +1 -1
  80. package/dist/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.js.map +1 -1
  81. package/dist/features/graph-view/adapters/inbound/web-artifact/createRenderableGraphElements.d.ts +1 -1
  82. package/dist/features/graph-view/adapters/inbound/web-artifact/createRenderableGraphElements.d.ts.map +1 -1
  83. package/dist/features/graph-view/adapters/inbound/web-artifact/createRenderableGraphElements.js.map +1 -1
  84. package/dist/features/graph-view/adapters/inbound/web-artifact/fitGraphViewport.d.ts +1 -1
  85. package/dist/features/graph-view/adapters/inbound/web-artifact/fitGraphViewport.d.ts.map +1 -1
  86. package/dist/features/graph-view/adapters/inbound/web-artifact/fitGraphViewport.js.map +1 -1
  87. package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.d.ts +1 -1
  88. package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.d.ts.map +1 -1
  89. package/dist/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.js.map +1 -1
  90. package/dist/features/graph-view/adapters/inbound/web-artifact/readGraphRenderedNodes.d.ts +1 -1
  91. package/dist/features/graph-view/adapters/inbound/web-artifact/readGraphRenderedNodes.d.ts.map +1 -1
  92. package/dist/features/graph-view/adapters/inbound/web-artifact/readGraphRenderedNodes.js.map +1 -1
  93. package/dist/features/graph-view/adapters/inbound/web-artifact/runGraphLayout.d.ts +1 -1
  94. package/dist/features/graph-view/adapters/inbound/web-artifact/runGraphLayout.d.ts.map +1 -1
  95. package/dist/features/graph-view/adapters/inbound/web-artifact/runGraphLayout.js.map +1 -1
  96. package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.d.ts +1 -1
  97. package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.d.ts.map +1 -1
  98. package/dist/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.js.map +1 -1
  99. package/dist/features/graph-view/public.d.ts +2 -1
  100. package/dist/features/graph-view/public.d.ts.map +1 -1
  101. package/dist/features/graph-view/public.js +1 -1
  102. package/dist/features/graph-view/public.js.map +1 -1
  103. package/dist/features/hero/heroMeta.js.map +1 -1
  104. package/dist/features/icon/iconMeta.js.map +1 -1
  105. package/dist/features/image/imageMeta.js.map +1 -1
  106. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.js +1 -1
  107. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.js.map +1 -1
  108. package/dist/features/layout/appShellMeta.js.map +1 -1
  109. package/dist/features/layout/gridMeta.js +1 -1
  110. package/dist/features/layout/gridMeta.js.map +1 -1
  111. package/dist/features/layout/screenMeta.js +1 -1
  112. package/dist/features/layout/screenMeta.js.map +1 -1
  113. package/dist/features/layout/scrollViewMeta.js +1 -1
  114. package/dist/features/layout/scrollViewMeta.js.map +1 -1
  115. package/dist/features/layout/viewMeta.js +1 -1
  116. package/dist/features/layout/viewMeta.js.map +1 -1
  117. package/dist/features/list/flatListMeta.js +1 -1
  118. package/dist/features/list/flatListMeta.js.map +1 -1
  119. package/dist/features/list/meta.js.map +1 -1
  120. package/dist/features/missing-element/missingElementMeta.js.map +1 -1
  121. package/dist/features/palette-item/paletteItemMeta.js.map +1 -1
  122. package/dist/features/popover-menu/popoverMenuMeta.js.map +1 -1
  123. package/dist/features/progress/progressMeta.js.map +1 -1
  124. package/dist/features/reader/meta.js +1 -1
  125. package/dist/features/reader/meta.js.map +1 -1
  126. package/dist/features/{authoring → registry}/bindableComponentMeta.d.ts.map +1 -1
  127. package/dist/features/registry/bindableComponentMeta.js.map +1 -0
  128. package/dist/features/registry/componentMeta.d.ts.map +1 -0
  129. package/dist/features/{authoring → registry}/componentMeta.js +1 -1
  130. package/dist/features/registry/componentMeta.js.map +1 -0
  131. package/dist/features/{authoring/utils → registry}/createManifestBindings.d.ts +1 -1
  132. package/dist/features/registry/createManifestBindings.d.ts.map +1 -0
  133. package/dist/features/registry/createManifestBindings.js.map +1 -0
  134. package/dist/features/{authoring/utils → registry}/finalizeFeatureMetadata.d.ts +1 -1
  135. package/dist/features/registry/finalizeFeatureMetadata.d.ts.map +1 -0
  136. package/dist/features/{authoring/utils → registry}/finalizeFeatureMetadata.js +1 -1
  137. package/dist/features/registry/finalizeFeatureMetadata.js.map +1 -0
  138. package/dist/features/{authoring → registry}/index.d.ts +1 -1
  139. package/dist/features/registry/index.d.ts.map +1 -0
  140. package/dist/features/{authoring → registry}/index.js +1 -1
  141. package/dist/features/registry/index.js.map +1 -0
  142. package/dist/features/registry/themeRecipeMeta.d.ts.map +1 -0
  143. package/dist/features/registry/themeRecipeMeta.js.map +1 -0
  144. package/dist/features/scanner/meta.js +1 -1
  145. package/dist/features/scanner/meta.js.map +1 -1
  146. package/dist/features/section/screenSectionMeta.js +1 -1
  147. package/dist/features/section/screenSectionMeta.js.map +1 -1
  148. package/dist/features/section/sectionHeaderMeta.js.map +1 -1
  149. package/dist/features/selection/meta.js.map +1 -1
  150. package/dist/features/skeleton/skeletonMeta.js.map +1 -1
  151. package/dist/features/surface/surfaceMeta.js +1 -1
  152. package/dist/features/surface/surfaceMeta.js.map +1 -1
  153. package/dist/features/tabs/tabPanelMeta.js +1 -1
  154. package/dist/features/tabs/tabPanelMeta.js.map +1 -1
  155. package/dist/features/theme/ThemeModeToggle.meta.js.map +1 -1
  156. package/dist/features/theme/composition/useZoraThemeRecipe.d.ts +3 -1
  157. package/dist/features/theme/composition/useZoraThemeRecipe.d.ts.map +1 -1
  158. package/dist/features/theme/composition/useZoraThemeRecipe.js +3 -2
  159. package/dist/features/theme/composition/useZoraThemeRecipe.js.map +1 -1
  160. package/dist/features/theme/utils/resolveZoraThemeRecipe.d.ts +3 -1
  161. package/dist/features/theme/utils/resolveZoraThemeRecipe.d.ts.map +1 -1
  162. package/dist/features/theme/utils/resolveZoraThemeRecipe.js +6 -6
  163. package/dist/features/theme/utils/resolveZoraThemeRecipe.js.map +1 -1
  164. package/dist/features/time-picker/timePickerMeta.js.map +1 -1
  165. package/dist/features/timeline/meta.js.map +1 -1
  166. package/dist/features/toast/toastMeta.js.map +1 -1
  167. package/dist/features/toast/toastProviderMeta.js.map +1 -1
  168. package/dist/features/tree-view/meta.js.map +1 -1
  169. package/dist/features/typography/adapters/inbound/Heading.d.ts.map +1 -1
  170. package/dist/features/typography/adapters/inbound/Heading.js +2 -1
  171. package/dist/features/typography/adapters/inbound/Heading.js.map +1 -1
  172. package/dist/features/typography/adapters/inbound/Text.d.ts.map +1 -1
  173. package/dist/features/typography/adapters/inbound/Text.js +2 -1
  174. package/dist/features/typography/adapters/inbound/Text.js.map +1 -1
  175. package/dist/features/typography/headingMeta.js +1 -1
  176. package/dist/features/typography/headingMeta.js.map +1 -1
  177. package/dist/features/typography/textMeta.js +1 -1
  178. package/dist/features/typography/textMeta.js.map +1 -1
  179. package/dist/index.d.ts +2 -2
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +1 -1
  182. package/dist/index.js.map +1 -1
  183. package/dist/types/auth.d.ts +1 -1
  184. package/dist/types/auth.d.ts.map +1 -1
  185. package/dist/types/auth.js.map +1 -1
  186. package/dist/types/avatar-group.d.ts +1 -1
  187. package/dist/types/avatar-group.d.ts.map +1 -1
  188. package/dist/types/avatar-group.js.map +1 -1
  189. package/dist/types/button-group.d.ts +1 -1
  190. package/dist/types/button-group.d.ts.map +1 -1
  191. package/dist/types/button-group.js.map +1 -1
  192. package/dist/types/chat.d.ts +1 -1
  193. package/dist/types/chat.d.ts.map +1 -1
  194. package/dist/types/chat.js.map +1 -1
  195. package/dist/types/gradient.d.ts +1 -1
  196. package/dist/types/gradient.d.ts.map +1 -1
  197. package/dist/types/gradient.js.map +1 -1
  198. package/dist/types/graph-view.d.ts +98 -0
  199. package/dist/types/graph-view.d.ts.map +1 -0
  200. package/dist/types/graph-view.js +2 -0
  201. package/dist/types/graph-view.js.map +1 -0
  202. package/dist/types/graphViewRuntime.d.ts +1 -1
  203. package/dist/types/graphViewRuntime.d.ts.map +1 -1
  204. package/dist/types/graphViewRuntime.js.map +1 -1
  205. package/dist/types/post-card.d.ts +1 -1
  206. package/dist/types/post-card.d.ts.map +1 -1
  207. package/dist/types/post-card.js.map +1 -1
  208. package/dist/types/radio.d.ts +1 -1
  209. package/dist/types/radio.d.ts.map +1 -1
  210. package/dist/types/radio.js.map +1 -1
  211. package/dist/types/scanner.d.ts +1 -1
  212. package/dist/types/scanner.d.ts.map +1 -1
  213. package/dist/types/scanner.js.map +1 -1
  214. package/dist/types/skeleton.d.ts +1 -1
  215. package/dist/types/skeleton.d.ts.map +1 -1
  216. package/dist/types/skeleton.js.map +1 -1
  217. package/dist/types/theme-mode-toggle.d.ts +1 -1
  218. package/dist/types/theme-mode-toggle.d.ts.map +1 -1
  219. package/dist/types/theme-mode-toggle.js.map +1 -1
  220. package/package.json +25 -25
  221. package/src/{features/authoring/allowedChildren.ts → constants/authoring.ts} +55 -0
  222. package/src/features/accordion/accordionItemMeta.ts +2 -2
  223. package/src/features/accordion/accordionMeta.ts +1 -1
  224. package/src/features/activity-indicator/activityIndicatorMeta.ts +1 -1
  225. package/src/features/app-bar/appBarMeta.ts +1 -1
  226. package/src/features/auth/forgotPasswordFormMeta.ts +1 -1
  227. package/src/features/auth/oauthProviderButtonMeta.ts +1 -1
  228. package/src/features/auth/oauthProviderListMeta.ts +1 -1
  229. package/src/features/auth/otpFormMeta.ts +1 -1
  230. package/src/features/auth/public.test.ts +21 -18
  231. package/src/features/auth/signInFormMeta.ts +1 -1
  232. package/src/features/auth/signUpFormMeta.ts +1 -1
  233. package/src/features/bottom-sheet/bottomSheetMeta.ts +1 -1
  234. package/src/features/breadcrumbs/breadcrumbsMeta.ts +1 -1
  235. package/src/features/button/adapters/inbound/Button.tsx +2 -1
  236. package/src/features/button/buttonGroupMeta.ts +1 -1
  237. package/src/features/button/buttonMeta.ts +2 -2
  238. package/src/features/card/adapters/inbound/Card.tsx +2 -1
  239. package/src/features/card/adapters/inbound/PostCard.test.tsx +4 -4
  240. package/src/features/card/adapters/inbound/ProductCard.test.tsx +9 -9
  241. package/src/features/card/cardMeta.ts +3 -3
  242. package/src/features/card/mediaCardMeta.ts +1 -1
  243. package/src/features/card/postCardMeta.ts +2 -2
  244. package/src/features/card/productCardMeta.ts +1 -1
  245. package/src/features/chat/adapters/inbound/ChatListItem.test.tsx +4 -4
  246. package/src/features/chat/chatListItemMeta.ts +1 -1
  247. package/src/features/chat/messageBubbleMeta.ts +2 -2
  248. package/src/features/collection-editor/meta.ts +1 -1
  249. package/src/features/content-rail/contentRailMeta.ts +2 -2
  250. package/src/features/date-picker/datePickerMeta.ts +1 -1
  251. package/src/features/date-picker/public.test.ts +4 -6
  252. package/src/features/dialog/dialogMeta.ts +1 -1
  253. package/src/features/empty-state/emptyStateMeta.ts +1 -1
  254. package/src/features/form/checkbox/checkboxMeta.ts +1 -1
  255. package/src/features/form/field/meta.ts +1 -1
  256. package/src/features/form/formActionsMeta.ts +1 -1
  257. package/src/features/form/formErrorMeta.ts +1 -1
  258. package/src/features/form/formMeta.ts +1 -1
  259. package/src/features/form/radio/adapters/inbound/RadioGroup.tsx +2 -1
  260. package/src/features/form/radio/radioMeta.ts +1 -1
  261. package/src/features/form/select/selectMeta.ts +1 -1
  262. package/src/features/form/switch/switchMeta.ts +1 -1
  263. package/src/features/form/text-input/textInputMeta.ts +1 -1
  264. package/src/features/game/{adapters/inbound → utils}/measureGameEntity.ts +1 -1
  265. package/src/features/game/utils/useGameEntityMeasurement.ts +1 -1
  266. package/src/features/gradient/gradientMeta.ts +2 -2
  267. package/src/features/gradient/public.test.ts +4 -6
  268. package/src/features/graph-view/adapters/inbound/web-artifact/GraphNodeOverlay.tsx +1 -1
  269. package/src/features/graph-view/adapters/inbound/web-artifact/GraphView.tsx +6 -116
  270. package/src/features/graph-view/adapters/inbound/web-artifact/bindGraphEvents.ts +1 -1
  271. package/src/features/graph-view/adapters/inbound/web-artifact/createGraphController.ts +1 -1
  272. package/src/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.test.ts +2 -2
  273. package/src/features/graph-view/adapters/inbound/web-artifact/createGraphRuntime.ts +8 -8
  274. package/src/features/graph-view/adapters/inbound/web-artifact/createRenderableGraphElements.test.ts +1 -1
  275. package/src/features/graph-view/adapters/inbound/web-artifact/createRenderableGraphElements.ts +1 -1
  276. package/src/features/graph-view/adapters/inbound/web-artifact/fitGraphViewport.ts +1 -1
  277. package/src/features/graph-view/adapters/inbound/web-artifact/getGraphTopologyKey.ts +1 -1
  278. package/src/features/graph-view/adapters/inbound/web-artifact/readGraphRenderedNodes.ts +1 -1
  279. package/src/features/graph-view/adapters/inbound/web-artifact/runGraphLayout.ts +1 -1
  280. package/src/features/graph-view/adapters/inbound/web-artifact/syncGraphElements.ts +1 -1
  281. package/src/features/graph-view/public.ts +18 -18
  282. package/src/features/hero/heroMeta.ts +1 -1
  283. package/src/features/icon/iconMeta.ts +1 -1
  284. package/src/features/icon/utils/meta.test.ts +8 -17
  285. package/src/features/image/imageMeta.ts +1 -1
  286. package/src/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.ts +1 -1
  287. package/src/features/layout/appShellMeta.ts +1 -1
  288. package/src/features/layout/gridMeta.ts +2 -2
  289. package/src/features/layout/screenMeta.ts +2 -2
  290. package/src/features/layout/scrollViewMeta.ts +1 -1
  291. package/src/features/layout/viewMeta.ts +2 -2
  292. package/src/features/list/flatListMeta.ts +1 -1
  293. package/src/features/list/meta.ts +1 -1
  294. package/src/features/missing-element/MissingElement.test.ts +7 -6
  295. package/src/features/missing-element/missingElementMeta.ts +1 -1
  296. package/src/features/palette-item/paletteItemMeta.ts +1 -1
  297. package/src/features/popover-menu/popoverMenuMeta.ts +1 -1
  298. package/src/features/progress/progressMeta.ts +1 -1
  299. package/src/features/reader/meta.ts +2 -2
  300. package/src/features/{authoring → registry}/componentMeta.ts +1 -1
  301. package/src/features/{authoring/utils → registry}/createManifestBindings.ts +1 -1
  302. package/src/features/{authoring → registry}/featureManifest.test.ts +1 -1
  303. package/src/features/{authoring/utils → registry}/finalizeFeatureMetadata.ts +2 -2
  304. package/src/features/{authoring → registry}/index.ts +1 -1
  305. package/src/features/scanner/meta.ts +2 -2
  306. package/src/features/section/screenSectionMeta.ts +2 -2
  307. package/src/features/section/sectionHeaderMeta.ts +1 -1
  308. package/src/features/selection/meta.ts +1 -1
  309. package/src/features/skeleton/public.test.ts +6 -6
  310. package/src/features/skeleton/skeletonMeta.ts +1 -1
  311. package/src/features/surface/surfaceMeta.ts +1 -1
  312. package/src/features/tabs/tabPanelMeta.ts +1 -1
  313. package/src/features/theme/ThemeModeToggle.meta.ts +1 -1
  314. package/src/features/theme/composition/useZoraThemeRecipe.ts +4 -2
  315. package/src/features/theme/utils/resolveZoraThemeRecipe.test.ts +45 -8
  316. package/src/features/theme/utils/resolveZoraThemeRecipe.ts +11 -8
  317. package/src/features/time-picker/public.test.ts +4 -6
  318. package/src/features/time-picker/timePickerMeta.ts +1 -1
  319. package/src/features/timeline/meta.ts +1 -1
  320. package/src/features/toast/public.test.ts +4 -3
  321. package/src/features/toast/toastMeta.ts +1 -1
  322. package/src/features/toast/toastProviderMeta.ts +1 -1
  323. package/src/features/tree-view/meta.ts +1 -1
  324. package/src/features/typography/adapters/inbound/Heading.tsx +2 -1
  325. package/src/features/typography/adapters/inbound/Text.tsx +2 -1
  326. package/src/features/typography/headingMeta.ts +2 -2
  327. package/src/features/typography/textMeta.ts +2 -2
  328. package/src/features/uploader/public.test.ts +1 -1
  329. package/src/index.ts +33 -33
  330. package/src/structureOwnership.test.ts +3 -3
  331. package/src/types/auth.ts +1 -1
  332. package/src/types/avatar-group.ts +1 -1
  333. package/src/types/button-group.ts +1 -1
  334. package/src/types/chat.ts +1 -1
  335. package/src/types/gradient.ts +1 -1
  336. package/src/types/graph-view.ts +117 -0
  337. package/src/types/graphViewRuntime.ts +1 -1
  338. package/src/types/post-card.ts +1 -1
  339. package/src/types/radio.ts +1 -1
  340. package/src/types/scanner.ts +1 -1
  341. package/src/types/skeleton.ts +1 -1
  342. package/src/types/theme-mode-toggle.ts +1 -1
  343. package/web-dist/chunks/{Accordion-jd33dw92.js → Accordion-07rdw2vh.js} +1 -1
  344. package/web-dist/chunks/{Accordion-sn80af3k.js → Accordion-45ej9brb.js} +1 -1
  345. package/web-dist/chunks/{Accordion-qyckg9d2.js → Accordion-555gnfmw.js} +3 -3
  346. package/web-dist/chunks/{Accordion-ypdtx57y.js → Accordion-73m7z73v.js} +3 -3
  347. package/web-dist/chunks/{Accordion-s334j5tf.js → Accordion-8af800ts.js} +2 -2
  348. package/web-dist/chunks/{Accordion-7ycn5332.js → Accordion-9rnepkvk.js} +1 -1
  349. package/web-dist/chunks/{Accordion-1vbm971q.js → Accordion-avmgvcef.js} +1 -1
  350. package/web-dist/chunks/{Accordion-a03xpbc0.js → Accordion-b3qy1trj.js} +39 -7
  351. package/web-dist/chunks/Accordion-e1nn8m46.js +82 -0
  352. package/web-dist/chunks/{Accordion-eps4ej1m.js → Accordion-emczc5rg.js} +33 -5
  353. package/web-dist/chunks/{Accordion-wzybs1e3.js → Accordion-jhwsvx3g.js} +1 -1
  354. package/web-dist/chunks/{Accordion-qy22k9t8.js → Accordion-jj3bg8c1.js} +1 -1
  355. package/web-dist/chunks/{Accordion-nn80tt99.js → Accordion-mpnb4qqw.js} +2 -2
  356. package/web-dist/chunks/{Accordion-z5rdysmt.js → Accordion-nc5gnvnb.js} +33 -4
  357. package/web-dist/chunks/{Accordion-qkrwkab6.js → Accordion-nn38n7q4.js} +1 -1
  358. package/web-dist/chunks/{Accordion-zh8esf04.js → Accordion-pnvt10cv.js} +2 -2
  359. package/web-dist/chunks/{Accordion-4prv90j4.js → Accordion-qvt6qdqm.js} +1 -1
  360. package/web-dist/chunks/{Accordion-hk6zs4dc.js → Accordion-tj61sa5s.js} +2 -2
  361. package/web-dist/chunks/{Accordion-5r2dxq03.js → Accordion-v1dtv6v0.js} +1 -1
  362. package/web-dist/chunks/{Accordion-5t5sw5cp.js → Accordion-vmz8y01b.js} +4 -4
  363. package/web-dist/chunks/{Accordion-pssgp0pq.js → Accordion-ycmg06sq.js} +71 -4
  364. package/web-dist/chunks/{Accordion-h62mzp3n.js → Accordion-yz7b7njb.js} +2 -2
  365. package/web-dist/chunks/{Accordion-2ga47602.js → Accordion-zf3kzvef.js} +1 -1
  366. package/web-dist/components/accordion/Accordion.js +3 -3
  367. package/web-dist/components/accordion-item/AccordionItem.js +3 -3
  368. package/web-dist/components/app-bar/AppBar.js +4 -4
  369. package/web-dist/components/avatar/Avatar.js +3 -3
  370. package/web-dist/components/avatar-group/AvatarGroup.js +3 -3
  371. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +6 -6
  372. package/web-dist/components/breadcrumbs/Breadcrumbs.js +3 -3
  373. package/web-dist/components/button/Button.js +2 -2
  374. package/web-dist/components/button-group/ButtonGroup.js +2 -2
  375. package/web-dist/components/camera-permission-view/CameraPermissionView.js +6 -6
  376. package/web-dist/components/card/Card.js +5 -5
  377. package/web-dist/components/chat-list-item/ChatListItem.js +4 -4
  378. package/web-dist/components/checkbox/Checkbox.js +3 -3
  379. package/web-dist/components/checkbox-group/CheckboxGroup.js +3 -3
  380. package/web-dist/components/chip/Chip.js +3 -3
  381. package/web-dist/components/chip-group/ChipGroup.js +3 -3
  382. package/web-dist/components/collection-editor/CollectionEditor.js +5 -5
  383. package/web-dist/components/content-rail/ContentRail.js +3 -3
  384. package/web-dist/components/data-table/DataTable.js +9 -9
  385. package/web-dist/components/date-picker/DatePicker.js +3 -3
  386. package/web-dist/components/dialog/Dialog.js +3 -3
  387. package/web-dist/components/empty-state/EmptyState.js +6 -6
  388. package/web-dist/components/field/Field.js +3 -3
  389. package/web-dist/components/flat-list/FlatList.js +4 -4
  390. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +7 -7
  391. package/web-dist/components/form/Form.js +5 -5
  392. package/web-dist/components/form-actions/FormActions.js +5 -5
  393. package/web-dist/components/form-error/FormError.js +5 -5
  394. package/web-dist/components/game/Game.js +1 -1
  395. package/web-dist/components/game-entity/GameEntity.js +1 -1
  396. package/web-dist/components/game-field/GameField.js +1 -1
  397. package/web-dist/components/game-input-zone/GameInputZone.js +1 -1
  398. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +1 -1
  399. package/web-dist/components/game-overlay/GameOverlay.js +1 -1
  400. package/web-dist/components/graph-view/GraphView.d.ts +1 -96
  401. package/web-dist/components/heading/Heading.js +2 -2
  402. package/web-dist/components/hero/Hero.js +5 -5
  403. package/web-dist/components/icon-button/IconButton.js +2 -2
  404. package/web-dist/components/list/List.js +4 -4
  405. package/web-dist/components/list-item/ListItem.js +4 -4
  406. package/web-dist/components/list-section/ListSection.js +4 -4
  407. package/web-dist/components/media-card/MediaCard.js +5 -5
  408. package/web-dist/components/message-bubble/MessageBubble.js +4 -4
  409. package/web-dist/components/metric-card/MetricCard.js +5 -5
  410. package/web-dist/components/missing-element/MissingElement.js +2 -2
  411. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +7 -7
  412. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +7 -7
  413. package/web-dist/components/otp-form/OtpForm.js +7 -7
  414. package/web-dist/components/pagination/Pagination.js +3 -3
  415. package/web-dist/components/palette-item/PaletteItem.js +5 -5
  416. package/web-dist/components/post-card/PostCard.js +5 -5
  417. package/web-dist/components/product-card/ProductCard.js +5 -5
  418. package/web-dist/components/progress/Progress.js +3 -3
  419. package/web-dist/components/progress-ring/ProgressRing.js +3 -3
  420. package/web-dist/components/radio/Radio.js +3 -3
  421. package/web-dist/components/radio-group/RadioGroup.js +3 -3
  422. package/web-dist/components/reader-surface/ReaderSurface.js +5 -5
  423. package/web-dist/components/scan-overlay/ScanOverlay.js +6 -6
  424. package/web-dist/components/screen-section/ScreenSection.js +3 -3
  425. package/web-dist/components/search-input/SearchInput.js +3 -3
  426. package/web-dist/components/section-header/SectionHeader.js +3 -3
  427. package/web-dist/components/section-list/SectionList.js +4 -4
  428. package/web-dist/components/select/Select.js +2 -2
  429. package/web-dist/components/sign-in-form/SignInForm.js +7 -7
  430. package/web-dist/components/sign-up-form/SignUpForm.js +7 -7
  431. package/web-dist/components/skeleton/Skeleton.js +8 -8
  432. package/web-dist/components/skeleton-card/SkeletonCard.js +8 -8
  433. package/web-dist/components/skeleton-list/SkeletonList.js +8 -8
  434. package/web-dist/components/skeleton-text/SkeletonText.js +8 -8
  435. package/web-dist/components/text/Text.js +2 -2
  436. package/web-dist/components/text-input/TextInput.js +3 -3
  437. package/web-dist/components/time-picker/TimePicker.js +3 -3
  438. package/web-dist/components/timeline/Timeline.js +2 -2
  439. package/web-dist/components/toolbar/Toolbar.js +5 -5
  440. package/web-dist/components/tree-item/TreeItem.js +5 -5
  441. package/web-dist/components/uploader/Uploader.js +7 -7
  442. package/web-dist/manifest.json +354 -354
  443. package/dist/features/authoring/allowedChildren.d.ts.map +0 -1
  444. package/dist/features/authoring/allowedChildren.js.map +0 -1
  445. package/dist/features/authoring/bindableComponentMeta.js.map +0 -1
  446. package/dist/features/authoring/componentMeta.d.ts.map +0 -1
  447. package/dist/features/authoring/componentMeta.js.map +0 -1
  448. package/dist/features/authoring/constants.d.ts +0 -40
  449. package/dist/features/authoring/constants.d.ts.map +0 -1
  450. package/dist/features/authoring/constants.js +0 -53
  451. package/dist/features/authoring/constants.js.map +0 -1
  452. package/dist/features/authoring/index.d.ts.map +0 -1
  453. package/dist/features/authoring/index.js.map +0 -1
  454. package/dist/features/authoring/themeRecipeMeta.d.ts.map +0 -1
  455. package/dist/features/authoring/themeRecipeMeta.js.map +0 -1
  456. package/dist/features/authoring/utils/createManifestBindings.d.ts.map +0 -1
  457. package/dist/features/authoring/utils/createManifestBindings.js.map +0 -1
  458. package/dist/features/authoring/utils/finalizeFeatureMetadata.d.ts.map +0 -1
  459. package/dist/features/authoring/utils/finalizeFeatureMetadata.js.map +0 -1
  460. package/dist/features/game/adapters/inbound/measureGameEntity.d.ts.map +0 -1
  461. package/dist/features/game/adapters/inbound/measureGameEntity.js.map +0 -1
  462. package/src/features/authoring/constants.ts +0 -56
  463. package/web-dist/chunks/Accordion-wvphg9x4.js +0 -246
  464. /package/dist/features/game/{adapters/inbound → utils}/measureGameEntity.js +0 -0
  465. /package/dist/features/{authoring → registry}/bindableComponentMeta.d.ts +0 -0
  466. /package/dist/features/{authoring → registry}/bindableComponentMeta.js +0 -0
  467. /package/dist/features/{authoring → registry}/componentMeta.d.ts +0 -0
  468. /package/dist/features/{authoring/utils → registry}/createManifestBindings.js +0 -0
  469. /package/dist/features/{authoring → registry}/themeRecipeMeta.d.ts +0 -0
  470. /package/dist/features/{authoring → registry}/themeRecipeMeta.js +0 -0
  471. /package/src/features/{authoring → registry}/authoringMeta.test.ts +0 -0
  472. /package/src/features/{authoring → registry}/bindableComponentMeta.test.ts +0 -0
  473. /package/src/features/{authoring → registry}/bindableComponentMeta.ts +0 -0
  474. /package/src/features/{authoring → registry}/componentMeta.test.ts +0 -0
  475. /package/src/features/{authoring → registry}/radioGroupReachability.test.ts +0 -0
  476. /package/src/features/{authoring → registry}/themeRecipeMeta.test.ts +0 -0
  477. /package/src/features/{authoring → registry}/themeRecipeMeta.ts +0 -0
@@ -5,6 +5,7 @@ import type { ButtonProps } from '../../../../types/button';
5
5
  import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
6
6
  import { useZoraThemeRecipe } from '../../../theme/composition/useZoraThemeRecipe';
7
7
  import { resolveButtonThemeRecipe } from '../../utils/resolveButtonThemeRecipe';
8
+ import { buttonThemeRecipeMeta } from '../../utils/themeRecipeMeta';
8
9
  /***
9
10
  * Theme-aware action control for primary, secondary, destructive, and neutral actions.
10
11
  *
@@ -23,7 +24,7 @@ function ButtonInner({
23
24
  interactionPolicy,
24
25
  ...props
25
26
  }: ButtonProps) {
26
- const themeFields = useZoraThemeRecipe('Button');
27
+ const themeFields = useZoraThemeRecipe(buttonThemeRecipeMeta);
27
28
  const recipe = resolveButtonThemeRecipe({ color, variant, size, themeFields });
28
29
 
29
30
  return (
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const buttonGroupMeta = {
4
4
  name: 'ButtonGroup',
@@ -1,5 +1,5 @@
1
- import type { ZoraComponentMeta } from '../authoring';
2
- import { COMPONENT_THEME_AUTHORING } from '../authoring/constants';
1
+ import { COMPONENT_THEME_AUTHORING } from '../../constants/authoring';
2
+ import type { ZoraComponentMeta } from '../../types/authoring';
3
3
  import { ZORA_COLORS } from '../theme/colorModel';
4
4
 
5
5
  export const buttonMeta = {
@@ -9,6 +9,7 @@ import { Heading } from '../../../typography/public';
9
9
  import { Text } from '../../../typography/public';
10
10
  import { resolveCardThemeRecipe } from '../../utils/resolveCardThemeRecipe';
11
11
  import { resolveCardVariant } from '../../utils/resolveCardVariant';
12
+ import { cardThemeRecipeMeta } from '../../utils/themeRecipeMeta';
12
13
  /***
13
14
  * Structured content container with built-in heading, description, actions, and footer slots.
14
15
  *
@@ -35,7 +36,7 @@ function CardInner({
35
36
  interactionPolicy,
36
37
  ...props
37
38
  }: CardProps) {
38
- const themeFields = useZoraThemeRecipe('Card');
39
+ const themeFields = useZoraThemeRecipe(cardThemeRecipeMeta);
39
40
  const recipe = resolveCardThemeRecipe({ tone, compact, padding, radius, themeFields });
40
41
  const hasHeader = [eyebrow, title, description, actions].some((item) => item != null);
41
42
  const hasFooter = footer !== undefined;
@@ -1,11 +1,11 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
2
 
3
- import { ZORA_COMPONENT_META } from '../../../authoring';
3
+ import { postCardMeta } from '../../postCardMeta';
4
4
 
5
5
  describe('PostCard', () => {
6
6
  test('is registered as a public ZORA pattern', () => {
7
- expect(ZORA_COMPONENT_META.PostCard?.name).toBe('PostCard');
8
- expect(ZORA_COMPONENT_META.PostCard?.category).toBe('pattern');
9
- expect(ZORA_COMPONENT_META.PostCard?.directManifestNode).toBe(true);
7
+ expect(postCardMeta.name).toBe('PostCard');
8
+ expect(postCardMeta.category).toBe('pattern');
9
+ expect(postCardMeta.directManifestNode).toBe(true);
10
10
  });
11
11
  });
@@ -1,19 +1,19 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
2
 
3
- import { ZORA_COMPONENT_META } from '../../../authoring';
3
+ import { productCardMeta } from '../../productCardMeta';
4
4
 
5
5
  describe('ProductCard', () => {
6
6
  test('is registered as a public ZORA pattern', () => {
7
- expect(ZORA_COMPONENT_META.ProductCard?.name).toBe('ProductCard');
8
- expect(ZORA_COMPONENT_META.ProductCard?.category).toBe('pattern');
9
- expect(ZORA_COMPONENT_META.ProductCard?.directManifestNode).toBe(true);
10
- expect(ZORA_COMPONENT_META.ProductCard?.allowedChildren).toEqual([]);
11
- expect(ZORA_COMPONENT_META.ProductCard?.requirements).toBeUndefined();
7
+ expect(productCardMeta.name).toBe('ProductCard');
8
+ expect(productCardMeta.category).toBe('pattern');
9
+ expect(productCardMeta.directManifestNode).toBe(true);
10
+ expect(productCardMeta.allowedChildren).toEqual([]);
11
+ expect(productCardMeta.requirements).toBeUndefined();
12
12
  });
13
13
 
14
14
  test('has correct event metadata', () => {
15
- expect(ZORA_COMPONENT_META.ProductCard?.events?.press).toBeDefined();
16
- expect(ZORA_COMPONENT_META.ProductCard?.events?.primaryAction).toBeDefined();
17
- expect(ZORA_COMPONENT_META.ProductCard?.events?.secondaryAction).toBeDefined();
15
+ expect(productCardMeta.events.press).toBeDefined();
16
+ expect(productCardMeta.events.primaryAction).toBeDefined();
17
+ expect(productCardMeta.events.secondaryAction).toBeDefined();
18
18
  });
19
19
  });
@@ -1,11 +1,11 @@
1
- import type { ZoraComponentMeta } from '../authoring';
2
1
  import {
3
2
  CHESS_ALLOWED_CHILDREN,
4
3
  CONTAINER_ALLOWED_CHILDREN,
5
4
  GAME_ALLOWED_CHILDREN,
6
5
  TABLETOP_ALLOWED_CHILDREN,
7
- } from '../authoring/allowedChildren';
8
- import { COMPONENT_THEME_AUTHORING } from '../authoring/constants';
6
+ } from '../../constants/authoring';
7
+ import { COMPONENT_THEME_AUTHORING } from '../../constants/authoring';
8
+ import type { ZoraComponentMeta } from '../../types/authoring';
9
9
 
10
10
  export const cardMeta = {
11
11
  name: 'Card',
@@ -1,5 +1,5 @@
1
+ import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';
1
2
  import type { ZoraComponentMeta } from '../../types/authoring';
2
- import { CONTAINER_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
3
3
 
4
4
  export const mediaCardMeta = {
5
5
  name: 'MediaCard',
@@ -1,5 +1,5 @@
1
- import type { ZoraComponentMeta } from '../authoring';
2
- import { CONTAINER_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
1
+ import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';
2
+ import type { ZoraComponentMeta } from '../../types/authoring';
3
3
 
4
4
  export const postCardMeta = {
5
5
  name: 'PostCard',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const productCardMeta = {
4
4
  name: 'ProductCard',
@@ -1,11 +1,11 @@
1
1
  import { describe, expect, test } from 'bun:test';
2
2
 
3
- import { ZORA_COMPONENT_META } from '../../../authoring';
3
+ import { chatListItemMeta } from '../../chatListItemMeta';
4
4
 
5
5
  describe('ChatListItem', () => {
6
6
  test('is registered as a public ZORA pattern', () => {
7
- expect(ZORA_COMPONENT_META.ChatListItem?.name).toBe('ChatListItem');
8
- expect(ZORA_COMPONENT_META.ChatListItem?.category).toBe('pattern');
9
- expect(ZORA_COMPONENT_META.ChatListItem?.directManifestNode).toBe(true);
7
+ expect(chatListItemMeta.name).toBe('ChatListItem');
8
+ expect(chatListItemMeta.category).toBe('pattern');
9
+ expect(chatListItemMeta.directManifestNode).toBe(true);
10
10
  });
11
11
  });
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const chatListItemMeta = {
4
4
  name: 'ChatListItem',
@@ -1,5 +1,5 @@
1
- import type { ZoraComponentMeta } from '../authoring';
2
- import { CONTAINER_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
1
+ import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';
2
+ import type { ZoraComponentMeta } from '../../types/authoring';
3
3
 
4
4
  export const messageBubbleMeta = {
5
5
  name: 'MessageBubble',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const collectionEditorMeta = {
4
4
  name: 'CollectionEditor',
@@ -1,5 +1,5 @@
1
- import type { ZoraComponentMeta } from '../authoring';
2
- import { CONTENT_RAIL_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
1
+ import { CONTENT_RAIL_ALLOWED_CHILDREN } from '../../constants/authoring';
2
+ import type { ZoraComponentMeta } from '../../types/authoring';
3
3
  import { CONTENT_RAIL_SPACING_VALUES } from './constants';
4
4
 
5
5
  export const contentRailMeta = {
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const datePickerMeta = {
4
4
  name: 'DatePicker',
@@ -1,6 +1,6 @@
1
1
  import { expect, test } from 'bun:test';
2
2
 
3
- import { ZORA_COMPONENT_META } from '../authoring/componentMeta';
3
+ import { datePickerMeta } from './datePickerMeta';
4
4
 
5
5
  test('DatePicker keeps one manifest contract across native and web presentation hosts', async () => {
6
6
  const nativeSource = await Bun.file(
@@ -12,12 +12,10 @@ test('DatePicker keeps one manifest contract across native and web presentation
12
12
  const contentSource = await Bun.file(
13
13
  'src/features/date-picker/composition/DatePickerContent.tsx',
14
14
  ).text();
15
- const meta = ZORA_COMPONENT_META.DatePicker;
16
15
 
17
- expect(meta.directManifestNode).toBe(true);
18
- expect(meta.props.value?.type).toBe('string');
19
- expect(meta.events?.valueChange?.eventType).toBe('datePicker.valueChange');
20
- expect(meta.bindings?.props?.value?.value.type).toBe('string');
16
+ expect(datePickerMeta.directManifestNode).toBe(true);
17
+ expect(datePickerMeta.props.value.type).toBe('string');
18
+ expect(datePickerMeta.events.valueChange.eventType).toBe('datePicker.valueChange');
21
19
  expect(nativeSource).toContain('useBottomSheet()');
22
20
  expect(webSource).toContain('<Popover');
23
21
  expect(webSource).not.toContain('useBottomSheet');
@@ -1,5 +1,5 @@
1
+ import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';
1
2
  import type { ZoraComponentMeta } from '../../types/authoring';
2
- import { CONTAINER_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
3
3
 
4
4
  export const dialogMeta = {
5
5
  name: 'Dialog',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const emptyStateMeta = {
4
4
  name: 'EmptyState',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../../authoring';
1
+ import type { ZoraComponentMeta } from '../../../types/authoring';
2
2
 
3
3
  export const checkboxMeta = {
4
4
  name: 'Checkbox',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../../authoring';
1
+ import type { ZoraComponentMeta } from '../../../types/authoring';
2
2
 
3
3
  export const fieldMeta = {
4
4
  name: 'Field',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
  export const formActionsMeta = {
3
3
  name: 'FormActions',
4
4
  category: 'component',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
  export const formErrorMeta = {
3
3
  name: 'FormError',
4
4
  category: 'component',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
  export const formMeta = {
3
3
  name: 'Form',
4
4
  category: 'component',
@@ -7,6 +7,7 @@ import { View } from '../../../../layout/public';
7
7
  import { withZoraThemeScope } from '../../../../theme/adapters/inbound/withZoraThemeScope';
8
8
  import { useZoraThemeRecipe } from '../../../../theme/composition/useZoraThemeRecipe';
9
9
  import { Text } from '../../../../typography/public';
10
+ import { radioGroupThemeRecipeMeta } from '../../themeRecipeMeta';
10
11
  import { resolveRadioGroupThemeRecipe } from '../../utils/resolveRadioGroupThemeRecipe';
11
12
  import { RadioOptionControl } from './RadioOptionControl';
12
13
 
@@ -25,7 +26,7 @@ function RadioGroupInner<TValue extends string>({
25
26
  props.onValueChange?.(next);
26
27
  };
27
28
  const selectedProps = { ...props, value: props.value ?? localValue, onValueChange };
28
- const themeFields = useZoraThemeRecipe('RadioGroup');
29
+ const themeFields = useZoraThemeRecipe(radioGroupThemeRecipeMeta);
29
30
  const recipe = resolveRadioGroupThemeRecipe({ ...props, themeFields });
30
31
  if (props.presentation !== 'card') return <RadioGroupInline {...selectedProps} {...recipe} />;
31
32
  const columns =
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../../authoring';
1
+ import type { ZoraComponentMeta } from '../../../types/authoring';
2
2
  import { ZORA_COLORS } from '../../theme/colorModel';
3
3
 
4
4
  const themeAuthoring = {
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../../authoring';
1
+ import type { ZoraComponentMeta } from '../../../types/authoring';
2
2
 
3
3
  export const selectMeta = {
4
4
  name: 'Select',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../../authoring';
1
+ import type { ZoraComponentMeta } from '../../../types/authoring';
2
2
 
3
3
  export const switchMeta = {
4
4
  name: 'Switch',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../../authoring';
1
+ import type { ZoraComponentMeta } from '../../../types/authoring';
2
2
 
3
3
  export const textInputMeta = {
4
4
  name: 'TextInput',
@@ -1,6 +1,6 @@
1
1
  import type { View } from 'react-native';
2
2
 
3
- import type { GameMeasurementBounds } from '../../../../types/gameRuntime';
3
+ import type { GameMeasurementBounds } from '../../../types/gameRuntime';
4
4
 
5
5
  /*** Measure one rendered React Native or React Native Web game entity in window coordinates. */
6
6
  export function measureGameEntity(
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { View } from 'react-native';
3
3
 
4
- import { measureGameEntity } from '../adapters/inbound/measureGameEntity';
5
4
  import { GameRuntimeContext } from '../composition/GameRuntimeContext';
5
+ import { measureGameEntity } from './measureGameEntity';
6
6
 
7
7
  /*** Register one optional measurable GameEntity view inside its local Game scope. */
8
8
  export function useGameEntityMeasurement(
@@ -1,5 +1,5 @@
1
- import type { ZoraComponentMeta } from '../authoring';
2
- import { CONTAINER_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
1
+ import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';
2
+ import type { ZoraComponentMeta } from '../../types/authoring';
3
3
 
4
4
  export const gradientMeta = {
5
5
  name: 'Gradient',
@@ -1,13 +1,11 @@
1
1
  import { expect, test } from 'bun:test';
2
2
 
3
- import { ZORA_COMPONENT_META } from '../authoring/componentMeta';
3
+ import { gradientMeta } from './gradientMeta';
4
4
 
5
5
  test('Gradient is a direct manifest container with serializable colors', () => {
6
- const meta = ZORA_COMPONENT_META.Gradient;
7
-
8
- expect(meta?.directManifestNode).toBe(true);
9
- expect(meta?.allowedChildren.length).toBeGreaterThan(0);
10
- expect(meta?.props.colors).toEqual({
6
+ expect(gradientMeta.directManifestNode).toBe(true);
7
+ expect(gradientMeta.allowedChildren.length).toBeGreaterThan(0);
8
+ expect(gradientMeta.props.colors).toEqual({
11
9
  type: 'array',
12
10
  category: 'Style',
13
11
  label: 'Colors',
@@ -6,7 +6,7 @@ import type {
6
6
  GraphViewNodeRenderContext,
7
7
  GraphViewRenderedNode,
8
8
  GraphViewSize,
9
- } from './GraphView';
9
+ } from '../../../../../types/graph-view';
10
10
 
11
11
  interface GraphNodeOverlayProps {
12
12
  readonly nodes: readonly GraphViewNode[];
@@ -1,125 +1,15 @@
1
1
  import type { CytoscapeOptions } from 'cytoscape';
2
2
  import React from 'react';
3
3
 
4
+ import type {
5
+ GraphViewCallbacks,
6
+ GraphViewNode,
7
+ GraphViewProps,
8
+ GraphViewRenderedNode,
9
+ } from '../../../../../types/graph-view';
4
10
  import { createGraphRuntime, type GraphRuntime } from './createGraphRuntime';
5
11
  import { GraphNodeOverlay } from './GraphNodeOverlay';
6
12
 
7
- export type GraphViewLayoutName = 'breadthfirst' | 'circle' | 'concentric' | 'elk' | 'grid';
8
- export type GraphViewElementEventType =
9
- 'press' | 'double-press' | 'select' | 'unselect' | 'pointer-enter' | 'pointer-leave';
10
-
11
- export interface GraphViewNode {
12
- readonly id: string;
13
- readonly label?: string;
14
- readonly parentId?: string;
15
- readonly classes?: string;
16
- readonly data?: Readonly<Record<string, unknown>>;
17
- }
18
-
19
- export interface GraphViewEdge {
20
- readonly id?: string;
21
- readonly source: string;
22
- readonly target: string;
23
- readonly classes?: string;
24
- readonly data?: Readonly<Record<string, unknown>>;
25
- }
26
-
27
- export interface GraphViewStyleRule {
28
- readonly selector: string;
29
- readonly style: Readonly<Record<string, unknown>>;
30
- }
31
-
32
- export interface GraphViewPoint {
33
- readonly x: number;
34
- readonly y: number;
35
- }
36
-
37
- export interface GraphViewSize {
38
- readonly width: number;
39
- readonly height: number;
40
- }
41
-
42
- export interface GraphViewNodeRenderContext {
43
- readonly hovered: boolean;
44
- readonly node: GraphViewNode;
45
- readonly selected: boolean;
46
- readonly zoom: number;
47
- }
48
-
49
- export interface GraphViewRenderedNode {
50
- readonly hovered: boolean;
51
- readonly id: string;
52
- readonly position: GraphViewPoint;
53
- readonly selected: boolean;
54
- readonly zoom: number;
55
- }
56
-
57
- export interface GraphViewViewport {
58
- readonly zoom: number;
59
- readonly pan: GraphViewPoint;
60
- }
61
-
62
- export interface GraphViewFitOptions {
63
- /** Optimize existing layout spacing without rerunning its algorithm; whole-graph fits only. */
64
- readonly optimizeSpacing?: boolean;
65
- readonly nodeIds?: readonly string[];
66
- readonly padding?: number;
67
- }
68
-
69
- export interface GraphViewElementEvent {
70
- readonly id: string;
71
- readonly type: GraphViewElementEventType;
72
- }
73
-
74
- export interface GraphViewController {
75
- fit(options?: GraphViewFitOptions): void;
76
- getViewport(): GraphViewViewport;
77
- getZoomRange(): { readonly min: number; readonly max: number };
78
- setPan(pan: GraphViewPoint): void;
79
- setZoom(zoom: number): void;
80
- zoomBy(factor: number): void;
81
- }
82
-
83
- export interface GraphViewProps {
84
- readonly nodes: readonly GraphViewNode[];
85
- readonly edges: readonly GraphViewEdge[];
86
- readonly layout?: GraphViewLayoutName;
87
- readonly layoutOptions?: Readonly<Record<string, unknown>>;
88
- readonly spacingFactor?: number;
89
- readonly styleRules?: readonly GraphViewStyleRule[];
90
- readonly selectedNodeIds?: readonly string[];
91
- readonly renderNode?: (context: GraphViewNodeRenderContext) => React.ReactNode;
92
- readonly getNodeSize?: (node: GraphViewNode) => GraphViewSize | undefined;
93
- readonly fitPadding?: number;
94
- readonly minZoom?: number;
95
- readonly maxZoom?: number;
96
- readonly minReadableLabelSize?: number;
97
- readonly maxFitLabelSize?: number;
98
- /** Zoom values and bounds use the full-node fit as 1 when fit-relative is selected. */
99
- readonly zoomMode?: 'absolute' | 'fit-relative';
100
- /** Measure plain labels before layout instead of estimating width from character count. */
101
- readonly sizeNodesToLabels?: boolean;
102
- readonly className?: string;
103
- readonly style?: React.CSSProperties;
104
- readonly ariaLabel?: string;
105
- readonly onReady?: (controller: GraphViewController) => void;
106
- readonly onLayoutComplete?: (controller: GraphViewController) => void;
107
- readonly onNodeEvent?: (event: GraphViewElementEvent) => void;
108
- readonly onEdgeEvent?: (event: GraphViewElementEvent) => void;
109
- readonly onViewportChange?: (viewport: GraphViewViewport) => void;
110
- readonly onSpacingFactorChange?: (spacingFactor: number) => void;
111
- }
112
-
113
- export type GraphViewCallbacks = Pick<
114
- GraphViewProps,
115
- | 'onEdgeEvent'
116
- | 'onLayoutComplete'
117
- | 'onNodeEvent'
118
- | 'onReady'
119
- | 'onViewportChange'
120
- | 'onSpacingFactorChange'
121
- >;
122
-
123
13
  type GraphContainer = NonNullable<CytoscapeOptions['container']>;
124
14
 
125
15
  /***
@@ -4,7 +4,7 @@ import type {
4
4
  GraphViewCallbacks,
5
5
  GraphViewController,
6
6
  GraphViewElementEventType,
7
- } from './GraphView';
7
+ } from '../../../../../types/graph-view';
8
8
 
9
9
  /*** Bind stable Cytoscape events that always read the latest React callbacks. */
10
10
  export function bindGraphEvents(
@@ -1,8 +1,8 @@
1
1
  import type { Core } from 'cytoscape';
2
2
 
3
+ import type { GraphViewController, GraphViewFitOptions } from '../../../../../types/graph-view';
3
4
  import type { GraphRuntimeUpdate } from '../../../../../types/graphViewRuntime';
4
5
  import { fitGraphViewport } from './fitGraphViewport';
5
- import type { GraphViewController, GraphViewFitOptions } from './GraphView';
6
6
 
7
7
  /*** Own viewport units and limits alongside the public controller, without exposing Cytoscape. */
8
8
  export function createGraphController(
@@ -3,13 +3,13 @@ import './createGraphRuntime';
3
3
  import { expect, test } from 'bun:test';
4
4
  import cytoscape from 'cytoscape';
5
5
 
6
- import { createGraphRuntime } from './createGraphRuntime';
7
6
  import type {
8
7
  GraphViewCallbacks,
9
8
  GraphViewController,
10
9
  GraphViewElementEvent,
11
10
  GraphViewRenderedNode,
12
- } from './GraphView';
11
+ } from '../../../../../types/graph-view';
12
+ import { createGraphRuntime } from './createGraphRuntime';
13
13
 
14
14
  test('explicit fit compacts once and controlled spacing acknowledgement does not rerun the algorithm', async () => {
15
15
  const initial = Promise.withResolvers<GraphViewController>();
@@ -1,5 +1,13 @@
1
1
  import cytoscape, { type Core, type CytoscapeOptions } from 'cytoscape';
2
2
 
3
+ import type {
4
+ GraphViewCallbacks,
5
+ GraphViewElementEventType,
6
+ GraphViewFitOptions,
7
+ GraphViewRenderedNode,
8
+ GraphViewSize,
9
+ GraphViewStyleRule,
10
+ } from '../../../../../types/graph-view';
3
11
  import type { GraphRuntimeUpdate } from '../../../../../types/graphViewRuntime';
4
12
  import { bindGraphEvents } from './bindGraphEvents';
5
13
  import { compactGraphSpacing } from './compactGraphSpacing';
@@ -8,14 +16,6 @@ import { createGraphLoopSizer } from './createGraphLoopSizer';
8
16
  import { createGraphResizeObserver, type GraphResizeObserver } from './createGraphResizeObserver';
9
17
  import { getGraphGeometryKey } from './getGraphGeometryKey';
10
18
  import { getGraphTopologyKey } from './getGraphTopologyKey';
11
- import type {
12
- GraphViewCallbacks,
13
- GraphViewElementEventType,
14
- GraphViewFitOptions,
15
- GraphViewRenderedNode,
16
- GraphViewSize,
17
- GraphViewStyleRule,
18
- } from './GraphView';
19
19
  import { hasGraphLayoutChanged } from './hasGraphLayoutChanged';
20
20
  import { readGraphRenderedNodes } from './readGraphRenderedNodes';
21
21
  import { registerGraphLayouts } from './registerGraphLayouts';
@@ -1,7 +1,7 @@
1
1
  import { expect, test } from 'bun:test';
2
2
 
3
+ import type { GraphViewEdge, GraphViewNode } from '../../../../../types/graph-view';
3
4
  import { createRenderableGraphElements } from './createRenderableGraphElements';
4
- import type { GraphViewEdge, GraphViewNode } from './GraphView';
5
5
 
6
6
  test('omits compound ancestor and descendant edges without mutating source graph data', () => {
7
7
  const nodes: readonly GraphViewNode[] = [
@@ -1,6 +1,6 @@
1
1
  import type { ElementDefinition } from 'cytoscape';
2
2
 
3
- import type { GraphViewEdge, GraphViewNode } from './GraphView';
3
+ import type { GraphViewEdge, GraphViewNode } from '../../../../../types/graph-view';
4
4
 
5
5
  /*** Convert plain graph data into renderable Cytoscape elements without impossible compound edges. */
6
6
  export function createRenderableGraphElements(
@@ -1,6 +1,6 @@
1
1
  import type { Core } from 'cytoscape';
2
2
 
3
- import type { GraphViewFitOptions } from './GraphView';
3
+ import type { GraphViewFitOptions } from '../../../../../types/graph-view';
4
4
 
5
5
  /*** Fit the requested visible nodes and never include edge geometry in viewport bounds. */
6
6
  export function fitGraphViewport(
@@ -1,4 +1,4 @@
1
- import type { GraphViewEdge, GraphViewNode } from './GraphView';
1
+ import type { GraphViewEdge, GraphViewNode } from '../../../../../types/graph-view';
2
2
 
3
3
  /***
4
4
  * Identify visible graph membership and hierarchy independently of presentation metadata.
@@ -1,6 +1,6 @@
1
1
  import type { Core } from 'cytoscape';
2
2
 
3
- import type { GraphViewRenderedNode } from './GraphView';
3
+ import type { GraphViewRenderedNode } from '../../../../../types/graph-view';
4
4
 
5
5
  /*** Read React-overlay node state from Cytoscape's authoritative rendered positions. */
6
6
  export function readGraphRenderedNodes(
@@ -1,6 +1,6 @@
1
1
  import type { Core, LayoutOptions, Layouts } from 'cytoscape';
2
2
 
3
- import type { GraphViewLayoutName } from './GraphView';
3
+ import type { GraphViewLayoutName } from '../../../../../types/graph-view';
4
4
  import { runDetachedGraphLayout } from './runDetachedGraphLayout';
5
5
 
6
6
  interface RunGraphLayoutInput {