@dxos/react-ui 0.8.4-main.d05673bc65 → 0.8.4-main.d9fc60f731
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/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/browser/chunk-5SPBSIWS.mjs +33 -0
- package/dist/lib/browser/chunk-5SPBSIWS.mjs.map +7 -0
- package/dist/lib/browser/chunk-KVJDKHLF.mjs +1613 -0
- package/dist/lib/browser/chunk-KVJDKHLF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +2982 -1631
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +37 -28
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/browser/translations.mjs +9 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5JYHWJDZ.mjs +1615 -0
- package/dist/lib/node-esm/chunk-5JYHWJDZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FPVTVXND.mjs +35 -0
- package/dist/lib/node-esm/chunk-FPVTVXND.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +2982 -1631
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +37 -28
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/translations.mjs +10 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/types/src/components/Avatars/Avatar.d.ts +1 -1
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.theme.d.ts +11 -0
- package/dist/types/src/components/Avatars/Avatar.theme.d.ts.map +1 -0
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +5 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts +4 -0
- package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts.map +1 -0
- package/dist/types/src/components/Button/Button.d.ts +3 -3
- package/dist/types/src/components/Button/Button.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.stories.d.ts +1 -1
- package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.theme.d.ts +11 -0
- package/dist/types/src/components/Button/Button.theme.d.ts.map +1 -0
- package/dist/types/src/components/Button/IconButton.d.ts +1 -0
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.stories.d.ts +4 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.theme.d.ts +8 -0
- package/dist/types/src/components/Button/IconButton.theme.d.ts.map +1 -0
- package/dist/types/src/components/Button/Toggle.d.ts +2 -2
- package/dist/types/src/components/Button/Toggle.d.ts.map +1 -1
- package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/ToggleGroup.d.ts +6 -6
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -1
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +2 -2
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Calendar/Calendar.d.ts +33 -0
- package/dist/types/src/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/types/src/components/Calendar/Calendar.stories.d.ts +9 -0
- package/dist/types/src/components/Calendar/Calendar.stories.d.ts.map +1 -0
- package/dist/types/src/components/Calendar/Calendar.theme.d.ts +4 -0
- package/dist/types/src/components/Calendar/Calendar.theme.d.ts.map +1 -0
- package/dist/types/src/components/Calendar/index.d.ts +2 -0
- package/dist/types/src/components/Calendar/index.d.ts.map +1 -0
- package/dist/types/src/components/Card/Card.d.ts +92 -68
- package/dist/types/src/components/Card/Card.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.stories.d.ts +3 -2
- package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.theme.d.ts +12 -0
- package/dist/types/src/components/Card/Card.theme.d.ts.map +1 -0
- package/dist/types/src/components/Carousel/Carousel.d.ts +102 -0
- package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -0
- package/dist/types/src/components/Carousel/index.d.ts +2 -0
- package/dist/types/src/components/Carousel/index.d.ts.map +1 -0
- package/dist/types/src/components/Clipboard/ClipboardProvider.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/index.d.ts +10 -1
- package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
- package/dist/types/src/components/Column/Column.d.ts +33 -0
- package/dist/types/src/components/Column/Column.d.ts.map +1 -0
- package/dist/types/src/components/Column/Column.stories.d.ts +25 -0
- package/dist/types/src/components/Column/Column.stories.d.ts.map +1 -0
- package/dist/types/src/components/Column/Column.theme.d.ts +9 -0
- package/dist/types/src/components/Column/Column.theme.d.ts.map +1 -0
- package/dist/types/src/components/Column/index.d.ts +3 -0
- package/dist/types/src/components/Column/index.d.ts.map +1 -0
- package/dist/types/src/components/Column/withColumn.d.ts +21 -0
- package/dist/types/src/components/Column/withColumn.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/DatePicker.d.ts +72 -0
- package/dist/types/src/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts +10 -0
- package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts +6 -0
- package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts.map +1 -0
- package/dist/types/src/components/DatePicker/index.d.ts +2 -0
- package/dist/types/src/components/DatePicker/index.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/AlertDialog.d.ts +43 -32
- package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.d.ts +51 -32
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +3 -2
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.theme.d.ts +10 -0
- package/dist/types/src/components/Dialog/Dialog.theme.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +14 -3
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -1
- package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -1
- package/dist/types/src/components/Focus/Focus.d.ts +36 -0
- package/dist/types/src/components/Focus/Focus.d.ts.map +1 -0
- package/dist/types/src/{primitives/Column/Column.stories.d.ts → components/Focus/Focus.stories.d.ts} +4 -1
- package/dist/types/src/components/Focus/Focus.stories.d.ts.map +1 -0
- package/dist/types/src/components/Focus/Focus.theme.d.ts +6 -0
- package/dist/types/src/components/Focus/Focus.theme.d.ts.map +1 -0
- package/dist/types/src/components/Focus/index.d.ts +2 -0
- package/dist/types/src/components/Focus/index.d.ts.map +1 -0
- package/dist/types/src/components/Icon/Icon.d.ts +4 -0
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.stories.d.ts +11 -3
- package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.theme.d.ts +11 -0
- package/dist/types/src/components/Icon/Icon.theme.d.ts.map +1 -0
- package/dist/types/src/components/Icon/IconBlock.d.ts +15 -0
- package/dist/types/src/components/Icon/IconBlock.d.ts.map +1 -0
- package/dist/types/src/components/Icon/index.d.ts +1 -0
- package/dist/types/src/components/Icon/index.d.ts.map +1 -1
- package/dist/types/src/components/Image/Image.d.ts +2 -1
- package/dist/types/src/components/Image/Image.d.ts.map +1 -1
- package/dist/types/src/components/Image/Image.stories.d.ts +3 -2
- package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.d.ts +90 -15
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +17 -6
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.theme.d.ts +115 -0
- package/dist/types/src/components/Input/Input.theme.d.ts.map +1 -0
- package/dist/types/src/components/Input/SegmentedInput.d.ts +79 -0
- package/dist/types/src/components/Input/SegmentedInput.d.ts.map +1 -0
- package/dist/types/src/components/Input/constants.d.ts +2 -0
- package/dist/types/src/components/Input/constants.d.ts.map +1 -0
- package/dist/types/src/components/Input/index.d.ts +2 -0
- package/dist/types/src/components/Input/index.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.theme.d.ts +6 -0
- package/dist/types/src/components/Link/Link.theme.d.ts.map +1 -0
- package/dist/types/src/components/List/List.d.ts +5 -3
- package/dist/types/src/components/List/List.d.ts.map +1 -1
- package/dist/types/src/components/List/List.stories.d.ts +3 -1
- package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/List.theme.d.ts +7 -0
- package/dist/types/src/components/List/List.theme.d.ts.map +1 -0
- package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -1
- package/dist/types/src/components/List/Tree.d.ts +2 -2
- package/dist/types/src/components/List/Tree.d.ts.map +1 -1
- package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -1
- package/dist/types/src/components/List/Treegrid.d.ts +6 -10
- package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
- package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/Treegrid.theme.d.ts +7 -0
- package/dist/types/src/components/List/Treegrid.theme.d.ts.map +1 -0
- package/dist/types/src/components/Main/Main.d.ts +9 -5
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.theme.d.ts +20 -0
- package/dist/types/src/components/Main/Main.theme.d.ts.map +1 -0
- package/dist/types/src/components/Main/constants.d.ts +3 -0
- package/dist/types/src/components/Main/constants.d.ts.map +1 -0
- package/dist/types/src/components/Main/index.d.ts +1 -0
- package/dist/types/src/components/Main/index.d.ts.map +1 -1
- package/dist/types/src/components/Main/useSwipeToDismiss.d.ts.map +1 -1
- package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts +43 -0
- package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -0
- package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +16 -0
- package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts.map +1 -0
- package/dist/types/src/components/MediaPlayer/index.d.ts +2 -0
- package/dist/types/src/components/MediaPlayer/index.d.ts.map +1 -0
- package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.d.ts +58 -49
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -1
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +14 -1
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -1
- package/dist/types/src/components/Menu/Menu.theme.d.ts +7 -0
- package/dist/types/src/components/Menu/Menu.theme.d.ts.map +1 -0
- package/dist/types/src/components/Message/Message.d.ts +3 -3
- package/dist/types/src/components/Message/Message.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts +6 -2
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.theme.d.ts +7 -0
- package/dist/types/src/components/Message/Message.theme.d.ts.map +1 -0
- package/dist/types/src/components/Panel/Panel.d.ts +35 -0
- package/dist/types/src/components/Panel/Panel.d.ts.map +1 -0
- package/dist/types/src/components/Panel/Panel.stories.d.ts.map +1 -0
- package/dist/types/src/components/Panel/Panel.theme.d.ts +13 -0
- package/dist/types/src/components/Panel/Panel.theme.d.ts.map +1 -0
- package/dist/types/src/components/Panel/index.d.ts.map +1 -0
- package/dist/types/src/components/Popover/Popover.d.ts +38 -22
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.theme.d.ts +8 -0
- package/dist/types/src/components/Popover/Popover.theme.d.ts.map +1 -0
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +12 -9
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +18 -5
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts +17 -0
- package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts.map +1 -0
- package/dist/types/src/components/ScrollArea/index.d.ts +1 -0
- package/dist/types/src/components/ScrollArea/index.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/scrollbar.d.ts +18 -0
- package/dist/types/src/components/ScrollArea/scrollbar.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +41 -18
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +5 -6
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.stories.d.ts +2 -2
- package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.theme.d.ts +6 -0
- package/dist/types/src/components/Select/Select.theme.d.ts.map +1 -0
- package/dist/types/src/components/Separator/Separator.d.ts +3 -3
- package/dist/types/src/components/Separator/Separator.d.ts.map +1 -1
- package/dist/types/src/components/Separator/Separator.theme.d.ts +7 -0
- package/dist/types/src/components/Separator/Separator.theme.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -1
- package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts +6 -0
- package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts +18 -18
- package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -1
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -1
- package/dist/types/src/components/Splitter/Splitter.theme.d.ts +4 -0
- package/dist/types/src/components/Splitter/Splitter.theme.d.ts.map +1 -0
- package/dist/types/src/components/Status/Status.d.ts +3 -4
- package/dist/types/src/components/Status/Status.d.ts.map +1 -1
- package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
- package/dist/types/src/components/Status/Status.theme.d.ts +7 -0
- package/dist/types/src/components/Status/Status.theme.d.ts.map +1 -0
- package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tag/Tag.theme.d.ts +6 -0
- package/dist/types/src/components/Tag/Tag.theme.d.ts.map +1 -0
- package/dist/types/src/components/Toast/Toast.d.ts +23 -20
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.stories.d.ts +5 -2
- package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.theme.d.ts +4 -0
- package/dist/types/src/components/Toast/Toast.theme.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +30 -26
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts +8 -0
- package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts.map +1 -0
- package/dist/types/src/components/Tooltip/Tooltip.d.ts +16 -16
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +2 -2
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts +6 -0
- package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts.map +1 -0
- package/dist/types/src/components/Tooltip/index.d.ts +1 -0
- package/dist/types/src/components/Tooltip/index.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/tooltipContent.d.ts +4 -0
- package/dist/types/src/components/Tooltip/tooltipContent.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +8 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +6 -5
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -1
- package/dist/types/src/exemplars/slot.stories.d.ts +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -1
- package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -1
- package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useDensityContext.d.ts +1 -1
- package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useIconHref.d.ts.map +1 -1
- package/dist/types/src/hooks/useSafeArea.d.ts.map +1 -1
- package/dist/types/src/hooks/useSafeCollisionPadding.d.ts.map +1 -1
- package/dist/types/src/hooks/useTranslationsContext.d.ts +1 -1
- package/dist/types/src/hooks/useVisualViewport.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Container/Container.d.ts +4 -5
- package/dist/types/src/primitives/Container/Container.d.ts.map +1 -1
- package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -1
- package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts.map +1 -1
- package/dist/types/src/primitives/DensityProvider/index.d.ts.map +1 -0
- package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts.map +1 -1
- package/dist/types/src/primitives/ElevationProvider/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts +5 -7
- package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -1
- package/dist/types/src/primitives/Flex/Flex.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Grid/Grid.d.ts +3 -8
- package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -1
- package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -1
- package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.stories.d.ts +1 -1
- package/dist/types/src/primitives/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/ThemeProvider/TranslationsProvider.d.ts +128 -0
- package/dist/types/src/primitives/ThemeProvider/TranslationsProvider.d.ts.map +1 -0
- package/dist/types/src/primitives/ThemeProvider/index.d.ts +4 -0
- package/dist/types/src/primitives/ThemeProvider/index.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +3 -2
- package/dist/types/src/primitives/index.d.ts.map +1 -1
- package/dist/types/src/testing/Loading.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withTheme.d.ts +6 -2
- package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
- package/dist/types/src/theme/bindTheme.d.ts +3 -0
- package/dist/types/src/theme/bindTheme.d.ts.map +1 -0
- package/dist/types/src/theme/defaultTheme.d.ts +4 -0
- package/dist/types/src/theme/defaultTheme.d.ts.map +1 -0
- package/dist/types/src/theme/index.d.ts +31 -0
- package/dist/types/src/theme/index.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +17 -3
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +2 -1
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/mobile.d.ts +5 -0
- package/dist/types/src/util/mobile.d.ts.map +1 -0
- package/dist/types/src/util/slots.d.ts +57 -0
- package/dist/types/src/util/slots.d.ts.map +1 -0
- package/dist/types/src/util/usePx.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +31 -26
- package/src/components/Avatars/Avatar.stories.tsx +2 -3
- package/src/components/Avatars/Avatar.theme.ts +93 -0
- package/src/components/Avatars/Avatar.tsx +1 -2
- package/src/components/Avatars/AvatarGroup.stories.tsx +0 -1
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +1 -2
- package/src/components/Breadcrumb/Breadcrumb.theme.ts +26 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +14 -2
- package/src/components/Button/Button.stories.tsx +0 -1
- package/src/components/Button/Button.theme.ts +31 -0
- package/src/components/Button/Button.tsx +6 -14
- package/src/components/Button/IconButton.stories.tsx +56 -6
- package/src/components/Button/IconButton.theme.ts +21 -0
- package/src/components/Button/IconButton.tsx +3 -4
- package/src/components/Button/Toggle.stories.tsx +0 -1
- package/src/components/Button/Toggle.tsx +4 -4
- package/src/components/Button/ToggleGroup.stories.tsx +0 -1
- package/src/components/Button/ToggleGroup.tsx +12 -16
- package/src/components/Calendar/Calendar.stories.tsx +43 -0
- package/src/components/Calendar/Calendar.theme.ts +74 -0
- package/src/components/Calendar/Calendar.tsx +196 -0
- package/src/components/Calendar/index.ts +5 -0
- package/src/components/Card/Card.stories.tsx +55 -34
- package/src/components/Card/Card.theme.ts +93 -0
- package/src/components/Card/Card.tsx +297 -156
- package/src/components/Carousel/Carousel.tsx +371 -0
- package/src/components/Carousel/index.ts +5 -0
- package/src/components/Clipboard/CopyButton.tsx +6 -7
- package/src/components/Column/AUDIT.md +148 -0
- package/src/components/Column/Column.stories.tsx +181 -0
- package/src/components/Column/Column.theme.ts +48 -0
- package/src/components/Column/Column.tsx +166 -0
- package/src/{primitives → components}/Column/index.ts +1 -0
- package/src/components/Column/withColumn.ts +27 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +102 -0
- package/src/components/DatePicker/DatePicker.theme.ts +35 -0
- package/src/components/DatePicker/DatePicker.tsx +279 -0
- package/src/components/DatePicker/index.ts +5 -0
- package/src/components/Dialog/AlertDialog.stories.tsx +5 -6
- package/src/components/Dialog/AlertDialog.tsx +72 -132
- package/src/components/Dialog/Dialog.stories.tsx +65 -10
- package/src/components/Dialog/Dialog.theme.ts +61 -0
- package/src/components/Dialog/Dialog.tsx +124 -99
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +3 -8
- package/src/components/ErrorFallback/ErrorFallback.tsx +14 -8
- package/src/components/ErrorFallback/ErrorStack.tsx +48 -8
- package/src/components/Focus/AUDIT.md +43 -0
- package/src/components/Focus/Focus.stories.tsx +230 -0
- package/src/components/Focus/Focus.theme.ts +32 -0
- package/src/components/Focus/Focus.tsx +201 -0
- package/src/components/Focus/index.ts +5 -0
- package/src/components/Icon/Icon.stories.tsx +43 -13
- package/src/components/Icon/Icon.theme.ts +45 -0
- package/src/components/Icon/Icon.tsx +14 -3
- package/src/components/Icon/IconBlock.tsx +38 -0
- package/src/components/Icon/index.ts +1 -0
- package/src/components/Image/Image.stories.tsx +4 -4
- package/src/components/Image/Image.tsx +31 -8
- package/src/components/Input/Input.stories.tsx +135 -33
- package/src/components/Input/Input.theme.ts +191 -0
- package/src/components/Input/Input.tsx +214 -9
- package/src/components/Input/SegmentedInput.tsx +454 -0
- package/src/components/Input/constants.ts +5 -0
- package/src/components/Input/index.ts +2 -0
- package/src/components/Link/Link.stories.tsx +0 -1
- package/src/components/Link/Link.theme.ts +16 -0
- package/src/components/Link/Link.tsx +10 -2
- package/src/components/List/List.stories.tsx +1 -2
- package/src/components/List/List.theme.ts +47 -0
- package/src/components/List/List.tsx +8 -7
- package/src/components/List/ListDropIndicator.tsx +1 -2
- package/src/components/List/Tree.stories.tsx +2 -3
- package/src/components/List/Tree.tsx +0 -1
- package/src/components/List/TreeDropIndicator.tsx +3 -3
- package/src/components/List/Treegrid.stories.tsx +26 -27
- package/src/components/List/Treegrid.theme.ts +35 -0
- package/src/components/List/Treegrid.tsx +15 -16
- package/src/components/Main/Main.stories.tsx +0 -1
- package/src/components/Main/Main.theme.ts +29 -0
- package/src/components/Main/Main.tsx +10 -9
- package/src/components/Main/constants.ts +6 -0
- package/src/components/Main/index.ts +1 -0
- package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
- package/src/components/MediaPlayer/MediaPlayer.tsx +178 -0
- package/src/components/MediaPlayer/index.ts +5 -0
- package/src/components/Menu/ContextMenu.stories.tsx +0 -4
- package/src/components/Menu/DropdownMenu.stories.tsx +0 -4
- package/src/components/Menu/DropdownMenu.tsx +63 -57
- package/src/components/Menu/Menu.theme.ts +48 -0
- package/src/components/Message/Message.stories.tsx +48 -11
- package/src/components/Message/Message.theme.ts +44 -0
- package/src/components/Message/Message.tsx +75 -19
- package/src/{primitives → components}/Panel/Panel.stories.tsx +9 -9
- package/src/components/Panel/Panel.theme.ts +42 -0
- package/src/components/Panel/Panel.tsx +121 -0
- package/src/components/Popover/Popover.stories.tsx +4 -5
- package/src/components/Popover/Popover.theme.ts +40 -0
- package/src/components/Popover/Popover.tsx +49 -49
- package/src/components/ScrollArea/ScrollArea.stories.tsx +89 -30
- package/src/components/ScrollArea/ScrollArea.theme.ts +107 -0
- package/src/components/ScrollArea/ScrollArea.tsx +40 -23
- package/src/components/ScrollArea/index.ts +1 -0
- package/src/components/ScrollArea/scrollbar.ts +21 -0
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +21 -19
- package/src/components/ScrollContainer/ScrollContainer.tsx +215 -106
- package/src/components/Select/Select.stories.tsx +5 -6
- package/src/components/Select/Select.theme.ts +55 -0
- package/src/components/Select/Select.tsx +26 -10
- package/src/components/Separator/Separator.theme.ts +23 -0
- package/src/components/Separator/Separator.tsx +4 -7
- package/src/components/Skeleton/Skeleton.stories.tsx +0 -1
- package/src/components/Skeleton/Skeleton.theme.ts +22 -0
- package/src/components/Splitter/Splitter.stories.tsx +30 -30
- package/src/components/Splitter/Splitter.theme.ts +18 -0
- package/src/components/Splitter/Splitter.tsx +36 -40
- package/src/components/Status/Status.stories.tsx +0 -1
- package/src/components/Status/Status.theme.ts +31 -0
- package/src/components/Status/Status.tsx +7 -5
- package/src/components/Tag/Tag.stories.tsx +0 -1
- package/src/components/Tag/Tag.theme.ts +22 -0
- package/src/components/Toast/Toast.stories.tsx +41 -21
- package/src/components/Toast/Toast.theme.ts +56 -0
- package/src/components/Toast/Toast.tsx +105 -52
- package/src/components/Toolbar/Toolbar.stories.tsx +0 -1
- package/src/components/Toolbar/Toolbar.theme.ts +36 -0
- package/src/components/Toolbar/Toolbar.tsx +83 -46
- package/src/components/Tooltip/Tooltip.stories.tsx +7 -17
- package/src/components/Tooltip/Tooltip.theme.ts +19 -0
- package/src/components/Tooltip/Tooltip.tsx +33 -33
- package/src/components/Tooltip/index.ts +1 -0
- package/src/components/Tooltip/tooltipContent.ts +16 -0
- package/src/components/index.ts +8 -5
- package/src/exemplars/generics.stories.tsx +7 -16
- package/src/exemplars/slot.stories.tsx +66 -57
- package/src/exemplars/tabster.stories.tsx +1 -1
- package/src/exemplars/virtualizer.stories.tsx +4 -5
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useDensityContext.ts +3 -3
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/hooks/useThemeContext.ts +1 -1
- package/src/hooks/useTranslationsContext.ts +1 -1
- package/src/index.ts +1 -0
- package/src/playground/Custom.stories.tsx +13 -36
- package/src/primitives/Container/Container.stories.tsx +0 -1
- package/src/primitives/Container/Container.tsx +7 -8
- package/src/{components → primitives}/DensityProvider/DensityProvider.tsx +1 -1
- package/src/primitives/Flex/Flex.stories.tsx +0 -1
- package/src/primitives/Flex/Flex.tsx +12 -12
- package/src/primitives/Grid/Grid.stories.tsx +0 -1
- package/src/primitives/Grid/Grid.tsx +6 -9
- package/src/{components → primitives}/ThemeProvider/ThemeProvider.stories.tsx +1 -2
- package/src/{components → primitives}/ThemeProvider/ThemeProvider.tsx +6 -5
- package/src/{components → primitives}/ThemeProvider/index.ts +2 -2
- package/src/primitives/index.ts +4 -2
- package/src/testing/Loading.tsx +25 -4
- package/src/testing/decorators/withLayout.tsx +7 -17
- package/src/testing/decorators/withLayoutVariants.tsx +1 -1
- package/src/testing/decorators/withTheme.tsx +23 -12
- package/src/theme/bindTheme.ts +13 -0
- package/src/theme/defaultTheme.ts +83 -0
- package/src/theme/index.ts +37 -0
- package/src/translations.ts +17 -3
- package/src/util/index.ts +2 -1
- package/src/util/mobile.ts +11 -0
- package/src/util/slots.ts +129 -0
- package/src/util/usePx.ts +5 -1
- package/dist/lib/browser/chunk-2FKSMWNY.mjs +0 -774
- package/dist/lib/browser/chunk-2FKSMWNY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZNBLTSHI.mjs +0 -776
- package/dist/lib/node-esm/chunk-ZNBLTSHI.mjs.map +0 -7
- package/dist/types/src/components/DensityProvider/index.d.ts.map +0 -1
- package/dist/types/src/components/ElevationProvider/index.d.ts.map +0 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +0 -1
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +0 -129
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +0 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts +0 -4
- package/dist/types/src/components/ThemeProvider/index.d.ts.map +0 -1
- package/dist/types/src/primitives/Column/Column.d.ts +0 -26
- package/dist/types/src/primitives/Column/Column.d.ts.map +0 -1
- package/dist/types/src/primitives/Column/Column.stories.d.ts.map +0 -1
- package/dist/types/src/primitives/Column/index.d.ts +0 -2
- package/dist/types/src/primitives/Column/index.d.ts.map +0 -1
- package/dist/types/src/primitives/Panel/Panel.d.ts +0 -26
- package/dist/types/src/primitives/Panel/Panel.d.ts.map +0 -1
- package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +0 -1
- package/dist/types/src/primitives/Panel/index.d.ts.map +0 -1
- package/dist/types/src/util/hasIosKeyboard.d.ts +0 -2
- package/dist/types/src/util/hasIosKeyboard.d.ts.map +0 -1
- package/src/primitives/Column/Column.stories.tsx +0 -78
- package/src/primitives/Column/Column.tsx +0 -134
- package/src/primitives/Panel/Panel.tsx +0 -119
- package/src/util/hasIosKeyboard.ts +0 -8
- /package/dist/types/src/{primitives → components}/Panel/Panel.stories.d.ts +0 -0
- /package/dist/types/src/{primitives → components}/Panel/index.d.ts +0 -0
- /package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts +0 -0
- /package/dist/types/src/{components → primitives}/DensityProvider/index.d.ts +0 -0
- /package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts +0 -0
- /package/dist/types/src/{components → primitives}/ElevationProvider/index.d.ts +0 -0
- /package/src/{primitives → components}/Panel/index.ts +0 -0
- /package/src/{components → primitives}/DensityProvider/index.ts +0 -0
- /package/src/{components → primitives}/ElevationProvider/ElevationProvider.tsx +0 -0
- /package/src/{components → primitives}/ElevationProvider/index.ts +0 -0
- /package/src/{components → primitives}/ThemeProvider/TranslationsProvider.tsx +0 -0
|
@@ -17,9 +17,9 @@ import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
|
17
17
|
import React, {
|
|
18
18
|
type ComponentPropsWithRef,
|
|
19
19
|
type ComponentPropsWithoutRef,
|
|
20
|
-
type
|
|
20
|
+
type ComponentRef,
|
|
21
21
|
type FC,
|
|
22
|
-
|
|
22
|
+
PropsWithChildren,
|
|
23
23
|
type ReactNode,
|
|
24
24
|
type RefObject,
|
|
25
25
|
forwardRef,
|
|
@@ -47,7 +47,7 @@ const useMenuScope: (scope?: Scope) => any = createMenuScope();
|
|
|
47
47
|
|
|
48
48
|
type DropdownMenuContextValue = {
|
|
49
49
|
triggerId: string;
|
|
50
|
-
triggerRef:
|
|
50
|
+
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
51
51
|
contentId: string;
|
|
52
52
|
open: boolean;
|
|
53
53
|
onOpenChange(open: boolean): void;
|
|
@@ -58,17 +58,23 @@ type DropdownMenuContextValue = {
|
|
|
58
58
|
const [DropdownMenuProvider, useDropdownMenuContext] =
|
|
59
59
|
createDropdownMenuContext<DropdownMenuContextValue>(DROPDOWN_MENU_NAME);
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
children?: ReactNode;
|
|
61
|
+
type DropdownMenuRootProps = PropsWithChildren<{
|
|
63
62
|
dir?: Direction;
|
|
63
|
+
modal?: boolean;
|
|
64
64
|
open?: boolean;
|
|
65
65
|
defaultOpen?: boolean;
|
|
66
66
|
onOpenChange?(open: boolean): void;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
}>;
|
|
68
|
+
|
|
69
|
+
const DropdownMenuRoot = ({
|
|
70
|
+
__scopeDropdownMenu,
|
|
71
|
+
children,
|
|
72
|
+
dir,
|
|
73
|
+
modal = true,
|
|
74
|
+
open: openProp,
|
|
75
|
+
defaultOpen,
|
|
76
|
+
onOpenChange,
|
|
77
|
+
}: ScopedProps<DropdownMenuRootProps>) => {
|
|
72
78
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
73
79
|
const triggerRef = useRef<HTMLButtonElement | null>(null);
|
|
74
80
|
const [open = false, setOpen] = useControllableState({
|
|
@@ -81,14 +87,14 @@ const DropdownMenuRoot: FC<DropdownMenuRootProps> = (props: ScopedProps<Dropdown
|
|
|
81
87
|
<DropdownMenuProvider
|
|
82
88
|
scope={__scopeDropdownMenu}
|
|
83
89
|
triggerId={useId()}
|
|
84
|
-
triggerRef={triggerRef
|
|
90
|
+
triggerRef={triggerRef}
|
|
85
91
|
contentId={useId()}
|
|
86
92
|
open={open}
|
|
87
93
|
onOpenChange={setOpen}
|
|
88
94
|
onOpenToggle={useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}
|
|
89
95
|
modal={modal}
|
|
90
96
|
>
|
|
91
|
-
<MenuPrimitive.Root {...menuScope}
|
|
97
|
+
<MenuPrimitive.Root {...menuScope} dir={dir} modal={modal} open={open} onOpenChange={setOpen}>
|
|
92
98
|
{children}
|
|
93
99
|
</MenuPrimitive.Root>
|
|
94
100
|
</DropdownMenuProvider>
|
|
@@ -101,11 +107,11 @@ DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
|
101
107
|
// DropdownMenuTrigger
|
|
102
108
|
//
|
|
103
109
|
|
|
104
|
-
const TRIGGER_NAME = '
|
|
110
|
+
const TRIGGER_NAME = 'DropdownMenu.Trigger';
|
|
105
111
|
|
|
106
|
-
type DropdownMenuTriggerElement =
|
|
112
|
+
type DropdownMenuTriggerElement = ComponentRef<typeof Primitive.button>;
|
|
107
113
|
type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
|
|
108
|
-
|
|
114
|
+
type DropdownMenuTriggerProps = PrimitiveButtonProps;
|
|
109
115
|
|
|
110
116
|
const DropdownMenuTrigger = forwardRef<DropdownMenuTriggerElement, DropdownMenuTriggerProps>(
|
|
111
117
|
(props: ScopedProps<DropdownMenuTriggerProps>, forwardedRef) => {
|
|
@@ -166,11 +172,11 @@ DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
|
|
166
172
|
// DropdownMenuVirtualTrigger
|
|
167
173
|
//
|
|
168
174
|
|
|
169
|
-
const VIRTUAL_TRIGGER_NAME = '
|
|
175
|
+
const VIRTUAL_TRIGGER_NAME = 'DropdownMenu.VirtualTrigger';
|
|
170
176
|
|
|
171
|
-
|
|
177
|
+
type DropdownMenuVirtualTriggerProps = {
|
|
172
178
|
virtualRef: RefObject<DropdownMenuTriggerElement | null>;
|
|
173
|
-
}
|
|
179
|
+
};
|
|
174
180
|
|
|
175
181
|
const DropdownMenuVirtualTrigger = (props: ScopedProps<DropdownMenuVirtualTriggerProps>) => {
|
|
176
182
|
const { __scopeDropdownMenu, virtualRef } = props;
|
|
@@ -190,10 +196,10 @@ DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
|
190
196
|
// DropdownMenuPortal
|
|
191
197
|
//
|
|
192
198
|
|
|
193
|
-
const PORTAL_NAME = '
|
|
199
|
+
const PORTAL_NAME = 'DropdownMenu.Portal';
|
|
194
200
|
|
|
195
201
|
type MenuPortalProps = ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
|
|
196
|
-
|
|
202
|
+
type DropdownMenuPortalProps = MenuPortalProps;
|
|
197
203
|
|
|
198
204
|
const DropdownMenuPortal: FC<DropdownMenuPortalProps> = (props: ScopedProps<DropdownMenuPortalProps>) => {
|
|
199
205
|
const { __scopeDropdownMenu, ...portalProps } = props;
|
|
@@ -227,11 +233,11 @@ const DropdownMenuViewport = forwardRef<HTMLDivElement, DropdownMenuViewportProp
|
|
|
227
233
|
// DropdownMenuContent
|
|
228
234
|
//
|
|
229
235
|
|
|
230
|
-
const CONTENT_NAME = '
|
|
236
|
+
const CONTENT_NAME = 'DropdownMenu.Content';
|
|
231
237
|
|
|
232
|
-
type DropdownMenuContentElement =
|
|
238
|
+
type DropdownMenuContentElement = ComponentRef<typeof MenuPrimitive.Content>;
|
|
233
239
|
type MenuContentProps = ThemedClassName<ComponentPropsWithoutRef<typeof MenuPrimitive.Content>>;
|
|
234
|
-
|
|
240
|
+
type DropdownMenuContentProps = Omit<MenuContentProps, 'onEntryFocus'>;
|
|
235
241
|
|
|
236
242
|
const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(
|
|
237
243
|
(props: ScopedProps<DropdownMenuContentProps>, forwardedRef) => {
|
|
@@ -306,11 +312,11 @@ DropdownMenuContent.displayName = CONTENT_NAME;
|
|
|
306
312
|
// DropdownMenuGroup
|
|
307
313
|
//
|
|
308
314
|
|
|
309
|
-
const GROUP_NAME = '
|
|
315
|
+
const GROUP_NAME = 'DropdownMenu.Group';
|
|
310
316
|
|
|
311
|
-
type DropdownMenuGroupElement =
|
|
317
|
+
type DropdownMenuGroupElement = ComponentRef<typeof MenuPrimitive.Group>;
|
|
312
318
|
type MenuGroupProps = ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
|
|
313
|
-
|
|
319
|
+
type DropdownMenuGroupProps = MenuGroupProps;
|
|
314
320
|
|
|
315
321
|
const DropdownMenuGroup = forwardRef<DropdownMenuGroupElement, DropdownMenuGroupProps>(
|
|
316
322
|
(props: ScopedProps<DropdownMenuGroupProps>, forwardedRef) => {
|
|
@@ -326,11 +332,11 @@ DropdownMenuGroup.displayName = GROUP_NAME;
|
|
|
326
332
|
// DropdownMenuLabel
|
|
327
333
|
//
|
|
328
334
|
|
|
329
|
-
const LABEL_NAME = '
|
|
335
|
+
const LABEL_NAME = 'DropdownMenu.Label';
|
|
330
336
|
|
|
331
|
-
type DropdownMenuLabelElement =
|
|
337
|
+
type DropdownMenuLabelElement = ComponentRef<typeof MenuPrimitive.Label>;
|
|
332
338
|
type MenuLabelProps = ThemedClassName<ComponentPropsWithoutRef<typeof MenuPrimitive.Label>>;
|
|
333
|
-
|
|
339
|
+
type DropdownMenuLabelProps = MenuLabelProps;
|
|
334
340
|
|
|
335
341
|
const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(
|
|
336
342
|
(props: ScopedProps<DropdownMenuLabelProps>, forwardedRef) => {
|
|
@@ -354,11 +360,11 @@ DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
|
354
360
|
// DropdownMenuItem
|
|
355
361
|
//
|
|
356
362
|
|
|
357
|
-
const ITEM_NAME = '
|
|
363
|
+
const ITEM_NAME = 'DropdownMenu.Item';
|
|
358
364
|
|
|
359
|
-
type DropdownMenuItemElement =
|
|
365
|
+
type DropdownMenuItemElement = ComponentRef<typeof MenuPrimitive.Item>;
|
|
360
366
|
type MenuItemProps = ThemedClassName<ComponentPropsWithoutRef<typeof MenuPrimitive.Item>>;
|
|
361
|
-
|
|
367
|
+
type DropdownMenuItemProps = MenuItemProps;
|
|
362
368
|
|
|
363
369
|
const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(
|
|
364
370
|
(props: ScopedProps<DropdownMenuItemProps>, forwardedRef) => {
|
|
@@ -382,11 +388,11 @@ DropdownMenuItem.displayName = ITEM_NAME;
|
|
|
382
388
|
// DropdownMenuCheckboxItem
|
|
383
389
|
//
|
|
384
390
|
|
|
385
|
-
const CHECKBOX_ITEM_NAME = '
|
|
391
|
+
const CHECKBOX_ITEM_NAME = 'DropdownMenu.CheckboxItem';
|
|
386
392
|
|
|
387
|
-
type DropdownMenuCheckboxItemElement =
|
|
393
|
+
type DropdownMenuCheckboxItemElement = ComponentRef<typeof MenuPrimitive.CheckboxItem>;
|
|
388
394
|
type MenuCheckboxItemProps = ThemedClassName<ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>>;
|
|
389
|
-
|
|
395
|
+
type DropdownMenuCheckboxItemProps = MenuCheckboxItemProps;
|
|
390
396
|
|
|
391
397
|
const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, DropdownMenuCheckboxItemProps>(
|
|
392
398
|
(props: ScopedProps<DropdownMenuCheckboxItemProps>, forwardedRef) => {
|
|
@@ -410,11 +416,11 @@ DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
|
410
416
|
// DropdownMenuRadioGroup
|
|
411
417
|
//
|
|
412
418
|
|
|
413
|
-
const RADIO_GROUP_NAME = '
|
|
419
|
+
const RADIO_GROUP_NAME = 'DropdownMenu.RadioGroup';
|
|
414
420
|
|
|
415
|
-
type DropdownMenuRadioGroupElement =
|
|
421
|
+
type DropdownMenuRadioGroupElement = ComponentRef<typeof MenuPrimitive.RadioGroup>;
|
|
416
422
|
type MenuRadioGroupProps = ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
|
|
417
|
-
|
|
423
|
+
type DropdownMenuRadioGroupProps = MenuRadioGroupProps;
|
|
418
424
|
|
|
419
425
|
const DropdownMenuRadioGroup = forwardRef<DropdownMenuRadioGroupElement, DropdownMenuRadioGroupProps>(
|
|
420
426
|
(props: ScopedProps<DropdownMenuRadioGroupProps>, forwardedRef) => {
|
|
@@ -430,9 +436,9 @@ DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
|
430
436
|
// DropdownMenuRadioItem
|
|
431
437
|
//
|
|
432
438
|
|
|
433
|
-
const RADIO_ITEM_NAME = '
|
|
439
|
+
const RADIO_ITEM_NAME = 'DropdownMenu.RadioItem';
|
|
434
440
|
|
|
435
|
-
type DropdownMenuRadioItemElement =
|
|
441
|
+
type DropdownMenuRadioItemElement = ComponentRef<typeof MenuPrimitive.RadioItem>;
|
|
436
442
|
type MenuRadioItemProps = ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
|
|
437
443
|
type DropdownMenuRadioItemProps = ThemedClassName<MenuRadioItemProps>;
|
|
438
444
|
|
|
@@ -458,11 +464,11 @@ DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
|
458
464
|
// DropdownMenuItemIndicator
|
|
459
465
|
//
|
|
460
466
|
|
|
461
|
-
const INDICATOR_NAME = '
|
|
467
|
+
const INDICATOR_NAME = 'DropdownMenu.ItemIndicator';
|
|
462
468
|
|
|
463
|
-
type DropdownMenuItemIndicatorElement =
|
|
469
|
+
type DropdownMenuItemIndicatorElement = ComponentRef<typeof MenuPrimitive.ItemIndicator>;
|
|
464
470
|
type MenuItemIndicatorProps = ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
|
|
465
|
-
|
|
471
|
+
type DropdownMenuItemIndicatorProps = MenuItemIndicatorProps;
|
|
466
472
|
|
|
467
473
|
const DropdownMenuItemIndicator = forwardRef<DropdownMenuItemIndicatorElement, DropdownMenuItemIndicatorProps>(
|
|
468
474
|
(props: ScopedProps<DropdownMenuItemIndicatorProps>, forwardedRef) => {
|
|
@@ -478,11 +484,11 @@ DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
|
478
484
|
// DropdownMenuSeparator
|
|
479
485
|
//
|
|
480
486
|
|
|
481
|
-
const SEPARATOR_NAME = '
|
|
487
|
+
const SEPARATOR_NAME = 'DropdownMenu.Separator';
|
|
482
488
|
|
|
483
|
-
type DropdownMenuSeparatorElement =
|
|
489
|
+
type DropdownMenuSeparatorElement = ComponentRef<typeof MenuPrimitive.Separator>;
|
|
484
490
|
type MenuSeparatorProps = ThemedClassName<ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>>;
|
|
485
|
-
|
|
491
|
+
type DropdownMenuSeparatorProps = MenuSeparatorProps;
|
|
486
492
|
|
|
487
493
|
const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownMenuSeparatorProps>(
|
|
488
494
|
(props: ScopedProps<DropdownMenuSeparatorProps>, forwardedRef) => {
|
|
@@ -506,11 +512,11 @@ DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
|
506
512
|
// DropdownMenuArrow
|
|
507
513
|
//
|
|
508
514
|
|
|
509
|
-
const ARROW_NAME = '
|
|
515
|
+
const ARROW_NAME = 'DropdownMenu.Arrow';
|
|
510
516
|
|
|
511
|
-
type DropdownMenuArrowElement =
|
|
517
|
+
type DropdownMenuArrowElement = ComponentRef<typeof MenuPrimitive.Arrow>;
|
|
512
518
|
type MenuArrowProps = ThemedClassName<ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>>;
|
|
513
|
-
|
|
519
|
+
type DropdownMenuArrowProps = MenuArrowProps;
|
|
514
520
|
|
|
515
521
|
const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrowProps>(
|
|
516
522
|
(props: ScopedProps<DropdownMenuArrowProps>, forwardedRef) => {
|
|
@@ -534,12 +540,12 @@ DropdownMenuArrow.displayName = ARROW_NAME;
|
|
|
534
540
|
// DropdownMenuSub
|
|
535
541
|
//
|
|
536
542
|
|
|
537
|
-
|
|
543
|
+
type DropdownMenuSubProps = {
|
|
538
544
|
children?: ReactNode;
|
|
539
545
|
open?: boolean;
|
|
540
546
|
defaultOpen?: boolean;
|
|
541
547
|
onOpenChange?(open: boolean): void;
|
|
542
|
-
}
|
|
548
|
+
};
|
|
543
549
|
|
|
544
550
|
const DropdownMenuSub: FC<DropdownMenuSubProps> = (props: ScopedProps<DropdownMenuSubProps>) => {
|
|
545
551
|
const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
|
|
@@ -561,11 +567,11 @@ const DropdownMenuSub: FC<DropdownMenuSubProps> = (props: ScopedProps<DropdownMe
|
|
|
561
567
|
// DropdownMenuSubTrigger
|
|
562
568
|
//
|
|
563
569
|
|
|
564
|
-
const SUB_TRIGGER_NAME = '
|
|
570
|
+
const SUB_TRIGGER_NAME = 'DropdownMenu.SubTrigger';
|
|
565
571
|
|
|
566
|
-
type DropdownMenuSubTriggerElement =
|
|
572
|
+
type DropdownMenuSubTriggerElement = ComponentRef<typeof MenuPrimitive.SubTrigger>;
|
|
567
573
|
type MenuSubTriggerProps = ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
|
|
568
|
-
|
|
574
|
+
type DropdownMenuSubTriggerProps = MenuSubTriggerProps;
|
|
569
575
|
|
|
570
576
|
const DropdownMenuSubTrigger = forwardRef<DropdownMenuSubTriggerElement, DropdownMenuSubTriggerProps>(
|
|
571
577
|
(props: ScopedProps<DropdownMenuSubTriggerProps>, forwardedRef) => {
|
|
@@ -581,11 +587,11 @@ DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
|
581
587
|
// DropdownMenuSubContent
|
|
582
588
|
//
|
|
583
589
|
|
|
584
|
-
const SUB_CONTENT_NAME = '
|
|
590
|
+
const SUB_CONTENT_NAME = 'DropdownMenu.SubContent';
|
|
585
591
|
|
|
586
|
-
type DropdownMenuSubContentElement =
|
|
592
|
+
type DropdownMenuSubContentElement = ComponentRef<typeof MenuPrimitive.Content>;
|
|
587
593
|
type MenuSubContentProps = ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
|
|
588
|
-
|
|
594
|
+
type DropdownMenuSubContentProps = MenuSubContentProps;
|
|
589
595
|
|
|
590
596
|
const DropdownMenuSubContent = forwardRef<DropdownMenuSubContentElement, DropdownMenuSubContentProps>(
|
|
591
597
|
(props: ScopedProps<DropdownMenuSubContentProps>, forwardedRef) => {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { dataDisabled } from '@dxos/ui-theme';
|
|
6
|
+
import { mx, surfaceShadow, surfaceZIndex } from '@dxos/ui-theme';
|
|
7
|
+
import { type ComponentFunction, type Elevation, type Theme } from '@dxos/ui-types';
|
|
8
|
+
|
|
9
|
+
export type MenuStyleProps = Partial<{
|
|
10
|
+
constrainBlockSize: boolean;
|
|
11
|
+
elevation: Elevation;
|
|
12
|
+
}>;
|
|
13
|
+
|
|
14
|
+
const content: ComponentFunction<MenuStyleProps> = ({ elevation }, ...etc) =>
|
|
15
|
+
mx(
|
|
16
|
+
'dx-popover-surface w-48 rounded-sm md:w-56 border border-separator',
|
|
17
|
+
surfaceZIndex({ elevation, level: 'menu' }),
|
|
18
|
+
surfaceShadow({ elevation: 'positioned' }),
|
|
19
|
+
...etc,
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const viewport: ComponentFunction<MenuStyleProps> = (_props, ...etc) =>
|
|
23
|
+
mx('rounded-sm p-1 max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto', ...etc);
|
|
24
|
+
|
|
25
|
+
const item: ComponentFunction<MenuStyleProps> = (_props, ...etc) =>
|
|
26
|
+
mx(
|
|
27
|
+
'flex cursor-pointer select-none items-center gap-2 rounded-xs px-2 py-2 text-sm',
|
|
28
|
+
'hover:bg-hover-surface data-[highlighted]:bg-hover-surface',
|
|
29
|
+
'dx-focus-subdued',
|
|
30
|
+
dataDisabled,
|
|
31
|
+
...etc,
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const separator: ComponentFunction<MenuStyleProps> = (_props, ...etc) => mx('my-1 mx-2 h-px bg-separator', ...etc);
|
|
35
|
+
|
|
36
|
+
const groupLabel: ComponentFunction<MenuStyleProps> = (_props, ...etc) =>
|
|
37
|
+
mx('text-description', 'select-none px-2 py-2', ...etc);
|
|
38
|
+
|
|
39
|
+
const arrow: ComponentFunction<MenuStyleProps> = (_props, ...etc) => mx('fill-separator', ...etc);
|
|
40
|
+
|
|
41
|
+
export const menuTheme: Theme<MenuStyleProps> = {
|
|
42
|
+
content,
|
|
43
|
+
viewport,
|
|
44
|
+
item,
|
|
45
|
+
separator,
|
|
46
|
+
groupLabel,
|
|
47
|
+
arrow,
|
|
48
|
+
};
|
|
@@ -5,26 +5,34 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { random } from '@dxos/random';
|
|
9
9
|
import { type MessageValence } from '@dxos/ui-types';
|
|
10
10
|
|
|
11
11
|
import { withTheme } from '../../testing';
|
|
12
|
-
|
|
12
|
+
import { Button } from '../Button';
|
|
13
13
|
import { Message } from './Message';
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
random.seed(123);
|
|
16
16
|
|
|
17
|
-
type
|
|
17
|
+
type DefaultStoryProps = {
|
|
18
18
|
valence: MessageValence;
|
|
19
19
|
title: string;
|
|
20
20
|
body: string;
|
|
21
|
+
button?: boolean;
|
|
21
22
|
};
|
|
22
23
|
|
|
23
|
-
const DefaultStory = ({ valence, title, body }:
|
|
24
|
+
const DefaultStory = ({ valence, title, body, button }: DefaultStoryProps) => (
|
|
24
25
|
<div className='w-[30rem]'>
|
|
25
26
|
<Message.Root valence={valence}>
|
|
26
|
-
{title && <Message.Title>{title}</Message.Title>}
|
|
27
|
-
{body &&
|
|
27
|
+
{title && <Message.Title onClose={() => console.log('close')}>{title}</Message.Title>}
|
|
28
|
+
{body && (
|
|
29
|
+
<Message.Content asChild classNames='gap-2'>
|
|
30
|
+
<div>
|
|
31
|
+
<p>{body}</p>
|
|
32
|
+
{button && <Button>Test</Button>}
|
|
33
|
+
</div>
|
|
34
|
+
</Message.Content>
|
|
35
|
+
)}
|
|
28
36
|
</Message.Root>
|
|
29
37
|
</div>
|
|
30
38
|
);
|
|
@@ -52,15 +60,44 @@ type Story = StoryObj<typeof meta>;
|
|
|
52
60
|
export const Default: Story = {
|
|
53
61
|
args: {
|
|
54
62
|
valence: 'neutral',
|
|
55
|
-
title: '
|
|
56
|
-
body:
|
|
63
|
+
title: 'Default',
|
|
64
|
+
body: random.lorem.paragraphs(1),
|
|
65
|
+
button: true,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export const Success: Story = {
|
|
70
|
+
args: {
|
|
71
|
+
valence: 'success',
|
|
72
|
+
title: 'Success',
|
|
73
|
+
body: random.lorem.paragraphs(1),
|
|
74
|
+
button: true,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const Info: Story = {
|
|
79
|
+
args: {
|
|
80
|
+
valence: 'info',
|
|
81
|
+
title: 'Info',
|
|
82
|
+
body: random.lorem.paragraphs(1),
|
|
83
|
+
button: true,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const Warning: Story = {
|
|
88
|
+
args: {
|
|
89
|
+
valence: 'warning',
|
|
90
|
+
title: 'Warning',
|
|
91
|
+
body: random.lorem.paragraphs(1),
|
|
92
|
+
button: true,
|
|
57
93
|
},
|
|
58
94
|
};
|
|
59
95
|
|
|
60
96
|
export const Error: Story = {
|
|
61
97
|
args: {
|
|
62
98
|
valence: 'error',
|
|
63
|
-
title: 'Error
|
|
64
|
-
body:
|
|
99
|
+
title: 'Error',
|
|
100
|
+
body: random.lorem.paragraphs(1),
|
|
101
|
+
button: true,
|
|
65
102
|
},
|
|
66
103
|
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { mx, messageValence } from '@dxos/ui-theme';
|
|
6
|
+
import { type ComponentFunction, type Elevation, type MessageValence, type Theme } from '@dxos/ui-types';
|
|
7
|
+
|
|
8
|
+
export type MessageStyleProps = {
|
|
9
|
+
valence?: MessageValence;
|
|
10
|
+
elevation?: Elevation;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const root: ComponentFunction<MessageStyleProps> = ({ valence }, etc) => {
|
|
14
|
+
return mx('p-1 rounded-sm', messageValence(valence), etc);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const header: ComponentFunction<MessageStyleProps> = (_, etc) => {
|
|
18
|
+
return mx('items-center', etc);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const title: ComponentFunction<MessageStyleProps> = (_, etc) => {
|
|
22
|
+
return mx('col-start-2 overflow-hidden truncate', etc);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const icon: ComponentFunction<MessageStyleProps> = (_, etc) => {
|
|
26
|
+
return mx('col-start-1 grid place-items-center', etc);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const close: ComponentFunction<MessageStyleProps> = (_, etc) => {
|
|
30
|
+
return mx('col-start-3', etc);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const content: ComponentFunction<MessageStyleProps> = (_, etc) => {
|
|
34
|
+
return mx('col-start-2 flex flex-col first:font-medium pb-1.5', etc);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const messageTheme: Theme<MessageStyleProps> = {
|
|
38
|
+
root,
|
|
39
|
+
header,
|
|
40
|
+
icon,
|
|
41
|
+
title,
|
|
42
|
+
close,
|
|
43
|
+
content,
|
|
44
|
+
};
|
|
@@ -5,13 +5,18 @@
|
|
|
5
5
|
import { createContext } from '@radix-ui/react-context';
|
|
6
6
|
import { Primitive } from '@radix-ui/react-primitive';
|
|
7
7
|
import { Slot } from '@radix-ui/react-slot';
|
|
8
|
-
import React, { type ComponentPropsWithRef, forwardRef } from 'react';
|
|
8
|
+
import React, { type CSSProperties, type ComponentPropsWithRef, forwardRef } from 'react';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
9
10
|
|
|
10
11
|
import { useId } from '@dxos/react-hooks';
|
|
11
12
|
import { type Elevation, type MessageValence } from '@dxos/ui-types';
|
|
12
13
|
|
|
14
|
+
import { translationKey } from '#translations';
|
|
15
|
+
|
|
13
16
|
import { useElevationContext, useThemeContext } from '../../hooks';
|
|
14
17
|
import { type ThemedClassName } from '../../util';
|
|
18
|
+
import { IconButton } from '../Button';
|
|
19
|
+
import { Column } from '../Column';
|
|
15
20
|
import { Icon } from '../Icon';
|
|
16
21
|
|
|
17
22
|
const messageIcons: Record<MessageValence, string> = {
|
|
@@ -34,6 +39,42 @@ type MessageContextValue = { titleId?: string; descriptionId: string; valence: M
|
|
|
34
39
|
|
|
35
40
|
const MESSAGE_NAME = 'Message';
|
|
36
41
|
|
|
42
|
+
// CSS custom properties for valence color inheritance — consumed by Button variant='valence'.
|
|
43
|
+
// Extending CSSProperties so entries satisfy the style prop type without a cast at the use site.
|
|
44
|
+
type ValenceCSSVars = CSSProperties & {
|
|
45
|
+
'--dx-valence-bg': string;
|
|
46
|
+
'--dx-valence-bg-hover': string;
|
|
47
|
+
'--dx-valence-text': string;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const valenceVars: Record<MessageValence, ValenceCSSVars> = {
|
|
51
|
+
success: {
|
|
52
|
+
'--dx-valence-bg': 'var(--color-success-bg)',
|
|
53
|
+
'--dx-valence-bg-hover': 'var(--color-success-bg-hover)',
|
|
54
|
+
'--dx-valence-text': 'var(--color-success-text)',
|
|
55
|
+
},
|
|
56
|
+
info: {
|
|
57
|
+
'--dx-valence-bg': 'var(--color-info-bg)',
|
|
58
|
+
'--dx-valence-bg-hover': 'var(--color-info-bg-hover)',
|
|
59
|
+
'--dx-valence-text': 'var(--color-info-text)',
|
|
60
|
+
},
|
|
61
|
+
warning: {
|
|
62
|
+
'--dx-valence-bg': 'var(--color-warning-bg)',
|
|
63
|
+
'--dx-valence-bg-hover': 'var(--color-warning-bg-hover)',
|
|
64
|
+
'--dx-valence-text': 'var(--color-warning-text)',
|
|
65
|
+
},
|
|
66
|
+
error: {
|
|
67
|
+
'--dx-valence-bg': 'var(--color-error-bg)',
|
|
68
|
+
'--dx-valence-bg-hover': 'var(--color-error-bg-hover)',
|
|
69
|
+
'--dx-valence-text': 'var(--color-error-text)',
|
|
70
|
+
},
|
|
71
|
+
neutral: {
|
|
72
|
+
'--dx-valence-bg': 'var(--color-neutral-bg)',
|
|
73
|
+
'--dx-valence-bg-hover': 'var(--color-neutral-bg-hover)',
|
|
74
|
+
'--dx-valence-text': 'var(--color-neutral-text)',
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
|
|
37
78
|
const [MessageProvider, useMessageContext] = createContext<MessageContextValue>(MESSAGE_NAME);
|
|
38
79
|
|
|
39
80
|
//
|
|
@@ -58,20 +99,21 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
|
58
99
|
const titleId = useId('message__title', propsTitleId);
|
|
59
100
|
const descriptionId = useId('message__description', propsDescriptionId);
|
|
60
101
|
const elevation = useElevationContext(propsElevation);
|
|
61
|
-
const Comp = asChild ? Slot : Primitive.div;
|
|
62
102
|
|
|
63
103
|
return (
|
|
64
104
|
<MessageProvider {...{ titleId, descriptionId, valence }}>
|
|
65
|
-
<
|
|
105
|
+
<Column.Root
|
|
106
|
+
asChild={asChild}
|
|
66
107
|
role={valence === 'neutral' ? 'paragraph' : 'alert'}
|
|
67
|
-
{...props}
|
|
68
|
-
className={tx('message.root', { valence, elevation }, classNames)}
|
|
69
108
|
aria-labelledby={titleId}
|
|
70
109
|
aria-describedby={descriptionId}
|
|
110
|
+
{...props}
|
|
111
|
+
style={{ ...valenceVars[valence], ...(props.style || {}) }}
|
|
112
|
+
classNames={tx('message.root', { valence, elevation }, classNames)}
|
|
71
113
|
ref={forwardedRef}
|
|
72
114
|
>
|
|
73
115
|
{children}
|
|
74
|
-
</
|
|
116
|
+
</Column.Root>
|
|
75
117
|
</MessageProvider>
|
|
76
118
|
);
|
|
77
119
|
},
|
|
@@ -84,27 +126,41 @@ MessageRoot.displayName = MESSAGE_NAME;
|
|
|
84
126
|
//
|
|
85
127
|
|
|
86
128
|
type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
|
|
87
|
-
asChild?: boolean;
|
|
88
129
|
icon?: string;
|
|
130
|
+
onClose?: () => void;
|
|
89
131
|
};
|
|
90
132
|
|
|
91
|
-
const MESSAGE_TITLE_NAME = '
|
|
133
|
+
const MESSAGE_TITLE_NAME = 'Message.Title';
|
|
92
134
|
|
|
93
|
-
const MessageTitle = forwardRef<
|
|
94
|
-
({
|
|
135
|
+
const MessageTitle = forwardRef<HTMLDivElement, MessageTitleProps>(
|
|
136
|
+
({ classNames, children, icon: iconProp, onClose }, forwardedRef) => {
|
|
137
|
+
const { t } = useTranslation(translationKey);
|
|
95
138
|
const { tx } = useThemeContext();
|
|
96
139
|
const { titleId, valence } = useMessageContext(MESSAGE_TITLE_NAME);
|
|
97
|
-
const Comp = asChild ? Slot : Primitive.h2;
|
|
98
140
|
const icon = iconProp ?? messageIcons[valence];
|
|
99
141
|
return (
|
|
100
|
-
<
|
|
101
|
-
{
|
|
102
|
-
<div
|
|
103
|
-
|
|
104
|
-
|
|
142
|
+
<Column.Row classNames={tx('message.header', {}, classNames)} ref={forwardedRef}>
|
|
143
|
+
{icon && (
|
|
144
|
+
<div className={tx('message.icon', { valence })}>
|
|
145
|
+
<Icon icon={icon} size={5} />
|
|
146
|
+
</div>
|
|
105
147
|
)}
|
|
106
|
-
<
|
|
107
|
-
|
|
148
|
+
<h2 className={tx('message.title', {}, classNames)} id={titleId}>
|
|
149
|
+
{children}
|
|
150
|
+
</h2>
|
|
151
|
+
{onClose && (
|
|
152
|
+
<div className={tx('message.close', {})}>
|
|
153
|
+
<IconButton
|
|
154
|
+
variant='ghost'
|
|
155
|
+
icon='ph--x--regular'
|
|
156
|
+
iconOnly
|
|
157
|
+
density='sm'
|
|
158
|
+
label={t('toolbar-close.label')}
|
|
159
|
+
onClick={onClose}
|
|
160
|
+
/>
|
|
161
|
+
</div>
|
|
162
|
+
)}
|
|
163
|
+
</Column.Row>
|
|
108
164
|
);
|
|
109
165
|
},
|
|
110
166
|
);
|
|
@@ -119,7 +175,7 @@ type MessageContentProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Pri
|
|
|
119
175
|
asChild?: boolean;
|
|
120
176
|
};
|
|
121
177
|
|
|
122
|
-
const MESSAGE_CONTENT_NAME = '
|
|
178
|
+
const MESSAGE_CONTENT_NAME = 'Message.Content';
|
|
123
179
|
|
|
124
180
|
const MessageContent = forwardRef<HTMLParagraphElement, MessageContentProps>(
|
|
125
181
|
({ asChild, classNames, children, ...props }, forwardedRef) => {
|