@dxos/plugin-sheet 0.6.14-main.8b352a0 → 0.6.14-staging.8758a12

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 (103) hide show
  1. package/dist/lib/browser/{SheetContainer-R65IDJHN.mjs → SheetContainer-GPJOTYCI.mjs} +41 -30
  2. package/dist/lib/browser/SheetContainer-GPJOTYCI.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-5KVQ5IPW.mjs → chunk-BVUN7SHF.mjs} +4 -2
  4. package/dist/lib/browser/chunk-BVUN7SHF.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-I2DKJ72A.mjs → chunk-CYOQA6UK.mjs} +277 -79
  6. package/dist/lib/browser/chunk-CYOQA6UK.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-D3QTX46O.mjs → chunk-RABELMEQ.mjs} +3 -2
  8. package/dist/lib/browser/{chunk-D3QTX46O.mjs.map → chunk-RABELMEQ.mjs.map} +3 -3
  9. package/dist/lib/browser/{chunk-KCYJSOFB.mjs → chunk-VMSX6Z4X.mjs} +51 -17
  10. package/dist/lib/browser/chunk-VMSX6Z4X.mjs.map +7 -0
  11. package/dist/lib/browser/{compute-graph-SJT67236.mjs → compute-graph-GGWUX644.mjs} +4 -4
  12. package/dist/lib/browser/index.mjs +38 -10
  13. package/dist/lib/browser/index.mjs.map +3 -3
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/meta.mjs +1 -1
  16. package/dist/lib/browser/types.mjs +2 -2
  17. package/dist/lib/node/{SheetContainer-6BO4C5X2.cjs → SheetContainer-VSC6XF3M.cjs} +60 -50
  18. package/dist/lib/node/SheetContainer-VSC6XF3M.cjs.map +7 -0
  19. package/dist/lib/node/{chunk-QIFIGEKV.cjs → chunk-2ZVZI2KJ.cjs} +6 -5
  20. package/dist/lib/node/{chunk-QIFIGEKV.cjs.map → chunk-2ZVZI2KJ.cjs.map} +3 -3
  21. package/dist/lib/node/{chunk-DEPJHN47.cjs → chunk-545PZPK3.cjs} +313 -116
  22. package/dist/lib/node/chunk-545PZPK3.cjs.map +7 -0
  23. package/dist/lib/node/{chunk-2XJ5I4UF.cjs → chunk-AWKOWDMI.cjs} +8 -6
  24. package/dist/lib/node/chunk-AWKOWDMI.cjs.map +7 -0
  25. package/dist/lib/node/{chunk-JF5XNTF3.cjs → chunk-O7XR4R7Y.cjs} +61 -26
  26. package/dist/lib/node/chunk-O7XR4R7Y.cjs.map +7 -0
  27. package/dist/lib/node/{compute-graph-AQBDL7HO.cjs → compute-graph-KGWA2QLE.cjs} +21 -21
  28. package/dist/lib/node/{compute-graph-AQBDL7HO.cjs.map → compute-graph-KGWA2QLE.cjs.map} +2 -2
  29. package/dist/lib/node/index.cjs +66 -38
  30. package/dist/lib/node/index.cjs.map +3 -3
  31. package/dist/lib/node/meta.cjs +3 -3
  32. package/dist/lib/node/meta.cjs.map +1 -1
  33. package/dist/lib/node/meta.json +1 -1
  34. package/dist/lib/node/types.cjs +7 -7
  35. package/dist/lib/node/types.cjs.map +1 -1
  36. package/dist/lib/node-esm/{SheetContainer-MJXC5E3P.mjs → SheetContainer-SJK25GKT.mjs} +41 -30
  37. package/dist/lib/node-esm/SheetContainer-SJK25GKT.mjs.map +7 -0
  38. package/dist/lib/node-esm/{chunk-VCYJWE3O.mjs → chunk-BM2Q3FFC.mjs} +3 -2
  39. package/dist/lib/node-esm/{chunk-VCYJWE3O.mjs.map → chunk-BM2Q3FFC.mjs.map} +3 -3
  40. package/dist/lib/node-esm/{chunk-XBEHKYO7.mjs → chunk-CR4K75EL.mjs} +51 -17
  41. package/dist/lib/node-esm/chunk-CR4K75EL.mjs.map +7 -0
  42. package/dist/lib/node-esm/{chunk-25V7WY4R.mjs → chunk-EZ6K2W62.mjs} +277 -79
  43. package/dist/lib/node-esm/chunk-EZ6K2W62.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-5TXLF6PL.mjs → chunk-UIBWRHW7.mjs} +4 -2
  45. package/dist/lib/node-esm/chunk-UIBWRHW7.mjs.map +7 -0
  46. package/dist/lib/node-esm/{compute-graph-FRCKXEYK.mjs → compute-graph-2SCZT7N5.mjs} +4 -4
  47. package/dist/lib/node-esm/index.mjs +38 -10
  48. package/dist/lib/node-esm/index.mjs.map +3 -3
  49. package/dist/lib/node-esm/meta.json +1 -1
  50. package/dist/lib/node-esm/meta.mjs +1 -1
  51. package/dist/lib/node-esm/types.mjs +2 -2
  52. package/dist/types/src/SheetPlugin.d.ts.map +1 -1
  53. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  54. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  55. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  56. package/dist/types/src/components/Toolbar/Toolbar.d.ts +5 -2
  57. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  58. package/dist/types/src/compute-graph/compute-graph.d.ts +2 -2
  59. package/dist/types/src/compute-graph/compute-graph.d.ts.map +1 -1
  60. package/dist/types/src/compute-graph/functions/async-function.d.ts.map +1 -1
  61. package/dist/types/src/compute-graph/functions/edge-function.d.ts.map +1 -1
  62. package/dist/types/src/defs/sheet-range-types.d.ts +1 -1
  63. package/dist/types/src/defs/sheet-range-types.d.ts.map +1 -1
  64. package/dist/types/src/defs/util.d.ts +1 -1
  65. package/dist/types/src/defs/util.d.ts.map +1 -1
  66. package/dist/types/src/meta.d.ts +1 -0
  67. package/dist/types/src/meta.d.ts.map +1 -1
  68. package/dist/types/src/model/sheet-model.d.ts +12 -5
  69. package/dist/types/src/model/sheet-model.d.ts.map +1 -1
  70. package/dist/types/src/translations.d.ts +10 -5
  71. package/dist/types/src/translations.d.ts.map +1 -1
  72. package/dist/types/src/types.d.ts +33 -3
  73. package/dist/types/src/types.d.ts.map +1 -1
  74. package/package.json +36 -36
  75. package/src/SheetPlugin.tsx +20 -0
  76. package/src/components/GridSheet/GridSheet.tsx +96 -36
  77. package/src/components/GridSheet/util.ts +13 -7
  78. package/src/components/SheetContainer/SheetContainer.stories.tsx +2 -0
  79. package/src/components/Toolbar/Toolbar.tsx +62 -41
  80. package/src/compute-graph/compute-graph.ts +22 -7
  81. package/src/compute-graph/functions/async-function.ts +1 -0
  82. package/src/compute-graph/functions/edge-function.ts +5 -3
  83. package/src/defs/sheet-range-types.ts +4 -2
  84. package/src/defs/util.ts +1 -0
  85. package/src/meta.ts +1 -0
  86. package/src/model/sheet-model.test.ts +5 -3
  87. package/src/model/sheet-model.ts +93 -21
  88. package/src/translations.ts +10 -5
  89. package/src/types.ts +20 -0
  90. package/dist/lib/browser/SheetContainer-R65IDJHN.mjs.map +0 -7
  91. package/dist/lib/browser/chunk-5KVQ5IPW.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-I2DKJ72A.mjs.map +0 -7
  93. package/dist/lib/browser/chunk-KCYJSOFB.mjs.map +0 -7
  94. package/dist/lib/node/SheetContainer-6BO4C5X2.cjs.map +0 -7
  95. package/dist/lib/node/chunk-2XJ5I4UF.cjs.map +0 -7
  96. package/dist/lib/node/chunk-DEPJHN47.cjs.map +0 -7
  97. package/dist/lib/node/chunk-JF5XNTF3.cjs.map +0 -7
  98. package/dist/lib/node-esm/SheetContainer-MJXC5E3P.mjs.map +0 -7
  99. package/dist/lib/node-esm/chunk-25V7WY4R.mjs.map +0 -7
  100. package/dist/lib/node-esm/chunk-5TXLF6PL.mjs.map +0 -7
  101. package/dist/lib/node-esm/chunk-XBEHKYO7.mjs.map +0 -7
  102. /package/dist/lib/browser/{compute-graph-SJT67236.mjs.map → compute-graph-GGWUX644.mjs.map} +0 -0
  103. /package/dist/lib/node-esm/{compute-graph-FRCKXEYK.mjs.map → compute-graph-2SCZT7N5.mjs.map} +0 -0
@@ -32,10 +32,10 @@ __export(node_exports, {
32
32
  default: () => src_default
33
33
  });
34
34
  module.exports = __toCommonJS(node_exports);
35
- var import_chunk_DEPJHN47 = require("./chunk-DEPJHN47.cjs");
36
- var import_chunk_JF5XNTF3 = require("./chunk-JF5XNTF3.cjs");
37
- var import_chunk_2XJ5I4UF = require("./chunk-2XJ5I4UF.cjs");
38
- var import_chunk_QIFIGEKV = require("./chunk-QIFIGEKV.cjs");
35
+ var import_chunk_545PZPK3 = require("./chunk-545PZPK3.cjs");
36
+ var import_chunk_O7XR4R7Y = require("./chunk-O7XR4R7Y.cjs");
37
+ var import_chunk_AWKOWDMI = require("./chunk-AWKOWDMI.cjs");
38
+ var import_chunk_2ZVZI2KJ = require("./chunk-2ZVZI2KJ.cjs");
39
39
  var import_react = __toESM(require("react"));
40
40
  var import_app_framework = require("@dxos/app-framework");
41
41
  var import_invariant = require("@dxos/invariant");
@@ -53,7 +53,7 @@ var serializer = {
53
53
  },
54
54
  deserialize: async ({ content, newId }) => {
55
55
  const { id, ...parsed } = JSON.parse(content);
56
- const sheet = (0, import_echo2.create)(import_chunk_2XJ5I4UF.SheetType, parsed);
56
+ const sheet = (0, import_echo2.create)(import_chunk_AWKOWDMI.SheetType, parsed);
57
57
  if (!newId) {
58
58
  const core = (0, import_echo2.getObjectCore)(sheet);
59
59
  core.id = id;
@@ -64,17 +64,20 @@ var serializer = {
64
64
  var translations_default = [
65
65
  {
66
66
  "en-US": {
67
- [import_chunk_QIFIGEKV.SHEET_PLUGIN]: {
67
+ [import_chunk_2ZVZI2KJ.SHEET_PLUGIN]: {
68
68
  "plugin name": "Sheets",
69
69
  "sheet title placeholder": "New sheet",
70
70
  "create sheet label": "Create sheet",
71
71
  "create sheet section label": "Create sheet",
72
72
  "cell placeholder": "Cell value...",
73
73
  "range key alignment label": "Align",
74
- "range value start label": "left",
75
- "range value center label": "center",
76
- "range value end label": "right",
77
- "toolbar action label": "{{key}} {{value}}",
74
+ "range key style label": "Style",
75
+ "range value start label": "Align left",
76
+ "range value center label": "Align center",
77
+ "range value end label": "Align right",
78
+ "range value softwrap label": "Wrap text",
79
+ "range value highlight label": "Highlight",
80
+ "toolbar action label": "{{value}}",
78
81
  "selection overlaps existing comment label": "Selected cell already has a comment",
79
82
  "comment label": "Add comment",
80
83
  "comment ranges not supported label": "Commenting on ranges is not yet supported",
@@ -87,7 +90,9 @@ var translations_default = [
87
90
  "add row after label": "Add row after",
88
91
  "delete row label": "Delete row",
89
92
  "range list heading": "Ranges",
90
- "range title": "{{position}} \u2014 {{key}}: {{value}}"
93
+ "range title": "{{position}} \u2014 {{value}}",
94
+ "col dropped label": "Deleted a column",
95
+ "row dropped label": "Deleted a row"
91
96
  }
92
97
  }
93
98
  }
@@ -96,7 +101,7 @@ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-sheet/sr
96
101
  var SheetPlugin = () => {
97
102
  let computeGraphRegistry;
98
103
  return {
99
- meta: import_chunk_QIFIGEKV.meta_default,
104
+ meta: import_chunk_2ZVZI2KJ.meta_default,
100
105
  ready: async (plugins) => {
101
106
  const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
102
107
  (0, import_invariant.invariant)(client, void 0, {
@@ -114,7 +119,7 @@ var SheetPlugin = () => {
114
119
  url.protocol = "https";
115
120
  remoteFunctionUrl = url.toString();
116
121
  }
117
- const { defaultPlugins, ComputeGraphRegistry } = await import("./compute-graph-AQBDL7HO.cjs");
122
+ const { defaultPlugins, ComputeGraphRegistry } = await import("./compute-graph-KGWA2QLE.cjs");
118
123
  computeGraphRegistry = new ComputeGraphRegistry({
119
124
  plugins: defaultPlugins,
120
125
  remoteFunctionUrl
@@ -131,18 +136,18 @@ var SheetPlugin = () => {
131
136
  ""
132
137
  ]
133
138
  });
134
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_DEPJHN47.ComputeGraphContextProvider, {
139
+ return /* @__PURE__ */ import_react.default.createElement(import_chunk_545PZPK3.ComputeGraphContextProvider, {
135
140
  registry: computeGraphRegistry
136
141
  }, children);
137
142
  },
138
143
  metadata: {
139
144
  records: {
140
- [import_chunk_2XJ5I4UF.SheetType.typename]: {
141
- label: (object) => object instanceof import_chunk_2XJ5I4UF.SheetType ? object.name : void 0,
145
+ [import_chunk_AWKOWDMI.SheetType.typename]: {
146
+ label: (object) => object instanceof import_chunk_AWKOWDMI.SheetType ? object.name : void 0,
142
147
  placeholder: [
143
148
  "sheet title placeholder",
144
149
  {
145
- ns: import_chunk_QIFIGEKV.SHEET_PLUGIN
150
+ ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
146
151
  }
147
152
  ],
148
153
  icon: "ph--grid-nine--regular",
@@ -155,7 +160,7 @@ var SheetPlugin = () => {
155
160
  // TODO(wittjosiah): Factor out to common package/plugin.
156
161
  // FunctionType is currently registered here in case script plugin isn't enabled.
157
162
  schema: [
158
- import_chunk_2XJ5I4UF.SheetType,
163
+ import_chunk_AWKOWDMI.SheetType,
159
164
  import_types.FunctionType
160
165
  ]
161
166
  },
@@ -164,10 +169,10 @@ var SheetPlugin = () => {
164
169
  label: [
165
170
  "create sheet label",
166
171
  {
167
- ns: import_chunk_QIFIGEKV.SHEET_PLUGIN
172
+ ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
168
173
  }
169
174
  ],
170
- action: import_chunk_2XJ5I4UF.SheetAction.CREATE
175
+ action: import_chunk_AWKOWDMI.SheetAction.CREATE
171
176
  }
172
177
  },
173
178
  graph: {
@@ -178,7 +183,7 @@ var SheetPlugin = () => {
178
183
  return [];
179
184
  }
180
185
  return (0, import_plugin_graph.createExtension)({
181
- id: import_chunk_2XJ5I4UF.SheetAction.CREATE,
186
+ id: import_chunk_AWKOWDMI.SheetAction.CREATE,
182
187
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
183
188
  actions: ({ node }) => {
184
189
  const id = node.id.split("/").at(-1);
@@ -191,12 +196,12 @@ var SheetPlugin = () => {
191
196
  }
192
197
  return [
193
198
  {
194
- id: `${import_chunk_QIFIGEKV.SHEET_PLUGIN}/create/${node.id}`,
199
+ id: `${import_chunk_2ZVZI2KJ.SHEET_PLUGIN}/create/${node.id}`,
195
200
  data: async () => {
196
201
  await dispatch([
197
202
  {
198
- plugin: import_chunk_QIFIGEKV.SHEET_PLUGIN,
199
- action: import_chunk_2XJ5I4UF.SheetAction.CREATE,
203
+ plugin: import_chunk_2ZVZI2KJ.SHEET_PLUGIN,
204
+ action: import_chunk_AWKOWDMI.SheetAction.CREATE,
200
205
  data: {
201
206
  space
202
207
  }
@@ -216,7 +221,7 @@ var SheetPlugin = () => {
216
221
  label: [
217
222
  "create sheet label",
218
223
  {
219
- ns: import_chunk_QIFIGEKV.SHEET_PLUGIN
224
+ ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
220
225
  }
221
226
  ],
222
227
  icon: "ph--grid-nine--regular",
@@ -242,7 +247,7 @@ var SheetPlugin = () => {
242
247
  const space = (0, import_echo.getSpace)(doc);
243
248
  if (space) {
244
249
  const computeGraph = computeGraphRegistry.getOrCreateGraph(space);
245
- return import_chunk_DEPJHN47.computeGraphFacet.of(computeGraph);
250
+ return import_chunk_545PZPK3.computeGraphFacet.of(computeGraph);
246
251
  }
247
252
  }
248
253
  },
@@ -254,13 +259,13 @@ var SheetPlugin = () => {
254
259
  type: [
255
260
  "plugin name",
256
261
  {
257
- ns: import_chunk_QIFIGEKV.SHEET_PLUGIN
262
+ ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
258
263
  }
259
264
  ],
260
265
  label: [
261
266
  "create sheet section label",
262
267
  {
263
- ns: import_chunk_QIFIGEKV.SHEET_PLUGIN
268
+ ns: import_chunk_2ZVZI2KJ.SHEET_PLUGIN
264
269
  }
265
270
  ],
266
271
  // TODO(thure): Refactor to use strings
@@ -269,15 +274,15 @@ var SheetPlugin = () => {
269
274
  ...props
270
275
  }),
271
276
  intent: {
272
- plugin: import_chunk_QIFIGEKV.SHEET_PLUGIN,
273
- action: import_chunk_2XJ5I4UF.SheetAction.CREATE
277
+ plugin: import_chunk_2ZVZI2KJ.SHEET_PLUGIN,
278
+ action: import_chunk_AWKOWDMI.SheetAction.CREATE
274
279
  }
275
280
  }
276
281
  ]
277
282
  },
278
283
  thread: {
279
- predicate: (data) => data instanceof import_chunk_2XJ5I4UF.SheetType,
280
- createSort: (sheet) => (indexA, indexB) => !indexA || !indexB ? 0 : (0, import_chunk_JF5XNTF3.compareIndexPositions)(sheet, indexA, indexB)
284
+ predicate: (data) => data instanceof import_chunk_AWKOWDMI.SheetType,
285
+ createSort: (sheet) => (indexA, indexB) => !indexA || !indexB ? 0 : (0, import_chunk_O7XR4R7Y.compareIndexPositions)(sheet, indexA, indexB)
281
286
  },
282
287
  surface: {
283
288
  component: ({ data, role }) => {
@@ -288,8 +293,8 @@ var SheetPlugin = () => {
288
293
  switch (role) {
289
294
  case "article":
290
295
  case "section":
291
- if (data.object instanceof import_chunk_2XJ5I4UF.SheetType) {
292
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_DEPJHN47.SheetContainer, {
296
+ if (data.object instanceof import_chunk_AWKOWDMI.SheetType) {
297
+ return /* @__PURE__ */ import_react.default.createElement(import_chunk_545PZPK3.SheetContainer, {
293
298
  space,
294
299
  sheet: data.object,
295
300
  role
@@ -297,9 +302,9 @@ var SheetPlugin = () => {
297
302
  }
298
303
  return null;
299
304
  case "complementary--settings":
300
- if (data.subject instanceof import_chunk_2XJ5I4UF.SheetType) {
305
+ if (data.subject instanceof import_chunk_AWKOWDMI.SheetType) {
301
306
  return {
302
- node: /* @__PURE__ */ import_react.default.createElement(import_chunk_DEPJHN47.RangeList, {
307
+ node: /* @__PURE__ */ import_react.default.createElement(import_chunk_545PZPK3.RangeList, {
303
308
  sheet: data.subject
304
309
  })
305
310
  };
@@ -312,11 +317,34 @@ var SheetPlugin = () => {
312
317
  intent: {
313
318
  resolver: async (intent) => {
314
319
  switch (intent.action) {
315
- case import_chunk_2XJ5I4UF.SheetAction.CREATE: {
320
+ case import_chunk_AWKOWDMI.SheetAction.CREATE: {
316
321
  return {
317
- data: (0, import_chunk_JF5XNTF3.createSheet)()
322
+ data: (0, import_chunk_O7XR4R7Y.createSheet)()
318
323
  };
319
324
  }
325
+ case import_chunk_AWKOWDMI.SheetAction.INSERT_AXIS: {
326
+ const { model, axis, index, count } = intent.data;
327
+ const _indices = model[axis === "col" ? "insertColumns" : "insertRows"](index, count);
328
+ return;
329
+ }
330
+ case import_chunk_AWKOWDMI.SheetAction.DROP_AXIS: {
331
+ if (!intent.undo) {
332
+ const { model, axis, axisIndex } = intent.data;
333
+ const undoData = model[axis === "col" ? "dropColumn" : "dropRow"](axisIndex);
334
+ return {
335
+ undoable: {
336
+ message: translations_default[0]["en-US"][import_chunk_2ZVZI2KJ.SHEET_PLUGIN][`${axis} dropped label`],
337
+ data: {
338
+ ...undoData,
339
+ model
340
+ }
341
+ }
342
+ };
343
+ } else {
344
+ const { model, ...undoData } = intent.data;
345
+ model[undoData.axis === "col" ? "restoreColumn" : "restoreRow"](undoData);
346
+ }
347
+ }
320
348
  }
321
349
  }
322
350
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/SheetPlugin.tsx", "../../../src/serializer.ts", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { NavigationAction, parseIntentPlugin, resolvePlugin, type PluginDefinition } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, isActionGroup, type ActionGroup } from '@dxos/plugin-graph';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { getSpace, isEchoObject } from '@dxos/react-client/echo';\nimport { Icon } from '@dxos/react-ui';\n\nimport { ComputeGraphContextProvider, RangeList, SheetContainer } from './components';\nimport { type ComputeGraphRegistry } from './compute-graph';\nimport { compareIndexPositions, createSheet } from './defs';\nimport { computeGraphFacet } from './extensions';\nimport meta, { SHEET_PLUGIN } from './meta';\nimport { serializer } from './serializer';\nimport translations from './translations';\nimport { SheetAction, SheetType, type SheetPluginProvides } from './types';\n\nexport const SheetPlugin = (): PluginDefinition<SheetPluginProvides> => {\n let computeGraphRegistry: ComputeGraphRegistry | undefined;\n\n return {\n meta,\n ready: async (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n invariant(client);\n let remoteFunctionUrl: string | undefined;\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n\n // Async import removes direct dependency on hyperformula.\n const { defaultPlugins, ComputeGraphRegistry } = await import('./compute-graph');\n computeGraphRegistry = new ComputeGraphRegistry({ plugins: defaultPlugins, remoteFunctionUrl });\n },\n provides: {\n context: ({ children }) => {\n invariant(computeGraphRegistry);\n return <ComputeGraphContextProvider registry={computeGraphRegistry}>{children}</ComputeGraphContextProvider>;\n },\n metadata: {\n records: {\n [SheetType.typename]: {\n label: (object: any) => (object instanceof SheetType ? object.name : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n serializer,\n },\n },\n },\n translations,\n echo: {\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n schema: [SheetType, FunctionType],\n },\n space: {\n onSpaceCreate: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n action: SheetAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: SheetAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SHEET_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SHEET_PLUGIN, action: SheetAction.CREATE, data: { space } },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n testId: 'sheetPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n markdown: {\n extensions: ({ document: doc }) => {\n invariant(computeGraphRegistry);\n const space = getSpace(doc);\n if (space) {\n const computeGraph = computeGraphRegistry.getOrCreateGraph(space);\n return computeGraphFacet.of(computeGraph);\n }\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-sheet',\n testId: 'sheetPlugin.createSection',\n type: ['plugin name', { ns: SHEET_PLUGIN }],\n label: ['create sheet section label', { ns: SHEET_PLUGIN }],\n // TODO(thure): Refactor to use strings\n icon: (props: any) => <Icon icon='ph--grid-nine--regular' {...props} />,\n intent: {\n plugin: SHEET_PLUGIN,\n action: SheetAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (data) => data instanceof SheetType,\n createSort: (sheet) => (indexA, indexB) =>\n !indexA || !indexB ? 0 : compareIndexPositions(sheet, indexA, indexB),\n },\n surface: {\n component: ({ data, role }) => {\n const space = isEchoObject(data.object) ? getSpace(data.object) : undefined;\n if (!space) {\n return null;\n }\n\n switch (role) {\n case 'article':\n case 'section':\n if (data.object instanceof SheetType) {\n return <SheetContainer space={space} sheet={data.object} role={role} />;\n }\n\n return null;\n case 'complementary--settings':\n if (data.subject instanceof SheetType) {\n return {\n node: <RangeList sheet={data.subject} />,\n };\n }\n\n return null;\n }\n\n return null;\n },\n },\n intent: {\n resolver: async (intent) => {\n switch (intent.action) {\n case SheetAction.CREATE: {\n return { data: createSheet() };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, getObjectCore } from '@dxos/react-client/echo';\n\nimport { SheetType } from './types';\n\nexport const serializer: TypedObjectSerializer<SheetType> = {\n serialize: async ({ object }): Promise<string> => {\n const { threads: _threads, ...sheet } = object;\n return JSON.stringify(sheet, null, 2);\n },\n\n deserialize: async ({ content, newId }) => {\n const { id, ...parsed } = JSON.parse(content);\n const sheet = create(SheetType, parsed);\n\n if (!newId) {\n const core = getObjectCore(sheet);\n core.id = id;\n }\n\n return sheet;\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SHEET_PLUGIN]: {\n 'plugin name': 'Sheets',\n 'sheet title placeholder': 'New sheet',\n 'create sheet label': 'Create sheet',\n 'create sheet section label': 'Create sheet',\n 'cell placeholder': 'Cell value...',\n 'range key alignment label': 'Align',\n 'range value start label': 'left',\n 'range value center label': 'center',\n 'range value end label': 'right',\n 'toolbar action label': '{{key}} {{value}}',\n 'selection overlaps existing comment label': 'Selected cell already has a comment',\n 'comment label': 'Add comment',\n 'comment ranges not supported label': 'Commenting on ranges is not yet supported',\n 'no cursor label': 'Select a cell to comment',\n 'open comment for sheet cell': 'View comments for cell',\n 'add col before label': 'Add column before',\n 'add col after label': 'Add column after',\n 'delete col label': 'Delete column',\n 'add row before label': 'Add row before',\n 'add row after label': 'Add row after',\n 'delete row label': 'Delete row',\n 'range list heading': 'Ranges',\n 'range title': '{{position}} — {{key}}: {{value}}',\n },\n },\n },\n] as const;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SheetPlugin } from './SheetPlugin';\n\nexport * from './SheetPlugin';\n\nexport default SheetPlugin;\n"],
5
- "mappings": "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",
6
- "names": ["import_echo", "serializer", "serialize", "object", "threads", "_threads", "sheet", "JSON", "stringify", "deserialize", "content", "newId", "id", "parsed", "parse", "create", "SheetType", "core", "getObjectCore", "SHEET_PLUGIN", "SheetPlugin", "computeGraphRegistry", "meta", "ready", "plugins", "client", "resolvePlugin", "parseClientPlugin", "provides", "invariant", "remoteFunctionUrl", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "defaultPlugins", "ComputeGraphRegistry", "context", "children", "React", "ComputeGraphContextProvider", "registry", "metadata", "records", "typename", "label", "name", "undefined", "placeholder", "ns", "icon", "translations", "echo", "schema", "FunctionType", "space", "onSpaceCreate", "action", "SheetAction", "CREATE", "graph", "builder", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "spaces", "get", "find", "db", "getObjectById", "target", "data", "plugin", "NavigationAction", "OPEN", "properties", "testId", "markdown", "extensions", "document", "doc", "getSpace", "computeGraph", "getOrCreateGraph", "computeGraphFacet", "of", "stack", "creators", "type", "props", "Icon", "thread", "predicate", "createSort", "indexA", "indexB", "compareIndexPositions", "surface", "component", "role", "isEchoObject", "SheetContainer", "subject", "RangeList", "resolver", "createSheet"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { NavigationAction, parseIntentPlugin, resolvePlugin, type PluginDefinition } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, isActionGroup, type ActionGroup } from '@dxos/plugin-graph';\nimport { FunctionType } from '@dxos/plugin-script/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { getSpace, isEchoObject } from '@dxos/react-client/echo';\nimport { Icon } from '@dxos/react-ui';\n\nimport { ComputeGraphContextProvider, RangeList, SheetContainer } from './components';\nimport { type ComputeGraphRegistry } from './compute-graph';\nimport { compareIndexPositions, createSheet } from './defs';\nimport { computeGraphFacet } from './extensions';\nimport meta, { SHEET_PLUGIN } from './meta';\nimport { serializer } from './serializer';\nimport translations from './translations';\nimport { SheetAction, SheetType, type SheetPluginProvides } from './types';\n\nexport const SheetPlugin = (): PluginDefinition<SheetPluginProvides> => {\n let computeGraphRegistry: ComputeGraphRegistry | undefined;\n\n return {\n meta,\n ready: async (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n invariant(client);\n let remoteFunctionUrl: string | undefined;\n if (client.config.values.runtime?.services?.edge?.url) {\n const url = new URL('/functions', client.config.values.runtime?.services?.edge?.url);\n url.protocol = 'https';\n remoteFunctionUrl = url.toString();\n }\n\n // Async import removes direct dependency on hyperformula.\n const { defaultPlugins, ComputeGraphRegistry } = await import('./compute-graph');\n computeGraphRegistry = new ComputeGraphRegistry({ plugins: defaultPlugins, remoteFunctionUrl });\n },\n provides: {\n context: ({ children }) => {\n invariant(computeGraphRegistry);\n return <ComputeGraphContextProvider registry={computeGraphRegistry}>{children}</ComputeGraphContextProvider>;\n },\n metadata: {\n records: {\n [SheetType.typename]: {\n label: (object: any) => (object instanceof SheetType ? object.name : undefined),\n placeholder: ['sheet title placeholder', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n serializer,\n },\n },\n },\n translations,\n echo: {\n // TODO(wittjosiah): Factor out to common package/plugin.\n // FunctionType is currently registered here in case script plugin isn't enabled.\n schema: [SheetType, FunctionType],\n },\n space: {\n onSpaceCreate: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n action: SheetAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: SheetAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SHEET_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SHEET_PLUGIN, action: SheetAction.CREATE, data: { space } },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create sheet label', { ns: SHEET_PLUGIN }],\n icon: 'ph--grid-nine--regular',\n testId: 'sheetPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n markdown: {\n extensions: ({ document: doc }) => {\n invariant(computeGraphRegistry);\n const space = getSpace(doc);\n if (space) {\n const computeGraph = computeGraphRegistry.getOrCreateGraph(space);\n return computeGraphFacet.of(computeGraph);\n }\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-sheet',\n testId: 'sheetPlugin.createSection',\n type: ['plugin name', { ns: SHEET_PLUGIN }],\n label: ['create sheet section label', { ns: SHEET_PLUGIN }],\n // TODO(thure): Refactor to use strings\n icon: (props: any) => <Icon icon='ph--grid-nine--regular' {...props} />,\n intent: {\n plugin: SHEET_PLUGIN,\n action: SheetAction.CREATE,\n },\n },\n ],\n },\n thread: {\n predicate: (data) => data instanceof SheetType,\n createSort: (sheet) => (indexA, indexB) =>\n !indexA || !indexB ? 0 : compareIndexPositions(sheet, indexA, indexB),\n },\n surface: {\n component: ({ data, role }) => {\n const space = isEchoObject(data.object) ? getSpace(data.object) : undefined;\n if (!space) {\n return null;\n }\n\n switch (role) {\n case 'article':\n case 'section':\n if (data.object instanceof SheetType) {\n return <SheetContainer space={space} sheet={data.object} role={role} />;\n }\n\n return null;\n case 'complementary--settings':\n if (data.subject instanceof SheetType) {\n return {\n node: <RangeList sheet={data.subject} />,\n };\n }\n\n return null;\n }\n\n return null;\n },\n },\n intent: {\n resolver: async (intent) => {\n switch (intent.action) {\n case SheetAction.CREATE: {\n return { data: createSheet() };\n }\n case SheetAction.INSERT_AXIS: {\n const { model, axis, index, count } = intent.data as SheetAction.InsertAxis;\n const _indices = model[axis === 'col' ? 'insertColumns' : 'insertRows'](index, count);\n return;\n }\n case SheetAction.DROP_AXIS: {\n if (!intent.undo) {\n const { model, axis, axisIndex } = intent.data as SheetAction.DropAxis;\n const undoData = model[axis === 'col' ? 'dropColumn' : 'dropRow'](axisIndex);\n return {\n undoable: {\n message: translations[0]['en-US'][SHEET_PLUGIN][`${axis} dropped label`],\n data: { ...undoData, model },\n },\n };\n } else {\n const { model, ...undoData } = intent.data as SheetAction.DropAxisRestore;\n model[undoData.axis === 'col' ? 'restoreColumn' : 'restoreRow'](undoData);\n }\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, getObjectCore } from '@dxos/react-client/echo';\n\nimport { SheetType } from './types';\n\nexport const serializer: TypedObjectSerializer<SheetType> = {\n serialize: async ({ object }): Promise<string> => {\n const { threads: _threads, ...sheet } = object;\n return JSON.stringify(sheet, null, 2);\n },\n\n deserialize: async ({ content, newId }) => {\n const { id, ...parsed } = JSON.parse(content);\n const sheet = create(SheetType, parsed);\n\n if (!newId) {\n const core = getObjectCore(sheet);\n core.id = id;\n }\n\n return sheet;\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SHEET_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SHEET_PLUGIN]: {\n 'plugin name': 'Sheets',\n 'sheet title placeholder': 'New sheet',\n 'create sheet label': 'Create sheet',\n 'create sheet section label': 'Create sheet',\n 'cell placeholder': 'Cell value...',\n 'range key alignment label': 'Align',\n 'range key style label': 'Style',\n 'range value start label': 'Align left',\n 'range value center label': 'Align center',\n 'range value end label': 'Align right',\n 'range value softwrap label': 'Wrap text',\n 'range value highlight label': 'Highlight',\n 'toolbar action label': '{{value}}',\n 'selection overlaps existing comment label': 'Selected cell already has a comment',\n 'comment label': 'Add comment',\n 'comment ranges not supported label': 'Commenting on ranges is not yet supported',\n 'no cursor label': 'Select a cell to comment',\n 'open comment for sheet cell': 'View comments for cell',\n 'add col before label': 'Add column before',\n 'add col after label': 'Add column after',\n 'delete col label': 'Delete column',\n 'add row before label': 'Add row before',\n 'add row after label': 'Add row after',\n 'delete row label': 'Delete row',\n 'range list heading': 'Ranges',\n 'range title': '{{position}} — {{value}}',\n 'col dropped label': 'Deleted a column',\n 'row dropped label': 'Deleted a row',\n },\n },\n },\n] as const;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SheetPlugin } from './SheetPlugin';\n\nexport * from './SheetPlugin';\n\nexport default SheetPlugin;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAElB,2BAA0F;AAC1F,uBAA0B;AAC1B,2BAAkC;AAClC,0BAAiE;AACjE,mBAA6B;AAC7B,0BAA4B;AAC5B,kBAAuC;AACvC,sBAAqB;ACRrB,IAAAA,eAAsC;AAI/B,IAAMC,aAA+C;EAC1DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAM,EAAEC,SAASC,UAAU,GAAGC,MAAAA,IAAUH;AACxC,WAAOI,KAAKC,UAAUF,OAAO,MAAM,CAAA;EACrC;EAEAG,aAAa,OAAO,EAAEC,SAASC,MAAK,MAAE;AACpC,UAAM,EAAEC,IAAI,GAAGC,OAAAA,IAAWN,KAAKO,MAAMJ,OAAAA;AACrC,UAAMJ,YAAQS,qBAAOC,iCAAWH,MAAAA;AAEhC,QAAI,CAACF,OAAO;AACV,YAAMM,WAAOC,4BAAcZ,KAAAA;AAC3BW,WAAKL,KAAKA;IACZ;AAEA,WAAON;EACT;AACF;ACpBA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACa,kCAAAA,GAAe;QACd,eAAe;QACf,2BAA2B;QAC3B,sBAAsB;QACtB,8BAA8B;QAC9B,oBAAoB;QACpB,6BAA6B;QAC7B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,yBAAyB;QACzB,8BAA8B;QAC9B,+BAA+B;QAC/B,wBAAwB;QACxB,6CAA6C;QAC7C,iBAAiB;QACjB,sCAAsC;QACtC,mBAAmB;QACnB,+BAA+B;QAC/B,wBAAwB;QACxB,uBAAuB;QACvB,oBAAoB;QACpB,wBAAwB;QACxB,uBAAuB;QACvB,oBAAoB;QACpB,sBAAsB;QACtB,eAAe;QACf,qBAAqB;QACrB,qBAAqB;MACvB;IACF;EACF;;;AFhBK,IAAMC,cAAc,MAAA;AACzB,MAAIC;AAEJ,SAAO;IACLC,MAAAA;IACAC,OAAO,OAAOC,YAAAA;AACZ,YAAMC,aAASC,oCAAcF,SAASG,sCAAAA,GAAoBC,SAASH;AACnEI,sCAAUJ,QAAAA,QAAAA;;;;;;;;;AACV,UAAIK;AACJ,UAAIL,OAAOM,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,KAAK;AACrD,cAAMA,MAAM,IAAIC,IAAI,cAAcZ,OAAOM,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,GAAAA;AAChFA,YAAIE,WAAW;AACfR,4BAAoBM,IAAIG,SAAQ;MAClC;AAGA,YAAM,EAAEC,gBAAgBC,qBAAoB,IAAK,MAAM,OAAO,8BAAA;AAC9DpB,6BAAuB,IAAIoB,qBAAqB;QAAEjB,SAASgB;QAAgBV;MAAkB,CAAA;IAC/F;IACAF,UAAU;MACRc,SAAS,CAAC,EAAEC,SAAQ,MAAE;AACpBd,wCAAUR,sBAAAA,QAAAA;;;;;;;;;AACV,eAAO,6BAAAuB,QAAA,cAACC,mDAAAA;UAA4BC,UAAUzB;WAAuBsB,QAAAA;MACvE;MACAI,UAAU;QACRC,SAAS;UACP,CAAChC,gCAAUiC,QAAQ,GAAG;YACpBC,OAAO,CAAC/C,WAAiBA,kBAAkBa,kCAAYb,OAAOgD,OAAOC;YACrEC,aAAa;cAAC;cAA2B;gBAAEC,IAAInC;cAAa;;YAC5DoC,MAAM;YACNtD;UACF;QACF;MACF;MACAuD,cAAAA;MACAC,MAAM;;;QAGJC,QAAQ;UAAC1C;UAAW2C;;MACtB;MACAC,OAAO;QACLC,eAAe;UACbX,OAAO;YAAC;YAAsB;cAAEI,IAAInC;YAAa;;UACjD2C,QAAQC,kCAAYC;QACtB;MACF;MACAC,OAAO;QACLC,SAAS,CAAC1C,YAAAA;AACR,gBAAMC,aAASC,oCAAcF,SAASG,sCAAAA,GAAoBC,SAASH;AACnE,gBAAM0C,eAAWzC,oCAAcF,SAAS4C,sCAAAA,GAAoBxC,SAASyC,OAAOF;AAC5E,cAAI,CAAC1C,UAAU,CAAC0C,UAAU;AACxB,mBAAO,CAAA;UACT;AAEA,qBAAOG,qCAAgB;YACrB1D,IAAImD,kCAAYC;YAChBO,QAAQ,CAACC,aAA8BC,mCAAcD,IAAAA,KAASA,KAAK5D,GAAG8D,WAAWC,gCAAYC,UAAU;YACvGC,SAAS,CAAC,EAAEL,KAAI,MAAE;AAChB,oBAAM5D,KAAK4D,KAAK5D,GAAGkE,MAAM,GAAA,EAAKC,GAAG,EAAC;AAClC,oBAAM,CAACC,SAASC,QAAAA,IAAYrE,IAAIkE,MAAM,GAAA,KAAQ,CAAA;AAC9C,oBAAMlB,QAAQnC,OAAOyD,OAAOC,IAAG,EAAGC,KAAK,CAACxB,WAAUA,OAAMhD,OAAOoE,OAAAA;AAC/D,oBAAM7E,SAAS8E,YAAYrB,OAAOyB,GAAGC,cAAcL,QAAAA;AACnD,oBAAMM,SAASN,WAAW9E,SAASyD;AACnC,kBAAI,CAAC2B,QAAQ;AACX;cACF;AAEA,qBAAO;gBACL;kBACE3E,IAAI,GAAGO,kCAAAA,WAAuBqD,KAAK5D,EAAE;kBACrC4E,MAAM,YAAA;AACJ,0BAAMrB,SAAS;sBACb;wBAAEsB,QAAQtE;wBAAc2C,QAAQC,kCAAYC;wBAAQwB,MAAM;0BAAE5B;wBAAM;sBAAE;sBACpE;wBAAEE,QAAQa,gCAAYC;wBAAYY,MAAM;0BAAED;wBAAO;sBAAE;sBACnD;wBAAEzB,QAAQ4B,sCAAiBC;sBAAK;qBACjC;kBACH;kBACAC,YAAY;oBACV1C,OAAO;sBAAC;sBAAsB;wBAAEI,IAAInC;sBAAa;;oBACjDoC,MAAM;oBACNsC,QAAQ;kBACV;gBACF;;YAEJ;UACF,CAAA;QACF;MACF;MACAC,UAAU;QACRC,YAAY,CAAC,EAAEC,UAAUC,IAAG,MAAE;AAC5BpE,0CAAUR,sBAAAA,QAAAA;;;;;;;;;AACV,gBAAMuC,YAAQsC,sBAASD,GAAAA;AACvB,cAAIrC,OAAO;AACT,kBAAMuC,eAAe9E,qBAAqB+E,iBAAiBxC,KAAAA;AAC3D,mBAAOyC,wCAAkBC,GAAGH,YAAAA;UAC9B;QACF;MACF;MACAI,OAAO;QACLC,UAAU;UACR;YACE5F,IAAI;YACJiF,QAAQ;YACRY,MAAM;cAAC;cAAe;gBAAEnD,IAAInC;cAAa;;YACzC+B,OAAO;cAAC;cAA8B;gBAAEI,IAAInC;cAAa;;;YAEzDoC,MAAM,CAACmD,UAAe,6BAAA9D,QAAA,cAAC+D,sBAAAA;cAAKpD,MAAK;cAA0B,GAAGmD;;YAC9DrC,QAAQ;cACNoB,QAAQtE;cACR2C,QAAQC,kCAAYC;YACtB;UACF;;MAEJ;MACA4C,QAAQ;QACNC,WAAW,CAACrB,SAASA,gBAAgBxE;QACrC8F,YAAY,CAACxG,UAAU,CAACyG,QAAQC,WAC9B,CAACD,UAAU,CAACC,SAAS,QAAIC,6CAAsB3G,OAAOyG,QAAQC,MAAAA;MAClE;MACAE,SAAS;QACPC,WAAW,CAAC,EAAE3B,MAAM4B,KAAI,MAAE;AACxB,gBAAMxD,YAAQyD,0BAAa7B,KAAKrF,MAAM,QAAI+F,sBAASV,KAAKrF,MAAM,IAAIiD;AAClE,cAAI,CAACQ,OAAO;AACV,mBAAO;UACT;AAEA,kBAAQwD,MAAAA;YACN,KAAK;YACL,KAAK;AACH,kBAAI5B,KAAKrF,kBAAkBa,iCAAW;AACpC,uBAAO,6BAAA4B,QAAA,cAAC0E,sCAAAA;kBAAe1D;kBAActD,OAAOkF,KAAKrF;kBAAQiH;;cAC3D;AAEA,qBAAO;YACT,KAAK;AACH,kBAAI5B,KAAK+B,mBAAmBvG,iCAAW;AACrC,uBAAO;kBACLwD,MAAM,6BAAA5B,QAAA,cAAC4E,iCAAAA;oBAAUlH,OAAOkF,KAAK+B;;gBAC/B;cACF;AAEA,qBAAO;UACX;AAEA,iBAAO;QACT;MACF;MACAlD,QAAQ;QACNoD,UAAU,OAAOpD,WAAAA;AACf,kBAAQA,OAAOP,QAAM;YACnB,KAAKC,kCAAYC,QAAQ;AACvB,qBAAO;gBAAEwB,UAAMkC,mCAAAA;cAAc;YAC/B;YACA,KAAK3D,kCAAY4D,aAAa;AAC5B,oBAAM,EAAEC,OAAOC,MAAMC,OAAOC,MAAK,IAAK1D,OAAOmB;AAC7C,oBAAMwC,WAAWJ,MAAMC,SAAS,QAAQ,kBAAkB,YAAA,EAAcC,OAAOC,KAAAA;AAC/E;YACF;YACA,KAAKhE,kCAAYkE,WAAW;AAC1B,kBAAI,CAAC5D,OAAO6D,MAAM;AAChB,sBAAM,EAAEN,OAAOC,MAAMM,UAAS,IAAK9D,OAAOmB;AAC1C,sBAAM4C,WAAWR,MAAMC,SAAS,QAAQ,eAAe,SAAA,EAAWM,SAAAA;AAClE,uBAAO;kBACLE,UAAU;oBACRC,SAAS9E,qBAAa,CAAA,EAAG,OAAA,EAASrC,kCAAAA,EAAc,GAAG0G,IAAAA,gBAAoB;oBACvErC,MAAM;sBAAE,GAAG4C;sBAAUR;oBAAM;kBAC7B;gBACF;cACF,OAAO;AACL,sBAAM,EAAEA,OAAO,GAAGQ,SAAAA,IAAa/D,OAAOmB;AACtCoC,sBAAMQ,SAASP,SAAS,QAAQ,kBAAkB,YAAA,EAAcO,QAAAA;cAClE;YACF;UACF;QACF;MACF;IACF;EACF;AACF;AGlMA,IAAA,cAAehH;",
6
+ "names": ["import_echo", "serializer", "serialize", "object", "threads", "_threads", "sheet", "JSON", "stringify", "deserialize", "content", "newId", "id", "parsed", "parse", "create", "SheetType", "core", "getObjectCore", "SHEET_PLUGIN", "SheetPlugin", "computeGraphRegistry", "meta", "ready", "plugins", "client", "resolvePlugin", "parseClientPlugin", "provides", "invariant", "remoteFunctionUrl", "config", "values", "runtime", "services", "edge", "url", "URL", "protocol", "toString", "defaultPlugins", "ComputeGraphRegistry", "context", "children", "React", "ComputeGraphContextProvider", "registry", "metadata", "records", "typename", "label", "name", "undefined", "placeholder", "ns", "icon", "translations", "echo", "schema", "FunctionType", "space", "onSpaceCreate", "action", "SheetAction", "CREATE", "graph", "builder", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "spaces", "get", "find", "db", "getObjectById", "target", "data", "plugin", "NavigationAction", "OPEN", "properties", "testId", "markdown", "extensions", "document", "doc", "getSpace", "computeGraph", "getOrCreateGraph", "computeGraphFacet", "of", "stack", "creators", "type", "props", "Icon", "thread", "predicate", "createSort", "indexA", "indexB", "compareIndexPositions", "surface", "component", "role", "isEchoObject", "SheetContainer", "subject", "RangeList", "resolver", "createSheet", "INSERT_AXIS", "model", "axis", "index", "count", "_indices", "DROP_AXIS", "undo", "axisIndex", "undoData", "undoable", "message"]
7
7
  }
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var meta_exports = {};
20
20
  __export(meta_exports, {
21
- SHEET_PLUGIN: () => import_chunk_QIFIGEKV.SHEET_PLUGIN,
22
- default: () => import_chunk_QIFIGEKV.meta_default
21
+ SHEET_PLUGIN: () => import_chunk_2ZVZI2KJ.SHEET_PLUGIN,
22
+ default: () => import_chunk_2ZVZI2KJ.meta_default
23
23
  });
24
24
  module.exports = __toCommonJS(meta_exports);
25
- var import_chunk_QIFIGEKV = require("./chunk-QIFIGEKV.cjs");
25
+ var import_chunk_2ZVZI2KJ = require("./chunk-2ZVZI2KJ.cjs");
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
28
28
  SHEET_PLUGIN
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["meta.cjs"],
4
- "sourcesContent": ["import {\n SHEET_PLUGIN,\n meta_default\n} from \"./chunk-QIFIGEKV.cjs\";\nexport {\n SHEET_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
4
+ "sourcesContent": ["import {\n SHEET_PLUGIN,\n meta_default\n} from \"./chunk-2ZVZI2KJ.cjs\";\nexport {\n SHEET_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
6
6
  "names": []
7
7
  }