@ankhorage/zora 18.0.0 → 19.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.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/corePluginMetadata.d.ts.map +1 -1
- package/dist/corePluginMetadata.js +1 -5
- package/dist/corePluginMetadata.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/{patterns/chat-list-item → features/chat/adapters/inbound}/ChatListItem.d.ts +1 -1
- package/dist/features/chat/adapters/inbound/ChatListItem.d.ts.map +1 -0
- package/dist/{patterns/chat-list-item → features/chat/adapters/inbound}/ChatListItem.js +9 -9
- package/dist/features/chat/adapters/inbound/ChatListItem.js.map +1 -0
- package/dist/{patterns/message-bubble → features/chat/adapters/inbound}/MessageBubble.d.ts +1 -1
- package/dist/features/chat/adapters/inbound/MessageBubble.d.ts.map +1 -0
- package/dist/{patterns/message-bubble → features/chat/adapters/inbound}/MessageBubble.js +8 -8
- package/dist/features/chat/adapters/inbound/MessageBubble.js.map +1 -0
- package/dist/{patterns/chat-list-item/meta.d.ts → features/chat/chatListItemMeta.d.ts} +1 -1
- package/dist/features/chat/chatListItemMeta.d.ts.map +1 -0
- package/dist/{patterns/chat-list-item/meta.js → features/chat/chatListItemMeta.js} +1 -1
- package/dist/features/chat/chatListItemMeta.js.map +1 -0
- package/dist/{patterns/message-bubble/meta.d.ts → features/chat/messageBubbleMeta.d.ts} +2 -2
- package/dist/features/chat/messageBubbleMeta.d.ts.map +1 -0
- package/dist/{patterns/message-bubble/meta.js → features/chat/messageBubbleMeta.js} +1 -1
- package/dist/features/chat/messageBubbleMeta.js.map +1 -0
- package/dist/features/chat/public.d.ts +4 -0
- package/dist/features/chat/public.d.ts.map +1 -0
- package/dist/features/chat/public.js +3 -0
- package/dist/features/chat/public.js.map +1 -0
- package/dist/features/chip/adapters/inbound/Chip.js +3 -3
- package/dist/features/chip/adapters/inbound/Chip.js.map +1 -1
- package/dist/{patterns/collection-editor → features/collection-editor/adapters/inbound}/CollectionEditor.d.ts +1 -1
- package/dist/features/collection-editor/adapters/inbound/CollectionEditor.d.ts.map +1 -0
- package/dist/{patterns/collection-editor → features/collection-editor/adapters/inbound}/CollectionEditor.js +8 -8
- package/dist/features/collection-editor/adapters/inbound/CollectionEditor.js.map +1 -0
- package/dist/features/collection-editor/meta.d.ts.map +1 -0
- package/dist/{patterns → features}/collection-editor/meta.js.map +1 -1
- package/dist/features/collection-editor/public.d.ts +3 -0
- package/dist/features/collection-editor/public.d.ts.map +1 -0
- package/dist/features/collection-editor/public.js +2 -0
- package/dist/features/collection-editor/public.js.map +1 -0
- package/dist/features/content-rail/contentRailMeta.d.ts +2 -2
- package/dist/features/dialog/dialogMeta.d.ts +2 -2
- package/dist/features/form/field/meta.d.ts +1 -1
- package/dist/features/form/field/meta.d.ts.map +1 -1
- package/dist/features/form/field/meta.js +1 -0
- package/dist/features/form/field/meta.js.map +1 -1
- package/dist/features/form/switch/adapters/inbound/Switch.d.ts +5 -0
- package/dist/features/form/switch/adapters/inbound/Switch.d.ts.map +1 -0
- package/dist/features/form/switch/adapters/inbound/Switch.js +9 -0
- package/dist/features/form/switch/adapters/inbound/Switch.js.map +1 -0
- package/dist/features/form/switch/public.d.ts +3 -0
- package/dist/features/form/switch/public.d.ts.map +1 -0
- package/dist/features/form/switch/public.js +2 -0
- package/dist/features/form/switch/public.js.map +1 -0
- package/dist/features/form/switch/switchMeta.d.ts +33 -0
- package/dist/features/form/switch/switchMeta.d.ts.map +1 -0
- package/dist/features/form/switch/switchMeta.js +13 -0
- package/dist/features/form/switch/switchMeta.js.map +1 -0
- package/dist/features/gradient/gradientMeta.d.ts +1 -1
- package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
- package/dist/features/layout/gridMeta.d.ts +1 -1
- package/dist/features/layout/public.d.ts +1 -2
- package/dist/features/layout/public.d.ts.map +1 -1
- package/dist/features/layout/public.js +0 -1
- package/dist/features/layout/public.js.map +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/adapters/inbound/ListSection.d.ts.map +1 -1
- package/dist/features/list/adapters/inbound/ListSection.js +1 -1
- package/dist/features/list/adapters/inbound/ListSection.js.map +1 -1
- package/dist/features/list/flatListMeta.d.ts +1 -1
- package/dist/features/list/sectionListMeta.d.ts +1 -1
- package/dist/{patterns/reader → features/reader/adapters/inbound}/ReaderSurface.d.ts +1 -1
- package/dist/features/reader/adapters/inbound/ReaderSurface.d.ts.map +1 -0
- package/dist/{patterns/reader → features/reader/adapters/inbound}/ReaderSurface.js +9 -9
- package/dist/features/reader/adapters/inbound/ReaderSurface.js.map +1 -0
- package/dist/{patterns → features}/reader/meta.d.ts +2 -2
- package/dist/{patterns → features}/reader/meta.d.ts.map +1 -1
- package/dist/{patterns → features}/reader/meta.js.map +1 -1
- package/dist/features/reader/public.d.ts +4 -0
- package/dist/features/reader/public.d.ts.map +1 -0
- package/dist/features/reader/public.js +3 -0
- package/dist/features/reader/public.js.map +1 -0
- package/dist/features/reader/utils/resolveReaderProgress.d.ts.map +1 -0
- package/dist/features/reader/utils/resolveReaderProgress.js.map +1 -0
- package/dist/{patterns/scanner → features/scanner/adapters/inbound}/BarcodeScannerView.d.ts +1 -1
- package/dist/features/scanner/adapters/inbound/BarcodeScannerView.d.ts.map +1 -0
- package/dist/{patterns/scanner → features/scanner/adapters/inbound}/BarcodeScannerView.js +5 -5
- package/dist/features/scanner/adapters/inbound/BarcodeScannerView.js.map +1 -0
- package/dist/{patterns/scanner → features/scanner/adapters/inbound}/CameraPermissionView.d.ts +1 -1
- package/dist/features/scanner/adapters/inbound/CameraPermissionView.d.ts.map +1 -0
- package/dist/{patterns/scanner → features/scanner/adapters/inbound}/CameraPermissionView.js +5 -5
- package/dist/features/scanner/adapters/inbound/CameraPermissionView.js.map +1 -0
- package/dist/{patterns/scanner → features/scanner/adapters/inbound}/ScanOverlay.d.ts +1 -1
- package/dist/features/scanner/adapters/inbound/ScanOverlay.d.ts.map +1 -0
- package/dist/{patterns/scanner → features/scanner/adapters/inbound}/ScanOverlay.js +5 -5
- package/dist/features/scanner/adapters/inbound/ScanOverlay.js.map +1 -0
- package/dist/{patterns → features}/scanner/meta.d.ts +2 -2
- package/dist/{patterns → features}/scanner/meta.d.ts.map +1 -1
- package/dist/{patterns → features}/scanner/meta.js.map +1 -1
- package/dist/features/scanner/public.d.ts +5 -0
- package/dist/features/scanner/public.d.ts.map +1 -0
- package/dist/features/scanner/public.js +4 -0
- package/dist/features/scanner/public.js.map +1 -0
- package/dist/features/{layout → section}/adapters/inbound/ScreenSection.d.ts +1 -1
- package/dist/features/section/adapters/inbound/ScreenSection.d.ts.map +1 -0
- package/dist/features/{layout → section}/adapters/inbound/ScreenSection.js +2 -2
- package/dist/features/section/adapters/inbound/ScreenSection.js.map +1 -0
- package/dist/{patterns/section-header → features/section/adapters/inbound}/SectionHeader.d.ts +1 -1
- package/dist/features/section/adapters/inbound/SectionHeader.d.ts.map +1 -0
- package/dist/{patterns/section-header → features/section/adapters/inbound}/SectionHeader.js +4 -4
- package/dist/features/section/adapters/inbound/SectionHeader.js.map +1 -0
- package/dist/features/section/public.d.ts +4 -0
- package/dist/features/section/public.d.ts.map +1 -0
- package/dist/features/section/public.js +3 -0
- package/dist/features/section/public.js.map +1 -0
- package/dist/features/{layout → section}/screenSectionMeta.d.ts +1 -1
- package/dist/features/section/screenSectionMeta.d.ts.map +1 -0
- package/dist/features/section/screenSectionMeta.js.map +1 -0
- package/dist/{patterns/section-header/meta.d.ts → features/section/sectionHeaderMeta.d.ts} +1 -1
- package/dist/features/section/sectionHeaderMeta.d.ts.map +1 -0
- package/dist/{patterns/section-header/meta.js → features/section/sectionHeaderMeta.js} +1 -1
- package/dist/features/section/sectionHeaderMeta.js.map +1 -0
- package/dist/{patterns/selection → features/selection/adapters/inbound}/SelectableItem.d.ts +1 -1
- package/dist/features/selection/adapters/inbound/SelectableItem.d.ts.map +1 -0
- package/dist/{patterns/selection → features/selection/adapters/inbound}/SelectableItem.js +4 -4
- package/dist/features/selection/adapters/inbound/SelectableItem.js.map +1 -0
- package/dist/{patterns/selection → features/selection/adapters/inbound}/SelectionProvider.d.ts +1 -1
- package/dist/features/selection/adapters/inbound/SelectionProvider.d.ts.map +1 -0
- package/dist/{patterns/selection → features/selection/adapters/inbound}/SelectionProvider.js +1 -1
- package/dist/features/selection/adapters/inbound/SelectionProvider.js.map +1 -0
- package/dist/{patterns → features}/selection/meta.d.ts.map +1 -1
- package/dist/{patterns → features}/selection/meta.js.map +1 -1
- package/dist/features/selection/public.d.ts +4 -0
- package/dist/features/selection/public.d.ts.map +1 -0
- package/dist/features/selection/public.js +3 -0
- package/dist/features/selection/public.js.map +1 -0
- package/dist/{patterns/selection → features/selection/utils}/resolveSelectionNextIds.d.ts +1 -1
- package/dist/features/selection/utils/resolveSelectionNextIds.d.ts.map +1 -0
- package/dist/features/selection/utils/resolveSelectionNextIds.js.map +1 -0
- package/dist/features/surface/surfaceMeta.d.ts +1 -1
- package/dist/features/tabs/tabPanelMeta.d.ts +1 -1
- package/dist/{patterns/timeline → features/timeline/adapters/inbound}/Timeline.d.ts +1 -1
- package/dist/features/timeline/adapters/inbound/Timeline.d.ts.map +1 -0
- package/dist/{patterns/timeline → features/timeline/adapters/inbound}/Timeline.js +7 -7
- package/dist/features/timeline/adapters/inbound/Timeline.js.map +1 -0
- package/dist/features/timeline/meta.d.ts.map +1 -0
- package/dist/{patterns → features}/timeline/meta.js.map +1 -1
- package/dist/features/timeline/public.d.ts +3 -0
- package/dist/features/timeline/public.d.ts.map +1 -0
- package/dist/features/timeline/public.js +2 -0
- package/dist/features/timeline/public.js.map +1 -0
- package/dist/{patterns/tree-view → features/tree-view/adapters/inbound}/TreeItem.d.ts +2 -2
- package/dist/features/tree-view/adapters/inbound/TreeItem.d.ts.map +1 -0
- package/dist/{patterns/tree-view → features/tree-view/adapters/inbound}/TreeItem.js +4 -4
- package/dist/features/tree-view/adapters/inbound/TreeItem.js.map +1 -0
- package/dist/{patterns/tree-view → features/tree-view/adapters/inbound}/TreeView.d.ts +1 -1
- package/dist/features/tree-view/adapters/inbound/TreeView.d.ts.map +1 -0
- package/dist/{patterns/tree-view → features/tree-view/adapters/inbound}/TreeView.js +2 -2
- package/dist/features/tree-view/adapters/inbound/TreeView.js.map +1 -0
- package/dist/{patterns → features}/tree-view/meta.d.ts.map +1 -1
- package/dist/{patterns → features}/tree-view/meta.js.map +1 -1
- package/dist/features/tree-view/public.d.ts +4 -0
- package/dist/features/tree-view/public.d.ts.map +1 -0
- package/dist/features/tree-view/public.js +3 -0
- package/dist/features/tree-view/public.js.map +1 -0
- package/dist/index.d.ts +18 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -17
- package/dist/index.js.map +1 -1
- package/dist/metadata/allowedChildren.d.ts +4 -4
- package/dist/metadata/allowedChildren.d.ts.map +1 -1
- package/dist/metadata/allowedChildren.js +0 -3
- package/dist/metadata/allowedChildren.js.map +1 -1
- package/dist/metadata/bindableComponentMeta.d.ts +23 -23
- package/dist/metadata/bindableComponentMeta.d.ts.map +1 -1
- package/dist/metadata/bindableComponentMeta.js +20 -28
- package/dist/metadata/bindableComponentMeta.js.map +1 -1
- package/dist/metadata/componentMeta.d.ts.map +1 -1
- package/dist/metadata/componentMeta.js +12 -24
- package/dist/metadata/componentMeta.js.map +1 -1
- package/dist/metadata/themeRecipeMeta.d.ts.map +1 -1
- package/dist/metadata/themeRecipeMeta.js +0 -2
- package/dist/metadata/themeRecipeMeta.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +11 -24
- package/dist/registry.js.map +1 -1
- package/dist/{patterns/message-bubble/types.d.ts → types/chat.d.ts} +29 -4
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +2 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/{patterns/collection-editor/types.d.ts → types/collection-editor.d.ts} +2 -2
- package/dist/types/collection-editor.d.ts.map +1 -0
- package/dist/types/collection-editor.js +2 -0
- package/dist/types/collection-editor.js.map +1 -0
- package/dist/types/layout.d.ts +0 -6
- package/dist/types/layout.d.ts.map +1 -1
- package/dist/types/layout.js.map +1 -1
- package/dist/{patterns/reader/types.d.ts → types/reader.d.ts} +2 -2
- package/dist/types/reader.d.ts.map +1 -0
- package/dist/types/reader.js +2 -0
- package/dist/types/reader.js.map +1 -0
- package/dist/{patterns/scanner/types.d.ts → types/scanner.d.ts} +3 -3
- package/dist/types/scanner.d.ts.map +1 -0
- package/dist/types/scanner.js +2 -0
- package/dist/types/scanner.js.map +1 -0
- package/dist/types/section.d.ts +15 -0
- package/dist/types/section.d.ts.map +1 -0
- package/dist/types/section.js +2 -0
- package/dist/types/section.js.map +1 -0
- package/dist/{patterns/selection/types.d.ts → types/selection.d.ts} +1 -1
- package/dist/types/selection.d.ts.map +1 -0
- package/dist/types/selection.js +2 -0
- package/dist/types/selection.js.map +1 -0
- package/dist/types/switch.d.ts +5 -0
- package/dist/types/switch.d.ts.map +1 -0
- package/dist/types/switch.js +2 -0
- package/dist/types/switch.js.map +1 -0
- package/dist/{patterns/timeline/types.d.ts → types/timeline.d.ts} +3 -3
- package/dist/types/timeline.d.ts.map +1 -0
- package/dist/types/timeline.js +2 -0
- package/dist/types/timeline.js.map +1 -0
- package/dist/{patterns/tree-view/types.d.ts → types/tree-view.d.ts} +2 -2
- package/dist/types/tree-view.d.ts.map +1 -0
- package/dist/types/tree-view.js +2 -0
- package/dist/types/tree-view.js.map +1 -0
- package/package.json +2 -2
- package/src/audit.test.ts +3 -3
- package/src/constants.ts +2 -1
- package/src/corePluginMetadata.ts +1 -5
- package/src/featureManifest.test.ts +2 -1
- package/src/features/bottom-sheet/public.test.ts +1 -1
- package/src/{patterns/chat-list-item → features/chat/adapters/inbound}/ChatListItem.test.tsx +1 -1
- package/src/{patterns/chat-list-item → features/chat/adapters/inbound}/ChatListItem.tsx +10 -10
- package/src/{patterns/message-bubble → features/chat/adapters/inbound}/MessageBubble.tsx +9 -9
- package/src/features/chat/public.ts +11 -0
- package/src/features/chip/adapters/inbound/Chip.tsx +3 -3
- package/src/{patterns/collection-editor → features/collection-editor/adapters/inbound}/CollectionEditor.tsx +9 -9
- package/src/features/collection-editor/public.ts +5 -0
- package/src/features/form/field/meta.ts +1 -0
- package/src/features/form/switch/adapters/inbound/Switch.tsx +12 -0
- package/src/features/form/switch/public.ts +2 -0
- package/src/features/form/switch/switchMeta.ts +14 -0
- package/src/features/layout/public.test.ts +3 -11
- package/src/features/layout/public.ts +0 -2
- package/src/features/list/adapters/inbound/ListSection.tsx +1 -1
- package/src/features/missing-element/MissingElement.test.ts +2 -2
- package/src/{patterns/reader → features/reader/adapters/inbound}/ReaderSurface.test.ts +3 -3
- package/src/{patterns/reader → features/reader/adapters/inbound}/ReaderSurface.tsx +10 -10
- package/src/{patterns/reader/index.ts → features/reader/public.ts} +3 -3
- package/src/{patterns/scanner → features/scanner/adapters/inbound}/BarcodeScannerView.tsx +6 -6
- package/src/{patterns/scanner → features/scanner/adapters/inbound}/CameraPermissionView.tsx +6 -6
- package/src/{patterns/scanner → features/scanner/adapters/inbound}/ScanOverlay.tsx +6 -6
- package/src/features/scanner/public.ts +10 -0
- package/src/features/{layout → section}/adapters/inbound/ScreenSection.tsx +3 -3
- package/src/{patterns/section-header → features/section/adapters/inbound}/SectionHeader.tsx +5 -5
- package/src/features/section/public.ts +3 -0
- package/src/{patterns/selection → features/selection/adapters/inbound}/SelectableItem.tsx +9 -5
- package/src/{patterns/selection → features/selection/adapters/inbound}/SelectionProvider.tsx +12 -2
- package/src/features/selection/public.ts +10 -0
- package/src/{patterns/selection → features/selection/utils}/resolveSelectionNextIds.test.ts +1 -1
- package/src/{patterns/selection → features/selection/utils}/resolveSelectionNextIds.ts +1 -1
- package/src/{patterns/timeline → features/timeline/adapters/inbound}/Timeline.tsx +9 -9
- package/src/features/timeline/public.ts +2 -0
- package/src/{patterns/tree-view → features/tree-view/adapters/inbound}/TreeItem.tsx +6 -6
- package/src/{patterns/tree-view → features/tree-view/adapters/inbound}/TreeView.tsx +3 -3
- package/src/features/tree-view/public.ts +3 -0
- package/src/index.ts +58 -76
- package/src/interactionPolicy.test.ts +8 -12
- package/src/metadata/allowedChildren.ts +0 -3
- package/src/metadata/authoringMeta.test.ts +1 -1
- package/src/metadata/bindableComponentMeta.ts +20 -28
- package/src/metadata/componentMeta.test.ts +2 -3
- package/src/metadata/componentMeta.ts +16 -28
- package/src/metadata/radioGroupReachability.test.ts +0 -1
- package/src/metadata/themeRecipeMeta.test.ts +0 -1
- package/src/metadata/themeRecipeMeta.ts +0 -2
- package/src/platformAcceptance.test.ts +1 -1
- package/src/registry.ts +11 -32
- package/src/showcaseCoverage.test.ts +1 -7
- package/src/theme/themeScopeStructure.test.ts +13 -21
- package/src/{patterns/message-bubble/types.ts → types/chat.ts} +30 -3
- package/src/{patterns/collection-editor/types.ts → types/collection-editor.ts} +2 -2
- package/src/types/layout.ts +0 -7
- package/src/{patterns/reader/types.ts → types/reader.ts} +1 -1
- package/src/{patterns/scanner/types.ts → types/scanner.ts} +2 -2
- package/src/types/section.ts +17 -0
- package/src/types/switch.ts +5 -0
- package/src/{patterns/timeline/types.ts → types/timeline.ts} +2 -2
- package/src/{patterns/tree-view/types.ts → types/tree-view.ts} +1 -1
- package/dist/features/layout/adapters/inbound/ScreenSection.d.ts.map +0 -1
- package/dist/features/layout/adapters/inbound/ScreenSection.js.map +0 -1
- package/dist/features/layout/screenSectionMeta.d.ts.map +0 -1
- package/dist/features/layout/screenSectionMeta.js.map +0 -1
- package/dist/patterns/chat-list-item/ChatListItem.d.ts.map +0 -1
- package/dist/patterns/chat-list-item/ChatListItem.js.map +0 -1
- package/dist/patterns/chat-list-item/index.d.ts +0 -3
- package/dist/patterns/chat-list-item/index.d.ts.map +0 -1
- package/dist/patterns/chat-list-item/index.js +0 -2
- package/dist/patterns/chat-list-item/index.js.map +0 -1
- package/dist/patterns/chat-list-item/meta.d.ts.map +0 -1
- package/dist/patterns/chat-list-item/meta.js.map +0 -1
- package/dist/patterns/chat-list-item/types.d.ts +0 -31
- package/dist/patterns/chat-list-item/types.d.ts.map +0 -1
- package/dist/patterns/chat-list-item/types.js +0 -2
- package/dist/patterns/chat-list-item/types.js.map +0 -1
- package/dist/patterns/collection-editor/CollectionEditor.d.ts.map +0 -1
- package/dist/patterns/collection-editor/CollectionEditor.js.map +0 -1
- package/dist/patterns/collection-editor/index.d.ts +0 -3
- package/dist/patterns/collection-editor/index.d.ts.map +0 -1
- package/dist/patterns/collection-editor/index.js +0 -3
- package/dist/patterns/collection-editor/index.js.map +0 -1
- package/dist/patterns/collection-editor/meta.d.ts.map +0 -1
- package/dist/patterns/collection-editor/types.d.ts.map +0 -1
- package/dist/patterns/collection-editor/types.js +0 -2
- package/dist/patterns/collection-editor/types.js.map +0 -1
- package/dist/patterns/confirm-dialog/ConfirmDialog.d.ts +0 -9
- package/dist/patterns/confirm-dialog/ConfirmDialog.d.ts.map +0 -1
- package/dist/patterns/confirm-dialog/ConfirmDialog.js +0 -24
- package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +0 -1
- package/dist/patterns/confirm-dialog/index.d.ts +0 -3
- package/dist/patterns/confirm-dialog/index.d.ts.map +0 -1
- package/dist/patterns/confirm-dialog/index.js +0 -2
- package/dist/patterns/confirm-dialog/index.js.map +0 -1
- package/dist/patterns/confirm-dialog/meta.d.ts +0 -9
- package/dist/patterns/confirm-dialog/meta.d.ts.map +0 -1
- package/dist/patterns/confirm-dialog/meta.js +0 -9
- package/dist/patterns/confirm-dialog/meta.js.map +0 -1
- package/dist/patterns/confirm-dialog/types.d.ts +0 -18
- package/dist/patterns/confirm-dialog/types.d.ts.map +0 -1
- package/dist/patterns/confirm-dialog/types.js +0 -2
- package/dist/patterns/confirm-dialog/types.js.map +0 -1
- package/dist/patterns/filter-bar/FilterBar.d.ts +0 -9
- package/dist/patterns/filter-bar/FilterBar.d.ts.map +0 -1
- package/dist/patterns/filter-bar/FilterBar.js +0 -17
- package/dist/patterns/filter-bar/FilterBar.js.map +0 -1
- package/dist/patterns/filter-bar/index.d.ts +0 -3
- package/dist/patterns/filter-bar/index.d.ts.map +0 -1
- package/dist/patterns/filter-bar/index.js +0 -2
- package/dist/patterns/filter-bar/index.js.map +0 -1
- package/dist/patterns/filter-bar/meta.d.ts +0 -9
- package/dist/patterns/filter-bar/meta.d.ts.map +0 -1
- package/dist/patterns/filter-bar/meta.js +0 -9
- package/dist/patterns/filter-bar/meta.js.map +0 -1
- package/dist/patterns/filter-bar/types.d.ts +0 -9
- package/dist/patterns/filter-bar/types.d.ts.map +0 -1
- package/dist/patterns/filter-bar/types.js +0 -2
- package/dist/patterns/filter-bar/types.js.map +0 -1
- package/dist/patterns/inspector-field/InspectorField.d.ts +0 -9
- package/dist/patterns/inspector-field/InspectorField.d.ts.map +0 -1
- package/dist/patterns/inspector-field/InspectorField.js +0 -19
- package/dist/patterns/inspector-field/InspectorField.js.map +0 -1
- package/dist/patterns/inspector-field/index.d.ts +0 -3
- package/dist/patterns/inspector-field/index.d.ts.map +0 -1
- package/dist/patterns/inspector-field/index.js +0 -3
- package/dist/patterns/inspector-field/index.js.map +0 -1
- package/dist/patterns/inspector-field/meta.d.ts +0 -9
- package/dist/patterns/inspector-field/meta.d.ts.map +0 -1
- package/dist/patterns/inspector-field/meta.js +0 -9
- package/dist/patterns/inspector-field/meta.js.map +0 -1
- package/dist/patterns/inspector-field/types.d.ts +0 -15
- package/dist/patterns/inspector-field/types.d.ts.map +0 -1
- package/dist/patterns/inspector-field/types.js +0 -2
- package/dist/patterns/inspector-field/types.js.map +0 -1
- package/dist/patterns/message-bubble/MessageBubble.d.ts.map +0 -1
- package/dist/patterns/message-bubble/MessageBubble.js.map +0 -1
- package/dist/patterns/message-bubble/index.d.ts +0 -3
- package/dist/patterns/message-bubble/index.d.ts.map +0 -1
- package/dist/patterns/message-bubble/index.js +0 -2
- package/dist/patterns/message-bubble/index.js.map +0 -1
- package/dist/patterns/message-bubble/meta.d.ts.map +0 -1
- package/dist/patterns/message-bubble/meta.js.map +0 -1
- package/dist/patterns/message-bubble/types.d.ts.map +0 -1
- package/dist/patterns/message-bubble/types.js +0 -2
- package/dist/patterns/message-bubble/types.js.map +0 -1
- package/dist/patterns/notice/Notice.d.ts +0 -9
- package/dist/patterns/notice/Notice.d.ts.map +0 -1
- package/dist/patterns/notice/Notice.js +0 -20
- package/dist/patterns/notice/Notice.js.map +0 -1
- package/dist/patterns/notice/index.d.ts +0 -3
- package/dist/patterns/notice/index.d.ts.map +0 -1
- package/dist/patterns/notice/index.js +0 -2
- package/dist/patterns/notice/index.js.map +0 -1
- package/dist/patterns/notice/meta.d.ts +0 -34
- package/dist/patterns/notice/meta.d.ts.map +0 -1
- package/dist/patterns/notice/meta.js +0 -35
- package/dist/patterns/notice/meta.js.map +0 -1
- package/dist/patterns/notice/types.d.ts +0 -11
- package/dist/patterns/notice/types.d.ts.map +0 -1
- package/dist/patterns/notice/types.js +0 -2
- package/dist/patterns/notice/types.js.map +0 -1
- package/dist/patterns/panel/Panel.d.ts +0 -7
- package/dist/patterns/panel/Panel.d.ts.map +0 -1
- package/dist/patterns/panel/Panel.js +0 -15
- package/dist/patterns/panel/Panel.js.map +0 -1
- package/dist/patterns/panel/index.d.ts +0 -3
- package/dist/patterns/panel/index.d.ts.map +0 -1
- package/dist/patterns/panel/index.js +0 -2
- package/dist/patterns/panel/index.js.map +0 -1
- package/dist/patterns/panel/meta.d.ts +0 -80
- package/dist/patterns/panel/meta.d.ts.map +0 -1
- package/dist/patterns/panel/meta.js +0 -49
- package/dist/patterns/panel/meta.js.map +0 -1
- package/dist/patterns/panel/themeRecipeMeta.d.ts +0 -31
- package/dist/patterns/panel/themeRecipeMeta.d.ts.map +0 -1
- package/dist/patterns/panel/themeRecipeMeta.js +0 -31
- package/dist/patterns/panel/themeRecipeMeta.js.map +0 -1
- package/dist/patterns/panel/types.d.ts +0 -16
- package/dist/patterns/panel/types.d.ts.map +0 -1
- package/dist/patterns/panel/types.js +0 -2
- package/dist/patterns/panel/types.js.map +0 -1
- package/dist/patterns/reader/ReaderSurface.d.ts.map +0 -1
- package/dist/patterns/reader/ReaderSurface.js.map +0 -1
- package/dist/patterns/reader/index.d.ts +0 -4
- package/dist/patterns/reader/index.d.ts.map +0 -1
- package/dist/patterns/reader/index.js +0 -3
- package/dist/patterns/reader/index.js.map +0 -1
- package/dist/patterns/reader/resolveReaderProgress.d.ts.map +0 -1
- package/dist/patterns/reader/resolveReaderProgress.js.map +0 -1
- package/dist/patterns/reader/types.d.ts.map +0 -1
- package/dist/patterns/reader/types.js +0 -2
- package/dist/patterns/reader/types.js.map +0 -1
- package/dist/patterns/scanner/BarcodeScannerView.d.ts.map +0 -1
- package/dist/patterns/scanner/BarcodeScannerView.js.map +0 -1
- package/dist/patterns/scanner/CameraPermissionView.d.ts.map +0 -1
- package/dist/patterns/scanner/CameraPermissionView.js.map +0 -1
- package/dist/patterns/scanner/ScanOverlay.d.ts.map +0 -1
- package/dist/patterns/scanner/ScanOverlay.js.map +0 -1
- package/dist/patterns/scanner/index.d.ts +0 -5
- package/dist/patterns/scanner/index.d.ts.map +0 -1
- package/dist/patterns/scanner/index.js +0 -4
- package/dist/patterns/scanner/index.js.map +0 -1
- package/dist/patterns/scanner/types.d.ts.map +0 -1
- package/dist/patterns/scanner/types.js +0 -2
- package/dist/patterns/scanner/types.js.map +0 -1
- package/dist/patterns/section-header/SectionHeader.d.ts.map +0 -1
- package/dist/patterns/section-header/SectionHeader.js.map +0 -1
- package/dist/patterns/section-header/index.d.ts +0 -3
- package/dist/patterns/section-header/index.d.ts.map +0 -1
- package/dist/patterns/section-header/index.js +0 -2
- package/dist/patterns/section-header/index.js.map +0 -1
- package/dist/patterns/section-header/meta.d.ts.map +0 -1
- package/dist/patterns/section-header/meta.js.map +0 -1
- package/dist/patterns/section-header/types.d.ts +0 -9
- package/dist/patterns/section-header/types.d.ts.map +0 -1
- package/dist/patterns/section-header/types.js +0 -2
- package/dist/patterns/section-header/types.js.map +0 -1
- package/dist/patterns/selection/SelectableItem.d.ts.map +0 -1
- package/dist/patterns/selection/SelectableItem.js.map +0 -1
- package/dist/patterns/selection/SelectionProvider.d.ts.map +0 -1
- package/dist/patterns/selection/SelectionProvider.js.map +0 -1
- package/dist/patterns/selection/index.d.ts +0 -4
- package/dist/patterns/selection/index.d.ts.map +0 -1
- package/dist/patterns/selection/index.js +0 -3
- package/dist/patterns/selection/index.js.map +0 -1
- package/dist/patterns/selection/resolveSelectionNextIds.d.ts.map +0 -1
- package/dist/patterns/selection/resolveSelectionNextIds.js.map +0 -1
- package/dist/patterns/selection/types.d.ts.map +0 -1
- package/dist/patterns/selection/types.js +0 -2
- package/dist/patterns/selection/types.js.map +0 -1
- package/dist/patterns/switch-field/SwitchField.d.ts +0 -8
- package/dist/patterns/switch-field/SwitchField.d.ts.map +0 -1
- package/dist/patterns/switch-field/SwitchField.js +0 -13
- package/dist/patterns/switch-field/SwitchField.js.map +0 -1
- package/dist/patterns/switch-field/index.d.ts +0 -3
- package/dist/patterns/switch-field/index.d.ts.map +0 -1
- package/dist/patterns/switch-field/index.js +0 -3
- package/dist/patterns/switch-field/index.js.map +0 -1
- package/dist/patterns/switch-field/meta.d.ts +0 -9
- package/dist/patterns/switch-field/meta.d.ts.map +0 -1
- package/dist/patterns/switch-field/meta.js +0 -9
- package/dist/patterns/switch-field/meta.js.map +0 -1
- package/dist/patterns/switch-field/types.d.ts +0 -10
- package/dist/patterns/switch-field/types.d.ts.map +0 -1
- package/dist/patterns/switch-field/types.js +0 -2
- package/dist/patterns/switch-field/types.js.map +0 -1
- package/dist/patterns/theme-composer/ThemeComposer.d.ts +0 -9
- package/dist/patterns/theme-composer/ThemeComposer.d.ts.map +0 -1
- package/dist/patterns/theme-composer/ThemeComposer.js +0 -217
- package/dist/patterns/theme-composer/ThemeComposer.js.map +0 -1
- package/dist/patterns/theme-composer/index.d.ts +0 -3
- package/dist/patterns/theme-composer/index.d.ts.map +0 -1
- package/dist/patterns/theme-composer/index.js +0 -2
- package/dist/patterns/theme-composer/index.js.map +0 -1
- package/dist/patterns/theme-composer/meta.d.ts +0 -9
- package/dist/patterns/theme-composer/meta.d.ts.map +0 -1
- package/dist/patterns/theme-composer/meta.js +0 -9
- package/dist/patterns/theme-composer/meta.js.map +0 -1
- package/dist/patterns/theme-composer/types.d.ts +0 -12
- package/dist/patterns/theme-composer/types.d.ts.map +0 -1
- package/dist/patterns/theme-composer/types.js +0 -2
- package/dist/patterns/theme-composer/types.js.map +0 -1
- package/dist/patterns/timeline/Timeline.d.ts.map +0 -1
- package/dist/patterns/timeline/Timeline.js.map +0 -1
- package/dist/patterns/timeline/index.d.ts +0 -3
- package/dist/patterns/timeline/index.d.ts.map +0 -1
- package/dist/patterns/timeline/index.js +0 -2
- package/dist/patterns/timeline/index.js.map +0 -1
- package/dist/patterns/timeline/meta.d.ts.map +0 -1
- package/dist/patterns/timeline/types.d.ts.map +0 -1
- package/dist/patterns/timeline/types.js +0 -2
- package/dist/patterns/timeline/types.js.map +0 -1
- package/dist/patterns/tree-view/TreeItem.d.ts.map +0 -1
- package/dist/patterns/tree-view/TreeItem.js.map +0 -1
- package/dist/patterns/tree-view/TreeView.d.ts.map +0 -1
- package/dist/patterns/tree-view/TreeView.js.map +0 -1
- package/dist/patterns/tree-view/index.d.ts +0 -4
- package/dist/patterns/tree-view/index.d.ts.map +0 -1
- package/dist/patterns/tree-view/index.js +0 -4
- package/dist/patterns/tree-view/index.js.map +0 -1
- package/dist/patterns/tree-view/types.d.ts.map +0 -1
- package/dist/patterns/tree-view/types.js +0 -2
- package/dist/patterns/tree-view/types.js.map +0 -1
- package/src/patterns/chat-list-item/index.ts +0 -2
- package/src/patterns/chat-list-item/types.ts +0 -33
- package/src/patterns/collection-editor/index.ts +0 -2
- package/src/patterns/confirm-dialog/ConfirmDialog.tsx +0 -69
- package/src/patterns/confirm-dialog/index.ts +0 -2
- package/src/patterns/confirm-dialog/meta.ts +0 -10
- package/src/patterns/confirm-dialog/types.ts +0 -19
- package/src/patterns/filter-bar/FilterBar.tsx +0 -31
- package/src/patterns/filter-bar/index.ts +0 -2
- package/src/patterns/filter-bar/meta.ts +0 -10
- package/src/patterns/filter-bar/types.ts +0 -10
- package/src/patterns/inspector-field/InspectorField.tsx +0 -32
- package/src/patterns/inspector-field/index.ts +0 -2
- package/src/patterns/inspector-field/meta.ts +0 -10
- package/src/patterns/inspector-field/types.ts +0 -16
- package/src/patterns/message-bubble/index.ts +0 -8
- package/src/patterns/notice/Notice.tsx +0 -41
- package/src/patterns/notice/index.ts +0 -2
- package/src/patterns/notice/meta.ts +0 -36
- package/src/patterns/notice/types.ts +0 -12
- package/src/patterns/panel/Panel.tsx +0 -26
- package/src/patterns/panel/index.ts +0 -2
- package/src/patterns/panel/meta.ts +0 -51
- package/src/patterns/panel/themeRecipeMeta.ts +0 -32
- package/src/patterns/panel/types.ts +0 -17
- package/src/patterns/scanner/index.ts +0 -10
- package/src/patterns/section-header/index.ts +0 -2
- package/src/patterns/section-header/types.ts +0 -10
- package/src/patterns/selection/index.ts +0 -10
- package/src/patterns/switch-field/SwitchField.tsx +0 -42
- package/src/patterns/switch-field/index.ts +0 -2
- package/src/patterns/switch-field/meta.ts +0 -10
- package/src/patterns/switch-field/types.ts +0 -11
- package/src/patterns/theme-composer/ThemeComposer.test.ts +0 -212
- package/src/patterns/theme-composer/ThemeComposer.tsx +0 -321
- package/src/patterns/theme-composer/index.ts +0 -2
- package/src/patterns/theme-composer/meta.ts +0 -10
- package/src/patterns/theme-composer/types.ts +0 -13
- package/src/patterns/timeline/index.ts +0 -2
- package/src/patterns/tree-view/index.ts +0 -3
- /package/dist/{patterns → features}/collection-editor/meta.d.ts +0 -0
- /package/dist/{patterns → features}/collection-editor/meta.js +0 -0
- /package/dist/{patterns → features}/reader/meta.js +0 -0
- /package/dist/{patterns/reader → features/reader/utils}/resolveReaderProgress.d.ts +0 -0
- /package/dist/{patterns/reader → features/reader/utils}/resolveReaderProgress.js +0 -0
- /package/dist/{patterns → features}/scanner/meta.js +0 -0
- /package/dist/features/{layout → section}/screenSectionMeta.js +0 -0
- /package/dist/{patterns → features}/selection/meta.d.ts +0 -0
- /package/dist/{patterns → features}/selection/meta.js +0 -0
- /package/dist/{patterns/selection → features/selection/utils}/resolveSelectionNextIds.js +0 -0
- /package/dist/{patterns → features}/timeline/meta.d.ts +0 -0
- /package/dist/{patterns → features}/timeline/meta.js +0 -0
- /package/dist/{patterns → features}/tree-view/meta.d.ts +0 -0
- /package/dist/{patterns → features}/tree-view/meta.js +0 -0
- /package/src/{patterns/chat-list-item/meta.ts → features/chat/chatListItemMeta.ts} +0 -0
- /package/src/{patterns/message-bubble/meta.ts → features/chat/messageBubbleMeta.ts} +0 -0
- /package/src/{patterns → features}/collection-editor/meta.ts +0 -0
- /package/src/{patterns → features}/reader/meta.ts +0 -0
- /package/src/{patterns/reader → features/reader/utils}/resolveReaderProgress.test.ts +0 -0
- /package/src/{patterns/reader → features/reader/utils}/resolveReaderProgress.ts +0 -0
- /package/src/{patterns → features}/scanner/meta.ts +0 -0
- /package/src/features/{layout → section}/screenSectionMeta.ts +0 -0
- /package/src/{patterns/section-header/meta.ts → features/section/sectionHeaderMeta.ts} +0 -0
- /package/src/{patterns → features}/selection/meta.ts +0 -0
- /package/src/{patterns → features}/timeline/meta.ts +0 -0
- /package/src/{patterns → features}/tree-view/meta.ts +0 -0
- /package/src/{patterns/selection/types.ts → types/selection.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 19.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 5aaa4ae: Eliminate the legacy `src/patterns` ownership root. Move retained capabilities under canonical `src/features` owners, replace `SwitchField` with the Surface-aligned `Switch` API, and remove redundant convenience APIs including `ConfirmDialog`, `FilterBar`, `InspectorField`, `Notice`, `Panel`, and `ThemeComposer`.
|
|
8
|
+
|
|
9
|
+
## 18.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- a68a5fc: Migrate interactive ZORA consumers from the removed Surface `ButtonBase` API to the native-aligned `Pressable` API and require `@ankhorage/surface` 8.
|
|
14
|
+
|
|
3
15
|
## 18.0.0
|
|
4
16
|
|
|
5
17
|
### Major 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
|
|
package/dist/constants.d.ts
CHANGED
|
@@ -20,7 +20,8 @@ export declare const FEATURE_MANIFEST_ELEMENTS: {
|
|
|
20
20
|
readonly image: readonly ["Image"];
|
|
21
21
|
readonly 'keyboard-avoiding-view': readonly ["KeyboardAvoidingView"];
|
|
22
22
|
readonly 'content-rail': readonly ["ContentRail"];
|
|
23
|
-
readonly layout: readonly ["Divider", "Grid", "Screen", "
|
|
23
|
+
readonly layout: readonly ["Divider", "Grid", "Screen", "ScrollView", "View"];
|
|
24
|
+
readonly section: readonly ["ScreenSection", "SectionHeader"];
|
|
24
25
|
readonly list: readonly ["FlatList", "SectionList"];
|
|
25
26
|
readonly pagination: readonly ["Pagination"];
|
|
26
27
|
readonly rating: readonly ["Rating"];
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC5B,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -27,7 +27,8 @@ export const FEATURE_MANIFEST_ELEMENTS = {
|
|
|
27
27
|
image: ['Image'],
|
|
28
28
|
'keyboard-avoiding-view': ['KeyboardAvoidingView'],
|
|
29
29
|
'content-rail': ['ContentRail'],
|
|
30
|
-
layout: ['Divider', 'Grid', 'Screen', '
|
|
30
|
+
layout: ['Divider', 'Grid', 'Screen', 'ScrollView', 'View'],
|
|
31
|
+
section: ['ScreenSection', 'SectionHeader'],
|
|
31
32
|
list: ['FlatList', 'SectionList'],
|
|
32
33
|
pagination: ['Pagination'],
|
|
33
34
|
rating: ['Rating'],
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.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,yBAAyB,GAAG;IACvC,IAAI,EAAE;QACJ,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,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,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.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,yBAAyB,GAAG;IACvC,IAAI,EAAE;QACJ,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,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;CACvB,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n '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} as const;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corePluginMetadata.d.ts","sourceRoot":"","sources":["../src/corePluginMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"corePluginMetadata.d.ts","sourceRoot":"","sources":["../src/corePluginMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAY9D,eAAO,MAAM,yBAAyB,EAAE,kBAKvC,CAAC"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { ZORA_BINDABLE_COMPONENT_META } from './metadata/bindableComponentMeta';
|
|
2
2
|
import { ZORA_COMPONENT_META } from './metadata/componentMeta';
|
|
3
3
|
const CORE_EXTENSION_HOSTS = [
|
|
4
|
-
'Box',
|
|
5
4
|
'Card',
|
|
6
|
-
'Container',
|
|
7
5
|
'Grid',
|
|
8
6
|
'MessageBubble',
|
|
9
|
-
'Notice',
|
|
10
|
-
'Panel',
|
|
11
7
|
'PostCard',
|
|
12
8
|
'Screen',
|
|
13
9
|
'ScreenSection',
|
|
14
|
-
'
|
|
10
|
+
'View',
|
|
15
11
|
];
|
|
16
12
|
export const ZORA_CORE_PLUGIN_METADATA = {
|
|
17
13
|
packageName: '@ankhorage/zora',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corePluginMetadata.js","sourceRoot":"","sources":["../src/corePluginMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,MAAM,oBAAoB,GAAG;IAC3B,
|
|
1
|
+
{"version":3,"file":"corePluginMetadata.js","sourceRoot":"","sources":["../src/corePluginMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,MAAM,oBAAoB,GAAG;IAC3B,MAAM;IACN,MAAM;IACN,eAAe;IACf,UAAU;IACV,QAAQ;IACR,eAAe;IACf,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IACnF,cAAc,EAAE,oBAAoB;CACrC,CAAC;AAEF,SAAS,iBAAiB,CACxB,aAAwC,EACxC,YAAqC;IAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC5F,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3D,aAAa;QACb,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC;YACpC,CAAC,CAAC;gBACE,GAAG,IAAI;gBACP,QAAQ,EAAE;oBACR,KAAK,EAAE,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;oBACpF,MAAM,EAAE;wBACN,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM;wBACjD,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM;qBACzB;iBACF;aACF;YACH,CAAC,CAAC,IAAI;KACT,CAAC,CACH,CAAC;AACJ,CAAC","sourcesContent":["import type { UiComponentMetaRegistry } from '@ankhorage/contracts';\n\nimport { ZORA_BINDABLE_COMPONENT_META } from './metadata/bindableComponentMeta';\nimport { ZORA_COMPONENT_META } from './metadata/componentMeta';\nimport type { ZoraComponentMetaRegistry } from './metadata/types';\nimport type { ZoraPluginMetadata } from './pluginComposition';\n\nconst CORE_EXTENSION_HOSTS = [\n 'Card',\n 'Grid',\n 'MessageBubble',\n 'PostCard',\n 'Screen',\n 'ScreenSection',\n 'View',\n] as const;\n\nexport const ZORA_CORE_PLUGIN_METADATA: ZoraPluginMetadata = {\n packageName: '@ankhorage/zora',\n displayName: 'ZORA',\n componentMeta: mergeBindableMeta(ZORA_COMPONENT_META, ZORA_BINDABLE_COMPONENT_META),\n extensionHosts: CORE_EXTENSION_HOSTS,\n};\n\nfunction mergeBindableMeta(\n componentMeta: ZoraComponentMetaRegistry,\n bindableMeta: UiComponentMetaRegistry,\n): ZoraComponentMetaRegistry {\n const bindingsByComponent = new Map(\n Object.entries(bindableMeta).map(([componentName, meta]) => [componentName, meta.bindings]),\n );\n return Object.fromEntries(\n Object.entries(componentMeta).map(([componentName, meta]) => [\n componentName,\n bindingsByComponent.get(componentName)\n ? {\n ...meta,\n bindings: {\n props: { ...bindingsByComponent.get(componentName)?.props, ...meta.bindings?.props },\n events: {\n ...bindingsByComponent.get(componentName)?.events,\n ...meta.bindings?.events,\n },\n },\n }\n : meta,\n ]),\n );\n}\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", "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", "
|
|
6
|
+
readonly allowedChildren: readonly ["ActivityIndicator", "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"];
|
|
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", "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", "
|
|
5
|
+
readonly allowedChildren: readonly ["ActivityIndicator", "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"];
|
|
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", "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", "
|
|
5
|
+
readonly allowedChildren: readonly ["ActivityIndicator", "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"];
|
|
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", "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", "
|
|
5
|
+
readonly allowedChildren: readonly ["ActivityIndicator", "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"];
|
|
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", "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", "
|
|
6
|
+
readonly allowedChildren: readonly ["ActivityIndicator", "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"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Post card";
|
|
9
9
|
readonly icon: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatListItem.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/adapters/inbound/ChatListItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAkB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAwNhF;;;;GAIG;AACH,eAAO,MAAM,YAAY,yDAAwC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Pressable } from '@ankhorage/surface';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { useZoraTheme } from '../../../../theme/useZoraTheme';
|
|
4
|
+
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
5
|
+
import { Avatar } from '../../../avatar/public';
|
|
6
|
+
import { Badge } from '../../../badge/public';
|
|
7
|
+
import { View } from '../../../layout/public';
|
|
8
|
+
import { Text } from '../../../typography/public';
|
|
9
9
|
function resolveAvatarName({ avatar, title, }) {
|
|
10
10
|
if (avatar?.name) {
|
|
11
11
|
return avatar.name;
|
|
@@ -99,12 +99,12 @@ function ChatListItemInner({ themeId: _themeId, mode: _mode, interactionPolicy,
|
|
|
99
99
|
if (!isInteractive) {
|
|
100
100
|
return <View testID={testID}>{content({ pressed: false, hovered: false })}</View>;
|
|
101
101
|
}
|
|
102
|
-
return (<
|
|
102
|
+
return (<Pressable accessibilityLabel={accessibilityLabel} accessibilityRole="button" accessibilityState={{ disabled, selected }} disabled={disabled} interactionPolicy={interactionPolicy} onPress={onPress} radius="m" testID={testID}>
|
|
103
103
|
{(state) => content({
|
|
104
104
|
pressed: state.pressed,
|
|
105
105
|
hovered: state.hovered,
|
|
106
106
|
})}
|
|
107
|
-
</
|
|
107
|
+
</Pressable>);
|
|
108
108
|
}
|
|
109
109
|
/***
|
|
110
110
|
* Chat-style list row with avatar, title, preview text, and unread indicators.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatListItem.js","sourceRoot":"","sources":["../../../../../src/features/chat/adapters/inbound/ChatListItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Pressable } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { ChatListAvatar, ChatListItemProps } from '../../../../types/chat';\nimport { Avatar } from '../../../avatar/public';\nimport { Badge } from '../../../badge/public';\nimport { View } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\n\nfunction resolveAvatarName({\n avatar,\n title,\n}: {\n avatar: ChatListAvatar | undefined;\n title: React.ReactNode;\n}): string | undefined {\n if (avatar?.name) {\n return avatar.name;\n }\n\n return typeof title === 'string' ? title : undefined;\n}\n\nfunction resolvePadding(compact: boolean) {\n return compact ? { px: 'm' as const, py: 's' as const } : { px: 'm' as const, py: 'm' as const };\n}\n\nfunction resolveContainerStyles({\n theme,\n selected,\n pressed,\n hovered,\n disabled,\n}: {\n theme: ReturnType<typeof useZoraTheme>['theme'];\n selected: boolean;\n pressed: boolean;\n hovered: boolean;\n disabled: boolean;\n}) {\n const borderColor = selected ? theme.semantics.border.focus : 'transparent';\n\n return {\n bg: pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : selected\n ? theme.semantics.neutral.surface\n : 'transparent',\n borderColor,\n borderWidth: selected ? 1 : 0,\n opacity: disabled ? 0.72 : 1,\n };\n}\n\nfunction renderUnreadCount(unreadCount: React.ReactNode) {\n if (unreadCount == null) {\n return null;\n }\n\n return (\n <Badge size=\"s\" color=\"primary\">\n {unreadCount}\n </Badge>\n );\n}\n\nfunction ChatListItemInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n testID,\n title,\n preview,\n meta,\n timestamp,\n avatar,\n leading,\n trailing,\n unread = false,\n unreadCount,\n selected = false,\n disabled = false,\n compact = false,\n accessibilityLabel,\n onPress,\n}: ChatListItemProps) {\n const { theme } = useZoraTheme();\n const padding = resolvePadding(compact);\n const avatarName = resolveAvatarName({ avatar, title });\n const isInteractive = Boolean(onPress);\n const hasTimestamp = timestamp != null;\n const hasPreview = preview != null;\n const hasMeta = meta != null;\n const hasTrailing = trailing != null;\n const hasUnreadCount = unreadCount != null;\n const hasSecondaryRow = hasPreview || hasMeta || hasUnreadCount || hasTrailing;\n\n const content = ({ pressed, hovered }: { pressed: boolean; hovered: boolean }) => {\n const styles = resolveContainerStyles({\n theme,\n selected,\n pressed,\n hovered,\n disabled,\n });\n\n return (\n <View\n bg={styles.bg}\n borderColor={styles.borderColor}\n borderWidth={styles.borderWidth}\n px={padding.px}\n py={padding.py}\n radius=\"m\"\n style={{ opacity: styles.opacity }}\n >\n <View direction=\"row\" align=\"center\" gap=\"m\" wrap=\"nowrap\">\n {leading ?? (\n <Avatar\n initials={avatar?.initials}\n label={avatar?.label ?? avatarName}\n name={avatarName}\n shape={avatar?.shape}\n size={avatar?.size ?? (compact ? 's' : 'm')}\n source={avatar?.source}\n color={avatar?.color}\n />\n )}\n\n <View flex={1}>\n <View gap=\"xxs\">\n <View direction=\"row\" align=\"center\" gap=\"s\" justify=\"space-between\" wrap=\"nowrap\">\n <View flex={1}>\n <Text\n numberOfLines={1}\n emphasis={disabled ? 'muted' : 'default'}\n variant=\"bodySmall\"\n weight={unread || selected ? 'semiBold' : 'medium'}\n >\n {title}\n </Text>\n </View>\n {hasTimestamp ? (\n <Text\n numberOfLines={1}\n color={unread ? 'primary' : undefined}\n emphasis={unread ? 'default' : 'subtle'}\n variant=\"caption\"\n weight={unread ? 'semiBold' : 'regular'}\n >\n {timestamp}\n </Text>\n ) : null}\n </View>\n\n {hasSecondaryRow ? (\n <View direction=\"row\" align=\"center\" gap=\"s\" justify=\"space-between\" wrap=\"nowrap\">\n <View flex={1}>\n <View gap=\"xxs\">\n {hasPreview ? (\n <Text\n numberOfLines={1}\n emphasis={unread ? 'default' : 'muted'}\n variant=\"bodySmall\"\n weight={unread ? 'medium' : 'regular'}\n >\n {preview}\n </Text>\n ) : null}\n {hasMeta ? (\n <Text numberOfLines={1} emphasis=\"subtle\" variant=\"caption\">\n {meta}\n </Text>\n ) : null}\n </View>\n </View>\n\n {hasUnreadCount || hasTrailing ? (\n <View direction=\"row\" align=\"center\" gap=\"s\" wrap=\"nowrap\">\n {renderUnreadCount(unreadCount)}\n {trailing}\n </View>\n ) : null}\n </View>\n ) : null}\n </View>\n </View>\n </View>\n </View>\n );\n };\n\n if (!isInteractive) {\n return <View testID={testID}>{content({ pressed: false, hovered: false })}</View>;\n }\n\n return (\n <Pressable\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n accessibilityState={{ disabled, selected }}\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={onPress}\n radius=\"m\"\n testID={testID}\n >\n {(state) =>\n content({\n pressed: state.pressed,\n hovered: state.hovered,\n })\n }\n </Pressable>\n );\n}\n\n/***\n * Chat-style list row with avatar, title, preview text, and unread indicators.\n *\n \n */\nexport const ChatListItem = withZoraThemeScope(ChatListItemInner);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../../src/features/chat/adapters/inbound/MessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAGV,kBAAkB,EAEnB,MAAM,wBAAwB,CAAC;AAoQhC;;;;GAIG;AACH,eAAO,MAAM,aAAa,0DAAyC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Pressable } from '@ankhorage/surface';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { useZoraTheme } from '../../../../theme/useZoraTheme';
|
|
4
|
+
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
5
|
+
import { Avatar } from '../../../avatar/public';
|
|
6
|
+
import { View } from '../../../layout/public';
|
|
7
|
+
import { Text } from '../../../typography/public';
|
|
8
8
|
function resolveAvatarName({ avatar, authorName, }) {
|
|
9
9
|
if (avatar?.name)
|
|
10
10
|
return avatar.name;
|
|
@@ -105,9 +105,9 @@ function MessageBubbleInner({ themeId: _themeId, mode: _mode, interactionPolicy,
|
|
|
105
105
|
</View>
|
|
106
106
|
</View>);
|
|
107
107
|
};
|
|
108
|
-
const bubbleContent = isInteractive ? (<
|
|
108
|
+
const bubbleContent = isInteractive ? (<Pressable accessibilityLabel={accessibilityLabel} accessibilityRole="button" accessibilityState={{ disabled, selected }} disabled={disabled} interactionPolicy={interactionPolicy} onPress={onPress} radius={isSystem ? 'm' : 'l'} testID={testID}>
|
|
109
109
|
{(state) => renderBubble({ pressed: state.pressed, hovered: state.hovered })}
|
|
110
|
-
</
|
|
110
|
+
</Pressable>) : (<View testID={testID}>{renderBubble({ pressed: false, hovered: false })}</View>);
|
|
111
111
|
return (<View gap="xs" style={{ width: '100%' }}>
|
|
112
112
|
<View direction="row" align="flex-end" gap="s" justify={isSystem ? 'center' : isOutgoing ? 'flex-end' : 'flex-start'} wrap="nowrap">
|
|
113
113
|
{!isOutgoing && !isSystem ? (<View>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../../../src/features/chat/adapters/inbound/MessageBubble.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Pressable } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type {\n MessageBubbleAvatar,\n MessageBubbleDirection,\n MessageBubbleProps,\n MessageBubbleStatus,\n} from '../../../../types/chat';\nimport { Avatar } from '../../../avatar/public';\nimport { View } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\n\nfunction resolveAvatarName({\n avatar,\n authorName,\n}: {\n avatar: MessageBubbleAvatar | undefined;\n authorName: React.ReactNode | undefined;\n}): string | undefined {\n if (avatar?.name) return avatar.name;\n return typeof authorName === 'string' ? authorName : undefined;\n}\n\nfunction resolvePadding(compact: boolean) {\n return compact ? { px: 'm' as const, py: 's' as const } : { px: 'm' as const, py: 'm' as const };\n}\n\nfunction resolveStatusLabel(status: MessageBubbleStatus): string {\n switch (status) {\n case 'sending':\n return 'Sending';\n case 'sent':\n return 'Sent';\n case 'delivered':\n return 'Delivered';\n case 'read':\n return 'Read';\n case 'failed':\n return 'Failed';\n default:\n return status;\n }\n}\n\nfunction isMessageBubbleStatus(\n status: MessageBubbleProps['status'],\n): status is MessageBubbleStatus {\n return (\n status === 'sending' ||\n status === 'sent' ||\n status === 'delivered' ||\n status === 'read' ||\n status === 'failed'\n );\n}\n\nfunction resolveStatus(status: MessageBubbleProps['status']) {\n if (status == null) return null;\n return isMessageBubbleStatus(status) ? resolveStatusLabel(status) : status;\n}\n\nfunction resolveBubbleStyles({\n direction,\n disabled,\n hovered,\n pressed,\n selected,\n theme,\n}: {\n direction: MessageBubbleDirection;\n disabled: boolean;\n hovered: boolean;\n pressed: boolean;\n selected: boolean;\n theme: ReturnType<typeof useZoraTheme>['theme'];\n}) {\n const borderColor = selected ? theme.semantics.border.focus : theme.semantics.border.default;\n\n if (direction === 'system') {\n return {\n bg: selected ? theme.semantics.neutral.surface : 'transparent',\n borderColor,\n borderWidth: selected ? 1 : 0,\n opacity: disabled ? 0.72 : 1,\n };\n }\n\n const interactiveBg = pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : undefined;\n\n return {\n bg:\n interactiveBg ??\n (direction === 'outgoing' ? theme.semantics.neutral.surface : theme.semantics.surface.raised),\n borderColor,\n borderWidth: selected ? 1 : 0,\n opacity: disabled ? 0.72 : 1,\n };\n}\n\nfunction MessageAvatar({\n avatar,\n authorName,\n compact,\n}: {\n avatar: MessageBubbleAvatar;\n authorName: React.ReactNode | undefined;\n compact: boolean;\n}) {\n const avatarName = resolveAvatarName({ avatar, authorName });\n\n return (\n <Avatar\n initials={avatar.initials}\n label={avatar.label ?? avatarName}\n name={avatarName}\n shape={avatar.shape}\n size={avatar.size ?? (compact ? 'xs' : 's')}\n source={avatar.source}\n color={avatar.color}\n />\n );\n}\n\nfunction MessageBubbleInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n testID,\n direction = 'incoming',\n text,\n children,\n author,\n timestamp,\n meta,\n status,\n leading,\n trailing,\n footer,\n selected = false,\n disabled = false,\n compact = false,\n accessibilityLabel,\n onPress,\n}: MessageBubbleProps) {\n const { theme } = useZoraTheme();\n const padding = resolvePadding(compact);\n const isInteractive = Boolean(onPress);\n const isOutgoing = direction === 'outgoing';\n const isSystem = direction === 'system';\n const renderedStatus = resolveStatus(status);\n const authorName = author?.name;\n const authorAvatar = author?.avatar;\n const hasAuthorName = authorName != null && !isOutgoing && !isSystem;\n const hasAvatar = authorAvatar != null && !isOutgoing && !isSystem;\n const hasMetaRow = timestamp != null || meta != null || renderedStatus != null;\n\n const renderBubble = ({ pressed, hovered }: { pressed: boolean; hovered: boolean }) => {\n const styles = resolveBubbleStyles({ direction, disabled, hovered, pressed, selected, theme });\n\n return (\n <View\n bg={styles.bg}\n borderColor={styles.borderColor}\n borderWidth={styles.borderWidth}\n px={padding.px}\n py={padding.py}\n radius={isSystem ? 'm' : 'l'}\n style={{ maxWidth: compact ? 420 : 560, opacity: styles.opacity }}\n >\n <View align={isSystem ? 'center' : 'flex-start'} gap={compact ? 'xxs' : 'xs'}>\n {hasAuthorName ? (\n <Text emphasis=\"muted\" variant=\"caption\" weight=\"semiBold\">\n {authorName}\n </Text>\n ) : null}\n {text != null ? (\n <Text align={isSystem ? 'center' : undefined} emphasis={disabled ? 'muted' : 'default'}>\n {text}\n </Text>\n ) : null}\n {children != null ? <View width=\"100%\">{children}</View> : null}\n {hasMetaRow ? (\n <View\n direction=\"row\"\n align=\"center\"\n gap=\"xs\"\n justify={isOutgoing ? 'flex-end' : isSystem ? 'center' : 'flex-start'}\n wrap=\"wrap\"\n >\n {timestamp != null ? (\n <Text emphasis=\"subtle\" variant=\"caption\">\n {timestamp}\n </Text>\n ) : null}\n {meta != null ? (\n <Text emphasis=\"subtle\" variant=\"caption\">\n {meta}\n </Text>\n ) : null}\n {renderedStatus != null ? (\n <Text\n color={status === 'failed' ? 'danger' : undefined}\n emphasis={status === 'failed' ? 'default' : 'subtle'}\n variant=\"caption\"\n >\n {renderedStatus}\n </Text>\n ) : null}\n </View>\n ) : null}\n </View>\n </View>\n );\n };\n\n const bubbleContent = isInteractive ? (\n <Pressable\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"button\"\n accessibilityState={{ disabled, selected }}\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={onPress}\n radius={isSystem ? 'm' : 'l'}\n testID={testID}\n >\n {(state) => renderBubble({ pressed: state.pressed, hovered: state.hovered })}\n </Pressable>\n ) : (\n <View testID={testID}>{renderBubble({ pressed: false, hovered: false })}</View>\n );\n\n return (\n <View gap=\"xs\" style={{ width: '100%' }}>\n <View\n direction=\"row\"\n align=\"flex-end\"\n gap=\"s\"\n justify={isSystem ? 'center' : isOutgoing ? 'flex-end' : 'flex-start'}\n wrap=\"nowrap\"\n >\n {!isOutgoing && !isSystem ? (\n <View>\n {leading ??\n (hasAvatar ? (\n <MessageAvatar avatar={authorAvatar} authorName={authorName} compact={compact} />\n ) : null)}\n </View>\n ) : null}\n {isOutgoing && trailing ? <View>{trailing}</View> : null}\n {bubbleContent}\n {isOutgoing && leading ? <View>{leading}</View> : null}\n {!isOutgoing && !isSystem && trailing ? <View>{trailing}</View> : null}\n </View>\n {footer != null ? (\n <View alignSelf={isOutgoing ? 'flex-end' : isSystem ? 'center' : 'flex-start'}>\n {footer}\n </View>\n ) : null}\n </View>\n );\n}\n\n/***\n * Message bubble pattern for chat UIs with direction and status styling.\n *\n \n */\nexport const MessageBubble = withZoraThemeScope(MessageBubbleInner);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatListItemMeta.d.ts","sourceRoot":"","sources":["../../../src/features/chat/chatListItemMeta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuES,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatListItemMeta.js","sourceRoot":"","sources":["../../../src/features/chat/chatListItemMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,SAAS;IACnB,WAAW,EACT,yFAAyF;IAC3F,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QACpC,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,sCAAsC;YAC/C,SAAS,EAAE,IAAI;YACf,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;aACrB;SACF;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,cAAc;SACxB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;SACjB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,MAAM;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,WAAW;SACnB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,KAAK;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,cAAc;SACtB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,KAAK;SACf;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nexport const chatListItemMeta = {\n name: 'ChatListItem',\n category: 'pattern',\n description:\n 'Conversation preview row with avatar, title, preview text, timestamp, and unread state.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Chat list item',\n icon: { name: 'chatbubble-outline' },\n defaultProps: {\n title: 'Ada Lovelace',\n preview: 'Can you review the latest UI update?',\n timestamp: '2m',\n avatar: {\n name: 'Ada Lovelace',\n },\n },\n },\n props: {\n title: {\n type: 'string',\n category: 'Content',\n label: 'Title',\n default: 'Ada Lovelace',\n },\n preview: {\n type: 'string',\n category: 'Content',\n label: 'Preview',\n },\n meta: {\n type: 'string',\n category: 'Content',\n label: 'Meta',\n },\n timestamp: {\n type: 'string',\n category: 'Content',\n label: 'Timestamp',\n },\n unread: {\n type: 'boolean',\n category: 'State',\n label: 'Unread',\n default: false,\n },\n unreadCount: {\n type: 'string',\n category: 'State',\n label: 'Unread count',\n },\n selected: {\n type: 'boolean',\n category: 'State',\n label: 'Selected',\n default: false,\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n default: false,\n },\n compact: {\n type: 'boolean',\n category: 'Layout',\n label: 'Compact',\n default: false,\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
|
|
@@ -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", "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", "
|
|
6
|
+
readonly allowedChildren: readonly ["ActivityIndicator", "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"];
|
|
7
7
|
readonly blueprint: {
|
|
8
8
|
readonly label: "Message bubble";
|
|
9
9
|
readonly icon: {
|
|
@@ -64,4 +64,4 @@ export declare const messageBubbleMeta: {
|
|
|
64
64
|
};
|
|
65
65
|
};
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=
|
|
67
|
+
//# sourceMappingURL=messageBubbleMeta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageBubbleMeta.d.ts","sourceRoot":"","sources":["../../../src/features/chat/messageBubbleMeta.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageBubbleMeta.js","sourceRoot":"","sources":["../../../src/features/chat/messageBubbleMeta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EACT,2FAA2F;IAC7F,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,CAAC,GAAG,0BAA0B,CAAC;IAChD,SAAS,EAAE;QACT,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QACpC,YAAY,EAAE;YACZ,SAAS,EAAE,UAAU;YACrB,IAAI,EAAE,4CAA4C;YAClD,SAAS,EAAE,OAAO;SACnB;KACF;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;YACxC,OAAO,EAAE,UAAU;SACpB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,MAAM;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,WAAW;SACnB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,MAAM;SACd;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;SACzD;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,KAAK;SACf;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\nimport { CONTAINER_ALLOWED_CHILDREN } from '../../metadata/allowedChildren';\n\nexport const messageBubbleMeta = {\n name: 'MessageBubble',\n category: 'pattern',\n description:\n 'Chat/message bubble with direction, author, text, meta, and delivery status presentation.',\n directManifestNode: true,\n allowedChildren: [...CONTAINER_ALLOWED_CHILDREN],\n blueprint: {\n label: 'Message bubble',\n icon: { name: 'chatbubble-outline' },\n defaultProps: {\n direction: 'incoming',\n text: 'Can you review the latest message pattern?',\n timestamp: '10:41',\n },\n },\n props: {\n direction: {\n type: 'enum',\n category: 'Content',\n label: 'Direction',\n enum: ['incoming', 'outgoing', 'system'],\n default: 'incoming',\n },\n text: {\n type: 'string',\n category: 'Content',\n label: 'Text',\n },\n timestamp: {\n type: 'string',\n category: 'Content',\n label: 'Timestamp',\n },\n meta: {\n type: 'string',\n category: 'Content',\n label: 'Meta',\n },\n status: {\n type: 'enum',\n category: 'Content',\n label: 'Status',\n enum: ['sending', 'sent', 'delivered', 'read', 'failed'],\n },\n selected: {\n type: 'boolean',\n category: 'State',\n label: 'Selected',\n default: false,\n },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n default: false,\n },\n compact: {\n type: 'boolean',\n category: 'Layout',\n label: 'Compact',\n default: false,\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { ChatListAvatar, ChatListItemProps, MessageBubbleAuthor, MessageBubbleAvatar, MessageBubbleDirection, MessageBubbleProps, MessageBubbleStatus, } from '../../types/chat';
|
|
2
|
+
export { ChatListItem } from './adapters/inbound/ChatListItem';
|
|
3
|
+
export { MessageBubble } from './adapters/inbound/MessageBubble';
|
|
4
|
+
//# sourceMappingURL=public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/chat/public.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/chat/public.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC","sourcesContent":["export type {\n ChatListAvatar,\n ChatListItemProps,\n MessageBubbleAuthor,\n MessageBubbleAvatar,\n MessageBubbleDirection,\n MessageBubbleProps,\n MessageBubbleStatus,\n} from '../../types/chat';\nexport { ChatListItem } from './adapters/inbound/ChatListItem';\nexport { MessageBubble } from './adapters/inbound/MessageBubble';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Pressable } from '@ankhorage/surface';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { resolveIconSize } from '../../../../internal/recipes';
|
|
4
4
|
import { useZoraTheme } from '../../../../theme/useZoraTheme';
|
|
@@ -49,8 +49,8 @@ function ChipInner({ themeId: _themeId, mode: _mode, testID, children, icon, sel
|
|
|
49
49
|
if (!onPress) {
|
|
50
50
|
return renderContent({ disabled, focused: false, hovered: false, pressed: false });
|
|
51
51
|
}
|
|
52
|
-
return (<
|
|
52
|
+
return (<Pressable disabled={disabled} interactionPolicy={interactionPolicy} onPress={onPress} radius="full" testID={testID}>
|
|
53
53
|
{(state) => renderContent(state)}
|
|
54
|
-
</
|
|
54
|
+
</Pressable>);
|
|
55
55
|
}
|
|
56
56
|
//# sourceMappingURL=Chip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../../../src/features/chip/adapters/inbound/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../../../src/features/chip/adapters/inbound/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAElD,SAAS,kBAAkB,CAAC,IAAoC;IAI9D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/B,KAAK,GAAG,CAAC;QACT;YACE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,GAAG,EACV,iBAAiB,EACjB,OAAO,GACG;IACV,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,CAAC,KAA2B,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS;gBAC/B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,OAAO,CACL,CAAC,IAAI,CACH,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAC3B,WAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAChC,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CACf,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CACf,MAAM,CAAC,MAAM,CACb,KAAK,CAAC,CAAC;gBACL,SAAS,EAAE,YAAY;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAEF;QAAA,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CACzD;UAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAC,CAAC,IAAI,CAC7E;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAC7D;YAAA,CAAC,QAAQ,CACX;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CACL,CAAC,SAAS,CACR,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,MAAM,CAAC,MAAM,CACb,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAClC;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC","sourcesContent":["import { Pressable } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { resolveIconSize } from '../../../../internal/recipes';\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { ChipInteractionState, ChipProps } from '../../../../types/chip';\nimport { Icon } from '../../../icon/public';\nimport { View } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\nimport { resolveChipColors } from '../../utils/resolveChipColors';\n/***\n * Compact pill-like control for filters, tags, and quick selections.\n */\nexport const Chip = withZoraThemeScope(ChipInner);\n\nfunction resolveChipPadding(size: NonNullable<ChipProps['size']>): {\n px: 's' | 'm';\n py: 'xxs' | 'xs';\n} {\n switch (size) {\n case 's':\n return { px: 's', py: 'xxs' };\n case 'm':\n return { px: 'm', py: 'xs' };\n case 'l':\n default:\n return { px: 'm', py: 'xs' };\n }\n}\n\nfunction ChipInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n children,\n icon,\n selected = false,\n disabled = false,\n color = 'neutral',\n size = 's',\n interactionPolicy,\n onPress,\n}: ChipProps) {\n const { theme } = useZoraTheme();\n const padding = resolveChipPadding(size);\n const iconSize = resolveIconSize(size);\n\n const renderContent = (state: ChipInteractionState) => {\n const colors = resolveChipColors({ theme, color, selected, state });\n const textColor = state.disabled\n ? undefined\n : selected && color !== 'neutral'\n ? color\n : undefined;\n const textEmphasis = state.disabled ? 'muted' : 'default';\n\n return (\n <View\n bg={colors.backgroundColor}\n borderColor={colors.borderColor}\n borderWidth={1}\n px={padding.px}\n py={padding.py}\n radius=\"full\"\n style={{\n alignSelf: 'flex-start',\n opacity: colors.opacity,\n }}\n >\n <View direction=\"row\" align=\"center\" gap=\"xs\" wrap=\"nowrap\">\n {icon ? <Icon {...icon} color={colors.contentColor} size={iconSize} /> : null}\n <Text color={textColor} emphasis={textEmphasis} variant=\"label\">\n {children}\n </Text>\n </View>\n </View>\n );\n };\n\n if (!onPress) {\n return renderContent({ disabled, focused: false, hovered: false, pressed: false });\n }\n\n return (\n <Pressable\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={onPress}\n radius=\"full\"\n testID={testID}\n >\n {(state) => renderContent(state)}\n </Pressable>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/features/collection-editor/adapters/inbound/CollectionEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAiHjF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GA/GE,KAAK,mEA+GqC,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
3
|
+
import { Button } from '../../../button/public';
|
|
4
|
+
import { IconButton } from '../../../button/public';
|
|
5
|
+
import { Card } from '../../../card/public';
|
|
6
|
+
import { View } from '../../../layout/public';
|
|
7
|
+
import { Text } from '../../../typography/public';
|
|
8
8
|
function CollectionEditorInner({ themeId: _themeId, mode: _mode, title, description, items, renderItem, onAdd, onRemove, onMove, addLabel = 'Add Item', emptyLabel = 'No items yet.', disabled, testID, interactionPolicy, }) {
|
|
9
9
|
const isEmpty = items.length === 0;
|
|
10
|
-
return (<
|
|
10
|
+
return (<Card compact description={description} interactionPolicy={interactionPolicy} testID={testID} title={title} actions={onAdd ? (<Button variant="soft" size="s" disabled={disabled} interactionPolicy={interactionPolicy} onPress={onAdd}>
|
|
11
11
|
{addLabel}
|
|
12
12
|
</Button>) : null}>
|
|
13
13
|
<View gap="s">
|
|
@@ -38,7 +38,7 @@ function CollectionEditorInner({ themeId: _themeId, mode: _mode, title, descript
|
|
|
38
38
|
</View>
|
|
39
39
|
</View>)))}
|
|
40
40
|
</View>
|
|
41
|
-
</
|
|
41
|
+
</Card>);
|
|
42
42
|
}
|
|
43
43
|
/***
|
|
44
44
|
* Editor pattern for adding, removing, and reordering a collection of items.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollectionEditor.js","sourceRoot":"","sources":["../../../../../src/features/collection-editor/adapters/inbound/CollectionEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { CollectionEditorProps } from '../../../../types/collection-editor';\nimport { Button } from '../../../button/public';\nimport { IconButton } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { View } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\n\nfunction CollectionEditorInner<TItem>({\n themeId: _themeId,\n mode: _mode,\n title,\n description,\n items,\n renderItem,\n onAdd,\n onRemove,\n onMove,\n addLabel = 'Add Item',\n emptyLabel = 'No items yet.',\n disabled,\n testID,\n interactionPolicy,\n}: CollectionEditorProps<TItem>) {\n const isEmpty = items.length === 0;\n\n return (\n <Card\n compact\n description={description}\n interactionPolicy={interactionPolicy}\n testID={testID}\n title={title}\n actions={\n onAdd ? (\n <Button\n variant=\"soft\"\n size=\"s\"\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={onAdd}\n >\n {addLabel}\n </Button>\n ) : null\n }\n >\n <View gap=\"s\">\n {isEmpty ? (\n <View py=\"m\">\n <Text align=\"center\" emphasis=\"muted\">\n {emptyLabel}\n </Text>\n </View>\n ) : (\n items.map((item, index) => (\n <View key={index} bg=\"subtle\" p=\"s\" radius=\"m\" borderColor=\"border\" borderWidth={1}>\n <View direction=\"row\" gap=\"m\" align=\"center\">\n <View flex={1}>\n {renderItem({\n item,\n index,\n remove: () => onRemove?.(index),\n moveUp: () => onMove?.(index, index - 1),\n moveDown: () => onMove?.(index, index + 1),\n canMoveUp: index > 0,\n canMoveDown: index < items.length - 1,\n })}\n </View>\n <View direction=\"row\" gap=\"xs\">\n {onMove ? (\n <>\n <IconButton\n icon={{ name: 'arrow-up-outline' }}\n label=\"Move Up\"\n disabled={disabled ?? index === 0}\n interactionPolicy={interactionPolicy}\n onPress={() => onMove(index, index - 1)}\n size=\"s\"\n variant=\"ghost\"\n />\n <IconButton\n icon={{ name: 'arrow-down-outline' }}\n label=\"Move Down\"\n disabled={disabled ?? index === items.length - 1}\n interactionPolicy={interactionPolicy}\n onPress={() => onMove(index, index + 1)}\n size=\"s\"\n variant=\"ghost\"\n />\n </>\n ) : null}\n {onRemove ? (\n <IconButton\n icon={{ name: 'trash-outline' }}\n label=\"Remove\"\n color=\"danger\"\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={() => onRemove(index)}\n size=\"s\"\n variant=\"ghost\"\n />\n ) : null}\n </View>\n </View>\n </View>\n ))\n )}\n </View>\n </Card>\n );\n}\n\n/***\n * Editor pattern for adding, removing, and reordering a collection of items.\n *\n \n */\nexport const CollectionEditor = withZoraThemeScope(CollectionEditorInner);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/features/collection-editor/meta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;;;;;;CAOK,CAAC"}
|