@mog-sdk/spreadsheet-contracts 0.1.12
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/accessibility/index.d.ts +9 -0
- package/dist/accessibility/index.d.ts.map +1 -0
- package/dist/accessibility/types.d.ts +75 -0
- package/dist/accessibility/types.d.ts.map +1 -0
- package/dist/actions/comments.d.ts +31 -0
- package/dist/actions/comments.d.ts.map +1 -0
- package/dist/actions/index.d.ts +22 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/types.d.ts +448 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/actors/chart.d.ts +88 -0
- package/dist/actors/chart.d.ts.map +1 -0
- package/dist/actors/clipboard.d.ts +243 -0
- package/dist/actors/clipboard.d.ts.map +1 -0
- package/dist/actors/commands.d.ts +1343 -0
- package/dist/actors/commands.d.ts.map +1 -0
- package/dist/actors/comment.d.ts +84 -0
- package/dist/actors/comment.d.ts.map +1 -0
- package/dist/actors/draw-border.d.ts +89 -0
- package/dist/actors/draw-border.d.ts.map +1 -0
- package/dist/actors/editor.d.ts +161 -0
- package/dist/actors/editor.d.ts.map +1 -0
- package/dist/actors/find-replace.d.ts +88 -0
- package/dist/actors/find-replace.d.ts.map +1 -0
- package/dist/actors/focus.d.ts +91 -0
- package/dist/actors/focus.d.ts.map +1 -0
- package/dist/actors/index.d.ts +88 -0
- package/dist/actors/index.d.ts.map +1 -0
- package/dist/actors/input.d.ts +98 -0
- package/dist/actors/input.d.ts.map +1 -0
- package/dist/actors/object-interaction.d.ts +163 -0
- package/dist/actors/object-interaction.d.ts.map +1 -0
- package/dist/actors/object.d.ts +124 -0
- package/dist/actors/object.d.ts.map +1 -0
- package/dist/actors/page-break.d.ts +64 -0
- package/dist/actors/page-break.d.ts.map +1 -0
- package/dist/actors/pane-focus.d.ts +56 -0
- package/dist/actors/pane-focus.d.ts.map +1 -0
- package/dist/actors/renderer.d.ts +197 -0
- package/dist/actors/renderer.d.ts.map +1 -0
- package/dist/actors/selection.d.ts +170 -0
- package/dist/actors/selection.d.ts.map +1 -0
- package/dist/actors/slicer.d.ts +175 -0
- package/dist/actors/slicer.d.ts.map +1 -0
- package/dist/actors/smartart.d.ts +48 -0
- package/dist/actors/smartart.d.ts.map +1 -0
- package/dist/api/index.d.ts +19 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/mutation-receipt.d.ts +26 -0
- package/dist/api/mutation-receipt.d.ts.map +1 -0
- package/dist/api/types.d.ts +1542 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/workbook/history.d.ts +43 -0
- package/dist/api/workbook/history.d.ts.map +1 -0
- package/dist/api/workbook/index.d.ts +17 -0
- package/dist/api/workbook/index.d.ts.map +1 -0
- package/dist/api/workbook/names.d.ts +104 -0
- package/dist/api/workbook/names.d.ts.map +1 -0
- package/dist/api/workbook/notifications.d.ts +35 -0
- package/dist/api/workbook/notifications.d.ts.map +1 -0
- package/dist/api/workbook/protection.d.ts +14 -0
- package/dist/api/workbook/protection.d.ts.map +1 -0
- package/dist/api/workbook/scenarios.d.ts +45 -0
- package/dist/api/workbook/scenarios.d.ts.map +1 -0
- package/dist/api/workbook/sheets.d.ts +74 -0
- package/dist/api/workbook/sheets.d.ts.map +1 -0
- package/dist/api/workbook/slicers.d.ts +63 -0
- package/dist/api/workbook/slicers.d.ts.map +1 -0
- package/dist/api/workbook/styles.d.ts +19 -0
- package/dist/api/workbook/styles.d.ts.map +1 -0
- package/dist/api/workbook/theme.d.ts +38 -0
- package/dist/api/workbook/theme.d.ts.map +1 -0
- package/dist/api/workbook/viewport.d.ts +85 -0
- package/dist/api/workbook/viewport.d.ts.map +1 -0
- package/dist/api/workbook.d.ts +279 -0
- package/dist/api/workbook.d.ts.map +1 -0
- package/dist/api/worksheet/bindings.d.ts +66 -0
- package/dist/api/worksheet/bindings.d.ts.map +1 -0
- package/dist/api/worksheet/changes.d.ts +60 -0
- package/dist/api/worksheet/changes.d.ts.map +1 -0
- package/dist/api/worksheet/charts.d.ts +83 -0
- package/dist/api/worksheet/charts.d.ts.map +1 -0
- package/dist/api/worksheet/collections/connector-collection.d.ts +7 -0
- package/dist/api/worksheet/collections/connector-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/drawing-collection.d.ts +9 -0
- package/dist/api/worksheet/collections/drawing-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/equation-collection.d.ts +8 -0
- package/dist/api/worksheet/collections/equation-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/index.d.ts +12 -0
- package/dist/api/worksheet/collections/index.d.ts.map +1 -0
- package/dist/api/worksheet/collections/object-collection.d.ts +45 -0
- package/dist/api/worksheet/collections/object-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/picture-collection.d.ts +8 -0
- package/dist/api/worksheet/collections/picture-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/shape-collection.d.ts +8 -0
- package/dist/api/worksheet/collections/shape-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/textbox-collection.d.ts +8 -0
- package/dist/api/worksheet/collections/textbox-collection.d.ts.map +1 -0
- package/dist/api/worksheet/collections/wordart-collection.d.ts +8 -0
- package/dist/api/worksheet/collections/wordart-collection.d.ts.map +1 -0
- package/dist/api/worksheet/comments.d.ts +143 -0
- package/dist/api/worksheet/comments.d.ts.map +1 -0
- package/dist/api/worksheet/conditional-formats.d.ts +101 -0
- package/dist/api/worksheet/conditional-formats.d.ts.map +1 -0
- package/dist/api/worksheet/filters.d.ts +141 -0
- package/dist/api/worksheet/filters.d.ts.map +1 -0
- package/dist/api/worksheet/form-controls.d.ts +22 -0
- package/dist/api/worksheet/form-controls.d.ts.map +1 -0
- package/dist/api/worksheet/format-mappings.d.ts +50 -0
- package/dist/api/worksheet/format-mappings.d.ts.map +1 -0
- package/dist/api/worksheet/formats.d.ts +136 -0
- package/dist/api/worksheet/formats.d.ts.map +1 -0
- package/dist/api/worksheet/handles/chart-handle.d.ts +11 -0
- package/dist/api/worksheet/handles/chart-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/connector-handle.d.ts +9 -0
- package/dist/api/worksheet/handles/connector-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/drawing-handle.d.ts +14 -0
- package/dist/api/worksheet/handles/drawing-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/equation-handle.d.ts +9 -0
- package/dist/api/worksheet/handles/equation-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/floating-object-handle.d.ts +75 -0
- package/dist/api/worksheet/handles/floating-object-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/index.d.ts +16 -0
- package/dist/api/worksheet/handles/index.d.ts.map +1 -0
- package/dist/api/worksheet/handles/ole-object-handle.d.ts +10 -0
- package/dist/api/worksheet/handles/ole-object-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/picture-handle.d.ts +9 -0
- package/dist/api/worksheet/handles/picture-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/shape-handle.d.ts +11 -0
- package/dist/api/worksheet/handles/shape-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/slicer-handle.d.ts +13 -0
- package/dist/api/worksheet/handles/slicer-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/smartart-handle.d.ts +11 -0
- package/dist/api/worksheet/handles/smartart-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/textbox-handle.d.ts +9 -0
- package/dist/api/worksheet/handles/textbox-handle.d.ts.map +1 -0
- package/dist/api/worksheet/handles/wordart-handle.d.ts +10 -0
- package/dist/api/worksheet/handles/wordart-handle.d.ts.map +1 -0
- package/dist/api/worksheet/hyperlinks.d.ts +52 -0
- package/dist/api/worksheet/hyperlinks.d.ts.map +1 -0
- package/dist/api/worksheet/index.d.ts +35 -0
- package/dist/api/worksheet/index.d.ts.map +1 -0
- package/dist/api/worksheet/internal.d.ts +105 -0
- package/dist/api/worksheet/internal.d.ts.map +1 -0
- package/dist/api/worksheet/layout.d.ts +150 -0
- package/dist/api/worksheet/layout.d.ts.map +1 -0
- package/dist/api/worksheet/names.d.ts +52 -0
- package/dist/api/worksheet/names.d.ts.map +1 -0
- package/dist/api/worksheet/objects.d.ts +124 -0
- package/dist/api/worksheet/objects.d.ts.map +1 -0
- package/dist/api/worksheet/outline.d.ts +101 -0
- package/dist/api/worksheet/outline.d.ts.map +1 -0
- package/dist/api/worksheet/pivots.d.ts +257 -0
- package/dist/api/worksheet/pivots.d.ts.map +1 -0
- package/dist/api/worksheet/print.d.ts +108 -0
- package/dist/api/worksheet/print.d.ts.map +1 -0
- package/dist/api/worksheet/protection.d.ts +73 -0
- package/dist/api/worksheet/protection.d.ts.map +1 -0
- package/dist/api/worksheet/settings.d.ts +54 -0
- package/dist/api/worksheet/settings.d.ts.map +1 -0
- package/dist/api/worksheet/slicers.d.ts +101 -0
- package/dist/api/worksheet/slicers.d.ts.map +1 -0
- package/dist/api/worksheet/smartart.d.ts +49 -0
- package/dist/api/worksheet/smartart.d.ts.map +1 -0
- package/dist/api/worksheet/sparklines.d.ts +143 -0
- package/dist/api/worksheet/sparklines.d.ts.map +1 -0
- package/dist/api/worksheet/structure.d.ts +44 -0
- package/dist/api/worksheet/structure.d.ts.map +1 -0
- package/dist/api/worksheet/tables.d.ts +313 -0
- package/dist/api/worksheet/tables.d.ts.map +1 -0
- package/dist/api/worksheet/validation.d.ts +101 -0
- package/dist/api/worksheet/validation.d.ts.map +1 -0
- package/dist/api/worksheet/view.d.ts +91 -0
- package/dist/api/worksheet/view.d.ts.map +1 -0
- package/dist/api/worksheet.d.ts +370 -0
- package/dist/api/worksheet.d.ts.map +1 -0
- package/dist/app/index.d.ts +17 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/types.d.ts +349 -0
- package/dist/app/types.d.ts.map +1 -0
- package/dist/apps/api.d.ts +519 -0
- package/dist/apps/api.d.ts.map +1 -0
- package/dist/apps/bindings.d.ts +72 -0
- package/dist/apps/bindings.d.ts.map +1 -0
- package/dist/apps/index.d.ts +13 -0
- package/dist/apps/index.d.ts.map +1 -0
- package/dist/apps/types.d.ts +224 -0
- package/dist/apps/types.d.ts.map +1 -0
- package/dist/apps/views.d.ts +142 -0
- package/dist/apps/views.d.ts.map +1 -0
- package/dist/bridges/chart-bridge.d.ts +172 -0
- package/dist/bridges/chart-bridge.d.ts.map +1 -0
- package/dist/bridges/equation-bridge.d.ts +74 -0
- package/dist/bridges/equation-bridge.d.ts.map +1 -0
- package/dist/bridges/index.d.ts +25 -0
- package/dist/bridges/index.d.ts.map +1 -0
- package/dist/bridges/ink-recognition-bridge.d.ts +142 -0
- package/dist/bridges/ink-recognition-bridge.d.ts.map +1 -0
- package/dist/bridges/locale-bridge.d.ts +93 -0
- package/dist/bridges/locale-bridge.d.ts.map +1 -0
- package/dist/bridges/pivot-bridge.d.ts +201 -0
- package/dist/bridges/pivot-bridge.d.ts.map +1 -0
- package/dist/bridges/schema-bridge.d.ts +137 -0
- package/dist/bridges/schema-bridge.d.ts.map +1 -0
- package/dist/bridges/smartart-bridge.d.ts +217 -0
- package/dist/bridges/smartart-bridge.d.ts.map +1 -0
- package/dist/bridges/wordart-bridge.d.ts +86 -0
- package/dist/bridges/wordart-bridge.d.ts.map +1 -0
- package/dist/capabilities/errors.d.ts +16 -0
- package/dist/capabilities/errors.d.ts.map +1 -0
- package/dist/capabilities/gated-api.d.ts +355 -0
- package/dist/capabilities/gated-api.d.ts.map +1 -0
- package/dist/capabilities/grants.d.ts +239 -0
- package/dist/capabilities/grants.d.ts.map +1 -0
- package/dist/capabilities/index.d.ts +24 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/manifest.d.ts +128 -0
- package/dist/capabilities/manifest.d.ts.map +1 -0
- package/dist/capabilities/requester.d.ts +209 -0
- package/dist/capabilities/requester.d.ts.map +1 -0
- package/dist/capabilities/scope.d.ts +55 -0
- package/dist/capabilities/scope.d.ts.map +1 -0
- package/dist/capabilities/sensitive.d.ts +279 -0
- package/dist/capabilities/sensitive.d.ts.map +1 -0
- package/dist/capabilities/taxonomy.d.ts +15 -0
- package/dist/capabilities/taxonomy.d.ts.map +1 -0
- package/dist/capabilities/types.d.ts +91 -0
- package/dist/capabilities/types.d.ts.map +1 -0
- package/dist/cells/cell-identity.d.ts +281 -0
- package/dist/cells/cell-identity.d.ts.map +1 -0
- package/dist/cells/cell-style.d.ts +67 -0
- package/dist/cells/cell-style.d.ts.map +1 -0
- package/dist/cells/formula-string.d.ts +37 -0
- package/dist/cells/formula-string.d.ts.map +1 -0
- package/dist/cells/index.d.ts +7 -0
- package/dist/cells/index.d.ts.map +1 -0
- package/dist/cells/range-ref.d.ts +77 -0
- package/dist/cells/range-ref.d.ts.map +1 -0
- package/dist/cells/rich-text.d.ts +66 -0
- package/dist/cells/rich-text.d.ts.map +1 -0
- package/dist/cells/spill.d.ts +121 -0
- package/dist/cells/spill.d.ts.map +1 -0
- package/dist/conditional-format/index.d.ts +11 -0
- package/dist/conditional-format/index.d.ts.map +1 -0
- package/dist/conditional-format/presets.d.ts +54 -0
- package/dist/conditional-format/presets.d.ts.map +1 -0
- package/dist/conditional-format/range-utils.d.ts +11 -0
- package/dist/conditional-format/range-utils.d.ts.map +1 -0
- package/dist/conditional-format/render-types.d.ts +80 -0
- package/dist/conditional-format/render-types.d.ts.map +1 -0
- package/dist/connections/api-errors.d.ts +29 -0
- package/dist/connections/api-errors.d.ts.map +1 -0
- package/dist/connections/api.d.ts +879 -0
- package/dist/connections/api.d.ts.map +1 -0
- package/dist/connections/database-bridge-types.d.ts +108 -0
- package/dist/connections/database-bridge-types.d.ts.map +1 -0
- package/dist/connections/index.d.ts +5 -0
- package/dist/connections/index.d.ts.map +1 -0
- package/dist/connections/power-query.d.ts +1 -0
- package/dist/connections/power-query.d.ts.map +1 -0
- package/dist/connections/query.d.ts +144 -0
- package/dist/connections/query.d.ts.map +1 -0
- package/dist/context-menu/index.d.ts +10 -0
- package/dist/context-menu/index.d.ts.map +1 -0
- package/dist/context-menu/types.d.ts +28 -0
- package/dist/context-menu/types.d.ts.map +1 -0
- package/dist/core/commands.d.ts +143 -0
- package/dist/core/commands.d.ts.map +1 -0
- package/dist/core/core.d.ts +943 -0
- package/dist/core/core.d.ts.map +1 -0
- package/dist/core/disposable.d.ts +30 -0
- package/dist/core/disposable.d.ts.map +1 -0
- package/dist/core/event-base.d.ts +31 -0
- package/dist/core/event-base.d.ts.map +1 -0
- package/dist/core/execution.d.ts +79 -0
- package/dist/core/execution.d.ts.map +1 -0
- package/dist/core/formatted-text.d.ts +8 -0
- package/dist/core/formatted-text.d.ts.map +1 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/result.d.ts +23 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/schema.d.ts +360 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/testing.d.ts +309 -0
- package/dist/core/testing.d.ts.map +1 -0
- package/dist/culture/index.d.ts +11 -0
- package/dist/culture/index.d.ts.map +1 -0
- package/dist/culture/types.d.ts +320 -0
- package/dist/culture/types.d.ts.map +1 -0
- package/dist/data/charts.d.ts +412 -0
- package/dist/data/charts.d.ts.map +1 -0
- package/dist/data/conditional-format.d.ts +188 -0
- package/dist/data/conditional-format.d.ts.map +1 -0
- package/dist/data/filter.d.ts +364 -0
- package/dist/data/filter.d.ts.map +1 -0
- package/dist/data/grouping.d.ts +170 -0
- package/dist/data/grouping.d.ts.map +1 -0
- package/dist/data/index.d.ts +12 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/named-ranges.d.ts +104 -0
- package/dist/data/named-ranges.d.ts.map +1 -0
- package/dist/data/pivot.d.ts +68 -0
- package/dist/data/pivot.d.ts.map +1 -0
- package/dist/data/slicers.d.ts +417 -0
- package/dist/data/slicers.d.ts.map +1 -0
- package/dist/data/sorting.d.ts +172 -0
- package/dist/data/sorting.d.ts.map +1 -0
- package/dist/data/sparklines.d.ts +358 -0
- package/dist/data/sparklines.d.ts.map +1 -0
- package/dist/data/tables.d.ts +333 -0
- package/dist/data/tables.d.ts.map +1 -0
- package/dist/data/trace-arrows.d.ts +165 -0
- package/dist/data/trace-arrows.d.ts.map +1 -0
- package/dist/diagnostics/core.d.ts +219 -0
- package/dist/diagnostics/core.d.ts.map +1 -0
- package/dist/diagnostics/index.d.ts +9 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/style.d.ts +196 -0
- package/dist/diagnostics/style.d.ts.map +1 -0
- package/dist/document/comments.d.ts +109 -0
- package/dist/document/comments.d.ts.map +1 -0
- package/dist/document/document.d.ts +182 -0
- package/dist/document/document.d.ts.map +1 -0
- package/dist/document/index.d.ts +5 -0
- package/dist/document/index.d.ts.map +1 -0
- package/dist/document/protection.d.ts +114 -0
- package/dist/document/protection.d.ts.map +1 -0
- package/dist/document/search.d.ts +202 -0
- package/dist/document/search.d.ts.map +1 -0
- package/dist/drawing/index.d.ts +8 -0
- package/dist/drawing/index.d.ts.map +1 -0
- package/dist/drawing/three-d.d.ts +171 -0
- package/dist/drawing/three-d.d.ts.map +1 -0
- package/dist/editor/drag.d.ts +178 -0
- package/dist/editor/drag.d.ts.map +1 -0
- package/dist/editor/editor.d.ts +59 -0
- package/dist/editor/editor.d.ts.map +1 -0
- package/dist/editor/form-controls.d.ts +428 -0
- package/dist/editor/form-controls.d.ts.map +1 -0
- package/dist/editor/index.d.ts +4 -0
- package/dist/editor/index.d.ts.map +1 -0
- package/dist/equation/errors.d.ts +19 -0
- package/dist/equation/errors.d.ts.map +1 -0
- package/dist/equation/index.d.ts +12 -0
- package/dist/equation/index.d.ts.map +1 -0
- package/dist/equation/omml-ast.d.ts +358 -0
- package/dist/equation/omml-ast.d.ts.map +1 -0
- package/dist/equation/templates.d.ts +26 -0
- package/dist/equation/templates.d.ts.map +1 -0
- package/dist/equation/types.d.ts +87 -0
- package/dist/equation/types.d.ts.map +1 -0
- package/dist/events/canvas-object-events.d.ts +31 -0
- package/dist/events/canvas-object-events.d.ts.map +1 -0
- package/dist/events/cell-events.d.ts +60 -0
- package/dist/events/cell-events.d.ts.map +1 -0
- package/dist/events/chart-events.d.ts +61 -0
- package/dist/events/chart-events.d.ts.map +1 -0
- package/dist/events/comment-events.d.ts +43 -0
- package/dist/events/comment-events.d.ts.map +1 -0
- package/dist/events/conditional-formatting-events.d.ts +40 -0
- package/dist/events/conditional-formatting-events.d.ts.map +1 -0
- package/dist/events/data-tools-events.d.ts +29 -0
- package/dist/events/data-tools-events.d.ts.map +1 -0
- package/dist/events/file-io-events.d.ts +39 -0
- package/dist/events/file-io-events.d.ts.map +1 -0
- package/dist/events/filter-events.d.ts +43 -0
- package/dist/events/filter-events.d.ts.map +1 -0
- package/dist/events/floating-object-events.d.ts +158 -0
- package/dist/events/floating-object-events.d.ts.map +1 -0
- package/dist/events/grouping-events.d.ts +75 -0
- package/dist/events/grouping-events.d.ts.map +1 -0
- package/dist/events/index.d.ts +129 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/ink-collaboration-events.d.ts +57 -0
- package/dist/events/ink-collaboration-events.d.ts.map +1 -0
- package/dist/events/ink-events.d.ts +33 -0
- package/dist/events/ink-events.d.ts.map +1 -0
- package/dist/events/ink-recognition-events.d.ts +149 -0
- package/dist/events/ink-recognition-events.d.ts.map +1 -0
- package/dist/events/ink-stroke-events.d.ts +197 -0
- package/dist/events/ink-stroke-events.d.ts.map +1 -0
- package/dist/events/merge-events.d.ts +46 -0
- package/dist/events/merge-events.d.ts.map +1 -0
- package/dist/events/named-range-events.d.ts +24 -0
- package/dist/events/named-range-events.d.ts.map +1 -0
- package/dist/events/pivot-events.d.ts +47 -0
- package/dist/events/pivot-events.d.ts.map +1 -0
- package/dist/events/print-events.d.ts +75 -0
- package/dist/events/print-events.d.ts.map +1 -0
- package/dist/events/recalc-events.d.ts +20 -0
- package/dist/events/recalc-events.d.ts.map +1 -0
- package/dist/events/scenario-events.d.ts +37 -0
- package/dist/events/scenario-events.d.ts.map +1 -0
- package/dist/events/selection-events.d.ts +16 -0
- package/dist/events/selection-events.d.ts.map +1 -0
- package/dist/events/settings-events.d.ts +41 -0
- package/dist/events/settings-events.d.ts.map +1 -0
- package/dist/events/sheet-events.d.ts +68 -0
- package/dist/events/sheet-events.d.ts.map +1 -0
- package/dist/events/slicer-events.d.ts +47 -0
- package/dist/events/slicer-events.d.ts.map +1 -0
- package/dist/events/smartart-events.d.ts +222 -0
- package/dist/events/smartart-events.d.ts.map +1 -0
- package/dist/events/sparkline-events.d.ts +68 -0
- package/dist/events/sparkline-events.d.ts.map +1 -0
- package/dist/events/store-events.d.ts +18 -0
- package/dist/events/store-events.d.ts.map +1 -0
- package/dist/events/structure-events.d.ts +76 -0
- package/dist/events/structure-events.d.ts.map +1 -0
- package/dist/events/table-events.d.ts +99 -0
- package/dist/events/table-events.d.ts.map +1 -0
- package/dist/events/validation-events.d.ts +85 -0
- package/dist/events/validation-events.d.ts.map +1 -0
- package/dist/events/view-events.d.ts +72 -0
- package/dist/events/view-events.d.ts.map +1 -0
- package/dist/events/wordart-events.d.ts +169 -0
- package/dist/events/wordart-events.d.ts.map +1 -0
- package/dist/events.d.ts +41 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/extensions/index.d.ts +9 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/types.d.ts +64 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/paths.d.ts +38 -0
- package/dist/filesystem/paths.d.ts.map +1 -0
- package/dist/filesystem/permissions.d.ts +89 -0
- package/dist/filesystem/permissions.d.ts.map +1 -0
- package/dist/filesystem/types.d.ts +251 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/fill/custom-lists.d.ts +41 -0
- package/dist/fill/custom-lists.d.ts.map +1 -0
- package/dist/fill/index.d.ts +11 -0
- package/dist/fill/index.d.ts.map +1 -0
- package/dist/fill/types.d.ts +102 -0
- package/dist/fill/types.d.ts.map +1 -0
- package/dist/formatting/format-registry.d.ts +45 -0
- package/dist/formatting/format-registry.d.ts.map +1 -0
- package/dist/formatting/index.d.ts +9 -0
- package/dist/formatting/index.d.ts.map +1 -0
- package/dist/formatting/theme.d.ts +108 -0
- package/dist/formatting/theme.d.ts.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/ink/index.d.ts +16 -0
- package/dist/ink/index.d.ts.map +1 -0
- package/dist/ink/spatial-index.d.ts +113 -0
- package/dist/ink/spatial-index.d.ts.map +1 -0
- package/dist/ink/types.d.ts +558 -0
- package/dist/ink/types.d.ts.map +1 -0
- package/dist/kernel/floating-object-manager.d.ts +68 -0
- package/dist/kernel/floating-object-manager.d.ts.map +1 -0
- package/dist/kernel/index.d.ts +12 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/kernel-context.d.ts +129 -0
- package/dist/kernel/kernel-context.d.ts.map +1 -0
- package/dist/keyboard/actions.d.ts +328 -0
- package/dist/keyboard/actions.d.ts.map +1 -0
- package/dist/keyboard/binding-utils.d.ts +112 -0
- package/dist/keyboard/binding-utils.d.ts.map +1 -0
- package/dist/keyboard/customization.d.ts +121 -0
- package/dist/keyboard/customization.d.ts.map +1 -0
- package/dist/keyboard/display-utils.d.ts +9 -0
- package/dist/keyboard/display-utils.d.ts.map +1 -0
- package/dist/keyboard/excel-reference.d.ts +28 -0
- package/dist/keyboard/excel-reference.d.ts.map +1 -0
- package/dist/keyboard/index.d.ts +16 -0
- package/dist/keyboard/index.d.ts.map +1 -0
- package/dist/keyboard/input.d.ts +124 -0
- package/dist/keyboard/input.d.ts.map +1 -0
- package/dist/keyboard/physical-keys.d.ts +79 -0
- package/dist/keyboard/physical-keys.d.ts.map +1 -0
- package/dist/keyboard/shortcuts/definitions/index.d.ts +10 -0
- package/dist/keyboard/shortcuts/definitions/index.d.ts.map +1 -0
- package/dist/keyboard/shortcuts/types.d.ts +347 -0
- package/dist/keyboard/shortcuts/types.d.ts.map +1 -0
- package/dist/machines/index.d.ts +12 -0
- package/dist/machines/index.d.ts.map +1 -0
- package/dist/machines/snapshots.d.ts +160 -0
- package/dist/machines/snapshots.d.ts.map +1 -0
- package/dist/machines/types.d.ts +64 -0
- package/dist/machines/types.d.ts.map +1 -0
- package/dist/number-formats/constants.d.ts +39 -0
- package/dist/number-formats/constants.d.ts.map +1 -0
- package/dist/number-formats/index.d.ts +14 -0
- package/dist/number-formats/index.d.ts.map +1 -0
- package/dist/number-formats/locale/index.d.ts +5 -0
- package/dist/number-formats/locale/index.d.ts.map +1 -0
- package/dist/number-formats/locale/locale-defaults.d.ts +17 -0
- package/dist/number-formats/locale/locale-defaults.d.ts.map +1 -0
- package/dist/number-formats/registry.d.ts +52 -0
- package/dist/number-formats/registry.d.ts.map +1 -0
- package/dist/number-formats/types.d.ts +134 -0
- package/dist/number-formats/types.d.ts.map +1 -0
- package/dist/objects/canvas-object.d.ts +157 -0
- package/dist/objects/canvas-object.d.ts.map +1 -0
- package/dist/objects/drawing-object.d.ts +144 -0
- package/dist/objects/drawing-object.d.ts.map +1 -0
- package/dist/objects/floating-objects.d.ts +742 -0
- package/dist/objects/floating-objects.d.ts.map +1 -0
- package/dist/objects/index.d.ts +5 -0
- package/dist/objects/index.d.ts.map +1 -0
- package/dist/objects/object-bounds-reader.d.ts +25 -0
- package/dist/objects/object-bounds-reader.d.ts.map +1 -0
- package/dist/objects/object-mutator.d.ts +30 -0
- package/dist/objects/object-mutator.d.ts.map +1 -0
- package/dist/performance/index.d.ts +8 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/profiler-types.d.ts +351 -0
- package/dist/performance/profiler-types.d.ts.map +1 -0
- package/dist/platform/identity.d.ts +24 -0
- package/dist/platform/identity.d.ts.map +1 -0
- package/dist/platform/index.d.ts +17 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/types.d.ts +359 -0
- package/dist/platform/types.d.ts.map +1 -0
- package/dist/rendering/canvas-bridge-types.d.ts +68 -0
- package/dist/rendering/canvas-bridge-types.d.ts.map +1 -0
- package/dist/rendering/constants.d.ts +76 -0
- package/dist/rendering/constants.d.ts.map +1 -0
- package/dist/rendering/coordinates.d.ts +452 -0
- package/dist/rendering/coordinates.d.ts.map +1 -0
- package/dist/rendering/coordinator-interfaces.d.ts +163 -0
- package/dist/rendering/coordinator-interfaces.d.ts.map +1 -0
- package/dist/rendering/data-sources.d.ts +372 -0
- package/dist/rendering/data-sources.d.ts.map +1 -0
- package/dist/rendering/grid-region.d.ts +32 -0
- package/dist/rendering/grid-region.d.ts.map +1 -0
- package/dist/rendering/grid-renderer.d.ts +391 -0
- package/dist/rendering/grid-renderer.d.ts.map +1 -0
- package/dist/rendering/grouping.d.ts +21 -0
- package/dist/rendering/grouping.d.ts.map +1 -0
- package/dist/rendering/hit-test-service.d.ts +58 -0
- package/dist/rendering/hit-test-service.d.ts.map +1 -0
- package/dist/rendering/hit-test.d.ts +223 -0
- package/dist/rendering/hit-test.d.ts.map +1 -0
- package/dist/rendering/index.d.ts +25 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/rendering/interactive-elements.d.ts +121 -0
- package/dist/rendering/interactive-elements.d.ts.map +1 -0
- package/dist/rendering/primitives.d.ts +17 -0
- package/dist/rendering/primitives.d.ts.map +1 -0
- package/dist/rendering/render-context.d.ts +457 -0
- package/dist/rendering/render-context.d.ts.map +1 -0
- package/dist/rendering/text-measurement-service.d.ts +197 -0
- package/dist/rendering/text-measurement-service.d.ts.map +1 -0
- package/dist/ribbon/collapse-configs.d.ts +298 -0
- package/dist/ribbon/collapse-configs.d.ts.map +1 -0
- package/dist/ribbon/collapse-types.d.ts +76 -0
- package/dist/ribbon/collapse-types.d.ts.map +1 -0
- package/dist/ribbon/index.d.ts +25 -0
- package/dist/ribbon/index.d.ts.map +1 -0
- package/dist/selection/index.d.ts +10 -0
- package/dist/selection/index.d.ts.map +1 -0
- package/dist/selection/registry.d.ts +17 -0
- package/dist/selection/registry.d.ts.map +1 -0
- package/dist/selection/types.d.ts +82 -0
- package/dist/selection/types.d.ts.map +1 -0
- package/dist/selectors/index.d.ts +8 -0
- package/dist/selectors/index.d.ts.map +1 -0
- package/dist/selectors/smart-art.d.ts +58 -0
- package/dist/selectors/smart-art.d.ts.map +1 -0
- package/dist/services/index.d.ts +273 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/smartart/index.d.ts +26 -0
- package/dist/smartart/index.d.ts.map +1 -0
- package/dist/smartart/layouts.d.ts +193 -0
- package/dist/smartart/layouts.d.ts.map +1 -0
- package/dist/smartart/ooxml-algorithm-types.d.ts +939 -0
- package/dist/smartart/ooxml-algorithm-types.d.ts.map +1 -0
- package/dist/smartart/ooxml-data-model-types.d.ts +845 -0
- package/dist/smartart/ooxml-data-model-types.d.ts.map +1 -0
- package/dist/smartart/ooxml-drawing-types.d.ts +356 -0
- package/dist/smartart/ooxml-drawing-types.d.ts.map +1 -0
- package/dist/smartart/ooxml-engine-types.d.ts +873 -0
- package/dist/smartart/ooxml-engine-types.d.ts.map +1 -0
- package/dist/smartart/ooxml-layout-types.d.ts +405 -0
- package/dist/smartart/ooxml-layout-types.d.ts.map +1 -0
- package/dist/smartart/ooxml-style-types.d.ts +474 -0
- package/dist/smartart/ooxml-style-types.d.ts.map +1 -0
- package/dist/smartart/styles.d.ts +137 -0
- package/dist/smartart/styles.d.ts.map +1 -0
- package/dist/smartart/types.d.ts +323 -0
- package/dist/smartart/types.d.ts.map +1 -0
- package/dist/storage/capabilities.d.ts +33 -0
- package/dist/storage/capabilities.d.ts.map +1 -0
- package/dist/storage/connection.d.ts +183 -0
- package/dist/storage/connection.d.ts.map +1 -0
- package/dist/storage/index.d.ts +13 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/query.d.ts +91 -0
- package/dist/storage/query.d.ts.map +1 -0
- package/dist/storage/table-driver.d.ts +249 -0
- package/dist/storage/table-driver.d.ts.map +1 -0
- package/dist/store/cell-schema.d.ts +235 -0
- package/dist/store/cell-schema.d.ts.map +1 -0
- package/dist/store/equation-schema.d.ts +22 -0
- package/dist/store/equation-schema.d.ts.map +1 -0
- package/dist/store/index.d.ts +33 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/ink-schema.d.ts +26 -0
- package/dist/store/ink-schema.d.ts.map +1 -0
- package/dist/store/scenarios-schema.d.ts +105 -0
- package/dist/store/scenarios-schema.d.ts.map +1 -0
- package/dist/store/schema-types.d.ts +113 -0
- package/dist/store/schema-types.d.ts.map +1 -0
- package/dist/store/sheet-maps-schema.d.ts +222 -0
- package/dist/store/sheet-maps-schema.d.ts.map +1 -0
- package/dist/store/sheet-meta-schema.d.ts +16 -0
- package/dist/store/sheet-meta-schema.d.ts.map +1 -0
- package/dist/store/smartart-schema.d.ts +17 -0
- package/dist/store/smartart-schema.d.ts.map +1 -0
- package/dist/store/store-types.d.ts +381 -0
- package/dist/store/store-types.d.ts.map +1 -0
- package/dist/store/wordart-schema.d.ts +13 -0
- package/dist/store/wordart-schema.d.ts.map +1 -0
- package/dist/store/workbook-schema.d.ts +16 -0
- package/dist/store/workbook-schema.d.ts.map +1 -0
- package/dist/styles/built-in-styles.d.ts +10 -0
- package/dist/styles/built-in-styles.d.ts.map +1 -0
- package/dist/styles/index.d.ts +18 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/utils/a1.d.ts +12 -0
- package/dist/utils/a1.d.ts.map +1 -0
- package/dist/utils/datetime.d.ts +7 -0
- package/dist/utils/datetime.d.ts.map +1 -0
- package/dist/utils/function-registry.d.ts +40 -0
- package/dist/utils/function-registry.d.ts.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/protection.d.ts +9 -0
- package/dist/utils/protection.d.ts.map +1 -0
- package/dist/utils/range-navigation.d.ts +9 -0
- package/dist/utils/range-navigation.d.ts.map +1 -0
- package/dist/utils/range.d.ts +9 -0
- package/dist/utils/range.d.ts.map +1 -0
- package/dist/utils/rich-text.d.ts +9 -0
- package/dist/utils/rich-text.d.ts.map +1 -0
- package/dist/viewport/geometry.d.ts +90 -0
- package/dist/viewport/geometry.d.ts.map +1 -0
- package/dist/viewport/grid-canvas.d.ts +133 -0
- package/dist/viewport/grid-canvas.d.ts.map +1 -0
- package/dist/viewport/index.d.ts +5 -0
- package/dist/viewport/index.d.ts.map +1 -0
- package/dist/viewport/viewport-config.d.ts +95 -0
- package/dist/viewport/viewport-config.d.ts.map +1 -0
- package/dist/viewport/viewport.d.ts +191 -0
- package/dist/viewport/viewport.d.ts.map +1 -0
- package/dist/views/index.d.ts +9 -0
- package/dist/views/index.d.ts.map +1 -0
- package/dist/views/types.d.ts +161 -0
- package/dist/views/types.d.ts.map +1 -0
- package/dist/what-if/index.d.ts +2 -0
- package/dist/what-if/index.d.ts.map +1 -0
- package/dist/what-if/what-if.d.ts +152 -0
- package/dist/what-if/what-if.d.ts.map +1 -0
- package/dist/window-manager/index.d.ts +134 -0
- package/dist/window-manager/index.d.ts.map +1 -0
- package/dist/wordart/effects.d.ts +611 -0
- package/dist/wordart/effects.d.ts.map +1 -0
- package/dist/wordart/index.d.ts +17 -0
- package/dist/wordart/index.d.ts.map +1 -0
- package/dist/wordart/presets.d.ts +133 -0
- package/dist/wordart/presets.d.ts.map +1 -0
- package/dist/wordart/types.d.ts +444 -0
- package/dist/wordart/types.d.ts.map +1 -0
- package/dist/workflows/context.d.ts +777 -0
- package/dist/workflows/context.d.ts.map +1 -0
- package/dist/workflows/definition.d.ts +256 -0
- package/dist/workflows/definition.d.ts.map +1 -0
- package/dist/workflows/events.d.ts +397 -0
- package/dist/workflows/events.d.ts.map +1 -0
- package/dist/workflows/index.d.ts +19 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/instance.d.ts +358 -0
- package/dist/workflows/instance.d.ts.map +1 -0
- package/dist/workflows/runtime.d.ts +287 -0
- package/dist/workflows/runtime.d.ts.map +1 -0
- package/dist/workflows/triggers.d.ts +335 -0
- package/dist/workflows/triggers.d.ts.map +1 -0
- package/dist/workflows/versioning.d.ts +245 -0
- package/dist/workflows/versioning.d.ts.map +1 -0
- package/dist/xlsx-parser/conditional-format.d.ts +137 -0
- package/dist/xlsx-parser/conditional-format.d.ts.map +1 -0
- package/dist/xlsx-parser/core.d.ts +622 -0
- package/dist/xlsx-parser/core.d.ts.map +1 -0
- package/dist/xlsx-parser/data-validation.d.ts +55 -0
- package/dist/xlsx-parser/data-validation.d.ts.map +1 -0
- package/dist/xlsx-parser/errors.d.ts +38 -0
- package/dist/xlsx-parser/errors.d.ts.map +1 -0
- package/dist/xlsx-parser/index.d.ts +17 -0
- package/dist/xlsx-parser/index.d.ts.map +1 -0
- package/dist/xlsx-parser/options.d.ts +89 -0
- package/dist/xlsx-parser/options.d.ts.map +1 -0
- package/dist/xlsx-parser/styles.d.ts +157 -0
- package/dist/xlsx-parser/styles.d.ts.map +1 -0
- package/dist/xlsx-parser/table.d.ts +170 -0
- package/dist/xlsx-parser/table.d.ts.map +1 -0
- package/package.json +410 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cell Identity Model Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines the types for the cell identity model, which replaces
|
|
5
|
+
* A1-style positional references with stable cell identity references.
|
|
6
|
+
*
|
|
7
|
+
* Key insight: In the identity model, cell movement is tracked by updating
|
|
8
|
+
* position data, not by rewriting formula strings. This eliminates O(n)
|
|
9
|
+
* formula rewrites on structure changes and makes concurrent structure
|
|
10
|
+
* changes compose correctly under CRDT.
|
|
11
|
+
*
|
|
12
|
+
* This is the same approach Google Sheets uses internally.
|
|
13
|
+
*
|
|
14
|
+
* @see plans/cell-ids/CELL-IDENTITY-MODEL.md
|
|
15
|
+
*/
|
|
16
|
+
import type { SheetId } from '../core/core';
|
|
17
|
+
/**
|
|
18
|
+
* Stable cell identifier - never changes even when cell moves.
|
|
19
|
+
*
|
|
20
|
+
* We use UUID v7 (time-sortable) for:
|
|
21
|
+
* - Uniqueness across clients (no coordination needed)
|
|
22
|
+
* - Time-sortability for debugging
|
|
23
|
+
* - Compact string representation
|
|
24
|
+
*/
|
|
25
|
+
export type CellId = string;
|
|
26
|
+
/**
|
|
27
|
+
* Stable row identifier - never changes even when rows are inserted/deleted.
|
|
28
|
+
*
|
|
29
|
+
* Follows the same pattern as CellId:
|
|
30
|
+
* - UUID v7 (time-sortable)
|
|
31
|
+
* - Position stored in RowData, not as key
|
|
32
|
+
* - Enables CRDT-safe row format storage
|
|
33
|
+
*
|
|
34
|
+
* @see plans/active/refactor/ROW-COLUMN-IDENTITY.md
|
|
35
|
+
*/
|
|
36
|
+
export type RowId = string;
|
|
37
|
+
/**
|
|
38
|
+
* Row data stored in the rows map.
|
|
39
|
+
*
|
|
40
|
+
* Contains the current position of the row. Position is mutable and updated
|
|
41
|
+
* during structure changes (insert/delete rows). The RowId key is stable.
|
|
42
|
+
*
|
|
43
|
+
* Future extensibility: hidden, groupLevel, outlineState, etc.
|
|
44
|
+
*/
|
|
45
|
+
export interface RowData {
|
|
46
|
+
/** Current zero-based row position (mutable on structure changes) */
|
|
47
|
+
position: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Stable column identifier - never changes even when columns are inserted/deleted.
|
|
51
|
+
*
|
|
52
|
+
* Follows the same pattern as CellId:
|
|
53
|
+
* - UUID v7 (time-sortable)
|
|
54
|
+
* - Position stored in ColData, not as key
|
|
55
|
+
* - Enables CRDT-safe column format storage
|
|
56
|
+
*
|
|
57
|
+
* @see plans/active/refactor/ROW-COLUMN-IDENTITY.md
|
|
58
|
+
*/
|
|
59
|
+
export type ColId = string;
|
|
60
|
+
/**
|
|
61
|
+
* Column data stored in the cols map.
|
|
62
|
+
*
|
|
63
|
+
* Contains the current position of the column. Position is mutable and updated
|
|
64
|
+
* during structure changes (insert/delete columns). The ColId key is stable.
|
|
65
|
+
*
|
|
66
|
+
* Future extensibility: hidden, groupLevel, outlineState, etc.
|
|
67
|
+
*/
|
|
68
|
+
export interface ColData {
|
|
69
|
+
/** Current zero-based column position (mutable on structure changes) */
|
|
70
|
+
position: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Reference to a cell by identity (for formula storage).
|
|
74
|
+
*
|
|
75
|
+
* Note: These types are prefixed with `Identity` to distinguish them from the
|
|
76
|
+
* existing position-based `CellRef`/`RangeRef` in `range-ref.ts` which are
|
|
77
|
+
* used for data validation, copy/paste, and other positional operations.
|
|
78
|
+
*
|
|
79
|
+
* The absolute flags preserve user intent for A1 display:
|
|
80
|
+
* - $A$1 = both absolute (display stays fixed even if cell moves)
|
|
81
|
+
* - $A1 = column absolute (for column references in formulas)
|
|
82
|
+
* - A$1 = row absolute (for row references in formulas)
|
|
83
|
+
* - A1 = both relative (display adjusts when viewing formula moves)
|
|
84
|
+
*/
|
|
85
|
+
export interface IdentityCellRef {
|
|
86
|
+
type: 'cell';
|
|
87
|
+
/** The stable cell identity */
|
|
88
|
+
id: CellId;
|
|
89
|
+
/** True for $1 syntax (row absolute for display) */
|
|
90
|
+
rowAbsolute: boolean;
|
|
91
|
+
/** True for $A syntax (column absolute for display) */
|
|
92
|
+
colAbsolute: boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Reference to a range by corner cell identities (for formula storage).
|
|
96
|
+
*
|
|
97
|
+
* Ranges are defined by their corner cells. When rows/columns are inserted
|
|
98
|
+
* between the corners, the range automatically expands because the corner
|
|
99
|
+
* cells' positions change.
|
|
100
|
+
*/
|
|
101
|
+
export interface IdentityRangeRef {
|
|
102
|
+
type: 'range';
|
|
103
|
+
/** Start cell (top-left corner) identity */
|
|
104
|
+
startId: CellId;
|
|
105
|
+
/** End cell (bottom-right corner) identity */
|
|
106
|
+
endId: CellId;
|
|
107
|
+
/** Absolute flags for start cell display */
|
|
108
|
+
startRowAbsolute: boolean;
|
|
109
|
+
startColAbsolute: boolean;
|
|
110
|
+
/** Absolute flags for end cell display */
|
|
111
|
+
endRowAbsolute: boolean;
|
|
112
|
+
endColAbsolute: boolean;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Union of identity-based formula references.
|
|
116
|
+
*/
|
|
117
|
+
export type IdentityFormulaRef = IdentityCellRef | IdentityRangeRef;
|
|
118
|
+
/**
|
|
119
|
+
* Reference to a range by corner cell identities for schema/validation purposes.
|
|
120
|
+
*
|
|
121
|
+
* Unlike IdentityRangeRef (used in formulas), this type:
|
|
122
|
+
* - Has no absolute flags (not needed for validation ranges)
|
|
123
|
+
* - Supports cross-sheet references via optional sheetId
|
|
124
|
+
* - Is designed for RangeSchema.ranges and enumSource constraints
|
|
125
|
+
*
|
|
126
|
+
* Why this exists:
|
|
127
|
+
* RangeSchema previously stored A1 strings ("A1:B10") which have the same CRDT
|
|
128
|
+
* conflict issue as position-based formula refs. By using CellId corner refs,
|
|
129
|
+
* concurrent structure changes compose correctly.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* // Schema applies to A1:C10
|
|
133
|
+
* const ref: IdentityRangeSchemaRef = {
|
|
134
|
+
* startId: 'abc-123...', // CellId of A1
|
|
135
|
+
* endId: 'def-456...', // CellId of C10
|
|
136
|
+
* };
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* // enumSource from another sheet
|
|
140
|
+
* const ref: IdentityRangeSchemaRef = {
|
|
141
|
+
* sheetId: 'sheet-2-uuid',
|
|
142
|
+
* startId: 'abc-123...',
|
|
143
|
+
* endId: 'def-456...',
|
|
144
|
+
* };
|
|
145
|
+
*/
|
|
146
|
+
export interface IdentityRangeSchemaRef {
|
|
147
|
+
/**
|
|
148
|
+
* Optional target sheet ID for cross-sheet references.
|
|
149
|
+
* - undefined: same sheet as the schema (common case)
|
|
150
|
+
* - string: specific sheet ID for cross-sheet enumSource
|
|
151
|
+
*/
|
|
152
|
+
sheetId?: SheetId;
|
|
153
|
+
/** CellId of the top-left corner cell */
|
|
154
|
+
startId: CellId;
|
|
155
|
+
/** CellId of the bottom-right corner cell */
|
|
156
|
+
endId: CellId;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* A range defined by corner cell identities.
|
|
160
|
+
*
|
|
161
|
+
* This is the universal type for CRDT-safe range references used by:
|
|
162
|
+
* - Charts (data ranges, anchor positions)
|
|
163
|
+
* - Tables (table extent)
|
|
164
|
+
* - Grouping (group extent)
|
|
165
|
+
*
|
|
166
|
+
* Unlike position-based ranges, CellIdRange automatically handles:
|
|
167
|
+
* - Concurrent structure changes (insert/delete rows/cols)
|
|
168
|
+
* - Range expansion when cells inserted between corners
|
|
169
|
+
* - Correct CRDT composition under concurrent edits
|
|
170
|
+
*
|
|
171
|
+
* Position resolution happens at render/extraction time via GridIndex.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* // Chart data range A1:D10
|
|
175
|
+
* const range: CellIdRange = {
|
|
176
|
+
* topLeftCellId: 'abc-123...', // CellId of A1
|
|
177
|
+
* bottomRightCellId: 'def-456...' // CellId of D10
|
|
178
|
+
* };
|
|
179
|
+
*
|
|
180
|
+
* // After user inserts column at B:
|
|
181
|
+
* // - CellIds unchanged
|
|
182
|
+
* // - But A1 is still at (0,0), D10 is now at (9,4)
|
|
183
|
+
* // - Range automatically covers A1:E10
|
|
184
|
+
*/
|
|
185
|
+
export interface CellIdRange {
|
|
186
|
+
/** CellId of the top-left corner cell */
|
|
187
|
+
topLeftCellId: CellId;
|
|
188
|
+
/** CellId of the bottom-right corner cell */
|
|
189
|
+
bottomRightCellId: CellId;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* A merged region defined by corner cell identities.
|
|
193
|
+
*
|
|
194
|
+
* This follows the same pattern as IdentityRangeRef - merges are defined by
|
|
195
|
+
* CellId references to corner cells rather than position coordinates. This
|
|
196
|
+
* ensures concurrent structure changes (insert/delete rows/cols) compose
|
|
197
|
+
* correctly under CRDT.
|
|
198
|
+
*
|
|
199
|
+
* Position-based merges have the same problem as position-based formula refs:
|
|
200
|
+
* ```
|
|
201
|
+
* User A: Creates merge at A1:B2
|
|
202
|
+
* User B: Inserts column at A (concurrent)
|
|
203
|
+
*
|
|
204
|
+
* Position-based: Yjs merges two incompatible coordinate sets → wrong result
|
|
205
|
+
* CellId-based: Both position shifts apply, CellIds stable → correct result
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* // User merges A1:C3
|
|
210
|
+
* const merge: IdentityMergedRegion = {
|
|
211
|
+
* topLeftId: 'abc-123...', // CellId of A1
|
|
212
|
+
* bottomRightId: 'def-456...' // CellId of C3
|
|
213
|
+
* };
|
|
214
|
+
* // After inserting column at B, the CellIds are unchanged
|
|
215
|
+
* // but their positions have shifted, so the merge now covers A1:D3
|
|
216
|
+
*/
|
|
217
|
+
export interface IdentityMergedRegion {
|
|
218
|
+
/** Origin cell - contains the merged value and is the "owner" of the merge */
|
|
219
|
+
topLeftId: CellId;
|
|
220
|
+
/** Extent marker - defines bottom-right boundary of the merge */
|
|
221
|
+
bottomRightId: CellId;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Formula stored with identity references.
|
|
225
|
+
*
|
|
226
|
+
* The template uses numbered placeholders that are filled in by refs.
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* User types: =SUM(A1:B10)+C1*2
|
|
230
|
+
* Stored as:
|
|
231
|
+
* {
|
|
232
|
+
* template: "SUM({0})+{1}*2",
|
|
233
|
+
* refs: [
|
|
234
|
+
* { type: 'range', startId: 'abc...', endId: 'def...' },
|
|
235
|
+
* { type: 'cell', id: 'ghi...' }
|
|
236
|
+
* ]
|
|
237
|
+
* }
|
|
238
|
+
*
|
|
239
|
+
* When displaying, we resolve each ref to its current A1 position.
|
|
240
|
+
*/
|
|
241
|
+
export interface IdentityFormula {
|
|
242
|
+
/**
|
|
243
|
+
* Template with numbered placeholders for refs.
|
|
244
|
+
* Example: "SUM({0}:{1})+{2}*2"
|
|
245
|
+
*
|
|
246
|
+
* The template preserves the formula structure (function names, operators,
|
|
247
|
+
* literals) while placeholders mark where cell/range references go.
|
|
248
|
+
*/
|
|
249
|
+
template: string;
|
|
250
|
+
/**
|
|
251
|
+
* Ordered refs that fill template placeholders.
|
|
252
|
+
* refs[0] fills {0}, refs[1] fills {1}, etc.
|
|
253
|
+
*/
|
|
254
|
+
refs: IdentityFormulaRef[];
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Interface for formula conversion between A1 and identity formats.
|
|
258
|
+
*
|
|
259
|
+
* This interface enables Import/Export to be developed in parallel
|
|
260
|
+
* with the Formula Parser by mocking this interface.
|
|
261
|
+
*/
|
|
262
|
+
export interface IFormulaConverter {
|
|
263
|
+
/**
|
|
264
|
+
* Convert A1-style formula to identity formula.
|
|
265
|
+
* Called when user types a formula or imports from XLSX.
|
|
266
|
+
*
|
|
267
|
+
* @param a1Formula - Formula string with A1 references (e.g., "=SUM(A1:B10)")
|
|
268
|
+
* @param sheetId - Current sheet for resolving relative references
|
|
269
|
+
* @returns Identity formula with cell ID references
|
|
270
|
+
*/
|
|
271
|
+
toIdentity(a1Formula: string, sheetId: SheetId): IdentityFormula;
|
|
272
|
+
/**
|
|
273
|
+
* Convert identity formula back to A1-style string.
|
|
274
|
+
* Called for display in formula bar and export to XLSX.
|
|
275
|
+
*
|
|
276
|
+
* @param formula - Identity formula with cell ID references
|
|
277
|
+
* @returns A1-style formula string (e.g., "=SUM(A1:B10)")
|
|
278
|
+
*/
|
|
279
|
+
toA1(formula: IdentityFormula): string;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=cell-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-identity.d.ts","sourceRoot":"","sources":["../../src/cells/cell-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAM5B;;;;;;;;;GASG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;GASG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,uDAAuD;IACvD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IAEtB,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAElB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAMD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IAEjE;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC;CACxC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cell Text Style - THE CANONICAL SOURCE OF TRUTH
|
|
3
|
+
*
|
|
4
|
+
* This module defines how cell text appears. Both canvas rendering and in-cell
|
|
5
|
+
* editing MUST derive their styling from this module.
|
|
6
|
+
*
|
|
7
|
+
* ARCHITECTURAL CONTRACT:
|
|
8
|
+
* - Canvas renderer uses resolveCellTextStyle() → getCellCanvasFont() adapter
|
|
9
|
+
* - In-cell editor uses resolveCellTextStyle() → getCellDOMStyle() adapter
|
|
10
|
+
* - Changes here automatically update both systems
|
|
11
|
+
*
|
|
12
|
+
* DO NOT duplicate these values elsewhere. If you need cell styling defaults,
|
|
13
|
+
* import from this module.
|
|
14
|
+
*
|
|
15
|
+
* @see engine/src/canvas/cell-style-adapters.ts for platform-specific adapters
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Default cell styling values.
|
|
19
|
+
* These define the contract for how an unformatted cell appears.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_CELL_STYLE: {
|
|
22
|
+
/** Default font size in pixels */
|
|
23
|
+
readonly fontSize: 12;
|
|
24
|
+
/** Default font family stack */
|
|
25
|
+
readonly fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif";
|
|
26
|
+
/** Default font color */
|
|
27
|
+
readonly fontColor: "#000000";
|
|
28
|
+
/** Horizontal padding inside cells (pixels) */
|
|
29
|
+
readonly padding: 4;
|
|
30
|
+
/** Default horizontal alignment */
|
|
31
|
+
readonly horizontalAlign: "left";
|
|
32
|
+
/** Default vertical alignment - matches Excel default ('bottom') */
|
|
33
|
+
readonly verticalAlign: "bottom";
|
|
34
|
+
/** Default background (transparent, falls back to surface) */
|
|
35
|
+
readonly backgroundColor: string | undefined;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Fully resolved cell text style.
|
|
39
|
+
*
|
|
40
|
+
* This is the complete, computed style for rendering cell text.
|
|
41
|
+
* All optional CellFormat properties are resolved to concrete values.
|
|
42
|
+
*/
|
|
43
|
+
export interface CellTextStyle {
|
|
44
|
+
/** Horizontal padding in pixels */
|
|
45
|
+
paddingX: number;
|
|
46
|
+
/** Font size in pixels */
|
|
47
|
+
fontSize: number;
|
|
48
|
+
/** Font family CSS value */
|
|
49
|
+
fontFamily: string;
|
|
50
|
+
/** Font weight */
|
|
51
|
+
fontWeight: 'normal' | 'bold';
|
|
52
|
+
/** Font style */
|
|
53
|
+
fontStyle: 'normal' | 'italic';
|
|
54
|
+
/** Text color */
|
|
55
|
+
color: string;
|
|
56
|
+
/** Text decoration (underline, line-through, or both) */
|
|
57
|
+
textDecoration: string;
|
|
58
|
+
/** Horizontal text alignment */
|
|
59
|
+
textAlign: 'left' | 'center' | 'right' | 'justify';
|
|
60
|
+
/** Vertical text alignment */
|
|
61
|
+
verticalAlign: 'top' | 'middle' | 'bottom';
|
|
62
|
+
/** Line height multiplier (1 = tight, matches canvas) */
|
|
63
|
+
lineHeight: number;
|
|
64
|
+
/** Background color (undefined = transparent/inherit) */
|
|
65
|
+
backgroundColor: string | undefined;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=cell-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-style.d.ts","sourceRoot":"","sources":["../../src/cells/cell-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,kCAAkC;;IAElC,gCAAgC;;IAEhC,yBAAyB;;IAEzB,+CAA+C;;IAE/C,mCAAmC;;IAEnC,oEAAoE;;IAEpE,8DAA8D;8BAChC,MAAM,GAAG,SAAS;CACxC,CAAC;AAMX;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAE5B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IAGjB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,iBAAiB;IACjB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAGnD,8BAA8B;IAC9B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IAGnB,yDAAyD;IACzD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branded types for formula strings.
|
|
3
|
+
*
|
|
4
|
+
* The spreadsheet engine uses two distinct formula string formats:
|
|
5
|
+
*
|
|
6
|
+
* - **FormulaA1**: Has the `=` prefix (`"=SUM(A1:B10)"`).
|
|
7
|
+
* Produced by Rust's `to_a1_string()`, returned in `ActiveCellData.formula`.
|
|
8
|
+
* Used for: formula bar display, search, sending to Rust's `process_input`.
|
|
9
|
+
*
|
|
10
|
+
* - **FormulaTemplate**: No `=` prefix (`"SUM(A1:B10)"`).
|
|
11
|
+
* Produced by `IdentityFormula.template`, `CellEdit.formula`.
|
|
12
|
+
* Used for: wire format for incremental updates, internal storage.
|
|
13
|
+
*
|
|
14
|
+
* These branded types make it a **compile-time error** to pass one where
|
|
15
|
+
* the other is expected, eliminating the "double-equals" class of bugs.
|
|
16
|
+
*/
|
|
17
|
+
declare const formulaA1Brand: unique symbol;
|
|
18
|
+
declare const formulaTemplateBrand: unique symbol;
|
|
19
|
+
/**
|
|
20
|
+
* A formula string WITH the `=` prefix: `"=SUM(A1:B10)"`, `"=A1+A2"`.
|
|
21
|
+
*
|
|
22
|
+
* This is the display/input format used at the Rust-TS boundary and in the UI.
|
|
23
|
+
*/
|
|
24
|
+
export type FormulaA1 = string & {
|
|
25
|
+
readonly [formulaA1Brand]: true;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A formula template WITHOUT the `=` prefix: `"SUM(A1:B10)"`, `"A1+A2"`.
|
|
29
|
+
*
|
|
30
|
+
* This is the internal storage format used by `IdentityFormula.template`
|
|
31
|
+
* and `CellEdit.formula` in the wire protocol.
|
|
32
|
+
*/
|
|
33
|
+
export type FormulaTemplate = string & {
|
|
34
|
+
readonly [formulaTemplateBrand]: true;
|
|
35
|
+
};
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=formula-string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formula-string.d.ts","sourceRoot":"","sources":["../../src/cells/formula-string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAC5C,OAAO,CAAC,MAAM,oBAAoB,EAAE,OAAO,MAAM,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAErE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cells/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Range Reference Types
|
|
3
|
+
*
|
|
4
|
+
* Structured representations of cell and range references.
|
|
5
|
+
* Used for parsing, manipulating, and adjusting ranges for:
|
|
6
|
+
* - RangeSchema.ranges (cells the schema applies to)
|
|
7
|
+
* - enumSource (dynamic dropdown source)
|
|
8
|
+
* - Row/column insert/delete operations
|
|
9
|
+
* - Copy/paste operations
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Structured representation of a cell reference (e.g., $A$1, B2)
|
|
13
|
+
*/
|
|
14
|
+
export interface CellRef {
|
|
15
|
+
/** Row index (0-based) */
|
|
16
|
+
row: number;
|
|
17
|
+
/** Column index (0-based) */
|
|
18
|
+
col: number;
|
|
19
|
+
/** True for absolute row reference ($1) - doesn't shift on insert/delete */
|
|
20
|
+
rowAbsolute: boolean;
|
|
21
|
+
/** True for absolute column reference ($A) - doesn't shift on insert/delete */
|
|
22
|
+
colAbsolute: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Structured representation of a range reference (e.g., $A$1:$B$10)
|
|
26
|
+
*/
|
|
27
|
+
export interface RangeRef {
|
|
28
|
+
/** Start cell (top-left) */
|
|
29
|
+
start: CellRef;
|
|
30
|
+
/** End cell (bottom-right) */
|
|
31
|
+
end: CellRef;
|
|
32
|
+
/** Sheet name for cross-sheet refs like Sheet2!A1:B10 */
|
|
33
|
+
sheetName?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Result of checking if a cell is contained in a range
|
|
37
|
+
*/
|
|
38
|
+
export interface RangeContainsResult {
|
|
39
|
+
/** Whether the cell is within the range */
|
|
40
|
+
contains: boolean;
|
|
41
|
+
/** Position within range, relative to start (for relative refs) */
|
|
42
|
+
relativeRow?: number;
|
|
43
|
+
/** Position within range, relative to start (for relative refs) */
|
|
44
|
+
relativeCol?: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Bounds for viewport queries
|
|
48
|
+
*/
|
|
49
|
+
export interface ViewportBounds {
|
|
50
|
+
/** Minimum row index (inclusive) */
|
|
51
|
+
minRow: number;
|
|
52
|
+
/** Maximum row index (inclusive) */
|
|
53
|
+
maxRow: number;
|
|
54
|
+
/** Minimum column index (inclusive) */
|
|
55
|
+
minCol: number;
|
|
56
|
+
/** Maximum column index (inclusive) */
|
|
57
|
+
maxCol: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Spatial index for efficient range lookups.
|
|
61
|
+
* Avoids O(n) scan of all schemas for every cell query.
|
|
62
|
+
*/
|
|
63
|
+
export interface IRangeSpatialIndex<T> {
|
|
64
|
+
/**
|
|
65
|
+
* Get all items whose ranges contain the given cell
|
|
66
|
+
*/
|
|
67
|
+
getItemsForCell(row: number, col: number): Promise<T[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Get all items whose ranges intersect the given viewport
|
|
70
|
+
*/
|
|
71
|
+
getItemsInViewport(bounds: ViewportBounds): Promise<Map<string, T>>;
|
|
72
|
+
/**
|
|
73
|
+
* Rebuild the index (call when ranges change)
|
|
74
|
+
*/
|
|
75
|
+
rebuild(items: T[]): void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=range-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range-ref.d.ts","sourceRoot":"","sources":["../../src/cells/range-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAExD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;CAC3B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rich Text Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the rich text segment model for Excel-compatible rich text support.
|
|
5
|
+
* Rich text is stored as an array of segments, where each segment has text
|
|
6
|
+
* and optional formatting.
|
|
7
|
+
*
|
|
8
|
+
* Key design decisions:
|
|
9
|
+
* - Segment array (not formatted string) for clean storage and rendering
|
|
10
|
+
* - TextFormat matches Excel's inline rich text capabilities
|
|
11
|
+
* - Runtime utility functions live in utils/rich-text.ts and are re-exported here
|
|
12
|
+
*
|
|
13
|
+
* @see STREAM-C3-COMMENTS-RICHTEXT.md
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Formatting options for a text segment.
|
|
17
|
+
* Matches Excel's inline rich text capabilities.
|
|
18
|
+
*/
|
|
19
|
+
export interface TextFormat {
|
|
20
|
+
/** Bold text */
|
|
21
|
+
bold?: boolean;
|
|
22
|
+
/** Italic text */
|
|
23
|
+
italic?: boolean;
|
|
24
|
+
/** Underline type (single, double, accounting styles) */
|
|
25
|
+
underlineType?: 'none' | 'single' | 'double' | 'singleAccounting' | 'doubleAccounting';
|
|
26
|
+
/** Strikethrough text */
|
|
27
|
+
strikethrough?: boolean;
|
|
28
|
+
/** Font family name (e.g., "Arial", "Calibri") */
|
|
29
|
+
fontFamily?: string;
|
|
30
|
+
/** Font size in points */
|
|
31
|
+
fontSize?: number;
|
|
32
|
+
/** Font color in hex format (e.g., "#FF0000") */
|
|
33
|
+
fontColor?: string;
|
|
34
|
+
/** Superscript text (e.g., for exponents) */
|
|
35
|
+
superscript?: boolean;
|
|
36
|
+
/** Subscript text (e.g., for chemical formulas) */
|
|
37
|
+
subscript?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A segment of rich text with optional formatting.
|
|
41
|
+
* Rich text is stored as an array of segments.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // "Hello World" with "World" in bold
|
|
45
|
+
* [
|
|
46
|
+
* { text: "Hello " },
|
|
47
|
+
* { text: "World", format: { bold: true } }
|
|
48
|
+
* ]
|
|
49
|
+
*/
|
|
50
|
+
export interface RichTextSegment {
|
|
51
|
+
/** The text content of this segment */
|
|
52
|
+
text: string;
|
|
53
|
+
/** Optional formatting for this segment */
|
|
54
|
+
format?: Partial<TextFormat>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Type alias for rich text content.
|
|
58
|
+
* Empty array = no content, single segment with no format = plain text.
|
|
59
|
+
*/
|
|
60
|
+
export type RichText = RichTextSegment[];
|
|
61
|
+
/**
|
|
62
|
+
* Utility type for cells that can have rich text.
|
|
63
|
+
* A cell's text content can be either a plain string or rich text.
|
|
64
|
+
*/
|
|
65
|
+
export type CellTextContent = string | RichText;
|
|
66
|
+
//# sourceMappingURL=rich-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/cells/rich-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;GAGG;AACH,MAAM,WAAW,UAAU;IAEzB,gBAAgB;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IACvF,yBAAyB;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spill Contracts (Stream AF: Array Formulas)
|
|
3
|
+
*
|
|
4
|
+
* Types for dynamic array spill behavior in Excel-compatible spreadsheets.
|
|
5
|
+
*
|
|
6
|
+
* ARCHITECTURE:
|
|
7
|
+
* - Spill occurs when a formula returns a 2D array larger than 1x1
|
|
8
|
+
* - The anchor cell contains the formula; spill cells show computed values
|
|
9
|
+
* - Spill cells store `spillAnchor: CellId` pointing to the formula cell
|
|
10
|
+
* - This enables efficient lookup, proper deletion, and CRDT-safe collaboration
|
|
11
|
+
*
|
|
12
|
+
* Excel Compatibility:
|
|
13
|
+
* - Dynamic arrays spill automatically (Excel 365+)
|
|
14
|
+
* - Legacy CSE (Ctrl+Shift+Enter) creates fixed-size array formulas
|
|
15
|
+
* - #SPILL! error when spill range is blocked
|
|
16
|
+
* - Spill cannot cross sheet boundaries
|
|
17
|
+
*
|
|
18
|
+
* @see plans/active/detailed-parity-implementation/STREAM-AF-ARRAY-FORMULAS.md
|
|
19
|
+
*/
|
|
20
|
+
import type { CellRange, CellValue, SheetId } from '../core/core';
|
|
21
|
+
import type { CellId } from './cell-identity';
|
|
22
|
+
/**
|
|
23
|
+
* Result of evaluating an array-returning formula.
|
|
24
|
+
*
|
|
25
|
+
* Produced by the recalculation module when a formula returns CellValue[][].
|
|
26
|
+
* Used by the spill orchestration layer to determine what to write.
|
|
27
|
+
*/
|
|
28
|
+
export interface SpillResult {
|
|
29
|
+
/** The cell containing the array formula (anchor) */
|
|
30
|
+
anchorCellId: CellId;
|
|
31
|
+
/** Sheet containing the spill */
|
|
32
|
+
sheetId: SheetId;
|
|
33
|
+
/** The array values to spill (row-major order) */
|
|
34
|
+
values: CellValue[][];
|
|
35
|
+
/** Calculated spill range (anchor cell + extent) */
|
|
36
|
+
spillRange: CellRange;
|
|
37
|
+
/** Whether the spill is blocked by existing data */
|
|
38
|
+
blocked: boolean;
|
|
39
|
+
/** CellId of the cell blocking the spill, if any */
|
|
40
|
+
blockingCellId?: CellId;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Spill range info for a single anchor cell.
|
|
44
|
+
*
|
|
45
|
+
* Stored on anchor cells to track their spill extent.
|
|
46
|
+
* Used for:
|
|
47
|
+
* - Clearing old spill when formula result changes size
|
|
48
|
+
* - Detecting when a cell is being entered in a spill range
|
|
49
|
+
* - Selection highlighting of entire spill range
|
|
50
|
+
*/
|
|
51
|
+
export interface SpillRangeInfo {
|
|
52
|
+
/** Number of rows the spill occupies (including anchor) */
|
|
53
|
+
rows: number;
|
|
54
|
+
/** Number of columns the spill occupies (including anchor) */
|
|
55
|
+
cols: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Array formula state for legacy CSE formulas.
|
|
59
|
+
*
|
|
60
|
+
* CSE (Ctrl+Shift+Enter) creates fixed-size array formulas where:
|
|
61
|
+
* - User pre-selects the output range
|
|
62
|
+
* - Formula is stored once on the anchor cell
|
|
63
|
+
* - All cells in the range are marked as array members
|
|
64
|
+
* - Size is fixed (does not auto-resize like dynamic arrays)
|
|
65
|
+
* - Formula bar shows {=formula} with curly braces
|
|
66
|
+
*
|
|
67
|
+
* Stored on the anchor cell only. Member cells reference back via spillAnchor.
|
|
68
|
+
*/
|
|
69
|
+
export interface ArrayFormulaState {
|
|
70
|
+
/** The range this array formula occupies */
|
|
71
|
+
range: CellRange;
|
|
72
|
+
/**
|
|
73
|
+
* Whether this is a legacy CSE formula.
|
|
74
|
+
* - true: Fixed-size CSE formula (user-selected range)
|
|
75
|
+
* - false: Dynamic spill formula (auto-sized)
|
|
76
|
+
*/
|
|
77
|
+
isCSE: boolean;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Spill error reasons for diagnostics.
|
|
81
|
+
*/
|
|
82
|
+
export type SpillErrorReason = 'blocked' | 'merged' | 'cross_sheet' | 'bounds_overflow' | 'table_overlap' | 'array_overlap';
|
|
83
|
+
/**
|
|
84
|
+
* Detailed spill error information.
|
|
85
|
+
*
|
|
86
|
+
* Provides context for #SPILL! errors to help users understand
|
|
87
|
+
* why their formula cannot spill.
|
|
88
|
+
*/
|
|
89
|
+
export interface SpillError {
|
|
90
|
+
/** The type of obstruction */
|
|
91
|
+
reason: SpillErrorReason;
|
|
92
|
+
/** CellId of the blocking cell (if reason is 'blocked') */
|
|
93
|
+
blockingCellId?: CellId;
|
|
94
|
+
/** Human-readable description */
|
|
95
|
+
message: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Projection information for a cell position.
|
|
99
|
+
*
|
|
100
|
+
* Describes how a cell's displayed value is derived from a dynamic array
|
|
101
|
+
* formula's projection. This replaces the old "spill phantom" concept:
|
|
102
|
+
* instead of creating phantom CellIds for each spilled position, the
|
|
103
|
+
* ProjectionRegistry maps (sheet, row, col) -> source cell + offset.
|
|
104
|
+
*
|
|
105
|
+
* @see compute-core/src/eval/projection_registry.rs
|
|
106
|
+
*/
|
|
107
|
+
export interface ProjectionInfo {
|
|
108
|
+
/** Row of the source cell (the cell containing the array formula). */
|
|
109
|
+
sourceRow: number;
|
|
110
|
+
/** Column of the source cell. */
|
|
111
|
+
sourceCol: number;
|
|
112
|
+
/** Top-left row of the projection region (usually same as sourceRow). */
|
|
113
|
+
originRow: number;
|
|
114
|
+
/** Top-left column of the projection region (usually same as sourceCol). */
|
|
115
|
+
originCol: number;
|
|
116
|
+
/** Number of rows in the projected array. */
|
|
117
|
+
rows: number;
|
|
118
|
+
/** Number of columns in the projected array. */
|
|
119
|
+
cols: number;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=spill.d.ts.map
|