@dxos/react-ui 0.8.4-main.406dc2a → 0.8.4-main.52d7546f51
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/dist/lib/browser/chunk-6DTBPJE4.mjs +774 -0
- package/dist/lib/browser/chunk-6DTBPJE4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3200 -64
- 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 -48
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-JKHQSGNU.mjs +776 -0
- package/dist/lib/node-esm/chunk-JKHQSGNU.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3200 -64
- 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 -48
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +7 -0
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/{Buttons → Button}/Button.d.ts +1 -1
- package/dist/types/src/components/Button/Button.d.ts.map +1 -0
- package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +2 -2
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
- package/dist/types/src/components/Button/Toggle.d.ts.map +1 -0
- package/dist/types/src/components/Button/Toggle.stories.d.ts +16 -0
- package/dist/types/src/components/Button/Toggle.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/ToggleGroup.d.ts +4 -4
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/ToggleGroup.stories.d.ts +4 -4
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts.map +1 -0
- package/dist/types/src/components/Button/index.d.ts.map +1 -0
- package/dist/types/src/components/Clipboard/CopyButton.d.ts +1 -1
- package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
- package/dist/types/src/components/DensityProvider/DensityProvider.d.ts +1 -1
- package/dist/types/src/components/DensityProvider/DensityProvider.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts +46 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/src/components/{Dialogs → Dialog}/Dialog.stories.d.ts +7 -5
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/index.d.ts.map +1 -0
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.stories.d.ts +17 -0
- package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
- package/dist/types/src/components/Input/Input.d.ts +5 -2
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +2 -2
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/{Lists → List}/List.d.ts +1 -1
- package/dist/types/src/components/List/List.d.ts.map +1 -0
- package/dist/types/src/components/List/List.stories.d.ts.map +1 -0
- package/dist/types/src/components/List/ListDropIndicator.d.ts.map +1 -0
- package/dist/types/src/components/List/Tree.d.ts.map +1 -0
- package/dist/types/src/components/List/Tree.stories.d.ts.map +1 -0
- package/dist/types/src/components/List/TreeDropIndicator.d.ts.map +1 -0
- package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
- package/dist/types/src/components/List/Treegrid.stories.d.ts.map +1 -0
- package/dist/types/src/components/List/index.d.ts.map +1 -0
- package/dist/types/src/components/Main/Main.d.ts +16 -17
- 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/{Menus → Menu}/ContextMenu.d.ts +6 -6
- package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Menus → Menu}/DropdownMenu.d.ts +3 -4
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/Menu/index.d.ts.map +1 -0
- package/dist/types/src/components/Message/Message.d.ts +1 -1
- package/dist/types/src/components/Message/Message.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +25 -26
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +46 -8
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +39 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +19 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/index.d.ts +2 -0
- package/dist/types/src/components/ScrollContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/Select/Select.d.ts +10 -10
- package/dist/types/src/components/Select/Select.d.ts.map +1 -1
- package/dist/types/src/components/Separator/Separator.d.ts +1 -1
- package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
- package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/index.d.ts +2 -0
- package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts +26 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/index.d.ts +2 -0
- package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
- package/dist/types/src/components/Tag/Tag.d.ts +1 -1
- package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +2 -2
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -8
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.d.ts +4 -4
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +14 -11
- 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/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +7 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +17 -0
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts +14 -0
- package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
- package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
- 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 +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -1
- 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.map +1 -1
- package/dist/types/src/primitives/Container/Container.d.ts +23 -0
- package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts +11 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Layout.d.ts +18 -0
- package/dist/types/src/primitives/Container/Layout.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Layout.stories.d.ts +10 -0
- package/dist/types/src/primitives/Container/Layout.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/index.d.ts +3 -0
- package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts +8 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/index.d.ts +2 -0
- package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +3 -0
- package/dist/types/src/primitives/index.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/index.d.ts +1 -1
- package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayout.d.ts +3 -3
- package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +12 -0
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
- package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +1 -2
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +38 -30
- package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +10 -12
- package/src/components/Avatars/Avatar.stories.tsx +4 -4
- package/src/components/Avatars/Avatar.tsx +3 -10
- package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -3
- package/src/components/Breadcrumb/Breadcrumb.tsx +5 -31
- package/src/components/{Buttons → Button}/Button.stories.tsx +3 -3
- package/src/components/{Buttons → Button}/Button.tsx +2 -8
- package/src/components/{Buttons → Button}/IconButton.stories.tsx +2 -2
- package/src/components/{Buttons → Button}/IconButton.tsx +20 -14
- package/src/components/{Buttons → Button}/Toggle.stories.tsx +7 -6
- package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +2 -2
- package/src/components/Clipboard/CopyButton.tsx +4 -4
- package/src/components/DensityProvider/DensityProvider.tsx +1 -1
- package/src/components/{Dialogs → Dialog}/AlertDialog.stories.tsx +3 -3
- package/src/components/{Dialogs → Dialog}/AlertDialog.tsx +3 -8
- package/src/components/Dialog/Dialog.stories.tsx +101 -0
- package/src/components/{Dialogs → Dialog}/Dialog.tsx +171 -46
- package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
- package/src/components/Icon/Icon.stories.tsx +113 -0
- package/src/components/Icon/Icon.tsx +3 -3
- package/src/components/Input/Input.stories.tsx +12 -11
- package/src/components/Input/Input.tsx +23 -29
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/Link/Link.tsx +1 -1
- package/src/components/{Lists → List}/List.stories.tsx +19 -15
- package/src/components/{Lists → List}/List.tsx +8 -14
- package/src/components/{Lists → List}/ListDropIndicator.tsx +1 -1
- package/src/components/{Lists → List}/Tree.stories.tsx +2 -2
- package/src/components/{Lists → List}/Treegrid.stories.tsx +2 -2
- package/src/components/{Lists → List}/Treegrid.tsx +4 -9
- package/src/components/Main/Main.stories.tsx +41 -20
- package/src/components/Main/Main.tsx +139 -82
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/ContextMenu.tsx +7 -31
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +3 -3
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +87 -66
- package/src/components/Message/Message.stories.tsx +3 -3
- package/src/components/Message/Message.tsx +34 -23
- package/src/components/Popover/Popover.stories.tsx +3 -3
- package/src/components/Popover/Popover.tsx +55 -36
- package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
- package/src/components/ScrollArea/ScrollArea.tsx +80 -82
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +70 -0
- package/src/components/ScrollContainer/ScrollContainer.tsx +238 -0
- package/src/components/ScrollContainer/index.ts +5 -0
- package/src/components/Select/Select.stories.tsx +3 -3
- package/src/components/Select/Select.tsx +13 -29
- package/src/components/Separator/Separator.tsx +1 -1
- package/src/components/Skeleton/Skeleton.stories.tsx +52 -0
- package/src/components/Skeleton/Skeleton.tsx +26 -0
- package/src/components/Skeleton/index.ts +5 -0
- package/src/components/Splitter/Splitter.stories.tsx +73 -0
- package/src/components/Splitter/Splitter.tsx +123 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +2 -2
- package/src/components/Status/Status.tsx +2 -2
- package/src/components/Tag/Tag.stories.tsx +4 -4
- package/src/components/Tag/Tag.tsx +2 -7
- package/src/components/ThemeProvider/ThemeProvider.tsx +3 -4
- package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
- package/src/components/ThemeProvider/index.ts +3 -3
- package/src/components/Toast/Toast.stories.tsx +3 -3
- package/src/components/Toast/Toast.tsx +6 -10
- package/src/components/Toolbar/Toolbar.stories.tsx +4 -6
- package/src/components/Toolbar/Toolbar.tsx +32 -12
- package/src/components/Tooltip/Tooltip.stories.tsx +3 -3
- package/src/components/Tooltip/Tooltip.tsx +24 -22
- package/src/components/index.ts +7 -4
- package/src/exemplars/generics.stories.tsx +44 -0
- package/src/exemplars/slot.stories.tsx +108 -0
- package/src/exemplars/tabster.stories.tsx +127 -0
- package/src/hooks/useDensityContext.ts +1 -1
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +3 -4
- package/src/playground/Custom.stories.tsx +8 -10
- package/src/playground/Typography.stories.tsx +2 -2
- package/src/primitives/Container/Container.stories.tsx +67 -0
- package/src/primitives/Container/Container.tsx +79 -0
- package/src/primitives/Container/Layout.stories.tsx +57 -0
- package/src/primitives/Container/Layout.tsx +61 -0
- package/src/primitives/Container/index.ts +6 -0
- package/src/primitives/Flex/Flex.tsx +26 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/index.ts +6 -0
- package/src/testing/decorators/index.ts +1 -1
- package/src/testing/decorators/withLayout.tsx +22 -15
- package/src/testing/decorators/{withSurfaceVariantsLayout.tsx → withLayoutVariants.tsx} +5 -5
- package/src/testing/decorators/withTheme.tsx +21 -18
- package/src/util/index.ts +2 -2
- package/dist/lib/browser/chunk-KX5JDELJ.mjs +0 -4521
- package/dist/lib/browser/chunk-KX5JDELJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3HDQYL5S.mjs +0 -4523
- package/dist/lib/node-esm/chunk-3HDQYL5S.mjs.map +0 -7
- package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Button.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/IconButton.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/IconButton.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Toggle.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Toggle.stories.d.ts +0 -13
- package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/index.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/Dialog.d.ts +0 -31
- package/dist/types/src/components/Dialogs/Dialog.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/Dialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/index.d.ts.map +0 -1
- package/dist/types/src/components/Lists/List.d.ts.map +0 -1
- package/dist/types/src/components/Lists/List.stories.d.ts.map +0 -1
- package/dist/types/src/components/Lists/ListDropIndicator.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Tree.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Tree.stories.d.ts.map +0 -1
- package/dist/types/src/components/Lists/TreeDropIndicator.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Treegrid.d.ts.map +0 -1
- package/dist/types/src/components/Lists/Treegrid.stories.d.ts.map +0 -1
- package/dist/types/src/components/Lists/index.d.ts.map +0 -1
- package/dist/types/src/components/Menus/ContextMenu.d.ts.map +0 -1
- package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts.map +0 -1
- package/dist/types/src/components/Menus/index.d.ts.map +0 -1
- package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts +0 -12
- package/dist/types/src/testing/decorators/withSurfaceVariantsLayout.d.ts.map +0 -1
- package/dist/types/src/util/ThemedClassName.d.ts +0 -5
- package/dist/types/src/util/ThemedClassName.d.ts.map +0 -1
- package/dist/types/src/util/domino.d.ts +0 -18
- package/dist/types/src/util/domino.d.ts.map +0 -1
- package/src/components/Dialogs/Dialog.stories.tsx +0 -67
- package/src/util/ThemedClassName.ts +0 -7
- package/src/util/domino.ts +0 -53
- /package/dist/types/src/components/{Buttons → Button}/Button.stories.d.ts +0 -0
- /package/dist/types/src/components/{Buttons → Button}/IconButton.stories.d.ts +0 -0
- /package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +0 -0
- /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
- /package/dist/types/src/components/{Dialogs → Dialog}/AlertDialog.d.ts +0 -0
- /package/dist/types/src/components/{Dialogs → Dialog}/AlertDialog.stories.d.ts +0 -0
- /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/List.stories.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/Tree.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/Tree.stories.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/Treegrid.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/Treegrid.stories.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
- /package/dist/types/src/components/{Menus → Menu}/ContextMenu.stories.d.ts +0 -0
- /package/dist/types/src/components/{Menus → Menu}/DropdownMenu.stories.d.ts +0 -0
- /package/dist/types/src/components/{Menus → Menu}/index.d.ts +0 -0
- /package/src/components/{Buttons → Button}/Toggle.tsx +0 -0
- /package/src/components/{Buttons → Button}/ToggleGroup.tsx +0 -0
- /package/src/components/{Buttons → Button}/index.ts +0 -0
- /package/src/components/{Dialogs → Dialog}/index.ts +0 -0
- /package/src/components/{Lists → List}/Tree.tsx +0 -0
- /package/src/components/{Lists → List}/TreeDropIndicator.tsx +0 -0
- /package/src/components/{Lists → List}/index.ts +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
|
@@ -25,6 +25,7 @@ import React, {
|
|
|
25
25
|
forwardRef,
|
|
26
26
|
useCallback,
|
|
27
27
|
useEffect,
|
|
28
|
+
useMemo,
|
|
28
29
|
useRef,
|
|
29
30
|
} from 'react';
|
|
30
31
|
|
|
@@ -34,15 +35,15 @@ import { type ThemedClassName } from '../../util';
|
|
|
34
35
|
|
|
35
36
|
type Direction = 'ltr' | 'rtl';
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
//
|
|
39
|
+
// DropdownMenu
|
|
40
|
+
//
|
|
40
41
|
|
|
41
42
|
const DROPDOWN_MENU_NAME = 'DropdownMenu';
|
|
42
43
|
|
|
43
44
|
type ScopedProps<P> = P & { __scopeDropdownMenu?: Scope };
|
|
44
45
|
const [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(DROPDOWN_MENU_NAME, [createMenuScope]);
|
|
45
|
-
const useMenuScope = createMenuScope();
|
|
46
|
+
const useMenuScope: (scope?: Scope) => any = createMenuScope();
|
|
46
47
|
|
|
47
48
|
type DropdownMenuContextValue = {
|
|
48
49
|
triggerId: string;
|
|
@@ -96,9 +97,9 @@ const DropdownMenuRoot: FC<DropdownMenuRootProps> = (props: ScopedProps<Dropdown
|
|
|
96
97
|
|
|
97
98
|
DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
98
99
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
//
|
|
101
|
+
// DropdownMenuTrigger
|
|
102
|
+
//
|
|
102
103
|
|
|
103
104
|
const TRIGGER_NAME = 'DropdownMenuTrigger';
|
|
104
105
|
|
|
@@ -161,9 +162,9 @@ const DropdownMenuTrigger = forwardRef<DropdownMenuTriggerElement, DropdownMenuT
|
|
|
161
162
|
|
|
162
163
|
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
|
163
164
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
//
|
|
166
|
+
// DropdownMenuVirtualTrigger
|
|
167
|
+
//
|
|
167
168
|
|
|
168
169
|
const VIRTUAL_TRIGGER_NAME = 'DropdownMenuVirtualTrigger';
|
|
169
170
|
|
|
@@ -185,9 +186,9 @@ const DropdownMenuVirtualTrigger = (props: ScopedProps<DropdownMenuVirtualTrigge
|
|
|
185
186
|
|
|
186
187
|
DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
187
188
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
//
|
|
190
|
+
// DropdownMenuPortal
|
|
191
|
+
//
|
|
191
192
|
|
|
192
193
|
const PORTAL_NAME = 'DropdownMenuPortal';
|
|
193
194
|
|
|
@@ -202,9 +203,9 @@ const DropdownMenuPortal: FC<DropdownMenuPortalProps> = (props: ScopedProps<Drop
|
|
|
202
203
|
|
|
203
204
|
DropdownMenuPortal.displayName = PORTAL_NAME;
|
|
204
205
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
//
|
|
207
|
+
// DropdownMenuViewport
|
|
208
|
+
//
|
|
208
209
|
|
|
209
210
|
type DropdownMenuViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
|
|
210
211
|
asChild?: boolean;
|
|
@@ -215,16 +216,16 @@ const DropdownMenuViewport = forwardRef<HTMLDivElement, DropdownMenuViewportProp
|
|
|
215
216
|
const { tx } = useThemeContext();
|
|
216
217
|
const Root = asChild ? Slot : Primitive.div;
|
|
217
218
|
return (
|
|
218
|
-
<Root {...props} className={tx('menu.viewport',
|
|
219
|
+
<Root {...props} className={tx('menu.viewport', {}, classNames)} ref={forwardedRef}>
|
|
219
220
|
{children}
|
|
220
221
|
</Root>
|
|
221
222
|
);
|
|
222
223
|
},
|
|
223
224
|
);
|
|
224
225
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
226
|
+
//
|
|
227
|
+
// DropdownMenuContent
|
|
228
|
+
//
|
|
228
229
|
|
|
229
230
|
const CONTENT_NAME = 'DropdownMenuContent';
|
|
230
231
|
|
|
@@ -234,19 +235,35 @@ interface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'
|
|
|
234
235
|
|
|
235
236
|
const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(
|
|
236
237
|
(props: ScopedProps<DropdownMenuContentProps>, forwardedRef) => {
|
|
237
|
-
const { __scopeDropdownMenu, classNames, collisionPadding = 8, ...contentProps } = props;
|
|
238
|
+
const { __scopeDropdownMenu, classNames, collisionPadding = 8, collisionBoundary, ...contentProps } = props;
|
|
238
239
|
const { tx } = useThemeContext();
|
|
239
240
|
const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
|
|
240
241
|
const elevation = useElevationContext();
|
|
241
242
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
242
243
|
const hasInteractedOutsideRef = useRef(false);
|
|
243
244
|
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
245
|
+
|
|
246
|
+
// Check for the closest annotated collision boundary in the DOM tree.
|
|
247
|
+
const computedCollisionBoundary = useMemo(() => {
|
|
248
|
+
const closestBoundary = context.triggerRef.current?.closest(
|
|
249
|
+
'[data-popover-collision-boundary]',
|
|
250
|
+
) as HTMLElement | null;
|
|
251
|
+
return closestBoundary
|
|
252
|
+
? Array.isArray(collisionBoundary)
|
|
253
|
+
? [closestBoundary, ...collisionBoundary]
|
|
254
|
+
: collisionBoundary
|
|
255
|
+
? [closestBoundary, collisionBoundary]
|
|
256
|
+
: [closestBoundary]
|
|
257
|
+
: collisionBoundary;
|
|
258
|
+
}, [context.open, collisionBoundary, context.triggerRef.current]);
|
|
259
|
+
|
|
244
260
|
return (
|
|
245
261
|
<MenuPrimitive.Content
|
|
246
262
|
id={context.contentId}
|
|
247
263
|
aria-labelledby={context.triggerId}
|
|
248
264
|
{...menuScope}
|
|
249
265
|
{...contentProps}
|
|
266
|
+
collisionBoundary={computedCollisionBoundary}
|
|
250
267
|
collisionPadding={safeCollisionPadding}
|
|
251
268
|
ref={forwardedRef}
|
|
252
269
|
onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {
|
|
@@ -266,7 +283,7 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
|
|
|
266
283
|
}
|
|
267
284
|
})}
|
|
268
285
|
data-arrow-keys='up down'
|
|
269
|
-
className={tx('menu.content',
|
|
286
|
+
className={tx('menu.content', { elevation }, classNames)}
|
|
270
287
|
style={{
|
|
271
288
|
...props.style,
|
|
272
289
|
// re-namespace exposed content custom properties
|
|
@@ -285,9 +302,9 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
|
|
|
285
302
|
|
|
286
303
|
DropdownMenuContent.displayName = CONTENT_NAME;
|
|
287
304
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
305
|
+
//
|
|
306
|
+
// DropdownMenuGroup
|
|
307
|
+
//
|
|
291
308
|
|
|
292
309
|
const GROUP_NAME = 'DropdownMenuGroup';
|
|
293
310
|
|
|
@@ -305,9 +322,9 @@ const DropdownMenuGroup = forwardRef<DropdownMenuGroupElement, DropdownMenuGroup
|
|
|
305
322
|
|
|
306
323
|
DropdownMenuGroup.displayName = GROUP_NAME;
|
|
307
324
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
325
|
+
//
|
|
326
|
+
// DropdownMenuLabel
|
|
327
|
+
//
|
|
311
328
|
|
|
312
329
|
const LABEL_NAME = 'DropdownMenuLabel';
|
|
313
330
|
|
|
@@ -324,7 +341,7 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
|
|
|
324
341
|
<MenuPrimitive.Label
|
|
325
342
|
{...menuScope}
|
|
326
343
|
{...labelProps}
|
|
327
|
-
className={tx('menu.groupLabel',
|
|
344
|
+
className={tx('menu.groupLabel', {}, classNames)}
|
|
328
345
|
ref={forwardedRef}
|
|
329
346
|
/>
|
|
330
347
|
);
|
|
@@ -333,9 +350,9 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
|
|
|
333
350
|
|
|
334
351
|
DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
335
352
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
353
|
+
//
|
|
354
|
+
// DropdownMenuItem
|
|
355
|
+
//
|
|
339
356
|
|
|
340
357
|
const ITEM_NAME = 'DropdownMenuItem';
|
|
341
358
|
|
|
@@ -352,7 +369,7 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
|
|
|
352
369
|
<MenuPrimitive.Item
|
|
353
370
|
{...menuScope}
|
|
354
371
|
{...itemProps}
|
|
355
|
-
className={tx('menu.item',
|
|
372
|
+
className={tx('menu.item', {}, classNames)}
|
|
356
373
|
ref={forwardedRef}
|
|
357
374
|
/>
|
|
358
375
|
);
|
|
@@ -361,9 +378,9 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
|
|
|
361
378
|
|
|
362
379
|
DropdownMenuItem.displayName = ITEM_NAME;
|
|
363
380
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
381
|
+
//
|
|
382
|
+
// DropdownMenuCheckboxItem
|
|
383
|
+
//
|
|
367
384
|
|
|
368
385
|
const CHECKBOX_ITEM_NAME = 'DropdownMenuCheckboxItem';
|
|
369
386
|
|
|
@@ -380,7 +397,7 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
|
|
|
380
397
|
<MenuPrimitive.CheckboxItem
|
|
381
398
|
{...menuScope}
|
|
382
399
|
{...checkboxItemProps}
|
|
383
|
-
className={tx('menu.item',
|
|
400
|
+
className={tx('menu.item', {}, classNames)}
|
|
384
401
|
ref={forwardedRef}
|
|
385
402
|
/>
|
|
386
403
|
);
|
|
@@ -389,9 +406,9 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
|
|
|
389
406
|
|
|
390
407
|
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
391
408
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
409
|
+
//
|
|
410
|
+
// DropdownMenuRadioGroup
|
|
411
|
+
//
|
|
395
412
|
|
|
396
413
|
const RADIO_GROUP_NAME = 'DropdownMenuRadioGroup';
|
|
397
414
|
|
|
@@ -409,9 +426,9 @@ const DropdownMenuRadioGroup = forwardRef<DropdownMenuRadioGroupElement, Dropdow
|
|
|
409
426
|
|
|
410
427
|
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
411
428
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
429
|
+
//
|
|
430
|
+
// DropdownMenuRadioItem
|
|
431
|
+
//
|
|
415
432
|
|
|
416
433
|
const RADIO_ITEM_NAME = 'DropdownMenuRadioItem';
|
|
417
434
|
|
|
@@ -428,7 +445,7 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
|
|
|
428
445
|
<MenuPrimitive.Item
|
|
429
446
|
{...menuScope}
|
|
430
447
|
{...itemProps}
|
|
431
|
-
className={tx('menu.item',
|
|
448
|
+
className={tx('menu.item', {}, classNames)}
|
|
432
449
|
ref={forwardedRef}
|
|
433
450
|
/>
|
|
434
451
|
);
|
|
@@ -437,9 +454,9 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
|
|
|
437
454
|
|
|
438
455
|
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
439
456
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
457
|
+
//
|
|
458
|
+
// DropdownMenuItemIndicator
|
|
459
|
+
//
|
|
443
460
|
|
|
444
461
|
const INDICATOR_NAME = 'DropdownMenuItemIndicator';
|
|
445
462
|
|
|
@@ -457,9 +474,9 @@ const DropdownMenuItemIndicator = forwardRef<DropdownMenuItemIndicatorElement, D
|
|
|
457
474
|
|
|
458
475
|
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
459
476
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
477
|
+
//
|
|
478
|
+
// DropdownMenuSeparator
|
|
479
|
+
//
|
|
463
480
|
|
|
464
481
|
const SEPARATOR_NAME = 'DropdownMenuSeparator';
|
|
465
482
|
|
|
@@ -476,7 +493,7 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
|
|
|
476
493
|
<MenuPrimitive.Separator
|
|
477
494
|
{...menuScope}
|
|
478
495
|
{...separatorProps}
|
|
479
|
-
className={tx('menu.separator',
|
|
496
|
+
className={tx('menu.separator', {}, classNames)}
|
|
480
497
|
ref={forwardedRef}
|
|
481
498
|
/>
|
|
482
499
|
);
|
|
@@ -485,9 +502,9 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
|
|
|
485
502
|
|
|
486
503
|
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
487
504
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
505
|
+
//
|
|
506
|
+
// DropdownMenuArrow
|
|
507
|
+
//
|
|
491
508
|
|
|
492
509
|
const ARROW_NAME = 'DropdownMenuArrow';
|
|
493
510
|
|
|
@@ -504,7 +521,7 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
|
|
|
504
521
|
<MenuPrimitive.Arrow
|
|
505
522
|
{...menuScope}
|
|
506
523
|
{...arrowProps}
|
|
507
|
-
className={tx('menu.arrow',
|
|
524
|
+
className={tx('menu.arrow', {}, classNames)}
|
|
508
525
|
ref={forwardedRef}
|
|
509
526
|
/>
|
|
510
527
|
);
|
|
@@ -513,9 +530,9 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
|
|
|
513
530
|
|
|
514
531
|
DropdownMenuArrow.displayName = ARROW_NAME;
|
|
515
532
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
533
|
+
//
|
|
534
|
+
// DropdownMenuSub
|
|
535
|
+
//
|
|
519
536
|
|
|
520
537
|
interface DropdownMenuSubProps {
|
|
521
538
|
children?: ReactNode;
|
|
@@ -540,9 +557,9 @@ const DropdownMenuSub: FC<DropdownMenuSubProps> = (props: ScopedProps<DropdownMe
|
|
|
540
557
|
);
|
|
541
558
|
};
|
|
542
559
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
560
|
+
//
|
|
561
|
+
// DropdownMenuSubTrigger
|
|
562
|
+
//
|
|
546
563
|
|
|
547
564
|
const SUB_TRIGGER_NAME = 'DropdownMenuSubTrigger';
|
|
548
565
|
|
|
@@ -560,9 +577,9 @@ const DropdownMenuSubTrigger = forwardRef<DropdownMenuSubTriggerElement, Dropdow
|
|
|
560
577
|
|
|
561
578
|
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
562
579
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
580
|
+
//
|
|
581
|
+
// DropdownMenuSubContent
|
|
582
|
+
//
|
|
566
583
|
|
|
567
584
|
const SUB_CONTENT_NAME = 'DropdownMenuSubContent';
|
|
568
585
|
|
|
@@ -598,7 +615,9 @@ const DropdownMenuSubContent = forwardRef<DropdownMenuSubContentElement, Dropdow
|
|
|
598
615
|
|
|
599
616
|
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
600
617
|
|
|
601
|
-
|
|
618
|
+
//
|
|
619
|
+
// DropdownMenu
|
|
620
|
+
//
|
|
602
621
|
|
|
603
622
|
export const DropdownMenu = {
|
|
604
623
|
Root: DropdownMenuRoot,
|
|
@@ -621,7 +640,9 @@ export const DropdownMenu = {
|
|
|
621
640
|
SubContent: DropdownMenuSubContent,
|
|
622
641
|
};
|
|
623
642
|
|
|
624
|
-
|
|
643
|
+
type DropdownMenuScope = Scope;
|
|
644
|
+
|
|
645
|
+
const useDropdownMenuMenuScope: (scope?: DropdownMenuScope) => any = useMenuScope;
|
|
625
646
|
|
|
626
647
|
export { createDropdownMenuScope, useDropdownMenuContext, useDropdownMenuMenuScope };
|
|
627
648
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import { type MessageValence } from '@dxos/
|
|
8
|
+
import { type MessageValence } from '@dxos/ui-types';
|
|
9
9
|
|
|
10
10
|
import { withTheme } from '../../testing';
|
|
11
11
|
|
|
@@ -25,10 +25,10 @@ const DefaultStory = ({ valence, title, body }: StoryProps) => (
|
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
const meta = {
|
|
28
|
-
title: 'ui/react-ui-core/Callout',
|
|
28
|
+
title: 'ui/react-ui-core/components/Callout',
|
|
29
29
|
component: Callout.Root as any,
|
|
30
30
|
render: DefaultStory,
|
|
31
|
-
decorators: [withTheme],
|
|
31
|
+
decorators: [withTheme()],
|
|
32
32
|
parameters: { chromatic: { disableSnapshot: false } },
|
|
33
33
|
argTypes: {
|
|
34
34
|
valence: {
|
|
@@ -8,7 +8,7 @@ import { Slot } from '@radix-ui/react-slot';
|
|
|
8
8
|
import React, { type ComponentPropsWithRef, forwardRef } from 'react';
|
|
9
9
|
|
|
10
10
|
import { useId } from '@dxos/react-hooks';
|
|
11
|
-
import { type Elevation, type MessageValence } from '@dxos/
|
|
11
|
+
import { type Elevation, type MessageValence } from '@dxos/ui-types';
|
|
12
12
|
|
|
13
13
|
import { useElevationContext, useThemeContext } from '../../hooks';
|
|
14
14
|
import { type ThemedClassName } from '../../util';
|
|
@@ -31,9 +31,15 @@ type MessageRootProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.d
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
type MessageContextValue = { titleId?: string; descriptionId: string; valence: MessageValence };
|
|
34
|
+
|
|
34
35
|
const MESSAGE_NAME = 'Message';
|
|
36
|
+
|
|
35
37
|
const [MessageProvider, useMessageContext] = createContext<MessageContextValue>(MESSAGE_NAME);
|
|
36
38
|
|
|
39
|
+
//
|
|
40
|
+
// Root
|
|
41
|
+
//
|
|
42
|
+
|
|
37
43
|
const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
38
44
|
(
|
|
39
45
|
{
|
|
@@ -53,12 +59,13 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
|
53
59
|
const descriptionId = useId('message__description', propsDescriptionId);
|
|
54
60
|
const elevation = useElevationContext(propsElevation);
|
|
55
61
|
const Root = asChild ? Slot : Primitive.div;
|
|
62
|
+
|
|
56
63
|
return (
|
|
57
64
|
<MessageProvider {...{ titleId, descriptionId, valence }}>
|
|
58
65
|
<Root
|
|
59
66
|
role={valence === 'neutral' ? 'paragraph' : 'alert'}
|
|
60
67
|
{...props}
|
|
61
|
-
className={tx('message.root',
|
|
68
|
+
className={tx('message.root', { valence, elevation }, classNames)}
|
|
62
69
|
aria-labelledby={titleId}
|
|
63
70
|
aria-describedby={descriptionId}
|
|
64
71
|
ref={forwardedRef}
|
|
@@ -72,6 +79,10 @@ const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(
|
|
|
72
79
|
|
|
73
80
|
MessageRoot.displayName = MESSAGE_NAME;
|
|
74
81
|
|
|
82
|
+
//
|
|
83
|
+
// Title
|
|
84
|
+
//
|
|
85
|
+
|
|
75
86
|
type MessageTitleProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
|
|
76
87
|
asChild?: boolean;
|
|
77
88
|
icon?: string;
|
|
@@ -84,19 +95,11 @@ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
|
|
|
84
95
|
const { tx } = useThemeContext();
|
|
85
96
|
const { titleId, valence } = useMessageContext(MESSAGE_TITLE_NAME);
|
|
86
97
|
const Root = asChild ? Slot : Primitive.h2;
|
|
98
|
+
|
|
87
99
|
return (
|
|
88
|
-
<Root
|
|
89
|
-
{...props}
|
|
90
|
-
className={tx('message.title', 'message__title', {}, classNames)}
|
|
91
|
-
id={titleId}
|
|
92
|
-
ref={forwardedRef}
|
|
93
|
-
>
|
|
100
|
+
<Root {...props} className={tx('message.title', {}, classNames)} id={titleId} ref={forwardedRef}>
|
|
94
101
|
{!icon && valence === 'neutral' ? null : (
|
|
95
|
-
<Icon
|
|
96
|
-
size={5}
|
|
97
|
-
icon={icon ?? messageIcons[valence]}
|
|
98
|
-
classNames={tx('message.icon', 'message__icon', { valence })}
|
|
99
|
-
/>
|
|
102
|
+
<Icon size={5} icon={icon ?? messageIcons[valence]} classNames={tx('message.icon', { valence })} />
|
|
100
103
|
)}
|
|
101
104
|
<span>{children}</span>
|
|
102
105
|
</Root>
|
|
@@ -106,33 +109,41 @@ const MessageTitle = forwardRef<HTMLHeadingElement, MessageTitleProps>(
|
|
|
106
109
|
|
|
107
110
|
MessageTitle.displayName = MESSAGE_TITLE_NAME;
|
|
108
111
|
|
|
112
|
+
//
|
|
113
|
+
// Content
|
|
114
|
+
//
|
|
115
|
+
|
|
109
116
|
type MessageContentProps = Omit<ThemedClassName<ComponentPropsWithRef<typeof Primitive.h2>>, 'id'> & {
|
|
110
117
|
asChild?: boolean;
|
|
111
118
|
};
|
|
112
119
|
|
|
113
|
-
const
|
|
120
|
+
const MESSAGE_CONTENT_NAME = 'MessageContent';
|
|
114
121
|
|
|
115
122
|
const MessageContent = forwardRef<HTMLParagraphElement, MessageContentProps>(
|
|
116
123
|
({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
117
124
|
const { tx } = useThemeContext();
|
|
118
|
-
const { descriptionId } = useMessageContext(
|
|
125
|
+
const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
|
|
119
126
|
const Root = asChild ? Slot : Primitive.p;
|
|
120
127
|
return (
|
|
121
|
-
<Root
|
|
122
|
-
{...props}
|
|
123
|
-
className={tx('message.content', 'message__content', {}, classNames)}
|
|
124
|
-
id={descriptionId}
|
|
125
|
-
ref={forwardedRef}
|
|
126
|
-
>
|
|
128
|
+
<Root {...props} className={tx('message.content', {}, classNames)} id={descriptionId} ref={forwardedRef}>
|
|
127
129
|
{children}
|
|
128
130
|
</Root>
|
|
129
131
|
);
|
|
130
132
|
},
|
|
131
133
|
);
|
|
132
134
|
|
|
133
|
-
MessageContent.displayName =
|
|
135
|
+
MessageContent.displayName = MESSAGE_CONTENT_NAME;
|
|
136
|
+
|
|
137
|
+
//
|
|
138
|
+
// Message
|
|
139
|
+
//
|
|
140
|
+
|
|
141
|
+
export const Message = {
|
|
142
|
+
Root: MessageRoot,
|
|
143
|
+
Title: MessageTitle,
|
|
144
|
+
Content: MessageContent,
|
|
145
|
+
};
|
|
134
146
|
|
|
135
|
-
export const Message = { Root: MessageRoot, Title: MessageTitle, Content: MessageContent };
|
|
136
147
|
export const Callout = Message;
|
|
137
148
|
|
|
138
149
|
export type { MessageRootProps, MessageTitleProps, MessageContentProps };
|
|
@@ -8,7 +8,7 @@ import React, { type PropsWithChildren, type ReactNode, useRef, useState } from
|
|
|
8
8
|
import { faker } from '@dxos/random';
|
|
9
9
|
|
|
10
10
|
import { withTheme } from '../../testing';
|
|
11
|
-
import { Button } from '../
|
|
11
|
+
import { Button } from '../Button';
|
|
12
12
|
|
|
13
13
|
import { Popover } from './Popover';
|
|
14
14
|
|
|
@@ -29,10 +29,10 @@ const DefaultStory = ({ openTrigger, children }: PropsWithChildren<{ openTrigger
|
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
const meta = {
|
|
32
|
-
title: 'ui/react-ui-core/Popover',
|
|
32
|
+
title: 'ui/react-ui-core/components/Popover',
|
|
33
33
|
component: Popover.Root,
|
|
34
34
|
render: DefaultStory,
|
|
35
|
-
decorators: [withTheme],
|
|
35
|
+
decorators: [withTheme()],
|
|
36
36
|
} satisfies Meta<typeof DefaultStory>;
|
|
37
37
|
|
|
38
38
|
export default meta;
|