@ankhorage/zora 23.2.5 → 23.4.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 +12 -0
  2. package/README.md +1 -6
  3. package/dist/capabilities/index.d.ts +75 -0
  4. package/dist/capabilities/index.d.ts.map +1 -0
  5. package/dist/capabilities/index.js +62 -0
  6. package/dist/capabilities/index.js.map +1 -0
  7. package/dist/cli/index.d.ts +74 -1
  8. package/dist/cli/index.d.ts.map +1 -1
  9. package/dist/cli/index.js +4 -5
  10. package/dist/cli/index.js.map +1 -1
  11. package/dist/constants/authoring.d.ts +8 -0
  12. package/dist/constants/authoring.d.ts.map +1 -1
  13. package/dist/constants/authoring.js +6 -0
  14. package/dist/constants/authoring.js.map +1 -1
  15. package/dist/features/app-bar/appBarMeta.d.ts +10 -1
  16. package/dist/features/app-bar/appBarMeta.d.ts.map +1 -1
  17. package/dist/features/app-bar/appBarMeta.js +2 -1
  18. package/dist/features/app-bar/appBarMeta.js.map +1 -1
  19. package/dist/features/app-header/adapters/inbound/AppHeader.d.ts +5 -0
  20. package/dist/features/app-header/adapters/inbound/AppHeader.d.ts.map +1 -0
  21. package/dist/features/app-header/adapters/inbound/AppHeader.js +7 -0
  22. package/dist/features/app-header/adapters/inbound/AppHeader.js.map +1 -0
  23. package/dist/features/app-header/appHeaderMeta.d.ts +18 -0
  24. package/dist/features/app-header/appHeaderMeta.d.ts.map +1 -0
  25. package/dist/features/app-header/appHeaderMeta.js +12 -0
  26. package/dist/features/app-header/appHeaderMeta.js.map +1 -0
  27. package/dist/features/app-header/public.d.ts +3 -0
  28. package/dist/features/app-header/public.d.ts.map +1 -0
  29. package/dist/features/app-header/public.js +2 -0
  30. package/dist/features/app-header/public.js.map +1 -0
  31. package/dist/features/game/adapters/inbound/Game.d.ts +1 -1
  32. package/dist/features/game/adapters/inbound/Game.d.ts.map +1 -1
  33. package/dist/features/game/adapters/inbound/Game.js +4 -1
  34. package/dist/features/game/adapters/inbound/Game.js.map +1 -1
  35. package/dist/features/game/adapters/inbound/GameEntity.d.ts +1 -1
  36. package/dist/features/game/adapters/inbound/GameEntity.d.ts.map +1 -1
  37. package/dist/features/game/adapters/inbound/GameEntity.js +4 -1
  38. package/dist/features/game/adapters/inbound/GameEntity.js.map +1 -1
  39. package/dist/features/game/adapters/inbound/GameField.d.ts +1 -1
  40. package/dist/features/game/adapters/inbound/GameField.d.ts.map +1 -1
  41. package/dist/features/game/adapters/inbound/GameField.js +4 -1
  42. package/dist/features/game/adapters/inbound/GameField.js.map +1 -1
  43. package/dist/features/game/adapters/inbound/GameInputZone.d.ts +1 -1
  44. package/dist/features/game/adapters/inbound/GameInputZone.d.ts.map +1 -1
  45. package/dist/features/game/adapters/inbound/GameInputZone.js +4 -1
  46. package/dist/features/game/adapters/inbound/GameInputZone.js.map +1 -1
  47. package/dist/features/game/adapters/inbound/GameMeasurementProbe.d.ts +2 -1
  48. package/dist/features/game/adapters/inbound/GameMeasurementProbe.d.ts.map +1 -1
  49. package/dist/features/game/adapters/inbound/GameMeasurementProbe.js +4 -1
  50. package/dist/features/game/adapters/inbound/GameMeasurementProbe.js.map +1 -1
  51. package/dist/features/game/adapters/inbound/GameOverlay.d.ts +1 -1
  52. package/dist/features/game/adapters/inbound/GameOverlay.d.ts.map +1 -1
  53. package/dist/features/game/adapters/inbound/GameOverlay.js +4 -1
  54. package/dist/features/game/adapters/inbound/GameOverlay.js.map +1 -1
  55. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -1
  56. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +2 -0
  57. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
  58. package/dist/features/registry/bindableComponentMeta.d.ts +415 -327
  59. package/dist/features/registry/bindableComponentMeta.d.ts.map +1 -1
  60. package/dist/features/registry/bindableComponentMeta.js +12 -0
  61. package/dist/features/registry/bindableComponentMeta.js.map +1 -1
  62. package/dist/features/registry/componentMeta.d.ts.map +1 -1
  63. package/dist/features/registry/componentMeta.js +2 -0
  64. package/dist/features/registry/componentMeta.js.map +1 -1
  65. package/dist/features/registry/finalizeFeatureMetadata.d.ts.map +1 -1
  66. package/dist/features/registry/finalizeFeatureMetadata.js +5 -4
  67. package/dist/features/registry/finalizeFeatureMetadata.js.map +1 -1
  68. package/dist/features/selection/adapters/inbound/SelectableItem.d.ts +1 -1
  69. package/dist/features/selection/adapters/inbound/SelectableItem.d.ts.map +1 -1
  70. package/dist/features/selection/adapters/inbound/SelectableItem.js +4 -1
  71. package/dist/features/selection/adapters/inbound/SelectableItem.js.map +1 -1
  72. package/dist/features/theme/adapters/inbound/ThemeModeToggle.d.ts +2 -1
  73. package/dist/features/theme/adapters/inbound/ThemeModeToggle.d.ts.map +1 -1
  74. package/dist/features/theme/adapters/inbound/ThemeModeToggle.js +5 -1
  75. package/dist/features/theme/adapters/inbound/ThemeModeToggle.js.map +1 -1
  76. package/dist/features/theme/adapters/inbound/ZoraThemeScope.d.ts +2 -1
  77. package/dist/features/theme/adapters/inbound/ZoraThemeScope.d.ts.map +1 -1
  78. package/dist/features/theme/adapters/inbound/ZoraThemeScope.js +7 -5
  79. package/dist/features/theme/adapters/inbound/ZoraThemeScope.js.map +1 -1
  80. package/dist/features/theme/adapters/inbound/withZoraThemeScope.d.ts +1 -0
  81. package/dist/features/theme/adapters/inbound/withZoraThemeScope.d.ts.map +1 -1
  82. package/dist/features/theme/adapters/inbound/withZoraThemeScope.js +9 -4
  83. package/dist/features/theme/adapters/inbound/withZoraThemeScope.js.map +1 -1
  84. package/dist/index.d.ts +1 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +1 -0
  87. package/dist/index.js.map +1 -1
  88. package/dist/types/app-header.d.ts +3 -0
  89. package/dist/types/app-header.d.ts.map +1 -0
  90. package/dist/types/app-header.js +2 -0
  91. package/dist/types/app-header.js.map +1 -0
  92. package/dist/types/base.d.ts +2 -0
  93. package/dist/types/base.d.ts.map +1 -1
  94. package/dist/types/base.js.map +1 -1
  95. package/dist/types/gamePresentation.d.ts +6 -6
  96. package/dist/types/gamePresentation.d.ts.map +1 -1
  97. package/dist/types/gamePresentation.js.map +1 -1
  98. package/dist/types/selection.d.ts +2 -1
  99. package/dist/types/selection.d.ts.map +1 -1
  100. package/dist/types/selection.js.map +1 -1
  101. package/dist/types/theme-mode-toggle.d.ts +2 -1
  102. package/dist/types/theme-mode-toggle.d.ts.map +1 -1
  103. package/dist/types/theme-mode-toggle.js.map +1 -1
  104. package/package.json +103 -7
  105. package/src/capabilities/index.test.ts +50 -0
  106. package/src/capabilities/index.ts +63 -0
  107. package/src/cli/index.test.ts +10 -1
  108. package/src/cli/index.ts +7 -14
  109. package/src/constants/authoring.ts +7 -0
  110. package/src/features/app-bar/appBarMeta.ts +2 -1
  111. package/src/features/app-header/adapters/inbound/AppHeader.tsx +9 -0
  112. package/src/features/app-header/appHeaderMeta.ts +13 -0
  113. package/src/features/app-header/public.ts +2 -0
  114. package/src/features/game/adapters/inbound/Game.tsx +5 -1
  115. package/src/features/game/adapters/inbound/GameEntity.tsx +5 -1
  116. package/src/features/game/adapters/inbound/GameField.tsx +5 -1
  117. package/src/features/game/adapters/inbound/GameInputZone.tsx +5 -1
  118. package/src/features/game/adapters/inbound/GameMeasurementProbe.tsx +5 -1
  119. package/src/features/game/adapters/inbound/GameOverlay.tsx +5 -1
  120. package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +2 -0
  121. package/src/features/registry/authoringMeta.test.ts +11 -0
  122. package/src/features/registry/bindableComponentMeta.ts +12 -0
  123. package/src/features/registry/componentMeta.ts +2 -0
  124. package/src/features/registry/finalizeFeatureMetadata.ts +7 -6
  125. package/src/features/registry/registry.test.ts +1 -0
  126. package/src/features/selection/adapters/inbound/SelectableItem.tsx +5 -1
  127. package/src/features/theme/adapters/inbound/ThemeModeToggle.tsx +6 -1
  128. package/src/features/theme/adapters/inbound/ZoraThemeScope.tsx +12 -5
  129. package/src/features/theme/adapters/inbound/withZoraThemeScope.tsx +9 -4
  130. package/src/features/theme/themeConfigScope.test.ts +1 -1
  131. package/src/features/theme/themeScopeStructure.test.ts +6 -1
  132. package/src/index.ts +1 -0
  133. package/src/invertedThemeAcceptance.test.tsx +177 -0
  134. package/src/structureOwnership.test.ts +1 -1
  135. package/src/types/app-header.ts +3 -0
  136. package/src/types/base.ts +3 -0
  137. package/src/types/gamePresentation.ts +7 -6
  138. package/src/types/selection.ts +3 -1
  139. package/src/types/theme-mode-toggle.ts +3 -4
  140. package/web-dist/chunks/{Accordion-c3yfjhex.js → Accordion-0047zyx7.js} +4 -4
  141. package/web-dist/chunks/{Accordion-vq198z68.js → Accordion-0yhkg017.js} +9 -9
  142. package/web-dist/chunks/{Accordion-hztfb9ex.js → Accordion-0yvepteg.js} +5 -5
  143. package/web-dist/chunks/{Accordion-r1geqzsp.js → Accordion-1e1nfhtc.js} +5 -5
  144. package/web-dist/chunks/{Accordion-vc8pv1jf.js → Accordion-1xpq9bxk.js} +7 -7
  145. package/web-dist/chunks/{Accordion-11xym8p8.js → Accordion-2dqpjya2.js} +7 -7
  146. package/web-dist/chunks/{Accordion-g69czys5.js → Accordion-37n4bt3g.js} +2 -2
  147. package/web-dist/chunks/{Accordion-0f748ad5.js → Accordion-3m6de80j.js} +1 -1
  148. package/web-dist/chunks/{Accordion-jynbc7d0.js → Accordion-693gvpde.js} +3 -3
  149. package/web-dist/chunks/{Accordion-een6jq8f.js → Accordion-6xrse5my.js} +1 -1
  150. package/web-dist/chunks/{Accordion-904ncmad.js → Accordion-6ytrt7xj.js} +5 -5
  151. package/web-dist/chunks/{Accordion-jfjery84.js → Accordion-70g7n6tk.js} +8 -8
  152. package/web-dist/chunks/{Accordion-n7hckxte.js → Accordion-73x0gt11.js} +6 -6
  153. package/web-dist/chunks/{Accordion-7cgv14wd.js → Accordion-7y9wt946.js} +2 -2
  154. package/web-dist/chunks/{Accordion-scacsnhj.js → Accordion-8bxy3g7a.js} +3 -3
  155. package/web-dist/chunks/{Accordion-6h4zc69v.js → Accordion-8fne0gf9.js} +4 -4
  156. package/web-dist/chunks/{Accordion-xak1mcaf.js → Accordion-8z7naxj2.js} +18 -13
  157. package/web-dist/chunks/{Accordion-whhnrz92.js → Accordion-a1ervhyg.js} +13 -13
  158. package/web-dist/chunks/{Accordion-tp2gn95w.js → Accordion-adc7k14q.js} +37 -13
  159. package/web-dist/chunks/{Accordion-vtndpbzt.js → Accordion-ancjf7q8.js} +7 -3
  160. package/web-dist/chunks/{Accordion-7ccpdvga.js → Accordion-axxgq453.js} +7 -7
  161. package/web-dist/chunks/{Accordion-bn954rjh.js → Accordion-basd2gyf.js} +2 -2
  162. package/web-dist/chunks/{Accordion-z4d0pncs.js → Accordion-bz2dzbad.js} +9 -9
  163. package/web-dist/chunks/{Accordion-pt0f1v0m.js → Accordion-ct805sm7.js} +2 -2
  164. package/web-dist/chunks/{Accordion-katngqxf.js → Accordion-d24n7srd.js} +4 -4
  165. package/web-dist/chunks/{Accordion-a09gnx45.js → Accordion-dbxpv5eq.js} +3 -3
  166. package/web-dist/chunks/{Accordion-8zerapbc.js → Accordion-e2kr1z3g.js} +5 -5
  167. package/web-dist/chunks/{Accordion-8rx1stgv.js → Accordion-ebw6xj6x.js} +5 -7
  168. package/web-dist/chunks/{Accordion-090whwtv.js → Accordion-ekjwm5dw.js} +17 -8
  169. package/web-dist/chunks/{Accordion-ej4p6ae3.js → Accordion-g2d4fskg.js} +2 -2
  170. package/web-dist/chunks/{Accordion-65kvpq6z.js → Accordion-gkx1kszz.js} +1 -1
  171. package/web-dist/chunks/{Accordion-40sj6k87.js → Accordion-k6dg8zd2.js} +3 -3
  172. package/web-dist/chunks/{Accordion-xdgpa7kf.js → Accordion-kxa15n19.js} +1 -1
  173. package/web-dist/chunks/{Accordion-ps286k56.js → Accordion-m4brcz8v.js} +5 -5
  174. package/web-dist/chunks/{Accordion-hdnpzyk9.js → Accordion-mbqtk7y0.js} +1 -1
  175. package/web-dist/chunks/{Accordion-sh0sk3cz.js → Accordion-nkd7nhyx.js} +5 -5
  176. package/web-dist/chunks/{Accordion-qqsxfq5h.js → Accordion-p0fh69qq.js} +6 -6
  177. package/web-dist/chunks/{Accordion-02d3sw7t.js → Accordion-ph15h010.js} +10 -10
  178. package/web-dist/chunks/{Accordion-a60dhqsv.js → Accordion-pvz3r99n.js} +38 -1
  179. package/web-dist/chunks/{Accordion-qd4r5b4s.js → Accordion-q9zge7kd.js} +2 -2
  180. package/web-dist/chunks/{Accordion-1dppb4fr.js → Accordion-qyssgtwe.js} +2 -2
  181. package/web-dist/chunks/{Accordion-pe49atda.js → Accordion-rmp9sfra.js} +1 -1
  182. package/web-dist/chunks/{Accordion-v1fxp6yd.js → Accordion-snyacfyh.js} +8 -8
  183. package/web-dist/chunks/{Accordion-47mg9vze.js → Accordion-tdjh81ax.js} +5 -5
  184. package/web-dist/chunks/{Accordion-3v7sz3vv.js → Accordion-v4n4ygwn.js} +1 -1
  185. package/web-dist/chunks/{Accordion-2z0415ed.js → Accordion-vjgk1sz7.js} +1 -1
  186. package/web-dist/chunks/{Accordion-qq9bvraa.js → Accordion-wgesygtk.js} +10 -10
  187. package/web-dist/chunks/{Accordion-tvzq4dw8.js → Accordion-wxbh98kp.js} +8 -8
  188. package/web-dist/chunks/{Accordion-3w1t105s.js → Accordion-wytj5wwc.js} +3 -3
  189. package/web-dist/chunks/{Accordion-19j1mncn.js → Accordion-yae3m7g7.js} +4 -4
  190. package/web-dist/chunks/{Accordion-c7pd59w7.js → Accordion-zgzrah0a.js} +6 -6
  191. package/web-dist/components/accordion/Accordion.js +12 -13
  192. package/web-dist/components/accordion-item/AccordionItem.js +12 -13
  193. package/web-dist/components/activity-indicator/ActivityIndicator.js +3 -4
  194. package/web-dist/components/app-bar/AppBar.js +19 -20
  195. package/web-dist/components/app-header/AppHeader.d.ts +3 -0
  196. package/web-dist/components/app-header/AppHeader.js +41 -0
  197. package/web-dist/components/app-header/index.d.ts +1 -0
  198. package/web-dist/components/app-header/index.js +2 -0
  199. package/web-dist/components/app-shell/AppShell.js +6 -7
  200. package/web-dist/components/auth-screen/AuthScreen.js +21 -22
  201. package/web-dist/components/avatar/Avatar.js +12 -13
  202. package/web-dist/components/avatar-group/AvatarGroup.js +12 -13
  203. package/web-dist/components/badge/Badge.js +7 -8
  204. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +20 -21
  205. package/web-dist/components/bottom-sheet/BottomSheet.js +8 -9
  206. package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +8 -9
  207. package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +8 -9
  208. package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +8 -9
  209. package/web-dist/components/bottom-sheet-view/BottomSheetView.js +8 -9
  210. package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +8 -9
  211. package/web-dist/components/breadcrumbs/Breadcrumbs.js +14 -15
  212. package/web-dist/components/button/Button.js +12 -13
  213. package/web-dist/components/button-group/ButtonGroup.js +12 -13
  214. package/web-dist/components/camera-permission-view/CameraPermissionView.js +20 -21
  215. package/web-dist/components/card/Card.js +19 -20
  216. package/web-dist/components/card-back/CardBack.js +4 -5
  217. package/web-dist/components/card-hand/CardHand.js +4 -5
  218. package/web-dist/components/chat-list-item/ChatListItem.js +16 -17
  219. package/web-dist/components/checkbox/Checkbox.js +12 -13
  220. package/web-dist/components/checkbox-group/CheckboxGroup.js +12 -13
  221. package/web-dist/components/chess-board/ChessBoard.js +4 -5
  222. package/web-dist/components/chip/Chip.js +13 -14
  223. package/web-dist/components/chip-group/ChipGroup.js +13 -14
  224. package/web-dist/components/collection-editor/CollectionEditor.js +19 -20
  225. package/web-dist/components/content-rail/ContentRail.js +13 -14
  226. package/web-dist/components/data-table/DataTable.js +26 -27
  227. package/web-dist/components/date-picker/DatePicker.js +17 -18
  228. package/web-dist/components/dialog/Dialog.js +12 -13
  229. package/web-dist/components/divider/Divider.js +6 -7
  230. package/web-dist/components/empty-state/EmptyState.js +20 -21
  231. package/web-dist/components/field/Field.js +12 -13
  232. package/web-dist/components/flat-list/FlatList.js +13 -14
  233. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +21 -22
  234. package/web-dist/components/form/Form.js +16 -17
  235. package/web-dist/components/form-actions/FormActions.js +16 -17
  236. package/web-dist/components/form-error/FormError.js +16 -17
  237. package/web-dist/components/game/Game.js +7 -8
  238. package/web-dist/components/game-entity/GameEntity.js +7 -8
  239. package/web-dist/components/game-field/GameField.js +7 -8
  240. package/web-dist/components/game-input-zone/GameInputZone.js +7 -8
  241. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +7 -8
  242. package/web-dist/components/game-overlay/GameOverlay.js +7 -8
  243. package/web-dist/components/gradient/Gradient.js +7 -8
  244. package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +7 -8
  245. package/web-dist/components/grid/Grid.js +6 -7
  246. package/web-dist/components/heading/Heading.js +6 -7
  247. package/web-dist/components/hero/Hero.js +19 -20
  248. package/web-dist/components/icon/Icon.js +4 -5
  249. package/web-dist/components/icon-button/IconButton.js +12 -13
  250. package/web-dist/components/image/Image.js +10 -11
  251. package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +3 -4
  252. package/web-dist/components/list/List.js +13 -14
  253. package/web-dist/components/list-item/ListItem.js +13 -14
  254. package/web-dist/components/list-section/ListSection.js +13 -14
  255. package/web-dist/components/media-card/MediaCard.js +19 -20
  256. package/web-dist/components/message-bubble/MessageBubble.js +16 -17
  257. package/web-dist/components/metric-card/MetricCard.js +19 -20
  258. package/web-dist/components/missing-element/MissingElement.js +11 -12
  259. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +21 -22
  260. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +21 -22
  261. package/web-dist/components/opening-book/OpeningBook.js +4 -5
  262. package/web-dist/components/otp-form/OtpForm.js +21 -22
  263. package/web-dist/components/pagination/Pagination.js +13 -14
  264. package/web-dist/components/palette-item/PaletteItem.js +19 -20
  265. package/web-dist/components/playing-card/PlayingCard.js +4 -5
  266. package/web-dist/components/poker-training-table/PokerTrainingTable.js +4 -5
  267. package/web-dist/components/popover-menu/PopoverMenu.js +14 -15
  268. package/web-dist/components/post-card/PostCard.js +19 -20
  269. package/web-dist/components/product-card/ProductCard.js +19 -20
  270. package/web-dist/components/progress/Progress.js +10 -11
  271. package/web-dist/components/progress-ring/ProgressRing.js +10 -11
  272. package/web-dist/components/radio/Radio.js +14 -15
  273. package/web-dist/components/radio-group/RadioGroup.js +14 -15
  274. package/web-dist/components/rating/Rating.js +9 -10
  275. package/web-dist/components/reader-surface/ReaderSurface.js +21 -22
  276. package/web-dist/components/scan-overlay/ScanOverlay.js +20 -21
  277. package/web-dist/components/screen/Screen.js +6 -7
  278. package/web-dist/components/screen-section/ScreenSection.js +10 -11
  279. package/web-dist/components/scroll-view/ScrollView.js +6 -7
  280. package/web-dist/components/search-input/SearchInput.js +13 -14
  281. package/web-dist/components/section-header/SectionHeader.js +10 -11
  282. package/web-dist/components/section-list/SectionList.js +13 -14
  283. package/web-dist/components/select/Select.js +16 -17
  284. package/web-dist/components/selectable-item/SelectableItem.js +6 -5
  285. package/web-dist/components/selection-provider/SelectionProvider.js +6 -5
  286. package/web-dist/components/sign-in-form/SignInForm.js +21 -22
  287. package/web-dist/components/sign-up-form/SignUpForm.js +21 -22
  288. package/web-dist/components/skeleton/Skeleton.js +22 -23
  289. package/web-dist/components/skeleton-card/SkeletonCard.js +22 -23
  290. package/web-dist/components/skeleton-list/SkeletonList.js +22 -23
  291. package/web-dist/components/skeleton-text/SkeletonText.js +22 -23
  292. package/web-dist/components/surface/Surface.js +7 -8
  293. package/web-dist/components/switch/Switch.js +7 -8
  294. package/web-dist/components/tab/Tab.js +7 -8
  295. package/web-dist/components/tab-list/TabList.js +7 -8
  296. package/web-dist/components/tab-panel/TabPanel.js +7 -8
  297. package/web-dist/components/tabletop-table/TabletopTable.js +4 -5
  298. package/web-dist/components/tabs/Tabs.js +7 -8
  299. package/web-dist/components/text/Text.js +6 -7
  300. package/web-dist/components/text-input/TextInput.js +13 -14
  301. package/web-dist/components/time-picker/TimePicker.js +17 -18
  302. package/web-dist/components/timeline/Timeline.js +11 -12
  303. package/web-dist/components/toast/Toast.js +9 -10
  304. package/web-dist/components/toast-provider/ToastProvider.js +9 -10
  305. package/web-dist/components/toolbar/Toolbar.js +19 -20
  306. package/web-dist/components/tree-item/TreeItem.js +17 -18
  307. package/web-dist/components/uploader/Uploader.js +22 -23
  308. package/web-dist/components/view/View.js +6 -7
  309. package/web-dist/manifest.json +1500 -1567
  310. package/web-dist/runtime/ZoraProvider.js +12 -14
  311. package/web-dist/chunks/Accordion-kcx57mk5.js +0 -39
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 23.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - f75cdf5: Publish canonical ZORA capability descriptors for the Ankh provider commands.
8
+
9
+ ## 23.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 10ee5d8: Add inherited inverted surface polarity and AppHeader
14
+
3
15
  ## 23.2.5
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/zora
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v23.2.5](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![paradox: warnings](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v23.4.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![paradox: warnings](././paradox/badges/docs.svg)
7
7
 
8
8
  Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.
9
9
 
@@ -64,17 +64,12 @@ This package contains 5 additional examples. See the generated documentation for
64
64
  - [Export graph](././paradox/diagrams/export-graph.mmd)
65
65
  - [createPokerTrainingTableState sequence](././paradox/diagrams/sequences/create-poker-training-table-state.mmd)
66
66
  - [createZoraThemeConfig sequence](././paradox/diagrams/sequences/create-zora-theme-config.mmd)
67
- - [Game sequence](././paradox/diagrams/sequences/game.mmd)
68
- - [GameInputZone sequence](././paradox/diagrams/sequences/game-input-zone.mmd)
69
- - [GameOverlay sequence](././paradox/diagrams/sequences/game-overlay.mmd)
70
67
  - [getLegalTargets sequence](././paradox/diagrams/sequences/get-legal-targets.mmd)
71
68
  - [readChessPieces sequence](././paradox/diagrams/sequences/read-chess-pieces.mmd)
72
69
  - [resolveAvatarInitials sequence](././paradox/diagrams/sequences/resolve-avatar-initials.mmd)
73
70
  - [resolveOAuthProviderIcon sequence](././paradox/diagrams/sequences/resolve-oauth-provider-icon.mmd)
74
71
  - [resolveOAuthProviderLabel sequence](././paradox/diagrams/sequences/resolve-oauth-provider-label.mmd)
75
- - [SelectableItem sequence](././paradox/diagrams/sequences/selectable-item.mmd)
76
72
  - [SelectionProvider sequence](././paradox/diagrams/sequences/selection-provider.mmd)
77
- - [ThemeModeToggle sequence](././paradox/diagrams/sequences/theme-mode-toggle.mmd)
78
73
  - [tryMove sequence](././paradox/diagrams/sequences/try-move.mmd)
79
74
  - [useZoraTheme sequence](././paradox/diagrams/sequences/use-zora-theme.mmd)
80
75
  - [validateField sequence](././paradox/diagrams/sequences/validate-field.mmd)
@@ -0,0 +1,75 @@
1
+ export declare const CAPABILITIES: readonly [{
2
+ readonly id: "zora.create";
3
+ readonly owner: "@ankhorage/zora";
4
+ readonly access: readonly ["invoke"];
5
+ readonly binding: {
6
+ readonly kind: "action";
7
+ readonly bindableAs: readonly ["target"];
8
+ };
9
+ readonly label: "Materialize ZORA web component";
10
+ readonly description: "Materialize a declared ZORA component and reconcile its web runtime.";
11
+ readonly input: {
12
+ readonly schema: {
13
+ readonly type: "object";
14
+ readonly required: readonly ["component", "platform"];
15
+ readonly properties: {
16
+ readonly component: {
17
+ readonly type: "string";
18
+ };
19
+ readonly platform: {
20
+ readonly type: "string";
21
+ readonly const: "web";
22
+ };
23
+ };
24
+ readonly additionalProperties: false;
25
+ };
26
+ };
27
+ readonly output: {
28
+ readonly schema: {
29
+ readonly type: "object";
30
+ readonly required: readonly ["exitCode"];
31
+ readonly properties: {
32
+ readonly exitCode: {
33
+ readonly type: "integer";
34
+ };
35
+ };
36
+ readonly additionalProperties: false;
37
+ };
38
+ };
39
+ }, {
40
+ readonly id: "zora.sync";
41
+ readonly owner: "@ankhorage/zora";
42
+ readonly access: readonly ["invoke"];
43
+ readonly binding: {
44
+ readonly kind: "action";
45
+ readonly bindableAs: readonly ["target"];
46
+ };
47
+ readonly label: "Synchronize ZORA web components";
48
+ readonly description: "Reconcile the web runtime from the declared ZORA component set.";
49
+ readonly input: {
50
+ readonly schema: {
51
+ readonly type: "object";
52
+ readonly required: readonly ["platform"];
53
+ readonly properties: {
54
+ readonly platform: {
55
+ readonly type: "string";
56
+ readonly const: "web";
57
+ };
58
+ };
59
+ readonly additionalProperties: false;
60
+ };
61
+ };
62
+ readonly output: {
63
+ readonly schema: {
64
+ readonly type: "object";
65
+ readonly required: readonly ["exitCode"];
66
+ readonly properties: {
67
+ readonly exitCode: {
68
+ readonly type: "integer";
69
+ };
70
+ };
71
+ readonly additionalProperties: false;
72
+ };
73
+ };
74
+ }];
75
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DiB,CAAC"}
@@ -0,0 +1,62 @@
1
+ export const CAPABILITIES = [
2
+ {
3
+ id: 'zora.create',
4
+ owner: '@ankhorage/zora',
5
+ access: ['invoke'],
6
+ binding: {
7
+ kind: 'action',
8
+ bindableAs: ['target'],
9
+ },
10
+ label: 'Materialize ZORA web component',
11
+ description: 'Materialize a declared ZORA component and reconcile its web runtime.',
12
+ input: {
13
+ schema: {
14
+ type: 'object',
15
+ required: ['component', 'platform'],
16
+ properties: {
17
+ component: { type: 'string' },
18
+ platform: { type: 'string', const: 'web' },
19
+ },
20
+ additionalProperties: false,
21
+ },
22
+ },
23
+ output: {
24
+ schema: {
25
+ type: 'object',
26
+ required: ['exitCode'],
27
+ properties: { exitCode: { type: 'integer' } },
28
+ additionalProperties: false,
29
+ },
30
+ },
31
+ },
32
+ {
33
+ id: 'zora.sync',
34
+ owner: '@ankhorage/zora',
35
+ access: ['invoke'],
36
+ binding: {
37
+ kind: 'action',
38
+ bindableAs: ['target'],
39
+ },
40
+ label: 'Synchronize ZORA web components',
41
+ description: 'Reconcile the web runtime from the declared ZORA component set.',
42
+ input: {
43
+ schema: {
44
+ type: 'object',
45
+ required: ['platform'],
46
+ properties: {
47
+ platform: { type: 'string', const: 'web' },
48
+ },
49
+ additionalProperties: false,
50
+ },
51
+ },
52
+ output: {
53
+ schema: {
54
+ type: 'object',
55
+ required: ['exitCode'],
56
+ properties: { exitCode: { type: 'integer' } },
57
+ additionalProperties: false,
58
+ },
59
+ },
60
+ },
61
+ ];
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,QAAQ,CAAC;SACvB;QACD,KAAK,EAAE,gCAAgC;QACvC,WAAW,EAAE,sEAAsE;QACnF,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;gBACnC,UAAU,EAAE;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;iBAC3C;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC7C,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,QAAQ,CAAC;SACvB;QACD,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,iEAAiE;QAC9E,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;iBAC3C;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,UAAU,CAAC;gBACtB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC7C,oBAAoB,EAAE,KAAK;aAC5B;SACF;KACF;CACuC,CAAC","sourcesContent":["import type { Capability } from '@ankhorage/contracts/capabilities';\n\nexport const CAPABILITIES = [\n {\n id: 'zora.create',\n owner: '@ankhorage/zora',\n access: ['invoke'],\n binding: {\n kind: 'action',\n bindableAs: ['target'],\n },\n label: 'Materialize ZORA web component',\n description: 'Materialize a declared ZORA component and reconcile its web runtime.',\n input: {\n schema: {\n type: 'object',\n required: ['component', 'platform'],\n properties: {\n component: { type: 'string' },\n platform: { type: 'string', const: 'web' },\n },\n additionalProperties: false,\n },\n },\n output: {\n schema: {\n type: 'object',\n required: ['exitCode'],\n properties: { exitCode: { type: 'integer' } },\n additionalProperties: false,\n },\n },\n },\n {\n id: 'zora.sync',\n owner: '@ankhorage/zora',\n access: ['invoke'],\n binding: {\n kind: 'action',\n bindableAs: ['target'],\n },\n label: 'Synchronize ZORA web components',\n description: 'Reconcile the web runtime from the declared ZORA component set.',\n input: {\n schema: {\n type: 'object',\n required: ['platform'],\n properties: {\n platform: { type: 'string', const: 'web' },\n },\n additionalProperties: false,\n },\n },\n output: {\n schema: {\n type: 'object',\n required: ['exitCode'],\n properties: { exitCode: { type: 'integer' } },\n additionalProperties: false,\n },\n },\n },\n] as const satisfies readonly Capability[];\n"]}
@@ -4,7 +4,80 @@ declare const provider: {
4
4
  id: string;
5
5
  category: string;
6
6
  version: string;
7
- capabilities: ("zora.create" | "zora.sync")[];
7
+ capabilities: readonly [{
8
+ readonly id: "zora.create";
9
+ readonly owner: "@ankhorage/zora";
10
+ readonly access: readonly ["invoke"];
11
+ readonly binding: {
12
+ readonly kind: "action";
13
+ readonly bindableAs: readonly ["target"];
14
+ };
15
+ readonly label: "Materialize ZORA web component";
16
+ readonly description: "Materialize a declared ZORA component and reconcile its web runtime.";
17
+ readonly input: {
18
+ readonly schema: {
19
+ readonly type: "object";
20
+ readonly required: readonly ["component", "platform"];
21
+ readonly properties: {
22
+ readonly component: {
23
+ readonly type: "string";
24
+ };
25
+ readonly platform: {
26
+ readonly type: "string";
27
+ readonly const: "web";
28
+ };
29
+ };
30
+ readonly additionalProperties: false;
31
+ };
32
+ };
33
+ readonly output: {
34
+ readonly schema: {
35
+ readonly type: "object";
36
+ readonly required: readonly ["exitCode"];
37
+ readonly properties: {
38
+ readonly exitCode: {
39
+ readonly type: "integer";
40
+ };
41
+ };
42
+ readonly additionalProperties: false;
43
+ };
44
+ };
45
+ }, {
46
+ readonly id: "zora.sync";
47
+ readonly owner: "@ankhorage/zora";
48
+ readonly access: readonly ["invoke"];
49
+ readonly binding: {
50
+ readonly kind: "action";
51
+ readonly bindableAs: readonly ["target"];
52
+ };
53
+ readonly label: "Synchronize ZORA web components";
54
+ readonly description: "Reconcile the web runtime from the declared ZORA component set.";
55
+ readonly input: {
56
+ readonly schema: {
57
+ readonly type: "object";
58
+ readonly required: readonly ["platform"];
59
+ readonly properties: {
60
+ readonly platform: {
61
+ readonly type: "string";
62
+ readonly const: "web";
63
+ };
64
+ };
65
+ readonly additionalProperties: false;
66
+ };
67
+ };
68
+ readonly output: {
69
+ readonly schema: {
70
+ readonly type: "object";
71
+ readonly required: readonly ["exitCode"];
72
+ readonly properties: {
73
+ readonly exitCode: {
74
+ readonly type: "integer";
75
+ };
76
+ };
77
+ readonly additionalProperties: false;
78
+ };
79
+ };
80
+ }];
8
81
  commands: ({
9
82
  readonly path: readonly ["create"];
10
83
  readonly capability: "zora.create";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAsBvC,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAgBiB,CAAC;AAEhC,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAavC,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBwB,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,25 +1,24 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { dirname, resolve } from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
+ import { CAPABILITIES } from '../capabilities';
4
5
  import { create } from './commands/create';
5
6
  import { sync } from './commands/sync';
6
- const CREATE_CAPABILITY = 'zora.create';
7
- const SYNC_CAPABILITY = 'zora.sync';
8
7
  const CREATE_COMMAND = {
9
8
  path: ['create'],
10
- capability: CREATE_CAPABILITY,
9
+ capability: 'zora.create',
11
10
  summary: 'Materialize a canonical ZORA component for a target platform.',
12
11
  };
13
12
  const SYNC_COMMAND = {
14
13
  path: ['sync'],
15
- capability: SYNC_CAPABILITY,
14
+ capability: 'zora.sync',
16
15
  summary: 'Regenerate the declared ZORA web materialization.',
17
16
  };
18
17
  const provider = {
19
18
  id: '@ankhorage/zora',
20
19
  category: 'zora',
21
20
  version: readPackageVersion(),
22
- capabilities: [CREATE_CAPABILITY, SYNC_CAPABILITY],
21
+ capabilities: CAPABILITIES,
23
22
  commands: [CREATE_COMMAND, SYNC_COMMAND],
24
23
  handlers: [
25
24
  {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,iBAAiB,GAAG,aAAwC,CAAC;AACnE,MAAM,eAAe,GAAG,WAAsC,CAAC;AAC/D,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,UAAU,EAAE,iBAAiB;IAC7B,OAAO,EAAE,+DAA+D;CAChE,CAAC;AACX,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,mDAAmD;CACpD,CAAC;AASX,MAAM,QAAQ,GAAG;IACf,EAAE,EAAE,iBAAiB;IACrB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,kBAAkB,EAAE;IAC7B,YAAY,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAClD,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;IACxC,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,OAAO,EAAE,MAAM;SAChB;QACD;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI;SACd;KACF;CAC4B,CAAC;AAEhC,eAAe,QAAQ,CAAC;AAExB,uEAAuE;AACvE,SAAS,kBAAkB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAC3D,CAAC;IAEpC,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC","sourcesContent":["import { readFileSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport type { AnkhCapabilityId, AnkhCommandProviderManifest } from '@ankhorage/contracts/cli';\n\nimport { create } from './commands/create';\nimport { sync } from './commands/sync';\n\nconst CREATE_CAPABILITY = 'zora.create' satisfies AnkhCapabilityId;\nconst SYNC_CAPABILITY = 'zora.sync' satisfies AnkhCapabilityId;\nconst CREATE_COMMAND = {\n path: ['create'],\n capability: CREATE_CAPABILITY,\n summary: 'Materialize a canonical ZORA component for a target platform.',\n} as const;\nconst SYNC_COMMAND = {\n path: ['sync'],\n capability: SYNC_CAPABILITY,\n summary: 'Regenerate the declared ZORA web materialization.',\n} as const;\n\ninterface ZoraRuntimeProvider extends AnkhCommandProviderManifest {\n readonly handlers: readonly {\n readonly path: readonly string[];\n readonly handler: typeof create | typeof sync;\n }[];\n}\n\nconst provider = {\n id: '@ankhorage/zora',\n category: 'zora',\n version: readPackageVersion(),\n capabilities: [CREATE_CAPABILITY, SYNC_CAPABILITY],\n commands: [CREATE_COMMAND, SYNC_COMMAND],\n handlers: [\n {\n path: CREATE_COMMAND.path,\n handler: create,\n },\n {\n path: SYNC_COMMAND.path,\n handler: sync,\n },\n ],\n} satisfies ZoraRuntimeProvider;\n\nexport default provider;\n\n/*** Read the installed ZORA version for the Ankh provider manifest. */\nfunction readPackageVersion(): string {\n const packageJson = JSON.parse(\n readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json'), 'utf8'),\n ) as { readonly version?: unknown };\n\n if (typeof packageJson.version !== 'string' || packageJson.version.trim() === '') {\n throw new Error('ZORA package.json must define a non-empty version.');\n }\n\n return packageJson.version;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,UAAU,EAAE,aAAwC;IACpD,OAAO,EAAE,+DAA+D;CAChE,CAAC;AACX,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,UAAU,EAAE,WAAsC;IAClD,OAAO,EAAE,mDAAmD;CACpD,CAAC;AAEX,MAAM,QAAQ,GAAG;IACf,EAAE,EAAE,iBAAiB;IACrB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,kBAAkB,EAAE;IAC7B,YAAY,EAAE,YAAY;IAC1B,QAAQ,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;IACxC,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,OAAO,EAAE,MAAM;SAChB;QACD;YACE,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI;SACd;KACF;CACmC,CAAC;AAEvC,eAAe,QAAQ,CAAC;AAExB,uEAAuE;AACvE,SAAS,kBAAkB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAC3D,CAAC;IAEpC,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC","sourcesContent":["import { readFileSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nimport type { AnkhRuntimeCommandProvider } from '@ankhorage/ankh';\nimport type { Capability } from '@ankhorage/contracts/capabilities';\n\nimport { CAPABILITIES } from '../capabilities';\nimport { create } from './commands/create';\nimport { sync } from './commands/sync';\n\nconst CREATE_COMMAND = {\n path: ['create'],\n capability: 'zora.create' satisfies Capability['id'],\n summary: 'Materialize a canonical ZORA component for a target platform.',\n} as const;\nconst SYNC_COMMAND = {\n path: ['sync'],\n capability: 'zora.sync' satisfies Capability['id'],\n summary: 'Regenerate the declared ZORA web materialization.',\n} as const;\n\nconst provider = {\n id: '@ankhorage/zora',\n category: 'zora',\n version: readPackageVersion(),\n capabilities: CAPABILITIES,\n commands: [CREATE_COMMAND, SYNC_COMMAND],\n handlers: [\n {\n path: CREATE_COMMAND.path,\n handler: create,\n },\n {\n path: SYNC_COMMAND.path,\n handler: sync,\n },\n ],\n} satisfies AnkhRuntimeCommandProvider;\n\nexport default provider;\n\n/*** Read the installed ZORA version for the Ankh provider manifest. */\nfunction readPackageVersion(): string {\n const packageJson = JSON.parse(\n readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), '../../package.json'), 'utf8'),\n ) as { readonly version?: unknown };\n\n if (typeof packageJson.version !== 'string' || packageJson.version.trim() === '') {\n throw new Error('ZORA package.json must define a non-empty version.');\n }\n\n return packageJson.version;\n}\n"]}
@@ -3,6 +3,14 @@ export declare const COMPONENT_THEME_AUTHORING: {
3
3
  readonly scope: "component";
4
4
  readonly allowInstanceOverride: true;
5
5
  };
6
+ export declare const INVERTED_POLARITY_PROP: {
7
+ readonly type: "boolean";
8
+ readonly category: "Theme";
9
+ readonly label: "Inverted surface polarity (inherits when omitted; false resets)";
10
+ readonly authoring: {
11
+ readonly authority: "instance";
12
+ };
13
+ };
6
14
  export declare const FEATURE_MANIFEST_ELEMENTS: {
7
15
  readonly auth: readonly ["AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm"];
8
16
  readonly surface: readonly ["Surface"];
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,21BAgE7B,CAAC;AAEX,eAAO,MAAM,qBAAqB,gCAAiC,CAAC;AAEpE,eAAO,MAAM,sBAAsB,wCAAyC,CAAC;AAC7E,eAAO,MAAM,yBAAyB,kDAAmD,CAAC;AAE1F,eAAO,MAAM,6BAA6B,0OAmBhC,CAAC;AAEX,eAAO,MAAM,+BAA+B,o7BAKlC,CAAC;AAEX,eAAO,MAAM,uBAAuB,q8BAG1B,CAAC;AAEX,eAAO,MAAM,yBAAyB,kEAM5B,CAAC"}
1
+ {"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;CAKzB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,21BAgE7B,CAAC;AAEX,eAAO,MAAM,qBAAqB,gCAAiC,CAAC;AAEpE,eAAO,MAAM,sBAAsB,wCAAyC,CAAC;AAC7E,eAAO,MAAM,yBAAyB,kDAAmD,CAAC;AAE1F,eAAO,MAAM,6BAA6B,0OAmBhC,CAAC;AAEX,eAAO,MAAM,+BAA+B,o7BAKlC,CAAC;AAEX,eAAO,MAAM,uBAAuB,q8BAG1B,CAAC;AAEX,eAAO,MAAM,yBAAyB,kEAM5B,CAAC"}
@@ -3,6 +3,12 @@ export const COMPONENT_THEME_AUTHORING = {
3
3
  scope: 'component',
4
4
  allowInstanceOverride: true,
5
5
  };
6
+ export const INVERTED_POLARITY_PROP = {
7
+ type: 'boolean',
8
+ category: 'Theme',
9
+ label: 'Inverted surface polarity (inherits when omitted; false resets)',
10
+ authoring: { authority: 'instance' },
11
+ };
6
12
  export const FEATURE_MANIFEST_ELEMENTS = {
7
13
  auth: [
8
14
  'AuthScreen',
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"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","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n ],\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n 'date-picker': ['DatePicker'],\n dialog: ['Dialog'],\n form: ['Form', 'FormError', 'Field'],\n gradient: ['Gradient'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n 'content-rail': ['ContentRail'],\n layout: ['Divider', 'Grid', 'Screen', 'ScrollView', 'View'],\n section: ['ScreenSection', 'SectionHeader'],\n list: ['FlatList', 'SectionList'],\n pagination: ['Pagination'],\n rating: ['Rating'],\n skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],\n tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],\n toolbar: ['Toolbar'],\n typography: ['Heading', 'Text'],\n 'time-picker': ['TimePicker'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n chess: ['ChessBoard', 'OpeningBook'],\n game: ['Game', 'GameField', 'GameEntity', 'GameInputZone', 'GameMeasurementProbe', 'GameOverlay'],\n tabletop: ['TabletopTable', 'PokerTrainingTable'],\n} as const;\n\nexport const CONTAINER_ALLOWED_CHILDREN = [\n 'ActivityIndicator',\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n 'Accordion',\n 'Surface',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'MediaCard',\n 'MetricCard',\n 'Chip',\n 'ChipGroup',\n 'DataTable',\n 'DatePicker',\n 'Dialog',\n 'Pagination',\n 'Rating',\n 'SearchInput',\n 'Tabs',\n 'Toolbar',\n 'Skeleton',\n 'SkeletonCard',\n 'SkeletonList',\n 'SkeletonText',\n 'IconButton',\n 'Uploader',\n 'FlatList',\n 'SectionList',\n 'BottomSheet',\n 'ProductCard',\n 'View',\n 'ScrollView',\n 'Grid',\n 'Gradient',\n 'Divider',\n 'Text',\n 'Heading',\n 'Icon',\n 'Image',\n 'Hero',\n 'KeyboardAvoidingView',\n 'Button',\n 'ButtonGroup',\n 'RadioGroup',\n 'ThemeModeToggle',\n 'TextInput',\n 'TimePicker',\n 'Form',\n 'Card',\n 'EmptyState',\n 'SectionHeader',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'ProgressRing',\n 'ReaderSurface',\n 'ContentRail',\n 'MissingElement',\n] as const;\n\nexport const GAME_ALLOWED_CHILDREN = ['Game', 'GameField'] as const;\n\nexport const CHESS_ALLOWED_CHILDREN = ['ChessBoard', 'OpeningBook'] as const;\nexport const TABLETOP_ALLOWED_CHILDREN = ['TabletopTable', 'PokerTrainingTable'] as const;\n\nexport const CONTENT_RAIL_ALLOWED_CHILDREN = [\n 'Chip',\n 'ChipGroup',\n 'MediaCard',\n 'MetricCard',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'Button',\n 'IconButton',\n 'View',\n 'ScrollView',\n 'Card',\n 'Image',\n 'ProductCard',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'MissingElement',\n] as const;\n\nexport const SCREEN_SECTION_ALLOWED_CHILDREN = [\n ...CONTAINER_ALLOWED_CHILDREN,\n ...CHESS_ALLOWED_CHILDREN,\n ...GAME_ALLOWED_CHILDREN,\n ...TABLETOP_ALLOWED_CHILDREN,\n] as const;\n\nexport const SCREEN_ALLOWED_CHILDREN = [\n 'ScreenSection',\n ...SCREEN_SECTION_ALLOWED_CHILDREN,\n] as const;\n\nexport const ZORA_THEME_TOKEN_FAMILIES = [\n 'colors',\n 'spacing',\n 'radii',\n 'typography',\n 'shadows',\n] as const;\n"]}
1
+ {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"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","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const INVERTED_POLARITY_PROP = {\n type: 'boolean',\n category: 'Theme',\n label: 'Inverted surface polarity (inherits when omitted; false resets)',\n authoring: { authority: 'instance' },\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n ],\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n 'date-picker': ['DatePicker'],\n dialog: ['Dialog'],\n form: ['Form', 'FormError', 'Field'],\n gradient: ['Gradient'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n 'content-rail': ['ContentRail'],\n layout: ['Divider', 'Grid', 'Screen', 'ScrollView', 'View'],\n section: ['ScreenSection', 'SectionHeader'],\n list: ['FlatList', 'SectionList'],\n pagination: ['Pagination'],\n rating: ['Rating'],\n skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],\n tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],\n toolbar: ['Toolbar'],\n typography: ['Heading', 'Text'],\n 'time-picker': ['TimePicker'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n chess: ['ChessBoard', 'OpeningBook'],\n game: ['Game', 'GameField', 'GameEntity', 'GameInputZone', 'GameMeasurementProbe', 'GameOverlay'],\n tabletop: ['TabletopTable', 'PokerTrainingTable'],\n} as const;\n\nexport const CONTAINER_ALLOWED_CHILDREN = [\n 'ActivityIndicator',\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n 'Accordion',\n 'Surface',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'MediaCard',\n 'MetricCard',\n 'Chip',\n 'ChipGroup',\n 'DataTable',\n 'DatePicker',\n 'Dialog',\n 'Pagination',\n 'Rating',\n 'SearchInput',\n 'Tabs',\n 'Toolbar',\n 'Skeleton',\n 'SkeletonCard',\n 'SkeletonList',\n 'SkeletonText',\n 'IconButton',\n 'Uploader',\n 'FlatList',\n 'SectionList',\n 'BottomSheet',\n 'ProductCard',\n 'View',\n 'ScrollView',\n 'Grid',\n 'Gradient',\n 'Divider',\n 'Text',\n 'Heading',\n 'Icon',\n 'Image',\n 'Hero',\n 'KeyboardAvoidingView',\n 'Button',\n 'ButtonGroup',\n 'RadioGroup',\n 'ThemeModeToggle',\n 'TextInput',\n 'TimePicker',\n 'Form',\n 'Card',\n 'EmptyState',\n 'SectionHeader',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'ProgressRing',\n 'ReaderSurface',\n 'ContentRail',\n 'MissingElement',\n] as const;\n\nexport const GAME_ALLOWED_CHILDREN = ['Game', 'GameField'] as const;\n\nexport const CHESS_ALLOWED_CHILDREN = ['ChessBoard', 'OpeningBook'] as const;\nexport const TABLETOP_ALLOWED_CHILDREN = ['TabletopTable', 'PokerTrainingTable'] as const;\n\nexport const CONTENT_RAIL_ALLOWED_CHILDREN = [\n 'Chip',\n 'ChipGroup',\n 'MediaCard',\n 'MetricCard',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'Button',\n 'IconButton',\n 'View',\n 'ScrollView',\n 'Card',\n 'Image',\n 'ProductCard',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'MissingElement',\n] as const;\n\nexport const SCREEN_SECTION_ALLOWED_CHILDREN = [\n ...CONTAINER_ALLOWED_CHILDREN,\n ...CHESS_ALLOWED_CHILDREN,\n ...GAME_ALLOWED_CHILDREN,\n ...TABLETOP_ALLOWED_CHILDREN,\n] as const;\n\nexport const SCREEN_ALLOWED_CHILDREN = [\n 'ScreenSection',\n ...SCREEN_SECTION_ALLOWED_CHILDREN,\n] as const;\n\nexport const ZORA_THEME_TOKEN_FAMILIES = [\n 'colors',\n 'spacing',\n 'radii',\n 'typography',\n 'shadows',\n] as const;\n"]}
@@ -4,6 +4,15 @@ export declare const appBarMeta: {
4
4
  readonly directManifestNode: false;
5
5
  readonly allowedChildren: readonly [];
6
6
  readonly note: "Application chrome component; not represented as a manifest node in v1.";
7
- readonly props: {};
7
+ readonly props: {
8
+ readonly inverted: {
9
+ readonly type: "boolean";
10
+ readonly category: "Theme";
11
+ readonly label: "Inverted surface polarity (inherits when omitted; false resets)";
12
+ readonly authoring: {
13
+ readonly authority: "instance";
14
+ };
15
+ };
16
+ };
8
17
  };
9
18
  //# sourceMappingURL=appBarMeta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appBarMeta.d.ts","sourceRoot":"","sources":["../../../src/features/app-bar/appBarMeta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;CAOe,CAAC"}
1
+ {"version":3,"file":"appBarMeta.d.ts","sourceRoot":"","sources":["../../../src/features/app-bar/appBarMeta.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAOe,CAAC"}
@@ -1,9 +1,10 @@
1
+ import { INVERTED_POLARITY_PROP } from '../../constants/authoring';
1
2
  export const appBarMeta = {
2
3
  name: 'AppBar',
3
4
  category: 'component',
4
5
  directManifestNode: false,
5
6
  allowedChildren: [],
6
7
  note: 'Application chrome component; not represented as a manifest node in v1.',
7
- props: {},
8
+ props: { inverted: INVERTED_POLARITY_PROP },
8
9
  };
9
10
  //# sourceMappingURL=appBarMeta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appBarMeta.js","sourceRoot":"","sources":["../../../src/features/app-bar/appBarMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,yEAAyE;IAC/E,KAAK,EAAE,EAAE;CAC2B,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../types/authoring';\n\nexport const appBarMeta = {\n name: 'AppBar',\n category: 'component',\n directManifestNode: false,\n allowedChildren: [],\n note: 'Application chrome component; not represented as a manifest node in v1.',\n props: {},\n} as const satisfies ZoraComponentMeta;\n"]}
1
+ {"version":3,"file":"appBarMeta.js","sourceRoot":"","sources":["../../../src/features/app-bar/appBarMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,yEAAyE;IAC/E,KAAK,EAAE,EAAE,QAAQ,EAAE,sBAAsB,EAAE;CACP,CAAC","sourcesContent":["import { INVERTED_POLARITY_PROP } from '../../constants/authoring';\nimport type { ZoraComponentMeta } from '../../types/authoring';\n\nexport const appBarMeta = {\n name: 'AppBar',\n category: 'component',\n directManifestNode: false,\n allowedChildren: [],\n note: 'Application chrome component; not represented as a manifest node in v1.',\n props: { inverted: INVERTED_POLARITY_PROP },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { AppHeaderProps } from '../../../../types/app-header';
3
+ /*** Composes application header chrome through the scoped ZORA AppBar. */
4
+ export declare function AppHeader(props: AppHeaderProps): React.JSX.Element;
5
+ //# sourceMappingURL=AppHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../../src/features/app-header/adapters/inbound/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAE9C"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { AppBar } from '../../../app-bar/public';
3
+ /*** Composes application header chrome through the scoped ZORA AppBar. */
4
+ export function AppHeader(props) {
5
+ return <AppBar {...props}/>;
6
+ }
7
+ //# sourceMappingURL=AppHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppHeader.js","sourceRoot":"","sources":["../../../../../src/features/app-header/adapters/inbound/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;AAC/B,CAAC","sourcesContent":["import React from 'react';\n\nimport type { AppHeaderProps } from '../../../../types/app-header';\nimport { AppBar } from '../../../app-bar/public';\n\n/*** Composes application header chrome through the scoped ZORA AppBar. */\nexport function AppHeader(props: AppHeaderProps) {\n return <AppBar {...props} />;\n}\n"]}
@@ -0,0 +1,18 @@
1
+ export declare const appHeaderMeta: {
2
+ readonly name: "AppHeader";
3
+ readonly category: "pattern";
4
+ readonly directManifestNode: false;
5
+ readonly allowedChildren: readonly [];
6
+ readonly note: "Application header built from AppBar. Inverted is inherited surface polarity; false resets the subtree to normal polarity.";
7
+ readonly props: {
8
+ readonly inverted: {
9
+ readonly type: "boolean";
10
+ readonly category: "Theme";
11
+ readonly label: "Inverted surface polarity (inherits when omitted; false resets)";
12
+ readonly authoring: {
13
+ readonly authority: "instance";
14
+ };
15
+ };
16
+ };
17
+ };
18
+ //# sourceMappingURL=appHeaderMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHeaderMeta.d.ts","sourceRoot":"","sources":["../../../src/features/app-header/appHeaderMeta.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CASY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { INVERTED_POLARITY_PROP } from '../../constants/authoring';
2
+ export const appHeaderMeta = {
3
+ name: 'AppHeader',
4
+ category: 'pattern',
5
+ directManifestNode: false,
6
+ allowedChildren: [],
7
+ note: 'Application header built from AppBar. Inverted is inherited surface polarity; false resets the subtree to normal polarity.',
8
+ props: {
9
+ inverted: INVERTED_POLARITY_PROP,
10
+ },
11
+ };
12
+ //# sourceMappingURL=appHeaderMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHeaderMeta.js","sourceRoot":"","sources":["../../../src/features/app-header/appHeaderMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,SAAS;IACnB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,4HAA4H;IAClI,KAAK,EAAE;QACL,QAAQ,EAAE,sBAAsB;KACjC;CACmC,CAAC","sourcesContent":["import { INVERTED_POLARITY_PROP } from '../../constants/authoring';\nimport type { ZoraComponentMeta } from '../../types/authoring';\n\nexport const appHeaderMeta = {\n name: 'AppHeader',\n category: 'pattern',\n directManifestNode: false,\n allowedChildren: [],\n note: 'Application header built from AppBar. Inverted is inherited surface polarity; false resets the subtree to normal polarity.',\n props: {\n inverted: INVERTED_POLARITY_PROP,\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,3 @@
1
+ export type { AppHeaderProps } from '../../types/app-header';
2
+ export { AppHeader } from './adapters/inbound/AppHeader';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/app-header/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AppHeader } from './adapters/inbound/AppHeader';
2
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/app-header/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["export type { AppHeaderProps } from '../../types/app-header';\nexport { AppHeader } from './adapters/inbound/AppHeader';\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { GameProps } from '../../../../types/gamePresentation';
3
3
  /*** Bind one serializable game definition to a local transient session and presentation field. */
4
- export declare function Game(props: GameProps): React.JSX.Element;
4
+ export declare const Game: (props: GameProps) => React.ReactElement | null;
5
5
  //# sourceMappingURL=Game.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../../../../src/features/game/adapters/inbound/Game.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAOpE,kGAAkG;AAClG,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,qBA+BpC"}
1
+ {"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../../../../src/features/game/adapters/inbound/Game.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAQpE,kGAAkG;AAClG,eAAO,MAAM,IAAI,iDAAgC,CAAC"}
@@ -1,12 +1,15 @@
1
1
  import { RuntimeRendererConfigProvider } from '@ankhorage/runtime';
2
2
  import React from 'react';
3
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
3
4
  import { createGameBindingContext } from '../../composition/createGameBindingContext';
4
5
  import { createGameMeasurementRegistry } from '../../composition/createGameMeasurementRegistry';
5
6
  import { GameRuntimeContext } from '../../composition/GameRuntimeContext';
6
7
  import { useGameRuntime } from '../../composition/useGameRuntime';
7
8
  import { GameField } from './GameField';
8
9
  /*** Bind one serializable game definition to a local transient session and presentation field. */
9
- export function Game(props) {
10
+ export const Game = withZoraThemeScope(GameInner);
11
+ /*** Render the game session inside the inherited ZORA theme scope. */
12
+ function GameInner(props) {
10
13
  const runtime = useGameRuntime(props);
11
14
  const [measurementRegistry] = React.useState(createGameMeasurementRegistry);
12
15
  const runtimeContext = React.useMemo(() => ({ ...runtime, ...measurementRegistry, interactionPolicy: props.interactionPolicy }), [measurementRegistry, props.interactionPolicy, runtime]);
@@ -1 +1 @@
1
- {"version":3,"file":"Game.js","sourceRoot":"","sources":["../../../../../src/features/game/adapters/inbound/Game.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,kGAAkG;AAClG,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAC1F,CAAC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CACxD,CAAC;IACF,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CACxC,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EACrE,CAAC,OAAO,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,OAAO,CACL,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CACjD;MAAA,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,CACzD;QAAA,CAAC,SAAS,CACR,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAChF,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3D,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CACtD,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CACjE,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAE3C;UAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;QAAA,EAAE,SAAS,CACb;MAAA,EAAE,6BAA6B,CACjC;IAAA,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAC/B,CAAC;AACJ,CAAC","sourcesContent":["import { RuntimeRendererConfigProvider } from '@ankhorage/runtime';\nimport React from 'react';\n\nimport type { GameProps } from '../../../../types/gamePresentation';\nimport { createGameBindingContext } from '../../composition/createGameBindingContext';\nimport { createGameMeasurementRegistry } from '../../composition/createGameMeasurementRegistry';\nimport { GameRuntimeContext } from '../../composition/GameRuntimeContext';\nimport { useGameRuntime } from '../../composition/useGameRuntime';\nimport { GameField } from './GameField';\n\n/*** Bind one serializable game definition to a local transient session and presentation field. */\nexport function Game(props: GameProps) {\n const runtime = useGameRuntime(props);\n const [measurementRegistry] = React.useState(createGameMeasurementRegistry);\n const runtimeContext = React.useMemo(\n () => ({ ...runtime, ...measurementRegistry, interactionPolicy: props.interactionPolicy }),\n [measurementRegistry, props.interactionPolicy, runtime],\n );\n const runtimeBindingConfig = React.useMemo(\n () => ({ bindingContext: createGameBindingContext(runtime.session) }),\n [runtime.session],\n );\n\n return (\n <GameRuntimeContext.Provider value={runtimeContext}>\n <RuntimeRendererConfigProvider value={runtimeBindingConfig}>\n <GameField\n {...(props.aspectRatio === undefined ? {} : { aspectRatio: props.aspectRatio })}\n {...(props.minHeight === undefined ? {} : { minHeight: props.minHeight })}\n {...(props.fill === undefined ? {} : { fill: props.fill })}\n {...(props.clip === undefined ? {} : { clip: props.clip })}\n {...(props.accessibilityLabel === undefined\n ? {}\n : { accessibilityLabel: props.accessibilityLabel })}\n {...(props.testID === undefined ? {} : { testID: props.testID })}\n interactionPolicy={props.interactionPolicy}\n >\n {props.children}\n </GameField>\n </RuntimeRendererConfigProvider>\n </GameRuntimeContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"file":"Game.js","sourceRoot":"","sources":["../../../../../src/features/game/adapters/inbound/Game.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,kGAAkG;AAClG,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAElD,sEAAsE;AACtE,SAAS,SAAS,CAAC,KAAgB;IACjC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAC1F,CAAC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CACxD,CAAC;IACF,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CACxC,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EACrE,CAAC,OAAO,CAAC,OAAO,CAAC,CAClB,CAAC;IAEF,OAAO,CACL,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CACjD;MAAA,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,CACzD;QAAA,CAAC,SAAS,CACR,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAChF,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3D,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CACtD,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CACjE,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAE3C;UAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;QAAA,EAAE,SAAS,CACb;MAAA,EAAE,6BAA6B,CACjC;IAAA,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAC/B,CAAC;AACJ,CAAC","sourcesContent":["import { RuntimeRendererConfigProvider } from '@ankhorage/runtime';\nimport React from 'react';\n\nimport type { GameProps } from '../../../../types/gamePresentation';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { createGameBindingContext } from '../../composition/createGameBindingContext';\nimport { createGameMeasurementRegistry } from '../../composition/createGameMeasurementRegistry';\nimport { GameRuntimeContext } from '../../composition/GameRuntimeContext';\nimport { useGameRuntime } from '../../composition/useGameRuntime';\nimport { GameField } from './GameField';\n\n/*** Bind one serializable game definition to a local transient session and presentation field. */\nexport const Game = withZoraThemeScope(GameInner);\n\n/*** Render the game session inside the inherited ZORA theme scope. */\nfunction GameInner(props: GameProps) {\n const runtime = useGameRuntime(props);\n const [measurementRegistry] = React.useState(createGameMeasurementRegistry);\n const runtimeContext = React.useMemo(\n () => ({ ...runtime, ...measurementRegistry, interactionPolicy: props.interactionPolicy }),\n [measurementRegistry, props.interactionPolicy, runtime],\n );\n const runtimeBindingConfig = React.useMemo(\n () => ({ bindingContext: createGameBindingContext(runtime.session) }),\n [runtime.session],\n );\n\n return (\n <GameRuntimeContext.Provider value={runtimeContext}>\n <RuntimeRendererConfigProvider value={runtimeBindingConfig}>\n <GameField\n {...(props.aspectRatio === undefined ? {} : { aspectRatio: props.aspectRatio })}\n {...(props.minHeight === undefined ? {} : { minHeight: props.minHeight })}\n {...(props.fill === undefined ? {} : { fill: props.fill })}\n {...(props.clip === undefined ? {} : { clip: props.clip })}\n {...(props.accessibilityLabel === undefined\n ? {}\n : { accessibilityLabel: props.accessibilityLabel })}\n {...(props.testID === undefined ? {} : { testID: props.testID })}\n interactionPolicy={props.interactionPolicy}\n >\n {props.children}\n </GameField>\n </RuntimeRendererConfigProvider>\n </GameRuntimeContext.Provider>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { GameEntityProps } from '../../../../types/gamePresentation';
3
3
  /*** Render one generic positioned game entity without owning gameplay semantics. */
4
- export declare function GameEntity(props: GameEntityProps): React.JSX.Element;
4
+ export declare const GameEntity: (props: GameEntityProps) => React.ReactElement | null;
5
5
  //# sourceMappingURL=GameEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameEntity.d.ts","sourceRoot":"","sources":["../../../../../src/features/game/adapters/inbound/GameEntity.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAI1E,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAkBhD"}
1
+ {"version":3,"file":"GameEntity.d.ts","sourceRoot":"","sources":["../../../../../src/features/game/adapters/inbound/GameEntity.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAK1E,oFAAoF;AACpF,eAAO,MAAM,UAAU,uDAAsC,CAAC"}