@ankhorage/zora 25.6.2 → 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 (295) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/dist/capabilities/index.js +13 -1
  4. package/dist/capabilities/index.js.map +5 -4
  5. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.d.ts +5 -0
  6. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.d.ts.map +1 -0
  7. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.js +40 -0
  8. package/dist/features/grid-interactions/adapters/inbound/GridInteractions.js.map +1 -0
  9. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.d.ts +2 -0
  10. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.d.ts.map +1 -0
  11. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.js +2 -0
  12. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.js.map +1 -0
  13. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.d.ts +11 -0
  14. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.d.ts.map +1 -0
  15. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.js +5 -0
  16. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.js.map +1 -0
  17. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.d.ts +11 -0
  18. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.d.ts.map +1 -0
  19. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.js +20 -0
  20. package/dist/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.js.map +1 -0
  21. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.d.ts +17 -0
  22. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.d.ts.map +1 -0
  23. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.js +76 -0
  24. package/dist/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.js.map +1 -0
  25. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.d.ts +21 -0
  26. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.d.ts.map +1 -0
  27. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.js +20 -0
  28. package/dist/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.js.map +1 -0
  29. package/dist/features/grid-interactions/application/createGridInteractionsController.d.ts +4 -0
  30. package/dist/features/grid-interactions/application/createGridInteractionsController.d.ts.map +1 -0
  31. package/dist/features/grid-interactions/application/createGridInteractionsController.js +191 -0
  32. package/dist/features/grid-interactions/application/createGridInteractionsController.js.map +1 -0
  33. package/dist/features/grid-interactions/meta.d.ts +11 -0
  34. package/dist/features/grid-interactions/meta.d.ts.map +1 -0
  35. package/dist/features/grid-interactions/meta.js +11 -0
  36. package/dist/features/grid-interactions/meta.js.map +1 -0
  37. package/dist/features/grid-interactions/public.d.ts +4 -0
  38. package/dist/features/grid-interactions/public.d.ts.map +1 -0
  39. package/dist/features/grid-interactions/public.js +3 -0
  40. package/dist/features/grid-interactions/public.js.map +1 -0
  41. package/dist/features/matrix-grid/adapters/inbound/MatrixGrid.d.ts.map +1 -1
  42. package/dist/features/matrix-grid/adapters/inbound/MatrixGrid.js +73 -19
  43. package/dist/features/matrix-grid/adapters/inbound/MatrixGrid.js.map +1 -1
  44. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.d.ts +9 -0
  45. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.d.ts.map +1 -0
  46. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.js +5 -0
  47. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.js.map +1 -0
  48. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.d.ts +9 -0
  49. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.d.ts.map +1 -0
  50. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.js +5 -0
  51. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.js.map +1 -0
  52. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.d.ts +9 -0
  53. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.d.ts.map +1 -0
  54. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.js +28 -0
  55. package/dist/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.js.map +1 -0
  56. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.d.ts +14 -0
  57. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.d.ts.map +1 -0
  58. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.js +50 -0
  59. package/dist/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.js.map +1 -0
  60. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.d.ts +18 -0
  61. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.d.ts.map +1 -0
  62. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.js +56 -0
  63. package/dist/features/matrix-grid/application/createMatrixGridSparseIndex.js.map +1 -0
  64. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.d.ts +4 -0
  65. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.d.ts.map +1 -0
  66. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.js +65 -0
  67. package/dist/features/matrix-grid/application/getMatrixGridNextFocusId.js.map +1 -0
  68. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.d.ts +8 -1
  69. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.d.ts.map +1 -1
  70. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.js +15 -4
  71. package/dist/features/matrix-grid/application/resolveMatrixGridSelection.js.map +1 -1
  72. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -1
  73. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +2 -0
  74. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
  75. package/dist/features/registry/componentMeta.d.ts.map +1 -1
  76. package/dist/features/registry/componentMeta.js +2 -0
  77. package/dist/features/registry/componentMeta.js.map +1 -1
  78. package/dist/index.d.ts +1 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +1 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/types/grid-interactions.d.ts +58 -0
  83. package/dist/types/grid-interactions.d.ts.map +1 -0
  84. package/dist/types/grid-interactions.js +2 -0
  85. package/dist/types/grid-interactions.js.map +1 -0
  86. package/dist/types/matrix-grid.d.ts +2 -0
  87. package/dist/types/matrix-grid.d.ts.map +1 -1
  88. package/dist/types/matrix-grid.js.map +1 -1
  89. package/package.json +5 -5
  90. package/src/features/grid-interactions/adapters/inbound/GridInteractions.test.tsx +143 -0
  91. package/src/features/grid-interactions/adapters/inbound/GridInteractions.tsx +79 -0
  92. package/src/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.native.tsx +14 -0
  93. package/src/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.tsx +1 -0
  94. package/src/features/grid-interactions/adapters/inbound/GridInteractionsKeyboardProxy.web.tsx +41 -0
  95. package/src/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.test.ts +98 -0
  96. package/src/features/grid-interactions/adapters/inbound/createGridInteractionsPointerQueue.ts +94 -0
  97. package/src/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.test.ts +33 -0
  98. package/src/features/grid-interactions/adapters/inbound/resolveGridInteractionPointer.ts +45 -0
  99. package/src/features/grid-interactions/application/createGridInteractionsController.test.ts +115 -0
  100. package/src/features/grid-interactions/application/createGridInteractionsController.ts +231 -0
  101. package/src/features/grid-interactions/meta.ts +12 -0
  102. package/src/features/grid-interactions/public.ts +11 -0
  103. package/src/features/matrix-grid/adapters/inbound/MatrixGrid.test.tsx +280 -2
  104. package/src/features/matrix-grid/adapters/inbound/MatrixGrid.tsx +121 -31
  105. package/src/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.native.tsx +11 -0
  106. package/src/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.tsx +11 -0
  107. package/src/features/matrix-grid/adapters/inbound/MatrixGridKeyboardProxy.web.tsx +43 -0
  108. package/src/features/matrix-grid/adapters/inbound/useMatrixGridKeyboardFocus.ts +70 -0
  109. package/src/features/matrix-grid/application/createMatrixGridSparseIndex.test.ts +35 -0
  110. package/src/features/matrix-grid/application/createMatrixGridSparseIndex.ts +105 -0
  111. package/src/features/matrix-grid/application/getMatrixGridNextFocusId.test.ts +93 -0
  112. package/src/features/matrix-grid/application/getMatrixGridNextFocusId.ts +112 -0
  113. package/src/features/matrix-grid/application/resolveMatrixGridSelection.test.ts +63 -2
  114. package/src/features/matrix-grid/application/resolveMatrixGridSelection.ts +27 -4
  115. package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +2 -0
  116. package/src/features/registry/componentMeta.ts +2 -0
  117. package/src/index.ts +11 -0
  118. package/src/types/grid-interactions.ts +72 -0
  119. package/src/types/matrix-grid.ts +2 -0
  120. package/web-dist/chunks/{Accordion-5g05kfmx.js → Accordion-0q2wzjdd.js} +4 -4
  121. package/web-dist/chunks/{Accordion-b96evb46.js → Accordion-1fsrnq73.js} +1 -1
  122. package/web-dist/chunks/{Accordion-h3y8qev2.js → Accordion-38ts3gnn.js} +2 -2
  123. package/web-dist/chunks/{Accordion-jnc315h7.js → Accordion-8pkw32q9.js} +2 -2
  124. package/web-dist/chunks/{Accordion-h7zsx9eg.js → Accordion-9jrxktne.js} +3 -3
  125. package/web-dist/chunks/{Accordion-9w8wg9mf.js → Accordion-9rnsg9pk.js} +1 -1
  126. package/web-dist/chunks/{Accordion-4zqd7twp.js → Accordion-9ygakvwk.js} +5 -5
  127. package/web-dist/chunks/{Accordion-fhnazn3n.js → Accordion-b74j4hdt.js} +1 -1
  128. package/web-dist/chunks/{Accordion-nssr5gep.js → Accordion-c50pywj3.js} +2 -2
  129. package/web-dist/chunks/{Accordion-pvj5npzc.js → Accordion-ddrn94v3.js} +3 -3
  130. package/web-dist/chunks/{Accordion-090y18cv.js → Accordion-dk0dtyc0.js} +3 -3
  131. package/web-dist/chunks/{Accordion-59pa0677.js → Accordion-fcczvwgg.js} +0 -1
  132. package/web-dist/chunks/{Accordion-sp4k08kw.js → Accordion-geah5s4f.js} +4 -4
  133. package/web-dist/chunks/{Accordion-6rrqpb2h.js → Accordion-h4ekm5cp.js} +2 -2
  134. package/web-dist/chunks/{Accordion-3d4wkzg7.js → Accordion-hecpczme.js} +5 -5
  135. package/web-dist/chunks/{Accordion-a6551mh4.js → Accordion-hn43wt45.js} +1 -1
  136. package/web-dist/chunks/{Accordion-sw7ep29d.js → Accordion-hnx7hx55.js} +2 -2
  137. package/web-dist/chunks/{Accordion-rsvphbe4.js → Accordion-j1chy29e.js} +1 -1
  138. package/web-dist/chunks/{Accordion-ewf1zen9.js → Accordion-k9cxpg08.js} +5 -5
  139. package/web-dist/chunks/{Accordion-5df6cgyf.js → Accordion-md1g54wg.js} +1 -1
  140. package/web-dist/chunks/{Accordion-kjtcbe09.js → Accordion-p1ebrt17.js} +3 -3
  141. package/web-dist/chunks/{Accordion-qn398m1x.js → Accordion-r2g18vxa.js} +1 -1
  142. package/web-dist/chunks/{Accordion-zt9yghdz.js → Accordion-rctfgyfv.js} +4 -4
  143. package/web-dist/chunks/{Accordion-88t8fgxv.js → Accordion-rfc5mdbv.js} +1 -1
  144. package/web-dist/chunks/{Accordion-fmzxat3v.js → Accordion-sdnzqktc.js} +4 -4
  145. package/web-dist/chunks/{Accordion-v0grdh6q.js → Accordion-sq7ya2ye.js} +2 -2
  146. package/web-dist/chunks/{Accordion-ejx5gcf9.js → Accordion-t5scffdr.js} +9 -9
  147. package/web-dist/chunks/{Accordion-sy1cc5my.js → Accordion-ts788t7b.js} +3 -3
  148. package/web-dist/chunks/{Accordion-4s68t3h7.js → Accordion-v3rzy273.js} +6 -6
  149. package/web-dist/chunks/{Accordion-7tjz25jh.js → Accordion-vbzjq3z8.js} +1 -1
  150. package/web-dist/chunks/{Accordion-jh72azm2.js → Accordion-vg337250.js} +2 -2
  151. package/web-dist/chunks/{Accordion-42jfy1a1.js → Accordion-vj1m2wck.js} +1 -1
  152. package/web-dist/chunks/{Accordion-tqpsmdrk.js → Accordion-vxg5sw01.js} +4 -4
  153. package/web-dist/chunks/{Accordion-61ntvh14.js → Accordion-w59y0jdf.js} +4 -4
  154. package/web-dist/chunks/{Accordion-fjxcn6g9.js → Accordion-wcmrasqx.js} +8 -8
  155. package/web-dist/chunks/{Accordion-r1cj2w9e.js → Accordion-wpk8dxqp.js} +3 -3
  156. package/web-dist/chunks/{Accordion-w6qedeba.js → Accordion-x055n3b3.js} +1 -1
  157. package/web-dist/chunks/{Accordion-dbf93gxh.js → Accordion-xcm1qc39.js} +1 -1
  158. package/web-dist/chunks/{Accordion-7kq500r1.js → Accordion-xgxxg1hz.js} +1 -1
  159. package/web-dist/chunks/{Accordion-a4cma5b6.js → Accordion-y3083394.js} +3 -3
  160. package/web-dist/chunks/{Accordion-40tenzcg.js → Accordion-yexfbrzg.js} +4 -4
  161. package/web-dist/chunks/{Accordion-2r0gqk3x.js → Accordion-ztw7zp6v.js} +5 -5
  162. package/web-dist/chunks/{Accordion-bz04casa.js → Accordion-zypyr9xw.js} +211 -6
  163. package/web-dist/components/accordion/Accordion.js +5 -5
  164. package/web-dist/components/accordion-item/AccordionItem.js +5 -5
  165. package/web-dist/components/activity-indicator/ActivityIndicator.js +1 -1
  166. package/web-dist/components/app-bar/AppBar.js +7 -7
  167. package/web-dist/components/app-header/AppHeader.js +7 -7
  168. package/web-dist/components/app-shell/AppShell.js +2 -2
  169. package/web-dist/components/auth-screen/AuthScreen.js +10 -10
  170. package/web-dist/components/avatar/Avatar.js +5 -5
  171. package/web-dist/components/avatar-group/AvatarGroup.js +5 -5
  172. package/web-dist/components/badge/Badge.js +2 -2
  173. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +10 -10
  174. package/web-dist/components/bottom-sheet/BottomSheet.js +3 -3
  175. package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +3 -3
  176. package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +3 -3
  177. package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +3 -3
  178. package/web-dist/components/bottom-sheet-view/BottomSheetView.js +3 -3
  179. package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +3 -3
  180. package/web-dist/components/breadcrumbs/Breadcrumbs.js +5 -5
  181. package/web-dist/components/button/Button.js +3 -3
  182. package/web-dist/components/button-group/ButtonGroup.js +3 -3
  183. package/web-dist/components/camera-permission-view/CameraPermissionView.js +10 -10
  184. package/web-dist/components/card/Card.js +9 -9
  185. package/web-dist/components/card-back/CardBack.js +2 -2
  186. package/web-dist/components/card-hand/CardHand.js +2 -2
  187. package/web-dist/components/chat-list-item/ChatListItem.js +7 -7
  188. package/web-dist/components/checkbox/Checkbox.js +4 -4
  189. package/web-dist/components/checkbox-group/CheckboxGroup.js +4 -4
  190. package/web-dist/components/chess-board/ChessBoard.js +2 -2
  191. package/web-dist/components/chip/Chip.js +5 -5
  192. package/web-dist/components/chip-group/ChipGroup.js +5 -5
  193. package/web-dist/components/collection-editor/CollectionEditor.js +9 -9
  194. package/web-dist/components/content-rail/ContentRail.js +4 -4
  195. package/web-dist/components/data-table/DataTable.js +14 -14
  196. package/web-dist/components/date-picker/DatePicker.js +5 -5
  197. package/web-dist/components/dialog/Dialog.js +4 -4
  198. package/web-dist/components/divider/Divider.js +2 -2
  199. package/web-dist/components/empty-state/EmptyState.js +10 -10
  200. package/web-dist/components/explorer/Explorer.js +7 -7
  201. package/web-dist/components/field/Field.js +4 -4
  202. package/web-dist/components/file-explorer/FileExplorer.js +7 -7
  203. package/web-dist/components/flat-list/FlatList.js +5 -5
  204. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +10 -10
  205. package/web-dist/components/form/Form.js +6 -6
  206. package/web-dist/components/form-actions/FormActions.js +6 -6
  207. package/web-dist/components/form-error/FormError.js +6 -6
  208. package/web-dist/components/game/Game.js +3 -3
  209. package/web-dist/components/game-entity/GameEntity.js +3 -3
  210. package/web-dist/components/game-field/GameField.js +3 -3
  211. package/web-dist/components/game-input-zone/GameInputZone.js +3 -3
  212. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +3 -3
  213. package/web-dist/components/game-overlay/GameOverlay.js +3 -3
  214. package/web-dist/components/gradient/Gradient.js +3 -3
  215. package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +3 -3
  216. package/web-dist/components/graph-view/GraphView.js +2 -2
  217. package/web-dist/components/grid/Grid.js +2 -2
  218. package/web-dist/components/grid-interactions/GridInteractions.d.ts +3 -0
  219. package/web-dist/components/grid-interactions/GridInteractions.js +371 -0
  220. package/web-dist/components/grid-interactions/index.d.ts +1 -0
  221. package/web-dist/components/grid-interactions/index.js +2 -0
  222. package/web-dist/components/grid-line-overlay/GridLineOverlay.js +2 -2
  223. package/web-dist/components/grid-ruler/GridRuler.js +2 -2
  224. package/web-dist/components/grid-view/GridView.js +1 -1
  225. package/web-dist/components/heading/Heading.js +2 -2
  226. package/web-dist/components/hero/Hero.js +9 -9
  227. package/web-dist/components/icon/Icon.js +2 -2
  228. package/web-dist/components/icon-button/IconButton.js +3 -3
  229. package/web-dist/components/image/Image.js +4 -4
  230. package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +2 -2
  231. package/web-dist/components/list/List.js +5 -5
  232. package/web-dist/components/list-item/ListItem.js +5 -5
  233. package/web-dist/components/list-section/ListSection.js +5 -5
  234. package/web-dist/components/matrix-grid/MatrixGrid.js +296 -47
  235. package/web-dist/components/media-card/MediaCard.js +9 -9
  236. package/web-dist/components/media-explorer/MediaExplorer.js +7 -7
  237. package/web-dist/components/message-bubble/MessageBubble.js +7 -7
  238. package/web-dist/components/metric-card/MetricCard.js +9 -9
  239. package/web-dist/components/missing-element/MissingElement.js +4 -4
  240. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +10 -10
  241. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +10 -10
  242. package/web-dist/components/opening-book/OpeningBook.js +2 -2
  243. package/web-dist/components/otp-form/OtpForm.js +10 -10
  244. package/web-dist/components/pagination/Pagination.js +4 -4
  245. package/web-dist/components/palette-item/PaletteItem.js +9 -9
  246. package/web-dist/components/playing-card/PlayingCard.js +2 -2
  247. package/web-dist/components/poker-training-table/PokerTrainingTable.js +2 -2
  248. package/web-dist/components/popover-menu/PopoverMenu.js +4 -4
  249. package/web-dist/components/post-card/PostCard.js +9 -9
  250. package/web-dist/components/product-card/ProductCard.js +9 -9
  251. package/web-dist/components/progress/Progress.js +4 -4
  252. package/web-dist/components/progress-ring/ProgressRing.js +4 -4
  253. package/web-dist/components/radio/Radio.js +5 -5
  254. package/web-dist/components/radio-group/RadioGroup.js +5 -5
  255. package/web-dist/components/rating/Rating.js +3 -3
  256. package/web-dist/components/reader/Reader.js +10 -10
  257. package/web-dist/components/scan-overlay/ScanOverlay.js +10 -10
  258. package/web-dist/components/screen/Screen.js +2 -2
  259. package/web-dist/components/screen-section/ScreenSection.js +4 -4
  260. package/web-dist/components/scroll-view/ScrollView.js +2 -2
  261. package/web-dist/components/search-input/SearchInput.js +4 -4
  262. package/web-dist/components/section-header/SectionHeader.js +4 -4
  263. package/web-dist/components/section-list/SectionList.js +5 -5
  264. package/web-dist/components/select/Select.js +4 -4
  265. package/web-dist/components/selectable-item/SelectableItem.js +2 -2
  266. package/web-dist/components/selection-provider/SelectionProvider.js +2 -2
  267. package/web-dist/components/sign-in-form/SignInForm.js +10 -10
  268. package/web-dist/components/sign-up-form/SignUpForm.js +10 -10
  269. package/web-dist/components/skeleton/Skeleton.js +12 -12
  270. package/web-dist/components/skeleton-card/SkeletonCard.js +12 -12
  271. package/web-dist/components/skeleton-list/SkeletonList.js +12 -12
  272. package/web-dist/components/skeleton-text/SkeletonText.js +12 -12
  273. package/web-dist/components/spatial-grid/SpatialGrid.js +1 -1
  274. package/web-dist/components/surface/Surface.js +2 -2
  275. package/web-dist/components/switch/Switch.js +1 -1
  276. package/web-dist/components/tab/Tab.js +2 -2
  277. package/web-dist/components/tab-list/TabList.js +2 -2
  278. package/web-dist/components/tab-panel/TabPanel.js +2 -2
  279. package/web-dist/components/tabletop-table/TabletopTable.js +2 -2
  280. package/web-dist/components/tabs/Tabs.js +2 -2
  281. package/web-dist/components/text/Text.js +2 -2
  282. package/web-dist/components/text-input/TextInput.js +4 -4
  283. package/web-dist/components/tile-grid/TileGrid.js +1 -1
  284. package/web-dist/components/time-grid/TimeGrid.js +2 -2
  285. package/web-dist/components/time-picker/TimePicker.js +5 -5
  286. package/web-dist/components/timeline/Timeline.js +4 -4
  287. package/web-dist/components/toast/Toast.js +2 -2
  288. package/web-dist/components/toast-provider/ToastProvider.js +2 -2
  289. package/web-dist/components/toolbar/Toolbar.js +9 -9
  290. package/web-dist/components/tree-item/TreeItem.js +9 -9
  291. package/web-dist/components/tree-view/TreeView.js +1 -1
  292. package/web-dist/components/uploader/Uploader.js +12 -12
  293. package/web-dist/components/view/View.js +2 -2
  294. package/web-dist/manifest.json +787 -772
  295. package/web-dist/runtime/ZoraProvider.js +3 -3
@@ -0,0 +1,112 @@
1
+ import type {
2
+ MatrixGridSparseIndex,
3
+ MatrixGridSparseIndexEntry,
4
+ } from './createMatrixGridSparseIndex';
5
+
6
+ /*** Resolve arrow-key focus among existing sparse cells without inventing placeholder geometry. */
7
+ export function getMatrixGridNextFocusId(
8
+ index: MatrixGridSparseIndex,
9
+ currentId: string | null,
10
+ key: string,
11
+ ): string | null {
12
+ const current = currentId === null ? undefined : index.positionById.get(currentId);
13
+ if (!current) return index.firstId;
14
+
15
+ return resolveDirectionalCandidate(index, current, key)?.id ?? current.id;
16
+ }
17
+
18
+ /*** Find the closest existing sparse cell along the requested matrix axis. */
19
+ function resolveDirectionalCandidate(
20
+ index: MatrixGridSparseIndex,
21
+ current: MatrixGridSparseIndexEntry,
22
+ key: string,
23
+ ): MatrixGridSparseIndexEntry | undefined {
24
+ switch (key) {
25
+ case 'ArrowLeft':
26
+ return findDirectionalNeighbour(
27
+ index.entriesByRow.get(current.rowIndex),
28
+ current,
29
+ 'columnIndex',
30
+ -1,
31
+ );
32
+ case 'ArrowRight':
33
+ return findDirectionalNeighbour(
34
+ index.entriesByRow.get(current.rowIndex),
35
+ current,
36
+ 'columnIndex',
37
+ 1,
38
+ );
39
+ case 'ArrowUp':
40
+ return findDirectionalNeighbour(
41
+ index.entriesByColumn.get(current.columnIndex),
42
+ current,
43
+ 'rowIndex',
44
+ -1,
45
+ );
46
+ case 'ArrowDown':
47
+ return findDirectionalNeighbour(
48
+ index.entriesByColumn.get(current.columnIndex),
49
+ current,
50
+ 'rowIndex',
51
+ 1,
52
+ );
53
+ default:
54
+ return undefined;
55
+ }
56
+ }
57
+
58
+ /*** Read the nearest strictly directional neighbour from a pre-sorted sparse axis. */
59
+ function findDirectionalNeighbour(
60
+ entries: readonly MatrixGridSparseIndexEntry[] | undefined,
61
+ current: MatrixGridSparseIndexEntry,
62
+ axis: 'columnIndex' | 'rowIndex',
63
+ direction: -1 | 1,
64
+ ): MatrixGridSparseIndexEntry | undefined {
65
+ if (!entries) return undefined;
66
+ const coordinate = getAxisCoordinate(current, axis);
67
+ const insertionIndex = findFirstGreaterOrEqual(entries, coordinate, axis);
68
+ if (direction === -1) return insertionIndex === 0 ? undefined : entries[insertionIndex - 1];
69
+ return entries[findFirstGreater(entries, coordinate, axis)];
70
+ }
71
+
72
+ /*** Locate the first entry strictly after a matrix coordinate in a sorted sparse axis. */
73
+ function findFirstGreater(
74
+ entries: readonly MatrixGridSparseIndexEntry[],
75
+ coordinate: number,
76
+ axis: 'columnIndex' | 'rowIndex',
77
+ ): number {
78
+ let lower = 0;
79
+ let upper = entries.length;
80
+ while (lower < upper) {
81
+ const middle = Math.floor((lower + upper) / 2);
82
+ const entry = entries.at(middle);
83
+ if (entry && getAxisCoordinate(entry, axis) <= coordinate) lower = middle + 1;
84
+ else upper = middle;
85
+ }
86
+ return lower;
87
+ }
88
+
89
+ /*** Locate the first index at or after a matrix coordinate in a sorted sparse axis. */
90
+ function findFirstGreaterOrEqual(
91
+ entries: readonly MatrixGridSparseIndexEntry[],
92
+ coordinate: number,
93
+ axis: 'columnIndex' | 'rowIndex',
94
+ ): number {
95
+ let lower = 0;
96
+ let upper = entries.length;
97
+ while (lower < upper) {
98
+ const middle = Math.floor((lower + upper) / 2);
99
+ const entry = entries.at(middle);
100
+ if (entry && getAxisCoordinate(entry, axis) < coordinate) lower = middle + 1;
101
+ else upper = middle;
102
+ }
103
+ return lower;
104
+ }
105
+
106
+ /*** Read a selected coordinate without dynamically indexing sparse entries. */
107
+ function getAxisCoordinate(
108
+ entry: MatrixGridSparseIndexEntry,
109
+ axis: 'columnIndex' | 'rowIndex',
110
+ ): number {
111
+ return axis === 'columnIndex' ? entry.columnIndex : entry.rowIndex;
112
+ }
@@ -2,9 +2,70 @@ import { describe, expect, test } from 'bun:test';
2
2
 
3
3
  import { resolveMatrixGridSelection } from './resolveMatrixGridSelection';
4
4
 
5
+ const cells = [
6
+ {
7
+ columnId: 'a',
8
+ columnIndex: 0,
9
+ height: 1,
10
+ id: 'a1',
11
+ rowId: '1',
12
+ rowIndex: 0,
13
+ width: 1,
14
+ x: 0,
15
+ y: 0,
16
+ },
17
+ {
18
+ columnId: 'b',
19
+ columnIndex: 1,
20
+ height: 1,
21
+ id: 'b1',
22
+ rowId: '1',
23
+ rowIndex: 0,
24
+ width: 1,
25
+ x: 1,
26
+ y: 0,
27
+ },
28
+ {
29
+ columnId: 'a',
30
+ columnIndex: 0,
31
+ height: 1,
32
+ id: 'a2',
33
+ rowId: '2',
34
+ rowIndex: 1,
35
+ width: 1,
36
+ x: 0,
37
+ y: 1,
38
+ },
39
+ {
40
+ columnId: 'b',
41
+ columnIndex: 1,
42
+ height: 1,
43
+ id: 'b2',
44
+ rowId: '2',
45
+ rowIndex: 1,
46
+ width: 1,
47
+ x: 1,
48
+ y: 1,
49
+ },
50
+ ] as const;
51
+
5
52
  describe('resolveMatrixGridSelection', () => {
6
53
  test('preserves the canonical single and multi selection intent rules', () => {
7
- expect(resolveMatrixGridSelection(['a'], 'b', 'toggle', 'single')).toEqual(['b']);
8
- expect(resolveMatrixGridSelection(['a'], 'b', 'toggle', 'multi')).toEqual(['a', 'b']);
54
+ expect(resolveMatrixGridSelection(cells, ['a1'], 'b1', 'a1', 'toggle', 'single')).toEqual([
55
+ 'b1',
56
+ ]);
57
+ expect(resolveMatrixGridSelection(cells, ['a1'], 'b1', 'a1', 'toggle', 'multi')).toEqual([
58
+ 'a1',
59
+ 'b1',
60
+ ]);
61
+ });
62
+
63
+ test('uses the selection contract for a sparse rectangular shift range', () => {
64
+ expect(resolveMatrixGridSelection(cells, ['a1'], 'b2', 'a1', 'range', 'multi')).toEqual([
65
+ 'a1',
66
+ 'b1',
67
+ 'a2',
68
+ 'b2',
69
+ ]);
9
70
  });
10
71
  });
@@ -2,14 +2,37 @@ import { applySelectionIntent, type SelectionIntent } from '@ankhorage/utility/s
2
2
 
3
3
  import type { SelectionMode } from '../../../types/selection';
4
4
 
5
+ type MatrixGridSelectionIntent = SelectionIntent | 'range';
6
+
5
7
  /*** Apply ZORA's canonical selection intent while retaining the configured selection mode. */
6
8
  export function resolveMatrixGridSelection(
9
+ cells: readonly MatrixGridSelectionCell[],
7
10
  selectedIds: readonly string[],
8
11
  cellId: string,
9
- intent: SelectionIntent,
12
+ anchorId: string | null,
13
+ intent: MatrixGridSelectionIntent,
10
14
  mode: SelectionMode,
11
15
  ): readonly string[] {
12
- return mode === 'single'
13
- ? applySelectionIntent(selectedIds, cellId, 'replace')
14
- : applySelectionIntent(selectedIds, cellId, intent);
16
+ if (mode === 'single') return applySelectionIntent(selectedIds, cellId, 'replace');
17
+ if (intent !== 'range') return applySelectionIntent(selectedIds, cellId, intent);
18
+
19
+ const anchor = cells.find((cell) => cell.id === anchorId);
20
+ const target = cells.find((cell) => cell.id === cellId);
21
+ if (!anchor || !target) return applySelectionIntent(selectedIds, cellId, 'replace');
22
+
23
+ return cells
24
+ .filter(
25
+ (cell) =>
26
+ cell.rowIndex >= Math.min(anchor.rowIndex, target.rowIndex) &&
27
+ cell.rowIndex <= Math.max(anchor.rowIndex, target.rowIndex) &&
28
+ cell.columnIndex >= Math.min(anchor.columnIndex, target.columnIndex) &&
29
+ cell.columnIndex <= Math.max(anchor.columnIndex, target.columnIndex),
30
+ )
31
+ .map((cell) => cell.id);
15
32
  }
33
+
34
+ type MatrixGridSelectionCell = Readonly<{
35
+ columnIndex: number;
36
+ id: string;
37
+ rowIndex: number;
38
+ }>;
@@ -47,6 +47,7 @@ import {
47
47
  GameOverlay,
48
48
  } from '../game/public';
49
49
  import { Gradient } from '../gradient/public';
50
+ import { GridInteractions } from '../grid-interactions/public';
50
51
  import { GridLineOverlay, GridRuler } from '../grid-rulers/public';
51
52
  import { GridView, TileGrid } from '../grid-view/public';
52
53
  import { Hero } from '../hero/public';
@@ -200,6 +201,7 @@ const _ZORA_COMPONENT_REGISTRY = {
200
201
  FileExplorer,
201
202
  GridLineOverlay,
202
203
  GridRuler,
204
+ GridInteractions,
203
205
  GridView,
204
206
  TileGrid,
205
207
  TimeGrid,
@@ -53,6 +53,7 @@ import { gameMeasurementProbeMeta } from '../game/meta/gameMeasurementProbeMeta'
53
53
  import { gameMeta } from '../game/meta/gameMeta';
54
54
  import { gameOverlayMeta } from '../game/meta/gameOverlayMeta';
55
55
  import { gradientMeta } from '../gradient/gradientMeta';
56
+ import { gridInteractionsMeta } from '../grid-interactions/meta';
56
57
  import { gridLineOverlayMeta, gridRulerMeta } from '../grid-rulers/meta';
57
58
  import { gridViewMeta, tileGridMeta } from '../grid-view/meta';
58
59
  import { heroMeta } from '../hero/heroMeta';
@@ -204,6 +205,7 @@ export const ZORA_COMPONENT_META: ZoraComponentMetaRegistry = finalizeFeatureMet
204
205
  MediaExplorer: mediaExplorerMeta,
205
206
  GridLineOverlay: gridLineOverlayMeta,
206
207
  GridRuler: gridRulerMeta,
208
+ GridInteractions: gridInteractionsMeta,
207
209
  GridView: gridViewMeta,
208
210
  TileGrid: tileGridMeta,
209
211
  TimeGrid: timeGridMeta,
package/src/index.ts CHANGED
@@ -263,6 +263,17 @@ export type {
263
263
  GradientRendererProviderProps,
264
264
  } from './features/gradient/public';
265
265
  export { Gradient, GradientRendererProvider } from './features/gradient/public';
266
+ export {
267
+ createGridInteractionsController,
268
+ type GridInteractionIntent,
269
+ type GridInteractionItem,
270
+ type GridInteractionPointer,
271
+ GridInteractions,
272
+ type GridInteractionsController,
273
+ type GridInteractionsControllerProps,
274
+ type GridInteractionSnap,
275
+ type GridInteractionsProps,
276
+ } from './features/grid-interactions/public';
266
277
  export type {
267
278
  GridGuide,
268
279
  GridLineOverlayProps,
@@ -0,0 +1,72 @@
1
+ import type {
2
+ GridInteractionRectItem,
3
+ GridMarqueeSelectionMode,
4
+ GridRect,
5
+ GridResizeHandle,
6
+ GridSnapCandidate,
7
+ GridViewport,
8
+ } from '@ankhorage/grid-view';
9
+ import type React from 'react';
10
+
11
+ import type { ZoraBaseProps } from './base';
12
+
13
+ /** A caller-owned world item accepted by the platform interaction adapter. */
14
+ export interface GridInteractionItem extends GridInteractionRectItem {
15
+ readonly readOnly?: boolean;
16
+ readonly passive?: boolean;
17
+ }
18
+
19
+ /** Caller-controlled snapping inputs for both world axes. */
20
+ export interface GridInteractionSnap {
21
+ readonly enabled?: boolean;
22
+ readonly tolerancePixels: number;
23
+ readonly priorities: readonly GridSnapCandidate['kind'][];
24
+ readonly x?: readonly GridSnapCandidate[];
25
+ readonly y?: readonly GridSnapCandidate[];
26
+ }
27
+
28
+ /** Events emitted by the adapter; callers remain responsible for mutations. */
29
+ export interface GridInteractionIntent {
30
+ readonly type: 'select' | 'move' | 'resize' | 'marquee' | 'pan';
31
+ readonly itemIds: readonly string[];
32
+ readonly rects?: readonly GridInteractionItem[];
33
+ readonly marquee?: GridRect;
34
+ readonly viewport?: GridViewport;
35
+ }
36
+
37
+ /** Public, controlled inputs for generic world-space grid interaction. */
38
+ export interface GridInteractionsProps extends ZoraBaseProps {
39
+ readonly children: React.ReactNode;
40
+ readonly viewport: GridViewport;
41
+ readonly items: readonly GridInteractionItem[];
42
+ readonly selectedIds?: readonly string[];
43
+ readonly marqueeMode?: GridMarqueeSelectionMode;
44
+ /** Identifies the resize handle represented by this interaction surface. */
45
+ readonly resizeHandle?: GridResizeHandle;
46
+ readonly snap?: GridInteractionSnap;
47
+ readonly onIntent: (intent: GridInteractionIntent) => void;
48
+ }
49
+
50
+ /** The non-visual controlled contract consumed by the platform-neutral controller. */
51
+ export type GridInteractionsControllerProps = Omit<GridInteractionsProps, 'children'>;
52
+
53
+ /** Pointer coordinates in viewport pixels, independent of native or web event shapes. */
54
+ export interface GridInteractionPointer {
55
+ readonly x: number;
56
+ readonly y: number;
57
+ readonly shiftKey?: boolean;
58
+ readonly metaKey?: boolean;
59
+ readonly ctrlKey?: boolean;
60
+ readonly altKey?: boolean;
61
+ readonly spaceKey?: boolean;
62
+ }
63
+
64
+ /** Imperative handlers supplied to native responders or web pointer adapters. */
65
+ export interface GridInteractionsController {
66
+ readonly begin: (pointer: GridInteractionPointer, handle?: GridResizeHandle) => void;
67
+ readonly move: (pointer: GridInteractionPointer) => void;
68
+ readonly end: (pointer: GridInteractionPointer) => void;
69
+ readonly cancel: () => void;
70
+ readonly keyDown: (key: string, pointer?: GridInteractionPointer) => boolean;
71
+ readonly update: (props: GridInteractionsControllerProps) => void;
72
+ }
@@ -20,6 +20,8 @@ export interface MatrixGridProps extends ZoraBaseProps {
20
20
  readonly zoomX?: number;
21
21
  readonly zoomY?: number;
22
22
  readonly overscanPixels?: number;
23
+ /** Retains focus navigation while suppressing cell-selection mutations. */
24
+ readonly readOnly?: boolean;
23
25
  readonly selectedCellIds?: readonly string[];
24
26
  readonly selectionMode?: SelectionMode;
25
27
  readonly onSelectionChange?: (ids: readonly string[]) => void;
@@ -4,17 +4,17 @@ import {
4
4
  } from "./Accordion-6wrr910w.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-42jfy1a1.js";
7
+ } from "./Accordion-vj1m2wck.js";
8
8
  import {
9
9
  Text3
10
- } from "./Accordion-9w8wg9mf.js";
10
+ } from "./Accordion-9rnsg9pk.js";
11
11
  import {
12
12
  View3
13
13
  } from "./Accordion-z5a0tx18.js";
14
14
  import {
15
15
  View2,
16
16
  Divider2
17
- } from "./Accordion-7tjz25jh.js";
17
+ } from "./Accordion-vbzjq3z8.js";
18
18
  import {
19
19
  Pressable
20
20
  } from "./Accordion-nnv76yff.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "./Accordion-wyxmd0n0.js";
24
24
  import {
25
25
  SectionHeader2
26
- } from "./Accordion-sy1cc5my.js";
26
+ } from "./Accordion-ts788t7b.js";
27
27
  import {
28
28
  useZoraTheme2
29
29
  } from "./Accordion-srjya6dz.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./Accordion-8f0nekwe.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-42jfy1a1.js";
7
+ } from "./Accordion-vj1m2wck.js";
8
8
 
9
9
  // src/features/icon/adapters/inbound/Icon.tsx
10
10
  import { jsx } from "react/jsx-runtime";
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  withZoraThemeScope
4
- } from "./Accordion-42jfy1a1.js";
4
+ } from "./Accordion-vj1m2wck.js";
5
5
  import {
6
6
  View2
7
- } from "./Accordion-7tjz25jh.js";
7
+ } from "./Accordion-vbzjq3z8.js";
8
8
  import {
9
9
  require_cjs
10
10
  } from "./Accordion-xgpzh4wq.js";
@@ -4,10 +4,10 @@ import {
4
4
  } from "./Accordion-6wrr910w.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-42jfy1a1.js";
7
+ } from "./Accordion-vj1m2wck.js";
8
8
  import {
9
9
  View2
10
- } from "./Accordion-7tjz25jh.js";
10
+ } from "./Accordion-vbzjq3z8.js";
11
11
  import {
12
12
  useZoraTheme2
13
13
  } from "./Accordion-srjya6dz.js";
@@ -22,13 +22,13 @@ import {
22
22
  } from "./Accordion-wyxmd0n0.js";
23
23
  import {
24
24
  withZoraThemeScope
25
- } from "./Accordion-42jfy1a1.js";
25
+ } from "./Accordion-vj1m2wck.js";
26
26
  import {
27
27
  Icon2
28
- } from "./Accordion-b96evb46.js";
28
+ } from "./Accordion-1fsrnq73.js";
29
29
  import {
30
30
  View2
31
- } from "./Accordion-7tjz25jh.js";
31
+ } from "./Accordion-vbzjq3z8.js";
32
32
  import {
33
33
  resolveIconSize
34
34
  } from "./Accordion-961ncx4e.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./Accordion-09qs8gt1.js";
6
6
  import {
7
7
  withZoraThemeScope
8
- } from "./Accordion-42jfy1a1.js";
8
+ } from "./Accordion-vj1m2wck.js";
9
9
  import {
10
10
  useZoraThemeRecipe,
11
11
  ZORA_COLORS,
@@ -1,19 +1,19 @@
1
1
  'use client';
2
2
  import {
3
3
  withZoraThemeScope
4
- } from "./Accordion-42jfy1a1.js";
4
+ } from "./Accordion-vj1m2wck.js";
5
5
  import {
6
6
  View2
7
- } from "./Accordion-7tjz25jh.js";
7
+ } from "./Accordion-vbzjq3z8.js";
8
8
  import {
9
9
  ButtonGroup2
10
- } from "./Accordion-6rrqpb2h.js";
10
+ } from "./Accordion-h4ekm5cp.js";
11
11
  import {
12
12
  Card2
13
- } from "./Accordion-fjxcn6g9.js";
13
+ } from "./Accordion-wcmrasqx.js";
14
14
  import {
15
15
  List2
16
- } from "./Accordion-5g05kfmx.js";
16
+ } from "./Accordion-0q2wzjdd.js";
17
17
  import {
18
18
  useZoraTheme2
19
19
  } from "./Accordion-srjya6dz.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./Accordion-2c759z0y.js";
6
6
  import {
7
7
  withZoraThemeScope
8
- } from "./Accordion-42jfy1a1.js";
8
+ } from "./Accordion-vj1m2wck.js";
9
9
 
10
10
  // src/features/toast/adapters/inbound/Toast.tsx
11
11
  import { jsx } from "react/jsx-runtime";
@@ -7,10 +7,10 @@ import {
7
7
  } from "./Accordion-8f0nekwe.js";
8
8
  import {
9
9
  IconButton2
10
- } from "./Accordion-6rrqpb2h.js";
10
+ } from "./Accordion-h4ekm5cp.js";
11
11
  import {
12
12
  withZoraThemeScope
13
- } from "./Accordion-42jfy1a1.js";
13
+ } from "./Accordion-vj1m2wck.js";
14
14
  import {
15
15
  resolveIconSize
16
16
  } from "./Accordion-961ncx4e.js";
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
  import {
3
3
  withZoraThemeScope
4
- } from "./Accordion-42jfy1a1.js";
4
+ } from "./Accordion-vj1m2wck.js";
5
5
  import {
6
6
  View2
7
- } from "./Accordion-7tjz25jh.js";
7
+ } from "./Accordion-vbzjq3z8.js";
8
8
  import {
9
9
  Text3
10
- } from "./Accordion-9w8wg9mf.js";
10
+ } from "./Accordion-9rnsg9pk.js";
11
11
  import {
12
12
  useZoraTheme2
13
13
  } from "./Accordion-srjya6dz.js";
@@ -17,14 +17,14 @@ import {
17
17
  } from "./Accordion-2nesr9cv.js";
18
18
  import {
19
19
  withZoraThemeScope
20
- } from "./Accordion-42jfy1a1.js";
20
+ } from "./Accordion-vj1m2wck.js";
21
21
  import {
22
22
  View2
23
- } from "./Accordion-7tjz25jh.js";
23
+ } from "./Accordion-vbzjq3z8.js";
24
24
  import {
25
25
  Heading2,
26
26
  Text3
27
- } from "./Accordion-9w8wg9mf.js";
27
+ } from "./Accordion-9rnsg9pk.js";
28
28
  import {
29
29
  resolveOverlayAnimation
30
30
  } from "./Accordion-n7y08rz5.js";
@@ -3,7 +3,6 @@
3
3
  function isRecord(value) {
4
4
  return typeof value === "object" && value !== null && !Array.isArray(value);
5
5
  }
6
-
7
6
  // node_modules/@ankhorage/utility/dist/object/readOwnProperty.js
8
7
  function readOwnProperty(target, key) {
9
8
  if (!Object.hasOwn(target, key))
@@ -4,16 +4,16 @@ import {
4
4
  } from "./Accordion-nnv76yff.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-42jfy1a1.js";
7
+ } from "./Accordion-vj1m2wck.js";
8
8
  import {
9
9
  Icon2
10
- } from "./Accordion-b96evb46.js";
10
+ } from "./Accordion-1fsrnq73.js";
11
11
  import {
12
12
  View2
13
- } from "./Accordion-7tjz25jh.js";
13
+ } from "./Accordion-vbzjq3z8.js";
14
14
  import {
15
15
  Text3
16
- } from "./Accordion-9w8wg9mf.js";
16
+ } from "./Accordion-9rnsg9pk.js";
17
17
  import {
18
18
  resolveIconSize
19
19
  } from "./Accordion-961ncx4e.js";
@@ -16,10 +16,10 @@ import {
16
16
  } from "./Accordion-wyxmd0n0.js";
17
17
  import {
18
18
  withZoraThemeScope
19
- } from "./Accordion-42jfy1a1.js";
19
+ } from "./Accordion-vj1m2wck.js";
20
20
  import {
21
21
  View2
22
- } from "./Accordion-7tjz25jh.js";
22
+ } from "./Accordion-vbzjq3z8.js";
23
23
  import {
24
24
  resolveControlSize,
25
25
  resolveIconSize2,
@@ -4,19 +4,19 @@ import {
4
4
  } from "./Accordion-nnv76yff.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-42jfy1a1.js";
7
+ } from "./Accordion-vj1m2wck.js";
8
8
  import {
9
9
  View2
10
- } from "./Accordion-7tjz25jh.js";
10
+ } from "./Accordion-vbzjq3z8.js";
11
11
  import {
12
12
  Text3
13
- } from "./Accordion-9w8wg9mf.js";
13
+ } from "./Accordion-9rnsg9pk.js";
14
14
  import {
15
15
  Avatar2
16
- } from "./Accordion-61ntvh14.js";
16
+ } from "./Accordion-w59y0jdf.js";
17
17
  import {
18
18
  Badge2
19
- } from "./Accordion-7kq500r1.js";
19
+ } from "./Accordion-xgxxg1hz.js";
20
20
  import {
21
21
  useZoraTheme2
22
22
  } from "./Accordion-srjya6dz.js";
@@ -6,7 +6,7 @@ import {
6
6
  revealWorldRect,
7
7
  worldToViewport,
8
8
  zoomViewportAt
9
- } from "./Accordion-bz04casa.js";
9
+ } from "./Accordion-zypyr9xw.js";
10
10
  import {
11
11
  require_cjs
12
12
  } from "./Accordion-xgpzh4wq.js";
@@ -4,10 +4,10 @@ import {
4
4
  } from "./Accordion-nnv76yff.js";
5
5
  import {
6
6
  withZoraThemeScope
7
- } from "./Accordion-42jfy1a1.js";
7
+ } from "./Accordion-vj1m2wck.js";
8
8
  import {
9
9
  resolveSelectionEventIntent
10
- } from "./Accordion-5df6cgyf.js";
10
+ } from "./Accordion-md1g54wg.js";
11
11
  import {
12
12
  applySelectionIntent
13
13
  } from "./Accordion-n4et7etk.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./Accordion-6wrr910w.js";
6
6
  import {
7
7
  withZoraThemeScope
8
- } from "./Accordion-42jfy1a1.js";
8
+ } from "./Accordion-vj1m2wck.js";
9
9
  import {
10
10
  useZoraTheme2
11
11
  } from "./Accordion-srjya6dz.js";