@dxos/react-ui 0.8.4-main.e8ec1fe → 0.8.4-main.ef1bc66f44
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-EJYV4HAH.mjs +774 -0
- package/dist/lib/browser/chunk-EJYV4HAH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3197 -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 +34 -45
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/chunk-YTLZCZ2M.mjs +776 -0
- package/dist/lib/node-esm/chunk-YTLZCZ2M.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3197 -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 +34 -45
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts +7 -0
- package/dist/types/src/components/AnchoredOverflow/AnchoredOverflow.d.ts.map +1 -1
- package/dist/types/src/components/Button/Button.d.ts +1 -1
- package/dist/types/src/components/Button/Button.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.d.ts +2 -1
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
- package/dist/types/src/components/Button/ToggleGroup.d.ts +4 -4
- package/dist/types/src/components/Button/ToggleGroup.stories.d.ts +4 -4
- 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/Dialog.d.ts +24 -9
- package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts +7 -5
- package/dist/types/src/components/Dialog/Dialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts +1 -1
- package/dist/types/src/components/ElevationProvider/ElevationProvider.d.ts.map +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts +1 -1
- package/dist/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.d.ts +5 -2
- package/dist/types/src/components/Input/Input.d.ts.map +1 -1
- package/dist/types/src/components/Input/Input.stories.d.ts +2 -2
- package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
- package/dist/types/src/components/List/List.d.ts +1 -1
- package/dist/types/src/components/List/List.d.ts.map +1 -1
- package/dist/types/src/components/List/List.stories.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.d.ts +8 -9
- package/dist/types/src/components/Main/Main.d.ts.map +1 -1
- package/dist/types/src/components/Main/Main.stories.d.ts.map +1 -1
- package/dist/types/src/components/{Menus → Menu}/ContextMenu.d.ts +6 -6
- package/dist/types/src/components/Menu/ContextMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/{Menus → Menu}/DropdownMenu.d.ts +3 -4
- package/dist/types/src/components/Menu/DropdownMenu.d.ts.map +1 -0
- package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/Menu/index.d.ts.map +1 -0
- package/dist/types/src/components/Message/Message.d.ts +1 -1
- package/dist/types/src/components/Message/Message.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts +1 -1
- package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts +1 -1
- package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts +25 -26
- package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts +46 -8
- package/dist/types/src/components/ScrollArea/ScrollArea.stories.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +4 -2
- package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts +2 -1
- package/dist/types/src/components/ScrollContainer/ScrollContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Select/Select.d.ts +9 -9
- package/dist/types/src/components/Separator/Separator.d.ts +1 -1
- package/dist/types/src/components/Skeleton/Skeleton.d.ts +12 -0
- package/dist/types/src/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts +17 -0
- package/dist/types/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -0
- package/dist/types/src/components/Skeleton/index.d.ts +2 -0
- package/dist/types/src/components/Skeleton/index.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts +26 -0
- package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts +7 -0
- package/dist/types/src/components/Splitter/Splitter.stories.d.ts.map +1 -0
- package/dist/types/src/components/Splitter/index.d.ts +2 -0
- package/dist/types/src/components/Splitter/index.d.ts.map +1 -0
- package/dist/types/src/components/Tag/Tag.d.ts +1 -1
- package/dist/types/src/components/Tag/Tag.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts +2 -2
- package/dist/types/src/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts +1 -8
- package/dist/types/src/components/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts +2 -1
- package/dist/types/src/components/ThemeProvider/index.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.d.ts +4 -4
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +13 -12
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/exemplars/generics.stories.d.ts +17 -0
- package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/slot.stories.d.ts +14 -0
- package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -0
- package/dist/types/src/exemplars/tabster.stories.d.ts +8 -0
- package/dist/types/src/exemplars/tabster.stories.d.ts.map +1 -0
- package/dist/types/src/hooks/useDensityContext.d.ts +1 -1
- package/dist/types/src/hooks/useDensityContext.d.ts.map +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts +1 -1
- package/dist/types/src/hooks/useElevationContext.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/playground/Controls.stories.d.ts.map +1 -1
- package/dist/types/src/primitives/Container/Container.d.ts +23 -0
- package/dist/types/src/primitives/Container/Container.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts +11 -0
- package/dist/types/src/primitives/Container/Container.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Layout.d.ts +18 -0
- package/dist/types/src/primitives/Container/Layout.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/Layout.stories.d.ts +10 -0
- package/dist/types/src/primitives/Container/Layout.stories.d.ts.map +1 -0
- package/dist/types/src/primitives/Container/index.d.ts +3 -0
- package/dist/types/src/primitives/Container/index.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts +8 -0
- package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -0
- package/dist/types/src/primitives/Flex/index.d.ts +2 -0
- package/dist/types/src/primitives/Flex/index.d.ts.map +1 -0
- package/dist/types/src/primitives/index.d.ts +3 -0
- package/dist/types/src/primitives/index.d.ts.map +1 -0
- package/dist/types/src/testing/decorators/withLayout.d.ts +3 -3
- package/dist/types/src/testing/decorators/withLayout.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts +1 -1
- package/dist/types/src/testing/decorators/withLayoutVariants.d.ts.map +1 -1
- package/dist/types/src/testing/decorators/withTheme.d.ts +3 -2
- package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +1 -2
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +37 -32
- package/src/components/AnchoredOverflow/AnchoredOverflow.tsx +8 -0
- package/src/components/Avatars/Avatar.stories.tsx +4 -4
- package/src/components/Avatars/Avatar.tsx +1 -1
- package/src/components/Avatars/AvatarGroup.stories.tsx +2 -2
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +2 -2
- package/src/components/Button/Button.stories.tsx +2 -2
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/Button/IconButton.stories.tsx +2 -2
- package/src/components/Button/IconButton.tsx +8 -3
- package/src/components/Button/Toggle.stories.tsx +2 -2
- package/src/components/Button/ToggleGroup.stories.tsx +2 -2
- package/src/components/Clipboard/CopyButton.tsx +3 -3
- package/src/components/DensityProvider/DensityProvider.tsx +1 -1
- package/src/components/Dialog/AlertDialog.stories.tsx +2 -2
- package/src/components/Dialog/Dialog.stories.tsx +57 -23
- package/src/components/Dialog/Dialog.tsx +181 -40
- package/src/components/ElevationProvider/ElevationProvider.tsx +1 -1
- package/src/components/Icon/Icon.stories.tsx +3 -3
- package/src/components/Icon/Icon.tsx +1 -1
- package/src/components/Input/Input.stories.tsx +12 -11
- package/src/components/Input/Input.tsx +13 -5
- package/src/components/Link/Link.stories.tsx +2 -2
- package/src/components/List/List.stories.tsx +18 -14
- package/src/components/List/List.tsx +1 -1
- package/src/components/List/Tree.stories.tsx +2 -2
- package/src/components/List/Treegrid.stories.tsx +2 -2
- package/src/components/List/Treegrid.tsx +1 -1
- package/src/components/Main/Main.stories.tsx +41 -20
- package/src/components/Main/Main.tsx +92 -45
- package/src/components/{Menus → Menu}/ContextMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/DropdownMenu.stories.tsx +2 -2
- package/src/components/{Menus → Menu}/DropdownMenu.tsx +61 -57
- package/src/components/Message/Message.stories.tsx +3 -3
- package/src/components/Message/Message.tsx +30 -5
- package/src/components/Popover/Popover.stories.tsx +2 -2
- package/src/components/Popover/Popover.tsx +35 -33
- package/src/components/ScrollArea/ScrollArea.stories.tsx +166 -40
- package/src/components/ScrollArea/ScrollArea.tsx +86 -80
- package/src/components/ScrollArea/index.ts +1 -1
- package/src/components/ScrollContainer/ScrollContainer.stories.tsx +3 -2
- package/src/components/ScrollContainer/ScrollContainer.tsx +99 -92
- package/src/components/Select/Select.stories.tsx +2 -2
- package/src/components/Skeleton/Skeleton.stories.tsx +52 -0
- package/src/components/Skeleton/Skeleton.tsx +26 -0
- package/src/components/Skeleton/index.ts +5 -0
- package/src/components/Splitter/Splitter.stories.tsx +73 -0
- package/src/components/Splitter/Splitter.tsx +123 -0
- package/src/components/Splitter/index.ts +5 -0
- package/src/components/Status/Status.stories.tsx +2 -2
- package/src/components/Tag/Tag.stories.tsx +4 -4
- package/src/components/Tag/Tag.tsx +1 -1
- package/src/components/ThemeProvider/ThemeProvider.tsx +2 -3
- package/src/components/ThemeProvider/TranslationsProvider.tsx +1 -16
- package/src/components/ThemeProvider/index.ts +3 -3
- package/src/components/Toast/Toast.stories.tsx +2 -2
- package/src/components/Toolbar/Toolbar.stories.tsx +2 -2
- package/src/components/Toolbar/Toolbar.tsx +31 -12
- package/src/components/Tooltip/Tooltip.stories.tsx +2 -2
- package/src/components/Tooltip/Tooltip.tsx +22 -20
- package/src/components/index.ts +3 -1
- package/src/exemplars/generics.stories.tsx +44 -0
- package/src/exemplars/slot.stories.tsx +108 -0
- package/src/exemplars/tabster.stories.tsx +127 -0
- package/src/hooks/useDensityContext.ts +1 -1
- package/src/hooks/useElevationContext.ts +1 -1
- package/src/index.ts +2 -1
- package/src/playground/Controls.stories.tsx +3 -4
- package/src/playground/Custom.stories.tsx +2 -2
- package/src/playground/Typography.stories.tsx +2 -2
- package/src/primitives/Container/Container.stories.tsx +67 -0
- package/src/primitives/Container/Container.tsx +82 -0
- package/src/primitives/Container/Layout.stories.tsx +57 -0
- package/src/primitives/Container/Layout.tsx +61 -0
- package/src/primitives/Container/index.ts +6 -0
- package/src/primitives/Flex/Flex.tsx +26 -0
- package/src/primitives/Flex/index.ts +5 -0
- package/src/primitives/index.ts +6 -0
- package/src/testing/decorators/withLayout.tsx +22 -15
- package/src/testing/decorators/withLayoutVariants.tsx +3 -3
- package/src/testing/decorators/withTheme.tsx +21 -18
- package/src/util/index.ts +2 -2
- package/dist/lib/browser/chunk-53MI2QCM.mjs +0 -4707
- package/dist/lib/browser/chunk-53MI2QCM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ID67AFFF.mjs +0 -4709
- package/dist/lib/node-esm/chunk-ID67AFFF.mjs.map +0 -7
- 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/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/util/ThemedClassName.ts +0 -7
- package/src/util/domino.ts +0 -53
- /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/{Menus → Menu}/ContextMenu.tsx +0 -0
- /package/src/components/{Menus → Menu}/index.ts +0 -0
|
@@ -22,8 +22,10 @@ import React, {
|
|
|
22
22
|
useState,
|
|
23
23
|
} from 'react';
|
|
24
24
|
|
|
25
|
+
import { addEventListener } from '@dxos/async';
|
|
25
26
|
import { log } from '@dxos/log';
|
|
26
27
|
import { useForwardedRef, useMediaQuery } from '@dxos/react-hooks';
|
|
28
|
+
import { type MainStyleProps } from '@dxos/ui-theme';
|
|
27
29
|
|
|
28
30
|
import { useThemeContext } from '../../hooks';
|
|
29
31
|
import { type ThemedClassName } from '../../util';
|
|
@@ -35,7 +37,14 @@ const MAIN_NAME = 'Main';
|
|
|
35
37
|
const MAIN_ROOT_NAME = 'MainRoot';
|
|
36
38
|
const NAVIGATION_SIDEBAR_NAME = 'NavigationSidebar';
|
|
37
39
|
const COMPLEMENTARY_SIDEBAR_NAME = 'ComplementarySidebar';
|
|
38
|
-
|
|
40
|
+
|
|
41
|
+
const handleOpenAutoFocus = (event: Event) => {
|
|
42
|
+
!document.body.hasAttribute('data-is-keyboard') && event.preventDefault();
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//
|
|
46
|
+
// Landmark
|
|
47
|
+
//
|
|
39
48
|
|
|
40
49
|
const landmarkAttr = 'data-main-landmark';
|
|
41
50
|
|
|
@@ -67,40 +76,54 @@ const useLandmarkMover = (propsOnKeyDown: ComponentPropsWithoutRef<'div'>['onKey
|
|
|
67
76
|
const focusableGroupAttrs = useFocusableGroup({ tabBehavior: 'limited', ignoreDefaultKeydown: { Tab: true } });
|
|
68
77
|
|
|
69
78
|
return {
|
|
70
|
-
onKeyDown: handleKeyDown,
|
|
71
79
|
[landmarkAttr]: landmark,
|
|
72
80
|
tabIndex: 0,
|
|
81
|
+
onKeyDown: handleKeyDown,
|
|
73
82
|
...focusableGroupAttrs,
|
|
74
83
|
};
|
|
75
84
|
};
|
|
76
85
|
|
|
86
|
+
//
|
|
87
|
+
// Context
|
|
88
|
+
//
|
|
89
|
+
|
|
90
|
+
// TODO(burdon): Define collapsed state.
|
|
77
91
|
type SidebarState = 'expanded' | 'collapsed' | 'closed';
|
|
78
92
|
|
|
79
93
|
type MainContextValue = {
|
|
80
94
|
resizing: boolean;
|
|
95
|
+
|
|
96
|
+
// Navigation
|
|
81
97
|
navigationSidebarState: SidebarState;
|
|
82
98
|
setNavigationSidebarState: Dispatch<SetStateAction<SidebarState | undefined>>;
|
|
99
|
+
|
|
100
|
+
// Complementary
|
|
83
101
|
complementarySidebarState: SidebarState;
|
|
84
102
|
setComplementarySidebarState: Dispatch<SetStateAction<SidebarState | undefined>>;
|
|
85
103
|
};
|
|
86
104
|
|
|
87
105
|
const [MainProvider, useMainContext] = createContext<MainContextValue>(MAIN_NAME, {
|
|
88
106
|
resizing: false,
|
|
107
|
+
|
|
89
108
|
navigationSidebarState: 'closed',
|
|
90
109
|
setNavigationSidebarState: (_nextState) => {
|
|
91
|
-
|
|
92
|
-
log.warn('Attempt to set sidebar state without initializing `MainRoot`');
|
|
110
|
+
log.warn('Not initialized');
|
|
93
111
|
},
|
|
112
|
+
|
|
94
113
|
complementarySidebarState: 'closed',
|
|
95
114
|
setComplementarySidebarState: (_nextState) => {
|
|
96
|
-
|
|
97
|
-
log.warn('Attempt to set sidebar state without initializing `MainRoot`');
|
|
115
|
+
log.warn('Not initialized');
|
|
98
116
|
},
|
|
99
117
|
});
|
|
100
118
|
|
|
101
|
-
const useSidebars = (consumerName
|
|
102
|
-
const {
|
|
103
|
-
|
|
119
|
+
const useSidebars = (consumerName: string) => {
|
|
120
|
+
const {
|
|
121
|
+
navigationSidebarState,
|
|
122
|
+
setNavigationSidebarState,
|
|
123
|
+
|
|
124
|
+
complementarySidebarState,
|
|
125
|
+
setComplementarySidebarState,
|
|
126
|
+
} = useMainContext(consumerName);
|
|
104
127
|
|
|
105
128
|
return {
|
|
106
129
|
navigationSidebarState,
|
|
@@ -112,6 +135,7 @@ const useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
|
|
|
112
135
|
openNavigationSidebar: useCallback(() => setNavigationSidebarState('expanded'), []),
|
|
113
136
|
collapseNavigationSidebar: useCallback(() => setNavigationSidebarState('collapsed'), []),
|
|
114
137
|
closeNavigationSidebar: useCallback(() => setNavigationSidebarState('closed'), []),
|
|
138
|
+
|
|
115
139
|
complementarySidebarState,
|
|
116
140
|
setComplementarySidebarState,
|
|
117
141
|
toggleComplementarySidebar: useCallback(
|
|
@@ -124,24 +148,29 @@ const useSidebars = (consumerName = GENERIC_CONSUMER_NAME) => {
|
|
|
124
148
|
};
|
|
125
149
|
};
|
|
126
150
|
|
|
151
|
+
//
|
|
152
|
+
// Root
|
|
153
|
+
//
|
|
154
|
+
|
|
127
155
|
type MainRootProps = PropsWithChildren<{
|
|
128
156
|
navigationSidebarState?: SidebarState;
|
|
129
157
|
defaultNavigationSidebarState?: SidebarState;
|
|
130
158
|
onNavigationSidebarStateChange?: (nextState: SidebarState) => void;
|
|
159
|
+
|
|
131
160
|
complementarySidebarState?: SidebarState;
|
|
132
161
|
defaultComplementarySidebarState?: SidebarState;
|
|
133
162
|
onComplementarySidebarStateChange?: (nextState: SidebarState) => void;
|
|
134
163
|
}>;
|
|
135
164
|
|
|
136
|
-
const resizeDebounce = 3000;
|
|
137
|
-
|
|
138
165
|
const MainRoot = ({
|
|
139
166
|
navigationSidebarState: propsNavigationSidebarState,
|
|
140
|
-
defaultNavigationSidebarState,
|
|
167
|
+
defaultNavigationSidebarState = 'closed',
|
|
141
168
|
onNavigationSidebarStateChange,
|
|
169
|
+
|
|
142
170
|
complementarySidebarState: propsComplementarySidebarState,
|
|
143
|
-
defaultComplementarySidebarState,
|
|
171
|
+
defaultComplementarySidebarState = 'closed',
|
|
144
172
|
onComplementarySidebarStateChange,
|
|
173
|
+
|
|
145
174
|
children,
|
|
146
175
|
...props
|
|
147
176
|
}: MainRootProps) => {
|
|
@@ -161,22 +190,21 @@ const MainRoot = ({
|
|
|
161
190
|
|
|
162
191
|
const [resizing, setResizing] = useState(false);
|
|
163
192
|
const resizeInterval = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
193
|
+
useEffect(
|
|
194
|
+
() =>
|
|
195
|
+
addEventListener(window, 'resize', () => {
|
|
196
|
+
setResizing(true);
|
|
197
|
+
if (resizeInterval.current) {
|
|
198
|
+
clearTimeout(resizeInterval.current);
|
|
199
|
+
}
|
|
164
200
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
resizeInterval.current = null;
|
|
173
|
-
}, resizeDebounce);
|
|
174
|
-
}, []);
|
|
175
|
-
|
|
176
|
-
useEffect(() => {
|
|
177
|
-
window.addEventListener('resize', handleResize);
|
|
178
|
-
return () => window.removeEventListener('resize', handleResize);
|
|
179
|
-
}, [handleResize]);
|
|
201
|
+
resizeInterval.current = setTimeout(() => {
|
|
202
|
+
setResizing(false);
|
|
203
|
+
resizeInterval.current = null;
|
|
204
|
+
}, 3_000);
|
|
205
|
+
}),
|
|
206
|
+
[],
|
|
207
|
+
);
|
|
180
208
|
|
|
181
209
|
return (
|
|
182
210
|
<MainProvider
|
|
@@ -196,9 +224,9 @@ const MainRoot = ({
|
|
|
196
224
|
|
|
197
225
|
MainRoot.displayName = MAIN_ROOT_NAME;
|
|
198
226
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
227
|
+
//
|
|
228
|
+
// Sidebar
|
|
229
|
+
//
|
|
202
230
|
|
|
203
231
|
type MainSidebarProps = ThemedClassName<ComponentPropsWithRef<typeof DialogContent>> & {
|
|
204
232
|
swipeToDismiss?: boolean;
|
|
@@ -219,9 +247,11 @@ const MainSidebar = forwardRef<HTMLDivElement, MainSidebarProps>(
|
|
|
219
247
|
const { t } = useTranslation();
|
|
220
248
|
const ref = useForwardedRef(forwardedRef);
|
|
221
249
|
const noopRef = useRef(null);
|
|
250
|
+
|
|
222
251
|
useSwipeToDismiss(swipeToDismiss ? ref : noopRef, {
|
|
223
252
|
onDismiss: () => onStateChange?.('closed'),
|
|
224
253
|
});
|
|
254
|
+
|
|
225
255
|
// NOTE(thure): This is a workaround for something further down the tree grabbing focus on Escape. Adding this
|
|
226
256
|
// intervention to `Tabs.Root` or `Tabs.Tabpenel` instances is somehow ineffectual.
|
|
227
257
|
const handleKeyDown = useCallback(
|
|
@@ -236,6 +266,7 @@ const MainSidebar = forwardRef<HTMLDivElement, MainSidebarProps>(
|
|
|
236
266
|
},
|
|
237
267
|
[props.onKeyDown],
|
|
238
268
|
);
|
|
269
|
+
|
|
239
270
|
const Root = isLg ? Primitive.div : DialogContent;
|
|
240
271
|
|
|
241
272
|
return (
|
|
@@ -243,13 +274,13 @@ const MainSidebar = forwardRef<HTMLDivElement, MainSidebarProps>(
|
|
|
243
274
|
{!isLg && <DialogTitle className='sr-only'>{toLocalizedString(label, t)}</DialogTitle>}
|
|
244
275
|
<Root
|
|
245
276
|
{...(!isLg && { forceMount: true, tabIndex: -1, onOpenAutoFocus: onOpenAutoFocus ?? handleOpenAutoFocus })}
|
|
277
|
+
{...(state === 'closed' && { inert: true })}
|
|
246
278
|
{...props}
|
|
247
279
|
data-side={side === 'inline-end' ? 'ie' : 'is'}
|
|
248
280
|
data-state={state}
|
|
249
281
|
data-resizing={resizing ? 'true' : 'false'}
|
|
250
282
|
className={tx('main.sidebar', 'main__sidebar', {}, classNames)}
|
|
251
283
|
onKeyDownCapture={handleKeyDown}
|
|
252
|
-
{...(state === 'closed' && { inert: true })}
|
|
253
284
|
ref={ref}
|
|
254
285
|
>
|
|
255
286
|
{children}
|
|
@@ -259,6 +290,10 @@ const MainSidebar = forwardRef<HTMLDivElement, MainSidebarProps>(
|
|
|
259
290
|
},
|
|
260
291
|
);
|
|
261
292
|
|
|
293
|
+
//
|
|
294
|
+
// Navigation Sidebar
|
|
295
|
+
//
|
|
296
|
+
|
|
262
297
|
type MainNavigationSidebarProps = Omit<MainSidebarProps, 'expanded' | 'side'>;
|
|
263
298
|
|
|
264
299
|
const MainNavigationSidebar = forwardRef<HTMLDivElement, MainNavigationSidebarProps>((props, forwardedRef) => {
|
|
@@ -280,6 +315,10 @@ const MainNavigationSidebar = forwardRef<HTMLDivElement, MainNavigationSidebarPr
|
|
|
280
315
|
|
|
281
316
|
MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
|
|
282
317
|
|
|
318
|
+
//
|
|
319
|
+
// Complementary Sidebar
|
|
320
|
+
//
|
|
321
|
+
|
|
283
322
|
type MainComplementarySidebarProps = Omit<MainSidebarProps, 'expanded' | 'side'>;
|
|
284
323
|
|
|
285
324
|
const MainComplementarySidebar = forwardRef<HTMLDivElement, MainComplementarySidebarProps>((props, forwardedRef) => {
|
|
@@ -300,20 +339,24 @@ const MainComplementarySidebar = forwardRef<HTMLDivElement, MainComplementarySid
|
|
|
300
339
|
);
|
|
301
340
|
});
|
|
302
341
|
|
|
303
|
-
|
|
342
|
+
MainComplementarySidebar.displayName = COMPLEMENTARY_SIDEBAR_NAME;
|
|
304
343
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
344
|
+
//
|
|
345
|
+
// Content
|
|
346
|
+
//
|
|
347
|
+
|
|
348
|
+
type MainContentProps = ThemedClassName<
|
|
349
|
+
ComponentPropsWithRef<typeof Primitive.div> &
|
|
350
|
+
MainStyleProps & {
|
|
351
|
+
asChild?: boolean;
|
|
352
|
+
}
|
|
353
|
+
>;
|
|
310
354
|
|
|
311
|
-
const MainContent = forwardRef<HTMLDivElement,
|
|
312
|
-
({ asChild, classNames, bounce, handlesFocus, children, role, ...props }:
|
|
355
|
+
const MainContent = forwardRef<HTMLDivElement, MainContentProps>(
|
|
356
|
+
({ asChild, classNames, bounce, handlesFocus, children, role, ...props }: MainContentProps, forwardedRef) => {
|
|
313
357
|
const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
|
|
314
358
|
const { tx } = useThemeContext();
|
|
315
359
|
const Root = asChild ? Slot : role ? 'div' : 'main';
|
|
316
|
-
|
|
317
360
|
const mover = useLandmarkMover(props.onKeyDown, '1');
|
|
318
361
|
|
|
319
362
|
return (
|
|
@@ -335,7 +378,7 @@ const MainContent = forwardRef<HTMLDivElement, MainProps>(
|
|
|
335
378
|
|
|
336
379
|
MainContent.displayName = MAIN_NAME;
|
|
337
380
|
|
|
338
|
-
type MainOverlayProps = ThemedClassName<Omit<ComponentPropsWithRef<typeof Primitive.div>, 'children'>>;
|
|
381
|
+
type MainOverlayProps = ThemedClassName<Omit<ComponentPropsWithRef<typeof Primitive.div>, 'children' | 'onClick'>>;
|
|
339
382
|
|
|
340
383
|
const MainOverlay = forwardRef<HTMLDivElement, MainOverlayProps>(({ classNames, ...props }, forwardedRef) => {
|
|
341
384
|
const [isLg] = useMediaQuery('lg');
|
|
@@ -344,15 +387,19 @@ const MainOverlay = forwardRef<HTMLDivElement, MainOverlayProps>(({ classNames,
|
|
|
344
387
|
const { tx } = useThemeContext();
|
|
345
388
|
return (
|
|
346
389
|
<div
|
|
390
|
+
{...props}
|
|
347
391
|
onClick={() => {
|
|
348
392
|
setNavigationSidebarState('collapsed');
|
|
349
393
|
setComplementarySidebarState('collapsed');
|
|
350
394
|
}}
|
|
351
|
-
{...props}
|
|
352
395
|
className={tx(
|
|
353
396
|
'main.overlay',
|
|
354
397
|
'main__overlay',
|
|
355
|
-
{
|
|
398
|
+
{
|
|
399
|
+
isLg,
|
|
400
|
+
inlineStartSidebarOpen: navigationSidebarState,
|
|
401
|
+
inlineEndSidebarOpen: complementarySidebarState,
|
|
402
|
+
},
|
|
356
403
|
classNames,
|
|
357
404
|
)}
|
|
358
405
|
data-state={navigationSidebarState === 'expanded' || complementarySidebarState === 'expanded' ? 'open' : 'closed'}
|
|
@@ -372,4 +419,4 @@ export const Main = {
|
|
|
372
419
|
|
|
373
420
|
export { useMainContext, useSidebars, useLandmarkMover };
|
|
374
421
|
|
|
375
|
-
export type { MainRootProps,
|
|
422
|
+
export type { MainRootProps, MainContentProps, MainOverlayProps, MainNavigationSidebarProps, SidebarState };
|
|
@@ -92,10 +92,10 @@ const DefaultStory = () => {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
const meta = {
|
|
95
|
-
title: 'ui/react-ui-core/ContextMenu',
|
|
95
|
+
title: 'ui/react-ui-core/components/ContextMenu',
|
|
96
96
|
component: ContextMenu.Root as any,
|
|
97
97
|
render: DefaultStory,
|
|
98
|
-
decorators: [withTheme],
|
|
98
|
+
decorators: [withTheme()],
|
|
99
99
|
} satisfies Meta<typeof DefaultStory>;
|
|
100
100
|
|
|
101
101
|
export default meta;
|
|
@@ -92,10 +92,10 @@ const DefaultStory = () => {
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
94
|
const meta = {
|
|
95
|
-
title: 'ui/react-ui-core/DropdownMenu',
|
|
95
|
+
title: 'ui/react-ui-core/components/DropdownMenu',
|
|
96
96
|
component: DropdownMenu.Root,
|
|
97
97
|
render: DefaultStory,
|
|
98
|
-
decorators: [withTheme],
|
|
98
|
+
decorators: [withTheme()],
|
|
99
99
|
} satisfies Meta<typeof DefaultStory>;
|
|
100
100
|
|
|
101
101
|
export default meta;
|
|
@@ -35,15 +35,15 @@ import { type ThemedClassName } from '../../util';
|
|
|
35
35
|
|
|
36
36
|
type Direction = 'ltr' | 'rtl';
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
//
|
|
39
|
+
// DropdownMenu
|
|
40
|
+
//
|
|
41
41
|
|
|
42
42
|
const DROPDOWN_MENU_NAME = 'DropdownMenu';
|
|
43
43
|
|
|
44
44
|
type ScopedProps<P> = P & { __scopeDropdownMenu?: Scope };
|
|
45
45
|
const [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(DROPDOWN_MENU_NAME, [createMenuScope]);
|
|
46
|
-
const useMenuScope = createMenuScope();
|
|
46
|
+
const useMenuScope: (scope?: Scope) => any = createMenuScope();
|
|
47
47
|
|
|
48
48
|
type DropdownMenuContextValue = {
|
|
49
49
|
triggerId: string;
|
|
@@ -97,9 +97,9 @@ const DropdownMenuRoot: FC<DropdownMenuRootProps> = (props: ScopedProps<Dropdown
|
|
|
97
97
|
|
|
98
98
|
DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
//
|
|
101
|
+
// DropdownMenuTrigger
|
|
102
|
+
//
|
|
103
103
|
|
|
104
104
|
const TRIGGER_NAME = 'DropdownMenuTrigger';
|
|
105
105
|
|
|
@@ -162,9 +162,9 @@ const DropdownMenuTrigger = forwardRef<DropdownMenuTriggerElement, DropdownMenuT
|
|
|
162
162
|
|
|
163
163
|
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
165
|
+
//
|
|
166
|
+
// DropdownMenuVirtualTrigger
|
|
167
|
+
//
|
|
168
168
|
|
|
169
169
|
const VIRTUAL_TRIGGER_NAME = 'DropdownMenuVirtualTrigger';
|
|
170
170
|
|
|
@@ -186,9 +186,9 @@ const DropdownMenuVirtualTrigger = (props: ScopedProps<DropdownMenuVirtualTrigge
|
|
|
186
186
|
|
|
187
187
|
DropdownMenuVirtualTrigger.displayName = VIRTUAL_TRIGGER_NAME;
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
//
|
|
190
|
+
// DropdownMenuPortal
|
|
191
|
+
//
|
|
192
192
|
|
|
193
193
|
const PORTAL_NAME = 'DropdownMenuPortal';
|
|
194
194
|
|
|
@@ -203,9 +203,9 @@ const DropdownMenuPortal: FC<DropdownMenuPortalProps> = (props: ScopedProps<Drop
|
|
|
203
203
|
|
|
204
204
|
DropdownMenuPortal.displayName = PORTAL_NAME;
|
|
205
205
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
//
|
|
207
|
+
// DropdownMenuViewport
|
|
208
|
+
//
|
|
209
209
|
|
|
210
210
|
type DropdownMenuViewportProps = ThemedClassName<ComponentPropsWithRef<typeof Primitive.div>> & {
|
|
211
211
|
asChild?: boolean;
|
|
@@ -223,9 +223,9 @@ const DropdownMenuViewport = forwardRef<HTMLDivElement, DropdownMenuViewportProp
|
|
|
223
223
|
},
|
|
224
224
|
);
|
|
225
225
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
226
|
+
//
|
|
227
|
+
// DropdownMenuContent
|
|
228
|
+
//
|
|
229
229
|
|
|
230
230
|
const CONTENT_NAME = 'DropdownMenuContent';
|
|
231
231
|
|
|
@@ -302,9 +302,9 @@ const DropdownMenuContent = forwardRef<DropdownMenuContentElement, DropdownMenuC
|
|
|
302
302
|
|
|
303
303
|
DropdownMenuContent.displayName = CONTENT_NAME;
|
|
304
304
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
305
|
+
//
|
|
306
|
+
// DropdownMenuGroup
|
|
307
|
+
//
|
|
308
308
|
|
|
309
309
|
const GROUP_NAME = 'DropdownMenuGroup';
|
|
310
310
|
|
|
@@ -322,9 +322,9 @@ const DropdownMenuGroup = forwardRef<DropdownMenuGroupElement, DropdownMenuGroup
|
|
|
322
322
|
|
|
323
323
|
DropdownMenuGroup.displayName = GROUP_NAME;
|
|
324
324
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
325
|
+
//
|
|
326
|
+
// DropdownMenuLabel
|
|
327
|
+
//
|
|
328
328
|
|
|
329
329
|
const LABEL_NAME = 'DropdownMenuLabel';
|
|
330
330
|
|
|
@@ -350,9 +350,9 @@ const DropdownMenuGroupLabel = forwardRef<DropdownMenuLabelElement, DropdownMenu
|
|
|
350
350
|
|
|
351
351
|
DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
352
352
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
353
|
+
//
|
|
354
|
+
// DropdownMenuItem
|
|
355
|
+
//
|
|
356
356
|
|
|
357
357
|
const ITEM_NAME = 'DropdownMenuItem';
|
|
358
358
|
|
|
@@ -378,9 +378,9 @@ const DropdownMenuItem = forwardRef<DropdownMenuItemElement, DropdownMenuItemPro
|
|
|
378
378
|
|
|
379
379
|
DropdownMenuItem.displayName = ITEM_NAME;
|
|
380
380
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
381
|
+
//
|
|
382
|
+
// DropdownMenuCheckboxItem
|
|
383
|
+
//
|
|
384
384
|
|
|
385
385
|
const CHECKBOX_ITEM_NAME = 'DropdownMenuCheckboxItem';
|
|
386
386
|
|
|
@@ -406,9 +406,9 @@ const DropdownMenuCheckboxItem = forwardRef<DropdownMenuCheckboxItemElement, Dro
|
|
|
406
406
|
|
|
407
407
|
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
408
408
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
409
|
+
//
|
|
410
|
+
// DropdownMenuRadioGroup
|
|
411
|
+
//
|
|
412
412
|
|
|
413
413
|
const RADIO_GROUP_NAME = 'DropdownMenuRadioGroup';
|
|
414
414
|
|
|
@@ -426,9 +426,9 @@ const DropdownMenuRadioGroup = forwardRef<DropdownMenuRadioGroupElement, Dropdow
|
|
|
426
426
|
|
|
427
427
|
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
428
428
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
429
|
+
//
|
|
430
|
+
// DropdownMenuRadioItem
|
|
431
|
+
//
|
|
432
432
|
|
|
433
433
|
const RADIO_ITEM_NAME = 'DropdownMenuRadioItem';
|
|
434
434
|
|
|
@@ -454,9 +454,9 @@ const DropdownMenuRadioItem = forwardRef<DropdownMenuRadioItemElement, DropdownM
|
|
|
454
454
|
|
|
455
455
|
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
456
456
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
457
|
+
//
|
|
458
|
+
// DropdownMenuItemIndicator
|
|
459
|
+
//
|
|
460
460
|
|
|
461
461
|
const INDICATOR_NAME = 'DropdownMenuItemIndicator';
|
|
462
462
|
|
|
@@ -474,9 +474,9 @@ const DropdownMenuItemIndicator = forwardRef<DropdownMenuItemIndicatorElement, D
|
|
|
474
474
|
|
|
475
475
|
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
476
476
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
477
|
+
//
|
|
478
|
+
// DropdownMenuSeparator
|
|
479
|
+
//
|
|
480
480
|
|
|
481
481
|
const SEPARATOR_NAME = 'DropdownMenuSeparator';
|
|
482
482
|
|
|
@@ -502,9 +502,9 @@ const DropdownMenuSeparator = forwardRef<DropdownMenuSeparatorElement, DropdownM
|
|
|
502
502
|
|
|
503
503
|
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
504
504
|
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
505
|
+
//
|
|
506
|
+
// DropdownMenuArrow
|
|
507
|
+
//
|
|
508
508
|
|
|
509
509
|
const ARROW_NAME = 'DropdownMenuArrow';
|
|
510
510
|
|
|
@@ -530,9 +530,9 @@ const DropdownMenuArrow = forwardRef<DropdownMenuArrowElement, DropdownMenuArrow
|
|
|
530
530
|
|
|
531
531
|
DropdownMenuArrow.displayName = ARROW_NAME;
|
|
532
532
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
533
|
+
//
|
|
534
|
+
// DropdownMenuSub
|
|
535
|
+
//
|
|
536
536
|
|
|
537
537
|
interface DropdownMenuSubProps {
|
|
538
538
|
children?: ReactNode;
|
|
@@ -557,9 +557,9 @@ const DropdownMenuSub: FC<DropdownMenuSubProps> = (props: ScopedProps<DropdownMe
|
|
|
557
557
|
);
|
|
558
558
|
};
|
|
559
559
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
560
|
+
//
|
|
561
|
+
// DropdownMenuSubTrigger
|
|
562
|
+
//
|
|
563
563
|
|
|
564
564
|
const SUB_TRIGGER_NAME = 'DropdownMenuSubTrigger';
|
|
565
565
|
|
|
@@ -577,9 +577,9 @@ const DropdownMenuSubTrigger = forwardRef<DropdownMenuSubTriggerElement, Dropdow
|
|
|
577
577
|
|
|
578
578
|
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
579
579
|
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
580
|
+
//
|
|
581
|
+
// DropdownMenuSubContent
|
|
582
|
+
//
|
|
583
583
|
|
|
584
584
|
const SUB_CONTENT_NAME = 'DropdownMenuSubContent';
|
|
585
585
|
|
|
@@ -615,7 +615,9 @@ const DropdownMenuSubContent = forwardRef<DropdownMenuSubContentElement, Dropdow
|
|
|
615
615
|
|
|
616
616
|
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
617
617
|
|
|
618
|
-
|
|
618
|
+
//
|
|
619
|
+
// DropdownMenu
|
|
620
|
+
//
|
|
619
621
|
|
|
620
622
|
export const DropdownMenu = {
|
|
621
623
|
Root: DropdownMenuRoot,
|
|
@@ -638,7 +640,9 @@ export const DropdownMenu = {
|
|
|
638
640
|
SubContent: DropdownMenuSubContent,
|
|
639
641
|
};
|
|
640
642
|
|
|
641
|
-
|
|
643
|
+
type DropdownMenuScope = Scope;
|
|
644
|
+
|
|
645
|
+
const useDropdownMenuMenuScope: (scope?: DropdownMenuScope) => any = useMenuScope;
|
|
642
646
|
|
|
643
647
|
export { createDropdownMenuScope, useDropdownMenuContext, useDropdownMenuMenuScope };
|
|
644
648
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import { type MessageValence } from '@dxos/
|
|
8
|
+
import { type MessageValence } from '@dxos/ui-types';
|
|
9
9
|
|
|
10
10
|
import { withTheme } from '../../testing';
|
|
11
11
|
|
|
@@ -25,10 +25,10 @@ const DefaultStory = ({ valence, title, body }: StoryProps) => (
|
|
|
25
25
|
);
|
|
26
26
|
|
|
27
27
|
const meta = {
|
|
28
|
-
title: 'ui/react-ui-core/Callout',
|
|
28
|
+
title: 'ui/react-ui-core/components/Callout',
|
|
29
29
|
component: Callout.Root as any,
|
|
30
30
|
render: DefaultStory,
|
|
31
|
-
decorators: [withTheme],
|
|
31
|
+
decorators: [withTheme()],
|
|
32
32
|
parameters: { chromatic: { disableSnapshot: false } },
|
|
33
33
|
argTypes: {
|
|
34
34
|
valence: {
|