@dxos/plugin-sheet 0.8.4-main.67995b8 → 0.8.4-main.ae835ea

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 (206) hide show
  1. package/dist/lib/browser/{SheetContainer-KDGD4AVG.mjs → SheetContainer-GTINUSNB.mjs} +31 -33
  2. package/dist/lib/browser/SheetContainer-GTINUSNB.mjs.map +7 -0
  3. package/dist/lib/browser/{anchor-sort-VHURGBOY.mjs → anchor-sort-R5CB37J7.mjs} +7 -7
  4. package/dist/lib/browser/anchor-sort-R5CB37J7.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-KJWZUQVA.mjs → chunk-73AV3NH6.mjs} +4 -4
  6. package/dist/lib/browser/chunk-73AV3NH6.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-7HQX4NQP.mjs → chunk-7VEWYJJN.mjs} +2 -2
  8. package/dist/lib/browser/chunk-7VEWYJJN.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-SI4X5GUR.mjs → chunk-DVJ3QW3F.mjs} +220 -205
  10. package/dist/lib/browser/chunk-DVJ3QW3F.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-FWFAAGXL.mjs +28 -0
  12. package/dist/lib/browser/chunk-FWFAAGXL.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-JUOVL3LE.mjs → chunk-LS6D4GG7.mjs} +208 -205
  14. package/dist/lib/browser/chunk-LS6D4GG7.mjs.map +7 -0
  15. package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs +21 -0
  16. package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +20 -21
  18. package/dist/lib/browser/index.mjs.map +3 -3
  19. package/dist/lib/browser/{intent-resolver-WOJGZMSV.mjs → intent-resolver-66OAYVQF.mjs} +10 -10
  20. package/dist/lib/browser/intent-resolver-66OAYVQF.mjs.map +7 -0
  21. package/dist/lib/browser/{markdown-VXMIPUQC.mjs → markdown-B6VKYY2S.mjs} +6 -6
  22. package/dist/lib/browser/markdown-B6VKYY2S.mjs.map +7 -0
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-surface-SE4HGAEH.mjs → react-surface-F3VQPGDV.mjs} +14 -14
  25. package/dist/lib/browser/react-surface-F3VQPGDV.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +4 -12
  27. package/dist/lib/node-esm/{SheetContainer-RMG24NZC.mjs → SheetContainer-PW4KNZME.mjs} +31 -33
  28. package/dist/lib/node-esm/SheetContainer-PW4KNZME.mjs.map +7 -0
  29. package/dist/lib/node-esm/{anchor-sort-CTJGOPET.mjs → anchor-sort-HEND452H.mjs} +7 -7
  30. package/dist/lib/node-esm/anchor-sort-HEND452H.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-6SK5LJ5S.mjs → chunk-44YTKTMP.mjs} +4 -4
  32. package/dist/lib/node-esm/chunk-44YTKTMP.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-CADTJFAS.mjs → chunk-4H2EHVWE.mjs} +220 -205
  34. package/dist/lib/node-esm/chunk-4H2EHVWE.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-Q6UYC4G5.mjs → chunk-4QV4AGWK.mjs} +2 -2
  36. package/dist/lib/node-esm/chunk-4QV4AGWK.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-HILDMVPL.mjs +29 -0
  38. package/dist/lib/node-esm/chunk-HILDMVPL.mjs.map +7 -0
  39. package/dist/lib/node-esm/{chunk-IFMIRCZH.mjs → chunk-LYUIM3QG.mjs} +208 -205
  40. package/dist/lib/node-esm/chunk-LYUIM3QG.mjs.map +7 -0
  41. package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs +22 -0
  42. package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs.map +7 -0
  43. package/dist/lib/node-esm/index.mjs +20 -21
  44. package/dist/lib/node-esm/index.mjs.map +3 -3
  45. package/dist/lib/node-esm/{intent-resolver-PZRXBNIJ.mjs → intent-resolver-VNKIMQQT.mjs} +10 -10
  46. package/dist/lib/node-esm/intent-resolver-VNKIMQQT.mjs.map +7 -0
  47. package/dist/lib/node-esm/{markdown-4VPQJZNZ.mjs → markdown-VKY7HXU2.mjs} +6 -6
  48. package/dist/lib/node-esm/markdown-VKY7HXU2.mjs.map +7 -0
  49. package/dist/lib/node-esm/meta.json +1 -1
  50. package/dist/lib/node-esm/{react-surface-LAU23XBH.mjs → react-surface-GGX76V2Y.mjs} +14 -14
  51. package/dist/lib/node-esm/react-surface-GGX76V2Y.mjs.map +7 -0
  52. package/dist/lib/node-esm/types/index.mjs +4 -12
  53. package/dist/types/src/SheetPlugin.d.ts +1 -1
  54. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/anchor-sort.d.ts +2 -2
  56. package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
  57. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/index.d.ts +6 -8
  59. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  61. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/markdown.d.ts +1 -3
  63. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  65. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  66. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  67. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -4
  68. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  69. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  70. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +50 -3
  71. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  72. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -20
  73. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  74. package/dist/types/src/components/GridSheet/util.d.ts +1 -1
  75. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  76. package/dist/types/src/components/RangeList/RangeList.d.ts +2 -2
  77. package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
  78. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +2 -2
  79. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  80. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +52 -5
  81. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  82. package/dist/types/src/components/SheetContext/SheetContext.d.ts +3 -3
  83. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  84. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +3 -4
  85. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  86. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -4
  87. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  88. package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
  89. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  90. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  91. package/dist/types/src/extensions/compute.d.ts +1 -1
  92. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  93. package/dist/types/src/extensions/compute.stories.d.ts +10 -13
  94. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  95. package/dist/types/src/extensions/editor/index.d.ts +1 -1
  96. package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
  97. package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
  98. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
  99. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
  100. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
  101. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  102. package/dist/types/src/meta.d.ts +0 -1
  103. package/dist/types/src/meta.d.ts.map +1 -1
  104. package/dist/types/src/model/sheet-model.d.ts +5 -5
  105. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  106. package/dist/types/src/model/testing.d.ts +2 -2
  107. package/dist/types/src/model/testing.d.ts.map +1 -1
  108. package/dist/types/src/model/useSheetModel.d.ts +2 -2
  109. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  110. package/dist/types/src/playwright/sheet-manager.d.ts +1 -1
  111. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  112. package/dist/types/src/serializer.d.ts +2 -2
  113. package/dist/types/src/serializer.d.ts.map +1 -1
  114. package/dist/types/src/testing/data.d.ts +2 -2
  115. package/dist/types/src/testing/data.d.ts.map +1 -1
  116. package/dist/types/src/testing/testing.d.ts +27 -3
  117. package/dist/types/src/testing/testing.d.ts.map +1 -1
  118. package/dist/types/src/translations.d.ts +2 -2
  119. package/dist/types/src/translations.d.ts.map +1 -1
  120. package/dist/types/src/types/{schema.d.ts → Sheet.d.ts} +37 -4
  121. package/dist/types/src/types/Sheet.d.ts.map +1 -0
  122. package/dist/types/src/types/index.d.ts +1 -1
  123. package/dist/types/src/types/index.d.ts.map +1 -1
  124. package/dist/types/src/types/sheet-range-types.d.ts +2 -2
  125. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  126. package/dist/types/src/types/types.d.ts +7 -16
  127. package/dist/types/src/types/types.d.ts.map +1 -1
  128. package/dist/types/src/types/util.d.ts +9 -10
  129. package/dist/types/src/types/util.d.ts.map +1 -1
  130. package/dist/types/tsconfig.tsbuildinfo +1 -1
  131. package/package.json +67 -67
  132. package/src/SheetPlugin.tsx +71 -62
  133. package/src/capabilities/anchor-sort.ts +3 -3
  134. package/src/capabilities/capabilities.ts +2 -2
  135. package/src/capabilities/compute-graph-registry.ts +9 -14
  136. package/src/capabilities/intent-resolver.ts +5 -5
  137. package/src/capabilities/markdown.ts +3 -2
  138. package/src/capabilities/react-surface.tsx +9 -8
  139. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  140. package/src/components/ComputeGraph/compute-graph.stories.tsx +21 -20
  141. package/src/components/GridSheet/GridSheet.stories.tsx +19 -13
  142. package/src/components/GridSheet/GridSheet.tsx +23 -22
  143. package/src/components/GridSheet/SheetCellEditor.stories.tsx +40 -42
  144. package/src/components/GridSheet/util.ts +6 -6
  145. package/src/components/RangeList/RangeList.tsx +8 -8
  146. package/src/components/SheetContainer/SheetContainer.stories.tsx +41 -40
  147. package/src/components/SheetContainer/SheetContainer.tsx +8 -4
  148. package/src/components/SheetContext/SheetContext.tsx +3 -3
  149. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +19 -13
  150. package/src/components/SheetToolbar/SheetToolbar.tsx +20 -24
  151. package/src/components/SheetToolbar/align.ts +7 -6
  152. package/src/components/SheetToolbar/style.ts +4 -4
  153. package/src/extensions/compute.stories.tsx +29 -25
  154. package/src/extensions/compute.ts +2 -3
  155. package/src/extensions/editor/index.ts +1 -1
  156. package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
  157. package/src/integrations/thread-ranges.ts +11 -10
  158. package/src/meta.ts +7 -5
  159. package/src/model/sheet-model.test.ts +5 -4
  160. package/src/model/sheet-model.ts +9 -9
  161. package/src/model/testing.ts +4 -4
  162. package/src/model/useSheetModel.ts +2 -2
  163. package/src/playwright/sheet-manager.ts +1 -1
  164. package/src/playwright/sheet.spec.ts +1 -1
  165. package/src/sanity.test.ts +4 -5
  166. package/src/serializer.ts +3 -3
  167. package/src/testing/data.ts +2 -2
  168. package/src/testing/testing.tsx +11 -5
  169. package/src/translations.ts +2 -2
  170. package/src/types/Sheet.ts +103 -0
  171. package/src/types/index.ts +1 -1
  172. package/src/types/sheet-range-types.ts +2 -2
  173. package/src/types/types.ts +6 -15
  174. package/src/types/util.ts +13 -41
  175. package/dist/lib/browser/SheetContainer-KDGD4AVG.mjs.map +0 -7
  176. package/dist/lib/browser/anchor-sort-VHURGBOY.mjs.map +0 -7
  177. package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
  178. package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
  179. package/dist/lib/browser/chunk-7HQX4NQP.mjs.map +0 -7
  180. package/dist/lib/browser/chunk-JUOVL3LE.mjs.map +0 -7
  181. package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
  182. package/dist/lib/browser/chunk-SI4X5GUR.mjs.map +0 -7
  183. package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs +0 -30
  184. package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs.map +0 -7
  185. package/dist/lib/browser/intent-resolver-WOJGZMSV.mjs.map +0 -7
  186. package/dist/lib/browser/markdown-VXMIPUQC.mjs.map +0 -7
  187. package/dist/lib/browser/react-surface-SE4HGAEH.mjs.map +0 -7
  188. package/dist/lib/node-esm/SheetContainer-RMG24NZC.mjs.map +0 -7
  189. package/dist/lib/node-esm/anchor-sort-CTJGOPET.mjs.map +0 -7
  190. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
  191. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
  192. package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
  193. package/dist/lib/node-esm/chunk-CADTJFAS.mjs.map +0 -7
  194. package/dist/lib/node-esm/chunk-IFMIRCZH.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-Q6UYC4G5.mjs.map +0 -7
  196. package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs +0 -31
  197. package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs.map +0 -7
  198. package/dist/lib/node-esm/intent-resolver-PZRXBNIJ.mjs.map +0 -7
  199. package/dist/lib/node-esm/markdown-4VPQJZNZ.mjs.map +0 -7
  200. package/dist/lib/node-esm/react-surface-LAU23XBH.mjs.map +0 -7
  201. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  202. package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
  203. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  204. package/dist/types/src/types/schema.d.ts.map +0 -1
  205. package/src/types/schema.ts +0 -61
  206. /package/src/extensions/editor/{extension.ts → sheet-extension.ts} +0 -0
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  DEFAULT_COLS,
3
3
  DEFAULT_ROWS,
4
- Range,
5
4
  SheetAction,
5
+ Sheet_exports,
6
6
  cellClassNameForRange,
7
7
  rangeFromIndex,
8
8
  useSheetModel
9
- } from "./chunk-SI4X5GUR.mjs";
9
+ } from "./chunk-DVJ3QW3F.mjs";
10
10
  import {
11
11
  rangeExtension,
12
12
  sheetExtension
13
- } from "./chunk-7HQX4NQP.mjs";
13
+ } from "./chunk-7VEWYJJN.mjs";
14
14
  import {
15
- SHEET_PLUGIN
16
- } from "./chunk-6AKBCBL4.mjs";
15
+ meta
16
+ } from "./chunk-FWFAAGXL.mjs";
17
17
 
18
18
  // src/components/ComputeGraph/ComputeGraphContextProvider.tsx
19
19
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
@@ -50,7 +50,7 @@ var useComputeGraph = (space) => {
50
50
 
51
51
  // src/components/RangeList/RangeList.tsx
52
52
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
53
- import { Schema } from "effect";
53
+ import * as Schema from "effect/Schema";
54
54
  import React2, { useCallback } from "react";
55
55
  import { rangeToA1Notation } from "@dxos/compute";
56
56
  import { Callout, useTranslation } from "@dxos/react-ui";
@@ -59,7 +59,7 @@ import { ghostHover } from "@dxos/react-ui-theme";
59
59
  var RangeList = ({ sheet }) => {
60
60
  var _effect = _useSignals2();
61
61
  try {
62
- const { t } = useTranslation(SHEET_PLUGIN);
62
+ const { t } = useTranslation(meta.id);
63
63
  const handleSelectRange = (range) => {
64
64
  };
65
65
  const handleDeleteRange = useCallback((range) => {
@@ -72,7 +72,7 @@ var RangeList = ({ sheet }) => {
72
72
  className: "mbs-cardSpacingBlock mbe-labelSpacingBlock text-sm font-semibold"
73
73
  }, t("range list heading")), sheet.ranges.length < 1 ? /* @__PURE__ */ React2.createElement(Callout.Root, null, /* @__PURE__ */ React2.createElement(Callout.Title, null, t("no ranges message"))) : /* @__PURE__ */ React2.createElement(List.Root, {
74
74
  items: sheet.ranges,
75
- isItem: Schema.is(Range)
75
+ isItem: Schema.is(Sheet_exports.Range)
76
76
  }, ({ items: ranges }) => ranges.map((range, i) => /* @__PURE__ */ React2.createElement(List.Item, {
77
77
  key: i,
78
78
  item: range,
@@ -105,189 +105,19 @@ 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";
109
-
110
- // 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
- };
108
+ import { Grid as Grid2, GridCellEditor, closestCell, editorKeys, parseCellIndex } from "@dxos/react-ui-grid";
280
109
 
281
110
  // src/integrations/thread-ranges.ts
282
- 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";
111
+ import * as Function from "effect/Function";
112
+ import * as Schema2 from "effect/Schema";
113
+ import { useCallback as useCallback2, useEffect, useMemo } from "react";
114
+ import { LayoutAction, chain, createIntent, createResolver, useIntentDispatcher, useIntentResolver } from "@dxos/app-framework";
285
115
  import { debounce } from "@dxos/async";
286
- import { inRange as inRange2 } from "@dxos/compute";
116
+ import { inRange } from "@dxos/compute";
287
117
  import { Obj, Relation } from "@dxos/echo";
288
118
  import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
289
- import { ThreadAction, ThreadType } from "@dxos/plugin-thread/types";
290
- import { Filter, fullyQualifiedId, getSpace, Query, useQuery } from "@dxos/react-client/echo";
119
+ import { Thread, ThreadAction } from "@dxos/plugin-thread/types";
120
+ import { Filter, Query, fullyQualifiedId, getSpace, useQuery } from "@dxos/react-client/echo";
291
121
  import { AnchoredTo } from "@dxos/schema";
292
122
  var parseThreadAnchorAsCellRange = (cursor) => {
293
123
  const coords = cursor.split(",");
@@ -330,7 +160,7 @@ var useUpdateFocusedCellOnThreadSelection = (grid) => {
330
160
  model.sheet,
331
161
  setActiveRefs
332
162
  ]);
333
- useIntentResolver(SHEET_PLUGIN, scrollIntoViewResolver);
163
+ useIntentResolver(meta.id, scrollIntoViewResolver);
334
164
  };
335
165
  var useSelectThreadOnCellFocus = () => {
336
166
  const { model, cursor } = useSheetContext();
@@ -343,16 +173,16 @@ var useSelectThreadOnCellFocus = () => {
343
173
  }
344
174
  const closestThread = anchors.find((anchor) => {
345
175
  const source = Relation.getSource(anchor);
346
- if (anchor.anchor && Obj.instanceOf(ThreadType, source)) {
176
+ if (anchor.anchor && Obj.instanceOf(Thread.Thread, source)) {
347
177
  const range = parseThreadAnchorAsCellRange(anchor.anchor);
348
- return range ? inRange2(range, cellAddress) : false;
178
+ return range ? inRange(range, cellAddress) : false;
349
179
  } else {
350
180
  return false;
351
181
  }
352
182
  });
353
183
  if (closestThread) {
354
184
  const primary = fullyQualifiedId(model.sheet);
355
- const intent = pipe(createIntent(ThreadAction.Select, {
185
+ const intent = Function.pipe(createIntent(ThreadAction.Select, {
356
186
  current: fullyQualifiedId(closestThread)
357
187
  }), chain(DeckAction.ChangeCompanion, {
358
188
  primary,
@@ -369,7 +199,7 @@ var useSelectThreadOnCellFocus = () => {
369
199
  }, [
370
200
  selectClosestThread
371
201
  ]);
372
- useEffect2(() => {
202
+ useEffect(() => {
373
203
  if (!cursor) {
374
204
  return;
375
205
  }
@@ -382,7 +212,7 @@ var useSelectThreadOnCellFocus = () => {
382
212
 
383
213
  // src/components/SheetContext/SheetContext.tsx
384
214
  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";
215
+ import React3, { createContext as createContext2, useCallback as useCallback3, useContext as useContext2, useState } from "react";
386
216
  import { invariant } from "@dxos/invariant";
387
217
  import { fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
388
218
  import { Grid, useGridContext } from "@dxos/react-ui-grid";
@@ -405,10 +235,10 @@ var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope
405
235
  var _effect = _useSignals3();
406
236
  try {
407
237
  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("");
238
+ const [cursor, setCursorInternal] = useState();
239
+ const [range, setRangeInternal] = useState();
240
+ const [cursorFallbackRange, setCursorFallbackRange] = useState();
241
+ const [activeRefs, setActiveRefs] = useState("");
412
242
  const setCursor = useCallback3((nextCursor) => {
413
243
  setCursorInternal(nextCursor);
414
244
  setCursorFallbackRange(range?.to ? range : nextCursor ? {
@@ -467,6 +297,177 @@ var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo
467
297
  }
468
298
  };
469
299
 
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
+
470
471
  // src/components/GridSheet/GridSheet.tsx
471
472
  var inertPosition = {
472
473
  plane: "grid",
@@ -495,7 +496,8 @@ var frozen = {
495
496
  var sheetColDefault = {
496
497
  frozenColsStart: {
497
498
  size: 48,
498
- readonly: true
499
+ readonly: true,
500
+ focusUnfurl: false
499
501
  },
500
502
  grid: {
501
503
  size: defaultColSize,
@@ -505,7 +507,8 @@ var sheetColDefault = {
505
507
  var sheetRowDefault = {
506
508
  frozenRowsStart: {
507
509
  size: defaultRowSize,
508
- readonly: true
510
+ readonly: true,
511
+ focusUnfurl: false
509
512
  },
510
513
  grid: {
511
514
  size: defaultRowSize,
@@ -515,12 +518,12 @@ var sheetRowDefault = {
515
518
  var GridSheet = () => {
516
519
  var _effect = _useSignals4();
517
520
  try {
518
- const { t } = useTranslation2(SHEET_PLUGIN);
521
+ const { t } = useTranslation2(meta.id);
519
522
  const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } = useSheetContext();
520
523
  const [dxGrid, setDxGrid] = useState3(null);
521
524
  const [extraplanarFocus, setExtraplanarFocus] = useState3(null);
522
525
  const { dispatchPromise: dispatch } = useIntentDispatcher2();
523
- const rangeController = useRef();
526
+ const rangeController = useRef(null);
524
527
  const { hasAttention } = useAttention(id);
525
528
  const handleFocus = useCallback4((event) => {
526
529
  if (!editing) {
@@ -737,7 +740,7 @@ var GridSheet = () => {
737
740
  dispatch
738
741
  ]);
739
742
  const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
740
- const extension = useMemo2(() => [
743
+ const extensions = useMemo2(() => [
741
744
  editorKeys({
742
745
  onClose: handleClose,
743
746
  ...editing?.initialContent && {
@@ -771,10 +774,10 @@ var GridSheet = () => {
771
774
  // TODO(thure): Why are Table’s and Sheet’s editor boxes off by 1px?
772
775
  /* @__PURE__ */ React4.createElement("div", {
773
776
  role: "none",
774
- className: "relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent "
777
+ className: "relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent"
775
778
  }, /* @__PURE__ */ React4.createElement(GridCellEditor, {
776
779
  getCellContent,
777
- extension,
780
+ extensions,
778
781
  onBlur: handleBlur
779
782
  }), /* @__PURE__ */ React4.createElement(Grid2.Content, {
780
783
  initialCells,
@@ -833,7 +836,7 @@ var GridSheet = () => {
833
836
  };
834
837
 
835
838
  // src/components/index.ts
836
- var SheetContainer = lazy(() => import("./SheetContainer-KDGD4AVG.mjs"));
839
+ var SheetContainer = lazy(() => import("./SheetContainer-GTINUSNB.mjs"));
837
840
 
838
841
  export {
839
842
  ComputeGraphContextProvider,
@@ -844,4 +847,4 @@ export {
844
847
  RangeList,
845
848
  SheetContainer
846
849
  };
847
- //# sourceMappingURL=chunk-JUOVL3LE.mjs.map
850
+ //# sourceMappingURL=chunk-LS6D4GG7.mjs.map