@ankhorage/zora 25.7.0 → 25.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +1 -1
  3. package/dist/capabilities/index.d.ts +2 -74
  4. package/dist/capabilities/index.d.ts.map +1 -1
  5. package/dist/capabilities/index.js +6170 -59
  6. package/dist/capabilities/index.js.map +119 -1
  7. package/dist/cli/index.d.ts +2 -74
  8. package/dist/cli/index.d.ts.map +1 -1
  9. package/dist/cli/index.js +2 -1
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.d.ts +5 -0
  12. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.d.ts.map +1 -0
  13. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.js +40 -0
  14. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.js.map +1 -0
  15. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.d.ts +2 -0
  16. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.d.ts.map +1 -0
  17. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.js +2 -0
  18. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.js.map +1 -0
  19. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.d.ts +11 -0
  20. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.d.ts.map +1 -0
  21. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.js +5 -0
  22. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.js.map +1 -0
  23. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.d.ts +11 -0
  24. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.d.ts.map +1 -0
  25. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.js +20 -0
  26. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.js.map +1 -0
  27. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.d.ts +17 -0
  28. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.d.ts.map +1 -0
  29. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.js +76 -0
  30. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.js.map +1 -0
  31. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.d.ts +21 -0
  32. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.d.ts.map +1 -0
  33. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.js +20 -0
  34. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.js.map +1 -0
  35. package/dist/features/grid-interactions/application/createGridInteractionsController.d.ts +4 -0
  36. package/dist/features/grid-interactions/application/createGridInteractionsController.d.ts.map +1 -0
  37. package/dist/features/grid-interactions/application/createGridInteractionsController.js +191 -0
  38. package/dist/features/grid-interactions/application/createGridInteractionsController.js.map +1 -0
  39. package/dist/features/grid-interactions/meta.d.ts +11 -0
  40. package/dist/features/grid-interactions/meta.d.ts.map +1 -0
  41. package/dist/features/grid-interactions/meta.js +11 -0
  42. package/dist/features/grid-interactions/meta.js.map +1 -0
  43. package/dist/features/grid-interactions/public.d.ts +4 -0
  44. package/dist/features/grid-interactions/public.d.ts.map +1 -0
  45. package/dist/features/grid-interactions/public.js +3 -0
  46. package/dist/features/grid-interactions/public.js.map +1 -0
  47. package/dist/features/matrix-grid/adapters/inbound/MatrixGrid.d.ts.map +1 -1
  48. package/dist/features/matrix-grid/adapters/inbound/MatrixGrid.js +73 -19
  49. package/dist/features/matrix-grid/adapters/inbound/MatrixGrid.js.map +1 -1
  50. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.d.ts +9 -0
  51. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.d.ts.map +1 -0
  52. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.js +5 -0
  53. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.js.map +1 -0
  54. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.d.ts +9 -0
  55. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.d.ts.map +1 -0
  56. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.js +5 -0
  57. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.js.map +1 -0
  58. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.d.ts +9 -0
  59. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.d.ts.map +1 -0
  60. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.js +28 -0
  61. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.js.map +1 -0
  62. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.d.ts +14 -0
  63. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.d.ts.map +1 -0
  64. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.js +50 -0
  65. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.js.map +1 -0
  66. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.d.ts +18 -0
  67. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.d.ts.map +1 -0
  68. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.js +56 -0
  69. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.js.map +1 -0
  70. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.d.ts +4 -0
  71. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.d.ts.map +1 -0
  72. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.js +65 -0
  73. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.js.map +1 -0
  74. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.d.ts +8 -1
  75. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.d.ts.map +1 -1
  76. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.js +15 -4
  77. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.js.map +1 -1
  78. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -1
  79. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +2 -0
  80. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
  81. package/dist/features/registry/componentMeta.d.ts.map +1 -1
  82. package/dist/features/registry/componentMeta.js +2 -0
  83. package/dist/features/registry/componentMeta.js.map +1 -1
  84. package/dist/features/registry/createEventCapabilities.d.ts +4 -0
  85. package/dist/features/registry/createEventCapabilities.d.ts.map +1 -0
  86. package/dist/features/registry/createEventCapabilities.js +76 -0
  87. package/dist/features/registry/createEventCapabilities.js.map +1 -0
  88. package/dist/index.d.ts +1 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +1 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/types/grid-interactions.d.ts +58 -0
  93. package/dist/types/grid-interactions.d.ts.map +1 -0
  94. package/dist/types/grid-interactions.js +2 -0
  95. package/dist/types/grid-interactions.js.map +1 -0
  96. package/dist/types/matrix-grid.d.ts +2 -0
  97. package/dist/types/matrix-grid.d.ts.map +1 -1
  98. package/dist/types/matrix-grid.js.map +1 -1
  99. package/package.json +1825 -7
  100. package/src/capabilities/index.test.ts +87 -15
  101. package/src/capabilities/index.ts +5 -2
  102. package/src/cli/index.test.ts +5 -3
  103. package/src/cli/index.ts +5 -2
  104. package/src/features/grid-interactions/adapters/inbound/GridInteractions.test.tsx +143 -0
  105. package/src/features/grid-interactions/adapters/inbound/GridInteractions.tsx +79 -0
  106. package/src/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.tsx +14 -0
  107. package/src/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.tsx +1 -0
  108. package/src/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.tsx +41 -0
  109. package/src/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.test.ts +98 -0
  110. package/src/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.ts +94 -0
  111. package/src/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.test.ts +33 -0
  112. package/src/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.ts +45 -0
  113. package/src/features/grid-interactions/application/createGridInteractionsController.test.ts +115 -0
  114. package/src/features/grid-interactions/application/createGridInteractionsController.ts +231 -0
  115. package/src/features/grid-interactions/meta.ts +12 -0
  116. package/src/features/grid-interactions/public.ts +11 -0
  117. package/src/features/matrix-grid/adapters/inbound/MatrixGrid.test.tsx +280 -2
  118. package/src/features/matrix-grid/adapters/inbound/MatrixGrid.tsx +121 -31
  119. package/src/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.tsx +11 -0
  120. package/src/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.tsx +11 -0
  121. package/src/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.tsx +43 -0
  122. package/src/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.ts +70 -0
  123. package/src/features/matrix-grid/application/createMatrixGridSparseIndex.test.ts +35 -0
  124. package/src/features/matrix-grid/application/createMatrixGridSparseIndex.ts +105 -0
  125. package/src/features/matrix-grid/application/getMatrixGridNextFocusId.test.ts +93 -0
  126. package/src/features/matrix-grid/application/getMatrixGridNextFocusId.ts +112 -0
  127. package/src/features/matrix-grid/application/resolveMatrixGridSelection.test.ts +63 -2
  128. package/src/features/matrix-grid/application/resolveMatrixGridSelection.ts +27 -4
  129. package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +2 -0
  130. package/src/features/registry/componentMeta.ts +2 -0
  131. package/src/features/registry/createEventCapabilities.ts +108 -0
  132. package/src/index.ts +11 -0
  133. package/src/structureOwnership.test.ts +5 -0
  134. package/src/types/grid-interactions.ts +72 -0
  135. package/src/types/matrix-grid.ts +2 -0
  136. package/web-dist/chunks/{Accordion-5g05kfmx.js → Accordion-0q2wzjdd.js} +4 -4
  137. package/web-dist/chunks/{Accordion-b96evb46.js → Accordion-1fsrnq73.js} +1 -1
  138. package/web-dist/chunks/{Accordion-h3y8qev2.js → Accordion-38ts3gnn.js} +2 -2
  139. package/web-dist/chunks/{Accordion-jnc315h7.js → Accordion-8pkw32q9.js} +2 -2
  140. package/web-dist/chunks/{Accordion-h7zsx9eg.js → Accordion-9jrxktne.js} +3 -3
  141. package/web-dist/chunks/{Accordion-9w8wg9mf.js → Accordion-9rnsg9pk.js} +1 -1
  142. package/web-dist/chunks/{Accordion-4zqd7twp.js → Accordion-9ygakvwk.js} +5 -5
  143. package/web-dist/chunks/{Accordion-fhnazn3n.js → Accordion-b74j4hdt.js} +1 -1
  144. package/web-dist/chunks/{Accordion-nssr5gep.js → Accordion-c50pywj3.js} +2 -2
  145. package/web-dist/chunks/{Accordion-pvj5npzc.js → Accordion-ddrn94v3.js} +3 -3
  146. package/web-dist/chunks/{Accordion-090y18cv.js → Accordion-dk0dtyc0.js} +3 -3
  147. package/web-dist/chunks/{Accordion-59pa0677.js → Accordion-fcczvwgg.js} +0 -1
  148. package/web-dist/chunks/{Accordion-sp4k08kw.js → Accordion-geah5s4f.js} +4 -4
  149. package/web-dist/chunks/{Accordion-6rrqpb2h.js → Accordion-h4ekm5cp.js} +2 -2
  150. package/web-dist/chunks/{Accordion-3d4wkzg7.js → Accordion-hecpczme.js} +5 -5
  151. package/web-dist/chunks/{Accordion-a6551mh4.js → Accordion-hn43wt45.js} +1 -1
  152. package/web-dist/chunks/{Accordion-sw7ep29d.js → Accordion-hnx7hx55.js} +2 -2
  153. package/web-dist/chunks/{Accordion-rsvphbe4.js → Accordion-j1chy29e.js} +1 -1
  154. package/web-dist/chunks/{Accordion-ewf1zen9.js → Accordion-k9cxpg08.js} +5 -5
  155. package/web-dist/chunks/{Accordion-5df6cgyf.js → Accordion-md1g54wg.js} +1 -1
  156. package/web-dist/chunks/{Accordion-kjtcbe09.js → Accordion-p1ebrt17.js} +3 -3
  157. package/web-dist/chunks/{Accordion-qn398m1x.js → Accordion-r2g18vxa.js} +1 -1
  158. package/web-dist/chunks/{Accordion-zt9yghdz.js → Accordion-rctfgyfv.js} +4 -4
  159. package/web-dist/chunks/{Accordion-88t8fgxv.js → Accordion-rfc5mdbv.js} +1 -1
  160. package/web-dist/chunks/{Accordion-fmzxat3v.js → Accordion-sdnzqktc.js} +4 -4
  161. package/web-dist/chunks/{Accordion-v0grdh6q.js → Accordion-sq7ya2ye.js} +2 -2
  162. package/web-dist/chunks/{Accordion-ejx5gcf9.js → Accordion-t5scffdr.js} +9 -9
  163. package/web-dist/chunks/{Accordion-sy1cc5my.js → Accordion-ts788t7b.js} +3 -3
  164. package/web-dist/chunks/{Accordion-4s68t3h7.js → Accordion-v3rzy273.js} +6 -6
  165. package/web-dist/chunks/{Accordion-7tjz25jh.js → Accordion-vbzjq3z8.js} +1 -1
  166. package/web-dist/chunks/{Accordion-jh72azm2.js → Accordion-vg337250.js} +2 -2
  167. package/web-dist/chunks/{Accordion-42jfy1a1.js → Accordion-vj1m2wck.js} +1 -1
  168. package/web-dist/chunks/{Accordion-tqpsmdrk.js → Accordion-vxg5sw01.js} +4 -4
  169. package/web-dist/chunks/{Accordion-61ntvh14.js → Accordion-w59y0jdf.js} +4 -4
  170. package/web-dist/chunks/{Accordion-fjxcn6g9.js → Accordion-wcmrasqx.js} +8 -8
  171. package/web-dist/chunks/{Accordion-r1cj2w9e.js → Accordion-wpk8dxqp.js} +3 -3
  172. package/web-dist/chunks/{Accordion-w6qedeba.js → Accordion-x055n3b3.js} +1 -1
  173. package/web-dist/chunks/{Accordion-dbf93gxh.js → Accordion-xcm1qc39.js} +1 -1
  174. package/web-dist/chunks/{Accordion-7kq500r1.js → Accordion-xgxxg1hz.js} +1 -1
  175. package/web-dist/chunks/{Accordion-a4cma5b6.js → Accordion-y3083394.js} +3 -3
  176. package/web-dist/chunks/{Accordion-40tenzcg.js → Accordion-yexfbrzg.js} +4 -4
  177. package/web-dist/chunks/{Accordion-2r0gqk3x.js → Accordion-ztw7zp6v.js} +5 -5
  178. package/web-dist/chunks/{Accordion-bz04casa.js → Accordion-zypyr9xw.js} +211 -6
  179. package/web-dist/components/accordion/Accordion.js +5 -5
  180. package/web-dist/components/accordion-item/AccordionItem.js +5 -5
  181. package/web-dist/components/activity-indicator/ActivityIndicator.js +1 -1
  182. package/web-dist/components/app-bar/AppBar.js +7 -7
  183. package/web-dist/components/app-header/AppHeader.js +7 -7
  184. package/web-dist/components/app-shell/AppShell.js +2 -2
  185. package/web-dist/components/auth-screen/AuthScreen.js +10 -10
  186. package/web-dist/components/avatar/Avatar.js +5 -5
  187. package/web-dist/components/avatar-group/AvatarGroup.js +5 -5
  188. package/web-dist/components/badge/Badge.js +2 -2
  189. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +10 -10
  190. package/web-dist/components/bottom-sheet/BottomSheet.js +3 -3
  191. package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +3 -3
  192. package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +3 -3
  193. package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +3 -3
  194. package/web-dist/components/bottom-sheet-view/BottomSheetView.js +3 -3
  195. package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +3 -3
  196. package/web-dist/components/breadcrumbs/Breadcrumbs.js +5 -5
  197. package/web-dist/components/button/Button.js +3 -3
  198. package/web-dist/components/button-group/ButtonGroup.js +3 -3
  199. package/web-dist/components/camera-permission-view/CameraPermissionView.js +10 -10
  200. package/web-dist/components/card/Card.js +9 -9
  201. package/web-dist/components/card-back/CardBack.js +2 -2
  202. package/web-dist/components/card-hand/CardHand.js +2 -2
  203. package/web-dist/components/chat-list-item/ChatListItem.js +7 -7
  204. package/web-dist/components/checkbox/Checkbox.js +4 -4
  205. package/web-dist/components/checkbox-group/CheckboxGroup.js +4 -4
  206. package/web-dist/components/chess-board/ChessBoard.js +2 -2
  207. package/web-dist/components/chip/Chip.js +5 -5
  208. package/web-dist/components/chip-group/ChipGroup.js +5 -5
  209. package/web-dist/components/collection-editor/CollectionEditor.js +9 -9
  210. package/web-dist/components/content-rail/ContentRail.js +4 -4
  211. package/web-dist/components/data-table/DataTable.js +14 -14
  212. package/web-dist/components/date-picker/DatePicker.js +5 -5
  213. package/web-dist/components/dialog/Dialog.js +4 -4
  214. package/web-dist/components/divider/Divider.js +2 -2
  215. package/web-dist/components/empty-state/EmptyState.js +10 -10
  216. package/web-dist/components/explorer/Explorer.js +7 -7
  217. package/web-dist/components/field/Field.js +4 -4
  218. package/web-dist/components/file-explorer/FileExplorer.js +7 -7
  219. package/web-dist/components/flat-list/FlatList.js +5 -5
  220. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +10 -10
  221. package/web-dist/components/form/Form.js +6 -6
  222. package/web-dist/components/form-actions/FormActions.js +6 -6
  223. package/web-dist/components/form-error/FormError.js +6 -6
  224. package/web-dist/components/game/Game.js +3 -3
  225. package/web-dist/components/game-entity/GameEntity.js +3 -3
  226. package/web-dist/components/game-field/GameField.js +3 -3
  227. package/web-dist/components/game-input-zone/GameInputZone.js +3 -3
  228. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +3 -3
  229. package/web-dist/components/game-overlay/GameOverlay.js +3 -3
  230. package/web-dist/components/gradient/Gradient.js +3 -3
  231. package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +3 -3
  232. package/web-dist/components/graph-view/GraphView.js +2 -2
  233. package/web-dist/components/grid/Grid.js +2 -2
  234. package/web-dist/components/grid-interactions/GridInteractions.d.ts +3 -0
  235. package/web-dist/components/grid-interactions/GridInteractions.js +371 -0
  236. package/web-dist/components/grid-interactions/index.d.ts +1 -0
  237. package/web-dist/components/grid-interactions/index.js +2 -0
  238. package/web-dist/components/grid-line-overlay/GridLineOverlay.js +2 -2
  239. package/web-dist/components/grid-ruler/GridRuler.js +2 -2
  240. package/web-dist/components/grid-view/GridView.js +1 -1
  241. package/web-dist/components/heading/Heading.js +2 -2
  242. package/web-dist/components/hero/Hero.js +9 -9
  243. package/web-dist/components/icon/Icon.js +2 -2
  244. package/web-dist/components/icon-button/IconButton.js +3 -3
  245. package/web-dist/components/image/Image.js +4 -4
  246. package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +2 -2
  247. package/web-dist/components/list/List.js +5 -5
  248. package/web-dist/components/list-item/ListItem.js +5 -5
  249. package/web-dist/components/list-section/ListSection.js +5 -5
  250. package/web-dist/components/matrix-grid/MatrixGrid.js +296 -47
  251. package/web-dist/components/media-card/MediaCard.js +9 -9
  252. package/web-dist/components/media-explorer/MediaExplorer.js +7 -7
  253. package/web-dist/components/message-bubble/MessageBubble.js +7 -7
  254. package/web-dist/components/metric-card/MetricCard.js +9 -9
  255. package/web-dist/components/missing-element/MissingElement.js +4 -4
  256. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +10 -10
  257. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +10 -10
  258. package/web-dist/components/opening-book/OpeningBook.js +2 -2
  259. package/web-dist/components/otp-form/OtpForm.js +10 -10
  260. package/web-dist/components/pagination/Pagination.js +4 -4
  261. package/web-dist/components/palette-item/PaletteItem.js +9 -9
  262. package/web-dist/components/playing-card/PlayingCard.js +2 -2
  263. package/web-dist/components/poker-training-table/PokerTrainingTable.js +2 -2
  264. package/web-dist/components/popover-menu/PopoverMenu.js +4 -4
  265. package/web-dist/components/post-card/PostCard.js +9 -9
  266. package/web-dist/components/product-card/ProductCard.js +9 -9
  267. package/web-dist/components/progress/Progress.js +4 -4
  268. package/web-dist/components/progress-ring/ProgressRing.js +4 -4
  269. package/web-dist/components/radio/Radio.js +5 -5
  270. package/web-dist/components/radio-group/RadioGroup.js +5 -5
  271. package/web-dist/components/rating/Rating.js +3 -3
  272. package/web-dist/components/reader/Reader.js +10 -10
  273. package/web-dist/components/scan-overlay/ScanOverlay.js +10 -10
  274. package/web-dist/components/screen/Screen.js +2 -2
  275. package/web-dist/components/screen-section/ScreenSection.js +4 -4
  276. package/web-dist/components/scroll-view/ScrollView.js +2 -2
  277. package/web-dist/components/search-input/SearchInput.js +4 -4
  278. package/web-dist/components/section-header/SectionHeader.js +4 -4
  279. package/web-dist/components/section-list/SectionList.js +5 -5
  280. package/web-dist/components/select/Select.js +4 -4
  281. package/web-dist/components/selectable-item/SelectableItem.js +2 -2
  282. package/web-dist/components/selection-provider/SelectionProvider.js +2 -2
  283. package/web-dist/components/sign-in-form/SignInForm.js +10 -10
  284. package/web-dist/components/sign-up-form/SignUpForm.js +10 -10
  285. package/web-dist/components/skeleton/Skeleton.js +12 -12
  286. package/web-dist/components/skeleton-card/SkeletonCard.js +12 -12
  287. package/web-dist/components/skeleton-list/SkeletonList.js +12 -12
  288. package/web-dist/components/skeleton-text/SkeletonText.js +12 -12
  289. package/web-dist/components/spatial-grid/SpatialGrid.js +1 -1
  290. package/web-dist/components/surface/Surface.js +2 -2
  291. package/web-dist/components/switch/Switch.js +1 -1
  292. package/web-dist/components/tab/Tab.js +2 -2
  293. package/web-dist/components/tab-list/TabList.js +2 -2
  294. package/web-dist/components/tab-panel/TabPanel.js +2 -2
  295. package/web-dist/components/tabletop-table/TabletopTable.js +2 -2
  296. package/web-dist/components/tabs/Tabs.js +2 -2
  297. package/web-dist/components/text/Text.js +2 -2
  298. package/web-dist/components/text-input/TextInput.js +4 -4
  299. package/web-dist/components/tile-grid/TileGrid.js +1 -1
  300. package/web-dist/components/time-grid/TimeGrid.js +2 -2
  301. package/web-dist/components/time-picker/TimePicker.js +5 -5
  302. package/web-dist/components/timeline/Timeline.js +4 -4
  303. package/web-dist/components/toast/Toast.js +2 -2
  304. package/web-dist/components/toast-provider/ToastProvider.js +2 -2
  305. package/web-dist/components/toolbar/Toolbar.js +9 -9
  306. package/web-dist/components/tree-item/TreeItem.js +9 -9
  307. package/web-dist/components/tree-view/TreeView.js +1 -1
  308. package/web-dist/components/uploader/Uploader.js +12 -12
  309. package/web-dist/components/view/View.js +2 -2
  310. package/web-dist/manifest.json +787 -772
  311. package/web-dist/runtime/ZoraProvider.js +3 -3
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { getMatrixGridNextFocusId } from '../../application/getMatrixGridNextFocusId';
3
+ /*** Keep one roving focus target and restore it after GridView virtualizes a sparse cell. */
4
+ export function useMatrixGridKeyboardFocus(index, disabled, visibleIds, onNavigate) {
5
+ const [focusedId, setFocusedId] = React.useState(null);
6
+ const focusedRef = React.useRef(null);
7
+ const pendingFocusRef = React.useRef(null);
8
+ const cellRefs = React.useRef(new Map());
9
+ const visibleIdSet = React.useMemo(() => new Set(visibleIds), [visibleIds]);
10
+ const tabStopId = focusedId !== null && visibleIdSet.has(focusedId)
11
+ ? focusedId
12
+ : visibleIds.find((id) => index.positionById.has(id));
13
+ const onFocus = React.useCallback((id) => {
14
+ pendingFocusRef.current = null;
15
+ focusedRef.current = id;
16
+ setFocusedId(id);
17
+ }, []);
18
+ const registerCell = React.useCallback((id, node) => {
19
+ if (node === null) {
20
+ cellRefs.current.delete(id);
21
+ return;
22
+ }
23
+ cellRefs.current.set(id, node);
24
+ if (pendingFocusRef.current === id) {
25
+ pendingFocusRef.current = null;
26
+ node.focus();
27
+ }
28
+ }, []);
29
+ const onKeyDown = React.useCallback((id, key, shiftKey) => {
30
+ if (disabled || !['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(key)) {
31
+ return false;
32
+ }
33
+ const originId = focusedRef.current ?? id;
34
+ const nextId = getMatrixGridNextFocusId(index, originId, key);
35
+ if (nextId === null || nextId === originId)
36
+ return true;
37
+ focusedRef.current = nextId;
38
+ pendingFocusRef.current = nextId;
39
+ setFocusedId(nextId);
40
+ onNavigate(nextId, originId, shiftKey);
41
+ const mounted = cellRefs.current.get(nextId);
42
+ if (mounted) {
43
+ pendingFocusRef.current = null;
44
+ mounted.focus();
45
+ }
46
+ return true;
47
+ }, [disabled, index, onNavigate]);
48
+ return { focusedId, onFocus, onKeyDown, registerCell, tabStopId };
49
+ }
50
+ //# sourceMappingURL=useMatrixGridKeyboardFocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMatrixGridKeyboardFocus.js","sourceRoot":"","sources":["../../../../../src/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { MatrixGridSparseIndex } from '../../application/createMatrixGridSparseIndex';\nimport { getMatrixGridNextFocusId } from '../../application/getMatrixGridNextFocusId';\n\n/*** Keep one roving focus target and restore it after GridView virtualizes a sparse cell. */\nexport function useMatrixGridKeyboardFocus(\n index: MatrixGridSparseIndex,\n disabled: boolean,\n visibleIds: readonly string[],\n onNavigate: (targetId: string, originId: string, shiftKey: boolean) => void,\n) {\n const [focusedId, setFocusedId] = React.useState<string | null>(null);\n const focusedRef = React.useRef<string | null>(null);\n const pendingFocusRef = React.useRef<string | null>(null);\n const cellRefs = React.useRef(new Map<string, FocusableCell>());\n const visibleIdSet = React.useMemo(() => new Set(visibleIds), [visibleIds]);\n const tabStopId =\n focusedId !== null && visibleIdSet.has(focusedId)\n ? focusedId\n : visibleIds.find((id) => index.positionById.has(id));\n\n const onFocus = React.useCallback((id: string) => {\n pendingFocusRef.current = null;\n focusedRef.current = id;\n setFocusedId(id);\n }, []);\n\n const registerCell = React.useCallback((id: string, node: FocusableCell | null) => {\n if (node === null) {\n cellRefs.current.delete(id);\n return;\n }\n cellRefs.current.set(id, node);\n if (pendingFocusRef.current === id) {\n pendingFocusRef.current = null;\n node.focus();\n }\n }, []);\n\n const onKeyDown = React.useCallback(\n (id: string, key: string, shiftKey: boolean): boolean => {\n if (disabled || !['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(key)) {\n return false;\n }\n const originId = focusedRef.current ?? id;\n const nextId = getMatrixGridNextFocusId(index, originId, key);\n if (nextId === null || nextId === originId) return true;\n\n focusedRef.current = nextId;\n pendingFocusRef.current = nextId;\n setFocusedId(nextId);\n onNavigate(nextId, originId, shiftKey);\n\n const mounted = cellRefs.current.get(nextId);\n if (mounted) {\n pendingFocusRef.current = null;\n mounted.focus();\n }\n return true;\n },\n [disabled, index, onNavigate],\n );\n\n return { focusedId, onFocus, onKeyDown, registerCell, tabStopId };\n}\n\ninterface FocusableCell {\n focus: () => void;\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import type { GridMatrixCell, GridMatrixLayout } from '@ankhorage/grid-view';
2
+ /*** Build a geometry-independent lookup for sparse matrix navigation, selection, and focus recovery. */
3
+ export declare function createMatrixGridSparseIndex(layout: GridMatrixLayout, cells: readonly GridMatrixCell[]): MatrixGridSparseIndex;
4
+ export type MatrixGridSparseIndex = Readonly<{
5
+ cellById: ReadonlyMap<string, GridMatrixCell>;
6
+ entries: readonly MatrixGridSparseIndexEntry[];
7
+ entriesByColumn: ReadonlyMap<number, readonly MatrixGridSparseIndexEntry[]>;
8
+ entriesByRow: ReadonlyMap<number, readonly MatrixGridSparseIndexEntry[]>;
9
+ firstId: string | null;
10
+ positionById: ReadonlyMap<string, MatrixGridSparseIndexEntry>;
11
+ }>;
12
+ export type MatrixGridSparseIndexEntry = Readonly<{
13
+ cell: GridMatrixCell;
14
+ columnIndex: number;
15
+ id: string;
16
+ rowIndex: number;
17
+ }>;
18
+ //# sourceMappingURL=createMatrixGridSparseIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMatrixGridSparseIndex.d.ts","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/createMatrixGridSparseIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,wGAAwG;AACxG,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,qBAAqB,CAgBvB;AAoED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,OAAO,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC/C,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC,CAAC;IAC5E,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /*** Build a geometry-independent lookup for sparse matrix navigation, selection, and focus recovery. */
2
+ export function createMatrixGridSparseIndex(layout, cells) {
3
+ const rowIndexes = new Map(layout.rows.map((row, index) => [row.id, index]));
4
+ const columnIndexes = new Map(layout.columns.map((column, index) => [column.id, index]));
5
+ const entries = cells.map((cell) => createSparseEntry(cell, rowIndexes, columnIndexes));
6
+ const entriesByRow = groupEntries(entries, 'columnIndex');
7
+ const entriesByColumn = groupEntries(entries, 'rowIndex');
8
+ const orderedEntries = [...entries].sort(compareRowThenColumn);
9
+ return {
10
+ cellById: new Map(entries.map((entry) => [entry.id, entry.cell])),
11
+ entries,
12
+ entriesByColumn,
13
+ entriesByRow,
14
+ firstId: orderedEntries.at(0)?.id ?? null,
15
+ positionById: new Map(entries.map((entry) => [entry.id, entry])),
16
+ };
17
+ }
18
+ /*** Resolve validated matrix coordinates once without materializing every cell rectangle. */
19
+ function createSparseEntry(cell, rowIndexes, columnIndexes) {
20
+ const rowIndex = rowIndexes.get(cell.rowId);
21
+ const columnIndex = columnIndexes.get(cell.columnId);
22
+ if (rowIndex === undefined || columnIndex === undefined) {
23
+ throw new Error(`Matrix cell ${cell.id} references an unknown row or column.`);
24
+ }
25
+ return { cell, columnIndex, id: cell.id, rowIndex };
26
+ }
27
+ /*** Group and sort directional neighbours so arrow navigation is logarithmic within one axis. */
28
+ function groupEntries(entries, axis) {
29
+ const groups = new Map();
30
+ for (const entry of entries) {
31
+ const groupKey = axis === 'columnIndex' ? entry.rowIndex : entry.columnIndex;
32
+ const group = groups.get(groupKey) ?? [];
33
+ group.push(entry);
34
+ groups.set(groupKey, group);
35
+ }
36
+ return new Map([...groups].map(([key, group]) => [
37
+ key,
38
+ group.sort((left, right) => compareAxisThenId(left, right, axis)),
39
+ ]));
40
+ }
41
+ /*** Keep the initial roving target deterministic even when sparse input arrives in arbitrary order. */
42
+ function compareRowThenColumn(left, right) {
43
+ return (left.rowIndex - right.rowIndex ||
44
+ left.columnIndex - right.columnIndex ||
45
+ left.id.localeCompare(right.id));
46
+ }
47
+ /*** Sort a row or column by its navigated coordinate and stable identity. */
48
+ function compareAxisThenId(left, right, axis) {
49
+ return (getAxisCoordinate(left, axis) - getAxisCoordinate(right, axis) ||
50
+ left.id.localeCompare(right.id));
51
+ }
52
+ /*** Read a selected coordinate without dynamically indexing an object. */
53
+ function getAxisCoordinate(entry, axis) {
54
+ return axis === 'columnIndex' ? entry.columnIndex : entry.rowIndex;
55
+ }
56
+ //# sourceMappingURL=createMatrixGridSparseIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMatrixGridSparseIndex.js","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/createMatrixGridSparseIndex.ts"],"names":[],"mappings":"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","sourcesContent":["import type { GridMatrixCell, GridMatrixLayout } from '@ankhorage/grid-view';\n\n/*** Build a geometry-independent lookup for sparse matrix navigation, selection, and focus recovery. */\nexport function createMatrixGridSparseIndex(\n layout: GridMatrixLayout,\n cells: readonly GridMatrixCell[],\n): MatrixGridSparseIndex {\n const rowIndexes = new Map(layout.rows.map((row, index) => [row.id, index]));\n const columnIndexes = new Map(layout.columns.map((column, index) => [column.id, index]));\n const entries = cells.map((cell) => createSparseEntry(cell, rowIndexes, columnIndexes));\n const entriesByRow = groupEntries(entries, 'columnIndex');\n const entriesByColumn = groupEntries(entries, 'rowIndex');\n const orderedEntries = [...entries].sort(compareRowThenColumn);\n\n return {\n cellById: new Map(entries.map((entry) => [entry.id, entry.cell])),\n entries,\n entriesByColumn,\n entriesByRow,\n firstId: orderedEntries.at(0)?.id ?? null,\n positionById: new Map(entries.map((entry) => [entry.id, entry])),\n };\n}\n\n/*** Resolve validated matrix coordinates once without materializing every cell rectangle. */\nfunction createSparseEntry(\n cell: GridMatrixCell,\n rowIndexes: ReadonlyMap<string, number>,\n columnIndexes: ReadonlyMap<string, number>,\n): MatrixGridSparseIndexEntry {\n const rowIndex = rowIndexes.get(cell.rowId);\n const columnIndex = columnIndexes.get(cell.columnId);\n if (rowIndex === undefined || columnIndex === undefined) {\n throw new Error(`Matrix cell ${cell.id} references an unknown row or column.`);\n }\n return { cell, columnIndex, id: cell.id, rowIndex };\n}\n\n/*** Group and sort directional neighbours so arrow navigation is logarithmic within one axis. */\nfunction groupEntries(\n entries: readonly MatrixGridSparseIndexEntry[],\n axis: 'columnIndex' | 'rowIndex',\n): ReadonlyMap<number, readonly MatrixGridSparseIndexEntry[]> {\n const groups = new Map<number, MatrixGridSparseIndexEntry[]>();\n for (const entry of entries) {\n const groupKey = axis === 'columnIndex' ? entry.rowIndex : entry.columnIndex;\n const group = groups.get(groupKey) ?? [];\n group.push(entry);\n groups.set(groupKey, group);\n }\n return new Map(\n [...groups].map(([key, group]) => [\n key,\n group.sort((left, right) => compareAxisThenId(left, right, axis)),\n ]),\n );\n}\n\n/*** Keep the initial roving target deterministic even when sparse input arrives in arbitrary order. */\nfunction compareRowThenColumn(\n left: MatrixGridSparseIndexEntry,\n right: MatrixGridSparseIndexEntry,\n): number {\n return (\n left.rowIndex - right.rowIndex ||\n left.columnIndex - right.columnIndex ||\n left.id.localeCompare(right.id)\n );\n}\n\n/*** Sort a row or column by its navigated coordinate and stable identity. */\nfunction compareAxisThenId(\n left: MatrixGridSparseIndexEntry,\n right: MatrixGridSparseIndexEntry,\n axis: 'columnIndex' | 'rowIndex',\n): number {\n return (\n getAxisCoordinate(left, axis) - getAxisCoordinate(right, axis) ||\n left.id.localeCompare(right.id)\n );\n}\n\n/*** Read a selected coordinate without dynamically indexing an object. */\nfunction getAxisCoordinate(\n entry: MatrixGridSparseIndexEntry,\n axis: 'columnIndex' | 'rowIndex',\n): number {\n return axis === 'columnIndex' ? entry.columnIndex : entry.rowIndex;\n}\n\nexport type MatrixGridSparseIndex = Readonly<{\n cellById: ReadonlyMap<string, GridMatrixCell>;\n entries: readonly MatrixGridSparseIndexEntry[];\n entriesByColumn: ReadonlyMap<number, readonly MatrixGridSparseIndexEntry[]>;\n entriesByRow: ReadonlyMap<number, readonly MatrixGridSparseIndexEntry[]>;\n firstId: string | null;\n positionById: ReadonlyMap<string, MatrixGridSparseIndexEntry>;\n}>;\n\nexport type MatrixGridSparseIndexEntry = Readonly<{\n cell: GridMatrixCell;\n columnIndex: number;\n id: string;\n rowIndex: number;\n}>;\n"]}
@@ -0,0 +1,4 @@
1
+ import type { MatrixGridSparseIndex } from './createMatrixGridSparseIndex';
2
+ /*** Resolve arrow-key focus among existing sparse cells without inventing placeholder geometry. */
3
+ export declare function getMatrixGridNextFocusId(index: MatrixGridSparseIndex, currentId: string | null, key: string): string | null;
4
+ //# sourceMappingURL=getMatrixGridNextFocusId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMatrixGridNextFocusId.d.ts","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/getMatrixGridNextFocusId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,+BAA+B,CAAC;AAEvC,mGAAmG;AACnG,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAKf"}
@@ -0,0 +1,65 @@
1
+ /*** Resolve arrow-key focus among existing sparse cells without inventing placeholder geometry. */
2
+ export function getMatrixGridNextFocusId(index, currentId, key) {
3
+ const current = currentId === null ? undefined : index.positionById.get(currentId);
4
+ if (!current)
5
+ return index.firstId;
6
+ return resolveDirectionalCandidate(index, current, key)?.id ?? current.id;
7
+ }
8
+ /*** Find the closest existing sparse cell along the requested matrix axis. */
9
+ function resolveDirectionalCandidate(index, current, key) {
10
+ switch (key) {
11
+ case 'ArrowLeft':
12
+ return findDirectionalNeighbour(index.entriesByRow.get(current.rowIndex), current, 'columnIndex', -1);
13
+ case 'ArrowRight':
14
+ return findDirectionalNeighbour(index.entriesByRow.get(current.rowIndex), current, 'columnIndex', 1);
15
+ case 'ArrowUp':
16
+ return findDirectionalNeighbour(index.entriesByColumn.get(current.columnIndex), current, 'rowIndex', -1);
17
+ case 'ArrowDown':
18
+ return findDirectionalNeighbour(index.entriesByColumn.get(current.columnIndex), current, 'rowIndex', 1);
19
+ default:
20
+ return undefined;
21
+ }
22
+ }
23
+ /*** Read the nearest strictly directional neighbour from a pre-sorted sparse axis. */
24
+ function findDirectionalNeighbour(entries, current, axis, direction) {
25
+ if (!entries)
26
+ return undefined;
27
+ const coordinate = getAxisCoordinate(current, axis);
28
+ const insertionIndex = findFirstGreaterOrEqual(entries, coordinate, axis);
29
+ if (direction === -1)
30
+ return insertionIndex === 0 ? undefined : entries[insertionIndex - 1];
31
+ return entries[findFirstGreater(entries, coordinate, axis)];
32
+ }
33
+ /*** Locate the first entry strictly after a matrix coordinate in a sorted sparse axis. */
34
+ function findFirstGreater(entries, coordinate, axis) {
35
+ let lower = 0;
36
+ let upper = entries.length;
37
+ while (lower < upper) {
38
+ const middle = Math.floor((lower + upper) / 2);
39
+ const entry = entries.at(middle);
40
+ if (entry && getAxisCoordinate(entry, axis) <= coordinate)
41
+ lower = middle + 1;
42
+ else
43
+ upper = middle;
44
+ }
45
+ return lower;
46
+ }
47
+ /*** Locate the first index at or after a matrix coordinate in a sorted sparse axis. */
48
+ function findFirstGreaterOrEqual(entries, coordinate, axis) {
49
+ let lower = 0;
50
+ let upper = entries.length;
51
+ while (lower < upper) {
52
+ const middle = Math.floor((lower + upper) / 2);
53
+ const entry = entries.at(middle);
54
+ if (entry && getAxisCoordinate(entry, axis) < coordinate)
55
+ lower = middle + 1;
56
+ else
57
+ upper = middle;
58
+ }
59
+ return lower;
60
+ }
61
+ /*** Read a selected coordinate without dynamically indexing sparse entries. */
62
+ function getAxisCoordinate(entry, axis) {
63
+ return axis === 'columnIndex' ? entry.columnIndex : entry.rowIndex;
64
+ }
65
+ //# sourceMappingURL=getMatrixGridNextFocusId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMatrixGridNextFocusId.js","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/getMatrixGridNextFocusId.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n MatrixGridSparseIndex,\n MatrixGridSparseIndexEntry,\n} from './createMatrixGridSparseIndex';\n\n/*** Resolve arrow-key focus among existing sparse cells without inventing placeholder geometry. */\nexport function getMatrixGridNextFocusId(\n index: MatrixGridSparseIndex,\n currentId: string | null,\n key: string,\n): string | null {\n const current = currentId === null ? undefined : index.positionById.get(currentId);\n if (!current) return index.firstId;\n\n return resolveDirectionalCandidate(index, current, key)?.id ?? current.id;\n}\n\n/*** Find the closest existing sparse cell along the requested matrix axis. */\nfunction resolveDirectionalCandidate(\n index: MatrixGridSparseIndex,\n current: MatrixGridSparseIndexEntry,\n key: string,\n): MatrixGridSparseIndexEntry | undefined {\n switch (key) {\n case 'ArrowLeft':\n return findDirectionalNeighbour(\n index.entriesByRow.get(current.rowIndex),\n current,\n 'columnIndex',\n -1,\n );\n case 'ArrowRight':\n return findDirectionalNeighbour(\n index.entriesByRow.get(current.rowIndex),\n current,\n 'columnIndex',\n 1,\n );\n case 'ArrowUp':\n return findDirectionalNeighbour(\n index.entriesByColumn.get(current.columnIndex),\n current,\n 'rowIndex',\n -1,\n );\n case 'ArrowDown':\n return findDirectionalNeighbour(\n index.entriesByColumn.get(current.columnIndex),\n current,\n 'rowIndex',\n 1,\n );\n default:\n return undefined;\n }\n}\n\n/*** Read the nearest strictly directional neighbour from a pre-sorted sparse axis. */\nfunction findDirectionalNeighbour(\n entries: readonly MatrixGridSparseIndexEntry[] | undefined,\n current: MatrixGridSparseIndexEntry,\n axis: 'columnIndex' | 'rowIndex',\n direction: -1 | 1,\n): MatrixGridSparseIndexEntry | undefined {\n if (!entries) return undefined;\n const coordinate = getAxisCoordinate(current, axis);\n const insertionIndex = findFirstGreaterOrEqual(entries, coordinate, axis);\n if (direction === -1) return insertionIndex === 0 ? undefined : entries[insertionIndex - 1];\n return entries[findFirstGreater(entries, coordinate, axis)];\n}\n\n/*** Locate the first entry strictly after a matrix coordinate in a sorted sparse axis. */\nfunction findFirstGreater(\n entries: readonly MatrixGridSparseIndexEntry[],\n coordinate: number,\n axis: 'columnIndex' | 'rowIndex',\n): number {\n let lower = 0;\n let upper = entries.length;\n while (lower < upper) {\n const middle = Math.floor((lower + upper) / 2);\n const entry = entries.at(middle);\n if (entry && getAxisCoordinate(entry, axis) <= coordinate) lower = middle + 1;\n else upper = middle;\n }\n return lower;\n}\n\n/*** Locate the first index at or after a matrix coordinate in a sorted sparse axis. */\nfunction findFirstGreaterOrEqual(\n entries: readonly MatrixGridSparseIndexEntry[],\n coordinate: number,\n axis: 'columnIndex' | 'rowIndex',\n): number {\n let lower = 0;\n let upper = entries.length;\n while (lower < upper) {\n const middle = Math.floor((lower + upper) / 2);\n const entry = entries.at(middle);\n if (entry && getAxisCoordinate(entry, axis) < coordinate) lower = middle + 1;\n else upper = middle;\n }\n return lower;\n}\n\n/*** Read a selected coordinate without dynamically indexing sparse entries. */\nfunction getAxisCoordinate(\n entry: MatrixGridSparseIndexEntry,\n axis: 'columnIndex' | 'rowIndex',\n): number {\n return axis === 'columnIndex' ? entry.columnIndex : entry.rowIndex;\n}\n"]}
@@ -1,5 +1,12 @@
1
1
  import { type SelectionIntent } from '@ankhorage/utility/selection';
2
2
  import type { SelectionMode } from '../../../types/selection';
3
+ type MatrixGridSelectionIntent = SelectionIntent | 'range';
3
4
  /*** Apply ZORA's canonical selection intent while retaining the configured selection mode. */
4
- export declare function resolveMatrixGridSelection(selectedIds: readonly string[], cellId: string, intent: SelectionIntent, mode: SelectionMode): readonly string[];
5
+ export declare function resolveMatrixGridSelection(cells: readonly MatrixGridSelectionCell[], selectedIds: readonly string[], cellId: string, anchorId: string | null, intent: MatrixGridSelectionIntent, mode: SelectionMode): readonly string[];
6
+ type MatrixGridSelectionCell = Readonly<{
7
+ columnIndex: number;
8
+ id: string;
9
+ rowIndex: number;
10
+ }>;
11
+ export {};
5
12
  //# sourceMappingURL=resolveMatrixGridSelection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveMatrixGridSelection.d.ts","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/resolveMatrixGridSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,8FAA8F;AAC9F,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,aAAa,GAClB,SAAS,MAAM,EAAE,CAInB"}
1
+ {"version":3,"file":"resolveMatrixGridSelection.d.ts","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/resolveMatrixGridSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,KAAK,yBAAyB,GAAG,eAAe,GAAG,OAAO,CAAC;AAE3D,8FAA8F;AAC9F,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,uBAAuB,EAAE,EACzC,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,aAAa,GAClB,SAAS,MAAM,EAAE,CAiBnB;AAED,KAAK,uBAAuB,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC"}
@@ -1,8 +1,19 @@
1
1
  import { applySelectionIntent } from '@ankhorage/utility/selection';
2
2
  /*** Apply ZORA's canonical selection intent while retaining the configured selection mode. */
3
- export function resolveMatrixGridSelection(selectedIds, cellId, intent, mode) {
4
- return mode === 'single'
5
- ? applySelectionIntent(selectedIds, cellId, 'replace')
6
- : applySelectionIntent(selectedIds, cellId, intent);
3
+ export function resolveMatrixGridSelection(cells, selectedIds, cellId, anchorId, intent, mode) {
4
+ if (mode === 'single')
5
+ return applySelectionIntent(selectedIds, cellId, 'replace');
6
+ if (intent !== 'range')
7
+ return applySelectionIntent(selectedIds, cellId, intent);
8
+ const anchor = cells.find((cell) => cell.id === anchorId);
9
+ const target = cells.find((cell) => cell.id === cellId);
10
+ if (!anchor || !target)
11
+ return applySelectionIntent(selectedIds, cellId, 'replace');
12
+ return cells
13
+ .filter((cell) => cell.rowIndex >= Math.min(anchor.rowIndex, target.rowIndex) &&
14
+ cell.rowIndex <= Math.max(anchor.rowIndex, target.rowIndex) &&
15
+ cell.columnIndex >= Math.min(anchor.columnIndex, target.columnIndex) &&
16
+ cell.columnIndex <= Math.max(anchor.columnIndex, target.columnIndex))
17
+ .map((cell) => cell.id);
7
18
  }
8
19
  //# sourceMappingURL=resolveMatrixGridSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveMatrixGridSelection.js","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/resolveMatrixGridSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,8BAA8B,CAAC;AAI1F,8FAA8F;AAC9F,MAAM,UAAU,0BAA0B,CACxC,WAA8B,EAC9B,MAAc,EACd,MAAuB,EACvB,IAAmB;IAEnB,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC;QACtD,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import { applySelectionIntent, type SelectionIntent } from '@ankhorage/utility/selection';\n\nimport type { SelectionMode } from '../../../types/selection';\n\n/*** Apply ZORA's canonical selection intent while retaining the configured selection mode. */\nexport function resolveMatrixGridSelection(\n selectedIds: readonly string[],\n cellId: string,\n intent: SelectionIntent,\n mode: SelectionMode,\n): readonly string[] {\n return mode === 'single'\n ? applySelectionIntent(selectedIds, cellId, 'replace')\n : applySelectionIntent(selectedIds, cellId, intent);\n}\n"]}
1
+ {"version":3,"file":"resolveMatrixGridSelection.js","sourceRoot":"","sources":["../../../../src/features/matrix-grid/application/resolveMatrixGridSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,8BAA8B,CAAC;AAM1F,8FAA8F;AAC9F,MAAM,UAAU,0BAA0B,CACxC,KAAyC,EACzC,WAA8B,EAC9B,MAAc,EACd,QAAuB,EACvB,MAAiC,EACjC,IAAmB;IAEnB,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnF,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEpF,OAAO,KAAK;SACT,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC3D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC3D,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QACpE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CACvE;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["import { applySelectionIntent, type SelectionIntent } from '@ankhorage/utility/selection';\n\nimport type { SelectionMode } from '../../../types/selection';\n\ntype MatrixGridSelectionIntent = SelectionIntent | 'range';\n\n/*** Apply ZORA's canonical selection intent while retaining the configured selection mode. */\nexport function resolveMatrixGridSelection(\n cells: readonly MatrixGridSelectionCell[],\n selectedIds: readonly string[],\n cellId: string,\n anchorId: string | null,\n intent: MatrixGridSelectionIntent,\n mode: SelectionMode,\n): readonly string[] {\n if (mode === 'single') return applySelectionIntent(selectedIds, cellId, 'replace');\n if (intent !== 'range') return applySelectionIntent(selectedIds, cellId, intent);\n\n const anchor = cells.find((cell) => cell.id === anchorId);\n const target = cells.find((cell) => cell.id === cellId);\n if (!anchor || !target) return applySelectionIntent(selectedIds, cellId, 'replace');\n\n return cells\n .filter(\n (cell) =>\n cell.rowIndex >= Math.min(anchor.rowIndex, target.rowIndex) &&\n cell.rowIndex <= Math.max(anchor.rowIndex, target.rowIndex) &&\n cell.columnIndex >= Math.min(anchor.columnIndex, target.columnIndex) &&\n cell.columnIndex <= Math.max(anchor.columnIndex, target.columnIndex),\n )\n .map((cell) => cell.id);\n}\n\ntype MatrixGridSelectionCell = Readonly<{\n columnIndex: number;\n id: string;\n rowIndex: number;\n}>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ZORA_COMPONENT_REGISTRY.d.ts","sourceRoot":"","sources":["../../../src/features/registry/ZORA_COMPONENT_REGISTRY.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAuOlE,eAAO,MAAM,uBAAuB,EAAE,qBAAgD,CAAC"}
1
+ {"version":3,"file":"ZORA_COMPONENT_REGISTRY.d.ts","sourceRoot":"","sources":["../../../src/features/registry/ZORA_COMPONENT_REGISTRY.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAyOlE,eAAO,MAAM,uBAAuB,EAAE,qBAAgD,CAAC"}
@@ -28,6 +28,7 @@ import { Switch } from '../form/switch/public';
28
28
  import { TextInput } from '../form/text-input/public';
29
29
  import { Game, GameEntity, GameField, GameInputZone, GameMeasurementProbe, GameOverlay, } from '../game/public';
30
30
  import { Gradient } from '../gradient/public';
31
+ import { GridInteractions } from '../grid-interactions/public';
31
32
  import { GridLineOverlay, GridRuler } from '../grid-rulers/public';
32
33
  import { GridView, TileGrid } from '../grid-view/public';
33
34
  import { Hero } from '../hero/public';
@@ -151,6 +152,7 @@ const _ZORA_COMPONENT_REGISTRY = {
151
152
  FileExplorer,
152
153
  GridLineOverlay,
153
154
  GridRuler,
155
+ GridInteractions,
154
156
  GridView,
155
157
  TileGrid,
156
158
  TimeGrid,
@@ -1 +1 @@
1
- {"version":3,"file":"ZORA_COMPONENT_REGISTRY.js","sourceRoot":"","sources":["../../../src/features/registry/ZORA_COMPONENT_REGISTRY.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { ZoraComponentRegistry } from '../../types/registry';\nimport { Accordion, AccordionItem } from '../accordion/public';\nimport { ActivityIndicator } from '../activity-indicator/public';\nimport { AppBar } from '../app-bar/public';\nimport { AppHeader } from '../app-header/public';\nimport {\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n} from '../auth/public';\nimport { Avatar, AvatarGroup } from '../avatar/public';\nimport { Badge } from '../badge/public';\nimport { BottomSheet } from '../bottom-sheet/public';\nimport { Breadcrumbs } from '../breadcrumbs/public';\nimport { Button, ButtonGroup, IconButton } from '../button/public';\nimport { Card, MediaCard, MetricCard, PostCard, ProductCard } from '../card/public';\nimport { ChatListItem, MessageBubble } from '../chat/public';\nimport { ChessBoard, OpeningBook } from '../chess/public';\nimport { Chip, ChipGroup } from '../chip/public';\nimport { CollectionEditor } from '../collection-editor/public';\nimport { ContentRail } from '../content-rail/public';\nimport { DataTable } from '../data-table/public';\nimport { DatePicker } from '../date-picker/public';\nimport { Dialog } from '../dialog/public';\nimport { EmptyState } from '../empty-state/public';\nimport { Explorer, FileExplorer, MediaExplorer } from '../explorer/public';\nimport { Checkbox, CheckboxGroup } from '../form/checkbox/public';\nimport { Field, Form, FormActions, FormError } from '../form/public';\nimport { Radio, RadioGroup } from '../form/radio/public';\nimport { SearchInput } from '../form/search-input/public';\nimport { Select } from '../form/select/public';\nimport { Switch } from '../form/switch/public';\nimport { TextInput } from '../form/text-input/public';\nimport {\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n} from '../game/public';\nimport { Gradient } from '../gradient/public';\nimport { GridLineOverlay, GridRuler } from '../grid-rulers/public';\nimport { GridView, TileGrid } from '../grid-view/public';\nimport { Hero } from '../hero/public';\nimport { Icon } from '../icon/public';\nimport { Image } from '../image/public';\nimport { KeyboardAvoidingView } from '../keyboard-avoiding-view/public';\nimport { AppShell, Divider, Grid, Screen, ScrollView, View } from '../layout/public';\nimport { FlatList, List, ListItem, ListSection, SectionList } from '../list/public';\nimport { MatrixGrid } from '../matrix-grid/public';\nimport { MissingElement } from '../missing-element/public';\nimport { Pagination } from '../pagination/public';\nimport { PaletteItem } from '../palette-item/public';\nimport { PopoverMenu } from '../popover-menu/public';\nimport { Progress, ProgressRing } from '../progress/public';\nimport { Rating } from '../rating/public';\nimport { Reader } from '../reader/public';\nimport { BarcodeScannerView, CameraPermissionView, ScanOverlay } from '../scanner/public';\nimport { ScreenSection, SectionHeader } from '../section/public';\nimport { SelectableItem } from '../selection/public';\nimport { Skeleton, SkeletonCard, SkeletonList, SkeletonText } from '../skeleton/public';\nimport { SpatialGrid } from '../spatial-grid/public';\nimport { Surface } from '../surface/public';\nimport {\n CardBack,\n CardHand,\n PlayingCard,\n PokerTrainingTable,\n TabletopTable,\n} from '../tabletop/public';\nimport { Tab, TabList, TabPanel, Tabs } from '../tabs/public';\nimport { ThemeModeToggle } from '../theme/adapters/inbound/ThemeModeToggle';\nimport { TimeGrid } from '../time-grid/public';\nimport { TimePicker } from '../time-picker/public';\nimport { Timeline } from '../timeline/public';\nimport { Toast } from '../toast/public';\nimport { Toolbar } from '../toolbar/public';\nimport { TreeItem, TreeView } from '../tree-view/public';\nimport { Heading, Text } from '../typography/public';\nimport { Uploader } from '../uploader/public';\n\ntype ComponentPropsFor<K extends keyof typeof _ZORA_COMPONENT_REGISTRY> = React.ComponentProps<\n (typeof _ZORA_COMPONENT_REGISTRY)[K]\n>;\n\ntype AcceptsSurfaceInteractionPolicyProps<P> = 'interactionPolicy' extends keyof P\n ? InteractionPolicyProps extends Pick<P, 'interactionPolicy'>\n ? Pick<P, 'interactionPolicy'> extends InteractionPolicyProps\n ? true\n : false\n : false\n : false;\n\ntype RegistryInteractionPolicyContract = {\n [K in keyof typeof _ZORA_COMPONENT_REGISTRY]: AcceptsSurfaceInteractionPolicyProps<\n ComponentPropsFor<K>\n >;\n};\n\ntype _AssertTrue<T extends true> = T;\ntype _RegistryInteractionPolicyCheck = _AssertTrue<\n RegistryInteractionPolicyContract[keyof typeof _ZORA_COMPONENT_REGISTRY]\n>;\n\nconst _ZORA_COMPONENT_REGISTRY = {\n Accordion,\n AccordionItem,\n ActivityIndicator,\n AppBar,\n AppHeader,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Checkbox,\n CheckboxGroup,\n Chip,\n ChipGroup,\n DataTable,\n DatePicker,\n Dialog,\n Form,\n FormActions,\n FormError,\n Field,\n Gradient,\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n Heading,\n Icon,\n IconButton,\n Image,\n KeyboardAvoidingView,\n TextInput,\n MediaCard,\n MetricCard,\n Pagination,\n PopoverMenu,\n Progress,\n ProgressRing,\n Radio,\n RadioGroup,\n Rating,\n SearchInput,\n Select,\n Switch,\n Skeleton,\n SkeletonCard,\n SkeletonList,\n SkeletonText,\n Tab,\n TabList,\n TabPanel,\n Tabs,\n Text,\n TimePicker,\n Toast,\n Toolbar,\n Uploader,\n BottomSheet,\n FlatList,\n SectionList,\n ScrollView,\n View,\n ThemeModeToggle,\n Divider,\n Grid,\n Surface,\n AppShell,\n Screen,\n ScreenSection,\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n ChatListItem,\n ChessBoard,\n CollectionEditor,\n ContentRail,\n EmptyState,\n Explorer,\n FileExplorer,\n GridLineOverlay,\n GridRuler,\n GridView,\n TileGrid,\n TimeGrid,\n MatrixGrid,\n MediaExplorer,\n Hero,\n List,\n ListItem,\n ListSection,\n MessageBubble,\n OpeningBook,\n MissingElement,\n PostCard,\n ProductCard,\n Reader,\n BarcodeScannerView,\n CameraPermissionView,\n ScanOverlay,\n SectionHeader,\n SelectableItem,\n SpatialGrid,\n PaletteItem,\n CardBack,\n CardHand,\n PlayingCard,\n TabletopTable,\n PokerTrainingTable,\n Timeline,\n TreeItem,\n TreeView,\n} as const satisfies ZoraComponentRegistry;\n\nexport const ZORA_COMPONENT_REGISTRY: ZoraComponentRegistry = _ZORA_COMPONENT_REGISTRY;\n"]}
1
+ {"version":3,"file":"ZORA_COMPONENT_REGISTRY.js","sourceRoot":"","sources":["../../../src/features/registry/ZORA_COMPONENT_REGISTRY.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { ZoraComponentRegistry } from '../../types/registry';\nimport { Accordion, AccordionItem } from '../accordion/public';\nimport { ActivityIndicator } from '../activity-indicator/public';\nimport { AppBar } from '../app-bar/public';\nimport { AppHeader } from '../app-header/public';\nimport {\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n} from '../auth/public';\nimport { Avatar, AvatarGroup } from '../avatar/public';\nimport { Badge } from '../badge/public';\nimport { BottomSheet } from '../bottom-sheet/public';\nimport { Breadcrumbs } from '../breadcrumbs/public';\nimport { Button, ButtonGroup, IconButton } from '../button/public';\nimport { Card, MediaCard, MetricCard, PostCard, ProductCard } from '../card/public';\nimport { ChatListItem, MessageBubble } from '../chat/public';\nimport { ChessBoard, OpeningBook } from '../chess/public';\nimport { Chip, ChipGroup } from '../chip/public';\nimport { CollectionEditor } from '../collection-editor/public';\nimport { ContentRail } from '../content-rail/public';\nimport { DataTable } from '../data-table/public';\nimport { DatePicker } from '../date-picker/public';\nimport { Dialog } from '../dialog/public';\nimport { EmptyState } from '../empty-state/public';\nimport { Explorer, FileExplorer, MediaExplorer } from '../explorer/public';\nimport { Checkbox, CheckboxGroup } from '../form/checkbox/public';\nimport { Field, Form, FormActions, FormError } from '../form/public';\nimport { Radio, RadioGroup } from '../form/radio/public';\nimport { SearchInput } from '../form/search-input/public';\nimport { Select } from '../form/select/public';\nimport { Switch } from '../form/switch/public';\nimport { TextInput } from '../form/text-input/public';\nimport {\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n} from '../game/public';\nimport { Gradient } from '../gradient/public';\nimport { GridInteractions } from '../grid-interactions/public';\nimport { GridLineOverlay, GridRuler } from '../grid-rulers/public';\nimport { GridView, TileGrid } from '../grid-view/public';\nimport { Hero } from '../hero/public';\nimport { Icon } from '../icon/public';\nimport { Image } from '../image/public';\nimport { KeyboardAvoidingView } from '../keyboard-avoiding-view/public';\nimport { AppShell, Divider, Grid, Screen, ScrollView, View } from '../layout/public';\nimport { FlatList, List, ListItem, ListSection, SectionList } from '../list/public';\nimport { MatrixGrid } from '../matrix-grid/public';\nimport { MissingElement } from '../missing-element/public';\nimport { Pagination } from '../pagination/public';\nimport { PaletteItem } from '../palette-item/public';\nimport { PopoverMenu } from '../popover-menu/public';\nimport { Progress, ProgressRing } from '../progress/public';\nimport { Rating } from '../rating/public';\nimport { Reader } from '../reader/public';\nimport { BarcodeScannerView, CameraPermissionView, ScanOverlay } from '../scanner/public';\nimport { ScreenSection, SectionHeader } from '../section/public';\nimport { SelectableItem } from '../selection/public';\nimport { Skeleton, SkeletonCard, SkeletonList, SkeletonText } from '../skeleton/public';\nimport { SpatialGrid } from '../spatial-grid/public';\nimport { Surface } from '../surface/public';\nimport {\n CardBack,\n CardHand,\n PlayingCard,\n PokerTrainingTable,\n TabletopTable,\n} from '../tabletop/public';\nimport { Tab, TabList, TabPanel, Tabs } from '../tabs/public';\nimport { ThemeModeToggle } from '../theme/adapters/inbound/ThemeModeToggle';\nimport { TimeGrid } from '../time-grid/public';\nimport { TimePicker } from '../time-picker/public';\nimport { Timeline } from '../timeline/public';\nimport { Toast } from '../toast/public';\nimport { Toolbar } from '../toolbar/public';\nimport { TreeItem, TreeView } from '../tree-view/public';\nimport { Heading, Text } from '../typography/public';\nimport { Uploader } from '../uploader/public';\n\ntype ComponentPropsFor<K extends keyof typeof _ZORA_COMPONENT_REGISTRY> = React.ComponentProps<\n (typeof _ZORA_COMPONENT_REGISTRY)[K]\n>;\n\ntype AcceptsSurfaceInteractionPolicyProps<P> = 'interactionPolicy' extends keyof P\n ? InteractionPolicyProps extends Pick<P, 'interactionPolicy'>\n ? Pick<P, 'interactionPolicy'> extends InteractionPolicyProps\n ? true\n : false\n : false\n : false;\n\ntype RegistryInteractionPolicyContract = {\n [K in keyof typeof _ZORA_COMPONENT_REGISTRY]: AcceptsSurfaceInteractionPolicyProps<\n ComponentPropsFor<K>\n >;\n};\n\ntype _AssertTrue<T extends true> = T;\ntype _RegistryInteractionPolicyCheck = _AssertTrue<\n RegistryInteractionPolicyContract[keyof typeof _ZORA_COMPONENT_REGISTRY]\n>;\n\nconst _ZORA_COMPONENT_REGISTRY = {\n Accordion,\n AccordionItem,\n ActivityIndicator,\n AppBar,\n AppHeader,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Checkbox,\n CheckboxGroup,\n Chip,\n ChipGroup,\n DataTable,\n DatePicker,\n Dialog,\n Form,\n FormActions,\n FormError,\n Field,\n Gradient,\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n Heading,\n Icon,\n IconButton,\n Image,\n KeyboardAvoidingView,\n TextInput,\n MediaCard,\n MetricCard,\n Pagination,\n PopoverMenu,\n Progress,\n ProgressRing,\n Radio,\n RadioGroup,\n Rating,\n SearchInput,\n Select,\n Switch,\n Skeleton,\n SkeletonCard,\n SkeletonList,\n SkeletonText,\n Tab,\n TabList,\n TabPanel,\n Tabs,\n Text,\n TimePicker,\n Toast,\n Toolbar,\n Uploader,\n BottomSheet,\n FlatList,\n SectionList,\n ScrollView,\n View,\n ThemeModeToggle,\n Divider,\n Grid,\n Surface,\n AppShell,\n Screen,\n ScreenSection,\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n ChatListItem,\n ChessBoard,\n CollectionEditor,\n ContentRail,\n EmptyState,\n Explorer,\n FileExplorer,\n GridLineOverlay,\n GridRuler,\n GridInteractions,\n GridView,\n TileGrid,\n TimeGrid,\n MatrixGrid,\n MediaExplorer,\n Hero,\n List,\n ListItem,\n ListSection,\n MessageBubble,\n OpeningBook,\n MissingElement,\n PostCard,\n ProductCard,\n Reader,\n BarcodeScannerView,\n CameraPermissionView,\n ScanOverlay,\n SectionHeader,\n SelectableItem,\n SpatialGrid,\n PaletteItem,\n CardBack,\n CardHand,\n PlayingCard,\n TabletopTable,\n PokerTrainingTable,\n Timeline,\n TreeItem,\n TreeView,\n} as const satisfies ZoraComponentRegistry;\n\nexport const ZORA_COMPONENT_REGISTRY: ZoraComponentRegistry = _ZORA_COMPONENT_REGISTRY;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"componentMeta.d.ts","sourceRoot":"","sources":["../../../src/features/registry/componentMeta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAkHvE,eAAO,MAAM,mBAAmB,EAAE,yBA0HhC,CAAC"}
1
+ {"version":3,"file":"componentMeta.d.ts","sourceRoot":"","sources":["../../../src/features/registry/componentMeta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAmHvE,eAAO,MAAM,mBAAmB,EAAE,yBA2HhC,CAAC"}
@@ -52,6 +52,7 @@ import { gameMeasurementProbeMeta } from '../game/meta/gameMeasurementProbeMeta'
52
52
  import { gameMeta } from '../game/meta/gameMeta';
53
53
  import { gameOverlayMeta } from '../game/meta/gameOverlayMeta';
54
54
  import { gradientMeta } from '../gradient/gradientMeta';
55
+ import { gridInteractionsMeta } from '../grid-interactions/meta';
55
56
  import { gridLineOverlayMeta, gridRulerMeta } from '../grid-rulers/meta';
56
57
  import { gridViewMeta, tileGridMeta } from '../grid-view/meta';
57
58
  import { heroMeta } from '../hero/heroMeta';
@@ -191,6 +192,7 @@ export const ZORA_COMPONENT_META = finalizeFeatureMetadata({
191
192
  MediaExplorer: mediaExplorerMeta,
192
193
  GridLineOverlay: gridLineOverlayMeta,
193
194
  GridRuler: gridRulerMeta,
195
+ GridInteractions: gridInteractionsMeta,
194
196
  GridView: gridViewMeta,
195
197
  TileGrid: tileGridMeta,
196
198
  TimeGrid: timeGridMeta,
@@ -1 +1 @@
1
- {"version":3,"file":"componentMeta.js","sourceRoot":"","sources":["../../../src/features/registry/componentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ZoraComponentMetaRegistry } from '../../types/authoring';\nimport { accordionItemMeta } from '../accordion/accordionItemMeta';\nimport { accordionMeta } from '../accordion/accordionMeta';\nimport { activityIndicatorMeta } from '../activity-indicator/activityIndicatorMeta';\nimport { appBarMeta } from '../app-bar/appBarMeta';\nimport { appHeaderMeta } from '../app-header/appHeaderMeta';\nimport { authScreenMeta } from '../auth/authScreenMeta';\nimport { forgotPasswordFormMeta } from '../auth/forgotPasswordFormMeta';\nimport { oauthProviderButtonMeta } from '../auth/oauthProviderButtonMeta';\nimport { oauthProviderListMeta } from '../auth/oauthProviderListMeta';\nimport { otpFormMeta } from '../auth/otpFormMeta';\nimport { signInFormMeta } from '../auth/signInFormMeta';\nimport { signUpFormMeta } from '../auth/signUpFormMeta';\nimport { avatarGroupMeta } from '../avatar/avatarGroupMeta';\nimport { avatarMeta } from '../avatar/avatarMeta';\nimport { badgeMeta } from '../badge/badgeMeta';\nimport { bottomSheetMeta } from '../bottom-sheet/bottomSheetMeta';\nimport { breadcrumbsMeta } from '../breadcrumbs/breadcrumbsMeta';\nimport { buttonGroupMeta } from '../button/buttonGroupMeta';\nimport { buttonMeta } from '../button/buttonMeta';\nimport { iconButtonMeta } from '../button/iconButtonMeta';\nimport { cardMeta } from '../card/cardMeta';\nimport { mediaCardMeta } from '../card/mediaCardMeta';\nimport { metricCardMeta } from '../card/metricCardMeta';\nimport { postCardMeta } from '../card/postCardMeta';\nimport { productCardMeta } from '../card/productCardMeta';\nimport { chatListItemMeta } from '../chat/chatListItemMeta';\nimport { messageBubbleMeta } from '../chat/messageBubbleMeta';\nimport { chessBoardMeta, openingBookMeta } from '../chess/meta';\nimport { chipGroupMeta } from '../chip/chipGroupMeta';\nimport { chipMeta } from '../chip/chipMeta';\nimport { collectionEditorMeta } from '../collection-editor/meta';\nimport { contentRailMeta } from '../content-rail/contentRailMeta';\nimport { dataTableMeta } from '../data-table/dataTableMeta';\nimport { datePickerMeta } from '../date-picker/datePickerMeta';\nimport { dialogMeta } from '../dialog/dialogMeta';\nimport { emptyStateMeta } from '../empty-state/emptyStateMeta';\nimport { explorerMeta, fileExplorerMeta, mediaExplorerMeta } from '../explorer/meta';\nimport { checkboxGroupMeta, checkboxMeta } from '../form/checkbox/checkboxMeta';\nimport { fieldMeta } from '../form/field/meta';\nimport { formActionsMeta } from '../form/formActionsMeta';\nimport { formErrorMeta } from '../form/formErrorMeta';\nimport { formMeta } from '../form/formMeta';\nimport { radioGroupMeta, radioMeta } from '../form/radio/radioMeta';\nimport { searchInputMeta } from '../form/search-input/searchInputMeta';\nimport { selectMeta } from '../form/select/selectMeta';\nimport { switchMeta } from '../form/switch/switchMeta';\nimport { textInputMeta } from '../form/text-input/textInputMeta';\nimport { gameEntityMeta } from '../game/meta/gameEntityMeta';\nimport { gameFieldMeta } from '../game/meta/gameFieldMeta';\nimport { gameInputZoneMeta } from '../game/meta/gameInputZoneMeta';\nimport { gameMeasurementProbeMeta } from '../game/meta/gameMeasurementProbeMeta';\nimport { gameMeta } from '../game/meta/gameMeta';\nimport { gameOverlayMeta } from '../game/meta/gameOverlayMeta';\nimport { gradientMeta } from '../gradient/gradientMeta';\nimport { gridLineOverlayMeta, gridRulerMeta } from '../grid-rulers/meta';\nimport { gridViewMeta, tileGridMeta } from '../grid-view/meta';\nimport { heroMeta } from '../hero/heroMeta';\nimport { iconMeta } from '../icon/iconMeta';\nimport { imageMeta } from '../image/imageMeta';\nimport { keyboardAvoidingViewMeta } from '../keyboard-avoiding-view/keyboardAvoidingViewMeta';\nimport { appShellMeta } from '../layout/appShellMeta';\nimport { dividerMeta } from '../layout/dividerMeta';\nimport { gridMeta } from '../layout/gridMeta';\nimport { screenMeta } from '../layout/screenMeta';\nimport { scrollViewMeta } from '../layout/scrollViewMeta';\nimport { viewMeta } from '../layout/viewMeta';\nimport { flatListMeta } from '../list/flatListMeta';\nimport { listItemMeta, listMeta, listSectionMeta } from '../list/meta';\nimport { sectionListMeta } from '../list/sectionListMeta';\nimport { matrixGridMeta } from '../matrix-grid/meta';\nimport { missingElementMeta } from '../missing-element/missingElementMeta';\nimport { paginationMeta } from '../pagination/paginationMeta';\nimport { paletteItemMeta } from '../palette-item/paletteItemMeta';\nimport { popoverMenuMeta } from '../popover-menu/popoverMenuMeta';\nimport { progressMeta, progressRingMeta } from '../progress/progressMeta';\nimport { ratingMeta } from '../rating/ratingMeta';\nimport { readerMeta } from '../reader/meta';\nimport { barcodeScannerViewMeta, cameraPermissionViewMeta, scanOverlayMeta } from '../scanner/meta';\nimport { screenSectionMeta } from '../section/screenSectionMeta';\nimport { sectionHeaderMeta } from '../section/sectionHeaderMeta';\nimport { selectableItemMeta, selectionProviderMeta } from '../selection/meta';\nimport {\n skeletonCardMeta,\n skeletonListMeta,\n skeletonMeta,\n skeletonTextMeta,\n} from '../skeleton/skeletonMeta';\nimport { spatialGridMeta } from '../spatial-grid/meta';\nimport { surfaceMeta } from '../surface/surfaceMeta';\nimport {\n cardBackMeta,\n cardHandMeta,\n playingCardMeta,\n pokerTrainingTableMeta,\n tabletopTableMeta,\n} from '../tabletop/meta';\nimport { tabListMeta } from '../tabs/tabListMeta';\nimport { tabMeta } from '../tabs/tabMeta';\nimport { tabPanelMeta } from '../tabs/tabPanelMeta';\nimport { tabsMeta } from '../tabs/tabsMeta';\nimport { themeModeToggleMeta } from '../theme/ThemeModeToggle.meta';\nimport { timeGridMeta } from '../time-grid/meta';\nimport { timePickerMeta } from '../time-picker/timePickerMeta';\nimport { timelineMeta } from '../timeline/meta';\nimport { toastMeta } from '../toast/toastMeta';\nimport { toastProviderMeta } from '../toast/toastProviderMeta';\nimport { toolbarMeta } from '../toolbar/toolbarMeta';\nimport { treeItemMeta, treeViewMeta } from '../tree-view/meta';\nimport { headingMeta } from '../typography/headingMeta';\nimport { textMeta } from '../typography/textMeta';\nimport { uploaderMeta } from '../uploader/uploaderMeta';\nimport { finalizeFeatureMetadata } from './finalizeFeatureMetadata';\n\nexport const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMetadata({\n Accordion: accordionMeta,\n AccordionItem: accordionItemMeta,\n ActivityIndicator: activityIndicatorMeta,\n View: viewMeta,\n ScrollView: scrollViewMeta,\n Grid: gridMeta,\n Divider: dividerMeta,\n Surface: surfaceMeta,\n AppBar: appBarMeta,\n AppHeader: appHeaderMeta,\n Avatar: avatarMeta,\n AvatarGroup: avatarGroupMeta,\n Badge: badgeMeta,\n Breadcrumbs: breadcrumbsMeta,\n Button: buttonMeta,\n ButtonGroup: buttonGroupMeta,\n Card: cardMeta,\n Checkbox: checkboxMeta,\n CheckboxGroup: checkboxGroupMeta,\n Chip: chipMeta,\n ChipGroup: chipGroupMeta,\n DataTable: dataTableMeta,\n DatePicker: datePickerMeta,\n Dialog: dialogMeta,\n Form: formMeta,\n FormActions: formActionsMeta,\n FormError: formErrorMeta,\n Field: fieldMeta,\n Gradient: gradientMeta,\n Game: gameMeta,\n GameField: gameFieldMeta,\n GameEntity: gameEntityMeta,\n GameInputZone: gameInputZoneMeta,\n GameMeasurementProbe: gameMeasurementProbeMeta,\n GameOverlay: gameOverlayMeta,\n Heading: headingMeta,\n Icon: iconMeta,\n IconButton: iconButtonMeta,\n Image: imageMeta,\n KeyboardAvoidingView: keyboardAvoidingViewMeta,\n TextInput: textInputMeta,\n MediaCard: mediaCardMeta,\n MetricCard: metricCardMeta,\n Pagination: paginationMeta,\n PopoverMenu: popoverMenuMeta,\n Progress: progressMeta,\n ProgressRing: progressRingMeta,\n Radio: radioMeta,\n RadioGroup: radioGroupMeta,\n Rating: ratingMeta,\n SearchInput: searchInputMeta,\n Select: selectMeta,\n Switch: switchMeta,\n Skeleton: skeletonMeta,\n SkeletonCard: skeletonCardMeta,\n SkeletonList: skeletonListMeta,\n SkeletonText: skeletonTextMeta,\n Tab: tabMeta,\n TabList: tabListMeta,\n TabPanel: tabPanelMeta,\n Tabs: tabsMeta,\n Text: textMeta,\n TimePicker: timePickerMeta,\n Toast: toastMeta,\n ToastProvider: toastProviderMeta,\n Toolbar: toolbarMeta,\n Uploader: uploaderMeta,\n BottomSheet: bottomSheetMeta,\n FlatList: flatListMeta,\n SectionList: sectionListMeta,\n ThemeModeToggle: themeModeToggleMeta,\n AppShell: appShellMeta,\n Screen: screenMeta,\n ScreenSection: screenSectionMeta,\n AuthScreen: authScreenMeta,\n ForgotPasswordForm: forgotPasswordFormMeta,\n OAuthProviderButton: oauthProviderButtonMeta,\n OAuthProviderList: oauthProviderListMeta,\n OtpForm: otpFormMeta,\n SignInForm: signInFormMeta,\n SignUpForm: signUpFormMeta,\n ChatListItem: chatListItemMeta,\n ChessBoard: chessBoardMeta,\n CollectionEditor: collectionEditorMeta,\n ContentRail: contentRailMeta,\n EmptyState: emptyStateMeta,\n Explorer: explorerMeta,\n FileExplorer: fileExplorerMeta,\n MediaExplorer: mediaExplorerMeta,\n GridLineOverlay: gridLineOverlayMeta,\n GridRuler: gridRulerMeta,\n GridView: gridViewMeta,\n TileGrid: tileGridMeta,\n TimeGrid: timeGridMeta,\n MatrixGrid: matrixGridMeta,\n Hero: heroMeta,\n List: listMeta,\n ListItem: listItemMeta,\n ListSection: listSectionMeta,\n MessageBubble: messageBubbleMeta,\n OpeningBook: openingBookMeta,\n MissingElement: missingElementMeta,\n PostCard: postCardMeta,\n ProductCard: productCardMeta,\n Reader: readerMeta,\n BarcodeScannerView: barcodeScannerViewMeta,\n CameraPermissionView: cameraPermissionViewMeta,\n ScanOverlay: scanOverlayMeta,\n SectionHeader: sectionHeaderMeta,\n SelectableItem: selectableItemMeta,\n SpatialGrid: spatialGridMeta,\n SelectionProvider: selectionProviderMeta,\n PaletteItem: paletteItemMeta,\n Timeline: timelineMeta,\n CardBack: cardBackMeta,\n CardHand: cardHandMeta,\n PlayingCard: playingCardMeta,\n TabletopTable: tabletopTableMeta,\n PokerTrainingTable: pokerTrainingTableMeta,\n TreeItem: treeItemMeta,\n TreeView: treeViewMeta,\n});\n"]}
1
+ {"version":3,"file":"componentMeta.js","sourceRoot":"","sources":["../../../src/features/registry/componentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ZoraComponentMetaRegistry } from '../../types/authoring';\nimport { accordionItemMeta } from '../accordion/accordionItemMeta';\nimport { accordionMeta } from '../accordion/accordionMeta';\nimport { activityIndicatorMeta } from '../activity-indicator/activityIndicatorMeta';\nimport { appBarMeta } from '../app-bar/appBarMeta';\nimport { appHeaderMeta } from '../app-header/appHeaderMeta';\nimport { authScreenMeta } from '../auth/authScreenMeta';\nimport { forgotPasswordFormMeta } from '../auth/forgotPasswordFormMeta';\nimport { oauthProviderButtonMeta } from '../auth/oauthProviderButtonMeta';\nimport { oauthProviderListMeta } from '../auth/oauthProviderListMeta';\nimport { otpFormMeta } from '../auth/otpFormMeta';\nimport { signInFormMeta } from '../auth/signInFormMeta';\nimport { signUpFormMeta } from '../auth/signUpFormMeta';\nimport { avatarGroupMeta } from '../avatar/avatarGroupMeta';\nimport { avatarMeta } from '../avatar/avatarMeta';\nimport { badgeMeta } from '../badge/badgeMeta';\nimport { bottomSheetMeta } from '../bottom-sheet/bottomSheetMeta';\nimport { breadcrumbsMeta } from '../breadcrumbs/breadcrumbsMeta';\nimport { buttonGroupMeta } from '../button/buttonGroupMeta';\nimport { buttonMeta } from '../button/buttonMeta';\nimport { iconButtonMeta } from '../button/iconButtonMeta';\nimport { cardMeta } from '../card/cardMeta';\nimport { mediaCardMeta } from '../card/mediaCardMeta';\nimport { metricCardMeta } from '../card/metricCardMeta';\nimport { postCardMeta } from '../card/postCardMeta';\nimport { productCardMeta } from '../card/productCardMeta';\nimport { chatListItemMeta } from '../chat/chatListItemMeta';\nimport { messageBubbleMeta } from '../chat/messageBubbleMeta';\nimport { chessBoardMeta, openingBookMeta } from '../chess/meta';\nimport { chipGroupMeta } from '../chip/chipGroupMeta';\nimport { chipMeta } from '../chip/chipMeta';\nimport { collectionEditorMeta } from '../collection-editor/meta';\nimport { contentRailMeta } from '../content-rail/contentRailMeta';\nimport { dataTableMeta } from '../data-table/dataTableMeta';\nimport { datePickerMeta } from '../date-picker/datePickerMeta';\nimport { dialogMeta } from '../dialog/dialogMeta';\nimport { emptyStateMeta } from '../empty-state/emptyStateMeta';\nimport { explorerMeta, fileExplorerMeta, mediaExplorerMeta } from '../explorer/meta';\nimport { checkboxGroupMeta, checkboxMeta } from '../form/checkbox/checkboxMeta';\nimport { fieldMeta } from '../form/field/meta';\nimport { formActionsMeta } from '../form/formActionsMeta';\nimport { formErrorMeta } from '../form/formErrorMeta';\nimport { formMeta } from '../form/formMeta';\nimport { radioGroupMeta, radioMeta } from '../form/radio/radioMeta';\nimport { searchInputMeta } from '../form/search-input/searchInputMeta';\nimport { selectMeta } from '../form/select/selectMeta';\nimport { switchMeta } from '../form/switch/switchMeta';\nimport { textInputMeta } from '../form/text-input/textInputMeta';\nimport { gameEntityMeta } from '../game/meta/gameEntityMeta';\nimport { gameFieldMeta } from '../game/meta/gameFieldMeta';\nimport { gameInputZoneMeta } from '../game/meta/gameInputZoneMeta';\nimport { gameMeasurementProbeMeta } from '../game/meta/gameMeasurementProbeMeta';\nimport { gameMeta } from '../game/meta/gameMeta';\nimport { gameOverlayMeta } from '../game/meta/gameOverlayMeta';\nimport { gradientMeta } from '../gradient/gradientMeta';\nimport { gridInteractionsMeta } from '../grid-interactions/meta';\nimport { gridLineOverlayMeta, gridRulerMeta } from '../grid-rulers/meta';\nimport { gridViewMeta, tileGridMeta } from '../grid-view/meta';\nimport { heroMeta } from '../hero/heroMeta';\nimport { iconMeta } from '../icon/iconMeta';\nimport { imageMeta } from '../image/imageMeta';\nimport { keyboardAvoidingViewMeta } from '../keyboard-avoiding-view/keyboardAvoidingViewMeta';\nimport { appShellMeta } from '../layout/appShellMeta';\nimport { dividerMeta } from '../layout/dividerMeta';\nimport { gridMeta } from '../layout/gridMeta';\nimport { screenMeta } from '../layout/screenMeta';\nimport { scrollViewMeta } from '../layout/scrollViewMeta';\nimport { viewMeta } from '../layout/viewMeta';\nimport { flatListMeta } from '../list/flatListMeta';\nimport { listItemMeta, listMeta, listSectionMeta } from '../list/meta';\nimport { sectionListMeta } from '../list/sectionListMeta';\nimport { matrixGridMeta } from '../matrix-grid/meta';\nimport { missingElementMeta } from '../missing-element/missingElementMeta';\nimport { paginationMeta } from '../pagination/paginationMeta';\nimport { paletteItemMeta } from '../palette-item/paletteItemMeta';\nimport { popoverMenuMeta } from '../popover-menu/popoverMenuMeta';\nimport { progressMeta, progressRingMeta } from '../progress/progressMeta';\nimport { ratingMeta } from '../rating/ratingMeta';\nimport { readerMeta } from '../reader/meta';\nimport { barcodeScannerViewMeta, cameraPermissionViewMeta, scanOverlayMeta } from '../scanner/meta';\nimport { screenSectionMeta } from '../section/screenSectionMeta';\nimport { sectionHeaderMeta } from '../section/sectionHeaderMeta';\nimport { selectableItemMeta, selectionProviderMeta } from '../selection/meta';\nimport {\n skeletonCardMeta,\n skeletonListMeta,\n skeletonMeta,\n skeletonTextMeta,\n} from '../skeleton/skeletonMeta';\nimport { spatialGridMeta } from '../spatial-grid/meta';\nimport { surfaceMeta } from '../surface/surfaceMeta';\nimport {\n cardBackMeta,\n cardHandMeta,\n playingCardMeta,\n pokerTrainingTableMeta,\n tabletopTableMeta,\n} from '../tabletop/meta';\nimport { tabListMeta } from '../tabs/tabListMeta';\nimport { tabMeta } from '../tabs/tabMeta';\nimport { tabPanelMeta } from '../tabs/tabPanelMeta';\nimport { tabsMeta } from '../tabs/tabsMeta';\nimport { themeModeToggleMeta } from '../theme/ThemeModeToggle.meta';\nimport { timeGridMeta } from '../time-grid/meta';\nimport { timePickerMeta } from '../time-picker/timePickerMeta';\nimport { timelineMeta } from '../timeline/meta';\nimport { toastMeta } from '../toast/toastMeta';\nimport { toastProviderMeta } from '../toast/toastProviderMeta';\nimport { toolbarMeta } from '../toolbar/toolbarMeta';\nimport { treeItemMeta, treeViewMeta } from '../tree-view/meta';\nimport { headingMeta } from '../typography/headingMeta';\nimport { textMeta } from '../typography/textMeta';\nimport { uploaderMeta } from '../uploader/uploaderMeta';\nimport { finalizeFeatureMetadata } from './finalizeFeatureMetadata';\n\nexport const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMetadata({\n Accordion: accordionMeta,\n AccordionItem: accordionItemMeta,\n ActivityIndicator: activityIndicatorMeta,\n View: viewMeta,\n ScrollView: scrollViewMeta,\n Grid: gridMeta,\n Divider: dividerMeta,\n Surface: surfaceMeta,\n AppBar: appBarMeta,\n AppHeader: appHeaderMeta,\n Avatar: avatarMeta,\n AvatarGroup: avatarGroupMeta,\n Badge: badgeMeta,\n Breadcrumbs: breadcrumbsMeta,\n Button: buttonMeta,\n ButtonGroup: buttonGroupMeta,\n Card: cardMeta,\n Checkbox: checkboxMeta,\n CheckboxGroup: checkboxGroupMeta,\n Chip: chipMeta,\n ChipGroup: chipGroupMeta,\n DataTable: dataTableMeta,\n DatePicker: datePickerMeta,\n Dialog: dialogMeta,\n Form: formMeta,\n FormActions: formActionsMeta,\n FormError: formErrorMeta,\n Field: fieldMeta,\n Gradient: gradientMeta,\n Game: gameMeta,\n GameField: gameFieldMeta,\n GameEntity: gameEntityMeta,\n GameInputZone: gameInputZoneMeta,\n GameMeasurementProbe: gameMeasurementProbeMeta,\n GameOverlay: gameOverlayMeta,\n Heading: headingMeta,\n Icon: iconMeta,\n IconButton: iconButtonMeta,\n Image: imageMeta,\n KeyboardAvoidingView: keyboardAvoidingViewMeta,\n TextInput: textInputMeta,\n MediaCard: mediaCardMeta,\n MetricCard: metricCardMeta,\n Pagination: paginationMeta,\n PopoverMenu: popoverMenuMeta,\n Progress: progressMeta,\n ProgressRing: progressRingMeta,\n Radio: radioMeta,\n RadioGroup: radioGroupMeta,\n Rating: ratingMeta,\n SearchInput: searchInputMeta,\n Select: selectMeta,\n Switch: switchMeta,\n Skeleton: skeletonMeta,\n SkeletonCard: skeletonCardMeta,\n SkeletonList: skeletonListMeta,\n SkeletonText: skeletonTextMeta,\n Tab: tabMeta,\n TabList: tabListMeta,\n TabPanel: tabPanelMeta,\n Tabs: tabsMeta,\n Text: textMeta,\n TimePicker: timePickerMeta,\n Toast: toastMeta,\n ToastProvider: toastProviderMeta,\n Toolbar: toolbarMeta,\n Uploader: uploaderMeta,\n BottomSheet: bottomSheetMeta,\n FlatList: flatListMeta,\n SectionList: sectionListMeta,\n ThemeModeToggle: themeModeToggleMeta,\n AppShell: appShellMeta,\n Screen: screenMeta,\n ScreenSection: screenSectionMeta,\n AuthScreen: authScreenMeta,\n ForgotPasswordForm: forgotPasswordFormMeta,\n OAuthProviderButton: oauthProviderButtonMeta,\n OAuthProviderList: oauthProviderListMeta,\n OtpForm: otpFormMeta,\n SignInForm: signInFormMeta,\n SignUpForm: signUpFormMeta,\n ChatListItem: chatListItemMeta,\n ChessBoard: chessBoardMeta,\n CollectionEditor: collectionEditorMeta,\n ContentRail: contentRailMeta,\n EmptyState: emptyStateMeta,\n Explorer: explorerMeta,\n FileExplorer: fileExplorerMeta,\n MediaExplorer: mediaExplorerMeta,\n GridLineOverlay: gridLineOverlayMeta,\n GridRuler: gridRulerMeta,\n GridInteractions: gridInteractionsMeta,\n GridView: gridViewMeta,\n TileGrid: tileGridMeta,\n TimeGrid: timeGridMeta,\n MatrixGrid: matrixGridMeta,\n Hero: heroMeta,\n List: listMeta,\n ListItem: listItemMeta,\n ListSection: listSectionMeta,\n MessageBubble: messageBubbleMeta,\n OpeningBook: openingBookMeta,\n MissingElement: missingElementMeta,\n PostCard: postCardMeta,\n ProductCard: productCardMeta,\n Reader: readerMeta,\n BarcodeScannerView: barcodeScannerViewMeta,\n CameraPermissionView: cameraPermissionViewMeta,\n ScanOverlay: scanOverlayMeta,\n SectionHeader: sectionHeaderMeta,\n SelectableItem: selectableItemMeta,\n SpatialGrid: spatialGridMeta,\n SelectionProvider: selectionProviderMeta,\n PaletteItem: paletteItemMeta,\n Timeline: timelineMeta,\n CardBack: cardBackMeta,\n CardHand: cardHandMeta,\n PlayingCard: playingCardMeta,\n TabletopTable: tabletopTableMeta,\n PokerTrainingTable: pokerTrainingTableMeta,\n TreeItem: treeItemMeta,\n TreeView: treeViewMeta,\n});\n"]}
@@ -0,0 +1,4 @@
1
+ import type { Capability } from '@ankhorage/contracts/capability';
2
+ /*** Projects direct-manifest ZORA event metadata into unique portable event capabilities. */
3
+ export declare function createEventCapabilities(): readonly Capability[];
4
+ //# sourceMappingURL=createEventCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createEventCapabilities.d.ts","sourceRoot":"","sources":["../../../src/features/registry/createEventCapabilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AASlE,6FAA6F;AAC7F,wBAAgB,uBAAuB,IAAI,SAAS,UAAU,EAAE,CAU/D"}
@@ -0,0 +1,76 @@
1
+ import { areCapabilitiesEqual, isCapabilityId } from '@ankhorage/capability';
2
+ import { ZORA_COMPONENT_META } from './componentMeta';
3
+ /*** Projects direct-manifest ZORA event metadata into unique portable event capabilities. */
4
+ export function createEventCapabilities() {
5
+ const capabilitiesById = Object.values(ZORA_COMPONENT_META)
6
+ .filter((component) => component.directManifestNode)
7
+ .flatMap((component) => Object.values(component.events ?? {}))
8
+ .reduce((capabilities, event) => addEventCapability(capabilities, event), new Map());
9
+ return [...capabilitiesById.values()].sort((left, right) => left.id.localeCompare(right.id));
10
+ }
11
+ /*** Adds one namespaced metadata event while rejecting conflicting duplicate identities. */
12
+ function addEventCapability(capabilities, event) {
13
+ if (!isCapabilityId(event.eventType))
14
+ return capabilities;
15
+ const capability = createEventCapability(event);
16
+ const existing = capabilities.get(capability.id);
17
+ if (existing !== undefined && !areCapabilitiesEqual(existing, capability)) {
18
+ throw new Error(`ZORA event metadata defines conflicting capability "${capability.id}".`);
19
+ }
20
+ return new Map([...capabilities, [capability.id, capability]]);
21
+ }
22
+ /*** Converts one emitted component event into its serializable canonical descriptor. */
23
+ function createEventCapability(event) {
24
+ if (!isCapabilityId(event.eventType)) {
25
+ throw new Error(`ZORA event metadata must use a namespaced capability id: "${event.eventType}".`);
26
+ }
27
+ return {
28
+ id: event.eventType,
29
+ owner: '@ankhorage/zora',
30
+ access: ['emit'],
31
+ binding: { kind: 'event', bindableAs: ['source'] },
32
+ label: event.label,
33
+ ...(event.description === undefined ? {} : { description: event.description }),
34
+ output: { schema: createEventPayloadSchema(event.payloadFields ?? []) },
35
+ };
36
+ }
37
+ /*** Projects the documented event payload fields into an open object schema. */
38
+ function createEventPayloadSchema(fields) {
39
+ return {
40
+ type: 'object',
41
+ properties: fields.reduce(addPayloadField, {}),
42
+ };
43
+ }
44
+ /*** Adds one dotted metadata path to an immutable object-schema property map. */
45
+ function addPayloadField(properties, field) {
46
+ return addPayloadFieldAtPath(properties, field.path.split('.'), createPayloadFieldSchema(field));
47
+ }
48
+ /*** Recursively embeds a leaf schema below its documented object-property path. */
49
+ function addPayloadFieldAtPath(properties, path, schema) {
50
+ const [key, ...remainingPath] = path;
51
+ if (key === undefined || key === '')
52
+ return properties;
53
+ if (remainingPath.length === 0)
54
+ return { ...properties, [key]: schema };
55
+ const current = Object.entries(properties).find(([propertyKey]) => propertyKey === key)?.[1];
56
+ const nestedProperties = addPayloadFieldAtPath(current?.properties ?? {}, remainingPath, schema);
57
+ return {
58
+ ...properties,
59
+ [key]: { ...current, type: 'object', properties: nestedProperties },
60
+ };
61
+ }
62
+ /*** Maps one authoring payload-field type and annotations to its portable data schema. */
63
+ function createPayloadFieldSchema(field) {
64
+ return {
65
+ ...(field.type === 'object'
66
+ ? { type: 'object' }
67
+ : field.type === 'record'
68
+ ? { type: 'object', additionalProperties: true }
69
+ : field.type === 'unknown'
70
+ ? {}
71
+ : { type: field.type }),
72
+ ...(field.label === undefined ? {} : { title: field.label }),
73
+ ...(field.description === undefined ? {} : { description: field.description }),
74
+ };
75
+ }
76
+ //# sourceMappingURL=createEventCapabilities.js.map