@svgrid/enterprise 3.0.1 → 3.0.3
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 +94 -24
- package/README.md +36 -4
- package/dist/SvAdvancedFilter.svelte +1 -1
- package/dist/SvAlertsManager.svelte +2 -1
- package/dist/SvBoard.svelte +2 -1
- package/dist/SvExportMenu.svelte +4 -1
- package/dist/SvExportMenu.svelte.d.ts +0 -13
- package/dist/SvExpressionEditor.svelte +3 -3
- package/dist/SvFormulaBar.svelte +680 -0
- package/dist/SvFormulaBar.svelte.d.ts +69 -0
- package/dist/SvGridAlerts.svelte +49 -9
- package/dist/SvGridBoard.svelte +13 -8
- package/dist/SvGridBulkEditDrawer.svelte +26 -2
- package/dist/SvGridEditPanel.svelte +3 -0
- package/dist/SvGridScheduler.svelte +69 -40
- package/dist/SvGridSelectionBar.svelte +10 -3
- package/dist/SvPivotDesigner.svelte +263 -54
- package/dist/SvPivotDesigner.svelte.d.ts +27 -20
- package/dist/SvRibbonIcon.svelte +46 -0
- package/dist/SvRibbonIcon.svelte.d.ts +17 -0
- package/dist/SvSchemaChart.svelte +4 -2
- package/dist/SvSheet.svelte +7914 -0
- package/dist/SvSheet.svelte.d.ts +215 -0
- package/dist/SvSheetChartSetup.svelte +151 -0
- package/dist/SvSheetChartSetup.svelte.d.ts +18 -0
- package/dist/SvSheetComment.svelte +283 -0
- package/dist/SvSheetComment.svelte.d.ts +22 -0
- package/dist/SvSheetConditionalFormat.svelte +159 -0
- package/dist/SvSheetConditionalFormat.svelte.d.ts +14 -0
- package/dist/SvSheetDataValidation.svelte +273 -0
- package/dist/SvSheetDataValidation.svelte.d.ts +14 -0
- package/dist/SvSheetEditRanges.svelte +217 -0
- package/dist/SvSheetEditRanges.svelte.d.ts +15 -0
- package/dist/SvSheetErrors.svelte +125 -0
- package/dist/SvSheetErrors.svelte.d.ts +20 -0
- package/dist/SvSheetEvaluate.svelte +133 -0
- package/dist/SvSheetEvaluate.svelte.d.ts +15 -0
- package/dist/SvSheetFilterMenu.svelte +320 -0
- package/dist/SvSheetFilterMenu.svelte.d.ts +22 -0
- package/dist/SvSheetFindReplace.svelte +132 -0
- package/dist/SvSheetFindReplace.svelte.d.ts +10 -0
- package/dist/SvSheetFormatCells.svelte +465 -0
- package/dist/SvSheetFormatCells.svelte.d.ts +17 -0
- package/dist/SvSheetGoalSeek.svelte +145 -0
- package/dist/SvSheetGoalSeek.svelte.d.ts +12 -0
- package/dist/SvSheetInsertFunction.svelte +149 -0
- package/dist/SvSheetInsertFunction.svelte.d.ts +8 -0
- package/dist/SvSheetIteration.svelte +81 -0
- package/dist/SvSheetIteration.svelte.d.ts +10 -0
- package/dist/SvSheetLink.svelte +99 -0
- package/dist/SvSheetLink.svelte.d.ts +17 -0
- package/dist/SvSheetListPicker.svelte +91 -0
- package/dist/SvSheetListPicker.svelte.d.ts +10 -0
- package/dist/SvSheetManageRules.svelte +187 -0
- package/dist/SvSheetManageRules.svelte.d.ts +16 -0
- package/dist/SvSheetNameManager.svelte +227 -0
- package/dist/SvSheetNameManager.svelte.d.ts +11 -0
- package/dist/SvSheetPageSetup.svelte +159 -0
- package/dist/SvSheetPageSetup.svelte.d.ts +13 -0
- package/dist/SvSheetPasteSpecial.svelte +107 -0
- package/dist/SvSheetPasteSpecial.svelte.d.ts +12 -0
- package/dist/SvSheetPivot.svelte +220 -0
- package/dist/SvSheetPivot.svelte.d.ts +21 -0
- package/dist/SvSheetProtectSheet.svelte +81 -0
- package/dist/SvSheetProtectSheet.svelte.d.ts +11 -0
- package/dist/SvSheetRemoveDuplicates.svelte +152 -0
- package/dist/SvSheetRemoveDuplicates.svelte.d.ts +12 -0
- package/dist/SvSheetRibbon.svelte +1254 -0
- package/dist/SvSheetRibbon.svelte.d.ts +34 -0
- package/dist/SvSheetSizeDialog.svelte +60 -0
- package/dist/SvSheetSizeDialog.svelte.d.ts +11 -0
- package/dist/SvSheetSort.svelte +218 -0
- package/dist/SvSheetSort.svelte.d.ts +28 -0
- package/dist/SvSheetSparklines.svelte +135 -0
- package/dist/SvSheetSparklines.svelte.d.ts +14 -0
- package/dist/SvSheetTable.svelte +160 -0
- package/dist/SvSheetTable.svelte.d.ts +24 -0
- package/dist/SvSheetTabs.svelte +571 -0
- package/dist/SvSheetTabs.svelte.d.ts +50 -0
- package/dist/SvSheetTabs.test-harness.svelte.d.ts +17 -0
- package/dist/SvSheetTabs.test-harness.svelte.js +22 -0
- package/dist/SvSheetTextToColumns.svelte +172 -0
- package/dist/SvSheetTextToColumns.svelte.d.ts +13 -0
- package/dist/SvSheetValidationAlert.svelte +85 -0
- package/dist/SvSheetValidationAlert.svelte.d.ts +15 -0
- package/dist/advanced-filter-enable.js +1 -1
- package/dist/alerts/alert-engine.d.ts +6 -0
- package/dist/alerts/alert-engine.js +21 -4
- package/dist/alerts/alert-formats.js +2 -0
- package/dist/alerts/alert-types.d.ts +1 -1
- package/dist/alerts.d.ts +1 -1
- package/dist/alerts.js +2 -2
- package/dist/board.js +2 -2
- package/dist/bulk-edit.d.ts +3 -1
- package/dist/bulk-edit.js +1 -1
- package/dist/cdn/svgrid-enterprise.svelte-external.js +43538 -6539
- package/dist/designer/assets/GridMenus-8gTNssgV.js +8 -0
- package/dist/designer/assets/SvChartMenu-BDoeqGz6.js +1 -0
- package/dist/designer/assets/SvChartMenu-BYO9cYdy.css +1 -0
- package/dist/designer/assets/SvDateRangeInput-BBRzrQeg.js +1 -0
- package/dist/designer/assets/SvDateTimePicker-DCPg7WGN.js +1 -0
- package/dist/designer/assets/SvGridCellEditor-DMoWJjEI.js +4 -0
- package/dist/designer/assets/SvGridChart-BgLuPO7I.css +1 -0
- package/dist/designer/assets/SvGridChart-Cy1ATrWh.js +3 -0
- package/dist/designer/assets/SvGridChartBuilder-08YWWeqY.css +1 -0
- package/dist/designer/assets/SvGridChartBuilder-eQ3mn0L9.js +1 -0
- package/dist/designer/assets/SvGridChartPanel-4Pc8y5yO.css +1 -0
- package/dist/designer/assets/SvGridChartPanel-CATdVc9X.js +4 -0
- package/dist/designer/assets/{SvGridChartView-DUc-1RUf.css → SvGridChartView-7msfnWZT.css} +1 -1
- package/dist/designer/assets/SvGridChartView-CmsZtCED.js +1 -0
- package/dist/designer/assets/SvGridDropdown-Cjz0H-fI.js +1 -0
- package/dist/designer/assets/SvListBox-BDS66lmZ.js +110 -0
- package/dist/designer/assets/SvMenuList-DJ47ba1h.css +1 -0
- package/dist/designer/assets/SvMenuList-Dgq2D5VN.js +1 -0
- package/dist/designer/assets/SvTabs-2mHC6oaz.js +1 -0
- package/dist/designer/assets/SvTabs-DKmwb5p1.css +1 -0
- package/dist/designer/assets/cell-formatting-BbubJTVz.js +1 -0
- package/dist/designer/assets/chart-Cn7MnNqA.js +1 -0
- package/dist/designer/assets/chart-export-B6bkQ3X8.js +11 -0
- package/dist/designer/assets/chart-export-pdf-BbA28-gt.js +11 -0
- package/dist/designer/assets/chart-panel-messages-Dz7PTIqT.js +1 -0
- package/dist/designer/assets/chart-summary-BD1qYB2R.js +1 -0
- package/dist/designer/assets/chart-trend-B8xr5LuD.js +1 -0
- package/dist/designer/assets/chart-validate-BMqM-qkF.js +1 -0
- package/dist/designer/assets/column-resize-BYDzR1Ve.js +1 -0
- package/dist/designer/assets/date-format-B8JbEtIG.js +1 -0
- package/dist/designer/assets/date-format-DKS-z0xS.css +1 -0
- package/dist/designer/assets/{dismissable-BO547MH9.js → dismissable-ChWRPkoa.js} +1 -1
- package/dist/designer/assets/editor-contract-Bpoa7A5g.js +1 -0
- package/dist/designer/assets/{export-format-D-eP4b2l.js → export-format-DGckmgKr.js} +1 -1
- package/dist/designer/assets/focus-trap-V2-6Fy9I.js +1 -0
- package/dist/designer/assets/{index-C_a9Cj8Y.js → index-D5bVbuzI.js} +318 -315
- package/dist/designer/assets/index-_JVFxt02.css +1 -0
- package/dist/designer/assets/list-option-BP_dWS66.js +1 -0
- package/dist/designer/assets/row-resize-BInFWCpr.js +1 -0
- package/dist/designer/assets/server-block-cache-CXJKkJpy.js +1 -0
- package/dist/designer/assets/src-CITpcm6b.js +1 -0
- package/dist/designer/assets/src-DUQ4xE3x.js +58 -0
- package/dist/designer/assets/validate-C3B8QKsM.js +1 -0
- package/dist/designer/index.html +29 -19
- package/dist/export-pdf.d.ts +164 -0
- package/dist/export-pdf.js +346 -15
- package/dist/export.js +25 -10
- package/dist/gantt/SvGridGantt.svelte +2890 -0
- package/dist/gantt/SvGridGantt.svelte.d.ts +30 -0
- package/dist/gantt/gantt-config.d.ts +73 -0
- package/dist/gantt/gantt-config.js +1 -0
- package/dist/gantt/gantt-critical-path.d.ts +67 -0
- package/dist/gantt/gantt-critical-path.js +207 -0
- package/dist/gantt/gantt-model.d.ts +257 -0
- package/dist/gantt/gantt-model.js +651 -0
- package/dist/gantt/gantt-resources.d.ts +59 -0
- package/dist/gantt/gantt-resources.js +71 -0
- package/dist/gantt/gantt.d.ts +7 -0
- package/dist/gantt/gantt.js +36 -0
- package/dist/gantt/index.d.ts +15 -0
- package/dist/gantt/index.js +22 -0
- package/dist/gantt/timeline-arrows.d.ts +102 -0
- package/dist/gantt/timeline-arrows.js +181 -0
- package/dist/import.d.ts +2 -2
- package/dist/import.js +1 -1
- package/dist/index.d.ts +93 -3
- package/dist/index.js +107 -3
- package/dist/install.js +13 -1
- package/dist/license-core.d.ts +17 -1
- package/dist/license-core.js +16 -5
- package/dist/license.d.ts +18 -2
- package/dist/license.js +71 -6
- package/dist/node/studio.js +203 -9
- package/dist/pivot-chart.d.ts +25 -1
- package/dist/pivot-chart.js +25 -69
- package/dist/pivot-enable.js +2 -2
- package/dist/scheduler-dependencies.d.ts +35 -0
- package/dist/scheduler-dependencies.js +36 -1
- package/dist/scheduler.js +2 -2
- package/dist/selection-bar.js +2 -2
- package/dist/server/SvGroupCell.svelte +213 -0
- package/dist/server/SvGroupCell.svelte.d.ts +62 -0
- package/dist/server/SvRowGroupPanel.svelte +322 -0
- package/dist/server/SvRowGroupPanel.svelte.d.ts +37 -0
- package/dist/server/enable.d.ts +17 -0
- package/dist/server/enable.js +49 -0
- package/dist/server/index.d.ts +22 -0
- package/dist/server/index.js +24 -0
- package/dist/server/messages.d.ts +45 -0
- package/dist/server/messages.js +35 -0
- package/dist/server/server-group-model.d.ts +104 -0
- package/dist/server/server-group-model.js +272 -0
- package/dist/server/server-pivot.d.ts +46 -0
- package/dist/server/server-pivot.js +57 -0
- package/dist/server/server-row-model.d.ts +547 -0
- package/dist/server/server-row-model.js +1551 -0
- package/dist/server/server-selection.d.ts +99 -0
- package/dist/server/server-selection.js +215 -0
- package/dist/server/svgrid-adapter.d.ts +155 -0
- package/dist/server/svgrid-adapter.js +202 -0
- package/dist/sheet/address.d.ts +43 -0
- package/dist/sheet/address.js +81 -0
- package/dist/sheet/ast.d.ts +138 -0
- package/dist/sheet/ast.js +70 -0
- package/dist/sheet/auto-filter.d.ts +120 -0
- package/dist/sheet/auto-filter.js +295 -0
- package/dist/sheet/autocomplete.d.ts +51 -0
- package/dist/sheet/autocomplete.js +248 -0
- package/dist/sheet/cell-images.d.ts +39 -0
- package/dist/sheet/cell-images.js +90 -0
- package/dist/sheet/cell-types.d.ts +58 -0
- package/dist/sheet/cell-types.js +96 -0
- package/dist/sheet/coerce.d.ts +71 -0
- package/dist/sheet/coerce.js +289 -0
- package/dist/sheet/commands.d.ts +89 -0
- package/dist/sheet/commands.js +230 -0
- package/dist/sheet/comments.d.ts +63 -0
- package/dist/sheet/comments.js +131 -0
- package/dist/sheet/conditional-formats.d.ts +167 -0
- package/dist/sheet/conditional-formats.js +341 -0
- package/dist/sheet/csv.d.ts +32 -0
- package/dist/sheet/csv.js +158 -0
- package/dist/sheet/culture.d.ts +87 -0
- package/dist/sheet/culture.js +247 -0
- package/dist/sheet/delta.d.ts +102 -0
- package/dist/sheet/delta.js +203 -0
- package/dist/sheet/deps.d.ts +104 -0
- package/dist/sheet/deps.js +274 -0
- package/dist/sheet/document.d.ts +252 -0
- package/dist/sheet/document.js +465 -0
- package/dist/sheet/edit-keys.d.ts +14 -0
- package/dist/sheet/edit-keys.js +40 -0
- package/dist/sheet/engine.d.ts +67 -0
- package/dist/sheet/engine.js +19 -0
- package/dist/sheet/entry.d.ts +35 -0
- package/dist/sheet/entry.js +226 -0
- package/dist/sheet/error-check.d.ts +49 -0
- package/dist/sheet/error-check.js +83 -0
- package/dist/sheet/evaluate-steps.d.ts +48 -0
- package/dist/sheet/evaluate-steps.js +196 -0
- package/dist/sheet/evaluate.d.ts +128 -0
- package/dist/sheet/evaluate.js +1049 -0
- package/dist/sheet/filter-files.d.ts +37 -0
- package/dist/sheet/filter-files.js +465 -0
- package/dist/sheet/find-replace.d.ts +62 -0
- package/dist/sheet/find-replace.js +152 -0
- package/dist/sheet/format-store.d.ts +114 -0
- package/dist/sheet/format-store.js +243 -0
- package/dist/sheet/freeze.d.ts +54 -0
- package/dist/sheet/freeze.js +58 -0
- package/dist/sheet/from-rows.d.ts +14 -0
- package/dist/sheet/from-rows.js +50 -0
- package/dist/sheet/function-catalog.d.ts +10 -0
- package/dist/sheet/function-catalog.js +385 -0
- package/dist/sheet/functions.d.ts +28 -0
- package/dist/sheet/functions.js +634 -0
- package/dist/sheet/goal-seek.d.ts +73 -0
- package/dist/sheet/goal-seek.js +153 -0
- package/dist/sheet/index.d.ts +80 -0
- package/dist/sheet/index.js +80 -0
- package/dist/sheet/links.d.ts +57 -0
- package/dist/sheet/links.js +174 -0
- package/dist/sheet/merges.d.ts +71 -0
- package/dist/sheet/merges.js +137 -0
- package/dist/sheet/messages.d.ts +778 -0
- package/dist/sheet/messages.js +806 -0
- package/dist/sheet/names.d.ts +31 -0
- package/dist/sheet/names.js +87 -0
- package/dist/sheet/navigate.d.ts +52 -0
- package/dist/sheet/navigate.js +135 -0
- package/dist/sheet/number-format.d.ts +110 -0
- package/dist/sheet/number-format.js +905 -0
- package/dist/sheet/objects.d.ts +106 -0
- package/dist/sheet/objects.js +149 -0
- package/dist/sheet/ods-document.d.ts +44 -0
- package/dist/sheet/ods-document.js +1275 -0
- package/dist/sheet/open-file.d.ts +26 -0
- package/dist/sheet/open-file.js +56 -0
- package/dist/sheet/outline.d.ts +82 -0
- package/dist/sheet/outline.js +228 -0
- package/dist/sheet/packs/array.d.ts +16 -0
- package/dist/sheet/packs/array.js +172 -0
- package/dist/sheet/packs/database.d.ts +42 -0
- package/dist/sheet/packs/database.js +142 -0
- package/dist/sheet/packs/engineering.d.ts +2 -0
- package/dist/sheet/packs/engineering.js +296 -0
- package/dist/sheet/packs/financial.d.ts +5 -0
- package/dist/sheet/packs/financial.js +220 -0
- package/dist/sheet/packs/math-stats.d.ts +2 -0
- package/dist/sheet/packs/math-stats.js +372 -0
- package/dist/sheet/packs/special.d.ts +44 -0
- package/dist/sheet/packs/special.js +187 -0
- package/dist/sheet/packs/stats-dist.d.ts +2 -0
- package/dist/sheet/packs/stats-dist.js +785 -0
- package/dist/sheet/packs/text-date.d.ts +2 -0
- package/dist/sheet/packs/text-date.js +332 -0
- package/dist/sheet/packs/trig.d.ts +2 -0
- package/dist/sheet/packs/trig.js +73 -0
- package/dist/sheet/page-setup.d.ts +73 -0
- package/dist/sheet/page-setup.js +73 -0
- package/dist/sheet/palette.d.ts +19 -0
- package/dist/sheet/palette.js +84 -0
- package/dist/sheet/parse.d.ts +13 -0
- package/dist/sheet/parse.js +140 -0
- package/dist/sheet/paste-special.d.ts +186 -0
- package/dist/sheet/paste-special.js +601 -0
- package/dist/sheet/pivot-range.d.ts +160 -0
- package/dist/sheet/pivot-range.js +333 -0
- package/dist/sheet/presence.d.ts +73 -0
- package/dist/sheet/presence.js +79 -0
- package/dist/sheet/print.d.ts +104 -0
- package/dist/sheet/print.js +169 -0
- package/dist/sheet/protection.d.ts +75 -0
- package/dist/sheet/protection.js +101 -0
- package/dist/sheet/rects.d.ts +45 -0
- package/dist/sheet/rects.js +112 -0
- package/dist/sheet/refs.d.ts +130 -0
- package/dist/sheet/refs.js +413 -0
- package/dist/sheet/ribbon-icons.d.ts +31 -0
- package/dist/sheet/ribbon-icons.js +536 -0
- package/dist/sheet/ribbon.d.ts +173 -0
- package/dist/sheet/ribbon.js +1054 -0
- package/dist/sheet/sheet-kinds.d.ts +74 -0
- package/dist/sheet/sheet-kinds.js +91 -0
- package/dist/sheet/shortcuts.d.ts +174 -0
- package/dist/sheet/shortcuts.js +674 -0
- package/dist/sheet/sort.d.ts +51 -0
- package/dist/sheet/sort.js +107 -0
- package/dist/sheet/sparklines.d.ts +111 -0
- package/dist/sheet/sparklines.js +204 -0
- package/dist/sheet/structure.d.ts +87 -0
- package/dist/sheet/structure.js +166 -0
- package/dist/sheet/table-styles.d.ts +74 -0
- package/dist/sheet/table-styles.js +152 -0
- package/dist/sheet/tables.d.ts +89 -0
- package/dist/sheet/tables.js +178 -0
- package/dist/sheet/tokenize.d.ts +71 -0
- package/dist/sheet/tokenize.js +355 -0
- package/dist/sheet/transforms.d.ts +76 -0
- package/dist/sheet/transforms.js +154 -0
- package/dist/sheet/validation.d.ts +108 -0
- package/dist/sheet/validation.js +278 -0
- package/dist/sheet/workbook.d.ts +217 -0
- package/dist/sheet/workbook.js +1120 -0
- package/dist/sheet/xls-cfb.d.ts +32 -0
- package/dist/sheet/xls-cfb.js +290 -0
- package/dist/sheet/xls-document.d.ts +10 -0
- package/dist/sheet/xls-document.js +1243 -0
- package/dist/sheet/xls-formula.d.ts +40 -0
- package/dist/sheet/xls-formula.js +569 -0
- package/dist/sheet/xlsx-document.d.ts +108 -0
- package/dist/sheet/xlsx-document.js +1849 -0
- package/dist/sheet/xlsx-drawing.d.ts +99 -0
- package/dist/sheet/xlsx-drawing.js +420 -0
- package/dist/sheet-enable.d.ts +6 -0
- package/dist/sheet-enable.js +45 -0
- package/dist/sheet-text.d.ts +7 -0
- package/dist/sheet-text.js +29 -0
- package/dist/sources/auth-supabase.js +2 -2
- package/dist/sources/realtime-supabase.js +2 -2
- package/dist/sources/rest.d.ts +6 -2
- package/dist/sources/rest.js +42 -7
- package/dist/sources/supabase.d.ts +10 -1
- package/dist/sources/supabase.js +73 -40
- package/dist/studio/emit-project.js +14 -1
- package/dist/studio/index.js +1 -1
- package/dist/studio/project.d.ts +11 -2
- package/dist/studio/project.js +5 -2
- package/dist/studio/ui-components.generated.js +170 -3
- package/dist/sveltekit/in-memory.d.ts +2 -2
- package/dist/sveltekit/in-memory.js +125 -4
- package/dist/sveltekit/index.d.ts +1 -1
- package/dist/sveltekit/index.js +1 -1
- package/dist/sveltekit/query-plan.d.ts +50 -4
- package/dist/sveltekit/query-plan.js +25 -3
- package/dist/sveltekit/sql-source.d.ts +6 -0
- package/dist/sveltekit/sql-source.js +34 -6
- package/dist/sveltekit/sql.d.ts +31 -0
- package/dist/sveltekit/sql.js +135 -25
- package/dist/sveltekit/transport.d.ts +10 -2
- package/dist/sveltekit/transport.js +30 -6
- package/dist/upgrade-prompt.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/watermark.js +35 -2
- package/dist/wc/GridMenus-By9vPuq0.js +1088 -0
- package/dist/wc/SvChartMenu-CQNrQGT2.js +308 -0
- package/dist/wc/SvDateRangeInput-DR6m7bSM.js +199 -0
- package/dist/wc/SvDateTimePicker-D-vRnaMo.js +771 -0
- package/dist/wc/SvField-B_kurx_P.js +149 -0
- package/dist/wc/SvGrid.helpers-BdVDtjUm.js +135 -0
- package/dist/wc/SvGridCellEditor-Bnf1Kr5C.js +560 -0
- package/dist/wc/SvGridChart-BqUJh2pG.js +3572 -0
- package/dist/wc/SvGridChartBuilder-CGycC5cn.js +988 -0
- package/dist/wc/SvGridChartPanel-CRnizsHD.js +1746 -0
- package/dist/wc/SvGridChartView-D1pa_xMy.js +47 -0
- package/dist/wc/SvGridDropdown-45WsObLL.js +259 -0
- package/dist/wc/SvModal-DrfOYYyX.js +189 -0
- package/dist/wc/cell-formatting-CBfgahv1.js +86 -0
- package/dist/wc/chart-6OXlybVT.js +4341 -0
- package/dist/wc/chart-export-CeSADGfi.js +135 -0
- package/dist/wc/chart-export-pdf-BGko7MER.js +104 -0
- package/dist/wc/chart-summary-2m3ia1-n.js +137 -0
- package/dist/wc/chart-trend-CQOQtTMl.js +50 -0
- package/dist/wc/chart-validate-CD6ptiwg.js +180 -0
- package/dist/wc/client-DQIzjDBG.js +3064 -0
- package/dist/wc/column-resize-DUPgynvc.js +101 -0
- package/dist/wc/date-format-DS-z_h9v.js +1130 -0
- package/dist/wc/dismissable-CQ6XFXsk.js +45 -0
- package/dist/wc/editor-contract-peBDxir_.js +22 -0
- package/dist/wc/editor-registry-DxGKqcvx.js +24 -0
- package/dist/wc/focus-trap-Dbb2tJxb.js +65 -0
- package/dist/wc/list-option-DrRyivWp.js +82 -0
- package/dist/wc/popover-WsGlvtQv.js +69 -0
- package/dist/wc/positioning-BiKLfu1E.js +112 -0
- package/dist/wc/react.d.ts +41 -0
- package/dist/wc/react.js +90 -0
- package/dist/wc/rolldown-runtime-Dy4uBu1J.js +11 -0
- package/dist/wc/row-drag-touch-CycRR65n.js +93 -0
- package/dist/wc/row-resize-limG_N1z.js +111 -0
- package/dist/wc/sv-sheet-element.d.ts +97 -0
- package/dist/wc/sv-sheet-element.js +44213 -0
- package/dist/wc/svelte-virtualizer.svelte-CXtQy2TQ.js +530 -0
- package/dist/wc/validate-BqDthkNr.js +88 -0
- package/dist/wc/vue.d.ts +31 -0
- package/dist/wc/vue.js +75 -0
- package/package.json +36 -6
- package/dist/designer/assets/GridMenus-B1JtIN21.js +0 -8
- package/dist/designer/assets/SvDateRangeInput-CjO7nn_x.js +0 -1
- package/dist/designer/assets/SvDateTimePicker-ByBD_ov6.js +0 -1
- package/dist/designer/assets/SvField-YDLipR6O.css +0 -1
- package/dist/designer/assets/SvField-cj1PFNgZ.js +0 -1
- package/dist/designer/assets/SvGridCellEditor-0W1L2hJ1.js +0 -2
- package/dist/designer/assets/SvGridChart-DBOR4xcz.js +0 -2
- package/dist/designer/assets/SvGridChart-fkMWeh1J.css +0 -1
- package/dist/designer/assets/SvGridChartPanel-symrhNnR.js +0 -11
- package/dist/designer/assets/SvGridChartView-BmRxq6mU.js +0 -1
- package/dist/designer/assets/SvGridDropdown-Bb3HH2Aj.js +0 -1
- package/dist/designer/assets/SvListBox-1oUF6Iav.js +0 -110
- package/dist/designer/assets/cell-formatting-wr5wm7US.js +0 -1
- package/dist/designer/assets/chart-DXFganU8.js +0 -1
- package/dist/designer/assets/column-resize-C_inr5zT.js +0 -1
- package/dist/designer/assets/date-format-DGagAqRc.css +0 -1
- package/dist/designer/assets/date-format-onlYDsrY.js +0 -1
- package/dist/designer/assets/easing-zaypKrr0.js +0 -3
- package/dist/designer/assets/index-k2stW6L8.css +0 -1
- package/dist/designer/assets/row-resize-B0FWHcNr.js +0 -1
- package/dist/designer/assets/src-D9p27OGC.js +0 -58
- package/dist/designer/assets/validate-h-aslRV9.js +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What kind of thing a sheet tab is.
|
|
3
|
+
*
|
|
4
|
+
* A workbook's tabs have always been cell grids. A `grid` tab is the other
|
|
5
|
+
* thing a business workbook wants: a data-bound table, backed by records
|
|
6
|
+
* rather than by cells, sorted and filtered and edited as a grid rather
|
|
7
|
+
* than as a sheet.
|
|
8
|
+
*
|
|
9
|
+
* The trick that makes this cheap rather than a second engine: **a grid
|
|
10
|
+
* sheet PROJECTS its records into the workbook's cells.** The records are
|
|
11
|
+
* the truth, and after every change they are written into the same
|
|
12
|
+
* `string[][]` a cell sheet keeps, header row included. So
|
|
13
|
+
* `=SUM(Orders!D2:D99)` on a cell sheet reads a grid sheet with no new
|
|
14
|
+
* machinery at all: the formula engine, the dependency graph, the file
|
|
15
|
+
* writers and the printer never learn that this tab is different.
|
|
16
|
+
*
|
|
17
|
+
* The projection runs through `setRaw`, which ignores a write that changes
|
|
18
|
+
* nothing, so editing one field of one record rewrites one cell and
|
|
19
|
+
* recalculates what depended on it, not the sheet.
|
|
20
|
+
*
|
|
21
|
+
* What a grid sheet deliberately does NOT do: hold a formula of its own.
|
|
22
|
+
* Its cells are a rendering of its records, so anything typed into them
|
|
23
|
+
* would be overwritten by the next projection. A sheet that needs formulas
|
|
24
|
+
* beside the data is a cell sheet reading the grid one across.
|
|
25
|
+
*/
|
|
26
|
+
import { type SheetField } from './from-rows.js';
|
|
27
|
+
export type SheetKind = 'cells' | 'grid';
|
|
28
|
+
/** One column of a grid sheet, as the sheet describes it. */
|
|
29
|
+
export type GridSheetField = SheetField & {
|
|
30
|
+
/** Narrow the editor and the alignment, as the grid's own columns do. */
|
|
31
|
+
type?: 'text' | 'number' | 'date' | 'boolean';
|
|
32
|
+
width?: number;
|
|
33
|
+
editable?: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type GridSheetSpec = {
|
|
36
|
+
fields: GridSheetField[];
|
|
37
|
+
/** The records. A grid sheet's truth; the cells are made from these. */
|
|
38
|
+
rows: Array<Record<string, unknown>>;
|
|
39
|
+
/** Rows may be edited in place. Off by default, as a report would want. */
|
|
40
|
+
editable?: boolean;
|
|
41
|
+
/** A totals row under the records, summing every numeric column. */
|
|
42
|
+
totals?: boolean;
|
|
43
|
+
};
|
|
44
|
+
export declare const emptyGridSheet: () => GridSheetSpec;
|
|
45
|
+
/** The cells a grid sheet stands for: the header, the records, the totals. */
|
|
46
|
+
export declare function projectGridSheet(spec: GridSheetSpec): string[][];
|
|
47
|
+
/**
|
|
48
|
+
* Where a record sits in the projection.
|
|
49
|
+
*
|
|
50
|
+
* Row 0 is the header, so record `i` is at row `i + 1`. Kept as a function
|
|
51
|
+
* rather than inlined so the offset is named in one place: getting it
|
|
52
|
+
* wrong reads the header as a record and is silent.
|
|
53
|
+
*/
|
|
54
|
+
export declare const rowOfRecord: (index: number) => number;
|
|
55
|
+
export declare const recordOfRow: (row: number) => number;
|
|
56
|
+
/** Is this row of the projection a record, rather than a header or total? */
|
|
57
|
+
export declare const isRecordRow: (spec: GridSheetSpec, row: number) => boolean;
|
|
58
|
+
/**
|
|
59
|
+
* A field's column in the projection, or -1.
|
|
60
|
+
*
|
|
61
|
+
* Matched on the field name rather than the label, since two columns may
|
|
62
|
+
* share a label and the name is what the record is keyed by.
|
|
63
|
+
*/
|
|
64
|
+
export declare const columnOfField: (spec: GridSheetSpec, field: string) => number;
|
|
65
|
+
/** A deep-enough copy for a document snapshot. */
|
|
66
|
+
export declare const copyGridSheet: (spec: GridSheetSpec) => GridSheetSpec;
|
|
67
|
+
/**
|
|
68
|
+
* A value typed into a grid sheet, coerced to the field's type.
|
|
69
|
+
*
|
|
70
|
+
* The grid hands back whatever its editor produced, which for a number
|
|
71
|
+
* column typed into by hand is a string. Storing that would make the
|
|
72
|
+
* record's shape depend on how it was edited, so it is narrowed here once.
|
|
73
|
+
*/
|
|
74
|
+
export declare function coerceFieldValue(field: GridSheetField, value: unknown): unknown;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What kind of thing a sheet tab is.
|
|
3
|
+
*
|
|
4
|
+
* A workbook's tabs have always been cell grids. A `grid` tab is the other
|
|
5
|
+
* thing a business workbook wants: a data-bound table, backed by records
|
|
6
|
+
* rather than by cells, sorted and filtered and edited as a grid rather
|
|
7
|
+
* than as a sheet.
|
|
8
|
+
*
|
|
9
|
+
* The trick that makes this cheap rather than a second engine: **a grid
|
|
10
|
+
* sheet PROJECTS its records into the workbook's cells.** The records are
|
|
11
|
+
* the truth, and after every change they are written into the same
|
|
12
|
+
* `string[][]` a cell sheet keeps, header row included. So
|
|
13
|
+
* `=SUM(Orders!D2:D99)` on a cell sheet reads a grid sheet with no new
|
|
14
|
+
* machinery at all: the formula engine, the dependency graph, the file
|
|
15
|
+
* writers and the printer never learn that this tab is different.
|
|
16
|
+
*
|
|
17
|
+
* The projection runs through `setRaw`, which ignores a write that changes
|
|
18
|
+
* nothing, so editing one field of one record rewrites one cell and
|
|
19
|
+
* recalculates what depended on it, not the sheet.
|
|
20
|
+
*
|
|
21
|
+
* What a grid sheet deliberately does NOT do: hold a formula of its own.
|
|
22
|
+
* Its cells are a rendering of its records, so anything typed into them
|
|
23
|
+
* would be overwritten by the next projection. A sheet that needs formulas
|
|
24
|
+
* beside the data is a cell sheet reading the grid one across.
|
|
25
|
+
*/
|
|
26
|
+
import { sheetCellsFromRows } from './from-rows.js';
|
|
27
|
+
export const emptyGridSheet = () => ({ fields: [], rows: [] });
|
|
28
|
+
/** The cells a grid sheet stands for: the header, the records, the totals. */
|
|
29
|
+
export function projectGridSheet(spec) {
|
|
30
|
+
return sheetCellsFromRows(spec.rows, spec.fields, spec.totals ? { totals: true } : {});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Where a record sits in the projection.
|
|
34
|
+
*
|
|
35
|
+
* Row 0 is the header, so record `i` is at row `i + 1`. Kept as a function
|
|
36
|
+
* rather than inlined so the offset is named in one place: getting it
|
|
37
|
+
* wrong reads the header as a record and is silent.
|
|
38
|
+
*/
|
|
39
|
+
export const rowOfRecord = (index) => index + 1;
|
|
40
|
+
export const recordOfRow = (row) => row - 1;
|
|
41
|
+
/** Is this row of the projection a record, rather than a header or total? */
|
|
42
|
+
export const isRecordRow = (spec, row) => row >= 1 && row <= spec.rows.length;
|
|
43
|
+
/**
|
|
44
|
+
* A field's column in the projection, or -1.
|
|
45
|
+
*
|
|
46
|
+
* Matched on the field name rather than the label, since two columns may
|
|
47
|
+
* share a label and the name is what the record is keyed by.
|
|
48
|
+
*/
|
|
49
|
+
export const columnOfField = (spec, field) => spec.fields.findIndex((f) => f.field === field);
|
|
50
|
+
/** A deep-enough copy for a document snapshot. */
|
|
51
|
+
export const copyGridSheet = (spec) => ({
|
|
52
|
+
fields: spec.fields.map((f) => ({ ...f })),
|
|
53
|
+
rows: spec.rows.map((r) => ({ ...r })),
|
|
54
|
+
...(spec.editable !== undefined ? { editable: spec.editable } : {}),
|
|
55
|
+
...(spec.totals !== undefined ? { totals: spec.totals } : {}),
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* A value typed into a grid sheet, coerced to the field's type.
|
|
59
|
+
*
|
|
60
|
+
* The grid hands back whatever its editor produced, which for a number
|
|
61
|
+
* column typed into by hand is a string. Storing that would make the
|
|
62
|
+
* record's shape depend on how it was edited, so it is narrowed here once.
|
|
63
|
+
*/
|
|
64
|
+
export function coerceFieldValue(field, value) {
|
|
65
|
+
if (value === null || value === undefined || value === '')
|
|
66
|
+
return value === '' ? '' : null;
|
|
67
|
+
switch (field.type) {
|
|
68
|
+
case 'number': {
|
|
69
|
+
const n = typeof value === 'number' ? value : Number(String(value).trim());
|
|
70
|
+
return Number.isFinite(n) ? n : value;
|
|
71
|
+
}
|
|
72
|
+
case 'boolean': {
|
|
73
|
+
if (typeof value === 'boolean')
|
|
74
|
+
return value;
|
|
75
|
+
const text = String(value).trim().toLowerCase();
|
|
76
|
+
if (text === 'true' || text === 'yes' || text === '1')
|
|
77
|
+
return true;
|
|
78
|
+
if (text === 'false' || text === 'no' || text === '0')
|
|
79
|
+
return false;
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
case 'date': {
|
|
83
|
+
if (value instanceof Date)
|
|
84
|
+
return value;
|
|
85
|
+
const text = String(value).trim();
|
|
86
|
+
return text === '' ? null : text;
|
|
87
|
+
}
|
|
88
|
+
default:
|
|
89
|
+
return typeof value === 'string' ? value : String(value);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Excel keymap, as a table rather than an if-chain, so the bindings can be
|
|
3
|
+
* read in one screen and tested as data.
|
|
4
|
+
*
|
|
5
|
+
* Matching is exact on modifiers: a binding that does not ask for shift will
|
|
6
|
+
* not fire when shift is held. Without that, Ctrl+Shift+Arrow would match the
|
|
7
|
+
* Ctrl+Arrow binding and the extend-selection variant would be unreachable.
|
|
8
|
+
*/
|
|
9
|
+
import type { GridCommandContext } from '@svgrid/grid/shortcuts';
|
|
10
|
+
import { type Direction, type Grid, type Rect } from './navigate.js';
|
|
11
|
+
import { type FormatPresetName } from './number-format.js';
|
|
12
|
+
import type { SheetFormatStore, CellAddressLookup, CellFormatEntry } from './format-store.js';
|
|
13
|
+
import type { Workbook } from './workbook.js';
|
|
14
|
+
export type SheetCommand = (cmd: GridCommandContext, event: KeyboardEvent) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* What the formatting commands write to, and how they turn a display position
|
|
17
|
+
* into the stable ids the store keys on.
|
|
18
|
+
*
|
|
19
|
+
* Optional because the shortcuts are useful without it: a grid that only wants
|
|
20
|
+
* navigation and fill never sets one up, and the format bindings decline
|
|
21
|
+
* rather than half-working.
|
|
22
|
+
*/
|
|
23
|
+
export type SheetFormatTarget = {
|
|
24
|
+
store: SheetFormatStore;
|
|
25
|
+
lookup: CellAddressLookup;
|
|
26
|
+
/** Called after a change so the consumer can re-render. */
|
|
27
|
+
onChange?(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the rectangles may be formatted. A protected sheet says no for
|
|
30
|
+
* a selection with a locked cell in it; the ribbon greys its buttons on
|
|
31
|
+
* the same answer, so it must be cheap and must not talk to the user.
|
|
32
|
+
*/
|
|
33
|
+
guard?(rects: ReadonlyArray<Rect>): boolean;
|
|
34
|
+
/** Called when a change was refused by `guard`: the place to say why. */
|
|
35
|
+
refused?(): void;
|
|
36
|
+
};
|
|
37
|
+
/** The guard's answer, with the refusal reported when it is no. */
|
|
38
|
+
export declare function formatAllowed(target: SheetFormatTarget, rects: ReadonlyArray<Rect>): boolean;
|
|
39
|
+
/** Attach the store the formatting shortcuts write to. */
|
|
40
|
+
export declare function setFormatTarget(target: SheetFormatTarget | null): void;
|
|
41
|
+
export declare function getFormatTarget(): SheetFormatTarget | null;
|
|
42
|
+
export declare function setWorkbook(next: Workbook | null, onChange?: () => void, isHidden?: (name: string) => boolean): void;
|
|
43
|
+
export declare function getWorkbook(): Workbook | null;
|
|
44
|
+
/** Move `delta` sheets from the active one. Excel does NOT wrap at the ends,
|
|
45
|
+
* so neither does this: hitting the last sheet and pressing again should
|
|
46
|
+
* leave you there rather than teleport you to the first. */
|
|
47
|
+
export declare function switchSheet(delta: number): boolean;
|
|
48
|
+
export declare function setPasteSpecialHandler(fn: ((cmd: GridCommandContext) => void) | null): void;
|
|
49
|
+
export declare function setFindReplaceHandler(fn: ((cmd: GridCommandContext) => void) | null): void;
|
|
50
|
+
/** Called when Ctrl+1 fires, so a consumer can open its own dialog. The
|
|
51
|
+
* shortcut layer does not ship one: what a Format Cells dialog should look
|
|
52
|
+
* like is a design decision, not a keyboard one. */
|
|
53
|
+
/**
|
|
54
|
+
* Ribbon actions a key raises: F9 recalculates, Ctrl+` shows formulas,
|
|
55
|
+
* Ctrl+Shift+L toggles the filter, Shift+F3 and Ctrl+F3 open Insert
|
|
56
|
+
* Function and the Name Manager, Ctrl+T formats as a table. The shell
|
|
57
|
+
* answers them the way it answers the ribbon button; returning false means
|
|
58
|
+
* nothing is behind the action and the key falls through.
|
|
59
|
+
*/
|
|
60
|
+
export type RibbonKeyAction = 'file-open' | 'file-save-xlsx' | 'file-print' | 'recalculate' | 'toggle-formulas' | 'toggle-filter' | 'insert-function' | 'name-manager' | 'insert-table' | 'hide-rows' | 'hide-columns' | 'unhide-rows' | 'unhide-columns' | 'edit-comment' | 'open-list' | 'toggle-ribbon' | 'insert-link' | 'merge-center' | 'merge-across' | 'merge-cells' | 'unmerge-cells' | 'cut';
|
|
61
|
+
export declare function setRibbonActionHandler(fn: ((action: RibbonKeyAction, cmd: GridCommandContext) => boolean) | null): void;
|
|
62
|
+
/** Raise a ribbon action from a button whose face is not an entry of its own. */
|
|
63
|
+
export declare function raiseRibbonAction(action: RibbonKeyAction, cmd: GridCommandContext): boolean;
|
|
64
|
+
/** Excel's size ladder. Pixels here, since that is what the cell renders. */
|
|
65
|
+
export declare const FONT_SIZES: number[];
|
|
66
|
+
/** A cell with no size of its own renders at the grid's 13px. */
|
|
67
|
+
export declare const DEFAULT_FONT_SIZE = 13;
|
|
68
|
+
/** The format entry under the active cell, or undefined. */
|
|
69
|
+
export declare function activeEntry(cmd: GridCommandContext): CellFormatEntry | undefined;
|
|
70
|
+
/** Excel's Increase / Decrease Font Size: the next rung of the ladder. */
|
|
71
|
+
export declare function nudgeFontSize(direction: 1 | -1): SheetCommand;
|
|
72
|
+
export declare function setFormatDialogHandler(fn: ((cmd: GridCommandContext) => void) | null): void;
|
|
73
|
+
export declare function setShortcutOwner(token: object | null): void;
|
|
74
|
+
export declare function getShortcutOwner(): object | null;
|
|
75
|
+
export type SheetBinding = {
|
|
76
|
+
/** Matched case-insensitively against `event.key`. */
|
|
77
|
+
key: string;
|
|
78
|
+
/**
|
|
79
|
+
* Matched against `event.code` INSTEAD of `key`, for bindings where shift
|
|
80
|
+
* changes the character. Pressing Ctrl+Shift+1 reports `event.key` as '!'
|
|
81
|
+
* on a US layout, ':' for Ctrl+Shift+; and '~' for Ctrl+Shift+`, so a
|
|
82
|
+
* binding spelling the unshifted character can never fire in a browser.
|
|
83
|
+
* `code` is the physical key and does not move.
|
|
84
|
+
*/
|
|
85
|
+
code?: string;
|
|
86
|
+
/** Ctrl on Windows/Linux, Cmd on macOS. Both are accepted for either. */
|
|
87
|
+
mod?: boolean;
|
|
88
|
+
shift?: boolean;
|
|
89
|
+
alt?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Runs while a cell is being edited, and only then. The other bindings
|
|
92
|
+
* act on the selection and stay out of the editor, where Ctrl+D is a
|
|
93
|
+
* keystroke the user meant for the text.
|
|
94
|
+
*/
|
|
95
|
+
editing?: boolean;
|
|
96
|
+
run: SheetCommand;
|
|
97
|
+
/** For docs and the demo's cheat sheet. */
|
|
98
|
+
label: string;
|
|
99
|
+
};
|
|
100
|
+
/** Read the grid through the command context as a blank-aware matrix. */
|
|
101
|
+
export declare function gridOf(cmd: GridCommandContext): Grid;
|
|
102
|
+
/**
|
|
103
|
+
* Ctrl+End: the bottom-right corner of what has been typed, as in Excel,
|
|
104
|
+
* rather than the grid's last cell. A sheet has thousands of empty rows
|
|
105
|
+
* below the data, and the last of them is never where the user wanted to
|
|
106
|
+
* go. Ctrl+Home is the grid's own and already lands on A1.
|
|
107
|
+
*/
|
|
108
|
+
export declare function lastUsedCell(cmd: GridCommandContext): {
|
|
109
|
+
row: number;
|
|
110
|
+
col: number;
|
|
111
|
+
};
|
|
112
|
+
export declare const goToLastUsed: SheetCommand;
|
|
113
|
+
/** F4 while editing: turn the reference at the caret through its anchorings. */
|
|
114
|
+
export declare const pinReference: SheetCommand;
|
|
115
|
+
export declare function move(dir: Direction, extend: boolean): SheetCommand;
|
|
116
|
+
/** Ctrl+A: the current region, then the whole sheet on a second press. */
|
|
117
|
+
export declare const selectRegion: SheetCommand;
|
|
118
|
+
/**
|
|
119
|
+
* Ctrl+Space / Shift+Space: the whole columns or rows the selection
|
|
120
|
+
* touches (B2:C3 gives rows 2:3), as in Excel; the active cell stays.
|
|
121
|
+
*/
|
|
122
|
+
export declare function selectLine(axis: 'column' | 'row'): SheetCommand;
|
|
123
|
+
/** Ctrl+Shift+8 (Ctrl+*): the current region, and only that. */
|
|
124
|
+
export declare const selectCurrentRegion: SheetCommand;
|
|
125
|
+
/**
|
|
126
|
+
* Run a format change over `rects` as ONE undo step.
|
|
127
|
+
*
|
|
128
|
+
* The format store is not the grid's data, so a write to it is invisible
|
|
129
|
+
* to Ctrl+Z on its own: Bold would land and the Undo button would stay
|
|
130
|
+
* grey, which is not how a spreadsheet behaves. This snapshots every cell
|
|
131
|
+
* the change touches before and after, and hands the grid a step that puts
|
|
132
|
+
* either snapshot back. A cell's whole entry is restored rather than the
|
|
133
|
+
* one field, so undoing "bold" on a cell that was also made red does not
|
|
134
|
+
* have to know which of the two the press was about.
|
|
135
|
+
*/
|
|
136
|
+
export declare function withFormatUndo(cmd: GridCommandContext, target: SheetFormatTarget, rects: ReadonlyArray<Rect>, mutate: () => void): void;
|
|
137
|
+
/** Apply a patch to the selection through the attached store. */
|
|
138
|
+
export declare function applyFormat(cmd: GridCommandContext, patch: CellFormatEntry): boolean;
|
|
139
|
+
export declare function toggleFormat(cmd: GridCommandContext, field: 'bold' | 'italic' | 'underline' | 'strike'): boolean;
|
|
140
|
+
export type BorderPreset = 'none' | 'bottom' | 'top' | 'left' | 'right' | 'all' | 'outside' | 'thick-bottom';
|
|
141
|
+
/**
|
|
142
|
+
* Excel's Borders menu, applied the way Excel applies it: "Bottom Border"
|
|
143
|
+
* puts a line under the bottom edge of the SELECTION, not under every
|
|
144
|
+
* cell; "All Borders" lines every cell; "Outside" frames the block. Sides
|
|
145
|
+
* merge with what a cell already has, so a top border does not erase a
|
|
146
|
+
* bottom one, and "No Border" clears all four.
|
|
147
|
+
*/
|
|
148
|
+
export declare function applyBorders(cmd: GridCommandContext, preset: BorderPreset): boolean;
|
|
149
|
+
/** Excel's Clear Formats: drop every format on the selection, keep the values. */
|
|
150
|
+
export declare function clearFormats(cmd: GridCommandContext): boolean;
|
|
151
|
+
export declare function preset(name: FormatPresetName): SheetCommand;
|
|
152
|
+
/**
|
|
153
|
+
* Alt+=. Proposes =SUM(range) over the run Excel would guess. With one cell
|
|
154
|
+
* selected the formula is opened in the cell's editor rather than written,
|
|
155
|
+
* as Excel's AutoSum does: the guess is often a row short, and the editor is
|
|
156
|
+
* where it gets corrected before Enter takes it. A wider selection has the
|
|
157
|
+
* sum written into the active cell outright.
|
|
158
|
+
*/
|
|
159
|
+
export declare const autoSum: SheetCommand;
|
|
160
|
+
export declare const SHEET_BINDINGS: ReadonlyArray<SheetBinding>;
|
|
161
|
+
/** Shift+F11 and the ribbon's Insert Sheet: a new sheet after the last, made active. */
|
|
162
|
+
export declare function newSheet(): boolean;
|
|
163
|
+
export declare function structural(cmd: GridCommandContext, kind: 'insert' | 'delete'): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* The handler registered with the grid. Returns true when a binding ran, which
|
|
166
|
+
* is what tells the grid to stop and not interpret the key itself.
|
|
167
|
+
*
|
|
168
|
+
* A binding marked `editing` runs only inside the editor and the others
|
|
169
|
+
* only outside it: Ctrl+D while someone is typing in a cell is a keystroke
|
|
170
|
+
* they meant for the text, and F4 on the grid root has nothing to pin.
|
|
171
|
+
* Alt+Enter needs no binding: the grid's multiline text editor takes it as
|
|
172
|
+
* a line break itself.
|
|
173
|
+
*/
|
|
174
|
+
export declare function handleSheetKey(event: KeyboardEvent, cmd: GridCommandContext): boolean;
|