@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,172 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* Excel's Convert Text to Columns Wizard, the delimited page: pick the
|
|
4
|
+
* delimiter (guessed from the column first), see the split in a preview,
|
|
5
|
+
* Finish writes the fields into the columns to the right of the source
|
|
6
|
+
* inside one batch, so the whole split is one Ctrl+Z.
|
|
7
|
+
*/
|
|
8
|
+
import { useSheetText } from './sheet-text'
|
|
9
|
+
import { untrack } from 'svelte'
|
|
10
|
+
import { SvModal } from '@svgrid/grid'
|
|
11
|
+
import type { GridCommandContext } from '@svgrid/grid/shortcuts'
|
|
12
|
+
import type { Workbook } from './sheet/workbook'
|
|
13
|
+
import { textToColumns, guessDelimiter } from './sheet/transforms'
|
|
14
|
+
import { colToLetters } from './sheet/address'
|
|
15
|
+
|
|
16
|
+
type Props = {
|
|
17
|
+
open?: boolean
|
|
18
|
+
workbook: Workbook
|
|
19
|
+
cmd: () => GridCommandContext | null
|
|
20
|
+
/** Called after the split, so the shell repaints and refocuses. */
|
|
21
|
+
onDone: (message: string) => void
|
|
22
|
+
onClose?: () => void
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let { open = $bindable(false), workbook, cmd, onDone, onClose }: Props = $props()
|
|
26
|
+
const t = useSheetText()
|
|
27
|
+
|
|
28
|
+
const DELIMITERS = [
|
|
29
|
+
{ id: 'tab', label: 'textToColumns.tab', sep: '\t' },
|
|
30
|
+
{ id: 'semicolon', label: 'textToColumns.semicolon', sep: ';' },
|
|
31
|
+
{ id: 'comma', label: 'textToColumns.comma', sep: ',' },
|
|
32
|
+
{ id: 'space', label: 'textToColumns.space', sep: ' ' },
|
|
33
|
+
{ id: 'other', label: 'textToColumns.other', sep: '' },
|
|
34
|
+
] as const
|
|
35
|
+
type DelimiterId = (typeof DELIMITERS)[number]['id']
|
|
36
|
+
|
|
37
|
+
let delimiter = $state<DelimiterId>('comma')
|
|
38
|
+
let other = $state('|')
|
|
39
|
+
let collapse = $state(false)
|
|
40
|
+
let trim = $state(true)
|
|
41
|
+
let column = $state<{ index: number; top: number; texts: string[] }>({ index: 0, top: 0, texts: [] })
|
|
42
|
+
|
|
43
|
+
const separator = $derived(
|
|
44
|
+
delimiter === 'other' ? other : DELIMITERS.find((d) => d.id === delimiter)!.sep,
|
|
45
|
+
)
|
|
46
|
+
const preview = $derived.by(() =>
|
|
47
|
+
textToColumns(column.texts.slice(0, 6), {
|
|
48
|
+
delimiters: separator ? [separator] : [','],
|
|
49
|
+
collapse,
|
|
50
|
+
trim,
|
|
51
|
+
}),
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The column under the selection, from the selection's first row (a
|
|
56
|
+
* whole-column selection starts at the top) down to the last used row.
|
|
57
|
+
*/
|
|
58
|
+
$effect(() => {
|
|
59
|
+
if (!open) return
|
|
60
|
+
untrack(prepare)
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
function prepare() {
|
|
64
|
+
const c = cmd()
|
|
65
|
+
const range = c?.ranges[c.ranges.length - 1]
|
|
66
|
+
const left = range ? range[1] : (c?.activeCell?.colIndex ?? 0)
|
|
67
|
+
const top = range ? range[0] : (c?.activeCell?.rowIndex ?? 0)
|
|
68
|
+
const bottom = Math.max(workbook.rowCount(workbook.active) - 1, top)
|
|
69
|
+
const texts = Array.from({ length: bottom - top + 1 }, (_, i) => workbook.getRaw(workbook.active, top + i, left))
|
|
70
|
+
column = { index: left, top, texts }
|
|
71
|
+
const guess = guessDelimiter(texts.filter((t) => t !== ''))
|
|
72
|
+
const known = DELIMITERS.find((d) => d.sep === guess && d.id !== 'other')
|
|
73
|
+
if (known) delimiter = known.id
|
|
74
|
+
else if (guess) { delimiter = 'other'; other = guess }
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function finish() {
|
|
78
|
+
const c = cmd()
|
|
79
|
+
if (!c) return
|
|
80
|
+
const { rows, width } = textToColumns(column.texts, {
|
|
81
|
+
delimiters: separator ? [separator] : [','],
|
|
82
|
+
collapse,
|
|
83
|
+
trim,
|
|
84
|
+
})
|
|
85
|
+
c.batch(() => {
|
|
86
|
+
rows.forEach((fields, r) => {
|
|
87
|
+
for (let i = 0; i < width; i += 1) {
|
|
88
|
+
c.setCellValue(column.top + r, column.index + i, fields[i] ?? '')
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
open = false
|
|
93
|
+
c.setSelection(column.top, column.index)
|
|
94
|
+
c.extendSelection(column.top + rows.length - 1, column.index + width - 1)
|
|
95
|
+
onDone(t('textToColumns.done', { rows: rows.length, columns: width }))
|
|
96
|
+
onClose?.()
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function close() {
|
|
100
|
+
open = false
|
|
101
|
+
onClose?.()
|
|
102
|
+
}
|
|
103
|
+
</script>
|
|
104
|
+
|
|
105
|
+
<SvModal bind:open onClose={onClose} title={t('textToColumns.title')} size="md">
|
|
106
|
+
<div class="sv-sheet-dialog" role="group" aria-label={t('textToColumns.group')}>
|
|
107
|
+
<p class="lead">{t('textToColumns.lead')}</p>
|
|
108
|
+
<fieldset class="group">
|
|
109
|
+
<legend>{t('textToColumns.delimiters')}</legend>
|
|
110
|
+
{#each DELIMITERS as d (d.id)}
|
|
111
|
+
<label class="check">
|
|
112
|
+
<input type="radio" name="sheet-delimiter" value={d.id} bind:group={delimiter} />
|
|
113
|
+
{t(d.label)}
|
|
114
|
+
{#if d.id === 'other'}
|
|
115
|
+
<input class="other" type="text" maxlength="1" bind:value={other} aria-label={t('textToColumns.otherDelimiter')} />
|
|
116
|
+
{/if}
|
|
117
|
+
</label>
|
|
118
|
+
{/each}
|
|
119
|
+
</fieldset>
|
|
120
|
+
<div class="checks">
|
|
121
|
+
<label class="check"><input type="checkbox" bind:checked={collapse} /> {t('textToColumns.collapse')}</label>
|
|
122
|
+
<label class="check"><input type="checkbox" bind:checked={trim} /> {t('textToColumns.trim')}</label>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="preview" aria-label={t('textToColumns.preview')}>
|
|
125
|
+
<table>
|
|
126
|
+
<tbody>
|
|
127
|
+
{#each preview.rows as fields, i (i)}
|
|
128
|
+
<tr>{#each fields as field, j (j)}<td>{field}</td>{/each}</tr>
|
|
129
|
+
{/each}
|
|
130
|
+
</tbody>
|
|
131
|
+
</table>
|
|
132
|
+
</div>
|
|
133
|
+
<p class="status">
|
|
134
|
+
{t('textToColumns.status', { rows: column.texts.length, from: colToLetters(column.index), count: preview.width, unit: t(preview.width === 1 ? 'textToColumns.column' : 'textToColumns.columns') })}
|
|
135
|
+
</p>
|
|
136
|
+
</div>
|
|
137
|
+
{#snippet footer()}
|
|
138
|
+
<div class="sv-sheet-dialog-buttons">
|
|
139
|
+
<button type="button" class="btn primary" onclick={finish} disabled={column.texts.length === 0}>{t('textToColumns.finish')}</button>
|
|
140
|
+
<button type="button" class="btn" onclick={close}>{t('cancel')}</button>
|
|
141
|
+
</div>
|
|
142
|
+
{/snippet}
|
|
143
|
+
</SvModal>
|
|
144
|
+
|
|
145
|
+
<style>
|
|
146
|
+
.lead { margin: 0; }
|
|
147
|
+
.group {
|
|
148
|
+
display: flex;
|
|
149
|
+
flex-wrap: wrap;
|
|
150
|
+
gap: 6px 16px;
|
|
151
|
+
margin: 0;
|
|
152
|
+
padding: 6px 10px 8px;
|
|
153
|
+
border: 1px solid var(--sg-border, #d1d1d1);
|
|
154
|
+
border-radius: var(--sg-radius, 3px);
|
|
155
|
+
}
|
|
156
|
+
.group legend { padding: 0 4px; font-weight: 600; }
|
|
157
|
+
.other { width: 32px !important; height: 22px !important; padding: 0 4px !important; text-align: center; }
|
|
158
|
+
.preview {
|
|
159
|
+
max-height: 150px;
|
|
160
|
+
overflow: auto;
|
|
161
|
+
border: 1px solid var(--sg-border, #d1d1d1);
|
|
162
|
+
border-radius: var(--sg-radius, 3px);
|
|
163
|
+
background: var(--sg-bg, #fff);
|
|
164
|
+
}
|
|
165
|
+
.preview table { border-collapse: collapse; font-size: 12px; }
|
|
166
|
+
.preview td {
|
|
167
|
+
padding: 3px 8px;
|
|
168
|
+
border-right: 1px solid var(--sg-border, #e5e5e5);
|
|
169
|
+
border-bottom: 1px solid var(--sg-border, #e5e5e5);
|
|
170
|
+
white-space: nowrap;
|
|
171
|
+
}
|
|
172
|
+
</style>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GridCommandContext } from '@svgrid/grid/shortcuts';
|
|
2
|
+
import type { Workbook } from './sheet/workbook.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
open?: boolean;
|
|
5
|
+
workbook: Workbook;
|
|
6
|
+
cmd: () => GridCommandContext | null;
|
|
7
|
+
/** Called after the split, so the shell repaints and refocuses. */
|
|
8
|
+
onDone: (message: string) => void;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
};
|
|
11
|
+
declare const SvSheetTextToColumns: import("svelte").Component<Props, {}, "open">;
|
|
12
|
+
type SvSheetTextToColumns = ReturnType<typeof SvSheetTextToColumns>;
|
|
13
|
+
export default SvSheetTextToColumns;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* The box Excel shows when an entry breaks a validation rule. Stop: the
|
|
4
|
+
* message, Retry (the cell reopens with the entry) and Cancel. Warning:
|
|
5
|
+
* the message, "Continue?", Yes (the entry lands anyway), No (retry) and
|
|
6
|
+
* Cancel. Enter takes the first button, Escape cancels.
|
|
7
|
+
*/
|
|
8
|
+
import { useSheetText } from './sheet-text'
|
|
9
|
+
import { SvModal } from '@svgrid/grid'
|
|
10
|
+
|
|
11
|
+
type Props = {
|
|
12
|
+
open?: boolean
|
|
13
|
+
alert: { style: 'stop' | 'warning'; title: string; message: string } | null
|
|
14
|
+
onRetry: () => void
|
|
15
|
+
/** Warning only: keep the entry. */
|
|
16
|
+
onAccept: () => void
|
|
17
|
+
onCancel: () => void
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
let { open = $bindable(false), alert, onRetry, onAccept, onCancel }: Props = $props()
|
|
21
|
+
const t = useSheetText()
|
|
22
|
+
let first = $state<HTMLButtonElement | null>(null)
|
|
23
|
+
|
|
24
|
+
$effect(() => {
|
|
25
|
+
if (!open) return
|
|
26
|
+
queueMicrotask(() => first?.focus())
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
function done(fn: () => void) {
|
|
30
|
+
open = false
|
|
31
|
+
fn()
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
|
|
35
|
+
<SvModal bind:open onClose={onCancel} title={alert?.title ?? t('dataValidationTitle')} size="sm">
|
|
36
|
+
<div class="sv-sheet-dialog alert" role="alertdialog" aria-describedby="sv-sheet-validation-message">
|
|
37
|
+
<span class="mark" class:warning={alert?.style === 'warning'} aria-hidden="true">{alert?.style === 'warning' ? '!' : '×'}</span>
|
|
38
|
+
<div>
|
|
39
|
+
<p id="sv-sheet-validation-message" class="message">{alert?.message}</p>
|
|
40
|
+
{#if alert?.style === 'warning'}<p class="message">{t('validationContinue')}</p>{/if}
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
{#snippet footer()}
|
|
44
|
+
<div class="sv-sheet-dialog-buttons">
|
|
45
|
+
{#if alert?.style === 'warning'}
|
|
46
|
+
<button bind:this={first} type="button" class="btn primary" onclick={() => done(onAccept)}>{t('yes')}</button>
|
|
47
|
+
<button type="button" class="btn" onclick={() => done(onRetry)}>{t('no')}</button>
|
|
48
|
+
{:else}
|
|
49
|
+
<button bind:this={first} type="button" class="btn primary" onclick={() => done(onRetry)}>{t('retry')}</button>
|
|
50
|
+
{/if}
|
|
51
|
+
<button type="button" class="btn" onclick={() => done(onCancel)}>{t('cancel')}</button>
|
|
52
|
+
</div>
|
|
53
|
+
{/snippet}
|
|
54
|
+
</SvModal>
|
|
55
|
+
|
|
56
|
+
<style>
|
|
57
|
+
.alert {
|
|
58
|
+
flex-direction: row;
|
|
59
|
+
align-items: flex-start;
|
|
60
|
+
gap: 14px;
|
|
61
|
+
min-width: 300px;
|
|
62
|
+
max-width: 420px;
|
|
63
|
+
}
|
|
64
|
+
.mark {
|
|
65
|
+
flex: 0 0 auto;
|
|
66
|
+
width: 32px;
|
|
67
|
+
height: 32px;
|
|
68
|
+
display: grid;
|
|
69
|
+
place-items: center;
|
|
70
|
+
font-size: 20px;
|
|
71
|
+
font-weight: 700;
|
|
72
|
+
line-height: 1;
|
|
73
|
+
color: var(--sg-on-accent, #fff);
|
|
74
|
+
background: var(--sg-danger, #c42b1c);
|
|
75
|
+
border-radius: 50%;
|
|
76
|
+
}
|
|
77
|
+
.mark.warning {
|
|
78
|
+
color: #242424;
|
|
79
|
+
background: var(--sg-warning, #f2c811);
|
|
80
|
+
}
|
|
81
|
+
.message {
|
|
82
|
+
margin: 0 0 6px;
|
|
83
|
+
white-space: pre-wrap;
|
|
84
|
+
}
|
|
85
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
open?: boolean;
|
|
3
|
+
alert: {
|
|
4
|
+
style: 'stop' | 'warning';
|
|
5
|
+
title: string;
|
|
6
|
+
message: string;
|
|
7
|
+
} | null;
|
|
8
|
+
onRetry: () => void;
|
|
9
|
+
/** Warning only: keep the entry. */
|
|
10
|
+
onAccept: () => void;
|
|
11
|
+
onCancel: () => void;
|
|
12
|
+
};
|
|
13
|
+
declare const SvSheetValidationAlert: import("svelte").Component<Props, {}, "open">;
|
|
14
|
+
type SvSheetValidationAlert = ReturnType<typeof SvSheetValidationAlert>;
|
|
15
|
+
export default SvSheetValidationAlert;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Advanced Filter (Pro): register the expression compiler with the grid.
|
|
3
3
|
*
|
|
4
|
-
* Same shape as `pivot-enable.ts` - idempotent flag, register,
|
|
4
|
+
* Same shape as `pivot-enable.ts` - idempotent flag, register, unlicensed nudge.
|
|
5
5
|
* The grid owns the filter state and the pipeline slot; this supplies the
|
|
6
6
|
* compiler that turns an expression into a row predicate.
|
|
7
7
|
*/
|
|
@@ -19,6 +19,12 @@ export type AlertEngine<TData> = {
|
|
|
19
19
|
evaluate(rows: ReadonlyArray<TData>): AlertEvent[];
|
|
20
20
|
/** Prev -> next pass: fires `relativeChange` plus `dataChange` edges. */
|
|
21
21
|
evaluateTransition(prev: ReadonlyArray<TData>, next: ReadonlyArray<TData>): AlertEvent[];
|
|
22
|
+
/**
|
|
23
|
+
* Scheduled pass for one rule: every row matching its predicate now, with
|
|
24
|
+
* no edge memory, since the point of a schedule is the standing list at
|
|
25
|
+
* that moment. Aggregate rules answer with one event or none.
|
|
26
|
+
*/
|
|
27
|
+
evaluateScheduled(ruleId: string, rows: ReadonlyArray<TData>): AlertEvent[];
|
|
22
28
|
/** Would editing `(row, columnId) -> nextValue` trip a validation rule? */
|
|
23
29
|
validateEdit(row: TData, columnId: string, nextValue: unknown): ValidateEditResult;
|
|
24
30
|
/**
|
|
@@ -26,21 +26,23 @@ function defaultMessage(rule) {
|
|
|
26
26
|
}
|
|
27
27
|
export function createAlertEngine(options) {
|
|
28
28
|
let rules = options.rules;
|
|
29
|
-
const getValue = options.getValue;
|
|
30
29
|
const now = options.now ?? (() => Date.now());
|
|
31
30
|
// Edge memory: keys currently satisfying a `dataChange`/aggregate predicate.
|
|
32
31
|
const active = new Set();
|
|
32
|
+
// Read off `options` at use, not once here: the overlay hands in getters
|
|
33
|
+
// for its `getValue` and `locale` props so a change after mount reaches
|
|
34
|
+
// the next evaluation.
|
|
33
35
|
const ctxFor = (row, rows, prev) => ({
|
|
34
36
|
row,
|
|
35
37
|
prev,
|
|
36
38
|
rows,
|
|
37
|
-
getValue,
|
|
39
|
+
getValue: options.getValue,
|
|
38
40
|
locale: options.locale,
|
|
39
41
|
});
|
|
40
42
|
const val = (row, columnId) => columnId == null
|
|
41
43
|
? undefined
|
|
42
|
-
: getValue
|
|
43
|
-
? getValue(row, columnId)
|
|
44
|
+
: options.getValue
|
|
45
|
+
? options.getValue(row, columnId)
|
|
44
46
|
: row?.[columnId];
|
|
45
47
|
// A representative column for the message `{value}`/`{column}` tokens: the
|
|
46
48
|
// rule's explicit target, else the first column its predicate references.
|
|
@@ -172,6 +174,21 @@ export function createAlertEngine(options) {
|
|
|
172
174
|
}
|
|
173
175
|
return events;
|
|
174
176
|
},
|
|
177
|
+
evaluateScheduled(ruleId, rows) {
|
|
178
|
+
const rule = activeRules().find((r) => r.id === ruleId);
|
|
179
|
+
if (!rule)
|
|
180
|
+
return [];
|
|
181
|
+
if (rule.scope === 'aggregate')
|
|
182
|
+
return evaluateAggregate(rule, rows);
|
|
183
|
+
const events = [];
|
|
184
|
+
for (const row of rows) {
|
|
185
|
+
if (!evaluatePredicate(rule.predicate, ctxFor(row, rows)))
|
|
186
|
+
continue;
|
|
187
|
+
const source = primaryColumn(rule);
|
|
188
|
+
events.push(buildEvent(rule, { row, rowId: options.getRowId(row), columnId: rule.scope === 'cell' ? source : undefined, value: val(row, source) }));
|
|
189
|
+
}
|
|
190
|
+
return events;
|
|
191
|
+
},
|
|
175
192
|
validateEdit(row, columnId, nextValue) {
|
|
176
193
|
const candidate = { ...row, [columnId]: nextValue };
|
|
177
194
|
const events = [];
|
|
@@ -24,6 +24,7 @@ export function rulesToConditionalFormats(rules, ctx = {}) {
|
|
|
24
24
|
when: ({ row }) => evaluatePredicate(rule.predicate, { row, getValue: ctx.getValue, locale: ctx.locale }),
|
|
25
25
|
...(style.background ? { background: style.background } : {}),
|
|
26
26
|
...(style.color ? { color: style.color } : {}),
|
|
27
|
+
...(style.icon ? { icon: style.icon } : {}),
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
30
|
}
|
|
@@ -51,6 +52,7 @@ export function toConditionalFormats(events, getRowId) {
|
|
|
51
52
|
when: ({ row }) => getRowId(row) === rowId,
|
|
52
53
|
...(style.background ? { background: style.background } : {}),
|
|
53
54
|
...(style.color ? { color: style.color } : {}),
|
|
55
|
+
...(style.icon ? { icon: style.icon } : {}),
|
|
54
56
|
});
|
|
55
57
|
}
|
|
56
58
|
}
|
|
@@ -40,7 +40,7 @@ export type AlertActionKind = 'toast' | 'badge' | 'cellFlash' | 'highlight' | 'p
|
|
|
40
40
|
export type AlertActionStyle = {
|
|
41
41
|
background?: string;
|
|
42
42
|
color?: string;
|
|
43
|
-
/** A short glyph/emoji
|
|
43
|
+
/** A short glyph/emoji drawn before the cell value while the rule matches. */
|
|
44
44
|
icon?: string;
|
|
45
45
|
};
|
|
46
46
|
export type AlertAction = {
|
package/dist/alerts.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/** Turn on the alerts feature (
|
|
1
|
+
/** Turn on the alerts feature (runs without a key, with the watermark and the console notice). Idempotent. */
|
|
2
2
|
export declare function enableAlerts(): void;
|
package/dist/alerts.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Unlike the scheduler/board *views*, alerts are an overlay the consumer mounts
|
|
5
5
|
* next to the grid (`<SvGridAlerts>`), so there is no renderer to register with
|
|
6
|
-
* the grid. `enableAlerts()` exists only to keep the
|
|
6
|
+
* the grid. `enableAlerts()` exists only to keep the evaluation behaviour consistent
|
|
7
7
|
* with the rest of Enterprise: it works without a license key but nudges once in
|
|
8
8
|
* the console when unlicensed.
|
|
9
9
|
*
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import { isLicenseKeySet } from './license.js';
|
|
19
19
|
import { emitUnlicensedNudge } from './watermark.js';
|
|
20
20
|
let enabled = false;
|
|
21
|
-
/** Turn on the alerts feature (
|
|
21
|
+
/** Turn on the alerts feature (runs without a key, with the watermark and the console notice). Idempotent. */
|
|
22
22
|
export function enableAlerts() {
|
|
23
23
|
if (enabled)
|
|
24
24
|
return;
|
package/dist/board.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* ships the `board` prop and its config types for free; the *renderer*
|
|
5
5
|
* (SvGridBoard) is Pro and plugs in through the grid's `registerBoardView` seam.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* grid shows the
|
|
7
|
+
* Like the rest of Enterprise it runs without a license key during the
|
|
8
|
+
* evaluation; the grid shows the watermark and a one-time console notice.
|
|
9
9
|
*
|
|
10
10
|
* ```ts
|
|
11
11
|
* import { setLicenseKey, enableBoardView } from '@svgrid/enterprise'
|
package/dist/bulk-edit.d.ts
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* so the rules below live in one readable place rather than inside markup.
|
|
7
7
|
*/
|
|
8
8
|
export type BulkEditField = {
|
|
9
|
-
/** Column id, which is what
|
|
9
|
+
/** Column id, which is what a local write is addressed by. */
|
|
10
10
|
id: string;
|
|
11
|
+
/** The row field behind the column, which is what a datasource write is keyed by. */
|
|
12
|
+
field: string;
|
|
11
13
|
/** Header text, or the column id when the header is not a plain string. */
|
|
12
14
|
label: string;
|
|
13
15
|
/** The column's editor type, mapped to a form control by the drawer. */
|
package/dist/bulk-edit.js
CHANGED
|
@@ -33,7 +33,7 @@ export function bulkEditableFields(ctx) {
|
|
|
33
33
|
? { value: o.value, label: String(o.label ?? o.value) }
|
|
34
34
|
: { value: o, label: String(o) })
|
|
35
35
|
: undefined;
|
|
36
|
-
out.push({ id: column.id, label, editorType: String(def.editorType ?? 'text'), options });
|
|
36
|
+
out.push({ id: column.id, field: String(def.field), label, editorType: String(def.editorType ?? 'text'), options });
|
|
37
37
|
}
|
|
38
38
|
return out;
|
|
39
39
|
}
|