@dxos/plugin-sheet 0.6.12-main.89e9959 → 0.6.12-main.c1d977f

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 (85) hide show
  1. package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs → SheetContainer-7QG5RIM4.mjs} +4 -4
  2. package/dist/lib/browser/{chunk-WZMOZKQZ.mjs → chunk-4DPOO6BK.mjs} +18 -6
  3. package/dist/lib/browser/{chunk-WZMOZKQZ.mjs.map → chunk-4DPOO6BK.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-CHQAW4F4.mjs → chunk-BKTLTM2Y.mjs} +83 -227
  5. package/dist/lib/browser/chunk-BKTLTM2Y.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-QILRZNE5.mjs → chunk-D3QTX46O.mjs} +4 -5
  7. package/dist/lib/browser/chunk-D3QTX46O.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +8 -17
  9. package/dist/lib/browser/index.mjs.map +4 -4
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/meta.mjs +1 -1
  12. package/dist/lib/browser/types.mjs +2 -2
  13. package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs → SheetContainer-DXDD2G3A.cjs} +16 -16
  14. package/dist/lib/node/{chunk-5FTFZL5W.cjs → chunk-4FMMRVT2.cjs} +42 -185
  15. package/dist/lib/node/chunk-4FMMRVT2.cjs.map +7 -0
  16. package/dist/lib/node/{chunk-AOP42UAA.cjs → chunk-PJY2K5S2.cjs} +22 -10
  17. package/dist/lib/node/{chunk-AOP42UAA.cjs.map → chunk-PJY2K5S2.cjs.map} +3 -3
  18. package/dist/lib/node/{chunk-BNARJ5GM.cjs → chunk-QIFIGEKV.cjs} +6 -7
  19. package/dist/lib/node/chunk-QIFIGEKV.cjs.map +7 -0
  20. package/dist/lib/node/index.cjs +29 -37
  21. package/dist/lib/node/index.cjs.map +4 -4
  22. package/dist/lib/node/meta.cjs +3 -3
  23. package/dist/lib/node/meta.cjs.map +1 -1
  24. package/dist/lib/node/meta.json +1 -1
  25. package/dist/lib/node/types.cjs +9 -9
  26. package/dist/lib/node/types.cjs.map +1 -1
  27. package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs → SheetContainer-5WYNOYYD.mjs} +4 -4
  28. package/dist/lib/node-esm/{chunk-RR2AO4SM.mjs → chunk-2X36GIGW.mjs} +18 -6
  29. package/dist/lib/node-esm/{chunk-RR2AO4SM.mjs.map → chunk-2X36GIGW.mjs.map} +3 -3
  30. package/dist/lib/node-esm/{chunk-KK3XL37M.mjs → chunk-JYDBXLDH.mjs} +83 -227
  31. package/dist/lib/node-esm/chunk-JYDBXLDH.mjs.map +7 -0
  32. package/dist/lib/node-esm/{chunk-IU2L277A.mjs → chunk-VCYJWE3O.mjs} +4 -5
  33. package/dist/lib/node-esm/chunk-VCYJWE3O.mjs.map +7 -0
  34. package/dist/lib/node-esm/index.mjs +8 -17
  35. package/dist/lib/node-esm/index.mjs.map +4 -4
  36. package/dist/lib/node-esm/meta.json +1 -1
  37. package/dist/lib/node-esm/meta.mjs +1 -1
  38. package/dist/lib/node-esm/types.mjs +2 -2
  39. package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
  40. package/dist/types/src/components/{CellEditor/CellEditor.stories.d.ts → GridSheet/SheetCellEditor.stories.d.ts} +2 -2
  41. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -0
  42. package/dist/types/src/components/GridSheet/util.d.ts +2 -2
  43. package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
  44. package/dist/types/src/components/Sheet/Sheet.d.ts.map +1 -1
  45. package/dist/types/src/components/Sheet/Sheet.stories.d.ts.map +1 -1
  46. package/dist/types/src/extensions/editor/extension.d.ts.map +1 -0
  47. package/dist/types/src/extensions/editor/extension.test.d.ts.map +1 -0
  48. package/dist/types/src/extensions/editor/index.d.ts +2 -0
  49. package/dist/types/src/extensions/editor/index.d.ts.map +1 -0
  50. package/dist/types/src/extensions/index.d.ts +1 -0
  51. package/dist/types/src/extensions/index.d.ts.map +1 -1
  52. package/dist/types/src/meta.d.ts +3 -6
  53. package/dist/types/src/meta.d.ts.map +1 -1
  54. package/dist/types/src/types.d.ts.map +1 -1
  55. package/package.json +34 -34
  56. package/src/components/GridSheet/GridSheet.tsx +14 -32
  57. package/src/components/{CellEditor/CellEditor.stories.tsx → GridSheet/SheetCellEditor.stories.tsx} +2 -2
  58. package/src/components/GridSheet/util.ts +2 -6
  59. package/src/components/Sheet/Sheet.tsx +2 -8
  60. package/src/{components/CellEditor → extensions/editor}/index.ts +0 -1
  61. package/src/extensions/index.ts +1 -0
  62. package/src/{meta.tsx → meta.ts} +3 -3
  63. package/src/model/sheet-model.test.ts +1 -3
  64. package/src/types.ts +4 -4
  65. package/dist/lib/browser/chunk-CHQAW4F4.mjs.map +0 -7
  66. package/dist/lib/browser/chunk-QILRZNE5.mjs.map +0 -7
  67. package/dist/lib/node/chunk-5FTFZL5W.cjs.map +0 -7
  68. package/dist/lib/node/chunk-BNARJ5GM.cjs.map +0 -7
  69. package/dist/lib/node-esm/chunk-IU2L277A.mjs.map +0 -7
  70. package/dist/lib/node-esm/chunk-KK3XL37M.mjs.map +0 -7
  71. package/dist/types/src/components/CellEditor/CellEditor.d.ts +0 -34
  72. package/dist/types/src/components/CellEditor/CellEditor.d.ts.map +0 -1
  73. package/dist/types/src/components/CellEditor/CellEditor.stories.d.ts.map +0 -1
  74. package/dist/types/src/components/CellEditor/extension.d.ts.map +0 -1
  75. package/dist/types/src/components/CellEditor/extension.test.d.ts.map +0 -1
  76. package/dist/types/src/components/CellEditor/index.d.ts +0 -3
  77. package/dist/types/src/components/CellEditor/index.d.ts.map +0 -1
  78. package/src/components/CellEditor/CellEditor.tsx +0 -163
  79. /package/dist/lib/browser/{SheetContainer-LG77O4RM.mjs.map → SheetContainer-7QG5RIM4.mjs.map} +0 -0
  80. /package/dist/lib/node/{SheetContainer-OZ7DHH4L.cjs.map → SheetContainer-DXDD2G3A.cjs.map} +0 -0
  81. /package/dist/lib/node-esm/{SheetContainer-4XS2G25Z.mjs.map → SheetContainer-5WYNOYYD.mjs.map} +0 -0
  82. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.d.ts +0 -0
  83. /package/dist/types/src/{components/CellEditor → extensions/editor}/extension.test.d.ts +0 -0
  84. /package/src/{components/CellEditor → extensions/editor}/extension.test.ts +0 -0
  85. /package/src/{components/CellEditor → extensions/editor}/extension.ts +0 -0
@@ -18,17 +18,17 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- CellValue: () => import_chunk_AOP42UAA.CellValue,
22
- Formatting: () => import_chunk_AOP42UAA.Formatting,
23
- RowColumnMeta: () => import_chunk_AOP42UAA.RowColumnMeta,
24
- SheetAction: () => import_chunk_AOP42UAA.SheetAction,
25
- SheetType: () => import_chunk_AOP42UAA.SheetType,
26
- ValueType: () => import_chunk_AOP42UAA.ValueType,
27
- ValueTypeEnum: () => import_chunk_AOP42UAA.ValueTypeEnum
21
+ CellValue: () => import_chunk_PJY2K5S2.CellValue,
22
+ Formatting: () => import_chunk_PJY2K5S2.Formatting,
23
+ RowColumnMeta: () => import_chunk_PJY2K5S2.RowColumnMeta,
24
+ SheetAction: () => import_chunk_PJY2K5S2.SheetAction,
25
+ SheetType: () => import_chunk_PJY2K5S2.SheetType,
26
+ ValueType: () => import_chunk_PJY2K5S2.ValueType,
27
+ ValueTypeEnum: () => import_chunk_PJY2K5S2.ValueTypeEnum
28
28
  });
29
29
  module.exports = __toCommonJS(types_exports);
30
- var import_chunk_AOP42UAA = require("./chunk-AOP42UAA.cjs");
31
- var import_chunk_BNARJ5GM = require("./chunk-BNARJ5GM.cjs");
30
+ var import_chunk_PJY2K5S2 = require("./chunk-PJY2K5S2.cjs");
31
+ var import_chunk_QIFIGEKV = require("./chunk-QIFIGEKV.cjs");
32
32
  // Annotate the CommonJS export names for ESM import in node:
33
33
  0 && (module.exports = {
34
34
  CellValue,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["types.cjs"],
4
- "sourcesContent": ["import {\n CellValue,\n Formatting,\n RowColumnMeta,\n SheetAction,\n SheetType,\n ValueType,\n ValueTypeEnum\n} from \"./chunk-AOP42UAA.cjs\";\nimport \"./chunk-BNARJ5GM.cjs\";\nexport {\n CellValue,\n Formatting,\n RowColumnMeta,\n SheetAction,\n SheetType,\n ValueType,\n ValueTypeEnum\n};\n//# sourceMappingURL=types.cjs.map\n"],
4
+ "sourcesContent": ["import {\n CellValue,\n Formatting,\n RowColumnMeta,\n SheetAction,\n SheetType,\n ValueType,\n ValueTypeEnum\n} from \"./chunk-PJY2K5S2.cjs\";\nimport \"./chunk-QIFIGEKV.cjs\";\nexport {\n CellValue,\n Formatting,\n RowColumnMeta,\n SheetAction,\n SheetType,\n ValueType,\n ValueTypeEnum\n};\n//# sourceMappingURL=types.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAQO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -3,11 +3,11 @@ import {
3
3
  Sheet,
4
4
  addressToIndex,
5
5
  useSheetContext
6
- } from "./chunk-KK3XL37M.mjs";
7
- import "./chunk-RR2AO4SM.mjs";
6
+ } from "./chunk-JYDBXLDH.mjs";
7
+ import "./chunk-2X36GIGW.mjs";
8
8
  import {
9
9
  SHEET_PLUGIN
10
- } from "./chunk-IU2L277A.mjs";
10
+ } from "./chunk-VCYJWE3O.mjs";
11
11
  import "./chunk-5WPZCXNS.mjs";
12
12
 
13
13
  // packages/plugins/plugin-sheet/src/components/SheetContainer.tsx
@@ -260,4 +260,4 @@ export {
260
260
  SheetContainer_default as default,
261
261
  sectionToolbarLayout
262
262
  };
263
- //# sourceMappingURL=SheetContainer-4XS2G25Z.mjs.map
263
+ //# sourceMappingURL=SheetContainer-5WYNOYYD.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SHEET_PLUGIN
4
- } from "./chunk-IU2L277A.mjs";
4
+ } from "./chunk-VCYJWE3O.mjs";
5
5
 
6
6
  // packages/plugins/plugin-sheet/src/types.ts
7
7
  import { ref, S, TypedObject } from "@dxos/echo-schema";
@@ -48,17 +48,29 @@ var SheetType = class extends TypedObject({
48
48
  })({
49
49
  name: S.optional(S.String),
50
50
  // Sparse map of cells referenced by index.
51
- cells: S.mutable(S.Record(S.String, S.mutable(CellValue))),
51
+ cells: S.mutable(S.Record({
52
+ key: S.String,
53
+ value: S.mutable(CellValue)
54
+ })),
52
55
  // Ordered row indices.
53
56
  rows: S.mutable(S.Array(S.String)),
54
57
  // Ordered column indices.
55
58
  columns: S.mutable(S.Array(S.String)),
56
59
  // Row metadata referenced by index.
57
- rowMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),
60
+ rowMeta: S.mutable(S.Record({
61
+ key: S.String,
62
+ value: S.mutable(RowColumnMeta)
63
+ })),
58
64
  // Column metadata referenced by index.
59
- columnMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),
65
+ columnMeta: S.mutable(S.Record({
66
+ key: S.String,
67
+ value: S.mutable(RowColumnMeta)
68
+ })),
60
69
  // Cell formatting referenced by indexed range.
61
- formatting: S.mutable(S.Record(S.String, S.mutable(Formatting))),
70
+ formatting: S.mutable(S.Record({
71
+ key: S.String,
72
+ value: S.mutable(Formatting)
73
+ })),
62
74
  // Threads associated with the sheet
63
75
  threads: S.optional(S.mutable(S.Array(ref(ThreadType))))
64
76
  }) {
@@ -73,4 +85,4 @@ export {
73
85
  RowColumnMeta,
74
86
  SheetType
75
87
  };
76
- //# sourceMappingURL=chunk-RR2AO4SM.mjs.map
88
+ //# sourceMappingURL=chunk-2X36GIGW.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { ref, S, TypedObject } from '@dxos/echo-schema';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport { type MarkdownExtensionProvides } from '@dxos/plugin-markdown';\nimport { type SpaceInitProvides } from '@dxos/plugin-space';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { type StackProvides } from '@dxos/plugin-stack';\n\nimport { SHEET_PLUGIN } from './meta';\n\nconst SHEET_ACTION = `${SHEET_PLUGIN}/action`;\n\nexport enum SheetAction {\n CREATE = `${SHEET_ACTION}/create`,\n}\n\n// TODO(Zan): Move this to the plugin-space plugin or another common location\n// when we implement comments in sheets.\n// This is currently duplicated in a few places.\ntype ThreadProvides<T> = {\n thread: {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n};\n\nexport type SheetPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n MarkdownExtensionProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides &\n SpaceInitProvides &\n StackProvides &\n ThreadProvides<SheetType>;\n\nexport type CellScalarValue = number | string | boolean | null;\n\nexport const CellValue = S.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 // TODO(burdon): Arrays?\n value: S.Any,\n});\n\nexport type CellValue = S.Schema.Type<typeof CellValue>;\n\n/**\n * https://www.tutorialsteacher.com/typescript/typescript-number\n */\n// TODO(burdon): Format vs. value.\nexport enum ValueTypeEnum {\n Null = 0,\n Number = 1,\n Boolean = 2,\n String = 3,\n\n // Special numbers.\n Percent = 10,\n Currency = 11,\n\n // Dates.\n DateTime = 20,\n Date = 21,\n Time = 22,\n\n // Validated string types.\n // TODO(burdon): Define effect types.\n URL = 30,\n DID = 31,\n}\n\nexport const ValueType = S.Enums(ValueTypeEnum);\n\nexport const Formatting = S.Struct({\n type: S.optional(ValueType),\n format: S.optional(S.String),\n precision: S.optional(S.Number),\n classNames: S.optional(S.Array(S.String)),\n});\n\nexport type Formatting = S.Schema.Type<typeof Formatting>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = S.Struct({\n size: S.optional(S.Number),\n});\n\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\n// TODO(wittjosiah): Migrate typename to remove `Type` suffix.\n// TODO(wittjosiah): Rename title to name to align with other schemas.\nexport class SheetType extends TypedObject({ typename: 'dxos.org/type/SheetType', version: '0.1.0' })({\n name: S.optional(S.String),\n\n // Sparse map of cells referenced by index.\n cells: S.mutable(S.Record(S.String, S.mutable(CellValue))),\n\n // Ordered row indices.\n rows: S.mutable(S.Array(S.String)),\n\n // Ordered column indices.\n columns: S.mutable(S.Array(S.String)),\n\n // Row metadata referenced by index.\n rowMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),\n\n // Column metadata referenced by index.\n columnMeta: S.mutable(S.Record(S.String, S.mutable(RowColumnMeta))),\n\n // Cell formatting referenced by indexed range.\n formatting: S.mutable(S.Record(S.String, S.mutable(Formatting))),\n\n // Threads associated with the sheet\n threads: S.optional(S.mutable(S.Array(ref(ThreadType)))),\n}) {}\n\nexport type SheetSize = {\n rows: number;\n columns: number;\n};\n\nexport type CreateSheetOptions = {\n name?: string;\n cells?: Record<string, CellValue>;\n} & Partial<SheetSize>;\n"],
5
- "mappings": ";;;;;;AAWA,SAASA,KAAKC,GAAGC,mBAAmB;AAIpC,SAASC,kBAAkB;AAK3B,IAAMC,eAAe,GAAGC,YAAAA;;UAEZC,cAAAA;wCACD,GAAGF,YAAAA,SAAqB,IAAA;GADvBE,gBAAAA,cAAAA,CAAAA,EAAAA;AA2BL,IAAMC,YAAYC,EAAEC,OAAO;;;;;EAKhCC,OAAOF,EAAEG;AACX,CAAA;;UAQYC,gBAAAA;;;;;;;;;;;;GAAAA,kBAAAA,gBAAAA,CAAAA,EAAAA;AAqBL,IAAMC,YAAYL,EAAEM,MAAMF,aAAAA;AAE1B,IAAMG,aAAaP,EAAEC,OAAO;EACjCO,MAAMR,EAAES,SAASJ,SAAAA;EACjBK,QAAQV,EAAES,SAAST,EAAEW,MAAM;EAC3BC,WAAWZ,EAAES,SAAST,EAAEa,MAAM;EAC9BC,YAAYd,EAAES,SAAST,EAAEe,MAAMf,EAAEW,MAAM,CAAA;AACzC,CAAA;AAKO,IAAMK,gBAAgBhB,EAAEC,OAAO;EACpCgB,MAAMjB,EAAES,SAAST,EAAEa,MAAM;AAC3B,CAAA;AAKO,IAAMK,YAAN,cAAwBC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACpGC,MAAMtB,EAAES,SAAST,EAAEW,MAAM;;EAGzBY,OAAOvB,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQzB,SAAAA,CAAAA,CAAAA;;EAG9C2B,MAAM1B,EAAEwB,QAAQxB,EAAEe,MAAMf,EAAEW,MAAM,CAAA;;EAGhCgB,SAAS3B,EAAEwB,QAAQxB,EAAEe,MAAMf,EAAEW,MAAM,CAAA;;EAGnCiB,SAAS5B,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQR,aAAAA,CAAAA,CAAAA;;EAGhDa,YAAY7B,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQR,aAAAA,CAAAA,CAAAA;;EAGnDc,YAAY9B,EAAEwB,QAAQxB,EAAEyB,OAAOzB,EAAEW,QAAQX,EAAEwB,QAAQjB,UAAAA,CAAAA,CAAAA;;EAGnDwB,SAAS/B,EAAES,SAAST,EAAEwB,QAAQxB,EAAEe,MAAMiB,IAAIC,UAAAA,CAAAA,CAAAA,CAAAA;AAC5C,CAAA,EAAA;AAAI;",
6
- "names": ["ref", "S", "TypedObject", "ThreadType", "SHEET_ACTION", "SHEET_PLUGIN", "SheetAction", "CellValue", "S", "Struct", "value", "Any", "ValueTypeEnum", "ValueType", "Enums", "Formatting", "type", "optional", "format", "String", "precision", "Number", "classNames", "Array", "RowColumnMeta", "size", "SheetType", "TypedObject", "typename", "version", "name", "cells", "mutable", "Record", "rows", "columns", "rowMeta", "columnMeta", "formatting", "threads", "ref", "ThreadType"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { ref, S, TypedObject } from '@dxos/echo-schema';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport { type MarkdownExtensionProvides } from '@dxos/plugin-markdown';\nimport { type SpaceInitProvides } from '@dxos/plugin-space';\nimport { ThreadType } from '@dxos/plugin-space/types';\nimport { type StackProvides } from '@dxos/plugin-stack';\n\nimport { SHEET_PLUGIN } from './meta';\n\nconst SHEET_ACTION = `${SHEET_PLUGIN}/action`;\n\nexport enum SheetAction {\n CREATE = `${SHEET_ACTION}/create`,\n}\n\n// TODO(Zan): Move this to the plugin-space plugin or another common location\n// when we implement comments in sheets.\n// This is currently duplicated in a few places.\ntype ThreadProvides<T> = {\n thread: {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n};\n\nexport type SheetPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n MarkdownExtensionProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides &\n SpaceInitProvides &\n StackProvides &\n ThreadProvides<SheetType>;\n\nexport type CellScalarValue = number | string | boolean | null;\n\nexport const CellValue = S.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 // TODO(burdon): Arrays?\n value: S.Any,\n});\n\nexport type CellValue = S.Schema.Type<typeof CellValue>;\n\n/**\n * https://www.tutorialsteacher.com/typescript/typescript-number\n */\n// TODO(burdon): Format vs. value.\nexport enum ValueTypeEnum {\n Null = 0,\n Number = 1,\n Boolean = 2,\n String = 3,\n\n // Special numbers.\n Percent = 10,\n Currency = 11,\n\n // Dates.\n DateTime = 20,\n Date = 21,\n Time = 22,\n\n // Validated string types.\n // TODO(burdon): Define effect types.\n URL = 30,\n DID = 31,\n}\n\nexport const ValueType = S.Enums(ValueTypeEnum);\n\nexport const Formatting = S.Struct({\n type: S.optional(ValueType),\n format: S.optional(S.String),\n precision: S.optional(S.Number),\n classNames: S.optional(S.Array(S.String)),\n});\n\nexport type Formatting = S.Schema.Type<typeof Formatting>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = S.Struct({\n size: S.optional(S.Number),\n});\n\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\n// TODO(wittjosiah): Migrate typename to remove `Type` suffix.\n// TODO(wittjosiah): Rename title to name to align with other schemas.\nexport class SheetType extends TypedObject({ typename: 'dxos.org/type/SheetType', version: '0.1.0' })({\n name: S.optional(S.String),\n\n // Sparse map of cells referenced by index.\n cells: S.mutable(S.Record({ key: S.String, value: S.mutable(CellValue) })),\n\n // Ordered row indices.\n rows: S.mutable(S.Array(S.String)),\n\n // Ordered column indices.\n columns: S.mutable(S.Array(S.String)),\n\n // Row metadata referenced by index.\n rowMeta: S.mutable(S.Record({ key: S.String, value: S.mutable(RowColumnMeta) })),\n\n // Column metadata referenced by index.\n columnMeta: S.mutable(S.Record({ key: S.String, value: S.mutable(RowColumnMeta) })),\n\n // Cell formatting referenced by indexed range.\n formatting: S.mutable(S.Record({ key: S.String, value: S.mutable(Formatting) })),\n\n // Threads associated with the sheet\n threads: S.optional(S.mutable(S.Array(ref(ThreadType)))),\n}) {}\n\nexport type SheetSize = {\n rows: number;\n columns: number;\n};\n\nexport type CreateSheetOptions = {\n name?: string;\n cells?: Record<string, CellValue>;\n} & Partial<SheetSize>;\n"],
5
+ "mappings": ";;;;;;AAWA,SAASA,KAAKC,GAAGC,mBAAmB;AAIpC,SAASC,kBAAkB;AAK3B,IAAMC,eAAe,GAAGC,YAAAA;;UAEZC,cAAAA;wCACD,GAAGF,YAAAA,SAAqB,IAAA;GADvBE,gBAAAA,cAAAA,CAAAA,EAAAA;AA2BL,IAAMC,YAAYC,EAAEC,OAAO;;;;;EAKhCC,OAAOF,EAAEG;AACX,CAAA;;UAQYC,gBAAAA;;;;;;;;;;;;GAAAA,kBAAAA,gBAAAA,CAAAA,EAAAA;AAqBL,IAAMC,YAAYL,EAAEM,MAAMF,aAAAA;AAE1B,IAAMG,aAAaP,EAAEC,OAAO;EACjCO,MAAMR,EAAES,SAASJ,SAAAA;EACjBK,QAAQV,EAAES,SAAST,EAAEW,MAAM;EAC3BC,WAAWZ,EAAES,SAAST,EAAEa,MAAM;EAC9BC,YAAYd,EAAES,SAAST,EAAEe,MAAMf,EAAEW,MAAM,CAAA;AACzC,CAAA;AAKO,IAAMK,gBAAgBhB,EAAEC,OAAO;EACpCgB,MAAMjB,EAAES,SAAST,EAAEa,MAAM;AAC3B,CAAA;AAKO,IAAMK,YAAN,cAAwBC,YAAY;EAAEC,UAAU;EAA2BC,SAAS;AAAQ,CAAA,EAAG;EACpGC,MAAMtB,EAAES,SAAST,EAAEW,MAAM;;EAGzBY,OAAOvB,EAAEwB,QAAQxB,EAAEyB,OAAO;IAAEC,KAAK1B,EAAEW;IAAQT,OAAOF,EAAEwB,QAAQzB,SAAAA;EAAW,CAAA,CAAA;;EAGvE4B,MAAM3B,EAAEwB,QAAQxB,EAAEe,MAAMf,EAAEW,MAAM,CAAA;;EAGhCiB,SAAS5B,EAAEwB,QAAQxB,EAAEe,MAAMf,EAAEW,MAAM,CAAA;;EAGnCkB,SAAS7B,EAAEwB,QAAQxB,EAAEyB,OAAO;IAAEC,KAAK1B,EAAEW;IAAQT,OAAOF,EAAEwB,QAAQR,aAAAA;EAAe,CAAA,CAAA;;EAG7Ec,YAAY9B,EAAEwB,QAAQxB,EAAEyB,OAAO;IAAEC,KAAK1B,EAAEW;IAAQT,OAAOF,EAAEwB,QAAQR,aAAAA;EAAe,CAAA,CAAA;;EAGhFe,YAAY/B,EAAEwB,QAAQxB,EAAEyB,OAAO;IAAEC,KAAK1B,EAAEW;IAAQT,OAAOF,EAAEwB,QAAQjB,UAAAA;EAAY,CAAA,CAAA;;EAG7EyB,SAAShC,EAAES,SAAST,EAAEwB,QAAQxB,EAAEe,MAAMkB,IAAIC,UAAAA,CAAAA,CAAAA,CAAAA;AAC5C,CAAA,EAAA;AAAI;",
6
+ "names": ["ref", "S", "TypedObject", "ThreadType", "SHEET_ACTION", "SHEET_PLUGIN", "SheetAction", "CellValue", "S", "Struct", "value", "Any", "ValueTypeEnum", "ValueType", "Enums", "Formatting", "type", "optional", "format", "String", "precision", "Number", "classNames", "Array", "RowColumnMeta", "size", "SheetType", "TypedObject", "typename", "version", "name", "cells", "mutable", "Record", "key", "rows", "columns", "rowMeta", "columnMeta", "formatting", "threads", "ref", "ThreadType"]
7
7
  }