@dxos/plugin-sheet 0.8.3 → 0.8.4-main.1da679c
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/{SheetContainer-BDZXBB5U.mjs → SheetContainer-OUN6AARA.mjs} +30 -31
- package/dist/lib/browser/SheetContainer-OUN6AARA.mjs.map +7 -0
- package/dist/lib/browser/{anchor-sort-NYYZLRAA.mjs → anchor-sort-CAYLDDRF.mjs} +6 -6
- package/dist/lib/browser/{anchor-sort-NYYZLRAA.mjs.map → anchor-sort-CAYLDDRF.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-D3G4UGEK.mjs → chunk-6AKBCBL4.mjs} +2 -2
- package/dist/lib/browser/{chunk-IR42IS3F.mjs → chunk-KJWZUQVA.mjs} +3 -3
- package/dist/lib/browser/{chunk-FJRLDX7Z.mjs → chunk-SSN4HYJL.mjs} +7 -7
- package/dist/lib/browser/chunk-SSN4HYJL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-5TA43LO4.mjs → chunk-X4EWLDT3.mjs} +207 -203
- package/dist/lib/browser/chunk-X4EWLDT3.mjs.map +7 -0
- package/dist/lib/browser/{chunk-I7FZ4TWJ.mjs → chunk-XSXUU6FO.mjs} +29 -15
- package/dist/lib/browser/chunk-XSXUU6FO.mjs.map +7 -0
- package/dist/lib/browser/{compute-graph-registry-IXGGJJBU.mjs → compute-graph-registry-WHF3BJTJ.mjs} +6 -6
- package/dist/lib/{node-esm/compute-graph-registry-7PDWXMHF.mjs.map → browser/compute-graph-registry-WHF3BJTJ.mjs.map} +2 -2
- package/dist/lib/browser/index.mjs +21 -20
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-IBBI6B74.mjs → intent-resolver-LKZXAJRJ.mjs} +7 -7
- package/dist/lib/browser/{intent-resolver-IBBI6B74.mjs.map → intent-resolver-LKZXAJRJ.mjs.map} +3 -3
- package/dist/lib/browser/{markdown-T4TUP4BF.mjs → markdown-XKFA4Z2M.mjs} +7 -7
- package/dist/lib/browser/markdown-XKFA4Z2M.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-UI46P43F.mjs → react-surface-N6NYHHT3.mjs} +9 -9
- package/dist/lib/browser/{react-surface-UI46P43F.mjs.map → react-surface-N6NYHHT3.mjs.map} +2 -2
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{SheetContainer-V632Q4HA.mjs → SheetContainer-NFLLTGNV.mjs} +30 -31
- package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-JTNZOE67.mjs → anchor-sort-4R2ID6GE.mjs} +6 -6
- package/dist/lib/node-esm/{anchor-sort-JTNZOE67.mjs.map → anchor-sort-4R2ID6GE.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-Y6ND5HWX.mjs → chunk-3K5VNYOF.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-IQ76YE6M.mjs → chunk-6SK5LJ5S.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-NMCVJWDT.mjs → chunk-IK4O7FUJ.mjs} +7 -7
- package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-C4IKYVTV.mjs → chunk-ODP4L4OV.mjs} +29 -15
- package/dist/lib/node-esm/chunk-ODP4L4OV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SOC52B67.mjs → chunk-PYF4ZJXN.mjs} +207 -203
- package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs.map +7 -0
- package/dist/lib/node-esm/{compute-graph-registry-7PDWXMHF.mjs → compute-graph-registry-3IUZXRXJ.mjs} +6 -6
- package/dist/lib/{browser/compute-graph-registry-IXGGJJBU.mjs.map → node-esm/compute-graph-registry-3IUZXRXJ.mjs.map} +2 -2
- package/dist/lib/node-esm/index.mjs +21 -20
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-M2HNR7PJ.mjs → intent-resolver-JHH6ZVJ4.mjs} +7 -7
- package/dist/lib/node-esm/{intent-resolver-M2HNR7PJ.mjs.map → intent-resolver-JHH6ZVJ4.mjs.map} +3 -3
- package/dist/lib/node-esm/{markdown-WWUJ3E5F.mjs → markdown-NOKROLCG.mjs} +7 -7
- package/dist/lib/node-esm/markdown-NOKROLCG.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-OLXO2MVB.mjs → react-surface-TYBS4DOF.mjs} +9 -9
- package/dist/lib/node-esm/{react-surface-OLXO2MVB.mjs.map → react-surface-TYBS4DOF.mjs.map} +2 -2
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
- package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +6 -8
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +1 -3
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -3
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +49 -2
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -19
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +49 -2
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -3
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
- package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.d.ts +1 -1
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.stories.d.ts +10 -12
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/index.d.ts +1 -1
- package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
- package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
- package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +1 -1
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/{testing/playwright → playwright}/sheet-manager.d.ts +1 -1
- package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -0
- package/dist/types/src/playwright/sheet.spec.d.ts.map +1 -0
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +7 -62
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +1 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/types/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -57
- package/src/SheetPlugin.tsx +3 -3
- package/src/capabilities/anchor-sort.ts +1 -1
- package/src/capabilities/compute-graph-registry.ts +1 -1
- package/src/capabilities/intent-resolver.ts +2 -2
- package/src/capabilities/markdown.ts +3 -2
- package/src/capabilities/react-surface.tsx +2 -1
- package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
- package/src/components/ComputeGraph/compute-graph.stories.tsx +13 -10
- package/src/components/GridSheet/GridSheet.stories.tsx +9 -6
- package/src/components/GridSheet/GridSheet.tsx +19 -18
- package/src/components/GridSheet/SheetCellEditor.stories.tsx +37 -38
- package/src/components/GridSheet/util.ts +6 -6
- package/src/components/SheetContainer/SheetContainer.stories.tsx +10 -7
- package/src/components/SheetContainer/SheetContainer.tsx +1 -1
- package/src/components/SheetContext/SheetContext.tsx +1 -1
- package/src/components/SheetToolbar/SheetToolbar.stories.tsx +10 -7
- package/src/components/SheetToolbar/SheetToolbar.tsx +16 -15
- package/src/components/SheetToolbar/align.ts +4 -3
- package/src/components/SheetToolbar/style.ts +2 -2
- package/src/extensions/compute.stories.tsx +20 -19
- package/src/extensions/compute.ts +2 -3
- package/src/extensions/editor/index.ts +1 -1
- package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
- package/src/integrations/thread-ranges.ts +7 -6
- package/src/model/sheet-model.test.ts +2 -1
- package/src/model/sheet-model.ts +6 -6
- package/src/playwright/playwright.config.ts +17 -0
- package/src/{testing/playwright → playwright}/sheet-manager.ts +1 -1
- package/src/{testing/playwright → playwright}/sheet.spec.ts +2 -2
- package/src/sanity.test.ts +1 -1
- package/src/testing/testing.tsx +1 -1
- package/src/translations.ts +8 -6
- package/src/types/schema.ts +1 -0
- package/src/types/types.ts +2 -1
- package/src/types/util.ts +3 -3
- package/dist/lib/browser/SheetContainer-BDZXBB5U.mjs.map +0 -7
- package/dist/lib/browser/chunk-5TA43LO4.mjs.map +0 -7
- package/dist/lib/browser/chunk-FJRLDX7Z.mjs.map +0 -7
- package/dist/lib/browser/chunk-I7FZ4TWJ.mjs.map +0 -7
- package/dist/lib/browser/markdown-T4TUP4BF.mjs.map +0 -7
- package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs +0 -351
- package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs.map +0 -7
- package/dist/lib/node/anchor-sort-A7NABMJM.cjs +0 -39
- package/dist/lib/node/anchor-sort-A7NABMJM.cjs.map +0 -7
- package/dist/lib/node/chunk-FIM6EZ6M.cjs +0 -256
- package/dist/lib/node/chunk-FIM6EZ6M.cjs.map +0 -7
- package/dist/lib/node/chunk-JSIDCZHB.cjs +0 -41
- package/dist/lib/node/chunk-JSIDCZHB.cjs.map +0 -7
- package/dist/lib/node/chunk-LJWWS53Z.cjs +0 -34
- package/dist/lib/node/chunk-LJWWS53Z.cjs.map +0 -7
- package/dist/lib/node/chunk-N7FSEUIN.cjs +0 -927
- package/dist/lib/node/chunk-N7FSEUIN.cjs.map +0 -7
- package/dist/lib/node/chunk-ST3WA73J.cjs +0 -855
- package/dist/lib/node/chunk-ST3WA73J.cjs.map +0 -7
- package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs +0 -56
- package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -173
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-2657YDOU.cjs +0 -69
- package/dist/lib/node/intent-resolver-2657YDOU.cjs.map +0 -7
- package/dist/lib/node/markdown-DBPOAYI7.cjs +0 -40
- package/dist/lib/node/markdown-DBPOAYI7.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-XQEIRKWU.cjs +0 -71
- package/dist/lib/node/react-surface-XQEIRKWU.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -84
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-V632Q4HA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C4IKYVTV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NMCVJWDT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SOC52B67.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-WWUJ3E5F.mjs.map +0 -7
- package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
- package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
- package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
- package/dist/types/src/testing/playwright/sheet-manager.d.ts.map +0 -1
- package/dist/types/src/testing/playwright/sheet.spec.d.ts.map +0 -1
- package/src/testing/playwright/playwright.config.cts +0 -18
- /package/dist/lib/browser/{chunk-D3G4UGEK.mjs.map → chunk-6AKBCBL4.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-IR42IS3F.mjs.map → chunk-KJWZUQVA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-Y6ND5HWX.mjs.map → chunk-3K5VNYOF.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-IQ76YE6M.mjs.map → chunk-6SK5LJ5S.mjs.map} +0 -0
- /package/dist/types/src/{testing/playwright → playwright}/sheet.spec.d.ts +0 -0
- /package/src/extensions/editor/{extension.ts → sheet-extension.ts} +0 -0
|
@@ -7,16 +7,16 @@ import {
|
|
|
7
7
|
cellClassNameForRange,
|
|
8
8
|
rangeFromIndex,
|
|
9
9
|
useSheetModel
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ODP4L4OV.mjs";
|
|
11
11
|
import {
|
|
12
12
|
rangeExtension,
|
|
13
13
|
sheetExtension
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-IK4O7FUJ.mjs";
|
|
15
15
|
import {
|
|
16
16
|
SHEET_PLUGIN
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-3K5VNYOF.mjs";
|
|
18
18
|
|
|
19
|
-
//
|
|
19
|
+
// src/components/ComputeGraph/ComputeGraphContextProvider.tsx
|
|
20
20
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
21
21
|
import React, { createContext, useContext } from "react";
|
|
22
22
|
import { raise } from "@dxos/debug";
|
|
@@ -49,7 +49,7 @@ var useComputeGraph = (space) => {
|
|
|
49
49
|
return graph;
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
//
|
|
52
|
+
// src/components/RangeList/RangeList.tsx
|
|
53
53
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
54
54
|
import { Schema } from "effect";
|
|
55
55
|
import React2, { useCallback } from "react";
|
|
@@ -95,10 +95,10 @@ var RangeList = ({ sheet }) => {
|
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
-
//
|
|
98
|
+
// src/components/index.ts
|
|
99
99
|
import { lazy } from "react";
|
|
100
100
|
|
|
101
|
-
//
|
|
101
|
+
// src/components/GridSheet/GridSheet.tsx
|
|
102
102
|
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
103
103
|
import React4, { useCallback as useCallback4, useMemo as useMemo2, useRef, useState as useState3 } from "react";
|
|
104
104
|
import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
@@ -106,189 +106,18 @@ import { rangeToA1Notation as rangeToA1Notation2 } from "@dxos/compute";
|
|
|
106
106
|
import { defaultColSize, defaultRowSize } from "@dxos/lit-grid";
|
|
107
107
|
import { DropdownMenu, Icon, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
108
108
|
import { useAttention } from "@dxos/react-ui-attention";
|
|
109
|
-
import {
|
|
109
|
+
import { Grid as Grid2, GridCellEditor, closestCell, editorKeys, parseCellIndex } from "@dxos/react-ui-grid";
|
|
110
110
|
|
|
111
|
-
//
|
|
112
|
-
import { useEffect, useState } from "react";
|
|
113
|
-
import { inRange } from "@dxos/compute";
|
|
114
|
-
import { createDocAccessor } from "@dxos/react-client/echo";
|
|
115
|
-
import { parseValue, cellClassesForFieldType } from "@dxos/react-ui-form";
|
|
116
|
-
import { colToA1Notation, rowToA1Notation, commentedClassName } from "@dxos/react-ui-grid";
|
|
117
|
-
import { mx } from "@dxos/react-ui-theme";
|
|
118
|
-
var createDxGridColumns = (model) => {
|
|
119
|
-
return model.sheet.columns.reduce((acc, columnId, numericIndex) => {
|
|
120
|
-
if (model.sheet.columnMeta[columnId] && model.sheet.columnMeta[columnId].size) {
|
|
121
|
-
acc.grid[numericIndex] = {
|
|
122
|
-
size: model.sheet.columnMeta[columnId].size,
|
|
123
|
-
resizeable: true
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
return acc;
|
|
127
|
-
}, {
|
|
128
|
-
grid: {}
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
|
-
var createDxGridRows = (model) => {
|
|
132
|
-
return model.sheet.rows.reduce((acc, rowId, numericIndex) => {
|
|
133
|
-
if (model.sheet.rowMeta[rowId] && model.sheet.rowMeta[rowId].size) {
|
|
134
|
-
acc.grid[numericIndex] = {
|
|
135
|
-
size: model.sheet.rowMeta[rowId].size,
|
|
136
|
-
resizeable: true
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
return acc;
|
|
140
|
-
}, {
|
|
141
|
-
grid: {}
|
|
142
|
-
});
|
|
143
|
-
};
|
|
144
|
-
var projectCellProps = (model, col, row) => {
|
|
145
|
-
const address = {
|
|
146
|
-
col,
|
|
147
|
-
row
|
|
148
|
-
};
|
|
149
|
-
const rawValue = model.getValue(address);
|
|
150
|
-
const ranges = model.sheet.ranges?.filter(({ range }) => inRange(rangeFromIndex(model.sheet, range), address));
|
|
151
|
-
const threadRefs = void 0;
|
|
152
|
-
const description = model.getValueDescription(address);
|
|
153
|
-
const type = description?.type;
|
|
154
|
-
const format = description?.format;
|
|
155
|
-
const classNames = ranges?.map(cellClassNameForRange).reverse();
|
|
156
|
-
return {
|
|
157
|
-
value: parseValue({
|
|
158
|
-
type,
|
|
159
|
-
format,
|
|
160
|
-
value: rawValue
|
|
161
|
-
}),
|
|
162
|
-
className: mx(cellClassesForFieldType({
|
|
163
|
-
type,
|
|
164
|
-
format
|
|
165
|
-
}), threadRefs && commentedClassName, classNames),
|
|
166
|
-
dataRefs: threadRefs
|
|
167
|
-
};
|
|
168
|
-
};
|
|
169
|
-
var gridCellGetter = (model) => {
|
|
170
|
-
const cachedGridCells = {};
|
|
171
|
-
return (nextBounds) => {
|
|
172
|
-
[
|
|
173
|
-
...Array(nextBounds.end.col - nextBounds.start.col)
|
|
174
|
-
].forEach((_, c0) => {
|
|
175
|
-
return [
|
|
176
|
-
...Array(nextBounds.end.row - nextBounds.start.row)
|
|
177
|
-
].forEach((_2, r0) => {
|
|
178
|
-
const col = nextBounds.start.col + c0;
|
|
179
|
-
const row = nextBounds.start.row + r0;
|
|
180
|
-
cachedGridCells[`${col},${row}`] = projectCellProps(model, col, row);
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
return cachedGridCells;
|
|
184
|
-
};
|
|
185
|
-
};
|
|
186
|
-
var rowLabelCell = (row) => ({
|
|
187
|
-
value: rowToA1Notation(row),
|
|
188
|
-
className: "!bg-toolbarSurface text-subdued text-end pie-1",
|
|
189
|
-
resizeHandle: "row"
|
|
190
|
-
});
|
|
191
|
-
var colLabelCell = (col) => ({
|
|
192
|
-
value: colToA1Notation(col),
|
|
193
|
-
className: "!bg-toolbarSurface text-subdued",
|
|
194
|
-
resizeHandle: "col"
|
|
195
|
-
});
|
|
196
|
-
var cellGetter = (model) => {
|
|
197
|
-
const getGridCells = gridCellGetter(model);
|
|
198
|
-
return (nextBounds, plane) => {
|
|
199
|
-
switch (plane) {
|
|
200
|
-
case "grid":
|
|
201
|
-
return getGridCells(nextBounds);
|
|
202
|
-
case "fixedStartStart": {
|
|
203
|
-
return {
|
|
204
|
-
"0,0": {
|
|
205
|
-
className: "!bg-toolbarSurface"
|
|
206
|
-
}
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
case "frozenColsStart":
|
|
210
|
-
return [
|
|
211
|
-
...Array(nextBounds.end.row - nextBounds.start.row)
|
|
212
|
-
].reduce((acc, _, r0) => {
|
|
213
|
-
const r = nextBounds.start.row + r0;
|
|
214
|
-
acc[`0,${r}`] = rowLabelCell(r);
|
|
215
|
-
return acc;
|
|
216
|
-
}, {});
|
|
217
|
-
case "frozenRowsStart":
|
|
218
|
-
return [
|
|
219
|
-
...Array(nextBounds.end.col - nextBounds.start.col)
|
|
220
|
-
].reduce((acc, _, c0) => {
|
|
221
|
-
const c = nextBounds.start.col + c0;
|
|
222
|
-
acc[`${c},0`] = colLabelCell(c);
|
|
223
|
-
return acc;
|
|
224
|
-
}, {});
|
|
225
|
-
default:
|
|
226
|
-
return {};
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
};
|
|
230
|
-
var useSheetModelDxGridProps = (dxGrid, model) => {
|
|
231
|
-
const [columns, setColumns] = useState(createDxGridColumns(model));
|
|
232
|
-
const [rows, setRows] = useState(createDxGridRows(model));
|
|
233
|
-
useEffect(() => {
|
|
234
|
-
const cellsAccessor = createDocAccessor(model.sheet, [
|
|
235
|
-
"cells"
|
|
236
|
-
]);
|
|
237
|
-
if (dxGrid) {
|
|
238
|
-
dxGrid.getCells = cellGetter(model);
|
|
239
|
-
}
|
|
240
|
-
const handleCellsUpdate = () => {
|
|
241
|
-
dxGrid?.requestUpdate("initialCells");
|
|
242
|
-
};
|
|
243
|
-
cellsAccessor.handle.addListener("change", handleCellsUpdate);
|
|
244
|
-
const unsubscribe = model.graph.update.on(handleCellsUpdate);
|
|
245
|
-
return () => {
|
|
246
|
-
cellsAccessor.handle.removeListener("change", handleCellsUpdate);
|
|
247
|
-
unsubscribe();
|
|
248
|
-
};
|
|
249
|
-
}, [
|
|
250
|
-
model,
|
|
251
|
-
dxGrid
|
|
252
|
-
]);
|
|
253
|
-
useEffect(() => {
|
|
254
|
-
const columnMetaAccessor = createDocAccessor(model.sheet, [
|
|
255
|
-
"columnMeta"
|
|
256
|
-
]);
|
|
257
|
-
const rowMetaAccessor = createDocAccessor(model.sheet, [
|
|
258
|
-
"rowMeta"
|
|
259
|
-
]);
|
|
260
|
-
const handleColumnMetaUpdate = () => {
|
|
261
|
-
setColumns(createDxGridColumns(model));
|
|
262
|
-
};
|
|
263
|
-
const handleRowMetaUpdate = () => {
|
|
264
|
-
setRows(createDxGridRows(model));
|
|
265
|
-
};
|
|
266
|
-
columnMetaAccessor.handle.addListener("change", handleColumnMetaUpdate);
|
|
267
|
-
rowMetaAccessor.handle.addListener("change", handleRowMetaUpdate);
|
|
268
|
-
return () => {
|
|
269
|
-
columnMetaAccessor.handle.removeListener("change", handleColumnMetaUpdate);
|
|
270
|
-
rowMetaAccessor.handle.removeListener("change", handleRowMetaUpdate);
|
|
271
|
-
};
|
|
272
|
-
}, [
|
|
273
|
-
model,
|
|
274
|
-
dxGrid
|
|
275
|
-
]);
|
|
276
|
-
return {
|
|
277
|
-
columns,
|
|
278
|
-
rows
|
|
279
|
-
};
|
|
280
|
-
};
|
|
281
|
-
|
|
282
|
-
// packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts
|
|
111
|
+
// src/integrations/thread-ranges.ts
|
|
283
112
|
import { Schema as Schema2, pipe } from "effect";
|
|
284
|
-
import { useCallback as useCallback2, useEffect
|
|
285
|
-
import {
|
|
113
|
+
import { useCallback as useCallback2, useEffect, useMemo } from "react";
|
|
114
|
+
import { LayoutAction, chain, createIntent, createResolver, useIntentDispatcher, useIntentResolver } from "@dxos/app-framework";
|
|
286
115
|
import { debounce } from "@dxos/async";
|
|
287
|
-
import { inRange
|
|
116
|
+
import { inRange } from "@dxos/compute";
|
|
288
117
|
import { Obj, Relation } from "@dxos/echo";
|
|
289
118
|
import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
|
|
290
119
|
import { ThreadAction, ThreadType } from "@dxos/plugin-thread/types";
|
|
291
|
-
import { Filter, fullyQualifiedId, getSpace,
|
|
120
|
+
import { Filter, Query, fullyQualifiedId, getSpace, useQuery } from "@dxos/react-client/echo";
|
|
292
121
|
import { AnchoredTo } from "@dxos/schema";
|
|
293
122
|
var parseThreadAnchorAsCellRange = (cursor) => {
|
|
294
123
|
const coords = cursor.split(",");
|
|
@@ -346,7 +175,7 @@ var useSelectThreadOnCellFocus = () => {
|
|
|
346
175
|
const source = Relation.getSource(anchor);
|
|
347
176
|
if (anchor.anchor && Obj.instanceOf(ThreadType, source)) {
|
|
348
177
|
const range = parseThreadAnchorAsCellRange(anchor.anchor);
|
|
349
|
-
return range ?
|
|
178
|
+
return range ? inRange(range, cellAddress) : false;
|
|
350
179
|
} else {
|
|
351
180
|
return false;
|
|
352
181
|
}
|
|
@@ -370,7 +199,7 @@ var useSelectThreadOnCellFocus = () => {
|
|
|
370
199
|
}, [
|
|
371
200
|
selectClosestThread
|
|
372
201
|
]);
|
|
373
|
-
|
|
202
|
+
useEffect(() => {
|
|
374
203
|
if (!cursor) {
|
|
375
204
|
return;
|
|
376
205
|
}
|
|
@@ -381,13 +210,13 @@ var useSelectThreadOnCellFocus = () => {
|
|
|
381
210
|
]);
|
|
382
211
|
};
|
|
383
212
|
|
|
384
|
-
//
|
|
213
|
+
// src/components/SheetContext/SheetContext.tsx
|
|
385
214
|
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
386
|
-
import React3, { createContext as createContext2, useCallback as useCallback3, useContext as useContext2, useState
|
|
215
|
+
import React3, { createContext as createContext2, useCallback as useCallback3, useContext as useContext2, useState } from "react";
|
|
387
216
|
import { invariant } from "@dxos/invariant";
|
|
388
217
|
import { fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
|
|
389
218
|
import { Grid, useGridContext } from "@dxos/react-ui-grid";
|
|
390
|
-
var __dxlog_file = "/
|
|
219
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
|
|
391
220
|
var SheetContext = /* @__PURE__ */ createContext2(void 0);
|
|
392
221
|
var useSheetContext = () => {
|
|
393
222
|
const context = useContext2(SheetContext);
|
|
@@ -406,10 +235,10 @@ var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope
|
|
|
406
235
|
var _effect = _useSignals3();
|
|
407
236
|
try {
|
|
408
237
|
const { id, editing, setEditing } = useGridContext("SheetProvider", __gridScope);
|
|
409
|
-
const [cursor, setCursorInternal] =
|
|
410
|
-
const [range, setRangeInternal] =
|
|
411
|
-
const [cursorFallbackRange, setCursorFallbackRange] =
|
|
412
|
-
const [activeRefs, setActiveRefs] =
|
|
238
|
+
const [cursor, setCursorInternal] = useState();
|
|
239
|
+
const [range, setRangeInternal] = useState();
|
|
240
|
+
const [cursorFallbackRange, setCursorFallbackRange] = useState();
|
|
241
|
+
const [activeRefs, setActiveRefs] = useState("");
|
|
413
242
|
const setCursor = useCallback3((nextCursor) => {
|
|
414
243
|
setCursorInternal(nextCursor);
|
|
415
244
|
setCursorFallbackRange(range?.to ? range : nextCursor ? {
|
|
@@ -468,7 +297,178 @@ var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo
|
|
|
468
297
|
}
|
|
469
298
|
};
|
|
470
299
|
|
|
471
|
-
//
|
|
300
|
+
// src/components/GridSheet/util.ts
|
|
301
|
+
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
302
|
+
import { inRange as inRange2 } from "@dxos/compute";
|
|
303
|
+
import { createDocAccessor } from "@dxos/react-client/echo";
|
|
304
|
+
import { cellClassesForFieldType, parseValue } from "@dxos/react-ui-form";
|
|
305
|
+
import { colToA1Notation, commentedClassName, rowToA1Notation } from "@dxos/react-ui-grid";
|
|
306
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
307
|
+
var createDxGridColumns = (model) => {
|
|
308
|
+
return model.sheet.columns.reduce((acc, columnId, numericIndex) => {
|
|
309
|
+
if (model.sheet.columnMeta[columnId] && model.sheet.columnMeta[columnId].size) {
|
|
310
|
+
acc.grid[numericIndex] = {
|
|
311
|
+
size: model.sheet.columnMeta[columnId].size,
|
|
312
|
+
resizeable: true
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
return acc;
|
|
316
|
+
}, {
|
|
317
|
+
grid: {}
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
var createDxGridRows = (model) => {
|
|
321
|
+
return model.sheet.rows.reduce((acc, rowId, numericIndex) => {
|
|
322
|
+
if (model.sheet.rowMeta[rowId] && model.sheet.rowMeta[rowId].size) {
|
|
323
|
+
acc.grid[numericIndex] = {
|
|
324
|
+
size: model.sheet.rowMeta[rowId].size,
|
|
325
|
+
resizeable: true
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
return acc;
|
|
329
|
+
}, {
|
|
330
|
+
grid: {}
|
|
331
|
+
});
|
|
332
|
+
};
|
|
333
|
+
var projectCellProps = (model, col, row) => {
|
|
334
|
+
const address = {
|
|
335
|
+
col,
|
|
336
|
+
row
|
|
337
|
+
};
|
|
338
|
+
const rawValue = model.getValue(address);
|
|
339
|
+
const ranges = model.sheet.ranges?.filter(({ range }) => inRange2(rangeFromIndex(model.sheet, range), address));
|
|
340
|
+
const threadRefs = void 0;
|
|
341
|
+
const description = model.getValueDescription(address);
|
|
342
|
+
const type = description?.type;
|
|
343
|
+
const format = description?.format;
|
|
344
|
+
const classNames = ranges?.map(cellClassNameForRange).reverse();
|
|
345
|
+
return {
|
|
346
|
+
value: parseValue({
|
|
347
|
+
type,
|
|
348
|
+
format,
|
|
349
|
+
value: rawValue
|
|
350
|
+
}),
|
|
351
|
+
className: mx(cellClassesForFieldType({
|
|
352
|
+
type,
|
|
353
|
+
format
|
|
354
|
+
}), threadRefs && commentedClassName, classNames),
|
|
355
|
+
dataRefs: threadRefs
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
var gridCellGetter = (model) => {
|
|
359
|
+
const cachedGridCells = {};
|
|
360
|
+
return (nextBounds) => {
|
|
361
|
+
[
|
|
362
|
+
...Array(nextBounds.end.col - nextBounds.start.col)
|
|
363
|
+
].forEach((_, c0) => {
|
|
364
|
+
return [
|
|
365
|
+
...Array(nextBounds.end.row - nextBounds.start.row)
|
|
366
|
+
].forEach((_2, r0) => {
|
|
367
|
+
const col = nextBounds.start.col + c0;
|
|
368
|
+
const row = nextBounds.start.row + r0;
|
|
369
|
+
cachedGridCells[`${col},${row}`] = projectCellProps(model, col, row);
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
return cachedGridCells;
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
var rowLabelCell = (row) => ({
|
|
376
|
+
value: rowToA1Notation(row),
|
|
377
|
+
className: "!bg-toolbarSurface text-subdued text-end pie-1",
|
|
378
|
+
resizeHandle: "row"
|
|
379
|
+
});
|
|
380
|
+
var colLabelCell = (col) => ({
|
|
381
|
+
value: colToA1Notation(col),
|
|
382
|
+
className: "!bg-toolbarSurface text-subdued",
|
|
383
|
+
resizeHandle: "col"
|
|
384
|
+
});
|
|
385
|
+
var cellGetter = (model) => {
|
|
386
|
+
const getGridCells = gridCellGetter(model);
|
|
387
|
+
return (nextBounds, plane) => {
|
|
388
|
+
switch (plane) {
|
|
389
|
+
case "grid":
|
|
390
|
+
return getGridCells(nextBounds);
|
|
391
|
+
case "fixedStartStart": {
|
|
392
|
+
return {
|
|
393
|
+
"0,0": {
|
|
394
|
+
className: "!bg-toolbarSurface"
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
case "frozenColsStart":
|
|
399
|
+
return [
|
|
400
|
+
...Array(nextBounds.end.row - nextBounds.start.row)
|
|
401
|
+
].reduce((acc, _, r0) => {
|
|
402
|
+
const r = nextBounds.start.row + r0;
|
|
403
|
+
acc[`0,${r}`] = rowLabelCell(r);
|
|
404
|
+
return acc;
|
|
405
|
+
}, {});
|
|
406
|
+
case "frozenRowsStart":
|
|
407
|
+
return [
|
|
408
|
+
...Array(nextBounds.end.col - nextBounds.start.col)
|
|
409
|
+
].reduce((acc, _, c0) => {
|
|
410
|
+
const c = nextBounds.start.col + c0;
|
|
411
|
+
acc[`${c},0`] = colLabelCell(c);
|
|
412
|
+
return acc;
|
|
413
|
+
}, {});
|
|
414
|
+
default:
|
|
415
|
+
return {};
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
};
|
|
419
|
+
var useSheetModelDxGridProps = (dxGrid, model) => {
|
|
420
|
+
const [columns, setColumns] = useState2(createDxGridColumns(model));
|
|
421
|
+
const [rows, setRows] = useState2(createDxGridRows(model));
|
|
422
|
+
useEffect2(() => {
|
|
423
|
+
const cellsAccessor = createDocAccessor(model.sheet, [
|
|
424
|
+
"cells"
|
|
425
|
+
]);
|
|
426
|
+
if (dxGrid) {
|
|
427
|
+
dxGrid.getCells = cellGetter(model);
|
|
428
|
+
}
|
|
429
|
+
const handleCellsUpdate = () => {
|
|
430
|
+
dxGrid?.requestUpdate("initialCells");
|
|
431
|
+
};
|
|
432
|
+
cellsAccessor.handle.addListener("change", handleCellsUpdate);
|
|
433
|
+
const unsubscribe = model.graph.update.on(handleCellsUpdate);
|
|
434
|
+
return () => {
|
|
435
|
+
cellsAccessor.handle.removeListener("change", handleCellsUpdate);
|
|
436
|
+
unsubscribe();
|
|
437
|
+
};
|
|
438
|
+
}, [
|
|
439
|
+
model,
|
|
440
|
+
dxGrid
|
|
441
|
+
]);
|
|
442
|
+
useEffect2(() => {
|
|
443
|
+
const columnMetaAccessor = createDocAccessor(model.sheet, [
|
|
444
|
+
"columnMeta"
|
|
445
|
+
]);
|
|
446
|
+
const rowMetaAccessor = createDocAccessor(model.sheet, [
|
|
447
|
+
"rowMeta"
|
|
448
|
+
]);
|
|
449
|
+
const handleColumnMetaUpdate = () => {
|
|
450
|
+
setColumns(createDxGridColumns(model));
|
|
451
|
+
};
|
|
452
|
+
const handleRowMetaUpdate = () => {
|
|
453
|
+
setRows(createDxGridRows(model));
|
|
454
|
+
};
|
|
455
|
+
columnMetaAccessor.handle.addListener("change", handleColumnMetaUpdate);
|
|
456
|
+
rowMetaAccessor.handle.addListener("change", handleRowMetaUpdate);
|
|
457
|
+
return () => {
|
|
458
|
+
columnMetaAccessor.handle.removeListener("change", handleColumnMetaUpdate);
|
|
459
|
+
rowMetaAccessor.handle.removeListener("change", handleRowMetaUpdate);
|
|
460
|
+
};
|
|
461
|
+
}, [
|
|
462
|
+
model,
|
|
463
|
+
dxGrid
|
|
464
|
+
]);
|
|
465
|
+
return {
|
|
466
|
+
columns,
|
|
467
|
+
rows
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
// src/components/GridSheet/GridSheet.tsx
|
|
472
472
|
var inertPosition = {
|
|
473
473
|
plane: "grid",
|
|
474
474
|
col: 0,
|
|
@@ -496,7 +496,8 @@ var frozen = {
|
|
|
496
496
|
var sheetColDefault = {
|
|
497
497
|
frozenColsStart: {
|
|
498
498
|
size: 48,
|
|
499
|
-
readonly: true
|
|
499
|
+
readonly: true,
|
|
500
|
+
focusUnfurl: false
|
|
500
501
|
},
|
|
501
502
|
grid: {
|
|
502
503
|
size: defaultColSize,
|
|
@@ -506,7 +507,8 @@ var sheetColDefault = {
|
|
|
506
507
|
var sheetRowDefault = {
|
|
507
508
|
frozenRowsStart: {
|
|
508
509
|
size: defaultRowSize,
|
|
509
|
-
readonly: true
|
|
510
|
+
readonly: true,
|
|
511
|
+
focusUnfurl: false
|
|
510
512
|
},
|
|
511
513
|
grid: {
|
|
512
514
|
size: defaultRowSize,
|
|
@@ -576,12 +578,14 @@ var GridSheet = () => {
|
|
|
576
578
|
]);
|
|
577
579
|
const handleAxisResize = useCallback4(({ axis, size, index: numericIndex }) => {
|
|
578
580
|
if (axis === "row") {
|
|
581
|
+
var _model_sheet_rowMeta, _rowId;
|
|
579
582
|
const rowId = model.sheet.rows[parseInt(numericIndex)];
|
|
580
|
-
model.sheet.rowMeta[rowId]
|
|
583
|
+
(_model_sheet_rowMeta = model.sheet.rowMeta)[_rowId = rowId] ?? (_model_sheet_rowMeta[_rowId] = {});
|
|
581
584
|
model.sheet.rowMeta[rowId].size = size;
|
|
582
585
|
} else {
|
|
586
|
+
var _model_sheet_columnMeta, _columnId;
|
|
583
587
|
const columnId = model.sheet.columns[parseInt(numericIndex)];
|
|
584
|
-
model.sheet.columnMeta[columnId]
|
|
588
|
+
(_model_sheet_columnMeta = model.sheet.columnMeta)[_columnId = columnId] ?? (_model_sheet_columnMeta[_columnId] = {});
|
|
585
589
|
model.sheet.columnMeta[columnId].size = size;
|
|
586
590
|
}
|
|
587
591
|
}, [
|
|
@@ -738,7 +742,7 @@ var GridSheet = () => {
|
|
|
738
742
|
dispatch
|
|
739
743
|
]);
|
|
740
744
|
const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
|
|
741
|
-
const
|
|
745
|
+
const extensions = useMemo2(() => [
|
|
742
746
|
editorKeys({
|
|
743
747
|
onClose: handleClose,
|
|
744
748
|
...editing?.initialContent && {
|
|
@@ -775,7 +779,7 @@ var GridSheet = () => {
|
|
|
775
779
|
className: "relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent "
|
|
776
780
|
}, /* @__PURE__ */ React4.createElement(GridCellEditor, {
|
|
777
781
|
getCellContent,
|
|
778
|
-
|
|
782
|
+
extensions,
|
|
779
783
|
onBlur: handleBlur
|
|
780
784
|
}), /* @__PURE__ */ React4.createElement(Grid2.Content, {
|
|
781
785
|
initialCells,
|
|
@@ -833,8 +837,8 @@ var GridSheet = () => {
|
|
|
833
837
|
}
|
|
834
838
|
};
|
|
835
839
|
|
|
836
|
-
//
|
|
837
|
-
var SheetContainer = lazy(() => import("./SheetContainer-
|
|
840
|
+
// src/components/index.ts
|
|
841
|
+
var SheetContainer = lazy(() => import("./SheetContainer-NFLLTGNV.mjs"));
|
|
838
842
|
|
|
839
843
|
export {
|
|
840
844
|
ComputeGraphContextProvider,
|
|
@@ -845,4 +849,4 @@ export {
|
|
|
845
849
|
RangeList,
|
|
846
850
|
SheetContainer
|
|
847
851
|
};
|
|
848
|
-
//# sourceMappingURL=chunk-
|
|
852
|
+
//# sourceMappingURL=chunk-PYF4ZJXN.mjs.map
|