@dxos/react-ui 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae
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-2FKSMWNY.mjs +774 -0
- package/dist/lib/browser/chunk-2FKSMWNY.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3929 -66
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +77 -55
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-ZNBLTSHI.mjs +776 -0
- package/dist/lib/node-esm/chunk-ZNBLTSHI.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3929 -66
- 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 +77 -55
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/components/Avatars/Avatar.d.ts.map +1 -1
- package/dist/types/src/components/Avatars/Avatar.stories.d.ts.map +1 -1
- package/dist/types/src/components/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/Card/Card.d.ts +121 -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/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/{Dialogs → Dialog}/AlertDialog.d.ts +12 -3
- 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 +47 -0
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/types/src/components/{Dialogs → Dialog}/Dialog.stories.d.ts +9 -10
- 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 +8 -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/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/Image/Image.d.ts +14 -0
- package/dist/types/src/components/Image/Image.d.ts.map +1 -0
- package/dist/types/src/components/Image/Image.stories.d.ts +33 -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 +5 -5
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +8 -8
- 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 +17 -18
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts +0 -3
- 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 +3 -4
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +2 -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 +24 -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 +36 -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.stories.d.ts +4 -2
- 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 +0 -5
- package/dist/types/src/components/Tag/Tag.stories.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/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 +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 +45 -13
- 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/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +13 -8
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +18 -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/exemplars/virtualizer.stories.d.ts +11 -0
- package/dist/types/src/exemplars/virtualizer.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/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.map +1 -1
- package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Column/Column.d.ts +32 -0
- package/dist/types/src/primitives/Column/Column.d.ts.map +1 -0
- package/dist/types/src/primitives/Column/Column.stories.d.ts +6 -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/Flex/Flex.d.ts +8 -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 +9 -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 +34 -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 +5 -0
- package/dist/types/src/primitives/index.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 +3 -2
- package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +11 -0
- package/dist/types/src/translations.d.ts.map +1 -0
- 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 +41 -29
- package/src/components/Avatars/Avatar.stories.tsx +5 -6
- package/src/components/Avatars/Avatar.tsx +6 -13
- package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +4 -4
- package/src/components/Breadcrumb/Breadcrumb.tsx +11 -37
- package/src/components/{Buttons → Button}/Button.stories.tsx +4 -4
- package/src/components/{Buttons → Button}/Button.tsx +7 -13
- package/src/components/{Buttons → Button}/IconButton.stories.tsx +4 -4
- 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/Card/Card.stories.tsx +151 -0
- package/src/components/Card/Card.tsx +352 -0
- package/src/components/Card/index.ts +5 -0
- package/src/components/Clipboard/CopyButton.tsx +7 -7
- package/src/components/DensityProvider/DensityProvider.tsx +1 -1
- package/src/components/Dialog/AlertDialog.stories.tsx +69 -0
- package/src/components/{Dialogs → Dialog}/AlertDialog.tsx +116 -16
- package/src/components/Dialog/Dialog.stories.tsx +122 -0
- package/src/components/{Dialogs → Dialog}/Dialog.tsx +179 -49
- package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
- package/src/components/ErrorFallback/ErrorFallback.stories.tsx +50 -0
- package/src/components/ErrorFallback/ErrorFallback.tsx +70 -0
- package/src/components/ErrorFallback/ErrorStack.tsx +80 -0
- package/src/components/ErrorFallback/ThrowError.tsx +37 -0
- package/src/components/ErrorFallback/index.ts +9 -0
- package/src/components/Icon/Icon.stories.tsx +113 -0
- package/src/components/Icon/Icon.tsx +3 -3
- package/src/components/Image/Image.stories.tsx +86 -0
- package/src/components/Image/Image.tsx +223 -0
- package/src/components/Image/index.ts +5 -0
- package/src/components/Input/Input.stories.tsx +21 -40
- package/src/components/Input/Input.tsx +32 -68
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/Link/Link.tsx +2 -2
- package/src/components/{Lists → List}/List.stories.tsx +30 -33
- package/src/components/{Lists → List}/List.tsx +12 -17
- package/src/components/{Lists → List}/ListDropIndicator.tsx +7 -7
- package/src/components/{Lists → List}/Tree.stories.tsx +4 -4
- package/src/components/{Lists → List}/TreeDropIndicator.tsx +6 -6
- package/src/components/{Lists → List}/Treegrid.stories.tsx +3 -3
- package/src/components/{Lists → List}/Treegrid.tsx +10 -15
- package/src/components/Main/Main.stories.tsx +41 -23
- package/src/components/Main/Main.tsx +149 -92
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/ContextMenu.tsx +9 -33
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +3 -3
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +89 -68
- package/src/components/Message/Message.stories.tsx +26 -11
- package/src/components/Message/Message.tsx +46 -33
- package/src/components/Popover/Popover.stories.tsx +5 -5
- package/src/components/Popover/Popover.tsx +78 -56
- package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
- package/src/components/ScrollArea/ScrollArea.tsx +84 -82
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +89 -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 +11 -27
- 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 +83 -0
- package/src/components/Splitter/Splitter.tsx +138 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +21 -17
- package/src/components/Status/Status.tsx +2 -2
- package/src/components/Tag/Tag.stories.tsx +6 -11
- package/src/components/Tag/Tag.tsx +3 -8
- package/src/components/ThemeProvider/ThemeProvider.stories.tsx +32 -0
- package/src/components/ThemeProvider/ThemeProvider.tsx +5 -6
- 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 +10 -14
- package/src/components/Toolbar/Toolbar.stories.tsx +4 -6
- package/src/components/Toolbar/Toolbar.tsx +196 -9
- package/src/components/Tooltip/Tooltip.stories.tsx +16 -14
- package/src/components/Tooltip/Tooltip.tsx +25 -22
- package/src/components/index.ts +14 -9
- package/src/exemplars/generics.stories.tsx +49 -0
- package/src/exemplars/slot.stories.tsx +119 -0
- package/src/exemplars/tabster.stories.tsx +127 -0
- package/src/exemplars/virtualizer.stories.tsx +137 -0
- package/src/hooks/useDensityContext.ts +1 -1
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/hooks/useSafeArea.ts +2 -2
- package/src/hooks/useVisualViewport.ts +3 -3
- package/src/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +3 -10
- package/src/playground/Custom.stories.tsx +8 -10
- package/src/playground/Typography.stories.tsx +3 -3
- package/src/primitives/Column/Column.stories.tsx +72 -0
- package/src/primitives/Column/Column.tsx +156 -0
- package/src/primitives/Column/index.ts +5 -0
- package/src/primitives/Flex/Flex.stories.tsx +58 -0
- package/src/primitives/Flex/Flex.tsx +27 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/Grid/Grid.stories.tsx +57 -0
- package/src/primitives/Grid/Grid.tsx +43 -0
- package/src/primitives/Grid/index.ts +5 -0
- package/src/primitives/Panel/Panel.stories.tsx +67 -0
- package/src/primitives/Panel/Panel.tsx +137 -0
- package/src/primitives/Panel/index.ts +5 -0
- package/src/primitives/index.ts +8 -0
- package/src/testing/decorators/index.ts +2 -1
- package/src/testing/decorators/withLayout.tsx +77 -0
- package/src/testing/decorators/withLayoutVariants.tsx +48 -0
- package/src/testing/decorators/withTheme.tsx +21 -18
- package/src/translations.ts +19 -0
- package/src/util/index.ts +2 -2
- package/dist/lib/browser/chunk-B7HPXBP2.mjs +0 -4514
- package/dist/lib/browser/chunk-B7HPXBP2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6JCSY5Y7.mjs +0 -4516
- package/dist/lib/node-esm/chunk-6JCSY5Y7.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.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/AnchoredOverflow/AnchoredOverflow.tsx +0 -59
- package/src/components/AnchoredOverflow/index.ts +0 -5
- package/src/components/Dialogs/AlertDialog.stories.tsx +0 -69
- package/src/components/Dialogs/Dialog.stories.tsx +0 -67
- package/src/testing/decorators/withSurfaceVariantsLayout.tsx +0 -51
- package/src/util/ThemedClassName.ts +0 -7
- package/src/util/domino.ts +0 -51
- /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.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}/index.ts +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import { type MessageValence } from '@dxos/react-ui-types';
|
|
8
|
+
import { type MessageValence } from '@dxos/ui-types';
|
|
10
9
|
|
|
11
|
-
import { withTheme } from '../../testing';
|
|
10
|
+
import { withLayoutVariants, withTheme } from '../../testing';
|
|
12
11
|
|
|
13
12
|
import {
|
|
14
13
|
type CheckboxProps,
|
|
@@ -29,7 +28,7 @@ type VariantMap = {
|
|
|
29
28
|
|
|
30
29
|
type Variant = { [K in keyof VariantMap]: { type: K } & VariantMap[K] }[keyof VariantMap];
|
|
31
30
|
|
|
32
|
-
type
|
|
31
|
+
type StoryProps = Partial<{
|
|
33
32
|
kind: keyof VariantMap;
|
|
34
33
|
label: string;
|
|
35
34
|
labelVisuallyHidden: boolean;
|
|
@@ -39,7 +38,7 @@ type BaseProps = Partial<{
|
|
|
39
38
|
validationMessage: string;
|
|
40
39
|
}>;
|
|
41
40
|
|
|
42
|
-
const
|
|
41
|
+
const DefaultStory = ({
|
|
43
42
|
kind,
|
|
44
43
|
label,
|
|
45
44
|
description,
|
|
@@ -48,7 +47,7 @@ const Wrapper = ({
|
|
|
48
47
|
validationValence,
|
|
49
48
|
validationMessage,
|
|
50
49
|
...props
|
|
51
|
-
}:
|
|
50
|
+
}: StoryProps) => {
|
|
52
51
|
return (
|
|
53
52
|
<Input.Root {...{ validationValence }}>
|
|
54
53
|
<Input.Label srOnly={labelVisuallyHidden}>{label}</Input.Label>
|
|
@@ -60,48 +59,28 @@ const Wrapper = ({
|
|
|
60
59
|
{kind === 'switch' && <Input.Switch {...props} />}
|
|
61
60
|
|
|
62
61
|
<Input.DescriptionAndValidation srOnly={descriptionVisuallyHidden}>
|
|
63
|
-
{validationMessage &&
|
|
64
|
-
<>
|
|
65
|
-
<Input.Validation>{validationMessage}</Input.Validation>{' '}
|
|
66
|
-
</>
|
|
67
|
-
)}
|
|
62
|
+
{validationMessage && <Input.Validation classNames='block'>{validationMessage}</Input.Validation>}
|
|
68
63
|
<Input.Description>{description}</Input.Description>
|
|
69
64
|
</Input.DescriptionAndValidation>
|
|
70
65
|
</Input.Root>
|
|
71
66
|
);
|
|
72
67
|
};
|
|
73
68
|
|
|
74
|
-
const DefaultStory = (props: BaseProps) => {
|
|
75
|
-
return (
|
|
76
|
-
<div className='space-b-4'>
|
|
77
|
-
<div className={mx(baseSurface, 'p-4 rounded-md')}>
|
|
78
|
-
<Wrapper {...props} />
|
|
79
|
-
</div>
|
|
80
|
-
<div className={mx('bg-cardSurface', 'p-4 rounded-md', surfaceShadow({ elevation: 'positioned' }))}>
|
|
81
|
-
<Wrapper {...props} />
|
|
82
|
-
</div>
|
|
83
|
-
<div className={mx(modalSurface, 'p-4 rounded-md', surfaceShadow({ elevation: 'dialog' }))}>
|
|
84
|
-
<Wrapper {...props} />
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
);
|
|
88
|
-
};
|
|
89
|
-
|
|
90
69
|
const meta = {
|
|
91
|
-
title: 'ui/react-ui-core/Input',
|
|
70
|
+
title: 'ui/react-ui-core/components/Input',
|
|
92
71
|
component: Input.Root as any,
|
|
93
72
|
render: DefaultStory,
|
|
94
|
-
decorators: [withTheme],
|
|
73
|
+
decorators: [withTheme(), withLayoutVariants()],
|
|
95
74
|
} satisfies Meta<typeof DefaultStory>;
|
|
96
75
|
|
|
97
76
|
export default meta;
|
|
98
77
|
|
|
99
|
-
type Story = StoryObj<
|
|
78
|
+
type Story = StoryObj<StoryProps & Variant>;
|
|
100
79
|
|
|
101
|
-
export const
|
|
80
|
+
export const DensityCoarse: Story = {
|
|
102
81
|
args: {
|
|
103
82
|
kind: 'text',
|
|
104
|
-
label: '
|
|
83
|
+
label: 'Input value',
|
|
105
84
|
placeholder: 'This is an input',
|
|
106
85
|
disabled: false,
|
|
107
86
|
description: undefined,
|
|
@@ -109,13 +88,14 @@ export const Default: Story = {
|
|
|
109
88
|
descriptionVisuallyHidden: false,
|
|
110
89
|
validationMessage: '',
|
|
111
90
|
validationValence: undefined,
|
|
91
|
+
density: 'coarse',
|
|
112
92
|
},
|
|
113
93
|
};
|
|
114
94
|
|
|
115
95
|
export const DensityFine: Story = {
|
|
116
96
|
args: {
|
|
117
97
|
kind: 'text',
|
|
118
|
-
label: '
|
|
98
|
+
label: 'Input value',
|
|
119
99
|
placeholder: 'This is a density:fine input',
|
|
120
100
|
disabled: false,
|
|
121
101
|
description: undefined,
|
|
@@ -130,7 +110,7 @@ export const DensityFine: Story = {
|
|
|
130
110
|
export const Subdued: Story = {
|
|
131
111
|
args: {
|
|
132
112
|
kind: 'text',
|
|
133
|
-
label: '
|
|
113
|
+
label: 'Input value',
|
|
134
114
|
placeholder: 'This is a subdued input',
|
|
135
115
|
disabled: false,
|
|
136
116
|
description: undefined,
|
|
@@ -160,7 +140,7 @@ export const LabelVisuallyHidden: Story = {
|
|
|
160
140
|
},
|
|
161
141
|
};
|
|
162
142
|
|
|
163
|
-
export const
|
|
143
|
+
export const WithDescription: Story = {
|
|
164
144
|
args: {
|
|
165
145
|
kind: 'text',
|
|
166
146
|
label: 'Described input',
|
|
@@ -169,7 +149,7 @@ export const InputWithDescription: Story = {
|
|
|
169
149
|
},
|
|
170
150
|
};
|
|
171
151
|
|
|
172
|
-
export const
|
|
152
|
+
export const WithErrorAndDescription: Story = {
|
|
173
153
|
args: {
|
|
174
154
|
kind: 'text',
|
|
175
155
|
label: 'Described invalid input',
|
|
@@ -180,7 +160,7 @@ export const InputWithErrorAndDescription: Story = {
|
|
|
180
160
|
},
|
|
181
161
|
};
|
|
182
162
|
|
|
183
|
-
export const
|
|
163
|
+
export const WithValidationAndDescription: Story = {
|
|
184
164
|
args: {
|
|
185
165
|
kind: 'text',
|
|
186
166
|
label: 'Described input with validation message',
|
|
@@ -206,7 +186,8 @@ export const PinInput: Story = {
|
|
|
206
186
|
label: 'This input is a PIN-style input',
|
|
207
187
|
length: 6,
|
|
208
188
|
description: 'Type in secret you received',
|
|
209
|
-
|
|
189
|
+
pattern: '\\d*',
|
|
190
|
+
density: 'coarse',
|
|
210
191
|
},
|
|
211
192
|
};
|
|
212
193
|
|
|
@@ -214,7 +195,7 @@ export const Checkbox: Story = {
|
|
|
214
195
|
args: {
|
|
215
196
|
kind: 'checkbox',
|
|
216
197
|
label: 'This is a checkbox',
|
|
217
|
-
description: '
|
|
198
|
+
description: 'Checked, indeterminate, or unchecked',
|
|
218
199
|
size: 5,
|
|
219
200
|
},
|
|
220
201
|
};
|
|
@@ -223,6 +204,6 @@ export const Switch: Story = {
|
|
|
223
204
|
args: {
|
|
224
205
|
kind: 'switch',
|
|
225
206
|
label: 'This is a switch',
|
|
226
|
-
description:
|
|
207
|
+
description: 'On or off',
|
|
227
208
|
},
|
|
228
209
|
};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { Root as CheckboxPrimitive, type CheckboxProps as CheckboxPrimitiveProps } from '@radix-ui/react-checkbox';
|
|
6
6
|
import { useControllableState } from '@radix-ui/react-use-controllable-state';
|
|
7
|
-
import React, { type ComponentPropsWithRef, type ForwardRefExoticComponent, forwardRef
|
|
7
|
+
import React, { type ComponentPropsWithRef, type ForwardRefExoticComponent, forwardRef } from 'react';
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
10
|
DescriptionAndValidation as DescriptionAndValidationPrimitive,
|
|
@@ -27,8 +27,8 @@ import {
|
|
|
27
27
|
type ValidationProps as ValidationPrimitiveProps,
|
|
28
28
|
useInputContext,
|
|
29
29
|
} from '@dxos/react-input';
|
|
30
|
-
import { mx } from '@dxos/
|
|
31
|
-
import { type
|
|
30
|
+
import { mx } from '@dxos/ui-theme';
|
|
31
|
+
import { type Density, type Elevation, type Size } from '@dxos/ui-types';
|
|
32
32
|
|
|
33
33
|
import { useDensityContext, useElevationContext, useThemeContext } from '../../hooks';
|
|
34
34
|
import { type ThemedClassName } from '../../util';
|
|
@@ -40,10 +40,10 @@ type InputSharedProps = Partial<{ density: Density; elevation: Elevation; varian
|
|
|
40
40
|
|
|
41
41
|
type LabelProps = ThemedClassName<LabelPrimitiveProps> & { srOnly?: boolean };
|
|
42
42
|
|
|
43
|
-
const Label = forwardRef<HTMLLabelElement, LabelProps>(({
|
|
43
|
+
const Label = forwardRef<HTMLLabelElement, LabelProps>(({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
44
44
|
const { tx } = useThemeContext();
|
|
45
45
|
return (
|
|
46
|
-
<LabelPrimitive {...props} className={tx('input.label',
|
|
46
|
+
<LabelPrimitive {...props} className={tx('input.label', { srOnly }, classNames)} ref={forwardedRef}>
|
|
47
47
|
{children}
|
|
48
48
|
</LabelPrimitive>
|
|
49
49
|
);
|
|
@@ -52,14 +52,10 @@ const Label = forwardRef<HTMLLabelElement, LabelProps>(({ srOnly, classNames, ch
|
|
|
52
52
|
type DescriptionProps = ThemedClassName<DescriptionPrimitiveProps> & { srOnly?: boolean };
|
|
53
53
|
|
|
54
54
|
const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
|
|
55
|
-
({
|
|
55
|
+
({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
56
56
|
const { tx } = useThemeContext();
|
|
57
57
|
return (
|
|
58
|
-
<DescriptionPrimitive
|
|
59
|
-
{...props}
|
|
60
|
-
className={tx('input.description', 'input__description', { srOnly }, classNames)}
|
|
61
|
-
ref={forwardedRef}
|
|
62
|
-
>
|
|
58
|
+
<DescriptionPrimitive {...props} className={tx('input.description', { srOnly }, classNames)} ref={forwardedRef}>
|
|
63
59
|
{children}
|
|
64
60
|
</DescriptionPrimitive>
|
|
65
61
|
);
|
|
@@ -69,18 +65,13 @@ const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
|
|
|
69
65
|
type ValidationProps = ThemedClassName<ValidationPrimitiveProps> & { srOnly?: boolean };
|
|
70
66
|
|
|
71
67
|
const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>>(
|
|
72
|
-
({ __inputScope,
|
|
68
|
+
({ __inputScope, classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
73
69
|
const { tx } = useThemeContext();
|
|
74
70
|
const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
|
|
75
71
|
return (
|
|
76
72
|
<ValidationPrimitive
|
|
77
73
|
{...props}
|
|
78
|
-
className={tx(
|
|
79
|
-
'input.validation',
|
|
80
|
-
`input__validation-message input__validation-message--${validationValence}`,
|
|
81
|
-
{ srOnly, validationValence },
|
|
82
|
-
classNames,
|
|
83
|
-
)}
|
|
74
|
+
className={tx('input.validation', { srOnly, validationValence }, classNames)}
|
|
84
75
|
ref={forwardedRef}
|
|
85
76
|
>
|
|
86
77
|
{children}
|
|
@@ -92,12 +83,12 @@ const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>
|
|
|
92
83
|
type DescriptionAndValidationProps = ThemedClassName<DescriptionAndValidationPrimitiveProps> & { srOnly?: boolean };
|
|
93
84
|
|
|
94
85
|
const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAndValidationProps>(
|
|
95
|
-
({
|
|
86
|
+
({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
96
87
|
const { tx } = useThemeContext();
|
|
97
88
|
return (
|
|
98
89
|
<DescriptionAndValidationPrimitive
|
|
99
90
|
{...props}
|
|
100
|
-
className={tx('input.descriptionAndValidation',
|
|
91
|
+
className={tx('input.descriptionAndValidation', { srOnly }, classNames)}
|
|
101
92
|
ref={forwardedRef}
|
|
102
93
|
>
|
|
103
94
|
{children}
|
|
@@ -106,54 +97,23 @@ const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAnd
|
|
|
106
97
|
},
|
|
107
98
|
);
|
|
108
99
|
|
|
109
|
-
type PinInputProps = InputSharedProps &
|
|
110
|
-
Omit<PinInputPrimitiveProps, 'segmentClassName' | 'inputClassName'> & {
|
|
111
|
-
segmentClassName?: ClassNameValue;
|
|
112
|
-
inputClassName?: ClassNameValue;
|
|
113
|
-
};
|
|
100
|
+
type PinInputProps = ThemedClassName<InputSharedProps & Omit<PinInputPrimitiveProps, 'className' | 'segmentClassName'>>;
|
|
114
101
|
|
|
115
102
|
const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
|
|
116
|
-
(
|
|
117
|
-
{
|
|
118
|
-
density: propsDensity,
|
|
119
|
-
elevation: propsElevation,
|
|
120
|
-
segmentClassName: propsSegmentClassName,
|
|
121
|
-
inputClassName,
|
|
122
|
-
variant,
|
|
123
|
-
...props
|
|
124
|
-
},
|
|
125
|
-
forwardedRef,
|
|
126
|
-
) => {
|
|
103
|
+
({ classNames, density: propsDensity, elevation: propsElevation, ...props }, forwardedRef) => {
|
|
127
104
|
const { hasIosKeyboard } = useThemeContext();
|
|
128
105
|
const { tx } = useThemeContext();
|
|
129
106
|
const density = useDensityContext(propsDensity);
|
|
130
107
|
const elevation = useElevationContext(propsElevation);
|
|
131
108
|
|
|
132
|
-
const segmentClassName = useCallback(
|
|
133
|
-
({ focused, validationValence }: Parameters<Exclude<PinInputPrimitiveProps['segmentClassName'], undefined>>[0]) =>
|
|
134
|
-
tx(
|
|
135
|
-
'input.input',
|
|
136
|
-
'input--pin-segment',
|
|
137
|
-
{
|
|
138
|
-
variant: 'static',
|
|
139
|
-
focused,
|
|
140
|
-
disabled: props.disabled,
|
|
141
|
-
density,
|
|
142
|
-
elevation,
|
|
143
|
-
validationValence,
|
|
144
|
-
},
|
|
145
|
-
propsSegmentClassName,
|
|
146
|
-
),
|
|
147
|
-
[tx, props.disabled, elevation, propsElevation, density],
|
|
148
|
-
);
|
|
149
109
|
return (
|
|
150
110
|
<PinInputPrimitive
|
|
151
111
|
{...{
|
|
152
112
|
...props,
|
|
153
|
-
segmentClassName,
|
|
154
113
|
...(props.autoFocus && !hasIosKeyboard && { autoFocus: true }),
|
|
155
114
|
}}
|
|
156
|
-
|
|
115
|
+
className={tx('input.inputWithSegments', { disabled: props.disabled }, classNames) || ''}
|
|
116
|
+
segmentClassName={tx('input.segment', { disabled: props.disabled, density, elevation }) || ''}
|
|
157
117
|
ref={forwardedRef}
|
|
158
118
|
/>
|
|
159
119
|
);
|
|
@@ -162,24 +122,30 @@ const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
|
|
|
162
122
|
|
|
163
123
|
// TODO(burdon): Implement inline icon within button: e.g., https://www.radix-ui.com/themes/playground#text-field
|
|
164
124
|
|
|
165
|
-
type
|
|
125
|
+
type AutoFillProps = {
|
|
126
|
+
noAutoFill?: boolean;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
type TextInputProps = InputSharedProps & ThemedClassName<TextInputPrimitiveProps> & AutoFillProps;
|
|
166
130
|
|
|
167
131
|
const TextInput = forwardRef<HTMLInputElement, InputScopedProps<TextInputProps>>(
|
|
168
|
-
(
|
|
132
|
+
(
|
|
133
|
+
{ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, noAutoFill, ...props },
|
|
134
|
+
forwardedRef,
|
|
135
|
+
) => {
|
|
169
136
|
const { hasIosKeyboard } = useThemeContext();
|
|
170
|
-
const
|
|
137
|
+
const { tx } = useThemeContext();
|
|
171
138
|
const density = useDensityContext(propsDensity);
|
|
172
139
|
const elevation = useElevationContext(propsElevation);
|
|
173
140
|
const { validationValence } = useInputContext(INPUT_NAME, __inputScope);
|
|
174
141
|
|
|
175
|
-
const { tx } = themeContextValue;
|
|
176
|
-
|
|
177
142
|
return (
|
|
178
143
|
<TextInputPrimitive
|
|
179
144
|
{...props}
|
|
145
|
+
// TODO(wittjosiah): Factor out autofill properies.
|
|
146
|
+
{...{ 'data-1p-ignore': noAutoFill }}
|
|
180
147
|
className={tx(
|
|
181
148
|
'input.input',
|
|
182
|
-
'input',
|
|
183
149
|
{
|
|
184
150
|
variant,
|
|
185
151
|
disabled: props.disabled,
|
|
@@ -210,8 +176,7 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
|
|
|
210
176
|
<TextAreaPrimitive
|
|
211
177
|
{...props}
|
|
212
178
|
className={tx(
|
|
213
|
-
'input.
|
|
214
|
-
'input--text-area',
|
|
179
|
+
'input.textArea',
|
|
215
180
|
{
|
|
216
181
|
variant,
|
|
217
182
|
disabled: props.disabled,
|
|
@@ -219,7 +184,6 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
|
|
|
219
184
|
elevation,
|
|
220
185
|
validationValence,
|
|
221
186
|
},
|
|
222
|
-
'-mbe-labelSpacingBlock',
|
|
223
187
|
classNames,
|
|
224
188
|
)}
|
|
225
189
|
{...(props.autoFocus && !hasIosKeyboard && { autoFocus: true })}
|
|
@@ -240,11 +204,11 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
|
|
|
240
204
|
(
|
|
241
205
|
{
|
|
242
206
|
__inputScope,
|
|
207
|
+
classNames,
|
|
243
208
|
checked: propsChecked,
|
|
244
209
|
defaultChecked: propsDefaultChecked,
|
|
245
210
|
onCheckedChange: propsOnCheckedChange,
|
|
246
211
|
size,
|
|
247
|
-
classNames,
|
|
248
212
|
...props
|
|
249
213
|
},
|
|
250
214
|
forwardedRef,
|
|
@@ -269,13 +233,13 @@ 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
244
|
</CheckboxPrimitive>
|
|
281
245
|
);
|
|
@@ -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,
|
|
@@ -9,9 +9,9 @@ import { withTheme } from '../../testing';
|
|
|
9
9
|
import { Link } from './Link';
|
|
10
10
|
|
|
11
11
|
const meta = {
|
|
12
|
-
title: 'ui/react-ui-core/Link',
|
|
12
|
+
title: 'ui/react-ui-core/components/Link',
|
|
13
13
|
component: Link,
|
|
14
|
-
decorators: [withTheme],
|
|
14
|
+
decorators: [withTheme()],
|
|
15
15
|
} satisfies Meta<typeof Link>;
|
|
16
16
|
|
|
17
17
|
export default meta;
|
|
@@ -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
|
);
|
|
@@ -7,16 +7,9 @@ import { SortableContext, arrayMove, useSortable, verticalListSortingStrategy }
|
|
|
7
7
|
import { CSS } from '@dnd-kit/utilities';
|
|
8
8
|
import { useArrowNavigationGroup } from '@fluentui/react-tabster';
|
|
9
9
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
10
|
-
import React, { type ReactNode, useState } from 'react';
|
|
10
|
+
import React, { type ReactNode, useCallback, useState } from 'react';
|
|
11
11
|
|
|
12
|
-
import {
|
|
13
|
-
getSize,
|
|
14
|
-
ghostHover,
|
|
15
|
-
ghostSelected,
|
|
16
|
-
ghostSelectedTrackingInterFromNormal,
|
|
17
|
-
mx,
|
|
18
|
-
surfaceShadow,
|
|
19
|
-
} from '@dxos/react-ui-theme';
|
|
12
|
+
import { getSize, ghostHover, ghostSelected, mx, surfaceShadow } from '@dxos/ui-theme';
|
|
20
13
|
|
|
21
14
|
import { withTheme } from '../../testing';
|
|
22
15
|
import { Icon } from '../Icon';
|
|
@@ -24,9 +17,9 @@ import { Icon } from '../Icon';
|
|
|
24
17
|
import { List, ListItem, type ListScopedProps } from './List';
|
|
25
18
|
|
|
26
19
|
const meta = {
|
|
27
|
-
title: 'ui/react-ui-core/List',
|
|
20
|
+
title: 'ui/react-ui-core/components/List',
|
|
28
21
|
component: List,
|
|
29
|
-
decorators: [withTheme],
|
|
22
|
+
decorators: [withTheme()],
|
|
30
23
|
} satisfies Meta<typeof List>;
|
|
31
24
|
|
|
32
25
|
export default meta;
|
|
@@ -44,11 +37,11 @@ const UniformListItem = ({ id, text }: { id: string; text: string }) => {
|
|
|
44
37
|
style={{ transform: CSS.Transform.toString(transform) }}
|
|
45
38
|
>
|
|
46
39
|
<ListItem.Endcap>
|
|
47
|
-
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), '
|
|
40
|
+
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
48
41
|
</ListItem.Endcap>
|
|
49
|
-
<ListItem.Heading classNames='grow
|
|
42
|
+
<ListItem.Heading classNames='grow pt-2'>{text}</ListItem.Heading>
|
|
50
43
|
<ListItem.Endcap>
|
|
51
|
-
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), '
|
|
44
|
+
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
52
45
|
</ListItem.Endcap>
|
|
53
46
|
</ListItem.Root>
|
|
54
47
|
);
|
|
@@ -63,16 +56,20 @@ export const UniformSizeDraggable: Story = {
|
|
|
63
56
|
})),
|
|
64
57
|
);
|
|
65
58
|
|
|
66
|
-
const handleDragEnd = (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
59
|
+
const handleDragEnd = useCallback(
|
|
60
|
+
(event: DragEndEvent) => {
|
|
61
|
+
const { active, over } = event;
|
|
62
|
+
if (active.id !== over?.id) {
|
|
63
|
+
setItems((items) => {
|
|
64
|
+
const oldIndex = items.findIndex((item) => item.id === active.id);
|
|
65
|
+
const newIndex = items.findIndex((item) => item.id === over?.id);
|
|
66
|
+
return arrayMove(items, oldIndex, newIndex);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
[items],
|
|
71
|
+
);
|
|
72
|
+
|
|
76
73
|
return (
|
|
77
74
|
<DndContext onDragEnd={handleDragEnd}>
|
|
78
75
|
<SortableContext items={items.map(({ id }) => id)} strategy={verticalListSortingStrategy}>
|
|
@@ -106,13 +103,13 @@ const ManySizesDraggableListItem = ({
|
|
|
106
103
|
style={{ transform: CSS.Translate.toString(transform) }}
|
|
107
104
|
>
|
|
108
105
|
<ListItem.Endcap>
|
|
109
|
-
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), '
|
|
106
|
+
<Icon icon='ph--dots-six-vertical--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
110
107
|
</ListItem.Endcap>
|
|
111
|
-
<ListItem.Heading classNames='grow
|
|
108
|
+
<ListItem.Heading classNames='grow pt-2' asChild>
|
|
112
109
|
{text}
|
|
113
110
|
</ListItem.Heading>
|
|
114
111
|
<ListItem.Endcap>
|
|
115
|
-
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), '
|
|
112
|
+
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
116
113
|
</ListItem.Endcap>
|
|
117
114
|
</ListItem.Root>
|
|
118
115
|
);
|
|
@@ -126,9 +123,9 @@ export const ManySizesDraggable: Story = {
|
|
|
126
123
|
text: (
|
|
127
124
|
<p
|
|
128
125
|
className={mx(
|
|
129
|
-
index % 3 === 0 ? '
|
|
126
|
+
index % 3 === 0 ? 'h-20' : index % 2 === 0 ? 'h-12' : 'h-8',
|
|
130
127
|
surfaceShadow({ elevation: 'positioned' }),
|
|
131
|
-
'
|
|
128
|
+
'mb-2 p-2 bg-white dark:bg-neutral-800 rounded-sm',
|
|
132
129
|
)}
|
|
133
130
|
>{`List item ${index + 1}`}</p>
|
|
134
131
|
),
|
|
@@ -182,9 +179,9 @@ export const Collapsible: Story = {
|
|
|
182
179
|
<ListItem.Root key={id} id={id} collapsible={index !== 2} defaultOpen={index % 2 === 0}>
|
|
183
180
|
<div role='none' className='grow flex'>
|
|
184
181
|
{index !== 2 ? <ListItem.OpenTrigger /> : <ListItem.MockOpenTrigger />}
|
|
185
|
-
<ListItem.Heading classNames='grow
|
|
182
|
+
<ListItem.Heading classNames='grow pt-2'>{text}</ListItem.Heading>
|
|
186
183
|
<ListItem.Endcap>
|
|
187
|
-
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), '
|
|
184
|
+
<Icon icon='ph--push-pin--regular' classNames={mx(getSize(5), 'mt-2.5')} />
|
|
188
185
|
</ListItem.Endcap>
|
|
189
186
|
</div>
|
|
190
187
|
{index !== 2 && <ListItem.CollapsibleContent>{body}</ListItem.CollapsibleContent>}
|
|
@@ -225,11 +222,11 @@ export const SelectableListbox: Story = {
|
|
|
225
222
|
key={id}
|
|
226
223
|
tabIndex={0}
|
|
227
224
|
selected={selectedId === id}
|
|
228
|
-
classNames={mx(ghostHover, ghostSelected
|
|
225
|
+
classNames={mx(ghostHover, ghostSelected)}
|
|
229
226
|
onClick={() => setSelectedId(id)}
|
|
230
227
|
onKeyUp={(event) => handleKeyUp(event, id)}
|
|
231
228
|
>
|
|
232
|
-
<ListItem.Heading classNames='flex
|
|
229
|
+
<ListItem.Heading classNames='flex px-1 items-center grow truncate'>{text}</ListItem.Heading>
|
|
233
230
|
</ListItem.Root>
|
|
234
231
|
))}
|
|
235
232
|
</List>
|
|
@@ -2,6 +2,7 @@
|
|
|
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
7
|
import React, { type ComponentPropsWithoutRef, type FC, type ForwardRefExoticComponent, forwardRef } from 'react';
|
|
7
8
|
|
|
@@ -23,7 +24,7 @@ import {
|
|
|
23
24
|
useListContext,
|
|
24
25
|
useListItemContext,
|
|
25
26
|
} from '@dxos/react-list';
|
|
26
|
-
import { type Density } from '@dxos/
|
|
27
|
+
import { type Density } from '@dxos/ui-types';
|
|
27
28
|
|
|
28
29
|
import { useDensityContext, useThemeContext } from '../../hooks';
|
|
29
30
|
import { type ThemedClassName } from '../../util';
|
|
@@ -40,7 +41,7 @@ const List = forwardRef<HTMLOListElement, ListProps>(({ classNames, children, ..
|
|
|
40
41
|
|
|
41
42
|
return (
|
|
42
43
|
<DensityProvider density={density}>
|
|
43
|
-
<ListPrimitive {...props} className={tx('list.root',
|
|
44
|
+
<ListPrimitive {...props} className={tx('list.root', {}, classNames)} ref={forwardedRef}>
|
|
44
45
|
{children}
|
|
45
46
|
</ListPrimitive>
|
|
46
47
|
</DensityProvider>
|
|
@@ -51,18 +52,18 @@ type ListItemEndcapProps = ThemedClassName<ComponentPropsWithoutRef<'div'>> & {
|
|
|
51
52
|
|
|
52
53
|
const ListItemEndcap = forwardRef<HTMLDivElement, ListItemEndcapProps>(
|
|
53
54
|
({ children, classNames, asChild, ...props }, forwardedRef) => {
|
|
54
|
-
const
|
|
55
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
55
56
|
const density = useDensityContext();
|
|
56
57
|
const { tx } = useThemeContext();
|
|
57
58
|
return (
|
|
58
|
-
<
|
|
59
|
+
<Comp
|
|
59
60
|
{...(!asChild && { role: 'none' })}
|
|
60
61
|
{...props}
|
|
61
|
-
className={tx('list.item.endcap',
|
|
62
|
+
className={tx('list.item.endcap', { density }, classNames)}
|
|
62
63
|
ref={forwardedRef}
|
|
63
64
|
>
|
|
64
65
|
{children}
|
|
65
|
-
</
|
|
66
|
+
</Comp>
|
|
66
67
|
);
|
|
67
68
|
},
|
|
68
69
|
);
|
|
@@ -73,13 +74,7 @@ const MockListItemOpenTrigger = ({
|
|
|
73
74
|
}: ThemedClassName<Omit<ComponentPropsWithoutRef<'div'>, 'children'>>) => {
|
|
74
75
|
const density = useDensityContext();
|
|
75
76
|
const { tx } = useThemeContext();
|
|
76
|
-
return (
|
|
77
|
-
<div
|
|
78
|
-
role='none'
|
|
79
|
-
{...props}
|
|
80
|
-
className={tx('list.item.openTrigger', 'list__listItem__openTrigger--mock', { density }, classNames)}
|
|
81
|
-
/>
|
|
82
|
-
);
|
|
77
|
+
return <div role='none' {...props} className={tx('list.item.openTrigger', { density }, classNames)} />;
|
|
83
78
|
};
|
|
84
79
|
|
|
85
80
|
type ListItemHeadingProps = ThemedClassName<ListPrimitiveItemHeadingProps>;
|
|
@@ -91,7 +86,7 @@ const ListItemHeading = forwardRef<HTMLParagraphElement, ListItemHeadingProps>(
|
|
|
91
86
|
return (
|
|
92
87
|
<ListPrimitiveItemHeading
|
|
93
88
|
{...props}
|
|
94
|
-
className={tx('list.item.heading',
|
|
89
|
+
className={tx('list.item.heading', { density }, classNames)}
|
|
95
90
|
ref={forwardedRef}
|
|
96
91
|
>
|
|
97
92
|
{children}
|
|
@@ -110,14 +105,14 @@ const ListItemOpenTrigger = forwardRef<HTMLButtonElement, ListItemOpenTriggerPro
|
|
|
110
105
|
return (
|
|
111
106
|
<ListPrimitiveItemOpenTrigger
|
|
112
107
|
{...props}
|
|
113
|
-
className={tx('list.item.openTrigger',
|
|
108
|
+
className={tx('list.item.openTrigger', { density }, classNames)}
|
|
114
109
|
ref={forwardedRef}
|
|
115
110
|
>
|
|
116
111
|
{children || (
|
|
117
112
|
<Icon
|
|
118
113
|
size={3}
|
|
119
114
|
icon={open ? 'ph--caret-down--bold' : 'ph--caret-right--bold'}
|
|
120
|
-
classNames={tx('list.item.openTriggerIcon',
|
|
115
|
+
classNames={tx('list.item.openTriggerIcon', {})}
|
|
121
116
|
/>
|
|
122
117
|
)}
|
|
123
118
|
</ListPrimitiveItemOpenTrigger>
|
|
@@ -134,7 +129,7 @@ const ListItemRoot = forwardRef<HTMLLIElement, ListItemRootProps>(
|
|
|
134
129
|
return (
|
|
135
130
|
<ListPrimitiveItem
|
|
136
131
|
{...props}
|
|
137
|
-
className={tx('list.item.root',
|
|
132
|
+
className={tx('list.item.root', { density, collapsible: props.collapsible }, classNames)}
|
|
138
133
|
ref={forwardedRef}
|
|
139
134
|
>
|
|
140
135
|
{children}
|