@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,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pivot Table Contracts
|
|
3
|
+
*
|
|
4
|
+
* TS-only types for pivot table UI and engine interfaces.
|
|
5
|
+
* Core data types (PivotTableConfig, PivotTableResult, PivotField, etc.) are
|
|
6
|
+
* auto-generated from Rust in @mog/kernel/bridges/compute/compute-types.gen.
|
|
7
|
+
*
|
|
8
|
+
* This file re-exports the generated types for backward compatibility and defines
|
|
9
|
+
* types that exist only in the TS layer (no Rust counterpart).
|
|
10
|
+
*/
|
|
11
|
+
import type { CellValue } from '../core/core';
|
|
12
|
+
export type { AggregateFunction, CalculatedField, DateGrouping, DetectedDataType, FilterOperator, LayoutForm, NumberGrouping, OutputLocation, PivotColumnHeader, PivotField, PivotFieldArea, PivotFieldPlacementFlat, PivotFilter, PivotFilterConditionFlat, PivotGrandTotals, PivotHeader, PivotRow, PivotTableConfig, PivotTableDataOptions, PivotTableLayout, PivotTableResult, PivotTableStyle, PivotTopBottomFilter, ShowValuesAs, ShowValuesAsConfig, SortByValueConfig, SubtotalLocation, TopBottomBy, TopBottomType, } from '@mog/kernel/bridges/compute/compute-types.gen';
|
|
13
|
+
/** Backward-compatible alias — generated types renamed to PivotFieldPlacementFlat. */
|
|
14
|
+
export type PivotFieldPlacement = import('@mog/kernel/bridges/compute/compute-types.gen').PivotFieldPlacementFlat;
|
|
15
|
+
/**
|
|
16
|
+
* Sort order for pivot fields.
|
|
17
|
+
* "none" means no explicit sort — uses natural order.
|
|
18
|
+
* Maps to Option<SortDirection> on the Rust side (None = "none").
|
|
19
|
+
*/
|
|
20
|
+
export type SortOrder = 'asc' | 'desc' | 'none';
|
|
21
|
+
/**
|
|
22
|
+
* Pivot table configuration combined with its computed result.
|
|
23
|
+
* Used by UI components to render pivot tables with their data.
|
|
24
|
+
*/
|
|
25
|
+
export interface PivotTableWithResult {
|
|
26
|
+
config: import('@mog/kernel/bridges/compute/compute-types.gen').PivotTableConfig;
|
|
27
|
+
result: import('@mog/kernel/bridges/compute/compute-types.gen').PivotTableResult | null;
|
|
28
|
+
error?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Tracks which headers are expanded/collapsed.
|
|
32
|
+
* Uses Record<string, boolean> for TS ergonomics; Rust side uses HashSet<String>
|
|
33
|
+
* with custom serde that accepts both array and map formats.
|
|
34
|
+
*/
|
|
35
|
+
export interface PivotExpansionState {
|
|
36
|
+
expandedRows: Record<string, boolean>;
|
|
37
|
+
expandedColumns: Record<string, boolean>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Provider for pivot expansion state.
|
|
41
|
+
* Implemented by the app layer (PivotExpansionManager), injected into the kernel.
|
|
42
|
+
*/
|
|
43
|
+
export interface PivotExpansionStateProvider {
|
|
44
|
+
getExpansionState(pivotId: string): PivotExpansionState;
|
|
45
|
+
toggleExpanded(pivotId: string, headerKey: string, isRow: boolean, sheetId?: string): boolean;
|
|
46
|
+
setAllExpanded(pivotId: string, expanded: boolean): void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Interface for the pivot table computation engine
|
|
50
|
+
*/
|
|
51
|
+
export interface IPivotEngine {
|
|
52
|
+
compute(config: import('@mog/kernel/bridges/compute/compute-types.gen').PivotTableConfig, data: CellValue[][], expansionState?: PivotExpansionState): import('@mog/kernel/bridges/compute/compute-types.gen').PivotTableResult;
|
|
53
|
+
detectFields(data: CellValue[][]): import('@mog/kernel/bridges/compute/compute-types.gen').PivotField[];
|
|
54
|
+
drillDown(config: import('@mog/kernel/bridges/compute/compute-types.gen').PivotTableConfig, data: CellValue[][], rowKey: string, columnKey: string): number[];
|
|
55
|
+
validateConfig(config: import('@mog/kernel/bridges/compute/compute-types.gen').PivotTableConfig): string[];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Arguments for GETPIVOTDATA function
|
|
59
|
+
*/
|
|
60
|
+
export interface GetPivotDataArgs {
|
|
61
|
+
dataField: string;
|
|
62
|
+
pivotTableId: string;
|
|
63
|
+
fieldValuePairs: Array<{
|
|
64
|
+
field: string;
|
|
65
|
+
value: CellValue;
|
|
66
|
+
}>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=pivot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pivot.d.ts","sourceRoot":"","sources":["../../src/data/pivot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,+CAA+C,CAAC;AAEvD,sFAAsF;AACtF,MAAM,MAAM,mBAAmB,GAC7B,OAAO,+CAA+C,EAAE,uBAAuB,CAAC;AAMlF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,+CAA+C,EAAE,gBAAgB,CAAC;IACjF,MAAM,EAAE,OAAO,+CAA+C,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACxD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9F,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1D;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CACL,MAAM,EAAE,OAAO,+CAA+C,EAAE,gBAAgB,EAChF,IAAI,EAAE,SAAS,EAAE,EAAE,EACnB,cAAc,CAAC,EAAE,mBAAmB,GACnC,OAAO,+CAA+C,EAAE,gBAAgB,CAAC;IAE5E,YAAY,CACV,IAAI,EAAE,SAAS,EAAE,EAAE,GAClB,OAAO,+CAA+C,EAAE,UAAU,EAAE,CAAC;IAExE,SAAS,CACP,MAAM,EAAE,OAAO,+CAA+C,EAAE,gBAAgB,EAChF,IAAI,EAAE,SAAS,EAAE,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAAC;IAEZ,cAAc,CACZ,MAAM,EAAE,OAAO,+CAA+C,EAAE,gBAAgB,GAC/E,MAAM,EAAE,CAAC;CACb;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CAC7D"}
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slicer Contracts - Type definitions for slicer visual filter controls.
|
|
3
|
+
*
|
|
4
|
+
* Stream ES: Slicers (Layer 2)
|
|
5
|
+
*
|
|
6
|
+
* Slicers are floating objects that provide visual multi-select filtering
|
|
7
|
+
* for Tables and Pivot Tables. They follow the Cell Identity Model and
|
|
8
|
+
* use the Bridge pattern for data source integration.
|
|
9
|
+
*
|
|
10
|
+
* Architecture Notes:
|
|
11
|
+
* - Slicers are floating objects (render on overlay layer, z-index 5)
|
|
12
|
+
* - Uses Cell Identity Model (CellId for column references, not column index)
|
|
13
|
+
* - Filter state is the source of truth - slicer selection is derived
|
|
14
|
+
* - Bridge pattern connects slicers to Tables and Pivot Tables
|
|
15
|
+
* - State machine handles interaction states (idle, hovering, multiSelecting)
|
|
16
|
+
*
|
|
17
|
+
* Key Design Decisions:
|
|
18
|
+
* 1. CellId-based column reference for table slicers (survives column insert/delete)
|
|
19
|
+
* 2. Graceful degradation when source column is deleted (shows disconnected state)
|
|
20
|
+
* 3. Cache invalidation via EventBus subscriptions (CELLS_CHANGED, FILTER_APPLIED, etc.)
|
|
21
|
+
*
|
|
22
|
+
* @see plans/active/detailed-parity-implementation/STREAM-ES-SLICERS.md
|
|
23
|
+
* @see docs/architecture/cell-identity.md
|
|
24
|
+
*/
|
|
25
|
+
import type { CellId } from '../cells/cell-identity';
|
|
26
|
+
import type { CellValue } from '../core/core';
|
|
27
|
+
import type { ObjectPosition } from '../objects/floating-objects';
|
|
28
|
+
import type { ColumnFilterCriteria } from './filter';
|
|
29
|
+
/**
|
|
30
|
+
* The type of data source a slicer connects to.
|
|
31
|
+
*/
|
|
32
|
+
export type SlicerSourceType = 'table' | 'pivot';
|
|
33
|
+
/**
|
|
34
|
+
* Reference to a table field for slicer binding.
|
|
35
|
+
* Uses column header CellId for Cell Identity Model compliance.
|
|
36
|
+
*
|
|
37
|
+
* **Graceful Degradation:** If the column header cell is deleted, the slicer
|
|
38
|
+
* becomes "disconnected" and shows a placeholder state. This matches Excel
|
|
39
|
+
* behavior where slicers become invalid when their source column is deleted.
|
|
40
|
+
*/
|
|
41
|
+
export interface SlicerTableSource {
|
|
42
|
+
type: 'table';
|
|
43
|
+
/** Table ID to connect to */
|
|
44
|
+
tableId: string;
|
|
45
|
+
/**
|
|
46
|
+
* Column header CellId - stable across column moves.
|
|
47
|
+
* If this CellId becomes orphaned (column deleted), slicer shows disconnected state.
|
|
48
|
+
*/
|
|
49
|
+
columnCellId: CellId;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reference to a pivot field for slicer binding.
|
|
53
|
+
*/
|
|
54
|
+
export interface SlicerPivotSource {
|
|
55
|
+
type: 'pivot';
|
|
56
|
+
/** Pivot table ID to connect to */
|
|
57
|
+
pivotId: string;
|
|
58
|
+
/** Field name in the pivot (row/column/filter field) */
|
|
59
|
+
fieldName: string;
|
|
60
|
+
/** Which area the field is in */
|
|
61
|
+
fieldArea: 'row' | 'column' | 'filter';
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Union type for slicer data sources.
|
|
65
|
+
*/
|
|
66
|
+
export type SlicerSource = SlicerTableSource | SlicerPivotSource;
|
|
67
|
+
/**
|
|
68
|
+
* Visual state of a slicer item (button).
|
|
69
|
+
*
|
|
70
|
+
* - selected: Item is selected (filter includes this value)
|
|
71
|
+
* - available: Item is available but not selected
|
|
72
|
+
* - unavailable: Item has no matching data after other filters
|
|
73
|
+
* - noData: Item has no data at all
|
|
74
|
+
*/
|
|
75
|
+
export type SlicerItemState = 'selected' | 'available' | 'unavailable' | 'noData';
|
|
76
|
+
/**
|
|
77
|
+
* A single item in the slicer display.
|
|
78
|
+
*/
|
|
79
|
+
export interface SlicerItem {
|
|
80
|
+
/** The value this item represents */
|
|
81
|
+
value: CellValue;
|
|
82
|
+
/** Display text (formatted value) */
|
|
83
|
+
displayText: string;
|
|
84
|
+
/** Current visual state */
|
|
85
|
+
state: SlicerItemState;
|
|
86
|
+
/** Count of matching rows (for display, optional) */
|
|
87
|
+
count?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Slicer style presets matching Excel's slicer style gallery.
|
|
91
|
+
*/
|
|
92
|
+
export type SlicerStylePreset = 'light1' | 'light2' | 'light3' | 'light4' | 'light5' | 'light6' | 'dark1' | 'dark2' | 'dark3' | 'dark4' | 'dark5' | 'dark6' | 'other1' | 'other2';
|
|
93
|
+
/**
|
|
94
|
+
* Custom slicer style definition.
|
|
95
|
+
*/
|
|
96
|
+
export interface SlicerCustomStyle {
|
|
97
|
+
/** Header background color */
|
|
98
|
+
headerBackgroundColor?: string;
|
|
99
|
+
/** Header text color */
|
|
100
|
+
headerTextColor?: string;
|
|
101
|
+
/** Header font size */
|
|
102
|
+
headerFontSize?: number;
|
|
103
|
+
/** Selected item background color */
|
|
104
|
+
selectedBackgroundColor?: string;
|
|
105
|
+
/** Selected item text color */
|
|
106
|
+
selectedTextColor?: string;
|
|
107
|
+
/** Available item background color */
|
|
108
|
+
availableBackgroundColor?: string;
|
|
109
|
+
/** Available item text color */
|
|
110
|
+
availableTextColor?: string;
|
|
111
|
+
/** Unavailable item background color */
|
|
112
|
+
unavailableBackgroundColor?: string;
|
|
113
|
+
/** Unavailable item text color */
|
|
114
|
+
unavailableTextColor?: string;
|
|
115
|
+
/** Border color */
|
|
116
|
+
borderColor?: string;
|
|
117
|
+
/** Border width in pixels */
|
|
118
|
+
borderWidth?: number;
|
|
119
|
+
/** Corner radius for items */
|
|
120
|
+
itemBorderRadius?: number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Complete slicer style configuration.
|
|
124
|
+
*/
|
|
125
|
+
export interface SlicerStyle {
|
|
126
|
+
/** Style preset (mutually exclusive with custom) */
|
|
127
|
+
preset?: SlicerStylePreset;
|
|
128
|
+
/** Custom style (mutually exclusive with preset) */
|
|
129
|
+
custom?: SlicerCustomStyle;
|
|
130
|
+
/** Number of columns for item layout (default: 1) */
|
|
131
|
+
columnCount: number;
|
|
132
|
+
/** Button height in pixels */
|
|
133
|
+
buttonHeight: number;
|
|
134
|
+
/** Show item selection indicators */
|
|
135
|
+
showSelectionIndicator: boolean;
|
|
136
|
+
/** ST_SlicerCacheCrossFilter — controls cross-filtering visual indication.
|
|
137
|
+
* Replaces the previous showItemsWithNoData boolean.
|
|
138
|
+
* Default: 'showItemsWithDataAtTop' */
|
|
139
|
+
crossFilter: 'none' | 'showItemsWithDataAtTop' | 'showItemsWithNoData';
|
|
140
|
+
/** Whether to use custom sort list. Default: true */
|
|
141
|
+
customListSort: boolean;
|
|
142
|
+
/** Whether to show items with no matching data (x14 pivot-backed slicers). Default: true */
|
|
143
|
+
showItemsWithNoData: boolean;
|
|
144
|
+
/** 'dataSourceOrder' is internal-only; never read from or written to OOXML. Import defaults to 'ascending'. */
|
|
145
|
+
sortOrder: 'ascending' | 'descending' | 'dataSourceOrder';
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Complete slicer configuration stored in Yjs.
|
|
149
|
+
*
|
|
150
|
+
* @deprecated Prefer `StoredSlicer` from `compute-types.gen` — the canonical
|
|
151
|
+
* Rust-generated persistence type. This hand-written contract is kept for
|
|
152
|
+
* consumers that cannot import from `@mog/kernel`.
|
|
153
|
+
*/
|
|
154
|
+
export interface SlicerConfig {
|
|
155
|
+
/** Unique slicer identifier (UUID v7) */
|
|
156
|
+
id: string;
|
|
157
|
+
/** Sheet containing the slicer */
|
|
158
|
+
sheetId: string;
|
|
159
|
+
/** Data source connection */
|
|
160
|
+
source: SlicerSource;
|
|
161
|
+
/** Slicer caption (header text) */
|
|
162
|
+
caption: string;
|
|
163
|
+
/** Style configuration */
|
|
164
|
+
style: SlicerStyle;
|
|
165
|
+
/** Position configuration (from FloatingObject) */
|
|
166
|
+
position: ObjectPosition;
|
|
167
|
+
/** Z-order within the sheet */
|
|
168
|
+
zIndex: number;
|
|
169
|
+
/** Maps to OOXML CT_Slicer.@lockedPosition — whether slicer position is locked to cell. Default: false */
|
|
170
|
+
locked: boolean;
|
|
171
|
+
/** @startItem — first visible item index (scroll position). Default: 0 */
|
|
172
|
+
startItem?: number;
|
|
173
|
+
/** Whether multi-select is enabled (default: true) */
|
|
174
|
+
multiSelect: boolean;
|
|
175
|
+
/** Show slicer header */
|
|
176
|
+
showHeader: boolean;
|
|
177
|
+
/** Created timestamp */
|
|
178
|
+
createdAt?: number;
|
|
179
|
+
/** Last modified timestamp */
|
|
180
|
+
updatedAt?: number;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Serialized slicer configuration for Yjs storage.
|
|
184
|
+
* Uses JSON strings for nested objects to avoid Yjs nested object issues.
|
|
185
|
+
*
|
|
186
|
+
* @deprecated Rust compute-core now handles slicer serialization directly.
|
|
187
|
+
* See `StoredSlicer` in `compute-types.gen` for the canonical type.
|
|
188
|
+
*/
|
|
189
|
+
export interface StoredSlicerConfig {
|
|
190
|
+
/** Unique slicer identifier (UUID v7) */
|
|
191
|
+
id: string;
|
|
192
|
+
/** Sheet containing the slicer */
|
|
193
|
+
sheetId: string;
|
|
194
|
+
/** Data source (JSON-serialized SlicerSource) */
|
|
195
|
+
source: string;
|
|
196
|
+
/** Slicer caption (header text) */
|
|
197
|
+
caption: string;
|
|
198
|
+
/** Style configuration (JSON-serialized SlicerStyle) */
|
|
199
|
+
style: string;
|
|
200
|
+
/** Position configuration (JSON-serialized ObjectPosition) */
|
|
201
|
+
position: string;
|
|
202
|
+
/** Z-order within the sheet */
|
|
203
|
+
zIndex: number;
|
|
204
|
+
/** Whether slicer is locked */
|
|
205
|
+
locked: boolean;
|
|
206
|
+
/** Show slicer header */
|
|
207
|
+
showHeader: boolean;
|
|
208
|
+
/** Created timestamp */
|
|
209
|
+
createdAt?: number;
|
|
210
|
+
/** Last modified timestamp */
|
|
211
|
+
updatedAt?: number;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Cached slicer data for efficient rendering.
|
|
215
|
+
* Computed from source data and filter state.
|
|
216
|
+
*/
|
|
217
|
+
export interface SlicerCache {
|
|
218
|
+
/** Slicer ID this cache belongs to */
|
|
219
|
+
slicerId: string;
|
|
220
|
+
/** All items with current states */
|
|
221
|
+
items: SlicerItem[];
|
|
222
|
+
/** Whether cache is stale (needs refresh) */
|
|
223
|
+
isStale: boolean;
|
|
224
|
+
/** Last refresh timestamp */
|
|
225
|
+
lastRefresh: number;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Current selection state within a slicer.
|
|
229
|
+
* This is UI state, NOT persisted - the filter state is the source of truth.
|
|
230
|
+
*/
|
|
231
|
+
export interface SlicerSelectionState {
|
|
232
|
+
/** Currently selected values (derived from filter state) */
|
|
233
|
+
selectedValues: Set<CellValue>;
|
|
234
|
+
/** Last clicked value (for shift+click range selection) */
|
|
235
|
+
lastClickedValue?: CellValue;
|
|
236
|
+
/** Whether multi-select is active (Ctrl key held) */
|
|
237
|
+
isMultiSelectActive: boolean;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Options for creating a new slicer.
|
|
241
|
+
*/
|
|
242
|
+
export interface CreateSlicerOptions {
|
|
243
|
+
/** Slicer caption (default: field/column name) */
|
|
244
|
+
caption?: string;
|
|
245
|
+
/** Style configuration */
|
|
246
|
+
style?: Partial<SlicerStyle>;
|
|
247
|
+
/** Initial position */
|
|
248
|
+
position?: Partial<ObjectPosition>;
|
|
249
|
+
/** Show header */
|
|
250
|
+
showHeader?: boolean;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Slicer manager interface for CRUD operations.
|
|
254
|
+
* Implemented in the engine, integrated via coordinator.
|
|
255
|
+
*/
|
|
256
|
+
export interface ISlicerManager {
|
|
257
|
+
/**
|
|
258
|
+
* Create a slicer for a table column.
|
|
259
|
+
*
|
|
260
|
+
* @param sheetId - Sheet to place the slicer in
|
|
261
|
+
* @param tableId - Table to connect to
|
|
262
|
+
* @param columnCellId - CellId of the column header (Cell Identity Model)
|
|
263
|
+
* @param options - Optional configuration
|
|
264
|
+
* @returns The created slicer configuration
|
|
265
|
+
*/
|
|
266
|
+
createTableSlicer(sheetId: string, tableId: string, columnCellId: CellId, options?: CreateSlicerOptions): SlicerConfig;
|
|
267
|
+
/**
|
|
268
|
+
* Create a slicer for a pivot field.
|
|
269
|
+
*
|
|
270
|
+
* @param sheetId - Sheet to place the slicer in
|
|
271
|
+
* @param pivotId - Pivot table to connect to
|
|
272
|
+
* @param fieldName - Field name in the pivot
|
|
273
|
+
* @param fieldArea - Which area the field is in
|
|
274
|
+
* @param options - Optional configuration
|
|
275
|
+
* @returns The created slicer configuration
|
|
276
|
+
*/
|
|
277
|
+
createPivotSlicer(sheetId: string, pivotId: string, fieldName: string, fieldArea: 'row' | 'column' | 'filter', options?: CreateSlicerOptions): SlicerConfig;
|
|
278
|
+
/**
|
|
279
|
+
* Get slicer by ID.
|
|
280
|
+
*/
|
|
281
|
+
getSlicer(slicerId: string): SlicerConfig | undefined;
|
|
282
|
+
/**
|
|
283
|
+
* Get all slicers in a sheet.
|
|
284
|
+
*/
|
|
285
|
+
getSlicersInSheet(sheetId: string): SlicerConfig[];
|
|
286
|
+
/**
|
|
287
|
+
* Get all slicers connected to a table.
|
|
288
|
+
*/
|
|
289
|
+
getSlicersForTable(tableId: string): SlicerConfig[];
|
|
290
|
+
/**
|
|
291
|
+
* Get all slicers connected to a pivot table.
|
|
292
|
+
*/
|
|
293
|
+
getSlicersForPivot(pivotId: string): SlicerConfig[];
|
|
294
|
+
/**
|
|
295
|
+
* Update slicer configuration.
|
|
296
|
+
*/
|
|
297
|
+
updateSlicer(slicerId: string, updates: Partial<SlicerConfig>): void;
|
|
298
|
+
/**
|
|
299
|
+
* Delete a slicer.
|
|
300
|
+
*/
|
|
301
|
+
deleteSlicer(slicerId: string): void;
|
|
302
|
+
/**
|
|
303
|
+
* Get cached items for a slicer.
|
|
304
|
+
* Returns all items with their current states.
|
|
305
|
+
*/
|
|
306
|
+
getSlicerItems(slicerId: string): SlicerItem[];
|
|
307
|
+
/**
|
|
308
|
+
* Refresh slicer cache from source data.
|
|
309
|
+
* Called when source data changes.
|
|
310
|
+
*/
|
|
311
|
+
refreshSlicerCache(slicerId: string): void;
|
|
312
|
+
/**
|
|
313
|
+
* Mark slicer cache as stale.
|
|
314
|
+
* Called when source data may have changed.
|
|
315
|
+
*/
|
|
316
|
+
markCacheStale(slicerId: string): void;
|
|
317
|
+
/**
|
|
318
|
+
* Mark slicer as disconnected (source column deleted).
|
|
319
|
+
*/
|
|
320
|
+
markDisconnected(slicerId: string): void;
|
|
321
|
+
/**
|
|
322
|
+
* Select a single value in the slicer (replaces current selection).
|
|
323
|
+
*/
|
|
324
|
+
selectValue(slicerId: string, value: CellValue): void;
|
|
325
|
+
/**
|
|
326
|
+
* Toggle a value's selection (add/remove from multi-select).
|
|
327
|
+
*/
|
|
328
|
+
toggleValue(slicerId: string, value: CellValue): void;
|
|
329
|
+
/**
|
|
330
|
+
* Clear all selections (show all data).
|
|
331
|
+
*/
|
|
332
|
+
clearSelection(slicerId: string): void;
|
|
333
|
+
/**
|
|
334
|
+
* Select multiple values.
|
|
335
|
+
*/
|
|
336
|
+
selectValues(slicerId: string, values: CellValue[]): void;
|
|
337
|
+
/**
|
|
338
|
+
* Sync slicer visual state with current filter state.
|
|
339
|
+
* Called when filter changes externally.
|
|
340
|
+
*/
|
|
341
|
+
syncWithFilter(slicerId: string): void;
|
|
342
|
+
/**
|
|
343
|
+
* Get current selection as filter criteria.
|
|
344
|
+
*/
|
|
345
|
+
getFilterCriteria(slicerId: string): ColumnFilterCriteria | null;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Timeline aggregation level.
|
|
349
|
+
* Determines how dates are grouped in the timeline display.
|
|
350
|
+
*/
|
|
351
|
+
export type TimelineLevel = 'years' | 'quarters' | 'months' | 'days';
|
|
352
|
+
/**
|
|
353
|
+
* Timeline slicer specific configuration.
|
|
354
|
+
* Extends base slicer for date-range filtering.
|
|
355
|
+
*/
|
|
356
|
+
export interface TimelineSlicerConfig extends SlicerConfig {
|
|
357
|
+
/** Source must be table or pivot with date column */
|
|
358
|
+
sourceType: 'timeline';
|
|
359
|
+
/** Current aggregation level */
|
|
360
|
+
timelineLevel: TimelineLevel;
|
|
361
|
+
/** Start date of the data range */
|
|
362
|
+
dataStartDate?: number;
|
|
363
|
+
/** End date of the data range */
|
|
364
|
+
dataEndDate?: number;
|
|
365
|
+
/** Currently selected date range start */
|
|
366
|
+
selectedStartDate?: number;
|
|
367
|
+
/** Currently selected date range end */
|
|
368
|
+
selectedEndDate?: number;
|
|
369
|
+
/** Show the level selector in the header */
|
|
370
|
+
showLevelSelector: boolean;
|
|
371
|
+
/** Show the date range label */
|
|
372
|
+
showDateRangeLabel: boolean;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* A timeline period represents a grouping of dates at a specific aggregation level.
|
|
376
|
+
*/
|
|
377
|
+
export interface TimelinePeriod {
|
|
378
|
+
/** Start date serial of this period (inclusive) */
|
|
379
|
+
startDate: number;
|
|
380
|
+
/** End date serial of this period (inclusive) */
|
|
381
|
+
endDate: number;
|
|
382
|
+
/** Display label for this period (e.g., "Jan", "Q1", "2024") */
|
|
383
|
+
label: string;
|
|
384
|
+
/** Short label for compact display */
|
|
385
|
+
shortLabel: string;
|
|
386
|
+
/** Whether this period is currently selected */
|
|
387
|
+
isSelected: boolean;
|
|
388
|
+
/** Whether this period has data */
|
|
389
|
+
hasData: boolean;
|
|
390
|
+
/** Count of data items in this period */
|
|
391
|
+
count: number;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Timeline scroll position and visible range state.
|
|
395
|
+
*/
|
|
396
|
+
export interface TimelineViewState {
|
|
397
|
+
/** Currently visible start date serial */
|
|
398
|
+
visibleStartDate: number;
|
|
399
|
+
/** Currently visible end date serial */
|
|
400
|
+
visibleEndDate: number;
|
|
401
|
+
/** Scroll position (0-1) */
|
|
402
|
+
scrollPosition: number;
|
|
403
|
+
/** Current zoom level */
|
|
404
|
+
level: TimelineLevel;
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Timeline selection state during drag operation.
|
|
408
|
+
*/
|
|
409
|
+
export interface TimelineDragState {
|
|
410
|
+
/** Start period index */
|
|
411
|
+
startIndex: number;
|
|
412
|
+
/** Current end period index */
|
|
413
|
+
endIndex: number;
|
|
414
|
+
/** Whether drag is active */
|
|
415
|
+
isDragging: boolean;
|
|
416
|
+
}
|
|
417
|
+
//# sourceMappingURL=slicers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slicers.d.ts","sourceRoot":"","sources":["../../src/data/slicers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sorting Contracts - Type definitions for spreadsheet sorting.
|
|
3
|
+
*
|
|
4
|
+
* Stream A1: Sort System (Cell Identity Model)
|
|
5
|
+
*
|
|
6
|
+
* This module defines sort options, criteria, and events. The sort system
|
|
7
|
+
* uses the Cell Identity Model for column identification - sort criteria
|
|
8
|
+
* reference columns by header CellId (not column index) to survive
|
|
9
|
+
* concurrent structure changes.
|
|
10
|
+
*
|
|
11
|
+
* ARCHITECTURE (Cell Identity Model):
|
|
12
|
+
*
|
|
13
|
+
* Sort criteria use headerCellId (not columnIndex) for column identification.
|
|
14
|
+
* This follows the same pattern as:
|
|
15
|
+
* - FilterSortState.columnCellId (Layer 0 filters)
|
|
16
|
+
* - IdentityRangeRef (formulas)
|
|
17
|
+
* - IdentityMergedRegion (merged cells)
|
|
18
|
+
*
|
|
19
|
+
* Why CellId-based?
|
|
20
|
+
* - Survives column insert/delete (column index shifts, CellId stable)
|
|
21
|
+
* - CRDT-safe for concurrent structure changes
|
|
22
|
+
* - Consistent with Cell Identity Model used throughout codebase
|
|
23
|
+
* - Works with async/queued operations (no race conditions)
|
|
24
|
+
*
|
|
25
|
+
* Sort operation flow:
|
|
26
|
+
* SortOptions (CellId-based) → Resolve Positions → Compute Order → Reorder Rows → Emit Event
|
|
27
|
+
*
|
|
28
|
+
* IMPORTANT: Sort updates cell POSITIONS, not cell DATA.
|
|
29
|
+
* This preserves Cell Identity - CellIds stay with their data.
|
|
30
|
+
*
|
|
31
|
+
* @see docs/architecture/cell-identity.md
|
|
32
|
+
* @see plans/active/detailed-parity-implementation/STREAM-A1-SORT.md
|
|
33
|
+
*/
|
|
34
|
+
import type { CellId } from '../cells/cell-identity';
|
|
35
|
+
import type { CellRange, CellValue, SheetId } from '../core/core';
|
|
36
|
+
import type { BaseEvent, StructureChangeSource } from '../core/event-base';
|
|
37
|
+
/**
|
|
38
|
+
* Sort direction.
|
|
39
|
+
*
|
|
40
|
+
* Note: 'asc' | 'desc' matches SortOrder from pivot.ts but without 'none'.
|
|
41
|
+
* For sorting operations, we always have a direction.
|
|
42
|
+
*/
|
|
43
|
+
export type SortDirection = 'asc' | 'desc';
|
|
44
|
+
/**
|
|
45
|
+
* What aspect of the cell to sort by.
|
|
46
|
+
*
|
|
47
|
+
* - value: Sort by cell computed value (default)
|
|
48
|
+
* - cellColor: Sort by cell background color
|
|
49
|
+
* - fontColor: Sort by cell font color
|
|
50
|
+
*/
|
|
51
|
+
export type SortBy = 'value' | 'cellColor' | 'fontColor';
|
|
52
|
+
/**
|
|
53
|
+
* Single sort criterion - Cell Identity Model.
|
|
54
|
+
*
|
|
55
|
+
* ARCHITECTURE: Uses headerCellId for column identification, NOT column index.
|
|
56
|
+
* This ensures sort criteria survives column insert/delete operations.
|
|
57
|
+
*
|
|
58
|
+
* Example:
|
|
59
|
+
* User sorts by column B (header "Name")
|
|
60
|
+
* Stored as: { headerCellId: 'abc-123-...', direction: 'asc', sortBy: 'value' }
|
|
61
|
+
* If column A is inserted, column B becomes C, but 'abc-123-...' still identifies "Name"
|
|
62
|
+
*/
|
|
63
|
+
export interface SortCriterion {
|
|
64
|
+
/**
|
|
65
|
+
* CellId of the header cell for this sort column.
|
|
66
|
+
*
|
|
67
|
+
* Why CellId (not column index)?
|
|
68
|
+
* - Column index changes on insert/delete column
|
|
69
|
+
* - CellId is stable - sort criterion follows the column
|
|
70
|
+
* - CRDT-safe for concurrent structure changes
|
|
71
|
+
*/
|
|
72
|
+
headerCellId: CellId;
|
|
73
|
+
/** Sort direction (ascending or descending) */
|
|
74
|
+
direction: SortDirection;
|
|
75
|
+
/** What to sort by (value, cell color, or font color) */
|
|
76
|
+
sortBy: SortBy;
|
|
77
|
+
/** Custom order list for custom sort (optional) */
|
|
78
|
+
customOrder?: CellValue[];
|
|
79
|
+
/** Case sensitive string comparison (default: false) */
|
|
80
|
+
caseSensitive?: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Complete sort options - Cell Identity Model.
|
|
84
|
+
*
|
|
85
|
+
* The sort range itself is passed separately to sortRange().
|
|
86
|
+
* For table sort integration, this aligns with FilterSortState.
|
|
87
|
+
*/
|
|
88
|
+
export interface SortOptions {
|
|
89
|
+
/**
|
|
90
|
+
* Sort criteria (primary, secondary, tertiary, etc.).
|
|
91
|
+
* Each criterion uses headerCellId for column identification.
|
|
92
|
+
* Evaluated in order - primary first, then secondary for ties, etc.
|
|
93
|
+
*/
|
|
94
|
+
criteria: SortCriterion[];
|
|
95
|
+
/**
|
|
96
|
+
* Does the range have a header row?
|
|
97
|
+
*
|
|
98
|
+
* If true, the first row of the range is excluded from sorting.
|
|
99
|
+
* Header cells provide display names for sort dialog columns.
|
|
100
|
+
*/
|
|
101
|
+
hasHeaders?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Sort by columns instead of rows (horizontal sort).
|
|
104
|
+
*
|
|
105
|
+
* Default is false (sort rows vertically).
|
|
106
|
+
* When true, sorts columns left-to-right based on a row's values.
|
|
107
|
+
*/
|
|
108
|
+
byColumns?: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Sort criterion for external API (user-friendly version).
|
|
112
|
+
*
|
|
113
|
+
* Uses column index instead of CellId for API ergonomics.
|
|
114
|
+
* The SheetAPI.sortRange() method converts this to CellId-based SortCriterion.
|
|
115
|
+
*
|
|
116
|
+
* This is the same pattern as createFilter() - API accepts positions,
|
|
117
|
+
* internally stores CellIds.
|
|
118
|
+
*/
|
|
119
|
+
export interface ApiSortCriterion {
|
|
120
|
+
/** Column index to sort by (0-based, absolute) */
|
|
121
|
+
column: number;
|
|
122
|
+
/** Sort direction */
|
|
123
|
+
direction: SortDirection;
|
|
124
|
+
/** What to sort by (default: 'value') */
|
|
125
|
+
sortBy?: SortBy;
|
|
126
|
+
/** Custom order list (optional) */
|
|
127
|
+
customOrder?: CellValue[];
|
|
128
|
+
/** Case sensitive comparison (default: false) */
|
|
129
|
+
caseSensitive?: boolean;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Sort options for external API (user-friendly version).
|
|
133
|
+
*
|
|
134
|
+
* Used by SheetAPI.sortRange() for AI agent ergonomics.
|
|
135
|
+
*/
|
|
136
|
+
export interface ApiSortOptions {
|
|
137
|
+
/** Sort criteria using column indices */
|
|
138
|
+
sortBy: ApiSortCriterion[];
|
|
139
|
+
/** Does the range have a header row? (default: auto-detect) */
|
|
140
|
+
hasHeaders?: boolean;
|
|
141
|
+
/** Sort by columns instead of rows (default: false) */
|
|
142
|
+
byColumns?: boolean;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Result of a sort operation.
|
|
146
|
+
*
|
|
147
|
+
* Returned by domain module's computeSortedRowOrder() for orchestration.
|
|
148
|
+
*/
|
|
149
|
+
export interface SortResult {
|
|
150
|
+
/** Original row indices in sorted order */
|
|
151
|
+
sortedIndices: number[];
|
|
152
|
+
/** Number of rows that changed position */
|
|
153
|
+
rowsMoved: number;
|
|
154
|
+
/** Whether any header CellIds couldn't be resolved (deleted columns) */
|
|
155
|
+
hasUnresolvedCriteria: boolean;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Emitted when a range is sorted.
|
|
159
|
+
* Stream A1: Sort System
|
|
160
|
+
*/
|
|
161
|
+
export interface RangeSortedEvent extends BaseEvent {
|
|
162
|
+
type: 'range:sorted';
|
|
163
|
+
sheetId: SheetId;
|
|
164
|
+
/** The range that was sorted */
|
|
165
|
+
range: CellRange;
|
|
166
|
+
/** Sort options used */
|
|
167
|
+
options: SortOptions;
|
|
168
|
+
/** Number of rows that changed position */
|
|
169
|
+
rowsMoved: number;
|
|
170
|
+
source: StructureChangeSource;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=sorting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sorting.d.ts","sourceRoot":"","sources":["../../src/data/sorting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAM3E;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAMzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,SAAS,EAAE,aAAa,CAAC;IAEzB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAE1B,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAE1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,SAAS,EAAE,aAAa,CAAC;IAEzB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mCAAmC;IACnC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAE1B,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAE3B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAElB,wEAAwE;IACxE,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAMD;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,wBAAwB;IACxB,OAAO,EAAE,WAAW,CAAC;IACrB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,qBAAqB,CAAC;CAC/B"}
|