@rowsncolumns/spreadsheet 10.2.68
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/LICENSE.md +100 -0
- package/Readme.md +9 -0
- package/dist/cjs/api/animate.d.ts +36 -0
- package/dist/cjs/api/animate.d.ts.map +1 -0
- package/dist/cjs/api/animate.js +123 -0
- package/dist/cjs/api/banded-ranges.d.ts +16 -0
- package/dist/cjs/api/banded-ranges.d.ts.map +1 -0
- package/dist/cjs/api/banded-ranges.js +134 -0
- package/dist/cjs/api/cf-engine.d.ts +36 -0
- package/dist/cjs/api/cf-engine.d.ts.map +1 -0
- package/dist/cjs/api/cf-engine.js +73 -0
- package/dist/cjs/api/cf-overlays.d.ts +7 -0
- package/dist/cjs/api/cf-overlays.d.ts.map +1 -0
- package/dist/cjs/api/cf-overlays.js +136 -0
- package/dist/cjs/api/cf-window.d.ts +45 -0
- package/dist/cjs/api/cf-window.d.ts.map +1 -0
- package/dist/cjs/api/cf-window.js +143 -0
- package/dist/cjs/api/colors.d.ts +8 -0
- package/dist/cjs/api/colors.d.ts.map +1 -0
- package/dist/cjs/api/colors.js +31 -0
- package/dist/cjs/api/copy-paste.d.ts +10 -0
- package/dist/cjs/api/copy-paste.d.ts.map +1 -0
- package/dist/cjs/api/copy-paste.js +28 -0
- package/dist/cjs/api/fill-patterns.d.ts +5 -0
- package/dist/cjs/api/fill-patterns.d.ts.map +1 -0
- package/dist/cjs/api/fill-patterns.js +202 -0
- package/dist/cjs/api/font-loader.d.ts +8 -0
- package/dist/cjs/api/font-loader.d.ts.map +1 -0
- package/dist/cjs/api/font-loader.js +162 -0
- package/dist/cjs/api/heatmap.d.ts +4 -0
- package/dist/cjs/api/heatmap.d.ts.map +1 -0
- package/dist/cjs/api/heatmap.js +177 -0
- package/dist/cjs/api/scheduler.d.ts +8 -0
- package/dist/cjs/api/scheduler.d.ts.map +1 -0
- package/dist/cjs/api/scheduler.js +19 -0
- package/dist/cjs/api/scroller.d.ts +134 -0
- package/dist/cjs/api/scroller.d.ts.map +1 -0
- package/dist/cjs/api/scroller.js +702 -0
- package/dist/cjs/api/selections.d.ts +111 -0
- package/dist/cjs/api/selections.d.ts.map +1 -0
- package/dist/cjs/api/selections.js +407 -0
- package/dist/cjs/api/spreadsheet-api.d.ts +271 -0
- package/dist/cjs/api/spreadsheet-api.d.ts.map +1 -0
- package/dist/cjs/api/spreadsheet-api.js +811 -0
- package/dist/cjs/api/table.d.ts +11 -0
- package/dist/cjs/api/table.d.ts.map +1 -0
- package/dist/cjs/api/table.js +17 -0
- package/dist/cjs/api/validation.d.ts +98 -0
- package/dist/cjs/api/validation.d.ts.map +1 -0
- package/dist/cjs/api/validation.js +506 -0
- package/dist/cjs/atoms/active-editor.atom.d.ts +8 -0
- package/dist/cjs/atoms/active-editor.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/active-editor.atom.js +12 -0
- package/dist/cjs/atoms/cell-input-context.atom.d.ts +15 -0
- package/dist/cjs/atoms/cell-input-context.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/cell-input-context.atom.js +24 -0
- package/dist/cjs/atoms/editing-cell.atom.d.ts +7 -0
- package/dist/cjs/atoms/editing-cell.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/editing-cell.atom.js +9 -0
- package/dist/cjs/atoms/formula-bar-editor-value.atom.d.ts +19 -0
- package/dist/cjs/atoms/formula-bar-editor-value.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/formula-bar-editor-value.atom.js +44 -0
- package/dist/cjs/atoms/formula-mode.atom.d.ts +7 -0
- package/dist/cjs/atoms/formula-mode.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/formula-mode.atom.js +11 -0
- package/dist/cjs/atoms/formula-selection-state.atom.d.ts +16 -0
- package/dist/cjs/atoms/formula-selection-state.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/formula-selection-state.atom.js +32 -0
- package/dist/cjs/atoms/formula-selections.atom.d.ts +8 -0
- package/dist/cjs/atoms/formula-selections.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/formula-selections.atom.js +9 -0
- package/dist/cjs/atoms/index.d.ts +18 -0
- package/dist/cjs/atoms/index.d.ts.map +1 -0
- package/dist/cjs/atoms/index.js +22 -0
- package/dist/cjs/atoms/loading-indicator.atom.d.ts +12 -0
- package/dist/cjs/atoms/loading-indicator.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/loading-indicator.atom.js +22 -0
- package/dist/cjs/atoms/magic-fill-state.atom.d.ts +5 -0
- package/dist/cjs/atoms/magic-fill-state.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/magic-fill-state.atom.js +12 -0
- package/dist/cjs/atoms/paste-menu.atom.d.ts +6 -0
- package/dist/cjs/atoms/paste-menu.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/paste-menu.atom.js +9 -0
- package/dist/cjs/atoms/persistent-tooltip.atom.d.ts +11 -0
- package/dist/cjs/atoms/persistent-tooltip.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/persistent-tooltip.atom.js +34 -0
- package/dist/cjs/atoms/popover.atom.d.ts +7 -0
- package/dist/cjs/atoms/popover.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/popover.atom.js +9 -0
- package/dist/cjs/atoms/range-selector.atom.d.ts +6 -0
- package/dist/cjs/atoms/range-selector.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/range-selector.atom.js +11 -0
- package/dist/cjs/atoms/selected-chart-embed.atom.d.ts +6 -0
- package/dist/cjs/atoms/selected-chart-embed.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/selected-chart-embed.atom.js +9 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts +66 -0
- package/dist/cjs/atoms/sheet-context.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/sheet-context.atom.js +142 -0
- package/dist/cjs/atoms/sheet-status-display.atom.d.ts +15 -0
- package/dist/cjs/atoms/sheet-status-display.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/sheet-status-display.atom.js +18 -0
- package/dist/cjs/atoms/show-formula-help.atom.d.ts +8 -0
- package/dist/cjs/atoms/show-formula-help.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/show-formula-help.atom.js +20 -0
- package/dist/cjs/atoms/sort-dialog.atom.d.ts +22 -0
- package/dist/cjs/atoms/sort-dialog.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/sort-dialog.atom.js +14 -0
- package/dist/cjs/atoms/spreadsheet-api.atom.d.ts +5 -0
- package/dist/cjs/atoms/spreadsheet-api.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/spreadsheet-api.atom.js +11 -0
- package/dist/cjs/atoms/validation-alert.atom.d.ts +27 -0
- package/dist/cjs/atoms/validation-alert.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/validation-alert.atom.js +23 -0
- package/dist/cjs/components/bottom-bar/index.d.ts +7 -0
- package/dist/cjs/components/bottom-bar/index.d.ts.map +1 -0
- package/dist/cjs/components/bottom-bar/index.js +11 -0
- package/dist/cjs/components/canvas-grid/helpers.d.ts +15 -0
- package/dist/cjs/components/canvas-grid/helpers.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/helpers.js +53 -0
- package/dist/cjs/components/canvas-grid/index.d.ts +7 -0
- package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/index.js +3413 -0
- package/dist/cjs/components/canvas-grid/typings.d.ts +2027 -0
- package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -0
- package/dist/cjs/components/canvas-grid/typings.js +9 -0
- package/dist/cjs/components/cell/alignment.d.ts +70 -0
- package/dist/cjs/components/cell/alignment.d.ts.map +1 -0
- package/dist/cjs/components/cell/alignment.js +137 -0
- package/dist/cjs/components/cell/cell-background.d.ts +15 -0
- package/dist/cjs/components/cell/cell-background.d.ts.map +1 -0
- package/dist/cjs/components/cell/cell-background.js +171 -0
- package/dist/cjs/components/cell/cell-text-runs.d.ts +98 -0
- package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -0
- package/dist/cjs/components/cell/cell-text-runs.js +470 -0
- package/dist/cjs/components/cell/helpers.d.ts +3 -0
- package/dist/cjs/components/cell/helpers.d.ts.map +1 -0
- package/dist/cjs/components/cell/helpers.js +20 -0
- package/dist/cjs/components/cell/index.d.ts +4 -0
- package/dist/cjs/components/cell/index.d.ts.map +1 -0
- package/dist/cjs/components/cell/index.js +272 -0
- package/dist/cjs/components/cell/rich-text.d.ts +82 -0
- package/dist/cjs/components/cell/rich-text.d.ts.map +1 -0
- package/dist/cjs/components/cell/rich-text.js +211 -0
- package/dist/cjs/components/cell/typings.d.ts +190 -0
- package/dist/cjs/components/cell/typings.d.ts.map +1 -0
- package/dist/cjs/components/cell/typings.js +2 -0
- package/dist/cjs/components/cell-arrow/index.d.ts +14 -0
- package/dist/cjs/components/cell-arrow/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-arrow/index.js +28 -0
- package/dist/cjs/components/cell-calculated/index.d.ts +17 -0
- package/dist/cjs/components/cell-calculated/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-calculated/index.js +20 -0
- package/dist/cjs/components/cell-checkbox/index.d.ts +14 -0
- package/dist/cjs/components/cell-checkbox/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-checkbox/index.js +29 -0
- package/dist/cjs/components/cell-diff/index.d.ts +42 -0
- package/dist/cjs/components/cell-diff/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-diff/index.js +94 -0
- package/dist/cjs/components/cell-editor/calendar-popup.d.ts +9 -0
- package/dist/cjs/components/cell-editor/calendar-popup.d.ts.map +1 -0
- package/dist/cjs/components/cell-editor/calendar-popup.js +25 -0
- package/dist/cjs/components/cell-editor/formula-result-preview.d.ts +9 -0
- package/dist/cjs/components/cell-editor/formula-result-preview.d.ts.map +1 -0
- package/dist/cjs/components/cell-editor/formula-result-preview.js +26 -0
- package/dist/cjs/components/cell-editor/helpers.d.ts +11 -0
- package/dist/cjs/components/cell-editor/helpers.d.ts.map +1 -0
- package/dist/cjs/components/cell-editor/helpers.js +41 -0
- package/dist/cjs/components/cell-editor/helpers.spec.d.ts +2 -0
- package/dist/cjs/components/cell-editor/helpers.spec.d.ts.map +1 -0
- package/dist/cjs/components/cell-editor/helpers.spec.js +18 -0
- package/dist/cjs/components/cell-editor/index.d.ts +146 -0
- package/dist/cjs/components/cell-editor/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-editor/index.js +268 -0
- package/dist/cjs/components/cell-editor/style.d.ts +9 -0
- package/dist/cjs/components/cell-editor/style.d.ts.map +1 -0
- package/dist/cjs/components/cell-editor/style.js +31 -0
- package/dist/cjs/components/cell-error/index.d.ts +14 -0
- package/dist/cjs/components/cell-error/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-error/index.js +24 -0
- package/dist/cjs/components/cell-expand/index.d.ts +15 -0
- package/dist/cjs/components/cell-expand/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-expand/index.js +31 -0
- package/dist/cjs/components/cell-filter/index.d.ts +21 -0
- package/dist/cjs/components/cell-filter/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-filter/index.js +40 -0
- package/dist/cjs/components/cell-group/index.d.ts +17 -0
- package/dist/cjs/components/cell-group/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-group/index.js +32 -0
- package/dist/cjs/components/cell-input/cell-input.d.ts +123 -0
- package/dist/cjs/components/cell-input/cell-input.d.ts.map +1 -0
- package/dist/cjs/components/cell-input/cell-input.js +68 -0
- package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts +21 -0
- package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -0
- package/dist/cjs/components/cell-input/formula-bar-cell-input.js +63 -0
- package/dist/cjs/components/cell-input/index.d.ts +3 -0
- package/dist/cjs/components/cell-input/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-input/index.js +5 -0
- package/dist/cjs/components/cell-input/style.d.ts +6 -0
- package/dist/cjs/components/cell-input/style.d.ts.map +1 -0
- package/dist/cjs/components/cell-input/style.js +14 -0
- package/dist/cjs/components/cell-overlay/index.d.ts +25 -0
- package/dist/cjs/components/cell-overlay/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-overlay/index.js +161 -0
- package/dist/cjs/components/cell-structured/index.d.ts +8 -0
- package/dist/cjs/components/cell-structured/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-structured/index.js +21 -0
- package/dist/cjs/components/cell-structured/sparkline-math.d.ts +54 -0
- package/dist/cjs/components/cell-structured/sparkline-math.d.ts.map +1 -0
- package/dist/cjs/components/cell-structured/sparkline-math.js +111 -0
- package/dist/cjs/components/cell-structured/sparkline.d.ts +6 -0
- package/dist/cjs/components/cell-structured/sparkline.d.ts.map +1 -0
- package/dist/cjs/components/cell-structured/sparkline.js +256 -0
- package/dist/cjs/components/cell-structured/types.d.ts +23 -0
- package/dist/cjs/components/cell-structured/types.d.ts.map +1 -0
- package/dist/cjs/components/cell-structured/types.js +2 -0
- package/dist/cjs/components/cell-tooltip/index.d.ts +28 -0
- package/dist/cjs/components/cell-tooltip/index.d.ts.map +1 -0
- package/dist/cjs/components/cell-tooltip/index.js +55 -0
- package/dist/cjs/components/cell-tooltip/note-editor.d.ts +12 -0
- package/dist/cjs/components/cell-tooltip/note-editor.d.ts.map +1 -0
- package/dist/cjs/components/cell-tooltip/note-editor.js +26 -0
- package/dist/cjs/components/cell-tooltip/style.d.ts +3 -0
- package/dist/cjs/components/cell-tooltip/style.d.ts.map +1 -0
- package/dist/cjs/components/cell-tooltip/style.js +11 -0
- package/dist/cjs/components/context-menu/index.d.ts +80 -0
- package/dist/cjs/components/context-menu/index.d.ts.map +1 -0
- package/dist/cjs/components/context-menu/index.js +666 -0
- package/dist/cjs/components/context-menu/menu.d.ts +10 -0
- package/dist/cjs/components/context-menu/menu.d.ts.map +1 -0
- package/dist/cjs/components/context-menu/menu.js +15 -0
- package/dist/cjs/components/context-menu/style.d.ts +6 -0
- package/dist/cjs/components/context-menu/style.d.ts.map +1 -0
- package/dist/cjs/components/context-menu/style.js +16 -0
- package/dist/cjs/components/embeds/chart-component.d.ts +16 -0
- package/dist/cjs/components/embeds/chart-component.d.ts.map +1 -0
- package/dist/cjs/components/embeds/chart-component.js +12 -0
- package/dist/cjs/components/embeds/embed-component.d.ts +17 -0
- package/dist/cjs/components/embeds/embed-component.d.ts.map +1 -0
- package/dist/cjs/components/embeds/embed-component.js +128 -0
- package/dist/cjs/components/embeds/embed-draggable.d.ts +43 -0
- package/dist/cjs/components/embeds/embed-draggable.d.ts.map +1 -0
- package/dist/cjs/components/embeds/embed-draggable.js +117 -0
- package/dist/cjs/components/embeds/index.d.ts +5 -0
- package/dist/cjs/components/embeds/index.d.ts.map +1 -0
- package/dist/cjs/components/embeds/index.js +7 -0
- package/dist/cjs/components/embeds/shape-geometry.d.ts +10 -0
- package/dist/cjs/components/embeds/shape-geometry.d.ts.map +1 -0
- package/dist/cjs/components/embeds/shape-geometry.js +265 -0
- package/dist/cjs/components/embeds/shape-svg.d.ts +56 -0
- package/dist/cjs/components/embeds/shape-svg.d.ts.map +1 -0
- package/dist/cjs/components/embeds/shape-svg.js +165 -0
- package/dist/cjs/components/embeds/slicer-component.d.ts +27 -0
- package/dist/cjs/components/embeds/slicer-component.d.ts.map +1 -0
- package/dist/cjs/components/embeds/slicer-component.js +283 -0
- package/dist/cjs/components/fill-handle/index.d.ts +7 -0
- package/dist/cjs/components/fill-handle/index.d.ts.map +1 -0
- package/dist/cjs/components/fill-handle/index.js +19 -0
- package/dist/cjs/components/filter-box/filter-by-color.d.ts +28 -0
- package/dist/cjs/components/filter-box/filter-by-color.d.ts.map +1 -0
- package/dist/cjs/components/filter-box/filter-by-color.js +104 -0
- package/dist/cjs/components/filter-box/filter-by-condition.d.ts +13 -0
- package/dist/cjs/components/filter-box/filter-by-condition.d.ts.map +1 -0
- package/dist/cjs/components/filter-box/filter-by-condition.js +47 -0
- package/dist/cjs/components/filter-box/filter-by-value.d.ts +9 -0
- package/dist/cjs/components/filter-box/filter-by-value.d.ts.map +1 -0
- package/dist/cjs/components/filter-box/filter-by-value.js +86 -0
- package/dist/cjs/components/filter-box/index.d.ts +50 -0
- package/dist/cjs/components/filter-box/index.d.ts.map +1 -0
- package/dist/cjs/components/filter-box/index.js +357 -0
- package/dist/cjs/components/floating-cell-editor/index.d.ts +83 -0
- package/dist/cjs/components/floating-cell-editor/index.d.ts.map +1 -0
- package/dist/cjs/components/floating-cell-editor/index.js +180 -0
- package/dist/cjs/components/formula-bar/index.d.ts +11 -0
- package/dist/cjs/components/formula-bar/index.d.ts.map +1 -0
- package/dist/cjs/components/formula-bar/index.js +19 -0
- package/dist/cjs/components/formula-bar/style.d.ts +4 -0
- package/dist/cjs/components/formula-bar/style.d.ts.map +1 -0
- package/dist/cjs/components/formula-bar/style.js +16 -0
- package/dist/cjs/components/formula-input/index.d.ts +17 -0
- package/dist/cjs/components/formula-input/index.d.ts.map +1 -0
- package/dist/cjs/components/formula-input/index.js +92 -0
- package/dist/cjs/components/grid-footer/index.d.ts +14 -0
- package/dist/cjs/components/grid-footer/index.d.ts.map +1 -0
- package/dist/cjs/components/grid-footer/index.js +40 -0
- package/dist/cjs/components/header-cell/index.d.ts +10 -0
- package/dist/cjs/components/header-cell/index.d.ts.map +1 -0
- package/dist/cjs/components/header-cell/index.js +25 -0
- package/dist/cjs/components/header-menu/index.d.ts +13 -0
- package/dist/cjs/components/header-menu/index.d.ts.map +1 -0
- package/dist/cjs/components/header-menu/index.js +19 -0
- package/dist/cjs/components/header-move/index.d.ts +23 -0
- package/dist/cjs/components/header-move/index.d.ts.map +1 -0
- package/dist/cjs/components/header-move/index.js +46 -0
- package/dist/cjs/components/header-resizer/index.d.ts +19 -0
- package/dist/cjs/components/header-resizer/index.d.ts.map +1 -0
- package/dist/cjs/components/header-resizer/index.js +38 -0
- package/dist/cjs/components/hidden-markers/index.d.ts +15 -0
- package/dist/cjs/components/hidden-markers/index.d.ts.map +1 -0
- package/dist/cjs/components/hidden-markers/index.js +47 -0
- package/dist/cjs/components/hidden-markers/style.d.ts +5 -0
- package/dist/cjs/components/hidden-markers/style.d.ts.map +1 -0
- package/dist/cjs/components/hidden-markers/style.js +11 -0
- package/dist/cjs/components/insert-function-dialog/index.d.ts +32 -0
- package/dist/cjs/components/insert-function-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/insert-function-dialog/index.js +84 -0
- package/dist/cjs/components/loading-indicator/index.d.ts +7 -0
- package/dist/cjs/components/loading-indicator/index.d.ts.map +1 -0
- package/dist/cjs/components/loading-indicator/index.js +14 -0
- package/dist/cjs/components/outline-gutter/index.d.ts +44 -0
- package/dist/cjs/components/outline-gutter/index.d.ts.map +1 -0
- package/dist/cjs/components/outline-gutter/index.js +450 -0
- package/dist/cjs/components/pivot-placeholder/index.d.ts +12 -0
- package/dist/cjs/components/pivot-placeholder/index.d.ts.map +1 -0
- package/dist/cjs/components/pivot-placeholder/index.js +24 -0
- package/dist/cjs/components/print-preview/cell-styles.d.ts +18 -0
- package/dist/cjs/components/print-preview/cell-styles.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/cell-styles.js +181 -0
- package/dist/cjs/components/print-preview/index.d.ts +5 -0
- package/dist/cjs/components/print-preview/index.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/index.js +9 -0
- package/dist/cjs/components/print-preview/page-block.d.ts +62 -0
- package/dist/cjs/components/print-preview/page-block.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/page-block.js +322 -0
- package/dist/cjs/components/print-preview/print-preview-dialog.d.ts +49 -0
- package/dist/cjs/components/print-preview/print-preview-dialog.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/print-preview-dialog.js +374 -0
- package/dist/cjs/components/print-preview/run-print.d.ts +11 -0
- package/dist/cjs/components/print-preview/run-print.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/run-print.js +72 -0
- package/dist/cjs/components/print-preview/settings.d.ts +130 -0
- package/dist/cjs/components/print-preview/settings.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/settings.js +236 -0
- package/dist/cjs/components/print-preview/use-page-layout.d.ts +60 -0
- package/dist/cjs/components/print-preview/use-page-layout.d.ts.map +1 -0
- package/dist/cjs/components/print-preview/use-page-layout.js +161 -0
- package/dist/cjs/components/range-selector/index.d.ts +25 -0
- package/dist/cjs/components/range-selector/index.d.ts.map +1 -0
- package/dist/cjs/components/range-selector/index.js +250 -0
- package/dist/cjs/components/resizer/index.d.ts +9 -0
- package/dist/cjs/components/resizer/index.d.ts.map +1 -0
- package/dist/cjs/components/resizer/index.js +46 -0
- package/dist/cjs/components/selection/avatar.d.ts +14 -0
- package/dist/cjs/components/selection/avatar.d.ts.map +1 -0
- package/dist/cjs/components/selection/avatar.js +17 -0
- package/dist/cjs/components/selection/index.d.ts +9 -0
- package/dist/cjs/components/selection/index.d.ts.map +1 -0
- package/dist/cjs/components/selection/index.js +179 -0
- package/dist/cjs/components/selection/magic-fill.d.ts +26 -0
- package/dist/cjs/components/selection/magic-fill.d.ts.map +1 -0
- package/dist/cjs/components/selection/magic-fill.js +60 -0
- package/dist/cjs/components/selection/paste-menu.d.ts +10 -0
- package/dist/cjs/components/selection/paste-menu.d.ts.map +1 -0
- package/dist/cjs/components/selection/paste-menu.js +35 -0
- package/dist/cjs/components/selection/quick-edit.d.ts +14 -0
- package/dist/cjs/components/selection/quick-edit.d.ts.map +1 -0
- package/dist/cjs/components/selection/quick-edit.js +41 -0
- package/dist/cjs/components/selection/style.d.ts +15 -0
- package/dist/cjs/components/selection/style.d.ts.map +1 -0
- package/dist/cjs/components/selection/style.js +47 -0
- package/dist/cjs/components/selection/suggestion-action.d.ts +22 -0
- package/dist/cjs/components/selection/suggestion-action.d.ts.map +1 -0
- package/dist/cjs/components/selection/suggestion-action.js +61 -0
- package/dist/cjs/components/selection/title.d.ts +45 -0
- package/dist/cjs/components/selection/title.d.ts.map +1 -0
- package/dist/cjs/components/selection/title.js +93 -0
- package/dist/cjs/components/selection/types.d.ts +43 -0
- package/dist/cjs/components/selection/types.d.ts.map +1 -0
- package/dist/cjs/components/selection/types.js +2 -0
- package/dist/cjs/components/selection-input/index.d.ts +19 -0
- package/dist/cjs/components/selection-input/index.d.ts.map +1 -0
- package/dist/cjs/components/selection-input/index.js +30 -0
- package/dist/cjs/components/selection-input/style.d.ts +3 -0
- package/dist/cjs/components/selection-input/style.d.ts.map +1 -0
- package/dist/cjs/components/selection-input/style.js +11 -0
- package/dist/cjs/components/sheet-search/index.d.ts +41 -0
- package/dist/cjs/components/sheet-search/index.d.ts.map +1 -0
- package/dist/cjs/components/sheet-search/index.js +115 -0
- package/dist/cjs/components/sheet-status/index.d.ts +40 -0
- package/dist/cjs/components/sheet-status/index.d.ts.map +1 -0
- package/dist/cjs/components/sheet-status/index.js +154 -0
- package/dist/cjs/components/sheet-status/style.d.ts +4 -0
- package/dist/cjs/components/sheet-status/style.d.ts.map +1 -0
- package/dist/cjs/components/sheet-status/style.js +17 -0
- package/dist/cjs/components/sheet-switcher/index.d.ts +12 -0
- package/dist/cjs/components/sheet-switcher/index.d.ts.map +1 -0
- package/dist/cjs/components/sheet-switcher/index.js +39 -0
- package/dist/cjs/components/sheet-switcher/new-sheet-button.d.ts +4 -0
- package/dist/cjs/components/sheet-switcher/new-sheet-button.d.ts.map +1 -0
- package/dist/cjs/components/sheet-switcher/new-sheet-button.js +12 -0
- package/dist/cjs/components/sheet-tabs/context-menu.d.ts +43 -0
- package/dist/cjs/components/sheet-tabs/context-menu.d.ts.map +1 -0
- package/dist/cjs/components/sheet-tabs/context-menu.js +58 -0
- package/dist/cjs/components/sheet-tabs/index.d.ts +18 -0
- package/dist/cjs/components/sheet-tabs/index.d.ts.map +1 -0
- package/dist/cjs/components/sheet-tabs/index.js +231 -0
- package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts +21 -0
- package/dist/cjs/components/sheet-tabs/sheet-tab.d.ts.map +1 -0
- package/dist/cjs/components/sheet-tabs/sheet-tab.js +135 -0
- package/dist/cjs/components/sheet-tabs/style.d.ts +10 -0
- package/dist/cjs/components/sheet-tabs/style.d.ts.map +1 -0
- package/dist/cjs/components/sheet-tabs/style.js +38 -0
- package/dist/cjs/components/sheet-tabs/types.d.ts +45 -0
- package/dist/cjs/components/sheet-tabs/types.d.ts.map +1 -0
- package/dist/cjs/components/sheet-tabs/types.js +2 -0
- package/dist/cjs/components/sort-range-dialog/index.d.ts +66 -0
- package/dist/cjs/components/sort-range-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/sort-range-dialog/index.js +260 -0
- package/dist/cjs/components/toolbar/background-color-selector.d.ts +19 -0
- package/dist/cjs/components/toolbar/background-color-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/background-color-selector.js +34 -0
- package/dist/cjs/components/toolbar/border-color-selector.d.ts +18 -0
- package/dist/cjs/components/toolbar/border-color-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/border-color-selector.js +31 -0
- package/dist/cjs/components/toolbar/border-line-style-options.d.ts +9 -0
- package/dist/cjs/components/toolbar/border-line-style-options.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/border-line-style-options.js +48 -0
- package/dist/cjs/components/toolbar/border-line-style-selector.d.ts +9 -0
- package/dist/cjs/components/toolbar/border-line-style-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/border-line-style-selector.js +25 -0
- package/dist/cjs/components/toolbar/border-location-options.d.ts +11 -0
- package/dist/cjs/components/toolbar/border-location-options.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/border-location-options.js +71 -0
- package/dist/cjs/components/toolbar/border-selector.d.ts +20 -0
- package/dist/cjs/components/toolbar/border-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/border-selector.js +65 -0
- package/dist/cjs/components/toolbar/buttons.d.ts +55 -0
- package/dist/cjs/components/toolbar/buttons.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/buttons.js +216 -0
- package/dist/cjs/components/toolbar/cell-style-selector.d.ts +25 -0
- package/dist/cjs/components/toolbar/cell-style-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/cell-style-selector.js +531 -0
- package/dist/cjs/components/toolbar/color-selector.d.ts +13 -0
- package/dist/cjs/components/toolbar/color-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/color-selector.js +57 -0
- package/dist/cjs/components/toolbar/font-family-selector.d.ts +22 -0
- package/dist/cjs/components/toolbar/font-family-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/font-family-selector.js +183 -0
- package/dist/cjs/components/toolbar/font-size-selector.d.ts +10 -0
- package/dist/cjs/components/toolbar/font-size-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/font-size-selector.js +149 -0
- package/dist/cjs/components/toolbar/index.d.ts +25 -0
- package/dist/cjs/components/toolbar/index.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/index.js +27 -0
- package/dist/cjs/components/toolbar/insert-menu.d.ts +22 -0
- package/dist/cjs/components/toolbar/insert-menu.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/insert-menu.js +146 -0
- package/dist/cjs/components/toolbar/merge-cells-selector.d.ts +15 -0
- package/dist/cjs/components/toolbar/merge-cells-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/merge-cells-selector.js +56 -0
- package/dist/cjs/components/toolbar/scale-selector.d.ts +13 -0
- package/dist/cjs/components/toolbar/scale-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/scale-selector.js +78 -0
- package/dist/cjs/components/toolbar/style.d.ts +3 -0
- package/dist/cjs/components/toolbar/style.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/style.js +11 -0
- package/dist/cjs/components/toolbar/table-actions.d.ts +15 -0
- package/dist/cjs/components/toolbar/table-actions.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/table-actions.js +47 -0
- package/dist/cjs/components/toolbar/table-style-selector.d.ts +25 -0
- package/dist/cjs/components/toolbar/table-style-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/table-style-selector.js +494 -0
- package/dist/cjs/components/toolbar/text-color-selector.d.ts +20 -0
- package/dist/cjs/components/toolbar/text-color-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/text-color-selector.js +34 -0
- package/dist/cjs/components/toolbar/text-format-selector.d.ts +23 -0
- package/dist/cjs/components/toolbar/text-format-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/text-format-selector.js +263 -0
- package/dist/cjs/components/toolbar/text-horizontal-align-selector.d.ts +10 -0
- package/dist/cjs/components/toolbar/text-horizontal-align-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/text-horizontal-align-selector.js +42 -0
- package/dist/cjs/components/toolbar/text-vertical-align-selector.d.ts +9 -0
- package/dist/cjs/components/toolbar/text-vertical-align-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/text-vertical-align-selector.js +42 -0
- package/dist/cjs/components/toolbar/text-wrap-selector.d.ts +9 -0
- package/dist/cjs/components/toolbar/text-wrap-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/text-wrap-selector.js +41 -0
- package/dist/cjs/components/toolbar/theme-selector.d.ts +10 -0
- package/dist/cjs/components/toolbar/theme-selector.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/theme-selector.js +32 -0
- package/dist/cjs/components/toolbar/toolbar.d.ts +12 -0
- package/dist/cjs/components/toolbar/toolbar.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/toolbar.js +145 -0
- package/dist/cjs/components/toolbar/types.d.ts +2 -0
- package/dist/cjs/components/toolbar/types.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/types.js +2 -0
- package/dist/cjs/components/toolbar/view-menu.d.ts +25 -0
- package/dist/cjs/components/toolbar/view-menu.d.ts.map +1 -0
- package/dist/cjs/components/toolbar/view-menu.js +46 -0
- package/dist/cjs/components/validation-alert-dialog/index.d.ts +15 -0
- package/dist/cjs/components/validation-alert-dialog/index.d.ts.map +1 -0
- package/dist/cjs/components/validation-alert-dialog/index.js +69 -0
- package/dist/cjs/config.d.ts +107 -0
- package/dist/cjs/config.d.ts.map +1 -0
- package/dist/cjs/config.js +270 -0
- package/dist/cjs/helpers/merged-cell-borders.d.ts +26 -0
- package/dist/cjs/helpers/merged-cell-borders.d.ts.map +1 -0
- package/dist/cjs/helpers/merged-cell-borders.js +44 -0
- package/dist/cjs/helpers.d.ts +118 -0
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +524 -0
- package/dist/cjs/hooks/index.d.ts +11 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/hooks/index.js +13 -0
- package/dist/cjs/hooks/show-zeros.d.ts +13 -0
- package/dist/cjs/hooks/show-zeros.d.ts.map +1 -0
- package/dist/cjs/hooks/show-zeros.js +24 -0
- package/dist/cjs/hooks/use-async.d.ts +2 -0
- package/dist/cjs/hooks/use-async.d.ts.map +1 -0
- package/dist/cjs/hooks/use-async.js +37 -0
- package/dist/cjs/hooks/use-border-styles.d.ts +31 -0
- package/dist/cjs/hooks/use-border-styles.d.ts.map +1 -0
- package/dist/cjs/hooks/use-border-styles.js +433 -0
- package/dist/cjs/hooks/use-callback-ref.d.ts +6 -0
- package/dist/cjs/hooks/use-callback-ref.d.ts.map +1 -0
- package/dist/cjs/hooks/use-callback-ref.js +27 -0
- package/dist/cjs/hooks/use-cell-diff-highlight.d.ts +43 -0
- package/dist/cjs/hooks/use-cell-diff-highlight.d.ts.map +1 -0
- package/dist/cjs/hooks/use-cell-diff-highlight.js +83 -0
- package/dist/cjs/hooks/use-cell-popover.d.ts +55 -0
- package/dist/cjs/hooks/use-cell-popover.d.ts.map +1 -0
- package/dist/cjs/hooks/use-cell-popover.js +99 -0
- package/dist/cjs/hooks/use-cell-renderer.d.ts +226 -0
- package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-cell-renderer.js +361 -0
- package/dist/cjs/hooks/use-column-color-icons.d.ts +43 -0
- package/dist/cjs/hooks/use-column-color-icons.d.ts.map +1 -0
- package/dist/cjs/hooks/use-column-color-icons.js +86 -0
- package/dist/cjs/hooks/use-conditional-formatting.d.ts +35 -0
- package/dist/cjs/hooks/use-conditional-formatting.d.ts.map +1 -0
- package/dist/cjs/hooks/use-conditional-formatting.js +720 -0
- package/dist/cjs/hooks/use-context-menu.d.ts +52 -0
- package/dist/cjs/hooks/use-context-menu.d.ts.map +1 -0
- package/dist/cjs/hooks/use-context-menu.js +83 -0
- package/dist/cjs/hooks/use-context-setter.d.ts +3 -0
- package/dist/cjs/hooks/use-context-setter.d.ts.map +1 -0
- package/dist/cjs/hooks/use-context-setter.js +132 -0
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts +45 -0
- package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -0
- package/dist/cjs/hooks/use-copy-paste-cut.js +329 -0
- package/dist/cjs/hooks/use-create-address-from-selection.d.ts +15 -0
- package/dist/cjs/hooks/use-create-address-from-selection.d.ts.map +1 -0
- package/dist/cjs/hooks/use-create-address-from-selection.js +75 -0
- package/dist/cjs/hooks/use-create-formula-tokenizer.d.ts +15 -0
- package/dist/cjs/hooks/use-create-formula-tokenizer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-create-formula-tokenizer.js +67 -0
- package/dist/cjs/hooks/use-delayed-value.d.ts +8 -0
- package/dist/cjs/hooks/use-delayed-value.d.ts.map +1 -0
- package/dist/cjs/hooks/use-delayed-value.js +34 -0
- package/dist/cjs/hooks/use-editable.d.ts +366 -0
- package/dist/cjs/hooks/use-editable.d.ts.map +1 -0
- package/dist/cjs/hooks/use-editable.js +823 -0
- package/dist/cjs/hooks/use-editor-cancel.d.ts +25 -0
- package/dist/cjs/hooks/use-editor-cancel.d.ts.map +1 -0
- package/dist/cjs/hooks/use-editor-cancel.js +51 -0
- package/dist/cjs/hooks/use-editor-change.d.ts +13 -0
- package/dist/cjs/hooks/use-editor-change.d.ts.map +1 -0
- package/dist/cjs/hooks/use-editor-change.js +72 -0
- package/dist/cjs/hooks/use-editor-keydown.d.ts +11 -0
- package/dist/cjs/hooks/use-editor-keydown.d.ts.map +1 -0
- package/dist/cjs/hooks/use-editor-keydown.js +47 -0
- package/dist/cjs/hooks/use-editor-submit.d.ts +58 -0
- package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -0
- package/dist/cjs/hooks/use-editor-submit.js +97 -0
- package/dist/cjs/hooks/use-embeds-charts.d.ts +193 -0
- package/dist/cjs/hooks/use-embeds-charts.d.ts.map +1 -0
- package/dist/cjs/hooks/use-embeds-charts.js +284 -0
- package/dist/cjs/hooks/use-expand-cell.d.ts +35 -0
- package/dist/cjs/hooks/use-expand-cell.d.ts.map +1 -0
- package/dist/cjs/hooks/use-expand-cell.js +53 -0
- package/dist/cjs/hooks/use-export-range.d.ts +36 -0
- package/dist/cjs/hooks/use-export-range.d.ts.map +1 -0
- package/dist/cjs/hooks/use-export-range.js +259 -0
- package/dist/cjs/hooks/use-filter.d.ts +46 -0
- package/dist/cjs/hooks/use-filter.d.ts.map +1 -0
- package/dist/cjs/hooks/use-filter.js +181 -0
- package/dist/cjs/hooks/use-flash.d.ts +18 -0
- package/dist/cjs/hooks/use-flash.d.ts.map +1 -0
- package/dist/cjs/hooks/use-flash.js +77 -0
- package/dist/cjs/hooks/use-fonts.d.ts +8 -0
- package/dist/cjs/hooks/use-fonts.d.ts.map +1 -0
- package/dist/cjs/hooks/use-fonts.js +24 -0
- package/dist/cjs/hooks/use-formula-range-helpers.d.ts +21 -0
- package/dist/cjs/hooks/use-formula-range-helpers.d.ts.map +1 -0
- package/dist/cjs/hooks/use-formula-range-helpers.js +67 -0
- package/dist/cjs/hooks/use-get-tooltip.d.ts +52 -0
- package/dist/cjs/hooks/use-get-tooltip.d.ts.map +1 -0
- package/dist/cjs/hooks/use-get-tooltip.js +64 -0
- package/dist/cjs/hooks/use-get-values-from-range.d.ts +44 -0
- package/dist/cjs/hooks/use-get-values-from-range.d.ts.map +1 -0
- package/dist/cjs/hooks/use-get-values-from-range.js +194 -0
- package/dist/cjs/hooks/use-grid-children.d.ts +31 -0
- package/dist/cjs/hooks/use-grid-children.d.ts.map +1 -0
- package/dist/cjs/hooks/use-grid-children.js +139 -0
- package/dist/cjs/hooks/use-header-actions.d.ts +70 -0
- package/dist/cjs/hooks/use-header-actions.d.ts.map +1 -0
- package/dist/cjs/hooks/use-header-actions.js +256 -0
- package/dist/cjs/hooks/use-hidden-dimension-markers.d.ts +20 -0
- package/dist/cjs/hooks/use-hidden-dimension-markers.d.ts.map +1 -0
- package/dist/cjs/hooks/use-hidden-dimension-markers.js +138 -0
- package/dist/cjs/hooks/use-hidden-dimensions.d.ts +7 -0
- package/dist/cjs/hooks/use-hidden-dimensions.d.ts.map +1 -0
- package/dist/cjs/hooks/use-hidden-dimensions.js +60 -0
- package/dist/cjs/hooks/use-hovered-selection-ids.d.ts +9 -0
- package/dist/cjs/hooks/use-hovered-selection-ids.d.ts.map +1 -0
- package/dist/cjs/hooks/use-hovered-selection-ids.js +30 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts +6 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/cjs/hooks/use-isomorphic-layout-effect.js +11 -0
- package/dist/cjs/hooks/use-keyboard-handler.d.ts +57 -0
- package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -0
- package/dist/cjs/hooks/use-keyboard-handler.js +472 -0
- package/dist/cjs/hooks/use-licensekey-validator.d.ts +16 -0
- package/dist/cjs/hooks/use-licensekey-validator.d.ts.map +1 -0
- package/dist/cjs/hooks/use-licensekey-validator.js +180 -0
- package/dist/cjs/hooks/use-memo-compare.d.ts +2 -0
- package/dist/cjs/hooks/use-memo-compare.d.ts.map +1 -0
- package/dist/cjs/hooks/use-memo-compare.js +18 -0
- package/dist/cjs/hooks/use-merge.refs.d.ts +4 -0
- package/dist/cjs/hooks/use-merge.refs.d.ts.map +1 -0
- package/dist/cjs/hooks/use-merge.refs.js +29 -0
- package/dist/cjs/hooks/use-move-columns-rows.d.ts +46 -0
- package/dist/cjs/hooks/use-move-columns-rows.d.ts.map +1 -0
- package/dist/cjs/hooks/use-move-columns-rows.js +344 -0
- package/dist/cjs/hooks/use-navigate-sheet-range.d.ts +16 -0
- package/dist/cjs/hooks/use-navigate-sheet-range.d.ts.map +1 -0
- package/dist/cjs/hooks/use-navigate-sheet-range.js +36 -0
- package/dist/cjs/hooks/use-previous.d.ts +3 -0
- package/dist/cjs/hooks/use-previous.d.ts.map +1 -0
- package/dist/cjs/hooks/use-previous.js +12 -0
- package/dist/cjs/hooks/use-raf.d.ts +6 -0
- package/dist/cjs/hooks/use-raf.d.ts.map +1 -0
- package/dist/cjs/hooks/use-raf.js +35 -0
- package/dist/cjs/hooks/use-resize-observer.d.ts +6 -0
- package/dist/cjs/hooks/use-resize-observer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-resize-observer.js +46 -0
- package/dist/cjs/hooks/use-scale-listener.d.ts +11 -0
- package/dist/cjs/hooks/use-scale-listener.d.ts.map +1 -0
- package/dist/cjs/hooks/use-scale-listener.js +52 -0
- package/dist/cjs/hooks/use-selected-rows-columns.d.ts +21 -0
- package/dist/cjs/hooks/use-selected-rows-columns.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selected-rows-columns.js +74 -0
- package/dist/cjs/hooks/use-selection-aware-formatting.d.ts +13 -0
- package/dist/cjs/hooks/use-selection-aware-formatting.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-aware-formatting.js +49 -0
- package/dist/cjs/hooks/use-selection-change.d.ts +10 -0
- package/dist/cjs/hooks/use-selection-change.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-change.js +63 -0
- package/dist/cjs/hooks/use-selection-interceptors.d.ts +34 -0
- package/dist/cjs/hooks/use-selection-interceptors.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-interceptors.js +131 -0
- package/dist/cjs/hooks/use-selection-move.d.ts +31 -0
- package/dist/cjs/hooks/use-selection-move.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-move.js +155 -0
- package/dist/cjs/hooks/use-selection-renderer.d.ts +46 -0
- package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-renderer.js +145 -0
- package/dist/cjs/hooks/use-selection-resize.d.ts +30 -0
- package/dist/cjs/hooks/use-selection-resize.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection-resize.js +180 -0
- package/dist/cjs/hooks/use-selection.d.ts +185 -0
- package/dist/cjs/hooks/use-selection.d.ts.map +1 -0
- package/dist/cjs/hooks/use-selection.js +1515 -0
- package/dist/cjs/hooks/use-sheet-change-handler.d.ts +3 -0
- package/dist/cjs/hooks/use-sheet-change-handler.d.ts.map +1 -0
- package/dist/cjs/hooks/use-sheet-change-handler.js +38 -0
- package/dist/cjs/hooks/use-sizer.d.ts +164 -0
- package/dist/cjs/hooks/use-sizer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-sizer.js +424 -0
- package/dist/cjs/hooks/use-spreadsheet-theme.d.ts +17 -0
- package/dist/cjs/hooks/use-spreadsheet-theme.d.ts.map +1 -0
- package/dist/cjs/hooks/use-spreadsheet-theme.js +55 -0
- package/dist/cjs/hooks/use-stable-ref.d.ts +2 -0
- package/dist/cjs/hooks/use-stable-ref.d.ts.map +1 -0
- package/dist/cjs/hooks/use-stable-ref.js +14 -0
- package/dist/cjs/hooks/use-structured-reference-selection.d.ts +23 -0
- package/dist/cjs/hooks/use-structured-reference-selection.d.ts.map +1 -0
- package/dist/cjs/hooks/use-structured-reference-selection.js +103 -0
- package/dist/cjs/hooks/use-table-resizer.d.ts +23 -0
- package/dist/cjs/hooks/use-table-resizer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-table-resizer.js +112 -0
- package/dist/cjs/hooks/use-text-dimensions.d.ts +16 -0
- package/dist/cjs/hooks/use-text-dimensions.d.ts.map +1 -0
- package/dist/cjs/hooks/use-text-dimensions.js +40 -0
- package/dist/cjs/hooks/use-tooltip.d.ts +70 -0
- package/dist/cjs/hooks/use-tooltip.d.ts.map +1 -0
- package/dist/cjs/hooks/use-tooltip.js +79 -0
- package/dist/cjs/hooks/use-touch.d.ts +16 -0
- package/dist/cjs/hooks/use-touch.d.ts.map +1 -0
- package/dist/cjs/hooks/use-touch.js +237 -0
- package/dist/cjs/index.d.ts +69 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +81 -0
- package/dist/cjs/providers/spreadsheet-provider.d.ts +25 -0
- package/dist/cjs/providers/spreadsheet-provider.d.ts.map +1 -0
- package/dist/cjs/providers/spreadsheet-provider.js +40 -0
- package/dist/cjs/release-date.d.ts +2 -0
- package/dist/cjs/release-date.d.ts.map +1 -0
- package/dist/cjs/release-date.js +7 -0
- package/dist/cjs/signals/scroll-subscriber.d.ts +4 -0
- package/dist/cjs/signals/scroll-subscriber.d.ts.map +1 -0
- package/dist/cjs/signals/scroll-subscriber.js +5 -0
- package/dist/cjs/test-setup.d.ts +2 -0
- package/dist/cjs/test-setup.d.ts.map +1 -0
- package/dist/cjs/test-setup.js +17 -0
- package/dist/cjs/themes.d.ts +13 -0
- package/dist/cjs/themes.d.ts.map +1 -0
- package/dist/cjs/themes.js +251 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/cjs/types.d.ts +1215 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +12 -0
- package/dist/cjs/utils/maybe.d.ts +12 -0
- package/dist/cjs/utils/maybe.d.ts.map +1 -0
- package/dist/cjs/utils/maybe.js +19 -0
- package/dist/cjs/vitest.config.d.ts +3 -0
- package/dist/cjs/vitest.config.d.ts.map +1 -0
- package/dist/cjs/vitest.config.js +24 -0
- package/dist/esm/api/animate.d.ts +36 -0
- package/dist/esm/api/animate.d.ts.map +1 -0
- package/dist/esm/api/animate.js +117 -0
- package/dist/esm/api/banded-ranges.d.ts +16 -0
- package/dist/esm/api/banded-ranges.d.ts.map +1 -0
- package/dist/esm/api/banded-ranges.js +118 -0
- package/dist/esm/api/cf-engine.d.ts +36 -0
- package/dist/esm/api/cf-engine.d.ts.map +1 -0
- package/dist/esm/api/cf-engine.js +54 -0
- package/dist/esm/api/cf-overlays.d.ts +7 -0
- package/dist/esm/api/cf-overlays.d.ts.map +1 -0
- package/dist/esm/api/cf-overlays.js +118 -0
- package/dist/esm/api/cf-window.d.ts +45 -0
- package/dist/esm/api/cf-window.d.ts.map +1 -0
- package/dist/esm/api/cf-window.js +109 -0
- package/dist/esm/api/colors.d.ts +8 -0
- package/dist/esm/api/colors.d.ts.map +1 -0
- package/dist/esm/api/colors.js +27 -0
- package/dist/esm/api/copy-paste.d.ts +10 -0
- package/dist/esm/api/copy-paste.d.ts.map +1 -0
- package/dist/esm/api/copy-paste.js +23 -0
- package/dist/esm/api/fill-patterns.d.ts +5 -0
- package/dist/esm/api/fill-patterns.d.ts.map +1 -0
- package/dist/esm/api/fill-patterns.js +196 -0
- package/dist/esm/api/font-loader.d.ts +8 -0
- package/dist/esm/api/font-loader.d.ts.map +1 -0
- package/dist/esm/api/font-loader.js +67 -0
- package/dist/esm/api/heatmap.d.ts +4 -0
- package/dist/esm/api/heatmap.d.ts.map +1 -0
- package/dist/esm/api/heatmap.js +167 -0
- package/dist/esm/api/scheduler.d.ts +8 -0
- package/dist/esm/api/scheduler.d.ts.map +1 -0
- package/dist/esm/api/scheduler.js +6 -0
- package/dist/esm/api/scroller.d.ts +134 -0
- package/dist/esm/api/scroller.d.ts.map +1 -0
- package/dist/esm/api/scroller.js +704 -0
- package/dist/esm/api/selections.d.ts +111 -0
- package/dist/esm/api/selections.d.ts.map +1 -0
- package/dist/esm/api/selections.js +365 -0
- package/dist/esm/api/spreadsheet-api.d.ts +271 -0
- package/dist/esm/api/spreadsheet-api.d.ts.map +1 -0
- package/dist/esm/api/spreadsheet-api.js +649 -0
- package/dist/esm/api/table.d.ts +11 -0
- package/dist/esm/api/table.d.ts.map +1 -0
- package/dist/esm/api/table.js +11 -0
- package/dist/esm/api/validation.d.ts +98 -0
- package/dist/esm/api/validation.d.ts.map +1 -0
- package/dist/esm/api/validation.js +470 -0
- package/dist/esm/atoms/active-editor.atom.d.ts +8 -0
- package/dist/esm/atoms/active-editor.atom.d.ts.map +1 -0
- package/dist/esm/atoms/active-editor.atom.js +6 -0
- package/dist/esm/atoms/cell-input-context.atom.d.ts +15 -0
- package/dist/esm/atoms/cell-input-context.atom.d.ts.map +1 -0
- package/dist/esm/atoms/cell-input-context.atom.js +20 -0
- package/dist/esm/atoms/editing-cell.atom.d.ts +7 -0
- package/dist/esm/atoms/editing-cell.atom.d.ts.map +1 -0
- package/dist/esm/atoms/editing-cell.atom.js +4 -0
- package/dist/esm/atoms/formula-bar-editor-value.atom.d.ts +19 -0
- package/dist/esm/atoms/formula-bar-editor-value.atom.d.ts.map +1 -0
- package/dist/esm/atoms/formula-bar-editor-value.atom.js +17 -0
- package/dist/esm/atoms/formula-mode.atom.d.ts +7 -0
- package/dist/esm/atoms/formula-mode.atom.d.ts.map +1 -0
- package/dist/esm/atoms/formula-mode.atom.js +5 -0
- package/dist/esm/atoms/formula-selection-state.atom.d.ts +16 -0
- package/dist/esm/atoms/formula-selection-state.atom.d.ts.map +1 -0
- package/dist/esm/atoms/formula-selection-state.atom.js +14 -0
- package/dist/esm/atoms/formula-selections.atom.d.ts +8 -0
- package/dist/esm/atoms/formula-selections.atom.d.ts.map +1 -0
- package/dist/esm/atoms/formula-selections.atom.js +4 -0
- package/dist/esm/atoms/index.d.ts +18 -0
- package/dist/esm/atoms/index.d.ts.map +1 -0
- package/dist/esm/atoms/index.js +17 -0
- package/dist/esm/atoms/loading-indicator.atom.d.ts +12 -0
- package/dist/esm/atoms/loading-indicator.atom.d.ts.map +1 -0
- package/dist/esm/atoms/loading-indicator.atom.js +17 -0
- package/dist/esm/atoms/magic-fill-state.atom.d.ts +5 -0
- package/dist/esm/atoms/magic-fill-state.atom.d.ts.map +1 -0
- package/dist/esm/atoms/magic-fill-state.atom.js +6 -0
- package/dist/esm/atoms/paste-menu.atom.d.ts +6 -0
- package/dist/esm/atoms/paste-menu.atom.d.ts.map +1 -0
- package/dist/esm/atoms/paste-menu.atom.js +4 -0
- package/dist/esm/atoms/persistent-tooltip.atom.d.ts +11 -0
- package/dist/esm/atoms/persistent-tooltip.atom.d.ts.map +1 -0
- package/dist/esm/atoms/persistent-tooltip.atom.js +13 -0
- package/dist/esm/atoms/popover.atom.d.ts +7 -0
- package/dist/esm/atoms/popover.atom.d.ts.map +1 -0
- package/dist/esm/atoms/popover.atom.js +4 -0
- package/dist/esm/atoms/range-selector.atom.d.ts +6 -0
- package/dist/esm/atoms/range-selector.atom.d.ts.map +1 -0
- package/dist/esm/atoms/range-selector.atom.js +7 -0
- package/dist/esm/atoms/selected-chart-embed.atom.d.ts +6 -0
- package/dist/esm/atoms/selected-chart-embed.atom.d.ts.map +1 -0
- package/dist/esm/atoms/selected-chart-embed.atom.js +4 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts +66 -0
- package/dist/esm/atoms/sheet-context.atom.d.ts.map +1 -0
- package/dist/esm/atoms/sheet-context.atom.js +73 -0
- package/dist/esm/atoms/sheet-status-display.atom.d.ts +15 -0
- package/dist/esm/atoms/sheet-status-display.atom.d.ts.map +1 -0
- package/dist/esm/atoms/sheet-status-display.atom.js +11 -0
- package/dist/esm/atoms/show-formula-help.atom.d.ts +8 -0
- package/dist/esm/atoms/show-formula-help.atom.d.ts.map +1 -0
- package/dist/esm/atoms/show-formula-help.atom.js +13 -0
- package/dist/esm/atoms/sort-dialog.atom.d.ts +22 -0
- package/dist/esm/atoms/sort-dialog.atom.d.ts.map +1 -0
- package/dist/esm/atoms/sort-dialog.atom.js +9 -0
- package/dist/esm/atoms/spreadsheet-api.atom.d.ts +5 -0
- package/dist/esm/atoms/spreadsheet-api.atom.d.ts.map +1 -0
- package/dist/esm/atoms/spreadsheet-api.atom.js +4 -0
- package/dist/esm/atoms/validation-alert.atom.d.ts +27 -0
- package/dist/esm/atoms/validation-alert.atom.d.ts.map +1 -0
- package/dist/esm/atoms/validation-alert.atom.js +15 -0
- package/dist/esm/components/bottom-bar/index.d.ts +7 -0
- package/dist/esm/components/bottom-bar/index.d.ts.map +1 -0
- package/dist/esm/components/bottom-bar/index.js +5 -0
- package/dist/esm/components/canvas-grid/helpers.d.ts +15 -0
- package/dist/esm/components/canvas-grid/helpers.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/helpers.js +36 -0
- package/dist/esm/components/canvas-grid/index.d.ts +7 -0
- package/dist/esm/components/canvas-grid/index.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/index.js +3260 -0
- package/dist/esm/components/canvas-grid/typings.d.ts +2027 -0
- package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -0
- package/dist/esm/components/canvas-grid/typings.js +8 -0
- package/dist/esm/components/cell/alignment.d.ts +70 -0
- package/dist/esm/components/cell/alignment.d.ts.map +1 -0
- package/dist/esm/components/cell/alignment.js +127 -0
- package/dist/esm/components/cell/cell-background.d.ts +15 -0
- package/dist/esm/components/cell/cell-background.d.ts.map +1 -0
- package/dist/esm/components/cell/cell-background.js +142 -0
- package/dist/esm/components/cell/cell-text-runs.d.ts +98 -0
- package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -0
- package/dist/esm/components/cell/cell-text-runs.js +379 -0
- package/dist/esm/components/cell/helpers.d.ts +3 -0
- package/dist/esm/components/cell/helpers.d.ts.map +1 -0
- package/dist/esm/components/cell/helpers.js +11 -0
- package/dist/esm/components/cell/index.d.ts +4 -0
- package/dist/esm/components/cell/index.d.ts.map +1 -0
- package/dist/esm/components/cell/index.js +257 -0
- package/dist/esm/components/cell/rich-text.d.ts +82 -0
- package/dist/esm/components/cell/rich-text.d.ts.map +1 -0
- package/dist/esm/components/cell/rich-text.js +167 -0
- package/dist/esm/components/cell/typings.d.ts +190 -0
- package/dist/esm/components/cell/typings.d.ts.map +1 -0
- package/dist/esm/components/cell/typings.js +1 -0
- package/dist/esm/components/cell-arrow/index.d.ts +14 -0
- package/dist/esm/components/cell-arrow/index.d.ts.map +1 -0
- package/dist/esm/components/cell-arrow/index.js +22 -0
- package/dist/esm/components/cell-calculated/index.d.ts +17 -0
- package/dist/esm/components/cell-calculated/index.d.ts.map +1 -0
- package/dist/esm/components/cell-calculated/index.js +14 -0
- package/dist/esm/components/cell-checkbox/index.d.ts +14 -0
- package/dist/esm/components/cell-checkbox/index.d.ts.map +1 -0
- package/dist/esm/components/cell-checkbox/index.js +23 -0
- package/dist/esm/components/cell-diff/index.d.ts +42 -0
- package/dist/esm/components/cell-diff/index.d.ts.map +1 -0
- package/dist/esm/components/cell-diff/index.js +90 -0
- package/dist/esm/components/cell-editor/calendar-popup.d.ts +9 -0
- package/dist/esm/components/cell-editor/calendar-popup.d.ts.map +1 -0
- package/dist/esm/components/cell-editor/calendar-popup.js +19 -0
- package/dist/esm/components/cell-editor/formula-result-preview.d.ts +9 -0
- package/dist/esm/components/cell-editor/formula-result-preview.d.ts.map +1 -0
- package/dist/esm/components/cell-editor/formula-result-preview.js +20 -0
- package/dist/esm/components/cell-editor/helpers.d.ts +11 -0
- package/dist/esm/components/cell-editor/helpers.d.ts.map +1 -0
- package/dist/esm/components/cell-editor/helpers.js +34 -0
- package/dist/esm/components/cell-editor/helpers.spec.d.ts +2 -0
- package/dist/esm/components/cell-editor/helpers.spec.d.ts.map +1 -0
- package/dist/esm/components/cell-editor/helpers.spec.js +16 -0
- package/dist/esm/components/cell-editor/index.d.ts +146 -0
- package/dist/esm/components/cell-editor/index.d.ts.map +1 -0
- package/dist/esm/components/cell-editor/index.js +266 -0
- package/dist/esm/components/cell-editor/style.d.ts +9 -0
- package/dist/esm/components/cell-editor/style.d.ts.map +1 -0
- package/dist/esm/components/cell-editor/style.js +11 -0
- package/dist/esm/components/cell-error/index.d.ts +14 -0
- package/dist/esm/components/cell-error/index.d.ts.map +1 -0
- package/dist/esm/components/cell-error/index.js +18 -0
- package/dist/esm/components/cell-expand/index.d.ts +15 -0
- package/dist/esm/components/cell-expand/index.d.ts.map +1 -0
- package/dist/esm/components/cell-expand/index.js +25 -0
- package/dist/esm/components/cell-filter/index.d.ts +21 -0
- package/dist/esm/components/cell-filter/index.d.ts.map +1 -0
- package/dist/esm/components/cell-filter/index.js +34 -0
- package/dist/esm/components/cell-group/index.d.ts +17 -0
- package/dist/esm/components/cell-group/index.d.ts.map +1 -0
- package/dist/esm/components/cell-group/index.js +26 -0
- package/dist/esm/components/cell-input/cell-input.d.ts +123 -0
- package/dist/esm/components/cell-input/cell-input.d.ts.map +1 -0
- package/dist/esm/components/cell-input/cell-input.js +63 -0
- package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts +21 -0
- package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -0
- package/dist/esm/components/cell-input/formula-bar-cell-input.js +57 -0
- package/dist/esm/components/cell-input/index.d.ts +3 -0
- package/dist/esm/components/cell-input/index.d.ts.map +1 -0
- package/dist/esm/components/cell-input/index.js +2 -0
- package/dist/esm/components/cell-input/style.d.ts +6 -0
- package/dist/esm/components/cell-input/style.d.ts.map +1 -0
- package/dist/esm/components/cell-input/style.js +6 -0
- package/dist/esm/components/cell-overlay/index.d.ts +25 -0
- package/dist/esm/components/cell-overlay/index.d.ts.map +1 -0
- package/dist/esm/components/cell-overlay/index.js +155 -0
- package/dist/esm/components/cell-structured/index.d.ts +8 -0
- package/dist/esm/components/cell-structured/index.d.ts.map +1 -0
- package/dist/esm/components/cell-structured/index.js +16 -0
- package/dist/esm/components/cell-structured/sparkline-math.d.ts +54 -0
- package/dist/esm/components/cell-structured/sparkline-math.d.ts.map +1 -0
- package/dist/esm/components/cell-structured/sparkline-math.js +80 -0
- package/dist/esm/components/cell-structured/sparkline.d.ts +6 -0
- package/dist/esm/components/cell-structured/sparkline.d.ts.map +1 -0
- package/dist/esm/components/cell-structured/sparkline.js +246 -0
- package/dist/esm/components/cell-structured/types.d.ts +23 -0
- package/dist/esm/components/cell-structured/types.d.ts.map +1 -0
- package/dist/esm/components/cell-structured/types.js +1 -0
- package/dist/esm/components/cell-tooltip/index.d.ts +28 -0
- package/dist/esm/components/cell-tooltip/index.d.ts.map +1 -0
- package/dist/esm/components/cell-tooltip/index.js +50 -0
- package/dist/esm/components/cell-tooltip/note-editor.d.ts +12 -0
- package/dist/esm/components/cell-tooltip/note-editor.d.ts.map +1 -0
- package/dist/esm/components/cell-tooltip/note-editor.js +19 -0
- package/dist/esm/components/cell-tooltip/style.d.ts +3 -0
- package/dist/esm/components/cell-tooltip/style.d.ts.map +1 -0
- package/dist/esm/components/cell-tooltip/style.js +4 -0
- package/dist/esm/components/context-menu/index.d.ts +80 -0
- package/dist/esm/components/context-menu/index.d.ts.map +1 -0
- package/dist/esm/components/context-menu/index.js +591 -0
- package/dist/esm/components/context-menu/menu.d.ts +10 -0
- package/dist/esm/components/context-menu/menu.d.ts.map +1 -0
- package/dist/esm/components/context-menu/menu.js +9 -0
- package/dist/esm/components/context-menu/style.d.ts +6 -0
- package/dist/esm/components/context-menu/style.d.ts.map +1 -0
- package/dist/esm/components/context-menu/style.js +7 -0
- package/dist/esm/components/embeds/chart-component.d.ts +16 -0
- package/dist/esm/components/embeds/chart-component.d.ts.map +1 -0
- package/dist/esm/components/embeds/chart-component.js +7 -0
- package/dist/esm/components/embeds/embed-component.d.ts +17 -0
- package/dist/esm/components/embeds/embed-component.d.ts.map +1 -0
- package/dist/esm/components/embeds/embed-component.js +124 -0
- package/dist/esm/components/embeds/embed-draggable.d.ts +43 -0
- package/dist/esm/components/embeds/embed-draggable.d.ts.map +1 -0
- package/dist/esm/components/embeds/embed-draggable.js +115 -0
- package/dist/esm/components/embeds/index.d.ts +5 -0
- package/dist/esm/components/embeds/index.d.ts.map +1 -0
- package/dist/esm/components/embeds/index.js +4 -0
- package/dist/esm/components/embeds/shape-geometry.d.ts +10 -0
- package/dist/esm/components/embeds/shape-geometry.d.ts.map +1 -0
- package/dist/esm/components/embeds/shape-geometry.js +224 -0
- package/dist/esm/components/embeds/shape-svg.d.ts +56 -0
- package/dist/esm/components/embeds/shape-svg.d.ts.map +1 -0
- package/dist/esm/components/embeds/shape-svg.js +149 -0
- package/dist/esm/components/embeds/slicer-component.d.ts +27 -0
- package/dist/esm/components/embeds/slicer-component.d.ts.map +1 -0
- package/dist/esm/components/embeds/slicer-component.js +231 -0
- package/dist/esm/components/fill-handle/index.d.ts +7 -0
- package/dist/esm/components/fill-handle/index.d.ts.map +1 -0
- package/dist/esm/components/fill-handle/index.js +13 -0
- package/dist/esm/components/filter-box/filter-by-color.d.ts +28 -0
- package/dist/esm/components/filter-box/filter-by-color.d.ts.map +1 -0
- package/dist/esm/components/filter-box/filter-by-color.js +88 -0
- package/dist/esm/components/filter-box/filter-by-condition.d.ts +13 -0
- package/dist/esm/components/filter-box/filter-by-condition.d.ts.map +1 -0
- package/dist/esm/components/filter-box/filter-by-condition.js +34 -0
- package/dist/esm/components/filter-box/filter-by-value.d.ts +9 -0
- package/dist/esm/components/filter-box/filter-by-value.d.ts.map +1 -0
- package/dist/esm/components/filter-box/filter-by-value.js +76 -0
- package/dist/esm/components/filter-box/index.d.ts +50 -0
- package/dist/esm/components/filter-box/index.d.ts.map +1 -0
- package/dist/esm/components/filter-box/index.js +337 -0
- package/dist/esm/components/floating-cell-editor/index.d.ts +83 -0
- package/dist/esm/components/floating-cell-editor/index.d.ts.map +1 -0
- package/dist/esm/components/floating-cell-editor/index.js +168 -0
- package/dist/esm/components/formula-bar/index.d.ts +11 -0
- package/dist/esm/components/formula-bar/index.d.ts.map +1 -0
- package/dist/esm/components/formula-bar/index.js +14 -0
- package/dist/esm/components/formula-bar/style.d.ts +4 -0
- package/dist/esm/components/formula-bar/style.d.ts.map +1 -0
- package/dist/esm/components/formula-bar/style.js +6 -0
- package/dist/esm/components/formula-input/index.d.ts +17 -0
- package/dist/esm/components/formula-input/index.d.ts.map +1 -0
- package/dist/esm/components/formula-input/index.js +85 -0
- package/dist/esm/components/grid-footer/index.d.ts +14 -0
- package/dist/esm/components/grid-footer/index.d.ts.map +1 -0
- package/dist/esm/components/grid-footer/index.js +33 -0
- package/dist/esm/components/header-cell/index.d.ts +10 -0
- package/dist/esm/components/header-cell/index.d.ts.map +1 -0
- package/dist/esm/components/header-cell/index.js +21 -0
- package/dist/esm/components/header-menu/index.d.ts +13 -0
- package/dist/esm/components/header-menu/index.d.ts.map +1 -0
- package/dist/esm/components/header-menu/index.js +13 -0
- package/dist/esm/components/header-move/index.d.ts +23 -0
- package/dist/esm/components/header-move/index.d.ts.map +1 -0
- package/dist/esm/components/header-move/index.js +48 -0
- package/dist/esm/components/header-resizer/index.d.ts +19 -0
- package/dist/esm/components/header-resizer/index.d.ts.map +1 -0
- package/dist/esm/components/header-resizer/index.js +33 -0
- package/dist/esm/components/hidden-markers/index.d.ts +15 -0
- package/dist/esm/components/hidden-markers/index.d.ts.map +1 -0
- package/dist/esm/components/hidden-markers/index.js +39 -0
- package/dist/esm/components/hidden-markers/style.d.ts +5 -0
- package/dist/esm/components/hidden-markers/style.d.ts.map +1 -0
- package/dist/esm/components/hidden-markers/style.js +4 -0
- package/dist/esm/components/insert-function-dialog/index.d.ts +32 -0
- package/dist/esm/components/insert-function-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/insert-function-dialog/index.js +75 -0
- package/dist/esm/components/loading-indicator/index.d.ts +7 -0
- package/dist/esm/components/loading-indicator/index.d.ts.map +1 -0
- package/dist/esm/components/loading-indicator/index.js +8 -0
- package/dist/esm/components/outline-gutter/index.d.ts +44 -0
- package/dist/esm/components/outline-gutter/index.d.ts.map +1 -0
- package/dist/esm/components/outline-gutter/index.js +395 -0
- package/dist/esm/components/pivot-placeholder/index.d.ts +12 -0
- package/dist/esm/components/pivot-placeholder/index.d.ts.map +1 -0
- package/dist/esm/components/pivot-placeholder/index.js +18 -0
- package/dist/esm/components/print-preview/cell-styles.d.ts +18 -0
- package/dist/esm/components/print-preview/cell-styles.d.ts.map +1 -0
- package/dist/esm/components/print-preview/cell-styles.js +174 -0
- package/dist/esm/components/print-preview/index.d.ts +5 -0
- package/dist/esm/components/print-preview/index.d.ts.map +1 -0
- package/dist/esm/components/print-preview/index.js +2 -0
- package/dist/esm/components/print-preview/page-block.d.ts +62 -0
- package/dist/esm/components/print-preview/page-block.d.ts.map +1 -0
- package/dist/esm/components/print-preview/page-block.js +308 -0
- package/dist/esm/components/print-preview/print-preview-dialog.d.ts +49 -0
- package/dist/esm/components/print-preview/print-preview-dialog.d.ts.map +1 -0
- package/dist/esm/components/print-preview/print-preview-dialog.js +322 -0
- package/dist/esm/components/print-preview/run-print.d.ts +11 -0
- package/dist/esm/components/print-preview/run-print.d.ts.map +1 -0
- package/dist/esm/components/print-preview/run-print.js +107 -0
- package/dist/esm/components/print-preview/settings.d.ts +130 -0
- package/dist/esm/components/print-preview/settings.d.ts.map +1 -0
- package/dist/esm/components/print-preview/settings.js +227 -0
- package/dist/esm/components/print-preview/use-page-layout.d.ts +60 -0
- package/dist/esm/components/print-preview/use-page-layout.d.ts.map +1 -0
- package/dist/esm/components/print-preview/use-page-layout.js +133 -0
- package/dist/esm/components/range-selector/index.d.ts +25 -0
- package/dist/esm/components/range-selector/index.d.ts.map +1 -0
- package/dist/esm/components/range-selector/index.js +236 -0
- package/dist/esm/components/resizer/index.d.ts +9 -0
- package/dist/esm/components/resizer/index.d.ts.map +1 -0
- package/dist/esm/components/resizer/index.js +39 -0
- package/dist/esm/components/selection/avatar.d.ts +14 -0
- package/dist/esm/components/selection/avatar.d.ts.map +1 -0
- package/dist/esm/components/selection/avatar.js +15 -0
- package/dist/esm/components/selection/index.d.ts +9 -0
- package/dist/esm/components/selection/index.d.ts.map +1 -0
- package/dist/esm/components/selection/index.js +192 -0
- package/dist/esm/components/selection/magic-fill.d.ts +26 -0
- package/dist/esm/components/selection/magic-fill.d.ts.map +1 -0
- package/dist/esm/components/selection/magic-fill.js +52 -0
- package/dist/esm/components/selection/paste-menu.d.ts +10 -0
- package/dist/esm/components/selection/paste-menu.d.ts.map +1 -0
- package/dist/esm/components/selection/paste-menu.js +29 -0
- package/dist/esm/components/selection/quick-edit.d.ts +14 -0
- package/dist/esm/components/selection/quick-edit.d.ts.map +1 -0
- package/dist/esm/components/selection/quick-edit.js +41 -0
- package/dist/esm/components/selection/style.d.ts +15 -0
- package/dist/esm/components/selection/style.d.ts.map +1 -0
- package/dist/esm/components/selection/style.js +22 -0
- package/dist/esm/components/selection/suggestion-action.d.ts +22 -0
- package/dist/esm/components/selection/suggestion-action.d.ts.map +1 -0
- package/dist/esm/components/selection/suggestion-action.js +53 -0
- package/dist/esm/components/selection/title.d.ts +45 -0
- package/dist/esm/components/selection/title.d.ts.map +1 -0
- package/dist/esm/components/selection/title.js +95 -0
- package/dist/esm/components/selection/types.d.ts +43 -0
- package/dist/esm/components/selection/types.d.ts.map +1 -0
- package/dist/esm/components/selection/types.js +1 -0
- package/dist/esm/components/selection-input/index.d.ts +19 -0
- package/dist/esm/components/selection-input/index.d.ts.map +1 -0
- package/dist/esm/components/selection-input/index.js +27 -0
- package/dist/esm/components/selection-input/style.d.ts +3 -0
- package/dist/esm/components/selection-input/style.d.ts.map +1 -0
- package/dist/esm/components/selection-input/style.js +4 -0
- package/dist/esm/components/sheet-search/index.d.ts +41 -0
- package/dist/esm/components/sheet-search/index.d.ts.map +1 -0
- package/dist/esm/components/sheet-search/index.js +106 -0
- package/dist/esm/components/sheet-status/index.d.ts +40 -0
- package/dist/esm/components/sheet-status/index.d.ts.map +1 -0
- package/dist/esm/components/sheet-status/index.js +155 -0
- package/dist/esm/components/sheet-status/style.d.ts +4 -0
- package/dist/esm/components/sheet-status/style.d.ts.map +1 -0
- package/dist/esm/components/sheet-status/style.js +7 -0
- package/dist/esm/components/sheet-switcher/index.d.ts +12 -0
- package/dist/esm/components/sheet-switcher/index.d.ts.map +1 -0
- package/dist/esm/components/sheet-switcher/index.js +33 -0
- package/dist/esm/components/sheet-switcher/new-sheet-button.d.ts +4 -0
- package/dist/esm/components/sheet-switcher/new-sheet-button.d.ts.map +1 -0
- package/dist/esm/components/sheet-switcher/new-sheet-button.js +7 -0
- package/dist/esm/components/sheet-tabs/context-menu.d.ts +43 -0
- package/dist/esm/components/sheet-tabs/context-menu.d.ts.map +1 -0
- package/dist/esm/components/sheet-tabs/context-menu.js +50 -0
- package/dist/esm/components/sheet-tabs/index.d.ts +18 -0
- package/dist/esm/components/sheet-tabs/index.d.ts.map +1 -0
- package/dist/esm/components/sheet-tabs/index.js +217 -0
- package/dist/esm/components/sheet-tabs/sheet-tab.d.ts +21 -0
- package/dist/esm/components/sheet-tabs/sheet-tab.d.ts.map +1 -0
- package/dist/esm/components/sheet-tabs/sheet-tab.js +131 -0
- package/dist/esm/components/sheet-tabs/style.d.ts +10 -0
- package/dist/esm/components/sheet-tabs/style.d.ts.map +1 -0
- package/dist/esm/components/sheet-tabs/style.js +16 -0
- package/dist/esm/components/sheet-tabs/types.d.ts +45 -0
- package/dist/esm/components/sheet-tabs/types.d.ts.map +1 -0
- package/dist/esm/components/sheet-tabs/types.js +1 -0
- package/dist/esm/components/sort-range-dialog/index.d.ts +66 -0
- package/dist/esm/components/sort-range-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/sort-range-dialog/index.js +215 -0
- package/dist/esm/components/toolbar/background-color-selector.d.ts +19 -0
- package/dist/esm/components/toolbar/background-color-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/background-color-selector.js +28 -0
- package/dist/esm/components/toolbar/border-color-selector.d.ts +18 -0
- package/dist/esm/components/toolbar/border-color-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/border-color-selector.js +25 -0
- package/dist/esm/components/toolbar/border-line-style-options.d.ts +9 -0
- package/dist/esm/components/toolbar/border-line-style-options.d.ts.map +1 -0
- package/dist/esm/components/toolbar/border-line-style-options.js +42 -0
- package/dist/esm/components/toolbar/border-line-style-selector.d.ts +9 -0
- package/dist/esm/components/toolbar/border-line-style-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/border-line-style-selector.js +19 -0
- package/dist/esm/components/toolbar/border-location-options.d.ts +11 -0
- package/dist/esm/components/toolbar/border-location-options.d.ts.map +1 -0
- package/dist/esm/components/toolbar/border-location-options.js +64 -0
- package/dist/esm/components/toolbar/border-selector.d.ts +20 -0
- package/dist/esm/components/toolbar/border-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/border-selector.js +59 -0
- package/dist/esm/components/toolbar/buttons.d.ts +55 -0
- package/dist/esm/components/toolbar/buttons.d.ts.map +1 -0
- package/dist/esm/components/toolbar/buttons.js +165 -0
- package/dist/esm/components/toolbar/cell-style-selector.d.ts +25 -0
- package/dist/esm/components/toolbar/cell-style-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/cell-style-selector.js +521 -0
- package/dist/esm/components/toolbar/color-selector.d.ts +13 -0
- package/dist/esm/components/toolbar/color-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/color-selector.js +52 -0
- package/dist/esm/components/toolbar/font-family-selector.d.ts +22 -0
- package/dist/esm/components/toolbar/font-family-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/font-family-selector.js +167 -0
- package/dist/esm/components/toolbar/font-size-selector.d.ts +10 -0
- package/dist/esm/components/toolbar/font-size-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/font-size-selector.js +139 -0
- package/dist/esm/components/toolbar/index.d.ts +25 -0
- package/dist/esm/components/toolbar/index.d.ts.map +1 -0
- package/dist/esm/components/toolbar/index.js +24 -0
- package/dist/esm/components/toolbar/insert-menu.d.ts +22 -0
- package/dist/esm/components/toolbar/insert-menu.d.ts.map +1 -0
- package/dist/esm/components/toolbar/insert-menu.js +143 -0
- package/dist/esm/components/toolbar/merge-cells-selector.d.ts +15 -0
- package/dist/esm/components/toolbar/merge-cells-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/merge-cells-selector.js +48 -0
- package/dist/esm/components/toolbar/scale-selector.d.ts +13 -0
- package/dist/esm/components/toolbar/scale-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/scale-selector.js +72 -0
- package/dist/esm/components/toolbar/style.d.ts +3 -0
- package/dist/esm/components/toolbar/style.d.ts.map +1 -0
- package/dist/esm/components/toolbar/style.js +5 -0
- package/dist/esm/components/toolbar/table-actions.d.ts +15 -0
- package/dist/esm/components/toolbar/table-actions.d.ts.map +1 -0
- package/dist/esm/components/toolbar/table-actions.js +37 -0
- package/dist/esm/components/toolbar/table-style-selector.d.ts +25 -0
- package/dist/esm/components/toolbar/table-style-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/table-style-selector.js +501 -0
- package/dist/esm/components/toolbar/text-color-selector.d.ts +20 -0
- package/dist/esm/components/toolbar/text-color-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/text-color-selector.js +28 -0
- package/dist/esm/components/toolbar/text-format-selector.d.ts +23 -0
- package/dist/esm/components/toolbar/text-format-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/text-format-selector.js +257 -0
- package/dist/esm/components/toolbar/text-horizontal-align-selector.d.ts +10 -0
- package/dist/esm/components/toolbar/text-horizontal-align-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/text-horizontal-align-selector.js +36 -0
- package/dist/esm/components/toolbar/text-vertical-align-selector.d.ts +9 -0
- package/dist/esm/components/toolbar/text-vertical-align-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/text-vertical-align-selector.js +36 -0
- package/dist/esm/components/toolbar/text-wrap-selector.d.ts +9 -0
- package/dist/esm/components/toolbar/text-wrap-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/text-wrap-selector.js +35 -0
- package/dist/esm/components/toolbar/theme-selector.d.ts +10 -0
- package/dist/esm/components/toolbar/theme-selector.d.ts.map +1 -0
- package/dist/esm/components/toolbar/theme-selector.js +27 -0
- package/dist/esm/components/toolbar/toolbar.d.ts +12 -0
- package/dist/esm/components/toolbar/toolbar.d.ts.map +1 -0
- package/dist/esm/components/toolbar/toolbar.js +133 -0
- package/dist/esm/components/toolbar/types.d.ts +2 -0
- package/dist/esm/components/toolbar/types.d.ts.map +1 -0
- package/dist/esm/components/toolbar/types.js +1 -0
- package/dist/esm/components/toolbar/view-menu.d.ts +25 -0
- package/dist/esm/components/toolbar/view-menu.d.ts.map +1 -0
- package/dist/esm/components/toolbar/view-menu.js +41 -0
- package/dist/esm/components/validation-alert-dialog/index.d.ts +15 -0
- package/dist/esm/components/validation-alert-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/validation-alert-dialog/index.js +63 -0
- package/dist/esm/config.d.ts +107 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +266 -0
- package/dist/esm/helpers/merged-cell-borders.d.ts +26 -0
- package/dist/esm/helpers/merged-cell-borders.d.ts.map +1 -0
- package/dist/esm/helpers/merged-cell-borders.js +42 -0
- package/dist/esm/helpers.d.ts +118 -0
- package/dist/esm/helpers.d.ts.map +1 -0
- package/dist/esm/helpers.js +455 -0
- package/dist/esm/hooks/index.d.ts +11 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +10 -0
- package/dist/esm/hooks/show-zeros.d.ts +13 -0
- package/dist/esm/hooks/show-zeros.d.ts.map +1 -0
- package/dist/esm/hooks/show-zeros.js +19 -0
- package/dist/esm/hooks/use-async.d.ts +2 -0
- package/dist/esm/hooks/use-async.d.ts.map +1 -0
- package/dist/esm/hooks/use-async.js +22 -0
- package/dist/esm/hooks/use-border-styles.d.ts +31 -0
- package/dist/esm/hooks/use-border-styles.d.ts.map +1 -0
- package/dist/esm/hooks/use-border-styles.js +423 -0
- package/dist/esm/hooks/use-callback-ref.d.ts +6 -0
- package/dist/esm/hooks/use-callback-ref.d.ts.map +1 -0
- package/dist/esm/hooks/use-callback-ref.js +15 -0
- package/dist/esm/hooks/use-cell-diff-highlight.d.ts +43 -0
- package/dist/esm/hooks/use-cell-diff-highlight.d.ts.map +1 -0
- package/dist/esm/hooks/use-cell-diff-highlight.js +84 -0
- package/dist/esm/hooks/use-cell-popover.d.ts +55 -0
- package/dist/esm/hooks/use-cell-popover.d.ts.map +1 -0
- package/dist/esm/hooks/use-cell-popover.js +91 -0
- package/dist/esm/hooks/use-cell-renderer.d.ts +226 -0
- package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -0
- package/dist/esm/hooks/use-cell-renderer.js +372 -0
- package/dist/esm/hooks/use-column-color-icons.d.ts +43 -0
- package/dist/esm/hooks/use-column-color-icons.d.ts.map +1 -0
- package/dist/esm/hooks/use-column-color-icons.js +83 -0
- package/dist/esm/hooks/use-conditional-formatting.d.ts +35 -0
- package/dist/esm/hooks/use-conditional-formatting.d.ts.map +1 -0
- package/dist/esm/hooks/use-conditional-formatting.js +497 -0
- package/dist/esm/hooks/use-context-menu.d.ts +52 -0
- package/dist/esm/hooks/use-context-menu.d.ts.map +1 -0
- package/dist/esm/hooks/use-context-menu.js +75 -0
- package/dist/esm/hooks/use-context-setter.d.ts +3 -0
- package/dist/esm/hooks/use-context-setter.d.ts.map +1 -0
- package/dist/esm/hooks/use-context-setter.js +128 -0
- package/dist/esm/hooks/use-copy-paste-cut.d.ts +45 -0
- package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -0
- package/dist/esm/hooks/use-copy-paste-cut.js +253 -0
- package/dist/esm/hooks/use-create-address-from-selection.d.ts +15 -0
- package/dist/esm/hooks/use-create-address-from-selection.d.ts.map +1 -0
- package/dist/esm/hooks/use-create-address-from-selection.js +69 -0
- package/dist/esm/hooks/use-create-formula-tokenizer.d.ts +15 -0
- package/dist/esm/hooks/use-create-formula-tokenizer.d.ts.map +1 -0
- package/dist/esm/hooks/use-create-formula-tokenizer.js +48 -0
- package/dist/esm/hooks/use-delayed-value.d.ts +8 -0
- package/dist/esm/hooks/use-delayed-value.d.ts.map +1 -0
- package/dist/esm/hooks/use-delayed-value.js +30 -0
- package/dist/esm/hooks/use-editable.d.ts +366 -0
- package/dist/esm/hooks/use-editable.d.ts.map +1 -0
- package/dist/esm/hooks/use-editable.js +803 -0
- package/dist/esm/hooks/use-editor-cancel.d.ts +25 -0
- package/dist/esm/hooks/use-editor-cancel.d.ts.map +1 -0
- package/dist/esm/hooks/use-editor-cancel.js +45 -0
- package/dist/esm/hooks/use-editor-change.d.ts +13 -0
- package/dist/esm/hooks/use-editor-change.d.ts.map +1 -0
- package/dist/esm/hooks/use-editor-change.js +67 -0
- package/dist/esm/hooks/use-editor-keydown.d.ts +11 -0
- package/dist/esm/hooks/use-editor-keydown.d.ts.map +1 -0
- package/dist/esm/hooks/use-editor-keydown.js +42 -0
- package/dist/esm/hooks/use-editor-submit.d.ts +58 -0
- package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -0
- package/dist/esm/hooks/use-editor-submit.js +83 -0
- package/dist/esm/hooks/use-embeds-charts.d.ts +193 -0
- package/dist/esm/hooks/use-embeds-charts.d.ts.map +1 -0
- package/dist/esm/hooks/use-embeds-charts.js +276 -0
- package/dist/esm/hooks/use-expand-cell.d.ts +35 -0
- package/dist/esm/hooks/use-expand-cell.d.ts.map +1 -0
- package/dist/esm/hooks/use-expand-cell.js +46 -0
- package/dist/esm/hooks/use-export-range.d.ts +36 -0
- package/dist/esm/hooks/use-export-range.d.ts.map +1 -0
- package/dist/esm/hooks/use-export-range.js +227 -0
- package/dist/esm/hooks/use-filter.d.ts +46 -0
- package/dist/esm/hooks/use-filter.d.ts.map +1 -0
- package/dist/esm/hooks/use-filter.js +184 -0
- package/dist/esm/hooks/use-flash.d.ts +18 -0
- package/dist/esm/hooks/use-flash.d.ts.map +1 -0
- package/dist/esm/hooks/use-flash.js +68 -0
- package/dist/esm/hooks/use-fonts.d.ts +8 -0
- package/dist/esm/hooks/use-fonts.d.ts.map +1 -0
- package/dist/esm/hooks/use-fonts.js +14 -0
- package/dist/esm/hooks/use-formula-range-helpers.d.ts +21 -0
- package/dist/esm/hooks/use-formula-range-helpers.d.ts.map +1 -0
- package/dist/esm/hooks/use-formula-range-helpers.js +60 -0
- package/dist/esm/hooks/use-get-tooltip.d.ts +52 -0
- package/dist/esm/hooks/use-get-tooltip.d.ts.map +1 -0
- package/dist/esm/hooks/use-get-tooltip.js +57 -0
- package/dist/esm/hooks/use-get-values-from-range.d.ts +44 -0
- package/dist/esm/hooks/use-get-values-from-range.d.ts.map +1 -0
- package/dist/esm/hooks/use-get-values-from-range.js +108 -0
- package/dist/esm/hooks/use-grid-children.d.ts +31 -0
- package/dist/esm/hooks/use-grid-children.d.ts.map +1 -0
- package/dist/esm/hooks/use-grid-children.js +129 -0
- package/dist/esm/hooks/use-header-actions.d.ts +70 -0
- package/dist/esm/hooks/use-header-actions.d.ts.map +1 -0
- package/dist/esm/hooks/use-header-actions.js +248 -0
- package/dist/esm/hooks/use-hidden-dimension-markers.d.ts +20 -0
- package/dist/esm/hooks/use-hidden-dimension-markers.d.ts.map +1 -0
- package/dist/esm/hooks/use-hidden-dimension-markers.js +128 -0
- package/dist/esm/hooks/use-hidden-dimensions.d.ts +7 -0
- package/dist/esm/hooks/use-hidden-dimensions.d.ts.map +1 -0
- package/dist/esm/hooks/use-hidden-dimensions.js +56 -0
- package/dist/esm/hooks/use-hovered-selection-ids.d.ts +9 -0
- package/dist/esm/hooks/use-hovered-selection-ids.d.ts.map +1 -0
- package/dist/esm/hooks/use-hovered-selection-ids.js +25 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts +6 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/esm/hooks/use-isomorphic-layout-effect.js +8 -0
- package/dist/esm/hooks/use-keyboard-handler.d.ts +57 -0
- package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -0
- package/dist/esm/hooks/use-keyboard-handler.js +472 -0
- package/dist/esm/hooks/use-licensekey-validator.d.ts +16 -0
- package/dist/esm/hooks/use-licensekey-validator.d.ts.map +1 -0
- package/dist/esm/hooks/use-licensekey-validator.js +140 -0
- package/dist/esm/hooks/use-memo-compare.d.ts +2 -0
- package/dist/esm/hooks/use-memo-compare.d.ts.map +1 -0
- package/dist/esm/hooks/use-memo-compare.js +13 -0
- package/dist/esm/hooks/use-merge.refs.d.ts +4 -0
- package/dist/esm/hooks/use-merge.refs.d.ts.map +1 -0
- package/dist/esm/hooks/use-merge.refs.js +16 -0
- package/dist/esm/hooks/use-move-columns-rows.d.ts +46 -0
- package/dist/esm/hooks/use-move-columns-rows.d.ts.map +1 -0
- package/dist/esm/hooks/use-move-columns-rows.js +333 -0
- package/dist/esm/hooks/use-navigate-sheet-range.d.ts +16 -0
- package/dist/esm/hooks/use-navigate-sheet-range.d.ts.map +1 -0
- package/dist/esm/hooks/use-navigate-sheet-range.js +30 -0
- package/dist/esm/hooks/use-previous.d.ts +3 -0
- package/dist/esm/hooks/use-previous.d.ts.map +1 -0
- package/dist/esm/hooks/use-previous.js +9 -0
- package/dist/esm/hooks/use-raf.d.ts +6 -0
- package/dist/esm/hooks/use-raf.d.ts.map +1 -0
- package/dist/esm/hooks/use-raf.js +27 -0
- package/dist/esm/hooks/use-resize-observer.d.ts +6 -0
- package/dist/esm/hooks/use-resize-observer.d.ts.map +1 -0
- package/dist/esm/hooks/use-resize-observer.js +40 -0
- package/dist/esm/hooks/use-scale-listener.d.ts +11 -0
- package/dist/esm/hooks/use-scale-listener.d.ts.map +1 -0
- package/dist/esm/hooks/use-scale-listener.js +47 -0
- package/dist/esm/hooks/use-selected-rows-columns.d.ts +21 -0
- package/dist/esm/hooks/use-selected-rows-columns.d.ts.map +1 -0
- package/dist/esm/hooks/use-selected-rows-columns.js +69 -0
- package/dist/esm/hooks/use-selection-aware-formatting.d.ts +13 -0
- package/dist/esm/hooks/use-selection-aware-formatting.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-aware-formatting.js +39 -0
- package/dist/esm/hooks/use-selection-change.d.ts +10 -0
- package/dist/esm/hooks/use-selection-change.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-change.js +57 -0
- package/dist/esm/hooks/use-selection-interceptors.d.ts +34 -0
- package/dist/esm/hooks/use-selection-interceptors.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-interceptors.js +129 -0
- package/dist/esm/hooks/use-selection-move.d.ts +31 -0
- package/dist/esm/hooks/use-selection-move.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-move.js +136 -0
- package/dist/esm/hooks/use-selection-renderer.d.ts +46 -0
- package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-renderer.js +139 -0
- package/dist/esm/hooks/use-selection-resize.d.ts +30 -0
- package/dist/esm/hooks/use-selection-resize.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection-resize.js +160 -0
- package/dist/esm/hooks/use-selection.d.ts +185 -0
- package/dist/esm/hooks/use-selection.d.ts.map +1 -0
- package/dist/esm/hooks/use-selection.js +1559 -0
- package/dist/esm/hooks/use-sheet-change-handler.d.ts +3 -0
- package/dist/esm/hooks/use-sheet-change-handler.d.ts.map +1 -0
- package/dist/esm/hooks/use-sheet-change-handler.js +33 -0
- package/dist/esm/hooks/use-sizer.d.ts +164 -0
- package/dist/esm/hooks/use-sizer.d.ts.map +1 -0
- package/dist/esm/hooks/use-sizer.js +357 -0
- package/dist/esm/hooks/use-spreadsheet-theme.d.ts +17 -0
- package/dist/esm/hooks/use-spreadsheet-theme.d.ts.map +1 -0
- package/dist/esm/hooks/use-spreadsheet-theme.js +50 -0
- package/dist/esm/hooks/use-stable-ref.d.ts +2 -0
- package/dist/esm/hooks/use-stable-ref.d.ts.map +1 -0
- package/dist/esm/hooks/use-stable-ref.js +10 -0
- package/dist/esm/hooks/use-structured-reference-selection.d.ts +23 -0
- package/dist/esm/hooks/use-structured-reference-selection.d.ts.map +1 -0
- package/dist/esm/hooks/use-structured-reference-selection.js +118 -0
- package/dist/esm/hooks/use-table-resizer.d.ts +23 -0
- package/dist/esm/hooks/use-table-resizer.d.ts.map +1 -0
- package/dist/esm/hooks/use-table-resizer.js +108 -0
- package/dist/esm/hooks/use-text-dimensions.d.ts +16 -0
- package/dist/esm/hooks/use-text-dimensions.d.ts.map +1 -0
- package/dist/esm/hooks/use-text-dimensions.js +35 -0
- package/dist/esm/hooks/use-tooltip.d.ts +70 -0
- package/dist/esm/hooks/use-tooltip.d.ts.map +1 -0
- package/dist/esm/hooks/use-tooltip.js +83 -0
- package/dist/esm/hooks/use-touch.d.ts +16 -0
- package/dist/esm/hooks/use-touch.d.ts.map +1 -0
- package/dist/esm/hooks/use-touch.js +224 -0
- package/dist/esm/index.d.ts +69 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +75 -0
- package/dist/esm/providers/spreadsheet-provider.d.ts +25 -0
- package/dist/esm/providers/spreadsheet-provider.d.ts.map +1 -0
- package/dist/esm/providers/spreadsheet-provider.js +27 -0
- package/dist/esm/release-date.d.ts +2 -0
- package/dist/esm/release-date.d.ts.map +1 -0
- package/dist/esm/release-date.js +3 -0
- package/dist/esm/signals/scroll-subscriber.d.ts +4 -0
- package/dist/esm/signals/scroll-subscriber.d.ts.map +1 -0
- package/dist/esm/signals/scroll-subscriber.js +2 -0
- package/dist/esm/test-setup.d.ts +2 -0
- package/dist/esm/test-setup.d.ts.map +1 -0
- package/dist/esm/test-setup.js +15 -0
- package/dist/esm/themes.d.ts +13 -0
- package/dist/esm/themes.d.ts.map +1 -0
- package/dist/esm/themes.js +264 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +1215 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +8 -0
- package/dist/esm/utils/maybe.d.ts +12 -0
- package/dist/esm/utils/maybe.d.ts.map +1 -0
- package/dist/esm/utils/maybe.js +14 -0
- package/dist/esm/vitest.config.d.ts +3 -0
- package/dist/esm/vitest.config.d.ts.map +1 -0
- package/dist/esm/vitest.config.js +22 -0
- package/dist/spreadsheet.min.css +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useGridContext } from "@rowsncolumns/grid";
|
|
2
|
+
import { TriangleDownIcon, TriangleLeftIcon, TriangleRightIcon, TriangleUpIcon, } from "@rowsncolumns/icons";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { StyledHiddenMarkerButton } from "./style";
|
|
5
|
+
export const HiddenColumnMarkers = ({ hiddenDimensions, expandedDimensions, onShowColumn, }) => {
|
|
6
|
+
const { getCellOffsetFromCoords } = useGridContext();
|
|
7
|
+
const markers = hiddenDimensions.map((columnIndex, index) => {
|
|
8
|
+
const position = getCellOffsetFromCoords({
|
|
9
|
+
rowIndex: 0,
|
|
10
|
+
columnIndex,
|
|
11
|
+
});
|
|
12
|
+
const { x = 0, y = 0 } = position ?? {};
|
|
13
|
+
return (React.createElement(StyledHiddenMarkerButton, { style: {
|
|
14
|
+
transform: `translate3d(${x}px, ${y}px, 0)`,
|
|
15
|
+
}, key: columnIndex, onClick: () => onShowColumn?.(expandedDimensions[index]), "aria-label": "Show column", tooltip: "Show column" },
|
|
16
|
+
React.createElement(TriangleLeftIcon, null),
|
|
17
|
+
React.createElement(TriangleRightIcon, null)));
|
|
18
|
+
});
|
|
19
|
+
return React.createElement(React.Fragment, null, markers);
|
|
20
|
+
};
|
|
21
|
+
export const HiddenRowMarkers = ({ hiddenDimensions, expandedDimensions, onShowRow, }) => {
|
|
22
|
+
const { getCellOffsetFromCoords } = useGridContext();
|
|
23
|
+
const markers = hiddenDimensions.map((rowIndex, index) => {
|
|
24
|
+
const position = getCellOffsetFromCoords({
|
|
25
|
+
rowIndex,
|
|
26
|
+
columnIndex: 0,
|
|
27
|
+
});
|
|
28
|
+
const { x = 0, y = 0 } = position ?? {};
|
|
29
|
+
return (React.createElement(StyledHiddenMarkerButton, { style: {
|
|
30
|
+
position: "absolute",
|
|
31
|
+
left: x,
|
|
32
|
+
top: y,
|
|
33
|
+
pointerEvents: "all",
|
|
34
|
+
}, key: rowIndex, onClick: () => onShowRow?.(expandedDimensions[index]), isVertical: true, "aria-label": "Show row", tooltip: "Show row" },
|
|
35
|
+
React.createElement(TriangleUpIcon, null),
|
|
36
|
+
React.createElement(TriangleDownIcon, null)));
|
|
37
|
+
});
|
|
38
|
+
return React.createElement(React.Fragment, null, markers);
|
|
39
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const StyledHiddenMarkerButton: React.ForwardRefExoticComponent<Omit<import("@rowsncolumns/ui").IconButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & {
|
|
3
|
+
isVertical?: boolean;
|
|
4
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../../components/hidden-markers/style.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,wBAAwB;iBAEgC,OAAO;2CAY1E,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { cn, IconButton } from "@rowsncolumns/ui";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export const StyledHiddenMarkerButton = React.forwardRef(({ className, isVertical, ...props }, ref) => (React.createElement(IconButton, { ref: ref, className: cn("flex absolute border-none p-0 rounded-sm bg-none left-0 top-0 pointer-events-auto w-[30px] h-[15px] mt-[5px] -ml-[15px]", "bg-transparent text-rnc-foreground hover:bg-rnc-background hover:shadow-md print:hidden min-h-0 min-w-0", isVertical ? "w-[15px] h-[30px] ml-px -mt-[15px] flex-col" : undefined, className), ...props })));
|
|
4
|
+
StyledHiddenMarkerButton.displayName = "StyledHiddenMarkerButton";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CalculatorFunction } from "@rowsncolumns/common-types";
|
|
2
|
+
import React from "react";
|
|
3
|
+
type InsertFunctionDialogProps = {
|
|
4
|
+
/** Controls visibility. */
|
|
5
|
+
open: boolean;
|
|
6
|
+
onOpenChange(open: boolean): void;
|
|
7
|
+
/**
|
|
8
|
+
* Function catalog — typically the same data passed to the canvas
|
|
9
|
+
* grid as `functionDescriptions`. When empty the dialog renders a
|
|
10
|
+
* "no functions" message.
|
|
11
|
+
*/
|
|
12
|
+
functionDescriptions?: CalculatorFunction[] | null;
|
|
13
|
+
/**
|
|
14
|
+
* Fired with the user's pick. The host is responsible for
|
|
15
|
+
* inserting the formula at the active cell — typically by calling
|
|
16
|
+
* `makeEditable(sheetId, activeCell, "=" + name + "(")`.
|
|
17
|
+
*/
|
|
18
|
+
onInsert(functionName: string): void;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Insert Function dialog. Excel calls it "Insert Function"; Sheets
|
|
22
|
+
* exposes the same data through the "fx" button on the formula bar.
|
|
23
|
+
* Search box filters by name + description; double-click or Insert
|
|
24
|
+
* button commits.
|
|
25
|
+
*
|
|
26
|
+
* The dialog deliberately stays UI-only — it never touches cell
|
|
27
|
+
* state directly. The host wires `onInsert` to the formula editor /
|
|
28
|
+
* `makeEditable` so the host's mutation policy applies.
|
|
29
|
+
*/
|
|
30
|
+
export declare const InsertFunctionDialog: React.MemoExoticComponent<({ open, onOpenChange, functionDescriptions, onInsert, }: InsertFunctionDialogProps) => React.JSX.Element>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/insert-function-dialog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAUrE,OAAO,KAAkC,MAAM,OAAO,CAAC;AAEvD,KAAK,yBAAyB,GAAG;IAC/B,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,sFAM5B,yBAAyB,uBAkJ7B,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Button, cn, Dialog, DialogBody, DialogContent, DialogTitle, Input, } from "@rowsncolumns/ui";
|
|
2
|
+
import React, { memo, useMemo, useState } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Insert Function dialog. Excel calls it "Insert Function"; Sheets
|
|
5
|
+
* exposes the same data through the "fx" button on the formula bar.
|
|
6
|
+
* Search box filters by name + description; double-click or Insert
|
|
7
|
+
* button commits.
|
|
8
|
+
*
|
|
9
|
+
* The dialog deliberately stays UI-only — it never touches cell
|
|
10
|
+
* state directly. The host wires `onInsert` to the formula editor /
|
|
11
|
+
* `makeEditable` so the host's mutation policy applies.
|
|
12
|
+
*/
|
|
13
|
+
export const InsertFunctionDialog = memo(({ open, onOpenChange, functionDescriptions, onInsert, }) => {
|
|
14
|
+
const [query, setQuery] = useState("");
|
|
15
|
+
const [selectedName, setSelectedName] = useState(undefined);
|
|
16
|
+
const filtered = useMemo(() => {
|
|
17
|
+
const all = functionDescriptions ?? [];
|
|
18
|
+
const q = query.trim().toLowerCase();
|
|
19
|
+
if (!q)
|
|
20
|
+
return all;
|
|
21
|
+
return all.filter((fn) => {
|
|
22
|
+
return (fn.title.toLowerCase().includes(q) ||
|
|
23
|
+
fn.description?.toLowerCase().includes(q));
|
|
24
|
+
});
|
|
25
|
+
}, [functionDescriptions, query]);
|
|
26
|
+
const selected = useMemo(() => selectedName
|
|
27
|
+
? filtered.find((fn) => fn.title === selectedName)
|
|
28
|
+
: filtered[0], [filtered, selectedName]);
|
|
29
|
+
const commit = () => {
|
|
30
|
+
if (selected) {
|
|
31
|
+
onInsert(selected.title);
|
|
32
|
+
onOpenChange(false);
|
|
33
|
+
setQuery("");
|
|
34
|
+
setSelectedName(undefined);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
return (React.createElement(Dialog, { open: open, onOpenChange: onOpenChange },
|
|
38
|
+
React.createElement(DialogContent, { className: "w-[640px] max-w-[90vw] pointer-events-auto" },
|
|
39
|
+
React.createElement(DialogTitle, null, "Insert function"),
|
|
40
|
+
React.createElement(DialogBody, { className: "flex flex-col gap-3" },
|
|
41
|
+
React.createElement(Input, { autoFocus: true, placeholder: "Search functions", value: query, onChange: (e) => {
|
|
42
|
+
setQuery(e.target.value);
|
|
43
|
+
setSelectedName(undefined);
|
|
44
|
+
}, onKeyDown: (e) => {
|
|
45
|
+
if (e.key === "Enter") {
|
|
46
|
+
e.preventDefault();
|
|
47
|
+
commit();
|
|
48
|
+
}
|
|
49
|
+
}, className: "text-sm" }),
|
|
50
|
+
React.createElement("div", { className: "flex border-rnc-border border border-solid rounded" },
|
|
51
|
+
React.createElement("div", { className: "w-[40%] max-h-[280px] overflow-y-auto border-l-0 border-t-0 border-b-0 border-r border-solid border-rnc-border flex flex-col" }, filtered.length === 0 ? (React.createElement("div", { className: "p-3 text-xs text-rnc-muted-foreground" }, "No matching functions.")) : (filtered.map((fn) => {
|
|
52
|
+
const isActive = selected?.title === fn.title;
|
|
53
|
+
return (React.createElement(Button, { key: fn.title, onClick: () => setSelectedName(fn.title), onDoubleClick: commit, className: cn("flex-1 rounded-none", isActive
|
|
54
|
+
? "bg-rnc-foreground/10"
|
|
55
|
+
: "hover:bg-rnc-foreground/5") }, fn.title));
|
|
56
|
+
}))),
|
|
57
|
+
React.createElement("div", { className: "flex-1 p-3 overflow-y-auto max-h-[280px]" }, selected ? (React.createElement("div", { className: "flex flex-col gap-2 text-xs" },
|
|
58
|
+
React.createElement("div", { className: "font-mono font-semibold text-sm" }, selected.title),
|
|
59
|
+
selected.syntax ? (React.createElement("div", { className: "font-mono text-rnc-muted-foreground" }, selected.syntax)) : null,
|
|
60
|
+
selected.description ? (React.createElement("p", { className: "m-0" }, selected.description)) : null,
|
|
61
|
+
selected.parameters?.length ? (React.createElement("div", { className: "mt-1" },
|
|
62
|
+
React.createElement("div", { className: "font-semibold pb-1" }, "Parameters"),
|
|
63
|
+
React.createElement("ul", { className: "m-0 pl-4 flex flex-col gap-1" }, selected.parameters.map((p) => (React.createElement("li", { key: p.title },
|
|
64
|
+
React.createElement("span", { className: "font-mono" }, p.title),
|
|
65
|
+
p.description ? (React.createElement("span", { className: "text-rnc-muted-foreground" },
|
|
66
|
+
" — ",
|
|
67
|
+
p.description)) : null)))))) : null,
|
|
68
|
+
selected.example ? (React.createElement("div", { className: "mt-1" },
|
|
69
|
+
React.createElement("div", { className: "font-semibold pb-1" }, "Example"),
|
|
70
|
+
React.createElement("code", { className: "font-mono" }, selected.example))) : null)) : (React.createElement("div", { className: "text-xs text-rnc-muted-foreground" }, "Select a function to see its details.")))),
|
|
71
|
+
React.createElement("div", { className: "flex justify-end gap-2 pt-1" },
|
|
72
|
+
React.createElement(Button, { variant: "outline", size: "sm", onClick: () => onOpenChange(false) }, "Cancel"),
|
|
73
|
+
React.createElement(Button, { size: "sm", onClick: commit, disabled: !selected }, "Insert"))))));
|
|
74
|
+
});
|
|
75
|
+
InsertFunctionDialog.displayName = "InsertFunctionDialog";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type LoadingIndicatorProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
style?: React.CSSProperties;
|
|
5
|
+
};
|
|
6
|
+
export declare const LoadingIndicator: ({ className, ...rest }: LoadingIndicatorProps) => React.JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/loading-indicator/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,wBAG9B,qBAAqB,6BAcvB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CircularLoader, cn } from "@rowsncolumns/ui";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useLoaderValue } from "../../atoms/loading-indicator.atom";
|
|
4
|
+
export const LoadingIndicator = ({ className, ...rest }) => {
|
|
5
|
+
const { loading, label } = useLoaderValue();
|
|
6
|
+
return loading ? (React.createElement("div", { className: cn("absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 animate-fade-in z-10 shadow-md bg-rnc-background text-rnc-foreground p-4 rounded-md border-rnc-border border-solid border", className), ...rest },
|
|
7
|
+
React.createElement(CircularLoader, { label: label, className: "bg-transparent h-auto w-auto" }))) : null;
|
|
8
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { COLUMN_HEADER_HEIGHT, ROW_HEADER_WIDTH } from "../../config";
|
|
3
|
+
import type { DimensionProperties } from "../../types";
|
|
4
|
+
type DimensionMetadata = (DimensionProperties | null | undefined)[] | null | undefined;
|
|
5
|
+
export type ColumnOutlineGutterProps = {
|
|
6
|
+
sheetId: number;
|
|
7
|
+
columnMetadata?: DimensionMetadata;
|
|
8
|
+
/** Row metadata for the same sheet. Used to compute the row outline
|
|
9
|
+
* gutter's width so the column strip can pad itself by the same
|
|
10
|
+
* amount, keeping its content aligned with the canvas's columns. */
|
|
11
|
+
rowMetadata?: DimensionMetadata;
|
|
12
|
+
/** True when summaries sit right of the group (Excel default). */
|
|
13
|
+
summaryRight?: boolean;
|
|
14
|
+
onCollapseColumnGroup?(sheetId: number, summaryColumnIndex: number): void;
|
|
15
|
+
onExpandColumnGroup?(sheetId: number, summaryColumnIndex: number): void;
|
|
16
|
+
/** Excel-style level selector. Renders N+1 numbered buttons in the
|
|
17
|
+
* gutter's leftInset area. */
|
|
18
|
+
onSetOutlineDepth?(sheetId: number, axis: "row" | "column", depth: number): void;
|
|
19
|
+
};
|
|
20
|
+
export declare const ColumnOutlineGutter: React.MemoExoticComponent<({ sheetId, columnMetadata, rowMetadata, summaryRight, onCollapseColumnGroup, onExpandColumnGroup, onSetOutlineDepth, }: ColumnOutlineGutterProps) => React.JSX.Element | null>;
|
|
21
|
+
export type RowOutlineGutterProps = {
|
|
22
|
+
sheetId: number;
|
|
23
|
+
rowMetadata?: DimensionMetadata;
|
|
24
|
+
/** True when summaries sit below the group (Excel default). */
|
|
25
|
+
summaryBelow?: boolean;
|
|
26
|
+
onCollapseRowGroup?(sheetId: number, summaryRowIndex: number): void;
|
|
27
|
+
onExpandRowGroup?(sheetId: number, summaryRowIndex: number): void;
|
|
28
|
+
/** Excel-style level selector. Renders N+1 numbered buttons at the
|
|
29
|
+
* top of the row gutter strip (in the topInset area). */
|
|
30
|
+
onSetOutlineDepth?(sheetId: number, axis: "row" | "column", depth: number): void;
|
|
31
|
+
};
|
|
32
|
+
export declare const RowOutlineGutter: React.MemoExoticComponent<({ sheetId, rowMetadata, summaryBelow, onCollapseRowGroup, onExpandRowGroup, onSetOutlineDepth, }: RowOutlineGutterProps) => React.JSX.Element | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Pixel width / height the outline gutter will reserve for the given
|
|
35
|
+
* axis. Returns 0 when the metadata has no `outlineLevel > 0`. Use
|
|
36
|
+
* this from your composing layout to compute the inset the *other*
|
|
37
|
+
* axis's gutter needs. Must stay in sync with `gutterWidth` /
|
|
38
|
+
* `gutterHeight` inside the row/column gutter components — the strip
|
|
39
|
+
* holds N+1 level-selector lanes (one per level plus the "expand all"
|
|
40
|
+
* lane) plus the constant pad.
|
|
41
|
+
*/
|
|
42
|
+
export declare const computeOutlineGutterSize: (metadata: (DimensionProperties | null | undefined)[] | null | undefined) => number;
|
|
43
|
+
export { COLUMN_HEADER_HEIGHT, ROW_HEADER_WIDTH };
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/outline-gutter/index.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAE/E,OAAO,EACL,oBAAoB,EAKpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAmDvD,KAAK,iBAAiB,GAClB,CAAC,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC1C,IAAI,GACJ,SAAS,CAAC;AAgGd,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC;;wEAEoE;IACpE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,mBAAmB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxE;kCAC8B;IAC9B,iBAAiB,CAAC,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,GAAG,QAAQ,EACtB,KAAK,EAAE,MAAM,GACZ,IAAI,CAAC;CACT,CAAC;AAEF,eAAO,MAAM,mBAAmB,qJAS3B,wBAAwB,8BAkM5B,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,gBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAClE;6DACyD;IACzD,iBAAiB,CAAC,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,GAAG,QAAQ,EACtB,KAAK,EAAE,MAAM,GACZ,IAAI,CAAC;CACT,CAAC;AAEF,eAAO,MAAM,gBAAgB,+HAQxB,qBAAqB,8BAgLzB,CAAC;AAGF;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,CAAC,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,KACtE,MAIF,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
// Outline gutter (row/column grouping UI). Rendered as DOM siblings of
|
|
2
|
+
// `.rnc-canvas-wrapper` — not nested inside — so the wrapper stays the
|
|
3
|
+
// `position: relative` ancestor that `BaseGrid` relies on for active
|
|
4
|
+
// cell + selection positioning.
|
|
5
|
+
//
|
|
6
|
+
// The grid is wrapped in a flex layout:
|
|
7
|
+
//
|
|
8
|
+
// <flex column>
|
|
9
|
+
// <ColumnOutlineGutter /> (full width strip, when columns are grouped)
|
|
10
|
+
// <flex row>
|
|
11
|
+
// <RowOutlineGutter /> (full height strip, when rows are grouped)
|
|
12
|
+
// <rnc-canvas-wrapper>BaseGrid + overlays</rnc-canvas-wrapper>
|
|
13
|
+
// </flex row>
|
|
14
|
+
// </flex column>
|
|
15
|
+
//
|
|
16
|
+
// Buttons are positioned by `getRowOffset` / `getColumnOffset` so they
|
|
17
|
+
// stay aligned with the cell their summary lives on; scroll position
|
|
18
|
+
// shifts the buttons horizontally / vertically.
|
|
19
|
+
//
|
|
20
|
+
// Bracket lines and the "1 / 2 / 3" level bar are intentionally minimal
|
|
21
|
+
// here — the goal is a functional MVP. Polish can layer on later.
|
|
22
|
+
import React, { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
23
|
+
import { COLUMN_HEADER_HEIGHT, DEFAULT_COLUMN_WIDTH, DEFAULT_ROW_HEIGHT, OUTLINE_GUTTER_LEVEL_PX, OUTLINE_GUTTER_PAD_PX, ROW_HEADER_WIDTH, } from "../../config";
|
|
24
|
+
import { scrollSubscriber } from "../../signals/scroll-subscriber";
|
|
25
|
+
import { Button } from "@rowsncolumns/ui";
|
|
26
|
+
import { MinusIcon, PlusIcon } from "@rowsncolumns/icons";
|
|
27
|
+
/**
|
|
28
|
+
* Compute the pixel offset of cell `index` from the first DATA cell
|
|
29
|
+
* (index 1). Mirrors the math the canvas runs internally but without
|
|
30
|
+
* a dependency on BaseGrid's imperative ref. Hidden cells contribute
|
|
31
|
+
* 0. Callers add `leftInset`/`topInset` to account for the
|
|
32
|
+
* row-header / column-header (those don't belong in this offset).
|
|
33
|
+
*/
|
|
34
|
+
const computeOffset = (metadata, index, defaultSize) => {
|
|
35
|
+
if (index <= 1)
|
|
36
|
+
return 0;
|
|
37
|
+
let offset = 0;
|
|
38
|
+
for (let i = 1; i < index; i++) {
|
|
39
|
+
const meta = metadata?.[i];
|
|
40
|
+
const hidden = !!(meta?.hiddenByUser ||
|
|
41
|
+
meta?.hiddenByFilter ||
|
|
42
|
+
meta?.hiddenByGroup);
|
|
43
|
+
if (hidden)
|
|
44
|
+
continue;
|
|
45
|
+
offset += meta?.size ?? defaultSize;
|
|
46
|
+
}
|
|
47
|
+
return offset;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Track the grid's live scroll position and re-render on every update.
|
|
51
|
+
* Subscribes to `scrollSubscriber` (the rxjs Subject CanvasGrid emits
|
|
52
|
+
* to inside `handleScroll`). Used by the outline gutters so they slide
|
|
53
|
+
* in sync with the canvas.
|
|
54
|
+
*/
|
|
55
|
+
const useGridScrollPosition = () => {
|
|
56
|
+
const [scroll, setScroll] = useState({ scrollTop: 0, scrollLeft: 0 });
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
const sub = scrollSubscriber.subscribe((pos) => {
|
|
59
|
+
setScroll({
|
|
60
|
+
scrollTop: pos.scrollTop ?? 0,
|
|
61
|
+
scrollLeft: pos.scrollLeft ?? 0,
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
return () => sub.unsubscribe();
|
|
65
|
+
}, []);
|
|
66
|
+
return scroll;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Walk the dimension's outline levels and emit a summary marker for
|
|
70
|
+
* each (nested) group. A summary is the cell ADJACENT to the group
|
|
71
|
+
* boundary on the user-configured side (right of the group when
|
|
72
|
+
* `summaryAfter=true`, below when `summaryAfter=true` for the row
|
|
73
|
+
* axis — both treated the same way).
|
|
74
|
+
*
|
|
75
|
+
* For nested groups, multiple summary markers can share the same
|
|
76
|
+
* index — one per nesting level. Each summary carries its
|
|
77
|
+
* `startIndex` so the renderer can draw a bracket line from
|
|
78
|
+
* `getOffset(startIndex)` to `getOffset(summaryIndex)`.
|
|
79
|
+
*/
|
|
80
|
+
const findSummaries = (metadata, summaryAfter) => {
|
|
81
|
+
if (!metadata?.length)
|
|
82
|
+
return [];
|
|
83
|
+
const out = [];
|
|
84
|
+
const length = metadata.length;
|
|
85
|
+
const levelAt = (i) => i >= 0 && i < length ? metadata[i]?.outlineLevel ?? 0 : 0;
|
|
86
|
+
// Track where each currently-open outline level began so we can pair
|
|
87
|
+
// it with its closing index when we emit the summary marker.
|
|
88
|
+
const openStarts = new Map();
|
|
89
|
+
if (summaryAfter) {
|
|
90
|
+
// Scan one past `length` so a group ending at the last metadata
|
|
91
|
+
// entry still emits a summary marker at the next (un-stored) index.
|
|
92
|
+
let prevLevel = 0;
|
|
93
|
+
for (let i = 0; i <= length; i++) {
|
|
94
|
+
const curr = levelAt(i);
|
|
95
|
+
if (curr > prevLevel) {
|
|
96
|
+
for (let level = prevLevel + 1; level <= curr; level++) {
|
|
97
|
+
openStarts.set(level, i);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else if (curr < prevLevel) {
|
|
101
|
+
const collapsed = !!metadata[i]?.collapsed;
|
|
102
|
+
// Close higher levels first (innermost group ends first).
|
|
103
|
+
for (let level = prevLevel; level > curr; level--) {
|
|
104
|
+
const startIndex = openStarts.get(level) ?? i;
|
|
105
|
+
out.push({ index: i, startIndex, collapsed, level });
|
|
106
|
+
openStarts.delete(level);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
prevLevel = curr;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// summaryAfter=false: summary cell sits BEFORE the group. Mirror
|
|
114
|
+
// image of the forward scan.
|
|
115
|
+
let prevLevel = 0;
|
|
116
|
+
for (let i = length; i >= -1; i--) {
|
|
117
|
+
const curr = levelAt(i);
|
|
118
|
+
if (curr > prevLevel) {
|
|
119
|
+
for (let level = prevLevel + 1; level <= curr; level++) {
|
|
120
|
+
openStarts.set(level, i);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else if (curr < prevLevel) {
|
|
124
|
+
const collapsed = !!metadata[i]?.collapsed;
|
|
125
|
+
for (let level = prevLevel; level > curr; level--) {
|
|
126
|
+
const startIndex = openStarts.get(level) ?? i;
|
|
127
|
+
out.push({ index: i, startIndex, collapsed, level });
|
|
128
|
+
openStarts.delete(level);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
prevLevel = curr;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return out;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Walk a sparse `DimensionProperties` array once and report the
|
|
138
|
+
* largest `outlineLevel` seen. Returns 0 when no grouping is in use.
|
|
139
|
+
*/
|
|
140
|
+
const computeMaxOutlineLevel = (metadata) => {
|
|
141
|
+
if (!metadata?.length)
|
|
142
|
+
return 0;
|
|
143
|
+
let max = 0;
|
|
144
|
+
for (const meta of metadata) {
|
|
145
|
+
const level = meta?.outlineLevel ?? 0;
|
|
146
|
+
if (level > max)
|
|
147
|
+
max = level;
|
|
148
|
+
}
|
|
149
|
+
return max;
|
|
150
|
+
};
|
|
151
|
+
export const ColumnOutlineGutter = memo(({ sheetId, columnMetadata, rowMetadata, summaryRight = true, onCollapseColumnGroup, onExpandColumnGroup, onSetOutlineDepth, }) => {
|
|
152
|
+
// Shift the strip right by the row outline gutter's width when one
|
|
153
|
+
// exists, so the strip's content lines up with the canvas (which
|
|
154
|
+
// sits to the right of the row gutter).
|
|
155
|
+
const leftInset = useMemo(() => computeOutlineGutterSize(rowMetadata), [rowMetadata]);
|
|
156
|
+
const maxColumnOutlineLevel = useMemo(() => computeMaxOutlineLevel(columnMetadata), [columnMetadata]);
|
|
157
|
+
const getColumnOffset = useCallback((columnIndex) => computeOffset(columnMetadata, columnIndex, DEFAULT_COLUMN_WIDTH) +
|
|
158
|
+
ROW_HEADER_WIDTH, [columnMetadata]);
|
|
159
|
+
const { scrollLeft } = useGridScrollPosition();
|
|
160
|
+
const summaries = useMemo(() => maxColumnOutlineLevel > 0
|
|
161
|
+
? findSummaries(columnMetadata, summaryRight)
|
|
162
|
+
: [], [columnMetadata, maxColumnOutlineLevel, summaryRight]);
|
|
163
|
+
// When nested groups share the same summary cell (common with
|
|
164
|
+
// `summaryRight=true`: outer and inner end at the same column), we
|
|
165
|
+
// render the bracket for every level but only the OUTERMOST
|
|
166
|
+
// (lowest level number) gets a +/- button — matches Excel.
|
|
167
|
+
// Granular collapse of inner groups uses the level-selector
|
|
168
|
+
// buttons instead.
|
|
169
|
+
const buttonLevelForIndex = useMemo(() => {
|
|
170
|
+
const m = new Map();
|
|
171
|
+
for (const s of summaries) {
|
|
172
|
+
const existing = m.get(s.index);
|
|
173
|
+
if (existing === undefined || s.level < existing) {
|
|
174
|
+
m.set(s.index, s.level);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return m;
|
|
178
|
+
}, [summaries]);
|
|
179
|
+
if (maxColumnOutlineLevel <= 0)
|
|
180
|
+
return null;
|
|
181
|
+
// N+1 level-selector buttons. `depth=1` collapses every group;
|
|
182
|
+
// `depth=maxColumnOutlineLevel+1` expands every group. The strip
|
|
183
|
+
// is tall enough to hold one lane per button so none get clipped.
|
|
184
|
+
const depthCount = maxColumnOutlineLevel + 1;
|
|
185
|
+
const gutterHeight = depthCount * OUTLINE_GUTTER_LEVEL_PX + OUTLINE_GUTTER_PAD_PX;
|
|
186
|
+
// Left edge of the first data column in the gutter's coord space.
|
|
187
|
+
// Summary +/- buttons, the bracket line, and dots all get clipped
|
|
188
|
+
// to this boundary so they never bleed into the level-selector
|
|
189
|
+
// lane or the row-header column above the grid.
|
|
190
|
+
const summaryMinX = leftInset + ROW_HEADER_WIDTH;
|
|
191
|
+
return (React.createElement("div", { "data-testid": "column-outline-gutter", className: "bg-rnc-background relative overflow-hidden border-l border-r border-r-rnc-border border-l-rnc-border border-solid border-t-rnc-border border-t border-b-0", style: {
|
|
192
|
+
height: gutterHeight,
|
|
193
|
+
paddingLeft: leftInset,
|
|
194
|
+
} },
|
|
195
|
+
React.createElement("div", { className: "absolute flex flex-col", style: {
|
|
196
|
+
left: 2,
|
|
197
|
+
top: OUTLINE_GUTTER_PAD_PX / 2,
|
|
198
|
+
gap: 1,
|
|
199
|
+
} }, Array.from({ length: depthCount }, (_, i) => i + 1).map((depth) => (React.createElement(Button, { key: `col-level-${depth}`, "aria-label": `Set column outline depth to ${depth}`, size: "xs", variant: "outline", className: "p-0 min-w-0 min-h-0 text-[10px] w-4 h-4 justify-center", onClick: (e) => {
|
|
200
|
+
e.stopPropagation();
|
|
201
|
+
onSetOutlineDepth?.(sheetId, "column", depth);
|
|
202
|
+
} }, depth)))),
|
|
203
|
+
summaries.map(({ index, startIndex, collapsed, level }) => {
|
|
204
|
+
// Anchor positions inside the cell area; add `leftInset` so
|
|
205
|
+
// x=0 of the strip lines up with the grid's content origin.
|
|
206
|
+
const buttonX = getColumnOffset(index) - scrollLeft + leftInset;
|
|
207
|
+
const lineStartX = getColumnOffset(startIndex) - scrollLeft + leftInset + 2;
|
|
208
|
+
const y = (level - 1) * OUTLINE_GUTTER_LEVEL_PX + OUTLINE_GUTTER_PAD_PX / 2;
|
|
209
|
+
const lineCenterY = y + 6;
|
|
210
|
+
// Gap (in px) the bracket line should leave before the
|
|
211
|
+
// button starts, so the two don't visually run together.
|
|
212
|
+
const lineButtonGap = 4;
|
|
213
|
+
// Length of the small downward "hook" tick at the start of
|
|
214
|
+
// the bracket (matches Excel's outline visual).
|
|
215
|
+
const hookLength = 4;
|
|
216
|
+
// One small dot per grouped column, centered on each cell
|
|
217
|
+
// and aligned with the bracket line (Excel's outline visual).
|
|
218
|
+
const childIndices = [];
|
|
219
|
+
if (!collapsed) {
|
|
220
|
+
const [from, to] = summaryRight
|
|
221
|
+
? [startIndex, index - 1]
|
|
222
|
+
: [index + 1, startIndex];
|
|
223
|
+
for (let c = from; c <= to; c++)
|
|
224
|
+
childIndices.push(c);
|
|
225
|
+
}
|
|
226
|
+
const showSummary = buttonX >= summaryMinX;
|
|
227
|
+
// Clip the bracket line / hook / dots to the level-selector
|
|
228
|
+
// boundary so they don't visually leak under the "1/2/3" lane
|
|
229
|
+
// when the group's start column is scrolled off-screen.
|
|
230
|
+
const lineStartXClamped = Math.max(lineStartX, summaryMinX);
|
|
231
|
+
const lineWidth = buttonX - lineStartXClamped - lineButtonGap;
|
|
232
|
+
return (React.createElement(React.Fragment, { key: `col-${index}-${level}` },
|
|
233
|
+
showSummary && !collapsed && lineWidth > 0 ? (React.createElement(React.Fragment, null,
|
|
234
|
+
React.createElement("span", { className: "absolute bg-rnc-border h-[1px]", style: {
|
|
235
|
+
left: lineStartXClamped,
|
|
236
|
+
top: lineCenterY,
|
|
237
|
+
width: lineWidth,
|
|
238
|
+
} }),
|
|
239
|
+
lineStartX >= summaryMinX ? (React.createElement("span", { className: "absolute bg-rnc-border w-[1px]", style: {
|
|
240
|
+
left: lineStartX,
|
|
241
|
+
top: lineCenterY,
|
|
242
|
+
height: hookLength,
|
|
243
|
+
} })) : null,
|
|
244
|
+
childIndices.map((c) => {
|
|
245
|
+
const colStart = getColumnOffset(c);
|
|
246
|
+
const colEnd = getColumnOffset(c + 1);
|
|
247
|
+
const cx = colStart +
|
|
248
|
+
(colEnd - colStart) / 2 -
|
|
249
|
+
scrollLeft +
|
|
250
|
+
leftInset;
|
|
251
|
+
if (cx - 1 < summaryMinX)
|
|
252
|
+
return null;
|
|
253
|
+
return (React.createElement("span", { key: `col-dot-${c}`, className: "absolute bg-rnc-border rounded-full w-1 h-1", style: {
|
|
254
|
+
left: cx - 1,
|
|
255
|
+
top: lineCenterY + 3,
|
|
256
|
+
} }));
|
|
257
|
+
}))) : null,
|
|
258
|
+
showSummary && buttonLevelForIndex.get(index) === level ? (React.createElement(Button, { "aria-label": collapsed
|
|
259
|
+
? `Expand column group at ${index}`
|
|
260
|
+
: `Collapse column group at ${index}`, size: "xs", variant: "outline", className: "absolute p-0 min-w-0 min-h-0", style: {
|
|
261
|
+
left: buttonX,
|
|
262
|
+
top: y,
|
|
263
|
+
}, onClick: (e) => {
|
|
264
|
+
e.stopPropagation();
|
|
265
|
+
if (collapsed)
|
|
266
|
+
onExpandColumnGroup?.(sheetId, index);
|
|
267
|
+
else
|
|
268
|
+
onCollapseColumnGroup?.(sheetId, index);
|
|
269
|
+
} }, collapsed ? (React.createElement(PlusIcon, { className: "w-3 h-3" })) : (React.createElement(MinusIcon, { className: "w-3 h-3" })))) : null));
|
|
270
|
+
})));
|
|
271
|
+
});
|
|
272
|
+
ColumnOutlineGutter.displayName = "ColumnOutlineGutter";
|
|
273
|
+
export const RowOutlineGutter = memo(({ sheetId, rowMetadata, summaryBelow = true, onCollapseRowGroup, onExpandRowGroup, onSetOutlineDepth, }) => {
|
|
274
|
+
const topInset = 0;
|
|
275
|
+
const maxRowOutlineLevel = useMemo(() => computeMaxOutlineLevel(rowMetadata), [rowMetadata]);
|
|
276
|
+
const getRowOffset = useCallback((rowIndex) => computeOffset(rowMetadata, rowIndex, DEFAULT_ROW_HEIGHT) +
|
|
277
|
+
COLUMN_HEADER_HEIGHT, [rowMetadata]);
|
|
278
|
+
const { scrollTop } = useGridScrollPosition();
|
|
279
|
+
const summaries = useMemo(() => maxRowOutlineLevel > 0 ? findSummaries(rowMetadata, summaryBelow) : [], [rowMetadata, maxRowOutlineLevel, summaryBelow]);
|
|
280
|
+
// Dedup buttons by index (outermost level wins) — matches Excel.
|
|
281
|
+
// See the matching `ColumnOutlineGutter` block for the rationale.
|
|
282
|
+
const buttonLevelForIndex = useMemo(() => {
|
|
283
|
+
const m = new Map();
|
|
284
|
+
for (const s of summaries) {
|
|
285
|
+
const existing = m.get(s.index);
|
|
286
|
+
if (existing === undefined || s.level < existing) {
|
|
287
|
+
m.set(s.index, s.level);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
return m;
|
|
291
|
+
}, [summaries]);
|
|
292
|
+
if (maxRowOutlineLevel <= 0)
|
|
293
|
+
return null;
|
|
294
|
+
// N+1 level-selector buttons, stacked horizontally at the top of
|
|
295
|
+
// the row gutter strip. The strip is wide enough to hold one lane
|
|
296
|
+
// per button so none get clipped.
|
|
297
|
+
const depthCount = maxRowOutlineLevel + 1;
|
|
298
|
+
const gutterWidth = depthCount * OUTLINE_GUTTER_LEVEL_PX + OUTLINE_GUTTER_PAD_PX;
|
|
299
|
+
// Top edge of the first data row in the gutter's coord space.
|
|
300
|
+
// Summary +/- buttons, the bracket line, and dots all get clipped
|
|
301
|
+
// to this boundary so they never bleed into the level-selector
|
|
302
|
+
// row or the column-header band beside the grid.
|
|
303
|
+
const summaryMinY = topInset + COLUMN_HEADER_HEIGHT;
|
|
304
|
+
return (React.createElement("div", { "data-testid": "row-outline-gutter", className: "bg-rnc-background relative overflow-hidden border-t border-b border-t-rnc-border border-b-rnc-border border-solid border-l-rnc-border border-l border-r-0", style: {
|
|
305
|
+
width: gutterWidth,
|
|
306
|
+
paddingTop: topInset,
|
|
307
|
+
} },
|
|
308
|
+
React.createElement("div", { className: "absolute flex flex-row", style: {
|
|
309
|
+
left: OUTLINE_GUTTER_PAD_PX / 2,
|
|
310
|
+
top: 2,
|
|
311
|
+
gap: 1,
|
|
312
|
+
} }, Array.from({ length: depthCount }, (_, i) => i + 1).map((depth) => (React.createElement(Button, { key: `row-level-${depth}`, "aria-label": `Set row outline depth to ${depth}`, size: "xs", variant: "outline", className: "p-0 min-w-0 min-h-0 text-[10px] w-4 h-4 justify-center", onClick: (e) => {
|
|
313
|
+
e.stopPropagation();
|
|
314
|
+
onSetOutlineDepth?.(sheetId, "row", depth);
|
|
315
|
+
} }, depth)))),
|
|
316
|
+
summaries.map(({ index, startIndex, collapsed, level }) => {
|
|
317
|
+
const buttonY = getRowOffset(index) - scrollTop + topInset;
|
|
318
|
+
const lineStartY = getRowOffset(startIndex) - scrollTop + topInset + 2;
|
|
319
|
+
const x = (level - 1) * OUTLINE_GUTTER_LEVEL_PX + OUTLINE_GUTTER_PAD_PX / 2;
|
|
320
|
+
const lineCenterX = x + 6;
|
|
321
|
+
// Gap before the button + length of the rightward "hook"
|
|
322
|
+
// tick at the start (matches Excel's outline visual; the
|
|
323
|
+
// row axis is just the column axis rotated 90°).
|
|
324
|
+
const lineButtonGap = 4;
|
|
325
|
+
const hookLength = 4;
|
|
326
|
+
// One small dot per grouped row, centered on each row and
|
|
327
|
+
// aligned with the bracket line (Excel's outline visual).
|
|
328
|
+
const childIndices = [];
|
|
329
|
+
if (!collapsed) {
|
|
330
|
+
const [from, to] = summaryBelow
|
|
331
|
+
? [startIndex, index - 1]
|
|
332
|
+
: [index + 1, startIndex];
|
|
333
|
+
for (let c = from; c <= to; c++)
|
|
334
|
+
childIndices.push(c);
|
|
335
|
+
}
|
|
336
|
+
const showSummary = buttonY >= summaryMinY;
|
|
337
|
+
// Clip the bracket line / hook / dots to the level-selector
|
|
338
|
+
// boundary so they don't visually leak under the "1/2/3" lane
|
|
339
|
+
// when the group's start row is scrolled off-screen.
|
|
340
|
+
const lineStartYClamped = Math.max(lineStartY, summaryMinY);
|
|
341
|
+
const lineHeight = buttonY - lineStartYClamped - lineButtonGap;
|
|
342
|
+
return (React.createElement(React.Fragment, { key: `row-${index}-${level}` },
|
|
343
|
+
showSummary && !collapsed && lineHeight > 0 ? (React.createElement(React.Fragment, null,
|
|
344
|
+
React.createElement("span", { className: "absolute bg-rnc-border w-[1px]", style: {
|
|
345
|
+
left: lineCenterX,
|
|
346
|
+
top: lineStartYClamped,
|
|
347
|
+
height: lineHeight,
|
|
348
|
+
} }),
|
|
349
|
+
lineStartY >= summaryMinY ? (React.createElement("span", { className: "absolute bg-rnc-border h-[1px]", style: {
|
|
350
|
+
left: lineCenterX,
|
|
351
|
+
top: lineStartY,
|
|
352
|
+
width: hookLength,
|
|
353
|
+
} })) : null,
|
|
354
|
+
childIndices.map((c) => {
|
|
355
|
+
const rowStart = getRowOffset(c);
|
|
356
|
+
const rowEnd = getRowOffset(c + 1);
|
|
357
|
+
const cy = rowStart + (rowEnd - rowStart) / 2 - scrollTop + topInset;
|
|
358
|
+
if (cy - 1 < summaryMinY)
|
|
359
|
+
return null;
|
|
360
|
+
return (React.createElement("span", { key: `row-dot-${c}`, className: "absolute bg-rnc-border rounded-full w-1 h-1", style: {
|
|
361
|
+
left: lineCenterX + 3,
|
|
362
|
+
top: cy - 1,
|
|
363
|
+
} }));
|
|
364
|
+
}))) : null,
|
|
365
|
+
showSummary && buttonLevelForIndex.get(index) === level ? (React.createElement(Button, { "aria-label": collapsed
|
|
366
|
+
? `Expand row group at ${index}`
|
|
367
|
+
: `Collapse row group at ${index}`, className: "absolute p-0 min-w-0 min-h-0", size: "xs", variant: "outline", style: {
|
|
368
|
+
left: x,
|
|
369
|
+
top: buttonY,
|
|
370
|
+
}, onClick: (e) => {
|
|
371
|
+
e.stopPropagation();
|
|
372
|
+
if (collapsed)
|
|
373
|
+
onExpandRowGroup?.(sheetId, index);
|
|
374
|
+
else
|
|
375
|
+
onCollapseRowGroup?.(sheetId, index);
|
|
376
|
+
} }, collapsed ? (React.createElement(PlusIcon, { className: "w-3 h-3" })) : (React.createElement(MinusIcon, { className: "w-3 h-3" })))) : null));
|
|
377
|
+
})));
|
|
378
|
+
});
|
|
379
|
+
RowOutlineGutter.displayName = "RowOutlineGutter";
|
|
380
|
+
/**
|
|
381
|
+
* Pixel width / height the outline gutter will reserve for the given
|
|
382
|
+
* axis. Returns 0 when the metadata has no `outlineLevel > 0`. Use
|
|
383
|
+
* this from your composing layout to compute the inset the *other*
|
|
384
|
+
* axis's gutter needs. Must stay in sync with `gutterWidth` /
|
|
385
|
+
* `gutterHeight` inside the row/column gutter components — the strip
|
|
386
|
+
* holds N+1 level-selector lanes (one per level plus the "expand all"
|
|
387
|
+
* lane) plus the constant pad.
|
|
388
|
+
*/
|
|
389
|
+
export const computeOutlineGutterSize = (metadata) => {
|
|
390
|
+
const max = computeMaxOutlineLevel(metadata);
|
|
391
|
+
if (max <= 0)
|
|
392
|
+
return 0;
|
|
393
|
+
return (max + 1) * OUTLINE_GUTTER_LEVEL_PX + OUTLINE_GUTTER_PAD_PX;
|
|
394
|
+
};
|
|
395
|
+
export { COLUMN_HEADER_HEIGHT, ROW_HEADER_WIDTH };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PivotTable } from "../../types";
|
|
3
|
+
import type { CanvasGridProps } from "../canvas-grid/typings";
|
|
4
|
+
export type PivotPlaceholderProps = {
|
|
5
|
+
pivotTable: PivotTable;
|
|
6
|
+
displayName: string;
|
|
7
|
+
left: number;
|
|
8
|
+
top: number;
|
|
9
|
+
onRequestEditPivotTable: CanvasGridProps["onRequestEditPivotTable"];
|
|
10
|
+
};
|
|
11
|
+
export declare const PivotPlaceholder: ({ pivotTable, displayName, left, top, onRequestEditPivotTable, }: PivotPlaceholderProps) => React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|