@dxos/plugin-sheet 0.8.4-main.5ea62a8 → 0.8.4-main.72ec0f3
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.
- package/dist/lib/browser/{SheetContainer-CWSO5WTN.mjs → SheetContainer-66BNB3XG.mjs} +26 -27
- package/dist/lib/browser/SheetContainer-66BNB3XG.mjs.map +7 -0
- package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs +23 -0
- package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KJWZUQVA.mjs → chunk-73AV3NH6.mjs} +4 -4
- package/dist/lib/browser/chunk-73AV3NH6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CL3MDNKQ.mjs → chunk-7VEWYJJN.mjs} +5 -5
- package/dist/lib/browser/chunk-7VEWYJJN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XSXUU6FO.mjs → chunk-DVJ3QW3F.mjs} +222 -221
- package/dist/lib/browser/chunk-DVJ3QW3F.mjs.map +7 -0
- package/dist/lib/browser/chunk-FWFAAGXL.mjs +28 -0
- package/dist/lib/browser/chunk-FWFAAGXL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-Q3VBLCSM.mjs → chunk-OU5KTWY3.mjs} +35 -34
- package/dist/lib/browser/chunk-OU5KTWY3.mjs.map +7 -0
- package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs +21 -0
- package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +20 -21
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-ROEY4LHM.mjs → intent-resolver-66OAYVQF.mjs} +9 -9
- package/dist/lib/browser/intent-resolver-66OAYVQF.mjs.map +7 -0
- package/dist/lib/browser/{markdown-VMNYPXTQ.mjs → markdown-B6VKYY2S.mjs} +6 -6
- package/dist/lib/browser/{markdown-VMNYPXTQ.mjs.map → markdown-B6VKYY2S.mjs.map} +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-2ES3D7MJ.mjs → react-surface-5GYLVSMR.mjs} +16 -15
- package/dist/lib/browser/react-surface-5GYLVSMR.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +4 -12
- package/dist/lib/node-esm/{SheetContainer-3RSDBWDG.mjs → SheetContainer-NWEQETAY.mjs} +26 -27
- package/dist/lib/node-esm/SheetContainer-NWEQETAY.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-ACQDUIPU.mjs → anchor-sort-ZE7IS7SH.mjs} +10 -11
- package/dist/lib/node-esm/anchor-sort-ZE7IS7SH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6SK5LJ5S.mjs → chunk-44YTKTMP.mjs} +4 -4
- package/dist/lib/node-esm/chunk-44YTKTMP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ODP4L4OV.mjs → chunk-4H2EHVWE.mjs} +222 -221
- package/dist/lib/node-esm/chunk-4H2EHVWE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LUCRXSK6.mjs → chunk-4MT3JJU2.mjs} +35 -34
- package/dist/lib/node-esm/chunk-4MT3JJU2.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ZIQZU4CH.mjs → chunk-4QV4AGWK.mjs} +5 -5
- package/dist/lib/node-esm/chunk-4QV4AGWK.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HILDMVPL.mjs +29 -0
- package/dist/lib/node-esm/chunk-HILDMVPL.mjs.map +7 -0
- package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs +22 -0
- package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +20 -21
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-HESRI2ML.mjs → intent-resolver-VNKIMQQT.mjs} +9 -9
- package/dist/lib/node-esm/intent-resolver-VNKIMQQT.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-SCOTGSWB.mjs → markdown-VKY7HXU2.mjs} +6 -6
- package/dist/lib/node-esm/{markdown-SCOTGSWB.mjs.map → markdown-VKY7HXU2.mjs.map} +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-66VS5MY2.mjs → react-surface-RK32YZWR.mjs} +16 -15
- package/dist/lib/node-esm/react-surface-RK32YZWR.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +4 -12
- package/dist/types/src/SheetPlugin.d.ts +1 -1
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -4
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -4
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +0 -1
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +3 -3
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +2 -4
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
- package/dist/types/src/components/RangeList/RangeList.d.ts +2 -2
- package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +2 -2
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +5 -5
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts +2 -2
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +3 -4
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +1 -2
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.d.ts +1 -1
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.stories.d.ts +2 -3
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
- package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +5 -5
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/model/testing.d.ts +2 -2
- package/dist/types/src/model/testing.d.ts.map +1 -1
- package/dist/types/src/model/useSheetModel.d.ts +2 -2
- package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
- package/dist/types/src/serializer.d.ts +2 -2
- package/dist/types/src/serializer.d.ts.map +1 -1
- package/dist/types/src/testing/data.d.ts +2 -2
- package/dist/types/src/testing/data.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +27 -3
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/{schema.d.ts → Sheet.d.ts} +37 -4
- package/dist/types/src/types/Sheet.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts +2 -2
- package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +7 -16
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/types/util.d.ts +9 -10
- package/dist/types/src/types/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +65 -64
- package/src/SheetPlugin.tsx +70 -61
- package/src/capabilities/anchor-sort.ts +7 -8
- package/src/capabilities/capabilities.ts +2 -2
- package/src/capabilities/compute-graph-registry.ts +8 -13
- package/src/capabilities/intent-resolver.ts +4 -4
- package/src/capabilities/react-surface.tsx +9 -8
- package/src/components/ComputeGraph/compute-graph.stories.tsx +10 -12
- package/src/components/FunctionEditor/FunctionEditor.tsx +2 -2
- package/src/components/GridSheet/GridSheet.stories.tsx +12 -9
- package/src/components/GridSheet/GridSheet.tsx +22 -10
- package/src/components/GridSheet/SheetCellEditor.stories.tsx +14 -17
- package/src/components/GridSheet/util.ts +9 -3
- package/src/components/RangeList/RangeList.tsx +8 -8
- package/src/components/SheetContainer/SheetContainer.stories.tsx +46 -45
- package/src/components/SheetContainer/SheetContainer.tsx +10 -5
- package/src/components/SheetContext/SheetContext.tsx +4 -4
- package/src/components/SheetToolbar/SheetToolbar.stories.tsx +9 -6
- package/src/components/SheetToolbar/SheetToolbar.tsx +17 -19
- package/src/components/SheetToolbar/align.ts +3 -3
- package/src/components/SheetToolbar/style.ts +2 -2
- package/src/extensions/compute.stories.tsx +18 -15
- package/src/extensions/compute.ts +1 -2
- package/src/integrations/thread-ranges.ts +15 -20
- package/src/meta.ts +7 -5
- package/src/model/sheet-model.test.ts +4 -4
- package/src/model/sheet-model.ts +4 -4
- package/src/model/testing.ts +4 -4
- package/src/model/useSheetModel.ts +2 -2
- package/src/sanity.test.ts +3 -4
- package/src/serializer.ts +3 -3
- package/src/testing/data.ts +2 -2
- package/src/testing/testing.tsx +11 -5
- package/src/translations.ts +2 -2
- package/src/types/Sheet.ts +103 -0
- package/src/types/index.ts +1 -1
- package/src/types/sheet-range-types.ts +2 -2
- package/src/types/types.ts +6 -16
- package/src/types/util.ts +10 -38
- package/dist/lib/browser/SheetContainer-CWSO5WTN.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-7WD2VGXW.mjs +0 -24
- package/dist/lib/browser/anchor-sort-7WD2VGXW.mjs.map +0 -7
- package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
- package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
- package/dist/lib/browser/chunk-CL3MDNKQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
- package/dist/lib/browser/chunk-Q3VBLCSM.mjs.map +0 -7
- package/dist/lib/browser/chunk-XSXUU6FO.mjs.map +0 -7
- package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs +0 -30
- package/dist/lib/browser/compute-graph-registry-6YJHXORG.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-ROEY4LHM.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2ES3D7MJ.mjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-3RSDBWDG.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-ACQDUIPU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LUCRXSK6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ODP4L4OV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZIQZU4CH.mjs.map +0 -7
- package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs +0 -31
- package/dist/lib/node-esm/compute-graph-registry-ET5KJNLV.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HESRI2ML.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-66VS5MY2.mjs.map +0 -7
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -61
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver } from '@dxos/app-framework';\n\nimport { SHEET_PLUGIN } from '../meta';\nimport { SheetAction, createSheet } from '../types';\n\nexport default () =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: SheetAction.Create,\n resolve: ({ name }) => ({ data: { object: createSheet({ name }) } }),\n }),\n createResolver({\n intent: SheetAction.InsertAxis,\n resolve: ({ model, axis, index, count }) => {\n const _indices = model[axis === 'col' ? 'insertColumns' : 'insertRows'](index, count);\n },\n }),\n createResolver({\n intent: SheetAction.DropAxis,\n resolve: ({ model, axis, axisIndex, deletionData }, undo) => {\n if (!undo) {\n const undoData = model[axis === 'col' ? 'dropColumn' : 'dropRow'](axisIndex);\n return {\n undoable: {\n message: [`${axis} dropped label`, { ns: SHEET_PLUGIN }],\n data: { ...undoData, model },\n },\n };\n } else if (undo && deletionData) {\n model[deletionData.axis === 'col' ? 'restoreColumn' : 'restoreRow'](deletionData);\n }\n },\n }),\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAAsB;AAK1D,IAAA,0BAAe,MACbC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,YAAYC;IACpBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;MAAEC,MAAM;QAAEC,QAAQC,YAAY;UAAEH;QAAK,CAAA;MAAG;IAAE;EACpE,CAAA;EACAL,eAAe;IACbC,QAAQC,YAAYO;IACpBL,SAAS,CAAC,EAAEM,OAAOC,MAAMC,OAAOC,MAAK,MAAE;AACrC,YAAMC,WAAWJ,MAAMC,SAAS,QAAQ,kBAAkB,YAAA,EAAcC,OAAOC,KAAAA;IACjF;EACF,CAAA;EACAb,eAAe;IACbC,QAAQC,YAAYa;IACpBX,SAAS,CAAC,EAAEM,OAAOC,MAAMK,WAAWC,aAAY,GAAIC,SAAAA;AAClD,UAAI,CAACA,MAAM;AACT,cAAMC,WAAWT,MAAMC,SAAS,QAAQ,eAAe,SAAA,EAAWK,SAAAA;AAClE,eAAO;UACLI,UAAU;YACRC,SAAS;cAAC,GAAGV,IAAAA;cAAsB;gBAAEW,IAAIC;cAAa;;YACtDjB,MAAM;cAAE,GAAGa;cAAUT;YAAM;UAC7B;QACF;MACF,WAAWQ,QAAQD,cAAc;AAC/BP,cAAMO,aAAaN,SAAS,QAAQ,kBAAkB,YAAA,EAAcM,YAAAA;MACtE;IACF;EACF,CAAA;CACD;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "createResolver", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "SheetAction", "Create", "resolve", "name", "data", "object", "createSheet", "InsertAxis", "model", "axis", "index", "count", "_indices", "DropAxis", "axisIndex", "deletionData", "undo", "undoData", "undoable", "message", "ns", "SHEET_PLUGIN"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { ComputeGraphContextProvider, RangeList, SheetContainer } from '../components';\nimport { SHEET_PLUGIN } from '../meta';\nimport { SheetType } from '../types';\n\nimport { SheetCapabilities } from './capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SHEET_PLUGIN}/sheet`,\n role: ['article', 'section'],\n filter: (data): data is { subject: SheetType } =>\n Obj.instanceOf(SheetType, data.subject) && !!getSpace(data.subject),\n component: ({ data, role }) => {\n const computeGraphRegistry = useCapability(SheetCapabilities.ComputeGraphRegistry);\n\n return (\n <ComputeGraphContextProvider registry={computeGraphRegistry}>\n <SheetContainer space={getSpace(data.subject)!} sheet={data.subject} role={role} />\n </ComputeGraphContextProvider>\n );\n },\n }),\n createSurface({\n id: `${SHEET_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: SheetType } => Obj.instanceOf(SheetType, data.subject),\n component: ({ data }) => <RangeList sheet={data.subject} />,\n }),\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,eAAeC,qBAAqB;AACxE,SAASC,WAAW;AACpB,SAASC,gBAAgB;AAQzB,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,YAAAA;IACPC,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,WAAWH,KAAKI,OAAO,KAAK,CAAC,CAACC,SAASL,KAAKI,OAAO;IACpEE,WAAW,CAAC,EAAEN,MAAMF,KAAI,MAAE;AACxB,YAAMS,uBAAuBC,cAAcC,kBAAkBC,oBAAoB;AAEjF,aACE,sBAAA,cAACC,6BAAAA;QAA4BC,UAAUL;SACrC,sBAAA,cAACM,gBAAAA;QAAeC,OAAOT,SAASL,KAAKI,OAAO;QAAIW,OAAOf,KAAKI;QAASN;;IAG3E;EACF,CAAA;EACAH,cAAc;IACZC,IAAI,GAAGC,YAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAAyCC,IAAIC,WAAWC,WAAWH,KAAKI,OAAO;IACxFE,WAAW,CAAC,EAAEN,KAAI,MAAO,sBAAA,cAACgB,WAAAA;MAAUD,OAAOf,KAAKI;;EAClD,CAAA;CACD;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "Obj", "getSpace", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SHEET_PLUGIN", "role", "filter", "data", "Obj", "instanceOf", "SheetType", "subject", "getSpace", "component", "computeGraphRegistry", "useCapability", "SheetCapabilities", "ComputeGraphRegistry", "ComputeGraphContextProvider", "registry", "SheetContainer", "space", "sheet", "RangeList"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,eAAO,MAAM,SAAS;;EAKpB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;AAG7D,eAAO,MAAM,KAAK;;;;EAIhB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC;AAGrD,eAAO,MAAM,aAAa;;EAExB,CAAC;AAIH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;GAyBrB,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC;CAAG"}
|
package/src/types/schema.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2023 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Schema } from 'effect';
|
|
6
|
-
|
|
7
|
-
import { Type } from '@dxos/echo';
|
|
8
|
-
|
|
9
|
-
export const CellValue = Schema.Struct({
|
|
10
|
-
// TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
|
|
11
|
-
// Consider import/export; natural access for other plugins. Special handling for currency (precision).
|
|
12
|
-
// TODO(burdon): Automerge (long string) or short string or number.
|
|
13
|
-
value: Schema.Any,
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
export type CellValue = Schema.Schema.Type<typeof CellValue>;
|
|
17
|
-
|
|
18
|
-
// TODO(burdon): IMPORTANT: Reconcile with Field definition.
|
|
19
|
-
export const Range = Schema.Struct({
|
|
20
|
-
range: Schema.String,
|
|
21
|
-
key: Schema.String,
|
|
22
|
-
value: Schema.String,
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
export type Range = Schema.Schema.Type<typeof Range>;
|
|
26
|
-
|
|
27
|
-
// TODO(burdon): Visibility, locked, frozen, etc.
|
|
28
|
-
export const RowColumnMeta = Schema.Struct({
|
|
29
|
-
size: Schema.optional(Schema.Number),
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// TODO(burdon): Reconcile col/column (across packages).
|
|
33
|
-
// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.
|
|
34
|
-
export const SheetType = Schema.Struct({
|
|
35
|
-
name: Schema.optional(Schema.String),
|
|
36
|
-
|
|
37
|
-
// Sparse map of cells referenced by index.
|
|
38
|
-
cells: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(CellValue) })),
|
|
39
|
-
|
|
40
|
-
// Ordered row indices.
|
|
41
|
-
rows: Schema.mutable(Schema.Array(Schema.String)),
|
|
42
|
-
|
|
43
|
-
// Ordered column indices.
|
|
44
|
-
columns: Schema.mutable(Schema.Array(Schema.String)),
|
|
45
|
-
|
|
46
|
-
// Row metadata referenced by index.
|
|
47
|
-
rowMeta: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(RowColumnMeta) })),
|
|
48
|
-
|
|
49
|
-
// Column metadata referenced by index.
|
|
50
|
-
columnMeta: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(RowColumnMeta) })),
|
|
51
|
-
|
|
52
|
-
// Cell formatting referenced by indexed range.
|
|
53
|
-
ranges: Schema.mutable(Schema.Array(Range)),
|
|
54
|
-
}).pipe(
|
|
55
|
-
Type.Obj({
|
|
56
|
-
typename: 'dxos.org/type/Sheet',
|
|
57
|
-
version: '0.1.0',
|
|
58
|
-
}),
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
export interface SheetType extends Schema.Schema.Type<typeof SheetType> {}
|