@svgrid/enterprise 2.5.2 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SvAlertRuleEditor.svelte.d.ts +13 -0
- package/dist/SvAlertsManager.svelte.d.ts +14 -0
- package/dist/SvAlertsPanel.svelte.d.ts +9 -0
- package/dist/SvAuthGate.svelte.d.ts +22 -0
- package/dist/SvBoard.svelte.d.ts +35 -0
- package/dist/SvExportMenu.svelte.d.ts +61 -0
- package/dist/SvExpressionEditor.svelte.d.ts +12 -0
- package/dist/SvFileInput.svelte.d.ts +20 -0
- package/dist/SvGridAlerts.svelte.d.ts +77 -0
- package/dist/SvGridBoard.svelte.d.ts +30 -0
- package/dist/SvGridEditPanel.svelte.d.ts +73 -0
- package/dist/SvGridMasterDetail.svelte.d.ts +49 -0
- package/dist/SvGridScheduler.svelte.d.ts +30 -0
- package/dist/SvImportDialog.svelte.d.ts +88 -0
- package/dist/SvLookupInput.svelte.d.ts +21 -0
- package/dist/SvPivotDesigner.svelte.d.ts +176 -0
- package/dist/SvRecordDetail.svelte.d.ts +58 -0
- package/dist/SvSchedule.svelte.d.ts +29 -0
- package/dist/SvSchemaChart.svelte.d.ts +61 -0
- package/dist/SvSchemaDashboard.svelte.d.ts +46 -0
- package/dist/alerts/alert-engine-attach.d.ts +79 -0
- package/dist/alerts/alert-engine-attach.js +106 -0
- package/dist/alerts/alert-engine.d.ts +42 -0
- package/dist/alerts/alert-engine.js +196 -0
- package/dist/alerts/alert-formats.d.ts +26 -0
- package/dist/alerts/alert-formats.js +58 -0
- package/dist/alerts/alert-observer.d.ts +54 -0
- package/dist/alerts/alert-observer.js +156 -0
- package/dist/alerts/alert-scheduler.d.ts +30 -0
- package/dist/alerts/alert-scheduler.js +54 -0
- package/dist/alerts/alert-storage.d.ts +31 -0
- package/dist/alerts/alert-storage.js +92 -0
- package/dist/alerts/alert-store.svelte.d.ts +24 -0
- package/dist/alerts/alert-store.svelte.js +69 -0
- package/dist/alerts/alert-types.d.ts +86 -0
- package/dist/alerts/alert-types.js +1 -0
- package/dist/alerts.d.ts +2 -0
- package/{src/alerts.ts → dist/alerts.js} +9 -9
- package/dist/board.d.ts +7 -0
- package/{src/board.ts → dist/board.js} +13 -14
- package/dist/cdn/svgrid-enterprise.svelte-external.js +2987 -2981
- package/dist/designer/assets/{index-CM5xvaOy.js → index-BF0UH638.js} +3 -3
- package/dist/designer/assets/{src-D-ET9Mmo.js → src-BPJruwB9.js} +184 -184
- package/dist/designer/index.html +2 -2
- package/dist/edit-panel.d.ts +105 -0
- package/dist/edit-panel.js +350 -0
- package/dist/export-conditional.d.ts +31 -0
- package/dist/export-conditional.js +65 -0
- package/dist/export-ooxml.d.ts +93 -0
- package/dist/export-ooxml.js +385 -0
- package/dist/export-pdf.d.ts +107 -0
- package/dist/export-pdf.js +144 -0
- package/dist/export-print.d.ts +55 -0
- package/dist/export-print.js +91 -0
- package/{src/export-serialize.ts → dist/export-serialize.d.ts} +11 -24
- package/dist/export-serialize.js +11 -0
- package/dist/export-xls.d.ts +26 -0
- package/dist/export-xls.js +157 -0
- package/dist/export.d.ts +323 -0
- package/dist/export.js +1021 -0
- package/dist/expressions/evaluate.d.ts +17 -0
- package/dist/expressions/evaluate.js +214 -0
- package/dist/expressions/expression-columns.d.ts +61 -0
- package/dist/expressions/expression-columns.js +72 -0
- package/dist/expressions/expression-types.d.ts +125 -0
- package/dist/expressions/expression-types.js +1 -0
- package/dist/expressions/parse.d.ts +25 -0
- package/dist/expressions/parse.js +537 -0
- package/dist/import.d.ts +232 -0
- package/dist/import.js +846 -0
- package/dist/index.d.ts +66 -0
- package/dist/index.js +91 -0
- package/dist/install.d.ts +70 -0
- package/dist/install.js +61 -0
- package/dist/license-core.d.ts +37 -0
- package/dist/license-core.js +81 -0
- package/dist/license.d.ts +30 -0
- package/dist/license.js +139 -0
- package/dist/master-detail.d.ts +23 -0
- package/dist/master-detail.js +35 -0
- package/dist/node/studio.js +1 -1
- package/dist/pivot-chart.d.ts +28 -0
- package/dist/pivot-chart.js +71 -0
- package/dist/pivot-designer.d.ts +69 -0
- package/dist/pivot-designer.js +38 -0
- package/dist/pivot-enable.d.ts +6 -0
- package/{src/pivot-enable.ts → dist/pivot-enable.js} +13 -18
- package/dist/pivot.d.ts +111 -0
- package/dist/pivot.js +353 -0
- package/dist/print.d.ts +33 -0
- package/dist/print.js +61 -0
- package/dist/revoked.d.ts +1 -0
- package/{src/revoked.ts → dist/revoked.js} +5 -6
- package/dist/scheduler-assignments.d.ts +64 -0
- package/dist/scheduler-assignments.js +92 -0
- package/dist/scheduler-axis.d.ts +81 -0
- package/dist/scheduler-axis.js +180 -0
- package/{src/scheduler-booking.ts → dist/scheduler-booking.d.ts} +10 -43
- package/dist/scheduler-booking.js +50 -0
- package/dist/scheduler-config.d.ts +177 -0
- package/dist/scheduler-config.js +1 -0
- package/dist/scheduler-dependencies.d.ts +89 -0
- package/dist/scheduler-dependencies.js +179 -0
- package/dist/scheduler-freebusy.d.ts +19 -0
- package/{src/scheduler-freebusy.ts → dist/scheduler-freebusy.js} +9 -19
- package/{src/scheduler-heatmap.ts → dist/scheduler-heatmap.d.ts} +12 -35
- package/dist/scheduler-heatmap.js +41 -0
- package/dist/scheduler-resource-tree.d.ts +48 -0
- package/dist/scheduler-resource-tree.js +78 -0
- package/dist/scheduler-slots.d.ts +37 -0
- package/dist/scheduler-slots.js +80 -0
- package/dist/scheduler-summary.d.ts +41 -0
- package/dist/scheduler-summary.js +54 -0
- package/dist/scheduler.d.ts +7 -0
- package/{src/scheduler.ts → dist/scheduler.js} +13 -14
- package/dist/scheduling.d.ts +132 -0
- package/dist/scheduling.js +228 -0
- package/dist/schema-designer.d.ts +42 -0
- package/dist/schema-designer.js +117 -0
- package/dist/schema.d.ts +369 -0
- package/dist/schema.js +216 -0
- package/dist/smart-shim.d.ts +62 -0
- package/dist/smart-shim.js +34 -0
- package/dist/sources/aggregate.d.ts +43 -0
- package/dist/sources/aggregate.js +60 -0
- package/dist/sources/auth-supabase.d.ts +69 -0
- package/dist/sources/auth-supabase.js +39 -0
- package/dist/sources/dashboard.d.ts +65 -0
- package/dist/sources/dashboard.js +95 -0
- package/dist/sources/field-inference.d.ts +23 -0
- package/dist/sources/field-inference.js +52 -0
- package/dist/sources/filters.d.ts +35 -0
- package/dist/sources/filters.js +52 -0
- package/dist/sources/index.d.ts +18 -0
- package/dist/sources/index.js +18 -0
- package/dist/sources/introspect-supabase.d.ts +30 -0
- package/dist/sources/introspect-supabase.js +134 -0
- package/dist/sources/realtime-supabase.d.ts +37 -0
- package/dist/sources/realtime-supabase.js +52 -0
- package/dist/sources/relation-lookup.d.ts +50 -0
- package/dist/sources/relation-lookup.js +77 -0
- package/dist/sources/rest-adapters.d.ts +48 -0
- package/dist/sources/rest-adapters.js +85 -0
- package/dist/sources/rest.d.ts +38 -0
- package/dist/sources/rest.js +86 -0
- package/dist/sources/schema-from-columns.d.ts +37 -0
- package/dist/sources/schema-from-columns.js +48 -0
- package/dist/sources/supabase.d.ts +33 -0
- package/dist/sources/supabase.js +74 -0
- package/dist/sources/with-entity-rules.d.ts +25 -0
- package/dist/sources/with-entity-rules.js +47 -0
- package/dist/sources/with-relation-labels.d.ts +26 -0
- package/dist/sources/with-relation-labels.js +38 -0
- package/dist/staged-editing.d.ts +85 -0
- package/dist/staged-editing.js +0 -0
- package/dist/studio/bug-report.d.ts +61 -0
- package/dist/studio/bug-report.js +126 -0
- package/dist/studio/cli.d.ts +56 -0
- package/dist/studio/cli.js +70 -0
- package/dist/studio/copilot-core.d.ts +22 -0
- package/{src/studio/copilot-core.ts → dist/studio/copilot-core.js} +34 -38
- package/dist/studio/csv.d.ts +36 -0
- package/dist/studio/csv.js +173 -0
- package/dist/studio/db-connect-string.d.ts +45 -0
- package/dist/studio/db-connect-string.js +113 -0
- package/dist/studio/deploy-cli.d.ts +35 -0
- package/dist/studio/deploy-cli.js +81 -0
- package/dist/studio/emit-project.d.ts +77 -0
- package/dist/studio/emit-project.js +5389 -0
- package/dist/studio/emit-schema.d.ts +110 -0
- package/dist/studio/emit-schema.js +1128 -0
- package/dist/studio/index.d.ts +35 -0
- package/dist/studio/index.js +38 -0
- package/dist/studio/init-flow.d.ts +58 -0
- package/dist/studio/init-flow.js +451 -0
- package/dist/studio/introspect-db.d.ts +47 -0
- package/dist/studio/introspect-db.js +255 -0
- package/dist/studio/introspect-openapi.d.ts +19 -0
- package/dist/studio/introspect-openapi.js +244 -0
- package/dist/studio/introspect-prisma.d.ts +25 -0
- package/dist/studio/introspect-prisma.js +164 -0
- package/dist/studio/introspect.d.ts +35 -0
- package/dist/studio/introspect.js +306 -0
- package/dist/studio/project.d.ts +1327 -0
- package/dist/studio/project.js +1798 -0
- package/dist/studio/sample-data.d.ts +19 -0
- package/dist/studio/sample-data.js +207 -0
- package/dist/studio/samples/ats.d.ts +2 -0
- package/dist/studio/samples/ats.js +194 -0
- package/dist/studio/samples/clinic.d.ts +2 -0
- package/dist/studio/samples/clinic.js +171 -0
- package/dist/studio/samples/crm.d.ts +2 -0
- package/dist/studio/samples/crm.js +280 -0
- package/dist/studio/samples/datasets.d.ts +38 -0
- package/dist/studio/samples/datasets.js +296 -0
- package/dist/studio/samples/ecommerce.d.ts +2 -0
- package/dist/studio/samples/ecommerce.js +178 -0
- package/dist/studio/samples/events.d.ts +2 -0
- package/dist/studio/samples/events.js +192 -0
- package/dist/studio/samples/fleet.d.ts +2 -0
- package/dist/studio/samples/fleet.js +203 -0
- package/dist/studio/samples/gym.d.ts +2 -0
- package/dist/studio/samples/gym.js +205 -0
- package/dist/studio/samples/hr.d.ts +2 -0
- package/dist/studio/samples/hr.js +186 -0
- package/dist/studio/samples/index.d.ts +13 -0
- package/dist/studio/samples/index.js +44 -0
- package/dist/studio/samples/insurance.d.ts +2 -0
- package/dist/studio/samples/insurance.js +220 -0
- package/dist/studio/samples/inventory.d.ts +2 -0
- package/dist/studio/samples/inventory.js +204 -0
- package/dist/studio/samples/invoicing.d.ts +2 -0
- package/dist/studio/samples/invoicing.js +154 -0
- package/dist/studio/samples/library.d.ts +2 -0
- package/dist/studio/samples/library.js +171 -0
- package/dist/studio/samples/live-data.d.ts +5 -0
- package/dist/studio/samples/live-data.js +261 -0
- package/dist/studio/samples/projects.d.ts +2 -0
- package/dist/studio/samples/projects.js +203 -0
- package/dist/studio/samples/realestate.d.ts +2 -0
- package/dist/studio/samples/realestate.js +187 -0
- package/dist/studio/samples/restaurant.d.ts +2 -0
- package/dist/studio/samples/restaurant.js +180 -0
- package/dist/studio/samples/school.d.ts +2 -0
- package/dist/studio/samples/school.js +188 -0
- package/dist/studio/samples/shared.d.ts +142 -0
- package/dist/studio/samples/shared.js +164 -0
- package/dist/studio/samples/starter.d.ts +4 -0
- package/dist/studio/samples/starter.js +237 -0
- package/dist/studio/samples/subscriptions.d.ts +2 -0
- package/dist/studio/samples/subscriptions.js +175 -0
- package/dist/studio/samples/support.d.ts +2 -0
- package/dist/studio/samples/support.js +209 -0
- package/dist/studio/scaffold-app.d.ts +22 -0
- package/{src/studio/scaffold-app.ts → dist/studio/scaffold-app.js} +45 -63
- package/dist/studio/scaffold.d.ts +63 -0
- package/dist/studio/scaffold.js +346 -0
- package/dist/studio/screen-suites.d.ts +193 -0
- package/dist/studio/screen-suites.js +297 -0
- package/dist/studio/themes.d.ts +34 -0
- package/dist/studio/themes.js +41 -0
- package/dist/studio/ui-components.d.ts +89 -0
- package/dist/studio/ui-components.generated.d.ts +29 -0
- package/dist/studio/ui-components.generated.js +7139 -0
- package/dist/studio/ui-components.js +673 -0
- package/dist/studio/user-error.d.ts +23 -0
- package/{src/studio/user-error.ts → dist/studio/user-error.js} +10 -13
- package/dist/studio/verify.d.ts +34 -0
- package/dist/studio/verify.js +47 -0
- package/dist/sveltekit/in-memory.d.ts +14 -0
- package/dist/sveltekit/in-memory.js +113 -0
- package/dist/sveltekit/index.d.ts +6 -0
- package/dist/sveltekit/index.js +5 -0
- package/dist/sveltekit/query-plan.d.ts +44 -0
- package/dist/sveltekit/query-plan.js +76 -0
- package/dist/sveltekit/sql-source.d.ts +47 -0
- package/dist/sveltekit/sql-source.js +106 -0
- package/dist/sveltekit/sql.d.ts +48 -0
- package/dist/sveltekit/sql.js +73 -0
- package/dist/sveltekit/transport.d.ts +209 -0
- package/dist/sveltekit/transport.js +219 -0
- package/{src/sveltekit/types.ts → dist/sveltekit/types.d.ts} +8 -11
- package/dist/sveltekit/types.js +1 -0
- package/dist/upgrade-prompt.d.ts +16 -0
- package/dist/upgrade-prompt.js +141 -0
- package/dist/version.d.ts +13 -0
- package/{src/version.ts → dist/version.js} +1 -1
- package/dist/watermark.d.ts +2 -0
- package/dist/watermark.js +146 -0
- package/package.json +26 -24
- package/src/SvBoard.dom.test.ts +0 -67
- package/src/SvGridAlerts.dom.test.ts +0 -113
- package/src/SvGridEditPanel.dom.test.ts +0 -320
- package/src/SvRecordDetail.dom.test.ts +0 -137
- package/src/SvSchedule.dom.test.ts +0 -57
- package/src/ai-export-pdf.dom.test.ts +0 -77
- package/src/ai-export-xlsx.dom.test.ts +0 -90
- package/src/ai-export.dom.test.ts +0 -114
- package/src/alerts/alert-engine-attach.ts +0 -165
- package/src/alerts/alert-engine.test.ts +0 -135
- package/src/alerts/alert-engine.ts +0 -260
- package/src/alerts/alert-formats.test.ts +0 -87
- package/src/alerts/alert-formats.ts +0 -77
- package/src/alerts/alert-observer.test.ts +0 -189
- package/src/alerts/alert-observer.ts +0 -208
- package/src/alerts/alert-scheduler.ts +0 -96
- package/src/alerts/alert-storage.test.ts +0 -54
- package/src/alerts/alert-storage.ts +0 -116
- package/src/alerts/alert-store.svelte.ts +0 -80
- package/src/alerts/alert-types.ts +0 -94
- package/src/board.dom.test.ts +0 -941
- package/src/edit-panel.test.ts +0 -322
- package/src/edit-panel.ts +0 -379
- package/src/export-conditional.test.ts +0 -60
- package/src/export-conditional.ts +0 -94
- package/src/export-ooxml.test.ts +0 -152
- package/src/export-ooxml.ts +0 -489
- package/src/export-pdf.test.ts +0 -138
- package/src/export-pdf.ts +0 -245
- package/src/export-print.test.ts +0 -66
- package/src/export-print.ts +0 -132
- package/src/export-serialize.test.ts +0 -56
- package/src/export-xls.ts +0 -199
- package/src/export-xlsx-roundtrip.test.ts +0 -120
- package/src/export-xlsx.test.ts +0 -150
- package/src/export.test.ts +0 -349
- package/src/export.ts +0 -1464
- package/src/expressions/evaluate.test.ts +0 -111
- package/src/expressions/evaluate.ts +0 -237
- package/src/expressions/expression-columns.ts +0 -133
- package/src/expressions/expression-types.ts +0 -84
- package/src/expressions/parse.test.ts +0 -106
- package/src/expressions/parse.ts +0 -610
- package/src/import-automap.test.ts +0 -131
- package/src/import-hardening.test.ts +0 -158
- package/src/import.test.ts +0 -415
- package/src/import.ts +0 -1044
- package/src/index.ts +0 -569
- package/src/install.ts +0 -154
- package/src/license-core.test.ts +0 -23
- package/src/license-core.ts +0 -107
- package/src/license-expiry.test.ts +0 -127
- package/src/license.ts +0 -137
- package/src/master-detail.test.ts +0 -61
- package/src/master-detail.ts +0 -42
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/_metadata.json +0 -178
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-ZrPsKxob.js +0 -3875
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-ZrPsKxob.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-ACqvWGE2.js +0 -21
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-ACqvWGE2.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-D3w5jt92.js +0 -1938
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-D3w5jt92.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-CC2V3H0y.js +0 -205
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-CC2V3H0y.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-BXP37tAa.js +0 -18
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-BXP37tAa.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-DwubnU5b.js +0 -264
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-DwubnU5b.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-hD7f6PUz.js +0 -697
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-hD7f6PUz.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js +0 -134
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js +0 -55
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_attachments.js +0 -2
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js +0 -46843
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js +0 -237
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_events.js +0 -2
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js +0 -4
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_client.js +0 -7
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js +0 -4
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js +0 -5
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js +0 -5
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js +0 -5
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_server.js +0 -6
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js +0 -83
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js +0 -559
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js +0 -24
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js +0 -122
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_server.js +0 -2
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js +0 -89
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js +0 -241
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DBx1SCN6.js +0 -4938
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DBx1SCN6.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-gjfpSTFS.js +0 -495
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-gjfpSTFS.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-DKoOKg8S.js +0 -190
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-DKoOKg8S.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-C0MiR7eR.js +0 -8
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-C0MiR7eR.js.map +0 -1
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-B6Y7P0Q-.js +0 -138
- package/src/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-B6Y7P0Q-.js.map +0 -1
- package/src/pivot-chart.test.ts +0 -86
- package/src/pivot-chart.ts +0 -112
- package/src/pivot-designer.ts +0 -101
- package/src/pivot.test.ts +0 -335
- package/src/pivot.ts +0 -578
- package/src/print.ts +0 -107
- package/src/scheduler-assignments.test.ts +0 -97
- package/src/scheduler-assignments.ts +0 -134
- package/src/scheduler-axis.test.ts +0 -108
- package/src/scheduler-axis.ts +0 -238
- package/src/scheduler-booking.test.ts +0 -57
- package/src/scheduler-config.ts +0 -179
- package/src/scheduler-dependencies.test.ts +0 -155
- package/src/scheduler-dependencies.ts +0 -223
- package/src/scheduler-freebusy.test.ts +0 -41
- package/src/scheduler-heatmap.test.ts +0 -39
- package/src/scheduler-resource-tree.test.ts +0 -84
- package/src/scheduler-resource-tree.ts +0 -107
- package/src/scheduler-slots.test.ts +0 -53
- package/src/scheduler-slots.ts +0 -94
- package/src/scheduler-summary.test.ts +0 -47
- package/src/scheduler-summary.ts +0 -81
- package/src/scheduling.test.ts +0 -194
- package/src/scheduling.ts +0 -293
- package/src/schema-designer.test.ts +0 -121
- package/src/schema-designer.ts +0 -142
- package/src/schema.test.ts +0 -268
- package/src/schema.ts +0 -562
- package/src/smart-shim.ts +0 -107
- package/src/sources/aggregate.test.ts +0 -79
- package/src/sources/aggregate.ts +0 -102
- package/src/sources/auth-supabase.test.ts +0 -80
- package/src/sources/auth-supabase.ts +0 -87
- package/src/sources/dashboard.kpi.test.ts +0 -50
- package/src/sources/dashboard.test.ts +0 -61
- package/src/sources/dashboard.ts +0 -136
- package/src/sources/field-inference.test.ts +0 -60
- package/src/sources/field-inference.ts +0 -63
- package/src/sources/filters.test.ts +0 -58
- package/src/sources/filters.ts +0 -70
- package/src/sources/index.ts +0 -67
- package/src/sources/introspect-supabase.test.ts +0 -112
- package/src/sources/introspect-supabase.ts +0 -139
- package/src/sources/realtime-supabase.test.ts +0 -93
- package/src/sources/realtime-supabase.ts +0 -99
- package/src/sources/relation-lookup.test.ts +0 -99
- package/src/sources/relation-lookup.ts +0 -128
- package/src/sources/rest-adapters.test.ts +0 -95
- package/src/sources/rest-adapters.ts +0 -120
- package/src/sources/rest.test.ts +0 -104
- package/src/sources/rest.ts +0 -129
- package/src/sources/schema-from-columns.test.ts +0 -106
- package/src/sources/schema-from-columns.ts +0 -88
- package/src/sources/supabase.test.ts +0 -110
- package/src/sources/supabase.ts +0 -99
- package/src/sources/with-entity-rules.test.ts +0 -104
- package/src/sources/with-entity-rules.ts +0 -78
- package/src/sources/with-relation-labels.test.ts +0 -75
- package/src/sources/with-relation-labels.ts +0 -73
- package/src/staged-editing.ts +0 -0
- package/src/studio/bug-report.test.ts +0 -101
- package/src/studio/bug-report.ts +0 -165
- package/src/studio/cli.test.ts +0 -187
- package/src/studio/cli.ts +0 -117
- package/src/studio/copilot-core.test.ts +0 -45
- package/src/studio/csv.test.ts +0 -90
- package/src/studio/csv.ts +0 -165
- package/src/studio/db-connect-string.test.ts +0 -94
- package/src/studio/db-connect-string.ts +0 -128
- package/src/studio/deploy-cli.test.ts +0 -56
- package/src/studio/deploy-cli.ts +0 -100
- package/src/studio/emit-project.test.ts +0 -3324
- package/src/studio/emit-project.ts +0 -5377
- package/src/studio/emit-schema.test.ts +0 -111
- package/src/studio/emit-schema.ts +0 -1181
- package/src/studio/index.ts +0 -380
- package/src/studio/init-flow.test.ts +0 -514
- package/src/studio/init-flow.ts +0 -556
- package/src/studio/introspect-db.test.ts +0 -186
- package/src/studio/introspect-db.ts +0 -312
- package/src/studio/introspect-openapi.test.ts +0 -84
- package/src/studio/introspect-openapi.ts +0 -252
- package/src/studio/introspect-prisma.test.ts +0 -99
- package/src/studio/introspect-prisma.ts +0 -175
- package/src/studio/introspect.test.ts +0 -172
- package/src/studio/introspect.ts +0 -310
- package/src/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/_svelte_metadata.json +0 -1
- package/src/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/package.json +0 -3
- package/src/studio/pipeline.test.ts +0 -42
- package/src/studio/project-robust.test.ts +0 -157
- package/src/studio/project.test.ts +0 -929
- package/src/studio/project.ts +0 -2394
- package/src/studio/sample-data.test.ts +0 -58
- package/src/studio/sample-data.ts +0 -203
- package/src/studio/samples/ats.ts +0 -202
- package/src/studio/samples/clinic.ts +0 -179
- package/src/studio/samples/crm.ts +0 -291
- package/src/studio/samples/datasets.test.ts +0 -84
- package/src/studio/samples/datasets.ts +0 -340
- package/src/studio/samples/ecommerce.ts +0 -187
- package/src/studio/samples/events.ts +0 -201
- package/src/studio/samples/fleet.ts +0 -213
- package/src/studio/samples/gym.ts +0 -215
- package/src/studio/samples/hr.ts +0 -195
- package/src/studio/samples/index.ts +0 -55
- package/src/studio/samples/insurance.ts +0 -229
- package/src/studio/samples/inventory.ts +0 -213
- package/src/studio/samples/invoicing.ts +0 -162
- package/src/studio/samples/library.ts +0 -180
- package/src/studio/samples/live-data.test.ts +0 -99
- package/src/studio/samples/live-data.ts +0 -306
- package/src/studio/samples/projects.ts +0 -212
- package/src/studio/samples/realestate.ts +0 -196
- package/src/studio/samples/restaurant.ts +0 -189
- package/src/studio/samples/samples.test.ts +0 -304
- package/src/studio/samples/school.ts +0 -197
- package/src/studio/samples/seed-floor.test.ts +0 -25
- package/src/studio/samples/shared.ts +0 -237
- package/src/studio/samples/starter.ts +0 -251
- package/src/studio/samples/subscriptions.ts +0 -183
- package/src/studio/samples/support.ts +0 -216
- package/src/studio/scaffold-app.test.ts +0 -91
- package/src/studio/scaffold.test.ts +0 -192
- package/src/studio/scaffold.ts +0 -390
- package/src/studio/screen-suites.test.ts +0 -269
- package/src/studio/screen-suites.ts +0 -448
- package/src/studio/themes.ts +0 -62
- package/src/studio/ui-components-surface.test.ts +0 -185
- package/src/studio/ui-components.generated.ts +0 -7154
- package/src/studio/ui-components.ts +0 -742
- package/src/studio/verify.test.ts +0 -47
- package/src/studio/verify.ts +0 -79
- package/src/sveltekit/in-memory.test.ts +0 -104
- package/src/sveltekit/in-memory.ts +0 -129
- package/src/sveltekit/index.ts +0 -24
- package/src/sveltekit/query-plan.test.ts +0 -109
- package/src/sveltekit/query-plan.ts +0 -125
- package/src/sveltekit/sql-source.test.ts +0 -198
- package/src/sveltekit/sql-source.ts +0 -171
- package/src/sveltekit/sql.test.ts +0 -80
- package/src/sveltekit/sql.ts +0 -131
- package/src/sveltekit/transport-scope.test.ts +0 -125
- package/src/sveltekit/transport.test.ts +0 -201
- package/src/sveltekit/transport.ts +0 -373
- package/src/upgrade-prompt.test.ts +0 -71
- package/src/upgrade-prompt.ts +0 -162
- package/src/version.test.ts +0 -17
- package/src/watermark.test.ts +0 -97
- package/src/watermark.ts +0 -156
- /package/{src → dist}/SvAlertRuleEditor.svelte +0 -0
- /package/{src → dist}/SvAlertsManager.svelte +0 -0
- /package/{src → dist}/SvAlertsPanel.svelte +0 -0
- /package/{src → dist}/SvAuthGate.svelte +0 -0
- /package/{src → dist}/SvBoard.svelte +0 -0
- /package/{src → dist}/SvExportMenu.svelte +0 -0
- /package/{src → dist}/SvExpressionEditor.svelte +0 -0
- /package/{src → dist}/SvFileInput.svelte +0 -0
- /package/{src → dist}/SvGridAlerts.svelte +0 -0
- /package/{src → dist}/SvGridBoard.svelte +0 -0
- /package/{src → dist}/SvGridEditPanel.svelte +0 -0
- /package/{src → dist}/SvGridMasterDetail.svelte +0 -0
- /package/{src → dist}/SvGridScheduler.svelte +0 -0
- /package/{src → dist}/SvImportDialog.svelte +0 -0
- /package/{src → dist}/SvLookupInput.svelte +0 -0
- /package/{src → dist}/SvPivotDesigner.svelte +0 -0
- /package/{src → dist}/SvRecordDetail.svelte +0 -0
- /package/{src → dist}/SvSchedule.svelte +0 -0
- /package/{src → dist}/SvSchemaChart.svelte +0 -0
- /package/{src → dist}/SvSchemaDashboard.svelte +0 -0
- /package/{src → dist}/pdfmake-shims.d.ts +0 -0
- /package/{src → dist}/smart.export.d.ts +0 -0
- /package/{src → dist}/smart.export.js +0 -0
- /package/{src → dist}/studio/HANDLERS-DESIGN.md +0 -0
- /package/{src → dist/studio}/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/_svelte_metadata.json +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/_metadata.json +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/attachments-BOv1rBKp.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/constants-B9vgIdCd.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/dev-T1qbW_qD.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/events-Bo11SfVK.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/flags-X7D4vfrZ.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/hydration-oyUje5i1.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/legacy-client-DeSQgSFm.js.map +0 -0
- /package/{src → dist/studio}/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/package.json +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_animate.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_attachments.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_compiler.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_easing.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_events.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_client.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_disclose-version.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_async.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_internal_server.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_legacy.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_motion.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_reactivity_window.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_server.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_store.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/svelte_transition.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-BbWyXNk1.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/utils-DI_fC7vt.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/validate-Dyr3lQv9.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/version-_9FHH-LF.js.map +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js +0 -0
- /package/{src → dist}/studio/node_modules/.vite/vitest/be65d27ae088a0e03fd8e1331d90b01649464cb6/deps___vitest__/warnings-CUbSPnyP.js.map +0 -0
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { Dr as svelte_element_invalid_this_value, Er as store_invalid_shape, Tr as snippet_without_render_tag, dr as has_own_property, hn as dynamic_void_element_content } from "./utils-DBx1SCN6.js";
|
|
2
|
-
import { _ as is_void, b as escape_html } from "./utils-gjfpSTFS.js";
|
|
3
|
-
//#region ../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
4
|
-
function r(e) {
|
|
5
|
-
var t, f, n = "";
|
|
6
|
-
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
7
|
-
else if ("object" == typeof e) if (Array.isArray(e)) {
|
|
8
|
-
var o = e.length;
|
|
9
|
-
for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
|
|
10
|
-
} else for (f in e) e[f] && (n && (n += " "), n += f);
|
|
11
|
-
return n;
|
|
12
|
-
}
|
|
13
|
-
function clsx$1() {
|
|
14
|
-
for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
|
|
15
|
-
return n;
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region ../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/internal/shared/attributes.js
|
|
19
|
-
/**
|
|
20
|
-
* `<div translate={false}>` should be rendered as `<div translate="no">` and _not_
|
|
21
|
-
* `<div translate="false">`, which is equivalent to `<div translate="yes">`. There
|
|
22
|
-
* may be other odd cases that need to be added to this list in future
|
|
23
|
-
* @type {Record<string, Map<any, string>>}
|
|
24
|
-
*/
|
|
25
|
-
var replacements = { translate: /* @__PURE__ */ new Map([[true, "yes"], [false, "no"]]) };
|
|
26
|
-
/**
|
|
27
|
-
* @template V
|
|
28
|
-
* @param {string} name
|
|
29
|
-
* @param {V} value
|
|
30
|
-
* @param {boolean} [is_boolean]
|
|
31
|
-
* @returns {string}
|
|
32
|
-
*/
|
|
33
|
-
function attr(name, value, is_boolean = false) {
|
|
34
|
-
if (name === "hidden" && value !== "until-found") is_boolean = true;
|
|
35
|
-
if (value == null || !value && is_boolean) return "";
|
|
36
|
-
const normalized = has_own_property.call(replacements, name) && replacements[name].get(value) || value;
|
|
37
|
-
return ` ${name}${is_boolean ? `=""` : `="${escape_html(normalized, true)}"`}`;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.
|
|
41
|
-
* TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)
|
|
42
|
-
* @param {any} value
|
|
43
|
-
*/
|
|
44
|
-
function clsx(value) {
|
|
45
|
-
if (typeof value === "object") return clsx$1(value);
|
|
46
|
-
else return value ?? "";
|
|
47
|
-
}
|
|
48
|
-
var whitespace = [..." \n\r\f\xA0\v"];
|
|
49
|
-
/**
|
|
50
|
-
* @param {any} value
|
|
51
|
-
* @param {string | null} [hash]
|
|
52
|
-
* @param {Record<string, boolean>} [directives]
|
|
53
|
-
* @returns {string | null}
|
|
54
|
-
*/
|
|
55
|
-
function to_class(value, hash, directives) {
|
|
56
|
-
var classname = value == null ? "" : "" + value;
|
|
57
|
-
if (hash) classname = classname ? classname + " " + hash : hash;
|
|
58
|
-
if (directives) {
|
|
59
|
-
for (var key of Object.keys(directives)) if (directives[key]) classname = classname ? classname + " " + key : key;
|
|
60
|
-
else if (classname.length) {
|
|
61
|
-
var len = key.length;
|
|
62
|
-
var a = 0;
|
|
63
|
-
while ((a = classname.indexOf(key, a)) >= 0) {
|
|
64
|
-
var b = a + len;
|
|
65
|
-
if ((a === 0 || whitespace.includes(classname[a - 1])) && (b === classname.length || whitespace.includes(classname[b]))) classname = (a === 0 ? "" : classname.substring(0, a)) + classname.substring(b + 1);
|
|
66
|
-
else a = b;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return classname === "" ? null : classname;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
*
|
|
74
|
-
* @param {Record<string,any>} styles
|
|
75
|
-
* @param {boolean} important
|
|
76
|
-
*/
|
|
77
|
-
function append_styles(styles, important = false) {
|
|
78
|
-
var separator = important ? " !important;" : ";";
|
|
79
|
-
var css = "";
|
|
80
|
-
for (var key of Object.keys(styles)) {
|
|
81
|
-
var value = styles[key];
|
|
82
|
-
if (value != null && value !== "") css += " " + key + ": " + value + separator;
|
|
83
|
-
}
|
|
84
|
-
return css;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* @param {string} name
|
|
88
|
-
* @returns {string}
|
|
89
|
-
*/
|
|
90
|
-
function to_css_name(name) {
|
|
91
|
-
if (name[0] !== "-" || name[1] !== "-") return name.toLowerCase();
|
|
92
|
-
return name;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* @param {any} value
|
|
96
|
-
* @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [styles]
|
|
97
|
-
* @returns {string | null}
|
|
98
|
-
*/
|
|
99
|
-
function to_style(value, styles) {
|
|
100
|
-
if (styles) {
|
|
101
|
-
var new_style = "";
|
|
102
|
-
/** @type {Record<string,any> | undefined} */
|
|
103
|
-
var normal_styles;
|
|
104
|
-
/** @type {Record<string,any> | undefined} */
|
|
105
|
-
var important_styles;
|
|
106
|
-
if (Array.isArray(styles)) {
|
|
107
|
-
normal_styles = styles[0];
|
|
108
|
-
important_styles = styles[1];
|
|
109
|
-
} else normal_styles = styles;
|
|
110
|
-
if (value) {
|
|
111
|
-
value = String(value).replaceAll(/\s*\/\*.*?\*\/\s*/g, "").trim();
|
|
112
|
-
/** @type {boolean | '"' | "'"} */
|
|
113
|
-
var in_str = false;
|
|
114
|
-
var in_apo = 0;
|
|
115
|
-
var in_comment = false;
|
|
116
|
-
var reserved_names = [];
|
|
117
|
-
if (normal_styles) reserved_names.push(...Object.keys(normal_styles).map(to_css_name));
|
|
118
|
-
if (important_styles) reserved_names.push(...Object.keys(important_styles).map(to_css_name));
|
|
119
|
-
var start_index = 0;
|
|
120
|
-
var name_index = -1;
|
|
121
|
-
const len = value.length;
|
|
122
|
-
for (var i = 0; i < len; i++) {
|
|
123
|
-
var c = value[i];
|
|
124
|
-
if (in_comment) {
|
|
125
|
-
if (c === "/" && value[i - 1] === "*") in_comment = false;
|
|
126
|
-
} else if (in_str) {
|
|
127
|
-
if (in_str === c) in_str = false;
|
|
128
|
-
} else if (c === "/" && value[i + 1] === "*") in_comment = true;
|
|
129
|
-
else if (c === "\"" || c === "'") in_str = c;
|
|
130
|
-
else if (c === "(") in_apo++;
|
|
131
|
-
else if (c === ")") in_apo--;
|
|
132
|
-
if (!in_comment && in_str === false && in_apo === 0) {
|
|
133
|
-
if (c === ":" && name_index === -1) name_index = i;
|
|
134
|
-
else if (c === ";" || i === len - 1) {
|
|
135
|
-
if (name_index !== -1) {
|
|
136
|
-
var name = to_css_name(value.substring(start_index, name_index).trim());
|
|
137
|
-
if (!reserved_names.includes(name)) {
|
|
138
|
-
if (c !== ";") i++;
|
|
139
|
-
var property = value.substring(start_index, i).trim();
|
|
140
|
-
new_style += " " + property + ";";
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
start_index = i + 1;
|
|
144
|
-
name_index = -1;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
if (normal_styles) new_style += append_styles(normal_styles);
|
|
150
|
-
if (important_styles) new_style += append_styles(important_styles, true);
|
|
151
|
-
new_style = new_style.trim();
|
|
152
|
-
return new_style === "" ? null : new_style;
|
|
153
|
-
}
|
|
154
|
-
return value == null ? null : String(value);
|
|
155
|
-
}
|
|
156
|
-
//#endregion
|
|
157
|
-
//#region ../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/internal/shared/validate.js
|
|
158
|
-
/**
|
|
159
|
-
* @param {() => string} tag_fn
|
|
160
|
-
* @returns {void}
|
|
161
|
-
*/
|
|
162
|
-
function validate_void_dynamic_element(tag_fn) {
|
|
163
|
-
const tag = tag_fn();
|
|
164
|
-
if (tag && is_void(tag)) dynamic_void_element_content(tag);
|
|
165
|
-
}
|
|
166
|
-
/** @param {() => unknown} tag_fn */
|
|
167
|
-
function validate_dynamic_element_tag(tag_fn) {
|
|
168
|
-
const tag = tag_fn();
|
|
169
|
-
if (tag && !(typeof tag === "string")) svelte_element_invalid_this_value();
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* @param {any} store
|
|
173
|
-
* @param {string} name
|
|
174
|
-
*/
|
|
175
|
-
function validate_store(store, name) {
|
|
176
|
-
if (store != null && typeof store.subscribe !== "function") store_invalid_shape(name);
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* @template {(...args: any[]) => unknown} T
|
|
180
|
-
* @param {T} fn
|
|
181
|
-
*/
|
|
182
|
-
function prevent_snippet_stringification(fn) {
|
|
183
|
-
fn.toString = () => {
|
|
184
|
-
snippet_without_render_tag();
|
|
185
|
-
return "";
|
|
186
|
-
};
|
|
187
|
-
return fn;
|
|
188
|
-
}
|
|
189
|
-
//#endregion
|
|
190
|
-
export { attr as a, to_style as c, validate_void_dynamic_element as i, validate_dynamic_element_tag as n, clsx as o, validate_store as r, to_class as s, prevent_snippet_stringification as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-DKoOKg8S.js","names":["clsx","_clsx"],"sources":["../../../../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../../../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/internal/shared/attributes.js","../../../../../../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/internal/shared/validate.js"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { escape_html } from '../../escaping.js';\nimport { clsx as _clsx } from 'clsx';\nimport { has_own_property } from './utils.js';\n\n/**\n * `<div translate={false}>` should be rendered as `<div translate=\"no\">` and _not_\n * `<div translate=\"false\">`, which is equivalent to `<div translate=\"yes\">`. There\n * may be other odd cases that need to be added to this list in future\n * @type {Record<string, Map<any, string>>}\n */\nconst replacements = {\n\ttranslate: new Map([\n\t\t[true, 'yes'],\n\t\t[false, 'no']\n\t])\n};\n\n/**\n * @template V\n * @param {string} name\n * @param {V} value\n * @param {boolean} [is_boolean]\n * @returns {string}\n */\nexport function attr(name, value, is_boolean = false) {\n\t// attribute hidden for values other than \"until-found\" behaves like a boolean attribute\n\tif (name === 'hidden' && value !== 'until-found') {\n\t\tis_boolean = true;\n\t}\n\tif (value == null || (!value && is_boolean)) return '';\n\tconst normalized =\n\t\t(has_own_property.call(replacements, name) && replacements[name].get(value)) || value;\n\tconst assignment = is_boolean ? `=\"\"` : `=\"${escape_html(normalized, true)}\"`;\n\treturn ` ${name}${assignment}`;\n}\n\n/**\n * Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.\n * TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)\n * @param {any} value\n */\nexport function clsx(value) {\n\tif (typeof value === 'object') {\n\t\treturn _clsx(value);\n\t} else {\n\t\treturn value ?? '';\n\t}\n}\n\nconst whitespace = [...' \\t\\n\\r\\f\\u00a0\\u000b\\ufeff'];\n\n/**\n * @param {any} value\n * @param {string | null} [hash]\n * @param {Record<string, boolean>} [directives]\n * @returns {string | null}\n */\nexport function to_class(value, hash, directives) {\n\tvar classname = value == null ? '' : '' + value;\n\n\tif (hash) {\n\t\tclassname = classname ? classname + ' ' + hash : hash;\n\t}\n\n\tif (directives) {\n\t\tfor (var key of Object.keys(directives)) {\n\t\t\tif (directives[key]) {\n\t\t\t\tclassname = classname ? classname + ' ' + key : key;\n\t\t\t} else if (classname.length) {\n\t\t\t\tvar len = key.length;\n\t\t\t\tvar a = 0;\n\n\t\t\t\twhile ((a = classname.indexOf(key, a)) >= 0) {\n\t\t\t\t\tvar b = a + len;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(a === 0 || whitespace.includes(classname[a - 1])) &&\n\t\t\t\t\t\t(b === classname.length || whitespace.includes(classname[b]))\n\t\t\t\t\t) {\n\t\t\t\t\t\tclassname = (a === 0 ? '' : classname.substring(0, a)) + classname.substring(b + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ta = b;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn classname === '' ? null : classname;\n}\n\n/**\n *\n * @param {Record<string,any>} styles\n * @param {boolean} important\n */\nfunction append_styles(styles, important = false) {\n\tvar separator = important ? ' !important;' : ';';\n\tvar css = '';\n\n\tfor (var key of Object.keys(styles)) {\n\t\tvar value = styles[key];\n\t\tif (value != null && value !== '') {\n\t\t\tcss += ' ' + key + ': ' + value + separator;\n\t\t}\n\t}\n\n\treturn css;\n}\n\n/**\n * @param {string} name\n * @returns {string}\n */\nfunction to_css_name(name) {\n\tif (name[0] !== '-' || name[1] !== '-') {\n\t\treturn name.toLowerCase();\n\t}\n\treturn name;\n}\n\n/**\n * @param {any} value\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [styles]\n * @returns {string | null}\n */\nexport function to_style(value, styles) {\n\tif (styles) {\n\t\tvar new_style = '';\n\n\t\t/** @type {Record<string,any> | undefined} */\n\t\tvar normal_styles;\n\n\t\t/** @type {Record<string,any> | undefined} */\n\t\tvar important_styles;\n\n\t\tif (Array.isArray(styles)) {\n\t\t\tnormal_styles = styles[0];\n\t\t\timportant_styles = styles[1];\n\t\t} else {\n\t\t\tnormal_styles = styles;\n\t\t}\n\n\t\tif (value) {\n\t\t\tvalue = String(value)\n\t\t\t\t.replaceAll(/\\s*\\/\\*.*?\\*\\/\\s*/g, '')\n\t\t\t\t.trim();\n\n\t\t\t/** @type {boolean | '\"' | \"'\"} */\n\t\t\tvar in_str = false;\n\t\t\tvar in_apo = 0;\n\t\t\tvar in_comment = false;\n\n\t\t\tvar reserved_names = [];\n\n\t\t\tif (normal_styles) {\n\t\t\t\treserved_names.push(...Object.keys(normal_styles).map(to_css_name));\n\t\t\t}\n\t\t\tif (important_styles) {\n\t\t\t\treserved_names.push(...Object.keys(important_styles).map(to_css_name));\n\t\t\t}\n\n\t\t\tvar start_index = 0;\n\t\t\tvar name_index = -1;\n\n\t\t\tconst len = value.length;\n\t\t\tfor (var i = 0; i < len; i++) {\n\t\t\t\tvar c = value[i];\n\n\t\t\t\tif (in_comment) {\n\t\t\t\t\tif (c === '/' && value[i - 1] === '*') {\n\t\t\t\t\t\tin_comment = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (in_str) {\n\t\t\t\t\tif (in_str === c) {\n\t\t\t\t\t\tin_str = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (c === '/' && value[i + 1] === '*') {\n\t\t\t\t\tin_comment = true;\n\t\t\t\t} else if (c === '\"' || c === \"'\") {\n\t\t\t\t\tin_str = c;\n\t\t\t\t} else if (c === '(') {\n\t\t\t\t\tin_apo++;\n\t\t\t\t} else if (c === ')') {\n\t\t\t\t\tin_apo--;\n\t\t\t\t}\n\n\t\t\t\tif (!in_comment && in_str === false && in_apo === 0) {\n\t\t\t\t\tif (c === ':' && name_index === -1) {\n\t\t\t\t\t\tname_index = i;\n\t\t\t\t\t} else if (c === ';' || i === len - 1) {\n\t\t\t\t\t\tif (name_index !== -1) {\n\t\t\t\t\t\t\tvar name = to_css_name(value.substring(start_index, name_index).trim());\n\n\t\t\t\t\t\t\tif (!reserved_names.includes(name)) {\n\t\t\t\t\t\t\t\tif (c !== ';') {\n\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tvar property = value.substring(start_index, i).trim();\n\t\t\t\t\t\t\t\tnew_style += ' ' + property + ';';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart_index = i + 1;\n\t\t\t\t\t\tname_index = -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (normal_styles) {\n\t\t\tnew_style += append_styles(normal_styles);\n\t\t}\n\n\t\tif (important_styles) {\n\t\t\tnew_style += append_styles(important_styles, true);\n\t\t}\n\n\t\tnew_style = new_style.trim();\n\t\treturn new_style === '' ? null : new_style;\n\t}\n\n\treturn value == null ? null : String(value);\n}\n","import { is_void } from '../../utils.js';\nimport * as w from './warnings.js';\nimport * as e from './errors.js';\n\nexport { invalid_default_snippet } from './errors.js';\n\n/**\n * @param {() => string} tag_fn\n * @returns {void}\n */\nexport function validate_void_dynamic_element(tag_fn) {\n\tconst tag = tag_fn();\n\tif (tag && is_void(tag)) {\n\t\tw.dynamic_void_element_content(tag);\n\t}\n}\n\n/** @param {() => unknown} tag_fn */\nexport function validate_dynamic_element_tag(tag_fn) {\n\tconst tag = tag_fn();\n\tconst is_string = typeof tag === 'string';\n\tif (tag && !is_string) {\n\t\te.svelte_element_invalid_this_value();\n\t}\n}\n\n/**\n * @param {any} store\n * @param {string} name\n */\nexport function validate_store(store, name) {\n\tif (store != null && typeof store.subscribe !== 'function') {\n\t\te.store_invalid_shape(name);\n\t}\n}\n\n/**\n * @template {(...args: any[]) => unknown} T\n * @param {T} fn\n */\nexport function prevent_snippet_stringification(fn) {\n\tfn.toString = () => {\n\t\te.snippet_without_render_tag();\n\t\treturn '';\n\t};\n\treturn fn;\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":";;;AAAA,SAAS,EAAE,GAAE;CAAC,IAAI,GAAE,GAAE,IAAE;CAAG,IAAG,YAAU,OAAO,KAAG,YAAU,OAAO,GAAE,KAAG;MAAO,IAAG,YAAU,OAAO,GAAE,IAAG,MAAM,QAAQ,CAAC,GAAE;EAAC,IAAI,IAAE,EAAE;EAAO,KAAI,IAAE,GAAE,IAAE,GAAE,KAAI,EAAE,OAAK,IAAE,EAAE,EAAE,EAAE,OAAK,MAAI,KAAG,MAAK,KAAG;CAAE,OAAM,KAAI,KAAK,GAAE,EAAE,OAAK,MAAI,KAAG,MAAK,KAAG;CAAG,OAAO;AAAC;AAAC,SAAgBA,SAAM;CAAC,KAAI,IAAI,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,KAAI,CAAC,IAAE,UAAU,QAAM,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;CAAG,OAAO;AAAC;;;;;;;;;ACU/W,IAAM,eAAe,EACpB,2BAAW,IAAI,IAAI,CAClB,CAAC,MAAM,KAAK,GACZ,CAAC,OAAO,IAAI,CACb,CAAC,EACF;;;;;;;;AASA,SAAgB,KAAK,MAAM,OAAO,aAAa,OAAO;CAErD,IAAI,SAAS,YAAY,UAAU,eAClC,aAAa;CAEd,IAAI,SAAS,QAAS,CAAC,SAAS,YAAa,OAAO;CACpD,MAAM,aACJ,iBAAiB,KAAK,cAAc,IAAI,KAAK,aAAa,KAAK,CAAC,IAAI,KAAK,KAAM;CAEjF,OAAO,IAAI,OADQ,aAAa,QAAQ,KAAK,YAAY,YAAY,IAAI,EAAE;AAE5E;;;;;;AAOA,SAAgB,KAAK,OAAO;CAC3B,IAAI,OAAO,UAAU,UACpB,OAAOC,OAAM,KAAK;MAElB,OAAO,SAAS;AAElB;AAEA,IAAM,aAAa,CAAC,GAAG,iBAA6B;;;;;;;AAQpD,SAAgB,SAAS,OAAO,MAAM,YAAY;CACjD,IAAI,YAAY,SAAS,OAAO,KAAK,KAAK;CAE1C,IAAI,MACH,YAAY,YAAY,YAAY,MAAM,OAAO;CAGlD,IAAI,YACE;OAAA,IAAI,OAAO,OAAO,KAAK,UAAU,GACrC,IAAI,WAAW,MACd,YAAY,YAAY,YAAY,MAAM,MAAM;OAC1C,IAAI,UAAU,QAAQ;GAC5B,IAAI,MAAM,IAAI;GACd,IAAI,IAAI;GAER,QAAQ,IAAI,UAAU,QAAQ,KAAK,CAAC,MAAM,GAAG;IAC5C,IAAI,IAAI,IAAI;IAEZ,KACE,MAAM,KAAK,WAAW,SAAS,UAAU,IAAI,EAAE,OAC/C,MAAM,UAAU,UAAU,WAAW,SAAS,UAAU,EAAE,IAE3D,aAAa,MAAM,IAAI,KAAK,UAAU,UAAU,GAAG,CAAC,KAAK,UAAU,UAAU,IAAI,CAAC;SAElF,IAAI;GAEN;EACD;;CAIF,OAAO,cAAc,KAAK,OAAO;AAClC;;;;;;AAOA,SAAS,cAAc,QAAQ,YAAY,OAAO;CACjD,IAAI,YAAY,YAAY,iBAAiB;CAC7C,IAAI,MAAM;CAEV,KAAK,IAAI,OAAO,OAAO,KAAK,MAAM,GAAG;EACpC,IAAI,QAAQ,OAAO;EACnB,IAAI,SAAS,QAAQ,UAAU,IAC9B,OAAO,MAAM,MAAM,OAAO,QAAQ;CAEpC;CAEA,OAAO;AACR;;;;;AAMA,SAAS,YAAY,MAAM;CAC1B,IAAI,KAAK,OAAO,OAAO,KAAK,OAAO,KAClC,OAAO,KAAK,YAAY;CAEzB,OAAO;AACR;;;;;;AAOA,SAAgB,SAAS,OAAO,QAAQ;CACvC,IAAI,QAAQ;EACX,IAAI,YAAY;;EAGhB,IAAI;;EAGJ,IAAI;EAEJ,IAAI,MAAM,QAAQ,MAAM,GAAG;GAC1B,gBAAgB,OAAO;GACvB,mBAAmB,OAAO;EAC3B,OACC,gBAAgB;EAGjB,IAAI,OAAO;GACV,QAAQ,OAAO,KAAK,CAAC,CACnB,WAAW,sBAAsB,EAAE,CAAC,CACpC,KAAK;;GAGP,IAAI,SAAS;GACb,IAAI,SAAS;GACb,IAAI,aAAa;GAEjB,IAAI,iBAAiB,CAAC;GAEtB,IAAI,eACH,eAAe,KAAK,GAAG,OAAO,KAAK,aAAa,CAAC,CAAC,IAAI,WAAW,CAAC;GAEnE,IAAI,kBACH,eAAe,KAAK,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;GAGtE,IAAI,cAAc;GAClB,IAAI,aAAa;GAEjB,MAAM,MAAM,MAAM;GAClB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK;IAC7B,IAAI,IAAI,MAAM;IAEd,IAAI,YACC;SAAA,MAAM,OAAO,MAAM,IAAI,OAAO,KACjC,aAAa;IAAA,OAER,IAAI,QACN;SAAA,WAAW,GACd,SAAS;IAAA,OAEJ,IAAI,MAAM,OAAO,MAAM,IAAI,OAAO,KACxC,aAAa;SACP,IAAI,MAAM,QAAO,MAAM,KAC7B,SAAS;SACH,IAAI,MAAM,KAChB;SACM,IAAI,MAAM,KAChB;IAGD,IAAI,CAAC,cAAc,WAAW,SAAS,WAAW,GAAG;KACpD,IAAI,MAAM,OAAO,eAAe,IAC/B,aAAa;UACP,IAAI,MAAM,OAAO,MAAM,MAAM,GAAG;MACtC,IAAI,eAAe,IAAI;OACtB,IAAI,OAAO,YAAY,MAAM,UAAU,aAAa,UAAU,CAAC,CAAC,KAAK,CAAC;OAEtE,IAAI,CAAC,eAAe,SAAS,IAAI,GAAG;QACnC,IAAI,MAAM,KACT;QAGD,IAAI,WAAW,MAAM,UAAU,aAAa,CAAC,CAAC,CAAC,KAAK;QACpD,aAAa,MAAM,WAAW;OAC/B;MACD;MAEA,cAAc,IAAI;MAClB,aAAa;KACd;IACD;GACD;EACD;EAEA,IAAI,eACH,aAAa,cAAc,aAAa;EAGzC,IAAI,kBACH,aAAa,cAAc,kBAAkB,IAAI;EAGlD,YAAY,UAAU,KAAK;EAC3B,OAAO,cAAc,KAAK,OAAO;CAClC;CAEA,OAAO,SAAS,OAAO,OAAO,OAAO,KAAK;AAC3C;;;;;;;ACtNA,SAAgB,8BAA8B,QAAQ;CACrD,MAAM,MAAM,OAAO;CACnB,IAAI,OAAO,QAAQ,GAAG,GACrB,6BAA+B,GAAG;AAEpC;;AAGA,SAAgB,6BAA6B,QAAQ;CACpD,MAAM,MAAM,OAAO;CAEnB,IAAI,OAAO,EADO,OAAO,QAAQ,WAEhC,kCAAoC;AAEtC;;;;;AAMA,SAAgB,eAAe,OAAO,MAAM;CAC3C,IAAI,SAAS,QAAQ,OAAO,MAAM,cAAc,YAC/C,oBAAsB,IAAI;AAE5B;;;;;AAMA,SAAgB,gCAAgC,IAAI;CACnD,GAAG,iBAAiB;EACnB,2BAA6B;EAC7B,OAAO;CACR;CACA,OAAO;AACR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version-C0MiR7eR.js","names":[],"sources":["../../../../../../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/version.js"],"sourcesContent":["// generated during release, do not modify\n\n/**\n * The current version, as set in package.json.\n * @type {string}\n */\nexport const VERSION = '5.55.9';\nexport const PUBLIC_VERSION = '5';\n"],"x_google_ignoreList":[0],"mappings":";;;;;AAMA,IAAa,UAAU"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
//#region ../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/internal/client/warnings.js
|
|
2
|
-
var bold = "font-weight: bold";
|
|
3
|
-
var normal = "font-weight: normal";
|
|
4
|
-
/**
|
|
5
|
-
* Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.
|
|
6
|
-
* @param {string} property
|
|
7
|
-
* @param {string} location
|
|
8
|
-
*/
|
|
9
|
-
function assignment_value_stale(property, location) {
|
|
10
|
-
console.warn(`%c[svelte] assignment_value_stale\n%cAssignment to \`${property}\` property (${location}) will evaluate to the right-hand side, not the value of \`${property}\` following the assignment. This may result in unexpected behaviour.\nhttps://svelte.dev/e/assignment_value_stale`, bold, normal);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Detected reactivity loss when reading `%name%`. This happens when state is read in an async function after an earlier `await`
|
|
14
|
-
* @param {string} name
|
|
15
|
-
*/
|
|
16
|
-
function await_reactivity_loss(name) {
|
|
17
|
-
console.warn(`%c[svelte] await_reactivity_loss\n%cDetected reactivity loss when reading \`${name}\`. This happens when state is read in an async function after an earlier \`await\`\nhttps://svelte.dev/e/await_reactivity_loss`, bold, normal);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* An async derived, `%name%` (%location%) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app
|
|
21
|
-
* @param {string} name
|
|
22
|
-
* @param {string} location
|
|
23
|
-
*/
|
|
24
|
-
function await_waterfall(name, location) {
|
|
25
|
-
console.warn(`%c[svelte] await_waterfall\n%cAn async derived, \`${name}\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\nhttps://svelte.dev/e/await_waterfall`, bold, normal);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* `%binding%` (%location%) is binding to a non-reactive property
|
|
29
|
-
* @param {string} binding
|
|
30
|
-
* @param {string | undefined | null} [location]
|
|
31
|
-
*/
|
|
32
|
-
function binding_property_non_reactive(binding, location) {
|
|
33
|
-
console.warn(`%c[svelte] binding_property_non_reactive\n%c${location ? `\`${binding}\` (${location}) is binding to a non-reactive property` : `\`${binding}\` is binding to a non-reactive property`}\nhttps://svelte.dev/e/binding_property_non_reactive`, bold, normal);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead
|
|
37
|
-
* @param {string} method
|
|
38
|
-
*/
|
|
39
|
-
function console_log_state(method) {
|
|
40
|
-
console.warn(`%c[svelte] console_log_state\n%cYour \`console.${method}\` contained \`$state\` proxies. Consider using \`$inspect(...)\` or \`$state.snapshot(...)\` instead\nhttps://svelte.dev/e/console_log_state`, bold, normal);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Reading a derived belonging to a now-destroyed effect may result in stale values
|
|
44
|
-
*/
|
|
45
|
-
function derived_inert() {
|
|
46
|
-
console.warn(`%c[svelte] derived_inert\n%cReading a derived belonging to a now-destroyed effect may result in stale values\nhttps://svelte.dev/e/derived_inert`, bold, normal);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* %handler% should be a function. Did you mean to %suggestion%?
|
|
50
|
-
* @param {string} handler
|
|
51
|
-
* @param {string} suggestion
|
|
52
|
-
*/
|
|
53
|
-
function event_handler_invalid(handler, suggestion) {
|
|
54
|
-
console.warn(`%c[svelte] event_handler_invalid\n%c${handler} should be a function. Did you mean to ${suggestion}?\nhttps://svelte.dev/e/event_handler_invalid`, bold, normal);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value
|
|
58
|
-
* @param {string} attribute
|
|
59
|
-
* @param {string} html
|
|
60
|
-
* @param {string} value
|
|
61
|
-
*/
|
|
62
|
-
function hydration_attribute_changed(attribute, html, value) {
|
|
63
|
-
console.warn(`%c[svelte] hydration_attribute_changed\n%cThe \`${attribute}\` attribute on \`${html}\` changed its value between server and client renders. The client value, \`${value}\`, will be ignored in favour of the server value\nhttps://svelte.dev/e/hydration_attribute_changed`, bold, normal);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value
|
|
67
|
-
* @param {string | undefined | null} [location]
|
|
68
|
-
*/
|
|
69
|
-
function hydration_html_changed(location) {
|
|
70
|
-
console.warn(`%c[svelte] hydration_html_changed\n%c${location ? `The value of an \`{@html ...}\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value` : "The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value"}\nhttps://svelte.dev/e/hydration_html_changed`, bold, normal);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%
|
|
74
|
-
* @param {string | undefined | null} [location]
|
|
75
|
-
*/
|
|
76
|
-
function hydration_mismatch(location) {
|
|
77
|
-
console.warn(`%c[svelte] hydration_mismatch\n%c${location ? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}` : "Hydration failed because the initial UI does not match what was rendered on the server"}\nhttps://svelte.dev/e/hydration_mismatch`, bold, normal);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Tried to unmount a component that was not mounted
|
|
81
|
-
*/
|
|
82
|
-
function lifecycle_double_unmount() {
|
|
83
|
-
console.warn(`%c[svelte] lifecycle_double_unmount\n%cTried to unmount a component that was not mounted\nhttps://svelte.dev/e/lifecycle_double_unmount`, bold, normal);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* %parent% passed property `%prop%` to %child% with `bind:`, but its parent component %owner% did not declare `%prop%` as a binding. Consider creating a binding between %owner% and %parent% (e.g. `bind:%prop%={...}` instead of `%prop%={...}`)
|
|
87
|
-
* @param {string} parent
|
|
88
|
-
* @param {string} prop
|
|
89
|
-
* @param {string} child
|
|
90
|
-
* @param {string} owner
|
|
91
|
-
*/
|
|
92
|
-
function ownership_invalid_binding(parent, prop, child, owner) {
|
|
93
|
-
console.warn(`%c[svelte] ownership_invalid_binding\n%c${parent} passed property \`${prop}\` to ${child} with \`bind:\`, but its parent component ${owner} did not declare \`${prop}\` as a binding. Consider creating a binding between ${owner} and ${parent} (e.g. \`bind:${prop}={...}\` instead of \`${prop}={...}\`)\nhttps://svelte.dev/e/ownership_invalid_binding`, bold, normal);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead
|
|
97
|
-
* @param {string} name
|
|
98
|
-
* @param {string} location
|
|
99
|
-
* @param {string} prop
|
|
100
|
-
* @param {string} parent
|
|
101
|
-
*/
|
|
102
|
-
function ownership_invalid_mutation(name, location, prop, parent) {
|
|
103
|
-
console.warn(`%c[svelte] ownership_invalid_mutation\n%cMutating unbound props (\`${name}\`, at ${location}) is strongly discouraged. Consider using \`bind:${prop}={...}\` in ${parent} (or using a callback) instead\nhttps://svelte.dev/e/ownership_invalid_mutation`, bold, normal);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* The `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.
|
|
107
|
-
*/
|
|
108
|
-
function select_multiple_invalid_value() {
|
|
109
|
-
console.warn(`%c[svelte] select_multiple_invalid_value\n%cThe \`value\` property of a \`<select multiple>\` element should be an array, but it received a non-array value. The selection will be kept as is.\nhttps://svelte.dev/e/select_multiple_invalid_value`, bold, normal);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results
|
|
113
|
-
* @param {string} operator
|
|
114
|
-
*/
|
|
115
|
-
function state_proxy_equality_mismatch(operator) {
|
|
116
|
-
console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${operator}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Tried to unmount a state proxy, rather than a component
|
|
120
|
-
*/
|
|
121
|
-
function state_proxy_unmount() {
|
|
122
|
-
console.warn(`%c[svelte] state_proxy_unmount\n%cTried to unmount a state proxy, rather than a component\nhttps://svelte.dev/e/state_proxy_unmount`, bold, normal);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* A `<svelte:boundary>` `reset` function only resets the boundary the first time it is called
|
|
126
|
-
*/
|
|
127
|
-
function svelte_boundary_reset_noop() {
|
|
128
|
-
console.warn(`%c[svelte] svelte_boundary_reset_noop\n%cA \`<svelte:boundary>\` \`reset\` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* The `slide` transition does not work correctly for elements with `display: %value%`
|
|
132
|
-
* @param {string} value
|
|
133
|
-
*/
|
|
134
|
-
function transition_slide_display(value) {
|
|
135
|
-
console.warn(`%c[svelte] transition_slide_display\n%cThe \`slide\` transition does not work correctly for elements with \`display: ${value}\`\nhttps://svelte.dev/e/transition_slide_display`, bold, normal);
|
|
136
|
-
}
|
|
137
|
-
//#endregion
|
|
138
|
-
export { svelte_boundary_reset_noop as _, console_log_state as a, hydration_attribute_changed as c, lifecycle_double_unmount as d, ownership_invalid_binding as f, state_proxy_unmount as g, state_proxy_equality_mismatch as h, binding_property_non_reactive as i, hydration_html_changed as l, select_multiple_invalid_value as m, await_reactivity_loss as n, derived_inert as o, ownership_invalid_mutation as p, await_waterfall as r, event_handler_invalid as s, assignment_value_stale as t, hydration_mismatch as u, transition_slide_display as v };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warnings-B6Y7P0Q-.js","names":[],"sources":["../../../../../../../../node_modules/.pnpm/svelte@5.55.9_@typescript-eslint+types@8.67.0/node_modules/svelte/src/internal/client/warnings.js"],"sourcesContent":["/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * Assignment to `%property%` property (%location%) will evaluate to the right-hand side, not the value of `%property%` following the assignment. This may result in unexpected behaviour.\n * @param {string} property\n * @param {string} location\n */\nexport function assignment_value_stale(property, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] assignment_value_stale\\n%cAssignment to \\`${property}\\` property (${location}) will evaluate to the right-hand side, not the value of \\`${property}\\` following the assignment. This may result in unexpected behaviour.\\nhttps://svelte.dev/e/assignment_value_stale`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/assignment_value_stale`);\n\t}\n}\n\n/**\n * Detected reactivity loss when reading `%name%`. This happens when state is read in an async function after an earlier `await`\n * @param {string} name\n */\nexport function await_reactivity_loss(name) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_reactivity_loss\\n%cDetected reactivity loss when reading \\`${name}\\`. This happens when state is read in an async function after an earlier \\`await\\`\\nhttps://svelte.dev/e/await_reactivity_loss`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_reactivity_loss`);\n\t}\n}\n\n/**\n * An async derived, `%name%` (%location%) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\n * @param {string} name\n * @param {string} location\n */\nexport function await_waterfall(name, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] await_waterfall\\n%cAn async derived, \\`${name}\\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\\nhttps://svelte.dev/e/await_waterfall`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/await_waterfall`);\n\t}\n}\n\n/**\n * `%binding%` (%location%) is binding to a non-reactive property\n * @param {string} binding\n * @param {string | undefined | null} [location]\n */\nexport function binding_property_non_reactive(binding, location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] binding_property_non_reactive\\n%c${location\n\t\t\t\t? `\\`${binding}\\` (${location}) is binding to a non-reactive property`\n\t\t\t\t: `\\`${binding}\\` is binding to a non-reactive property`}\\nhttps://svelte.dev/e/binding_property_non_reactive`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/binding_property_non_reactive`);\n\t}\n}\n\n/**\n * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead\n * @param {string} method\n */\nexport function console_log_state(method) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] console_log_state\\n%cYour \\`console.${method}\\` contained \\`$state\\` proxies. Consider using \\`$inspect(...)\\` or \\`$state.snapshot(...)\\` instead\\nhttps://svelte.dev/e/console_log_state`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/console_log_state`);\n\t}\n}\n\n/**\n * Reading a derived belonging to a now-destroyed effect may result in stale values\n */\nexport function derived_inert() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] derived_inert\\n%cReading a derived belonging to a now-destroyed effect may result in stale values\\nhttps://svelte.dev/e/derived_inert`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/derived_inert`);\n\t}\n}\n\n/**\n * %handler% should be a function. Did you mean to %suggestion%?\n * @param {string} handler\n * @param {string} suggestion\n */\nexport function event_handler_invalid(handler, suggestion) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] event_handler_invalid\\n%c${handler} should be a function. Did you mean to ${suggestion}?\\nhttps://svelte.dev/e/event_handler_invalid`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/event_handler_invalid`);\n\t}\n}\n\n/**\n * Expected to find a hydratable with key `%key%` during hydration, but did not.\n * @param {string} key\n */\nexport function hydratable_missing_but_expected(key) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydratable_missing_but_expected\\n%cExpected to find a hydratable with key \\`${key}\\` during hydration, but did not.\\nhttps://svelte.dev/e/hydratable_missing_but_expected`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydratable_missing_but_expected`);\n\t}\n}\n\n/**\n * The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value\n * @param {string} attribute\n * @param {string} html\n * @param {string} value\n */\nexport function hydration_attribute_changed(attribute, html, value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_attribute_changed\\n%cThe \\`${attribute}\\` attribute on \\`${html}\\` changed its value between server and client renders. The client value, \\`${value}\\`, will be ignored in favour of the server value\\nhttps://svelte.dev/e/hydration_attribute_changed`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_attribute_changed`);\n\t}\n}\n\n/**\n * The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value\n * @param {string | undefined | null} [location]\n */\nexport function hydration_html_changed(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_html_changed\\n%c${location\n\t\t\t\t? `The value of an \\`{@html ...}\\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value`\n\t\t\t\t: 'The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value'}\\nhttps://svelte.dev/e/hydration_html_changed`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_html_changed`);\n\t}\n}\n\n/**\n * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%\n * @param {string | undefined | null} [location]\n */\nexport function hydration_mismatch(location) {\n\tif (DEV) {\n\t\tconsole.warn(\n\t\t\t`%c[svelte] hydration_mismatch\\n%c${location\n\t\t\t\t? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}`\n\t\t\t\t: 'Hydration failed because the initial UI does not match what was rendered on the server'}\\nhttps://svelte.dev/e/hydration_mismatch`,\n\t\t\tbold,\n\t\t\tnormal\n\t\t);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/hydration_mismatch`);\n\t}\n}\n\n/**\n * The `render` function passed to `createRawSnippet` should return HTML for a single element\n */\nexport function invalid_raw_snippet_render() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] invalid_raw_snippet_render\\n%cThe \\`render\\` function passed to \\`createRawSnippet\\` should return HTML for a single element\\nhttps://svelte.dev/e/invalid_raw_snippet_render`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/invalid_raw_snippet_render`);\n\t}\n}\n\n/**\n * Detected a migrated `$:` reactive block in `%filename%` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an `$effect`.\n * @param {string} filename\n */\nexport function legacy_recursive_reactive_block(filename) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] legacy_recursive_reactive_block\\n%cDetected a migrated \\`$:\\` reactive block in \\`${filename}\\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \\`$effect\\`.\\nhttps://svelte.dev/e/legacy_recursive_reactive_block`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/legacy_recursive_reactive_block`);\n\t}\n}\n\n/**\n * Tried to unmount a component that was not mounted\n */\nexport function lifecycle_double_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] lifecycle_double_unmount\\n%cTried to unmount a component that was not mounted\\nhttps://svelte.dev/e/lifecycle_double_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/lifecycle_double_unmount`);\n\t}\n}\n\n/**\n * %parent% passed property `%prop%` to %child% with `bind:`, but its parent component %owner% did not declare `%prop%` as a binding. Consider creating a binding between %owner% and %parent% (e.g. `bind:%prop%={...}` instead of `%prop%={...}`)\n * @param {string} parent\n * @param {string} prop\n * @param {string} child\n * @param {string} owner\n */\nexport function ownership_invalid_binding(parent, prop, child, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_binding\\n%c${parent} passed property \\`${prop}\\` to ${child} with \\`bind:\\`, but its parent component ${owner} did not declare \\`${prop}\\` as a binding. Consider creating a binding between ${owner} and ${parent} (e.g. \\`bind:${prop}={...}\\` instead of \\`${prop}={...}\\`)\\nhttps://svelte.dev/e/ownership_invalid_binding`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_binding`);\n\t}\n}\n\n/**\n * Mutating unbound props (`%name%`, at %location%) is strongly discouraged. Consider using `bind:%prop%={...}` in %parent% (or using a callback) instead\n * @param {string} name\n * @param {string} location\n * @param {string} prop\n * @param {string} parent\n */\nexport function ownership_invalid_mutation(name, location, prop, parent) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_mutation\\n%cMutating unbound props (\\`${name}\\`, at ${location}) is strongly discouraged. Consider using \\`bind:${prop}={...}\\` in ${parent} (or using a callback) instead\\nhttps://svelte.dev/e/ownership_invalid_mutation`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/ownership_invalid_mutation`);\n\t}\n}\n\n/**\n * The `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\n */\nexport function select_multiple_invalid_value() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] select_multiple_invalid_value\\n%cThe \\`value\\` property of a \\`<select multiple>\\` element should be an array, but it received a non-array value. The selection will be kept as is.\\nhttps://svelte.dev/e/select_multiple_invalid_value`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/select_multiple_invalid_value`);\n\t}\n}\n\n/**\n * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results\n * @param {string} operator\n */\nexport function state_proxy_equality_mismatch(operator) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_equality_mismatch\\n%cReactive \\`$state(...)\\` proxies and the values they proxy have different identities. Because of this, comparisons with \\`${operator}\\` will produce unexpected results\\nhttps://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`);\n\t}\n}\n\n/**\n * Tried to unmount a state proxy, rather than a component\n */\nexport function state_proxy_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_unmount\\n%cTried to unmount a state proxy, rather than a component\\nhttps://svelte.dev/e/state_proxy_unmount`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/state_proxy_unmount`);\n\t}\n}\n\n/**\n * A `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\n */\nexport function svelte_boundary_reset_noop() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] svelte_boundary_reset_noop\\n%cA \\`<svelte:boundary>\\` \\`reset\\` function only resets the boundary the first time it is called\\nhttps://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`);\n\t}\n}\n\n/**\n * The `slide` transition does not work correctly for elements with `display: %value%`\n * @param {string} value\n */\nexport function transition_slide_display(value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] transition_slide_display\\n%cThe \\`slide\\` transition does not work correctly for elements with \\`display: ${value}\\`\\nhttps://svelte.dev/e/transition_slide_display`, bold, normal);\n\t} else {\n\t\tconsole.warn(`https://svelte.dev/e/transition_slide_display`);\n\t}\n}"],"x_google_ignoreList":[0],"mappings":";AAIA,IAAI,OAAO;AACX,IAAI,SAAS;;;;;;AAOb,SAAgB,uBAAuB,UAAU,UAAU;CAEzD,QAAQ,KAAK,wDAAwD,SAAS,eAAe,SAAS,6DAA6D,SAAS,qHAAqH,MAAM,MAAM;AAI/S;;;;;AAMA,SAAgB,sBAAsB,MAAM;CAE1C,QAAQ,KAAK,+EAA+E,KAAK,kIAAkI,MAAM,MAAM;AAIjP;;;;;;AAOA,SAAgB,gBAAgB,MAAM,UAAU;CAE9C,QAAQ,KAAK,qDAAqD,KAAK,MAAM,SAAS,kKAAkK,MAAM,MAAM;AAItQ;;;;;;AAOA,SAAgB,8BAA8B,SAAS,UAAU;CAE/D,QAAQ,KACP,+CAA+C,WAC5C,KAAK,QAAQ,MAAM,SAAS,2CAC5B,KAAK,QAAQ,0CAA0C,uDAC1D,MACA,MACD;AAIF;;;;;AAMA,SAAgB,kBAAkB,QAAQ;CAExC,QAAQ,KAAK,kDAAkD,OAAO,gJAAgJ,MAAM,MAAM;AAIpO;;;;AAKA,SAAgB,gBAAgB;CAE9B,QAAQ,KAAK,oJAAoJ,MAAM,MAAM;AAI/K;;;;;;AAOA,SAAgB,sBAAsB,SAAS,YAAY;CAEzD,QAAQ,KAAK,uCAAuC,QAAQ,yCAAyC,WAAW,gDAAgD,MAAM,MAAM;AAI9K;;;;;;;AAoBA,SAAgB,4BAA4B,WAAW,MAAM,OAAO;CAElE,QAAQ,KAAK,mDAAmD,UAAU,oBAAoB,KAAK,8EAA8E,MAAM,sGAAsG,MAAM,MAAM;AAI3S;;;;;AAMA,SAAgB,uBAAuB,UAAU;CAE/C,QAAQ,KACP,wCAAwC,WACrC,yCAAyC,SAAS,8GAClD,gJAAgJ,gDACnJ,MACA,MACD;AAIF;;;;;AAMA,SAAgB,mBAAmB,UAAU;CAE3C,QAAQ,KACP,oCAAoC,WACjC,mHAAmH,aACnH,yFAAyF,4CAC5F,MACA,MACD;AAIF;;;;AA4BA,SAAgB,2BAA2B;CAEzC,QAAQ,KAAK,2IAA2I,MAAM,MAAM;AAItK;;;;;;;;AASA,SAAgB,0BAA0B,QAAQ,MAAM,OAAO,OAAO;CAEpE,QAAQ,KAAK,2CAA2C,OAAO,qBAAqB,KAAK,QAAQ,MAAM,4CAA4C,MAAM,qBAAqB,KAAK,uDAAuD,MAAM,OAAO,OAAO,gBAAgB,KAAK,wBAAwB,KAAK,4DAA4D,MAAM,MAAM;AAI1X;;;;;;;;AASA,SAAgB,2BAA2B,MAAM,UAAU,MAAM,QAAQ;CAEvE,QAAQ,KAAK,sEAAsE,KAAK,SAAS,SAAS,mDAAmD,KAAK,cAAc,OAAO,kFAAkF,MAAM,MAAM;AAIvR;;;;AAKA,SAAgB,gCAAgC;CAE9C,QAAQ,KAAK,sPAAsP,MAAM,MAAM;AAIjR;;;;;AAMA,SAAgB,8BAA8B,UAAU;CAEtD,QAAQ,KAAK,yKAAyK,SAAS,yFAAyF,MAAM,MAAM;AAItS;;;;AAKA,SAAgB,sBAAsB;CAEpC,QAAQ,KAAK,uIAAuI,MAAM,MAAM;AAIlK;;;;AAKA,SAAgB,6BAA6B;CAE3C,QAAQ,KAAK,6LAA6L,MAAM,MAAM;AAIxN;;;;;AAMA,SAAgB,yBAAyB,OAAO;CAE9C,QAAQ,KAAK,wHAAwH,MAAM,oDAAoD,MAAM,MAAM;AAI7M"}
|
package/src/pivot-chart.test.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest'
|
|
2
|
-
import { createPivotModel } from './pivot'
|
|
3
|
-
import { pivotToChartSpec } from './pivot-chart'
|
|
4
|
-
|
|
5
|
-
const data = [
|
|
6
|
-
{ region: 'EMEA', product: 'A', revenue: 100 },
|
|
7
|
-
{ region: 'EMEA', product: 'B', revenue: 200 },
|
|
8
|
-
{ region: 'APAC', product: 'A', revenue: 50 },
|
|
9
|
-
{ region: 'APAC', product: 'B', revenue: 70 },
|
|
10
|
-
]
|
|
11
|
-
|
|
12
|
-
describe('pivotToChartSpec', () => {
|
|
13
|
-
it('maps row leaves to categories and column leaves to series', () => {
|
|
14
|
-
const result = createPivotModel(data, {
|
|
15
|
-
rows: ['region'],
|
|
16
|
-
cols: ['product'],
|
|
17
|
-
values: [{ field: 'revenue', agg: 'sum' }],
|
|
18
|
-
grandTotalRow: false,
|
|
19
|
-
grandTotalCol: false,
|
|
20
|
-
})
|
|
21
|
-
const spec = pivotToChartSpec(result, { type: 'bar' })
|
|
22
|
-
expect(spec.type).toBe('bar')
|
|
23
|
-
expect([...spec.categories].sort()).toEqual(['APAC', 'EMEA'])
|
|
24
|
-
// One series per product.
|
|
25
|
-
expect(spec.series.map((s) => s.label).sort()).toEqual(['A', 'B'])
|
|
26
|
-
const emeaIdx = spec.categories.indexOf('EMEA')
|
|
27
|
-
expect(spec.series.find((s) => s.label === 'A')!.values[emeaIdx]).toBe(100)
|
|
28
|
-
expect(spec.series.find((s) => s.label === 'B')!.values[emeaIdx]).toBe(200)
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
it('excludes the grand-total column / row and stacks when asked', () => {
|
|
32
|
-
const result = createPivotModel(data, {
|
|
33
|
-
rows: ['region'],
|
|
34
|
-
cols: ['product'],
|
|
35
|
-
values: [{ field: 'revenue', agg: 'sum' }],
|
|
36
|
-
grandTotalRow: true,
|
|
37
|
-
grandTotalCol: true,
|
|
38
|
-
})
|
|
39
|
-
const spec = pivotToChartSpec(result, { stacked: true })
|
|
40
|
-
expect(spec.series.some((s) => /total/i.test(s.label))).toBe(false)
|
|
41
|
-
expect(spec.categories.some((c) => /total/i.test(c))).toBe(false)
|
|
42
|
-
expect(spec.stacked).toBe(true)
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
it('labels nested row leaves by their full path', () => {
|
|
46
|
-
const nested = [
|
|
47
|
-
{ region: 'EMEA', country: 'UK', revenue: 10 },
|
|
48
|
-
{ region: 'EMEA', country: 'France', revenue: 20 },
|
|
49
|
-
{ region: 'APAC', country: 'Japan', revenue: 30 },
|
|
50
|
-
]
|
|
51
|
-
const result = createPivotModel(nested, {
|
|
52
|
-
rows: ['region', 'country'],
|
|
53
|
-
cols: [],
|
|
54
|
-
values: [{ field: 'revenue', agg: 'sum', label: 'Revenue' }],
|
|
55
|
-
grandTotalRow: false,
|
|
56
|
-
grandTotalCol: false,
|
|
57
|
-
rowSubtotals: false,
|
|
58
|
-
})
|
|
59
|
-
const spec = pivotToChartSpec(result)
|
|
60
|
-
// Leaf categories are the own labels...
|
|
61
|
-
expect(spec.categories).toContain('UK')
|
|
62
|
-
expect(spec.categories).toContain('France')
|
|
63
|
-
expect(spec.categories).toContain('Japan')
|
|
64
|
-
// ...and a parent group tier spans them.
|
|
65
|
-
expect(spec.categoryGroups).toBeTruthy()
|
|
66
|
-
const spans = spec.categoryGroups!.reduce((a, g) => a + g.span, 0)
|
|
67
|
-
expect(spans).toBe(spec.categories.length)
|
|
68
|
-
expect(spec.categoryGroups!.map((g) => g.label).sort()).toEqual(['APAC', 'EMEA'])
|
|
69
|
-
expect(spec.categoryGroups!.find((g) => g.label === 'EMEA')!.span).toBe(2)
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
it('handles no column dims (one series per measure)', () => {
|
|
73
|
-
const result = createPivotModel(data, {
|
|
74
|
-
rows: ['region'],
|
|
75
|
-
cols: [],
|
|
76
|
-
values: [{ field: 'revenue', agg: 'sum', label: 'Revenue' }],
|
|
77
|
-
grandTotalRow: false,
|
|
78
|
-
grandTotalCol: false,
|
|
79
|
-
})
|
|
80
|
-
const spec = pivotToChartSpec(result)
|
|
81
|
-
expect(spec.series.length).toBe(1)
|
|
82
|
-
expect(spec.series[0]!.label).toBe('Revenue')
|
|
83
|
-
const emeaIdx = spec.categories.indexOf('EMEA')
|
|
84
|
-
expect(spec.series[0]!.values[emeaIdx]).toBe(300)
|
|
85
|
-
})
|
|
86
|
-
})
|
package/src/pivot-chart.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pivot -> chart bridge.
|
|
3
|
-
*
|
|
4
|
-
* Turns a computed {@link PivotResult} (the row/column/value matrix the pivot
|
|
5
|
-
* engine produces) into a core {@link ChartSpec} the free `SvGridChart` can
|
|
6
|
-
* render - so one pivot layout drives both a table and a chart (the Excel
|
|
7
|
-
* PivotTable <-> PivotChart pairing).
|
|
8
|
-
*
|
|
9
|
-
* Mapping:
|
|
10
|
-
* - categories = the row-axis LEAF rows (deepest grouping; subtotals and the
|
|
11
|
-
* grand-total row are skipped). With no row dims, the single total row.
|
|
12
|
-
* - series = the column-axis leaf value columns (one per col-path x
|
|
13
|
-
* measure). The grand-total column is excluded unless `includeTotals`.
|
|
14
|
-
* - values = each leaf row's aggregated cell for that series column.
|
|
15
|
-
*/
|
|
16
|
-
import type { ChartSpec, ChartType, TableFeatures } from '@svgrid/grid'
|
|
17
|
-
import type { PivotResult } from './pivot'
|
|
18
|
-
|
|
19
|
-
export type PivotChartOptions = {
|
|
20
|
-
/** Chart type. Default `'bar'`. */
|
|
21
|
-
type?: ChartType
|
|
22
|
-
/** Stack the series. Default false. */
|
|
23
|
-
stacked?: boolean
|
|
24
|
-
/** Include the grand-total column / row as a series / category. Default false. */
|
|
25
|
-
includeTotals?: boolean
|
|
26
|
-
/** Cap the number of categories (row leaves) charted. */
|
|
27
|
-
maxCategories?: number
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
type LooseColumn = {
|
|
31
|
-
id?: string
|
|
32
|
-
header?: unknown
|
|
33
|
-
columns?: LooseColumn[]
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function pivotToChartSpec<TFeatures extends TableFeatures>(
|
|
37
|
-
result: PivotResult<TFeatures>,
|
|
38
|
-
opts: PivotChartOptions = {},
|
|
39
|
-
): ChartSpec {
|
|
40
|
-
const type: ChartType = opts.type ?? 'bar'
|
|
41
|
-
|
|
42
|
-
// Category rows: the row-axis leaves. Fall back to the grand-total (single
|
|
43
|
-
// "All") row when no row dims are configured, then to every row.
|
|
44
|
-
let catRows = result.rows.filter((r) => r.__pivotKind === 'leaf')
|
|
45
|
-
if (!catRows.length) catRows = result.rows.filter((r) => r.__pivotKind === 'grandTotal')
|
|
46
|
-
if (!catRows.length) catRows = result.rows.slice()
|
|
47
|
-
if (opts.maxCategories && catRows.length > opts.maxCategories) {
|
|
48
|
-
catRows = catRows.slice(0, opts.maxCategories)
|
|
49
|
-
}
|
|
50
|
-
// Categories are the leaf's OWN label; when rows are nested, emit a parent
|
|
51
|
-
// tier (categoryGroups) so the axis reads "Americas | Canada · USA ..." as a
|
|
52
|
-
// grouped axis rather than colliding on a bare repeated leaf label.
|
|
53
|
-
const byId = new Map(result.rows.map((r) => [r.__pivotId, r]))
|
|
54
|
-
const ownLabel = (r: (typeof result.rows)[number]) => String(r.__pivotLabel ?? '').trim() || '(blank)'
|
|
55
|
-
const categories = catRows.map(ownLabel)
|
|
56
|
-
|
|
57
|
-
const parentOf = (r: (typeof result.rows)[number]) =>
|
|
58
|
-
r.__pivotParentId ? byId.get(r.__pivotParentId) : undefined
|
|
59
|
-
const nested = catRows.length > 0 && catRows.every((r) => parentOf(r) !== undefined)
|
|
60
|
-
let categoryGroups: Array<{ label: string; span: number }> | undefined
|
|
61
|
-
if (nested) {
|
|
62
|
-
categoryGroups = []
|
|
63
|
-
let prevId: string | null | undefined
|
|
64
|
-
for (const r of catRows) {
|
|
65
|
-
const pid = r.__pivotParentId
|
|
66
|
-
const last = categoryGroups[categoryGroups.length - 1]
|
|
67
|
-
if (last && pid === prevId) last.span += 1
|
|
68
|
-
else {
|
|
69
|
-
categoryGroups.push({ label: ownLabel(parentOf(r)!), span: 1 })
|
|
70
|
-
prevId = pid
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Collect the leaf value columns, carrying the accumulated column-group path
|
|
76
|
-
// so a series can be labelled by its column path (e.g. "Q1", "Q1 · Revenue").
|
|
77
|
-
type Leaf = { id: string; path: string[]; header: string }
|
|
78
|
-
const leaves: Leaf[] = []
|
|
79
|
-
const walk = (cols: LooseColumn[] | undefined, path: string[]): void => {
|
|
80
|
-
for (const c of cols ?? []) {
|
|
81
|
-
if (!c || c.id === '__pivotRowHeader') continue
|
|
82
|
-
// Skip the grand-total column group (and its leaves) unless asked for.
|
|
83
|
-
if (!opts.includeTotals && typeof c.id === 'string' && c.id.startsWith('pv_group__grand')) continue
|
|
84
|
-
if (Array.isArray(c.columns)) walk(c.columns, [...path, String(c.header ?? '')])
|
|
85
|
-
else if (typeof c.id === 'string') leaves.push({ id: c.id, path, header: String(c.header ?? '') })
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
walk(result.columns as unknown as LooseColumn[], [])
|
|
89
|
-
|
|
90
|
-
const filtered = opts.includeTotals ? leaves : leaves.filter((l) => !l.id.includes('__total'))
|
|
91
|
-
const uniqueHeaders = new Set(filtered.map((l) => l.header))
|
|
92
|
-
const series = filtered.map((l) => ({
|
|
93
|
-
label:
|
|
94
|
-
l.path.length === 0
|
|
95
|
-
? l.header
|
|
96
|
-
: uniqueHeaders.size > 1
|
|
97
|
-
? [...l.path, l.header].join(' · ')
|
|
98
|
-
: l.path.join(' · '),
|
|
99
|
-
values: catRows.map((r) => {
|
|
100
|
-
const v = r[l.id]
|
|
101
|
-
return typeof v === 'number' ? v : Number(v) || 0
|
|
102
|
-
}),
|
|
103
|
-
}))
|
|
104
|
-
|
|
105
|
-
return {
|
|
106
|
-
type,
|
|
107
|
-
categories,
|
|
108
|
-
series,
|
|
109
|
-
...(categoryGroups && categoryGroups.length > 1 ? { categoryGroups } : {}),
|
|
110
|
-
...(opts.stacked ? { stacked: true } : {}),
|
|
111
|
-
}
|
|
112
|
-
}
|