@dxos/plugin-sheet 0.6.12-main.7907542 → 0.6.12-main.c1d977f

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.
Files changed (82) hide show
  1. package/dist/lib/browser/{SheetContainer-T2QWJOFD.mjs → SheetContainer-7QG5RIM4.mjs} +4 -4
  2. package/dist/lib/browser/{chunk-5ZMVZYGB.mjs → chunk-4DPOO6BK.mjs} +2 -2
  3. package/dist/lib/browser/{chunk-ZL2V5UJR.mjs → chunk-BKTLTM2Y.mjs} +83 -227
  4. package/dist/lib/browser/chunk-BKTLTM2Y.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-QILRZNE5.mjs → chunk-D3QTX46O.mjs} +4 -5
  6. package/dist/lib/browser/chunk-D3QTX46O.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +8 -17
  8. package/dist/lib/browser/index.mjs.map +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/meta.mjs +1 -1
  11. package/dist/lib/browser/types.mjs +2 -2
  12. package/dist/lib/node/{SheetContainer-PV5ET4UJ.cjs → SheetContainer-DXDD2G3A.cjs} +16 -16
  13. package/dist/lib/node/{chunk-2K53Z2TU.cjs → chunk-4FMMRVT2.cjs} +42 -185
  14. package/dist/lib/node/chunk-4FMMRVT2.cjs.map +7 -0
  15. package/dist/lib/node/{chunk-STAVQ2JE.cjs → chunk-PJY2K5S2.cjs} +6 -6
  16. package/dist/lib/node/{chunk-BNARJ5GM.cjs → chunk-QIFIGEKV.cjs} +6 -7
  17. package/dist/lib/node/chunk-QIFIGEKV.cjs.map +7 -0
  18. package/dist/lib/node/index.cjs +29 -37
  19. package/dist/lib/node/index.cjs.map +4 -4
  20. package/dist/lib/node/meta.cjs +3 -3
  21. package/dist/lib/node/meta.cjs.map +1 -1
  22. package/dist/lib/node/meta.json +1 -1
  23. package/dist/lib/node/types.cjs +9 -9
  24. package/dist/lib/node/types.cjs.map +1 -1
  25. package/dist/lib/node-esm/{SheetContainer-FOZD2WLT.mjs → SheetContainer-5WYNOYYD.mjs} +4 -4
  26. package/dist/lib/node-esm/{chunk-2HAM45RC.mjs → chunk-2X36GIGW.mjs} +2 -2
  27. package/dist/lib/node-esm/{chunk-QEUCIHIN.mjs → chunk-JYDBXLDH.mjs} +83 -227
  28. package/dist/lib/node-esm/chunk-JYDBXLDH.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-IU2L277A.mjs → chunk-VCYJWE3O.mjs} +4 -5
  30. package/dist/lib/node-esm/chunk-VCYJWE3O.mjs.map +7 -0
  31. package/dist/lib/node-esm/index.mjs +8 -17
  32. package/dist/lib/node-esm/index.mjs.map +4 -4
  33. package/dist/lib/node-esm/meta.json +1 -1
  34. package/dist/lib/node-esm/meta.mjs +1 -1
  35. package/dist/lib/node-esm/types.mjs +2 -2
  36. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  37. package/dist/types/src/components/{CellEditor/CellEditor.stories.d.ts → GridSheet/SheetCellEditor.stories.d.ts} +2 -2
  38. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -0
  39. package/dist/types/src/components/GridSheet/util.d.ts +2 -2
  40. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  41. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  42. package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
  43. package/dist/types/src/extensions/editor/extension.d.ts.map +1 -0
  44. package/dist/types/src/extensions/editor/extension.test.d.ts.map +1 -0
  45. package/dist/types/src/extensions/editor/index.d.ts +2 -0
  46. package/dist/types/src/extensions/editor/index.d.ts.map +1 -0
  47. package/dist/types/src/extensions/index.d.ts +1 -0
  48. package/dist/types/src/extensions/index.d.ts.map +1 -1
  49. package/dist/types/src/meta.d.ts +3 -6
  50. package/dist/types/src/meta.d.ts.map +1 -1
  51. package/package.json +33 -33
  52. package/src/components/GridSheet/GridSheet.tsx +14 -32
  53. package/src/components/{CellEditor/CellEditor.stories.tsx → GridSheet/SheetCellEditor.stories.tsx} +2 -2
  54. package/src/components/GridSheet/util.ts +2 -6
  55. package/src/components/Sheet/Sheet.tsx +2 -8
  56. package/src/{components/CellEditor → extensions/editor}/index.ts +0 -1
  57. package/src/extensions/index.ts +1 -0
  58. package/src/{meta.tsx → meta.ts} +3 -3
  59. package/dist/lib/browser/chunk-QILRZNE5.mjs.map +0 -7
  60. package/dist/lib/browser/chunk-ZL2V5UJR.mjs.map +0 -7
  61. package/dist/lib/node/chunk-2K53Z2TU.cjs.map +0 -7
  62. package/dist/lib/node/chunk-BNARJ5GM.cjs.map +0 -7
  63. package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +0 -7
  64. package/dist/lib/node-esm/chunk-QEUCIHIN.mjs.map +0 -7
  65. package/dist/types/src/components/CellEditor/CellEditor.d.ts +0 -34
  66. package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +0 -1
  67. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +0 -1
  68. package/dist/types/src/components/CellEditor/extension.d.ts.map +0 -1
  69. package/dist/types/src/components/CellEditor/extension.test.d.ts.map +0 -1
  70. package/dist/types/src/components/CellEditor/index.d.ts +0 -3
  71. package/dist/types/src/components/CellEditor/index.d.ts.map +0 -1
  72. package/src/components/CellEditor/CellEditor.tsx +0 -163
  73. /package/dist/lib/browser/{SheetContainer-T2QWJOFD.mjs.map → SheetContainer-7QG5RIM4.mjs.map} +0 -0
  74. /package/dist/lib/browser/{chunk-5ZMVZYGB.mjs.map → chunk-4DPOO6BK.mjs.map} +0 -0
  75. /package/dist/lib/node/{SheetContainer-PV5ET4UJ.cjs.map → SheetContainer-DXDD2G3A.cjs.map} +0 -0
  76. /package/dist/lib/node/{chunk-STAVQ2JE.cjs.map → chunk-PJY2K5S2.cjs.map} +0 -0
  77. /package/dist/lib/node-esm/{SheetContainer-FOZD2WLT.mjs.map → SheetContainer-5WYNOYYD.mjs.map} +0 -0
  78. /package/dist/lib/node-esm/{chunk-2HAM45RC.mjs.map → chunk-2X36GIGW.mjs.map} +0 -0
  79. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.d.ts +0 -0
  80. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.test.d.ts +0 -0
  81. /package/src/{components/CellEditor → extensions/editor}/extension.test.ts +0 -0
  82. /package/src/{components/CellEditor → extensions/editor}/extension.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-sheet",
3
- "version": "0.6.12-main.7907542",
3
+ "version": "0.6.12-main.c1d977f",
4
4
  "description": "Braneframe sketch plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -79,29 +79,29 @@
79
79
  "re-resizable": "^6.9.17",
80
80
  "react-markdown": "^8.0.5",
81
81
  "react-resize-detector": "^11.0.1",
82
- "@dxos/app-framework": "0.6.12-main.7907542",
83
- "@dxos/async": "0.6.12-main.7907542",
84
- "@dxos/crypto": "0.6.12-main.7907542",
85
- "@dxos/client": "0.6.12-main.7907542",
86
- "@dxos/debug": "0.6.12-main.7907542",
87
- "@dxos/context": "0.6.12-main.7907542",
88
- "@dxos/echo-schema": "0.6.12-main.7907542",
89
- "@dxos/invariant": "0.6.12-main.7907542",
90
- "@dxos/log": "0.6.12-main.7907542",
91
- "@dxos/plugin-attention": "0.6.12-main.7907542",
92
- "@dxos/keys": "0.6.12-main.7907542",
93
- "@dxos/plugin-client": "0.6.12-main.7907542",
94
- "@dxos/plugin-markdown": "0.6.12-main.7907542",
95
- "@dxos/plugin-graph": "0.6.12-main.7907542",
96
- "@dxos/plugin-script": "0.6.12-main.7907542",
97
- "@dxos/plugin-space": "0.6.12-main.7907542",
98
- "@dxos/react-client": "0.6.12-main.7907542",
99
- "@dxos/react-hooks": "0.6.12-main.7907542",
100
- "@dxos/react-ui-editor": "0.6.12-main.7907542",
101
- "@dxos/plugin-stack": "0.6.12-main.7907542",
102
- "@dxos/react-ui-attention": "0.6.12-main.7907542",
103
- "@dxos/react-ui-grid": "0.6.12-main.7907542",
104
- "@dxos/util": "0.6.12-main.7907542"
82
+ "@dxos/app-framework": "0.6.12-main.c1d977f",
83
+ "@dxos/client": "0.6.12-main.c1d977f",
84
+ "@dxos/async": "0.6.12-main.c1d977f",
85
+ "@dxos/crypto": "0.6.12-main.c1d977f",
86
+ "@dxos/context": "0.6.12-main.c1d977f",
87
+ "@dxos/echo-schema": "0.6.12-main.c1d977f",
88
+ "@dxos/debug": "0.6.12-main.c1d977f",
89
+ "@dxos/invariant": "0.6.12-main.c1d977f",
90
+ "@dxos/keys": "0.6.12-main.c1d977f",
91
+ "@dxos/log": "0.6.12-main.c1d977f",
92
+ "@dxos/plugin-attention": "0.6.12-main.c1d977f",
93
+ "@dxos/plugin-graph": "0.6.12-main.c1d977f",
94
+ "@dxos/plugin-client": "0.6.12-main.c1d977f",
95
+ "@dxos/plugin-script": "0.6.12-main.c1d977f",
96
+ "@dxos/plugin-markdown": "0.6.12-main.c1d977f",
97
+ "@dxos/plugin-space": "0.6.12-main.c1d977f",
98
+ "@dxos/plugin-stack": "0.6.12-main.c1d977f",
99
+ "@dxos/react-hooks": "0.6.12-main.c1d977f",
100
+ "@dxos/react-client": "0.6.12-main.c1d977f",
101
+ "@dxos/react-ui-attention": "0.6.12-main.c1d977f",
102
+ "@dxos/react-ui-grid": "0.6.12-main.c1d977f",
103
+ "@dxos/react-ui-editor": "0.6.12-main.c1d977f",
104
+ "@dxos/util": "0.6.12-main.c1d977f"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@lezer/generator": "^1.7.1",
@@ -114,20 +114,20 @@
114
114
  "react": "~18.2.0",
115
115
  "react-dom": "~18.2.0",
116
116
  "vite": "5.4.7",
117
- "@dxos/echo-generator": "0.6.12-main.7907542",
118
- "@dxos/react-ui-syntax-highlighter": "0.6.12-main.7907542",
119
- "@dxos/react-ui": "0.6.12-main.7907542",
120
- "@dxos/random": "0.6.12-main.7907542",
121
- "@dxos/react-ui-types": "0.6.12-main.7907542",
122
- "@dxos/react-ui-theme": "0.6.12-main.7907542",
123
- "@dxos/storybook-utils": "0.6.12-main.7907542"
117
+ "@dxos/echo-generator": "0.6.12-main.c1d977f",
118
+ "@dxos/react-ui": "0.6.12-main.c1d977f",
119
+ "@dxos/random": "0.6.12-main.c1d977f",
120
+ "@dxos/react-ui-syntax-highlighter": "0.6.12-main.c1d977f",
121
+ "@dxos/react-ui-theme": "0.6.12-main.c1d977f",
122
+ "@dxos/storybook-utils": "0.6.12-main.c1d977f",
123
+ "@dxos/react-ui-types": "0.6.12-main.c1d977f"
124
124
  },
125
125
  "peerDependencies": {
126
126
  "@phosphor-icons/react": "^2.1.5",
127
127
  "react": "~18.2.0",
128
128
  "react-dom": "~18.2.0",
129
- "@dxos/react-ui": "0.6.12-main.7907542",
130
- "@dxos/react-ui-theme": "0.6.12-main.7907542"
129
+ "@dxos/react-ui": "0.6.12-main.c1d977f",
130
+ "@dxos/react-ui-theme": "0.6.12-main.c1d977f"
131
131
  },
132
132
  "publishConfig": {
133
133
  "access": "public"
@@ -10,44 +10,18 @@ import {
10
10
  type GridContentProps,
11
11
  type GridScopedProps,
12
12
  useGridContext,
13
+ editorKeys,
14
+ type EditorKeysProps,
15
+ GridCellEditor,
13
16
  } from '@dxos/react-ui-grid';
14
17
 
15
18
  import { colLabelCell, dxGridCellIndexToSheetCellAddress, rowLabelCell, useSheetModelDxGridProps } from './util';
16
19
  import { rangeToA1Notation, type CellRange } from '../../defs';
20
+ import { rangeExtension, sheetExtension, type CellRangeNotifier } from '../../extensions';
17
21
  import { type ComputeGraph } from '../../graph';
18
22
  import { useFormattingModel, useSheetModel, type UseSheetModelOptions } from '../../hooks';
19
23
  import { type SheetModel, type FormattingModel } from '../../model';
20
24
  import { type SheetType } from '../../types';
21
- import {
22
- CellEditor,
23
- type CellEditorProps,
24
- type CellRangeNotifier,
25
- editorKeys,
26
- type EditorKeysProps,
27
- rangeExtension,
28
- sheetExtension,
29
- } from '../CellEditor';
30
-
31
- const GridSheetCellEditor = ({
32
- model,
33
- extension,
34
- __gridScope,
35
- }: GridScopedProps<Pick<CellEditorProps, 'extension'> & { model: SheetModel }>) => {
36
- const { id, editing, setEditing, editBox } = useGridContext('GridSheetCellEditor', __gridScope);
37
- const cell = dxGridCellIndexToSheetCellAddress(editing);
38
-
39
- return editing ? (
40
- <CellEditor
41
- variant='grid'
42
- value={editing.initialContent ?? (cell ? model.getCellText(cell) : undefined)}
43
- autoFocus
44
- box={editBox}
45
- onBlur={() => setEditing(null)}
46
- extension={extension}
47
- gridId={id}
48
- />
49
- ) : null;
50
- };
51
25
 
52
26
  const initialCells = {
53
27
  grid: {},
@@ -82,7 +56,7 @@ const GridSheetImpl = ({
82
56
  const handleClose = useCallback<NonNullable<EditorKeysProps['onClose']> | NonNullable<EditorKeysProps['onNav']>>(
83
57
  (value, { key, shift }) => {
84
58
  if (value !== undefined) {
85
- model.setValue(dxGridCellIndexToSheetCellAddress(editing)!, value);
59
+ model.setValue(dxGridCellIndexToSheetCellAddress(editing!.index), value);
86
60
  }
87
61
  setEditing(null);
88
62
  const axis = ['Enter', 'ArrowUp', 'ArrowDown'].includes(key)
@@ -136,9 +110,17 @@ const GridSheetImpl = ({
136
110
  [model, handleClose, editing],
137
111
  );
138
112
 
113
+ const getCellContent = useCallback(
114
+ (index: string) => {
115
+ const cell = dxGridCellIndexToSheetCellAddress(index);
116
+ return model.getCellText(cell);
117
+ },
118
+ [model],
119
+ );
120
+
139
121
  return (
140
122
  <>
141
- <GridSheetCellEditor model={model} extension={extension} />
123
+ <GridCellEditor getCellContent={getCellContent} extension={extension} />
142
124
  <Grid.Content
143
125
  initialCells={initialCells}
144
126
  columns={columns}
@@ -9,12 +9,12 @@ import React, { useEffect, useMemo, useState } from 'react';
9
9
  import { Client } from '@dxos/client';
10
10
  import { createDocAccessor, type EchoReactiveObject } from '@dxos/client/echo';
11
11
  import { automerge } from '@dxos/react-ui-editor';
12
+ import { CellEditor, type CellEditorProps } from '@dxos/react-ui-grid';
12
13
  import { withTheme } from '@dxos/storybook-utils';
13
14
 
14
15
  import { HyperFormula } from '#hyperformula';
15
- import { CellEditor, type CellEditorProps } from './CellEditor';
16
- import { sheetExtension } from './extension';
17
16
  import { createSheet } from '../../defs';
17
+ import { sheetExtension } from '../../extensions';
18
18
  import { defaultFunctions } from '../../graph';
19
19
  import { SheetType } from '../../types';
20
20
 
@@ -6,7 +6,6 @@ import { type MutableRefObject, useEffect, useLayoutEffect, useState } from 'rea
6
6
 
7
7
  import { createDocAccessor } from '@dxos/react-client/echo';
8
8
  import {
9
- type GridEditing,
10
9
  type GridContentProps,
11
10
  type DxGridElement,
12
11
  type DxGridAxisMeta,
@@ -21,11 +20,8 @@ import { mx } from '@dxos/react-ui-theme';
21
20
  import { type CellAddress } from '../../defs';
22
21
  import { type SheetModel, type FormattingModel } from '../../model';
23
22
 
24
- export const dxGridCellIndexToSheetCellAddress = (gridEditing: GridEditing): CellAddress | null => {
25
- if (!gridEditing) {
26
- return null;
27
- }
28
- const [colStr, rowStr] = gridEditing.index.split(',');
23
+ export const dxGridCellIndexToSheetCellAddress = (index: string): CellAddress => {
24
+ const [colStr, rowStr] = index.split(',');
29
25
  return {
30
26
  col: parseInt(colStr),
31
27
  row: parseInt(rowStr),
@@ -42,6 +42,7 @@ import { fullyQualifiedId, createDocAccessor } from '@dxos/client/echo';
42
42
  import { log } from '@dxos/log';
43
43
  import { type ThemedClassName } from '@dxos/react-ui';
44
44
  import { ATTENABLE_ATTRIBUTE, useAttendableAttributes, useAttention, useAttentionPath } from '@dxos/react-ui-attention';
45
+ import { CellEditor, type EditorKeysProps, editorKeys } from '@dxos/react-ui-grid';
45
46
  import { mx } from '@dxos/react-ui-theme';
46
47
 
47
48
  import {
@@ -73,14 +74,7 @@ import {
73
74
  addressToIndex,
74
75
  addressFromIndex,
75
76
  } from '../../defs';
76
- import {
77
- CellEditor,
78
- type CellRangeNotifier,
79
- type EditorKeysProps,
80
- editorKeys,
81
- rangeExtension,
82
- sheetExtension,
83
- } from '../CellEditor';
77
+ import { rangeExtension, sheetExtension, type CellRangeNotifier } from '../../extensions';
84
78
 
85
79
  // TODO(burdon): Virtualization bug.
86
80
  // TODO(burdon): Toolbar styles and formatting.
@@ -2,5 +2,4 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export * from './CellEditor';
6
5
  export * from './extension';
@@ -3,3 +3,4 @@
3
3
  //
4
4
 
5
5
  export * from './compute';
6
+ export * from './editor';
@@ -2,13 +2,13 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { pluginMeta } from '@dxos/app-framework';
5
+ import { type PluginMeta } from '@dxos/app-framework';
6
6
 
7
7
  export const SHEET_PLUGIN = 'dxos.org/plugin/sheet';
8
8
 
9
- export default pluginMeta({
9
+ export default {
10
10
  id: SHEET_PLUGIN,
11
11
  name: 'Sheet',
12
12
  description: 'A simple spreadsheet plugin.',
13
13
  icon: 'ph--grid-nine--regular',
14
- });
14
+ } satisfies PluginMeta;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { pluginMeta } from '@dxos/app-framework';\n\nexport const SHEET_PLUGIN = 'dxos.org/plugin/sheet';\n\nexport default pluginMeta({\n id: SHEET_PLUGIN,\n name: 'Sheet',\n description: 'A simple spreadsheet plugin.',\n icon: 'ph--grid-nine--regular',\n});\n"],
5
- "mappings": ";AAIA,SAASA,kBAAkB;AAEpB,IAAMC,eAAe;AAE5B,IAAA,eAAeC,WAAW;EACxBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;AACR,CAAA;",
6
- "names": ["pluginMeta", "SHEET_PLUGIN", "pluginMeta", "id", "name", "description", "icon"]
7
- }