@dxos/plugin-sheet 0.10.0 → 0.11.0

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 (227) hide show
  1. package/dist/lib/SheetPlugin.mjs +32 -0
  2. package/dist/lib/SheetPlugin.mjs.map +1 -0
  3. package/dist/lib/SheetPlugin.node.mjs +11 -0
  4. package/dist/lib/SheetPlugin.node.mjs.map +1 -0
  5. package/dist/lib/SheetPlugin.workerd.mjs +11 -0
  6. package/dist/lib/SheetPlugin.workerd.mjs.map +1 -0
  7. package/dist/lib/capabilities/node.mjs +10 -0
  8. package/dist/lib/capabilities/node.mjs.map +1 -0
  9. package/dist/lib/capabilities.mjs +16 -0
  10. package/dist/lib/capabilities.mjs.map +1 -0
  11. package/dist/lib/chunk-RangeList.mjs +47 -0
  12. package/dist/lib/chunk-RangeList.mjs.map +1 -0
  13. package/dist/lib/chunk-SheetArticle.mjs +58 -0
  14. package/dist/lib/chunk-SheetArticle.mjs.map +1 -0
  15. package/dist/lib/chunk-anchor-sort.mjs +18 -0
  16. package/dist/lib/chunk-anchor-sort.mjs.map +1 -0
  17. package/dist/lib/chunk-comment-config.mjs +18 -0
  18. package/dist/lib/chunk-comment-config.mjs.map +1 -0
  19. package/dist/lib/chunk-compute-graph-registry.mjs +24 -0
  20. package/dist/lib/chunk-compute-graph-registry.mjs.map +1 -0
  21. package/dist/lib/chunk-create-object.mjs +24 -0
  22. package/dist/lib/chunk-create-object.mjs.map +1 -0
  23. package/dist/lib/chunk-create.mjs +20 -0
  24. package/dist/lib/chunk-create.mjs.map +1 -0
  25. package/dist/lib/chunk-drop-axis.mjs +18 -0
  26. package/dist/lib/chunk-drop-axis.mjs.map +1 -0
  27. package/dist/lib/chunk-extensions.mjs +246 -0
  28. package/dist/lib/chunk-extensions.mjs.map +1 -0
  29. package/dist/lib/chunk-get-values.mjs +73 -0
  30. package/dist/lib/chunk-get-values.mjs.map +1 -0
  31. package/dist/lib/chunk-insert-axis.mjs +11 -0
  32. package/dist/lib/chunk-insert-axis.mjs.map +1 -0
  33. package/dist/lib/chunk-markdown-extension.mjs +22 -0
  34. package/dist/lib/chunk-markdown-extension.mjs.map +1 -0
  35. package/dist/lib/{neutral/chunk-WTSCOM64.mjs → chunk-meta.mjs} +20 -28
  36. package/dist/lib/chunk-meta.mjs.map +1 -0
  37. package/dist/lib/chunk-operation-handler.mjs +11 -0
  38. package/dist/lib/chunk-operation-handler.mjs.map +1 -0
  39. package/dist/lib/chunk-react-surface.mjs +27 -0
  40. package/dist/lib/chunk-react-surface.mjs.map +1 -0
  41. package/dist/lib/chunk-restore-axis.mjs +11 -0
  42. package/dist/lib/chunk-restore-axis.mjs.map +1 -0
  43. package/dist/lib/chunk-scroll-to-anchor.mjs +20 -0
  44. package/dist/lib/chunk-scroll-to-anchor.mjs.map +1 -0
  45. package/dist/lib/chunk-set-values.mjs +20 -0
  46. package/dist/lib/chunk-set-values.mjs.map +1 -0
  47. package/dist/lib/{neutral/skill-definition-U3KQCFOI.mjs → chunk-skill-definition.mjs} +6 -8
  48. package/dist/lib/chunk-skill-definition.mjs.map +1 -0
  49. package/dist/lib/chunk-state.mjs +27 -0
  50. package/dist/lib/chunk-state.mjs.map +1 -0
  51. package/dist/lib/chunk-thread-ranges.mjs +59 -0
  52. package/dist/lib/chunk-thread-ranges.mjs.map +1 -0
  53. package/dist/lib/chunk-types.mjs +355 -0
  54. package/dist/lib/chunk-types.mjs.map +1 -0
  55. package/dist/lib/chunk-undo-mappings.mjs +22 -0
  56. package/dist/lib/chunk-undo-mappings.mjs.map +1 -0
  57. package/dist/lib/components.mjs +1377 -0
  58. package/dist/lib/components.mjs.map +1 -0
  59. package/dist/lib/containers.mjs +8 -0
  60. package/dist/lib/containers.mjs.map +1 -0
  61. package/dist/lib/index.mjs +4 -0
  62. package/dist/lib/meta.mjs +2 -0
  63. package/dist/lib/operations/node.mjs +7 -0
  64. package/dist/lib/operations/node.mjs.map +1 -0
  65. package/dist/lib/operations.mjs +7 -0
  66. package/dist/lib/operations.mjs.map +1 -0
  67. package/dist/lib/plugin.mjs +9 -0
  68. package/dist/lib/plugin.mjs.map +1 -0
  69. package/dist/lib/skills.mjs +42 -0
  70. package/dist/lib/skills.mjs.map +1 -0
  71. package/dist/lib/testing.mjs +59 -0
  72. package/dist/lib/testing.mjs.map +1 -0
  73. package/dist/lib/translations.mjs +50 -0
  74. package/dist/lib/translations.mjs.map +1 -0
  75. package/dist/lib/types.mjs +2 -0
  76. package/dist/types/src/capabilities/anchor-sort.d.ts +1 -1
  77. package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
  78. package/dist/types/src/capabilities/create-object.d.ts +1 -1
  79. package/dist/types/src/capabilities/markdown-extension.d.ts +1 -1
  80. package/dist/types/src/capabilities/node.d.ts +7 -0
  81. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  82. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  83. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/skill-definition.d.ts +1 -1
  86. package/dist/types/src/capabilities/state.d.ts +1 -1
  87. package/dist/types/src/capabilities/undo-mappings.d.ts +1 -1
  88. package/dist/types/src/components/ComputeGraph/ComputeGraphContext.d.ts +11 -0
  89. package/dist/types/src/components/ComputeGraph/ComputeGraphContext.d.ts.map +1 -0
  90. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts +1 -10
  91. package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
  92. package/dist/types/src/components/ComputeGraph/index.d.ts +1 -0
  93. package/dist/types/src/components/ComputeGraph/index.d.ts.map +1 -1
  94. package/dist/types/src/components/Sheet/Sheet.d.ts +4 -4
  95. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  96. package/dist/types/src/components/SheetContent/SheetContent.d.ts +1 -1
  97. package/dist/types/src/components/SheetContent/SheetContent.d.ts.map +1 -1
  98. package/dist/types/src/components/SheetContent/SheetContent.stories.d.ts +1 -1
  99. package/dist/types/src/components/SheetRoot/SheetContext.d.ts +4 -0
  100. package/dist/types/src/components/SheetRoot/SheetContext.d.ts.map +1 -0
  101. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts +0 -1
  102. package/dist/types/src/components/SheetRoot/SheetRoot.d.ts.map +1 -1
  103. package/dist/types/src/components/SheetRoot/index.d.ts +1 -0
  104. package/dist/types/src/components/SheetRoot/index.d.ts.map +1 -1
  105. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts +1 -1
  106. package/dist/types/src/components/SheetStatusbar/SheetStatusbar.d.ts.map +1 -1
  107. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +1 -1
  108. package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
  109. package/dist/types/src/components/index.d.ts +1 -0
  110. package/dist/types/src/components/index.d.ts.map +1 -1
  111. package/dist/types/src/containers/RangeList/RangeList.d.ts +4 -1
  112. package/dist/types/src/containers/RangeList/RangeList.d.ts.map +1 -1
  113. package/dist/types/src/containers/SheetArticle/SheetArticle.d.ts +4 -5
  114. package/dist/types/src/containers/SheetArticle/SheetArticle.d.ts.map +1 -1
  115. package/dist/types/src/containers/SheetArticle/SheetArticle.stories.d.ts +4 -1
  116. package/dist/types/src/containers/SheetArticle/SheetArticle.stories.d.ts.map +1 -1
  117. package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -1
  118. package/dist/types/src/operations/node.d.ts +3 -0
  119. package/dist/types/src/operations/node.d.ts.map +1 -0
  120. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -1
  121. package/dist/types/src/plugin.d.ts +1 -1
  122. package/dist/types/src/plugin.d.ts.map +1 -1
  123. package/dist/types/src/testing/testing.d.ts +8 -2
  124. package/dist/types/src/testing/testing.d.ts.map +1 -1
  125. package/dist/types/src/types/SheetOperation.d.ts +1 -1
  126. package/dist/types/src/types/SheetOperation.d.ts.map +1 -1
  127. package/dist/types/tsconfig.tsbuildinfo +1 -1
  128. package/dx.config.ts +1 -0
  129. package/package.json +75 -67
  130. package/src/capabilities/node.ts +18 -0
  131. package/src/capabilities/{react-surface.tsx → react-surface.ts} +6 -18
  132. package/src/components/ComputeGraph/ComputeGraphContext.ts +35 -0
  133. package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +2 -27
  134. package/src/components/ComputeGraph/compute-graph.stories.tsx +1 -1
  135. package/src/components/ComputeGraph/index.ts +2 -0
  136. package/src/components/Sheet/Sheet.tsx +1 -1
  137. package/src/components/SheetRoot/SheetContext.ts +19 -0
  138. package/src/components/SheetRoot/SheetRoot.tsx +2 -9
  139. package/src/components/SheetRoot/index.ts +2 -0
  140. package/src/components/SheetStatusbar/SheetStatusbar.tsx +1 -1
  141. package/src/components/SheetToolbar/SheetToolbar.tsx +9 -9
  142. package/src/components/index.ts +1 -0
  143. package/src/containers/RangeList/RangeList.tsx +2 -0
  144. package/src/containers/SheetArticle/SheetArticle.stories.tsx +15 -24
  145. package/src/containers/SheetArticle/SheetArticle.tsx +23 -11
  146. package/src/extensions/editor/sheet-extension.ts +61 -2
  147. package/src/integrations/thread-ranges.ts +4 -4
  148. package/src/operations/node.ts +18 -0
  149. package/src/operations/scroll-to-anchor.ts +3 -2
  150. package/src/plugin.ts +1 -1
  151. package/src/testing/testing.tsx +11 -5
  152. package/src/types/SheetOperation.ts +6 -2
  153. package/dist/lib/neutral/RangeList-EIJTFS7P.mjs +0 -53
  154. package/dist/lib/neutral/RangeList-EIJTFS7P.mjs.map +0 -7
  155. package/dist/lib/neutral/SheetArticle-IUPQYGUU.mjs +0 -34
  156. package/dist/lib/neutral/SheetArticle-IUPQYGUU.mjs.map +0 -7
  157. package/dist/lib/neutral/SheetPlugin.mjs +0 -61
  158. package/dist/lib/neutral/SheetPlugin.mjs.map +0 -7
  159. package/dist/lib/neutral/SheetPlugin.node.mjs +0 -27
  160. package/dist/lib/neutral/SheetPlugin.node.mjs.map +0 -7
  161. package/dist/lib/neutral/SheetPlugin.workerd.mjs +0 -21
  162. package/dist/lib/neutral/SheetPlugin.workerd.mjs.map +0 -7
  163. package/dist/lib/neutral/anchor-sort-2POWTKTD.mjs +0 -22
  164. package/dist/lib/neutral/anchor-sort-2POWTKTD.mjs.map +0 -7
  165. package/dist/lib/neutral/capabilities/index.mjs +0 -27
  166. package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
  167. package/dist/lib/neutral/chunk-ERHMBRSU.mjs +0 -234
  168. package/dist/lib/neutral/chunk-ERHMBRSU.mjs.map +0 -7
  169. package/dist/lib/neutral/chunk-HEN74ZWI.mjs +0 -83
  170. package/dist/lib/neutral/chunk-HEN74ZWI.mjs.map +0 -7
  171. package/dist/lib/neutral/chunk-HY4DM35G.mjs +0 -466
  172. package/dist/lib/neutral/chunk-HY4DM35G.mjs.map +0 -7
  173. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  174. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  175. package/dist/lib/neutral/chunk-TDGEOMRG.mjs +0 -8
  176. package/dist/lib/neutral/chunk-TDGEOMRG.mjs.map +0 -7
  177. package/dist/lib/neutral/chunk-WTSCOM64.mjs.map +0 -7
  178. package/dist/lib/neutral/comment-config-4CIQFYM2.mjs +0 -22
  179. package/dist/lib/neutral/comment-config-4CIQFYM2.mjs.map +0 -7
  180. package/dist/lib/neutral/components/index.mjs +0 -1552
  181. package/dist/lib/neutral/components/index.mjs.map +0 -7
  182. package/dist/lib/neutral/compute-graph-registry-YYINTFC2.mjs +0 -26
  183. package/dist/lib/neutral/compute-graph-registry-YYINTFC2.mjs.map +0 -7
  184. package/dist/lib/neutral/containers/index.mjs +0 -11
  185. package/dist/lib/neutral/containers/index.mjs.map +0 -7
  186. package/dist/lib/neutral/create-I3TKMPQO.mjs +0 -30
  187. package/dist/lib/neutral/create-I3TKMPQO.mjs.map +0 -7
  188. package/dist/lib/neutral/create-object-5WEY5XZJ.mjs +0 -27
  189. package/dist/lib/neutral/create-object-5WEY5XZJ.mjs.map +0 -7
  190. package/dist/lib/neutral/drop-axis-JPFU5CJO.mjs +0 -23
  191. package/dist/lib/neutral/drop-axis-JPFU5CJO.mjs.map +0 -7
  192. package/dist/lib/neutral/get-values-7YWQTH65.mjs +0 -92
  193. package/dist/lib/neutral/get-values-7YWQTH65.mjs.map +0 -7
  194. package/dist/lib/neutral/index.mjs +0 -66
  195. package/dist/lib/neutral/index.mjs.map +0 -7
  196. package/dist/lib/neutral/insert-axis-WD6ZC3UA.mjs +0 -16
  197. package/dist/lib/neutral/insert-axis-WD6ZC3UA.mjs.map +0 -7
  198. package/dist/lib/neutral/markdown-extension-HTJDICGT.mjs +0 -28
  199. package/dist/lib/neutral/markdown-extension-HTJDICGT.mjs.map +0 -7
  200. package/dist/lib/neutral/meta.json +0 -1
  201. package/dist/lib/neutral/meta.mjs +0 -8
  202. package/dist/lib/neutral/meta.mjs.map +0 -7
  203. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs +0 -13
  204. package/dist/lib/neutral/operation-handler-TB6LFV2H.mjs.map +0 -7
  205. package/dist/lib/neutral/operations/index.mjs +0 -8
  206. package/dist/lib/neutral/operations/index.mjs.map +0 -7
  207. package/dist/lib/neutral/plugin.mjs +0 -16
  208. package/dist/lib/neutral/plugin.mjs.map +0 -7
  209. package/dist/lib/neutral/react-surface-TJT6F2E4.mjs +0 -40
  210. package/dist/lib/neutral/react-surface-TJT6F2E4.mjs.map +0 -7
  211. package/dist/lib/neutral/restore-axis-RLPX7P3G.mjs +0 -16
  212. package/dist/lib/neutral/restore-axis-RLPX7P3G.mjs.map +0 -7
  213. package/dist/lib/neutral/scroll-to-anchor-6FJJQWZC.mjs +0 -33
  214. package/dist/lib/neutral/scroll-to-anchor-6FJJQWZC.mjs.map +0 -7
  215. package/dist/lib/neutral/set-values-5DVOVLJH.mjs +0 -30
  216. package/dist/lib/neutral/set-values-5DVOVLJH.mjs.map +0 -7
  217. package/dist/lib/neutral/skill-definition-U3KQCFOI.mjs.map +0 -7
  218. package/dist/lib/neutral/state-HPA27MX2.mjs +0 -29
  219. package/dist/lib/neutral/state-HPA27MX2.mjs.map +0 -7
  220. package/dist/lib/neutral/testing/index.mjs +0 -103
  221. package/dist/lib/neutral/testing/index.mjs.map +0 -7
  222. package/dist/lib/neutral/translations.mjs +0 -56
  223. package/dist/lib/neutral/translations.mjs.map +0 -7
  224. package/dist/lib/neutral/types/index.mjs +0 -58
  225. package/dist/lib/neutral/types/index.mjs.map +0 -7
  226. package/dist/lib/neutral/undo-mappings-O75AYIRG.mjs +0 -31
  227. package/dist/lib/neutral/undo-mappings-O75AYIRG.mjs.map +0 -7
@@ -1,466 +0,0 @@
1
- import {
2
- __export
3
- } from "./chunk-J5LGTIGS.mjs";
4
-
5
- // src/types/sheet-range-types.ts
6
- var alignKey = "alignment";
7
- var commentKey = "comment";
8
- var styleKey = "style";
9
- var cellClassNameForRange = ({ key, value }) => {
10
- switch (key) {
11
- case alignKey:
12
- switch (value) {
13
- case "start":
14
- return "text-start";
15
- case "center":
16
- return "text-center";
17
- case "end":
18
- return "text-end";
19
- default:
20
- return void 0;
21
- }
22
- case commentKey:
23
- return "bg-grid-comment";
24
- case styleKey:
25
- switch (value) {
26
- case "highlight":
27
- return "bg-grid-highlight!";
28
- case "softwrap":
29
- return "whitespace-normal!";
30
- default:
31
- return void 0;
32
- }
33
- default:
34
- return void 0;
35
- }
36
- };
37
-
38
- // src/types/types.ts
39
- import * as Schema2 from "effect/Schema";
40
-
41
- // src/types/Sheet.ts
42
- var Sheet_exports = {};
43
- __export(Sheet_exports, {
44
- CellValue: () => CellValue,
45
- Range: () => Range,
46
- RowColumnMeta: () => RowColumnMeta,
47
- SKILL_KEY: () => SKILL_KEY,
48
- Sheet: () => Sheet,
49
- make: () => make
50
- });
51
- import * as Schema from "effect/Schema";
52
- import { AppAnnotation } from "@dxos/app-toolkit";
53
- import { addressFromA1Notation as addressFromA1Notation2, isFormula as isFormula2 } from "@dxos/compute-hyperformula";
54
- import { Annotation, DXN, Obj, Type } from "@dxos/echo";
55
- import { FormInputAnnotation } from "@dxos/echo/Annotation";
56
- import { CollectionItemAnnotation } from "@dxos/schema";
57
-
58
- // src/types/util.ts
59
- import { addressFromA1Notation, addressToA1Notation, isFormula } from "@dxos/compute-hyperformula";
60
- import { randomBytes } from "@dxos/crypto";
61
- import { assertArgument } from "@dxos/invariant";
62
- var MAX_ROWS = 500;
63
- var MAX_COLS = 676;
64
- var DEFAULT_ROWS = 50;
65
- var DEFAULT_COLS = 26;
66
- var ApiError = class extends Error {
67
- };
68
- var ReadonlyException = class extends ApiError {
69
- };
70
- var RangeException = class extends ApiError {
71
- constructor(n) {
72
- super();
73
- }
74
- };
75
- var createIndex = (length = 8) => {
76
- const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
77
- const charactersLength = characters.length;
78
- const randomBuffer = randomBytes(length);
79
- return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
80
- };
81
- var createIndices = (length) => Array.from({
82
- length
83
- }).map(() => createIndex());
84
- var insertIndices = (indices, i, n, max) => {
85
- if (i + n > max) {
86
- throw new RangeException(i + n);
87
- }
88
- const idx = createIndices(n);
89
- indices.splice(i, 0, ...idx);
90
- return idx;
91
- };
92
- var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
93
- if (!sheet.rows.length) {
94
- insertIndices(sheet.rows, 0, rows, MAX_ROWS);
95
- }
96
- if (!sheet.columns.length) {
97
- insertIndices(sheet.columns, 0, columns, MAX_COLS);
98
- }
99
- };
100
- var addressToIndex = (sheet, cell) => {
101
- return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
102
- };
103
- var addressFromIndex = (sheet, idx) => {
104
- const [column, row] = idx.split("@");
105
- return {
106
- col: sheet.columns.indexOf(column),
107
- row: sheet.rows.indexOf(row)
108
- };
109
- };
110
- var rangeToIndex = (sheet, range) => {
111
- return [
112
- range.from,
113
- range.to ?? range.from
114
- ].map((cell) => addressToIndex(sheet, cell)).join(":");
115
- };
116
- var rangeFromIndex = (sheet, idx) => {
117
- const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
118
- return {
119
- from,
120
- to
121
- };
122
- };
123
- var compareIndexPositions = (sheet, indexA, indexB) => {
124
- const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
125
- const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
126
- if (rowA !== rowB) {
127
- return rowA - rowB;
128
- } else {
129
- return columnA - columnB;
130
- }
131
- };
132
- var mapFormulaRefsToIndices = (sheet, formula) => {
133
- assertArgument(isFormula(formula), "formula");
134
- return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
135
- const cell = addressFromA1Notation(match);
136
- if (cell.col < 0 || cell.row < 0 || cell.col >= sheet.columns.length || cell.row >= sheet.rows.length) {
137
- return match;
138
- }
139
- return addressToIndex(sheet, cell);
140
- });
141
- };
142
- var mapFormulaIndicesToRefs = (sheet, formula) => {
143
- assertArgument(isFormula(formula), "formula");
144
- return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
145
- return addressToA1Notation(addressFromIndex(sheet, idx));
146
- });
147
- };
148
-
149
- // src/types/Sheet.ts
150
- var SKILL_KEY = "org.dxos.skill.sheet";
151
- var CellValue = Schema.Struct({
152
- // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
153
- // Consider import/export; natural access for other plugins. Special handling for currency (precision).
154
- // TODO(burdon): Automerge (long string) or short string or number.
155
- value: Schema.Any
156
- });
157
- var Range = Schema.Struct({
158
- range: Schema.String,
159
- key: Schema.String,
160
- value: Schema.String
161
- });
162
- var RowColumnMeta = Schema.Struct({
163
- size: Schema.optional(Schema.Number)
164
- });
165
- var Sheet = class extends Type.makeObject(DXN.make("org.dxos.type.sheet", "0.1.0"))(Schema.Struct({
166
- name: Schema.optional(Schema.String),
167
- // Sparse map of cells referenced by index.
168
- cells: Schema.Record({
169
- key: Schema.String,
170
- value: CellValue
171
- }).pipe(FormInputAnnotation.set(false)),
172
- // Ordered row indices.
173
- rows: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
174
- // Ordered column indices.
175
- columns: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
176
- // Row metadata referenced by index.
177
- rowMeta: Schema.Record({
178
- key: Schema.String,
179
- value: RowColumnMeta
180
- }).pipe(FormInputAnnotation.set(false)),
181
- // Column metadata referenced by index.
182
- columnMeta: Schema.Record({
183
- key: Schema.String,
184
- value: RowColumnMeta
185
- }).pipe(FormInputAnnotation.set(false)),
186
- // Cell formatting referenced by indexed range.
187
- ranges: Schema.Array(Range).pipe(FormInputAnnotation.set(false))
188
- }).pipe(Annotation.IconAnnotation.set({
189
- icon: "ph--grid-nine--regular",
190
- hue: "indigo"
191
- }), AppAnnotation.SkillsAnnotation.set([
192
- SKILL_KEY
193
- ]), CollectionItemAnnotation.set(true))) {
194
- };
195
- var make = ({ name, cells = {}, ...size } = {}) => {
196
- const sheet = Obj.make(Sheet, {
197
- name,
198
- cells: {},
199
- rows: [],
200
- columns: [],
201
- rowMeta: {},
202
- columnMeta: {},
203
- ranges: []
204
- });
205
- Obj.update(sheet, (sheet2) => {
206
- initialize(sheet2, size);
207
- if (cells) {
208
- Object.entries(cells).forEach(([key, { value }]) => {
209
- const idx = addressToIndex(sheet2, addressFromA1Notation2(key));
210
- if (isFormula2(value)) {
211
- value = mapFormulaRefsToIndices(sheet2, value);
212
- }
213
- sheet2.cells[idx] = {
214
- value
215
- };
216
- });
217
- }
218
- });
219
- return sheet;
220
- };
221
-
222
- // src/types/types.ts
223
- var ActionAxis = Schema2.Union(Schema2.Literal("row"), Schema2.Literal("col"));
224
- (function(SheetAction2) {
225
- SheetAction2.RestoreAxis = Schema2.Struct({
226
- axis: ActionAxis,
227
- axisIndex: Schema2.String,
228
- index: Schema2.Number,
229
- axisMeta: RowColumnMeta,
230
- values: Schema2.Array(Schema2.Any)
231
- });
232
- })(SheetAction || (SheetAction = {}));
233
- var SheetAction;
234
-
235
- // src/types/SheetCapabilities.ts
236
- var SheetCapabilities_exports = {};
237
- __export(SheetCapabilities_exports, {
238
- ComputeGraphRegistry: () => ComputeGraphRegistry,
239
- GridInstances: () => GridInstances
240
- });
241
- import { Capability } from "@dxos/app-framework";
242
- import { meta } from "#meta";
243
- var ComputeGraphRegistry = Capability.make(`${meta.profile.key}.capability.compute-graph-registry`);
244
- var GridInstances = Capability.make(`${meta.profile.key}.capability.grid-instances`);
245
-
246
- // src/types/SheetOperation.ts
247
- var SheetOperation_exports = {};
248
- __export(SheetOperation_exports, {
249
- Create: () => Create,
250
- DropAxis: () => DropAxis,
251
- DropAxisOutput: () => DropAxisOutput,
252
- GetValues: () => GetValues,
253
- InsertAxis: () => InsertAxis,
254
- RestoreAxis: () => RestoreAxis,
255
- ScrollToAnchor: () => ScrollToAnchor,
256
- SetValues: () => SetValues
257
- });
258
- import * as Schema3 from "effect/Schema";
259
- import { Capability as Capability2 } from "@dxos/app-framework";
260
- import { Operation } from "@dxos/compute";
261
- import { Database, Ref } from "@dxos/echo";
262
- import { DXN as DXN2 } from "@dxos/keys";
263
- import { meta as meta2 } from "#meta";
264
- var makeKey = (name) => DXN2.make(`${meta2.profile.key}.operation.${name}`);
265
- var Axis = Schema3.Union(Schema3.Literal("row"), Schema3.Literal("col"));
266
- var InsertAxis = Operation.make({
267
- meta: {
268
- key: makeKey("axisInsert"),
269
- name: "Insert Axis",
270
- icon: "ph--plus--regular"
271
- },
272
- input: Schema3.Struct({
273
- model: Schema3.Any,
274
- axis: Axis,
275
- index: Schema3.Number,
276
- count: Schema3.optional(Schema3.Number)
277
- }),
278
- output: Schema3.Void
279
- });
280
- var DropAxisOutput = Schema3.Struct({
281
- axis: Axis.annotations({
282
- description: "The axis type (row or col)."
283
- }),
284
- axisIndex: Schema3.String.annotations({
285
- description: "The dropped axis index."
286
- }),
287
- index: Schema3.Number.annotations({
288
- description: "The position the axis was at."
289
- }),
290
- axisMeta: Schema3.Any.annotations({
291
- description: "The row/column metadata."
292
- }),
293
- values: Schema3.Array(Schema3.Any).annotations({
294
- description: "The cell values that were dropped."
295
- })
296
- });
297
- var DropAxis = Operation.make({
298
- meta: {
299
- key: makeKey("axisDrop"),
300
- name: "Drop Axis",
301
- icon: "ph--trash--regular"
302
- },
303
- input: Schema3.Struct({
304
- model: Schema3.Any,
305
- axis: Axis,
306
- axisIndex: Schema3.String
307
- }),
308
- output: DropAxisOutput
309
- });
310
- var ScrollToAnchor = Operation.make({
311
- meta: {
312
- key: makeKey("scrollToAnchor"),
313
- name: "Scroll To Anchor",
314
- icon: "ph--anchor-simple--regular"
315
- },
316
- services: [
317
- Capability2.Service
318
- ],
319
- input: Schema3.Struct({
320
- subject: Schema3.String.annotations({
321
- description: "Attendable ID of the sheet."
322
- }),
323
- cursor: Schema3.String.annotations({
324
- description: "Cell range coordinates."
325
- }),
326
- ref: Schema3.optional(Schema3.Any.annotations({
327
- description: "Active refs for highlighting."
328
- }))
329
- }),
330
- output: Schema3.Void
331
- });
332
- var Create = Operation.make({
333
- meta: {
334
- key: DXN2.make("org.dxos.function.sheet.create"),
335
- name: "Create",
336
- description: "Creates a new sheet and adds it to the space.",
337
- icon: "ph--grid-nine--regular"
338
- },
339
- input: Schema3.Struct({
340
- name: Schema3.optional(Schema3.String).annotations({
341
- description: "Display name for the sheet."
342
- }),
343
- rows: Schema3.optional(Schema3.Number).annotations({
344
- description: "Initial number of rows (default 50)."
345
- }),
346
- columns: Schema3.optional(Schema3.Number).annotations({
347
- description: "Initial number of columns (default 26)."
348
- })
349
- }),
350
- output: Schema3.Struct({
351
- id: Schema3.String.annotations({
352
- description: "The DXN of the created sheet."
353
- })
354
- }),
355
- services: [
356
- Database.Service
357
- ]
358
- });
359
- var GetValues = Operation.make({
360
- meta: {
361
- key: makeKey("rangeGet"),
362
- name: "Get Range Values",
363
- description: "Returns cell values from a sheet as a 2D array. Defaults to the entire occupied area.",
364
- icon: "ph--table--regular"
365
- },
366
- input: Schema3.Struct({
367
- sheet: Ref.Ref(Sheet).annotations({
368
- description: "The sheet to read from."
369
- }),
370
- range: Schema3.optional(Schema3.String).annotations({
371
- description: 'Range in A1 notation (e.g. "A1:C5"). Omit to return the entire occupied area.'
372
- })
373
- }),
374
- output: Schema3.Struct({
375
- values: Schema3.Array(Schema3.Array(Schema3.Any)).annotations({
376
- description: "2D array of cell values indexed [row][col]. Empty cells are null. Formulas are shown in A1 notation."
377
- }),
378
- range: Schema3.String.annotations({
379
- description: 'The A1 range actually returned (e.g. "A1:E5").'
380
- })
381
- }),
382
- services: [
383
- Database.Service
384
- ]
385
- });
386
- var SetValues = Operation.make({
387
- meta: {
388
- key: makeKey("rangeSet"),
389
- name: "Set Range Values",
390
- description: "Sets multiple cell values in a sheet at once.",
391
- icon: "ph--pencil--regular"
392
- },
393
- input: Schema3.Struct({
394
- sheet: Ref.Ref(Sheet).annotations({
395
- description: "The sheet to write to."
396
- }),
397
- cells: Schema3.Record({
398
- key: Schema3.String,
399
- value: Schema3.Any
400
- }).annotations({
401
- description: 'Map of A1 address to value (e.g. { "A1": "Name", "B1": 42, "C1": "=A1+B1" }).'
402
- })
403
- }),
404
- output: Schema3.Void,
405
- services: [
406
- Database.Service
407
- ]
408
- });
409
- var RestoreAxis = Operation.make({
410
- meta: {
411
- key: makeKey("restoreAxis"),
412
- name: "Restore Axis",
413
- icon: "ph--clock-counter-clockwise--regular"
414
- },
415
- input: Schema3.Struct({
416
- model: Schema3.Any.annotations({
417
- description: "The sheet model."
418
- }),
419
- axis: Axis.annotations({
420
- description: "The axis type (row or col)."
421
- }),
422
- axisIndex: Schema3.String.annotations({
423
- description: "The axis index to restore."
424
- }),
425
- index: Schema3.Number.annotations({
426
- description: "The position to restore at."
427
- }),
428
- axisMeta: Schema3.Any.annotations({
429
- description: "The row/column metadata."
430
- }),
431
- values: Schema3.Array(Schema3.Any).annotations({
432
- description: "The cell values to restore."
433
- })
434
- }),
435
- output: Schema3.Void
436
- });
437
-
438
- export {
439
- alignKey,
440
- commentKey,
441
- styleKey,
442
- cellClassNameForRange,
443
- MAX_ROWS,
444
- MAX_COLS,
445
- DEFAULT_ROWS,
446
- DEFAULT_COLS,
447
- ApiError,
448
- ReadonlyException,
449
- RangeException,
450
- createIndex,
451
- createIndices,
452
- insertIndices,
453
- initialize,
454
- addressToIndex,
455
- addressFromIndex,
456
- rangeToIndex,
457
- rangeFromIndex,
458
- compareIndexPositions,
459
- mapFormulaRefsToIndices,
460
- mapFormulaIndicesToRefs,
461
- Sheet_exports,
462
- SheetAction,
463
- SheetCapabilities_exports,
464
- SheetOperation_exports
465
- };
466
- //# sourceMappingURL=chunk-HY4DM35G.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/sheet-range-types.ts", "../../../src/types/types.ts", "../../../src/types/Sheet.ts", "../../../src/types/util.ts", "../../../src/types/SheetCapabilities.ts", "../../../src/types/SheetOperation.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ClassNameValue } from '@dxos/react-ui';\n\nimport { type Sheet } from '../types';\n\nexport const alignKey = 'alignment';\nexport type AlignKey = typeof alignKey;\nexport type AlignValue = 'start' | 'center' | 'end';\n\nexport const commentKey = 'comment';\nexport type CommentKey = typeof commentKey;\nexport type CommentValue = string;\n\nexport const styleKey = 'style';\nexport type StyleKey = typeof styleKey;\nexport type StyleValue = 'highlight' | 'softwrap';\n\n// TODO(burdon): Reconcile with plugin-table.\nexport const cellClassNameForRange = ({ key, value }: Sheet.Sheet['ranges'][number]): ClassNameValue => {\n switch (key) {\n case alignKey:\n switch (value) {\n case 'start':\n return 'text-start';\n case 'center':\n return 'text-center';\n case 'end':\n return 'text-end';\n default:\n return undefined;\n }\n\n case commentKey:\n return 'bg-grid-comment';\n\n case styleKey:\n switch (value) {\n case 'highlight':\n return 'bg-grid-highlight!';\n case 'softwrap':\n return 'whitespace-normal!';\n default:\n return undefined;\n }\n\n default:\n return undefined;\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport * as Sheet from './Sheet';\n\n// TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\nconst ActionAxis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\nexport namespace SheetAction {\n export const RestoreAxis = Schema.Struct({\n axis: ActionAxis,\n axisIndex: Schema.String,\n index: Schema.Number,\n axisMeta: Sheet.RowColumnMeta,\n values: Schema.Array(Schema.Any),\n });\n\n export type RestoreAxis = Schema.Schema.Type<typeof RestoreAxis>;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { AppAnnotation } from '@dxos/app-toolkit';\nimport { addressFromA1Notation, isFormula } from '@dxos/compute-hyperformula';\nimport { Annotation, DXN, Obj, Type } from '@dxos/echo';\nimport { FormInputAnnotation } from '@dxos/echo/Annotation';\nimport { CollectionItemAnnotation } from '@dxos/schema';\n\nimport { addressToIndex, initialize, mapFormulaRefsToIndices } from './util';\n\nexport const SKILL_KEY = 'org.dxos.skill.sheet';\n\nexport type SheetSize = {\n rows: number;\n columns: number;\n};\n\nexport const CellValue = Schema.Struct({\n // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.\n // Consider import/export; natural access for other plugins. Special handling for currency (precision).\n // TODO(burdon): Automerge (long string) or short string or number.\n value: Schema.Any,\n});\n\nexport type CellValue = Schema.Schema.Type<typeof CellValue>;\n\n// TODO(burdon): IMPORTANT: Reconcile with Field definition.\nexport const Range = Schema.Struct({\n range: Schema.String,\n key: Schema.String,\n value: Schema.String,\n});\n\nexport type Range = Schema.Schema.Type<typeof Range>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = Schema.Struct({\n size: Schema.optional(Schema.Number),\n});\n\n// TODO(burdon): Reconcile col/column (across packages).\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\nexport class Sheet extends Type.makeObject<Sheet>(DXN.make('org.dxos.type.sheet', '0.1.0'))(\n Schema.Struct({\n name: Schema.optional(Schema.String),\n\n // Sparse map of cells referenced by index.\n cells: Schema.Record({ key: Schema.String, value: CellValue }).pipe(FormInputAnnotation.set(false)),\n\n // Ordered row indices.\n rows: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n\n // Ordered column indices.\n columns: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n\n // Row metadata referenced by index.\n rowMeta: Schema.Record({ key: Schema.String, value: RowColumnMeta }).pipe(FormInputAnnotation.set(false)),\n\n // Column metadata referenced by index.\n columnMeta: Schema.Record({ key: Schema.String, value: RowColumnMeta }).pipe(FormInputAnnotation.set(false)),\n\n // Cell formatting referenced by indexed range.\n ranges: Schema.Array(Range).pipe(FormInputAnnotation.set(false)),\n }).pipe(\n Annotation.IconAnnotation.set({ icon: 'ph--grid-nine--regular', hue: 'indigo' }),\n AppAnnotation.SkillsAnnotation.set([SKILL_KEY]),\n CollectionItemAnnotation.set(true),\n ),\n) {}\n\nexport type SheetProps = {\n name?: string;\n cells?: Record<string, CellValue>;\n} & Partial<SheetSize>;\n\nexport const make = ({ name, cells = {}, ...size }: SheetProps = {}) => {\n const sheet = Obj.make(Sheet, { name, cells: {}, rows: [], columns: [], rowMeta: {}, columnMeta: {}, ranges: [] });\n\n // Initialize and set cells within Obj.update to satisfy change context requirements.\n Obj.update(sheet, (sheet) => {\n initialize(sheet, size);\n\n if (cells) {\n Object.entries(cells).forEach(([key, { value }]) => {\n const idx = addressToIndex(sheet, addressFromA1Notation(key));\n if (isFormula(value)) {\n value = mapFormulaRefsToIndices(sheet, value);\n }\n\n sheet.cells[idx] = { value };\n });\n }\n });\n\n return sheet;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type CellAddress,\n type CellRange,\n type CompleteCellRange,\n addressFromA1Notation,\n addressToA1Notation,\n isFormula,\n} from '@dxos/compute-hyperformula';\nimport { randomBytes } from '@dxos/crypto';\nimport { type Obj } from '@dxos/echo';\nimport { assertArgument } from '@dxos/invariant';\n\nimport { type Sheet } from '../types';\n\nexport const MAX_ROWS = 500;\nexport const MAX_COLS = 676; // 26^2;\n\nexport const DEFAULT_ROWS = 50;\nexport const DEFAULT_COLS = 26;\n\n// TODO(burdon): Factor out from dxos/protocols to new common package.\nexport class ApiError extends Error {}\n\nexport class ReadonlyException extends ApiError {}\n\nexport class RangeException extends ApiError {\n constructor(n: number) {\n super();\n }\n}\n\n/**\n * With a string length of 8, the chance of a collision is 0.02% for a sheet with 10,000 strings.\n */\nexport const createIndex = (length = 8): string => {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n const randomBuffer = randomBytes(length);\n return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join('');\n};\n\nexport const createIndices = (length: number): string[] => Array.from({ length }).map(() => createIndex());\n\nexport const insertIndices = (indices: string[], i: number, n: number, max: number) => {\n if (i + n > max) {\n throw new RangeException(i + n);\n }\n\n const idx = createIndices(n);\n indices.splice(i, 0, ...idx);\n return idx;\n};\n\nexport const initialize = (\n sheet: Obj.Mutable<Sheet.Sheet>,\n { rows = DEFAULT_ROWS, columns = DEFAULT_COLS }: Partial<Sheet.SheetSize> = {},\n) => {\n if (!sheet.rows.length) {\n insertIndices(sheet.rows, 0, rows, MAX_ROWS);\n }\n if (!sheet.columns.length) {\n insertIndices(sheet.columns, 0, columns, MAX_COLS);\n }\n};\n\n/**\n * E.g., \"A1\" => \"CA2@CB3\".\n */\nexport const addressToIndex = (sheet: Sheet.Sheet, cell: CellAddress): string => {\n return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;\n};\n\n/**\n * E.g., \"CA2@CB3\" => \"A1\".\n */\nexport const addressFromIndex = (sheet: Sheet.Sheet, idx: string): CellAddress => {\n const [column, row] = idx.split('@');\n return {\n col: sheet.columns.indexOf(column),\n row: sheet.rows.indexOf(row),\n };\n};\n\n/**\n * E.g., \"A1:B2\" => \"CA2@CB3:CC4@CD5\".\n */\nexport const rangeToIndex = (sheet: Sheet.Sheet, range: CellRange): string => {\n return [range.from, range.to ?? range.from].map((cell) => addressToIndex(sheet, cell)).join(':');\n};\n\n/**\n * E.g., \"CA2@CB3:CC4@CD5\" => \"A1:B2\".\n */\nexport const rangeFromIndex = (sheet: Sheet.Sheet, idx: string): CompleteCellRange => {\n const [from, to] = idx.split(':').map((index) => addressFromIndex(sheet, index));\n return { from, to };\n};\n\n/**\n * Compares the positions of two cell indexes in a sheet.\n * Sorts primarily by row, then by column if rows are equal.\n */\nexport const compareIndexPositions = (sheet: Sheet.Sheet, indexA: string, indexB: string): number => {\n const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);\n const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);\n\n // Sort by row first, then by column.\n if (rowA !== rowB) {\n return rowA - rowB;\n } else {\n return columnA - columnB;\n }\n};\n\n// TODO(burdon): Tests.\n\n/**\n * Map from A1 notation to indices.\n */\nexport const mapFormulaRefsToIndices = (sheet: Sheet.Sheet, formula: string): string => {\n assertArgument(isFormula(formula), 'formula');\n return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {\n const cell = addressFromA1Notation(match);\n // Skip tokens whose parsed address falls outside the sheet bounds or is negative — they are\n // function names (e.g. LOG10, ATAN2) or malformed refs (e.g. A0 → row -1) rather than valid\n // cell references.\n if (cell.col < 0 || cell.row < 0 || cell.col >= sheet.columns.length || cell.row >= sheet.rows.length) {\n return match;\n }\n return addressToIndex(sheet, cell);\n });\n};\n\n/**\n * Map from indices to A1 notation.\n */\nexport const mapFormulaIndicesToRefs = (sheet: Sheet.Sheet, formula: string): string => {\n assertArgument(isFormula(formula), 'formula');\n return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {\n return addressToA1Notation(addressFromIndex(sheet, idx));\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { Capability } from '@dxos/app-framework';\nimport { type ComputeGraphRegistry as ComputeGraphRegistryType } from '@dxos/compute-hyperformula';\nimport { type DxGridElement, type GridContentProps } from '@dxos/react-ui-grid';\n\nimport { meta } from '#meta';\n\nexport type GridEntry = { grid: DxGridElement; setActiveRefs: (refs: GridContentProps['activeRefs']) => void };\n\nexport type GridRegistry = {\n register: (attendableId: string, grid: DxGridElement, setActiveRefs: GridEntry['setActiveRefs']) => void;\n unregister: (attendableId: string) => void;\n get: (attendableId: string) => GridEntry | undefined;\n};\n\nexport const ComputeGraphRegistry = Capability.make<ComputeGraphRegistryType>(\n `${meta.profile.key}.capability.compute-graph-registry`,\n);\n\n/** Registry of active grid instances keyed by attendable ID. */\nexport const GridInstances = Capability.make<GridRegistry>(`${meta.profile.key}.capability.grid-instances`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Database, Ref } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\n\nimport { meta } from '#meta';\n\nimport * as Sheet from './Sheet';\n\nconst makeKey = (name: string) => DXN.make(`${meta.profile.key}.operation.${name}`);\n\n// TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\nconst Axis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\nexport const InsertAxis = Operation.make({\n meta: { key: makeKey('axisInsert'), name: 'Insert Axis', icon: 'ph--plus--regular' },\n input: Schema.Struct({\n model: Schema.Any,\n axis: Axis,\n index: Schema.Number,\n count: Schema.optional(Schema.Number),\n }),\n output: Schema.Void,\n});\n\nexport const DropAxisOutput = Schema.Struct({\n axis: Axis.annotations({ description: 'The axis type (row or col).' }),\n axisIndex: Schema.String.annotations({ description: 'The dropped axis index.' }),\n index: Schema.Number.annotations({ description: 'The position the axis was at.' }),\n axisMeta: Schema.Any.annotations({ description: 'The row/column metadata.' }),\n values: Schema.Array(Schema.Any).annotations({ description: 'The cell values that were dropped.' }),\n});\n\nexport type DropAxisOutput = Schema.Schema.Type<typeof DropAxisOutput>;\n\nexport const DropAxis = Operation.make({\n meta: { key: makeKey('axisDrop'), name: 'Drop Axis', icon: 'ph--trash--regular' },\n input: Schema.Struct({\n model: Schema.Any,\n axis: Axis,\n axisIndex: Schema.String,\n }),\n output: DropAxisOutput,\n});\n\nexport const ScrollToAnchor = Operation.make({\n meta: {\n key: makeKey('scrollToAnchor'),\n name: 'Scroll To Anchor',\n icon: 'ph--anchor-simple--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Schema.String.annotations({ description: 'Attendable ID of the sheet.' }),\n cursor: Schema.String.annotations({ description: 'Cell range coordinates.' }),\n ref: Schema.optional(Schema.Any.annotations({ description: 'Active refs for highlighting.' })),\n }),\n output: Schema.Void,\n});\n\nexport const Create = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.sheet.create'),\n name: 'Create',\n description: 'Creates a new sheet and adds it to the space.',\n icon: 'ph--grid-nine--regular',\n },\n input: Schema.Struct({\n name: Schema.optional(Schema.String).annotations({ description: 'Display name for the sheet.' }),\n rows: Schema.optional(Schema.Number).annotations({ description: 'Initial number of rows (default 50).' }),\n columns: Schema.optional(Schema.Number).annotations({ description: 'Initial number of columns (default 26).' }),\n }),\n output: Schema.Struct({\n id: Schema.String.annotations({ description: 'The DXN of the created sheet.' }),\n }),\n services: [Database.Service],\n});\n\nexport const GetValues = Operation.make({\n meta: {\n key: makeKey('rangeGet'),\n name: 'Get Range Values',\n description: 'Returns cell values from a sheet as a 2D array. Defaults to the entire occupied area.',\n icon: 'ph--table--regular',\n },\n input: Schema.Struct({\n sheet: Ref.Ref(Sheet.Sheet).annotations({ description: 'The sheet to read from.' }),\n range: Schema.optional(Schema.String).annotations({\n description: 'Range in A1 notation (e.g. \"A1:C5\"). Omit to return the entire occupied area.',\n }),\n }),\n output: Schema.Struct({\n values: Schema.Array(Schema.Array(Schema.Any)).annotations({\n description:\n '2D array of cell values indexed [row][col]. Empty cells are null. Formulas are shown in A1 notation.',\n }),\n range: Schema.String.annotations({ description: 'The A1 range actually returned (e.g. \"A1:E5\").' }),\n }),\n services: [Database.Service],\n});\n\nexport const SetValues = Operation.make({\n meta: {\n key: makeKey('rangeSet'),\n name: 'Set Range Values',\n description: 'Sets multiple cell values in a sheet at once.',\n icon: 'ph--pencil--regular',\n },\n input: Schema.Struct({\n sheet: Ref.Ref(Sheet.Sheet).annotations({ description: 'The sheet to write to.' }),\n cells: Schema.Record({ key: Schema.String, value: Schema.Any }).annotations({\n description: 'Map of A1 address to value (e.g. { \"A1\": \"Name\", \"B1\": 42, \"C1\": \"=A1+B1\" }).',\n }),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n\n/**\n * Restore a dropped axis (inverse of DropAxis).\n */\nexport const RestoreAxis = Operation.make({\n meta: {\n key: makeKey('restoreAxis'),\n name: 'Restore Axis',\n icon: 'ph--clock-counter-clockwise--regular',\n },\n input: Schema.Struct({\n model: Schema.Any.annotations({ description: 'The sheet model.' }),\n axis: Axis.annotations({ description: 'The axis type (row or col).' }),\n axisIndex: Schema.String.annotations({ description: 'The axis index to restore.' }),\n index: Schema.Number.annotations({ description: 'The position to restore at.' }),\n axisMeta: Schema.Any.annotations({ description: 'The row/column metadata.' }),\n values: Schema.Array(Schema.Any).annotations({ description: 'The cell values to restore.' }),\n }),\n output: Schema.Void,\n});\n"],
5
- "mappings": "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",
6
- "names": ["alignKey", "commentKey", "styleKey", "cellClassNameForRange", "key", "value", "undefined", "Schema", "Schema", "AppAnnotation", "addressFromA1Notation", "isFormula", "Annotation", "DXN", "Obj", "Type", "FormInputAnnotation", "CollectionItemAnnotation", "addressFromA1Notation", "addressToA1Notation", "isFormula", "randomBytes", "assertArgument", "MAX_ROWS", "MAX_COLS", "DEFAULT_ROWS", "DEFAULT_COLS", "ApiError", "Error", "ReadonlyException", "RangeException", "n", "createIndex", "length", "characters", "charactersLength", "randomBuffer", "Array", "from", "byte", "join", "createIndices", "map", "insertIndices", "indices", "i", "max", "idx", "splice", "initialize", "sheet", "rows", "columns", "addressToIndex", "cell", "col", "row", "addressFromIndex", "column", "split", "indexOf", "rangeToIndex", "range", "to", "rangeFromIndex", "index", "compareIndexPositions", "indexA", "indexB", "rowA", "columnA", "rowB", "columnB", "mapFormulaRefsToIndices", "formula", "replace", "match", "mapFormulaIndicesToRefs", "SKILL_KEY", "CellValue", "Struct", "value", "Any", "Range", "range", "String", "key", "RowColumnMeta", "size", "optional", "Number", "Sheet", "Type", "makeObject", "DXN", "make", "name", "cells", "Record", "pipe", "FormInputAnnotation", "set", "rows", "Array", "columns", "rowMeta", "columnMeta", "ranges", "Annotation", "IconAnnotation", "icon", "hue", "AppAnnotation", "SkillsAnnotation", "CollectionItemAnnotation", "sheet", "Obj", "update", "initialize", "Object", "entries", "forEach", "idx", "addressToIndex", "addressFromA1Notation", "isFormula", "mapFormulaRefsToIndices", "ActionAxis", "Union", "Literal", "SheetAction", "RestoreAxis", "Struct", "axis", "axisIndex", "String", "index", "Number", "axisMeta", "RowColumnMeta", "values", "Array", "Any", "Capability", "meta", "ComputeGraphRegistry", "make", "profile", "key", "GridInstances", "Schema", "Capability", "Operation", "Database", "Ref", "DXN", "meta", "makeKey", "name", "DXN", "make", "meta", "profile", "key", "Axis", "Union", "Literal", "InsertAxis", "Operation", "icon", "input", "Struct", "model", "Any", "axis", "index", "Number", "count", "optional", "output", "Void", "DropAxisOutput", "annotations", "description", "axisIndex", "String", "axisMeta", "values", "Array", "DropAxis", "ScrollToAnchor", "services", "Capability", "Service", "subject", "cursor", "ref", "Create", "rows", "columns", "id", "Database", "GetValues", "sheet", "Ref", "Sheet", "range", "SetValues", "cells", "Record", "value", "RestoreAxis"]
7
- }
@@ -1,10 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- export {
8
- __export
9
- };
10
- //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1,8 +0,0 @@
1
- // src/operations/index.ts
2
- import { OperationHandlerSet } from "@dxos/compute";
3
- var SheetOperationHandlerSet = OperationHandlerSet.lazy(() => import("./create-I3TKMPQO.mjs"), () => import("./drop-axis-JPFU5CJO.mjs"), () => import("./get-values-7YWQTH65.mjs"), () => import("./insert-axis-WD6ZC3UA.mjs"), () => import("./restore-axis-RLPX7P3G.mjs"), () => import("./scroll-to-anchor-6FJJQWZC.mjs"), () => import("./set-values-5DVOVLJH.mjs"));
4
-
5
- export {
6
- SheetOperationHandlerSet
7
- };
8
- //# sourceMappingURL=chunk-TDGEOMRG.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const SheetOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./create'),\n () => import('./drop-axis'),\n () => import('./get-values'),\n () => import('./insert-axis'),\n () => import('./restore-axis'),\n () => import('./scroll-to-anchor'),\n () => import('./set-values'),\n);\n"],
5
- "mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,2BAA2BD,oBAAoBE,KAC1D,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,0BAAA,GACb,MAAM,OAAO,2BAAA,GACb,MAAM,OAAO,4BAAA,GACb,MAAM,OAAO,6BAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,2BAAA,CAAA;",
6
- "names": ["OperationHandlerSet", "SheetOperationHandlerSet", "lazy"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts", "../../../dx.config.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport config from '../dx.config';\n\nexport const meta = Plugin.getMetaFromConfig(config);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Config2 } from '@dxos/app-framework/config';\nimport { trim } from '@dxos/util';\n\nexport default Config2.make({\n plugin: {\n key: 'org.dxos.plugin.sheet',\n name: 'Sheet',\n author: 'DXOS',\n description: trim`\n Full-featured spreadsheet for DXOS Composer backed by ECHO for local-first, real-time collaborative editing.\n Cells, row/column metadata, and range-based formatting are all stored as ECHO objects and replicated to peers instantly.\n\n Formula evaluation is powered by HyperFormula, providing over 400 built-in functions covering arithmetic, statistics,\n text manipulation, date/time, financial, and logical operations. Formulas are stored with internal cell indices and\n translated to A1-notation on display, keeping references stable across row and column insertions.\n\n The plugin integrates with plugin-markdown to expose formula results inside document fenced code blocks, and\n contributes anchor-navigation support so other plugins can scroll and highlight specific cell ranges by DXN reference.\n AI agents can invoke sheet operations — insert/drop axes, scroll to anchor, and read or write cell values — through\n the standard operations framework.\n `,\n icon: { key: 'ph--grid-nine--regular', hue: 'indigo' },\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-sheet',\n spec: 'PLUGIN.mdl',\n screenshots: [{ dark: 'https://dxos.network/plugin-details-sheet-dark.png' }],\n },\n});\n"],
5
- "mappings": ";AAIA,SAASA,cAAc;;;ACAvB,SAASC,eAAe;AACxB,SAASC,YAAY;AAErB,IAAA,oBAAeD,QAAQE,KAAK;EAC1BC,QAAQ;IACNC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,aAAaN;;;;;;;;;;;;;IAabO,MAAM;MAAEJ,KAAK;MAA0BK,KAAK;IAAS;IACrDC,QAAQ;IACRC,MAAM;IACNC,aAAa;MAAC;QAAEC,MAAM;MAAqD;;EAC7E;AACF,CAAA;;;ADtBO,IAAMC,OAAOC,OAAOC,kBAAkBC,iBAAAA;",
6
- "names": ["Plugin", "Config2", "trim", "make", "plugin", "key", "name", "author", "description", "icon", "hue", "source", "spec", "screenshots", "dark", "meta", "Plugin", "getMetaFromConfig", "config"]
7
- }
@@ -1,22 +0,0 @@
1
- import "./chunk-J5LGTIGS.mjs";
2
-
3
- // src/capabilities/comment-config.ts
4
- import * as Effect from "effect/Effect";
5
- import { Capability } from "@dxos/app-framework";
6
- import { AppCapabilities } from "@dxos/app-toolkit";
7
- import { Type } from "@dxos/echo";
8
- import { SheetOperation } from "#types";
9
- import { Sheet } from "#types";
10
- var activate = Effect.fnUntraced(function* () {
11
- const config = {
12
- id: Type.getTypename(Sheet.Sheet),
13
- comments: "anchored",
14
- scrollToAnchor: SheetOperation.ScrollToAnchor
15
- };
16
- return Capability.contributes(AppCapabilities.CommentConfig, config);
17
- });
18
- var comment_config_default = activate;
19
- export {
20
- comment_config_default as default
21
- };
22
- //# sourceMappingURL=comment-config-4CIQFYM2.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/comment-config.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Type } from '@dxos/echo';\n\nimport { SheetOperation } from '#types';\nimport { Sheet } from '#types';\n\nconst activate = Effect.fnUntraced(function* () {\n const config: AppCapabilities.CommentConfig = {\n id: Type.getTypename(Sheet.Sheet),\n comments: 'anchored',\n scrollToAnchor: SheetOperation.ScrollToAnchor,\n };\n return Capability.contributes(AppCapabilities.CommentConfig, config);\n});\n\nexport default activate;\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,YAAY;AAErB,SAASC,sBAAsB;AAC/B,SAASC,aAAa;AAEtB,IAAMC,WAAkBC,kBAAW,aAAA;AACjC,QAAMC,SAAwC;IAC5CC,IAAIN,KAAKO,YAAYL,MAAMA,KAAK;IAChCM,UAAU;IACVC,gBAAgBR,eAAeS;EACjC;AACA,SAAOZ,WAAWa,YAAYZ,gBAAgBa,eAAeP,MAAAA;AAC/D,CAAA;AAEA,IAAA,yBAAeF;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "Type", "SheetOperation", "Sheet", "activate", "fnUntraced", "config", "id", "getTypename", "comments", "scrollToAnchor", "ScrollToAnchor", "contributes", "CommentConfig"]
7
- }