@ankhorage/zora 22.0.73 → 22.0.75

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 +12 -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 +12 -12
  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
@@ -0,0 +1,98 @@
1
+ import type React from 'react';
2
+ export type GraphViewLayoutName = 'breadthfirst' | 'circle' | 'concentric' | 'elk' | 'grid';
3
+ export type GraphViewElementEventType = 'press' | 'double-press' | 'select' | 'unselect' | 'pointer-enter' | 'pointer-leave';
4
+ export interface GraphViewNode {
5
+ readonly id: string;
6
+ readonly label?: string;
7
+ readonly parentId?: string;
8
+ readonly classes?: string;
9
+ readonly data?: Readonly<Record<string, unknown>>;
10
+ }
11
+ export interface GraphViewEdge {
12
+ readonly id?: string;
13
+ readonly source: string;
14
+ readonly target: string;
15
+ readonly classes?: string;
16
+ readonly data?: Readonly<Record<string, unknown>>;
17
+ }
18
+ export interface GraphViewStyleRule {
19
+ readonly selector: string;
20
+ readonly style: Readonly<Record<string, unknown>>;
21
+ }
22
+ export interface GraphViewPoint {
23
+ readonly x: number;
24
+ readonly y: number;
25
+ }
26
+ export interface GraphViewSize {
27
+ readonly width: number;
28
+ readonly height: number;
29
+ }
30
+ export interface GraphViewNodeRenderContext {
31
+ readonly hovered: boolean;
32
+ readonly node: GraphViewNode;
33
+ readonly selected: boolean;
34
+ readonly zoom: number;
35
+ }
36
+ export interface GraphViewRenderedNode {
37
+ readonly hovered: boolean;
38
+ readonly id: string;
39
+ readonly position: GraphViewPoint;
40
+ readonly selected: boolean;
41
+ readonly zoom: number;
42
+ }
43
+ export interface GraphViewViewport {
44
+ readonly zoom: number;
45
+ readonly pan: GraphViewPoint;
46
+ }
47
+ export interface GraphViewFitOptions {
48
+ /** Optimize existing layout spacing without rerunning its algorithm; whole-graph fits only. */
49
+ readonly optimizeSpacing?: boolean;
50
+ readonly nodeIds?: readonly string[];
51
+ readonly padding?: number;
52
+ }
53
+ export interface GraphViewElementEvent {
54
+ readonly id: string;
55
+ readonly type: GraphViewElementEventType;
56
+ }
57
+ export interface GraphViewController {
58
+ fit(options?: GraphViewFitOptions): void;
59
+ getViewport(): GraphViewViewport;
60
+ getZoomRange(): {
61
+ readonly min: number;
62
+ readonly max: number;
63
+ };
64
+ setPan(pan: GraphViewPoint): void;
65
+ setZoom(zoom: number): void;
66
+ zoomBy(factor: number): void;
67
+ }
68
+ export interface GraphViewProps {
69
+ readonly nodes: readonly GraphViewNode[];
70
+ readonly edges: readonly GraphViewEdge[];
71
+ readonly layout?: GraphViewLayoutName;
72
+ readonly layoutOptions?: Readonly<Record<string, unknown>>;
73
+ readonly spacingFactor?: number;
74
+ readonly styleRules?: readonly GraphViewStyleRule[];
75
+ readonly selectedNodeIds?: readonly string[];
76
+ readonly renderNode?: (context: GraphViewNodeRenderContext) => React.ReactNode;
77
+ readonly getNodeSize?: (node: GraphViewNode) => GraphViewSize | undefined;
78
+ readonly fitPadding?: number;
79
+ readonly minZoom?: number;
80
+ readonly maxZoom?: number;
81
+ readonly minReadableLabelSize?: number;
82
+ readonly maxFitLabelSize?: number;
83
+ /** Zoom values and bounds use the full-node fit as 1 when fit-relative is selected. */
84
+ readonly zoomMode?: 'absolute' | 'fit-relative';
85
+ /** Measure plain labels before layout instead of estimating width from character count. */
86
+ readonly sizeNodesToLabels?: boolean;
87
+ readonly className?: string;
88
+ readonly style?: React.CSSProperties;
89
+ readonly ariaLabel?: string;
90
+ readonly onReady?: (controller: GraphViewController) => void;
91
+ readonly onLayoutComplete?: (controller: GraphViewController) => void;
92
+ readonly onNodeEvent?: (event: GraphViewElementEvent) => void;
93
+ readonly onEdgeEvent?: (event: GraphViewElementEvent) => void;
94
+ readonly onViewportChange?: (viewport: GraphViewViewport) => void;
95
+ readonly onSpacingFactorChange?: (spacingFactor: number) => void;
96
+ }
97
+ export type GraphViewCallbacks = Pick<GraphViewProps, 'onEdgeEvent' | 'onLayoutComplete' | 'onNodeEvent' | 'onReady' | 'onViewportChange' | 'onSpacingFactorChange'>;
98
+ //# sourceMappingURL=graph-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-view.d.ts","sourceRoot":"","sources":["../../src/types/graph-view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=graph-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-view.js","sourceRoot":"","sources":["../../src/types/graph-view.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nexport type GraphViewLayoutName = 'breadthfirst' | 'circle' | 'concentric' | 'elk' | 'grid';\nexport type GraphViewElementEventType =\n 'press' | 'double-press' | 'select' | 'unselect' | 'pointer-enter' | 'pointer-leave';\n\nexport interface GraphViewNode {\n readonly id: string;\n readonly label?: string;\n readonly parentId?: string;\n readonly classes?: string;\n readonly data?: Readonly<Record<string, unknown>>;\n}\n\nexport interface GraphViewEdge {\n readonly id?: string;\n readonly source: string;\n readonly target: string;\n readonly classes?: string;\n readonly data?: Readonly<Record<string, unknown>>;\n}\n\nexport interface GraphViewStyleRule {\n readonly selector: string;\n readonly style: Readonly<Record<string, unknown>>;\n}\n\nexport interface GraphViewPoint {\n readonly x: number;\n readonly y: number;\n}\n\nexport interface GraphViewSize {\n readonly width: number;\n readonly height: number;\n}\n\nexport interface GraphViewNodeRenderContext {\n readonly hovered: boolean;\n readonly node: GraphViewNode;\n readonly selected: boolean;\n readonly zoom: number;\n}\n\nexport interface GraphViewRenderedNode {\n readonly hovered: boolean;\n readonly id: string;\n readonly position: GraphViewPoint;\n readonly selected: boolean;\n readonly zoom: number;\n}\n\nexport interface GraphViewViewport {\n readonly zoom: number;\n readonly pan: GraphViewPoint;\n}\n\nexport interface GraphViewFitOptions {\n /** Optimize existing layout spacing without rerunning its algorithm; whole-graph fits only. */\n readonly optimizeSpacing?: boolean;\n readonly nodeIds?: readonly string[];\n readonly padding?: number;\n}\n\nexport interface GraphViewElementEvent {\n readonly id: string;\n readonly type: GraphViewElementEventType;\n}\n\nexport interface GraphViewController {\n fit(options?: GraphViewFitOptions): void;\n getViewport(): GraphViewViewport;\n getZoomRange(): { readonly min: number; readonly max: number };\n setPan(pan: GraphViewPoint): void;\n setZoom(zoom: number): void;\n zoomBy(factor: number): void;\n}\n\nexport interface GraphViewProps {\n readonly nodes: readonly GraphViewNode[];\n readonly edges: readonly GraphViewEdge[];\n readonly layout?: GraphViewLayoutName;\n readonly layoutOptions?: Readonly<Record<string, unknown>>;\n readonly spacingFactor?: number;\n readonly styleRules?: readonly GraphViewStyleRule[];\n readonly selectedNodeIds?: readonly string[];\n readonly renderNode?: (context: GraphViewNodeRenderContext) => React.ReactNode;\n readonly getNodeSize?: (node: GraphViewNode) => GraphViewSize | undefined;\n readonly fitPadding?: number;\n readonly minZoom?: number;\n readonly maxZoom?: number;\n readonly minReadableLabelSize?: number;\n readonly maxFitLabelSize?: number;\n /** Zoom values and bounds use the full-node fit as 1 when fit-relative is selected. */\n readonly zoomMode?: 'absolute' | 'fit-relative';\n /** Measure plain labels before layout instead of estimating width from character count. */\n readonly sizeNodesToLabels?: boolean;\n readonly className?: string;\n readonly style?: React.CSSProperties;\n readonly ariaLabel?: string;\n readonly onReady?: (controller: GraphViewController) => void;\n readonly onLayoutComplete?: (controller: GraphViewController) => void;\n readonly onNodeEvent?: (event: GraphViewElementEvent) => void;\n readonly onEdgeEvent?: (event: GraphViewElementEvent) => void;\n readonly onViewportChange?: (viewport: GraphViewViewport) => void;\n readonly onSpacingFactorChange?: (spacingFactor: number) => void;\n}\n\nexport type GraphViewCallbacks = Pick<\n GraphViewProps,\n | 'onEdgeEvent'\n | 'onLayoutComplete'\n | 'onNodeEvent'\n | 'onReady'\n | 'onViewportChange'\n | 'onSpacingFactorChange'\n>;\n"]}
@@ -1,4 +1,4 @@
1
- import type { GraphViewEdge, GraphViewLayoutName, GraphViewNode, GraphViewStyleRule } from '../features/graph-view/adapters/inbound/web-artifact/GraphView';
1
+ import type { GraphViewEdge, GraphViewLayoutName, GraphViewNode, GraphViewStyleRule } from './graph-view';
2
2
  export interface GraphRuntimeUpdate {
3
3
  readonly edges: readonly GraphViewEdge[];
4
4
  readonly fitPadding?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"graphViewRuntime.d.ts","sourceRoot":"","sources":["../../src/types/graphViewRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,gEAAgE,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACrD"}
1
+ {"version":3,"file":"graphViewRuntime.d.ts","sourceRoot":"","sources":["../../src/types/graphViewRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphViewRuntime.js","sourceRoot":"","sources":["../../src/types/graphViewRuntime.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n GraphViewEdge,\n GraphViewLayoutName,\n GraphViewNode,\n GraphViewStyleRule,\n} from '../features/graph-view/adapters/inbound/web-artifact/GraphView';\n\nexport interface GraphRuntimeUpdate {\n readonly edges: readonly GraphViewEdge[];\n readonly fitPadding?: number;\n readonly layout?: GraphViewLayoutName;\n readonly layoutOptions?: Readonly<Record<string, unknown>>;\n readonly maxZoom?: number;\n readonly minReadableLabelSize?: number;\n readonly maxFitLabelSize?: number;\n readonly minZoom?: number;\n readonly zoomMode?: 'absolute' | 'fit-relative';\n readonly sizeNodesToLabels?: boolean;\n readonly nodes: readonly GraphViewNode[];\n readonly richNodeRendering: boolean;\n readonly spacingFactor?: number;\n readonly styleRules?: readonly GraphViewStyleRule[];\n}\n"]}
1
+ {"version":3,"file":"graphViewRuntime.js","sourceRoot":"","sources":["../../src/types/graphViewRuntime.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n GraphViewEdge,\n GraphViewLayoutName,\n GraphViewNode,\n GraphViewStyleRule,\n} from './graph-view';\n\nexport interface GraphRuntimeUpdate {\n readonly edges: readonly GraphViewEdge[];\n readonly fitPadding?: number;\n readonly layout?: GraphViewLayoutName;\n readonly layoutOptions?: Readonly<Record<string, unknown>>;\n readonly maxZoom?: number;\n readonly minReadableLabelSize?: number;\n readonly maxFitLabelSize?: number;\n readonly minZoom?: number;\n readonly zoomMode?: 'absolute' | 'fit-relative';\n readonly sizeNodesToLabels?: boolean;\n readonly nodes: readonly GraphViewNode[];\n readonly richNodeRendering: boolean;\n readonly spacingFactor?: number;\n readonly styleRules?: readonly GraphViewStyleRule[];\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { ButtonIconSpec } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
3
  import type { ImageSourcePropType } from 'react-native';
4
- import type { AvatarShape, AvatarSize } from '../features/avatar/public';
4
+ import type { AvatarShape, AvatarSize } from './avatar';
5
5
  import type { ZoraBaseProps } from './base';
6
6
  import type { ZoraCardTone } from './card';
7
7
  import type { ZoraColor } from './theme';
@@ -1 +1 @@
1
- {"version":3,"file":"post-card.d.ts","sourceRoot":"","sources":["../../src/types/post-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE,CAAC;IACjD,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
1
+ {"version":3,"file":"post-card.d.ts","sourceRoot":"","sources":["../../src/types/post-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,aAAa,EAAE,CAAC;IACjD,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"post-card.js","sourceRoot":"","sources":["../../src/types/post-card.ts"],"names":[],"mappings":"","sourcesContent":["import type { ButtonIconSpec } from '@ankhorage/surface';\nimport type React from 'react';\nimport type { ImageSourcePropType } from 'react-native';\n\nimport type { AvatarShape, AvatarSize } from '../features/avatar/public';\nimport type { ZoraBaseProps } from './base';\nimport type { ZoraCardTone } from './card';\nimport type { ZoraColor } from './theme';\n\nexport interface PostAuthorAvatar {\n source?: ImageSourcePropType;\n name?: string;\n initials?: string;\n label?: string;\n size?: AvatarSize;\n shape?: AvatarShape;\n color?: ZoraColor;\n}\n\nexport interface PostAuthor {\n name: React.ReactNode;\n subtitle?: React.ReactNode;\n avatar?: PostAuthorAvatar;\n}\n\ninterface PostCardSourceMedia {\n source: ImageSourcePropType;\n label: string;\n aspectRatio?: number;\n children?: never;\n}\n\ninterface PostCardCustomMedia {\n children: React.ReactNode;\n label?: string;\n aspectRatio?: number;\n source?: never;\n}\n\nexport type PostCardMedia = PostCardSourceMedia | PostCardCustomMedia;\n\nexport interface PostAction {\n id: string;\n label: string;\n icon?: ButtonIconSpec;\n count?: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n onPress?: () => void;\n}\n\nexport interface PostCommentPreview {\n id: string;\n author?: PostAuthor;\n text: React.ReactNode;\n meta?: React.ReactNode;\n action?: React.ReactNode;\n}\n\nexport interface PostCardProps extends ZoraBaseProps {\n author: PostAuthor;\n text?: React.ReactNode;\n children?: React.ReactNode;\n media?: PostCardMedia | readonly PostCardMedia[];\n actions?: readonly PostAction[];\n comments?: readonly PostCommentPreview[];\n headerAction?: React.ReactNode;\n footer?: React.ReactNode;\n tone?: ZoraCardTone;\n compact?: boolean;\n onPress?: () => void;\n}\n"]}
1
+ {"version":3,"file":"post-card.js","sourceRoot":"","sources":["../../src/types/post-card.ts"],"names":[],"mappings":"","sourcesContent":["import type { ButtonIconSpec } from '@ankhorage/surface';\nimport type React from 'react';\nimport type { ImageSourcePropType } from 'react-native';\n\nimport type { AvatarShape, AvatarSize } from './avatar';\nimport type { ZoraBaseProps } from './base';\nimport type { ZoraCardTone } from './card';\nimport type { ZoraColor } from './theme';\n\nexport interface PostAuthorAvatar {\n source?: ImageSourcePropType;\n name?: string;\n initials?: string;\n label?: string;\n size?: AvatarSize;\n shape?: AvatarShape;\n color?: ZoraColor;\n}\n\nexport interface PostAuthor {\n name: React.ReactNode;\n subtitle?: React.ReactNode;\n avatar?: PostAuthorAvatar;\n}\n\ninterface PostCardSourceMedia {\n source: ImageSourcePropType;\n label: string;\n aspectRatio?: number;\n children?: never;\n}\n\ninterface PostCardCustomMedia {\n children: React.ReactNode;\n label?: string;\n aspectRatio?: number;\n source?: never;\n}\n\nexport type PostCardMedia = PostCardSourceMedia | PostCardCustomMedia;\n\nexport interface PostAction {\n id: string;\n label: string;\n icon?: ButtonIconSpec;\n count?: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n onPress?: () => void;\n}\n\nexport interface PostCommentPreview {\n id: string;\n author?: PostAuthor;\n text: React.ReactNode;\n meta?: React.ReactNode;\n action?: React.ReactNode;\n}\n\nexport interface PostCardProps extends ZoraBaseProps {\n author: PostAuthor;\n text?: React.ReactNode;\n children?: React.ReactNode;\n media?: PostCardMedia | readonly PostCardMedia[];\n actions?: readonly PostAction[];\n comments?: readonly PostCommentPreview[];\n headerAction?: React.ReactNode;\n footer?: React.ReactNode;\n tone?: ZoraCardTone;\n compact?: boolean;\n onPress?: () => void;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { RadioProps as SurfaceRadioProps } from '@ankhorage/surface';
2
2
  import type React from 'react';
3
- import type { IconProps } from '../features/icon/public';
4
3
  import type { ZoraBaseProps } from './base';
4
+ import type { IconProps } from './icon';
5
5
  export interface RadioProps extends ZoraBaseProps, Omit<SurfaceRadioProps, 'mode' | 'themeId'> {
6
6
  }
7
7
  export interface RadioGroupOption<TValue extends string> {
@@ -1 +1 @@
1
- {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/types/radio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,WAAW,UAAW,SAAQ,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CAAG;AAEjG,MAAM,WAAW,gBAAgB,CAAC,MAAM,SAAS,MAAM;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,MAAM,CACpD,SACE,aAAa,EACb,IAAI,CACF,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CACvD;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7B,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC/C,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB"}
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/types/radio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,WAAW,UAAW,SAAQ,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CAAG;AAEjG,MAAM,WAAW,gBAAgB,CAAC,MAAM,SAAS,MAAM;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe,CAAC,MAAM,SAAS,MAAM,CACpD,SACE,aAAa,EACb,IAAI,CACF,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CACvD;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7B,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC/C,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/types/radio.ts"],"names":[],"mappings":"","sourcesContent":["import type { RadioProps as SurfaceRadioProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { IconProps } from '../features/icon/public';\nimport type { ZoraBaseProps } from './base';\n\nexport interface RadioProps extends ZoraBaseProps, Omit<SurfaceRadioProps, 'mode' | 'themeId'> {}\n\nexport interface RadioGroupOption<TValue extends string> {\n value: TValue;\n label: React.ReactNode;\n description?: React.ReactNode;\n /** SVG media is resolved by the consuming runtime before rendering. */\n iconSource?: Extract<IconProps, { source: unknown }>['source'];\n disabled?: boolean;\n testID?: string;\n}\n\nexport interface RadioGroupProps<TValue extends string>\n extends\n ZoraBaseProps,\n Pick<\n Omit<SurfaceRadioProps, 'mode' | 'themeId'>,\n 'color' | 'size' | 'invalid' | 'readOnly' | 'disabled'\n > {\n value?: TValue;\n defaultValue?: TValue;\n onValueChange?: (value: TValue) => void;\n options: readonly RadioGroupOption<TValue>[];\n orientation?: 'horizontal' | 'vertical';\n gap?: 'xs' | 's' | 'm' | 'l';\n presentation?: 'inline' | 'card';\n /** Arrangement inside a selection card, independent of the group direction. */\n contentOrientation?: 'horizontal' | 'vertical';\n /** Equal-width card columns; omitted columns follow orientation. */\n columns?: 1 | 2 | 3 | 4;\n}\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/types/radio.ts"],"names":[],"mappings":"","sourcesContent":["import type { RadioProps as SurfaceRadioProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { ZoraBaseProps } from './base';\nimport type { IconProps } from './icon';\n\nexport interface RadioProps extends ZoraBaseProps, Omit<SurfaceRadioProps, 'mode' | 'themeId'> {}\n\nexport interface RadioGroupOption<TValue extends string> {\n value: TValue;\n label: React.ReactNode;\n description?: React.ReactNode;\n /** SVG media is resolved by the consuming runtime before rendering. */\n iconSource?: Extract<IconProps, { source: unknown }>['source'];\n disabled?: boolean;\n testID?: string;\n}\n\nexport interface RadioGroupProps<TValue extends string>\n extends\n ZoraBaseProps,\n Pick<\n Omit<SurfaceRadioProps, 'mode' | 'themeId'>,\n 'color' | 'size' | 'invalid' | 'readOnly' | 'disabled'\n > {\n value?: TValue;\n defaultValue?: TValue;\n onValueChange?: (value: TValue) => void;\n options: readonly RadioGroupOption<TValue>[];\n orientation?: 'horizontal' | 'vertical';\n gap?: 'xs' | 's' | 'm' | 'l';\n presentation?: 'inline' | 'card';\n /** Arrangement inside a selection card, independent of the group direction. */\n contentOrientation?: 'horizontal' | 'vertical';\n /** Equal-width card columns; omitted columns follow orientation. */\n columns?: 1 | 2 | 3 | 4;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
- import type { ButtonProps } from '../features/button/public';
3
2
  import type { ZoraBaseProps } from './base';
3
+ import type { ButtonProps } from './button';
4
4
  export type CameraPermissionStatus = 'unknown' | 'requesting' | 'granted' | 'denied';
5
5
  export interface BarcodeScanResult {
6
6
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IAC/D,sBAAsB,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,MAAM,EAAE,OAAO,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IAC/D,sBAAsB,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ButtonProps } from '../features/button/public';\nimport type { ZoraBaseProps } from './base';\n\nexport type CameraPermissionStatus = 'unknown' | 'requesting' | 'granted' | 'denied';\n\nexport interface BarcodeScanResult {\n value: string;\n type?: string;\n}\n\nexport interface ScanOverlayProps extends ZoraBaseProps {\n title?: React.ReactNode;\n description?: React.ReactNode;\n cornerLabel?: React.ReactNode;\n}\n\nexport interface CameraPermissionViewProps extends ZoraBaseProps {\n status: Exclude<CameraPermissionStatus, 'granted'>;\n title?: React.ReactNode;\n description?: React.ReactNode;\n requestLabel?: React.ReactNode;\n deniedLabel?: React.ReactNode;\n manualEntryLabel?: React.ReactNode;\n onRequestPermission?: () => void | Promise<void>;\n onManualEntry?: () => void | Promise<void>;\n requestButtonProps?: Omit<ButtonProps, 'children' | 'onPress'>;\n manualEntryButtonProps?: Omit<ButtonProps, 'children' | 'onPress'>;\n}\n\nexport interface BarcodeScannerViewProps extends ZoraBaseProps {\n permissionStatus: CameraPermissionStatus;\n camera?: React.ReactNode;\n children?: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n overlayTitle?: React.ReactNode;\n overlayDescription?: React.ReactNode;\n cornerLabel?: React.ReactNode;\n requestPermissionLabel?: React.ReactNode;\n deniedPermissionLabel?: React.ReactNode;\n manualEntryLabel?: React.ReactNode;\n onRequestPermission?: () => void | Promise<void>;\n onManualEntry?: () => void | Promise<void>;\n onBarcodeScanned?: (result: BarcodeScanResult) => void | Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nimport type { ZoraBaseProps } from './base';\nimport type { ButtonProps } from './button';\n\nexport type CameraPermissionStatus = 'unknown' | 'requesting' | 'granted' | 'denied';\n\nexport interface BarcodeScanResult {\n value: string;\n type?: string;\n}\n\nexport interface ScanOverlayProps extends ZoraBaseProps {\n title?: React.ReactNode;\n description?: React.ReactNode;\n cornerLabel?: React.ReactNode;\n}\n\nexport interface CameraPermissionViewProps extends ZoraBaseProps {\n status: Exclude<CameraPermissionStatus, 'granted'>;\n title?: React.ReactNode;\n description?: React.ReactNode;\n requestLabel?: React.ReactNode;\n deniedLabel?: React.ReactNode;\n manualEntryLabel?: React.ReactNode;\n onRequestPermission?: () => void | Promise<void>;\n onManualEntry?: () => void | Promise<void>;\n requestButtonProps?: Omit<ButtonProps, 'children' | 'onPress'>;\n manualEntryButtonProps?: Omit<ButtonProps, 'children' | 'onPress'>;\n}\n\nexport interface BarcodeScannerViewProps extends ZoraBaseProps {\n permissionStatus: CameraPermissionStatus;\n camera?: React.ReactNode;\n children?: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n overlayTitle?: React.ReactNode;\n overlayDescription?: React.ReactNode;\n cornerLabel?: React.ReactNode;\n requestPermissionLabel?: React.ReactNode;\n deniedPermissionLabel?: React.ReactNode;\n manualEntryLabel?: React.ReactNode;\n onRequestPermission?: () => void | Promise<void>;\n onManualEntry?: () => void | Promise<void>;\n onBarcodeScanned?: (result: BarcodeScanResult) => void | Promise<void>;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import type { ViewProps } from '../features/layout/public';
2
1
  import type { ZoraBaseProps } from './base';
2
+ import type { ViewProps } from './layout';
3
3
  export type SkeletonRadius = ViewProps['radius'];
4
4
  export type SkeletonDimension = ViewProps['width'];
5
5
  export type SkeletonListVariant = 'divider' | 'card';
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/types/skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjD,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/types/skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjD,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/types/skeleton.ts"],"names":[],"mappings":"","sourcesContent":["import type { ViewProps } from '../features/layout/public';\nimport type { ZoraBaseProps } from './base';\n\nexport type SkeletonRadius = ViewProps['radius'];\nexport type SkeletonDimension = ViewProps['width'];\nexport type SkeletonListVariant = 'divider' | 'card';\n\nexport interface SkeletonProps extends ZoraBaseProps {\n width?: SkeletonDimension;\n height?: ViewProps['height'];\n radius?: SkeletonRadius;\n}\n\nexport interface SkeletonTextProps extends ZoraBaseProps {\n lines?: number;\n lineHeight?: number;\n gap?: ViewProps['gap'];\n width?: SkeletonDimension;\n lastLineWidth?: SkeletonDimension;\n}\n\nexport interface SkeletonCardProps extends ZoraBaseProps {\n media?: boolean;\n actions?: boolean;\n lines?: number;\n compact?: boolean;\n}\n\nexport interface SkeletonListProps extends ZoraBaseProps {\n rows?: number;\n avatar?: boolean;\n media?: boolean;\n lines?: number;\n variant?: SkeletonListVariant;\n compact?: boolean;\n}\n"]}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/types/skeleton.ts"],"names":[],"mappings":"","sourcesContent":["import type { ZoraBaseProps } from './base';\nimport type { ViewProps } from './layout';\n\nexport type SkeletonRadius = ViewProps['radius'];\nexport type SkeletonDimension = ViewProps['width'];\nexport type SkeletonListVariant = 'divider' | 'card';\n\nexport interface SkeletonProps extends ZoraBaseProps {\n width?: SkeletonDimension;\n height?: ViewProps['height'];\n radius?: SkeletonRadius;\n}\n\nexport interface SkeletonTextProps extends ZoraBaseProps {\n lines?: number;\n lineHeight?: number;\n gap?: ViewProps['gap'];\n width?: SkeletonDimension;\n lastLineWidth?: SkeletonDimension;\n}\n\nexport interface SkeletonCardProps extends ZoraBaseProps {\n media?: boolean;\n actions?: boolean;\n lines?: number;\n compact?: boolean;\n}\n\nexport interface SkeletonListProps extends ZoraBaseProps {\n rows?: number;\n avatar?: boolean;\n media?: boolean;\n lines?: number;\n variant?: SkeletonListVariant;\n compact?: boolean;\n}\n"]}
@@ -1,3 +1,3 @@
1
- import type { IconButtonProps } from '../features/button/public';
1
+ import type { IconButtonProps } from './icon-button';
2
2
  export type ThemeModeToggleProps = Pick<IconButtonProps, 'disabled' | 'interactionPolicy' | 'size' | 'testID'>;
3
3
  //# sourceMappingURL=theme-mode-toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-mode-toggle.d.ts","sourceRoot":"","sources":["../../src/types/theme-mode-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,eAAe,EACf,UAAU,GAAG,mBAAmB,GAAG,MAAM,GAAG,QAAQ,CACrD,CAAC"}
1
+ {"version":3,"file":"theme-mode-toggle.d.ts","sourceRoot":"","sources":["../../src/types/theme-mode-toggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,eAAe,EACf,UAAU,GAAG,mBAAmB,GAAG,MAAM,GAAG,QAAQ,CACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme-mode-toggle.js","sourceRoot":"","sources":["../../src/types/theme-mode-toggle.ts"],"names":[],"mappings":"","sourcesContent":["import type { IconButtonProps } from '../features/button/public';\n\nexport type ThemeModeToggleProps = Pick<\n IconButtonProps,\n 'disabled' | 'interactionPolicy' | 'size' | 'testID'\n>;\n"]}
1
+ {"version":3,"file":"theme-mode-toggle.js","sourceRoot":"","sources":["../../src/types/theme-mode-toggle.ts"],"names":[],"mappings":"","sourcesContent":["import type { IconButtonProps } from './icon-button';\n\nexport type ThemeModeToggleProps = Pick<\n IconButtonProps,\n 'disabled' | 'interactionPolicy' | 'size' | 'testID'\n>;\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ankhorage/zora",
3
3
  "type": "module",
4
- "version": "22.0.73",
4
+ "version": "22.0.75",
5
5
  "description": "Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.",
6
6
  "homepage": "https://github.com/ankhorage/zora#readme",
7
7
  "bugs": {
@@ -41,11 +41,11 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@ankhorage/color-theory": "^0.3.1",
44
- "@ankhorage/contracts": "^22.8.93",
44
+ "@ankhorage/contracts": "^22.8.96",
45
45
  "@ankhorage/game": "^0.1.2",
46
- "@ankhorage/runtime": "^3.0.51",
47
- "@ankhorage/surface": "^9.1.107",
48
- "@ankhorage/utility": "^1.9.78",
46
+ "@ankhorage/runtime": "^3.0.54",
47
+ "@ankhorage/surface": "^9.1.112",
48
+ "@ankhorage/utility": "^1.9.81",
49
49
  "expo-document-picker": "~57.0.3",
50
50
  "expo-image-picker": "~57.0.20",
51
51
  "chess.js": "^1.4.0"
@@ -82,11 +82,11 @@
82
82
  "default": "./dist/features/uploader/public.js"
83
83
  },
84
84
  "./metadata": {
85
- "react-native": "./src/features/authoring/index.ts",
86
- "browser": "./src/features/authoring/index.ts",
87
- "types": "./dist/features/authoring/index.d.ts",
88
- "import": "./dist/features/authoring/index.js",
89
- "default": "./dist/features/authoring/index.js"
85
+ "react-native": "./src/features/registry/index.ts",
86
+ "browser": "./src/features/registry/index.ts",
87
+ "types": "./dist/features/registry/index.d.ts",
88
+ "import": "./dist/features/registry/index.js",
89
+ "default": "./dist/features/registry/index.js"
90
90
  },
91
91
  "./theme": {
92
92
  "bun": "./src/features/theme/public.ts",
@@ -124,8 +124,8 @@
124
124
  "version-packages": "ankhorage-changeset version"
125
125
  },
126
126
  "devDependencies": {
127
- "@ankhorage/devtools": "^2.0.116",
128
- "@ankhorage/paradox": "^0.2.25",
127
+ "@ankhorage/devtools": "^2.1.2",
128
+ "@ankhorage/paradox": "^0.2.26",
129
129
  "@react-native-vector-icons/fontawesome": "^13.1.4",
130
130
  "@react-native-vector-icons/fontawesome5": "^13.1.4",
131
131
  "@react-native-vector-icons/fontawesome6": "^13.1.4",
@@ -1,3 +1,50 @@
1
+ export const COMPONENT_THEME_AUTHORING = {
2
+ authority: 'theme',
3
+ scope: 'component',
4
+ allowInstanceOverride: true,
5
+ } as const;
6
+
7
+ export const FEATURE_MANIFEST_ELEMENTS = {
8
+ auth: [
9
+ 'ForgotPasswordForm',
10
+ 'OAuthProviderButton',
11
+ 'OAuthProviderList',
12
+ 'OtpForm',
13
+ 'SignInForm',
14
+ 'SignUpForm',
15
+ ],
16
+ surface: ['Surface'],
17
+ avatar: ['Avatar', 'AvatarGroup'],
18
+ badge: ['Badge'],
19
+ card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],
20
+ chip: ['Chip', 'ChipGroup'],
21
+ 'data-table': ['DataTable'],
22
+ 'date-picker': ['DatePicker'],
23
+ dialog: ['Dialog'],
24
+ form: ['Form', 'FormError', 'Field'],
25
+ gradient: ['Gradient'],
26
+ button: ['Button', 'IconButton', 'ButtonGroup'],
27
+ icon: ['Icon'],
28
+ image: ['Image'],
29
+ 'keyboard-avoiding-view': ['KeyboardAvoidingView'],
30
+ 'content-rail': ['ContentRail'],
31
+ layout: ['Divider', 'Grid', 'Screen', 'ScrollView', 'View'],
32
+ section: ['ScreenSection', 'SectionHeader'],
33
+ list: ['FlatList', 'SectionList'],
34
+ pagination: ['Pagination'],
35
+ rating: ['Rating'],
36
+ skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],
37
+ tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],
38
+ toolbar: ['Toolbar'],
39
+ typography: ['Heading', 'Text'],
40
+ 'time-picker': ['TimePicker'],
41
+ uploader: ['Uploader'],
42
+ 'bottom-sheet': ['BottomSheet'],
43
+ chess: ['ChessBoard', 'OpeningBook'],
44
+ game: ['Game', 'GameField', 'GameEntity', 'GameInputZone', 'GameMeasurementProbe', 'GameOverlay'],
45
+ tabletop: ['TabletopTable', 'PokerTrainingTable'],
46
+ } as const;
47
+
1
48
  export const CONTAINER_ALLOWED_CHILDREN = [
2
49
  'ActivityIndicator',
3
50
  'ForgotPasswordForm',
@@ -100,3 +147,11 @@ export const SCREEN_ALLOWED_CHILDREN = [
100
147
  'ScreenSection',
101
148
  ...SCREEN_SECTION_ALLOWED_CHILDREN,
102
149
  ] as const;
150
+
151
+ export const ZORA_THEME_TOKEN_FAMILIES = [
152
+ 'colors',
153
+ 'spacing',
154
+ 'radii',
155
+ 'typography',
156
+ 'shadows',
157
+ ] as const;
@@ -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 accordionItemMeta = {
5
5
  name: 'AccordionItem',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const accordionMeta = {
4
4
  name: 'Accordion',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const activityIndicatorMeta = {
4
4
  name: 'ActivityIndicator',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const appBarMeta = {
4
4
  name: 'AppBar',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const forgotPasswordFormMeta = {
4
4
  name: 'ForgotPasswordForm',
@@ -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
  export const oauthProviderButtonMeta = {
@@ -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
  export const oauthProviderListMeta = {
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const otpFormMeta = {
4
4
  name: 'OtpForm',
@@ -1,34 +1,37 @@
1
1
  import { expect, test } from 'bun:test';
2
2
 
3
- import { ZORA_COMPONENT_META } from '../authoring/componentMeta';
3
+ import { forgotPasswordFormMeta } from './forgotPasswordFormMeta';
4
+ import { oauthProviderButtonMeta } from './oauthProviderButtonMeta';
5
+ import { oauthProviderListMeta } from './oauthProviderListMeta';
6
+ import { otpFormMeta } from './otpFormMeta';
7
+ import { signInFormMeta } from './signInFormMeta';
8
+ import { signUpFormMeta } from './signUpFormMeta';
4
9
 
5
- const AUTH_MANIFEST_ELEMENTS = [
6
- 'ForgotPasswordForm',
7
- 'OAuthProviderButton',
8
- 'OAuthProviderList',
9
- 'OtpForm',
10
- 'SignInForm',
11
- 'SignUpForm',
12
- ] as const;
13
- const authMetaByName = new Map(Object.entries(ZORA_COMPONENT_META));
10
+ const AUTH_MANIFEST_ELEMENTS = {
11
+ ForgotPasswordForm: forgotPasswordFormMeta,
12
+ OAuthProviderButton: oauthProviderButtonMeta,
13
+ OAuthProviderList: oauthProviderListMeta,
14
+ OtpForm: otpFormMeta,
15
+ SignInForm: signInFormMeta,
16
+ SignUpForm: signUpFormMeta,
17
+ } as const;
14
18
 
15
19
  test('auth solutions are direct manifest leaf nodes with authoring schemas', () => {
16
- for (const name of AUTH_MANIFEST_ELEMENTS) {
17
- const meta = authMetaByName.get(name);
18
- expect(meta?.directManifestNode, name).toBe(true);
19
- expect(meta?.allowedChildren, name).toEqual([]);
20
- expect(Object.keys(meta?.props ?? {}).length, name).toBeGreaterThan(0);
20
+ for (const [name, meta] of Object.entries(AUTH_MANIFEST_ELEMENTS)) {
21
+ expect(meta.directManifestNode, name).toBe(true);
22
+ expect(meta.allowedChildren, name).toEqual([]);
23
+ expect(Object.keys(meta.props).length, name).toBeGreaterThan(0);
21
24
  }
22
25
  });
23
26
 
24
27
  test('auth solution events expose their actionable boundaries', () => {
25
- expect(ZORA_COMPONENT_META.SignInForm?.events?.submit?.payloadFields).toContainEqual({
28
+ expect(signInFormMeta.events.submit.payloadFields).toContainEqual({
26
29
  path: 'secret',
27
30
  type: 'string',
28
31
  label: 'Secret',
29
32
  });
30
- expect(ZORA_COMPONENT_META.OtpForm?.events?.resend?.eventType).toBe('otpForm.resend');
31
- expect(ZORA_COMPONENT_META.OAuthProviderList?.events?.providerPress?.payloadFields).toEqual([
33
+ expect(otpFormMeta.events.resend.eventType).toBe('otpForm.resend');
34
+ expect(oauthProviderListMeta.events.providerPress.payloadFields).toEqual([
32
35
  { path: 'providerId', type: 'string', label: 'Provider ID' },
33
36
  ]);
34
37
  });
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const signInFormMeta = {
4
4
  name: 'SignInForm',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const signUpFormMeta = {
4
4
  name: 'SignUpForm',
@@ -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 bottomSheetMeta = {
5
5
  name: 'BottomSheet',
@@ -1,4 +1,4 @@
1
- import type { ZoraComponentMeta } from '../authoring';
1
+ import type { ZoraComponentMeta } from '../../types/authoring';
2
2
 
3
3
  export const breadcrumbsMeta = {
4
4
  name: 'Breadcrumbs',
@@ -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;