@ankhorage/zora 7.0.0 → 8.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 +6 -0
- package/README.md +1 -1
- package/dist/components/app-bar/AppBar.d.ts.map +1 -1
- package/dist/components/app-bar/AppBar.js +5 -4
- package/dist/components/app-bar/AppBar.js.map +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.js +3 -3
- package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/checkbox/CheckboxGroup.js +2 -2
- package/dist/components/checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/date-picker/DatePicker.js +3 -3
- package/dist/components/date-picker/DatePicker.js.map +1 -1
- package/dist/components/form/Form.js +1 -1
- package/dist/components/form/Form.js.map +1 -1
- package/dist/components/form/FormActions.js +2 -2
- package/dist/components/form/FormActions.js.map +1 -1
- package/dist/components/form/FormError.js +2 -2
- package/dist/components/form/FormError.js.map +1 -1
- package/dist/components/form/FormField.js +2 -2
- package/dist/components/form/FormField.js.map +1 -1
- package/dist/components/gradient/Gradient.js +1 -1
- package/dist/components/gradient/Gradient.js.map +1 -1
- package/dist/components/gradient/types.d.ts +1 -1
- package/dist/components/gradient/types.d.ts.map +1 -1
- package/dist/components/gradient/types.js.map +1 -1
- package/dist/components/input/Input.js +1 -1
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/menu/Menu.js +2 -2
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/modal/Modal.js +3 -3
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/pagination/Pagination.js +3 -3
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/progress/Progress.js +1 -1
- package/dist/components/progress/Progress.js.map +1 -1
- package/dist/components/progress/ProgressRing.js +2 -2
- package/dist/components/progress/ProgressRing.js.map +1 -1
- package/dist/components/radio/RadioGroup.js +2 -2
- package/dist/components/radio/RadioGroup.js.map +1 -1
- package/dist/components/radio/RadioOptionControl.js +2 -2
- package/dist/components/radio/RadioOptionControl.js.map +1 -1
- package/dist/components/radio/resolveRadioGroupThemeRecipe.d.ts +1 -1
- package/dist/components/radio/types.d.ts +1 -1
- package/dist/components/radio/types.d.ts.map +1 -1
- package/dist/components/radio/types.js.map +1 -1
- package/dist/components/rating/Rating.js +1 -1
- package/dist/components/rating/Rating.js.map +1 -1
- package/dist/components/select/Select.js +1 -1
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/skeleton/Skeleton.js +1 -1
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/skeleton/SkeletonCard.js +3 -3
- package/dist/components/skeleton/SkeletonCard.js.map +1 -1
- package/dist/components/skeleton/SkeletonText.js +1 -1
- package/dist/components/skeleton/SkeletonText.js.map +1 -1
- package/dist/components/skeleton/types.d.ts +1 -1
- package/dist/components/skeleton/types.d.ts.map +1 -1
- package/dist/components/skeleton/types.js.map +1 -1
- package/dist/components/tabs/Tabs.js +3 -3
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/time-picker/TimePicker.js +3 -3
- package/dist/components/time-picker/TimePicker.js.map +1 -1
- package/dist/components/toolbar/Toolbar.js +2 -2
- package/dist/components/toolbar/Toolbar.js.map +1 -1
- package/dist/components/toolbar/ToolbarAction.js +1 -1
- package/dist/components/toolbar/ToolbarAction.js.map +1 -1
- package/dist/constants.d.ts +23 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/corePluginMetadata.js +10 -1
- package/dist/corePluginMetadata.js.map +1 -1
- package/dist/features/avatar/adapters/inbound/Avatar.d.ts +7 -0
- package/dist/features/avatar/adapters/inbound/Avatar.d.ts.map +1 -0
- package/dist/features/avatar/adapters/inbound/Avatar.js +101 -0
- package/dist/features/avatar/adapters/inbound/Avatar.js.map +1 -0
- package/dist/features/avatar/adapters/inbound/AvatarGroup.d.ts +7 -0
- package/dist/features/avatar/adapters/inbound/AvatarGroup.d.ts.map +1 -0
- package/dist/features/avatar/adapters/inbound/AvatarGroup.js +29 -0
- package/dist/features/avatar/adapters/inbound/AvatarGroup.js.map +1 -0
- package/dist/features/avatar/avatarGroupMeta.d.ts +68 -0
- package/dist/features/avatar/avatarGroupMeta.d.ts.map +1 -0
- package/dist/features/avatar/avatarGroupMeta.js +24 -0
- package/dist/features/avatar/avatarGroupMeta.js.map +1 -0
- package/dist/features/avatar/avatarMeta.d.ts +41 -0
- package/dist/features/avatar/avatarMeta.d.ts.map +1 -0
- package/dist/features/avatar/avatarMeta.js +41 -0
- package/dist/features/avatar/avatarMeta.js.map +1 -0
- package/dist/features/avatar/public.d.ts +6 -0
- package/dist/features/avatar/public.d.ts.map +1 -0
- package/dist/features/avatar/public.js +4 -0
- package/dist/features/avatar/public.js.map +1 -0
- package/dist/features/avatar/utils/resolveAvatarInitials.d.ts.map +1 -0
- package/dist/features/avatar/utils/resolveAvatarInitials.js.map +1 -0
- package/dist/features/badge/adapters/inbound/Badge.d.ts +7 -0
- package/dist/features/badge/adapters/inbound/Badge.d.ts.map +1 -0
- package/dist/features/badge/adapters/inbound/Badge.js +13 -0
- package/dist/features/badge/adapters/inbound/Badge.js.map +1 -0
- package/dist/features/badge/badgeMeta.d.ts +28 -0
- package/dist/features/badge/badgeMeta.d.ts.map +1 -0
- package/dist/features/badge/badgeMeta.js +28 -0
- package/dist/features/badge/badgeMeta.js.map +1 -0
- package/dist/features/badge/public.d.ts +3 -0
- package/dist/features/badge/public.d.ts.map +1 -0
- package/dist/features/badge/public.js +2 -0
- package/dist/features/badge/public.js.map +1 -0
- package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.d.ts +5 -0
- package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.d.ts.map +1 -0
- package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js +63 -0
- package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js.map +1 -0
- package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +60 -0
- package/dist/features/bottom-sheet/bottomSheetMeta.d.ts.map +1 -0
- package/dist/features/bottom-sheet/bottomSheetMeta.js +31 -0
- package/dist/features/bottom-sheet/bottomSheetMeta.js.map +1 -0
- package/dist/features/bottom-sheet/public.d.ts +2 -0
- package/dist/features/bottom-sheet/public.d.ts.map +1 -1
- package/dist/features/bottom-sheet/public.js +1 -0
- package/dist/features/bottom-sheet/public.js.map +1 -1
- package/dist/features/button/adapters/inbound/Button.d.ts +15 -0
- package/dist/features/button/adapters/inbound/Button.d.ts.map +1 -0
- package/dist/features/button/adapters/inbound/Button.js +23 -0
- package/dist/features/button/adapters/inbound/Button.js.map +1 -0
- package/dist/features/button/adapters/inbound/ButtonGroup.d.ts +7 -0
- package/dist/features/button/adapters/inbound/ButtonGroup.d.ts.map +1 -0
- package/dist/features/button/adapters/inbound/ButtonGroup.js +76 -0
- package/dist/features/button/adapters/inbound/ButtonGroup.js.map +1 -0
- package/dist/features/button/adapters/inbound/IconButton.d.ts +7 -0
- package/dist/features/button/adapters/inbound/IconButton.d.ts.map +1 -0
- package/dist/features/button/adapters/inbound/IconButton.js +13 -0
- package/dist/features/button/adapters/inbound/IconButton.js.map +1 -0
- package/dist/features/button/buttonGroupMeta.d.ts +44 -0
- package/dist/features/button/buttonGroupMeta.d.ts.map +1 -0
- package/dist/features/button/buttonGroupMeta.js +44 -0
- package/dist/features/button/buttonGroupMeta.js.map +1 -0
- package/dist/features/button/buttonMeta.d.ts +73 -0
- package/dist/features/button/buttonMeta.d.ts.map +1 -0
- package/dist/features/button/buttonMeta.js +50 -0
- package/dist/features/button/buttonMeta.js.map +1 -0
- package/dist/features/button/iconButtonMeta.d.ts +47 -0
- package/dist/features/button/iconButtonMeta.d.ts.map +1 -0
- package/dist/features/button/iconButtonMeta.js +47 -0
- package/dist/features/button/iconButtonMeta.js.map +1 -0
- package/dist/features/button/public.d.ts +7 -0
- package/dist/features/button/public.d.ts.map +1 -0
- package/dist/features/button/public.js +4 -0
- package/dist/features/button/public.js.map +1 -0
- package/dist/features/button/utils/resolveButtonThemeRecipe.d.ts +9 -0
- package/dist/features/button/utils/resolveButtonThemeRecipe.d.ts.map +1 -0
- package/dist/features/button/utils/resolveButtonThemeRecipe.js +30 -0
- package/dist/features/button/utils/resolveButtonThemeRecipe.js.map +1 -0
- package/dist/features/button/utils/themeRecipeMeta.d.ts.map +1 -0
- package/dist/features/button/utils/themeRecipeMeta.js +28 -0
- package/dist/features/button/utils/themeRecipeMeta.js.map +1 -0
- package/dist/features/card/adapters/inbound/Card.d.ts +15 -0
- package/dist/features/card/adapters/inbound/Card.d.ts.map +1 -0
- package/dist/features/card/adapters/inbound/Card.js +53 -0
- package/dist/features/card/adapters/inbound/Card.js.map +1 -0
- package/dist/features/card/adapters/inbound/MediaCard.d.ts +7 -0
- package/dist/features/card/adapters/inbound/MediaCard.d.ts.map +1 -0
- package/dist/features/card/adapters/inbound/MediaCard.js +67 -0
- package/dist/features/card/adapters/inbound/MediaCard.js.map +1 -0
- package/dist/features/card/adapters/inbound/MetricCard.d.ts +7 -0
- package/dist/features/card/adapters/inbound/MetricCard.d.ts.map +1 -0
- package/dist/features/card/adapters/inbound/MetricCard.js +47 -0
- package/dist/features/card/adapters/inbound/MetricCard.js.map +1 -0
- package/dist/features/card/adapters/inbound/PostCard.d.ts +9 -0
- package/dist/features/card/adapters/inbound/PostCard.d.ts.map +1 -0
- package/dist/features/card/adapters/inbound/PostCard.js +139 -0
- package/dist/features/card/adapters/inbound/PostCard.js.map +1 -0
- package/dist/features/card/adapters/inbound/ProductCard.d.ts +5 -0
- package/dist/features/card/adapters/inbound/ProductCard.d.ts.map +1 -0
- package/dist/features/card/adapters/inbound/ProductCard.js +71 -0
- package/dist/features/card/adapters/inbound/ProductCard.js.map +1 -0
- package/dist/features/card/cardMeta.d.ts +87 -0
- package/dist/features/card/cardMeta.d.ts.map +1 -0
- package/dist/features/card/cardMeta.js +56 -0
- package/dist/features/card/cardMeta.js.map +1 -0
- package/dist/features/card/mediaCardMeta.d.ts +50 -0
- package/dist/features/card/mediaCardMeta.d.ts.map +1 -0
- package/dist/features/card/mediaCardMeta.js +51 -0
- package/dist/features/card/mediaCardMeta.js.map +1 -0
- package/dist/features/card/metricCardMeta.d.ts +46 -0
- package/dist/features/card/metricCardMeta.d.ts.map +1 -0
- package/dist/features/card/metricCardMeta.js +46 -0
- package/dist/features/card/metricCardMeta.js.map +1 -0
- package/dist/features/card/postCardMeta.d.ts +64 -0
- package/dist/features/card/postCardMeta.d.ts.map +1 -0
- package/dist/features/card/postCardMeta.js +66 -0
- package/dist/features/card/postCardMeta.js.map +1 -0
- package/dist/features/card/productCardMeta.d.ts +110 -0
- package/dist/features/card/productCardMeta.d.ts.map +1 -0
- package/dist/features/card/productCardMeta.js +110 -0
- package/dist/features/card/productCardMeta.js.map +1 -0
- package/dist/features/card/public.d.ts +11 -0
- package/dist/features/card/public.d.ts.map +1 -0
- package/dist/features/card/public.js +6 -0
- package/dist/features/card/public.js.map +1 -0
- package/dist/features/card/utils/resolveCardThemeRecipe.d.ts +15 -0
- package/dist/features/card/utils/resolveCardThemeRecipe.d.ts.map +1 -0
- package/dist/features/card/utils/resolveCardThemeRecipe.js.map +1 -0
- package/dist/features/card/utils/themeRecipeMeta.d.ts.map +1 -0
- package/dist/features/card/utils/themeRecipeMeta.js.map +1 -0
- package/dist/features/chip/adapters/inbound/Chip.d.ts +7 -0
- package/dist/features/chip/adapters/inbound/Chip.d.ts.map +1 -0
- package/dist/features/chip/adapters/inbound/Chip.js +57 -0
- package/dist/features/chip/adapters/inbound/Chip.js.map +1 -0
- package/dist/features/chip/adapters/inbound/ChipGroup.d.ts +7 -0
- package/dist/features/chip/adapters/inbound/ChipGroup.d.ts.map +1 -0
- package/dist/features/chip/adapters/inbound/ChipGroup.js +38 -0
- package/dist/features/chip/adapters/inbound/ChipGroup.js.map +1 -0
- package/dist/features/chip/chipGroupMeta.d.ts +75 -0
- package/dist/features/chip/chipGroupMeta.d.ts.map +1 -0
- package/dist/features/chip/chipGroupMeta.js +31 -0
- package/dist/features/chip/chipGroupMeta.js.map +1 -0
- package/dist/features/chip/chipMeta.d.ts +38 -0
- package/dist/features/chip/chipMeta.d.ts.map +1 -0
- package/dist/features/chip/chipMeta.js +38 -0
- package/dist/features/chip/chipMeta.js.map +1 -0
- package/dist/features/chip/public.d.ts +5 -0
- package/dist/features/chip/public.d.ts.map +1 -0
- package/dist/features/chip/public.js +3 -0
- package/dist/features/chip/public.js.map +1 -0
- package/dist/features/chip/utils/resolveChipColors.d.ts +10 -0
- package/dist/features/chip/utils/resolveChipColors.d.ts.map +1 -0
- package/dist/features/chip/utils/resolveChipColors.js +57 -0
- package/dist/features/chip/utils/resolveChipColors.js.map +1 -0
- package/dist/features/data-table/adapters/inbound/DataTable.d.ts +7 -0
- package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -0
- package/dist/features/data-table/adapters/inbound/DataTable.js +218 -0
- package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -0
- package/dist/features/data-table/dataTableMeta.d.ts +125 -0
- package/dist/features/data-table/dataTableMeta.d.ts.map +1 -0
- package/dist/features/data-table/dataTableMeta.js +57 -0
- package/dist/features/data-table/dataTableMeta.js.map +1 -0
- package/dist/features/data-table/public.d.ts +3 -0
- package/dist/features/data-table/public.d.ts.map +1 -0
- package/dist/features/data-table/public.js +2 -0
- package/dist/features/data-table/public.js.map +1 -0
- package/dist/features/data-table/utils/resolveDataTableRowKey.d.ts +3 -0
- package/dist/features/data-table/utils/resolveDataTableRowKey.d.ts.map +1 -0
- package/dist/features/data-table/utils/resolveDataTableRowKey.js +10 -0
- package/dist/features/data-table/utils/resolveDataTableRowKey.js.map +1 -0
- package/dist/features/icon/adapters/inbound/Icon.d.ts +5 -0
- package/dist/features/icon/adapters/inbound/Icon.d.ts.map +1 -0
- package/dist/features/icon/adapters/inbound/Icon.js +10 -0
- package/dist/features/icon/adapters/inbound/Icon.js.map +1 -0
- package/dist/features/icon/iconMeta.d.ts +38 -0
- package/dist/features/icon/iconMeta.d.ts.map +1 -0
- package/dist/features/icon/iconMeta.js +30 -0
- package/dist/features/icon/iconMeta.js.map +1 -0
- package/dist/features/icon/public.d.ts +3 -0
- package/dist/features/icon/public.d.ts.map +1 -0
- package/dist/features/icon/public.js +2 -0
- package/dist/features/icon/public.js.map +1 -0
- package/dist/features/image/adapters/inbound/Image.d.ts +5 -0
- package/dist/features/image/adapters/inbound/Image.d.ts.map +1 -0
- package/dist/features/image/adapters/inbound/Image.js +84 -0
- package/dist/features/image/adapters/inbound/Image.js.map +1 -0
- package/dist/features/image/imageMeta.d.ts +56 -0
- package/dist/features/image/imageMeta.d.ts.map +1 -0
- package/dist/features/image/imageMeta.js +34 -0
- package/dist/features/image/imageMeta.js.map +1 -0
- package/dist/features/image/public.d.ts +3 -0
- package/dist/features/image/public.d.ts.map +1 -0
- package/dist/features/image/public.js +2 -0
- package/dist/features/image/public.js.map +1 -0
- package/dist/features/layout/adapters/inbound/Box.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/Box.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/Box.js +10 -0
- package/dist/features/layout/adapters/inbound/Box.js.map +1 -0
- package/dist/features/layout/adapters/inbound/Container.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/Container.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/Container.js +10 -0
- package/dist/features/layout/adapters/inbound/Container.js.map +1 -0
- package/dist/features/layout/adapters/inbound/ContentRail.d.ts +10 -0
- package/dist/features/layout/adapters/inbound/ContentRail.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/ContentRail.js +182 -0
- package/dist/features/layout/adapters/inbound/ContentRail.js.map +1 -0
- package/dist/features/layout/adapters/inbound/ContentRailFlow.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/ContentRailFlow.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/ContentRailFlow.js +18 -0
- package/dist/features/layout/adapters/inbound/ContentRailFlow.js.map +1 -0
- package/dist/features/layout/adapters/inbound/Divider.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/Divider.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/Divider.js +10 -0
- package/dist/features/layout/adapters/inbound/Divider.js.map +1 -0
- package/dist/features/layout/adapters/inbound/Grid.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/Grid.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/Grid.js +10 -0
- package/dist/features/layout/adapters/inbound/Grid.js.map +1 -0
- package/dist/features/layout/adapters/inbound/Stack.d.ts +5 -0
- package/dist/features/layout/adapters/inbound/Stack.d.ts.map +1 -0
- package/dist/features/layout/adapters/inbound/Stack.js +10 -0
- package/dist/features/layout/adapters/inbound/Stack.js.map +1 -0
- package/dist/features/layout/boxMeta.d.ts +81 -0
- package/dist/features/layout/boxMeta.d.ts.map +1 -0
- package/dist/features/layout/boxMeta.js +15 -0
- package/dist/features/layout/boxMeta.js.map +1 -0
- package/dist/features/layout/constants.d.ts +64 -0
- package/dist/features/layout/constants.d.ts.map +1 -0
- package/dist/features/layout/constants.js +19 -0
- package/dist/features/layout/constants.js.map +1 -0
- package/dist/features/layout/containerMeta.d.ts +55 -0
- package/dist/features/layout/containerMeta.d.ts.map +1 -0
- package/dist/features/layout/containerMeta.js +10 -0
- package/dist/features/layout/containerMeta.js.map +1 -0
- package/dist/features/layout/contentRailMeta.d.ts +153 -0
- package/dist/features/layout/contentRailMeta.d.ts.map +1 -0
- package/dist/features/layout/contentRailMeta.js +132 -0
- package/dist/features/layout/contentRailMeta.js.map +1 -0
- package/dist/features/layout/dividerMeta.d.ts +22 -0
- package/dist/features/layout/dividerMeta.d.ts.map +1 -0
- package/dist/features/layout/dividerMeta.js +14 -0
- package/dist/features/layout/dividerMeta.js.map +1 -0
- package/dist/features/layout/gridMeta.d.ts +90 -0
- package/dist/features/layout/gridMeta.d.ts.map +1 -0
- package/dist/features/layout/gridMeta.js +17 -0
- package/dist/features/layout/gridMeta.js.map +1 -0
- package/dist/features/layout/public.d.ts +9 -0
- package/dist/features/layout/public.d.ts.map +1 -0
- package/dist/features/layout/public.js +7 -0
- package/dist/features/layout/public.js.map +1 -0
- package/dist/features/layout/stackMeta.d.ts +93 -0
- package/dist/features/layout/stackMeta.d.ts.map +1 -0
- package/dist/features/layout/stackMeta.js +25 -0
- package/dist/features/layout/stackMeta.js.map +1 -0
- package/dist/features/layout/utils/resolveContentRailItemWidth.d.ts +10 -0
- package/dist/features/layout/utils/resolveContentRailItemWidth.d.ts.map +1 -0
- package/dist/features/layout/utils/resolveContentRailItemWidth.js +27 -0
- package/dist/features/layout/utils/resolveContentRailItemWidth.js.map +1 -0
- package/dist/features/layout/utils/resolveContentRailPhysicalOffset.d.ts.map +1 -0
- package/dist/features/layout/utils/resolveContentRailPhysicalOffset.js.map +1 -0
- package/dist/features/layout/utils/resolveContentRailState.d.ts.map +1 -0
- package/dist/features/layout/utils/resolveContentRailState.js.map +1 -0
- package/dist/features/layout/utils/useContentRailReducedMotion.d.ts +3 -0
- package/dist/features/layout/utils/useContentRailReducedMotion.d.ts.map +1 -0
- package/dist/features/layout/utils/useContentRailReducedMotion.js.map +1 -0
- package/dist/features/list/adapters/inbound/FlatList.d.ts +5 -0
- package/dist/features/list/adapters/inbound/FlatList.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/FlatList.js +17 -0
- package/dist/features/list/adapters/inbound/FlatList.js.map +1 -0
- package/dist/features/list/adapters/inbound/HorizontalListSeparator.d.ts +4 -0
- package/dist/features/list/adapters/inbound/HorizontalListSeparator.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/HorizontalListSeparator.js +7 -0
- package/dist/features/list/adapters/inbound/HorizontalListSeparator.js.map +1 -0
- package/dist/features/list/adapters/inbound/SectionList.d.ts +5 -0
- package/dist/features/list/adapters/inbound/SectionList.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/SectionList.js +18 -0
- package/dist/features/list/adapters/inbound/SectionList.js.map +1 -0
- package/dist/features/list/adapters/inbound/VerticalListSeparator.d.ts +4 -0
- package/dist/features/list/adapters/inbound/VerticalListSeparator.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/VerticalListSeparator.js +7 -0
- package/dist/features/list/adapters/inbound/VerticalListSeparator.js.map +1 -0
- package/dist/features/list/adapters/inbound/useListVisibility.d.ts +7 -0
- package/dist/features/list/adapters/inbound/useListVisibility.d.ts.map +1 -0
- package/dist/features/list/adapters/inbound/useListVisibility.js +19 -0
- package/dist/features/list/adapters/inbound/useListVisibility.js.map +1 -0
- package/dist/features/list/application/use-cases/partitionListSections.d.ts +9 -0
- package/dist/features/list/application/use-cases/partitionListSections.d.ts.map +1 -0
- package/dist/features/list/application/use-cases/partitionListSections.js +19 -0
- package/dist/features/list/application/use-cases/partitionListSections.js.map +1 -0
- package/dist/features/list/flatListMeta.d.ts +84 -0
- package/dist/features/list/flatListMeta.d.ts.map +1 -0
- package/dist/features/list/flatListMeta.js +37 -0
- package/dist/features/list/flatListMeta.js.map +1 -0
- package/dist/features/list/public.d.ts +4 -0
- package/dist/features/list/public.d.ts.map +1 -0
- package/dist/features/list/public.js +3 -0
- package/dist/features/list/public.js.map +1 -0
- package/dist/features/list/sectionListMeta.d.ts +114 -0
- package/dist/features/list/sectionListMeta.d.ts.map +1 -0
- package/dist/features/list/sectionListMeta.js +29 -0
- package/dist/features/list/sectionListMeta.js.map +1 -0
- package/dist/features/splash-screen/adapters/inbound/SplashScreen.d.ts +11 -0
- package/dist/features/splash-screen/adapters/inbound/SplashScreen.d.ts.map +1 -0
- package/dist/features/splash-screen/adapters/inbound/SplashScreen.js +55 -0
- package/dist/features/splash-screen/adapters/inbound/SplashScreen.js.map +1 -0
- package/dist/features/splash-screen/public.d.ts +3 -0
- package/dist/features/splash-screen/public.d.ts.map +1 -0
- package/dist/features/splash-screen/public.js +2 -0
- package/dist/features/splash-screen/public.js.map +1 -0
- package/dist/features/splash-screen/splashScreenMeta.d.ts +39 -0
- package/dist/features/splash-screen/splashScreenMeta.d.ts.map +1 -0
- package/dist/features/splash-screen/splashScreenMeta.js +40 -0
- package/dist/features/splash-screen/splashScreenMeta.js.map +1 -0
- package/dist/features/surface/adapters/inbound/Surface.d.ts +5 -0
- package/dist/features/surface/adapters/inbound/Surface.d.ts.map +1 -0
- package/dist/features/surface/adapters/inbound/Surface.js +10 -0
- package/dist/features/surface/adapters/inbound/Surface.js.map +1 -0
- package/dist/features/surface/public.d.ts +3 -0
- package/dist/features/surface/public.d.ts.map +1 -0
- package/dist/features/surface/public.js +2 -0
- package/dist/features/surface/public.js.map +1 -0
- package/dist/features/surface/surfaceMeta.d.ts +74 -0
- package/dist/features/surface/surfaceMeta.d.ts.map +1 -0
- package/dist/features/surface/surfaceMeta.js +13 -0
- package/dist/features/surface/surfaceMeta.js.map +1 -0
- package/dist/features/typography/adapters/inbound/Heading.d.ts +15 -0
- package/dist/features/typography/adapters/inbound/Heading.d.ts.map +1 -0
- package/dist/features/typography/adapters/inbound/Heading.js +71 -0
- package/dist/features/typography/adapters/inbound/Heading.js.map +1 -0
- package/dist/features/typography/adapters/inbound/Text.d.ts +15 -0
- package/dist/features/typography/adapters/inbound/Text.d.ts.map +1 -0
- package/dist/features/typography/adapters/inbound/Text.js +64 -0
- package/dist/features/typography/adapters/inbound/Text.js.map +1 -0
- package/dist/features/typography/headingMeta.d.ts +122 -0
- package/dist/features/typography/headingMeta.d.ts.map +1 -0
- package/dist/features/typography/headingMeta.js +81 -0
- package/dist/features/typography/headingMeta.js.map +1 -0
- package/dist/features/typography/public.d.ts +5 -0
- package/dist/features/typography/public.d.ts.map +1 -0
- package/dist/features/typography/public.js +3 -0
- package/dist/features/typography/public.js.map +1 -0
- package/dist/features/typography/textMeta.d.ts +111 -0
- package/dist/features/typography/textMeta.d.ts.map +1 -0
- package/dist/features/typography/textMeta.js +73 -0
- package/dist/features/typography/textMeta.js.map +1 -0
- package/dist/features/typography/utils/headingThemeRecipeMeta.d.ts +39 -0
- package/dist/features/typography/utils/headingThemeRecipeMeta.d.ts.map +1 -0
- package/dist/features/typography/utils/headingThemeRecipeMeta.js +32 -0
- package/dist/features/typography/utils/headingThemeRecipeMeta.js.map +1 -0
- package/dist/features/typography/utils/resolveHeadingRecipe.d.ts +15 -0
- package/dist/features/typography/utils/resolveHeadingRecipe.d.ts.map +1 -0
- package/dist/features/typography/utils/resolveHeadingRecipe.js +112 -0
- package/dist/features/typography/utils/resolveHeadingRecipe.js.map +1 -0
- package/dist/features/typography/utils/resolveHeadingSizeFromLevel.d.ts +4 -0
- package/dist/features/typography/utils/resolveHeadingSizeFromLevel.d.ts.map +1 -0
- package/dist/features/typography/utils/resolveHeadingSizeFromLevel.js +18 -0
- package/dist/features/typography/utils/resolveHeadingSizeFromLevel.js.map +1 -0
- package/dist/features/typography/utils/resolveHeadingThemeRecipe.d.ts +11 -0
- package/dist/features/typography/utils/resolveHeadingThemeRecipe.d.ts.map +1 -0
- package/dist/features/typography/utils/resolveHeadingThemeRecipe.js.map +1 -0
- package/dist/features/typography/utils/resolveTextStyle.d.ts +17 -0
- package/dist/features/typography/utils/resolveTextStyle.d.ts.map +1 -0
- package/dist/features/typography/utils/resolveTextStyle.js +149 -0
- package/dist/features/typography/utils/resolveTextStyle.js.map +1 -0
- package/dist/features/typography/utils/resolveTextThemeRecipe.d.ts +11 -0
- package/dist/features/typography/utils/resolveTextThemeRecipe.d.ts.map +1 -0
- package/dist/features/typography/utils/resolveTextThemeRecipe.js.map +1 -0
- package/dist/features/typography/utils/textThemeRecipeMeta.d.ts +40 -0
- package/dist/features/typography/utils/textThemeRecipeMeta.d.ts.map +1 -0
- package/dist/features/typography/utils/textThemeRecipeMeta.js +33 -0
- package/dist/features/typography/utils/textThemeRecipeMeta.js.map +1 -0
- package/dist/features/uploader/adapters/inbound/Uploader.d.ts.map +1 -1
- package/dist/features/uploader/adapters/inbound/Uploader.js +39 -15
- package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
- package/dist/features/uploader/uploaderMeta.d.ts +136 -0
- package/dist/features/uploader/uploaderMeta.d.ts.map +1 -0
- package/dist/features/uploader/uploaderMeta.js +66 -0
- package/dist/features/uploader/uploaderMeta.js.map +1 -0
- package/dist/foundation/index.d.ts +0 -12
- package/dist/foundation/index.d.ts.map +1 -1
- package/dist/foundation/index.js +0 -6
- package/dist/foundation/index.js.map +1 -1
- package/dist/foundation/meta.d.ts +0 -58
- package/dist/foundation/meta.d.ts.map +1 -1
- package/dist/foundation/meta.js +0 -49
- package/dist/foundation/meta.js.map +1 -1
- package/dist/index.d.ts +50 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -21
- package/dist/index.js.map +1 -1
- package/dist/layout/app-shell/AppShell.js +1 -1
- package/dist/layout/app-shell/AppShell.js.map +1 -1
- package/dist/layout/screen/Screen.js +1 -1
- package/dist/layout/screen/Screen.js.map +1 -1
- package/dist/layout/screen/meta.d.ts +1 -1
- package/dist/layout/screen-section/ScreenSection.js +1 -1
- package/dist/layout/screen-section/ScreenSection.js.map +1 -1
- package/dist/layout/screen-section/meta.d.ts +1 -1
- package/dist/layout/sidebar-layout/SidebarLayout.js +1 -1
- package/dist/layout/sidebar-layout/SidebarLayout.js.map +1 -1
- package/dist/layout/topbar-layout/TopbarLayout.js +1 -1
- package/dist/layout/topbar-layout/TopbarLayout.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 +25 -0
- package/dist/metadata/allowedChildren.js.map +1 -1
- package/dist/metadata/bindableComponentMeta.d.ts +28 -2
- package/dist/metadata/bindableComponentMeta.d.ts.map +1 -1
- 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 +42 -23
- package/dist/metadata/componentMeta.js.map +1 -1
- package/dist/metadata/themeRecipeMeta.js +4 -4
- package/dist/metadata/themeRecipeMeta.js.map +1 -1
- package/dist/patterns/auth/ForgotPasswordForm.js +2 -2
- package/dist/patterns/auth/ForgotPasswordForm.js.map +1 -1
- package/dist/patterns/auth/OAuthProviderButton.js +1 -1
- package/dist/patterns/auth/OAuthProviderButton.js.map +1 -1
- package/dist/patterns/auth/OAuthProviderList.js +1 -1
- package/dist/patterns/auth/OAuthProviderList.js.map +1 -1
- package/dist/patterns/auth/OtpForm.js +2 -2
- package/dist/patterns/auth/OtpForm.js.map +1 -1
- package/dist/patterns/auth/SignInForm.js +2 -2
- package/dist/patterns/auth/SignInForm.js.map +1 -1
- package/dist/patterns/auth/SignUpForm.js +2 -2
- package/dist/patterns/auth/SignUpForm.js.map +1 -1
- package/dist/patterns/auth/types.d.ts +1 -1
- package/dist/patterns/auth/types.d.ts.map +1 -1
- package/dist/patterns/auth/types.js.map +1 -1
- package/dist/patterns/chat-list-item/ChatListItem.d.ts.map +1 -1
- package/dist/patterns/chat-list-item/ChatListItem.js +5 -4
- package/dist/patterns/chat-list-item/ChatListItem.js.map +1 -1
- package/dist/patterns/chat-list-item/types.d.ts +1 -1
- package/dist/patterns/chat-list-item/types.d.ts.map +1 -1
- package/dist/patterns/chat-list-item/types.js.map +1 -1
- package/dist/patterns/collection-editor/CollectionEditor.js +4 -4
- package/dist/patterns/collection-editor/CollectionEditor.js.map +1 -1
- package/dist/patterns/confirm-dialog/ConfirmDialog.js +2 -2
- package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -1
- package/dist/patterns/disclosure-section/DisclosureSection.js +4 -4
- package/dist/patterns/disclosure-section/DisclosureSection.js.map +1 -1
- package/dist/patterns/empty-state/EmptyState.js +3 -3
- package/dist/patterns/empty-state/EmptyState.js.map +1 -1
- package/dist/patterns/filter-bar/FilterBar.d.ts.map +1 -1
- package/dist/patterns/filter-bar/FilterBar.js +2 -1
- package/dist/patterns/filter-bar/FilterBar.js.map +1 -1
- package/dist/patterns/form-field/FormField.js +2 -2
- package/dist/patterns/form-field/FormField.js.map +1 -1
- package/dist/patterns/hero/Hero.js +5 -5
- package/dist/patterns/hero/Hero.js.map +1 -1
- package/dist/patterns/inspector-field/InspectorField.js +1 -1
- package/dist/patterns/inspector-field/InspectorField.js.map +1 -1
- package/dist/patterns/list/List.d.ts.map +1 -1
- package/dist/patterns/list/List.js +2 -1
- package/dist/patterns/list/List.js.map +1 -1
- package/dist/patterns/list/ListRow.d.ts.map +1 -1
- package/dist/patterns/list/ListRow.js +3 -2
- package/dist/patterns/list/ListRow.js.map +1 -1
- package/dist/patterns/list/ListSection.js +1 -1
- package/dist/patterns/list/ListSection.js.map +1 -1
- package/dist/patterns/message-bubble/MessageBubble.d.ts.map +1 -1
- package/dist/patterns/message-bubble/MessageBubble.js +4 -3
- package/dist/patterns/message-bubble/MessageBubble.js.map +1 -1
- package/dist/patterns/message-bubble/meta.d.ts +1 -1
- package/dist/patterns/message-bubble/types.d.ts +1 -1
- package/dist/patterns/message-bubble/types.d.ts.map +1 -1
- package/dist/patterns/message-bubble/types.js.map +1 -1
- package/dist/patterns/missing-element/MissingElement.js +3 -3
- package/dist/patterns/missing-element/MissingElement.js.map +1 -1
- package/dist/patterns/notice/Notice.js +3 -3
- package/dist/patterns/notice/Notice.js.map +1 -1
- package/dist/patterns/notice/meta.d.ts +1 -1
- package/dist/patterns/panel/Panel.js +2 -2
- package/dist/patterns/panel/Panel.js.map +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 +5 -3
- package/dist/patterns/reader/ReaderSurface.js.map +1 -1
- package/dist/patterns/reader/meta.d.ts +2 -2
- package/dist/patterns/scanner/BarcodeScannerView.js +3 -3
- package/dist/patterns/scanner/BarcodeScannerView.js.map +1 -1
- package/dist/patterns/scanner/CameraPermissionView.js +4 -4
- package/dist/patterns/scanner/CameraPermissionView.js.map +1 -1
- package/dist/patterns/scanner/ScanOverlay.js +3 -3
- package/dist/patterns/scanner/ScanOverlay.js.map +1 -1
- package/dist/patterns/scanner/meta.d.ts +2 -2
- package/dist/patterns/scanner/types.d.ts +1 -1
- package/dist/patterns/scanner/types.d.ts.map +1 -1
- package/dist/patterns/scanner/types.js.map +1 -1
- package/dist/patterns/section-header/SectionHeader.js +3 -3
- package/dist/patterns/section-header/SectionHeader.js.map +1 -1
- package/dist/patterns/settings-row/SettingsRow.js +3 -3
- package/dist/patterns/settings-row/SettingsRow.js.map +1 -1
- package/dist/patterns/theme-composer/ThemeComposer.js +6 -6
- package/dist/patterns/theme-composer/ThemeComposer.js.map +1 -1
- package/dist/patterns/tile-grid/PaletteItem.js +4 -4
- package/dist/patterns/tile-grid/PaletteItem.js.map +1 -1
- package/dist/patterns/tile-grid/TileGrid.js +1 -1
- package/dist/patterns/tile-grid/TileGrid.js.map +1 -1
- package/dist/patterns/timeline/Timeline.d.ts.map +1 -1
- package/dist/patterns/timeline/Timeline.js +5 -4
- package/dist/patterns/timeline/Timeline.js.map +1 -1
- package/dist/patterns/tree-view/TreeItem.js +2 -2
- package/dist/patterns/tree-view/TreeItem.js.map +1 -1
- package/dist/patterns/tree-view/TreeView.js +1 -1
- package/dist/patterns/tree-view/TreeView.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +28 -21
- package/dist/registry.js.map +1 -1
- package/dist/theme/ThemeModeToggle.js +1 -1
- package/dist/theme/ThemeModeToggle.js.map +1 -1
- package/dist/theme/ThemeModeToggleProps.d.ts +1 -1
- package/dist/theme/ThemeModeToggleProps.js.map +1 -1
- package/dist/types/avatar-group.d.ts +22 -0
- package/dist/types/avatar-group.d.ts.map +1 -0
- package/dist/types/avatar-group.js +2 -0
- package/dist/types/avatar-group.js.map +1 -0
- package/dist/types/avatar.d.ts +17 -0
- package/dist/types/avatar.d.ts.map +1 -0
- package/dist/types/avatar.js +2 -0
- package/dist/types/avatar.js.map +1 -0
- package/dist/types/badge.d.ts +11 -0
- package/dist/types/badge.d.ts.map +1 -0
- package/dist/types/badge.js +2 -0
- package/dist/types/badge.js.map +1 -0
- package/dist/types/button-group.d.ts +13 -0
- package/dist/types/button-group.d.ts.map +1 -0
- package/dist/types/button-group.js +2 -0
- package/dist/types/button-group.js.map +1 -0
- package/dist/types/button.d.ts +13 -0
- package/dist/types/button.d.ts.map +1 -0
- package/dist/types/button.js +2 -0
- package/dist/types/button.js.map +1 -0
- package/dist/types/card.d.ts +17 -0
- package/dist/types/card.d.ts.map +1 -0
- package/dist/types/card.js +2 -0
- package/dist/types/card.js.map +1 -0
- package/dist/types/chip-group.d.ts +31 -0
- package/dist/types/chip-group.d.ts.map +1 -0
- package/dist/types/chip-group.js +2 -0
- package/dist/types/chip-group.js.map +1 -0
- package/dist/types/chip.d.ts +26 -0
- package/dist/types/chip.d.ts.map +1 -0
- package/dist/types/chip.js +2 -0
- package/dist/types/chip.js.map +1 -0
- package/dist/types/content-rail.d.ts +33 -0
- package/dist/types/content-rail.d.ts.map +1 -0
- package/dist/types/content-rail.js +2 -0
- package/dist/types/content-rail.js.map +1 -0
- package/dist/types/data-table.d.ts +52 -0
- package/dist/types/data-table.d.ts.map +1 -0
- package/dist/types/data-table.js +2 -0
- package/dist/types/data-table.js.map +1 -0
- package/dist/types/heading.d.ts +32 -0
- package/dist/types/heading.d.ts.map +1 -0
- package/dist/types/heading.js +2 -0
- package/dist/types/heading.js.map +1 -0
- package/dist/types/icon-button.d.ts +18 -0
- package/dist/types/icon-button.d.ts.map +1 -0
- package/dist/types/icon-button.js +2 -0
- package/dist/types/icon-button.js.map +1 -0
- package/dist/types/icon.d.ts +4 -0
- package/dist/types/icon.d.ts.map +1 -0
- package/dist/types/icon.js +2 -0
- package/dist/types/icon.js.map +1 -0
- package/dist/types/image.d.ts +8 -0
- package/dist/types/image.d.ts.map +1 -0
- package/dist/types/image.js +2 -0
- package/dist/types/image.js.map +1 -0
- package/dist/types/layout.d.ts +13 -0
- package/dist/types/layout.d.ts.map +1 -0
- package/dist/types/layout.js +2 -0
- package/dist/types/layout.js.map +1 -0
- package/dist/types/manifest-bottom-sheet.d.ts +18 -0
- package/dist/types/manifest-bottom-sheet.d.ts.map +1 -0
- package/dist/types/manifest-bottom-sheet.js +2 -0
- package/dist/types/manifest-bottom-sheet.js.map +1 -0
- package/dist/types/manifest-list.d.ts +34 -0
- package/dist/types/manifest-list.d.ts.map +1 -0
- package/dist/types/manifest-list.js +2 -0
- package/dist/types/manifest-list.js.map +1 -0
- package/dist/types/media-card.d.ts +36 -0
- package/dist/types/media-card.d.ts.map +1 -0
- package/dist/types/media-card.js +2 -0
- package/dist/types/media-card.js.map +1 -0
- package/dist/types/metric-card.d.ts +17 -0
- package/dist/types/metric-card.d.ts.map +1 -0
- package/dist/types/metric-card.js +2 -0
- package/dist/types/metric-card.js.map +1 -0
- package/dist/types/post-card.d.ts +64 -0
- package/dist/types/post-card.d.ts.map +1 -0
- package/dist/types/post-card.js +2 -0
- package/dist/types/post-card.js.map +1 -0
- package/dist/types/product-card.d.ts +23 -0
- package/dist/types/product-card.d.ts.map +1 -0
- package/dist/types/product-card.js +2 -0
- package/dist/types/product-card.js.map +1 -0
- package/dist/types/splash-screen.d.ts +16 -0
- package/dist/types/splash-screen.d.ts.map +1 -0
- package/dist/types/splash-screen.js +2 -0
- package/dist/types/splash-screen.js.map +1 -0
- package/dist/types/surface.d.ts +6 -0
- package/dist/types/surface.d.ts.map +1 -0
- package/dist/types/surface.js +2 -0
- package/dist/types/surface.js.map +1 -0
- package/dist/types/text.d.ts +31 -0
- package/dist/types/text.d.ts.map +1 -0
- package/dist/types/text.js +2 -0
- package/dist/types/text.js.map +1 -0
- package/dist/types/upload.d.ts +15 -3
- package/dist/types/upload.d.ts.map +1 -1
- package/dist/types/upload.js.map +1 -1
- package/dist/utils/createManifestBindings.d.ts +5 -0
- package/dist/utils/createManifestBindings.d.ts.map +1 -0
- package/dist/utils/createManifestBindings.js +36 -0
- package/dist/utils/createManifestBindings.js.map +1 -0
- package/dist/utils/finalizeFeatureMetadata.d.ts +4 -0
- package/dist/utils/finalizeFeatureMetadata.d.ts.map +1 -0
- package/dist/utils/finalizeFeatureMetadata.js +22 -0
- package/dist/utils/finalizeFeatureMetadata.js.map +1 -0
- package/package.json +1 -1
- package/src/audit.test.ts +5 -5
- package/src/components/app-bar/AppBar.tsx +5 -4
- package/src/components/breadcrumbs/Breadcrumbs.tsx +3 -3
- package/src/components/checkbox/CheckboxGroup.tsx +2 -2
- package/src/components/contentFallback.test.ts +8 -2
- package/src/components/date-picker/DatePicker.tsx +3 -3
- package/src/components/form/Form.tsx +1 -1
- package/src/components/form/FormActions.tsx +2 -2
- package/src/components/form/FormError.tsx +2 -2
- package/src/components/form/FormField.tsx +2 -2
- package/src/components/gradient/Gradient.tsx +1 -1
- package/src/components/gradient/types.ts +1 -1
- package/src/components/input/Input.tsx +1 -1
- package/src/components/menu/Menu.tsx +2 -2
- package/src/components/modal/Modal.tsx +3 -3
- package/src/components/pagination/Pagination.tsx +3 -3
- package/src/components/progress/Progress.tsx +1 -1
- package/src/components/progress/ProgressRing.tsx +2 -2
- package/src/components/radio/RadioGroup.tsx +2 -2
- package/src/components/radio/RadioOptionControl.tsx +2 -2
- package/src/components/radio/types.ts +1 -1
- package/src/components/rating/Rating.tsx +1 -1
- package/src/components/select/Select.tsx +1 -1
- package/src/components/skeleton/Skeleton.tsx +1 -1
- package/src/components/skeleton/SkeletonCard.tsx +3 -3
- package/src/components/skeleton/SkeletonText.tsx +1 -1
- package/src/components/skeleton/types.ts +1 -1
- package/src/components/tabs/Tabs.tsx +3 -3
- package/src/components/time-picker/TimePicker.tsx +3 -3
- package/src/components/toolbar/Toolbar.tsx +2 -2
- package/src/components/toolbar/ToolbarAction.tsx +1 -1
- package/src/constants.ts +23 -0
- package/src/corePluginMetadata.ts +10 -1
- package/src/featureManifest.test.ts +48 -0
- package/src/features/avatar/adapters/inbound/Avatar.tsx +147 -0
- package/src/features/avatar/adapters/inbound/AvatarGroup.tsx +77 -0
- package/src/features/avatar/avatarGroupMeta.ts +25 -0
- package/src/features/avatar/avatarMeta.ts +42 -0
- package/src/features/avatar/public.ts +5 -0
- package/src/features/badge/adapters/inbound/Badge.tsx +33 -0
- package/src/features/badge/badgeMeta.ts +29 -0
- package/src/features/badge/public.ts +2 -0
- package/src/features/bottom-sheet/adapters/inbound/BottomSheet.tsx +85 -0
- package/src/features/bottom-sheet/bottomSheetMeta.ts +33 -0
- package/src/features/bottom-sheet/public.ts +2 -0
- package/src/features/button/adapters/inbound/Button.tsx +42 -0
- package/src/features/button/adapters/inbound/ButtonGroup.tsx +112 -0
- package/src/features/button/adapters/inbound/IconButton.tsx +37 -0
- package/src/features/button/buttonGroupMeta.ts +45 -0
- package/src/features/button/buttonMeta.ts +51 -0
- package/src/features/button/iconButtonMeta.ts +48 -0
- package/src/features/button/public.ts +10 -0
- package/src/features/button/utils/resolveButtonThemeRecipe.ts +41 -0
- package/src/features/button/utils/themeRecipeMeta.ts +29 -0
- package/src/features/card/adapters/inbound/Card.tsx +91 -0
- package/src/features/card/adapters/inbound/MediaCard.tsx +124 -0
- package/src/features/card/adapters/inbound/MetricCard.tsx +82 -0
- package/src/features/card/adapters/inbound/PostCard.test.tsx +11 -0
- package/src/features/card/adapters/inbound/PostCard.tsx +241 -0
- package/src/features/card/adapters/inbound/ProductCard.test.tsx +19 -0
- package/src/features/card/adapters/inbound/ProductCard.tsx +141 -0
- package/src/features/card/cardMeta.ts +57 -0
- package/src/features/card/mediaCardMeta.ts +52 -0
- package/src/features/card/metricCardMeta.ts +47 -0
- package/src/features/card/public.ts +16 -0
- package/src/features/card/utils/resolveCardThemeRecipe.ts +33 -0
- package/src/features/card/utils/themeRecipeMeta.ts +32 -0
- package/src/features/chip/adapters/inbound/Chip.tsx +97 -0
- package/src/features/chip/adapters/inbound/ChipGroup.tsx +73 -0
- package/src/features/chip/chipGroupMeta.ts +32 -0
- package/src/features/chip/chipMeta.ts +39 -0
- package/src/features/chip/public.ts +4 -0
- package/src/features/chip/utils/resolveChipColors.ts +74 -0
- package/src/features/data-table/adapters/inbound/DataTable.tsx +411 -0
- package/src/features/data-table/dataTableMeta.ts +58 -0
- package/src/features/data-table/public.ts +11 -0
- package/src/features/data-table/utils/resolveDataTableRowKey.test.ts +11 -0
- package/src/features/data-table/utils/resolveDataTableRowKey.ts +13 -0
- package/src/features/icon/adapters/inbound/Icon.tsx +18 -0
- package/src/features/icon/public.ts +2 -0
- package/src/features/icon/utils/meta.test.ts +22 -0
- package/src/features/image/adapters/inbound/Image.tsx +149 -0
- package/src/features/image/imageMeta.ts +35 -0
- package/src/features/image/public.ts +2 -0
- package/src/features/layout/adapters/inbound/Box.tsx +18 -0
- package/src/features/layout/adapters/inbound/Container.tsx +18 -0
- package/src/features/layout/adapters/inbound/ContentRail.test.ts +44 -0
- package/src/features/layout/adapters/inbound/ContentRail.tsx +262 -0
- package/src/features/layout/adapters/inbound/ContentRailFlow.tsx +40 -0
- package/src/features/layout/adapters/inbound/Divider.tsx +18 -0
- package/src/features/layout/adapters/inbound/Grid.tsx +18 -0
- package/src/features/layout/adapters/inbound/Stack.tsx +18 -0
- package/src/features/layout/boxMeta.ts +16 -0
- package/src/features/layout/constants.ts +21 -0
- package/src/features/layout/containerMeta.ts +11 -0
- package/src/features/layout/contentRailMeta.ts +134 -0
- package/src/features/layout/dividerMeta.ts +17 -0
- package/src/features/layout/gridMeta.ts +18 -0
- package/src/features/layout/public.ts +22 -0
- package/src/features/layout/stackMeta.ts +26 -0
- package/src/features/layout/utils/resolveContentRailItemWidth.ts +40 -0
- package/src/features/layout/utils/useContentRailReducedMotion.ts +28 -0
- package/src/features/list/adapters/inbound/FlatList.tsx +69 -0
- package/src/features/list/adapters/inbound/HorizontalListSeparator.tsx +8 -0
- package/src/features/list/adapters/inbound/SectionList.tsx +76 -0
- package/src/features/list/adapters/inbound/VerticalListSeparator.tsx +8 -0
- package/src/features/list/adapters/inbound/useListVisibility.ts +25 -0
- package/src/features/list/application/use-cases/partitionListSections.test.ts +30 -0
- package/src/features/list/application/use-cases/partitionListSections.ts +23 -0
- package/src/features/list/flatListMeta.ts +39 -0
- package/src/features/list/public.ts +7 -0
- package/src/features/list/sectionListMeta.ts +31 -0
- package/src/features/splash-screen/adapters/inbound/SplashScreen.tsx +98 -0
- package/src/features/splash-screen/public.ts +2 -0
- package/src/features/splash-screen/splashScreenMeta.ts +41 -0
- package/src/features/surface/adapters/inbound/Surface.tsx +18 -0
- package/src/features/surface/public.ts +2 -0
- package/src/features/surface/surfaceMeta.ts +14 -0
- package/src/features/typography/adapters/inbound/Heading.tsx +114 -0
- package/src/features/typography/adapters/inbound/Text.tsx +110 -0
- package/src/features/typography/headingMeta.ts +82 -0
- package/src/features/typography/public.ts +19 -0
- package/src/features/typography/textMeta.ts +74 -0
- package/src/features/typography/utils/headingThemeRecipeMeta.ts +33 -0
- package/src/features/typography/utils/resolveHeadingRecipe.test.ts +293 -0
- package/src/features/typography/utils/resolveHeadingRecipe.ts +174 -0
- package/src/features/typography/utils/resolveHeadingSizeFromLevel.ts +19 -0
- package/src/features/typography/utils/resolveHeadingThemeRecipe.ts +55 -0
- package/src/features/typography/utils/resolveTextStyle.test.ts +380 -0
- package/src/features/typography/utils/resolveTextStyle.ts +220 -0
- package/src/features/typography/utils/resolveTextThemeRecipe.ts +54 -0
- package/src/features/typography/utils/textThemeRecipeMeta.ts +34 -0
- package/src/features/uploader/adapters/inbound/Uploader.tsx +51 -16
- package/src/features/uploader/uploaderMeta.ts +68 -0
- package/src/foundation/index.test.ts +5 -10
- package/src/foundation/index.ts +0 -12
- package/src/foundation/meta.ts +0 -49
- package/src/index.ts +102 -107
- package/src/interactionPolicy.test.ts +6 -6
- package/src/layout/app-shell/AppShell.tsx +1 -1
- package/src/layout/screen/Screen.tsx +1 -1
- package/src/layout/screen-section/ScreenSection.tsx +1 -1
- package/src/layout/sidebar-layout/SidebarLayout.tsx +1 -1
- package/src/layout/topbar-layout/TopbarLayout.tsx +1 -1
- package/src/metadata/allowedChildren.ts +25 -0
- package/src/metadata/authoringMeta.test.ts +1 -1
- package/src/metadata/bindableComponentMeta.ts +1 -1
- package/src/metadata/componentMeta.test.ts +25 -1
- package/src/metadata/componentMeta.ts +42 -23
- package/src/metadata/radioGroupReachability.test.ts +1 -1
- package/src/metadata/themeRecipeMeta.test.ts +1 -1
- package/src/metadata/themeRecipeMeta.ts +4 -4
- package/src/patterns/auth/ForgotPasswordForm.tsx +2 -2
- package/src/patterns/auth/OAuthProviderButton.tsx +1 -1
- package/src/patterns/auth/OAuthProviderList.tsx +1 -1
- package/src/patterns/auth/OtpForm.tsx +2 -2
- package/src/patterns/auth/SignInForm.tsx +2 -2
- package/src/patterns/auth/SignUpForm.tsx +2 -2
- package/src/patterns/auth/types.ts +1 -1
- package/src/patterns/chat-list-item/ChatListItem.tsx +5 -4
- package/src/patterns/chat-list-item/types.ts +1 -1
- package/src/patterns/collection-editor/CollectionEditor.tsx +4 -4
- package/src/patterns/confirm-dialog/ConfirmDialog.tsx +2 -2
- package/src/patterns/disclosure-section/DisclosureSection.tsx +4 -4
- package/src/patterns/empty-state/EmptyState.tsx +3 -3
- package/src/patterns/filter-bar/FilterBar.tsx +2 -1
- package/src/patterns/form-field/FormField.tsx +2 -2
- package/src/patterns/hero/Hero.tsx +5 -5
- package/src/patterns/inspector-field/InspectorField.tsx +1 -1
- package/src/patterns/list/List.tsx +2 -1
- package/src/patterns/list/ListRow.tsx +3 -2
- package/src/patterns/list/ListSection.tsx +1 -1
- package/src/patterns/message-bubble/MessageBubble.tsx +4 -3
- package/src/patterns/message-bubble/types.ts +1 -1
- package/src/patterns/missing-element/MissingElement.tsx +3 -3
- package/src/patterns/notice/Notice.tsx +3 -3
- package/src/patterns/panel/Panel.tsx +2 -2
- package/src/patterns/reader/ReaderSurface.test.ts +1 -1
- package/src/patterns/reader/ReaderSurface.tsx +5 -3
- package/src/patterns/scanner/BarcodeScannerView.tsx +3 -3
- package/src/patterns/scanner/CameraPermissionView.tsx +4 -4
- package/src/patterns/scanner/ScanOverlay.tsx +3 -3
- package/src/patterns/scanner/types.ts +1 -1
- package/src/patterns/section-header/SectionHeader.tsx +3 -3
- package/src/patterns/settings-row/SettingsRow.tsx +3 -3
- package/src/patterns/theme-composer/ThemeComposer.tsx +6 -6
- package/src/patterns/tile-grid/PaletteItem.tsx +4 -4
- package/src/patterns/tile-grid/TileGrid.tsx +1 -1
- package/src/patterns/timeline/Timeline.tsx +5 -4
- package/src/patterns/tree-view/TreeItem.tsx +2 -2
- package/src/patterns/tree-view/TreeView.tsx +1 -1
- package/src/platformAcceptance.test.ts +1 -1
- package/src/registry.test.ts +1 -1
- package/src/registry.ts +28 -32
- package/src/showcaseCoverage.test.ts +1 -1
- package/src/theme/ThemeModeToggle.tsx +1 -1
- package/src/theme/ThemeModeToggleProps.ts +1 -1
- package/src/theme/themeScopeStructure.test.ts +29 -26
- package/src/types/avatar-group.ts +24 -0
- package/src/types/avatar.ts +20 -0
- package/src/types/badge.ts +15 -0
- package/src/types/button-group.ts +15 -0
- package/src/types/button.ts +15 -0
- package/src/types/card.ts +19 -0
- package/src/types/chip-group.ts +36 -0
- package/src/types/chip.ts +29 -0
- package/src/types/content-rail.ts +37 -0
- package/src/types/data-table.ts +58 -0
- package/src/types/heading.ts +38 -0
- package/src/types/icon-button.ts +17 -0
- package/src/types/icon.ts +5 -0
- package/src/types/image.ts +11 -0
- package/src/types/layout.ts +17 -0
- package/src/types/manifest-bottom-sheet.ts +17 -0
- package/src/types/manifest-list.ts +33 -0
- package/src/types/media-card.ts +42 -0
- package/src/types/metric-card.ts +18 -0
- package/src/types/post-card.ts +71 -0
- package/src/types/product-card.ts +23 -0
- package/src/types/splash-screen.ts +18 -0
- package/src/types/surface.ts +7 -0
- package/src/types/text.ts +41 -0
- package/src/types/upload.ts +9 -3
- package/src/utils/createManifestBindings.ts +47 -0
- package/src/utils/finalizeFeatureMetadata.ts +26 -0
- package/dist/components/avatar/Avatar.d.ts +0 -7
- package/dist/components/avatar/Avatar.d.ts.map +0 -1
- package/dist/components/avatar/Avatar.js +0 -101
- package/dist/components/avatar/Avatar.js.map +0 -1
- package/dist/components/avatar/index.d.ts +0 -4
- package/dist/components/avatar/index.d.ts.map +0 -1
- package/dist/components/avatar/index.js +0 -3
- package/dist/components/avatar/index.js.map +0 -1
- package/dist/components/avatar/meta.d.ts +0 -9
- package/dist/components/avatar/meta.d.ts.map +0 -1
- package/dist/components/avatar/meta.js +0 -9
- package/dist/components/avatar/meta.js.map +0 -1
- package/dist/components/avatar/resolveAvatarInitials.d.ts.map +0 -1
- package/dist/components/avatar/resolveAvatarInitials.js.map +0 -1
- package/dist/components/avatar/types.d.ts +0 -17
- package/dist/components/avatar/types.d.ts.map +0 -1
- package/dist/components/avatar/types.js +0 -2
- package/dist/components/avatar/types.js.map +0 -1
- package/dist/components/avatar-group/AvatarGroup.d.ts +0 -7
- package/dist/components/avatar-group/AvatarGroup.d.ts.map +0 -1
- package/dist/components/avatar-group/AvatarGroup.js +0 -29
- package/dist/components/avatar-group/AvatarGroup.js.map +0 -1
- package/dist/components/avatar-group/index.d.ts +0 -3
- package/dist/components/avatar-group/index.d.ts.map +0 -1
- package/dist/components/avatar-group/index.js +0 -2
- package/dist/components/avatar-group/index.js.map +0 -1
- package/dist/components/avatar-group/meta.d.ts +0 -9
- package/dist/components/avatar-group/meta.d.ts.map +0 -1
- package/dist/components/avatar-group/meta.js +0 -9
- package/dist/components/avatar-group/meta.js.map +0 -1
- package/dist/components/avatar-group/types.d.ts +0 -22
- package/dist/components/avatar-group/types.d.ts.map +0 -1
- package/dist/components/avatar-group/types.js +0 -2
- package/dist/components/avatar-group/types.js.map +0 -1
- package/dist/components/badge/Badge.d.ts +0 -7
- package/dist/components/badge/Badge.d.ts.map +0 -1
- package/dist/components/badge/Badge.js +0 -13
- package/dist/components/badge/Badge.js.map +0 -1
- package/dist/components/badge/index.d.ts +0 -3
- package/dist/components/badge/index.d.ts.map +0 -1
- package/dist/components/badge/index.js +0 -2
- package/dist/components/badge/index.js.map +0 -1
- package/dist/components/badge/meta.d.ts +0 -9
- package/dist/components/badge/meta.d.ts.map +0 -1
- package/dist/components/badge/meta.js +0 -9
- package/dist/components/badge/meta.js.map +0 -1
- package/dist/components/badge/types.d.ts +0 -11
- package/dist/components/badge/types.d.ts.map +0 -1
- package/dist/components/badge/types.js +0 -2
- package/dist/components/badge/types.js.map +0 -1
- package/dist/components/button/Button.d.ts +0 -15
- package/dist/components/button/Button.d.ts.map +0 -1
- package/dist/components/button/Button.js +0 -23
- package/dist/components/button/Button.js.map +0 -1
- package/dist/components/button/index.d.ts +0 -3
- package/dist/components/button/index.d.ts.map +0 -1
- package/dist/components/button/index.js +0 -2
- package/dist/components/button/index.js.map +0 -1
- package/dist/components/button/meta.d.ts +0 -65
- package/dist/components/button/meta.d.ts.map +0 -1
- package/dist/components/button/meta.js +0 -52
- package/dist/components/button/meta.js.map +0 -1
- package/dist/components/button/resolveButtonThemeRecipe.d.ts +0 -9
- package/dist/components/button/resolveButtonThemeRecipe.d.ts.map +0 -1
- package/dist/components/button/resolveButtonThemeRecipe.js +0 -30
- package/dist/components/button/resolveButtonThemeRecipe.js.map +0 -1
- package/dist/components/button/themeRecipeMeta.d.ts.map +0 -1
- package/dist/components/button/themeRecipeMeta.js +0 -28
- package/dist/components/button/themeRecipeMeta.js.map +0 -1
- package/dist/components/button/types.d.ts +0 -13
- package/dist/components/button/types.d.ts.map +0 -1
- package/dist/components/button/types.js +0 -2
- package/dist/components/button/types.js.map +0 -1
- package/dist/components/button-group/ButtonGroup.d.ts +0 -7
- package/dist/components/button-group/ButtonGroup.d.ts.map +0 -1
- package/dist/components/button-group/ButtonGroup.js +0 -76
- package/dist/components/button-group/ButtonGroup.js.map +0 -1
- package/dist/components/button-group/index.d.ts +0 -3
- package/dist/components/button-group/index.d.ts.map +0 -1
- package/dist/components/button-group/index.js +0 -2
- package/dist/components/button-group/index.js.map +0 -1
- package/dist/components/button-group/meta.d.ts +0 -44
- package/dist/components/button-group/meta.d.ts.map +0 -1
- package/dist/components/button-group/meta.js +0 -44
- package/dist/components/button-group/meta.js.map +0 -1
- package/dist/components/button-group/types.d.ts +0 -13
- package/dist/components/button-group/types.d.ts.map +0 -1
- package/dist/components/button-group/types.js +0 -2
- package/dist/components/button-group/types.js.map +0 -1
- package/dist/components/card/Card.d.ts +0 -15
- package/dist/components/card/Card.d.ts.map +0 -1
- package/dist/components/card/Card.js +0 -53
- package/dist/components/card/Card.js.map +0 -1
- package/dist/components/card/index.d.ts +0 -3
- package/dist/components/card/index.d.ts.map +0 -1
- package/dist/components/card/index.js +0 -2
- package/dist/components/card/index.js.map +0 -1
- package/dist/components/card/meta.d.ts +0 -80
- package/dist/components/card/meta.d.ts.map +0 -1
- package/dist/components/card/meta.js +0 -49
- package/dist/components/card/meta.js.map +0 -1
- package/dist/components/card/resolveCardThemeRecipe.d.ts +0 -15
- package/dist/components/card/resolveCardThemeRecipe.d.ts.map +0 -1
- package/dist/components/card/resolveCardThemeRecipe.js.map +0 -1
- package/dist/components/card/themeRecipeMeta.d.ts.map +0 -1
- package/dist/components/card/themeRecipeMeta.js.map +0 -1
- package/dist/components/card/types.d.ts +0 -17
- package/dist/components/card/types.d.ts.map +0 -1
- package/dist/components/card/types.js +0 -2
- package/dist/components/card/types.js.map +0 -1
- package/dist/components/chip/Chip.d.ts +0 -7
- package/dist/components/chip/Chip.d.ts.map +0 -1
- package/dist/components/chip/Chip.js +0 -56
- package/dist/components/chip/Chip.js.map +0 -1
- package/dist/components/chip/index.d.ts +0 -3
- package/dist/components/chip/index.d.ts.map +0 -1
- package/dist/components/chip/index.js +0 -2
- package/dist/components/chip/index.js.map +0 -1
- package/dist/components/chip/meta.d.ts +0 -9
- package/dist/components/chip/meta.d.ts.map +0 -1
- package/dist/components/chip/meta.js +0 -9
- package/dist/components/chip/meta.js.map +0 -1
- package/dist/components/chip/resolveChipColors.d.ts +0 -10
- package/dist/components/chip/resolveChipColors.d.ts.map +0 -1
- package/dist/components/chip/resolveChipColors.js +0 -57
- package/dist/components/chip/resolveChipColors.js.map +0 -1
- package/dist/components/chip/types.d.ts +0 -26
- package/dist/components/chip/types.d.ts.map +0 -1
- package/dist/components/chip/types.js +0 -2
- package/dist/components/chip/types.js.map +0 -1
- package/dist/components/chip-group/ChipGroup.d.ts +0 -7
- package/dist/components/chip-group/ChipGroup.d.ts.map +0 -1
- package/dist/components/chip-group/ChipGroup.js +0 -38
- package/dist/components/chip-group/ChipGroup.js.map +0 -1
- package/dist/components/chip-group/index.d.ts +0 -3
- package/dist/components/chip-group/index.d.ts.map +0 -1
- package/dist/components/chip-group/index.js +0 -2
- package/dist/components/chip-group/index.js.map +0 -1
- package/dist/components/chip-group/meta.d.ts +0 -9
- package/dist/components/chip-group/meta.d.ts.map +0 -1
- package/dist/components/chip-group/meta.js +0 -9
- package/dist/components/chip-group/meta.js.map +0 -1
- package/dist/components/chip-group/types.d.ts +0 -31
- package/dist/components/chip-group/types.d.ts.map +0 -1
- package/dist/components/chip-group/types.js +0 -2
- package/dist/components/chip-group/types.js.map +0 -1
- package/dist/components/data-table/DataTable.d.ts +0 -7
- package/dist/components/data-table/DataTable.d.ts.map +0 -1
- package/dist/components/data-table/DataTable.js +0 -216
- package/dist/components/data-table/DataTable.js.map +0 -1
- package/dist/components/data-table/index.d.ts +0 -3
- package/dist/components/data-table/index.d.ts.map +0 -1
- package/dist/components/data-table/index.js +0 -2
- package/dist/components/data-table/index.js.map +0 -1
- package/dist/components/data-table/meta.d.ts +0 -9
- package/dist/components/data-table/meta.d.ts.map +0 -1
- package/dist/components/data-table/meta.js +0 -9
- package/dist/components/data-table/meta.js.map +0 -1
- package/dist/components/data-table/types.d.ts +0 -51
- package/dist/components/data-table/types.d.ts.map +0 -1
- package/dist/components/data-table/types.js +0 -2
- package/dist/components/data-table/types.js.map +0 -1
- package/dist/components/heading/Heading.d.ts +0 -15
- package/dist/components/heading/Heading.d.ts.map +0 -1
- package/dist/components/heading/Heading.js +0 -70
- package/dist/components/heading/Heading.js.map +0 -1
- package/dist/components/heading/index.d.ts +0 -3
- package/dist/components/heading/index.d.ts.map +0 -1
- package/dist/components/heading/index.js +0 -2
- package/dist/components/heading/index.js.map +0 -1
- package/dist/components/heading/meta.d.ts +0 -122
- package/dist/components/heading/meta.d.ts.map +0 -1
- package/dist/components/heading/meta.js +0 -80
- package/dist/components/heading/meta.js.map +0 -1
- package/dist/components/heading/resolveHeadingRecipe.d.ts +0 -16
- package/dist/components/heading/resolveHeadingRecipe.d.ts.map +0 -1
- package/dist/components/heading/resolveHeadingRecipe.js +0 -127
- package/dist/components/heading/resolveHeadingRecipe.js.map +0 -1
- package/dist/components/heading/resolveHeadingThemeRecipe.d.ts +0 -11
- package/dist/components/heading/resolveHeadingThemeRecipe.d.ts.map +0 -1
- package/dist/components/heading/resolveHeadingThemeRecipe.js.map +0 -1
- package/dist/components/heading/themeRecipeMeta.d.ts +0 -39
- package/dist/components/heading/themeRecipeMeta.d.ts.map +0 -1
- package/dist/components/heading/themeRecipeMeta.js +0 -32
- package/dist/components/heading/themeRecipeMeta.js.map +0 -1
- package/dist/components/heading/types.d.ts +0 -32
- package/dist/components/heading/types.d.ts.map +0 -1
- package/dist/components/heading/types.js +0 -2
- package/dist/components/heading/types.js.map +0 -1
- package/dist/components/icon/Icon.d.ts +0 -9
- package/dist/components/icon/Icon.d.ts.map +0 -1
- package/dist/components/icon/Icon.js +0 -11
- package/dist/components/icon/Icon.js.map +0 -1
- package/dist/components/icon/index.d.ts +0 -3
- package/dist/components/icon/index.d.ts.map +0 -1
- package/dist/components/icon/index.js +0 -2
- package/dist/components/icon/index.js.map +0 -1
- package/dist/components/icon/meta.d.ts +0 -38
- package/dist/components/icon/meta.d.ts.map +0 -1
- package/dist/components/icon/meta.js +0 -30
- package/dist/components/icon/meta.js.map +0 -1
- package/dist/components/icon-button/IconButton.d.ts +0 -7
- package/dist/components/icon-button/IconButton.d.ts.map +0 -1
- package/dist/components/icon-button/IconButton.js +0 -13
- package/dist/components/icon-button/IconButton.js.map +0 -1
- package/dist/components/icon-button/index.d.ts +0 -3
- package/dist/components/icon-button/index.d.ts.map +0 -1
- package/dist/components/icon-button/index.js +0 -3
- package/dist/components/icon-button/index.js.map +0 -1
- package/dist/components/icon-button/meta.d.ts +0 -9
- package/dist/components/icon-button/meta.d.ts.map +0 -1
- package/dist/components/icon-button/meta.js +0 -9
- package/dist/components/icon-button/meta.js.map +0 -1
- package/dist/components/icon-button/types.d.ts +0 -15
- package/dist/components/icon-button/types.d.ts.map +0 -1
- package/dist/components/icon-button/types.js +0 -2
- package/dist/components/icon-button/types.js.map +0 -1
- package/dist/components/image/Image.d.ts +0 -5
- package/dist/components/image/Image.d.ts.map +0 -1
- package/dist/components/image/Image.js +0 -84
- package/dist/components/image/Image.js.map +0 -1
- package/dist/components/image/index.d.ts +0 -3
- package/dist/components/image/index.d.ts.map +0 -1
- package/dist/components/image/index.js +0 -2
- package/dist/components/image/index.js.map +0 -1
- package/dist/components/image/meta.d.ts +0 -30
- package/dist/components/image/meta.d.ts.map +0 -1
- package/dist/components/image/meta.js +0 -24
- package/dist/components/image/meta.js.map +0 -1
- package/dist/components/image/types.d.ts +0 -8
- package/dist/components/image/types.d.ts.map +0 -1
- package/dist/components/image/types.js +0 -2
- package/dist/components/image/types.js.map +0 -1
- package/dist/components/media-card/MediaCard.d.ts +0 -7
- package/dist/components/media-card/MediaCard.d.ts.map +0 -1
- package/dist/components/media-card/MediaCard.js +0 -67
- package/dist/components/media-card/MediaCard.js.map +0 -1
- package/dist/components/media-card/index.d.ts +0 -3
- package/dist/components/media-card/index.d.ts.map +0 -1
- package/dist/components/media-card/index.js +0 -2
- package/dist/components/media-card/index.js.map +0 -1
- package/dist/components/media-card/meta.d.ts +0 -9
- package/dist/components/media-card/meta.d.ts.map +0 -1
- package/dist/components/media-card/meta.js +0 -9
- package/dist/components/media-card/meta.js.map +0 -1
- package/dist/components/media-card/types.d.ts +0 -36
- package/dist/components/media-card/types.d.ts.map +0 -1
- package/dist/components/media-card/types.js +0 -2
- package/dist/components/media-card/types.js.map +0 -1
- package/dist/components/metric-card/MetricCard.d.ts +0 -7
- package/dist/components/metric-card/MetricCard.d.ts.map +0 -1
- package/dist/components/metric-card/MetricCard.js +0 -46
- package/dist/components/metric-card/MetricCard.js.map +0 -1
- package/dist/components/metric-card/index.d.ts +0 -3
- package/dist/components/metric-card/index.d.ts.map +0 -1
- package/dist/components/metric-card/index.js +0 -2
- package/dist/components/metric-card/index.js.map +0 -1
- package/dist/components/metric-card/meta.d.ts +0 -9
- package/dist/components/metric-card/meta.d.ts.map +0 -1
- package/dist/components/metric-card/meta.js +0 -9
- package/dist/components/metric-card/meta.js.map +0 -1
- package/dist/components/metric-card/types.d.ts +0 -17
- package/dist/components/metric-card/types.d.ts.map +0 -1
- package/dist/components/metric-card/types.js +0 -2
- package/dist/components/metric-card/types.js.map +0 -1
- package/dist/components/splash-screen/SplashScreen.d.ts +0 -11
- package/dist/components/splash-screen/SplashScreen.d.ts.map +0 -1
- package/dist/components/splash-screen/SplashScreen.js +0 -54
- package/dist/components/splash-screen/SplashScreen.js.map +0 -1
- package/dist/components/splash-screen/index.d.ts +0 -3
- package/dist/components/splash-screen/index.d.ts.map +0 -1
- package/dist/components/splash-screen/index.js +0 -2
- package/dist/components/splash-screen/index.js.map +0 -1
- package/dist/components/splash-screen/meta.d.ts +0 -9
- package/dist/components/splash-screen/meta.d.ts.map +0 -1
- package/dist/components/splash-screen/meta.js +0 -9
- package/dist/components/splash-screen/meta.js.map +0 -1
- package/dist/components/splash-screen/types.d.ts +0 -16
- package/dist/components/splash-screen/types.d.ts.map +0 -1
- package/dist/components/splash-screen/types.js +0 -2
- package/dist/components/splash-screen/types.js.map +0 -1
- package/dist/components/text/Text.d.ts +0 -15
- package/dist/components/text/Text.d.ts.map +0 -1
- package/dist/components/text/Text.js +0 -64
- package/dist/components/text/Text.js.map +0 -1
- package/dist/components/text/index.d.ts +0 -3
- package/dist/components/text/index.d.ts.map +0 -1
- package/dist/components/text/index.js +0 -2
- package/dist/components/text/index.js.map +0 -1
- package/dist/components/text/meta.d.ts +0 -111
- package/dist/components/text/meta.d.ts.map +0 -1
- package/dist/components/text/meta.js +0 -72
- package/dist/components/text/meta.js.map +0 -1
- package/dist/components/text/resolveTextRecipe.d.ts +0 -16
- package/dist/components/text/resolveTextRecipe.d.ts.map +0 -1
- package/dist/components/text/resolveTextRecipe.js +0 -148
- package/dist/components/text/resolveTextRecipe.js.map +0 -1
- package/dist/components/text/resolveTextThemeRecipe.d.ts +0 -11
- package/dist/components/text/resolveTextThemeRecipe.d.ts.map +0 -1
- package/dist/components/text/resolveTextThemeRecipe.js.map +0 -1
- package/dist/components/text/themeRecipeMeta.d.ts +0 -40
- package/dist/components/text/themeRecipeMeta.d.ts.map +0 -1
- package/dist/components/text/themeRecipeMeta.js +0 -33
- package/dist/components/text/themeRecipeMeta.js.map +0 -1
- package/dist/components/text/types.d.ts +0 -31
- package/dist/components/text/types.d.ts.map +0 -1
- package/dist/components/text/types.js +0 -2
- package/dist/components/text/types.js.map +0 -1
- package/dist/features/uploader/meta.d.ts +0 -10
- package/dist/features/uploader/meta.d.ts.map +0 -1
- package/dist/features/uploader/meta.js +0 -10
- package/dist/features/uploader/meta.js.map +0 -1
- package/dist/foundation/Box.d.ts +0 -12
- package/dist/foundation/Box.d.ts.map +0 -1
- package/dist/foundation/Box.js +0 -13
- package/dist/foundation/Box.js.map +0 -1
- package/dist/foundation/Container.d.ts +0 -12
- package/dist/foundation/Container.d.ts.map +0 -1
- package/dist/foundation/Container.js +0 -13
- package/dist/foundation/Container.js.map +0 -1
- package/dist/foundation/Divider.d.ts +0 -12
- package/dist/foundation/Divider.d.ts.map +0 -1
- package/dist/foundation/Divider.js +0 -13
- package/dist/foundation/Divider.js.map +0 -1
- package/dist/foundation/Grid.d.ts +0 -12
- package/dist/foundation/Grid.d.ts.map +0 -1
- package/dist/foundation/Grid.js +0 -13
- package/dist/foundation/Grid.js.map +0 -1
- package/dist/foundation/Stack.d.ts +0 -12
- package/dist/foundation/Stack.d.ts.map +0 -1
- package/dist/foundation/Stack.js +0 -13
- package/dist/foundation/Stack.js.map +0 -1
- package/dist/foundation/Surface.d.ts +0 -13
- package/dist/foundation/Surface.d.ts.map +0 -1
- package/dist/foundation/Surface.js +0 -13
- package/dist/foundation/Surface.js.map +0 -1
- package/dist/patterns/content-rail/ContentRail.d.ts +0 -10
- package/dist/patterns/content-rail/ContentRail.d.ts.map +0 -1
- package/dist/patterns/content-rail/ContentRail.js +0 -175
- package/dist/patterns/content-rail/ContentRail.js.map +0 -1
- package/dist/patterns/content-rail/index.d.ts +0 -3
- package/dist/patterns/content-rail/index.d.ts.map +0 -1
- package/dist/patterns/content-rail/index.js +0 -2
- package/dist/patterns/content-rail/index.js.map +0 -1
- package/dist/patterns/content-rail/meta.d.ts +0 -143
- package/dist/patterns/content-rail/meta.d.ts.map +0 -1
- package/dist/patterns/content-rail/meta.js +0 -130
- package/dist/patterns/content-rail/meta.js.map +0 -1
- package/dist/patterns/content-rail/resolveContentRailItemWidth.d.ts +0 -10
- package/dist/patterns/content-rail/resolveContentRailItemWidth.d.ts.map +0 -1
- package/dist/patterns/content-rail/resolveContentRailItemWidth.js +0 -25
- package/dist/patterns/content-rail/resolveContentRailItemWidth.js.map +0 -1
- package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.d.ts.map +0 -1
- package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.js.map +0 -1
- package/dist/patterns/content-rail/resolveContentRailState.d.ts.map +0 -1
- package/dist/patterns/content-rail/resolveContentRailState.js.map +0 -1
- package/dist/patterns/content-rail/types.d.ts +0 -31
- package/dist/patterns/content-rail/types.d.ts.map +0 -1
- package/dist/patterns/content-rail/types.js +0 -2
- package/dist/patterns/content-rail/types.js.map +0 -1
- package/dist/patterns/content-rail/useContentRailReducedMotion.d.ts +0 -3
- package/dist/patterns/content-rail/useContentRailReducedMotion.d.ts.map +0 -1
- package/dist/patterns/content-rail/useContentRailReducedMotion.js.map +0 -1
- package/dist/patterns/post-card/PostCard.d.ts +0 -9
- package/dist/patterns/post-card/PostCard.d.ts.map +0 -1
- package/dist/patterns/post-card/PostCard.js +0 -138
- package/dist/patterns/post-card/PostCard.js.map +0 -1
- package/dist/patterns/post-card/index.d.ts +0 -3
- package/dist/patterns/post-card/index.d.ts.map +0 -1
- package/dist/patterns/post-card/index.js +0 -2
- package/dist/patterns/post-card/index.js.map +0 -1
- package/dist/patterns/post-card/meta.d.ts +0 -64
- package/dist/patterns/post-card/meta.d.ts.map +0 -1
- package/dist/patterns/post-card/meta.js +0 -66
- package/dist/patterns/post-card/meta.js.map +0 -1
- package/dist/patterns/post-card/types.d.ts +0 -64
- package/dist/patterns/post-card/types.d.ts.map +0 -1
- package/dist/patterns/post-card/types.js +0 -2
- package/dist/patterns/post-card/types.js.map +0 -1
- package/dist/patterns/product-card/ProductCard.d.ts +0 -5
- package/dist/patterns/product-card/ProductCard.d.ts.map +0 -1
- package/dist/patterns/product-card/ProductCard.js +0 -70
- package/dist/patterns/product-card/ProductCard.js.map +0 -1
- package/dist/patterns/product-card/index.d.ts +0 -3
- package/dist/patterns/product-card/index.d.ts.map +0 -1
- package/dist/patterns/product-card/index.js +0 -2
- package/dist/patterns/product-card/index.js.map +0 -1
- package/dist/patterns/product-card/meta.d.ts +0 -110
- package/dist/patterns/product-card/meta.d.ts.map +0 -1
- package/dist/patterns/product-card/meta.js +0 -110
- package/dist/patterns/product-card/meta.js.map +0 -1
- package/dist/patterns/product-card/types.d.ts +0 -23
- package/dist/patterns/product-card/types.d.ts.map +0 -1
- package/dist/patterns/product-card/types.js +0 -2
- package/dist/patterns/product-card/types.js.map +0 -1
- package/src/components/avatar/Avatar.tsx +0 -148
- package/src/components/avatar/index.ts +0 -3
- package/src/components/avatar/meta.ts +0 -10
- package/src/components/avatar/types.ts +0 -20
- package/src/components/avatar-group/AvatarGroup.tsx +0 -78
- package/src/components/avatar-group/index.ts +0 -2
- package/src/components/avatar-group/meta.ts +0 -10
- package/src/components/avatar-group/types.ts +0 -24
- package/src/components/badge/Badge.tsx +0 -34
- package/src/components/badge/index.ts +0 -2
- package/src/components/badge/meta.ts +0 -10
- package/src/components/badge/types.ts +0 -15
- package/src/components/button/Button.tsx +0 -43
- package/src/components/button/index.ts +0 -2
- package/src/components/button/meta.ts +0 -54
- package/src/components/button/resolveButtonThemeRecipe.ts +0 -41
- package/src/components/button/themeRecipeMeta.ts +0 -29
- package/src/components/button/types.ts +0 -15
- package/src/components/button-group/ButtonGroup.tsx +0 -109
- package/src/components/button-group/index.ts +0 -2
- package/src/components/button-group/meta.ts +0 -45
- package/src/components/button-group/types.ts +0 -15
- package/src/components/card/Card.tsx +0 -92
- package/src/components/card/index.ts +0 -2
- package/src/components/card/meta.ts +0 -51
- package/src/components/card/resolveCardThemeRecipe.ts +0 -33
- package/src/components/card/themeRecipeMeta.ts +0 -32
- package/src/components/card/types.ts +0 -19
- package/src/components/chip/Chip.tsx +0 -97
- package/src/components/chip/index.ts +0 -2
- package/src/components/chip/meta.ts +0 -10
- package/src/components/chip/resolveChipColors.ts +0 -75
- package/src/components/chip/types.ts +0 -29
- package/src/components/chip-group/ChipGroup.tsx +0 -74
- package/src/components/chip-group/index.ts +0 -2
- package/src/components/chip-group/meta.ts +0 -10
- package/src/components/chip-group/types.ts +0 -36
- package/src/components/data-table/DataTable.tsx +0 -408
- package/src/components/data-table/index.ts +0 -11
- package/src/components/data-table/meta.ts +0 -10
- package/src/components/data-table/types.ts +0 -57
- package/src/components/heading/Heading.tsx +0 -114
- package/src/components/heading/index.ts +0 -10
- package/src/components/heading/meta.ts +0 -82
- package/src/components/heading/resolveHeadingRecipe.test.ts +0 -292
- package/src/components/heading/resolveHeadingRecipe.ts +0 -191
- package/src/components/heading/resolveHeadingThemeRecipe.ts +0 -55
- package/src/components/heading/themeRecipeMeta.ts +0 -33
- package/src/components/heading/types.ts +0 -38
- package/src/components/icon/Icon.tsx +0 -21
- package/src/components/icon/index.ts +0 -2
- package/src/components/icon/meta.test.ts +0 -22
- package/src/components/icon-button/IconButton.tsx +0 -37
- package/src/components/icon-button/index.ts +0 -2
- package/src/components/icon-button/meta.ts +0 -10
- package/src/components/icon-button/types.ts +0 -16
- package/src/components/image/Image.tsx +0 -149
- package/src/components/image/index.ts +0 -2
- package/src/components/image/meta.ts +0 -25
- package/src/components/image/types.ts +0 -11
- package/src/components/media-card/MediaCard.tsx +0 -125
- package/src/components/media-card/index.ts +0 -2
- package/src/components/media-card/meta.ts +0 -10
- package/src/components/media-card/types.ts +0 -42
- package/src/components/metric-card/MetricCard.tsx +0 -82
- package/src/components/metric-card/index.ts +0 -2
- package/src/components/metric-card/meta.ts +0 -10
- package/src/components/metric-card/types.ts +0 -18
- package/src/components/splash-screen/SplashScreen.tsx +0 -98
- package/src/components/splash-screen/index.ts +0 -2
- package/src/components/splash-screen/meta.ts +0 -10
- package/src/components/splash-screen/types.ts +0 -18
- package/src/components/text/Text.tsx +0 -111
- package/src/components/text/index.ts +0 -9
- package/src/components/text/meta.ts +0 -74
- package/src/components/text/resolveTextRecipe.test.ts +0 -380
- package/src/components/text/resolveTextRecipe.ts +0 -214
- package/src/components/text/resolveTextThemeRecipe.ts +0 -48
- package/src/components/text/themeRecipeMeta.ts +0 -34
- package/src/components/text/types.ts +0 -41
- package/src/features/uploader/meta.ts +0 -11
- package/src/foundation/Box.tsx +0 -23
- package/src/foundation/Container.tsx +0 -27
- package/src/foundation/Divider.tsx +0 -27
- package/src/foundation/Grid.tsx +0 -23
- package/src/foundation/Stack.tsx +0 -23
- package/src/foundation/Surface.tsx +0 -30
- package/src/patterns/content-rail/ContentRail.test.ts +0 -44
- package/src/patterns/content-rail/ContentRail.tsx +0 -245
- package/src/patterns/content-rail/index.ts +0 -10
- package/src/patterns/content-rail/meta.ts +0 -133
- package/src/patterns/content-rail/resolveContentRailItemWidth.ts +0 -39
- package/src/patterns/content-rail/types.ts +0 -35
- package/src/patterns/content-rail/useContentRailReducedMotion.ts +0 -28
- package/src/patterns/post-card/PostCard.test.tsx +0 -11
- package/src/patterns/post-card/PostCard.tsx +0 -241
- package/src/patterns/post-card/index.ts +0 -8
- package/src/patterns/post-card/types.ts +0 -71
- package/src/patterns/product-card/ProductCard.test.tsx +0 -19
- package/src/patterns/product-card/ProductCard.tsx +0 -141
- package/src/patterns/product-card/index.ts +0 -2
- package/src/patterns/product-card/types.ts +0 -23
- /package/dist/{components/avatar → features/avatar/utils}/resolveAvatarInitials.d.ts +0 -0
- /package/dist/{components/avatar → features/avatar/utils}/resolveAvatarInitials.js +0 -0
- /package/dist/{components/button → features/button/utils}/themeRecipeMeta.d.ts +0 -0
- /package/dist/{components/card → features/card/utils}/resolveCardThemeRecipe.js +0 -0
- /package/dist/{components/card → features/card/utils}/themeRecipeMeta.d.ts +0 -0
- /package/dist/{components/card → features/card/utils}/themeRecipeMeta.js +0 -0
- /package/dist/{patterns/content-rail → features/layout/utils}/resolveContentRailPhysicalOffset.d.ts +0 -0
- /package/dist/{patterns/content-rail → features/layout/utils}/resolveContentRailPhysicalOffset.js +0 -0
- /package/dist/{patterns/content-rail → features/layout/utils}/resolveContentRailState.d.ts +0 -0
- /package/dist/{patterns/content-rail → features/layout/utils}/resolveContentRailState.js +0 -0
- /package/dist/{patterns/content-rail → features/layout/utils}/useContentRailReducedMotion.js +0 -0
- /package/dist/{components/heading → features/typography/utils}/resolveHeadingThemeRecipe.js +0 -0
- /package/dist/{components/text → features/typography/utils}/resolveTextThemeRecipe.js +0 -0
- /package/src/{components/avatar → features/avatar/utils}/resolveAvatarInitials.test.ts +0 -0
- /package/src/{components/avatar → features/avatar/utils}/resolveAvatarInitials.ts +0 -0
- /package/src/{components/button → features/button/utils}/resolveButtonThemeRecipe.test.ts +0 -0
- /package/src/{patterns/post-card/meta.ts → features/card/postCardMeta.ts} +0 -0
- /package/src/{patterns/product-card/meta.ts → features/card/productCardMeta.ts} +0 -0
- /package/src/{components/card → features/card/utils}/resolveCardThemeRecipe.test.ts +0 -0
- /package/src/{components/icon/meta.ts → features/icon/iconMeta.ts} +0 -0
- /package/src/{patterns/content-rail → features/layout/utils}/resolveContentRailItemWidth.test.ts +0 -0
- /package/src/{patterns/content-rail → features/layout/utils}/resolveContentRailPhysicalOffset.test.ts +0 -0
- /package/src/{patterns/content-rail → features/layout/utils}/resolveContentRailPhysicalOffset.ts +0 -0
- /package/src/{patterns/content-rail → features/layout/utils}/resolveContentRailState.test.ts +0 -0
- /package/src/{patterns/content-rail → features/layout/utils}/resolveContentRailState.ts +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Button } from '../../features/button/public';
|
|
3
|
+
import { Box, Stack } from '../../features/layout/public';
|
|
4
|
+
import { Text } from '../../features/typography/public';
|
|
3
5
|
import { useZoraTheme } from '../../theme/useZoraTheme';
|
|
4
6
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
5
|
-
import { Button } from '../button';
|
|
6
|
-
import { Text } from '../text';
|
|
7
7
|
function TabsInner({ themeId: _themeId, mode: _mode, value, items, onValueChange, variant = 'underline', size = 'm', disabled: tabsDisabled, testID, interactionPolicy, }) {
|
|
8
8
|
const { theme } = useZoraTheme();
|
|
9
9
|
const passive = interactionPolicy === 'passive';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,SAAS,CAAiC,EACjD,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,KAAK,EACL,aAAa,EACb,OAAO,GAAG,WAAW,EACrB,IAAI,GAAG,GAAG,EACV,QAAQ,EAAE,YAAY,EACtB,MAAM,EACN,iBAAiB,GACC;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,iBAAiB,KAAK,SAAS,CAAC;IAEhD,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;QACtC,MAAM,UAAU,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;QAEjD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,OAAO,CACL,CAAC,MAAM,CACL,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAChB,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CACtC,KAAK,CAAC,SAAS,CACf,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,OAAO,CAAC,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAEpB;UAAA,CAAC,IAAI,CAAC,KAAK,CACX;UAAA,CAAC,IAAI,CAAC,KAAK,CACb;QAAA,EAAE,MAAM,CAAC,CACV,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,CACL,CAAC,MAAM,CACL,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAChB,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CACrC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACxC,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,OAAO,CAAC,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAEpB;UAAA,CAAC,IAAI,CAAC,KAAK,CACX;UAAA,CAAC,IAAI,CAAC,KAAK,CACb;QAAA,EAAE,MAAM,CAAC,CACV,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,OAAO,CACL,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAChB,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAC7D,EAAE,CAAC,IAAI,CACP,KAAK,CAAC,CAAC;gBACL,iBAAiB,EAAE,CAAC;aACrB,CAAC,CAEF;QAAA,CAAC,MAAM,CACL,OAAO,CAAC,OAAO,CACf,KAAK,CAAC,SAAS,CACf,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,OAAO,CAAC,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAEpB;UAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACxC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CACzC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAE1C;YAAA,CAAC,IAAI,CAAC,KAAK,CACb;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,IAAI,CAAC,KAAK,CACb;QAAA,EAAE,MAAM,CACV;MAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,KAAK,CACJ,SAAS,CAAC,KAAK,CACf,GAAG,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAC5C,KAAK,CAAC,QAAQ,CACd,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5C,EAAE,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CACvD,MAAM,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAE/C;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CACvB;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Button } from '../../features/button/public';\nimport { Box, Stack } from '../../features/layout/public';\nimport { Text } from '../../features/typography/public';\nimport { useZoraTheme } from '../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { TabItem, TabsProps } from './types';\n\nfunction TabsInner<TValue extends string = string>({\n themeId: _themeId,\n mode: _mode,\n value,\n items,\n onValueChange,\n variant = 'underline',\n size = 'm',\n disabled: tabsDisabled,\n testID,\n interactionPolicy,\n}: TabsProps<TValue>) {\n const { theme } = useZoraTheme();\n const passive = interactionPolicy === 'passive';\n\n const renderTab = (item: TabItem<TValue>) => {\n const isActive = item.value === value;\n const isDisabled = tabsDisabled ?? item.disabled;\n\n if (variant === 'segmented') {\n return (\n <Button\n key={item.value}\n variant={isActive ? 'solid' : 'ghost'}\n color=\"neutral\"\n size={size}\n disabled={isDisabled}\n onPress={() => {\n if (!passive) {\n onValueChange(item.value);\n }\n }}\n leadingIcon={item.icon}\n testID={item.testID}\n >\n {item.label}\n {item.badge}\n </Button>\n );\n }\n\n if (variant === 'pill') {\n return (\n <Button\n key={item.value}\n variant={isActive ? 'soft' : 'ghost'}\n color={isActive ? 'primary' : 'neutral'}\n size={size}\n disabled={isDisabled}\n onPress={() => {\n if (!passive) {\n onValueChange(item.value);\n }\n }}\n leadingIcon={item.icon}\n testID={item.testID}\n >\n {item.label}\n {item.badge}\n </Button>\n );\n }\n\n // Default: 'underline'\n return (\n <Box\n key={item.value}\n borderColor={isActive ? theme.colors.primary : 'transparent'}\n pb=\"xs\"\n style={{\n borderBottomWidth: 2,\n }}\n >\n <Button\n variant=\"ghost\"\n color=\"neutral\"\n size={size}\n disabled={isDisabled}\n onPress={() => {\n if (!passive) {\n onValueChange(item.value);\n }\n }}\n leadingIcon={item.icon}\n testID={item.testID}\n >\n <Text\n color={isActive ? 'primary' : undefined}\n emphasis={isActive ? 'default' : 'muted'}\n weight={isActive ? 'semiBold' : 'regular'}\n >\n {item.label}\n </Text>\n {item.badge}\n </Button>\n </Box>\n );\n };\n\n return (\n <Stack\n direction=\"row\"\n gap={variant === 'segmented' ? 'none' : 'm'}\n align=\"center\"\n testID={testID}\n p={variant === 'segmented' ? 'xxs' : 'none'}\n bg={variant === 'segmented' ? 'subtle' : 'transparent'}\n radius={variant === 'segmented' ? 'm' : 'none'}\n >\n {items.map(renderTab)}\n </Stack>\n );\n}\n\n/***\n * Tab navigation for switching between views or content sections.\n *\n \n */\nexport const Tabs = withZoraThemeScope(TabsInner);\n"]}
|
|
@@ -2,10 +2,10 @@ import { Field } from '@ankhorage/surface';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ScrollView, StyleSheet } from 'react-native';
|
|
4
4
|
import { useBottomSheet } from '../../features/bottom-sheet/public';
|
|
5
|
-
import {
|
|
5
|
+
import { Button } from '../../features/button/public';
|
|
6
|
+
import { Stack } from '../../features/layout/public';
|
|
7
|
+
import { Text } from '../../features/typography/public';
|
|
6
8
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
7
|
-
import { Button } from '../button';
|
|
8
|
-
import { Text } from '../text';
|
|
9
9
|
const MINUTES_PER_DAY = 24 * 60;
|
|
10
10
|
const DEFAULT_STEP_MINUTES = 30;
|
|
11
11
|
/*** Render the field label and optional supporting description. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../src/components/time-picker/TimePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Field } from '@ankhorage/surface';\nimport React from 'react';\nimport { ScrollView, StyleSheet } from 'react-native';\n\nimport { useBottomSheet } from '../../features/bottom-sheet/public';\nimport { Stack } from '../../foundation';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { Button } from '../button';\nimport { Text } from '../text';\nimport type { TimePickerProps } from './types';\n\nconst MINUTES_PER_DAY = 24 * 60;\nconst DEFAULT_STEP_MINUTES = 30;\n\n/*** Render the field label and optional supporting description. */\nfunction renderLabel(label: React.ReactNode, description: React.ReactNode | undefined) {\n return (\n <Stack 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 </Stack>\n );\n}\n\n/*** Parse 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/*** Format 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/*** Normalize 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/*** Generate 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 const options: string[] = [];\n\n for (let minute = 0; minute < MINUTES_PER_DAY; minute += step) {\n if (minute >= min && minute <= max) options.push(formatMinutes(minute));\n }\n return options;\n}\n\nfunction TimePickerInner({\n themeId: _themeId,\n mode: _mode,\n value,\n onValueChange,\n label,\n description,\n error,\n placeholder = 'Choose time',\n minTime,\n maxTime,\n stepMinutes,\n disabled = false,\n required = false,\n formatTime,\n testID,\n interactionPolicy,\n}: TimePickerProps) {\n const { dismiss, present } = useBottomSheet();\n const passive = interactionPolicy === 'passive';\n const displayValue = value ? (formatTime ? formatTime(value) : value) : placeholder;\n\n /*** Present the time options through the shared BottomSheet controller. */\n function openPicker() {\n if (passive) return;\n present({\n content: (\n <TimePickerSheet\n description={description}\n formatTime={formatTime}\n interactionPolicy={interactionPolicy}\n label={label}\n maxTime={maxTime}\n minTime={minTime}\n onDismiss={dismiss}\n onSelect={(time) => {\n onValueChange?.(time);\n dismiss();\n }}\n stepMinutes={stepMinutes}\n testID={testID}\n value={value}\n />\n ),\n });\n }\n\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 <Button\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={openPicker}\n testID={testID ? `${testID}-trigger` : undefined}\n trailingIcon={{ name: 'chevron-down-outline' }}\n variant=\"outline\"\n >\n {displayValue}\n </Button>\n </Field>\n );\n}\n\ninterface TimePickerSheetProps 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/*** Render time selection content inside the shared BottomSheet host. */\nfunction TimePickerSheet({\n description,\n formatTime,\n interactionPolicy,\n label,\n maxTime,\n minTime,\n onDismiss,\n onSelect,\n stepMinutes,\n testID,\n value,\n}: TimePickerSheetProps) {\n const options = React.useMemo(\n () => generateTimeOptions({ maxTime, minTime, stepMinutes }),\n [maxTime, minTime, stepMinutes],\n );\n\n return (\n <Stack gap=\"m\" p=\"m\" testID={testID ? `${testID}-sheet` : undefined}>\n <PickerSheetHeader description={description} title={label ?? 'Choose time'} />\n <ScrollView style={styles.options}>\n <Stack 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 </Stack>\n </ScrollView>\n <Button fullWidth interactionPolicy={interactionPolicy} onPress={onDismiss} variant=\"ghost\">\n Cancel\n </Button>\n </Stack>\n );\n}\n\n/*** Render the shared title block used by the time sheet. */\nfunction PickerSheetHeader({\n description,\n title,\n}: {\n description: React.ReactNode | undefined;\n title: React.ReactNode;\n}) {\n return (\n <Stack 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 </Stack>\n );\n}\n\n/*** Render one accessible selectable time option. */\nfunction TimePickerOption({\n formatTime,\n interactionPolicy,\n onSelect,\n option,\n selected,\n testID,\n}: Pick<TimePickerSheetProps, '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\nconst styles = StyleSheet.create({\n options: { maxHeight: 360 },\n});\n\n/***\n * Time input control with bottom-sheet selection and formatted display value.\n */\nexport const TimePicker = withZoraThemeScope(TimePickerInner);\n"]}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../src/components/time-picker/TimePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Field } from '@ankhorage/surface';\nimport React from 'react';\nimport { ScrollView, StyleSheet } from 'react-native';\n\nimport { useBottomSheet } from '../../features/bottom-sheet/public';\nimport { Button } from '../../features/button/public';\nimport { Stack } from '../../features/layout/public';\nimport { Text } from '../../features/typography/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { TimePickerProps } from './types';\n\nconst MINUTES_PER_DAY = 24 * 60;\nconst DEFAULT_STEP_MINUTES = 30;\n\n/*** Render the field label and optional supporting description. */\nfunction renderLabel(label: React.ReactNode, description: React.ReactNode | undefined) {\n return (\n <Stack 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 </Stack>\n );\n}\n\n/*** Parse 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/*** Format 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/*** Normalize 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/*** Generate 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 const options: string[] = [];\n\n for (let minute = 0; minute < MINUTES_PER_DAY; minute += step) {\n if (minute >= min && minute <= max) options.push(formatMinutes(minute));\n }\n return options;\n}\n\nfunction TimePickerInner({\n themeId: _themeId,\n mode: _mode,\n value,\n onValueChange,\n label,\n description,\n error,\n placeholder = 'Choose time',\n minTime,\n maxTime,\n stepMinutes,\n disabled = false,\n required = false,\n formatTime,\n testID,\n interactionPolicy,\n}: TimePickerProps) {\n const { dismiss, present } = useBottomSheet();\n const passive = interactionPolicy === 'passive';\n const displayValue = value ? (formatTime ? formatTime(value) : value) : placeholder;\n\n /*** Present the time options through the shared BottomSheet controller. */\n function openPicker() {\n if (passive) return;\n present({\n content: (\n <TimePickerSheet\n description={description}\n formatTime={formatTime}\n interactionPolicy={interactionPolicy}\n label={label}\n maxTime={maxTime}\n minTime={minTime}\n onDismiss={dismiss}\n onSelect={(time) => {\n onValueChange?.(time);\n dismiss();\n }}\n stepMinutes={stepMinutes}\n testID={testID}\n value={value}\n />\n ),\n });\n }\n\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 <Button\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={openPicker}\n testID={testID ? `${testID}-trigger` : undefined}\n trailingIcon={{ name: 'chevron-down-outline' }}\n variant=\"outline\"\n >\n {displayValue}\n </Button>\n </Field>\n );\n}\n\ninterface TimePickerSheetProps 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/*** Render time selection content inside the shared BottomSheet host. */\nfunction TimePickerSheet({\n description,\n formatTime,\n interactionPolicy,\n label,\n maxTime,\n minTime,\n onDismiss,\n onSelect,\n stepMinutes,\n testID,\n value,\n}: TimePickerSheetProps) {\n const options = React.useMemo(\n () => generateTimeOptions({ maxTime, minTime, stepMinutes }),\n [maxTime, minTime, stepMinutes],\n );\n\n return (\n <Stack gap=\"m\" p=\"m\" testID={testID ? `${testID}-sheet` : undefined}>\n <PickerSheetHeader description={description} title={label ?? 'Choose time'} />\n <ScrollView style={styles.options}>\n <Stack 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 </Stack>\n </ScrollView>\n <Button fullWidth interactionPolicy={interactionPolicy} onPress={onDismiss} variant=\"ghost\">\n Cancel\n </Button>\n </Stack>\n );\n}\n\n/*** Render the shared title block used by the time sheet. */\nfunction PickerSheetHeader({\n description,\n title,\n}: {\n description: React.ReactNode | undefined;\n title: React.ReactNode;\n}) {\n return (\n <Stack 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 </Stack>\n );\n}\n\n/*** Render one accessible selectable time option. */\nfunction TimePickerOption({\n formatTime,\n interactionPolicy,\n onSelect,\n option,\n selected,\n testID,\n}: Pick<TimePickerSheetProps, '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\nconst styles = StyleSheet.create({\n options: { maxHeight: 360 },\n});\n\n/***\n * Time input control with bottom-sheet selection and formatted display value.\n */\nexport const TimePicker = withZoraThemeScope(TimePickerInner);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Card } from '../../features/card/public';
|
|
3
|
+
import { Stack } from '../../features/layout/public';
|
|
3
4
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
4
|
-
import { Card } from '../card';
|
|
5
5
|
function ToolbarInner({ themeId: _themeId, mode: _mode, interactionPolicy: _interactionPolicy, children, position = 'inline', floating = false, compact = true, testID, }) {
|
|
6
6
|
const isFixed = position === 'top' || position === 'bottom';
|
|
7
7
|
return (<Card compact={compact} tone={floating ? 'default' : 'subtle'} testID={testID} style={isFixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,YAAY,CAAC,EACpB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,iBAAiB,EAAE,kBAAkB,EACrC,QAAQ,EACR,QAAQ,GAAG,QAAQ,EACnB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,IAAI,EACd,MAAM,GACO;IACb,MAAM,OAAO,GAAG,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,CAAC;IAE5D,OAAO,CACL,CAAC,IAAI,CACH,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACtC,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CACJ,OAAO;YACL,CAAC,CAAC;gBACE,QAAQ,EAAE,UAAU;gBACpB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACb,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,QAAQ;aACpB;YACH,CAAC,CAAC,SACN,CAAC,CAED;MAAA,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAC3C;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Card } from '../../features/card/public';\nimport { Stack } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ToolbarProps } from './types';\n\nfunction ToolbarInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy: _interactionPolicy,\n children,\n position = 'inline',\n floating = false,\n compact = true,\n testID,\n}: ToolbarProps) {\n const isFixed = position === 'top' || position === 'bottom';\n\n return (\n <Card\n compact={compact}\n tone={floating ? 'default' : 'subtle'}\n testID={testID}\n style={\n isFixed\n ? {\n position: 'absolute',\n [position]: 0,\n zIndex: 10,\n alignSelf: 'center',\n }\n : undefined\n }\n >\n <Stack direction=\"row\" gap=\"s\" align=\"center\">\n {children}\n </Stack>\n </Card>\n );\n}\n\n/***\n * Horizontal toolbar surface for grouping actions and controls.\n *\n \n */\nexport const Toolbar = withZoraThemeScope(ToolbarInner);\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { IconButton } from '../../features/button/public';
|
|
2
3
|
import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
|
|
3
|
-
import { IconButton } from '../icon-button';
|
|
4
4
|
function ToolbarActionInner({ themeId: _themeId, mode: _mode, active, ...props }) {
|
|
5
5
|
return (<IconButton {...props} variant={active ? 'soft' : 'ghost'} color={active ? 'primary' : 'neutral'} size="m"/>);
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarAction.js","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolbarAction.js","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,kBAAkB,CAAC,EAC1B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,GAAG,KAAK,EACW;IACnB,OAAO,CACL,CAAC,UAAU,CACT,IAAI,KAAK,CAAC,CACV,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CACnC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CACtC,IAAI,CAAC,GAAG,EACR,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { IconButton } from '../../features/button/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ToolbarActionProps } from './types';\n\nfunction ToolbarActionInner({\n themeId: _themeId,\n mode: _mode,\n active,\n ...props\n}: ToolbarActionProps) {\n return (\n <IconButton\n {...props}\n variant={active ? 'soft' : 'ghost'}\n color={active ? 'primary' : 'neutral'}\n size=\"m\"\n />\n );\n}\n\n/***\n * Convenience icon action for toolbars with active state styling.\n *\n \n */\nexport const ToolbarAction = withZoraThemeScope(ToolbarActionInner);\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const COMPONENT_THEME_AUTHORING: {
|
|
2
|
+
readonly authority: "theme";
|
|
3
|
+
readonly scope: "component";
|
|
4
|
+
readonly allowInstanceOverride: true;
|
|
5
|
+
};
|
|
6
|
+
export declare const FEATURE_MANIFEST_ELEMENTS: {
|
|
7
|
+
readonly surface: readonly ["Surface"];
|
|
8
|
+
readonly avatar: readonly ["Avatar", "AvatarGroup"];
|
|
9
|
+
readonly badge: readonly ["Badge"];
|
|
10
|
+
readonly card: readonly ["Card", "MediaCard", "MetricCard", "PostCard", "ProductCard"];
|
|
11
|
+
readonly chip: readonly ["Chip", "ChipGroup"];
|
|
12
|
+
readonly 'data-table': readonly ["DataTable"];
|
|
13
|
+
readonly button: readonly ["Button", "IconButton", "ButtonGroup"];
|
|
14
|
+
readonly icon: readonly ["Icon"];
|
|
15
|
+
readonly image: readonly ["Image"];
|
|
16
|
+
readonly layout: readonly ["Box", "Container", "ContentRail", "Divider", "Grid", "Stack"];
|
|
17
|
+
readonly list: readonly ["FlatList", "SectionList"];
|
|
18
|
+
readonly 'splash-screen': readonly ["SplashScreen"];
|
|
19
|
+
readonly typography: readonly ["Heading", "Text"];
|
|
20
|
+
readonly uploader: readonly ["Uploader"];
|
|
21
|
+
readonly 'bottom-sheet': readonly ["BottomSheet"];
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;CAgB5B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const COMPONENT_THEME_AUTHORING = {
|
|
2
|
+
authority: 'theme',
|
|
3
|
+
scope: 'component',
|
|
4
|
+
allowInstanceOverride: true,
|
|
5
|
+
};
|
|
6
|
+
export const FEATURE_MANIFEST_ELEMENTS = {
|
|
7
|
+
surface: ['Surface'],
|
|
8
|
+
avatar: ['Avatar', 'AvatarGroup'],
|
|
9
|
+
badge: ['Badge'],
|
|
10
|
+
card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],
|
|
11
|
+
chip: ['Chip', 'ChipGroup'],
|
|
12
|
+
'data-table': ['DataTable'],
|
|
13
|
+
button: ['Button', 'IconButton', 'ButtonGroup'],
|
|
14
|
+
icon: ['Icon'],
|
|
15
|
+
image: ['Image'],
|
|
16
|
+
layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],
|
|
17
|
+
list: ['FlatList', 'SectionList'],
|
|
18
|
+
'splash-screen': ['SplashScreen'],
|
|
19
|
+
typography: ['Heading', 'Text'],
|
|
20
|
+
uploader: ['Uploader'],
|
|
21
|
+
'bottom-sheet': ['BottomSheet'],
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,WAAW;IAClB,qBAAqB,EAAE,IAAI;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,eAAe,EAAE,CAAC,cAAc,CAAC;IACjC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,cAAc,EAAE,CAAC,aAAa,CAAC;CACvB,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],\n list: ['FlatList', 'SectionList'],\n 'splash-screen': ['SplashScreen'],\n typography: ['Heading', 'Text'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n} as const;\n"]}
|
|
@@ -24,7 +24,16 @@ function mergeBindableMeta(componentMeta, bindableMeta) {
|
|
|
24
24
|
return Object.fromEntries(Object.entries(componentMeta).map(([componentName, meta]) => [
|
|
25
25
|
componentName,
|
|
26
26
|
bindingsByComponent.get(componentName)
|
|
27
|
-
? {
|
|
27
|
+
? {
|
|
28
|
+
...meta,
|
|
29
|
+
bindings: {
|
|
30
|
+
props: { ...bindingsByComponent.get(componentName)?.props, ...meta.bindings?.props },
|
|
31
|
+
events: {
|
|
32
|
+
...bindingsByComponent.get(componentName)?.events,
|
|
33
|
+
...meta.bindings?.events,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
}
|
|
28
37
|
: meta,
|
|
29
38
|
]));
|
|
30
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corePluginMetadata.js","sourceRoot":"","sources":["../src/corePluginMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,MAAM,oBAAoB,GAAG;IAC3B,KAAK;IACL,MAAM;IACN,WAAW;IACX,MAAM;IACN,eAAe;IACf,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,eAAe;IACf,OAAO;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IACnF,cAAc,EAAE,oBAAoB;CACrC,CAAC;AAEF,SAAS,iBAAiB,CACxB,aAAwC,EACxC,YAAqC;IAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC5F,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3D,aAAa;QACb,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC;YACpC,CAAC,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"corePluginMetadata.js","sourceRoot":"","sources":["../src/corePluginMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,MAAM,oBAAoB,GAAG;IAC3B,KAAK;IACL,MAAM;IACN,WAAW;IACX,MAAM;IACN,eAAe;IACf,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,eAAe;IACf,OAAO;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IACnF,cAAc,EAAE,oBAAoB;CACrC,CAAC;AAEF,SAAS,iBAAiB,CACxB,aAAwC,EACxC,YAAqC;IAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC5F,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3D,aAAa;QACb,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC;YACpC,CAAC,CAAC;gBACE,GAAG,IAAI;gBACP,QAAQ,EAAE;oBACR,KAAK,EAAE,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;oBACpF,MAAM,EAAE;wBACN,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM;wBACjD,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM;qBACzB;iBACF;aACF;YACH,CAAC,CAAC,IAAI;KACT,CAAC,CACH,CAAC;AACJ,CAAC","sourcesContent":["import type { UiComponentMetaRegistry } from '@ankhorage/contracts';\n\nimport { ZORA_BINDABLE_COMPONENT_META } from './metadata/bindableComponentMeta';\nimport { ZORA_COMPONENT_META } from './metadata/componentMeta';\nimport type { ZoraComponentMetaRegistry } from './metadata/types';\nimport type { ZoraPluginMetadata } from './pluginComposition';\n\nconst CORE_EXTENSION_HOSTS = [\n 'Box',\n 'Card',\n 'Container',\n 'Grid',\n 'MessageBubble',\n 'Notice',\n 'Panel',\n 'PostCard',\n 'Screen',\n 'ScreenSection',\n 'Stack',\n] as const;\n\nexport const ZORA_CORE_PLUGIN_METADATA: ZoraPluginMetadata = {\n packageName: '@ankhorage/zora',\n displayName: 'ZORA',\n componentMeta: mergeBindableMeta(ZORA_COMPONENT_META, ZORA_BINDABLE_COMPONENT_META),\n extensionHosts: CORE_EXTENSION_HOSTS,\n};\n\nfunction mergeBindableMeta(\n componentMeta: ZoraComponentMetaRegistry,\n bindableMeta: UiComponentMetaRegistry,\n): ZoraComponentMetaRegistry {\n const bindingsByComponent = new Map(\n Object.entries(bindableMeta).map(([componentName, meta]) => [componentName, meta.bindings]),\n );\n return Object.fromEntries(\n Object.entries(componentMeta).map(([componentName, meta]) => [\n componentName,\n bindingsByComponent.get(componentName)\n ? {\n ...meta,\n bindings: {\n props: { ...bindingsByComponent.get(componentName)?.props, ...meta.bindings?.props },\n events: {\n ...bindingsByComponent.get(componentName)?.events,\n ...meta.bindings?.events,\n },\n },\n }\n : meta,\n ]),\n );\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AvatarProps } from '../../../../types/avatar';
|
|
3
|
+
/***
|
|
4
|
+
* Displays a user or entity avatar with image support and initials fallback.
|
|
5
|
+
*/
|
|
6
|
+
export declare const Avatar: (props: AvatarProps) => React.ReactElement | null;
|
|
7
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../../src/features/avatar/adapters/inbound/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,0BAA0B,CAAC;AAKrF;;GAEG;AACH,eAAO,MAAM,MAAM,mDAAkC,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
import { useZoraTheme } from '../../../../theme/useZoraTheme';
|
|
4
|
+
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
5
|
+
import { Icon } from '../../../icon/public';
|
|
6
|
+
import { Box } from '../../../layout/public';
|
|
7
|
+
import { Text } from '../../../typography/public';
|
|
8
|
+
import { resolveAvatarInitials } from '../../utils/resolveAvatarInitials';
|
|
9
|
+
/***
|
|
10
|
+
* Displays a user or entity avatar with image support and initials fallback.
|
|
11
|
+
*/
|
|
12
|
+
export const Avatar = withZoraThemeScope(AvatarInner);
|
|
13
|
+
function resolveAvatarSize(size) {
|
|
14
|
+
switch (size) {
|
|
15
|
+
case 'xs':
|
|
16
|
+
return 24;
|
|
17
|
+
case 's':
|
|
18
|
+
return 32;
|
|
19
|
+
case 'l':
|
|
20
|
+
return 48;
|
|
21
|
+
case 'xl':
|
|
22
|
+
return 64;
|
|
23
|
+
case 'm':
|
|
24
|
+
default:
|
|
25
|
+
return 40;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function resolveRoleSemantics(theme, color) {
|
|
29
|
+
switch (color) {
|
|
30
|
+
case 'secondary':
|
|
31
|
+
return theme.semantics.secondary;
|
|
32
|
+
case 'tertiary':
|
|
33
|
+
return theme.semantics.accent;
|
|
34
|
+
case 'quaternary':
|
|
35
|
+
return theme.semantics.highlight;
|
|
36
|
+
case 'primary':
|
|
37
|
+
return theme.semantics.action.primary;
|
|
38
|
+
case 'error':
|
|
39
|
+
return theme.semantics.error;
|
|
40
|
+
case 'info':
|
|
41
|
+
return theme.semantics.info;
|
|
42
|
+
case 'danger':
|
|
43
|
+
return theme.semantics.action.danger;
|
|
44
|
+
case 'success':
|
|
45
|
+
return theme.semantics.success;
|
|
46
|
+
case 'warning':
|
|
47
|
+
return theme.semantics.warning;
|
|
48
|
+
case 'neutral':
|
|
49
|
+
default:
|
|
50
|
+
return theme.semantics.action.neutral;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function resolveTextColor(color) {
|
|
54
|
+
return color === 'neutral' ? undefined : color;
|
|
55
|
+
}
|
|
56
|
+
function resolveTextVariant(size) {
|
|
57
|
+
switch (size) {
|
|
58
|
+
case 'xs':
|
|
59
|
+
case 's':
|
|
60
|
+
return 'caption';
|
|
61
|
+
case 'l':
|
|
62
|
+
return 'bodySmall';
|
|
63
|
+
case 'xl':
|
|
64
|
+
return 'lead';
|
|
65
|
+
case 'm':
|
|
66
|
+
default:
|
|
67
|
+
return 'label';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function resolveRadius(shape) {
|
|
71
|
+
return shape === 'circle' ? 'full' : 'l';
|
|
72
|
+
}
|
|
73
|
+
function AvatarInner({ themeId: _themeId, mode: _mode, testID, source, name, initials, iconFallback, label, size = 'm', shape = 'circle', color = 'neutral', interactionPolicy: _interactionPolicy, }) {
|
|
74
|
+
const { theme } = useZoraTheme();
|
|
75
|
+
const resolvedSize = resolveAvatarSize(size);
|
|
76
|
+
const resolvedInitials = initials ?? resolveAvatarInitials(name);
|
|
77
|
+
const role = resolveRoleSemantics(theme, color);
|
|
78
|
+
const backgroundColor = color === 'neutral' ? theme.semantics.neutral.surface : role.softBg;
|
|
79
|
+
const contentColor = color === 'neutral' ? theme.semantics.content.default : role.base;
|
|
80
|
+
const radius = resolveRadius(shape);
|
|
81
|
+
const renderFallback = () => {
|
|
82
|
+
if (resolvedInitials) {
|
|
83
|
+
return (<Text color={resolveTextColor(color)} variant={resolveTextVariant(size)} weight="semiBold">
|
|
84
|
+
{resolvedInitials}
|
|
85
|
+
</Text>);
|
|
86
|
+
}
|
|
87
|
+
if (iconFallback) {
|
|
88
|
+
const iconSize = Math.max(16, Math.round(resolvedSize * 0.48));
|
|
89
|
+
return <Icon {...iconFallback} color={contentColor} size={iconSize}/>;
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
};
|
|
93
|
+
return (<Box accessibilityLabel={label} bg={backgroundColor} height={resolvedSize} radius={radius} testID={testID} width={resolvedSize} style={{
|
|
94
|
+
alignItems: 'center',
|
|
95
|
+
justifyContent: 'center',
|
|
96
|
+
overflow: 'hidden',
|
|
97
|
+
}}>
|
|
98
|
+
{source ? (<Image accessibilityLabel={label} source={source} style={{ height: '100%', width: '100%' }}/>) : (renderFallback())}
|
|
99
|
+
</Box>);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../../../src/features/avatar/adapters/inbound/Avatar.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { RoleSemantics, SurfaceTheme } from '@ankhorage/surface';\nimport React from 'react';\nimport { Image } from 'react-native';\n\nimport type { ZoraColor } from '../../../../internal/recipes';\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { AvatarProps, AvatarShape, AvatarSize } from '../../../../types/avatar';\nimport { Icon } from '../../../icon/public';\nimport { Box } from '../../../layout/public';\nimport { Text, type TextVariant } from '../../../typography/public';\nimport { resolveAvatarInitials } from '../../utils/resolveAvatarInitials';\n/***\n * Displays a user or entity avatar with image support and initials fallback.\n */\nexport const Avatar = withZoraThemeScope(AvatarInner);\n\nfunction resolveAvatarSize(size: AvatarSize): number {\n switch (size) {\n case 'xs':\n return 24;\n case 's':\n return 32;\n case 'l':\n return 48;\n case 'xl':\n return 64;\n case 'm':\n default:\n return 40;\n }\n}\n\nfunction resolveRoleSemantics(theme: SurfaceTheme, color: ZoraColor): RoleSemantics {\n switch (color) {\n case 'secondary':\n return theme.semantics.secondary;\n case 'tertiary':\n return theme.semantics.accent;\n case 'quaternary':\n return theme.semantics.highlight;\n case 'primary':\n return theme.semantics.action.primary;\n case 'error':\n return theme.semantics.error;\n case 'info':\n return theme.semantics.info;\n case 'danger':\n return theme.semantics.action.danger;\n case 'success':\n return theme.semantics.success;\n case 'warning':\n return theme.semantics.warning;\n case 'neutral':\n default:\n return theme.semantics.action.neutral;\n }\n}\n\nfunction resolveTextColor(color: ZoraColor): ZoraColor | undefined {\n return color === 'neutral' ? undefined : color;\n}\n\nfunction resolveTextVariant(size: AvatarSize): TextVariant {\n switch (size) {\n case 'xs':\n case 's':\n return 'caption';\n case 'l':\n return 'bodySmall';\n case 'xl':\n return 'lead';\n case 'm':\n default:\n return 'label';\n }\n}\n\nfunction resolveRadius(shape: AvatarShape): 'full' | 'l' {\n return shape === 'circle' ? 'full' : 'l';\n}\n\nfunction AvatarInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n source,\n name,\n initials,\n iconFallback,\n label,\n size = 'm',\n shape = 'circle',\n color = 'neutral',\n interactionPolicy: _interactionPolicy,\n}: AvatarProps) {\n const { theme } = useZoraTheme();\n const resolvedSize = resolveAvatarSize(size);\n const resolvedInitials = initials ?? resolveAvatarInitials(name);\n const role = resolveRoleSemantics(theme, color);\n const backgroundColor = color === 'neutral' ? theme.semantics.neutral.surface : role.softBg;\n const contentColor = color === 'neutral' ? theme.semantics.content.default : role.base;\n const radius = resolveRadius(shape);\n\n const renderFallback = () => {\n if (resolvedInitials) {\n return (\n <Text color={resolveTextColor(color)} variant={resolveTextVariant(size)} weight=\"semiBold\">\n {resolvedInitials}\n </Text>\n );\n }\n\n if (iconFallback) {\n const iconSize = Math.max(16, Math.round(resolvedSize * 0.48));\n return <Icon {...iconFallback} color={contentColor} size={iconSize} />;\n }\n\n return null;\n };\n\n return (\n <Box\n accessibilityLabel={label}\n bg={backgroundColor}\n height={resolvedSize}\n radius={radius}\n testID={testID}\n width={resolvedSize}\n style={{\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n }}\n >\n {source ? (\n <Image\n accessibilityLabel={label}\n source={source}\n style={{ height: '100%', width: '100%' }}\n />\n ) : (\n renderFallback()\n )}\n </Box>\n );\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AvatarGroupProps } from '../../../../types/avatar-group';
|
|
3
|
+
/***
|
|
4
|
+
* Renders a compact group of avatars with optional overflow handling.
|
|
5
|
+
*/
|
|
6
|
+
export declare const AvatarGroup: (props: AvatarGroupProps) => React.ReactElement | null;
|
|
7
|
+
//# sourceMappingURL=AvatarGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../../../../src/features/avatar/adapters/inbound/AvatarGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGxF;;GAEG;AACH,eAAO,MAAM,WAAW,wDAAuC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useZoraTheme } from '../../../../theme/useZoraTheme';
|
|
3
|
+
import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
|
|
4
|
+
import { Box, Stack } from '../../../layout/public';
|
|
5
|
+
import { Avatar } from '../../public';
|
|
6
|
+
/***
|
|
7
|
+
* Renders a compact group of avatars with optional overflow handling.
|
|
8
|
+
*/
|
|
9
|
+
export const AvatarGroup = withZoraThemeScope(AvatarGroupInner);
|
|
10
|
+
function defaultOverflowLabel(overflowCount) {
|
|
11
|
+
return `+${overflowCount}`;
|
|
12
|
+
}
|
|
13
|
+
function AvatarGroupInner({ themeId: _themeId, mode: _mode, interactionPolicy: _interactionPolicy, testID, items, max = 4, size = 's', shape = 'circle', overflowLabel = defaultOverflowLabel, }) {
|
|
14
|
+
const { theme } = useZoraTheme();
|
|
15
|
+
const visibleItems = items.slice(0, max);
|
|
16
|
+
const overflowCount = Math.max(0, items.length - visibleItems.length);
|
|
17
|
+
const overlap = size === 'xs' ? 8 : size === 's' ? 10 : size === 'm' ? 12 : size === 'l' ? 14 : 16;
|
|
18
|
+
const borderColor = theme.semantics.surface.default;
|
|
19
|
+
const renderItem = (item, index) => (<Box key={item.id ?? `${index}`} ml={index === 0 ? 0 : -overlap} radius="full" borderWidth={2} borderColor={borderColor}>
|
|
20
|
+
<Avatar iconFallback={item.iconFallback} initials={item.initials} label={item.label} name={item.name} shape={shape} size={size} source={item.source} color={item.color}/>
|
|
21
|
+
</Box>);
|
|
22
|
+
return (<Stack align="center" direction="row" testID={testID} wrap="nowrap">
|
|
23
|
+
{visibleItems.map(renderItem)}
|
|
24
|
+
{overflowCount > 0 ? (<Box ml={visibleItems.length === 0 ? 0 : -overlap} radius="full" borderWidth={2} borderColor={borderColor}>
|
|
25
|
+
<Avatar initials={overflowLabel(overflowCount)} size={size} shape={shape} color="neutral"/>
|
|
26
|
+
</Box>) : null}
|
|
27
|
+
</Stack>);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=AvatarGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarGroup.js","sourceRoot":"","sources":["../../../../../src/features/avatar/adapters/inbound/AvatarGroup.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { AvatarGroupItem, AvatarGroupProps } from '../../../../types/avatar-group';\nimport { Box, Stack } from '../../../layout/public';\nimport { Avatar } from '../../public';\n/***\n * Renders a compact group of avatars with optional overflow handling.\n */\nexport const AvatarGroup = withZoraThemeScope(AvatarGroupInner);\n\nfunction defaultOverflowLabel(overflowCount: number): string {\n return `+${overflowCount}`;\n}\n\nfunction AvatarGroupInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy: _interactionPolicy,\n testID,\n items,\n max = 4,\n size = 's',\n shape = 'circle',\n overflowLabel = defaultOverflowLabel,\n}: AvatarGroupProps) {\n const { theme } = useZoraTheme();\n\n const visibleItems = items.slice(0, max);\n const overflowCount = Math.max(0, items.length - visibleItems.length);\n const overlap =\n size === 'xs' ? 8 : size === 's' ? 10 : size === 'm' ? 12 : size === 'l' ? 14 : 16;\n const borderColor = theme.semantics.surface.default;\n\n const renderItem = (item: AvatarGroupItem, index: number) => (\n <Box\n key={item.id ?? `${index}`}\n ml={index === 0 ? 0 : -overlap}\n radius=\"full\"\n borderWidth={2}\n borderColor={borderColor}\n >\n <Avatar\n iconFallback={item.iconFallback}\n initials={item.initials}\n label={item.label}\n name={item.name}\n shape={shape}\n size={size}\n source={item.source}\n color={item.color}\n />\n </Box>\n );\n\n return (\n <Stack align=\"center\" direction=\"row\" testID={testID} wrap=\"nowrap\">\n {visibleItems.map(renderItem)}\n {overflowCount > 0 ? (\n <Box\n ml={visibleItems.length === 0 ? 0 : -overlap}\n radius=\"full\"\n borderWidth={2}\n borderColor={borderColor}\n >\n <Avatar\n initials={overflowLabel(overflowCount)}\n size={size}\n shape={shape}\n color=\"neutral\"\n />\n </Box>\n ) : null}\n </Stack>\n );\n}\n"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export declare const avatarGroupMeta: {
|
|
2
|
+
readonly name: "AvatarGroup";
|
|
3
|
+
readonly category: "component";
|
|
4
|
+
readonly directManifestNode: true;
|
|
5
|
+
readonly allowedChildren: readonly [];
|
|
6
|
+
readonly blueprint: {
|
|
7
|
+
readonly label: "Avatar group";
|
|
8
|
+
readonly defaultProps: {
|
|
9
|
+
readonly items: readonly [];
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
readonly props: {
|
|
13
|
+
readonly items: {
|
|
14
|
+
readonly type: "array";
|
|
15
|
+
readonly category: "Content";
|
|
16
|
+
readonly itemSchema: readonly [{
|
|
17
|
+
readonly key: "id";
|
|
18
|
+
readonly schema: {
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly category: "Identity";
|
|
21
|
+
};
|
|
22
|
+
}, ...{
|
|
23
|
+
key: string;
|
|
24
|
+
schema: {
|
|
25
|
+
readonly type: "media";
|
|
26
|
+
readonly category: "Content";
|
|
27
|
+
readonly mediaKinds: readonly ["image"];
|
|
28
|
+
} | {
|
|
29
|
+
readonly type: "string";
|
|
30
|
+
readonly category: "Content";
|
|
31
|
+
} | {
|
|
32
|
+
readonly type: "string";
|
|
33
|
+
readonly category: "Content";
|
|
34
|
+
} | {
|
|
35
|
+
readonly type: "string";
|
|
36
|
+
readonly category: "Accessibility";
|
|
37
|
+
} | {
|
|
38
|
+
readonly type: "enum";
|
|
39
|
+
readonly category: "Style";
|
|
40
|
+
readonly enum: readonly ["xs", "s", "m", "l", "xl"];
|
|
41
|
+
} | {
|
|
42
|
+
readonly type: "enum";
|
|
43
|
+
readonly category: "Style";
|
|
44
|
+
readonly enum: readonly ["circle", "rounded"];
|
|
45
|
+
} | {
|
|
46
|
+
readonly type: "enum";
|
|
47
|
+
readonly category: "Style";
|
|
48
|
+
readonly enum: readonly ["primary", "secondary", "neutral", "success", "warning", "danger", "info"];
|
|
49
|
+
};
|
|
50
|
+
}[]];
|
|
51
|
+
};
|
|
52
|
+
readonly max: {
|
|
53
|
+
readonly type: "number";
|
|
54
|
+
readonly category: "Layout";
|
|
55
|
+
};
|
|
56
|
+
readonly size: {
|
|
57
|
+
readonly type: "enum";
|
|
58
|
+
readonly category: "Style";
|
|
59
|
+
readonly enum: readonly ["xs", "s", "m", "l", "xl"];
|
|
60
|
+
};
|
|
61
|
+
readonly shape: {
|
|
62
|
+
readonly type: "enum";
|
|
63
|
+
readonly category: "Style";
|
|
64
|
+
readonly enum: readonly ["circle", "rounded"];
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=avatarGroupMeta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatarGroupMeta.d.ts","sourceRoot":"","sources":["../../../src/features/avatar/avatarGroupMeta.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBU,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { avatarMeta } from './avatarMeta';
|
|
2
|
+
export const avatarGroupMeta = {
|
|
3
|
+
name: 'AvatarGroup',
|
|
4
|
+
category: 'component',
|
|
5
|
+
directManifestNode: true,
|
|
6
|
+
allowedChildren: [],
|
|
7
|
+
blueprint: { label: 'Avatar group', defaultProps: { items: [] } },
|
|
8
|
+
props: {
|
|
9
|
+
items: {
|
|
10
|
+
type: 'array',
|
|
11
|
+
category: 'Content',
|
|
12
|
+
itemSchema: [
|
|
13
|
+
{ key: 'id', schema: { type: 'string', category: 'Identity' } },
|
|
14
|
+
...Object.entries(avatarMeta.props)
|
|
15
|
+
.filter(([key]) => key !== 'size' && key !== 'shape')
|
|
16
|
+
.map(([key, schema]) => ({ key, schema })),
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
max: { type: 'number', category: 'Layout' },
|
|
20
|
+
size: avatarMeta.props.size,
|
|
21
|
+
shape: avatarMeta.props.shape,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=avatarGroupMeta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatarGroupMeta.js","sourceRoot":"","sources":["../../../src/features/avatar/avatarGroupMeta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;IACjE,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE;gBACV,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;gBAC/D,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;qBAChC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC;qBACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;aAC7C;SACF;QACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;QAC3B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;KAC9B;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata/types';\nimport { avatarMeta } from './avatarMeta';\n\nexport const avatarGroupMeta = {\n name: 'AvatarGroup',\n category: 'component',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: { label: 'Avatar group', defaultProps: { items: [] } },\n props: {\n items: {\n type: 'array',\n category: 'Content',\n itemSchema: [\n { key: 'id', schema: { type: 'string', category: 'Identity' } },\n ...Object.entries(avatarMeta.props)\n .filter(([key]) => key !== 'size' && key !== 'shape')\n .map(([key, schema]) => ({ key, schema })),\n ],\n },\n max: { type: 'number', category: 'Layout' },\n size: avatarMeta.props.size,\n shape: avatarMeta.props.shape,\n },\n} as const satisfies ZoraComponentMeta;\n"]}
|