@dxos/react-ui-grid 0.8.4-main.7ace549 → 0.8.4-main.937b3ca
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 +135 -157
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/CellEditor/CellEditor.d.ts +3 -2
- package/dist/types/src/CellEditor/CellEditor.d.ts.map +1 -1
- package/dist/types/src/CellEditor/CellEditor.stories.d.ts +1 -1
- package/dist/types/src/Grid/Grid.d.ts +2 -2
- package/dist/types/src/Grid/Grid.d.ts.map +1 -1
- package/dist/types/src/Grid/Grid.stories.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +23 -19
- package/src/CellEditor/CellEditor.tsx +4 -5
- package/src/Grid/Grid.stories.tsx +21 -11
- package/src/Grid/Grid.tsx +5 -3
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-grid",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.937b3ca",
|
|
4
4
|
"description": "React component which manages a `dx-grid` Lit web component.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/dxos/dxos"
|
|
10
|
+
},
|
|
7
11
|
"license": "MIT",
|
|
8
12
|
"author": "DXOS.org",
|
|
9
|
-
"sideEffects":
|
|
13
|
+
"sideEffects": false,
|
|
10
14
|
"type": "module",
|
|
11
15
|
"exports": {
|
|
12
16
|
".": {
|
|
@@ -28,31 +32,31 @@
|
|
|
28
32
|
"@codemirror/state": "^6.5.2",
|
|
29
33
|
"@codemirror/view": "^6.38.4",
|
|
30
34
|
"@lit/react": "^1.0.8",
|
|
31
|
-
"@preact-signals/safe-react": "^0.9.0",
|
|
32
35
|
"@radix-ui/react-context": "1.1.1",
|
|
33
36
|
"@radix-ui/react-popper": "1.2.2",
|
|
34
37
|
"@radix-ui/react-use-controllable-state": "1.1.0",
|
|
35
|
-
"@dxos/react-ui-editor": "0.8.4-main.
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/util": "0.8.4-main.
|
|
38
|
+
"@dxos/react-ui-editor": "0.8.4-main.937b3ca",
|
|
39
|
+
"@dxos/ui-editor": "0.8.4-main.937b3ca",
|
|
40
|
+
"@dxos/util": "0.8.4-main.937b3ca",
|
|
41
|
+
"@dxos/lit-grid": "0.8.4-main.937b3ca"
|
|
38
42
|
},
|
|
39
43
|
"devDependencies": {
|
|
40
|
-
"@types/react": "~19.2.
|
|
41
|
-
"@types/react-dom": "~19.2.
|
|
42
|
-
"react": "~19.2.
|
|
43
|
-
"react-dom": "~19.2.
|
|
44
|
+
"@types/react": "~19.2.7",
|
|
45
|
+
"@types/react-dom": "~19.2.3",
|
|
46
|
+
"react": "~19.2.3",
|
|
47
|
+
"react-dom": "~19.2.3",
|
|
44
48
|
"vite": "7.1.9",
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/react-ui
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/storybook-utils": "0.8.4-main.
|
|
49
|
-
"@dxos/
|
|
49
|
+
"@dxos/random": "0.8.4-main.937b3ca",
|
|
50
|
+
"@dxos/react-ui": "0.8.4-main.937b3ca",
|
|
51
|
+
"@dxos/react-ui-searchlist": "0.8.4-main.937b3ca",
|
|
52
|
+
"@dxos/storybook-utils": "0.8.4-main.937b3ca",
|
|
53
|
+
"@dxos/ui-theme": "0.8.4-main.937b3ca"
|
|
50
54
|
},
|
|
51
55
|
"peerDependencies": {
|
|
52
|
-
"react": "
|
|
53
|
-
"react-dom": "
|
|
54
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
55
|
-
"@dxos/
|
|
56
|
+
"react": "~19.2.3",
|
|
57
|
+
"react-dom": "~19.2.3",
|
|
58
|
+
"@dxos/react-ui": "0.8.4-main.937b3ca",
|
|
59
|
+
"@dxos/ui-theme": "0.8.4-main.937b3ca"
|
|
56
60
|
},
|
|
57
61
|
"publishConfig": {
|
|
58
62
|
"access": "public"
|
|
@@ -8,15 +8,14 @@ import { EditorView, keymap } from '@codemirror/view';
|
|
|
8
8
|
import React, { type KeyboardEvent } from 'react';
|
|
9
9
|
|
|
10
10
|
import { useThemeContext } from '@dxos/react-ui';
|
|
11
|
+
import { type UseTextEditorProps, useTextEditor } from '@dxos/react-ui-editor';
|
|
11
12
|
import {
|
|
12
13
|
type ThemeExtensionsOptions,
|
|
13
|
-
type UseTextEditorProps,
|
|
14
14
|
createBasicExtensions,
|
|
15
15
|
createThemeExtensions,
|
|
16
16
|
filterChars,
|
|
17
|
-
|
|
18
|
-
} from '@dxos/
|
|
19
|
-
import { mx } from '@dxos/react-ui-theme';
|
|
17
|
+
} from '@dxos/ui-editor';
|
|
18
|
+
import { mx } from '@dxos/ui-theme';
|
|
20
19
|
|
|
21
20
|
import { type GridEditBox } from '../Grid';
|
|
22
21
|
|
|
@@ -123,7 +122,7 @@ export type CellEditorProps = {
|
|
|
123
122
|
} & Pick<UseTextEditorProps, 'autoFocus'> &
|
|
124
123
|
Pick<ThemeExtensionsOptions, 'slots'>;
|
|
125
124
|
|
|
126
|
-
export const CellEditor = ({ value, extensions, box, gridId,
|
|
125
|
+
export const CellEditor = ({ value, extensions, box, gridId, autoFocus, slots, onBlur }: CellEditorProps) => {
|
|
127
126
|
const { themeMode } = useThemeContext();
|
|
128
127
|
const { parentRef } = useTextEditor(() => {
|
|
129
128
|
return {
|
|
@@ -11,7 +11,7 @@ import { faker } from '@dxos/random';
|
|
|
11
11
|
import { DropdownMenu } from '@dxos/react-ui';
|
|
12
12
|
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
13
13
|
import { toPlaneCellIndex } from '@dxos/react-ui-grid';
|
|
14
|
-
import { Combobox, type ComboboxRootProps } from '@dxos/react-ui-searchlist';
|
|
14
|
+
import { Combobox, type ComboboxRootProps, useSearchListResults } from '@dxos/react-ui-searchlist';
|
|
15
15
|
|
|
16
16
|
import { Grid, type GridContentProps, type GridEditing, type GridRootProps } from './Grid';
|
|
17
17
|
|
|
@@ -87,24 +87,34 @@ const GridStory = ({ initialCells, ...props }: GridStoryProps) => {
|
|
|
87
87
|
onValueChange={setMultiselectValue}
|
|
88
88
|
>
|
|
89
89
|
<Combobox.VirtualTrigger virtualRef={triggerRef} />
|
|
90
|
-
<
|
|
91
|
-
<Combobox.Input placeholder='Search...' />
|
|
92
|
-
<Combobox.List>
|
|
93
|
-
{storybookItems.map((value) => (
|
|
94
|
-
<Combobox.Item key={value}>{value}</Combobox.Item>
|
|
95
|
-
))}
|
|
96
|
-
</Combobox.List>
|
|
97
|
-
<Combobox.Arrow />
|
|
98
|
-
</Combobox.Content>
|
|
90
|
+
<ComboboxContentWithFiltering />
|
|
99
91
|
</Combobox.Root>
|
|
100
92
|
</div>
|
|
101
93
|
);
|
|
102
94
|
};
|
|
103
95
|
|
|
96
|
+
const ComboboxContentWithFiltering = () => {
|
|
97
|
+
const { results, handleSearch } = useSearchListResults({
|
|
98
|
+
items: storybookItems,
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
return (
|
|
102
|
+
<Combobox.Content onSearch={handleSearch}>
|
|
103
|
+
<Combobox.Input placeholder='Search...' />
|
|
104
|
+
<Combobox.List>
|
|
105
|
+
{results.map((value) => (
|
|
106
|
+
<Combobox.Item key={value} value={value} label={value} />
|
|
107
|
+
))}
|
|
108
|
+
</Combobox.List>
|
|
109
|
+
<Combobox.Arrow />
|
|
110
|
+
</Combobox.Content>
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
|
|
104
114
|
const meta = {
|
|
105
115
|
title: 'ui/react-ui-grid/Grid',
|
|
106
116
|
component: GridStory,
|
|
107
|
-
decorators: [withTheme, withLayout({
|
|
117
|
+
decorators: [withTheme, withLayout({ layout: 'column' })],
|
|
108
118
|
parameters: {
|
|
109
119
|
layout: 'fullscreen',
|
|
110
120
|
},
|
package/src/Grid/Grid.tsx
CHANGED
|
@@ -63,7 +63,9 @@ const [createGridContext, createGridScope] = createContextScope(GRID_NAME, []);
|
|
|
63
63
|
const [GridProvider, useGridContext] = createGridContext<GridContextValue>(GRID_NAME);
|
|
64
64
|
|
|
65
65
|
type GridRootProps = PropsWithChildren<
|
|
66
|
-
{
|
|
66
|
+
{
|
|
67
|
+
id: string;
|
|
68
|
+
} & Partial<{
|
|
67
69
|
editing: GridEditing;
|
|
68
70
|
defaultEditing: GridEditing;
|
|
69
71
|
onEditingChange: (nextEditing: GridEditing) => void;
|
|
@@ -71,12 +73,12 @@ type GridRootProps = PropsWithChildren<
|
|
|
71
73
|
>;
|
|
72
74
|
|
|
73
75
|
const GridRoot = ({
|
|
76
|
+
__gridScope,
|
|
77
|
+
children,
|
|
74
78
|
id,
|
|
75
79
|
editing: propsEditing,
|
|
76
80
|
defaultEditing,
|
|
77
81
|
onEditingChange,
|
|
78
|
-
children,
|
|
79
|
-
__gridScope,
|
|
80
82
|
}: GridScopedProps<GridRootProps>) => {
|
|
81
83
|
const [editing = null, setEditing] = useControllableState({
|
|
82
84
|
prop: propsEditing,
|