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