@dxos/plugin-sheet 0.8.4-main.2e9d522 → 0.8.4-main.548089c

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 (209) hide show
  1. package/dist/lib/browser/{SheetContainer-KDGD4AVG.mjs → SheetContainer-BDLFSILO.mjs} +38 -40
  2. package/dist/lib/browser/SheetContainer-BDLFSILO.mjs.map +7 -0
  3. package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs +23 -0
  4. package/dist/lib/browser/anchor-sort-FCQ5OZZK.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-JUOVL3LE.mjs → chunk-7KRJ2IT5.mjs} +218 -213
  8. package/dist/lib/browser/chunk-7KRJ2IT5.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-7HQX4NQP.mjs → chunk-7VEWYJJN.mjs} +2 -2
  10. package/dist/lib/browser/chunk-7VEWYJJN.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-SI4X5GUR.mjs → chunk-DVJ3QW3F.mjs} +220 -205
  12. package/dist/lib/browser/chunk-DVJ3QW3F.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-FWFAAGXL.mjs +28 -0
  14. package/dist/lib/browser/chunk-FWFAAGXL.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-GXHVZHKU.mjs} +16 -15
  25. package/dist/lib/browser/react-surface-GXHVZHKU.mjs.map +7 -0
  26. package/dist/lib/browser/types/index.mjs +4 -12
  27. package/dist/lib/node-esm/{SheetContainer-RMG24NZC.mjs → SheetContainer-CK5HSJPL.mjs} +38 -40
  28. package/dist/lib/node-esm/SheetContainer-CK5HSJPL.mjs.map +7 -0
  29. package/dist/lib/node-esm/{anchor-sort-CTJGOPET.mjs → anchor-sort-ZE7IS7SH.mjs} +10 -11
  30. package/dist/lib/node-esm/anchor-sort-ZE7IS7SH.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-SMYD6H7Q.mjs} +218 -213
  40. package/dist/lib/node-esm/chunk-SMYD6H7Q.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-45L45WN6.mjs} +16 -15
  51. package/dist/lib/node-esm/react-surface-45L45WN6.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 -4
  56. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
  58. package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/index.d.ts +5 -10
  60. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  62. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/markdown.d.ts +1 -3
  64. package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  66. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  67. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  68. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -4
  69. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  70. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  71. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +50 -3
  72. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  73. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -20
  74. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/GridSheet/util.d.ts +1 -1
  76. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  77. package/dist/types/src/components/RangeList/RangeList.d.ts +2 -2
  78. package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
  79. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +2 -2
  80. package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
  81. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +52 -5
  82. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/SheetContext/SheetContext.d.ts +3 -3
  84. package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
  85. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +3 -4
  86. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  87. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -4
  88. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  89. package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
  90. package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
  91. package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
  92. package/dist/types/src/extensions/compute.d.ts +1 -1
  93. package/dist/types/src/extensions/compute.d.ts.map +1 -1
  94. package/dist/types/src/extensions/compute.stories.d.ts +10 -13
  95. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  96. package/dist/types/src/extensions/editor/index.d.ts +1 -1
  97. package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
  98. package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
  99. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
  100. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
  101. package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
  102. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  103. package/dist/types/src/meta.d.ts +0 -1
  104. package/dist/types/src/meta.d.ts.map +1 -1
  105. package/dist/types/src/model/sheet-model.d.ts +5 -5
  106. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  107. package/dist/types/src/model/testing.d.ts +2 -2
  108. package/dist/types/src/model/testing.d.ts.map +1 -1
  109. package/dist/types/src/model/useSheetModel.d.ts +2 -2
  110. package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
  111. package/dist/types/src/playwright/sheet-manager.d.ts +1 -1
  112. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
  113. package/dist/types/src/serializer.d.ts +2 -2
  114. package/dist/types/src/serializer.d.ts.map +1 -1
  115. package/dist/types/src/testing/data.d.ts +2 -2
  116. package/dist/types/src/testing/data.d.ts.map +1 -1
  117. package/dist/types/src/testing/testing.d.ts +27 -3
  118. package/dist/types/src/testing/testing.d.ts.map +1 -1
  119. package/dist/types/src/translations.d.ts +2 -2
  120. package/dist/types/src/translations.d.ts.map +1 -1
  121. package/dist/types/src/types/{schema.d.ts → Sheet.d.ts} +37 -4
  122. package/dist/types/src/types/Sheet.d.ts.map +1 -0
  123. package/dist/types/src/types/index.d.ts +1 -1
  124. package/dist/types/src/types/index.d.ts.map +1 -1
  125. package/dist/types/src/types/sheet-range-types.d.ts +2 -2
  126. package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
  127. package/dist/types/src/types/types.d.ts +7 -16
  128. package/dist/types/src/types/types.d.ts.map +1 -1
  129. package/dist/types/src/types/util.d.ts +9 -10
  130. package/dist/types/src/types/util.d.ts.map +1 -1
  131. package/dist/types/tsconfig.tsbuildinfo +1 -1
  132. package/package.json +67 -64
  133. package/src/SheetPlugin.tsx +71 -62
  134. package/src/capabilities/anchor-sort.ts +7 -8
  135. package/src/capabilities/capabilities.ts +2 -2
  136. package/src/capabilities/compute-graph-registry.ts +9 -14
  137. package/src/capabilities/intent-resolver.ts +5 -5
  138. package/src/capabilities/markdown.ts +3 -2
  139. package/src/capabilities/react-surface.tsx +11 -9
  140. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
  141. package/src/components/ComputeGraph/compute-graph.stories.tsx +21 -20
  142. package/src/components/FunctionEditor/FunctionEditor.tsx +1 -1
  143. package/src/components/GridSheet/GridSheet.stories.tsx +19 -13
  144. package/src/components/GridSheet/GridSheet.tsx +39 -26
  145. package/src/components/GridSheet/SheetCellEditor.stories.tsx +40 -42
  146. package/src/components/GridSheet/util.ts +15 -9
  147. package/src/components/RangeList/RangeList.tsx +8 -8
  148. package/src/components/SheetContainer/SheetContainer.stories.tsx +48 -44
  149. package/src/components/SheetContainer/SheetContainer.tsx +10 -5
  150. package/src/components/SheetContext/SheetContext.tsx +5 -5
  151. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +19 -13
  152. package/src/components/SheetToolbar/SheetToolbar.tsx +29 -30
  153. package/src/components/SheetToolbar/align.ts +7 -6
  154. package/src/components/SheetToolbar/style.ts +4 -4
  155. package/src/extensions/compute.stories.tsx +29 -25
  156. package/src/extensions/compute.ts +2 -3
  157. package/src/extensions/editor/index.ts +1 -1
  158. package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
  159. package/src/integrations/thread-ranges.ts +15 -20
  160. package/src/meta.ts +7 -5
  161. package/src/model/sheet-model.test.ts +5 -4
  162. package/src/model/sheet-model.ts +9 -9
  163. package/src/model/testing.ts +4 -4
  164. package/src/model/useSheetModel.ts +2 -2
  165. package/src/playwright/sheet-manager.ts +1 -1
  166. package/src/playwright/sheet.spec.ts +1 -1
  167. package/src/sanity.test.ts +4 -5
  168. package/src/serializer.ts +3 -3
  169. package/src/testing/data.ts +2 -2
  170. package/src/testing/testing.tsx +11 -5
  171. package/src/translations.ts +2 -2
  172. package/src/types/Sheet.ts +103 -0
  173. package/src/types/index.ts +1 -1
  174. package/src/types/sheet-range-types.ts +2 -2
  175. package/src/types/types.ts +6 -15
  176. package/src/types/util.ts +13 -41
  177. package/dist/lib/browser/SheetContainer-KDGD4AVG.mjs.map +0 -7
  178. package/dist/lib/browser/anchor-sort-VHURGBOY.mjs +0 -24
  179. package/dist/lib/browser/anchor-sort-VHURGBOY.mjs.map +0 -7
  180. package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
  181. package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
  182. package/dist/lib/browser/chunk-7HQX4NQP.mjs.map +0 -7
  183. package/dist/lib/browser/chunk-JUOVL3LE.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
  185. package/dist/lib/browser/chunk-SI4X5GUR.mjs.map +0 -7
  186. package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs +0 -30
  187. package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs.map +0 -7
  188. package/dist/lib/browser/intent-resolver-WOJGZMSV.mjs.map +0 -7
  189. package/dist/lib/browser/markdown-VXMIPUQC.mjs.map +0 -7
  190. package/dist/lib/browser/react-surface-SE4HGAEH.mjs.map +0 -7
  191. package/dist/lib/node-esm/SheetContainer-RMG24NZC.mjs.map +0 -7
  192. package/dist/lib/node-esm/anchor-sort-CTJGOPET.mjs.map +0 -7
  193. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
  194. package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
  196. package/dist/lib/node-esm/chunk-CADTJFAS.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-IFMIRCZH.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-Q6UYC4G5.mjs.map +0 -7
  199. package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs +0 -31
  200. package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs.map +0 -7
  201. package/dist/lib/node-esm/intent-resolver-PZRXBNIJ.mjs.map +0 -7
  202. package/dist/lib/node-esm/markdown-4VPQJZNZ.mjs.map +0 -7
  203. package/dist/lib/node-esm/react-surface-LAU23XBH.mjs.map +0 -7
  204. package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
  205. package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
  206. package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
  207. package/dist/types/src/types/schema.d.ts.map +0 -1
  208. package/src/types/schema.ts +0 -61
  209. /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,
@@ -100,195 +100,27 @@ import { lazy } from "react";
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
- import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
103
+ import { createIntent as createIntent2 } from "@dxos/app-framework";
104
+ import { useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework/react";
104
105
  import { rangeToA1Notation as rangeToA1Notation2 } from "@dxos/compute";
105
106
  import { defaultColSize, defaultRowSize } from "@dxos/lit-grid";
106
107
  import { DropdownMenu, Icon, useTranslation as useTranslation2 } from "@dxos/react-ui";
107
108
  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
- };
109
+ import { Grid as Grid2, GridCellEditor, closestCell, editorKeys, parseCellIndex } from "@dxos/react-ui-grid";
280
110
 
281
111
  // 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";
112
+ import * as Function from "effect/Function";
113
+ import * as Schema2 from "effect/Schema";
114
+ import { useCallback as useCallback2, useEffect, useMemo } from "react";
115
+ import { LayoutAction, chain, createIntent, createResolver } from "@dxos/app-framework";
116
+ import { useIntentDispatcher, useIntentResolver } from "@dxos/app-framework/react";
285
117
  import { debounce } from "@dxos/async";
286
- import { inRange as inRange2 } from "@dxos/compute";
118
+ import { inRange } from "@dxos/compute";
287
119
  import { Obj, Relation } from "@dxos/echo";
288
120
  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";
291
- import { AnchoredTo } from "@dxos/schema";
121
+ import { Thread, ThreadAction } from "@dxos/plugin-thread/types";
122
+ import { Filter, Query, getSpace, useQuery } from "@dxos/react-client/echo";
123
+ import { AnchoredTo } from "@dxos/types";
292
124
  var parseThreadAnchorAsCellRange = (cursor) => {
293
125
  const coords = cursor.split(",");
294
126
  if (coords.length !== 4) {
@@ -316,7 +148,7 @@ var useUpdateFocusedCellOnThreadSelection = (grid) => {
316
148
  if (!Schema2.is(LayoutAction.ScrollIntoView.fields.input)(data)) {
317
149
  return false;
318
150
  }
319
- return data.subject === fullyQualifiedId(model.sheet) && !!data.options?.cursor;
151
+ return data.subject === Obj.getDXN(model.sheet).toString() && !!data.options?.cursor;
320
152
  },
321
153
  resolve: ({ options: { cursor, ref } }) => {
322
154
  setActiveRefs(ref);
@@ -330,30 +162,30 @@ var useUpdateFocusedCellOnThreadSelection = (grid) => {
330
162
  model.sheet,
331
163
  setActiveRefs
332
164
  ]);
333
- useIntentResolver(SHEET_PLUGIN, scrollIntoViewResolver);
165
+ useIntentResolver(meta.id, scrollIntoViewResolver);
334
166
  };
335
167
  var useSelectThreadOnCellFocus = () => {
336
168
  const { model, cursor } = useSheetContext();
337
169
  const { dispatchPromise: dispatch } = useIntentDispatcher();
338
170
  const space = getSpace(model.sheet);
339
- const anchors = useQuery(space, Query.select(Filter.ids(model.sheet.id)).targetOf(AnchoredTo));
171
+ const anchors = useQuery(space, Query.select(Filter.ids(model.sheet.id)).targetOf(AnchoredTo.AnchoredTo));
340
172
  const selectClosestThread = useCallback2((cellAddress) => {
341
173
  if (!cellAddress) {
342
174
  return;
343
175
  }
344
176
  const closestThread = anchors.find((anchor) => {
345
177
  const source = Relation.getSource(anchor);
346
- if (anchor.anchor && Obj.instanceOf(ThreadType, source)) {
178
+ if (anchor.anchor && Obj.instanceOf(Thread.Thread, source)) {
347
179
  const range = parseThreadAnchorAsCellRange(anchor.anchor);
348
- return range ? inRange2(range, cellAddress) : false;
180
+ return range ? inRange(range, cellAddress) : false;
349
181
  } else {
350
182
  return false;
351
183
  }
352
184
  });
353
185
  if (closestThread) {
354
- const primary = fullyQualifiedId(model.sheet);
355
- const intent = pipe(createIntent(ThreadAction.Select, {
356
- current: fullyQualifiedId(closestThread)
186
+ const primary = Obj.getDXN(model.sheet).toString();
187
+ const intent = Function.pipe(createIntent(ThreadAction.Select, {
188
+ current: Obj.getDXN(closestThread).toString()
357
189
  }), chain(DeckAction.ChangeCompanion, {
358
190
  primary,
359
191
  companion: `${primary}${ATTENDABLE_PATH_SEPARATOR}comments`
@@ -369,7 +201,7 @@ var useSelectThreadOnCellFocus = () => {
369
201
  }, [
370
202
  selectClosestThread
371
203
  ]);
372
- useEffect2(() => {
204
+ useEffect(() => {
373
205
  if (!cursor) {
374
206
  return;
375
207
  }
@@ -382,9 +214,9 @@ var useSelectThreadOnCellFocus = () => {
382
214
 
383
215
  // src/components/SheetContext/SheetContext.tsx
384
216
  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";
217
+ import React3, { createContext as createContext2, useCallback as useCallback3, useContext as useContext2, useState } from "react";
218
+ import { Obj as Obj2 } from "@dxos/echo";
386
219
  import { invariant } from "@dxos/invariant";
387
- import { fullyQualifiedId as fullyQualifiedId2 } from "@dxos/react-client/echo";
388
220
  import { Grid, useGridContext } from "@dxos/react-ui-grid";
389
221
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx";
390
222
  var SheetContext = /* @__PURE__ */ createContext2(void 0);
@@ -405,10 +237,10 @@ var SheetProviderImpl = ({ model, onInfo, ignoreAttention, children, __gridScope
405
237
  var _effect = _useSignals3();
406
238
  try {
407
239
  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("");
240
+ const [cursor, setCursorInternal] = useState();
241
+ const [range, setRangeInternal] = useState();
242
+ const [cursorFallbackRange, setCursorFallbackRange] = useState();
243
+ const [activeRefs, setActiveRefs] = useState("");
412
244
  const setCursor = useCallback3((nextCursor) => {
413
245
  setCursorInternal(nextCursor);
414
246
  setCursorFallbackRange(range?.to ? range : nextCursor ? {
@@ -456,7 +288,7 @@ var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo
456
288
  readonly
457
289
  });
458
290
  return !model ? null : /* @__PURE__ */ React3.createElement(Grid.Root, {
459
- id: fullyQualifiedId2(sheet)
291
+ id: Obj2.getDXN(sheet).toString()
460
292
  }, /* @__PURE__ */ React3.createElement(SheetProviderImpl, {
461
293
  model,
462
294
  onInfo,
@@ -467,6 +299,177 @@ var SheetProvider = ({ children, graph, sheet, readonly, ignoreAttention, onInfo
467
299
  }
468
300
  };
469
301
 
302
+ // src/components/GridSheet/util.ts
303
+ import { useEffect as useEffect2, useState as useState2 } from "react";
304
+ import { inRange as inRange2 } from "@dxos/compute";
305
+ import { createDocAccessor } from "@dxos/react-client/echo";
306
+ import { cellClassesForFieldType, parseValue } from "@dxos/react-ui-form";
307
+ import { colToA1Notation, commentedClassName, rowToA1Notation } from "@dxos/react-ui-grid";
308
+ import { mx } from "@dxos/react-ui-theme";
309
+ var createDxGridColumns = (model) => {
310
+ return model.sheet.columns.reduce((acc, columnId, numericIndex) => {
311
+ if (model.sheet.columnMeta[columnId] && model.sheet.columnMeta[columnId].size) {
312
+ acc.grid[numericIndex] = {
313
+ size: model.sheet.columnMeta[columnId].size,
314
+ resizeable: true
315
+ };
316
+ }
317
+ return acc;
318
+ }, {
319
+ grid: {}
320
+ });
321
+ };
322
+ var createDxGridRows = (model) => {
323
+ return model.sheet.rows.reduce((acc, rowId, numericIndex) => {
324
+ if (model.sheet.rowMeta[rowId] && model.sheet.rowMeta[rowId].size) {
325
+ acc.grid[numericIndex] = {
326
+ size: model.sheet.rowMeta[rowId].size,
327
+ resizeable: true
328
+ };
329
+ }
330
+ return acc;
331
+ }, {
332
+ grid: {}
333
+ });
334
+ };
335
+ var projectCellProps = (model, col, row) => {
336
+ const address = {
337
+ col,
338
+ row
339
+ };
340
+ const rawValue = model.getValue(address);
341
+ const ranges = model.sheet.ranges?.filter(({ range }) => inRange2(rangeFromIndex(model.sheet, range), address));
342
+ const threadRefs = void 0;
343
+ const description = model.getValueDescription(address);
344
+ const type = description?.type;
345
+ const format = description?.format;
346
+ const classNames = ranges?.map(cellClassNameForRange).reverse();
347
+ return {
348
+ value: parseValue({
349
+ type,
350
+ format,
351
+ value: rawValue
352
+ }),
353
+ className: mx(cellClassesForFieldType({
354
+ type,
355
+ format
356
+ }), threadRefs && commentedClassName, classNames),
357
+ dataRefs: threadRefs
358
+ };
359
+ };
360
+ var gridCellGetter = (model) => {
361
+ const cachedGridCells = {};
362
+ return (nextBounds) => {
363
+ [
364
+ ...Array(nextBounds.end.col - nextBounds.start.col)
365
+ ].forEach((_, c0) => {
366
+ return [
367
+ ...Array(nextBounds.end.row - nextBounds.start.row)
368
+ ].forEach((_2, r0) => {
369
+ const col = nextBounds.start.col + c0;
370
+ const row = nextBounds.start.row + r0;
371
+ cachedGridCells[`${col},${row}`] = projectCellProps(model, col, row);
372
+ });
373
+ });
374
+ return cachedGridCells;
375
+ };
376
+ };
377
+ var rowLabelCell = (row) => ({
378
+ value: rowToA1Notation(row),
379
+ className: "!bg-toolbarSurface text-subdued text-end pie-1",
380
+ resizeHandle: "row"
381
+ });
382
+ var colLabelCell = (col) => ({
383
+ value: colToA1Notation(col),
384
+ className: "!bg-toolbarSurface text-subdued",
385
+ resizeHandle: "col"
386
+ });
387
+ var cellGetter = (model) => {
388
+ const getGridCells = gridCellGetter(model);
389
+ return (nextBounds, plane) => {
390
+ switch (plane) {
391
+ case "grid":
392
+ return getGridCells(nextBounds);
393
+ case "fixedStartStart": {
394
+ return {
395
+ "0,0": {
396
+ className: "!bg-toolbarSurface"
397
+ }
398
+ };
399
+ }
400
+ case "frozenColsStart":
401
+ return [
402
+ ...Array(nextBounds.end.row - nextBounds.start.row)
403
+ ].reduce((acc, _, r0) => {
404
+ const r = nextBounds.start.row + r0;
405
+ acc[`0,${r}`] = rowLabelCell(r);
406
+ return acc;
407
+ }, {});
408
+ case "frozenRowsStart":
409
+ return [
410
+ ...Array(nextBounds.end.col - nextBounds.start.col)
411
+ ].reduce((acc, _, c0) => {
412
+ const c = nextBounds.start.col + c0;
413
+ acc[`${c},0`] = colLabelCell(c);
414
+ return acc;
415
+ }, {});
416
+ default:
417
+ return {};
418
+ }
419
+ };
420
+ };
421
+ var useSheetModelDxGridProps = (dxGrid, model) => {
422
+ const [columns, setColumns] = useState2(createDxGridColumns(model));
423
+ const [rows, setRows] = useState2(createDxGridRows(model));
424
+ useEffect2(() => {
425
+ const cellsAccessor = createDocAccessor(model.sheet, [
426
+ "cells"
427
+ ]);
428
+ if (dxGrid) {
429
+ dxGrid.getCells = cellGetter(model);
430
+ }
431
+ const handleCellsUpdate = () => {
432
+ dxGrid?.requestUpdate("initialCells");
433
+ };
434
+ cellsAccessor.handle.addListener("change", handleCellsUpdate);
435
+ const unsubscribe = model.graph.update.on(handleCellsUpdate);
436
+ return () => {
437
+ cellsAccessor.handle.removeListener("change", handleCellsUpdate);
438
+ unsubscribe();
439
+ };
440
+ }, [
441
+ model,
442
+ dxGrid
443
+ ]);
444
+ useEffect2(() => {
445
+ const columnMetaAccessor = createDocAccessor(model.sheet, [
446
+ "columnMeta"
447
+ ]);
448
+ const rowMetaAccessor = createDocAccessor(model.sheet, [
449
+ "rowMeta"
450
+ ]);
451
+ const handleColumnMetaUpdate = () => {
452
+ setColumns(createDxGridColumns(model));
453
+ };
454
+ const handleRowMetaUpdate = () => {
455
+ setRows(createDxGridRows(model));
456
+ };
457
+ columnMetaAccessor.handle.addListener("change", handleColumnMetaUpdate);
458
+ rowMetaAccessor.handle.addListener("change", handleRowMetaUpdate);
459
+ return () => {
460
+ columnMetaAccessor.handle.removeListener("change", handleColumnMetaUpdate);
461
+ rowMetaAccessor.handle.removeListener("change", handleRowMetaUpdate);
462
+ };
463
+ }, [
464
+ model,
465
+ dxGrid
466
+ ]);
467
+ return {
468
+ columns,
469
+ rows
470
+ };
471
+ };
472
+
470
473
  // src/components/GridSheet/GridSheet.tsx
471
474
  var inertPosition = {
472
475
  plane: "grid",
@@ -495,7 +498,8 @@ var frozen = {
495
498
  var sheetColDefault = {
496
499
  frozenColsStart: {
497
500
  size: 48,
498
- readonly: true
501
+ readonly: true,
502
+ focusUnfurl: false
499
503
  },
500
504
  grid: {
501
505
  size: defaultColSize,
@@ -505,7 +509,8 @@ var sheetColDefault = {
505
509
  var sheetRowDefault = {
506
510
  frozenRowsStart: {
507
511
  size: defaultRowSize,
508
- readonly: true
512
+ readonly: true,
513
+ focusUnfurl: false
509
514
  },
510
515
  grid: {
511
516
  size: defaultRowSize,
@@ -515,12 +520,12 @@ var sheetRowDefault = {
515
520
  var GridSheet = () => {
516
521
  var _effect = _useSignals4();
517
522
  try {
518
- const { t } = useTranslation2(SHEET_PLUGIN);
523
+ const { t } = useTranslation2(meta.id);
519
524
  const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } = useSheetContext();
520
525
  const [dxGrid, setDxGrid] = useState3(null);
521
526
  const [extraplanarFocus, setExtraplanarFocus] = useState3(null);
522
527
  const { dispatchPromise: dispatch } = useIntentDispatcher2();
523
- const rangeController = useRef();
528
+ const rangeController = useRef(null);
524
529
  const { hasAttention } = useAttention(id);
525
530
  const handleFocus = useCallback4((event) => {
526
531
  if (!editing) {
@@ -737,7 +742,7 @@ var GridSheet = () => {
737
742
  dispatch
738
743
  ]);
739
744
  const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);
740
- const extension = useMemo2(() => [
745
+ const extensions = useMemo2(() => [
741
746
  editorKeys({
742
747
  onClose: handleClose,
743
748
  ...editing?.initialContent && {
@@ -771,10 +776,10 @@ var GridSheet = () => {
771
776
  // TODO(thure): Why are Table’s and Sheet’s editor boxes off by 1px?
772
777
  /* @__PURE__ */ React4.createElement("div", {
773
778
  role: "none",
774
- className: "relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent "
779
+ className: "relative min-bs-0 [&_.cm-editor]:!border-lb [&_.cm-editor]:!border-transparent"
775
780
  }, /* @__PURE__ */ React4.createElement(GridCellEditor, {
776
781
  getCellContent,
777
- extension,
782
+ extensions,
778
783
  onBlur: handleBlur
779
784
  }), /* @__PURE__ */ React4.createElement(Grid2.Content, {
780
785
  initialCells,
@@ -833,7 +838,7 @@ var GridSheet = () => {
833
838
  };
834
839
 
835
840
  // src/components/index.ts
836
- var SheetContainer = lazy(() => import("./SheetContainer-KDGD4AVG.mjs"));
841
+ var SheetContainer = lazy(() => import("./SheetContainer-BDLFSILO.mjs"));
837
842
 
838
843
  export {
839
844
  ComputeGraphContextProvider,
@@ -844,4 +849,4 @@ export {
844
849
  RangeList,
845
850
  SheetContainer
846
851
  };
847
- //# sourceMappingURL=chunk-JUOVL3LE.mjs.map
852
+ //# sourceMappingURL=chunk-7KRJ2IT5.mjs.map