@ankhorage/zora 24.0.3 → 24.1.1
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.
- package/CHANGELOG.md +12 -0
- package/README.md +2 -1
- package/dist/constants/authoring.d.ts +4 -3
- package/dist/constants/authoring.d.ts.map +1 -1
- package/dist/constants/authoring.js +3 -0
- package/dist/constants/authoring.js.map +1 -1
- package/dist/features/accordion/accordionItemMeta.d.ts +1 -1
- package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
- package/dist/features/card/cardMeta.d.ts +1 -1
- package/dist/features/card/mediaCardMeta.d.ts +1 -1
- package/dist/features/card/postCardMeta.d.ts +1 -1
- package/dist/features/chat/messageBubbleMeta.d.ts +1 -1
- package/dist/features/dialog/dialogMeta.d.ts +2 -2
- package/dist/features/explorer/adapters/inbound/Explorer.d.ts +5 -0
- package/dist/features/explorer/adapters/inbound/Explorer.d.ts.map +1 -0
- package/dist/features/explorer/adapters/inbound/Explorer.js +82 -0
- package/dist/features/explorer/adapters/inbound/Explorer.js.map +1 -0
- package/dist/features/explorer/adapters/inbound/FileExplorer.d.ts +5 -0
- package/dist/features/explorer/adapters/inbound/FileExplorer.d.ts.map +1 -0
- package/dist/features/explorer/adapters/inbound/FileExplorer.js +7 -0
- package/dist/features/explorer/adapters/inbound/FileExplorer.js.map +1 -0
- package/dist/features/explorer/adapters/inbound/MediaExplorer.d.ts +5 -0
- package/dist/features/explorer/adapters/inbound/MediaExplorer.d.ts.map +1 -0
- package/dist/features/explorer/adapters/inbound/MediaExplorer.js +7 -0
- package/dist/features/explorer/adapters/inbound/MediaExplorer.js.map +1 -0
- package/dist/features/explorer/application/resolveExplorerSelection.d.ts +7 -0
- package/dist/features/explorer/application/resolveExplorerSelection.d.ts.map +1 -0
- package/dist/features/explorer/application/resolveExplorerSelection.js +22 -0
- package/dist/features/explorer/application/resolveExplorerSelection.js.map +1 -0
- package/dist/features/explorer/meta.d.ts +306 -0
- package/dist/features/explorer/meta.d.ts.map +1 -0
- package/dist/features/explorer/meta.js +89 -0
- package/dist/features/explorer/meta.js.map +1 -0
- package/dist/features/explorer/public.d.ts +6 -0
- package/dist/features/explorer/public.d.ts.map +1 -0
- package/dist/features/explorer/public.js +5 -0
- package/dist/features/explorer/public.js.map +1 -0
- package/dist/features/gradient/gradientMeta.d.ts +1 -1
- package/dist/features/grid-view/adapters/inbound/GridView.d.ts +10 -0
- package/dist/features/grid-view/adapters/inbound/GridView.d.ts.map +1 -0
- package/dist/features/grid-view/adapters/inbound/GridView.js +49 -0
- package/dist/features/grid-view/adapters/inbound/GridView.js.map +1 -0
- package/dist/features/grid-view/adapters/inbound/TileGrid.d.ts +5 -0
- package/dist/features/grid-view/adapters/inbound/TileGrid.d.ts.map +1 -0
- package/dist/features/grid-view/adapters/inbound/TileGrid.js +18 -0
- package/dist/features/grid-view/adapters/inbound/TileGrid.js.map +1 -0
- package/dist/features/grid-view/application/layoutTileGrid.d.ts +12 -0
- package/dist/features/grid-view/application/layoutTileGrid.d.ts.map +1 -0
- package/dist/features/grid-view/application/layoutTileGrid.js +25 -0
- package/dist/features/grid-view/application/layoutTileGrid.js.map +1 -0
- package/dist/features/grid-view/meta.d.ts +20 -0
- package/dist/features/grid-view/meta.d.ts.map +1 -0
- package/dist/features/grid-view/meta.js +20 -0
- package/dist/features/grid-view/meta.js.map +1 -0
- package/dist/features/grid-view/public.d.ts +5 -0
- package/dist/features/grid-view/public.d.ts.map +1 -0
- package/dist/features/grid-view/public.js +4 -0
- package/dist/features/grid-view/public.js.map +1 -0
- package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
- package/dist/features/layout/gridMeta.d.ts +1 -1
- package/dist/features/layout/screenMeta.d.ts +1 -1
- package/dist/features/layout/scrollViewMeta.d.ts +1 -1
- package/dist/features/layout/viewMeta.d.ts +1 -1
- package/dist/features/list/flatListMeta.d.ts +1 -1
- package/dist/features/list/sectionListMeta.d.ts +1 -1
- package/dist/features/reader/meta.d.ts +2 -2
- package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -1
- package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +7 -0
- package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -1
- package/dist/features/registry/bindableComponentMeta.d.ts +2 -2
- package/dist/features/registry/componentMeta.d.ts.map +1 -1
- package/dist/features/registry/componentMeta.js +7 -0
- package/dist/features/registry/componentMeta.js.map +1 -1
- package/dist/features/scanner/meta.d.ts +2 -2
- package/dist/features/section/screenSectionMeta.d.ts +1 -1
- package/dist/features/surface/surfaceMeta.d.ts +1 -1
- package/dist/features/tabs/tabPanelMeta.d.ts +1 -1
- package/dist/features/uploader/adapters/inbound/Uploader.d.ts.map +1 -1
- package/dist/features/uploader/adapters/inbound/Uploader.js +73 -48
- package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
- package/dist/features/uploader/public.d.ts +1 -1
- package/dist/features/uploader/public.d.ts.map +1 -1
- package/dist/features/uploader/public.js.map +1 -1
- package/dist/features/uploader/uploaderMeta.d.ts +5 -0
- package/dist/features/uploader/uploaderMeta.d.ts.map +1 -1
- package/dist/features/uploader/uploaderMeta.js +1 -0
- package/dist/features/uploader/uploaderMeta.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/explorer.d.ts +40 -0
- package/dist/types/explorer.d.ts.map +1 -0
- package/dist/types/explorer.js +2 -0
- package/dist/types/explorer.js.map +1 -0
- package/dist/types/grid-view.d.ts +31 -0
- package/dist/types/grid-view.d.ts.map +1 -0
- package/dist/types/grid-view.js +2 -0
- package/dist/types/grid-view.js.map +1 -0
- package/dist/types/upload.d.ts +6 -0
- package/dist/types/upload.d.ts.map +1 -1
- package/dist/types/upload.js.map +1 -1
- package/package.json +7 -6
- package/src/constants/authoring.ts +3 -0
- package/src/features/explorer/adapters/inbound/Explorer.tsx +136 -0
- package/src/features/explorer/adapters/inbound/FileExplorer.tsx +9 -0
- package/src/features/explorer/adapters/inbound/MediaExplorer.tsx +16 -0
- package/src/features/explorer/application/resolveExplorerSelection.test.ts +35 -0
- package/src/features/explorer/application/resolveExplorerSelection.ts +29 -0
- package/src/features/explorer/meta.ts +94 -0
- package/src/features/explorer/public.ts +12 -0
- package/src/features/grid-view/adapters/inbound/GridView.tsx +95 -0
- package/src/features/grid-view/adapters/inbound/TileGrid.tsx +53 -0
- package/src/features/grid-view/application/layoutTileGrid.test.ts +36 -0
- package/src/features/grid-view/application/layoutTileGrid.ts +46 -0
- package/src/features/grid-view/meta.ts +22 -0
- package/src/features/grid-view/public.ts +4 -0
- package/src/features/layout/public.test.ts +5 -1
- package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +7 -0
- package/src/features/registry/componentMeta.test.ts +2 -0
- package/src/features/registry/componentMeta.ts +7 -0
- package/src/features/uploader/adapters/inbound/Uploader.tsx +65 -36
- package/src/features/uploader/public.ts +1 -0
- package/src/features/uploader/uploaderMeta.ts +1 -0
- package/src/index.ts +17 -0
- package/src/types/explorer.ts +45 -0
- package/src/types/grid-view.ts +34 -0
- package/src/types/upload.ts +5 -0
- package/web-dist/chunks/{Accordion-ansfkmye.js → Accordion-016wvwpg.js} +5 -5
- package/web-dist/chunks/{Accordion-3hg1wprb.js → Accordion-09qs8gt1.js} +1 -1
- package/web-dist/chunks/{Accordion-kpap0trj.js → Accordion-184r2r82.js} +1 -1
- package/web-dist/chunks/{Accordion-jdwwf626.js → Accordion-1p9r2ack.js} +3 -3
- package/web-dist/chunks/{Accordion-2q6p67xe.js → Accordion-2c759z0y.js} +7 -5
- package/web-dist/chunks/Accordion-2gvs3frs.js +197 -0
- package/web-dist/chunks/{Accordion-rkt7qdmj.js → Accordion-2nesr9cv.js} +2 -2
- package/web-dist/chunks/{Accordion-egq42kdy.js → Accordion-2rgexkze.js} +6 -4
- package/web-dist/chunks/{Accordion-7q1qf7c0.js → Accordion-3m3572sa.js} +7 -5
- package/web-dist/chunks/{Accordion-74rt38d4.js → Accordion-42jfy1a1.js} +1 -1
- package/web-dist/chunks/{Accordion-jkhq422b.js → Accordion-45nc4bte.js} +2 -2
- package/web-dist/chunks/{Accordion-jtrpmvzs.js → Accordion-5ga4549x.js} +6 -6
- package/web-dist/chunks/Accordion-6wrr910w.js +5227 -0
- package/web-dist/chunks/{Accordion-7rvtpcwt.js → Accordion-7asr7vb0.js} +6 -6
- package/web-dist/chunks/{Accordion-3f5vnfk8.js → Accordion-7yazfxr6.js} +7 -7
- package/web-dist/chunks/{Accordion-g0c439br.js → Accordion-8f0nekwe.js} +4 -2
- package/web-dist/chunks/{Accordion-apwk2wjr.js → Accordion-8jxc7tx9.js} +2 -2
- package/web-dist/chunks/Accordion-8m8p9wpw.js +179 -0
- package/web-dist/chunks/{Accordion-mdc214tk.js → Accordion-9dqkq9am.js} +12 -12
- package/web-dist/chunks/{Accordion-t3hm5tcv.js → Accordion-afmybp67.js} +7 -7
- package/web-dist/chunks/{Accordion-qj4qxx1p.js → Accordion-ajawc6nq.js} +7 -7
- package/web-dist/chunks/{Accordion-ae7m1dkn.js → Accordion-bb8y34wh.js} +2 -2
- package/web-dist/chunks/{Accordion-h46676ex.js → Accordion-be2yhfqz.js} +1 -1
- package/web-dist/chunks/{Accordion-x3tphbvw.js → Accordion-bff0p3x4.js} +1 -1
- package/web-dist/chunks/{Accordion-rg763dfb.js → Accordion-c69374jn.js} +8 -17
- package/web-dist/chunks/{Accordion-y2eyyqrk.js → Accordion-cbfa2b8j.js} +10 -10
- package/web-dist/chunks/{Accordion-x5v1p4df.js → Accordion-ch4q5w0z.js} +7 -5
- package/web-dist/chunks/{Accordion-vewrj1kr.js → Accordion-f0jsd9f9.js} +8 -6
- package/web-dist/chunks/{Accordion-2bsecqwf.js → Accordion-fkc50r9z.js} +4 -4
- package/web-dist/chunks/{Accordion-avnt7nkz.js → Accordion-fzcpm4xf.js} +1 -1
- package/web-dist/chunks/{Accordion-hwd5ntgm.js → Accordion-fzkrrc4z.js} +2 -2
- package/web-dist/chunks/{Accordion-7bb37pdc.js → Accordion-ggwxv6k3.js} +7 -7
- package/web-dist/chunks/{Accordion-sxfqnnx6.js → Accordion-hmhdwvqp.js} +12 -10
- package/web-dist/chunks/{Accordion-cs8k948c.js → Accordion-mej71qnw.js} +8 -6
- package/web-dist/chunks/{Accordion-kcwdwd5z.js → Accordion-mh67wb34.js} +10 -8
- package/web-dist/chunks/Accordion-n4et7etk.js +14 -0
- package/web-dist/chunks/{Accordion-0acrkcyd.js → Accordion-n9c5tsqw.js} +4 -4
- package/web-dist/chunks/{Accordion-nanvzve9.js → Accordion-ndf3jqhb.js} +5 -5
- package/web-dist/chunks/{Accordion-q1mnv5g8.js → Accordion-nmpmdrba.js} +5 -5
- package/web-dist/chunks/{Accordion-fvkwq99h.js → Accordion-nnv76yff.js} +6 -4
- package/web-dist/chunks/{Accordion-122fdtp0.js → Accordion-ntndskbj.js} +7 -7
- package/web-dist/chunks/{Accordion-brt4drx3.js → Accordion-pe66x9cv.js} +11 -9
- package/web-dist/chunks/{Accordion-nj9g6p48.js → Accordion-q09fjenx.js} +11 -9
- package/web-dist/chunks/{Accordion-3rv8psbv.js → Accordion-qkh5yy94.js} +4 -4
- package/web-dist/chunks/{Accordion-qsxx5q34.js → Accordion-sdcfa14w.js} +12 -10
- package/web-dist/chunks/{Accordion-1dah5bqg.js → Accordion-srjya6dz.js} +1 -1
- package/web-dist/chunks/{Accordion-nay7yexy.js → Accordion-t0hbez90.js} +13 -11
- package/web-dist/chunks/{Accordion-2afa2z5x.js → Accordion-teg40mpt.js} +4 -4
- package/web-dist/chunks/{Accordion-k8tfv274.js → Accordion-tmrjy46p.js} +8 -6
- package/web-dist/chunks/{Accordion-2d3hbryv.js → Accordion-wgejzesa.js} +8 -8
- package/web-dist/chunks/{Accordion-kpxyryke.js → Accordion-wyxmd0n0.js} +4 -2
- package/web-dist/chunks/{Accordion-2csc57rv.js → Accordion-x12fca21.js} +2 -2
- package/web-dist/chunks/{Accordion-sek2q4r1.js → Accordion-xgpzh4wq.js} +47 -5288
- package/web-dist/chunks/{Accordion-9rhbc32v.js → Accordion-xvzrx6bh.js} +16 -14
- package/web-dist/chunks/{Accordion-sxzax4x4.js → Accordion-z5a0tx18.js} +6 -4
- package/web-dist/components/accordion/Accordion.js +13 -12
- package/web-dist/components/accordion-item/AccordionItem.js +13 -12
- package/web-dist/components/activity-indicator/ActivityIndicator.js +6 -5
- package/web-dist/components/app-bar/AppBar.js +20 -19
- package/web-dist/components/app-header/AppHeader.js +20 -19
- package/web-dist/components/app-shell/AppShell.js +7 -6
- package/web-dist/components/auth-screen/AuthScreen.js +22 -21
- package/web-dist/components/avatar/Avatar.js +13 -12
- package/web-dist/components/avatar-group/AvatarGroup.js +13 -12
- package/web-dist/components/badge/Badge.js +8 -7
- package/web-dist/components/barcode-scanner-view/BarcodeScannerView.js +21 -20
- package/web-dist/components/bottom-sheet/BottomSheet.js +9 -8
- package/web-dist/components/bottom-sheet-flat-list/BottomSheetFlatList.js +9 -8
- package/web-dist/components/bottom-sheet-scroll-view/BottomSheetScrollView.js +9 -8
- package/web-dist/components/bottom-sheet-section-list/BottomSheetSectionList.js +9 -8
- package/web-dist/components/bottom-sheet-view/BottomSheetView.js +9 -8
- package/web-dist/components/bottom-sheet-virtualized-list/BottomSheetVirtualizedList.js +9 -8
- package/web-dist/components/breadcrumbs/Breadcrumbs.js +15 -14
- package/web-dist/components/button/Button.js +13 -12
- package/web-dist/components/button-group/ButtonGroup.js +13 -12
- package/web-dist/components/camera-permission-view/CameraPermissionView.js +21 -20
- package/web-dist/components/card/Card.js +20 -19
- package/web-dist/components/card-back/CardBack.js +5 -4
- package/web-dist/components/card-hand/CardHand.js +5 -4
- package/web-dist/components/chat-list-item/ChatListItem.js +17 -16
- package/web-dist/components/checkbox/Checkbox.js +13 -12
- package/web-dist/components/checkbox-group/CheckboxGroup.js +13 -12
- package/web-dist/components/chess-board/ChessBoard.js +5 -4
- package/web-dist/components/chip/Chip.js +14 -13
- package/web-dist/components/chip-group/ChipGroup.js +14 -13
- package/web-dist/components/collection-editor/CollectionEditor.js +20 -19
- package/web-dist/components/content-rail/ContentRail.js +16 -15
- package/web-dist/components/data-table/DataTable.js +29 -28
- package/web-dist/components/date-picker/DatePicker.js +18 -17
- package/web-dist/components/dialog/Dialog.js +13 -12
- package/web-dist/components/divider/Divider.js +7 -6
- package/web-dist/components/empty-state/EmptyState.js +21 -20
- package/web-dist/components/explorer/Explorer.d.ts +5 -0
- package/web-dist/components/explorer/Explorer.js +27 -0
- package/web-dist/components/explorer/index.d.ts +1 -0
- package/web-dist/components/explorer/index.js +2 -0
- package/web-dist/components/field/Field.js +13 -12
- package/web-dist/components/file-explorer/FileExplorer.d.ts +5 -0
- package/web-dist/components/file-explorer/FileExplorer.js +27 -0
- package/web-dist/components/file-explorer/index.d.ts +1 -0
- package/web-dist/components/file-explorer/index.js +2 -0
- package/web-dist/components/flat-list/FlatList.js +14 -13
- package/web-dist/components/forgot-password-form/ForgotPasswordForm.js +22 -21
- package/web-dist/components/form/Form.js +17 -16
- package/web-dist/components/form-actions/FormActions.js +17 -16
- package/web-dist/components/form-error/FormError.js +17 -16
- package/web-dist/components/game/Game.js +8 -7
- package/web-dist/components/game-entity/GameEntity.js +8 -7
- package/web-dist/components/game-field/GameField.js +8 -7
- package/web-dist/components/game-input-zone/GameInputZone.js +8 -7
- package/web-dist/components/game-measurement-probe/GameMeasurementProbe.js +8 -7
- package/web-dist/components/game-overlay/GameOverlay.js +8 -7
- package/web-dist/components/gradient/Gradient.js +8 -7
- package/web-dist/components/gradient-renderer-provider/GradientRendererProvider.js +8 -7
- package/web-dist/components/graph-view/GraphView.js +3 -3
- package/web-dist/components/grid/Grid.js +7 -6
- package/web-dist/components/grid-view/GridView.d.ts +4 -0
- package/web-dist/components/grid-view/GridView.js +10 -0
- package/web-dist/components/grid-view/index.d.ts +1 -0
- package/web-dist/components/grid-view/index.js +2 -0
- package/web-dist/components/heading/Heading.js +7 -6
- package/web-dist/components/hero/Hero.js +20 -19
- package/web-dist/components/icon/Icon.js +5 -4
- package/web-dist/components/icon-button/IconButton.js +13 -12
- package/web-dist/components/image/Image.js +11 -10
- package/web-dist/components/keyboard-avoiding-view/KeyboardAvoidingView.js +4 -3
- package/web-dist/components/list/List.js +14 -13
- package/web-dist/components/list-item/ListItem.js +14 -13
- package/web-dist/components/list-section/ListSection.js +14 -13
- package/web-dist/components/media-card/MediaCard.js +20 -19
- package/web-dist/components/media-explorer/MediaExplorer.d.ts +5 -0
- package/web-dist/components/media-explorer/MediaExplorer.js +27 -0
- package/web-dist/components/media-explorer/index.d.ts +1 -0
- package/web-dist/components/media-explorer/index.js +2 -0
- package/web-dist/components/message-bubble/MessageBubble.js +17 -16
- package/web-dist/components/metric-card/MetricCard.js +20 -19
- package/web-dist/components/missing-element/MissingElement.js +14 -13
- package/web-dist/components/o-auth-provider-button/OAuthProviderButton.js +22 -21
- package/web-dist/components/o-auth-provider-list/OAuthProviderList.js +22 -21
- package/web-dist/components/opening-book/OpeningBook.js +5 -4
- package/web-dist/components/otp-form/OtpForm.js +22 -21
- package/web-dist/components/pagination/Pagination.js +14 -13
- package/web-dist/components/palette-item/PaletteItem.js +20 -19
- package/web-dist/components/playing-card/PlayingCard.js +5 -4
- package/web-dist/components/poker-training-table/PokerTrainingTable.js +5 -4
- package/web-dist/components/popover-menu/PopoverMenu.js +15 -14
- package/web-dist/components/post-card/PostCard.js +20 -19
- package/web-dist/components/product-card/ProductCard.js +20 -19
- package/web-dist/components/progress/Progress.js +11 -10
- package/web-dist/components/progress-ring/ProgressRing.js +11 -10
- package/web-dist/components/radio/Radio.js +15 -14
- package/web-dist/components/radio-group/RadioGroup.js +15 -14
- package/web-dist/components/rating/Rating.js +10 -9
- package/web-dist/components/reader/Reader.js +25 -24
- package/web-dist/components/scan-overlay/ScanOverlay.js +21 -20
- package/web-dist/components/screen/Screen.js +7 -6
- package/web-dist/components/screen-section/ScreenSection.js +11 -10
- package/web-dist/components/scroll-view/ScrollView.js +7 -6
- package/web-dist/components/search-input/SearchInput.js +14 -13
- package/web-dist/components/section-header/SectionHeader.js +11 -10
- package/web-dist/components/section-list/SectionList.js +14 -13
- package/web-dist/components/select/Select.js +17 -16
- package/web-dist/components/selectable-item/SelectableItem.js +7 -6
- package/web-dist/components/selection-provider/SelectionProvider.js +7 -6
- package/web-dist/components/sign-in-form/SignInForm.js +22 -21
- package/web-dist/components/sign-up-form/SignUpForm.js +22 -21
- package/web-dist/components/skeleton/Skeleton.js +23 -22
- package/web-dist/components/skeleton-card/SkeletonCard.js +23 -22
- package/web-dist/components/skeleton-list/SkeletonList.js +23 -22
- package/web-dist/components/skeleton-text/SkeletonText.js +23 -22
- package/web-dist/components/surface/Surface.js +8 -7
- package/web-dist/components/switch/Switch.js +8 -7
- package/web-dist/components/tab/Tab.js +8 -7
- package/web-dist/components/tab-list/TabList.js +8 -7
- package/web-dist/components/tab-panel/TabPanel.js +8 -7
- package/web-dist/components/tabletop-table/TabletopTable.js +5 -4
- package/web-dist/components/tabs/Tabs.js +8 -7
- package/web-dist/components/text/Text.js +7 -6
- package/web-dist/components/text-input/TextInput.js +14 -13
- package/web-dist/components/tile-grid/TileGrid.d.ts +4 -0
- package/web-dist/components/tile-grid/TileGrid.js +10 -0
- package/web-dist/components/tile-grid/index.d.ts +1 -0
- package/web-dist/components/tile-grid/index.js +2 -0
- package/web-dist/components/time-picker/TimePicker.js +20 -19
- package/web-dist/components/timeline/Timeline.js +12 -11
- package/web-dist/components/toast/Toast.js +10 -9
- package/web-dist/components/toast-provider/ToastProvider.js +10 -9
- package/web-dist/components/toolbar/Toolbar.js +20 -19
- package/web-dist/components/tree-item/TreeItem.js +20 -19
- package/web-dist/components/uploader/Uploader.js +109 -70
- package/web-dist/components/view/View.js +7 -6
- package/web-dist/manifest.json +1748 -1497
- package/web-dist/runtime/ZoraProvider.js +14 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 24.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bf08937: Update dependencies: `@ankhorage/contracts`, `@ankhorage/runtime`.
|
|
8
|
+
|
|
9
|
+
## 24.1.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 98a1e55: Add cross-platform GridView and responsive TileGrid using the released `@ankhorage/grid-view` geometry engine. Introduce a shared MediaExplorer/FileExplorer collection path with portable item data and selection events, and allow Uploader to select assets from an app-owned Explorer without replacing operating system pickers.
|
|
14
|
+
|
|
3
15
|
## 24.0.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @ankhorage/zora
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.
|
|
9
9
|
|
|
@@ -67,6 +67,7 @@ This package contains 5 additional examples. See the generated documentation for
|
|
|
67
67
|
- [getLegalTargets sequence](././paradox/diagrams/sequences/get-legal-targets.mmd)
|
|
68
68
|
- [readChessPieces sequence](././paradox/diagrams/sequences/read-chess-pieces.mmd)
|
|
69
69
|
- [resolveAvatarInitials sequence](././paradox/diagrams/sequences/resolve-avatar-initials.mmd)
|
|
70
|
+
- [resolveExplorerSelection sequence](././paradox/diagrams/sequences/resolve-explorer-selection.mmd)
|
|
70
71
|
- [resolveOAuthProviderIcon sequence](././paradox/diagrams/sequences/resolve-oauth-provider-icon.mmd)
|
|
71
72
|
- [resolveOAuthProviderLabel sequence](././paradox/diagrams/sequences/resolve-oauth-provider-label.mmd)
|
|
72
73
|
- [SelectionProvider sequence](././paradox/diagrams/sequences/selection-provider.mmd)
|
|
@@ -20,6 +20,7 @@ export declare const FEATURE_MANIFEST_ELEMENTS: {
|
|
|
20
20
|
readonly chip: readonly ["Chip", "ChipGroup"];
|
|
21
21
|
readonly 'data-table': readonly ["DataTable"];
|
|
22
22
|
readonly 'date-picker': readonly ["DatePicker"];
|
|
23
|
+
readonly explorer: readonly ["MediaExplorer", "FileExplorer"];
|
|
23
24
|
readonly dialog: readonly ["Dialog"];
|
|
24
25
|
readonly form: readonly ["Form", "FormError", "Field"];
|
|
25
26
|
readonly gradient: readonly ["Gradient"];
|
|
@@ -44,12 +45,12 @@ export declare const FEATURE_MANIFEST_ELEMENTS: {
|
|
|
44
45
|
readonly game: readonly ["Game", "GameField", "GameEntity", "GameInputZone", "GameMeasurementProbe", "GameOverlay"];
|
|
45
46
|
readonly tabletop: readonly ["TabletopTable", "PokerTrainingTable"];
|
|
46
47
|
};
|
|
47
|
-
export declare const CONTAINER_ALLOWED_CHILDREN: 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"];
|
|
48
|
+
export declare const CONTAINER_ALLOWED_CHILDREN: 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", "MediaExplorer", "FileExplorer", "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"];
|
|
48
49
|
export declare const GAME_ALLOWED_CHILDREN: readonly ["Game", "GameField"];
|
|
49
50
|
export declare const CHESS_ALLOWED_CHILDREN: readonly ["ChessBoard", "OpeningBook"];
|
|
50
51
|
export declare const TABLETOP_ALLOWED_CHILDREN: readonly ["TabletopTable", "PokerTrainingTable"];
|
|
51
52
|
export declare const CONTENT_RAIL_ALLOWED_CHILDREN: readonly ["Chip", "ChipGroup", "MediaCard", "MetricCard", "Avatar", "AvatarGroup", "Badge", "Button", "IconButton", "View", "ScrollView", "Card", "Image", "ProductCard", "PostCard", "ChatListItem", "MessageBubble", "MissingElement"];
|
|
52
|
-
export declare const SCREEN_SECTION_ALLOWED_CHILDREN: 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", "ChessBoard", "OpeningBook", "Game", "GameField", "TabletopTable", "PokerTrainingTable"];
|
|
53
|
-
export declare const SCREEN_ALLOWED_CHILDREN: readonly ["ScreenSection", "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", "ChessBoard", "OpeningBook", "Game", "GameField", "TabletopTable", "PokerTrainingTable"];
|
|
53
|
+
export declare const SCREEN_SECTION_ALLOWED_CHILDREN: 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", "MediaExplorer", "FileExplorer", "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", "ChessBoard", "OpeningBook", "Game", "GameField", "TabletopTable", "PokerTrainingTable"];
|
|
54
|
+
export declare const SCREEN_ALLOWED_CHILDREN: readonly ["ScreenSection", "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", "MediaExplorer", "FileExplorer", "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", "ChessBoard", "OpeningBook", "Game", "GameField", "TabletopTable", "PokerTrainingTable"];
|
|
54
55
|
export declare const ZORA_THEME_TOKEN_FAMILIES: readonly ["colors", "spacing", "radii", "typography", "shadows"];
|
|
55
56
|
//# sourceMappingURL=authoring.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;CAKzB,CAAC;AAEX,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"authoring.d.ts","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;CAKzB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,q3BAkE7B,CAAC;AAEX,eAAO,MAAM,qBAAqB,gCAAiC,CAAC;AAEpE,eAAO,MAAM,sBAAsB,wCAAyC,CAAC;AAC7E,eAAO,MAAM,yBAAyB,kDAAmD,CAAC;AAE1F,eAAO,MAAM,6BAA6B,0OAmBhC,CAAC;AAEX,eAAO,MAAM,+BAA+B,88BAKlC,CAAC;AAEX,eAAO,MAAM,uBAAuB,+9BAG1B,CAAC;AAEX,eAAO,MAAM,yBAAyB,kEAM5B,CAAC"}
|
|
@@ -26,6 +26,7 @@ export const FEATURE_MANIFEST_ELEMENTS = {
|
|
|
26
26
|
chip: ['Chip', 'ChipGroup'],
|
|
27
27
|
'data-table': ['DataTable'],
|
|
28
28
|
'date-picker': ['DatePicker'],
|
|
29
|
+
explorer: ['MediaExplorer', 'FileExplorer'],
|
|
29
30
|
dialog: ['Dialog'],
|
|
30
31
|
form: ['Form', 'FormError', 'Field'],
|
|
31
32
|
gradient: ['Gradient'],
|
|
@@ -82,6 +83,8 @@ export const CONTAINER_ALLOWED_CHILDREN = [
|
|
|
82
83
|
'SkeletonText',
|
|
83
84
|
'IconButton',
|
|
84
85
|
'Uploader',
|
|
86
|
+
'MediaExplorer',
|
|
87
|
+
'FileExplorer',
|
|
85
88
|
'FlatList',
|
|
86
89
|
'SectionList',
|
|
87
90
|
'BottomSheet',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"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","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const INVERTED_POLARITY_PROP = {\n type: 'boolean',\n category: 'Theme',\n label: 'Inverted surface polarity (inherits when omitted; false resets)',\n authoring: { authority: 'instance' },\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n ],\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n 'date-picker': ['DatePicker'],\n dialog: ['Dialog'],\n form: ['Form', 'FormError', 'Field'],\n gradient: ['Gradient'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n 'content-rail': ['ContentRail'],\n layout: ['Divider', 'Grid', 'Screen', 'ScrollView', 'View'],\n section: ['ScreenSection', 'SectionHeader'],\n list: ['FlatList', 'SectionList'],\n pagination: ['Pagination'],\n rating: ['Rating'],\n skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],\n tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],\n toolbar: ['Toolbar'],\n typography: ['Heading', 'Text'],\n 'time-picker': ['TimePicker'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n chess: ['ChessBoard', 'OpeningBook'],\n game: ['Game', 'GameField', 'GameEntity', 'GameInputZone', 'GameMeasurementProbe', 'GameOverlay'],\n tabletop: ['TabletopTable', 'PokerTrainingTable'],\n} as const;\n\nexport const CONTAINER_ALLOWED_CHILDREN = [\n 'ActivityIndicator',\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n 'Accordion',\n 'Surface',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'MediaCard',\n 'MetricCard',\n 'Chip',\n 'ChipGroup',\n 'DataTable',\n 'DatePicker',\n 'Dialog',\n 'Pagination',\n 'Rating',\n 'SearchInput',\n 'Tabs',\n 'Toolbar',\n 'Skeleton',\n 'SkeletonCard',\n 'SkeletonList',\n 'SkeletonText',\n 'IconButton',\n 'Uploader',\n 'FlatList',\n 'SectionList',\n 'BottomSheet',\n 'ProductCard',\n 'View',\n 'ScrollView',\n 'Grid',\n 'Gradient',\n 'Divider',\n 'Text',\n 'Heading',\n 'Icon',\n 'Image',\n 'Hero',\n 'KeyboardAvoidingView',\n 'Button',\n 'ButtonGroup',\n 'RadioGroup',\n 'ThemeModeToggle',\n 'TextInput',\n 'TimePicker',\n 'Form',\n 'Card',\n 'EmptyState',\n 'SectionHeader',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'ProgressRing',\n 'Reader',\n 'ContentRail',\n 'MissingElement',\n] as const;\n\nexport const GAME_ALLOWED_CHILDREN = ['Game', 'GameField'] as const;\n\nexport const CHESS_ALLOWED_CHILDREN = ['ChessBoard', 'OpeningBook'] as const;\nexport const TABLETOP_ALLOWED_CHILDREN = ['TabletopTable', 'PokerTrainingTable'] as const;\n\nexport const CONTENT_RAIL_ALLOWED_CHILDREN = [\n 'Chip',\n 'ChipGroup',\n 'MediaCard',\n 'MetricCard',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'Button',\n 'IconButton',\n 'View',\n 'ScrollView',\n 'Card',\n 'Image',\n 'ProductCard',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'MissingElement',\n] as const;\n\nexport const SCREEN_SECTION_ALLOWED_CHILDREN = [\n ...CONTAINER_ALLOWED_CHILDREN,\n ...CHESS_ALLOWED_CHILDREN,\n ...GAME_ALLOWED_CHILDREN,\n ...TABLETOP_ALLOWED_CHILDREN,\n] as const;\n\nexport const SCREEN_ALLOWED_CHILDREN = [\n 'ScreenSection',\n ...SCREEN_SECTION_ALLOWED_CHILDREN,\n] as const;\n\nexport const ZORA_THEME_TOKEN_FAMILIES = [\n 'colors',\n 'spacing',\n 'radii',\n 'typography',\n 'shadows',\n] as const;\n"]}
|
|
1
|
+
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../src/constants/authoring.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,WAAW;IAClB,qBAAqB,EAAE,IAAI;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,iEAAiE;IACxE,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;CAC5B,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE;QACJ,YAAY;QACZ,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,SAAS;QACT,YAAY;QACZ,YAAY;KACb;IACD,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,QAAQ,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC;IAC3C,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,wBAAwB,EAAE,CAAC,sBAAsB,CAAC;IAClD,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;IAC3D,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;IACtE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC;IAC5C,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,KAAK,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;IACpC,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,CAAC;IACjG,QAAQ,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;CACzC,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,mBAAmB;IACnB,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,aAAa;IACb,OAAO;IACP,WAAW;IACX,YAAY;IACZ,MAAM;IACN,WAAW;IACX,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,MAAM;IACN,SAAS;IACT,UAAU;IACV,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,UAAU;IACV,eAAe;IACf,cAAc;IACd,UAAU;IACV,aAAa;IACb,aAAa;IACb,aAAa;IACb,MAAM;IACN,YAAY;IACZ,MAAM;IACN,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,sBAAsB;IACtB,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,YAAY;IACZ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,eAAe;IACf,UAAU;IACV,cAAc;IACd,eAAe;IACf,cAAc;IACd,QAAQ;IACR,aAAa;IACb,gBAAgB;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAEpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAU,CAAC;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,eAAe,EAAE,oBAAoB,CAAU,CAAC;AAE1F,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,MAAM;IACN,WAAW;IACX,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,MAAM;IACN,OAAO;IACP,aAAa;IACb,UAAU;IACV,cAAc;IACd,eAAe;IACf,gBAAgB;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,GAAG,0BAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,qBAAqB;IACxB,GAAG,yBAAyB;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,eAAe;IACf,GAAG,+BAA+B;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,SAAS;IACT,OAAO;IACP,YAAY;IACZ,SAAS;CACD,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const INVERTED_POLARITY_PROP = {\n type: 'boolean',\n category: 'Theme',\n label: 'Inverted surface polarity (inherits when omitted; false resets)',\n authoring: { authority: 'instance' },\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n ],\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n 'date-picker': ['DatePicker'],\n explorer: ['MediaExplorer', 'FileExplorer'],\n dialog: ['Dialog'],\n form: ['Form', 'FormError', 'Field'],\n gradient: ['Gradient'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n 'content-rail': ['ContentRail'],\n layout: ['Divider', 'Grid', 'Screen', 'ScrollView', 'View'],\n section: ['ScreenSection', 'SectionHeader'],\n list: ['FlatList', 'SectionList'],\n pagination: ['Pagination'],\n rating: ['Rating'],\n skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],\n tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],\n toolbar: ['Toolbar'],\n typography: ['Heading', 'Text'],\n 'time-picker': ['TimePicker'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n chess: ['ChessBoard', 'OpeningBook'],\n game: ['Game', 'GameField', 'GameEntity', 'GameInputZone', 'GameMeasurementProbe', 'GameOverlay'],\n tabletop: ['TabletopTable', 'PokerTrainingTable'],\n} as const;\n\nexport const CONTAINER_ALLOWED_CHILDREN = [\n 'ActivityIndicator',\n 'AuthScreen',\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n 'Accordion',\n 'Surface',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'MediaCard',\n 'MetricCard',\n 'Chip',\n 'ChipGroup',\n 'DataTable',\n 'DatePicker',\n 'Dialog',\n 'Pagination',\n 'Rating',\n 'SearchInput',\n 'Tabs',\n 'Toolbar',\n 'Skeleton',\n 'SkeletonCard',\n 'SkeletonList',\n 'SkeletonText',\n 'IconButton',\n 'Uploader',\n 'MediaExplorer',\n 'FileExplorer',\n 'FlatList',\n 'SectionList',\n 'BottomSheet',\n 'ProductCard',\n 'View',\n 'ScrollView',\n 'Grid',\n 'Gradient',\n 'Divider',\n 'Text',\n 'Heading',\n 'Icon',\n 'Image',\n 'Hero',\n 'KeyboardAvoidingView',\n 'Button',\n 'ButtonGroup',\n 'RadioGroup',\n 'ThemeModeToggle',\n 'TextInput',\n 'TimePicker',\n 'Form',\n 'Card',\n 'EmptyState',\n 'SectionHeader',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'ProgressRing',\n 'Reader',\n 'ContentRail',\n 'MissingElement',\n] as const;\n\nexport const GAME_ALLOWED_CHILDREN = ['Game', 'GameField'] as const;\n\nexport const CHESS_ALLOWED_CHILDREN = ['ChessBoard', 'OpeningBook'] as const;\nexport const TABLETOP_ALLOWED_CHILDREN = ['TabletopTable', 'PokerTrainingTable'] as const;\n\nexport const CONTENT_RAIL_ALLOWED_CHILDREN = [\n 'Chip',\n 'ChipGroup',\n 'MediaCard',\n 'MetricCard',\n 'Avatar',\n 'AvatarGroup',\n 'Badge',\n 'Button',\n 'IconButton',\n 'View',\n 'ScrollView',\n 'Card',\n 'Image',\n 'ProductCard',\n 'PostCard',\n 'ChatListItem',\n 'MessageBubble',\n 'MissingElement',\n] as const;\n\nexport const SCREEN_SECTION_ALLOWED_CHILDREN = [\n ...CONTAINER_ALLOWED_CHILDREN,\n ...CHESS_ALLOWED_CHILDREN,\n ...GAME_ALLOWED_CHILDREN,\n ...TABLETOP_ALLOWED_CHILDREN,\n] as const;\n\nexport const SCREEN_ALLOWED_CHILDREN = [\n 'ScreenSection',\n ...SCREEN_SECTION_ALLOWED_CHILDREN,\n] as const;\n\nexport const ZORA_THEME_TOKEN_FAMILIES = [\n 'colors',\n 'spacing',\n 'radii',\n 'typography',\n 'shadows',\n] as const;\n"]}
|
|
@@ -3,7 +3,7 @@ export declare const accordionItemMeta: {
|
|
|
3
3
|
readonly category: "component";
|
|
4
4
|
readonly description: "One expandable accordion item with authored content and optional actions.";
|
|
5
5
|
readonly directManifestNode: true;
|
|
6
|
-
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"];
|
|
6
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Accordion item";
|
|
9
9
|
readonly defaultProps: {
|
|
@@ -2,7 +2,7 @@ export declare const bottomSheetMeta: {
|
|
|
2
2
|
readonly name: "BottomSheet";
|
|
3
3
|
readonly category: "layout";
|
|
4
4
|
readonly directManifestNode: true;
|
|
5
|
-
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"];
|
|
5
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
6
6
|
readonly description: "Controlled presentation through the shared single-sheet host. Bind dismiss to clear open.";
|
|
7
7
|
readonly events: {
|
|
8
8
|
readonly dismiss: {
|
|
@@ -2,7 +2,7 @@ export declare const cardMeta: {
|
|
|
2
2
|
readonly name: "Card";
|
|
3
3
|
readonly category: "component";
|
|
4
4
|
readonly directManifestNode: true;
|
|
5
|
-
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", "ChessBoard", "OpeningBook", "Game", "GameField", "TabletopTable", "PokerTrainingTable"];
|
|
5
|
+
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", "MediaExplorer", "FileExplorer", "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", "ChessBoard", "OpeningBook", "Game", "GameField", "TabletopTable", "PokerTrainingTable"];
|
|
6
6
|
readonly blueprint: {
|
|
7
7
|
readonly label: "Card";
|
|
8
8
|
readonly defaultProps: {
|
|
@@ -2,7 +2,7 @@ export declare const mediaCardMeta: {
|
|
|
2
2
|
readonly name: "MediaCard";
|
|
3
3
|
readonly category: "component";
|
|
4
4
|
readonly directManifestNode: true;
|
|
5
|
-
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"];
|
|
5
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
6
6
|
readonly events: {
|
|
7
7
|
readonly press: {
|
|
8
8
|
readonly label: "Press";
|
|
@@ -3,7 +3,7 @@ export declare const postCardMeta: {
|
|
|
3
3
|
readonly category: "pattern";
|
|
4
4
|
readonly description: "Social/content post card with author identity, body, media, actions, and comment previews.";
|
|
5
5
|
readonly directManifestNode: true;
|
|
6
|
-
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"];
|
|
6
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Post card";
|
|
9
9
|
readonly icon: {
|
|
@@ -3,7 +3,7 @@ export declare const messageBubbleMeta: {
|
|
|
3
3
|
readonly category: "pattern";
|
|
4
4
|
readonly description: "Chat/message bubble with direction, author, text, meta, and delivery status presentation.";
|
|
5
5
|
readonly directManifestNode: true;
|
|
6
|
-
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"];
|
|
6
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Message bubble";
|
|
9
9
|
readonly icon: {
|
|
@@ -2,7 +2,7 @@ export declare const dialogMeta: {
|
|
|
2
2
|
readonly name: "Dialog";
|
|
3
3
|
readonly category: "component";
|
|
4
4
|
readonly directManifestNode: true;
|
|
5
|
-
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"];
|
|
5
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
6
6
|
readonly description: "Modal dialog composition with title, description, content, and optional footer.";
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Dialog";
|
|
@@ -45,7 +45,7 @@ export declare const dialogMeta: {
|
|
|
45
45
|
readonly slots: {
|
|
46
46
|
readonly children: {
|
|
47
47
|
readonly label: "Content";
|
|
48
|
-
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"];
|
|
48
|
+
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", "MediaExplorer", "FileExplorer", "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"];
|
|
49
49
|
};
|
|
50
50
|
readonly footer: {
|
|
51
51
|
readonly label: "Footer";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ExplorerProps } from '../../../../types/explorer';
|
|
3
|
+
/*** Single canonical Explorer implementation for media and file catalogue presentation. */
|
|
4
|
+
export declare const Explorer: (props: ExplorerProps) => React.ReactElement | null;
|
|
5
|
+
//# sourceMappingURL=Explorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Explorer.d.ts","sourceRoot":"","sources":["../../../../../src/features/explorer/adapters/inbound/Explorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAS9E,2FAA2F;AAC3F,eAAO,MAAM,QAAQ,qDAAoC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Pressable as NativePressable, View as NativeView } from 'react-native';
|
|
3
|
+
import { TileGrid } from '../../../grid-view/public';
|
|
4
|
+
import { Icon } from '../../../icon/public';
|
|
5
|
+
import { Image } from '../../../image/public';
|
|
6
|
+
import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
|
|
7
|
+
import { useZoraTheme } from '../../../theme/composition/useZoraTheme';
|
|
8
|
+
import { Text } from '../../../typography/public';
|
|
9
|
+
import { resolveExplorerSelection } from '../../application/resolveExplorerSelection';
|
|
10
|
+
/*** Single canonical Explorer implementation for media and file catalogue presentation. */
|
|
11
|
+
export const Explorer = withZoraThemeScope(ExplorerInner);
|
|
12
|
+
/*** Presents provider-neutral asset tiles with controlled or uncontrolled selection. */
|
|
13
|
+
function ExplorerInner({ items, selectedIds, defaultSelectedIds = [], selectionMode = 'single', onSelectionChange, onActivate, width, height, tileSize = 120, zoom = 1, loading = false, errorText, emptyText = 'No items', disabled = false, readOnly = false, interactionPolicy, testID, }) {
|
|
14
|
+
const { theme } = useZoraTheme();
|
|
15
|
+
const [internalSelectedIds, setInternalSelectedIds] = React.useState(defaultSelectedIds);
|
|
16
|
+
const anchorId = React.useRef(null);
|
|
17
|
+
const effectiveSelectedIds = selectedIds ?? internalSelectedIds;
|
|
18
|
+
const itemLookup = React.useMemo(() => new Map(items.map((item) => [item.id, item])), [items]);
|
|
19
|
+
const ids = items.filter((item) => !item.disabled).map((item) => item.id);
|
|
20
|
+
const selected = new Set(effectiveSelectedIds);
|
|
21
|
+
const passive = interactionPolicy === 'passive' || disabled || readOnly;
|
|
22
|
+
const select = (item, intent) => {
|
|
23
|
+
if (passive || item.disabled)
|
|
24
|
+
return;
|
|
25
|
+
const next = resolveExplorerSelection(ids, effectiveSelectedIds, item.id, anchorId.current, intent, selectionMode);
|
|
26
|
+
if (intent !== 'range')
|
|
27
|
+
anchorId.current = item.id;
|
|
28
|
+
if (selectedIds === undefined)
|
|
29
|
+
setInternalSelectedIds(next);
|
|
30
|
+
onSelectionChange?.({ selectedIds: next });
|
|
31
|
+
};
|
|
32
|
+
const renderTile = (tile) => {
|
|
33
|
+
const item = itemLookup.get(tile.id);
|
|
34
|
+
if (!item)
|
|
35
|
+
return null;
|
|
36
|
+
const isSelected = selected.has(item.id);
|
|
37
|
+
const canInteract = !passive && !item.disabled;
|
|
38
|
+
return (<NativePressable accessibilityLabel={item.name} accessibilityRole="button" accessibilityState={{ selected: isSelected, disabled: !canInteract }} disabled={!canInteract} onLongPress={() => select(item, 'toggle')} onPress={(event) => {
|
|
39
|
+
const intent = resolveExplorerPressIntent(event.nativeEvent);
|
|
40
|
+
select(item, intent);
|
|
41
|
+
if (selectionMode === 'single' && intent === 'replace') {
|
|
42
|
+
onActivate?.({ id: item.id });
|
|
43
|
+
}
|
|
44
|
+
}} style={{
|
|
45
|
+
flex: 1,
|
|
46
|
+
overflow: 'hidden',
|
|
47
|
+
borderRadius: 8,
|
|
48
|
+
borderWidth: isSelected ? 2 : 1,
|
|
49
|
+
borderColor: isSelected ? theme.colors.primary : theme.semantics.neutral.divider,
|
|
50
|
+
backgroundColor: theme.semantics.neutral.surface,
|
|
51
|
+
padding: 8,
|
|
52
|
+
gap: 4,
|
|
53
|
+
}} testID={`explorer-item-${item.id}`}>
|
|
54
|
+
<NativeView style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
|
|
55
|
+
{item.thumbnailUri ? (<Image accessibilityLabel={item.name} aspectRatio={1} source={item.thumbnailUri} width="100%"/>) : (<Icon name={item.kind === 'folder' ? 'folder-outline' : 'document-outline'} size={32}/>)}
|
|
56
|
+
</NativeView>
|
|
57
|
+
<Text numberOfLines={1} variant="caption">
|
|
58
|
+
{item.name}
|
|
59
|
+
</Text>
|
|
60
|
+
</NativePressable>);
|
|
61
|
+
};
|
|
62
|
+
if (errorText)
|
|
63
|
+
return <Text testID={testID}>{errorText}</Text>;
|
|
64
|
+
if (loading)
|
|
65
|
+
return <Text testID={testID}>Loading…</Text>;
|
|
66
|
+
if (items.length === 0)
|
|
67
|
+
return <Text testID={testID}>{emptyText}</Text>;
|
|
68
|
+
return (<TileGrid height={height} interactionPolicy={interactionPolicy} items={items} renderItem={renderTile} testID={testID} tileSize={tileSize} width={width} zoom={zoom}/>);
|
|
69
|
+
}
|
|
70
|
+
/*** Normalize platform press modifiers for multi-selection without passing event objects into contracts. */
|
|
71
|
+
function resolveExplorerPressIntent(event) {
|
|
72
|
+
if (typeof event !== 'object' || event === null)
|
|
73
|
+
return 'replace';
|
|
74
|
+
if ('shiftKey' in event && event.shiftKey === true)
|
|
75
|
+
return 'range';
|
|
76
|
+
if ('ctrlKey' in event && event.ctrlKey === true)
|
|
77
|
+
return 'toggle';
|
|
78
|
+
if ('metaKey' in event && event.metaKey === true)
|
|
79
|
+
return 'toggle';
|
|
80
|
+
return 'replace';
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=Explorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Explorer.js","sourceRoot":"","sources":["../../../../../src/features/explorer/adapters/inbound/Explorer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Pressable as NativePressable, View as NativeView } from 'react-native';\n\nimport type { ExplorerItem, ExplorerProps } from '../../../../types/explorer';\nimport { TileGrid } from '../../../grid-view/public';\nimport { Icon } from '../../../icon/public';\nimport { Image } from '../../../image/public';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { useZoraTheme } from '../../../theme/composition/useZoraTheme';\nimport { Text } from '../../../typography/public';\nimport { resolveExplorerSelection } from '../../application/resolveExplorerSelection';\n\n/*** Single canonical Explorer implementation for media and file catalogue presentation. */\nexport const Explorer = withZoraThemeScope(ExplorerInner);\n\n/*** Presents provider-neutral asset tiles with controlled or uncontrolled selection. */\nfunction ExplorerInner({\n items,\n selectedIds,\n defaultSelectedIds = [],\n selectionMode = 'single',\n onSelectionChange,\n onActivate,\n width,\n height,\n tileSize = 120,\n zoom = 1,\n loading = false,\n errorText,\n emptyText = 'No items',\n disabled = false,\n readOnly = false,\n interactionPolicy,\n testID,\n}: ExplorerProps) {\n const { theme } = useZoraTheme();\n const [internalSelectedIds, setInternalSelectedIds] =\n React.useState<readonly string[]>(defaultSelectedIds);\n const anchorId = React.useRef<string | null>(null);\n const effectiveSelectedIds = selectedIds ?? internalSelectedIds;\n const itemLookup = React.useMemo(() => new Map(items.map((item) => [item.id, item])), [items]);\n const ids = items.filter((item) => !item.disabled).map((item) => item.id);\n const selected = new Set(effectiveSelectedIds);\n const passive = interactionPolicy === 'passive' || disabled || readOnly;\n\n const select = (item: ExplorerItem, intent: 'replace' | 'toggle' | 'range') => {\n if (passive || item.disabled) return;\n const next = resolveExplorerSelection(\n ids,\n effectiveSelectedIds,\n item.id,\n anchorId.current,\n intent,\n selectionMode,\n );\n if (intent !== 'range') anchorId.current = item.id;\n if (selectedIds === undefined) setInternalSelectedIds(next);\n onSelectionChange?.({ selectedIds: next });\n };\n\n const renderTile = (tile: { readonly id: string }) => {\n const item = itemLookup.get(tile.id);\n if (!item) return null;\n const isSelected = selected.has(item.id);\n const canInteract = !passive && !item.disabled;\n return (\n <NativePressable\n accessibilityLabel={item.name}\n accessibilityRole=\"button\"\n accessibilityState={{ selected: isSelected, disabled: !canInteract }}\n disabled={!canInteract}\n onLongPress={() => select(item, 'toggle')}\n onPress={(event) => {\n const intent = resolveExplorerPressIntent(event.nativeEvent);\n select(item, intent);\n if (selectionMode === 'single' && intent === 'replace') {\n onActivate?.({ id: item.id });\n }\n }}\n style={{\n flex: 1,\n overflow: 'hidden',\n borderRadius: 8,\n borderWidth: isSelected ? 2 : 1,\n borderColor: isSelected ? theme.colors.primary : theme.semantics.neutral.divider,\n backgroundColor: theme.semantics.neutral.surface,\n padding: 8,\n gap: 4,\n }}\n testID={`explorer-item-${item.id}`}\n >\n <NativeView style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>\n {item.thumbnailUri ? (\n <Image\n accessibilityLabel={item.name}\n aspectRatio={1}\n source={item.thumbnailUri}\n width=\"100%\"\n />\n ) : (\n <Icon name={item.kind === 'folder' ? 'folder-outline' : 'document-outline'} size={32} />\n )}\n </NativeView>\n <Text numberOfLines={1} variant=\"caption\">\n {item.name}\n </Text>\n </NativePressable>\n );\n };\n\n if (errorText) return <Text testID={testID}>{errorText}</Text>;\n if (loading) return <Text testID={testID}>Loading…</Text>;\n if (items.length === 0) return <Text testID={testID}>{emptyText}</Text>;\n\n return (\n <TileGrid\n height={height}\n interactionPolicy={interactionPolicy}\n items={items}\n renderItem={renderTile}\n testID={testID}\n tileSize={tileSize}\n width={width}\n zoom={zoom}\n />\n );\n}\n\n/*** Normalize platform press modifiers for multi-selection without passing event objects into contracts. */\nfunction resolveExplorerPressIntent(event: unknown): 'replace' | 'toggle' | 'range' {\n if (typeof event !== 'object' || event === null) return 'replace';\n if ('shiftKey' in event && event.shiftKey === true) return 'range';\n if ('ctrlKey' in event && event.ctrlKey === true) return 'toggle';\n if ('metaKey' in event && event.metaKey === true) return 'toggle';\n return 'replace';\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ExplorerProps } from '../../../../types/explorer';
|
|
3
|
+
/*** File and folder presentation using the exact same TileGrid and selection model. */
|
|
4
|
+
export declare function FileExplorer(props: ExplorerProps): React.JSX.Element;
|
|
5
|
+
//# sourceMappingURL=FileExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorer.d.ts","sourceRoot":"","sources":["../../../../../src/features/explorer/adapters/inbound/FileExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,qBAEhD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Explorer } from './Explorer';
|
|
3
|
+
/*** File and folder presentation using the exact same TileGrid and selection model. */
|
|
4
|
+
export function FileExplorer(props) {
|
|
5
|
+
return <Explorer {...props}/>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=FileExplorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileExplorer.js","sourceRoot":"","sources":["../../../../../src/features/explorer/adapters/inbound/FileExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;AACjC,CAAC","sourcesContent":["import React from 'react';\n\nimport type { ExplorerProps } from '../../../../types/explorer';\nimport { Explorer } from './Explorer';\n\n/*** File and folder presentation using the exact same TileGrid and selection model. */\nexport function FileExplorer(props: ExplorerProps) {\n return <Explorer {...props} />;\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ExplorerProps } from '../../../../types/explorer';
|
|
3
|
+
/*** Specialized media catalogue presentation sharing the canonical Explorer/TileGrid path. */
|
|
4
|
+
export declare function MediaExplorer(props: ExplorerProps): React.JSX.Element;
|
|
5
|
+
//# sourceMappingURL=MediaExplorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaExplorer.d.ts","sourceRoot":"","sources":["../../../../../src/features/explorer/adapters/inbound/MediaExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,qBASjD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Explorer } from './Explorer';
|
|
3
|
+
/*** Specialized media catalogue presentation sharing the canonical Explorer/TileGrid path. */
|
|
4
|
+
export function MediaExplorer(props) {
|
|
5
|
+
return (<Explorer {...props} items={props.items.filter((item) => item.kind === 'image' || item.kind === 'video' || item.kind === 'audio')}/>);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=MediaExplorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaExplorer.js","sourceRoot":"","sources":["../../../../../src/features/explorer/adapters/inbound/MediaExplorer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,UAAU,aAAa,CAAC,KAAoB;IAChD,OAAO,CACL,CAAC,QAAQ,CACP,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAClF,CAAC,EACF,CACH,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport type { ExplorerProps } from '../../../../types/explorer';\nimport { Explorer } from './Explorer';\n\n/*** Specialized media catalogue presentation sharing the canonical Explorer/TileGrid path. */\nexport function MediaExplorer(props: ExplorerProps) {\n return (\n <Explorer\n {...props}\n items={props.items.filter(\n (item) => item.kind === 'image' || item.kind === 'video' || item.kind === 'audio',\n )}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ExplorerSelectionMode } from '../../../types/explorer';
|
|
2
|
+
/***
|
|
3
|
+
* Resolve selection against ordered stable identities; shift-range extends from the last anchor.
|
|
4
|
+
* Range may replace or extend a multi-selection, but never affects the underlying catalogue.
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveExplorerSelection(orderedIds: readonly string[], currentIds: readonly string[], targetId: string, anchorId: string | null, intent: 'replace' | 'toggle' | 'range', mode: ExplorerSelectionMode): readonly string[];
|
|
7
|
+
//# sourceMappingURL=resolveExplorerSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveExplorerSelection.d.ts","sourceRoot":"","sources":["../../../../src/features/explorer/application/resolveExplorerSelection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,EACtC,IAAI,EAAE,qBAAqB,GAC1B,SAAS,MAAM,EAAE,CAanB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { applySelectionIntent } from '@ankhorage/utility/selection';
|
|
2
|
+
/***
|
|
3
|
+
* Resolve selection against ordered stable identities; shift-range extends from the last anchor.
|
|
4
|
+
* Range may replace or extend a multi-selection, but never affects the underlying catalogue.
|
|
5
|
+
*/
|
|
6
|
+
export function resolveExplorerSelection(orderedIds, currentIds, targetId, anchorId, intent, mode) {
|
|
7
|
+
const targetIndex = orderedIds.indexOf(targetId);
|
|
8
|
+
if (targetIndex < 0)
|
|
9
|
+
return currentIds;
|
|
10
|
+
if (mode === 'single' || intent === 'replace')
|
|
11
|
+
return applySelectionIntent(currentIds, targetId, 'replace');
|
|
12
|
+
if (intent === 'toggle') {
|
|
13
|
+
return applySelectionIntent(currentIds, targetId, 'toggle');
|
|
14
|
+
}
|
|
15
|
+
const anchorIndex = anchorId === null ? -1 : orderedIds.indexOf(anchorId);
|
|
16
|
+
if (anchorIndex < 0)
|
|
17
|
+
return [targetId];
|
|
18
|
+
const start = Math.min(anchorIndex, targetIndex);
|
|
19
|
+
const end = Math.max(anchorIndex, targetIndex);
|
|
20
|
+
return orderedIds.slice(start, end + 1);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=resolveExplorerSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveExplorerSelection.js","sourceRoot":"","sources":["../../../../src/features/explorer/application/resolveExplorerSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA6B,EAC7B,UAA6B,EAC7B,QAAgB,EAChB,QAAuB,EACvB,MAAsC,EACtC,IAA2B;IAE3B,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;QAC3C,OAAO,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { applySelectionIntent } from '@ankhorage/utility/selection';\n\nimport type { ExplorerSelectionMode } from '../../../types/explorer';\n\n/***\n * Resolve selection against ordered stable identities; shift-range extends from the last anchor.\n * Range may replace or extend a multi-selection, but never affects the underlying catalogue.\n */\nexport function resolveExplorerSelection(\n orderedIds: readonly string[],\n currentIds: readonly string[],\n targetId: string,\n anchorId: string | null,\n intent: 'replace' | 'toggle' | 'range',\n mode: ExplorerSelectionMode,\n): readonly string[] {\n const targetIndex = orderedIds.indexOf(targetId);\n if (targetIndex < 0) return currentIds;\n if (mode === 'single' || intent === 'replace')\n return applySelectionIntent(currentIds, targetId, 'replace');\n if (intent === 'toggle') {\n return applySelectionIntent(currentIds, targetId, 'toggle');\n }\n const anchorIndex = anchorId === null ? -1 : orderedIds.indexOf(anchorId);\n if (anchorIndex < 0) return [targetId];\n const start = Math.min(anchorIndex, targetIndex);\n const end = Math.max(anchorIndex, targetIndex);\n return orderedIds.slice(start, end + 1);\n}\n"]}
|