@ankhorage/zora 16.0.0 → 18.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 +16 -0
- package/README.md +15 -15
- package/dist/constants.d.ts +3 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -2
- package/dist/constants.js.map +1 -1
- package/dist/features/accordion/accordionItemMeta.d.ts +1 -1
- package/dist/features/accordion/adapters/inbound/AccordionItem.js +19 -19
- package/dist/features/accordion/adapters/inbound/AccordionItem.js.map +1 -1
- package/dist/features/app-bar/adapters/inbound/AppBar.d.ts.map +1 -1
- package/dist/features/app-bar/adapters/inbound/AppBar.js +6 -7
- package/dist/features/app-bar/adapters/inbound/AppBar.js.map +1 -1
- package/dist/features/auth/adapters/inbound/AuthForm.js +3 -3
- package/dist/features/auth/adapters/inbound/AuthForm.js.map +1 -1
- package/dist/features/auth/adapters/inbound/AuthFormField.js +3 -3
- package/dist/features/auth/adapters/inbound/AuthFormField.js.map +1 -1
- package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js +3 -3
- package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js.map +1 -1
- package/dist/features/auth/adapters/inbound/OAuthProviderList.js +3 -3
- package/dist/features/auth/adapters/inbound/OAuthProviderList.js.map +1 -1
- package/dist/features/auth/adapters/inbound/OtpForm.js +3 -3
- package/dist/features/auth/adapters/inbound/OtpForm.js.map +1 -1
- package/dist/features/auth/adapters/inbound/SignInForm.js +3 -3
- package/dist/features/auth/adapters/inbound/SignInForm.js.map +1 -1
- package/dist/features/auth/adapters/inbound/SignUpForm.js +3 -3
- package/dist/features/auth/adapters/inbound/SignUpForm.js.map +1 -1
- package/dist/features/avatar/adapters/inbound/Avatar.js +3 -3
- package/dist/features/avatar/adapters/inbound/Avatar.js.map +1 -1
- package/dist/features/avatar/adapters/inbound/AvatarGroup.js +7 -7
- package/dist/features/avatar/adapters/inbound/AvatarGroup.js.map +1 -1
- package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js +3 -3
- package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js.map +1 -1
- package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
- package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.d.ts.map +1 -1
- package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js +5 -5
- package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js.map +1 -1
- package/dist/features/button/adapters/inbound/ButtonGroup.js +3 -3
- package/dist/features/button/adapters/inbound/ButtonGroup.js.map +1 -1
- package/dist/features/card/adapters/inbound/Card.js +12 -12
- package/dist/features/card/adapters/inbound/Card.js.map +1 -1
- package/dist/features/card/adapters/inbound/MediaCard.js +21 -21
- package/dist/features/card/adapters/inbound/MediaCard.js.map +1 -1
- package/dist/features/card/adapters/inbound/MetricCard.d.ts.map +1 -1
- package/dist/features/card/adapters/inbound/MetricCard.js +10 -11
- package/dist/features/card/adapters/inbound/MetricCard.js.map +1 -1
- package/dist/features/card/adapters/inbound/PostCard.d.ts.map +1 -1
- package/dist/features/card/adapters/inbound/PostCard.js +37 -38
- package/dist/features/card/adapters/inbound/PostCard.js.map +1 -1
- package/dist/features/card/adapters/inbound/ProductCard.d.ts.map +1 -1
- package/dist/features/card/adapters/inbound/ProductCard.js +17 -18
- package/dist/features/card/adapters/inbound/ProductCard.js.map +1 -1
- package/dist/features/card/cardMeta.d.ts +1 -1
- package/dist/features/card/mediaCardMeta.d.ts +1 -1
- package/dist/features/card/postCardMeta.d.ts +1 -1
- package/dist/features/chip/adapters/inbound/Chip.d.ts.map +1 -1
- package/dist/features/chip/adapters/inbound/Chip.js +5 -6
- package/dist/features/chip/adapters/inbound/Chip.js.map +1 -1
- package/dist/features/chip/adapters/inbound/ChipGroup.d.ts.map +1 -1
- package/dist/features/chip/adapters/inbound/ChipGroup.js +3 -3
- package/dist/features/chip/adapters/inbound/ChipGroup.js.map +1 -1
- package/dist/features/content-rail/adapters/inbound/ContentRail.d.ts.map +1 -0
- package/dist/features/{layout → content-rail}/adapters/inbound/ContentRail.js +9 -10
- package/dist/features/content-rail/adapters/inbound/ContentRail.js.map +1 -0
- package/dist/features/content-rail/adapters/inbound/ContentRailFlow.d.ts.map +1 -0
- package/dist/features/content-rail/adapters/inbound/ContentRailFlow.js.map +1 -0
- package/dist/features/content-rail/constants.d.ts +2 -0
- package/dist/features/content-rail/constants.d.ts.map +1 -0
- package/dist/features/content-rail/constants.js +2 -0
- package/dist/features/content-rail/constants.js.map +1 -0
- package/dist/features/{layout → content-rail}/contentRailMeta.d.ts +2 -2
- package/dist/features/content-rail/contentRailMeta.d.ts.map +1 -0
- package/dist/features/content-rail/contentRailMeta.js.map +1 -0
- package/dist/features/content-rail/public.d.ts +3 -0
- package/dist/features/content-rail/public.d.ts.map +1 -0
- package/dist/features/content-rail/public.js +2 -0
- package/dist/features/content-rail/public.js.map +1 -0
- package/dist/features/content-rail/utils/resolveContentRailItemWidth.d.ts.map +1 -0
- package/dist/features/content-rail/utils/resolveContentRailItemWidth.js.map +1 -0
- package/dist/features/content-rail/utils/resolveContentRailPhysicalOffset.d.ts.map +1 -0
- package/dist/features/content-rail/utils/resolveContentRailPhysicalOffset.js.map +1 -0
- package/dist/features/content-rail/utils/resolveContentRailState.d.ts.map +1 -0
- package/dist/features/content-rail/utils/resolveContentRailState.js.map +1 -0
- package/dist/features/content-rail/utils/useContentRailReducedMotion.d.ts.map +1 -0
- package/dist/features/content-rail/utils/useContentRailReducedMotion.js.map +1 -0
- package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -1
- package/dist/features/data-table/adapters/inbound/DataTable.js +32 -32
- package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -1
- package/dist/features/date-picker/composition/DatePickerContent.js +16 -16
- package/dist/features/date-picker/composition/DatePickerContent.js.map +1 -1
- package/dist/features/date-picker/composition/DatePickerField.js +3 -3
- package/dist/features/date-picker/composition/DatePickerField.js.map +1 -1
- package/dist/features/dialog/adapters/inbound/Dialog.js +9 -9
- package/dist/features/dialog/adapters/inbound/Dialog.js.map +1 -1
- package/dist/features/dialog/dialogMeta.d.ts +2 -2
- package/dist/features/empty-state/adapters/inbound/EmptyState.js +5 -5
- package/dist/features/empty-state/adapters/inbound/EmptyState.js.map +1 -1
- package/dist/features/form/adapters/inbound/Form.js +3 -3
- package/dist/features/form/adapters/inbound/Form.js.map +1 -1
- package/dist/features/form/adapters/inbound/FormActions.js +4 -4
- package/dist/features/form/adapters/inbound/FormActions.js.map +1 -1
- package/dist/features/form/adapters/inbound/FormError.js +3 -3
- package/dist/features/form/adapters/inbound/FormError.js.map +1 -1
- package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.d.ts.map +1 -1
- package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.js +5 -6
- package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.js.map +1 -1
- package/dist/features/form/field/adapters/inbound/Field.d.ts +5 -0
- package/dist/features/form/field/adapters/inbound/Field.d.ts.map +1 -0
- package/dist/features/form/field/adapters/inbound/Field.js +20 -0
- package/dist/features/form/field/adapters/inbound/Field.js.map +1 -0
- package/dist/features/form/{formFieldMeta.d.ts → field/meta.d.ts} +4 -4
- package/dist/features/form/field/meta.d.ts.map +1 -0
- package/dist/features/form/{formFieldMeta.js → field/meta.js} +4 -4
- package/dist/features/form/field/meta.js.map +1 -0
- package/dist/features/form/field/public.d.ts +2 -0
- package/dist/features/form/field/public.d.ts.map +1 -0
- package/dist/features/form/field/public.js +2 -0
- package/dist/features/form/field/public.js.map +1 -0
- package/dist/features/form/formMeta.d.ts +1 -1
- package/dist/features/form/formMeta.js +1 -1
- package/dist/features/form/formMeta.js.map +1 -1
- package/dist/features/form/public.d.ts +2 -2
- package/dist/features/form/public.d.ts.map +1 -1
- package/dist/features/form/public.js +1 -1
- package/dist/features/form/public.js.map +1 -1
- package/dist/features/form/radio/adapters/inbound/RadioGroup.js +10 -10
- package/dist/features/form/radio/adapters/inbound/RadioGroup.js.map +1 -1
- package/dist/features/form/select/adapters/inbound/Select.web.js +3 -3
- package/dist/features/form/select/adapters/inbound/Select.web.js.map +1 -1
- package/dist/features/gradient/adapters/inbound/Gradient.js +5 -5
- package/dist/features/gradient/adapters/inbound/Gradient.js.map +1 -1
- package/dist/features/gradient/gradientMeta.d.ts +1 -1
- package/dist/features/hero/adapters/inbound/Hero.js +12 -12
- package/dist/features/hero/adapters/inbound/Hero.js.map +1 -1
- package/dist/features/image/adapters/inbound/Image.js +3 -3
- package/dist/features/image/adapters/inbound/Image.js.map +1 -1
- package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
- package/dist/features/layout/adapters/inbound/AppShell.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/AppShell.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/AppShell.js +20 -0
- package/dist/features/layout/adapters/inbound/AppShell.js.map +1 -0
- package/dist/features/layout/adapters/inbound/Screen.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/Screen.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/Screen.js +22 -0
- package/dist/features/layout/adapters/inbound/Screen.js.map +1 -0
- package/dist/features/layout/adapters/inbound/ScreenSection.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/ScreenSection.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/ScreenSection.js +13 -0
- package/dist/features/layout/adapters/inbound/ScreenSection.js.map +1 -0
- package/dist/features/layout/adapters/inbound/ScrollView.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/ScrollView.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/ScrollView.js +10 -0
- package/dist/features/layout/adapters/inbound/ScrollView.js.map +1 -0
- package/dist/features/layout/adapters/inbound/View.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/View.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/View.js +10 -0
- package/dist/features/layout/adapters/inbound/View.js.map +1 -0
- package/dist/{layout/app-shell/meta.d.ts → features/layout/appShellMeta.d.ts} +1 -1
- package/dist/features/layout/appShellMeta.d.ts.map +1 -0
- package/dist/{layout/app-shell/meta.js → features/layout/appShellMeta.js} +1 -1
- package/dist/features/layout/appShellMeta.js.map +1 -0
- package/dist/features/layout/constants.d.ts +0 -1
- package/dist/features/layout/constants.d.ts.map +1 -1
- package/dist/features/layout/constants.js +0 -1
- package/dist/features/layout/constants.js.map +1 -1
- package/dist/features/layout/gridMeta.d.ts +1 -1
- package/dist/features/layout/public.d.ts +6 -6
- package/dist/features/layout/public.d.ts.map +1 -1
- package/dist/features/layout/public.js +5 -4
- package/dist/features/layout/public.js.map +1 -1
- package/dist/{layout/screen/meta.d.ts → features/layout/screenMeta.d.ts} +2 -2
- package/dist/features/layout/screenMeta.d.ts.map +1 -0
- package/dist/{layout/screen/meta.js → features/layout/screenMeta.js} +1 -1
- package/dist/features/layout/screenMeta.js.map +1 -0
- package/dist/{layout/screen-section/meta.d.ts → features/layout/screenSectionMeta.d.ts} +2 -2
- package/dist/features/layout/screenSectionMeta.d.ts.map +1 -0
- package/dist/{layout/screen-section/meta.js → features/layout/screenSectionMeta.js} +1 -1
- package/dist/features/layout/screenSectionMeta.js.map +1 -0
- package/dist/features/layout/{boxMeta.d.ts → scrollViewMeta.d.ts} +8 -15
- package/dist/features/layout/scrollViewMeta.d.ts.map +1 -0
- package/dist/features/layout/{boxMeta.js → scrollViewMeta.js} +4 -6
- package/dist/features/layout/scrollViewMeta.js.map +1 -0
- package/dist/features/layout/{stackMeta.d.ts → viewMeta.d.ts} +24 -4
- package/dist/features/layout/viewMeta.d.ts.map +1 -0
- package/dist/features/layout/{stackMeta.js → viewMeta.js} +8 -3
- package/dist/features/layout/viewMeta.js.map +1 -0
- package/dist/features/list/adapters/inbound/List.d.ts +5 -0
- package/dist/features/list/adapters/inbound/List.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/List.js +34 -0
- package/dist/features/list/adapters/inbound/List.js.map +1 -0
- package/dist/features/list/adapters/inbound/ListItem.d.ts +5 -0
- package/dist/features/list/adapters/inbound/ListItem.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/ListItem.js +43 -0
- package/dist/features/list/adapters/inbound/ListItem.js.map +1 -0
- package/dist/features/list/adapters/inbound/ListSection.d.ts +5 -0
- package/dist/features/list/adapters/inbound/ListSection.d.ts.map +1 -0
- package/dist/{patterns/list → features/list/adapters/inbound}/ListSection.js +6 -10
- package/dist/features/list/adapters/inbound/ListSection.js.map +1 -0
- package/dist/features/list/flatListMeta.d.ts +1 -1
- package/dist/{patterns → features}/list/meta.d.ts +6 -6
- package/dist/features/list/meta.d.ts.map +1 -0
- package/dist/{patterns → features}/list/meta.js +6 -14
- package/dist/features/list/meta.js.map +1 -0
- package/dist/features/list/public.d.ts +4 -0
- package/dist/features/list/public.d.ts.map +1 -1
- package/dist/features/list/public.js +3 -0
- package/dist/features/list/public.js.map +1 -1
- package/dist/features/list/sectionListMeta.d.ts +1 -1
- package/dist/features/list/utils/resolveListSeparator.d.ts +5 -0
- package/dist/features/list/utils/resolveListSeparator.d.ts.map +1 -0
- package/dist/{patterns/list → features/list/utils}/resolveListSeparator.js +1 -0
- package/dist/features/list/utils/resolveListSeparator.js.map +1 -0
- package/dist/features/missing-element/adapters/inbound/MissingElement.js +5 -5
- package/dist/features/missing-element/adapters/inbound/MissingElement.js.map +1 -1
- package/dist/features/pagination/adapters/inbound/Pagination.js +3 -3
- package/dist/features/pagination/adapters/inbound/Pagination.js.map +1 -1
- package/dist/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.d.ts +1 -1
- package/dist/features/palette-item/adapters/inbound/PaletteItem.d.ts.map +1 -0
- package/dist/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.js +10 -10
- package/dist/features/palette-item/adapters/inbound/PaletteItem.js.map +1 -0
- package/dist/features/palette-item/paletteItemMeta.d.ts +9 -0
- package/dist/features/palette-item/paletteItemMeta.d.ts.map +1 -0
- package/dist/features/palette-item/paletteItemMeta.js +9 -0
- package/dist/features/palette-item/paletteItemMeta.js.map +1 -0
- package/dist/features/palette-item/public.d.ts +3 -0
- package/dist/features/palette-item/public.d.ts.map +1 -0
- package/dist/features/palette-item/public.js +2 -0
- package/dist/features/palette-item/public.js.map +1 -0
- package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js +2 -2
- package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js.map +1 -1
- package/dist/features/progress/adapters/inbound/Progress.js +4 -4
- package/dist/features/progress/adapters/inbound/Progress.js.map +1 -1
- package/dist/features/progress/adapters/inbound/ProgressRing.js +10 -10
- package/dist/features/progress/adapters/inbound/ProgressRing.js.map +1 -1
- package/dist/features/rating/adapters/inbound/Rating.d.ts.map +1 -1
- package/dist/features/rating/adapters/inbound/Rating.js +3 -3
- package/dist/features/rating/adapters/inbound/Rating.js.map +1 -1
- package/dist/features/skeleton/adapters/inbound/Skeleton.js +2 -2
- package/dist/features/skeleton/adapters/inbound/Skeleton.js.map +1 -1
- package/dist/features/skeleton/adapters/inbound/SkeletonCard.js +5 -5
- package/dist/features/skeleton/adapters/inbound/SkeletonCard.js.map +1 -1
- package/dist/features/skeleton/adapters/inbound/SkeletonList.d.ts.map +1 -1
- package/dist/features/skeleton/adapters/inbound/SkeletonList.js +2 -2
- package/dist/features/skeleton/adapters/inbound/SkeletonList.js.map +1 -1
- package/dist/features/skeleton/adapters/inbound/SkeletonText.js +3 -3
- package/dist/features/skeleton/adapters/inbound/SkeletonText.js.map +1 -1
- package/dist/features/surface/surfaceMeta.d.ts +1 -1
- package/dist/features/tabs/tabPanelMeta.d.ts +1 -1
- package/dist/features/time-picker/composition/TimePickerContent.js +7 -7
- package/dist/features/time-picker/composition/TimePickerContent.js.map +1 -1
- package/dist/features/time-picker/composition/TimePickerField.js +3 -3
- package/dist/features/time-picker/composition/TimePickerField.js.map +1 -1
- package/dist/features/toolbar/adapters/inbound/Toolbar.js +3 -3
- package/dist/features/toolbar/adapters/inbound/Toolbar.js.map +1 -1
- package/dist/features/uploader/adapters/inbound/Uploader.js +22 -22
- package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
- package/dist/index.d.ts +10 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -13
- 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 +4 -6
- package/dist/metadata/allowedChildren.js.map +1 -1
- package/dist/metadata/bindableComponentMeta.d.ts +3 -3
- package/dist/metadata/bindableComponentMeta.js +1 -1
- package/dist/metadata/bindableComponentMeta.js.map +1 -1
- package/dist/metadata/componentMeta.d.ts.map +1 -1
- package/dist/metadata/componentMeta.js +13 -26
- package/dist/metadata/componentMeta.js.map +1 -1
- package/dist/patterns/chat-list-item/ChatListItem.d.ts.map +1 -1
- package/dist/patterns/chat-list-item/ChatListItem.js +22 -23
- package/dist/patterns/chat-list-item/ChatListItem.js.map +1 -1
- package/dist/patterns/collection-editor/CollectionEditor.js +12 -12
- package/dist/patterns/collection-editor/CollectionEditor.js.map +1 -1
- package/dist/patterns/confirm-dialog/ConfirmDialog.js +3 -3
- package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -1
- package/dist/patterns/filter-bar/FilterBar.d.ts.map +1 -1
- package/dist/patterns/filter-bar/FilterBar.js +6 -7
- package/dist/patterns/filter-bar/FilterBar.js.map +1 -1
- package/dist/patterns/inspector-field/InspectorField.js +8 -8
- package/dist/patterns/inspector-field/InspectorField.js.map +1 -1
- package/dist/patterns/message-bubble/MessageBubble.d.ts.map +1 -1
- package/dist/patterns/message-bubble/MessageBubble.js +21 -20
- package/dist/patterns/message-bubble/MessageBubble.js.map +1 -1
- package/dist/patterns/message-bubble/meta.d.ts +1 -1
- package/dist/patterns/notice/Notice.js +5 -5
- package/dist/patterns/notice/Notice.js.map +1 -1
- package/dist/patterns/notice/meta.d.ts +1 -1
- package/dist/patterns/panel/meta.d.ts +1 -1
- package/dist/patterns/reader/ReaderSurface.d.ts.map +1 -1
- package/dist/patterns/reader/ReaderSurface.js +18 -19
- package/dist/patterns/reader/ReaderSurface.js.map +1 -1
- package/dist/patterns/reader/meta.d.ts +2 -2
- package/dist/patterns/scanner/BarcodeScannerView.js +7 -7
- package/dist/patterns/scanner/BarcodeScannerView.js.map +1 -1
- package/dist/patterns/scanner/CameraPermissionView.js +5 -5
- package/dist/patterns/scanner/CameraPermissionView.js.map +1 -1
- package/dist/patterns/scanner/ScanOverlay.js +8 -8
- package/dist/patterns/scanner/ScanOverlay.js.map +1 -1
- package/dist/patterns/scanner/meta.d.ts +2 -2
- package/dist/patterns/section-header/SectionHeader.js +8 -8
- package/dist/patterns/section-header/SectionHeader.js.map +1 -1
- package/dist/patterns/switch-field/SwitchField.d.ts +1 -2
- package/dist/patterns/switch-field/SwitchField.d.ts.map +1 -1
- package/dist/patterns/switch-field/SwitchField.js +3 -4
- package/dist/patterns/switch-field/SwitchField.js.map +1 -1
- package/dist/patterns/theme-composer/ThemeComposer.js +30 -30
- package/dist/patterns/theme-composer/ThemeComposer.js.map +1 -1
- package/dist/patterns/timeline/Timeline.d.ts.map +1 -1
- package/dist/patterns/timeline/Timeline.js +14 -15
- package/dist/patterns/timeline/Timeline.js.map +1 -1
- package/dist/patterns/tree-view/TreeItem.d.ts.map +1 -1
- package/dist/patterns/tree-view/TreeItem.js +9 -9
- package/dist/patterns/tree-view/TreeItem.js.map +1 -1
- package/dist/patterns/tree-view/TreeView.js +3 -3
- package/dist/patterns/tree-view/TreeView.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +9 -27
- package/dist/registry.js.map +1 -1
- package/dist/types/button-group.d.ts +2 -2
- package/dist/types/button-group.d.ts.map +1 -1
- package/dist/types/button-group.js.map +1 -1
- package/dist/types/form.d.ts +1 -1
- package/dist/types/form.d.ts.map +1 -1
- package/dist/types/form.js.map +1 -1
- package/dist/types/gradient.d.ts +6 -6
- package/dist/types/gradient.d.ts.map +1 -1
- package/dist/types/gradient.js.map +1 -1
- package/dist/types/layout.d.ts +22 -4
- package/dist/types/layout.d.ts.map +1 -1
- package/dist/types/layout.js.map +1 -1
- package/dist/{patterns/list/types.d.ts → types/list.d.ts} +14 -18
- package/dist/types/list.d.ts.map +1 -0
- package/dist/types/list.js +2 -0
- package/dist/types/list.js.map +1 -0
- package/dist/types/palette-item.d.ts +13 -0
- package/dist/types/palette-item.d.ts.map +1 -0
- package/dist/types/palette-item.js +2 -0
- package/dist/types/palette-item.js.map +1 -0
- package/dist/types/skeleton.d.ts +5 -5
- package/dist/types/skeleton.d.ts.map +1 -1
- package/dist/types/skeleton.js.map +1 -1
- package/package.json +2 -2
- package/src/audit.test.ts +7 -11
- package/src/constants.ts +3 -2
- package/src/expo57Migration.test.ts +4 -3
- package/src/features/accordion/adapters/inbound/AccordionItem.tsx +19 -19
- package/src/features/app-bar/adapters/inbound/AppBar.tsx +6 -7
- package/src/features/auth/adapters/inbound/AuthForm.tsx +3 -3
- package/src/features/auth/adapters/inbound/AuthFormField.tsx +3 -3
- package/src/features/auth/adapters/inbound/ForgotPasswordForm.tsx +3 -3
- package/src/features/auth/adapters/inbound/OAuthProviderList.tsx +3 -3
- package/src/features/auth/adapters/inbound/OtpForm.tsx +3 -3
- package/src/features/auth/adapters/inbound/SignInForm.tsx +3 -3
- package/src/features/auth/adapters/inbound/SignUpForm.tsx +3 -3
- package/src/features/avatar/adapters/inbound/Avatar.tsx +3 -3
- package/src/features/avatar/adapters/inbound/AvatarGroup.tsx +7 -7
- package/src/features/bottom-sheet/adapters/inbound/BottomSheet.tsx +3 -3
- package/src/features/bottom-sheet/public.test.ts +1 -1
- package/src/features/breadcrumbs/adapters/inbound/Breadcrumbs.tsx +5 -5
- package/src/features/button/adapters/inbound/ButtonGroup.tsx +3 -3
- package/src/features/card/adapters/inbound/Card.tsx +12 -12
- package/src/features/card/adapters/inbound/MediaCard.tsx +21 -21
- package/src/features/card/adapters/inbound/MetricCard.tsx +10 -11
- package/src/features/card/adapters/inbound/PostCard.tsx +37 -38
- package/src/features/card/adapters/inbound/ProductCard.tsx +17 -18
- package/src/features/chip/adapters/inbound/Chip.tsx +5 -6
- package/src/features/chip/adapters/inbound/ChipGroup.tsx +3 -3
- package/src/features/{layout → content-rail}/adapters/inbound/ContentRail.test.ts +3 -1
- package/src/features/{layout → content-rail}/adapters/inbound/ContentRail.tsx +9 -10
- package/src/features/content-rail/constants.ts +1 -0
- package/src/features/content-rail/public.ts +10 -0
- package/src/features/data-table/adapters/inbound/DataTable.tsx +32 -32
- package/src/features/date-picker/composition/DatePickerContent.tsx +16 -16
- package/src/features/date-picker/composition/DatePickerField.tsx +3 -3
- package/src/features/dialog/adapters/inbound/Dialog.tsx +9 -9
- package/src/features/empty-state/adapters/inbound/EmptyState.tsx +5 -5
- package/src/features/form/adapters/inbound/Form.tsx +3 -3
- package/src/features/form/adapters/inbound/FormActions.tsx +4 -4
- package/src/features/form/adapters/inbound/FormError.tsx +3 -3
- package/src/features/form/checkbox/adapters/inbound/CheckboxGroup.tsx +5 -6
- package/src/features/form/{adapters/inbound/FormField.tsx → field/adapters/inbound/Field.tsx} +12 -12
- package/src/features/form/{formFieldMeta.ts → field/meta.ts} +5 -4
- package/src/features/form/field/public.ts +1 -0
- package/src/features/form/formMeta.ts +1 -1
- package/src/features/form/public.ts +2 -2
- package/src/features/form/radio/adapters/inbound/RadioGroup.tsx +10 -10
- package/src/features/form/select/adapters/inbound/Select.web.tsx +3 -3
- package/src/features/gradient/adapters/inbound/Gradient.tsx +5 -5
- package/src/features/hero/adapters/inbound/Hero.tsx +12 -12
- package/src/features/icon/utils/meta.test.ts +2 -3
- package/src/features/image/adapters/inbound/Image.tsx +3 -3
- package/src/features/layout/adapters/inbound/AppShell.test.ts +24 -0
- package/src/features/layout/adapters/inbound/AppShell.tsx +44 -0
- package/src/features/layout/adapters/inbound/Screen.tsx +50 -0
- package/src/{layout/screen-section → features/layout/adapters/inbound}/ScreenSection.tsx +7 -11
- package/src/features/layout/adapters/inbound/ScrollView.tsx +18 -0
- package/src/features/layout/adapters/inbound/View.tsx +18 -0
- package/src/features/layout/constants.ts +0 -2
- package/src/features/layout/public.test.ts +55 -0
- package/src/features/layout/public.ts +10 -16
- package/src/features/layout/{containerMeta.ts → scrollViewMeta.ts} +6 -3
- package/src/features/layout/{stackMeta.ts → viewMeta.ts} +7 -2
- package/src/features/list/adapters/inbound/List.tsx +77 -0
- package/src/features/list/adapters/inbound/ListItem.tsx +89 -0
- package/src/{patterns/list → features/list/adapters/inbound}/ListSection.tsx +7 -12
- package/src/{patterns → features}/list/meta.ts +7 -14
- package/src/features/list/public.ts +11 -0
- package/src/features/list/utils/resolveListSeparator.ts +9 -0
- package/src/features/missing-element/adapters/inbound/MissingElement.tsx +5 -5
- package/src/features/pagination/adapters/inbound/Pagination.tsx +3 -3
- package/src/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.tsx +11 -11
- package/src/{layout/sidebar-layout/meta.ts → features/palette-item/paletteItemMeta.ts} +4 -4
- package/src/features/palette-item/public.ts +2 -0
- package/src/features/popover-menu/adapters/inbound/PopoverMenu.tsx +2 -2
- package/src/features/progress/adapters/inbound/Progress.tsx +4 -4
- package/src/features/progress/adapters/inbound/ProgressRing.tsx +10 -10
- package/src/features/rating/adapters/inbound/Rating.tsx +3 -3
- package/src/features/skeleton/adapters/inbound/Skeleton.tsx +2 -2
- package/src/features/skeleton/adapters/inbound/SkeletonCard.tsx +5 -5
- package/src/features/skeleton/adapters/inbound/SkeletonList.tsx +3 -3
- package/src/features/skeleton/adapters/inbound/SkeletonText.tsx +3 -3
- package/src/features/time-picker/composition/TimePickerContent.tsx +7 -7
- package/src/features/time-picker/composition/TimePickerField.tsx +3 -3
- package/src/features/toolbar/adapters/inbound/Toolbar.tsx +3 -3
- package/src/features/uploader/adapters/inbound/Uploader.tsx +22 -22
- package/src/index.ts +36 -41
- package/src/interactionPolicy.test.ts +1 -1
- package/src/metadata/allowedChildren.ts +4 -6
- package/src/metadata/bindableComponentMeta.ts +1 -1
- package/src/metadata/componentMeta.test.ts +9 -11
- package/src/metadata/componentMeta.ts +13 -26
- package/src/metadata/radioGroupReachability.test.ts +2 -2
- package/src/patterns/chat-list-item/ChatListItem.tsx +22 -23
- package/src/patterns/collection-editor/CollectionEditor.tsx +13 -13
- package/src/patterns/confirm-dialog/ConfirmDialog.tsx +3 -3
- package/src/patterns/filter-bar/FilterBar.tsx +6 -7
- package/src/patterns/inspector-field/InspectorField.tsx +8 -8
- package/src/patterns/message-bubble/MessageBubble.tsx +23 -20
- package/src/patterns/notice/Notice.tsx +5 -5
- package/src/patterns/reader/ReaderSurface.tsx +18 -19
- package/src/patterns/scanner/BarcodeScannerView.tsx +7 -7
- package/src/patterns/scanner/CameraPermissionView.tsx +5 -5
- package/src/patterns/scanner/ScanOverlay.tsx +8 -8
- package/src/patterns/section-header/SectionHeader.tsx +8 -8
- package/src/patterns/switch-field/SwitchField.tsx +9 -9
- package/src/patterns/theme-composer/ThemeComposer.tsx +30 -30
- package/src/patterns/timeline/Timeline.tsx +21 -15
- package/src/patterns/tree-view/TreeItem.tsx +12 -11
- package/src/patterns/tree-view/TreeView.tsx +3 -3
- package/src/platformAcceptance.test.ts +1 -1
- package/src/registry.test.ts +1 -1
- package/src/registry.ts +17 -27
- package/src/showcaseCoverage.test.ts +4 -24
- package/src/theme/themeScopeStructure.test.ts +15 -36
- package/src/types/button-group.ts +2 -2
- package/src/types/form.ts +1 -1
- package/src/types/gradient.ts +6 -6
- package/src/types/layout.ts +28 -7
- package/src/{patterns/list/types.ts → types/list.ts} +17 -18
- package/src/types/palette-item.ts +14 -0
- package/src/types/skeleton.ts +5 -5
- package/dist/features/form/adapters/inbound/FormField.d.ts +0 -5
- package/dist/features/form/adapters/inbound/FormField.d.ts.map +0 -1
- package/dist/features/form/adapters/inbound/FormField.js +0 -20
- package/dist/features/form/adapters/inbound/FormField.js.map +0 -1
- package/dist/features/form/formFieldMeta.d.ts.map +0 -1
- package/dist/features/form/formFieldMeta.js.map +0 -1
- package/dist/features/layout/adapters/inbound/Box.d.ts +0 -5
- package/dist/features/layout/adapters/inbound/Box.d.ts.map +0 -1
- package/dist/features/layout/adapters/inbound/Box.js +0 -10
- package/dist/features/layout/adapters/inbound/Box.js.map +0 -1
- package/dist/features/layout/adapters/inbound/Container.d.ts +0 -5
- package/dist/features/layout/adapters/inbound/Container.d.ts.map +0 -1
- package/dist/features/layout/adapters/inbound/Container.js +0 -10
- package/dist/features/layout/adapters/inbound/Container.js.map +0 -1
- package/dist/features/layout/adapters/inbound/ContentRail.d.ts.map +0 -1
- package/dist/features/layout/adapters/inbound/ContentRail.js.map +0 -1
- package/dist/features/layout/adapters/inbound/ContentRailFlow.d.ts.map +0 -1
- package/dist/features/layout/adapters/inbound/ContentRailFlow.js.map +0 -1
- package/dist/features/layout/adapters/inbound/Stack.d.ts +0 -5
- package/dist/features/layout/adapters/inbound/Stack.d.ts.map +0 -1
- package/dist/features/layout/adapters/inbound/Stack.js +0 -10
- package/dist/features/layout/adapters/inbound/Stack.js.map +0 -1
- package/dist/features/layout/boxMeta.d.ts.map +0 -1
- package/dist/features/layout/boxMeta.js.map +0 -1
- package/dist/features/layout/containerMeta.d.ts +0 -55
- package/dist/features/layout/containerMeta.d.ts.map +0 -1
- package/dist/features/layout/containerMeta.js +0 -10
- package/dist/features/layout/containerMeta.js.map +0 -1
- package/dist/features/layout/contentRailMeta.d.ts.map +0 -1
- package/dist/features/layout/contentRailMeta.js.map +0 -1
- package/dist/features/layout/stackMeta.d.ts.map +0 -1
- package/dist/features/layout/stackMeta.js.map +0 -1
- package/dist/features/layout/utils/resolveContentRailItemWidth.d.ts.map +0 -1
- package/dist/features/layout/utils/resolveContentRailItemWidth.js.map +0 -1
- package/dist/features/layout/utils/resolveContentRailPhysicalOffset.d.ts.map +0 -1
- package/dist/features/layout/utils/resolveContentRailPhysicalOffset.js.map +0 -1
- package/dist/features/layout/utils/resolveContentRailState.d.ts.map +0 -1
- package/dist/features/layout/utils/resolveContentRailState.js.map +0 -1
- package/dist/features/layout/utils/useContentRailReducedMotion.d.ts.map +0 -1
- package/dist/features/layout/utils/useContentRailReducedMotion.js.map +0 -1
- package/dist/foundation/Center.d.ts +0 -12
- package/dist/foundation/Center.d.ts.map +0 -1
- package/dist/foundation/Center.js +0 -13
- package/dist/foundation/Center.js.map +0 -1
- package/dist/foundation/Inline.d.ts +0 -12
- package/dist/foundation/Inline.d.ts.map +0 -1
- package/dist/foundation/Inline.js +0 -13
- package/dist/foundation/Inline.js.map +0 -1
- package/dist/foundation/Show.d.ts +0 -12
- package/dist/foundation/Show.d.ts.map +0 -1
- package/dist/foundation/Show.js +0 -13
- package/dist/foundation/Show.js.map +0 -1
- package/dist/foundation/Spacer.d.ts +0 -12
- package/dist/foundation/Spacer.d.ts.map +0 -1
- package/dist/foundation/Spacer.js +0 -13
- package/dist/foundation/Spacer.js.map +0 -1
- package/dist/foundation/index.d.ts +0 -9
- package/dist/foundation/index.d.ts.map +0 -1
- package/dist/foundation/index.js +0 -5
- package/dist/foundation/index.js.map +0 -1
- package/dist/foundation/meta.d.ts +0 -35
- package/dist/foundation/meta.d.ts.map +0 -1
- package/dist/foundation/meta.js +0 -35
- package/dist/foundation/meta.js.map +0 -1
- package/dist/layout/app-shell/AppShell.d.ts +0 -16
- package/dist/layout/app-shell/AppShell.d.ts.map +0 -1
- package/dist/layout/app-shell/AppShell.js +0 -50
- package/dist/layout/app-shell/AppShell.js.map +0 -1
- package/dist/layout/app-shell/index.d.ts +0 -3
- package/dist/layout/app-shell/index.d.ts.map +0 -1
- package/dist/layout/app-shell/index.js +0 -2
- package/dist/layout/app-shell/index.js.map +0 -1
- package/dist/layout/app-shell/meta.d.ts.map +0 -1
- package/dist/layout/app-shell/meta.js.map +0 -1
- package/dist/layout/app-shell/types.d.ts +0 -9
- package/dist/layout/app-shell/types.d.ts.map +0 -1
- package/dist/layout/app-shell/types.js +0 -2
- package/dist/layout/app-shell/types.js.map +0 -1
- package/dist/layout/screen/Screen.d.ts +0 -11
- package/dist/layout/screen/Screen.d.ts.map +0 -1
- package/dist/layout/screen/Screen.js +0 -30
- package/dist/layout/screen/Screen.js.map +0 -1
- package/dist/layout/screen/index.d.ts +0 -3
- package/dist/layout/screen/index.d.ts.map +0 -1
- package/dist/layout/screen/index.js +0 -2
- package/dist/layout/screen/index.js.map +0 -1
- package/dist/layout/screen/meta.d.ts.map +0 -1
- package/dist/layout/screen/meta.js.map +0 -1
- package/dist/layout/screen/types.d.ts +0 -10
- package/dist/layout/screen/types.d.ts.map +0 -1
- package/dist/layout/screen/types.js +0 -2
- package/dist/layout/screen/types.js.map +0 -1
- package/dist/layout/screen-section/ScreenSection.d.ts +0 -9
- package/dist/layout/screen-section/ScreenSection.d.ts.map +0 -1
- package/dist/layout/screen-section/ScreenSection.js +0 -17
- package/dist/layout/screen-section/ScreenSection.js.map +0 -1
- package/dist/layout/screen-section/index.d.ts +0 -3
- package/dist/layout/screen-section/index.d.ts.map +0 -1
- package/dist/layout/screen-section/index.js +0 -2
- package/dist/layout/screen-section/index.js.map +0 -1
- package/dist/layout/screen-section/meta.d.ts.map +0 -1
- package/dist/layout/screen-section/meta.js.map +0 -1
- package/dist/layout/screen-section/types.d.ts +0 -9
- package/dist/layout/screen-section/types.d.ts.map +0 -1
- package/dist/layout/screen-section/types.js +0 -2
- package/dist/layout/screen-section/types.js.map +0 -1
- package/dist/layout/settings-layout/SettingsLayout.d.ts +0 -7
- package/dist/layout/settings-layout/SettingsLayout.d.ts.map +0 -1
- package/dist/layout/settings-layout/SettingsLayout.js +0 -18
- package/dist/layout/settings-layout/SettingsLayout.js.map +0 -1
- package/dist/layout/settings-layout/index.d.ts +0 -3
- package/dist/layout/settings-layout/index.d.ts.map +0 -1
- package/dist/layout/settings-layout/index.js +0 -2
- package/dist/layout/settings-layout/index.js.map +0 -1
- package/dist/layout/settings-layout/meta.d.ts +0 -9
- package/dist/layout/settings-layout/meta.d.ts.map +0 -1
- package/dist/layout/settings-layout/meta.js +0 -9
- package/dist/layout/settings-layout/meta.js.map +0 -1
- package/dist/layout/settings-layout/types.d.ts +0 -10
- package/dist/layout/settings-layout/types.d.ts.map +0 -1
- package/dist/layout/settings-layout/types.js +0 -2
- package/dist/layout/settings-layout/types.js.map +0 -1
- package/dist/layout/sidebar-layout/SidebarLayout.d.ts +0 -11
- package/dist/layout/sidebar-layout/SidebarLayout.d.ts.map +0 -1
- package/dist/layout/sidebar-layout/SidebarLayout.js +0 -27
- package/dist/layout/sidebar-layout/SidebarLayout.js.map +0 -1
- package/dist/layout/sidebar-layout/index.d.ts +0 -3
- package/dist/layout/sidebar-layout/index.d.ts.map +0 -1
- package/dist/layout/sidebar-layout/index.js +0 -2
- package/dist/layout/sidebar-layout/index.js.map +0 -1
- package/dist/layout/sidebar-layout/meta.d.ts +0 -9
- package/dist/layout/sidebar-layout/meta.d.ts.map +0 -1
- package/dist/layout/sidebar-layout/meta.js +0 -9
- package/dist/layout/sidebar-layout/meta.js.map +0 -1
- package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.d.ts +0 -14
- package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.d.ts.map +0 -1
- package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.js +0 -16
- package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.js.map +0 -1
- package/dist/layout/sidebar-layout/types.d.ts +0 -12
- package/dist/layout/sidebar-layout/types.d.ts.map +0 -1
- package/dist/layout/sidebar-layout/types.js +0 -2
- package/dist/layout/sidebar-layout/types.js.map +0 -1
- package/dist/layout/topbar-layout/TopbarLayout.d.ts +0 -9
- package/dist/layout/topbar-layout/TopbarLayout.d.ts.map +0 -1
- package/dist/layout/topbar-layout/TopbarLayout.js +0 -17
- package/dist/layout/topbar-layout/TopbarLayout.js.map +0 -1
- package/dist/layout/topbar-layout/index.d.ts +0 -3
- package/dist/layout/topbar-layout/index.d.ts.map +0 -1
- package/dist/layout/topbar-layout/index.js +0 -2
- package/dist/layout/topbar-layout/index.js.map +0 -1
- package/dist/layout/topbar-layout/meta.d.ts +0 -9
- package/dist/layout/topbar-layout/meta.d.ts.map +0 -1
- package/dist/layout/topbar-layout/meta.js +0 -9
- package/dist/layout/topbar-layout/meta.js.map +0 -1
- package/dist/layout/topbar-layout/types.d.ts +0 -8
- package/dist/layout/topbar-layout/types.d.ts.map +0 -1
- package/dist/layout/topbar-layout/types.js +0 -2
- package/dist/layout/topbar-layout/types.js.map +0 -1
- package/dist/patterns/list/List.d.ts +0 -9
- package/dist/patterns/list/List.d.ts.map +0 -1
- package/dist/patterns/list/List.js +0 -41
- package/dist/patterns/list/List.js.map +0 -1
- package/dist/patterns/list/ListRow.d.ts +0 -9
- package/dist/patterns/list/ListRow.d.ts.map +0 -1
- package/dist/patterns/list/ListRow.js +0 -114
- package/dist/patterns/list/ListRow.js.map +0 -1
- package/dist/patterns/list/ListSection.d.ts +0 -9
- package/dist/patterns/list/ListSection.d.ts.map +0 -1
- package/dist/patterns/list/ListSection.js.map +0 -1
- package/dist/patterns/list/index.d.ts +0 -5
- package/dist/patterns/list/index.d.ts.map +0 -1
- package/dist/patterns/list/index.js +0 -4
- package/dist/patterns/list/index.js.map +0 -1
- package/dist/patterns/list/meta.d.ts.map +0 -1
- package/dist/patterns/list/meta.js.map +0 -1
- package/dist/patterns/list/resolveListSeparator.d.ts +0 -5
- package/dist/patterns/list/resolveListSeparator.d.ts.map +0 -1
- package/dist/patterns/list/resolveListSeparator.js.map +0 -1
- package/dist/patterns/list/types.d.ts.map +0 -1
- package/dist/patterns/list/types.js +0 -2
- package/dist/patterns/list/types.js.map +0 -1
- package/dist/patterns/settings-row/SettingsRow.d.ts +0 -9
- package/dist/patterns/settings-row/SettingsRow.d.ts.map +0 -1
- package/dist/patterns/settings-row/SettingsRow.js +0 -24
- package/dist/patterns/settings-row/SettingsRow.js.map +0 -1
- package/dist/patterns/settings-row/index.d.ts +0 -3
- package/dist/patterns/settings-row/index.d.ts.map +0 -1
- package/dist/patterns/settings-row/index.js +0 -2
- package/dist/patterns/settings-row/index.js.map +0 -1
- package/dist/patterns/settings-row/meta.d.ts +0 -39
- package/dist/patterns/settings-row/meta.d.ts.map +0 -1
- package/dist/patterns/settings-row/meta.js +0 -39
- package/dist/patterns/settings-row/meta.js.map +0 -1
- package/dist/patterns/settings-row/types.d.ts +0 -23
- package/dist/patterns/settings-row/types.d.ts.map +0 -1
- package/dist/patterns/settings-row/types.js +0 -2
- package/dist/patterns/settings-row/types.js.map +0 -1
- package/dist/patterns/tile-grid/PaletteItem.d.ts.map +0 -1
- package/dist/patterns/tile-grid/PaletteItem.js.map +0 -1
- package/dist/patterns/tile-grid/TileGrid.d.ts +0 -9
- package/dist/patterns/tile-grid/TileGrid.d.ts.map +0 -1
- package/dist/patterns/tile-grid/TileGrid.js +0 -33
- package/dist/patterns/tile-grid/TileGrid.js.map +0 -1
- package/dist/patterns/tile-grid/index.d.ts +0 -4
- package/dist/patterns/tile-grid/index.d.ts.map +0 -1
- package/dist/patterns/tile-grid/index.js +0 -4
- package/dist/patterns/tile-grid/index.js.map +0 -1
- package/dist/patterns/tile-grid/meta.d.ts +0 -17
- package/dist/patterns/tile-grid/meta.d.ts.map +0 -1
- package/dist/patterns/tile-grid/meta.js +0 -18
- package/dist/patterns/tile-grid/meta.js.map +0 -1
- package/dist/patterns/tile-grid/types.d.ts +0 -18
- package/dist/patterns/tile-grid/types.d.ts.map +0 -1
- package/dist/patterns/tile-grid/types.js +0 -2
- package/dist/patterns/tile-grid/types.js.map +0 -1
- package/src/features/layout/adapters/inbound/Box.tsx +0 -18
- package/src/features/layout/adapters/inbound/Container.tsx +0 -18
- package/src/features/layout/adapters/inbound/Stack.tsx +0 -18
- package/src/features/layout/boxMeta.ts +0 -16
- package/src/foundation/Center.tsx +0 -26
- package/src/foundation/Inline.tsx +0 -26
- package/src/foundation/Show.tsx +0 -23
- package/src/foundation/Spacer.tsx +0 -26
- package/src/foundation/index.test.ts +0 -30
- package/src/foundation/index.ts +0 -8
- package/src/foundation/meta.ts +0 -36
- package/src/layout/app-shell/AppShell.test.ts +0 -24
- package/src/layout/app-shell/AppShell.tsx +0 -65
- package/src/layout/app-shell/index.ts +0 -2
- package/src/layout/app-shell/types.ts +0 -10
- package/src/layout/screen/Screen.test.ts +0 -22
- package/src/layout/screen/Screen.tsx +0 -47
- package/src/layout/screen/index.ts +0 -2
- package/src/layout/screen/types.ts +0 -11
- package/src/layout/screen-section/index.ts +0 -2
- package/src/layout/screen-section/types.ts +0 -10
- package/src/layout/settings-layout/SettingsLayout.tsx +0 -33
- package/src/layout/settings-layout/index.ts +0 -2
- package/src/layout/settings-layout/meta.ts +0 -10
- package/src/layout/settings-layout/types.ts +0 -11
- package/src/layout/sidebar-layout/SidebarLayout.test.ts +0 -35
- package/src/layout/sidebar-layout/SidebarLayout.tsx +0 -46
- package/src/layout/sidebar-layout/index.ts +0 -2
- package/src/layout/sidebar-layout/resolveSidebarLayoutSizing.ts +0 -18
- package/src/layout/sidebar-layout/types.ts +0 -14
- package/src/layout/topbar-layout/TopbarLayout.tsx +0 -30
- package/src/layout/topbar-layout/index.ts +0 -2
- package/src/layout/topbar-layout/meta.ts +0 -10
- package/src/layout/topbar-layout/types.ts +0 -9
- package/src/patterns/list/List.tsx +0 -78
- package/src/patterns/list/ListRow.tsx +0 -199
- package/src/patterns/list/index.ts +0 -10
- package/src/patterns/list/resolveListSeparator.test.ts +0 -18
- package/src/patterns/list/resolveListSeparator.ts +0 -8
- package/src/patterns/settings-row/SettingsRow.tsx +0 -53
- package/src/patterns/settings-row/index.ts +0 -2
- package/src/patterns/settings-row/meta.ts +0 -40
- package/src/patterns/settings-row/types.ts +0 -28
- package/src/patterns/tile-grid/TileGrid.tsx +0 -55
- package/src/patterns/tile-grid/index.ts +0 -3
- package/src/patterns/tile-grid/meta.ts +0 -21
- package/src/patterns/tile-grid/types.ts +0 -20
- /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRail.d.ts +0 -0
- /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.d.ts +0 -0
- /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.js +0 -0
- /package/dist/features/{layout → content-rail}/contentRailMeta.js +0 -0
- /package/dist/features/{layout → content-rail}/utils/resolveContentRailItemWidth.d.ts +0 -0
- /package/dist/features/{layout → content-rail}/utils/resolveContentRailItemWidth.js +0 -0
- /package/dist/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.d.ts +0 -0
- /package/dist/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.js +0 -0
- /package/dist/features/{layout → content-rail}/utils/resolveContentRailState.d.ts +0 -0
- /package/dist/features/{layout → content-rail}/utils/resolveContentRailState.js +0 -0
- /package/dist/features/{layout → content-rail}/utils/useContentRailReducedMotion.d.ts +0 -0
- /package/dist/features/{layout → content-rail}/utils/useContentRailReducedMotion.js +0 -0
- /package/src/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.tsx +0 -0
- /package/src/features/{layout → content-rail}/contentRailMeta.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/resolveContentRailItemWidth.test.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/resolveContentRailItemWidth.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.test.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/resolveContentRailState.test.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/resolveContentRailState.ts +0 -0
- /package/src/features/{layout → content-rail}/utils/useContentRailReducedMotion.ts +0 -0
- /package/src/{layout/app-shell/meta.ts → features/layout/appShellMeta.ts} +0 -0
- /package/src/{layout/screen/meta.ts → features/layout/screenMeta.ts} +0 -0
- /package/src/{layout/screen-section/meta.ts → features/layout/screenSectionMeta.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
3
|
-
import {
|
|
3
|
+
import { View } from '../../../layout/public';
|
|
4
4
|
import { Skeleton } from './Skeleton';
|
|
5
5
|
function clampLines(lines) {
|
|
6
6
|
if (!Number.isFinite(lines)) {
|
|
@@ -10,12 +10,12 @@ function clampLines(lines) {
|
|
|
10
10
|
}
|
|
11
11
|
function SkeletonTextInner({ themeId: _themeId, mode: _mode, testID, lines = 3, lineHeight = 12, gap = 'xs', width = '100%', lastLineWidth = '70%', }) {
|
|
12
12
|
const lineCount = clampLines(lines);
|
|
13
|
-
return (<
|
|
13
|
+
return (<View gap={gap} testID={testID}>
|
|
14
14
|
{Array.from({ length: lineCount }).map((_, index) => {
|
|
15
15
|
const isLastLine = index === lineCount - 1;
|
|
16
16
|
return (<Skeleton height={lineHeight} key={`${index}`} radius="full" width={isLastLine && lineCount > 1 ? lastLineWidth : width}/>);
|
|
17
17
|
})}
|
|
18
|
-
</
|
|
18
|
+
</View>);
|
|
19
19
|
}
|
|
20
20
|
/***
|
|
21
21
|
* Multi-line skeleton placeholder for text content.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonText.js","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SkeletonText.js","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,GAAG,CAAC,EACT,UAAU,GAAG,EAAE,EACf,GAAG,GAAG,IAAI,EACV,KAAK,GAAG,MAAM,EACd,aAAa,GAAG,KAAK,GACH;IAClB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC7B;MAAA,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,GAAG,CAAC,CAAC;YAC3C,OAAO,CACL,CAAC,QAAQ,CACP,MAAM,CAAC,CAAC,UAAU,CAAC,CACnB,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAChB,MAAM,CAAC,MAAM,CACb,KAAK,CAAC,CAAC,UAAU,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3D,CACH,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { SkeletonTextProps } from '../../../../types/skeleton';\nimport { View } from '../../../layout/public';\nimport { Skeleton } from './Skeleton';\n\nfunction clampLines(lines: number): number {\n if (!Number.isFinite(lines)) {\n return 1;\n }\n\n return Math.max(1, Math.floor(lines));\n}\n\nfunction SkeletonTextInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n lines = 3,\n lineHeight = 12,\n gap = 'xs',\n width = '100%',\n lastLineWidth = '70%',\n}: SkeletonTextProps) {\n const lineCount = clampLines(lines);\n\n return (\n <View gap={gap} testID={testID}>\n {Array.from({ length: lineCount }).map((_, index) => {\n const isLastLine = index === lineCount - 1;\n return (\n <Skeleton\n height={lineHeight}\n key={`${index}`}\n radius=\"full\"\n width={isLastLine && lineCount > 1 ? lastLineWidth : width}\n />\n );\n })}\n </View>\n );\n}\n\n/***\n * Multi-line skeleton placeholder for text content.\n *\n \n */\nexport const SkeletonText = withZoraThemeScope(SkeletonTextInner);\n"]}
|
|
@@ -2,7 +2,7 @@ export declare const surfaceMeta: {
|
|
|
2
2
|
readonly name: "Surface";
|
|
3
3
|
readonly category: "foundation";
|
|
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", "
|
|
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", "Panel", "Notice", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
6
6
|
readonly props: {
|
|
7
7
|
readonly variant: {
|
|
8
8
|
readonly type: "enum";
|
|
@@ -2,7 +2,7 @@ export declare const tabPanelMeta: {
|
|
|
2
2
|
readonly name: "TabPanel";
|
|
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", "
|
|
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", "Panel", "Notice", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
|
|
6
6
|
readonly description: "Content panel associated with one Tab value.";
|
|
7
7
|
readonly props: {
|
|
8
8
|
readonly value: {
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ScrollView, StyleSheet } from 'react-native';
|
|
3
3
|
import { Button } from '../../button/public';
|
|
4
|
-
import {
|
|
4
|
+
import { View } from '../../layout/public';
|
|
5
5
|
import { Text } from '../../typography/public';
|
|
6
6
|
const MINUTES_PER_DAY = 24 * 60;
|
|
7
7
|
const DEFAULT_STEP_MINUTES = 30;
|
|
8
8
|
/*** Renders shared time options for native BottomSheet and web Popover hosts. */
|
|
9
9
|
export function TimePickerContent({ description, formatTime, interactionPolicy, label, maxTime, minTime, onDismiss, onSelect, stepMinutes, testID, value, }) {
|
|
10
10
|
const options = React.useMemo(() => generateTimeOptions({ maxTime, minTime, stepMinutes }), [maxTime, minTime, stepMinutes]);
|
|
11
|
-
return (<
|
|
11
|
+
return (<View gap="m" p="m" testID={testID ? `${testID}-content` : undefined}>
|
|
12
12
|
<PickerHeader description={description} title={label ?? 'Choose time'}/>
|
|
13
13
|
<ScrollView style={styles.options}>
|
|
14
|
-
<
|
|
14
|
+
<View gap="xxs">
|
|
15
15
|
{options.map((option) => (<TimePickerOption formatTime={formatTime} interactionPolicy={interactionPolicy} key={option} onSelect={onSelect} option={option} selected={option === value} testID={testID}/>))}
|
|
16
|
-
</
|
|
16
|
+
</View>
|
|
17
17
|
</ScrollView>
|
|
18
18
|
<Button fullWidth interactionPolicy={interactionPolicy} onPress={onDismiss} variant="ghost">
|
|
19
19
|
Cancel
|
|
20
20
|
</Button>
|
|
21
|
-
</
|
|
21
|
+
</View>);
|
|
22
22
|
}
|
|
23
23
|
/*** Renders the shared title block used by picker overlays. */
|
|
24
24
|
function PickerHeader({ description, title, }) {
|
|
25
|
-
return (<
|
|
25
|
+
return (<View gap="xxs">
|
|
26
26
|
<Text align="center" variant="label" weight="semiBold">
|
|
27
27
|
{title}
|
|
28
28
|
</Text>
|
|
29
29
|
{description ? (<Text align="center" emphasis="muted" variant="bodySmall">
|
|
30
30
|
{description}
|
|
31
31
|
</Text>) : null}
|
|
32
|
-
</
|
|
32
|
+
</View>);
|
|
33
33
|
}
|
|
34
34
|
/*** Renders one accessible selectable time option. */
|
|
35
35
|
function TimePickerOption({ formatTime, interactionPolicy, onSelect, option, selected, testID, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerContent.js","sourceRoot":"","sources":["../../../../src/features/time-picker/composition/TimePickerContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TimePickerContent.js","sourceRoot":"","sources":["../../../../src/features/time-picker/composition/TimePickerContent.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ScrollView, StyleSheet } from 'react-native';\n\nimport type { TimePickerProps } from '../../../types/time-picker';\nimport { Button } from '../../button/public';\nimport { View } from '../../layout/public';\nimport { Text } from '../../typography/public';\n\nconst MINUTES_PER_DAY = 24 * 60;\nconst DEFAULT_STEP_MINUTES = 30;\n\n/*** Renders shared time options for native BottomSheet and web Popover hosts. */\nexport function TimePickerContent({\n description,\n formatTime,\n interactionPolicy,\n label,\n maxTime,\n minTime,\n onDismiss,\n onSelect,\n stepMinutes,\n testID,\n value,\n}: TimePickerContentProps) {\n const options = React.useMemo(\n () => generateTimeOptions({ maxTime, minTime, stepMinutes }),\n [maxTime, minTime, stepMinutes],\n );\n\n return (\n <View gap=\"m\" p=\"m\" testID={testID ? `${testID}-content` : undefined}>\n <PickerHeader description={description} title={label ?? 'Choose time'} />\n <ScrollView style={styles.options}>\n <View gap=\"xxs\">\n {options.map((option) => (\n <TimePickerOption\n formatTime={formatTime}\n interactionPolicy={interactionPolicy}\n key={option}\n onSelect={onSelect}\n option={option}\n selected={option === value}\n testID={testID}\n />\n ))}\n </View>\n </ScrollView>\n <Button fullWidth interactionPolicy={interactionPolicy} onPress={onDismiss} variant=\"ghost\">\n Cancel\n </Button>\n </View>\n );\n}\n\ninterface TimePickerContentProps extends Pick<\n TimePickerProps,\n | 'description'\n | 'formatTime'\n | 'interactionPolicy'\n | 'label'\n | 'maxTime'\n | 'minTime'\n | 'stepMinutes'\n | 'testID'\n | 'value'\n> {\n onDismiss: () => void;\n onSelect: (value: string) => void;\n}\n\n/*** Renders the shared title block used by picker overlays. */\nfunction PickerHeader({\n description,\n title,\n}: {\n description: React.ReactNode | undefined;\n title: React.ReactNode;\n}) {\n return (\n <View gap=\"xxs\">\n <Text align=\"center\" variant=\"label\" weight=\"semiBold\">\n {title}\n </Text>\n {description ? (\n <Text align=\"center\" emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n </View>\n );\n}\n\n/*** Renders one accessible selectable time option. */\nfunction TimePickerOption({\n formatTime,\n interactionPolicy,\n onSelect,\n option,\n selected,\n testID,\n}: Pick<TimePickerContentProps, 'formatTime' | 'interactionPolicy' | 'testID'> & {\n onSelect: (value: string) => void;\n option: string;\n selected: boolean;\n}) {\n return (\n <Button\n accessibilityState={{ selected }}\n fullWidth\n interactionPolicy={interactionPolicy}\n onPress={() => onSelect(option)}\n testID={testID ? `${testID}-option-${option}` : undefined}\n variant={selected ? 'soft' : 'ghost'}\n >\n {formatTime ? formatTime(option) : option}\n </Button>\n );\n}\n\n/*** Parses one HH:mm value to minutes since midnight. */\nfunction parseTimeToMinutes(value: string | undefined): number | undefined {\n if (!value) return undefined;\n const match = /^(\\d{2}):(\\d{2})$/.exec(value);\n if (!match) return undefined;\n\n const hours = Number(match[1]);\n const minutes = Number(match[2]);\n if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) return undefined;\n return hours * 60 + minutes;\n}\n\n/*** Formats minutes since midnight as HH:mm. */\nfunction formatMinutes(value: number): string {\n const hours = Math.floor(value / 60);\n const minutes = value % 60;\n return `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;\n}\n\n/*** Normalizes the configured time step to a positive whole minute. */\nfunction resolveStepMinutes(stepMinutes: number | undefined): number {\n if (stepMinutes === undefined || !Number.isFinite(stepMinutes) || stepMinutes <= 0) {\n return DEFAULT_STEP_MINUTES;\n }\n return Math.max(1, Math.floor(stepMinutes));\n}\n\n/*** Generates selectable HH:mm values within the configured range. */\nfunction generateTimeOptions({\n minTime,\n maxTime,\n stepMinutes,\n}: Pick<TimePickerProps, 'maxTime' | 'minTime' | 'stepMinutes'>): string[] {\n const step = resolveStepMinutes(stepMinutes);\n const min = parseTimeToMinutes(minTime) ?? 0;\n const max = parseTimeToMinutes(maxTime) ?? MINUTES_PER_DAY - 1;\n return Array.from({ length: Math.ceil(MINUTES_PER_DAY / step) }, (_, index) => index * step)\n .filter((minute) => minute >= min && minute <= max)\n .map(formatMinutes);\n}\n\nconst styles = StyleSheet.create({\n options: { maxHeight: 360 },\n});\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Field } from '@ankhorage/surface';
|
|
2
|
-
import {
|
|
2
|
+
import { View } from '../../layout/public';
|
|
3
3
|
import { Text } from '../../typography/public';
|
|
4
4
|
/*** Renders the shared TimePicker field frame around a platform-specific trigger. */
|
|
5
5
|
export function TimePickerField({ children, description, disabled, error, label, required, testID, }) {
|
|
@@ -9,13 +9,13 @@ export function TimePickerField({ children, description, disabled, error, label,
|
|
|
9
9
|
}
|
|
10
10
|
/*** Renders the picker label and optional supporting description. */
|
|
11
11
|
function renderLabel(label, description) {
|
|
12
|
-
return (<
|
|
12
|
+
return (<View gap="xs">
|
|
13
13
|
<Text variant="label" weight="semiBold">
|
|
14
14
|
{label}
|
|
15
15
|
</Text>
|
|
16
16
|
{description ? (<Text emphasis="muted" variant="bodySmall">
|
|
17
17
|
{description}
|
|
18
18
|
</Text>) : null}
|
|
19
|
-
</
|
|
19
|
+
</View>);
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=TimePickerField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerField.js","sourceRoot":"","sources":["../../../../src/features/time-picker/composition/TimePickerField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TimePickerField.js","sourceRoot":"","sources":["../../../../src/features/time-picker/composition/TimePickerField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,GACe;IACrB,OAAO,CACL,CAAC,KAAK,CACJ,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACxB,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3D,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AASD,qEAAqE;AACrE,SAAS,WAAW,CAAC,KAAsB,EAAE,WAAwC;IACnF,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CACZ;MAAA,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CACrC;QAAA,CAAC,KAAK,CACR;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,WAAW,CAAC,CAAC,CAAC,CACb,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CACxC;UAAA,CAAC,WAAW,CACd;QAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACV;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { Field } from '@ankhorage/surface';\nimport type React from 'react';\n\nimport type { TimePickerProps } from '../../../types/time-picker';\nimport { View } from '../../layout/public';\nimport { Text } from '../../typography/public';\n\n/*** Renders the shared TimePicker field frame around a platform-specific trigger. */\nexport function TimePickerField({\n children,\n description,\n disabled,\n error,\n label,\n required,\n testID,\n}: TimePickerFieldProps) {\n return (\n <Field\n disabled={disabled}\n errorText={error}\n invalid={Boolean(error)}\n label={label ? renderLabel(label, description) : undefined}\n required={required}\n testID={testID}\n >\n {children}\n </Field>\n );\n}\n\ninterface TimePickerFieldProps extends Pick<\n TimePickerProps,\n 'description' | 'disabled' | 'error' | 'label' | 'required' | 'testID'\n> {\n children: React.ReactNode;\n}\n\n/*** Renders the picker label and optional supporting description. */\nfunction renderLabel(label: React.ReactNode, description: React.ReactNode | undefined) {\n return (\n <View gap=\"xs\">\n <Text variant=\"label\" weight=\"semiBold\">\n {label}\n </Text>\n {description ? (\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n </View>\n );\n}\n"]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
2
2
|
import { Card } from '../../../card/public';
|
|
3
|
-
import {
|
|
3
|
+
import { View } from '../../../layout/public';
|
|
4
4
|
/*** Renders a visible horizontal group of contextual actions and controls. */
|
|
5
5
|
export const Toolbar = withZoraThemeScope(ToolbarInner);
|
|
6
6
|
/*** Applies toolbar presentation without owning page placement. */
|
|
7
7
|
function ToolbarInner({ themeId: _themeId, mode: _mode, interactionPolicy, children, floating = false, compact = true, testID, }) {
|
|
8
8
|
return (<Card compact={compact} interactionPolicy={interactionPolicy} tone={floating ? 'default' : 'subtle'} testID={testID}>
|
|
9
|
-
<
|
|
9
|
+
<View align="center" direction="row" gap="s">
|
|
10
10
|
{children}
|
|
11
|
-
</
|
|
11
|
+
</View>
|
|
12
12
|
</Card>);
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=Toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../../src/features/toolbar/adapters/inbound/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../../src/features/toolbar/adapters/inbound/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAExD,mEAAmE;AACnE,SAAS,YAAY,CAAC,EACpB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,iBAAiB,EACjB,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,IAAI,EACd,MAAM,GACO;IACb,OAAO,CACL,CAAC,IAAI,CACH,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACtC,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAC1C;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { ToolbarProps } from '../../../../types/toolbar';\nimport { Card } from '../../../card/public';\nimport { View } from '../../../layout/public';\n\n/*** Renders a visible horizontal group of contextual actions and controls. */\nexport const Toolbar = withZoraThemeScope(ToolbarInner);\n\n/*** Applies toolbar presentation without owning page placement. */\nfunction ToolbarInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n children,\n floating = false,\n compact = true,\n testID,\n}: ToolbarProps) {\n return (\n <Card\n compact={compact}\n interactionPolicy={interactionPolicy}\n tone={floating ? 'default' : 'subtle'}\n testID={testID}\n >\n <View align=\"center\" direction=\"row\" gap=\"s\">\n {children}\n </View>\n </Card>\n );\n}\n"]}
|
|
@@ -2,10 +2,10 @@ import React from 'react';
|
|
|
2
2
|
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
3
3
|
import { Button } from '../../../button/public';
|
|
4
4
|
import { Dialog } from '../../../dialog/public';
|
|
5
|
-
import {
|
|
5
|
+
import { Field } from '../../../form/public';
|
|
6
6
|
import { Icon } from '../../../icon/public';
|
|
7
7
|
import { Image } from '../../../image/public';
|
|
8
|
-
import {
|
|
8
|
+
import { View } from '../../../layout/public';
|
|
9
9
|
import { Progress } from '../../../progress/public';
|
|
10
10
|
import { Text } from '../../../typography/public';
|
|
11
11
|
import { validateUploadAsset } from '../../application/use-cases/validateUploadAsset';
|
|
@@ -152,27 +152,27 @@ function UploaderInner({ themeId: _themeId, mode: _mode, testID, value = null, o
|
|
|
152
152
|
]);
|
|
153
153
|
const canPreviewImage = type === 'image' && resolveRenderableAssetUrl(value) !== null;
|
|
154
154
|
return (<>
|
|
155
|
-
<
|
|
156
|
-
<
|
|
155
|
+
<Field description={description} disabled={disabled} errorText={effectiveError} helperText={helperText} interactionPolicy={interactionPolicy} invalid={Boolean(effectiveError)} label={label} readOnly={readOnly} required={required} testID={testID}>
|
|
156
|
+
<View gap="m">
|
|
157
157
|
<UploadPresentation asset={value} aspectRatio={aspectRatio} type={type}/>
|
|
158
158
|
|
|
159
|
-
{resolvedAccept || maxSizeBytes ? (<
|
|
159
|
+
{resolvedAccept || maxSizeBytes ? (<View gap="xs">
|
|
160
160
|
{resolvedAccept ? (<Text emphasis="muted" variant="caption">
|
|
161
161
|
Accepted: {resolvedAccept}
|
|
162
162
|
</Text>) : null}
|
|
163
163
|
{maxSizeBytes ? (<Text emphasis="muted" variant="caption">
|
|
164
164
|
Max size: {formatBytes(maxSizeBytes)}
|
|
165
165
|
</Text>) : null}
|
|
166
|
-
</
|
|
166
|
+
</View>) : null}
|
|
167
167
|
|
|
168
|
-
{uploading ? (<
|
|
168
|
+
{uploading ? (<View gap="xs">
|
|
169
169
|
<Text emphasis="muted" variant="caption">
|
|
170
170
|
Uploading…
|
|
171
171
|
</Text>
|
|
172
172
|
{uploadProgress !== undefined || progress !== null ? (<Progress max={1} value={clampProgress(uploadProgress ?? progress) ?? 0}/>) : null}
|
|
173
|
-
</
|
|
173
|
+
</View>) : null}
|
|
174
174
|
|
|
175
|
-
<
|
|
175
|
+
<View direction={{ base: 'column', md: 'row' }} gap="s">
|
|
176
176
|
<Button disabled={actionsDisabled || uploading || removing} interactionPolicy={interactionPolicy} onPress={() => {
|
|
177
177
|
void handlePick();
|
|
178
178
|
}}>
|
|
@@ -188,19 +188,19 @@ function UploaderInner({ themeId: _themeId, mode: _mode, testID, value = null, o
|
|
|
188
188
|
{canPreviewImage ? (<Button color="neutral" interactionPolicy={interactionPolicy} variant="soft" onPress={() => setPreviewOpen(true)}>
|
|
189
189
|
Preview
|
|
190
190
|
</Button>) : null}
|
|
191
|
-
</
|
|
192
|
-
</
|
|
193
|
-
</
|
|
191
|
+
</View>
|
|
192
|
+
</View>
|
|
193
|
+
</Field>
|
|
194
194
|
|
|
195
195
|
{canPreviewImage ? (<Dialog closeOnBackdrop interactionPolicy={interactionPolicy} onDismiss={() => setPreviewOpen(false)} title="Image preview" visible={previewOpen}>
|
|
196
|
-
<
|
|
196
|
+
<View gap="m">
|
|
197
197
|
<Image aspectRatio={aspectRatio} fit="contain" source={value}/>
|
|
198
|
-
<
|
|
198
|
+
<View direction="row" justify="flex-end">
|
|
199
199
|
<Button color="neutral" interactionPolicy={interactionPolicy} variant="soft" onPress={() => setPreviewOpen(false)}>
|
|
200
200
|
Close
|
|
201
201
|
</Button>
|
|
202
|
-
</
|
|
203
|
-
</
|
|
202
|
+
</View>
|
|
203
|
+
</View>
|
|
204
204
|
</Dialog>) : null}
|
|
205
205
|
</>);
|
|
206
206
|
}
|
|
@@ -209,19 +209,19 @@ function UploadPresentation({ asset, aspectRatio, type, }) {
|
|
|
209
209
|
if (type === 'image') {
|
|
210
210
|
return <Image aspectRatio={aspectRatio} source={asset}/>;
|
|
211
211
|
}
|
|
212
|
-
return (<
|
|
213
|
-
<
|
|
212
|
+
return (<View borderWidth={1} p="m" radius="m">
|
|
213
|
+
<View direction="row" gap="s">
|
|
214
214
|
<Icon name={resolveUploadIcon(type)} size={22}/>
|
|
215
|
-
<
|
|
215
|
+
<View gap="xs">
|
|
216
216
|
<Text variant="label" weight="semiBold">
|
|
217
217
|
{asset?.fileName ?? 'No file selected'}
|
|
218
218
|
</Text>
|
|
219
219
|
{asset?.contentType ? (<Text emphasis="muted" variant="caption">
|
|
220
220
|
{asset.contentType}
|
|
221
221
|
</Text>) : null}
|
|
222
|
-
</
|
|
223
|
-
</
|
|
224
|
-
</
|
|
222
|
+
</View>
|
|
223
|
+
</View>
|
|
224
|
+
</View>);
|
|
225
225
|
}
|
|
226
226
|
/*** Resolves the native picker default while allowing accept to remain the precise restriction. */
|
|
227
227
|
function resolveUploadAccept(type, accept) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Uploader.js","sourceRoot":"","sources":["../../../../../src/features/uploader/adapters/inbound/Uploader.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { UploadAsset, UploaderProps, UploadType } from '../../../../types/upload';\nimport { Button } from '../../../button/public';\nimport { Dialog } from '../../../dialog/public';\nimport { FormField } from '../../../form/public';\nimport { Icon } from '../../../icon/public';\nimport { Image } from '../../../image/public';\nimport { Box, Stack } from '../../../layout/public';\nimport { Progress } from '../../../progress/public';\nimport { Text } from '../../../typography/public';\nimport { validateUploadAsset } from '../../application/use-cases/validateUploadAsset';\nimport { createUploadPicker } from '../../composition/createUploadPicker';\n\n/*** Picks, validates, uploads, previews, and removes one generic file asset. */\nexport const Uploader = withZoraThemeScope(UploaderInner);\n\n/*** Owns the interactive state for the generic uploader inbound adapter. */\nfunction UploaderInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n value = null,\n onChange,\n onValueChange,\n onUploadRequest,\n onRemoveRequest,\n onValidationError,\n uploadState = 'idle',\n uploadProgress,\n label = 'File',\n description,\n helperText,\n errorText,\n type = 'file',\n accept,\n maxSizeBytes,\n required,\n disabled = false,\n readOnly = false,\n validatePicked,\n onUpload,\n onRemove,\n aspectRatio = 1,\n interactionPolicy,\n}: UploaderProps) {\n const passive = interactionPolicy === 'passive';\n const picker = React.useMemo(() => createUploadPicker(), []);\n const [internalError, setInternalError] = React.useState<string | undefined>();\n const [internalUploading, setUploading] = React.useState(false);\n const [internalRemoving, setRemoving] = React.useState(false);\n const uploading = internalUploading || uploadState === 'uploading';\n const removing = internalRemoving || uploadState === 'removing';\n const [progress, setProgress] = React.useState<number | null>(null);\n const [previewOpen, setPreviewOpen] = React.useState(false);\n const mountedRef = React.useRef<boolean | null>(null);\n const resolvedAccept = resolveUploadAccept(type, accept);\n const actionsDisabled = disabled || readOnly;\n const effectiveError = errorText ?? internalError;\n const notifyValue = React.useCallback(\n (next: UploadAsset | null) => {\n onChange?.(next);\n onValueChange?.(next);\n },\n [onChange, onValueChange],\n );\n\n React.useEffect(() => {\n mountedRef.current = true;\n\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const isMounted = React.useCallback(() => mountedRef.current === true, []);\n\n const setProgressSafe = React.useCallback(\n (next: number | null) => {\n if (!isMounted()) {\n return;\n }\n\n setProgress(clampProgress(next));\n },\n [isMounted],\n );\n\n const handlePick = React.useCallback(async () => {\n if (passive || actionsDisabled || uploading || removing) {\n return;\n }\n\n setInternalError(undefined);\n\n try {\n const picked = await picker.pickAsync({ accept: resolvedAccept, type });\n if (!picked || !isMounted()) {\n return;\n }\n\n const validationError = validateUploadAsset({\n accept: resolvedAccept,\n asset: picked,\n maxSizeBytes,\n validate: validatePicked,\n });\n if (validationError) {\n setInternalError(validationError);\n onValidationError?.({ message: validationError });\n return;\n }\n\n notifyValue(picked);\n onUploadRequest?.({ asset: picked });\n if (!onUpload) {\n return;\n }\n\n setUploading(true);\n setProgressSafe(0);\n\n try {\n const uploaded = await onUpload(picked, { setProgress: setProgressSafe });\n if (!isMounted()) {\n return;\n }\n\n notifyValue(uploaded);\n setUploading(false);\n setProgress(null);\n } catch (error) {\n if (!isMounted()) {\n return;\n }\n\n setInternalError(formatUnknownError(error));\n setUploading(false);\n setProgress(null);\n }\n } catch (error) {\n if (isMounted()) {\n setInternalError(formatUnknownError(error));\n }\n }\n }, [\n actionsDisabled,\n isMounted,\n maxSizeBytes,\n notifyValue,\n onUploadRequest,\n onValidationError,\n onUpload,\n passive,\n picker,\n removing,\n resolvedAccept,\n setProgressSafe,\n type,\n uploading,\n validatePicked,\n ]);\n\n const handleRemove = React.useCallback(async () => {\n if (passive || actionsDisabled || uploading || removing || !value) {\n return;\n }\n\n setInternalError(undefined);\n if (onRemoveRequest) {\n onRemoveRequest({ asset: value });\n return;\n }\n if (!onRemove) {\n notifyValue(null);\n return;\n }\n\n setRemoving(true);\n try {\n await onRemove(value);\n if (isMounted()) {\n notifyValue(null);\n setRemoving(false);\n }\n } catch (error) {\n if (isMounted()) {\n setInternalError(formatUnknownError(error));\n setRemoving(false);\n }\n }\n }, [\n actionsDisabled,\n isMounted,\n notifyValue,\n onRemove,\n onRemoveRequest,\n passive,\n removing,\n uploading,\n value,\n ]);\n\n const canPreviewImage = type === 'image' && resolveRenderableAssetUrl(value) !== null;\n\n return (\n <>\n <FormField\n description={description}\n disabled={disabled}\n errorText={effectiveError}\n helperText={helperText}\n interactionPolicy={interactionPolicy}\n invalid={Boolean(effectiveError)}\n label={label}\n readOnly={readOnly}\n required={required}\n testID={testID}\n >\n <Stack gap=\"m\">\n <UploadPresentation asset={value} aspectRatio={aspectRatio} type={type} />\n\n {resolvedAccept || maxSizeBytes ? (\n <Stack gap=\"xs\">\n {resolvedAccept ? (\n <Text emphasis=\"muted\" variant=\"caption\">\n Accepted: {resolvedAccept}\n </Text>\n ) : null}\n {maxSizeBytes ? (\n <Text emphasis=\"muted\" variant=\"caption\">\n Max size: {formatBytes(maxSizeBytes)}\n </Text>\n ) : null}\n </Stack>\n ) : null}\n\n {uploading ? (\n <Stack gap=\"xs\">\n <Text emphasis=\"muted\" variant=\"caption\">\n Uploading…\n </Text>\n {uploadProgress !== undefined || progress !== null ? (\n <Progress max={1} value={clampProgress(uploadProgress ?? progress) ?? 0} />\n ) : null}\n </Stack>\n ) : null}\n\n <Stack direction={{ base: 'column', md: 'row' }} gap=\"s\">\n <Button\n disabled={actionsDisabled || uploading || removing}\n interactionPolicy={interactionPolicy}\n onPress={() => {\n void handlePick();\n }}\n >\n {value ? 'Replace file' : 'Select file'}\n </Button>\n\n {value ? (\n <Button\n color=\"danger\"\n disabled={actionsDisabled || uploading || removing}\n interactionPolicy={interactionPolicy}\n loading={removing}\n variant=\"outline\"\n onPress={() => {\n void handleRemove();\n }}\n >\n Remove\n </Button>\n ) : null}\n\n {canPreviewImage ? (\n <Button\n color=\"neutral\"\n interactionPolicy={interactionPolicy}\n variant=\"soft\"\n onPress={() => setPreviewOpen(true)}\n >\n Preview\n </Button>\n ) : null}\n </Stack>\n </Stack>\n </FormField>\n\n {canPreviewImage ? (\n <Dialog\n closeOnBackdrop\n interactionPolicy={interactionPolicy}\n onDismiss={() => setPreviewOpen(false)}\n title=\"Image preview\"\n visible={previewOpen}\n >\n <Stack gap=\"m\">\n <Image aspectRatio={aspectRatio} fit=\"contain\" source={value} />\n <Stack direction=\"row\" justify=\"flex-end\">\n <Button\n color=\"neutral\"\n interactionPolicy={interactionPolicy}\n variant=\"soft\"\n onPress={() => setPreviewOpen(false)}\n >\n Close\n </Button>\n </Stack>\n </Stack>\n </Dialog>\n ) : null}\n </>\n );\n}\n\n/*** Renders image previews or generic file metadata without exposing picker-specific assets. */\nfunction UploadPresentation({\n asset,\n aspectRatio,\n type,\n}: {\n asset: UploadAsset | null;\n aspectRatio: number;\n type: UploadType;\n}) {\n if (type === 'image') {\n return <Image aspectRatio={aspectRatio} source={asset} />;\n }\n\n return (\n <Box borderWidth={1} p=\"m\" radius=\"m\">\n <Stack direction=\"row\" gap=\"s\">\n <Icon name={resolveUploadIcon(type)} size={22} />\n <Stack gap=\"xs\">\n <Text variant=\"label\" weight=\"semiBold\">\n {asset?.fileName ?? 'No file selected'}\n </Text>\n {asset?.contentType ? (\n <Text emphasis=\"muted\" variant=\"caption\">\n {asset.contentType}\n </Text>\n ) : null}\n </Stack>\n </Stack>\n </Box>\n );\n}\n\n/*** Resolves the native picker default while allowing accept to remain the precise restriction. */\nfunction resolveUploadAccept(type: UploadType, accept: string | undefined): string | undefined {\n if (accept) {\n return accept;\n }\n\n if (type === 'image') {\n return 'image/*';\n }\n\n if (type === 'video') {\n return 'video/*';\n }\n\n return undefined;\n}\n\n/*** Resolves an upload asset URL when it can be rendered directly. */\nfunction resolveRenderableAssetUrl(asset: UploadAsset | null): string | null {\n if (!asset) {\n return null;\n }\n\n switch (asset.kind) {\n case 'local':\n return asset.uri;\n case 'url':\n return asset.url;\n case 'storage':\n return asset.publicUrl ?? null;\n }\n}\n\n/*** Resolves a generic icon for the selected upload mode. */\nfunction resolveUploadIcon(\n type: UploadType,\n): 'attach-outline' | 'document-text-outline' | 'videocam-outline' {\n switch (type) {\n case 'video':\n return 'videocam-outline';\n case 'document':\n return 'document-text-outline';\n case 'file':\n case 'image':\n return 'attach-outline';\n }\n}\n\n/*** Clamps progress callbacks into the normalized 0..1 range. */\nfunction clampProgress(value: number | null): number | null {\n if (value === null || !Number.isFinite(value)) {\n return null;\n }\n\n return Math.max(0, Math.min(1, value));\n}\n\n/*** Converts unknown picker/upload failures into user-facing text. */\nfunction formatUnknownError(error: unknown): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n\n if (typeof error === 'string' && error.trim().length > 0) {\n return error;\n }\n\n return 'Something went wrong.';\n}\n\n/*** Formats an upload byte limit for concise helper text. */\nfunction formatBytes(value: number): string {\n if (!Number.isFinite(value) || value <= 0) {\n return '0 B';\n }\n\n const units = ['B', 'KB', 'MB', 'GB'] as const;\n let size = value;\n let unitIndex = 0;\n\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex += 1;\n }\n\n const unit = units.at(unitIndex) ?? 'B';\n const rounded = unitIndex === 0 ? Math.round(size) : Math.round(size * 10) / 10;\n return `${rounded} ${unit}`;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Uploader.js","sourceRoot":"","sources":["../../../../../src/features/uploader/adapters/inbound/Uploader.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { UploadAsset, UploaderProps, UploadType } from '../../../../types/upload';\nimport { Button } from '../../../button/public';\nimport { Dialog } from '../../../dialog/public';\nimport { Field } from '../../../form/public';\nimport { Icon } from '../../../icon/public';\nimport { Image } from '../../../image/public';\nimport { View } from '../../../layout/public';\nimport { Progress } from '../../../progress/public';\nimport { Text } from '../../../typography/public';\nimport { validateUploadAsset } from '../../application/use-cases/validateUploadAsset';\nimport { createUploadPicker } from '../../composition/createUploadPicker';\n\n/*** Picks, validates, uploads, previews, and removes one generic file asset. */\nexport const Uploader = withZoraThemeScope(UploaderInner);\n\n/*** Owns the interactive state for the generic uploader inbound adapter. */\nfunction UploaderInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n value = null,\n onChange,\n onValueChange,\n onUploadRequest,\n onRemoveRequest,\n onValidationError,\n uploadState = 'idle',\n uploadProgress,\n label = 'File',\n description,\n helperText,\n errorText,\n type = 'file',\n accept,\n maxSizeBytes,\n required,\n disabled = false,\n readOnly = false,\n validatePicked,\n onUpload,\n onRemove,\n aspectRatio = 1,\n interactionPolicy,\n}: UploaderProps) {\n const passive = interactionPolicy === 'passive';\n const picker = React.useMemo(() => createUploadPicker(), []);\n const [internalError, setInternalError] = React.useState<string | undefined>();\n const [internalUploading, setUploading] = React.useState(false);\n const [internalRemoving, setRemoving] = React.useState(false);\n const uploading = internalUploading || uploadState === 'uploading';\n const removing = internalRemoving || uploadState === 'removing';\n const [progress, setProgress] = React.useState<number | null>(null);\n const [previewOpen, setPreviewOpen] = React.useState(false);\n const mountedRef = React.useRef<boolean | null>(null);\n const resolvedAccept = resolveUploadAccept(type, accept);\n const actionsDisabled = disabled || readOnly;\n const effectiveError = errorText ?? internalError;\n const notifyValue = React.useCallback(\n (next: UploadAsset | null) => {\n onChange?.(next);\n onValueChange?.(next);\n },\n [onChange, onValueChange],\n );\n\n React.useEffect(() => {\n mountedRef.current = true;\n\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const isMounted = React.useCallback(() => mountedRef.current === true, []);\n\n const setProgressSafe = React.useCallback(\n (next: number | null) => {\n if (!isMounted()) {\n return;\n }\n\n setProgress(clampProgress(next));\n },\n [isMounted],\n );\n\n const handlePick = React.useCallback(async () => {\n if (passive || actionsDisabled || uploading || removing) {\n return;\n }\n\n setInternalError(undefined);\n\n try {\n const picked = await picker.pickAsync({ accept: resolvedAccept, type });\n if (!picked || !isMounted()) {\n return;\n }\n\n const validationError = validateUploadAsset({\n accept: resolvedAccept,\n asset: picked,\n maxSizeBytes,\n validate: validatePicked,\n });\n if (validationError) {\n setInternalError(validationError);\n onValidationError?.({ message: validationError });\n return;\n }\n\n notifyValue(picked);\n onUploadRequest?.({ asset: picked });\n if (!onUpload) {\n return;\n }\n\n setUploading(true);\n setProgressSafe(0);\n\n try {\n const uploaded = await onUpload(picked, { setProgress: setProgressSafe });\n if (!isMounted()) {\n return;\n }\n\n notifyValue(uploaded);\n setUploading(false);\n setProgress(null);\n } catch (error) {\n if (!isMounted()) {\n return;\n }\n\n setInternalError(formatUnknownError(error));\n setUploading(false);\n setProgress(null);\n }\n } catch (error) {\n if (isMounted()) {\n setInternalError(formatUnknownError(error));\n }\n }\n }, [\n actionsDisabled,\n isMounted,\n maxSizeBytes,\n notifyValue,\n onUploadRequest,\n onValidationError,\n onUpload,\n passive,\n picker,\n removing,\n resolvedAccept,\n setProgressSafe,\n type,\n uploading,\n validatePicked,\n ]);\n\n const handleRemove = React.useCallback(async () => {\n if (passive || actionsDisabled || uploading || removing || !value) {\n return;\n }\n\n setInternalError(undefined);\n if (onRemoveRequest) {\n onRemoveRequest({ asset: value });\n return;\n }\n if (!onRemove) {\n notifyValue(null);\n return;\n }\n\n setRemoving(true);\n try {\n await onRemove(value);\n if (isMounted()) {\n notifyValue(null);\n setRemoving(false);\n }\n } catch (error) {\n if (isMounted()) {\n setInternalError(formatUnknownError(error));\n setRemoving(false);\n }\n }\n }, [\n actionsDisabled,\n isMounted,\n notifyValue,\n onRemove,\n onRemoveRequest,\n passive,\n removing,\n uploading,\n value,\n ]);\n\n const canPreviewImage = type === 'image' && resolveRenderableAssetUrl(value) !== null;\n\n return (\n <>\n <Field\n description={description}\n disabled={disabled}\n errorText={effectiveError}\n helperText={helperText}\n interactionPolicy={interactionPolicy}\n invalid={Boolean(effectiveError)}\n label={label}\n readOnly={readOnly}\n required={required}\n testID={testID}\n >\n <View gap=\"m\">\n <UploadPresentation asset={value} aspectRatio={aspectRatio} type={type} />\n\n {resolvedAccept || maxSizeBytes ? (\n <View gap=\"xs\">\n {resolvedAccept ? (\n <Text emphasis=\"muted\" variant=\"caption\">\n Accepted: {resolvedAccept}\n </Text>\n ) : null}\n {maxSizeBytes ? (\n <Text emphasis=\"muted\" variant=\"caption\">\n Max size: {formatBytes(maxSizeBytes)}\n </Text>\n ) : null}\n </View>\n ) : null}\n\n {uploading ? (\n <View gap=\"xs\">\n <Text emphasis=\"muted\" variant=\"caption\">\n Uploading…\n </Text>\n {uploadProgress !== undefined || progress !== null ? (\n <Progress max={1} value={clampProgress(uploadProgress ?? progress) ?? 0} />\n ) : null}\n </View>\n ) : null}\n\n <View direction={{ base: 'column', md: 'row' }} gap=\"s\">\n <Button\n disabled={actionsDisabled || uploading || removing}\n interactionPolicy={interactionPolicy}\n onPress={() => {\n void handlePick();\n }}\n >\n {value ? 'Replace file' : 'Select file'}\n </Button>\n\n {value ? (\n <Button\n color=\"danger\"\n disabled={actionsDisabled || uploading || removing}\n interactionPolicy={interactionPolicy}\n loading={removing}\n variant=\"outline\"\n onPress={() => {\n void handleRemove();\n }}\n >\n Remove\n </Button>\n ) : null}\n\n {canPreviewImage ? (\n <Button\n color=\"neutral\"\n interactionPolicy={interactionPolicy}\n variant=\"soft\"\n onPress={() => setPreviewOpen(true)}\n >\n Preview\n </Button>\n ) : null}\n </View>\n </View>\n </Field>\n\n {canPreviewImage ? (\n <Dialog\n closeOnBackdrop\n interactionPolicy={interactionPolicy}\n onDismiss={() => setPreviewOpen(false)}\n title=\"Image preview\"\n visible={previewOpen}\n >\n <View gap=\"m\">\n <Image aspectRatio={aspectRatio} fit=\"contain\" source={value} />\n <View direction=\"row\" justify=\"flex-end\">\n <Button\n color=\"neutral\"\n interactionPolicy={interactionPolicy}\n variant=\"soft\"\n onPress={() => setPreviewOpen(false)}\n >\n Close\n </Button>\n </View>\n </View>\n </Dialog>\n ) : null}\n </>\n );\n}\n\n/*** Renders image previews or generic file metadata without exposing picker-specific assets. */\nfunction UploadPresentation({\n asset,\n aspectRatio,\n type,\n}: {\n asset: UploadAsset | null;\n aspectRatio: number;\n type: UploadType;\n}) {\n if (type === 'image') {\n return <Image aspectRatio={aspectRatio} source={asset} />;\n }\n\n return (\n <View borderWidth={1} p=\"m\" radius=\"m\">\n <View direction=\"row\" gap=\"s\">\n <Icon name={resolveUploadIcon(type)} size={22} />\n <View gap=\"xs\">\n <Text variant=\"label\" weight=\"semiBold\">\n {asset?.fileName ?? 'No file selected'}\n </Text>\n {asset?.contentType ? (\n <Text emphasis=\"muted\" variant=\"caption\">\n {asset.contentType}\n </Text>\n ) : null}\n </View>\n </View>\n </View>\n );\n}\n\n/*** Resolves the native picker default while allowing accept to remain the precise restriction. */\nfunction resolveUploadAccept(type: UploadType, accept: string | undefined): string | undefined {\n if (accept) {\n return accept;\n }\n\n if (type === 'image') {\n return 'image/*';\n }\n\n if (type === 'video') {\n return 'video/*';\n }\n\n return undefined;\n}\n\n/*** Resolves an upload asset URL when it can be rendered directly. */\nfunction resolveRenderableAssetUrl(asset: UploadAsset | null): string | null {\n if (!asset) {\n return null;\n }\n\n switch (asset.kind) {\n case 'local':\n return asset.uri;\n case 'url':\n return asset.url;\n case 'storage':\n return asset.publicUrl ?? null;\n }\n}\n\n/*** Resolves a generic icon for the selected upload mode. */\nfunction resolveUploadIcon(\n type: UploadType,\n): 'attach-outline' | 'document-text-outline' | 'videocam-outline' {\n switch (type) {\n case 'video':\n return 'videocam-outline';\n case 'document':\n return 'document-text-outline';\n case 'file':\n case 'image':\n return 'attach-outline';\n }\n}\n\n/*** Clamps progress callbacks into the normalized 0..1 range. */\nfunction clampProgress(value: number | null): number | null {\n if (value === null || !Number.isFinite(value)) {\n return null;\n }\n\n return Math.max(0, Math.min(1, value));\n}\n\n/*** Converts unknown picker/upload failures into user-facing text. */\nfunction formatUnknownError(error: unknown): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n\n if (typeof error === 'string' && error.trim().length > 0) {\n return error;\n }\n\n return 'Something went wrong.';\n}\n\n/*** Formats an upload byte limit for concise helper text. */\nfunction formatBytes(value: number): string {\n if (!Number.isFinite(value) || value <= 0) {\n return '0 B';\n }\n\n const units = ['B', 'KB', 'MB', 'GB'] as const;\n let size = value;\n let unitIndex = 0;\n\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex += 1;\n }\n\n const unit = units.at(unitIndex) ?? 'B';\n const rounded = unitIndex === 0 ? Math.round(size) : Math.round(size * 10) / 10;\n return `${rounded} ${unit}`;\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -35,14 +35,16 @@ export type { ChipProps } from './features/chip/public';
|
|
|
35
35
|
export type { ChipGroupItem, ChipGroupProps } from './features/chip/public';
|
|
36
36
|
export { Chip } from './features/chip/public';
|
|
37
37
|
export { ChipGroup } from './features/chip/public';
|
|
38
|
+
export type { ContentRailControlPressEvent, ContentRailDirection, ContentRailItemSize, ContentRailMotion, ContentRailProps, ContentRailSpacing, ContentRailVisibleRangeChangeEvent, } from './features/content-rail/public';
|
|
39
|
+
export { ContentRail } from './features/content-rail/public';
|
|
38
40
|
export type { DataTableCellContext, DataTableColumn, DataTableColumnAlign, DataTableDensity, DataTableProps, DataTableRowAction, DataTableSortDirection, DataTableSortState, } from './features/data-table/public';
|
|
39
41
|
export { DataTable } from './features/data-table/public';
|
|
40
42
|
export { DatePicker, type DatePickerProps, type DatePickerValue, } from './features/date-picker/public';
|
|
41
43
|
export { Dialog, type DialogProps } from './features/dialog/public';
|
|
42
44
|
export { EmptyState, type EmptyStateAction, type EmptyStateProps, } from './features/empty-state/public';
|
|
43
45
|
export { Checkbox, CheckboxGroup, type CheckboxGroupOption, type CheckboxGroupProps, type CheckboxProps, } from './features/form/checkbox/public';
|
|
44
|
-
export type { FormActionsProps, FormErrorProps, FormErrors, FormFieldConfig, FormFieldInputType,
|
|
45
|
-
export { Form, FormActions, FormError,
|
|
46
|
+
export type { FieldProps, FormActionsProps, FormErrorProps, FormErrors, FormFieldConfig, FormFieldInputType, FormProps, FormValidationErrors, FormValidationResult, FormValues, UseFormControllerOptions, UseFormControllerResult, ValidationRule, } from './features/form/public';
|
|
47
|
+
export { Field, Form, FormActions, FormError, hasRequiredRule, useFormController, validateField, validateFields, validateValue, } from './features/form/public';
|
|
46
48
|
export { Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, } from './features/form/radio/public';
|
|
47
49
|
export { SearchInput, type SearchInputProps } from './features/form/search-input/public';
|
|
48
50
|
export { Select, type SelectOption, type SelectProps } from './features/form/select/public';
|
|
@@ -55,14 +57,16 @@ export { Icon } from './features/icon/public';
|
|
|
55
57
|
export type { ImageFit, ImageProps, SurfaceImageSource } from './features/image/public';
|
|
56
58
|
export { Image } from './features/image/public';
|
|
57
59
|
export { KeyboardAvoidingView, type KeyboardAvoidingViewBehavior, type KeyboardAvoidingViewProps, } from './features/keyboard-avoiding-view/public';
|
|
58
|
-
export type {
|
|
59
|
-
export
|
|
60
|
-
export { Box, Container, Divider, Grid, Stack } from './features/layout/public';
|
|
61
|
-
export { ContentRail } from './features/layout/public';
|
|
60
|
+
export type { AppShellProps, DividerProps, GridProps, ScreenProps, ScreenSectionProps, ScrollViewProps, ViewProps, } from './features/layout/public';
|
|
61
|
+
export { AppShell, Divider, Grid, Screen, ScreenSection, ScrollView, View, } from './features/layout/public';
|
|
62
62
|
export type { ManifestListProps, ManifestListSection, ManifestSectionListProps, } from './features/list/public';
|
|
63
|
+
export type { ListChildrenProps, ListItemProps, ListItemsProps, ListItemVariant, ListProps, ListSectionProps, } from './features/list/public';
|
|
63
64
|
export { FlatList, SectionList } from './features/list/public';
|
|
65
|
+
export { List, ListItem, ListSection } from './features/list/public';
|
|
64
66
|
export { MissingElement, type MissingElementProps } from './features/missing-element/public';
|
|
65
67
|
export { Pagination, type PaginationProps } from './features/pagination/public';
|
|
68
|
+
export type { PaletteItemProps } from './features/palette-item/public';
|
|
69
|
+
export { PaletteItem } from './features/palette-item/public';
|
|
66
70
|
export { PopoverMenu, type PopoverMenuAction, type PopoverMenuActionIntent, type PopoverMenuProps, } from './features/popover-menu/public';
|
|
67
71
|
export { Progress, type ProgressProps, ProgressRing, type ProgressRingProps, } from './features/progress/public';
|
|
68
72
|
export { Rating, type RatingProps } from './features/rating/public';
|
|
@@ -80,22 +84,8 @@ export { Heading } from './features/typography/public';
|
|
|
80
84
|
export { Text } from './features/typography/public';
|
|
81
85
|
export type { UploadAsset, UploadAssetBase, UploaderProps, UploadProgressContext, UploadType, ValidateUploadAssetInput, } from './features/uploader/public';
|
|
82
86
|
export { Uploader, validateUploadAsset } from './features/uploader/public';
|
|
83
|
-
export type { CenterProps, InlineProps, ShowProps, SpacerProps } from './foundation';
|
|
84
|
-
export { Center, Inline, Show, Spacer } from './foundation';
|
|
85
87
|
export type { ZoraColor, ZoraEmphasis, ZoraPaletteColor, ZoraStatusColor, } from './internal/colorModel';
|
|
86
88
|
export { ZORA_COLORS, ZORA_EMPHASES, ZORA_PALETTE_COLORS, ZORA_STATUS_COLORS, } from './internal/colorModel';
|
|
87
|
-
export type { AppShellProps } from './layout/app-shell';
|
|
88
|
-
export { AppShell } from './layout/app-shell';
|
|
89
|
-
export type { ScreenProps } from './layout/screen';
|
|
90
|
-
export { Screen } from './layout/screen';
|
|
91
|
-
export type { ScreenSectionProps } from './layout/screen-section';
|
|
92
|
-
export { ScreenSection } from './layout/screen-section';
|
|
93
|
-
export type { SettingsLayoutProps } from './layout/settings-layout';
|
|
94
|
-
export { SettingsLayout } from './layout/settings-layout';
|
|
95
|
-
export type { SidebarLayoutProps } from './layout/sidebar-layout';
|
|
96
|
-
export { SidebarLayout } from './layout/sidebar-layout';
|
|
97
|
-
export type { TopbarLayoutProps } from './layout/topbar-layout';
|
|
98
|
-
export { TopbarLayout } from './layout/topbar-layout';
|
|
99
89
|
export type { ZoraBindableComponentType, ZoraComponentBlueprint, ZoraComponentCategory, ZoraComponentEventMeta, ZoraComponentEventPayloadFieldMeta, ZoraComponentEventPayloadFieldType, ZoraComponentEventPayloadKind, ZoraComponentI18nMeta, ZoraComponentManifestPolicy, ZoraComponentMeta, ZoraComponentMetaRegistry, ZoraComponentPropArrayItemSchema, ZoraComponentPropAuthoring, ZoraComponentPropSchema, ZoraComponentPropType, ZoraComponentPropValue, ZoraComponentSlotMeta, ZoraThemeRecipeBooleanFieldMeta, ZoraThemeRecipeChoiceFieldMeta, ZoraThemeRecipeFieldMeta, ZoraThemeRecipeKind, ZoraThemeRecipeMeta, ZoraThemeRecipeMetaRegistry, ZoraThemeRecipeTokenFieldMeta, ZoraThemeTokenFamily, } from './metadata';
|
|
100
90
|
export { ZORA_BINDABLE_COMPONENT_META, ZORA_COMPONENT_META, ZORA_THEME_RECIPE_META, ZORA_THEME_TOKEN_FAMILIES, } from './metadata';
|
|
101
91
|
export type { ChatListAvatar, ChatListItemProps } from './patterns/chat-list-item';
|
|
@@ -108,8 +98,6 @@ export type { FilterBarProps } from './patterns/filter-bar';
|
|
|
108
98
|
export { FilterBar } from './patterns/filter-bar';
|
|
109
99
|
export type { InspectorFieldProps } from './patterns/inspector-field';
|
|
110
100
|
export { InspectorField } from './patterns/inspector-field';
|
|
111
|
-
export type { ListChildrenProps, ListItemsProps, ListProps, ListRowProps, ListRowVariant, } from './patterns/list';
|
|
112
|
-
export { List, ListRow, ListSection } from './patterns/list';
|
|
113
101
|
export type { MessageBubbleAuthor, MessageBubbleAvatar, MessageBubbleDirection, MessageBubbleProps, MessageBubbleStatus, } from './patterns/message-bubble';
|
|
114
102
|
export { MessageBubble } from './patterns/message-bubble';
|
|
115
103
|
export type { NoticeProps } from './patterns/notice';
|
|
@@ -124,14 +112,10 @@ export type { SectionHeaderProps } from './patterns/section-header';
|
|
|
124
112
|
export { SectionHeader } from './patterns/section-header';
|
|
125
113
|
export type { SelectableItemProps, SelectableItemState, SelectionMode, SelectionProviderProps, SelectionTrigger, UseSelectionResult, } from './patterns/selection';
|
|
126
114
|
export { SelectableItem, SelectionProvider, useSelection } from './patterns/selection';
|
|
127
|
-
export type { SettingsRowProps } from './patterns/settings-row';
|
|
128
|
-
export { SettingsRow } from './patterns/settings-row';
|
|
129
115
|
export type { SwitchFieldProps } from './patterns/switch-field';
|
|
130
116
|
export { SwitchField } from './patterns/switch-field';
|
|
131
117
|
export type { ThemeComposerProps } from './patterns/theme-composer';
|
|
132
118
|
export { ThemeComposer } from './patterns/theme-composer';
|
|
133
|
-
export type { PaletteItemProps, TileGridProps } from './patterns/tile-grid';
|
|
134
|
-
export { PaletteItem, TileGrid } from './patterns/tile-grid';
|
|
135
119
|
export type { TimelineItem, TimelineProps } from './patterns/timeline';
|
|
136
120
|
export { Timeline } from './patterns/timeline';
|
|
137
121
|
export type { TreeItemNode, TreeItemRenderProps, TreeViewProps } from './patterns/tree-view';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,SAAS,EACT,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,OAAO,EACP,wBAAwB,EACxB,yBAAyB,EACzB,UAAU,EACV,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|