@dxos/react-ui 0.8.4-main.b97322e → 0.8.4-main.bc2380dfbc
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-A5QCIG5R.mjs +24 -0
- package/dist/lib/browser/chunk-A5QCIG5R.mjs.map +7 -0
- package/dist/lib/browser/chunk-BDBC6H6V.mjs +848 -0
- package/dist/lib/browser/chunk-BDBC6H6V.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +4411 -60
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +106 -60
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/browser/translations.mjs +9 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs +850 -0
- package/dist/lib/node-esm/chunk-3JSJK2ZY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XCFLA74M.mjs +26 -0
- package/dist/lib/node-esm/chunk-XCFLA74M.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +4411 -60
- 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 +106 -60
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- 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 +2 -2
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts +5 -31
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts +5 -11
- package/dist/types/src/components/Avatars/AvatarGroup.stories.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts +8 -20
- package/dist/types/src/components/Breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
- package/dist/types/src/components/{Buttons → Button}/Button.d.ts +4 -4
- package/dist/types/src/components/Button/Button.d.ts.map +1 -0
- package/dist/types/src/components/Button/Button.stories.d.ts +17 -0
- package/dist/types/src/components/Button/Button.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/IconButton.d.ts +5 -4
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts +16 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Buttons → Button}/Toggle.d.ts +2 -2
- 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/Button/ToggleGroup.d.ts +27 -0
- package/dist/types/src/components/Button/ToggleGroup.d.ts.map +1 -0
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +27 -0
- 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/Card/Card.d.ts +124 -0
- package/dist/types/src/components/Card/Card.d.ts.map +1 -0
- package/dist/types/src/components/Card/Card.stories.d.ts +21 -0
- package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -0
- package/dist/types/src/components/Card/index.d.ts +2 -0
- package/dist/types/src/components/Card/index.d.ts.map +1 -0
- package/dist/types/src/components/Carousel/Carousel.d.ts +90 -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 +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/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 +51 -0
- package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts +11 -0
- package/dist/types/src/components/Dialog/AlertDialog.stories.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts +64 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +25 -0
- 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/ErrorFallback/ErrorFallback.d.ts +11 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts +7 -0
- package/dist/types/src/components/ErrorFallback/ErrorFallback.stories.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts +19 -0
- package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/ThrowError.d.ts +9 -0
- package/dist/types/src/components/ErrorFallback/ThrowError.d.ts.map +1 -0
- package/dist/types/src/components/ErrorFallback/index.d.ts +5 -0
- package/dist/types/src/components/ErrorFallback/index.d.ts.map +1 -0
- 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/components/Focus/Focus.stories.d.ts +9 -0
- package/dist/types/src/components/Focus/Focus.stories.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 +6 -2
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.stories.d.ts +25 -0
- package/dist/types/src/components/Icon/Icon.stories.d.ts.map +1 -0
- package/dist/types/src/components/Image/Image.d.ts +15 -0
- package/dist/types/src/components/Image/Image.d.ts.map +1 -0
- package/dist/types/src/components/Image/Image.stories.d.ts +34 -0
- package/dist/types/src/components/Image/Image.stories.d.ts.map +1 -0
- package/dist/types/src/components/Image/index.d.ts +2 -0
- package/dist/types/src/components/Image/index.d.ts.map +1 -0
- package/dist/types/src/components/Input/Input.d.ts +19 -24
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +17 -18
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/Link/Link.stories.d.ts +8 -8
- package/dist/types/src/components/Link/Link.stories.d.ts.map +1 -1
- package/dist/types/src/components/{Lists → List}/List.d.ts +8 -6
- package/dist/types/src/components/List/List.d.ts.map +1 -0
- package/dist/types/src/components/List/List.stories.d.ts +16 -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/{Lists → List}/Tree.d.ts +3 -3
- package/dist/types/src/components/List/Tree.d.ts.map +1 -0
- package/dist/types/src/components/List/Tree.stories.d.ts +15 -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/{Lists → List}/Treegrid.d.ts +6 -10
- package/dist/types/src/components/List/Treegrid.d.ts.map +1 -0
- package/dist/types/src/components/List/Treegrid.stories.d.ts +12 -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 +25 -31
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts +6 -10
- package/dist/types/src/components/Main/Main.stories.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 +46 -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/{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 +12 -0
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.d.ts +121 -0
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts +28 -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 +2 -2
- package/dist/types/src/components/Message/Message.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts +12 -22
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +41 -24
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.stories.d.ts +6 -34
- package/dist/types/src/components/Popover/Popover.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +27 -27
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +50 -27
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +68 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -0
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +23 -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/Select/Select.stories.d.ts +6 -11
- package/dist/types/src/components/Select/Select.stories.d.ts.map +1 -1
- package/dist/types/src/components/Separator/Separator.d.ts +4 -4
- package/dist/types/src/components/Separator/Separator.d.ts.map +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 +34 -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/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 +6 -10
- package/dist/types/src/components/Status/Status.stories.d.ts.map +1 -1
- 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/Tag/Tag.stories.d.ts +8 -13
- package/dist/types/src/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +4 -4
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts +12 -0
- package/dist/types/src/components/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -0
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +55 -63
- 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 +20 -20
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.stories.d.ts +6 -44
- package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +41 -23
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +6 -50
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts +11 -13
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts +10 -63
- package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +16 -8
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +19 -0
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts +15 -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/exemplars/virtualizer.stories.d.ts +11 -0
- package/dist/types/src/exemplars/virtualizer.stories.d.ts.map +1 -0
- 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 +2 -2
- 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/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/useVisualViewport.d.ts +2 -2
- package/dist/types/src/hooks/useVisualViewport.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 +5 -9
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts +12 -4
- package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
- package/dist/types/src/playground/Typography.stories.d.ts +5 -11
- package/dist/types/src/playground/Typography.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Column/Column.d.ts +33 -0
- package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts +25 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Column/index.d.ts +2 -0
- package/dist/types/src/primitives/Column/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.d.ts +7 -0
- package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts +6 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/index.d.ts +2 -0
- package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts +11 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.stories.d.ts +8 -0
- package/dist/types/src/primitives/Flex/Flex.stories.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/Grid/Grid.d.ts +10 -0
- package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -0
- package/dist/types/src/primitives/Grid/Grid.stories.d.ts +8 -0
- package/dist/types/src/primitives/Grid/Grid.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Grid/index.d.ts +2 -0
- package/dist/types/src/primitives/Grid/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Panel/Panel.d.ts +35 -0
- package/dist/types/src/primitives/Panel/Panel.d.ts.map +1 -0
- package/dist/types/src/primitives/Panel/Panel.stories.d.ts +6 -0
- package/dist/types/src/primitives/Panel/Panel.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Panel/index.d.ts +2 -0
- package/dist/types/src/primitives/Panel/index.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +6 -0
- package/dist/types/src/primitives/index.d.ts.map +1 -0
- package/dist/types/src/testing/Loading.d.ts +9 -0
- package/dist/types/src/testing/Loading.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/index.d.ts +2 -1
- package/dist/types/src/testing/decorators/index.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayout.d.ts +15 -0
- package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -0
- 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 +5 -1
- package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +16 -0
- package/dist/types/src/translations.d.ts.map +1 -0
- 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/usePx.d.ts +8 -0
- package/dist/types/src/util/usePx.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +55 -40
- package/src/components/Avatars/Avatar.stories.tsx +23 -16
- package/src/components/Avatars/Avatar.tsx +10 -18
- package/src/components/Avatars/AvatarGroup.stories.tsx +11 -8
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +19 -15
- package/src/components/Breadcrumb/Breadcrumb.tsx +12 -38
- package/src/components/{Buttons → Button}/Button.stories.tsx +9 -11
- package/src/components/{Buttons → Button}/Button.tsx +12 -26
- package/src/components/{Buttons → Button}/IconButton.stories.tsx +18 -13
- package/src/components/{Buttons → Button}/IconButton.tsx +22 -16
- package/src/components/Button/Toggle.stories.tsx +36 -0
- package/src/components/{Buttons → Button}/Toggle.tsx +4 -4
- package/src/components/{Buttons → Button}/ToggleGroup.stories.tsx +11 -9
- package/src/components/Button/ToggleGroup.tsx +50 -0
- package/src/components/Card/Card.stories.tsx +151 -0
- package/src/components/Card/Card.tsx +514 -0
- package/src/components/Card/index.ts +5 -0
- package/src/components/Carousel/Carousel.tsx +337 -0
- package/src/components/Carousel/index.ts +5 -0
- package/src/components/Clipboard/ClipboardProvider.tsx +1 -1
- package/src/components/Clipboard/CopyButton.tsx +11 -11
- package/src/components/DensityProvider/DensityProvider.tsx +2 -2
- package/src/components/Dialog/AlertDialog.stories.tsx +68 -0
- package/src/components/Dialog/AlertDialog.tsx +213 -0
- package/src/components/Dialog/Dialog.stories.tsx +177 -0
- package/src/components/Dialog/Dialog.tsx +285 -0
- package/src/components/ElevationProvider/ElevationProvider.tsx +2 -2
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +45 -0
- package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
- package/src/components/ErrorFallback/ErrorStack.tsx +114 -0
- package/src/components/ErrorFallback/ThrowError.tsx +37 -0
- package/src/components/ErrorFallback/index.ts +9 -0
- package/src/components/Focus/AUDIT.md +43 -0
- package/src/components/Focus/Focus.stories.tsx +230 -0
- package/src/components/Focus/Focus.tsx +201 -0
- package/src/components/Focus/index.ts +5 -0
- package/src/components/Icon/Icon.stories.tsx +143 -0
- package/src/components/Icon/Icon.tsx +15 -4
- package/src/components/Image/Image.stories.tsx +86 -0
- package/src/components/Image/Image.tsx +246 -0
- package/src/components/Image/index.ts +5 -0
- package/src/components/Input/Input.stories.tsx +27 -49
- package/src/components/Input/Input.tsx +51 -87
- package/src/components/Link/Link.stories.tsx +11 -8
- package/src/components/Link/Link.tsx +2 -2
- package/src/components/{Lists → List}/List.stories.tsx +44 -46
- package/src/components/{Lists → List}/List.tsx +31 -31
- package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -8
- package/src/components/{Lists → List}/Tree.stories.tsx +16 -14
- package/src/components/{Lists → List}/Tree.tsx +3 -3
- package/src/components/{Lists → List}/TreeDropIndicator.tsx +7 -7
- package/src/components/{Lists → List}/Treegrid.stories.tsx +39 -34
- package/src/components/List/Treegrid.tsx +188 -0
- package/src/components/Main/Main.stories.tsx +52 -27
- package/src/components/Main/Main.tsx +176 -105
- package/src/components/MediaPlayer/MediaPlayer.stories.tsx +50 -0
- package/src/components/MediaPlayer/MediaPlayer.tsx +153 -0
- package/src/components/MediaPlayer/index.ts +5 -0
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +12 -10
- package/src/components/{Menus → Menu}/ContextMenu.tsx +10 -33
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +13 -11
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +157 -120
- package/src/components/Message/Message.stories.tsx +36 -18
- package/src/components/Message/Message.tsx +59 -33
- package/src/components/Popover/Popover.stories.tsx +18 -16
- package/src/components/Popover/Popover.tsx +124 -102
- package/src/components/ScrollArea/ScrollArea.stories.tsx +221 -33
- package/src/components/ScrollArea/ScrollArea.tsx +97 -79
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +91 -0
- package/src/components/ScrollContainer/ScrollContainer.tsx +345 -0
- package/src/components/ScrollContainer/index.ts +5 -0
- package/src/components/Select/Select.stories.tsx +19 -17
- package/src/components/Select/Select.tsx +16 -31
- package/src/components/Separator/Separator.tsx +5 -8
- package/src/components/Skeleton/Skeleton.stories.tsx +51 -0
- package/src/components/Skeleton/Skeleton.tsx +26 -0
- package/src/components/Skeleton/index.ts +5 -0
- package/src/components/Splitter/Splitter.stories.tsx +83 -0
- package/src/components/Splitter/Splitter.tsx +127 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +29 -23
- package/src/components/Status/Status.tsx +10 -7
- package/src/components/Tag/Tag.stories.tsx +16 -13
- package/src/components/Tag/Tag.tsx +3 -8
- package/src/components/ThemeProvider/ThemeProvider.stories.tsx +31 -0
- package/src/components/ThemeProvider/ThemeProvider.tsx +12 -11
- package/src/components/ThemeProvider/TranslationsProvider.tsx +3 -18
- package/src/components/ThemeProvider/index.ts +3 -3
- package/src/components/Toast/Toast.stories.tsx +13 -11
- package/src/components/Toast/Toast.tsx +23 -42
- package/src/components/Toolbar/Toolbar.stories.tsx +15 -14
- package/src/components/Toolbar/Toolbar.tsx +190 -14
- package/src/components/Tooltip/Tooltip.stories.tsx +35 -30
- package/src/components/Tooltip/Tooltip.tsx +44 -41
- package/src/components/index.ts +17 -9
- package/src/exemplars/generics.stories.tsx +41 -0
- package/src/exemplars/slot.stories.tsx +115 -0
- package/src/exemplars/tabster.stories.tsx +127 -0
- package/src/exemplars/virtualizer.stories.tsx +136 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useDensityContext.ts +3 -3
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/hooks/useSafeArea.ts +3 -2
- package/src/hooks/useVisualViewport.ts +4 -4
- package/src/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +12 -15
- package/src/playground/Custom.stories.tsx +20 -34
- package/src/playground/Typography.stories.tsx +11 -9
- package/src/primitives/Column/AUDIT.md +148 -0
- package/src/primitives/Column/Column.stories.tsx +181 -0
- package/src/primitives/Column/Column.tsx +165 -0
- package/src/primitives/Column/index.ts +5 -0
- package/src/primitives/Container/Container.stories.tsx +29 -0
- package/src/primitives/Container/Container.tsx +19 -0
- package/src/primitives/Container/index.ts +5 -0
- package/src/primitives/Flex/Flex.stories.tsx +57 -0
- package/src/primitives/Flex/Flex.tsx +27 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/Grid/Grid.stories.tsx +56 -0
- package/src/primitives/Grid/Grid.tsx +30 -0
- package/src/primitives/Grid/index.ts +5 -0
- package/src/primitives/Panel/Panel.stories.tsx +68 -0
- package/src/primitives/Panel/Panel.tsx +120 -0
- package/src/primitives/Panel/index.ts +5 -0
- package/src/primitives/index.ts +9 -0
- package/src/testing/Loading.tsx +47 -0
- package/src/testing/decorators/index.ts +2 -1
- package/src/testing/decorators/withLayout.tsx +67 -0
- package/src/testing/decorators/withLayoutVariants.tsx +48 -0
- package/src/testing/decorators/withTheme.tsx +37 -0
- package/src/testing/index.ts +2 -0
- package/src/translations.ts +24 -0
- package/src/util/index.ts +3 -1
- package/src/util/usePx.ts +62 -0
- package/dist/lib/browser/chunk-2COVUP44.mjs +0 -4373
- package/dist/lib/browser/chunk-2COVUP44.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GHXHND5V.mjs +0 -4375
- package/dist/lib/node-esm/chunk-GHXHND5V.mjs.map +0 -7
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +0 -15
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +0 -1
- package/dist/types/src/components/AnchoredOverflow/index.d.ts +0 -2
- package/dist/types/src/components/AnchoredOverflow/index.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Button.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/Button.stories.d.ts +0 -12
- 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 +0 -22
- 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 -19
- package/dist/types/src/components/Buttons/Toggle.stories.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/ToggleGroup.d.ts +0 -28
- package/dist/types/src/components/Buttons/ToggleGroup.d.ts.map +0 -1
- package/dist/types/src/components/Buttons/ToggleGroup.stories.d.ts +0 -39
- 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 +0 -31
- package/dist/types/src/components/Dialogs/AlertDialog.d.ts.map +0 -1
- package/dist/types/src/components/Dialogs/AlertDialog.stories.d.ts +0 -43
- 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 +0 -48
- 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 +0 -37
- 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 +0 -41
- 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 +0 -10
- 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 +0 -50
- package/dist/types/src/components/Menus/ContextMenu.stories.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.d.ts +0 -112
- package/dist/types/src/components/Menus/DropdownMenu.d.ts.map +0 -1
- package/dist/types/src/components/Menus/DropdownMenu.stories.d.ts +0 -50
- 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/src/components/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
- package/src/components/AnchoredOverflow/index.ts +0 -5
- package/src/components/Buttons/Toggle.stories.tsx +0 -33
- package/src/components/Buttons/ToggleGroup.tsx +0 -41
- package/src/components/Dialogs/AlertDialog.stories.tsx +0 -66
- package/src/components/Dialogs/AlertDialog.tsx +0 -172
- package/src/components/Dialogs/Dialog.stories.tsx +0 -65
- package/src/components/Dialogs/Dialog.tsx +0 -159
- package/src/components/Lists/Treegrid.tsx +0 -152
- package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
- package/src/testing/decorators/withTheme.ts +0 -25
- package/src/util/ThemedClassName.ts +0 -7
- /package/dist/types/src/components/{Buttons → Button}/index.d.ts +0 -0
- /package/dist/types/src/components/{Dialogs → Dialog}/index.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/ListDropIndicator.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/TreeDropIndicator.d.ts +0 -0
- /package/dist/types/src/components/{Lists → List}/index.d.ts +0 -0
- /package/dist/types/src/components/{Menus → Menu}/index.d.ts +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}/index.ts +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
|
@@ -2,34 +2,33 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
import { Root as CheckboxPrimitive, type CheckboxProps as CheckboxPrimitiveProps } from '@radix-ui/react-checkbox';
|
|
5
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
6
|
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
8
|
-
import React, { type ComponentPropsWithRef,
|
|
7
|
+
import React, { type ComponentPropsWithRef, type ForwardRefExoticComponent, forwardRef } from 'react';
|
|
9
8
|
|
|
10
9
|
import {
|
|
10
|
+
DescriptionAndValidation as DescriptionAndValidationPrimitive,
|
|
11
|
+
type DescriptionAndValidationProps as DescriptionAndValidationPrimitiveProps,
|
|
12
|
+
Description as DescriptionPrimitive,
|
|
13
|
+
type DescriptionProps as DescriptionPrimitiveProps,
|
|
14
|
+
INPUT_NAME,
|
|
11
15
|
InputRoot,
|
|
12
16
|
type InputRootProps,
|
|
17
|
+
type InputScopedProps,
|
|
18
|
+
Label as LabelPrimitive,
|
|
19
|
+
type LabelProps as LabelPrimitiveProps,
|
|
13
20
|
PinInput as PinInputPrimitive,
|
|
14
21
|
type PinInputProps as PinInputPrimitiveProps,
|
|
15
|
-
TextInput as TextInputPrimitive,
|
|
16
|
-
type TextInputProps as TextInputPrimitiveProps,
|
|
17
22
|
TextArea as TextAreaPrimitive,
|
|
18
23
|
type TextAreaProps as TextAreaPrimitiveProps,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
type InputScopedProps,
|
|
22
|
-
Description as DescriptionPrimitive,
|
|
23
|
-
DescriptionAndValidation as DescriptionAndValidationPrimitive,
|
|
24
|
-
type DescriptionAndValidationProps as DescriptionAndValidationPrimitiveProps,
|
|
25
|
-
type DescriptionProps as DescriptionPrimitiveProps,
|
|
26
|
-
Label as LabelPrimitive,
|
|
27
|
-
type LabelProps as LabelPrimitiveProps,
|
|
24
|
+
TextInput as TextInputPrimitive,
|
|
25
|
+
type TextInputProps as TextInputPrimitiveProps,
|
|
28
26
|
Validation as ValidationPrimitive,
|
|
29
27
|
type ValidationProps as ValidationPrimitiveProps,
|
|
28
|
+
useInputContext,
|
|
30
29
|
} from '@dxos/react-input';
|
|
31
|
-
import { mx } from '@dxos/
|
|
32
|
-
import { type Density, type Elevation, type
|
|
30
|
+
import { mx } from '@dxos/ui-theme';
|
|
31
|
+
import { type Density, type Elevation, type Size } from '@dxos/ui-types';
|
|
33
32
|
|
|
34
33
|
import { useDensityContext, useElevationContext, useThemeContext } from '../../hooks';
|
|
35
34
|
import { type ThemedClassName } from '../../util';
|
|
@@ -41,10 +40,10 @@ type InputSharedProps = Partial<{ density: Density; elevation: Elevation; varian
|
|
|
41
40
|
|
|
42
41
|
type LabelProps = ThemedClassName<LabelPrimitiveProps> & { srOnly?: boolean };
|
|
43
42
|
|
|
44
|
-
const Label = forwardRef<HTMLLabelElement, LabelProps>(({
|
|
43
|
+
const Label = forwardRef<HTMLLabelElement, LabelProps>(({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
45
44
|
const { tx } = useThemeContext();
|
|
46
45
|
return (
|
|
47
|
-
<LabelPrimitive {...props} className={tx('input.label',
|
|
46
|
+
<LabelPrimitive {...props} className={tx('input.label', { srOnly }, classNames)} ref={forwardedRef}>
|
|
48
47
|
{children}
|
|
49
48
|
</LabelPrimitive>
|
|
50
49
|
);
|
|
@@ -53,14 +52,10 @@ const Label = forwardRef<HTMLLabelElement, LabelProps>(({ srOnly, classNames, ch
|
|
|
53
52
|
type DescriptionProps = ThemedClassName<DescriptionPrimitiveProps> & { srOnly?: boolean };
|
|
54
53
|
|
|
55
54
|
const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
|
|
56
|
-
({
|
|
55
|
+
({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
57
56
|
const { tx } = useThemeContext();
|
|
58
57
|
return (
|
|
59
|
-
<DescriptionPrimitive
|
|
60
|
-
{...props}
|
|
61
|
-
className={tx('input.description', 'input__description', { srOnly }, classNames)}
|
|
62
|
-
ref={forwardedRef}
|
|
63
|
-
>
|
|
58
|
+
<DescriptionPrimitive {...props} className={tx('input.description', { srOnly }, classNames)} ref={forwardedRef}>
|
|
64
59
|
{children}
|
|
65
60
|
</DescriptionPrimitive>
|
|
66
61
|
);
|
|
@@ -70,18 +65,13 @@ const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
|
|
|
70
65
|
type ValidationProps = ThemedClassName<ValidationPrimitiveProps> & { srOnly?: boolean };
|
|
71
66
|
|
|
72
67
|
const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>>(
|
|
73
|
-
({ __inputScope,
|
|
68
|
+
({ __inputScope, classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
74
69
|
const { tx } = useThemeContext();
|
|
75
70
|
const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
|
|
76
71
|
return (
|
|
77
72
|
<ValidationPrimitive
|
|
78
73
|
{...props}
|
|
79
|
-
className={tx(
|
|
80
|
-
'input.validation',
|
|
81
|
-
`input__validation-message input__validation-message--${validationValence}`,
|
|
82
|
-
{ srOnly, validationValence },
|
|
83
|
-
classNames,
|
|
84
|
-
)}
|
|
74
|
+
className={tx('input.validation', { srOnly, validationValence }, classNames)}
|
|
85
75
|
ref={forwardedRef}
|
|
86
76
|
>
|
|
87
77
|
{children}
|
|
@@ -93,12 +83,12 @@ const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>
|
|
|
93
83
|
type DescriptionAndValidationProps = ThemedClassName<DescriptionAndValidationPrimitiveProps> & { srOnly?: boolean };
|
|
94
84
|
|
|
95
85
|
const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAndValidationProps>(
|
|
96
|
-
({
|
|
86
|
+
({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
97
87
|
const { tx } = useThemeContext();
|
|
98
88
|
return (
|
|
99
89
|
<DescriptionAndValidationPrimitive
|
|
100
90
|
{...props}
|
|
101
|
-
className={tx('input.descriptionAndValidation',
|
|
91
|
+
className={tx('input.descriptionAndValidation', { srOnly }, classNames)}
|
|
102
92
|
ref={forwardedRef}
|
|
103
93
|
>
|
|
104
94
|
{children}
|
|
@@ -107,54 +97,23 @@ const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAnd
|
|
|
107
97
|
},
|
|
108
98
|
);
|
|
109
99
|
|
|
110
|
-
type PinInputProps = InputSharedProps &
|
|
111
|
-
Omit<PinInputPrimitiveProps, 'segmentClassName' | 'inputClassName'> & {
|
|
112
|
-
segmentClassName?: ClassNameValue;
|
|
113
|
-
inputClassName?: ClassNameValue;
|
|
114
|
-
};
|
|
100
|
+
type PinInputProps = ThemedClassName<InputSharedProps & Omit<PinInputPrimitiveProps, 'className' | 'segmentClassName'>>;
|
|
115
101
|
|
|
116
102
|
const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
|
|
117
|
-
(
|
|
118
|
-
{
|
|
119
|
-
density: propsDensity,
|
|
120
|
-
elevation: propsElevation,
|
|
121
|
-
segmentClassName: propsSegmentClassName,
|
|
122
|
-
inputClassName,
|
|
123
|
-
variant,
|
|
124
|
-
...props
|
|
125
|
-
},
|
|
126
|
-
forwardedRef,
|
|
127
|
-
) => {
|
|
103
|
+
({ classNames, density: propsDensity, elevation: propsElevation, ...props }, forwardedRef) => {
|
|
128
104
|
const { hasIosKeyboard } = useThemeContext();
|
|
129
105
|
const { tx } = useThemeContext();
|
|
130
106
|
const density = useDensityContext(propsDensity);
|
|
131
107
|
const elevation = useElevationContext(propsElevation);
|
|
132
108
|
|
|
133
|
-
const segmentClassName = useCallback(
|
|
134
|
-
({ focused, validationValence }: Parameters<Exclude<PinInputPrimitiveProps['segmentClassName'], undefined>>[0]) =>
|
|
135
|
-
tx(
|
|
136
|
-
'input.input',
|
|
137
|
-
'input--pin-segment',
|
|
138
|
-
{
|
|
139
|
-
variant: 'static',
|
|
140
|
-
focused,
|
|
141
|
-
disabled: props.disabled,
|
|
142
|
-
density,
|
|
143
|
-
elevation,
|
|
144
|
-
validationValence,
|
|
145
|
-
},
|
|
146
|
-
propsSegmentClassName,
|
|
147
|
-
),
|
|
148
|
-
[tx, props.disabled, elevation, propsElevation, density],
|
|
149
|
-
);
|
|
150
109
|
return (
|
|
151
110
|
<PinInputPrimitive
|
|
152
111
|
{...{
|
|
153
112
|
...props,
|
|
154
|
-
segmentClassName,
|
|
155
113
|
...(props.autoFocus && !hasIosKeyboard && { autoFocus: true }),
|
|
156
114
|
}}
|
|
157
|
-
|
|
115
|
+
className={tx('input.inputWithSegments', { disabled: props.disabled }, classNames) || ''}
|
|
116
|
+
segmentClassName={tx('input.segment', { disabled: props.disabled, density, elevation }) || ''}
|
|
158
117
|
ref={forwardedRef}
|
|
159
118
|
/>
|
|
160
119
|
);
|
|
@@ -163,24 +122,30 @@ const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
|
|
|
163
122
|
|
|
164
123
|
// TODO(burdon): Implement inline icon within button: e.g., https://www.radix-ui.com/themes/playground#text-field
|
|
165
124
|
|
|
166
|
-
type
|
|
125
|
+
type AutoFillProps = {
|
|
126
|
+
noAutoFill?: boolean;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
type TextInputProps = InputSharedProps & ThemedClassName<TextInputPrimitiveProps> & AutoFillProps;
|
|
167
130
|
|
|
168
131
|
const TextInput = forwardRef<HTMLInputElement, InputScopedProps<TextInputProps>>(
|
|
169
|
-
(
|
|
132
|
+
(
|
|
133
|
+
{ __inputScope, classNames, density: densityProp, elevation: elevationProp, variant, noAutoFill, ...props },
|
|
134
|
+
forwardedRef,
|
|
135
|
+
) => {
|
|
170
136
|
const { hasIosKeyboard } = useThemeContext();
|
|
171
|
-
const
|
|
172
|
-
const density = useDensityContext(
|
|
173
|
-
const elevation = useElevationContext(
|
|
137
|
+
const { tx } = useThemeContext();
|
|
138
|
+
const density = useDensityContext(densityProp);
|
|
139
|
+
const elevation = useElevationContext(elevationProp);
|
|
174
140
|
const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
|
|
175
141
|
|
|
176
|
-
const { tx } = themeContextValue;
|
|
177
|
-
|
|
178
142
|
return (
|
|
179
143
|
<TextInputPrimitive
|
|
180
144
|
{...props}
|
|
145
|
+
// TODO(wittjosiah): Factor out autofill properies.
|
|
146
|
+
{...{ 'data-1p-ignore': noAutoFill }}
|
|
181
147
|
className={tx(
|
|
182
148
|
'input.input',
|
|
183
|
-
'input',
|
|
184
149
|
{
|
|
185
150
|
variant,
|
|
186
151
|
disabled: props.disabled,
|
|
@@ -211,8 +176,7 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
|
|
|
211
176
|
<TextAreaPrimitive
|
|
212
177
|
{...props}
|
|
213
178
|
className={tx(
|
|
214
|
-
'input.
|
|
215
|
-
'input--text-area',
|
|
179
|
+
'input.textArea',
|
|
216
180
|
{
|
|
217
181
|
variant,
|
|
218
182
|
disabled: props.disabled,
|
|
@@ -220,7 +184,6 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
|
|
|
220
184
|
elevation,
|
|
221
185
|
validationValence,
|
|
222
186
|
},
|
|
223
|
-
'-mbe-labelSpacingBlock',
|
|
224
187
|
classNames,
|
|
225
188
|
)}
|
|
226
189
|
{...(props.autoFocus && !hasIosKeyboard && { autoFocus: true })}
|
|
@@ -230,7 +193,9 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
|
|
|
230
193
|
},
|
|
231
194
|
);
|
|
232
195
|
|
|
233
|
-
type CheckboxProps = ThemedClassName<Omit<
|
|
196
|
+
type CheckboxProps = ThemedClassName<Omit<CheckboxPrimitive.CheckboxProps, 'children'>> & {
|
|
197
|
+
size?: Size;
|
|
198
|
+
};
|
|
234
199
|
|
|
235
200
|
const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
|
|
236
201
|
HTMLButtonElement,
|
|
@@ -239,12 +204,11 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
|
|
|
239
204
|
(
|
|
240
205
|
{
|
|
241
206
|
__inputScope,
|
|
207
|
+
classNames,
|
|
242
208
|
checked: propsChecked,
|
|
243
209
|
defaultChecked: propsDefaultChecked,
|
|
244
210
|
onCheckedChange: propsOnCheckedChange,
|
|
245
211
|
size,
|
|
246
|
-
weight = 'bold',
|
|
247
|
-
classNames,
|
|
248
212
|
...props
|
|
249
213
|
},
|
|
250
214
|
forwardedRef,
|
|
@@ -258,7 +222,7 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
|
|
|
258
222
|
const { tx } = useThemeContext();
|
|
259
223
|
|
|
260
224
|
return (
|
|
261
|
-
<CheckboxPrimitive
|
|
225
|
+
<CheckboxPrimitive.Root
|
|
262
226
|
{...{
|
|
263
227
|
...props,
|
|
264
228
|
checked,
|
|
@@ -269,15 +233,15 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
|
|
|
269
233
|
'aria-invalid': 'true' as const,
|
|
270
234
|
'aria-errormessage': errorMessageId,
|
|
271
235
|
}),
|
|
272
|
-
className: tx('input.checkbox',
|
|
236
|
+
className: tx('input.checkbox', { size }, 'shrink-0', classNames),
|
|
273
237
|
}}
|
|
274
238
|
ref={forwardedRef}
|
|
275
239
|
>
|
|
276
240
|
<Icon
|
|
277
241
|
icon={checked === 'indeterminate' ? 'ph--minus--regular' : 'ph--check--regular'}
|
|
278
|
-
classNames={tx('input.checkboxIndicator',
|
|
242
|
+
classNames={tx('input.checkboxIndicator', { size, checked })}
|
|
279
243
|
/>
|
|
280
|
-
</CheckboxPrimitive>
|
|
244
|
+
</CheckboxPrimitive.Root>
|
|
281
245
|
);
|
|
282
246
|
},
|
|
283
247
|
);
|
|
@@ -290,10 +254,10 @@ const Switch = forwardRef<HTMLInputElement, InputScopedProps<SwitchProps>>(
|
|
|
290
254
|
(
|
|
291
255
|
{
|
|
292
256
|
__inputScope,
|
|
257
|
+
classNames,
|
|
293
258
|
checked: propsChecked,
|
|
294
259
|
defaultChecked: propsDefaultChecked,
|
|
295
260
|
onCheckedChange: propsOnCheckedChange,
|
|
296
|
-
classNames,
|
|
297
261
|
...props
|
|
298
262
|
},
|
|
299
263
|
forwardedRef,
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import '@
|
|
5
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
|
|
7
|
-
import { Link } from './Link';
|
|
8
7
|
import { withTheme } from '../../testing';
|
|
8
|
+
import { Link } from './Link';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
title: 'ui/react-ui-core/Link',
|
|
10
|
+
const meta = {
|
|
11
|
+
title: 'ui/react-ui-core/components/Link',
|
|
12
12
|
component: Link,
|
|
13
|
-
decorators: [withTheme],
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
decorators: [withTheme()],
|
|
14
|
+
} satisfies Meta<typeof Link>;
|
|
15
|
+
|
|
16
|
+
export default meta;
|
|
17
|
+
|
|
18
|
+
type Story = StoryObj<typeof meta>;
|
|
16
19
|
|
|
17
|
-
export const Default = { args: { children: 'Hello', href: '#' } };
|
|
20
|
+
export const Default: Story = { args: { children: 'Hello', href: '#' } };
|
|
@@ -18,7 +18,7 @@ export type LinkProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.a
|
|
|
18
18
|
export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
|
|
19
19
|
({ asChild, variant, classNames, ...props }, forwardedRef) => {
|
|
20
20
|
const { tx } = useThemeContext();
|
|
21
|
-
const
|
|
22
|
-
return <
|
|
21
|
+
const Comp = asChild ? Slot : Primitive.a;
|
|
22
|
+
return <Comp {...props} className={tx('link.root', { variant }, classNames)} ref={forwardedRef} />;
|
|
23
23
|
},
|
|
24
24
|
);
|
|
@@ -2,33 +2,28 @@
|
|
|
2
2
|
// Copyright 2022 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import '@dxos-theme';
|
|
6
|
-
|
|
7
5
|
import { DndContext, type DragEndEvent, type DragStartEvent } from '@dnd-kit/core';
|
|
8
|
-
import {
|
|
6
|
+
import { SortableContext, arrayMove, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
9
7
|
import { CSS } from '@dnd-kit/utilities';
|
|
10
8
|
import { useArrowNavigationGroup } from '@fluentui/react-tabster';
|
|
11
|
-
import
|
|
9
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
10
|
+
import React, { type ReactNode, useCallback, useState } from 'react';
|
|
12
11
|
|
|
13
|
-
import {
|
|
14
|
-
getSize,
|
|
15
|
-
ghostHover,
|
|
16
|
-
ghostSelected,
|
|
17
|
-
ghostSelectedTrackingInterFromNormal,
|
|
18
|
-
mx,
|
|
19
|
-
surfaceShadow,
|
|
20
|
-
} from '@dxos/react-ui-theme';
|
|
12
|
+
import { getSize, ghostHover, mx, surfaceShadow } from '@dxos/ui-theme';
|
|
21
13
|
|
|
22
|
-
import { List, ListItem, type ListScopedProps } from './List';
|
|
23
14
|
import { withTheme } from '../../testing';
|
|
24
15
|
import { Icon } from '../Icon';
|
|
16
|
+
import { List, ListItem, type ListScopedProps } from './List';
|
|
25
17
|
|
|
26
|
-
|
|
27
|
-
title: 'ui/react-ui-core/List',
|
|
18
|
+
const meta = {
|
|
19
|
+
title: 'ui/react-ui-core/components/List',
|
|
28
20
|
component: List,
|
|
29
|
-
decorators: [withTheme],
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
decorators: [withTheme()],
|
|
22
|
+
} satisfies Meta<typeof List>;
|
|
23
|
+
|
|
24
|
+
export default meta;
|
|
25
|
+
|
|
26
|
+
type Story = StoryObj<typeof meta>;
|
|
32
27
|
|
|
33
28
|
const UniformListItem = ({ id, text }: { id: string; text: string }) => {
|
|
34
29
|
const { attributes, listeners, setNodeRef, transform } = useSortable({ id });
|
|
@@ -41,17 +36,17 @@ const UniformListItem = ({ id, text }: { id: string; text: string }) => {
|
|
|
41
36
|
style={{ transform: CSS.Transform.toString(transform) }}
|
|
42
37
|
>
|
|
43
38
|
<ListItem.Endcap>
|
|
44
|
-
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), '
|
|
39
|
+
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
45
40
|
</ListItem.Endcap>
|
|
46
|
-
<ListItem.Heading classNames='grow
|
|
41
|
+
<ListItem.Heading classNames='grow pt-2'>{text}</ListItem.Heading>
|
|
47
42
|
<ListItem.Endcap>
|
|
48
|
-
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), '
|
|
43
|
+
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
49
44
|
</ListItem.Endcap>
|
|
50
45
|
</ListItem.Root>
|
|
51
46
|
);
|
|
52
47
|
};
|
|
53
48
|
|
|
54
|
-
export const UniformSizeDraggable = {
|
|
49
|
+
export const UniformSizeDraggable: Story = {
|
|
55
50
|
render: ({ ...args }) => {
|
|
56
51
|
const [items, setItems] = useState(
|
|
57
52
|
[...Array(12)].map((_, index) => ({
|
|
@@ -60,16 +55,20 @@ export const UniformSizeDraggable = {
|
|
|
60
55
|
})),
|
|
61
56
|
);
|
|
62
57
|
|
|
63
|
-
const handleDragEnd = (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
58
|
+
const handleDragEnd = useCallback(
|
|
59
|
+
(event: DragEndEvent) => {
|
|
60
|
+
const { active, over } = event;
|
|
61
|
+
if (active.id !== over?.id) {
|
|
62
|
+
setItems((items) => {
|
|
63
|
+
const oldIndex = items.findIndex((item) => item.id === active.id);
|
|
64
|
+
const newIndex = items.findIndex((item) => item.id === over?.id);
|
|
65
|
+
return arrayMove(items, oldIndex, newIndex);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
[items],
|
|
70
|
+
);
|
|
71
|
+
|
|
73
72
|
return (
|
|
74
73
|
<DndContext onDragEnd={handleDragEnd}>
|
|
75
74
|
<SortableContext items={items.map(({ id }) => id)} strategy={verticalListSortingStrategy}>
|
|
@@ -103,19 +102,19 @@ const ManySizesDraggableListItem = ({
|
|
|
103
102
|
style={{ transform: CSS.Translate.toString(transform) }}
|
|
104
103
|
>
|
|
105
104
|
<ListItem.Endcap>
|
|
106
|
-
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), '
|
|
105
|
+
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
107
106
|
</ListItem.Endcap>
|
|
108
|
-
<ListItem.Heading classNames='grow
|
|
107
|
+
<ListItem.Heading classNames='grow pt-2' asChild>
|
|
109
108
|
{text}
|
|
110
109
|
</ListItem.Heading>
|
|
111
110
|
<ListItem.Endcap>
|
|
112
|
-
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), '
|
|
111
|
+
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
113
112
|
</ListItem.Endcap>
|
|
114
113
|
</ListItem.Root>
|
|
115
114
|
);
|
|
116
115
|
};
|
|
117
116
|
|
|
118
|
-
export const ManySizesDraggable = {
|
|
117
|
+
export const ManySizesDraggable: Story = {
|
|
119
118
|
render: ({ ...args }) => {
|
|
120
119
|
const [items, setItems] = useState(
|
|
121
120
|
[...Array(12)].map((_, index) => ({
|
|
@@ -123,9 +122,9 @@ export const ManySizesDraggable = {
|
|
|
123
122
|
text: (
|
|
124
123
|
<p
|
|
125
124
|
className={mx(
|
|
126
|
-
index % 3 === 0 ? '
|
|
125
|
+
index % 3 === 0 ? 'h-20' : index % 2 === 0 ? 'h-12' : 'h-8',
|
|
127
126
|
surfaceShadow({ elevation: 'positioned' }),
|
|
128
|
-
'
|
|
127
|
+
'mb-2 p-2 bg-white dark:bg-neutral-800 rounded-sm',
|
|
129
128
|
)}
|
|
130
129
|
>{`List item ${index + 1}`}</p>
|
|
131
130
|
),
|
|
@@ -163,7 +162,7 @@ export const ManySizesDraggable = {
|
|
|
163
162
|
args: {},
|
|
164
163
|
};
|
|
165
164
|
|
|
166
|
-
export const Collapsible = {
|
|
165
|
+
export const Collapsible: Story = {
|
|
167
166
|
render: ({ ...args }) => {
|
|
168
167
|
const [items, _setItems] = useState(
|
|
169
168
|
[...Array(12)].map((_, index) => ({
|
|
@@ -177,11 +176,11 @@ export const Collapsible = {
|
|
|
177
176
|
<List {...args}>
|
|
178
177
|
{items.map(({ id, text, body }, index) => (
|
|
179
178
|
<ListItem.Root key={id} id={id} collapsible={index !== 2} defaultOpen={index % 2 === 0}>
|
|
180
|
-
<div
|
|
179
|
+
<div className='grow flex'>
|
|
181
180
|
{index !== 2 ? <ListItem.OpenTrigger /> : <ListItem.MockOpenTrigger />}
|
|
182
|
-
<ListItem.Heading classNames='grow
|
|
181
|
+
<ListItem.Heading classNames='grow pt-2'>{text}</ListItem.Heading>
|
|
183
182
|
<ListItem.Endcap>
|
|
184
|
-
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), '
|
|
183
|
+
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
185
184
|
</ListItem.Endcap>
|
|
186
185
|
</div>
|
|
187
186
|
{index !== 2 && <ListItem.CollapsibleContent>{body}</ListItem.CollapsibleContent>}
|
|
@@ -192,11 +191,10 @@ export const Collapsible = {
|
|
|
192
191
|
},
|
|
193
192
|
args: {
|
|
194
193
|
variant: 'unordered',
|
|
195
|
-
// toggleOpenLabel: 'Open/close storybook list item', // TODO(burdon): ???
|
|
196
194
|
},
|
|
197
195
|
};
|
|
198
196
|
|
|
199
|
-
export const SelectableListbox = {
|
|
197
|
+
export const SelectableListbox: Story = {
|
|
200
198
|
render: () => {
|
|
201
199
|
const [selectedId, setSelectedId] = useState<string>();
|
|
202
200
|
const arrowNavigationAttrs = useArrowNavigationGroup({ axis: 'vertical' });
|
|
@@ -223,11 +221,11 @@ export const SelectableListbox = {
|
|
|
223
221
|
key={id}
|
|
224
222
|
tabIndex={0}
|
|
225
223
|
selected={selectedId === id}
|
|
226
|
-
classNames={mx('
|
|
224
|
+
classNames={mx(ghostHover, 'dx-selected')}
|
|
227
225
|
onClick={() => setSelectedId(id)}
|
|
228
226
|
onKeyUp={(event) => handleKeyUp(event, id)}
|
|
229
227
|
>
|
|
230
|
-
<ListItem.Heading classNames='
|
|
228
|
+
<ListItem.Heading classNames='flex px-1 items-center grow truncate'>{text}</ListItem.Heading>
|
|
231
229
|
</ListItem.Root>
|
|
232
230
|
))}
|
|
233
231
|
</List>
|
|
@@ -2,44 +2,47 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { Primitive } from '@radix-ui/react-primitive';
|
|
5
6
|
import { Slot } from '@radix-ui/react-slot';
|
|
6
|
-
import React, { type ComponentPropsWithoutRef, type FC,
|
|
7
|
+
import React, { type ComponentPropsWithoutRef, type FC, type ForwardRefExoticComponent, forwardRef } from 'react';
|
|
7
8
|
|
|
8
9
|
import {
|
|
10
|
+
LIST_ITEM_NAME,
|
|
11
|
+
LIST_NAME,
|
|
12
|
+
ListItemCollapsibleContent,
|
|
13
|
+
type ListItemCollapsibleContentProps,
|
|
14
|
+
type ListItemScopedProps,
|
|
9
15
|
List as ListPrimitive,
|
|
10
|
-
|
|
11
|
-
type ListScopedProps,
|
|
16
|
+
ListItem as ListPrimitiveItem,
|
|
12
17
|
ListItemHeading as ListPrimitiveItemHeading,
|
|
13
18
|
type ListItemHeadingProps as ListPrimitiveItemHeadingProps,
|
|
14
19
|
ListItemOpenTrigger as ListPrimitiveItemOpenTrigger,
|
|
15
20
|
type ListItemOpenTriggerProps as ListPrimitiveItemOpenTriggerProps,
|
|
16
|
-
ListItemCollapsibleContent,
|
|
17
|
-
type ListItemCollapsibleContentProps,
|
|
18
|
-
ListItem as ListPrimitiveItem,
|
|
19
21
|
type ListItemProps as ListPrimitiveItemProps,
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
LIST_ITEM_NAME,
|
|
22
|
+
type ListProps as ListPrimitiveProps,
|
|
23
|
+
type ListScopedProps,
|
|
23
24
|
useListContext,
|
|
24
25
|
useListItemContext,
|
|
25
26
|
} from '@dxos/react-list';
|
|
26
|
-
import {
|
|
27
|
+
import { composable, composableProps } from '@dxos/ui-theme';
|
|
28
|
+
import { type Density } from '@dxos/ui-types';
|
|
27
29
|
|
|
28
|
-
import { ListDropIndicator } from './ListDropIndicator';
|
|
29
30
|
import { useDensityContext, useThemeContext } from '../../hooks';
|
|
30
31
|
import { type ThemedClassName } from '../../util';
|
|
31
32
|
import { DensityProvider } from '../DensityProvider';
|
|
32
33
|
import { Icon } from '../Icon';
|
|
34
|
+
import { ListDropIndicator } from './ListDropIndicator';
|
|
33
35
|
|
|
34
|
-
type ListProps = ThemedClassName<ListPrimitiveProps
|
|
36
|
+
type ListProps = ThemedClassName<ListPrimitiveProps & { density?: Density }>;
|
|
35
37
|
|
|
36
|
-
const List =
|
|
38
|
+
const List = composable<HTMLOListElement, ListProps>(({ children, ...props }, forwardedRef) => {
|
|
37
39
|
const { tx } = useThemeContext();
|
|
38
40
|
const density = useDensityContext(props.density);
|
|
41
|
+
const { className, ...rest } = composableProps(props);
|
|
39
42
|
|
|
40
43
|
return (
|
|
41
44
|
<DensityProvider density={density}>
|
|
42
|
-
<ListPrimitive {...
|
|
45
|
+
<ListPrimitive {...rest} className={tx('list.root', {}, className)} ref={forwardedRef}>
|
|
43
46
|
{children}
|
|
44
47
|
</ListPrimitive>
|
|
45
48
|
</DensityProvider>
|
|
@@ -50,18 +53,18 @@ type ListItemEndcapProps = ThemedClassName<ComponentPropsWithoutRef<'div'>> & {
|
|
|
50
53
|
|
|
51
54
|
const ListItemEndcap = forwardRef<HTMLDivElement, ListItemEndcapProps>(
|
|
52
55
|
({ children, classNames, asChild, ...props }, forwardedRef) => {
|
|
53
|
-
const
|
|
56
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
54
57
|
const density = useDensityContext();
|
|
55
58
|
const { tx } = useThemeContext();
|
|
56
59
|
return (
|
|
57
|
-
<
|
|
60
|
+
<Comp
|
|
58
61
|
{...(!asChild && { role: 'none' })}
|
|
59
62
|
{...props}
|
|
60
|
-
className={tx('list.item.endcap',
|
|
63
|
+
className={tx('list.item.endcap', { density }, classNames)}
|
|
61
64
|
ref={forwardedRef}
|
|
62
65
|
>
|
|
63
66
|
{children}
|
|
64
|
-
</
|
|
67
|
+
</Comp>
|
|
65
68
|
);
|
|
66
69
|
},
|
|
67
70
|
);
|
|
@@ -72,13 +75,7 @@ const MockListItemOpenTrigger = ({
|
|
|
72
75
|
}: ThemedClassName<Omit<ComponentPropsWithoutRef<'div'>, 'children'>>) => {
|
|
73
76
|
const density = useDensityContext();
|
|
74
77
|
const { tx } = useThemeContext();
|
|
75
|
-
return (
|
|
76
|
-
<div
|
|
77
|
-
role='none'
|
|
78
|
-
{...props}
|
|
79
|
-
className={tx('list.item.openTrigger', 'list__listItem__openTrigger--mock', { density }, classNames)}
|
|
80
|
-
/>
|
|
81
|
-
);
|
|
78
|
+
return <div {...props} className={tx('list.item.openTrigger', { density }, classNames)} />;
|
|
82
79
|
};
|
|
83
80
|
|
|
84
81
|
type ListItemHeadingProps = ThemedClassName<ListPrimitiveItemHeadingProps>;
|
|
@@ -90,10 +87,10 @@ const ListItemHeading = forwardRef<HTMLParagraphElement, ListItemHeadingProps>(
|
|
|
90
87
|
return (
|
|
91
88
|
<ListPrimitiveItemHeading
|
|
92
89
|
{...props}
|
|
93
|
-
className={tx('list.item.heading',
|
|
90
|
+
className={tx('list.item.heading', { density }, classNames)}
|
|
94
91
|
ref={forwardedRef}
|
|
95
92
|
>
|
|
96
|
-
{children}
|
|
93
|
+
<span>{children}</span>
|
|
97
94
|
</ListPrimitiveItemHeading>
|
|
98
95
|
);
|
|
99
96
|
},
|
|
@@ -106,15 +103,18 @@ const ListItemOpenTrigger = forwardRef<HTMLButtonElement, ListItemOpenTriggerPro
|
|
|
106
103
|
const { tx } = useThemeContext();
|
|
107
104
|
const density = useDensityContext();
|
|
108
105
|
const { open } = useListItemContext(LIST_ITEM_NAME, __listItemScope);
|
|
109
|
-
const iconName = open ? 'ph--caret-down--bold' : 'ph--caret-right--bold';
|
|
110
106
|
return (
|
|
111
107
|
<ListPrimitiveItemOpenTrigger
|
|
112
108
|
{...props}
|
|
113
|
-
className={tx('list.item.openTrigger',
|
|
109
|
+
className={tx('list.item.openTrigger', { density }, classNames)}
|
|
114
110
|
ref={forwardedRef}
|
|
115
111
|
>
|
|
116
112
|
{children || (
|
|
117
|
-
<Icon
|
|
113
|
+
<Icon
|
|
114
|
+
size={3}
|
|
115
|
+
icon={open ? 'ph--caret-down--bold' : 'ph--caret-right--bold'}
|
|
116
|
+
classNames={tx('list.item.openTriggerIcon', {})}
|
|
117
|
+
/>
|
|
118
118
|
)}
|
|
119
119
|
</ListPrimitiveItemOpenTrigger>
|
|
120
120
|
);
|
|
@@ -130,7 +130,7 @@ const ListItemRoot = forwardRef<HTMLLIElement, ListItemRootProps>(
|
|
|
130
130
|
return (
|
|
131
131
|
<ListPrimitiveItem
|
|
132
132
|
{...props}
|
|
133
|
-
className={tx('list.item.root',
|
|
133
|
+
className={tx('list.item.root', { density, collapsible: props.collapsible }, classNames)}
|
|
134
134
|
ref={forwardedRef}
|
|
135
135
|
>
|
|
136
136
|
{children}
|