@svgrid/enterprise 3.0.0 → 3.0.2
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/README.md +95 -95
- package/dist/ExpressionEditorHarness.svelte.d.ts +2 -2
- package/dist/SvAdvancedFilter.svelte.d.ts +2 -2
- package/dist/SvAlertRuleEditor.svelte.d.ts +2 -2
- package/dist/SvAlertsManager.svelte.d.ts +3 -3
- package/dist/SvAlertsPanel.svelte.d.ts +1 -1
- package/dist/SvAuthGate.svelte +115 -115
- package/dist/SvAuthGate.svelte.d.ts +1 -1
- package/dist/SvBoard.svelte.d.ts +1 -1
- package/dist/SvExportMenu.svelte +553 -553
- package/dist/SvExportMenu.svelte.d.ts +2 -2
- package/dist/SvExpressionEditor.svelte.d.ts +2 -2
- package/dist/SvFileInput.svelte +113 -113
- package/dist/SvFormulaBar.svelte +606 -0
- package/dist/SvFormulaBar.svelte.d.ts +62 -0
- package/dist/SvGridAlerts.svelte.d.ts +2 -2
- package/dist/SvGridBoard.svelte +2358 -2358
- package/dist/SvGridBulkEditDrawer.svelte.d.ts +1 -1
- package/dist/SvGridEditPanel.svelte +1157 -1157
- package/dist/SvGridEditPanel.svelte.d.ts +3 -3
- package/dist/SvGridMasterDetail.svelte +116 -116
- package/dist/SvGridMasterDetail.svelte.d.ts +1 -1
- package/dist/SvGridScheduler.svelte +5358 -5358
- package/dist/SvImportDialog.svelte +1020 -1020
- package/dist/SvImportDialog.svelte.d.ts +2 -2
- package/dist/SvLookupInput.svelte +180 -180
- package/dist/SvLookupInput.svelte.d.ts +1 -1
- package/dist/SvPivotDesigner.svelte +2041 -1990
- package/dist/SvPivotDesigner.svelte.d.ts +2 -2
- package/dist/SvRecordDetail.svelte.d.ts +1 -1
- package/dist/SvRibbonIcon.svelte +46 -0
- package/dist/SvRibbonIcon.svelte.d.ts +17 -0
- package/dist/SvSchedule.svelte.d.ts +1 -1
- package/dist/SvSchemaChart.svelte +236 -234
- package/dist/SvSchemaChart.svelte.d.ts +2 -2
- package/dist/SvSchemaDashboard.svelte +130 -130
- package/dist/SvSchemaDashboard.svelte.d.ts +3 -3
- package/dist/SvSheet.svelte +4114 -0
- package/dist/SvSheet.svelte.d.ts +142 -0
- package/dist/SvSheetComment.svelte +98 -0
- package/dist/SvSheetComment.svelte.d.ts +22 -0
- package/dist/SvSheetConditionalFormat.svelte +162 -0
- package/dist/SvSheetConditionalFormat.svelte.d.ts +14 -0
- package/dist/SvSheetDataValidation.svelte +249 -0
- package/dist/SvSheetDataValidation.svelte.d.ts +14 -0
- package/dist/SvSheetFilterMenu.svelte +217 -0
- package/dist/SvSheetFilterMenu.svelte.d.ts +17 -0
- package/dist/SvSheetFindReplace.svelte +132 -0
- package/dist/SvSheetFindReplace.svelte.d.ts +10 -0
- package/dist/SvSheetFormatCells.svelte +421 -0
- package/dist/SvSheetFormatCells.svelte.d.ts +17 -0
- package/dist/SvSheetGoalSeek.svelte +144 -0
- package/dist/SvSheetGoalSeek.svelte.d.ts +12 -0
- package/dist/SvSheetInsertFunction.svelte +147 -0
- package/dist/SvSheetInsertFunction.svelte.d.ts +8 -0
- package/dist/SvSheetListPicker.svelte +89 -0
- package/dist/SvSheetListPicker.svelte.d.ts +16 -0
- package/dist/SvSheetManageRules.svelte +185 -0
- package/dist/SvSheetManageRules.svelte.d.ts +16 -0
- package/dist/SvSheetNameManager.svelte +225 -0
- package/dist/SvSheetNameManager.svelte.d.ts +11 -0
- package/dist/SvSheetPasteSpecial.svelte +105 -0
- package/dist/SvSheetPasteSpecial.svelte.d.ts +12 -0
- package/dist/SvSheetRemoveDuplicates.svelte +149 -0
- package/dist/SvSheetRemoveDuplicates.svelte.d.ts +12 -0
- package/dist/SvSheetRibbon.svelte +1201 -0
- package/dist/SvSheetRibbon.svelte.d.ts +34 -0
- package/dist/SvSheetSizeDialog.svelte +58 -0
- package/dist/SvSheetSizeDialog.svelte.d.ts +11 -0
- package/dist/SvSheetTabs.svelte +441 -0
- package/dist/SvSheetTabs.svelte.d.ts +36 -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 +83 -0
- package/dist/SvSheetValidationAlert.svelte.d.ts +15 -0
- package/dist/advanced-filter/expr-columns-from-grid.d.ts +1 -1
- package/dist/advanced-filter-enable.js +3 -3
- package/dist/alerts/alert-engine-attach.d.ts +2 -2
- package/dist/alerts/alert-engine-attach.js +3 -3
- package/dist/alerts/alert-engine.d.ts +1 -1
- package/dist/alerts/alert-engine.js +2 -2
- package/dist/alerts/alert-formats.d.ts +1 -1
- package/dist/alerts/alert-formats.js +1 -1
- package/dist/alerts/alert-observer.d.ts +3 -3
- package/dist/alerts/alert-observer.js +1 -1
- package/dist/alerts/alert-storage.d.ts +1 -1
- package/dist/alerts/alert-store.svelte.d.ts +1 -1
- package/dist/alerts/alert-types.d.ts +2 -2
- package/dist/alerts.js +2 -2
- package/dist/board.js +2 -2
- package/dist/cdn/svgrid-enterprise.svelte-external.js +19046 -5428
- package/dist/designer/assets/GridMenus-BlsvL_aU.js +8 -0
- package/dist/designer/assets/SvChartMenu-BYO9cYdy.css +1 -0
- package/dist/designer/assets/SvChartMenu-D9hEeHar.js +1 -0
- package/dist/designer/assets/SvDateRangeInput-BBRzrQeg.js +1 -0
- package/dist/designer/assets/SvDateRangeInput-C0iCCZ8o.css +1 -0
- package/dist/designer/assets/SvDateTimePicker-DARvKUL2.js +1 -0
- package/dist/designer/assets/SvDateTimePicker-DPv09DIT.css +1 -0
- package/dist/designer/assets/{preload-helper-CG0n22O7.js → SvGrid.helpers-BgT-gnCo.js} +1 -1
- package/dist/designer/assets/SvGridCellEditor-C7uQXYds.js +4 -0
- package/dist/designer/assets/SvGridChart-B8j1SSy3.js +3 -0
- package/dist/designer/assets/SvGridChart-BgLuPO7I.css +1 -0
- package/dist/designer/assets/SvGridChartBuilder-08YWWeqY.css +1 -0
- package/dist/designer/assets/SvGridChartBuilder-kvyIU_Rl.js +1 -0
- package/dist/designer/assets/SvGridChartPanel-4Pc8y5yO.css +1 -0
- package/dist/designer/assets/SvGridChartPanel-pT6ITc2P.js +4 -0
- package/dist/designer/assets/SvGridChartView-7msfnWZT.css +1 -0
- package/dist/designer/assets/SvGridChartView-bg281UA1.js +1 -0
- package/dist/designer/assets/SvGridDropdown-Bb3HH2Aj.js +1 -0
- package/dist/designer/assets/SvGridDropdown-CcidB3rm.css +1 -0
- package/dist/designer/assets/SvListBox-BDS66lmZ.js +110 -0
- package/dist/designer/assets/SvListBox-BXfyqy4a.css +1 -0
- package/dist/designer/assets/SvMenuList-DJ47ba1h.css +1 -0
- package/dist/designer/assets/SvMenuList-Dgq2D5VN.js +1 -0
- package/dist/designer/assets/SvTabs-DKmwb5p1.css +1 -0
- package/dist/designer/assets/SvTabs-UFCMTHXS.js +1 -0
- package/dist/designer/assets/cell-formatting-wr5wm7US.js +1 -0
- package/dist/designer/assets/chart-cIPUsbM5.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-DtTxpBUU.js +1 -0
- package/dist/designer/assets/chart-summary-Czu_5epb.js +1 -0
- package/dist/designer/assets/chart-trend-D5I5VEe8.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/editor-contract-Bpoa7A5g.js +1 -0
- package/dist/designer/assets/export-format-D-eP4b2l.js +6 -0
- package/dist/designer/assets/focus-trap-CAreAhlU.js +1 -0
- package/dist/designer/assets/index-CMFgAoVV.css +1 -0
- package/dist/designer/assets/{index-zUBix-JQ.js → index-DwU7CAMm.js} +2985 -141
- package/dist/designer/assets/list-option-BP_dWS66.js +1 -0
- package/dist/designer/assets/preload-helper-HclGiUj8.js +1 -0
- package/dist/designer/assets/row-resize-DLktcqUK.js +1 -0
- package/dist/designer/assets/src-CITpcm6b.js +1 -0
- package/dist/designer/assets/src-EdI3Xqds.js +58 -0
- package/dist/designer/index.html +32 -23
- package/dist/export-conditional.d.ts +1 -1
- package/dist/export-pdf.d.ts +89 -0
- package/dist/export-pdf.js +130 -0
- package/dist/export-print.js +19 -19
- package/dist/export-xls.d.ts +2 -2
- package/dist/export.d.ts +2 -2
- package/dist/export.js +23 -16
- package/dist/expressions/builder-tree.d.ts +2 -2
- package/dist/expressions/builder-tree.js +1 -1
- package/dist/expressions/compile.d.ts +1 -1
- package/dist/import.js +1 -1
- package/dist/index.d.ts +116 -53
- package/dist/index.js +117 -50
- package/dist/install.d.ts +4 -4
- package/dist/install.js +16 -11
- package/dist/license.d.ts +3 -2
- package/dist/license.js +9 -4
- package/dist/node/studio.js +187 -116
- package/dist/pivot-chart.d.ts +26 -2
- package/dist/pivot-chart.js +25 -69
- package/dist/pivot-designer.d.ts +1 -1
- package/dist/pivot-enable.js +3 -3
- package/dist/print.d.ts +1 -1
- package/dist/print.js +4 -4
- package/dist/scheduler-config.d.ts +5 -5
- package/dist/scheduler-freebusy.d.ts +1 -1
- package/dist/scheduler-freebusy.js +1 -1
- package/dist/scheduler.js +2 -2
- package/dist/schema-designer.d.ts +1 -1
- package/dist/schema-designer.js +2 -2
- package/dist/selection-bar.js +2 -2
- package/dist/sheet/address.d.ts +43 -0
- package/dist/sheet/address.js +81 -0
- package/dist/sheet/ast.d.ts +94 -0
- package/dist/sheet/ast.js +56 -0
- package/dist/sheet/auto-filter.d.ts +66 -0
- package/dist/sheet/auto-filter.js +147 -0
- package/dist/sheet/autocomplete.d.ts +42 -0
- package/dist/sheet/autocomplete.js +162 -0
- package/dist/sheet/coerce.d.ts +31 -0
- package/dist/sheet/coerce.js +122 -0
- package/dist/sheet/commands.d.ts +89 -0
- package/dist/sheet/commands.js +230 -0
- package/dist/sheet/comments.d.ts +29 -0
- package/dist/sheet/comments.js +73 -0
- package/dist/sheet/conditional-formats.d.ts +144 -0
- package/dist/sheet/conditional-formats.js +316 -0
- package/dist/sheet/deps.d.ts +60 -0
- package/dist/sheet/deps.js +199 -0
- package/dist/sheet/document.d.ts +150 -0
- package/dist/sheet/document.js +264 -0
- package/dist/sheet/edit-keys.d.ts +14 -0
- package/dist/sheet/edit-keys.js +40 -0
- package/dist/sheet/entry.d.ts +31 -0
- package/dist/sheet/entry.js +76 -0
- package/dist/sheet/evaluate.d.ts +61 -0
- package/dist/sheet/evaluate.js +337 -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 +99 -0
- package/dist/sheet/format-store.js +233 -0
- package/dist/sheet/freeze.d.ts +54 -0
- package/dist/sheet/freeze.js +58 -0
- package/dist/sheet/function-catalog.d.ts +10 -0
- package/dist/sheet/function-catalog.js +94 -0
- package/dist/sheet/functions.d.ts +28 -0
- package/dist/sheet/functions.js +362 -0
- package/dist/sheet/goal-seek.d.ts +73 -0
- package/dist/sheet/goal-seek.js +153 -0
- package/dist/sheet/index.d.ts +53 -0
- package/dist/sheet/index.js +53 -0
- package/dist/sheet/merges.d.ts +71 -0
- package/dist/sheet/merges.js +137 -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 +63 -0
- package/dist/sheet/number-format.js +508 -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 +108 -0
- package/dist/sheet/paste-special.d.ts +164 -0
- package/dist/sheet/paste-special.js +592 -0
- package/dist/sheet/protection.d.ts +21 -0
- package/dist/sheet/protection.js +48 -0
- package/dist/sheet/rects.d.ts +45 -0
- package/dist/sheet/rects.js +112 -0
- package/dist/sheet/refs.d.ts +82 -0
- package/dist/sheet/refs.js +266 -0
- package/dist/sheet/ribbon-icons.d.ts +31 -0
- package/dist/sheet/ribbon-icons.js +350 -0
- package/dist/sheet/ribbon.d.ts +173 -0
- package/dist/sheet/ribbon.js +753 -0
- package/dist/sheet/shortcuts.d.ts +164 -0
- package/dist/sheet/shortcuts.js +623 -0
- package/dist/sheet/structure.d.ts +87 -0
- package/dist/sheet/structure.js +166 -0
- package/dist/sheet/tables.d.ts +70 -0
- package/dist/sheet/tables.js +147 -0
- package/dist/sheet/tokenize.d.ts +54 -0
- package/dist/sheet/tokenize.js +304 -0
- package/dist/sheet/transforms.d.ts +76 -0
- package/dist/sheet/transforms.js +154 -0
- package/dist/sheet/validation.d.ts +92 -0
- package/dist/sheet/validation.js +241 -0
- package/dist/sheet/workbook.d.ts +72 -0
- package/dist/sheet/workbook.js +409 -0
- package/dist/sheet-enable.d.ts +6 -0
- package/dist/sheet-enable.js +46 -0
- package/dist/sources/aggregate.d.ts +1 -1
- package/dist/sources/auth-supabase.js +1 -1
- package/dist/sources/dashboard.d.ts +2 -2
- package/dist/sources/dashboard.js +1 -1
- package/dist/sources/index.d.ts +13 -13
- package/dist/sources/index.js +13 -13
- package/dist/sources/realtime-supabase.js +1 -1
- package/dist/sources/relation-lookup.d.ts +1 -1
- package/dist/sources/relation-lookup.js +1 -1
- package/dist/sources/rest-adapters.d.ts +1 -1
- package/dist/sources/rest-adapters.js +1 -1
- package/dist/sources/rest.d.ts +2 -2
- package/dist/sources/rest.js +3 -3
- package/dist/sources/supabase.d.ts +2 -2
- package/dist/sources/supabase.js +3 -3
- package/dist/sources/with-entity-rules.d.ts +1 -1
- package/dist/sources/with-entity-rules.js +1 -1
- package/dist/sources/with-relation-labels.d.ts +1 -1
- package/dist/studio/emit-project.js +2161 -2127
- package/dist/studio/emit-schema.js +369 -369
- package/dist/studio/index.d.ts +1 -1
- package/dist/studio/index.js +1 -1
- package/dist/studio/introspect-db.js +45 -45
- package/dist/studio/project.d.ts +10 -0
- package/dist/studio/samples/crm.js +6 -6
- package/dist/studio/samples/fleet.js +7 -7
- package/dist/studio/samples/insurance.js +9 -9
- package/dist/studio/samples/inventory.js +12 -12
- package/dist/studio/samples/projects.js +5 -5
- package/dist/studio/samples/support.js +8 -8
- package/dist/studio/scaffold-app.js +104 -104
- package/dist/studio/scaffold.js +151 -151
- package/dist/studio/ui-components.d.ts +7 -0
- package/dist/studio/ui-components.generated.js +63 -1
- package/dist/studio/ui-components.js +35 -0
- package/dist/sveltekit/in-memory.d.ts +3 -3
- package/dist/sveltekit/in-memory.js +4 -4
- package/dist/sveltekit/index.d.ts +6 -6
- package/dist/sveltekit/index.js +5 -5
- package/dist/sveltekit/query-plan.d.ts +1 -1
- package/dist/sveltekit/sql-source.d.ts +4 -4
- package/dist/sveltekit/sql-source.js +4 -4
- package/dist/sveltekit/sql.d.ts +1 -1
- package/dist/sveltekit/transport.d.ts +2 -2
- package/dist/sveltekit/transport.js +1 -1
- package/dist/upgrade-prompt.js +25 -25
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +12 -4
- package/dist/designer/assets/GridMenus-Cgilexpk.js +0 -8
- package/dist/designer/assets/SvDateRangeInput-BV5OXYQ2.css +0 -1
- package/dist/designer/assets/SvDateRangeInput-CVn-yqrQ.js +0 -1
- package/dist/designer/assets/SvDateTimePicker-BdioTrJQ.js +0 -1
- package/dist/designer/assets/SvDateTimePicker-CY8TK4BT.css +0 -1
- package/dist/designer/assets/SvField-BF-9TJSd.css +0 -1
- package/dist/designer/assets/SvField-BsqiA5me.js +0 -1
- package/dist/designer/assets/SvGridCellEditor-dLY7_kk9.js +0 -2
- package/dist/designer/assets/SvGridChart-BEDNTdc5.js +0 -2
- package/dist/designer/assets/SvGridChart-Vu4Nvjiv.css +0 -1
- package/dist/designer/assets/SvGridChartPanel-x3lzSxuf.js +0 -10
- package/dist/designer/assets/SvGridChartView-CAKhPELi.js +0 -1
- package/dist/designer/assets/SvGridChartView-DX9HfkBR.css +0 -1
- package/dist/designer/assets/SvGridDropdown-CAYG7Y-O.js +0 -1
- package/dist/designer/assets/SvGridDropdown-Crwb2P3Q.css +0 -1
- package/dist/designer/assets/SvListBox-CVYQcLX9.js +0 -1
- package/dist/designer/assets/SvListBox-DgN8kvjt.css +0 -1
- package/dist/designer/assets/chart-DHEgt4lN.js +0 -1
- package/dist/designer/assets/column-resize-C_inr5zT.js +0 -1
- package/dist/designer/assets/date-format-4DJvNtG2.js +0 -1
- package/dist/designer/assets/date-format-Dzy4mTGh.css +0 -1
- package/dist/designer/assets/easing-zaypKrr0.js +0 -3
- package/dist/designer/assets/export-format-DwjuTfrQ.js +0 -6
- package/dist/designer/assets/index-Cp7fDJ3b.css +0 -1
- package/dist/designer/assets/js-scroller.svelte-Bhxqb3-c.js +0 -110
- package/dist/designer/assets/row-resize-B0FWHcNr.js +0 -1
- package/dist/designer/assets/src-B7DNcoQK.css +0 -1
- package/dist/designer/assets/src-BoYyigAC.js +0 -2896
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/_svelte_metadata.json +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/_metadata.json +0 -178
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js +0 -3875
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js +0 -21
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js +0 -1938
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js +0 -205
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js +0 -18
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js +0 -264
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js +0 -697
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/package.json +0 -3
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js +0 -134
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js +0 -55
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_attachments.js +0 -2
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js +0 -46843
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js +0 -237
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_events.js +0 -2
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js +0 -4
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_client.js +0 -7
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js +0 -4
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js +0 -5
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js +0 -5
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js +0 -5
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_server.js +0 -6
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js +0 -83
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js +0 -559
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js +0 -24
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js +0 -122
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_server.js +0 -2
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js +0 -89
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js +0 -241
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js +0 -4938
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js +0 -495
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js +0 -190
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js +0 -8
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js.map +0 -1
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js +0 -138
- package/dist/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js.map +0 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Precedence-climbing parser over the token stream.
|
|
3
|
+
*
|
|
4
|
+
* One structural choice worth naming: a whole-column reference like `A:A`
|
|
5
|
+
* lexes as a range whose `to.row` is null, and the evaluator fills that in
|
|
6
|
+
* from the sheet's last used row. Resolving it here instead would bake the
|
|
7
|
+
* row count into the AST, and the AST is cached across edits that change it.
|
|
8
|
+
*/
|
|
9
|
+
import { PRECEDENCE, FormulaError, } from './ast.js';
|
|
10
|
+
import { tokenize } from './tokenize.js';
|
|
11
|
+
export function parse(tokens) {
|
|
12
|
+
let pos = 0;
|
|
13
|
+
const peek = () => tokens[pos];
|
|
14
|
+
const next = () => tokens[pos++];
|
|
15
|
+
function expression(minPrec) {
|
|
16
|
+
let left = postfix(primary());
|
|
17
|
+
for (;;) {
|
|
18
|
+
const t = peek();
|
|
19
|
+
if (!t || t.t !== 'op')
|
|
20
|
+
break;
|
|
21
|
+
const prec = PRECEDENCE[t.v];
|
|
22
|
+
if (prec === undefined || prec < minPrec)
|
|
23
|
+
break;
|
|
24
|
+
next();
|
|
25
|
+
// Left-associative for everything except `^`, which Excel binds right.
|
|
26
|
+
const nextMin = t.v === '^' ? prec : prec + 1;
|
|
27
|
+
left = { k: 'binary', op: t.v, left, right: expression(nextMin) };
|
|
28
|
+
}
|
|
29
|
+
return left;
|
|
30
|
+
}
|
|
31
|
+
/** Excel's `%` is POSTFIX and divides by a hundred: `50%` is 0.5 and
|
|
32
|
+
* `A1*5%` is five percent of A1. There is no binary modulo operator in
|
|
33
|
+
* Excel at all; `MOD()` is the function. */
|
|
34
|
+
function postfix(node) {
|
|
35
|
+
let out = node;
|
|
36
|
+
while (peek()?.t === 'op' && peek().v === '%') {
|
|
37
|
+
next();
|
|
38
|
+
out = { k: 'unary', op: '%', arg: out };
|
|
39
|
+
}
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
function primary() {
|
|
43
|
+
const t = next();
|
|
44
|
+
if (!t)
|
|
45
|
+
throw new FormulaError('#PARSE!');
|
|
46
|
+
switch (t.t) {
|
|
47
|
+
case 'num': return { k: 'num', v: t.v };
|
|
48
|
+
case 'str': return { k: 'str', v: t.v };
|
|
49
|
+
case 'bool': return { k: 'bool', v: t.v };
|
|
50
|
+
case 'ref': return { k: 'ref', ref: t.ref };
|
|
51
|
+
case 'range': return { k: 'range', from: t.from, to: t.to };
|
|
52
|
+
case 'name': return { k: 'name', name: t.v };
|
|
53
|
+
case 'table':
|
|
54
|
+
return t.columnTo === undefined
|
|
55
|
+
? { k: 'table', table: t.table, column: t.column, specifier: t.specifier }
|
|
56
|
+
: {
|
|
57
|
+
k: 'table', table: t.table, column: t.column,
|
|
58
|
+
columnTo: t.columnTo, specifier: t.specifier,
|
|
59
|
+
};
|
|
60
|
+
case 'lparen': {
|
|
61
|
+
const inner = expression(1);
|
|
62
|
+
const close = next();
|
|
63
|
+
if (!close || close.t !== 'rparen')
|
|
64
|
+
throw new FormulaError('#PARSE!');
|
|
65
|
+
return inner;
|
|
66
|
+
}
|
|
67
|
+
case 'fn': {
|
|
68
|
+
const open = next();
|
|
69
|
+
if (!open || open.t !== 'lparen')
|
|
70
|
+
throw new FormulaError('#PARSE!');
|
|
71
|
+
const args = [];
|
|
72
|
+
if (peek()?.t !== 'rparen') {
|
|
73
|
+
args.push(expression(1));
|
|
74
|
+
while (peek()?.t === 'comma') {
|
|
75
|
+
next();
|
|
76
|
+
args.push(expression(1));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const close = next();
|
|
80
|
+
if (!close || close.t !== 'rparen')
|
|
81
|
+
throw new FormulaError('#PARSE!');
|
|
82
|
+
return { k: 'fn', name: t.v, args };
|
|
83
|
+
}
|
|
84
|
+
case 'op': {
|
|
85
|
+
// Unary. Binds tighter than every binary operator except `^`, so
|
|
86
|
+
// `-2^2` is -(2^2) as in Excel, and `-A1*2` is (-A1)*2.
|
|
87
|
+
if (t.v === '-')
|
|
88
|
+
return { k: 'unary', op: '-', arg: expression(5) };
|
|
89
|
+
if (t.v === '+')
|
|
90
|
+
return { k: 'unary', op: '+', arg: expression(5) };
|
|
91
|
+
throw new FormulaError('#PARSE!');
|
|
92
|
+
}
|
|
93
|
+
default:
|
|
94
|
+
throw new FormulaError('#PARSE!');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const node = expression(1);
|
|
98
|
+
if (pos < tokens.length)
|
|
99
|
+
throw new FormulaError('#PARSE!');
|
|
100
|
+
return node;
|
|
101
|
+
}
|
|
102
|
+
/** Tokenize and parse one formula. Accepts the leading `=` or not. */
|
|
103
|
+
export function parseFormula(src) {
|
|
104
|
+
const body = src.startsWith('=') ? src.slice(1) : src;
|
|
105
|
+
if (body.trim() === '')
|
|
106
|
+
throw new FormulaError('#PARSE!');
|
|
107
|
+
return parse(tokenize(body));
|
|
108
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { type CellFormatEntry } from './format-store.js';
|
|
2
|
+
export type PasteWhat = 'all' | 'values' | 'formulas' | 'formats';
|
|
3
|
+
export type PasteOperation = 'none' | 'add' | 'subtract' | 'multiply' | 'divide';
|
|
4
|
+
export type PasteSpecialOptions = {
|
|
5
|
+
what?: PasteWhat;
|
|
6
|
+
operation?: PasteOperation;
|
|
7
|
+
transpose?: boolean;
|
|
8
|
+
/** Leave the destination untouched where the source cell is empty. */
|
|
9
|
+
skipBlanks?: boolean;
|
|
10
|
+
};
|
|
11
|
+
/** One cell on its way through the clipboard. */
|
|
12
|
+
export type ClipboardCell = {
|
|
13
|
+
/** What the cell displays. Always present; this is the TSV half. */
|
|
14
|
+
text: string;
|
|
15
|
+
/** The number behind a formatted display, when there is one: written as
|
|
16
|
+
* `x:num` so a spreadsheet takes the number rather than re-parsing the
|
|
17
|
+
* text. A parsed cell carries the number in `text` instead. */
|
|
18
|
+
value?: string;
|
|
19
|
+
/** The formula source, when the cell holds one. */
|
|
20
|
+
formula?: string;
|
|
21
|
+
format?: CellFormatEntry;
|
|
22
|
+
};
|
|
23
|
+
export type ClipboardGrid = ClipboardCell[][];
|
|
24
|
+
/**
|
|
25
|
+
* A number format the way Excel writes it in `mso-number-format`: quoted,
|
|
26
|
+
* every literal escaped with a backslash and a double quote as `\0022`.
|
|
27
|
+
* Excel reads the property back from inline styles, which is how a paste
|
|
28
|
+
* into it keeps `#,##0.00` rather than guessing a format from the text.
|
|
29
|
+
*/
|
|
30
|
+
export declare function msoNumberFormat(code: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Serialise a grid to the two clipboard flavours.
|
|
33
|
+
*
|
|
34
|
+
* The marker class is how `parseClipboardHtml` knows a paste came from a grid
|
|
35
|
+
* and can trust the `data-formula` attributes; HTML from anywhere else is
|
|
36
|
+
* read for text and styles only.
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildClipboardPayload(grid: ClipboardGrid,
|
|
39
|
+
/** Where the copy came from, so a pasted formula knows how far it moved.
|
|
40
|
+
* Omit for a synthetic payload; references then paste unshifted. */
|
|
41
|
+
origin?: {
|
|
42
|
+
row: number;
|
|
43
|
+
col: number;
|
|
44
|
+
}): {
|
|
45
|
+
text: string;
|
|
46
|
+
html: string;
|
|
47
|
+
};
|
|
48
|
+
/** Whether a formula is written in R1C1, as Google Sheets writes them. */
|
|
49
|
+
export declare function isR1C1(formula: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* An R1C1 formula as A1, for the cell it lands in. `R[-1]C` is the cell
|
|
52
|
+
* above wherever the formula sits, `R2C3` is $C$2 anywhere, and a bare
|
|
53
|
+
* `RC` is the cell itself. Quoted strings and sheet names pass through.
|
|
54
|
+
*/
|
|
55
|
+
export declare function r1c1ToA1(formula: string, row: number, col: number): string;
|
|
56
|
+
/** Parse a TSV clipboard into a grid of text-only cells. */
|
|
57
|
+
export declare function parseClipboardText(text: string): ClipboardGrid;
|
|
58
|
+
export declare function numFmtFromMso(value: string): string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Parse clipboard HTML into a grid.
|
|
61
|
+
*
|
|
62
|
+
* Uses DOMParser rather than a regex: clipboard HTML from Excel is full of
|
|
63
|
+
* conditional comments, namespaced tags and unclosed elements, and a parser
|
|
64
|
+
* that already handles all of that ships in the browser.
|
|
65
|
+
*
|
|
66
|
+
* Returns null when the HTML holds no table, so the caller falls back to TSV.
|
|
67
|
+
*/
|
|
68
|
+
export declare function readClipboardOrigin(html: string): {
|
|
69
|
+
row: number;
|
|
70
|
+
col: number;
|
|
71
|
+
} | null;
|
|
72
|
+
export declare function parseClipboardHtml(html: string): ClipboardGrid | null;
|
|
73
|
+
/** Read whichever flavour is richer. */
|
|
74
|
+
export declare function parseClipboard(payload: {
|
|
75
|
+
text?: string;
|
|
76
|
+
html?: string;
|
|
77
|
+
}): ClipboardGrid;
|
|
78
|
+
/** What one destination cell should become. */
|
|
79
|
+
export type PasteResolution = {
|
|
80
|
+
kind: 'skip';
|
|
81
|
+
} | {
|
|
82
|
+
kind: 'value';
|
|
83
|
+
value: string;
|
|
84
|
+
} | {
|
|
85
|
+
kind: 'format';
|
|
86
|
+
format: CellFormatEntry | undefined;
|
|
87
|
+
} | {
|
|
88
|
+
kind: 'both';
|
|
89
|
+
value: string;
|
|
90
|
+
format: CellFormatEntry | undefined;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Decide what lands in one cell. Pure, so the whole option matrix is testable
|
|
94
|
+
* without a clipboard or a grid.
|
|
95
|
+
*
|
|
96
|
+
* `offset` is how far the destination sits from where the source was copied,
|
|
97
|
+
* which is what lets a pasted formula shift its relative references. `at`
|
|
98
|
+
* is the destination itself, which an R1C1 formula (Google Sheets writes
|
|
99
|
+
* them so) needs to become A1; it then needs no offset, being relative to
|
|
100
|
+
* wherever it lands.
|
|
101
|
+
*/
|
|
102
|
+
export declare function resolvePasteCell(source: ClipboardCell | undefined, existing: unknown, opts: PasteSpecialOptions, offset?: {
|
|
103
|
+
rows: number;
|
|
104
|
+
cols: number;
|
|
105
|
+
}, at?: {
|
|
106
|
+
row: number;
|
|
107
|
+
col: number;
|
|
108
|
+
}): PasteResolution;
|
|
109
|
+
/**
|
|
110
|
+
* A block from another application says nothing about where it was copied
|
|
111
|
+
* from, and Excel's formulas come in A1 as written: `=B2*C2` beside a
|
|
112
|
+
* price and a quantity. Pasted anywhere but A1 with no shift, that formula
|
|
113
|
+
* reads the wrong cells. What CAN be known is whether the block is
|
|
114
|
+
* self-contained: with the block read as if copied from A1, a formula whose
|
|
115
|
+
* every reference falls inside the block (a totals column, a running sum,
|
|
116
|
+
* the blocks people copy) is kept and moves with the paste from that A1;
|
|
117
|
+
* one that reaches outside is pasted as its value, which is right wherever
|
|
118
|
+
* the block lands. R1C1 formulas (Google Sheets) are left alone: they are
|
|
119
|
+
* resolved against the cell they land in.
|
|
120
|
+
*/
|
|
121
|
+
export declare function anchorForeignFormulas(grid: ClipboardGrid): {
|
|
122
|
+
grid: ClipboardGrid;
|
|
123
|
+
origin: {
|
|
124
|
+
row: number;
|
|
125
|
+
col: number;
|
|
126
|
+
} | null;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Where each source cell lands.
|
|
130
|
+
*
|
|
131
|
+
* The reference offset is the same for every cell, not per-cell: source and
|
|
132
|
+
* destination both advance together as the grid is walked, so the shift is
|
|
133
|
+
* just `destination - origin`. Computing it per cell is how you end up
|
|
134
|
+
* translating by the destination's absolute position, which is wrong
|
|
135
|
+
* everywhere except the top-left corner.
|
|
136
|
+
*
|
|
137
|
+
* With no `origin` the offset is zero. That is right rather than lazy: a
|
|
138
|
+
* formula pasted in from another application has no position in this sheet to
|
|
139
|
+
* have moved from.
|
|
140
|
+
*
|
|
141
|
+
* `fill` is the selection's size. A block that fits it a whole number of
|
|
142
|
+
* times is repeated over it, as Excel repeats a copied cell across a
|
|
143
|
+
* selected range (or two copied rows over six selected ones); each repeat
|
|
144
|
+
* gets its own offset, so a repeated formula points where a hand-copied one
|
|
145
|
+
* would. Otherwise the block lands at the destination and keeps its shape.
|
|
146
|
+
*/
|
|
147
|
+
export declare function planPaste(grid: ClipboardGrid, destination: {
|
|
148
|
+
row: number;
|
|
149
|
+
col: number;
|
|
150
|
+
}, opts?: PasteSpecialOptions, origin?: {
|
|
151
|
+
row: number;
|
|
152
|
+
col: number;
|
|
153
|
+
} | null, fill?: {
|
|
154
|
+
rows: number;
|
|
155
|
+
cols: number;
|
|
156
|
+
}): Array<{
|
|
157
|
+
row: number;
|
|
158
|
+
col: number;
|
|
159
|
+
source: ClipboardCell;
|
|
160
|
+
offset: {
|
|
161
|
+
rows: number;
|
|
162
|
+
cols: number;
|
|
163
|
+
};
|
|
164
|
+
}>;
|