@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.
Files changed (191) hide show
  1. package/dist/lib/browser/{SheetContainer-BDZXBB5U.mjs → SheetContainer-OUN6AARA.mjs} +30 -31
  2. package/dist/lib/browser/SheetContainer-OUN6AARA.mjs.map +7 -0
  3. package/dist/lib/browser/{anchor-sort-NYYZLRAA.mjs → anchor-sort-CAYLDDRF.mjs} +6 -6
  4. package/dist/lib/browser/{anchor-sort-NYYZLRAA.mjs.map → anchor-sort-CAYLDDRF.mjs.map} +2 -2
  5. package/dist/lib/browser/{chunk-D3G4UGEK.mjs → chunk-6AKBCBL4.mjs} +2 -2
  6. package/dist/lib/browser/{chunk-IR42IS3F.mjs → chunk-KJWZUQVA.mjs} +3 -3
  7. package/dist/lib/browser/{chunk-FJRLDX7Z.mjs → chunk-SSN4HYJL.mjs} +7 -7
  8. package/dist/lib/browser/chunk-SSN4HYJL.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-5TA43LO4.mjs → chunk-X4EWLDT3.mjs} +207 -203
  10. package/dist/lib/browser/chunk-X4EWLDT3.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-I7FZ4TWJ.mjs → chunk-XSXUU6FO.mjs} +29 -15
  12. package/dist/lib/browser/chunk-XSXUU6FO.mjs.map +7 -0
  13. package/dist/lib/browser/{compute-graph-registry-IXGGJJBU.mjs → compute-graph-registry-WHF3BJTJ.mjs} +6 -6
  14. package/dist/lib/{node-esm/compute-graph-registry-7PDWXMHF.mjs.map → browser/compute-graph-registry-WHF3BJTJ.mjs.map} +2 -2
  15. package/dist/lib/browser/index.mjs +21 -20
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-IBBI6B74.mjs → intent-resolver-LKZXAJRJ.mjs} +7 -7
  18. package/dist/lib/browser/{intent-resolver-IBBI6B74.mjs.map → intent-resolver-LKZXAJRJ.mjs.map} +3 -3
  19. package/dist/lib/browser/{markdown-T4TUP4BF.mjs → markdown-XKFA4Z2M.mjs} +7 -7
  20. package/dist/lib/browser/markdown-XKFA4Z2M.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-surface-UI46P43F.mjs → react-surface-N6NYHHT3.mjs} +9 -9
  23. package/dist/lib/browser/{react-surface-UI46P43F.mjs.map → react-surface-N6NYHHT3.mjs.map} +2 -2
  24. package/dist/lib/browser/types/index.mjs +2 -2
  25. package/dist/lib/node-esm/{SheetContainer-V632Q4HA.mjs → SheetContainer-NFLLTGNV.mjs} +30 -31
  26. package/dist/lib/node-esm/SheetContainer-NFLLTGNV.mjs.map +7 -0
  27. package/dist/lib/node-esm/{anchor-sort-JTNZOE67.mjs → anchor-sort-4R2ID6GE.mjs} +6 -6
  28. package/dist/lib/node-esm/{anchor-sort-JTNZOE67.mjs.map → anchor-sort-4R2ID6GE.mjs.map} +2 -2
  29. package/dist/lib/node-esm/{chunk-Y6ND5HWX.mjs → chunk-3K5VNYOF.mjs} +2 -2
  30. package/dist/lib/node-esm/{chunk-IQ76YE6M.mjs → chunk-6SK5LJ5S.mjs} +3 -3
  31. package/dist/lib/node-esm/{chunk-NMCVJWDT.mjs → chunk-IK4O7FUJ.mjs} +7 -7
  32. package/dist/lib/node-esm/chunk-IK4O7FUJ.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-C4IKYVTV.mjs → chunk-ODP4L4OV.mjs} +29 -15
  34. package/dist/lib/node-esm/chunk-ODP4L4OV.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-SOC52B67.mjs → chunk-PYF4ZJXN.mjs} +207 -203
  36. package/dist/lib/node-esm/chunk-PYF4ZJXN.mjs.map +7 -0
  37. package/dist/lib/node-esm/{compute-graph-registry-7PDWXMHF.mjs → compute-graph-registry-3IUZXRXJ.mjs} +6 -6
  38. package/dist/lib/{browser/compute-graph-registry-IXGGJJBU.mjs.map → node-esm/compute-graph-registry-3IUZXRXJ.mjs.map} +2 -2
  39. package/dist/lib/node-esm/index.mjs +21 -20
  40. package/dist/lib/node-esm/index.mjs.map +3 -3
  41. package/dist/lib/node-esm/{intent-resolver-M2HNR7PJ.mjs → intent-resolver-JHH6ZVJ4.mjs} +7 -7
  42. package/dist/lib/node-esm/{intent-resolver-M2HNR7PJ.mjs.map → intent-resolver-JHH6ZVJ4.mjs.map} +3 -3
  43. package/dist/lib/node-esm/{markdown-WWUJ3E5F.mjs → markdown-NOKROLCG.mjs} +7 -7
  44. package/dist/lib/node-esm/markdown-NOKROLCG.mjs.map +7 -0
  45. package/dist/lib/node-esm/meta.json +1 -1
  46. package/dist/lib/node-esm/{react-surface-OLXO2MVB.mjs → react-surface-TYBS4DOF.mjs} +9 -9
  47. package/dist/lib/node-esm/{react-surface-OLXO2MVB.mjs.map → react-surface-TYBS4DOF.mjs.map} +2 -2
  48. package/dist/lib/node-esm/types/index.mjs +2 -2
  49. package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
  50. package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
  51. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/index.d.ts +6 -8
  53. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  55. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/markdown.d.ts +1 -3
  57. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  59. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  60. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  61. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -3
  62. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  64. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +49 -2
  65. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  66. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -19
  67. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/GridSheet/util.d.ts +1 -1
  69. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  70. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  71. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +49 -2
  72. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  73. package/dist/types/src/components/SheetContext/SheetContext.d.ts +1 -1
  74. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  75. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  76. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -3
  77. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  78. package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
  79. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  80. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  81. package/dist/types/src/extensions/compute.d.ts +1 -1
  82. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  83. package/dist/types/src/extensions/compute.stories.d.ts +10 -12
  84. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  85. package/dist/types/src/extensions/editor/index.d.ts +1 -1
  86. package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
  87. package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
  88. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
  89. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
  90. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
  91. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  92. package/dist/types/src/model/sheet-model.d.ts +1 -1
  93. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  94. package/dist/types/src/playwright/playwright.config.d.ts +3 -0
  95. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  96. package/dist/types/src/{testing/playwright → playwright}/sheet-manager.d.ts +1 -1
  97. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -0
  98. package/dist/types/src/playwright/sheet.spec.d.ts.map +1 -0
  99. package/dist/types/src/testing/testing.d.ts.map +1 -1
  100. package/dist/types/src/translations.d.ts +7 -62
  101. package/dist/types/src/translations.d.ts.map +1 -1
  102. package/dist/types/src/types/schema.d.ts.map +1 -1
  103. package/dist/types/src/types/types.d.ts +1 -1
  104. package/dist/types/src/types/types.d.ts.map +1 -1
  105. package/dist/types/src/types/util.d.ts.map +1 -1
  106. package/dist/types/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +59 -57
  108. package/src/SheetPlugin.tsx +3 -3
  109. package/src/capabilities/anchor-sort.ts +1 -1
  110. package/src/capabilities/compute-graph-registry.ts +1 -1
  111. package/src/capabilities/intent-resolver.ts +2 -2
  112. package/src/capabilities/markdown.ts +3 -2
  113. package/src/capabilities/react-surface.tsx +2 -1
  114. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  115. package/src/components/ComputeGraph/compute-graph.stories.tsx +13 -10
  116. package/src/components/GridSheet/GridSheet.stories.tsx +9 -6
  117. package/src/components/GridSheet/GridSheet.tsx +19 -18
  118. package/src/components/GridSheet/SheetCellEditor.stories.tsx +37 -38
  119. package/src/components/GridSheet/util.ts +6 -6
  120. package/src/components/SheetContainer/SheetContainer.stories.tsx +10 -7
  121. package/src/components/SheetContainer/SheetContainer.tsx +1 -1
  122. package/src/components/SheetContext/SheetContext.tsx +1 -1
  123. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +10 -7
  124. package/src/components/SheetToolbar/SheetToolbar.tsx +16 -15
  125. package/src/components/SheetToolbar/align.ts +4 -3
  126. package/src/components/SheetToolbar/style.ts +2 -2
  127. package/src/extensions/compute.stories.tsx +20 -19
  128. package/src/extensions/compute.ts +2 -3
  129. package/src/extensions/editor/index.ts +1 -1
  130. package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
  131. package/src/integrations/thread-ranges.ts +7 -6
  132. package/src/model/sheet-model.test.ts +2 -1
  133. package/src/model/sheet-model.ts +6 -6
  134. package/src/playwright/playwright.config.ts +17 -0
  135. package/src/{testing/playwright → playwright}/sheet-manager.ts +1 -1
  136. package/src/{testing/playwright → playwright}/sheet.spec.ts +2 -2
  137. package/src/sanity.test.ts +1 -1
  138. package/src/testing/testing.tsx +1 -1
  139. package/src/translations.ts +8 -6
  140. package/src/types/schema.ts +1 -0
  141. package/src/types/types.ts +2 -1
  142. package/src/types/util.ts +3 -3
  143. package/dist/lib/browser/SheetContainer-BDZXBB5U.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-5TA43LO4.mjs.map +0 -7
  145. package/dist/lib/browser/chunk-FJRLDX7Z.mjs.map +0 -7
  146. package/dist/lib/browser/chunk-I7FZ4TWJ.mjs.map +0 -7
  147. package/dist/lib/browser/markdown-T4TUP4BF.mjs.map +0 -7
  148. package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs +0 -351
  149. package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs.map +0 -7
  150. package/dist/lib/node/anchor-sort-A7NABMJM.cjs +0 -39
  151. package/dist/lib/node/anchor-sort-A7NABMJM.cjs.map +0 -7
  152. package/dist/lib/node/chunk-FIM6EZ6M.cjs +0 -256
  153. package/dist/lib/node/chunk-FIM6EZ6M.cjs.map +0 -7
  154. package/dist/lib/node/chunk-JSIDCZHB.cjs +0 -41
  155. package/dist/lib/node/chunk-JSIDCZHB.cjs.map +0 -7
  156. package/dist/lib/node/chunk-LJWWS53Z.cjs +0 -34
  157. package/dist/lib/node/chunk-LJWWS53Z.cjs.map +0 -7
  158. package/dist/lib/node/chunk-N7FSEUIN.cjs +0 -927
  159. package/dist/lib/node/chunk-N7FSEUIN.cjs.map +0 -7
  160. package/dist/lib/node/chunk-ST3WA73J.cjs +0 -855
  161. package/dist/lib/node/chunk-ST3WA73J.cjs.map +0 -7
  162. package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs +0 -56
  163. package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs.map +0 -7
  164. package/dist/lib/node/index.cjs +0 -173
  165. package/dist/lib/node/index.cjs.map +0 -7
  166. package/dist/lib/node/intent-resolver-2657YDOU.cjs +0 -69
  167. package/dist/lib/node/intent-resolver-2657YDOU.cjs.map +0 -7
  168. package/dist/lib/node/markdown-DBPOAYI7.cjs +0 -40
  169. package/dist/lib/node/markdown-DBPOAYI7.cjs.map +0 -7
  170. package/dist/lib/node/meta.json +0 -1
  171. package/dist/lib/node/react-surface-XQEIRKWU.cjs +0 -71
  172. package/dist/lib/node/react-surface-XQEIRKWU.cjs.map +0 -7
  173. package/dist/lib/node/types/index.cjs +0 -84
  174. package/dist/lib/node/types/index.cjs.map +0 -7
  175. package/dist/lib/node-esm/SheetContainer-V632Q4HA.mjs.map +0 -7
  176. package/dist/lib/node-esm/chunk-C4IKYVTV.mjs.map +0 -7
  177. package/dist/lib/node-esm/chunk-NMCVJWDT.mjs.map +0 -7
  178. package/dist/lib/node-esm/chunk-SOC52B67.mjs.map +0 -7
  179. package/dist/lib/node-esm/markdown-WWUJ3E5F.mjs.map +0 -7
  180. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  181. package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
  182. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  183. package/dist/types/src/testing/playwright/sheet-manager.d.ts.map +0 -1
  184. package/dist/types/src/testing/playwright/sheet.spec.d.ts.map +0 -1
  185. package/src/testing/playwright/playwright.config.cts +0 -18
  186. /package/dist/lib/browser/{chunk-D3G4UGEK.mjs.map → chunk-6AKBCBL4.mjs.map} +0 -0
  187. /package/dist/lib/browser/{chunk-IR42IS3F.mjs.map → chunk-KJWZUQVA.mjs.map} +0 -0
  188. /package/dist/lib/node-esm/{chunk-Y6ND5HWX.mjs.map → chunk-3K5VNYOF.mjs.map} +0 -0
  189. /package/dist/lib/node-esm/{chunk-IQ76YE6M.mjs.map → chunk-6SK5LJ5S.mjs.map} +0 -0
  190. /package/dist/types/src/{testing/playwright → playwright}/sheet.spec.d.ts +0 -0
  191. /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-I7FZ4TWJ.mjs";
9
+ } from "./chunk-XSXUU6FO.mjs";
10
10
  import {
11
11
  rangeExtension,
12
12
  sheetExtension
13
- } from "./chunk-FJRLDX7Z.mjs";
13
+ } from "./chunk-SSN4HYJL.mjs";
14
14
  import {
15
15
  SHEET_PLUGIN
16
- } from "./chunk-D3G4UGEK.mjs";
16
+ } from "./chunk-6AKBCBL4.mjs";
17
17
 
18
- // packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx
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
- // packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx
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
- // packages/plugins/plugin-sheet/src/components/index.ts
97
+ // src/components/index.ts
98
98
  import { lazy } from "react";
99
99
 
100
- // packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx
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 { closestCell, editorKeys, parseCellIndex, Grid as Grid2, GridCellEditor } from "@dxos/react-ui-grid";
108
+ import { Grid as Grid2, GridCellEditor, closestCell, editorKeys, parseCellIndex } from "@dxos/react-ui-grid";
109
109
 
110
- // packages/plugins/plugin-sheet/src/components/GridSheet/util.ts
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 as useEffect2, useMemo } from "react";
284
- import { createIntent, createResolver, LayoutAction, useIntentResolver, useIntentDispatcher, chain } from "@dxos/app-framework";
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 as inRange2 } from "@dxos/compute";
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, Query, useQuery } from "@dxos/react-client/echo";
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 ? inRange2(range, cellAddress) : false;
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
- useEffect2(() => {
201
+ useEffect(() => {
373
202
  if (!cursor) {
374
203
  return;
375
204
  }
@@ -380,13 +209,13 @@ var useSelectThreadOnCellFocus = () => {
380
209
  ]);
381
210
  };
382
211
 
383
- // packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx
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 as useState2 } from "react";
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 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
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] = useState2();
409
- const [range, setRangeInternal] = useState2();
410
- const [cursorFallbackRange, setCursorFallbackRange] = useState2();
411
- const [activeRefs, setActiveRefs] = useState2("");
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
- // packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx
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 extension = useMemo2(() => [
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
- extension,
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
- // packages/plugins/plugin-sheet/src/components/index.ts
836
- var SheetContainer = lazy(() => import("./SheetContainer-BDZXBB5U.mjs"));
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-5TA43LO4.mjs.map
851
+ //# sourceMappingURL=chunk-X4EWLDT3.mjs.map