@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,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter Contracts - Type definitions for spreadsheet filtering.
|
|
3
|
+
*
|
|
4
|
+
* Layer 0: Filter State Foundation (Cell Identity Model)
|
|
5
|
+
*
|
|
6
|
+
* This module defines the filter state schema and interfaces for
|
|
7
|
+
* AutoFilter, Table Filters, and Advanced Filters. The filter system
|
|
8
|
+
* uses a bridge pattern: filter criteria determines which rows should
|
|
9
|
+
* be hidden, but actual visibility is controlled by the existing
|
|
10
|
+
* hiddenRows infrastructure.
|
|
11
|
+
*
|
|
12
|
+
* ARCHITECTURE (Cell Identity Model):
|
|
13
|
+
*
|
|
14
|
+
* Filter ranges are defined by CellId corner references, NOT position-based
|
|
15
|
+
* CellRange. This follows the same pattern as:
|
|
16
|
+
* - IdentityRangeRef (formulas)
|
|
17
|
+
* - IdentityRangeSchemaRef (data validation)
|
|
18
|
+
* - IdentityMergedRegion (merged cells)
|
|
19
|
+
*
|
|
20
|
+
* Why CellId-based?
|
|
21
|
+
* - Survives row/col insert/delete (positions change, CellIds stable)
|
|
22
|
+
* - CRDT-safe for concurrent structure changes
|
|
23
|
+
* - Matches the Cell Identity Model used throughout the codebase
|
|
24
|
+
*
|
|
25
|
+
* Bridge pattern:
|
|
26
|
+
* FilterState (CellId-based) → Resolve Positions → Evaluate → hideRows() → hiddenRows → Render
|
|
27
|
+
*
|
|
28
|
+
* Single source of truth:
|
|
29
|
+
* - Row visibility: hiddenRows Y.Array<number> (position-based, transient render state)
|
|
30
|
+
* - Filter state: filters Y.Map<FilterState> (CellId-based, durable definition)
|
|
31
|
+
*
|
|
32
|
+
* @see docs/architecture/cell-identity.md
|
|
33
|
+
*/
|
|
34
|
+
import type { CellId } from '../cells/cell-identity';
|
|
35
|
+
import type { CellRange, CellValue } from '../core/core';
|
|
36
|
+
import type { FilterOperator } from './pivot';
|
|
37
|
+
export type { FilterOperator } from './pivot';
|
|
38
|
+
/**
|
|
39
|
+
* Filter type discriminator.
|
|
40
|
+
*
|
|
41
|
+
* - autoFilter: Range filter with dropdown headers (Data > Filter)
|
|
42
|
+
* - tableFilter: Filter associated with an Excel table
|
|
43
|
+
* - advancedFilter: Complex criteria-based filter (future)
|
|
44
|
+
*/
|
|
45
|
+
export type FilterType = 'autoFilter' | 'tableFilter' | 'advancedFilter';
|
|
46
|
+
/**
|
|
47
|
+
* A single filter condition with operator and value(s).
|
|
48
|
+
*
|
|
49
|
+
* Used in condition filters where users specify rules like
|
|
50
|
+
* "greater than 100" or "contains 'error'".
|
|
51
|
+
*/
|
|
52
|
+
export interface FilterCondition {
|
|
53
|
+
/** The comparison operator */
|
|
54
|
+
operator: FilterOperator;
|
|
55
|
+
/** Primary comparison value (not used for isBlank/isNotBlank) */
|
|
56
|
+
value?: CellValue;
|
|
57
|
+
/** Secondary value for 'between' operator (inclusive range) */
|
|
58
|
+
value2?: CellValue;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Column filter criteria - what's applied to a single column.
|
|
62
|
+
*
|
|
63
|
+
* Each column in a filter range can have its own criteria.
|
|
64
|
+
* Rows must match ALL column filters (AND logic across columns).
|
|
65
|
+
*/
|
|
66
|
+
export interface ColumnFilterCriteria {
|
|
67
|
+
/**
|
|
68
|
+
* Type of filter applied to this column.
|
|
69
|
+
*
|
|
70
|
+
* - value: Checkbox list of specific values to include
|
|
71
|
+
* - condition: Operator-based rules (equals, contains, etc.)
|
|
72
|
+
* - color: Filter by cell background or font color
|
|
73
|
+
* - top10: Top/bottom N items or percent
|
|
74
|
+
*/
|
|
75
|
+
type: 'value' | 'condition' | 'color' | 'top10';
|
|
76
|
+
/**
|
|
77
|
+
* For value filters: list of values to INCLUDE (show).
|
|
78
|
+
* Unchecked values in the dropdown are excluded (hidden).
|
|
79
|
+
* Include empty string or null to show blank cells.
|
|
80
|
+
*/
|
|
81
|
+
values?: CellValue[];
|
|
82
|
+
/**
|
|
83
|
+
* For condition filters: one or two filter conditions.
|
|
84
|
+
* When two conditions are present, conditionLogic determines how they combine.
|
|
85
|
+
*/
|
|
86
|
+
conditions?: FilterCondition[];
|
|
87
|
+
/**
|
|
88
|
+
* Logic for combining multiple conditions.
|
|
89
|
+
* - 'and': Row must match ALL conditions
|
|
90
|
+
* - 'or': Row must match ANY condition
|
|
91
|
+
* Default: 'and'
|
|
92
|
+
*/
|
|
93
|
+
conditionLogic?: 'and' | 'or';
|
|
94
|
+
/**
|
|
95
|
+
* For color filters: filter by background or font color.
|
|
96
|
+
*/
|
|
97
|
+
colorFilter?: {
|
|
98
|
+
/** Whether to filter by background fill or font color */
|
|
99
|
+
type: 'background' | 'font';
|
|
100
|
+
/** Hex color to match (e.g., '#ff0000') */
|
|
101
|
+
color: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* For top/bottom N filters: show only the highest or lowest values.
|
|
105
|
+
*/
|
|
106
|
+
topBottom?: {
|
|
107
|
+
/** Show top values or bottom values */
|
|
108
|
+
type: 'top' | 'bottom';
|
|
109
|
+
/** Number of items or percentage */
|
|
110
|
+
count: number;
|
|
111
|
+
/** Whether count is number of items or percentage */
|
|
112
|
+
by: 'items' | 'percent';
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Sort configuration for a filter.
|
|
117
|
+
*
|
|
118
|
+
* Filters often include sort controls in their dropdown menus.
|
|
119
|
+
* This tracks the current sort state applied via the filter.
|
|
120
|
+
*
|
|
121
|
+
* Cell Identity Model: Uses CellId for the sorted column header, not column index.
|
|
122
|
+
*/
|
|
123
|
+
export interface FilterSortState {
|
|
124
|
+
/**
|
|
125
|
+
* CellId of the header cell being sorted.
|
|
126
|
+
* Using CellId ensures the sort follows the column on insert/delete.
|
|
127
|
+
*/
|
|
128
|
+
columnCellId: CellId;
|
|
129
|
+
/** Sort direction */
|
|
130
|
+
order: 'asc' | 'desc';
|
|
131
|
+
/** What to sort by */
|
|
132
|
+
sortBy: 'value' | 'color' | 'icon';
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Complete filter state for a range - Cell Identity Model.
|
|
136
|
+
*
|
|
137
|
+
* ARCHITECTURE: Filter ranges are defined by CellId corner references,
|
|
138
|
+
* NOT position-based CellRange. This follows the same pattern as:
|
|
139
|
+
* - IdentityRangeRef (formulas)
|
|
140
|
+
* - IdentityRangeSchemaRef (data validation)
|
|
141
|
+
* - IdentityMergedRegion (merged cells)
|
|
142
|
+
*
|
|
143
|
+
* Why CellId-based?
|
|
144
|
+
* - Survives row/col insert/delete (positions change, CellIds stable)
|
|
145
|
+
* - CRDT-safe for concurrent structure changes
|
|
146
|
+
* - Matches the Cell Identity Model used throughout the codebase
|
|
147
|
+
*
|
|
148
|
+
* This is the persisted state in Yjs. It includes:
|
|
149
|
+
* - Corner cell CellIds that define the filter range
|
|
150
|
+
* - Per-column filter criteria keyed by header CellId
|
|
151
|
+
* - Optional sort state (also by CellId)
|
|
152
|
+
* - Optional table association
|
|
153
|
+
*/
|
|
154
|
+
export interface FilterState {
|
|
155
|
+
/** Unique filter identifier (UUID v7) */
|
|
156
|
+
id: string;
|
|
157
|
+
/** Filter type discriminator */
|
|
158
|
+
type: FilterType;
|
|
159
|
+
/**
|
|
160
|
+
* CellId of the header row, first column (top-left of header).
|
|
161
|
+
* Example: If filter is on A1:C10, this is the CellId of A1.
|
|
162
|
+
*/
|
|
163
|
+
headerStartCellId: CellId;
|
|
164
|
+
/**
|
|
165
|
+
* CellId of the header row, last column (top-right of header).
|
|
166
|
+
* Example: If filter is on A1:C10, this is the CellId of C1.
|
|
167
|
+
*/
|
|
168
|
+
headerEndCellId: CellId;
|
|
169
|
+
/**
|
|
170
|
+
* CellId of the last data row, first column (defines data extent).
|
|
171
|
+
* Example: If filter is on A1:C10 (header A1:C1, data A2:C10), this is CellId of A10.
|
|
172
|
+
*
|
|
173
|
+
* Why first column? We only need to track row extent, and the column extent
|
|
174
|
+
* is already defined by headerEndCellId. Using first column is simpler.
|
|
175
|
+
*/
|
|
176
|
+
dataEndCellId: CellId;
|
|
177
|
+
/**
|
|
178
|
+
* Per-column filter criteria, keyed by header cell CellId.
|
|
179
|
+
*
|
|
180
|
+
* Why CellId key (not column index)?
|
|
181
|
+
* - Column index changes on insert/delete column
|
|
182
|
+
* - CellId is stable - filter criteria follows the column
|
|
183
|
+
*
|
|
184
|
+
* Example: If column B has a filter and user inserts column at A,
|
|
185
|
+
* B becomes C but the filter criteria stays with the same CellId.
|
|
186
|
+
*
|
|
187
|
+
* Empty object means no filters are applied (show all rows).
|
|
188
|
+
*/
|
|
189
|
+
columnFilters: Record<CellId, ColumnFilterCriteria>;
|
|
190
|
+
/** Current sort state applied via this filter (optional) */
|
|
191
|
+
sortState?: FilterSortState;
|
|
192
|
+
/** Associated table ID for tableFilter type (optional) */
|
|
193
|
+
tableId?: string;
|
|
194
|
+
/** When this filter was created (Unix ms) */
|
|
195
|
+
createdAt?: number;
|
|
196
|
+
/** When this filter was last modified (Unix ms) */
|
|
197
|
+
updatedAt?: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Information about a filter header cell for UI rendering.
|
|
201
|
+
*
|
|
202
|
+
* Returned by getFilterHeaderInfo() to tell the renderer whether a cell
|
|
203
|
+
* is an AutoFilter header and should show a filter dropdown button.
|
|
204
|
+
*
|
|
205
|
+
* NOTE: Table filters use a separate code path via getTableAtCell().
|
|
206
|
+
* This type is specifically for AutoFilter (non-table filters).
|
|
207
|
+
*/
|
|
208
|
+
export interface FilterHeaderInfo {
|
|
209
|
+
/**
|
|
210
|
+
* The filter state ID - used to open the dropdown and apply criteria.
|
|
211
|
+
*/
|
|
212
|
+
filterId: string;
|
|
213
|
+
/**
|
|
214
|
+
* CellId of this header cell (NOT column index!).
|
|
215
|
+
* Used as the key for column filter operations in Layer 0.
|
|
216
|
+
*/
|
|
217
|
+
headerCellId: CellId;
|
|
218
|
+
/**
|
|
219
|
+
* Whether this column has active filter criteria applied.
|
|
220
|
+
* If true, the dropdown button shows a filter indicator.
|
|
221
|
+
*/
|
|
222
|
+
hasActiveFilter: boolean;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Result of evaluating a filter against a single row.
|
|
226
|
+
*
|
|
227
|
+
* Used internally by the filter engine to determine which rows
|
|
228
|
+
* should be hidden or shown.
|
|
229
|
+
*/
|
|
230
|
+
export interface FilterEvaluationResult {
|
|
231
|
+
/** Row index (0-based absolute row in sheet) */
|
|
232
|
+
row: number;
|
|
233
|
+
/** Whether the row matches all active filter criteria */
|
|
234
|
+
matches: boolean;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Interface for filter CRUD operations.
|
|
238
|
+
*
|
|
239
|
+
* Implemented by the filter operations module in the engine.
|
|
240
|
+
* All operations go through the coordinator pattern.
|
|
241
|
+
*
|
|
242
|
+
* ARCHITECTURE: Column operations use CellId (header cell) instead of column index.
|
|
243
|
+
* This ensures filter criteria follows columns on insert/delete operations.
|
|
244
|
+
*/
|
|
245
|
+
export interface IFilterManager {
|
|
246
|
+
/**
|
|
247
|
+
* Create a new filter for a range.
|
|
248
|
+
*
|
|
249
|
+
* ARCHITECTURE: Accepts position-based CellRange for convenience (API), but
|
|
250
|
+
* internally stores CellId references. This is the same pattern as formula
|
|
251
|
+
* parsing - user types A1:C10, we store CellIds.
|
|
252
|
+
*
|
|
253
|
+
* @param sheetId - Sheet to create filter in
|
|
254
|
+
* @param range - Range to filter (header row + data rows)
|
|
255
|
+
* @param type - Filter type (default: 'autoFilter')
|
|
256
|
+
* @returns The created filter state (with CellId references)
|
|
257
|
+
*/
|
|
258
|
+
createFilter(sheetId: string, range: CellRange, type?: FilterType): FilterState;
|
|
259
|
+
/**
|
|
260
|
+
* Get a filter by ID.
|
|
261
|
+
*
|
|
262
|
+
* @param sheetId - Sheet containing the filter
|
|
263
|
+
* @param filterId - Filter ID
|
|
264
|
+
* @returns Filter state or undefined if not found
|
|
265
|
+
*/
|
|
266
|
+
getFilter(sheetId: string, filterId: string): FilterState | undefined;
|
|
267
|
+
/**
|
|
268
|
+
* Get filter that contains a specific range (for overlap detection).
|
|
269
|
+
*
|
|
270
|
+
* @param sheetId - Sheet to search
|
|
271
|
+
* @param range - Range to check for filter containment
|
|
272
|
+
* @returns Filter state or undefined if no filter contains the range
|
|
273
|
+
*/
|
|
274
|
+
getFilterForRange(sheetId: string, range: CellRange): FilterState | undefined;
|
|
275
|
+
/**
|
|
276
|
+
* Get all filters in a sheet.
|
|
277
|
+
*
|
|
278
|
+
* @param sheetId - Sheet to get filters from
|
|
279
|
+
* @returns Array of filter states
|
|
280
|
+
*/
|
|
281
|
+
getFiltersInSheet(sheetId: string): FilterState[];
|
|
282
|
+
/**
|
|
283
|
+
* Delete a filter (removes filter state, does NOT unhide rows).
|
|
284
|
+
*
|
|
285
|
+
* @param sheetId - Sheet containing the filter
|
|
286
|
+
* @param filterId - Filter ID to delete
|
|
287
|
+
*/
|
|
288
|
+
deleteFilter(sheetId: string, filterId: string): void;
|
|
289
|
+
/**
|
|
290
|
+
* Set filter criteria for a specific column.
|
|
291
|
+
*
|
|
292
|
+
* ARCHITECTURE: Uses header CellId instead of column index for CRDT safety.
|
|
293
|
+
* The filter criteria follows the column on insert/delete operations.
|
|
294
|
+
*
|
|
295
|
+
* @param sheetId - Sheet containing the filter
|
|
296
|
+
* @param filterId - Filter ID
|
|
297
|
+
* @param headerCellId - CellId of the header cell (NOT column index)
|
|
298
|
+
* @param criteria - Filter criteria to apply
|
|
299
|
+
*/
|
|
300
|
+
setColumnFilter(sheetId: string, filterId: string, headerCellId: CellId, criteria: ColumnFilterCriteria): void;
|
|
301
|
+
/**
|
|
302
|
+
* Clear filter criteria for a specific column.
|
|
303
|
+
*
|
|
304
|
+
* @param sheetId - Sheet containing the filter
|
|
305
|
+
* @param filterId - Filter ID
|
|
306
|
+
* @param headerCellId - CellId of the header cell (NOT column index)
|
|
307
|
+
*/
|
|
308
|
+
clearColumnFilter(sheetId: string, filterId: string, headerCellId: CellId): void;
|
|
309
|
+
/**
|
|
310
|
+
* Clear all column filters (show all rows).
|
|
311
|
+
*
|
|
312
|
+
* @param sheetId - Sheet containing the filter
|
|
313
|
+
* @param filterId - Filter ID
|
|
314
|
+
*/
|
|
315
|
+
clearAllColumnFilters(sheetId: string, filterId: string): void;
|
|
316
|
+
/**
|
|
317
|
+
* Evaluate filter criteria against data rows.
|
|
318
|
+
*
|
|
319
|
+
* Returns which rows match/don't match without hiding anything.
|
|
320
|
+
* Useful for preview or debugging.
|
|
321
|
+
*
|
|
322
|
+
* @param sheetId - Sheet containing the filter
|
|
323
|
+
* @param filterId - Filter ID
|
|
324
|
+
* @returns Array of evaluation results for each data row
|
|
325
|
+
*/
|
|
326
|
+
evaluateFilter(sheetId: string, filterId: string): FilterEvaluationResult[];
|
|
327
|
+
/**
|
|
328
|
+
* Apply filter: evaluate criteria and hide/unhide rows.
|
|
329
|
+
*
|
|
330
|
+
* This is THE BRIDGE: resolves CellIds to positions, evaluates criteria,
|
|
331
|
+
* then calls hideRows()/unhideRows() based on filter results.
|
|
332
|
+
*
|
|
333
|
+
* @param sheetId - Sheet containing the filter
|
|
334
|
+
* @param filterId - Filter ID
|
|
335
|
+
*/
|
|
336
|
+
applyFilter(sheetId: string, filterId: string): void;
|
|
337
|
+
/**
|
|
338
|
+
* Sort data by a filter column.
|
|
339
|
+
*
|
|
340
|
+
* @param sheetId - Sheet containing the filter
|
|
341
|
+
* @param filterId - Filter ID
|
|
342
|
+
* @param headerCellId - CellId of the header cell to sort by
|
|
343
|
+
* @param order - Sort direction
|
|
344
|
+
*/
|
|
345
|
+
sortFilterColumn(sheetId: string, filterId: string, headerCellId: CellId, order: 'asc' | 'desc'): void;
|
|
346
|
+
/**
|
|
347
|
+
* Get unique values in a filter column (for populating dropdown).
|
|
348
|
+
*
|
|
349
|
+
* @param sheetId - Sheet containing the filter
|
|
350
|
+
* @param filterId - Filter ID
|
|
351
|
+
* @param headerCellId - CellId of the header cell
|
|
352
|
+
* @returns Array of unique cell values in the column
|
|
353
|
+
*/
|
|
354
|
+
getUniqueValues(sheetId: string, filterId: string, headerCellId: CellId): CellValue[];
|
|
355
|
+
/**
|
|
356
|
+
* Check if a row is filtered (hidden by any filter).
|
|
357
|
+
*
|
|
358
|
+
* @param sheetId - Sheet to check
|
|
359
|
+
* @param row - Row index to check
|
|
360
|
+
* @returns true if the row is hidden due to filtering
|
|
361
|
+
*/
|
|
362
|
+
isRowFiltered(sheetId: string, row: number): boolean;
|
|
363
|
+
}
|
|
364
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/data/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Row/Column Grouping Contracts
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for row and column grouping (outline) with expand/collapse.
|
|
5
|
+
* Grouping enables hierarchical data organization with collapsible sections,
|
|
6
|
+
* outline level buttons, and automatic subtotal generation.
|
|
7
|
+
*
|
|
8
|
+
* These types mirror the Rust canonical types in `domain-types::domain::grouping`.
|
|
9
|
+
* The Rust types are the source of truth; these TS definitions must stay in sync.
|
|
10
|
+
* Bridge codegen also generates these into `compute-types.gen.ts` — if the two
|
|
11
|
+
* diverge, the generated version is authoritative.
|
|
12
|
+
*/
|
|
13
|
+
import type { CellRange } from '../core/core';
|
|
14
|
+
/** Group axis: row or column. */
|
|
15
|
+
export type GroupAxis = 'row' | 'column';
|
|
16
|
+
/**
|
|
17
|
+
* A row or column group definition.
|
|
18
|
+
* Groups can be nested up to 8 levels deep (matching Excel).
|
|
19
|
+
*
|
|
20
|
+
* Mirrors Rust `domain_types::domain::grouping::GroupDefinition`.
|
|
21
|
+
*/
|
|
22
|
+
export interface GroupDefinition {
|
|
23
|
+
/** Unique group identifier */
|
|
24
|
+
id: string;
|
|
25
|
+
/** Sheet containing the group */
|
|
26
|
+
sheetId: string;
|
|
27
|
+
/** Group axis (row or column) */
|
|
28
|
+
axis: GroupAxis;
|
|
29
|
+
/** Start index (inclusive, 0-indexed) */
|
|
30
|
+
start: number;
|
|
31
|
+
/** End index (inclusive, 0-indexed) */
|
|
32
|
+
end: number;
|
|
33
|
+
/** Outline level (1-8, where 1 is outermost) */
|
|
34
|
+
level: number;
|
|
35
|
+
/** Whether this group is currently collapsed */
|
|
36
|
+
collapsed: boolean;
|
|
37
|
+
/** Parent group ID for nested groups */
|
|
38
|
+
parentId?: string;
|
|
39
|
+
/** OOXML round-trip: whether rows/cols were hidden by this group */
|
|
40
|
+
hidden?: boolean;
|
|
41
|
+
/** OOXML round-trip: collapsed attribute was on a group member, not end+1 */
|
|
42
|
+
collapsedOnMember?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Per-sheet grouping configuration.
|
|
46
|
+
* Stored in Yjs for collaboration and persistence.
|
|
47
|
+
*
|
|
48
|
+
* Mirrors Rust `domain_types::domain::grouping::SheetGroupingConfig`.
|
|
49
|
+
*/
|
|
50
|
+
export interface SheetGroupingConfig {
|
|
51
|
+
/** All row groups in this sheet */
|
|
52
|
+
rowGroups: GroupDefinition[];
|
|
53
|
+
/** All column groups in this sheet */
|
|
54
|
+
columnGroups: GroupDefinition[];
|
|
55
|
+
/** Whether summary rows appear below detail rows (default: true) */
|
|
56
|
+
summaryRowsBelow: boolean;
|
|
57
|
+
/** Whether summary columns appear to the right of detail (default: true) */
|
|
58
|
+
summaryColumnsRight: boolean;
|
|
59
|
+
/** Whether outline symbols (+/-) are visible in the gutter (default: true) */
|
|
60
|
+
showOutlineSymbols: boolean;
|
|
61
|
+
/** Whether outline level buttons (1,2,3...) are visible (default: true) */
|
|
62
|
+
showOutlineLevelButtons: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Default grouping configuration for new sheets.
|
|
66
|
+
*/
|
|
67
|
+
export declare const DEFAULT_SHEET_GROUPING_CONFIG: SheetGroupingConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Computed outline level for a single row or column.
|
|
70
|
+
* Used by the renderer to determine visibility and display.
|
|
71
|
+
*/
|
|
72
|
+
export interface OutlineLevel {
|
|
73
|
+
/** Row or column index (0-indexed) */
|
|
74
|
+
index: number;
|
|
75
|
+
/** Current outline level (0 = not grouped, 1-8 = grouped) */
|
|
76
|
+
level: number;
|
|
77
|
+
/** Whether this row/column is visible (not hidden by collapsed groups) */
|
|
78
|
+
visible: boolean;
|
|
79
|
+
/** Whether this is a summary row/column (contains totals) */
|
|
80
|
+
isSummary: boolean;
|
|
81
|
+
/** Group IDs this row/column belongs to (innermost to outermost) */
|
|
82
|
+
groupIds: string[];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Partial update for outline display settings.
|
|
86
|
+
*/
|
|
87
|
+
export interface OutlineSettingsUpdate {
|
|
88
|
+
summaryRowsBelow?: boolean;
|
|
89
|
+
summaryColumnsRight?: boolean;
|
|
90
|
+
showOutlineSymbols?: boolean;
|
|
91
|
+
showOutlineLevelButtons?: boolean;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Hit test result for outline button clicks in headers.
|
|
95
|
+
* Used by the renderer/coordinator for click handling.
|
|
96
|
+
*/
|
|
97
|
+
export interface OutlineButtonHitResult {
|
|
98
|
+
/** Type of button clicked */
|
|
99
|
+
type: 'expand-collapse' | 'level';
|
|
100
|
+
/** Group ID for expand/collapse buttons */
|
|
101
|
+
groupId?: string;
|
|
102
|
+
/** Level number for level buttons (1, 2, 3, etc.) */
|
|
103
|
+
level?: number;
|
|
104
|
+
/** Axis of the button */
|
|
105
|
+
axis: 'row' | 'column';
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Subtotal aggregate function types.
|
|
109
|
+
* Maps to SUBTOTAL function codes in Excel.
|
|
110
|
+
*/
|
|
111
|
+
export type SubtotalFunction = 'sum' | 'count' | 'average' | 'max' | 'min' | 'product' | 'countNums' | 'stdDev' | 'stdDevP' | 'var' | 'varP';
|
|
112
|
+
/**
|
|
113
|
+
* Options for the Subtotals feature.
|
|
114
|
+
* Used to create automatic subtotals with grouping.
|
|
115
|
+
*/
|
|
116
|
+
export interface SubtotalOptions {
|
|
117
|
+
/** Column index to group by (the "change" column) */
|
|
118
|
+
groupByColumn: number;
|
|
119
|
+
/** Column indices to calculate subtotals for */
|
|
120
|
+
subtotalColumns: number[];
|
|
121
|
+
/** Aggregate function to use */
|
|
122
|
+
function: SubtotalFunction;
|
|
123
|
+
/** Replace existing subtotals if present (default: true) */
|
|
124
|
+
replaceExisting: boolean;
|
|
125
|
+
/** Place summary row below data (default: true) */
|
|
126
|
+
summaryBelowData: boolean;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Result of creating subtotals.
|
|
130
|
+
*/
|
|
131
|
+
export interface SubtotalResult {
|
|
132
|
+
/** Number of groups created */
|
|
133
|
+
groupsCreated: number;
|
|
134
|
+
/** Number of subtotal rows inserted */
|
|
135
|
+
subtotalRowsInserted: number;
|
|
136
|
+
/** Range of affected cells */
|
|
137
|
+
affectedRange: CellRange;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Grouping manager interface for row/column grouping operations.
|
|
141
|
+
* Implemented in engine, integrated via coordinator.
|
|
142
|
+
*/
|
|
143
|
+
export interface IGroupingManager {
|
|
144
|
+
groupRows(sheetId: string, startRow: number, endRow: number): GroupDefinition;
|
|
145
|
+
groupColumns(sheetId: string, startCol: number, endCol: number): GroupDefinition;
|
|
146
|
+
ungroupRows(sheetId: string, startRow: number, endRow: number): void;
|
|
147
|
+
ungroupColumns(sheetId: string, startCol: number, endCol: number): void;
|
|
148
|
+
clearRowGrouping(sheetId: string, startRow: number, endRow: number): void;
|
|
149
|
+
clearColumnGrouping(sheetId: string, startCol: number, endCol: number): void;
|
|
150
|
+
getSheetGroupingConfig(sheetId: string): SheetGroupingConfig;
|
|
151
|
+
getGroup(groupId: string): GroupDefinition | undefined;
|
|
152
|
+
getGroups(sheetId: string, axis: 'row' | 'column'): GroupDefinition[];
|
|
153
|
+
getRowOutlineLevels(sheetId: string, startRow: number, endRow: number): OutlineLevel[];
|
|
154
|
+
getColumnOutlineLevels(sheetId: string, startCol: number, endCol: number): OutlineLevel[];
|
|
155
|
+
getMaxOutlineLevel(sheetId: string, axis: 'row' | 'column'): number;
|
|
156
|
+
isRowVisible(sheetId: string, row: number): boolean;
|
|
157
|
+
isColumnVisible(sheetId: string, col: number): boolean;
|
|
158
|
+
setGroupCollapsed(groupId: string, collapsed: boolean): void;
|
|
159
|
+
toggleGroupCollapsed(groupId: string): boolean;
|
|
160
|
+
setLevelCollapsed(sheetId: string, axis: 'row' | 'column', level: number, collapsed: boolean): void;
|
|
161
|
+
expandAll(sheetId: string, axis?: 'row' | 'column'): void;
|
|
162
|
+
collapseAll(sheetId: string, axis?: 'row' | 'column'): void;
|
|
163
|
+
setOutlineSettings(sheetId: string, settings: Partial<Pick<SheetGroupingConfig, 'summaryRowsBelow' | 'summaryColumnsRight' | 'showOutlineSymbols' | 'showOutlineLevelButtons'>>): void;
|
|
164
|
+
autoOutline(sheetId: string, range: CellRange): number;
|
|
165
|
+
createSubtotals(sheetId: string, range: CellRange, options: SubtotalOptions): SubtotalResult;
|
|
166
|
+
removeSubtotals(sheetId: string, range: CellRange): void;
|
|
167
|
+
getAffectedRowsByGroup(groupId: string): number[];
|
|
168
|
+
getAffectedColumnsByGroup(groupId: string): number[];
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=grouping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../src/data/grouping.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './charts';
|
|
2
|
+
export * from './conditional-format';
|
|
3
|
+
export * from './filter';
|
|
4
|
+
export * from './grouping';
|
|
5
|
+
export * from './named-ranges';
|
|
6
|
+
export * from './pivot';
|
|
7
|
+
export * from './slicers';
|
|
8
|
+
export * from './sorting';
|
|
9
|
+
export * from './sparklines';
|
|
10
|
+
export * from './tables';
|
|
11
|
+
export * from './trace-arrows';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Named Ranges (Defined Names) Contracts
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the named ranges system (Stream B1).
|
|
5
|
+
*
|
|
6
|
+
* CRITICAL ARCHITECTURE DECISION: Named ranges MUST use IdentityFormula
|
|
7
|
+
* for the refersTo field, NOT A1 strings. This ensures:
|
|
8
|
+
* - CRDT-safe storage (concurrent structure changes compose correctly)
|
|
9
|
+
* - Insert/delete row/col operations don't corrupt named ranges
|
|
10
|
+
* - Display regenerated at render time from stable CellIds
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* User creates "SalesData" → =Sheet1!$A$1:$B$10
|
|
14
|
+
*
|
|
15
|
+
* With A1 string storage (WRONG):
|
|
16
|
+
* refersTo: "=Sheet1!$A$1:$B$10"
|
|
17
|
+
* After concurrent column insert at A: still "=Sheet1!$A$1:$B$10" ❌
|
|
18
|
+
*
|
|
19
|
+
* With IdentityFormula storage (CORRECT):
|
|
20
|
+
* refersTo: { template: "{0}", refs: [{ startId, endId }] }
|
|
21
|
+
* After column insert: CellIds unchanged, positions shifted
|
|
22
|
+
* Display regenerates: "=Sheet1!$B$1:$C$10" ✓
|
|
23
|
+
*
|
|
24
|
+
* @see plans/active/detailed-parity-implementation/STREAM-B1-NAMED-RANGES.md
|
|
25
|
+
*/
|
|
26
|
+
import type { IdentityFormula } from '../cells/cell-identity';
|
|
27
|
+
import type { SheetId } from '../core/core';
|
|
28
|
+
/**
|
|
29
|
+
* A defined name stored in Yjs.
|
|
30
|
+
*
|
|
31
|
+
* Uses IdentityFormula for CRDT-safe structure-change handling.
|
|
32
|
+
* This is the same approach used for formula storage throughout the codebase.
|
|
33
|
+
*/
|
|
34
|
+
export interface DefinedName {
|
|
35
|
+
/** Unique identifier for the defined name */
|
|
36
|
+
id: string;
|
|
37
|
+
/**
|
|
38
|
+
* The name (e.g., "SalesData", "TaxRate").
|
|
39
|
+
* Case-insensitive for lookup, but preserves original case.
|
|
40
|
+
*/
|
|
41
|
+
name: string;
|
|
42
|
+
/**
|
|
43
|
+
* What the name refers to - stored as IdentityFormula for CRDT safety.
|
|
44
|
+
*
|
|
45
|
+
* Examples:
|
|
46
|
+
* - Range: { template: "{0}", refs: [{ type: 'range', startId: '...', endId: '...' }] }
|
|
47
|
+
* - Cell: { template: "{0}", refs: [{ type: 'cell', id: '...' }] }
|
|
48
|
+
* - Constant: { template: "42", refs: [] }
|
|
49
|
+
* - Formula: { template: "OFFSET({0},0,0,COUNTA({1}),1)", refs: [...] }
|
|
50
|
+
*/
|
|
51
|
+
refersTo: IdentityFormula;
|
|
52
|
+
/**
|
|
53
|
+
* Scope of the name:
|
|
54
|
+
* - undefined/null = workbook scope (available everywhere)
|
|
55
|
+
* - sheetId = sheet scope (only available in that sheet)
|
|
56
|
+
*
|
|
57
|
+
* Sheet-scoped names have higher precedence than workbook-scoped
|
|
58
|
+
* names with the same name.
|
|
59
|
+
*/
|
|
60
|
+
scope?: SheetId;
|
|
61
|
+
/** Optional comment/description */
|
|
62
|
+
comment?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the name is visible in Name Manager.
|
|
65
|
+
* Hidden names (visible: false) are typically system-generated.
|
|
66
|
+
* @default true
|
|
67
|
+
*/
|
|
68
|
+
visible?: boolean;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Input for creating or updating a defined name.
|
|
72
|
+
*
|
|
73
|
+
* User provides A1 string, domain module converts to IdentityFormula internally.
|
|
74
|
+
* This keeps the API simple while maintaining CRDT safety in storage.
|
|
75
|
+
*/
|
|
76
|
+
export interface DefinedNameInput {
|
|
77
|
+
/** The name to define */
|
|
78
|
+
name: string;
|
|
79
|
+
/**
|
|
80
|
+
* A1-style reference that will be converted to IdentityFormula.
|
|
81
|
+
* Examples:
|
|
82
|
+
* - "=Sheet1!$A$1:$B$10"
|
|
83
|
+
* - "=$A$1"
|
|
84
|
+
* - "=42" (constant)
|
|
85
|
+
* - "=OFFSET(A1,0,0,COUNTA(A:A),1)" (dynamic formula)
|
|
86
|
+
*/
|
|
87
|
+
refersToA1: string;
|
|
88
|
+
/** Scope: undefined = workbook, sheetId = sheet-local */
|
|
89
|
+
scope?: SheetId;
|
|
90
|
+
/** Optional comment */
|
|
91
|
+
comment?: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Result of name validation.
|
|
95
|
+
*/
|
|
96
|
+
export interface NameValidationResult {
|
|
97
|
+
/** Whether the name is valid */
|
|
98
|
+
valid: boolean;
|
|
99
|
+
/** Error type if invalid */
|
|
100
|
+
error?: 'invalid_characters' | 'starts_with_number' | 'reserved_name' | 'duplicate_name' | 'too_long' | 'cell_reference' | 'r1c1_reference' | 'empty';
|
|
101
|
+
/** Human-readable error message */
|
|
102
|
+
message?: string;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=named-ranges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-ranges.d.ts","sourceRoot":"","sources":["../../src/data/named-ranges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;OAQG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IAEf,4BAA4B;IAC5B,KAAK,CAAC,EACF,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,UAAU,GACV,gBAAgB,GAChB,gBAAgB,GAChB,OAAO,CAAC;IAEZ,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|