@dxos/react-ui-stack 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8
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/index.mjs +92 -279
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +92 -279
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/Stack/Stack.d.ts +4 -4
- package/dist/types/src/components/Stack/Stack.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/MenuSignifier.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItem.d.ts +2 -2
- package/dist/types/src/components/StackItem/StackItemContent.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItemDragHandle.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItemHeading.d.ts +1 -1
- package/dist/types/src/components/StackItem/StackItemHeading.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItemResizeHandle.d.ts +1 -1
- package/dist/types/src/components/StackItem/StackItemResizeHandle.d.ts.map +1 -1
- package/dist/types/src/components/StackItem/StackItemSigil.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -25
- package/src/components/Stack/Stack.stories.tsx +1 -1
- package/src/components/Stack/Stack.tsx +8 -8
- package/src/components/StackItem/MenuSignifier.tsx +2 -9
- package/src/components/StackItem/StackItem.stories.tsx +4 -4
- package/src/components/StackItem/StackItem.tsx +1 -1
- package/src/components/StackItem/StackItemContent.tsx +11 -9
- package/src/components/StackItem/StackItemDragHandle.tsx +4 -3
- package/src/components/StackItem/StackItemHeading.tsx +13 -12
- package/src/components/StackItem/StackItemResizeHandle.tsx +1 -1
- package/src/components/StackItem/StackItemSigil.tsx +6 -3
- package/src/components/index.ts +1 -1
- package/src/playwright/playwright.config.ts +1 -1
- package/dist/types/src/components/CardStack/CardStack.d.ts +0 -47
- package/dist/types/src/components/CardStack/CardStack.d.ts.map +0 -1
- package/dist/types/src/components/CardStack/CardStack.stories.d.ts +0 -15
- package/dist/types/src/components/CardStack/CardStack.stories.d.ts.map +0 -1
- package/dist/types/src/components/CardStack/CardStackDragPreview.d.ts +0 -9
- package/dist/types/src/components/CardStack/CardStackDragPreview.d.ts.map +0 -1
- package/dist/types/src/components/CardStack/index.d.ts +0 -3
- package/dist/types/src/components/CardStack/index.d.ts.map +0 -1
- package/dist/types/src/components/deprecated/LayoutControls.d.ts +0 -22
- package/dist/types/src/components/deprecated/LayoutControls.d.ts.map +0 -1
- package/src/components/CardStack/CardStack.stories.tsx +0 -173
- package/src/components/CardStack/CardStack.tsx +0 -196
- package/src/components/CardStack/CardStackDragPreview.tsx +0 -61
- package/src/components/CardStack/index.ts +0 -6
- package/src/components/deprecated/LayoutControls.tsx +0 -112
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-stack",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.c351d160a8",
|
|
4
4
|
"description": "A stack component.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -53,40 +53,40 @@
|
|
|
53
53
|
"@radix-ui/react-slot": "1.1.2",
|
|
54
54
|
"@radix-ui/react-use-controllable-state": "1.1.0",
|
|
55
55
|
"react-resize-detector": "^11.0.1",
|
|
56
|
-
"@dxos/keyboard": "0.8.4-main.
|
|
57
|
-
"@dxos/echo": "0.8.4-main.
|
|
58
|
-
"@dxos/react-ui-attention": "0.8.4-main.
|
|
59
|
-
"@dxos/react-ui-dnd": "0.8.4-main.
|
|
60
|
-
"@dxos/react-ui-mosaic": "0.8.4-main.
|
|
61
|
-
"@dxos/util": "0.8.4-main.
|
|
56
|
+
"@dxos/keyboard": "0.8.4-main.c351d160a8",
|
|
57
|
+
"@dxos/echo": "0.8.4-main.c351d160a8",
|
|
58
|
+
"@dxos/react-ui-attention": "0.8.4-main.c351d160a8",
|
|
59
|
+
"@dxos/react-ui-dnd": "0.8.4-main.c351d160a8",
|
|
60
|
+
"@dxos/react-ui-mosaic": "0.8.4-main.c351d160a8",
|
|
61
|
+
"@dxos/util": "0.8.4-main.c351d160a8"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@types/react": "~19.2.7",
|
|
65
65
|
"@types/react-dom": "~19.2.3",
|
|
66
66
|
"react": "~19.2.3",
|
|
67
67
|
"react-dom": "~19.2.3",
|
|
68
|
-
"vite": "7.1.
|
|
69
|
-
"@dxos/app-
|
|
70
|
-
"@dxos/app-
|
|
71
|
-
"@dxos/client": "0.8.4-main.
|
|
72
|
-
"@dxos/echo": "0.8.4-main.
|
|
73
|
-
"@dxos/echo
|
|
74
|
-
"@dxos/random": "0.8.4-main.
|
|
75
|
-
"@dxos/react-
|
|
76
|
-
"@dxos/
|
|
77
|
-
"@dxos/
|
|
78
|
-
"@dxos/
|
|
79
|
-
"@dxos/
|
|
80
|
-
"@dxos/
|
|
81
|
-
"@dxos/
|
|
68
|
+
"vite": "^7.1.11",
|
|
69
|
+
"@dxos/app-graph": "0.8.4-main.c351d160a8",
|
|
70
|
+
"@dxos/app-framework": "0.8.4-main.c351d160a8",
|
|
71
|
+
"@dxos/client": "0.8.4-main.c351d160a8",
|
|
72
|
+
"@dxos/echo-db": "0.8.4-main.c351d160a8",
|
|
73
|
+
"@dxos/echo": "0.8.4-main.c351d160a8",
|
|
74
|
+
"@dxos/random": "0.8.4-main.c351d160a8",
|
|
75
|
+
"@dxos/react-client": "0.8.4-main.c351d160a8",
|
|
76
|
+
"@dxos/react-ui": "0.8.4-main.c351d160a8",
|
|
77
|
+
"@dxos/schema": "0.8.4-main.c351d160a8",
|
|
78
|
+
"@dxos/storybook-utils": "0.8.4-main.c351d160a8",
|
|
79
|
+
"@dxos/test-utils": "0.8.4-main.c351d160a8",
|
|
80
|
+
"@dxos/types": "0.8.4-main.c351d160a8",
|
|
81
|
+
"@dxos/ui-theme": "0.8.4-main.c351d160a8"
|
|
82
82
|
},
|
|
83
83
|
"peerDependencies": {
|
|
84
84
|
"react": "~19.2.3",
|
|
85
85
|
"react-dom": "~19.2.3",
|
|
86
|
-
"@dxos/
|
|
87
|
-
"@dxos/
|
|
88
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
89
|
-
"@dxos/
|
|
86
|
+
"@dxos/client": "0.8.4-main.c351d160a8",
|
|
87
|
+
"@dxos/ui-theme": "0.8.4-main.c351d160a8",
|
|
88
|
+
"@dxos/react-ui": "0.8.4-main.c351d160a8",
|
|
89
|
+
"@dxos/random": "0.8.4-main.c351d160a8"
|
|
90
90
|
},
|
|
91
91
|
"publishConfig": {
|
|
92
92
|
"access": "public"
|
|
@@ -132,7 +132,7 @@ const meta = {
|
|
|
132
132
|
title: 'ui/react-ui-stack/Stack',
|
|
133
133
|
component: DefaultStory,
|
|
134
134
|
argTypes: { orientation: { control: 'radio', options: ['horizontal', 'vertical'] } },
|
|
135
|
-
decorators: [withTheme],
|
|
135
|
+
decorators: [withTheme()],
|
|
136
136
|
} satisfies Meta<typeof DefaultStory>;
|
|
137
137
|
|
|
138
138
|
export default meta;
|
|
@@ -34,14 +34,14 @@ export type Orientation = 'horizontal' | 'vertical';
|
|
|
34
34
|
*/
|
|
35
35
|
export type Size = 'intrinsic' | 'contain' | 'split';
|
|
36
36
|
|
|
37
|
-
export const railGridHorizontal = 'grid-rows-[[rail-start]_var(--rail-size)_[content-start]_1fr_[content-end]]';
|
|
38
|
-
export const railGridVertical = 'grid-cols-[[rail-start]_var(--rail-size)_[content-start]_1fr_[content-end]]';
|
|
37
|
+
export const railGridHorizontal = 'grid-rows-[[rail-start]_var(--dx-rail-size)_[content-start]_1fr_[content-end]]';
|
|
38
|
+
export const railGridVertical = 'grid-cols-[[rail-start]_var(--dx-rail-size)_[content-start]_1fr_[content-end]]';
|
|
39
39
|
|
|
40
40
|
// TODO(ZaymonFC): Magic 2px to stop overflow.
|
|
41
41
|
export const railGridHorizontalContainFitContent =
|
|
42
|
-
'grid-rows-[[rail-start]_var(--rail-size)_[content-start]_fit-content(calc(100%-var(--rail-size)*2+2px))_[content-end]]';
|
|
42
|
+
'grid-rows-[[rail-start]_var(--dx-rail-size)_[content-start]_fit-content(calc(100%-var(--dx-rail-size)*2+2px))_[content-end]]';
|
|
43
43
|
export const railGridVerticalContainFitContent =
|
|
44
|
-
'grid-cols-[[rail-start]_var(--rail-size)_[content-start]_fit-content(calc(100%-var(--rail-size)*2+2px))_[content-end]]';
|
|
44
|
+
'grid-cols-[[rail-start]_var(--dx-rail-size)_[content-start]_fit-content(calc(100%-var(--dx-rail-size)*2+2px))_[content-end]]';
|
|
45
45
|
|
|
46
46
|
export const autoScrollRootAttributes = { 'data-drag-autoscroll': 'idle' };
|
|
47
47
|
|
|
@@ -293,7 +293,7 @@ export const Stack = forwardRef<HTMLDivElement, StackProps>(
|
|
|
293
293
|
|
|
294
294
|
const gridClasses = useMemo(() => {
|
|
295
295
|
if (!rail) {
|
|
296
|
-
return orientation === 'horizontal' ? 'grid-rows-1
|
|
296
|
+
return orientation === 'horizontal' ? 'grid-rows-1 px-(--stack-gap)' : 'grid-cols-1 py-(--stack-gap)';
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
if (orientation === 'horizontal') {
|
|
@@ -324,12 +324,12 @@ export const Stack = forwardRef<HTMLDivElement, StackProps>(
|
|
|
324
324
|
<div
|
|
325
325
|
{...props}
|
|
326
326
|
className={mx(
|
|
327
|
-
'grid relative [--stack-gap:var(--
|
|
327
|
+
'grid relative [--stack-gap:var(--spacing-trim-xs)]',
|
|
328
328
|
gridClasses,
|
|
329
329
|
size === 'contain' &&
|
|
330
330
|
(orientation === 'horizontal'
|
|
331
|
-
? 'overflow-x-auto overscroll-x-contain min-
|
|
332
|
-
: 'overflow-y-auto min-
|
|
331
|
+
? 'overflow-x-auto overscroll-x-contain min-h-0 max-h-full h-full'
|
|
332
|
+
: 'overflow-y-auto min-w-0 max-w-full w-full'),
|
|
333
333
|
classNames,
|
|
334
334
|
)}
|
|
335
335
|
onKeyDown={handleKeyDown}
|
|
@@ -5,14 +5,7 @@
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
|
|
7
7
|
export const MenuSignifierHorizontal = () => (
|
|
8
|
-
<svg
|
|
9
|
-
className='absolute block-end-[7px]'
|
|
10
|
-
width={20}
|
|
11
|
-
height={2}
|
|
12
|
-
viewBox='0 0 20 2'
|
|
13
|
-
stroke='currentColor'
|
|
14
|
-
opacity={0.5}
|
|
15
|
-
>
|
|
8
|
+
<svg className='absolute bottom-[7px]' width={20} height={2} viewBox='0 0 20 2' stroke='currentColor' opacity={0.5}>
|
|
16
9
|
<line
|
|
17
10
|
x1={0.5}
|
|
18
11
|
y1={0.75}
|
|
@@ -27,7 +20,7 @@ export const MenuSignifierHorizontal = () => (
|
|
|
27
20
|
);
|
|
28
21
|
|
|
29
22
|
export const MenuSignifierVertical = () => (
|
|
30
|
-
<svg className='absolute
|
|
23
|
+
<svg className='absolute left-1' width={2} height={18} viewBox='0 0 2 18' stroke='currentColor'>
|
|
31
24
|
<line x1={1} y1={3} x2={1} y2={18} strokeWidth={1.5} strokeLinecap='round' strokeDasharray='0 6' />
|
|
32
25
|
</svg>
|
|
33
26
|
);
|
|
@@ -12,10 +12,10 @@ import { StackItem, type StackItemRootProps } from './StackItem';
|
|
|
12
12
|
|
|
13
13
|
const DefaultStory = (props: StackItemRootProps) => {
|
|
14
14
|
return (
|
|
15
|
-
<StackItem.Root role='section' {...props} classNames='
|
|
16
|
-
<StackItem.Heading classNames='
|
|
15
|
+
<StackItem.Root role='section' {...props} classNames='w-[20rem] border border-separator'>
|
|
16
|
+
<StackItem.Heading classNames='w-full border-b border-separator'>
|
|
17
17
|
<span className='sr-only'>Title</span>
|
|
18
|
-
<div role='none' className='sticky -
|
|
18
|
+
<div role='none' className='sticky -top-px bg-(--sticky-bg) p-1 w-full'>
|
|
19
19
|
<DropdownMenu.Root>
|
|
20
20
|
<DropdownMenu.Trigger asChild>
|
|
21
21
|
<StackItem.SigilButton>
|
|
@@ -36,7 +36,7 @@ const meta = {
|
|
|
36
36
|
title: 'ui/react-ui-stack/StackItem',
|
|
37
37
|
component: StackItem.Root as any,
|
|
38
38
|
render: DefaultStory,
|
|
39
|
-
decorators: [withTheme],
|
|
39
|
+
decorators: [withTheme()],
|
|
40
40
|
parameters: {
|
|
41
41
|
layout: 'centered',
|
|
42
42
|
},
|
|
@@ -247,7 +247,7 @@ const StackItemRoot = forwardRef<HTMLDivElement, StackItemRootProps>(
|
|
|
247
247
|
: 'dx-focus-ring-group-y',
|
|
248
248
|
orientation === 'horizontal' ? 'grid-rows-subgrid' : 'grid-cols-subgrid',
|
|
249
249
|
rail && (orientation === 'horizontal' ? 'row-span-2' : 'col-span-2'),
|
|
250
|
-
role === 'section' && orientation !== 'horizontal' && 'border-
|
|
250
|
+
role === 'section' && orientation !== 'horizontal' && 'border-b border-subdued-separator',
|
|
251
251
|
classNames,
|
|
252
252
|
)}
|
|
253
253
|
data-dx-stack-item={stackId}
|
|
@@ -24,10 +24,12 @@ export const StackItemContent = forwardRef<HTMLDivElement, StackItemContentProps
|
|
|
24
24
|
const style = useMemo(
|
|
25
25
|
() => ({
|
|
26
26
|
gridTemplateRows: [
|
|
27
|
-
|
|
27
|
+
toolbar && role === 'section' ? 'calc(var(--dx-toolbar-size) - 1px)' : 'var(--dx-toolbar-size)',
|
|
28
28
|
'1fr',
|
|
29
|
-
|
|
30
|
-
]
|
|
29
|
+
statusbar && 'var(--dx-statusbar-size)',
|
|
30
|
+
]
|
|
31
|
+
.filter(Boolean)
|
|
32
|
+
.join(' '),
|
|
31
33
|
}),
|
|
32
34
|
[toolbar, statusbar],
|
|
33
35
|
);
|
|
@@ -38,12 +40,12 @@ export const StackItemContent = forwardRef<HTMLDivElement, StackItemContentProps
|
|
|
38
40
|
role='none'
|
|
39
41
|
style={style}
|
|
40
42
|
className={mx(
|
|
41
|
-
'group grid grid-cols-[100%] density-coarse',
|
|
42
|
-
stackItemSize === 'contain' && 'min-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
'[&_.dx-toolbar]:sticky [&_.dx-toolbar]:z-[1] [&_.dx-toolbar]:
|
|
46
|
-
toolbar && '[&>.dx-toolbar]:relative [&>.dx-toolbar]:border-
|
|
43
|
+
'group grid grid-cols-[100%] dx-density-coarse',
|
|
44
|
+
stackItemSize === 'contain' && 'min-h-0 overflow-hidden',
|
|
45
|
+
toolbar &&
|
|
46
|
+
role === 'section' &&
|
|
47
|
+
'[&_.dx-toolbar]:sticky [&_.dx-toolbar]:z-[1] [&_.dx-toolbar]:top-0 [&_.dx-toolbar]:-mb-px [&_.dx-toolbar]:min-w-0',
|
|
48
|
+
toolbar && '[&>.dx-toolbar]:relative [&>.dx-toolbar]:border-b [&>.dx-toolbar]:border-subdued-separator',
|
|
47
49
|
classNames,
|
|
48
50
|
)}
|
|
49
51
|
data-popover-collision-boundary={true}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2024 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 } from 'react';
|
|
7
8
|
|
|
@@ -12,11 +13,11 @@ export type StackItemDragHandleProps = ComponentPropsWithoutRef<'button'> & { as
|
|
|
12
13
|
export const StackItemDragHandle = ({ asChild, children }: StackItemDragHandleProps) => {
|
|
13
14
|
const { selfDragHandleRef } = useStackItem();
|
|
14
15
|
|
|
15
|
-
const
|
|
16
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
16
17
|
|
|
17
18
|
return (
|
|
18
|
-
<
|
|
19
|
+
<Comp ref={selfDragHandleRef} role='button'>
|
|
19
20
|
{children}
|
|
20
|
-
</
|
|
21
|
+
</Comp>
|
|
21
22
|
);
|
|
22
23
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Copyright 2024 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, {
|
|
7
8
|
type ComponentPropsWithRef,
|
|
@@ -26,34 +27,34 @@ export const StackItemHeading = ({
|
|
|
26
27
|
classNames,
|
|
27
28
|
asChild,
|
|
28
29
|
separateOnScroll,
|
|
30
|
+
role,
|
|
29
31
|
...props
|
|
30
32
|
}: StackItemHeadingProps) => {
|
|
31
33
|
const { orientation } = useStack();
|
|
32
|
-
|
|
33
|
-
const Root = asChild ? Slot : 'div';
|
|
34
|
+
const Comp = asChild ? Slot : Primitive.div;
|
|
34
35
|
|
|
35
36
|
return (
|
|
36
|
-
<
|
|
37
|
-
role='heading'
|
|
37
|
+
<Comp
|
|
38
38
|
{...props}
|
|
39
|
+
role={role ?? 'heading'}
|
|
39
40
|
className={mx(
|
|
40
|
-
'flex items-center
|
|
41
|
+
'flex items-center border-x-0! bg-header-surface',
|
|
41
42
|
separateOnScroll
|
|
42
|
-
? 'border-transparent [[data-scroll-separator="true"]_&]:border-
|
|
43
|
-
: 'border-
|
|
44
|
-
orientation === 'horizontal' ? '
|
|
45
|
-
orientation === 'horizontal' ? 'border-
|
|
43
|
+
? 'border-transparent [[data-scroll-separator="true"]_&]:border-subdued-separator'
|
|
44
|
+
: 'border-subdued-separator',
|
|
45
|
+
orientation === 'horizontal' ? 'h-(--dx-rail-size)' : 'w-(--dx-rail-size) flex-col',
|
|
46
|
+
orientation === 'horizontal' ? 'border-b' : 'border-e',
|
|
46
47
|
classNames,
|
|
47
48
|
)}
|
|
48
49
|
>
|
|
49
50
|
{children}
|
|
50
|
-
</
|
|
51
|
+
</Comp>
|
|
51
52
|
);
|
|
52
53
|
};
|
|
53
54
|
|
|
54
55
|
export const StackItemHeadingStickyContent = ({ children }: PropsWithChildren<{}>) => {
|
|
55
56
|
return (
|
|
56
|
-
<div role='none' className='sticky
|
|
57
|
+
<div role='none' className='sticky top-0 bg-(--sticky-bg) p-1 w-full'>
|
|
57
58
|
{children}
|
|
58
59
|
</div>
|
|
59
60
|
);
|
|
@@ -70,7 +71,7 @@ export const StackItemHeadingLabel = forwardRef<HTMLHeadingElement, StackItemHea
|
|
|
70
71
|
{...props}
|
|
71
72
|
data-attention={((related && isRelated) || hasAttention || isAncestor).toString()}
|
|
72
73
|
className={mx(
|
|
73
|
-
'
|
|
74
|
+
'px-1 min-w-0 w-0 grow truncate font-medium text-base-surface-text data-[attention=true]:text-accent-text self-center',
|
|
74
75
|
classNames,
|
|
75
76
|
)}
|
|
76
77
|
ref={forwardedRef}
|
|
@@ -15,7 +15,7 @@ const MIN_HEIGHT = 3;
|
|
|
15
15
|
|
|
16
16
|
export type StackItemResizeHandleProps = {};
|
|
17
17
|
|
|
18
|
-
export const StackItemResizeHandle = () => {
|
|
18
|
+
export const StackItemResizeHandle = (_: StackItemResizeHandleProps) => {
|
|
19
19
|
const { orientation } = useStack();
|
|
20
20
|
const { setSize, size } = useStackItem();
|
|
21
21
|
|
|
@@ -8,7 +8,7 @@ import { type Node } from '@dxos/app-graph';
|
|
|
8
8
|
import { keySymbols } from '@dxos/keyboard';
|
|
9
9
|
import { Button, type ButtonProps, DropdownMenu, Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';
|
|
10
10
|
import { type AttendableId, type Related, useAttention } from '@dxos/react-ui-attention';
|
|
11
|
-
import {
|
|
11
|
+
import { mx } from '@dxos/ui-theme';
|
|
12
12
|
import { getHostPlatform } from '@dxos/util';
|
|
13
13
|
|
|
14
14
|
import { translationKey } from '../../translations';
|
|
@@ -40,7 +40,10 @@ export const StackItemSigilButton = forwardRef<HTMLButtonElement, StackItemSigil
|
|
|
40
40
|
<Button
|
|
41
41
|
{...props}
|
|
42
42
|
variant={variant}
|
|
43
|
-
classNames={[
|
|
43
|
+
classNames={[
|
|
44
|
+
'shrink-0 px-0 min-h-0 w-(--dx-rail-action) h-(--dx-rail-action) relative dx-app-no-drag',
|
|
45
|
+
classNames,
|
|
46
|
+
]}
|
|
44
47
|
ref={forwardedRef}
|
|
45
48
|
>
|
|
46
49
|
{isMenu && <MenuSignifierHorizontal />}
|
|
@@ -133,7 +136,7 @@ export const StackItemSigil = forwardRef<HTMLButtonElement, StackItemSigilProps>
|
|
|
133
136
|
</DropdownMenu.ItemIndicator>
|
|
134
137
|
)}
|
|
135
138
|
{shortcut && (
|
|
136
|
-
<span className={mx('shrink-0',
|
|
139
|
+
<span className={mx('shrink-0', 'text-description')}>{keySymbols(shortcut).join('')}</span>
|
|
137
140
|
)}
|
|
138
141
|
</Root>
|
|
139
142
|
);
|
package/src/components/index.ts
CHANGED
|
@@ -10,7 +10,7 @@ export default defineConfig({
|
|
|
10
10
|
...e2ePreset(import.meta.dirname),
|
|
11
11
|
// TODO(wittjosiah): Avoid hard-coding ports.
|
|
12
12
|
webServer: {
|
|
13
|
-
command: '
|
|
13
|
+
command: 'pnpm storybook dev --ci --quiet --port=9003 --config-dir=.storybook',
|
|
14
14
|
port: 9003,
|
|
15
15
|
reuseExistingServer: false,
|
|
16
16
|
},
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type StackProps } from '../Stack';
|
|
3
|
-
/**
|
|
4
|
-
* This is `cardDefaultInlineSize` plus 2 times the sum of the inner and outer spacing applied by CardStack on the inline axis.
|
|
5
|
-
*/
|
|
6
|
-
declare const cardStackDefaultInlineSizeRem: number;
|
|
7
|
-
declare const cardStackRoot = "flex flex-col";
|
|
8
|
-
declare const cardStackContent = "shrink min-bs-0 grid dx-focus-ring-group-x-indicator bg-baseSurface";
|
|
9
|
-
declare const cardStackItem = "contain-layout pli-2 plb-1 first-of-type:pbs-0 last-of-type:pbe-0";
|
|
10
|
-
declare const cardStackHeading = "mli-2 order-first bg-transparent rounded-bs-md flex items-center";
|
|
11
|
-
declare const cardStackFooter = "plb-2 mli-2 border-bs border-transparent [[data-scroll-separator-end=\"true\"]_&]:border-subduedSeparator";
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated Replace with Mosaic.Stack.
|
|
14
|
-
*/
|
|
15
|
-
export declare const CardStack: {
|
|
16
|
-
Root: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "className"> & {
|
|
17
|
-
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
18
|
-
} & {
|
|
19
|
-
asChild?: boolean;
|
|
20
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
-
Content: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "className"> & {
|
|
22
|
-
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
23
|
-
} & {
|
|
24
|
-
asChild?: boolean;
|
|
25
|
-
} & {
|
|
26
|
-
footer?: boolean;
|
|
27
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
-
Stack: React.ForwardRefExoticComponent<Omit<Omit<StackProps, "orientation" | "rail" | "size" | "separatorOnScroll">, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
-
Heading: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "className"> & {
|
|
30
|
-
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
31
|
-
} & {
|
|
32
|
-
asChild?: boolean;
|
|
33
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
-
Footer: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "className"> & {
|
|
35
|
-
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
36
|
-
} & {
|
|
37
|
-
asChild?: boolean;
|
|
38
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
39
|
-
DragHandle: React.ForwardRefExoticComponent<React.RefAttributes<HTMLButtonElement>>;
|
|
40
|
-
Item: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "className"> & {
|
|
41
|
-
classNames?: import("@dxos/ui-types").ClassNameValue;
|
|
42
|
-
} & {
|
|
43
|
-
asChild?: boolean;
|
|
44
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
-
};
|
|
46
|
-
export { cardStackRoot, cardStackFooter, cardStackHeading, cardStackContent, cardStackItem, cardStackDefaultInlineSizeRem, };
|
|
47
|
-
//# sourceMappingURL=CardStack.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardStack.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardStack/CardStack.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAMzE,OAAO,EAAS,KAAK,UAAU,EAAuC,MAAM,UAAU,CAAC;AAEvF;;GAEG;AACH,QAAA,MAAM,6BAA6B,QAAgC,CAAC;AAMpE,QAAA,MAAM,aAAa,kBAAkB,CAAC;AAuBtC,QAAA,MAAM,gBAAgB,wEAAwE,CAAC;AA4D/F,QAAA,MAAM,aAAa,sEAAsE,CAAC;AAqB1F,QAAA,MAAM,gBAAgB,qEAAqE,CAAC;AAqB5F,QAAA,MAAM,eAAe,8GACsF,CAAC;AA2B5G;;GAEG;AACH,eAAO,MAAM,SAAS;;;;kBAzGV,OAAO;;;;;kBAAP,OAAO;;iBAzBR,OAAO;;;;;;kBAyBN,OAAO;;;;;kBAAP,OAAO;;;;;;kBAAP,OAAO;;CAiHlB,CAAC;AAEF,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,6BAA6B,GAC9B,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
declare const CardStackStory: () => React.JSX.Element;
|
|
4
|
-
declare const meta: {
|
|
5
|
-
title: string;
|
|
6
|
-
component: () => React.JSX.Element;
|
|
7
|
-
decorators: import("@storybook/react").Decorator[];
|
|
8
|
-
parameters: {
|
|
9
|
-
layout: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
type Story = StoryObj<typeof CardStackStory>;
|
|
14
|
-
export declare const Default: Story;
|
|
15
|
-
//# sourceMappingURL=CardStack.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardStack.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardStack/CardStack.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAgC,MAAM,OAAO,CAAC;AAyBrD,QAAA,MAAM,cAAc,yBA8HnB,CAAC;AAEF,QAAA,MAAM,IAAI;;;;;;;CAO6B,CAAC;AAExC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React, { type PropsWithChildren } from 'react';
|
|
2
|
-
import { type StackProps } from '../Stack';
|
|
3
|
-
export declare const CardStackDragPreview: {
|
|
4
|
-
Root: ({ children }: PropsWithChildren<{}>) => React.JSX.Element;
|
|
5
|
-
Heading: ({ children }: PropsWithChildren<{}>) => React.JSX.Element;
|
|
6
|
-
Content: ({ children, itemsCount, }: PropsWithChildren<Pick<StackProps, "itemsCount">>) => React.JSX.Element;
|
|
7
|
-
Footer: ({ children }: PropsWithChildren<{}>) => React.JSX.Element;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=CardStackDragPreview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CardStackDragPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardStack/CardStackDragPreview.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAMtD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AA6C3C,eAAO,MAAM,oBAAoB;yBA3Ce,iBAAiB,CAAC,EAAE,CAAC;4BAUlB,iBAAiB,CAAC,EAAE,CAAC;yCAmBrE,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;2BAUF,iBAAiB,CAAC,EAAE,CAAC;CAStE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CardStack/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type ButtonGroupProps } from '@dxos/react-ui';
|
|
3
|
-
export type LayoutControlEvent = 'solo' | 'close' | `${'pin' | 'increment'}-${'start' | 'end'}`;
|
|
4
|
-
export type LayoutControlHandler = (event: LayoutControlEvent) => void;
|
|
5
|
-
export type LayoutCapabilities = {
|
|
6
|
-
incrementStart?: boolean;
|
|
7
|
-
incrementEnd?: boolean;
|
|
8
|
-
solo?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export type LayoutControlsProps = Omit<ButtonGroupProps, 'onClick'> & {
|
|
11
|
-
onClick?: LayoutControlHandler;
|
|
12
|
-
variant?: 'hide-disabled' | 'default';
|
|
13
|
-
close?: boolean | 'minify-start' | 'minify-end';
|
|
14
|
-
capabilities: LayoutCapabilities;
|
|
15
|
-
isSolo?: boolean;
|
|
16
|
-
pin?: 'start' | 'end' | 'both';
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* @deprecated
|
|
20
|
-
*/
|
|
21
|
-
export declare const LayoutControls: React.ForwardRefExoticComponent<Omit<LayoutControlsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
-
//# sourceMappingURL=LayoutControls.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutControls.d.ts","sourceRoot":"","sources":["../../../../../src/components/deprecated/LayoutControls.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAe,KAAK,gBAAgB,EAAgD,MAAM,gBAAgB,CAAC;AAIlH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,KAAK,GAAG,WAAW,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;AAChG,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IACpE,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,GAAG,cAAc,GAAG,YAAY,CAAC;IAChD,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;CAChC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,cAAc,yGA4E1B,CAAC"}
|