@ankhorage/zora 23.4.2 → 24.0.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 (268) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/constants/authoring.d.ts +3 -3
  4. package/dist/constants/authoring.d.ts.map +1 -1
  5. package/dist/constants/authoring.js +1 -1
  6. package/dist/constants/authoring.js.map +1 -1
  7. package/dist/features/accordion/accordionItemMeta.d.ts +1 -1
  8. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  9. package/dist/features/card/cardMeta.d.ts +1 -1
  10. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  11. package/dist/features/card/postCardMeta.d.ts +1 -1
  12. package/dist/features/chat/messageBubbleMeta.d.ts +1 -1
  13. package/dist/features/dialog/dialogMeta.d.ts +2 -2
  14. package/dist/features/gradient/gradientMeta.d.ts +1 -1
  15. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
  16. package/dist/features/layout/gridMeta.d.ts +1 -1
  17. package/dist/features/layout/screenMeta.d.ts +1 -1
  18. package/dist/features/layout/scrollViewMeta.d.ts +1 -1
  19. package/dist/features/layout/viewMeta.d.ts +1 -1
  20. package/dist/features/list/flatListMeta.d.ts +1 -1
  21. package/dist/features/list/sectionListMeta.d.ts +1 -1
  22. package/dist/features/reader/adapters/inbound/Reader.d.ts +9 -0
  23. package/dist/features/reader/adapters/inbound/Reader.d.ts.map +1 -0
  24. package/dist/features/reader/adapters/inbound/{ReaderSurface.js → Reader.js} +33 -9
  25. package/dist/features/reader/adapters/inbound/Reader.js.map +1 -0
  26. package/dist/features/reader/composition/useReaderController.d.ts +24 -0
  27. package/dist/features/reader/composition/useReaderController.d.ts.map +1 -0
  28. package/dist/features/reader/composition/useReaderController.js +73 -0
  29. package/dist/features/reader/composition/useReaderController.js.map +1 -0
  30. package/dist/features/reader/meta.d.ts +5 -9
  31. package/dist/features/reader/meta.d.ts.map +1 -1
  32. package/dist/features/reader/meta.js +3 -7
  33. package/dist/features/reader/meta.js.map +1 -1
  34. package/dist/features/reader/public.d.ts +2 -2
  35. package/dist/features/reader/public.d.ts.map +1 -1
  36. package/dist/features/reader/public.js +1 -1
  37. package/dist/features/reader/public.js.map +1 -1
  38. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +2 -2
  39. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
  40. package/dist/features/registry/bindableComponentMeta.d.ts +5 -9
  41. package/dist/features/registry/bindableComponentMeta.d.ts.map +1 -1
  42. package/dist/features/registry/bindableComponentMeta.js +4 -4
  43. package/dist/features/registry/bindableComponentMeta.js.map +1 -1
  44. package/dist/features/registry/componentMeta.js +2 -2
  45. package/dist/features/registry/componentMeta.js.map +1 -1
  46. package/dist/features/scanner/meta.d.ts +2 -2
  47. package/dist/features/section/screenSectionMeta.d.ts +1 -1
  48. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  49. package/dist/features/tabs/tabPanelMeta.d.ts +1 -1
  50. package/dist/index.d.ts +2 -2
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +1 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/types/reader.d.ts +3 -21
  55. package/dist/types/reader.d.ts.map +1 -1
  56. package/dist/types/reader.js.map +1 -1
  57. package/package.json +6 -5
  58. package/src/constants/authoring.ts +1 -1
  59. package/src/features/reader/adapters/inbound/{ReaderSurface.test.ts → Reader.test.ts} +6 -5
  60. package/src/features/reader/adapters/inbound/{ReaderSurface.tsx → Reader.tsx} +67 -33
  61. package/src/features/reader/composition/useReaderController.ts +110 -0
  62. package/src/features/reader/meta.ts +3 -8
  63. package/src/features/reader/public.ts +2 -2
  64. package/src/features/reader/utils/resolveReaderProgress.test.ts +1 -1
  65. package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +2 -2
  66. package/src/features/registry/bindableComponentMeta.test.ts +2 -2
  67. package/src/features/registry/bindableComponentMeta.ts +4 -4
  68. package/src/features/registry/componentMeta.test.ts +5 -5
  69. package/src/features/registry/componentMeta.ts +2 -2
  70. package/src/index.ts +2 -2
  71. package/src/interactionPolicy.test.ts +3 -3
  72. package/src/showcaseCoverage.test.ts +1 -1
  73. package/src/types/reader.ts +16 -29
  74. package/web-dist/chunks/{Accordion-ct805sm7.js → Accordion-0acrkcyd.js} +3 -3
  75. package/web-dist/chunks/{Accordion-m4brcz8v.js → Accordion-122fdtp0.js} +6 -6
  76. package/web-dist/chunks/{Accordion-6xrse5my.js → Accordion-1dah5bqg.js} +1 -1
  77. package/web-dist/chunks/{Accordion-yae3m7g7.js → Accordion-2afa2z5x.js} +4 -4
  78. package/web-dist/chunks/{Accordion-0047zyx7.js → Accordion-2bsecqwf.js} +4 -4
  79. package/web-dist/chunks/{Accordion-basd2gyf.js → Accordion-2csc57rv.js} +2 -2
  80. package/web-dist/chunks/{Accordion-73x0gt11.js → Accordion-2d3hbryv.js} +7 -7
  81. package/web-dist/chunks/{Accordion-8fne0gf9.js → Accordion-2q6p67xe.js} +5 -5
  82. package/web-dist/chunks/{Accordion-axxgq453.js → Accordion-3f5vnfk8.js} +7 -7
  83. package/web-dist/chunks/{Accordion-gkx1kszz.js → Accordion-3hg1wprb.js} +2 -2
  84. package/web-dist/chunks/{Accordion-d24n7srd.js → Accordion-3rv8psbv.js} +4 -4
  85. package/web-dist/chunks/{Accordion-8z7naxj2.js → Accordion-74rt38d4.js} +1 -1
  86. package/web-dist/chunks/{Accordion-2dqpjya2.js → Accordion-7bb37pdc.js} +7 -7
  87. package/web-dist/chunks/{Accordion-adc7k14q.js → Accordion-7q1qf7c0.js} +5 -5
  88. package/web-dist/chunks/{Accordion-zgzrah0a.js → Accordion-7rvtpcwt.js} +6 -6
  89. package/web-dist/chunks/{Accordion-a1ervhyg.js → Accordion-9rhbc32v.js} +14 -14
  90. package/web-dist/chunks/{Accordion-37n4bt3g.js → Accordion-ae7m1dkn.js} +2 -2
  91. package/web-dist/chunks/{Accordion-ekjwm5dw.js → Accordion-ansfkmye.js} +4 -4
  92. package/web-dist/chunks/{Accordion-qyssgtwe.js → Accordion-apwk2wjr.js} +2 -2
  93. package/web-dist/chunks/{Accordion-vjgk1sz7.js → Accordion-avnt7nkz.js} +2 -2
  94. package/web-dist/chunks/{Accordion-wxbh98kp.js → Accordion-brt4drx3.js} +9 -9
  95. package/web-dist/chunks/{Accordion-6ytrt7xj.js → Accordion-cs8k948c.js} +6 -6
  96. package/web-dist/chunks/{Accordion-693gvpde.js → Accordion-egq42kdy.js} +4 -4
  97. package/web-dist/chunks/{Accordion-8bxy3g7a.js → Accordion-fvkwq99h.js} +4 -4
  98. package/web-dist/chunks/{Accordion-mbqtk7y0.js → Accordion-g0c439br.js} +2 -2
  99. package/web-dist/chunks/{Accordion-3m6de80j.js → Accordion-h46676ex.js} +2 -2
  100. package/web-dist/chunks/{Accordion-7y9wt946.js → Accordion-hwd5ntgm.js} +2 -2
  101. package/web-dist/chunks/{Accordion-k6dg8zd2.js → Accordion-jdwwf626.js} +3 -3
  102. package/web-dist/chunks/{Accordion-q9zge7kd.js → Accordion-jkhq422b.js} +2 -2
  103. package/web-dist/chunks/{Accordion-p0fh69qq.js → Accordion-jtrpmvzs.js} +6 -6
  104. package/web-dist/chunks/{Accordion-tdjh81ax.js → Accordion-k8tfv274.js} +6 -6
  105. package/web-dist/chunks/{Accordion-1xpq9bxk.js → Accordion-kcwdwd5z.js} +8 -8
  106. package/web-dist/chunks/{Accordion-v4n4ygwn.js → Accordion-kpap0trj.js} +1 -1
  107. package/web-dist/chunks/{Accordion-rmp9sfra.js → Accordion-kpxyryke.js} +2 -2
  108. package/web-dist/chunks/{Accordion-wgesygtk.js → Accordion-mdc214tk.js} +11 -11
  109. package/web-dist/chunks/{Accordion-nkd7nhyx.js → Accordion-nanvzve9.js} +5 -5
  110. package/web-dist/chunks/{Accordion-ph15h010.js → Accordion-nay7yexy.js} +11 -11
  111. package/web-dist/chunks/{Accordion-9qvmwkxe.js → Accordion-nh0cs9hq.js} +31 -1
  112. package/web-dist/chunks/{Accordion-snyacfyh.js → Accordion-nj9g6p48.js} +9 -9
  113. package/web-dist/chunks/{Accordion-dbxpv5eq.js → Accordion-q1mnv5g8.js} +4 -4
  114. package/web-dist/chunks/{Accordion-1e1nfhtc.js → Accordion-qj4qxx1p.js} +6 -6
  115. package/web-dist/chunks/{Accordion-bz2dzbad.js → Accordion-qsxx5q34.js} +10 -10
  116. package/web-dist/chunks/{Accordion-ancjf7q8.js → Accordion-rg763dfb.js} +4 -4
  117. package/web-dist/chunks/{Accordion-g2d4fskg.js → Accordion-rkt7qdmj.js} +2 -2
  118. package/web-dist/chunks/{Accordion-pvz3r99n.js → Accordion-sek2q4r1.js} +1 -1
  119. package/web-dist/chunks/{Accordion-0yhkg017.js → Accordion-sxfqnnx6.js} +10 -10
  120. package/web-dist/chunks/{Accordion-wytj5wwc.js → Accordion-sxzax4x4.js} +4 -4
  121. package/web-dist/chunks/{Accordion-e2kr1z3g.js → Accordion-t3hm5tcv.js} +6 -6
  122. package/web-dist/chunks/{Accordion-0yvepteg.js → Accordion-vewrj1kr.js} +6 -6
  123. package/web-dist/chunks/Accordion-vgkvvdvg.js +4295 -0
  124. package/web-dist/chunks/{Accordion-kxa15n19.js → Accordion-x3tphbvw.js} +1 -1
  125. package/web-dist/chunks/{Accordion-ebw6xj6x.js → Accordion-x5v1p4df.js} +5 -5
  126. package/web-dist/chunks/{Accordion-70g7n6tk.js → Accordion-y2eyyqrk.js} +9 -9
  127. package/web-dist/chunks/ReadiumCSS-after.css-2389epxb.js +477 -0
  128. package/web-dist/chunks/ReadiumCSS-after.css-8se5z2w3.js +492 -0
  129. package/web-dist/chunks/ReadiumCSS-after.css-x15y26r7.js +532 -0
  130. package/web-dist/chunks/ReadiumCSS-after.css-z23c32jh.js +594 -0
  131. package/web-dist/chunks/ReadiumCSS-before.css-1t98py7y.js +531 -0
  132. package/web-dist/chunks/ReadiumCSS-before.css-hszzyv5p.js +531 -0
  133. package/web-dist/chunks/ReadiumCSS-before.css-mjvegqjq.js +532 -0
  134. package/web-dist/chunks/ReadiumCSS-before.css-pnpxcrwx.js +531 -0
  135. package/web-dist/chunks/ReadiumCSS-default.css-8gxjy9na.js +185 -0
  136. package/web-dist/chunks/ReadiumCSS-default.css-m8ts96nj.js +182 -0
  137. package/web-dist/chunks/ReadiumCSS-default.css-rg94gstv.js +164 -0
  138. package/web-dist/chunks/ReadiumCSS-default.css-y8p5hk56.js +164 -0
  139. package/web-dist/chunks/ReadiumCSS-ebpaj_fonts_patch.css-50yy1az9.js +84 -0
  140. package/web-dist/chunks/zip-reader-f0yphjb9.js +103 -0
  141. package/web-dist/components/accordion/Accordion.js +12 -12
  142. package/web-dist/components/accordion-item/AccordionItem.js +12 -12
  143. package/web-dist/components/activity-indicator/ActivityIndicator.js +4 -4
  144. package/web-dist/components/app-bar/AppBar.js +19 -19
  145. package/web-dist/components/app-header/AppHeader.js +19 -19
  146. package/web-dist/components/app-shell/AppShell.js +6 -6
  147. package/web-dist/components/auth-screen/AuthScreen.js +21 -21
  148. package/web-dist/components/avatar/Avatar.js +12 -12
  149. package/web-dist/components/avatar-group/AvatarGroup.js +12 -12
  150. package/web-dist/components/badge/Badge.js +7 -7
  151. package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +20 -20
  152. package/web-dist/components/bottom-sheet/BottomSheet.js +8 -8
  153. package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +8 -8
  154. package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +8 -8
  155. package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +8 -8
  156. package/web-dist/components/bottom-sheet-view/BottomSheetView.js +8 -8
  157. package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +8 -8
  158. package/web-dist/components/breadcrumbs/Breadcrumbs.js +14 -14
  159. package/web-dist/components/button/Button.js +12 -12
  160. package/web-dist/components/button-group/ButtonGroup.js +12 -12
  161. package/web-dist/components/camera-permission-view/CameraPermissionView.js +20 -20
  162. package/web-dist/components/card/Card.js +19 -19
  163. package/web-dist/components/card-back/CardBack.js +4 -4
  164. package/web-dist/components/card-hand/CardHand.js +4 -4
  165. package/web-dist/components/chat-list-item/ChatListItem.js +16 -16
  166. package/web-dist/components/checkbox/Checkbox.js +12 -12
  167. package/web-dist/components/checkbox-group/CheckboxGroup.js +12 -12
  168. package/web-dist/components/chess-board/ChessBoard.js +4 -4
  169. package/web-dist/components/chip/Chip.js +13 -13
  170. package/web-dist/components/chip-group/ChipGroup.js +13 -13
  171. package/web-dist/components/collection-editor/CollectionEditor.js +19 -19
  172. package/web-dist/components/content-rail/ContentRail.js +14 -14
  173. package/web-dist/components/data-table/DataTable.js +27 -27
  174. package/web-dist/components/date-picker/DatePicker.js +17 -17
  175. package/web-dist/components/dialog/Dialog.js +12 -12
  176. package/web-dist/components/divider/Divider.js +6 -6
  177. package/web-dist/components/empty-state/EmptyState.js +20 -20
  178. package/web-dist/components/field/Field.js +12 -12
  179. package/web-dist/components/flat-list/FlatList.js +13 -13
  180. package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +21 -21
  181. package/web-dist/components/form/Form.js +16 -16
  182. package/web-dist/components/form-actions/FormActions.js +16 -16
  183. package/web-dist/components/form-error/FormError.js +16 -16
  184. package/web-dist/components/game/Game.js +7 -7
  185. package/web-dist/components/game-entity/GameEntity.js +7 -7
  186. package/web-dist/components/game-field/GameField.js +7 -7
  187. package/web-dist/components/game-input-zone/GameInputZone.js +7 -7
  188. package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +7 -7
  189. package/web-dist/components/game-overlay/GameOverlay.js +7 -7
  190. package/web-dist/components/gradient/Gradient.js +7 -7
  191. package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +7 -7
  192. package/web-dist/components/graph-view/GraphView.js +1 -1
  193. package/web-dist/components/grid/Grid.js +6 -6
  194. package/web-dist/components/heading/Heading.js +6 -6
  195. package/web-dist/components/hero/Hero.js +19 -19
  196. package/web-dist/components/icon/Icon.js +4 -4
  197. package/web-dist/components/icon-button/IconButton.js +12 -12
  198. package/web-dist/components/image/Image.js +10 -10
  199. package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +3 -3
  200. package/web-dist/components/list/List.js +13 -13
  201. package/web-dist/components/list-item/ListItem.js +13 -13
  202. package/web-dist/components/list-section/ListSection.js +13 -13
  203. package/web-dist/components/media-card/MediaCard.js +19 -19
  204. package/web-dist/components/message-bubble/MessageBubble.js +16 -16
  205. package/web-dist/components/metric-card/MetricCard.js +19 -19
  206. package/web-dist/components/missing-element/MissingElement.js +12 -12
  207. package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +21 -21
  208. package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +21 -21
  209. package/web-dist/components/opening-book/OpeningBook.js +4 -4
  210. package/web-dist/components/otp-form/OtpForm.js +21 -21
  211. package/web-dist/components/pagination/Pagination.js +13 -13
  212. package/web-dist/components/palette-item/PaletteItem.js +19 -19
  213. package/web-dist/components/playing-card/PlayingCard.js +4 -4
  214. package/web-dist/components/poker-training-table/PokerTrainingTable.js +4 -4
  215. package/web-dist/components/popover-menu/PopoverMenu.js +14 -14
  216. package/web-dist/components/post-card/PostCard.js +19 -19
  217. package/web-dist/components/product-card/ProductCard.js +19 -19
  218. package/web-dist/components/progress/Progress.js +10 -10
  219. package/web-dist/components/progress-ring/ProgressRing.js +10 -10
  220. package/web-dist/components/radio/Radio.js +14 -14
  221. package/web-dist/components/radio-group/RadioGroup.js +14 -14
  222. package/web-dist/components/rating/Rating.js +9 -9
  223. package/web-dist/components/reader/Reader.d.ts +3 -0
  224. package/web-dist/components/reader/Reader.js +38562 -0
  225. package/web-dist/components/reader/index.d.ts +1 -0
  226. package/web-dist/components/reader/index.js +2 -0
  227. package/web-dist/components/scan-overlay/ScanOverlay.js +20 -20
  228. package/web-dist/components/screen/Screen.js +6 -6
  229. package/web-dist/components/screen-section/ScreenSection.js +10 -10
  230. package/web-dist/components/scroll-view/ScrollView.js +6 -6
  231. package/web-dist/components/search-input/SearchInput.js +13 -13
  232. package/web-dist/components/section-header/SectionHeader.js +10 -10
  233. package/web-dist/components/section-list/SectionList.js +13 -13
  234. package/web-dist/components/select/Select.js +16 -16
  235. package/web-dist/components/selectable-item/SelectableItem.js +6 -6
  236. package/web-dist/components/selection-provider/SelectionProvider.js +6 -6
  237. package/web-dist/components/sign-in-form/SignInForm.js +21 -21
  238. package/web-dist/components/sign-up-form/SignUpForm.js +21 -21
  239. package/web-dist/components/skeleton/Skeleton.js +22 -22
  240. package/web-dist/components/skeleton-card/SkeletonCard.js +22 -22
  241. package/web-dist/components/skeleton-list/SkeletonList.js +22 -22
  242. package/web-dist/components/skeleton-text/SkeletonText.js +22 -22
  243. package/web-dist/components/surface/Surface.js +7 -7
  244. package/web-dist/components/switch/Switch.js +7 -7
  245. package/web-dist/components/tab/Tab.js +7 -7
  246. package/web-dist/components/tab-list/TabList.js +7 -7
  247. package/web-dist/components/tab-panel/TabPanel.js +7 -7
  248. package/web-dist/components/tabletop-table/TabletopTable.js +4 -4
  249. package/web-dist/components/tabs/Tabs.js +7 -7
  250. package/web-dist/components/text/Text.js +6 -6
  251. package/web-dist/components/text-input/TextInput.js +13 -13
  252. package/web-dist/components/time-picker/TimePicker.js +18 -18
  253. package/web-dist/components/timeline/Timeline.js +11 -11
  254. package/web-dist/components/toast/Toast.js +9 -9
  255. package/web-dist/components/toast-provider/ToastProvider.js +9 -9
  256. package/web-dist/components/toolbar/Toolbar.js +19 -19
  257. package/web-dist/components/tree-item/TreeItem.js +18 -18
  258. package/web-dist/components/uploader/Uploader.js +22 -22
  259. package/web-dist/components/view/View.js +6 -6
  260. package/web-dist/manifest.json +1615 -1601
  261. package/web-dist/runtime/ZoraProvider.js +9 -9
  262. package/dist/features/reader/adapters/inbound/ReaderSurface.d.ts +0 -11
  263. package/dist/features/reader/adapters/inbound/ReaderSurface.d.ts.map +0 -1
  264. package/dist/features/reader/adapters/inbound/ReaderSurface.js.map +0 -1
  265. package/web-dist/components/reader-surface/ReaderSurface.d.ts +0 -3
  266. package/web-dist/components/reader-surface/ReaderSurface.js +0 -360
  267. package/web-dist/components/reader-surface/index.d.ts +0 -1
  268. package/web-dist/components/reader-surface/index.js +0 -2
@@ -0,0 +1,73 @@
1
+ import React from 'react';
2
+ import { Image } from 'react-native';
3
+ const INITIAL_STATE = {
4
+ canGoNext: false,
5
+ canGoPrevious: false,
6
+ page: 1,
7
+ progress: 0,
8
+ status: 'loading',
9
+ };
10
+ /*** Coordinate themed Reader chrome with the standalone ReaderView's controlled events. */
11
+ export function useReaderController(props) {
12
+ const { source, readerColorScheme, fontScale, lineHeight, onLocationChange, onReaderError, onOpenExternalLink, onNextPage, onPreviousPage, } = props;
13
+ const sourceUri = resolveReaderSourceUri(source);
14
+ const [snapshot, setSnapshot] = React.useState({
15
+ sourceUri,
16
+ value: INITIAL_STATE,
17
+ });
18
+ const [failure, setFailure] = React.useState({ sourceUri });
19
+ const [command, setCommand] = React.useState();
20
+ const state = snapshot.sourceUri === sourceUri ? snapshot.value : INITIAL_STATE;
21
+ const error = failure.sourceUri === sourceUri ? failure.event : undefined;
22
+ const handleStateChange = React.useCallback((next) => {
23
+ setSnapshot({ sourceUri, value: next });
24
+ setFailure({ sourceUri });
25
+ if (next.location !== undefined)
26
+ void onLocationChange?.(next.location);
27
+ }, [sourceUri, onLocationChange]);
28
+ const handleError = React.useCallback((event) => {
29
+ setFailure({ sourceUri, event });
30
+ void onReaderError?.(event);
31
+ }, [sourceUri, onReaderError]);
32
+ const handleOpenExternalLink = React.useCallback((event) => {
33
+ void onOpenExternalLink?.(event);
34
+ }, [onOpenExternalLink]);
35
+ const navigate = (type) => {
36
+ if (sourceUri === undefined)
37
+ return;
38
+ setCommand((previous) => ({
39
+ id: (previous?.id ?? 0) + 1,
40
+ sourceUri,
41
+ type,
42
+ }));
43
+ if (type === 'next')
44
+ void onNextPage?.();
45
+ else
46
+ void onPreviousPage?.();
47
+ };
48
+ return {
49
+ appearance: {
50
+ colorScheme: readerColorScheme ?? 'system',
51
+ fontScale: fontScale ?? 1,
52
+ lineHeight: lineHeight === 'compact' ? 1.25 : lineHeight === 'relaxed' ? 1.75 : 1.5,
53
+ },
54
+ command,
55
+ error,
56
+ goNext: () => navigate('next'),
57
+ goPrevious: () => navigate('previous'),
58
+ handleStateChange,
59
+ handleError,
60
+ handleOpenExternalLink,
61
+ sourceUri,
62
+ state,
63
+ };
64
+ }
65
+ /*** Resolve a ZORA file source to the independent ReaderView's URI. */
66
+ function resolveReaderSourceUri(source) {
67
+ if (typeof source === 'string')
68
+ return source;
69
+ if (typeof source === 'number')
70
+ return Image.resolveAssetSource(source).uri;
71
+ return source?.uri;
72
+ }
73
+ //# sourceMappingURL=useReaderController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReaderController.js","sourceRoot":"","sources":["../../../../src/features/reader/composition/useReaderController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,MAAM,aAAa,GAAwB;IACzC,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,KAAK;IACpB,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,SAAS;CAClB,CAAC;AAiBF,2FAA2F;AAC3F,MAAM,UAAU,mBAAmB,CAAC,KAAsB;IACxD,MAAM,EACJ,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,cAAc,GACf,GAAG,KAAK,CAAC;IACV,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7C,SAAS;QACT,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAGzC,EAAE,SAAS,EAAE,CAAC,CAAC;IAClB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAiB,CAAC;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,IAAyB,EAAE,EAAE;QAC5B,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC,EACD,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAC9B,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAuB,EAAE,EAAE;QAC1B,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,KAAK,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,SAAS,EAAE,aAAa,CAAC,CAC3B,CAAC;IACF,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC9C,CAAC,KAA+B,EAAE,EAAE;QAClC,KAAK,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,IAA2B,EAAE,EAAE;QAC/C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;YAC3B,SAAS;YACT,IAAI;SACL,CAAC,CAAC,CAAC;QACJ,IAAI,IAAI,KAAK,MAAM;YAAE,KAAK,UAAU,EAAE,EAAE,CAAC;;YACpC,KAAK,cAAc,EAAE,EAAE,CAAC;IAC/B,CAAC,CAAC;IACF,OAAO;QACL,UAAU,EAAE;YACV,WAAW,EAAE,iBAAiB,IAAI,QAAQ;YAC1C,SAAS,EAAE,SAAS,IAAI,CAAC;YACzB,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;SACpF;QACD,OAAO;QACP,KAAK;QACL,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtC,iBAAiB;QACjB,WAAW;QACX,sBAAsB;QACtB,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAS,sBAAsB,CAAC,MAA6B;IAC3D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;IAC5E,OAAO,MAAM,EAAE,GAAG,CAAC;AACrB,CAAC","sourcesContent":["import type { ReaderCommand, ReaderErrorEvent, ReaderViewportState } from '@ankhorage/reader';\nimport React from 'react';\nimport { Image } from 'react-native';\n\nimport type { ReaderProps } from '../../../types/reader';\n\nconst INITIAL_STATE: ReaderViewportState = {\n canGoNext: false,\n canGoPrevious: false,\n page: 1,\n progress: 0,\n status: 'loading',\n};\n\ntype ControllerProps = Pick<\n ReaderProps,\n | 'source'\n | 'format'\n | 'location'\n | 'readerColorScheme'\n | 'fontScale'\n | 'lineHeight'\n | 'onNextPage'\n | 'onPreviousPage'\n | 'onLocationChange'\n | 'onOpenExternalLink'\n | 'onReaderError'\n>;\n\n/*** Coordinate themed Reader chrome with the standalone ReaderView's controlled events. */\nexport function useReaderController(props: ControllerProps) {\n const {\n source,\n readerColorScheme,\n fontScale,\n lineHeight,\n onLocationChange,\n onReaderError,\n onOpenExternalLink,\n onNextPage,\n onPreviousPage,\n } = props;\n const sourceUri = resolveReaderSourceUri(source);\n const [snapshot, setSnapshot] = React.useState({\n sourceUri,\n value: INITIAL_STATE,\n });\n const [failure, setFailure] = React.useState<{\n sourceUri: string | undefined;\n event?: ReaderErrorEvent;\n }>({ sourceUri });\n const [command, setCommand] = React.useState<ReaderCommand>();\n const state = snapshot.sourceUri === sourceUri ? snapshot.value : INITIAL_STATE;\n const error = failure.sourceUri === sourceUri ? failure.event : undefined;\n\n const handleStateChange = React.useCallback(\n (next: ReaderViewportState) => {\n setSnapshot({ sourceUri, value: next });\n setFailure({ sourceUri });\n if (next.location !== undefined) void onLocationChange?.(next.location);\n },\n [sourceUri, onLocationChange],\n );\n const handleError = React.useCallback(\n (event: ReaderErrorEvent) => {\n setFailure({ sourceUri, event });\n void onReaderError?.(event);\n },\n [sourceUri, onReaderError],\n );\n const handleOpenExternalLink = React.useCallback(\n (event: { readonly url: string }) => {\n void onOpenExternalLink?.(event);\n },\n [onOpenExternalLink],\n );\n const navigate = (type: ReaderCommand['type']) => {\n if (sourceUri === undefined) return;\n setCommand((previous) => ({\n id: (previous?.id ?? 0) + 1,\n sourceUri,\n type,\n }));\n if (type === 'next') void onNextPage?.();\n else void onPreviousPage?.();\n };\n return {\n appearance: {\n colorScheme: readerColorScheme ?? 'system',\n fontScale: fontScale ?? 1,\n lineHeight: lineHeight === 'compact' ? 1.25 : lineHeight === 'relaxed' ? 1.75 : 1.5,\n },\n command,\n error,\n goNext: () => navigate('next'),\n goPrevious: () => navigate('previous'),\n handleStateChange,\n handleError,\n handleOpenExternalLink,\n sourceUri,\n state,\n };\n}\n\n/*** Resolve a ZORA file source to the independent ReaderView's URI. */\nfunction resolveReaderSourceUri(source: ReaderProps['source']): string | undefined {\n if (typeof source === 'string') return source;\n if (typeof source === 'number') return Image.resolveAssetSource(source).uri;\n return source?.uri;\n}\n"]}
@@ -1,7 +1,7 @@
1
- export declare const readerSurfaceMeta: {
2
- readonly name: "ReaderSurface";
1
+ export declare const readerMeta: {
2
+ readonly name: "Reader";
3
3
  readonly category: "pattern";
4
- readonly description: "Adapter-neutral EPUB and PDF reader shell with controlled chrome, progress, and navigation events.";
4
+ readonly description: "Themed EPUB and PDF reader with standalone engine, progress and navigation events.";
5
5
  readonly directManifestNode: true;
6
6
  readonly requirements: {
7
7
  readonly capabilities: {
@@ -119,17 +119,13 @@ export declare const readerSurfaceMeta: {
119
119
  };
120
120
  };
121
121
  readonly slots: {
122
- readonly viewport: {
123
- readonly label: "Reader viewport adapter";
124
- readonly allowedChildren: readonly [];
125
- };
126
122
  readonly headerActions: {
127
123
  readonly label: "Header actions";
128
- readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
124
+ readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "Reader", "ContentRail", "MissingElement"];
129
125
  };
130
126
  readonly footerActions: {
131
127
  readonly label: "Footer actions";
132
- readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
128
+ readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "Reader", "ContentRail", "MissingElement"];
133
129
  };
134
130
  };
135
131
  readonly props: {
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/features/reader/meta.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkSQ,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/features/reader/meta.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Re,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';
2
2
  const EMPTY_EVENT_FIELDS = [];
3
- export const readerSurfaceMeta = {
4
- name: 'ReaderSurface',
3
+ export const readerMeta = {
4
+ name: 'Reader',
5
5
  category: 'pattern',
6
- description: 'Adapter-neutral EPUB and PDF reader shell with controlled chrome, progress, and navigation events.',
6
+ description: 'Themed EPUB and PDF reader with standalone engine, progress and navigation events.',
7
7
  directManifestNode: true,
8
8
  requirements: {
9
9
  capabilities: { ebookReader: true },
@@ -84,10 +84,6 @@ export const readerSurfaceMeta = {
84
84
  },
85
85
  },
86
86
  slots: {
87
- viewport: {
88
- label: 'Reader viewport adapter',
89
- allowedChildren: [],
90
- },
91
87
  headerActions: {
92
88
  label: 'Header actions',
93
89
  allowedChildren: [...CONTAINER_ALLOWED_CHILDREN],
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/features/reader/meta.ts"],"names":[],"mappings":"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","sourcesContent":["import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';\nimport type { ZoraComponentMeta } from '../../types/authoring';\n\nconst EMPTY_EVENT_FIELDS = [] as const;\n\nexport const readerSurfaceMeta = {\n name: 'ReaderSurface',\n category: 'pattern',\n description:\n 'Adapter-neutral EPUB and PDF reader shell with controlled chrome, progress, and navigation events.',\n directManifestNode: true,\n requirements: {\n capabilities: { ebookReader: true },\n },\n allowedChildren: [],\n blueprint: {\n label: 'Reader',\n defaultProps: {\n format: 'epub',\n status: 'idle',\n showChrome: true,\n readerColorScheme: 'system',\n fontScale: 1,\n lineHeight: 'normal',\n },\n },\n events: {\n previousPage: {\n label: 'Previous page',\n eventType: 'reader.previousPage',\n description: 'Requests navigation to the previous page.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n nextPage: {\n label: 'Next page',\n eventType: 'reader.nextPage',\n description: 'Requests navigation to the next page.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n locationChange: {\n label: 'Location change',\n eventType: 'reader.locationChange',\n description: 'Emitted by the adapter after the destination has been displayed.',\n payloadFields: [\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'locator', type: 'string', label: 'Opaque locator' },\n { path: 'page', type: 'number', label: 'Page' },\n { path: 'pageCount', type: 'number', label: 'Page count' },\n { path: 'progression', type: 'number', label: 'Progression' },\n { path: 'chapterId', type: 'string', label: 'Chapter ID' },\n { path: 'chapterTitle', type: 'string', label: 'Chapter title' },\n { path: 'trigger', type: 'string', label: 'Navigation trigger' },\n ],\n },\n openContents: {\n label: 'Open contents',\n eventType: 'reader.openContents',\n description: 'Requests the app-owned table of contents.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n openAppearance: {\n label: 'Open appearance',\n eventType: 'reader.openAppearance',\n description: 'Requests the app-owned reader appearance controls.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n toggleHighlight: {\n label: 'Toggle highlight',\n eventType: 'reader.toggleHighlight',\n description: 'Requests the app-owned highlight action.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n openExternalLink: {\n label: 'Open external link',\n eventType: 'reader.openExternalLink',\n description: 'Emitted when publication content requests an external URL.',\n payloadFields: [{ path: 'url', type: 'string', label: 'URL' }],\n },\n readerError: {\n label: 'Reader error',\n eventType: 'reader.error',\n description: 'Emitted when the adapter rejects or cannot load a document.',\n payloadFields: [\n { path: 'code', type: 'string', label: 'Error code' },\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'message', type: 'string', label: 'Message' },\n ],\n },\n },\n slots: {\n viewport: {\n label: 'Reader viewport adapter',\n allowedChildren: [],\n },\n headerActions: {\n label: 'Header actions',\n allowedChildren: [...CONTAINER_ALLOWED_CHILDREN],\n },\n footerActions: {\n label: 'Footer actions',\n allowedChildren: [...CONTAINER_ALLOWED_CHILDREN],\n },\n },\n props: {\n source: {\n type: 'media',\n category: 'Document',\n label: 'Source',\n mediaKinds: ['file'],\n },\n format: {\n type: 'enum',\n category: 'Document',\n label: 'Format',\n enum: ['epub', 'pdf'],\n default: 'epub',\n },\n location: {\n type: 'string',\n category: 'State',\n label: 'Location',\n },\n status: {\n type: 'enum',\n category: 'State',\n label: 'Status',\n enum: ['idle', 'loading', 'ready', 'error'],\n default: 'idle',\n },\n page: {\n type: 'number',\n category: 'State',\n label: 'Page',\n },\n pageCount: {\n type: 'number',\n category: 'State',\n label: 'Page count',\n },\n progress: {\n type: 'number',\n category: 'State',\n label: 'Progress',\n },\n canGoPrevious: {\n type: 'boolean',\n category: 'State',\n label: 'Can go previous',\n },\n canGoNext: {\n type: 'boolean',\n category: 'State',\n label: 'Can go next',\n },\n title: {\n type: 'string',\n category: 'Content',\n label: 'Title',\n },\n subtitle: {\n type: 'string',\n category: 'Content',\n label: 'Subtitle',\n },\n chapterLabel: {\n type: 'string',\n category: 'Content',\n label: 'Chapter label',\n },\n pageLabel: {\n type: 'string',\n category: 'Content',\n label: 'Page label',\n },\n previousPageLabel: {\n type: 'string',\n category: 'Content',\n label: 'Previous page label',\n default: 'Previous page',\n },\n nextPageLabel: {\n type: 'string',\n category: 'Content',\n label: 'Next page label',\n default: 'Next page',\n },\n contentsLabel: {\n type: 'string',\n category: 'Content',\n label: 'Contents label',\n default: 'Table of contents',\n },\n appearanceLabel: {\n type: 'string',\n category: 'Content',\n label: 'Appearance label',\n default: 'Reading appearance',\n },\n highlightLabel: {\n type: 'string',\n category: 'Content',\n label: 'Highlight label',\n default: 'Toggle highlight',\n },\n loadingLabel: {\n type: 'string',\n category: 'Content',\n label: 'Loading label',\n default: 'Loading document…',\n },\n errorTitle: {\n type: 'string',\n category: 'Content',\n label: 'Error title',\n default: 'Unable to open this document.',\n },\n unavailableTitle: {\n type: 'string',\n category: 'Content',\n label: 'Unavailable title',\n default: 'Reader preview unavailable.',\n },\n showChrome: {\n type: 'boolean',\n category: 'Chrome',\n label: 'Show chrome',\n default: true,\n },\n readerColorScheme: {\n type: 'enum',\n category: 'Appearance',\n label: 'Color scheme',\n enum: ['system', 'light', 'dark', 'sepia'],\n default: 'system',\n },\n fontScale: {\n type: 'number',\n category: 'Appearance',\n label: 'Font scale',\n default: 1,\n },\n lineHeight: {\n type: 'enum',\n category: 'Appearance',\n label: 'Line height',\n enum: ['compact', 'normal', 'relaxed'],\n default: 'normal',\n },\n highlighted: {\n type: 'boolean',\n category: 'State',\n label: 'Highlighted',\n default: false,\n },\n onPreviousPage: {\n type: 'action',\n category: 'Events',\n label: 'Previous page action',\n },\n onNextPage: {\n type: 'action',\n category: 'Events',\n label: 'Next page action',\n },\n onLocationChange: {\n type: 'action',\n category: 'Events',\n label: 'Location change action',\n },\n onOpenContents: {\n type: 'action',\n category: 'Events',\n label: 'Open contents action',\n },\n onOpenAppearance: {\n type: 'action',\n category: 'Events',\n label: 'Open appearance action',\n },\n onToggleHighlight: {\n type: 'action',\n category: 'Events',\n label: 'Toggle highlight action',\n },\n onOpenExternalLink: {\n type: 'action',\n category: 'Events',\n label: 'Open external link action',\n },\n onReaderError: {\n type: 'action',\n category: 'Events',\n label: 'Reader error action',\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/features/reader/meta.ts"],"names":[],"mappings":"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","sourcesContent":["import { CONTAINER_ALLOWED_CHILDREN } from '../../constants/authoring';\nimport type { ZoraComponentMeta } from '../../types/authoring';\n\nconst EMPTY_EVENT_FIELDS = [] as const;\n\nexport const readerMeta = {\n name: 'Reader',\n category: 'pattern',\n description: 'Themed EPUB and PDF reader with standalone engine, progress and navigation events.',\n directManifestNode: true,\n requirements: {\n capabilities: { ebookReader: true },\n },\n allowedChildren: [],\n blueprint: {\n label: 'Reader',\n defaultProps: {\n format: 'epub',\n status: 'idle',\n showChrome: true,\n readerColorScheme: 'system',\n fontScale: 1,\n lineHeight: 'normal',\n },\n },\n events: {\n previousPage: {\n label: 'Previous page',\n eventType: 'reader.previousPage',\n description: 'Requests navigation to the previous page.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n nextPage: {\n label: 'Next page',\n eventType: 'reader.nextPage',\n description: 'Requests navigation to the next page.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n locationChange: {\n label: 'Location change',\n eventType: 'reader.locationChange',\n description: 'Emitted by the adapter after the destination has been displayed.',\n payloadFields: [\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'locator', type: 'string', label: 'Opaque locator' },\n { path: 'page', type: 'number', label: 'Page' },\n { path: 'pageCount', type: 'number', label: 'Page count' },\n { path: 'progression', type: 'number', label: 'Progression' },\n { path: 'chapterId', type: 'string', label: 'Chapter ID' },\n { path: 'chapterTitle', type: 'string', label: 'Chapter title' },\n { path: 'trigger', type: 'string', label: 'Navigation trigger' },\n ],\n },\n openContents: {\n label: 'Open contents',\n eventType: 'reader.openContents',\n description: 'Requests the app-owned table of contents.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n openAppearance: {\n label: 'Open appearance',\n eventType: 'reader.openAppearance',\n description: 'Requests the app-owned reader appearance controls.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n toggleHighlight: {\n label: 'Toggle highlight',\n eventType: 'reader.toggleHighlight',\n description: 'Requests the app-owned highlight action.',\n payloadFields: EMPTY_EVENT_FIELDS,\n },\n openExternalLink: {\n label: 'Open external link',\n eventType: 'reader.openExternalLink',\n description: 'Emitted when publication content requests an external URL.',\n payloadFields: [{ path: 'url', type: 'string', label: 'URL' }],\n },\n readerError: {\n label: 'Reader error',\n eventType: 'reader.error',\n description: 'Emitted when the adapter rejects or cannot load a document.',\n payloadFields: [\n { path: 'code', type: 'string', label: 'Error code' },\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'message', type: 'string', label: 'Message' },\n ],\n },\n },\n slots: {\n headerActions: {\n label: 'Header actions',\n allowedChildren: [...CONTAINER_ALLOWED_CHILDREN],\n },\n footerActions: {\n label: 'Footer actions',\n allowedChildren: [...CONTAINER_ALLOWED_CHILDREN],\n },\n },\n props: {\n source: {\n type: 'media',\n category: 'Document',\n label: 'Source',\n mediaKinds: ['file'],\n },\n format: {\n type: 'enum',\n category: 'Document',\n label: 'Format',\n enum: ['epub', 'pdf'],\n default: 'epub',\n },\n location: {\n type: 'string',\n category: 'State',\n label: 'Location',\n },\n status: {\n type: 'enum',\n category: 'State',\n label: 'Status',\n enum: ['idle', 'loading', 'ready', 'error'],\n default: 'idle',\n },\n page: {\n type: 'number',\n category: 'State',\n label: 'Page',\n },\n pageCount: {\n type: 'number',\n category: 'State',\n label: 'Page count',\n },\n progress: {\n type: 'number',\n category: 'State',\n label: 'Progress',\n },\n canGoPrevious: {\n type: 'boolean',\n category: 'State',\n label: 'Can go previous',\n },\n canGoNext: {\n type: 'boolean',\n category: 'State',\n label: 'Can go next',\n },\n title: {\n type: 'string',\n category: 'Content',\n label: 'Title',\n },\n subtitle: {\n type: 'string',\n category: 'Content',\n label: 'Subtitle',\n },\n chapterLabel: {\n type: 'string',\n category: 'Content',\n label: 'Chapter label',\n },\n pageLabel: {\n type: 'string',\n category: 'Content',\n label: 'Page label',\n },\n previousPageLabel: {\n type: 'string',\n category: 'Content',\n label: 'Previous page label',\n default: 'Previous page',\n },\n nextPageLabel: {\n type: 'string',\n category: 'Content',\n label: 'Next page label',\n default: 'Next page',\n },\n contentsLabel: {\n type: 'string',\n category: 'Content',\n label: 'Contents label',\n default: 'Table of contents',\n },\n appearanceLabel: {\n type: 'string',\n category: 'Content',\n label: 'Appearance label',\n default: 'Reading appearance',\n },\n highlightLabel: {\n type: 'string',\n category: 'Content',\n label: 'Highlight label',\n default: 'Toggle highlight',\n },\n loadingLabel: {\n type: 'string',\n category: 'Content',\n label: 'Loading label',\n default: 'Loading document…',\n },\n errorTitle: {\n type: 'string',\n category: 'Content',\n label: 'Error title',\n default: 'Unable to open this document.',\n },\n unavailableTitle: {\n type: 'string',\n category: 'Content',\n label: 'Unavailable title',\n default: 'Reader preview unavailable.',\n },\n showChrome: {\n type: 'boolean',\n category: 'Chrome',\n label: 'Show chrome',\n default: true,\n },\n readerColorScheme: {\n type: 'enum',\n category: 'Appearance',\n label: 'Color scheme',\n enum: ['system', 'light', 'dark', 'sepia'],\n default: 'system',\n },\n fontScale: {\n type: 'number',\n category: 'Appearance',\n label: 'Font scale',\n default: 1,\n },\n lineHeight: {\n type: 'enum',\n category: 'Appearance',\n label: 'Line height',\n enum: ['compact', 'normal', 'relaxed'],\n default: 'normal',\n },\n highlighted: {\n type: 'boolean',\n category: 'State',\n label: 'Highlighted',\n default: false,\n },\n onPreviousPage: {\n type: 'action',\n category: 'Events',\n label: 'Previous page action',\n },\n onNextPage: {\n type: 'action',\n category: 'Events',\n label: 'Next page action',\n },\n onLocationChange: {\n type: 'action',\n category: 'Events',\n label: 'Location change action',\n },\n onOpenContents: {\n type: 'action',\n category: 'Events',\n label: 'Open contents action',\n },\n onOpenAppearance: {\n type: 'action',\n category: 'Events',\n label: 'Open appearance action',\n },\n onToggleHighlight: {\n type: 'action',\n category: 'Events',\n label: 'Toggle highlight action',\n },\n onOpenExternalLink: {\n type: 'action',\n category: 'Events',\n label: 'Open external link action',\n },\n onReaderError: {\n type: 'action',\n category: 'Events',\n label: 'Reader error action',\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1,4 +1,4 @@
1
- export type { ReaderColorScheme, ReaderDocumentFormat, ReaderErrorCode, ReaderErrorEvent, ReaderExternalLinkEvent, ReaderLineHeight, ReaderLocationChangeEvent, ReaderNavigationTrigger, ReaderResolvedSource, ReaderStatus, ReaderSurfaceProps, } from '../../types/reader';
2
- export { ReaderSurface } from './adapters/inbound/ReaderSurface';
1
+ export type { ReaderColorScheme, ReaderDocumentFormat, ReaderErrorCode, ReaderErrorEvent, ReaderExternalLinkEvent, ReaderLineHeight, ReaderLocationChangeEvent, ReaderNavigationTrigger, ReaderProps, ReaderResolvedSource, ReaderStatus, } from '../../types/reader';
2
+ export { Reader } from './adapters/inbound/Reader';
3
3
  export { resolveReaderProgress } from './utils/resolveReaderProgress';
4
4
  //# sourceMappingURL=public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/reader/public.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/reader/public.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,3 +1,3 @@
1
- export { ReaderSurface } from './adapters/inbound/ReaderSurface';
1
+ export { Reader } from './adapters/inbound/Reader';
2
2
  export { resolveReaderProgress } from './utils/resolveReaderProgress';
3
3
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/reader/public.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["export type {\n ReaderColorScheme,\n ReaderDocumentFormat,\n ReaderErrorCode,\n ReaderErrorEvent,\n ReaderExternalLinkEvent,\n ReaderLineHeight,\n ReaderLocationChangeEvent,\n ReaderNavigationTrigger,\n ReaderResolvedSource,\n ReaderStatus,\n ReaderSurfaceProps,\n} from '../../types/reader';\nexport { ReaderSurface } from './adapters/inbound/ReaderSurface';\nexport { resolveReaderProgress } from './utils/resolveReaderProgress';\n"]}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/reader/public.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["export type {\n ReaderColorScheme,\n ReaderDocumentFormat,\n ReaderErrorCode,\n ReaderErrorEvent,\n ReaderExternalLinkEvent,\n ReaderLineHeight,\n ReaderLocationChangeEvent,\n ReaderNavigationTrigger,\n ReaderProps,\n ReaderResolvedSource,\n ReaderStatus,\n} from '../../types/reader';\nexport { Reader } from './adapters/inbound/Reader';\nexport { resolveReaderProgress } from './utils/resolveReaderProgress';\n"]}
@@ -39,7 +39,7 @@ import { PaletteItem } from '../palette-item/public';
39
39
  import { PopoverMenu } from '../popover-menu/public';
40
40
  import { Progress, ProgressRing } from '../progress/public';
41
41
  import { Rating } from '../rating/public';
42
- import { ReaderSurface } from '../reader/public';
42
+ import { Reader } from '../reader/public';
43
43
  import { BarcodeScannerView, CameraPermissionView, ScanOverlay } from '../scanner/public';
44
44
  import { ScreenSection, SectionHeader } from '../section/public';
45
45
  import { SelectableItem } from '../selection/public';
@@ -150,7 +150,7 @@ const _ZORA_COMPONENT_REGISTRY = {
150
150
  MissingElement,
151
151
  PostCard,
152
152
  ProductCard,
153
- ReaderSurface,
153
+ Reader,
154
154
  BarcodeScannerView,
155
155
  CameraPermissionView,
156
156
  ScanOverlay,
@@ -1 +1 @@
1
- {"version":3,"file":"ZORA_COMPONENT_REGISTRY.js","sourceRoot":"","sources":["../../../src/features/registry/ZORA_COMPONENT_REGISTRY.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { ZoraComponentRegistry } from '../../types/registry';\nimport { Accordion, AccordionItem } from '../accordion/public';\nimport { ActivityIndicator } from '../activity-indicator/public';\nimport { AppBar } from '../app-bar/public';\nimport { AppHeader } from '../app-header/public';\nimport {\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n} from '../auth/public';\nimport { Avatar, AvatarGroup } from '../avatar/public';\nimport { Badge } from '../badge/public';\nimport { BottomSheet } from '../bottom-sheet/public';\nimport { Breadcrumbs } from '../breadcrumbs/public';\nimport { Button, ButtonGroup, IconButton } from '../button/public';\nimport { Card, MediaCard, MetricCard, PostCard, ProductCard } from '../card/public';\nimport { ChatListItem, MessageBubble } from '../chat/public';\nimport { ChessBoard, OpeningBook } from '../chess/public';\nimport { Chip, ChipGroup } from '../chip/public';\nimport { CollectionEditor } from '../collection-editor/public';\nimport { ContentRail } from '../content-rail/public';\nimport { DataTable } from '../data-table/public';\nimport { DatePicker } from '../date-picker/public';\nimport { Dialog } from '../dialog/public';\nimport { EmptyState } from '../empty-state/public';\nimport { Checkbox, CheckboxGroup } from '../form/checkbox/public';\nimport { Field, Form, FormActions, FormError } from '../form/public';\nimport { Radio, RadioGroup } from '../form/radio/public';\nimport { SearchInput } from '../form/search-input/public';\nimport { Select } from '../form/select/public';\nimport { Switch } from '../form/switch/public';\nimport { TextInput } from '../form/text-input/public';\nimport {\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n} from '../game/public';\nimport { Gradient } from '../gradient/public';\nimport { Hero } from '../hero/public';\nimport { Icon } from '../icon/public';\nimport { Image } from '../image/public';\nimport { KeyboardAvoidingView } from '../keyboard-avoiding-view/public';\nimport { AppShell, Divider, Grid, Screen, ScrollView, View } from '../layout/public';\nimport { FlatList, List, ListItem, ListSection, SectionList } from '../list/public';\nimport { MissingElement } from '../missing-element/public';\nimport { Pagination } from '../pagination/public';\nimport { PaletteItem } from '../palette-item/public';\nimport { PopoverMenu } from '../popover-menu/public';\nimport { Progress, ProgressRing } from '../progress/public';\nimport { Rating } from '../rating/public';\nimport { ReaderSurface } from '../reader/public';\nimport { BarcodeScannerView, CameraPermissionView, ScanOverlay } from '../scanner/public';\nimport { ScreenSection, SectionHeader } from '../section/public';\nimport { SelectableItem } from '../selection/public';\nimport { Skeleton, SkeletonCard, SkeletonList, SkeletonText } from '../skeleton/public';\nimport { Surface } from '../surface/public';\nimport {\n CardBack,\n CardHand,\n PlayingCard,\n PokerTrainingTable,\n TabletopTable,\n} from '../tabletop/public';\nimport { Tab, TabList, TabPanel, Tabs } from '../tabs/public';\nimport { ThemeModeToggle } from '../theme/adapters/inbound/ThemeModeToggle';\nimport { TimePicker } from '../time-picker/public';\nimport { Timeline } from '../timeline/public';\nimport { Toast } from '../toast/public';\nimport { Toolbar } from '../toolbar/public';\nimport { TreeItem, TreeView } from '../tree-view/public';\nimport { Heading, Text } from '../typography/public';\nimport { Uploader } from '../uploader/public';\n\ntype ComponentPropsFor<K extends keyof typeof _ZORA_COMPONENT_REGISTRY> = React.ComponentProps<\n (typeof _ZORA_COMPONENT_REGISTRY)[K]\n>;\n\ntype AcceptsSurfaceInteractionPolicyProps<P> = 'interactionPolicy' extends keyof P\n ? InteractionPolicyProps extends Pick<P, 'interactionPolicy'>\n ? Pick<P, 'interactionPolicy'> extends InteractionPolicyProps\n ? true\n : false\n : false\n : false;\n\ntype RegistryInteractionPolicyContract = {\n [K in keyof typeof _ZORA_COMPONENT_REGISTRY]: AcceptsSurfaceInteractionPolicyProps<\n ComponentPropsFor<K>\n >;\n};\n\ntype _AssertTrue<T extends true> = T;\ntype _RegistryInteractionPolicyCheck = _AssertTrue<\n RegistryInteractionPolicyContract[keyof typeof _ZORA_COMPONENT_REGISTRY]\n>;\n\nconst _ZORA_COMPONENT_REGISTRY = {\n Accordion,\n AccordionItem,\n ActivityIndicator,\n AppBar,\n AppHeader,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Checkbox,\n CheckboxGroup,\n Chip,\n ChipGroup,\n DataTable,\n DatePicker,\n Dialog,\n Form,\n FormActions,\n FormError,\n Field,\n Gradient,\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n Heading,\n Icon,\n IconButton,\n Image,\n KeyboardAvoidingView,\n TextInput,\n MediaCard,\n MetricCard,\n Pagination,\n PopoverMenu,\n Progress,\n ProgressRing,\n Radio,\n RadioGroup,\n Rating,\n SearchInput,\n Select,\n Switch,\n Skeleton,\n SkeletonCard,\n SkeletonList,\n SkeletonText,\n Tab,\n TabList,\n TabPanel,\n Tabs,\n Text,\n TimePicker,\n Toast,\n Toolbar,\n Uploader,\n BottomSheet,\n FlatList,\n SectionList,\n ScrollView,\n View,\n ThemeModeToggle,\n Divider,\n Grid,\n Surface,\n AppShell,\n Screen,\n ScreenSection,\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n ChatListItem,\n ChessBoard,\n CollectionEditor,\n ContentRail,\n EmptyState,\n Hero,\n List,\n ListItem,\n ListSection,\n MessageBubble,\n OpeningBook,\n MissingElement,\n PostCard,\n ProductCard,\n ReaderSurface,\n BarcodeScannerView,\n CameraPermissionView,\n ScanOverlay,\n SectionHeader,\n SelectableItem,\n PaletteItem,\n CardBack,\n CardHand,\n PlayingCard,\n TabletopTable,\n PokerTrainingTable,\n Timeline,\n TreeItem,\n TreeView,\n} as const satisfies ZoraComponentRegistry;\n\nexport const ZORA_COMPONENT_REGISTRY: ZoraComponentRegistry = _ZORA_COMPONENT_REGISTRY;\n"]}
1
+ {"version":3,"file":"ZORA_COMPONENT_REGISTRY.js","sourceRoot":"","sources":["../../../src/features/registry/ZORA_COMPONENT_REGISTRY.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicyProps } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { ZoraComponentRegistry } from '../../types/registry';\nimport { Accordion, AccordionItem } from '../accordion/public';\nimport { ActivityIndicator } from '../activity-indicator/public';\nimport { AppBar } from '../app-bar/public';\nimport { AppHeader } from '../app-header/public';\nimport {\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n} from '../auth/public';\nimport { Avatar, AvatarGroup } from '../avatar/public';\nimport { Badge } from '../badge/public';\nimport { BottomSheet } from '../bottom-sheet/public';\nimport { Breadcrumbs } from '../breadcrumbs/public';\nimport { Button, ButtonGroup, IconButton } from '../button/public';\nimport { Card, MediaCard, MetricCard, PostCard, ProductCard } from '../card/public';\nimport { ChatListItem, MessageBubble } from '../chat/public';\nimport { ChessBoard, OpeningBook } from '../chess/public';\nimport { Chip, ChipGroup } from '../chip/public';\nimport { CollectionEditor } from '../collection-editor/public';\nimport { ContentRail } from '../content-rail/public';\nimport { DataTable } from '../data-table/public';\nimport { DatePicker } from '../date-picker/public';\nimport { Dialog } from '../dialog/public';\nimport { EmptyState } from '../empty-state/public';\nimport { Checkbox, CheckboxGroup } from '../form/checkbox/public';\nimport { Field, Form, FormActions, FormError } from '../form/public';\nimport { Radio, RadioGroup } from '../form/radio/public';\nimport { SearchInput } from '../form/search-input/public';\nimport { Select } from '../form/select/public';\nimport { Switch } from '../form/switch/public';\nimport { TextInput } from '../form/text-input/public';\nimport {\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n} from '../game/public';\nimport { Gradient } from '../gradient/public';\nimport { Hero } from '../hero/public';\nimport { Icon } from '../icon/public';\nimport { Image } from '../image/public';\nimport { KeyboardAvoidingView } from '../keyboard-avoiding-view/public';\nimport { AppShell, Divider, Grid, Screen, ScrollView, View } from '../layout/public';\nimport { FlatList, List, ListItem, ListSection, SectionList } from '../list/public';\nimport { MissingElement } from '../missing-element/public';\nimport { Pagination } from '../pagination/public';\nimport { PaletteItem } from '../palette-item/public';\nimport { PopoverMenu } from '../popover-menu/public';\nimport { Progress, ProgressRing } from '../progress/public';\nimport { Rating } from '../rating/public';\nimport { Reader } from '../reader/public';\nimport { BarcodeScannerView, CameraPermissionView, ScanOverlay } from '../scanner/public';\nimport { ScreenSection, SectionHeader } from '../section/public';\nimport { SelectableItem } from '../selection/public';\nimport { Skeleton, SkeletonCard, SkeletonList, SkeletonText } from '../skeleton/public';\nimport { Surface } from '../surface/public';\nimport {\n CardBack,\n CardHand,\n PlayingCard,\n PokerTrainingTable,\n TabletopTable,\n} from '../tabletop/public';\nimport { Tab, TabList, TabPanel, Tabs } from '../tabs/public';\nimport { ThemeModeToggle } from '../theme/adapters/inbound/ThemeModeToggle';\nimport { TimePicker } from '../time-picker/public';\nimport { Timeline } from '../timeline/public';\nimport { Toast } from '../toast/public';\nimport { Toolbar } from '../toolbar/public';\nimport { TreeItem, TreeView } from '../tree-view/public';\nimport { Heading, Text } from '../typography/public';\nimport { Uploader } from '../uploader/public';\n\ntype ComponentPropsFor<K extends keyof typeof _ZORA_COMPONENT_REGISTRY> = React.ComponentProps<\n (typeof _ZORA_COMPONENT_REGISTRY)[K]\n>;\n\ntype AcceptsSurfaceInteractionPolicyProps<P> = 'interactionPolicy' extends keyof P\n ? InteractionPolicyProps extends Pick<P, 'interactionPolicy'>\n ? Pick<P, 'interactionPolicy'> extends InteractionPolicyProps\n ? true\n : false\n : false\n : false;\n\ntype RegistryInteractionPolicyContract = {\n [K in keyof typeof _ZORA_COMPONENT_REGISTRY]: AcceptsSurfaceInteractionPolicyProps<\n ComponentPropsFor<K>\n >;\n};\n\ntype _AssertTrue<T extends true> = T;\ntype _RegistryInteractionPolicyCheck = _AssertTrue<\n RegistryInteractionPolicyContract[keyof typeof _ZORA_COMPONENT_REGISTRY]\n>;\n\nconst _ZORA_COMPONENT_REGISTRY = {\n Accordion,\n AccordionItem,\n ActivityIndicator,\n AppBar,\n AppHeader,\n Avatar,\n AvatarGroup,\n Badge,\n Breadcrumbs,\n Button,\n ButtonGroup,\n Card,\n Checkbox,\n CheckboxGroup,\n Chip,\n ChipGroup,\n DataTable,\n DatePicker,\n Dialog,\n Form,\n FormActions,\n FormError,\n Field,\n Gradient,\n Game,\n GameEntity,\n GameField,\n GameInputZone,\n GameMeasurementProbe,\n GameOverlay,\n Heading,\n Icon,\n IconButton,\n Image,\n KeyboardAvoidingView,\n TextInput,\n MediaCard,\n MetricCard,\n Pagination,\n PopoverMenu,\n Progress,\n ProgressRing,\n Radio,\n RadioGroup,\n Rating,\n SearchInput,\n Select,\n Switch,\n Skeleton,\n SkeletonCard,\n SkeletonList,\n SkeletonText,\n Tab,\n TabList,\n TabPanel,\n Tabs,\n Text,\n TimePicker,\n Toast,\n Toolbar,\n Uploader,\n BottomSheet,\n FlatList,\n SectionList,\n ScrollView,\n View,\n ThemeModeToggle,\n Divider,\n Grid,\n Surface,\n AppShell,\n Screen,\n ScreenSection,\n AuthScreen,\n ForgotPasswordForm,\n OAuthProviderButton,\n OAuthProviderList,\n OtpForm,\n SignInForm,\n SignUpForm,\n ChatListItem,\n ChessBoard,\n CollectionEditor,\n ContentRail,\n EmptyState,\n Hero,\n List,\n ListItem,\n ListSection,\n MessageBubble,\n OpeningBook,\n MissingElement,\n PostCard,\n ProductCard,\n Reader,\n BarcodeScannerView,\n CameraPermissionView,\n ScanOverlay,\n SectionHeader,\n SelectableItem,\n PaletteItem,\n CardBack,\n CardHand,\n PlayingCard,\n TabletopTable,\n PokerTrainingTable,\n Timeline,\n TreeItem,\n TreeView,\n} as const satisfies ZoraComponentRegistry;\n\nexport const ZORA_COMPONENT_REGISTRY: ZoraComponentRegistry = _ZORA_COMPONENT_REGISTRY;\n"]}
@@ -601,7 +601,7 @@ export declare const ZORA_BINDABLE_COMPONENT_META: {
601
601
  };
602
602
  };
603
603
  };
604
- readonly ReaderSurface: {
604
+ readonly Reader: {
605
605
  readonly props: {
606
606
  readonly inverted: {
607
607
  readonly type: "boolean";
@@ -960,9 +960,9 @@ export declare const ZORA_BINDABLE_COMPONENT_META: {
960
960
  };
961
961
  };
962
962
  };
963
- readonly name: "ReaderSurface";
963
+ readonly name: "Reader";
964
964
  readonly category: "pattern";
965
- readonly description: "Adapter-neutral EPUB and PDF reader shell with controlled chrome, progress, and navigation events.";
965
+ readonly description: "Themed EPUB and PDF reader with standalone engine, progress and navigation events.";
966
966
  readonly directManifestNode: true;
967
967
  readonly requirements: {
968
968
  readonly capabilities: {
@@ -1080,17 +1080,13 @@ export declare const ZORA_BINDABLE_COMPONENT_META: {
1080
1080
  };
1081
1081
  };
1082
1082
  readonly slots: {
1083
- readonly viewport: {
1084
- readonly label: "Reader viewport adapter";
1085
- readonly allowedChildren: readonly [];
1086
- };
1087
1083
  readonly headerActions: {
1088
1084
  readonly label: "Header actions";
1089
- readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
1085
+ readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "Reader", "ContentRail", "MissingElement"];
1090
1086
  };
1091
1087
  readonly footerActions: {
1092
1088
  readonly label: "Footer actions";
1093
- readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
1089
+ readonly allowedChildren: readonly ["ActivityIndicator", "AuthScreen", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "Reader", "ContentRail", "MissingElement"];
1094
1090
  };
1095
1091
  };
1096
1092
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bindableComponentMeta.d.ts","sourceRoot":"","sources":["../../../src/features/registry/bindableComponentMeta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4fG,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,4BAA4B,CAAC"}
1
+ {"version":3,"file":"bindableComponentMeta.d.ts","sourceRoot":"","sources":["../../../src/features/registry/bindableComponentMeta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4fG,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,4BAA4B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { INVERTED_POLARITY_PROP } from '../../constants/authoring';
2
2
  import { imageMeta } from '../image/imageMeta';
3
- import { readerSurfaceMeta } from '../reader/meta';
3
+ import { readerMeta } from '../reader/meta';
4
4
  export const ZORA_BINDABLE_COMPONENT_META = {
5
5
  Text: {
6
6
  name: 'Text',
@@ -407,9 +407,9 @@ export const ZORA_BINDABLE_COMPONENT_META = {
407
407
  },
408
408
  },
409
409
  },
410
- ReaderSurface: {
411
- ...readerSurfaceMeta,
412
- props: { ...readerSurfaceMeta.props, inverted: INVERTED_POLARITY_PROP },
410
+ Reader: {
411
+ ...readerMeta,
412
+ props: { ...readerMeta.props, inverted: INVERTED_POLARITY_PROP },
413
413
  bindings: {
414
414
  props: {
415
415
  location: {
@@ -1 +1 @@
1
- {"version":3,"file":"bindableComponentMeta.js","sourceRoot":"","sources":["../../../src/features/registry/bindableComponentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { UiComponentMetaRegistry } from '@ankhorage/contracts';\n\nimport { INVERTED_POLARITY_PROP } from '../../constants/authoring';\nimport { imageMeta } from '../image/imageMeta';\nimport { readerSurfaceMeta } from '../reader/meta';\n\nexport const ZORA_BINDABLE_COMPONENT_META = {\n Text: {\n name: 'Text',\n category: 'component',\n description: 'Displays app-facing text content.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n text: {\n label: 'Text',\n description: 'Text content rendered by the component.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n },\n },\n Heading: {\n name: 'Heading',\n category: 'component',\n description: 'Displays semantic heading text.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n text: {\n label: 'Text',\n description: 'Heading text rendered by the component.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n },\n },\n Button: {\n name: 'Button',\n category: 'component',\n description: 'Runs an action when pressed.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n children: {\n label: 'Label',\n description: 'Button label text.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the button is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n press: {\n label: 'Press',\n description: 'Runs when the button is pressed.',\n payload: {\n eventType: 'button.press',\n fields: [],\n },\n },\n },\n },\n events: {\n press: {\n label: 'Press',\n eventType: 'button.press',\n description: 'Emitted when the button action runs.',\n payloadFields: [],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n children: {\n type: 'string',\n category: 'Content',\n label: 'Label',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Image: {\n ...imageMeta,\n props: { ...imageMeta.props, inverted: INVERTED_POLARITY_PROP },\n bindings: {\n props: {\n source: {\n label: 'Source',\n description: 'Dynamic image source or asset descriptor.',\n value: {\n type: 'imageAsset',\n fields: [\n { path: 'uri', type: 'string', label: 'URI' },\n { path: 'width', type: 'number', label: 'Width' },\n { path: 'height', type: 'number', label: 'Height' },\n { path: 'alt', type: 'string', label: 'Alt text' },\n ],\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n },\n TextInput: {\n name: 'TextInput',\n category: 'component',\n description: 'Captures a string value in single-line, multiline, or secure-entry modes.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current text input value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the text input is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n description: 'Runs when the input value changes.',\n payload: {\n eventType: 'textInput.changeText',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n eventType: 'textInput.changeText',\n description: 'Emitted when the input value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Select: {\n name: 'Select',\n category: 'component',\n description: 'Captures one selected string value.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current selected value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the select is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n description: 'Runs when the selected value changes.',\n payload: {\n eventType: 'select.valueChange',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'select.valueChange',\n description: 'Emitted when the selected value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Checkbox: {\n name: 'Checkbox',\n category: 'component',\n description: 'Captures a boolean checked state.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n checked: {\n label: 'Checked',\n description: 'Current checked state.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the checkbox is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n description: 'Runs when checked state changes.',\n payload: {\n eventType: 'checkbox.checkedChange',\n fields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n eventType: 'checkbox.checkedChange',\n description: 'Emitted when the checked state changes.',\n payloadFields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n checked: {\n type: 'boolean',\n category: 'State',\n label: 'Checked',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Switch: {\n name: 'Switch',\n category: 'component',\n description: 'Captures a boolean checked state.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n checked: {\n label: 'Checked',\n description: 'Current checked state.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the switch is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n description: 'Runs when checked state changes.',\n payload: {\n eventType: 'switch.checkedChange',\n fields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n eventType: 'switch.checkedChange',\n description: 'Emitted when the checked state changes.',\n payloadFields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n checked: { type: 'boolean', category: 'State', label: 'Checked' },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled' },\n },\n },\n List: {\n name: 'List',\n category: 'pattern',\n description: 'Renders a collection of list items.',\n directManifestNode: true,\n allowedChildren: ['ListSection', 'ListItem'],\n bindings: {\n props: {\n items: {\n label: 'Items',\n description: 'Collection rendered by the list.',\n value: {\n type: 'array',\n itemType: 'object',\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n items: {\n type: 'array',\n category: 'Data',\n label: 'Items',\n },\n },\n },\n DataTable: {\n name: 'DataTable',\n category: 'component',\n description: 'Renders tabular records.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n rows: {\n label: 'Rows',\n description: 'Rows rendered by the table.',\n value: {\n type: 'array',\n itemType: 'record',\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n rows: {\n type: 'array',\n category: 'Data',\n label: 'Rows',\n },\n },\n },\n ReaderSurface: {\n ...readerSurfaceMeta,\n props: { ...readerSurfaceMeta.props, inverted: INVERTED_POLARITY_PROP },\n bindings: {\n props: {\n location: {\n label: 'Location',\n description: 'Opaque adapter locator to restore.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n page: {\n label: 'Page',\n description: 'One-based visible page.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n pageCount: {\n label: 'Page count',\n description: 'Current number of logical pages.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n progress: {\n label: 'Progress',\n description: 'Reading progression clamped from zero to one.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n status: {\n label: 'Status',\n description: 'Current reader loading status.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n previousPage: {\n label: 'Previous page',\n description: 'Requests navigation to the previous page.',\n payload: { eventType: 'reader.previousPage', fields: [] },\n },\n nextPage: {\n label: 'Next page',\n description: 'Requests navigation to the next page.',\n payload: { eventType: 'reader.nextPage', fields: [] },\n },\n locationChange: {\n label: 'Location change',\n description: 'Runs after the adapter displays a destination.',\n payload: {\n eventType: 'reader.locationChange',\n fields: [\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'locator', type: 'string', label: 'Opaque locator' },\n { path: 'page', type: 'number', label: 'Page' },\n { path: 'pageCount', type: 'number', label: 'Page count' },\n { path: 'progression', type: 'number', label: 'Progression' },\n { path: 'chapterId', type: 'string', label: 'Chapter ID' },\n { path: 'chapterTitle', type: 'string', label: 'Chapter title' },\n { path: 'trigger', type: 'string', label: 'Navigation trigger' },\n ],\n },\n },\n openContents: {\n label: 'Open contents',\n payload: { eventType: 'reader.openContents', fields: [] },\n },\n openAppearance: {\n label: 'Open appearance',\n payload: { eventType: 'reader.openAppearance', fields: [] },\n },\n toggleHighlight: {\n label: 'Toggle highlight',\n payload: { eventType: 'reader.toggleHighlight', fields: [] },\n },\n openExternalLink: {\n label: 'Open external link',\n payload: {\n eventType: 'reader.openExternalLink',\n fields: [{ path: 'url', type: 'string', label: 'URL' }],\n },\n },\n readerError: {\n label: 'Reader error',\n payload: {\n eventType: 'reader.error',\n fields: [\n { path: 'code', type: 'string', label: 'Error code' },\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'message', type: 'string', label: 'Message' },\n ],\n },\n },\n },\n },\n },\n} as const satisfies UiComponentMetaRegistry;\n\nexport type ZoraBindableComponentType = keyof typeof ZORA_BINDABLE_COMPONENT_META;\n"]}
1
+ {"version":3,"file":"bindableComponentMeta.js","sourceRoot":"","sources":["../../../src/features/registry/bindableComponentMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { UiComponentMetaRegistry } from '@ankhorage/contracts';\n\nimport { INVERTED_POLARITY_PROP } from '../../constants/authoring';\nimport { imageMeta } from '../image/imageMeta';\nimport { readerMeta } from '../reader/meta';\n\nexport const ZORA_BINDABLE_COMPONENT_META = {\n Text: {\n name: 'Text',\n category: 'component',\n description: 'Displays app-facing text content.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n text: {\n label: 'Text',\n description: 'Text content rendered by the component.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n },\n },\n Heading: {\n name: 'Heading',\n category: 'component',\n description: 'Displays semantic heading text.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n text: {\n label: 'Text',\n description: 'Heading text rendered by the component.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n },\n },\n Button: {\n name: 'Button',\n category: 'component',\n description: 'Runs an action when pressed.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n children: {\n label: 'Label',\n description: 'Button label text.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the button is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n press: {\n label: 'Press',\n description: 'Runs when the button is pressed.',\n payload: {\n eventType: 'button.press',\n fields: [],\n },\n },\n },\n },\n events: {\n press: {\n label: 'Press',\n eventType: 'button.press',\n description: 'Emitted when the button action runs.',\n payloadFields: [],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n children: {\n type: 'string',\n category: 'Content',\n label: 'Label',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Image: {\n ...imageMeta,\n props: { ...imageMeta.props, inverted: INVERTED_POLARITY_PROP },\n bindings: {\n props: {\n source: {\n label: 'Source',\n description: 'Dynamic image source or asset descriptor.',\n value: {\n type: 'imageAsset',\n fields: [\n { path: 'uri', type: 'string', label: 'URI' },\n { path: 'width', type: 'number', label: 'Width' },\n { path: 'height', type: 'number', label: 'Height' },\n { path: 'alt', type: 'string', label: 'Alt text' },\n ],\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n },\n TextInput: {\n name: 'TextInput',\n category: 'component',\n description: 'Captures a string value in single-line, multiline, or secure-entry modes.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current text input value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the text input is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n description: 'Runs when the input value changes.',\n payload: {\n eventType: 'textInput.changeText',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n changeText: {\n label: 'Change text',\n eventType: 'textInput.changeText',\n description: 'Emitted when the input value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Select: {\n name: 'Select',\n category: 'component',\n description: 'Captures one selected string value.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current selected value.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the select is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n description: 'Runs when the selected value changes.',\n payload: {\n eventType: 'select.valueChange',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'select.valueChange',\n description: 'Emitted when the selected value changes.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n value: {\n type: 'string',\n category: 'Content',\n label: 'Value',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Checkbox: {\n name: 'Checkbox',\n category: 'component',\n description: 'Captures a boolean checked state.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n checked: {\n label: 'Checked',\n description: 'Current checked state.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the checkbox is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n description: 'Runs when checked state changes.',\n payload: {\n eventType: 'checkbox.checkedChange',\n fields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n eventType: 'checkbox.checkedChange',\n description: 'Emitted when the checked state changes.',\n payloadFields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n checked: {\n type: 'boolean',\n category: 'State',\n label: 'Checked',\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n },\n },\n },\n Switch: {\n name: 'Switch',\n category: 'component',\n description: 'Captures a boolean checked state.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n checked: {\n label: 'Checked',\n description: 'Current checked state.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n disabled: {\n label: 'Disabled',\n description: 'Whether the switch is disabled.',\n value: { type: 'boolean' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n description: 'Runs when checked state changes.',\n payload: {\n eventType: 'switch.checkedChange',\n fields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n },\n },\n events: {\n checkedChange: {\n label: 'Checked change',\n eventType: 'switch.checkedChange',\n description: 'Emitted when the checked state changes.',\n payloadFields: [{ path: 'checked', type: 'boolean', label: 'Checked' }],\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n checked: { type: 'boolean', category: 'State', label: 'Checked' },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled' },\n },\n },\n List: {\n name: 'List',\n category: 'pattern',\n description: 'Renders a collection of list items.',\n directManifestNode: true,\n allowedChildren: ['ListSection', 'ListItem'],\n bindings: {\n props: {\n items: {\n label: 'Items',\n description: 'Collection rendered by the list.',\n value: {\n type: 'array',\n itemType: 'object',\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n items: {\n type: 'array',\n category: 'Data',\n label: 'Items',\n },\n },\n },\n DataTable: {\n name: 'DataTable',\n category: 'component',\n description: 'Renders tabular records.',\n directManifestNode: true,\n allowedChildren: [],\n bindings: {\n props: {\n rows: {\n label: 'Rows',\n description: 'Rows rendered by the table.',\n value: {\n type: 'array',\n itemType: 'record',\n },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n },\n props: {\n inverted: INVERTED_POLARITY_PROP,\n rows: {\n type: 'array',\n category: 'Data',\n label: 'Rows',\n },\n },\n },\n Reader: {\n ...readerMeta,\n props: { ...readerMeta.props, inverted: INVERTED_POLARITY_PROP },\n bindings: {\n props: {\n location: {\n label: 'Location',\n description: 'Opaque adapter locator to restore.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n page: {\n label: 'Page',\n description: 'One-based visible page.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n pageCount: {\n label: 'Page count',\n description: 'Current number of logical pages.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n progress: {\n label: 'Progress',\n description: 'Reading progression clamped from zero to one.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n status: {\n label: 'Status',\n description: 'Current reader loading status.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n previousPage: {\n label: 'Previous page',\n description: 'Requests navigation to the previous page.',\n payload: { eventType: 'reader.previousPage', fields: [] },\n },\n nextPage: {\n label: 'Next page',\n description: 'Requests navigation to the next page.',\n payload: { eventType: 'reader.nextPage', fields: [] },\n },\n locationChange: {\n label: 'Location change',\n description: 'Runs after the adapter displays a destination.',\n payload: {\n eventType: 'reader.locationChange',\n fields: [\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'locator', type: 'string', label: 'Opaque locator' },\n { path: 'page', type: 'number', label: 'Page' },\n { path: 'pageCount', type: 'number', label: 'Page count' },\n { path: 'progression', type: 'number', label: 'Progression' },\n { path: 'chapterId', type: 'string', label: 'Chapter ID' },\n { path: 'chapterTitle', type: 'string', label: 'Chapter title' },\n { path: 'trigger', type: 'string', label: 'Navigation trigger' },\n ],\n },\n },\n openContents: {\n label: 'Open contents',\n payload: { eventType: 'reader.openContents', fields: [] },\n },\n openAppearance: {\n label: 'Open appearance',\n payload: { eventType: 'reader.openAppearance', fields: [] },\n },\n toggleHighlight: {\n label: 'Toggle highlight',\n payload: { eventType: 'reader.toggleHighlight', fields: [] },\n },\n openExternalLink: {\n label: 'Open external link',\n payload: {\n eventType: 'reader.openExternalLink',\n fields: [{ path: 'url', type: 'string', label: 'URL' }],\n },\n },\n readerError: {\n label: 'Reader error',\n payload: {\n eventType: 'reader.error',\n fields: [\n { path: 'code', type: 'string', label: 'Error code' },\n { path: 'format', type: 'string', label: 'Format' },\n { path: 'message', type: 'string', label: 'Message' },\n ],\n },\n },\n },\n },\n },\n} as const satisfies UiComponentMetaRegistry;\n\nexport type ZoraBindableComponentType = keyof typeof ZORA_BINDABLE_COMPONENT_META;\n"]}
@@ -70,7 +70,7 @@ import { paletteItemMeta } from '../palette-item/paletteItemMeta';
70
70
  import { popoverMenuMeta } from '../popover-menu/popoverMenuMeta';
71
71
  import { progressMeta, progressRingMeta } from '../progress/progressMeta';
72
72
  import { ratingMeta } from '../rating/ratingMeta';
73
- import { readerSurfaceMeta } from '../reader/meta';
73
+ import { readerMeta } from '../reader/meta';
74
74
  import { barcodeScannerViewMeta, cameraPermissionViewMeta, scanOverlayMeta } from '../scanner/meta';
75
75
  import { screenSectionMeta } from '../section/screenSectionMeta';
76
76
  import { sectionHeaderMeta } from '../section/sectionHeaderMeta';
@@ -189,7 +189,7 @@ export const ZORA_COMPONENT_META = finalizeFeatureMetadata({
189
189
  MissingElement: missingElementMeta,
190
190
  PostCard: postCardMeta,
191
191
  ProductCard: productCardMeta,
192
- ReaderSurface: readerSurfaceMeta,
192
+ Reader: readerMeta,
193
193
  BarcodeScannerView: barcodeScannerViewMeta,
194
194
  CameraPermissionView: cameraPermissionViewMeta,
195
195
  ScanOverlay: scanOverlayMeta,