drizzle-cube 0.7.1 → 0.8.1
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/adapters/ActivityGridChart.config-DXUUgx0N.cjs +1 -0
- package/dist/adapters/ActivityGridChart.config-Dyozu3VW.js +2 -0
- package/dist/adapters/AreaChart.config-Di5odBXp.cjs +1 -0
- package/dist/adapters/AreaChart.config-KEaXP_4K.js +2 -0
- package/dist/adapters/BarChart.config-B-hBHykR.cjs +1 -0
- package/dist/adapters/BarChart.config-C5sqbn0A.js +2 -0
- package/dist/adapters/BoxPlotChart.config-B1R4Br7L.js +2 -0
- package/dist/adapters/BoxPlotChart.config-C82Fhd3c.cjs +1 -0
- package/dist/adapters/BubbleChart.config-CoBxmmfp.js +2 -0
- package/dist/adapters/BubbleChart.config-DfOnNjL-.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-C5ggV_3j.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-ZaJpWVuL.js +2 -0
- package/dist/adapters/DataTable.config-Cx2_ACdY.cjs +1 -0
- package/dist/adapters/DataTable.config-DkAgD-iz.js +2 -0
- package/dist/adapters/FunnelChart.config-CvzcECUB.js +2 -0
- package/dist/adapters/FunnelChart.config-DVH7IFnb.cjs +1 -0
- package/dist/adapters/GaugeChart.config-Csx8rt8o.cjs +1 -0
- package/dist/adapters/GaugeChart.config-DEmrNgMa.js +2 -0
- package/dist/adapters/HeatMapChart.config-BfD_dpP7.js +2 -0
- package/dist/adapters/HeatMapChart.config-D_jlyPJL.cjs +1 -0
- package/dist/adapters/KpiDelta.config-CVBdUL_n.cjs +1 -0
- package/dist/adapters/KpiDelta.config-D4dCXOxl.js +2 -0
- package/dist/adapters/KpiNumber.config-BK5pgIKz.cjs +1 -0
- package/dist/adapters/KpiNumber.config-D6XqjZrm.js +2 -0
- package/dist/adapters/KpiText.config-ChphMwG5.js +2 -0
- package/dist/adapters/KpiText.config-fO1wc6FH.cjs +1 -0
- package/dist/adapters/LineChart.config-CXJrgz1s.js +2 -0
- package/dist/adapters/LineChart.config-Cg_h-SiJ.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-ByPjX-4O.cjs +1 -0
- package/dist/adapters/MarkdownChart.config-Df2yY9AT.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-BBWGIteF.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-C9OFbN9Z.js +2 -0
- package/dist/adapters/PieChart.config-C6jJj6xm.js +2 -0
- package/dist/adapters/PieChart.config-CmCw_8eN.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-B9NEyFEe.js +2 -0
- package/dist/adapters/ProportionBarChart.config-C3GAVPWn.cjs +1 -0
- package/dist/adapters/RadarChart.config-5AMwEqUJ.cjs +1 -0
- package/dist/adapters/RadarChart.config-Ct_b7IM5.js +2 -0
- package/dist/adapters/RadialBarChart.config-Bp-Sl0cm.js +2 -0
- package/dist/adapters/RadialBarChart.config-D14yoexI.cjs +1 -0
- package/dist/adapters/RecordsTable.config-D2-qmG06.cjs +1 -0
- package/dist/adapters/RecordsTable.config-DIwoqZCU.js +2 -0
- package/dist/adapters/RetentionCombinedChart.config-BWHipi5M.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-D40UgTcl.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-GlnSLrjn.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-MlhZf26c.cjs +1 -0
- package/dist/adapters/SankeyChart.config-Bf1_NHiv.js +2 -0
- package/dist/adapters/SankeyChart.config-BoYf6BFE.cjs +1 -0
- package/dist/adapters/ScatterChart.config-CV2rdGJp.js +2 -0
- package/dist/adapters/ScatterChart.config-DywduGF3.cjs +1 -0
- package/dist/adapters/SunburstChart.config-CrqiE1UZ.js +2 -0
- package/dist/adapters/SunburstChart.config-D5tbF_GJ.cjs +1 -0
- package/dist/adapters/TreeMapChart.config-BJ8HnZU0.cjs +1 -0
- package/dist/adapters/TreeMapChart.config-DxgIqIIj.js +2 -0
- package/dist/adapters/WaterfallChart.config-Cns8fLFu.js +2 -0
- package/dist/adapters/WaterfallChart.config-D_kdL9SN.cjs +1 -0
- package/dist/adapters/compiler-BxZHh0UD.cjs +166 -0
- package/dist/adapters/{compiler-DiYxWAKg.js → compiler-CBGD_4Et.js} +1389 -1923
- package/dist/adapters/core/http-port.d.ts +34 -7
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.d.ts +1 -0
- package/dist/adapters/core/index.js +2 -2
- package/dist/adapters/core/rest-handlers.d.ts +1 -1
- package/dist/adapters/core-CIGuwGuI.cjs +1 -0
- package/dist/adapters/{core-BOPRmxPc.js → core-DAAnqPyN.js} +81 -65
- package/dist/adapters/express/index.cjs +2 -2
- package/dist/adapters/express/index.d.ts +11 -2
- package/dist/adapters/express/index.js +14 -14
- package/dist/adapters/fastify/index.cjs +2 -2
- package/dist/adapters/fastify/index.d.ts +11 -2
- package/dist/adapters/fastify/index.js +29 -29
- package/dist/{server/google-eKAc20al.js → adapters/google-DRY7jnOh.js} +46 -28
- package/dist/adapters/{google-BhvizbFR.cjs → google-PsZzwedr.cjs} +2 -2
- package/dist/adapters/handler-BcYTw6zB.cjs +25 -0
- package/dist/adapters/{handler-DGud-C-w.js → handler-eA0VJDHj.js} +363 -266
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +9 -9
- package/dist/adapters/mcp-tools-handlers.d.ts +10 -3
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +18 -20
- package/dist/adapters/mcp-transport-BpG44Fvn.js +730 -0
- package/dist/adapters/mcp-transport-CDxZXpc-.cjs +42 -0
- package/dist/adapters/mcp-transport.d.ts +13 -2
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.d.ts +5 -2
- package/dist/adapters/nextjs/index.js +32 -32
- package/dist/adapters/{openai-Crp3X_zg.js → openai-BZ48ioYp.js} +1 -1
- package/dist/adapters/{openai-CmdN7Sj1.cjs → openai-Bw1j-OiP.cjs} +1 -1
- package/dist/adapters/{openai-Dwt9bxOE.cjs → openai-CLjyL5_J.cjs} +2 -2
- package/dist/adapters/{openai-CGJM6Qun.js → openai-CYYjUG_3.js} +4 -4
- package/dist/adapters/{utils-DboNUT3A.js → utils-BagURNRb.js} +1963 -1135
- package/dist/adapters/utils-BiKIg2tk.cjs +128 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.d.ts +19 -5
- package/dist/adapters/utils.js +1 -1
- package/dist/cjs/adapters/core/http-port.d.ts +34 -7
- package/dist/cjs/adapters/core/index.d.ts +1 -0
- package/dist/cjs/adapters/core/rest-handlers.d.ts +1 -1
- package/dist/cjs/adapters/express/index.d.ts +11 -2
- package/dist/cjs/adapters/fastify/index.d.ts +11 -2
- package/dist/cjs/adapters/mcp-tools-handlers.d.ts +10 -3
- package/dist/cjs/adapters/mcp-transport.d.ts +13 -2
- package/dist/cjs/adapters/nextjs/index.d.ts +5 -2
- package/dist/cjs/adapters/utils.d.ts +19 -5
- package/dist/cjs/client/charts/chartConfigRegistry.d.ts +7 -0
- package/dist/cjs/client/charts/chartConfigs.d.ts +17 -1
- package/dist/cjs/client/client/CubeClient.d.ts +11 -1
- package/dist/cjs/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +4 -2
- package/dist/cjs/client/components/AnalysisBuilder/ColumnFormatsEditor.d.ts +10 -0
- package/dist/cjs/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +3 -2
- package/dist/cjs/client/components/AnalysisBuilder/utils/queryUtils.d.ts +7 -1
- package/dist/cjs/client/components/analyticsPortlet/PortletChart.d.ts +2 -1
- package/dist/cjs/client/components/analyticsPortlet/PortletChartView.d.ts +4 -1
- package/dist/cjs/client/components/analyticsPortlet/usePortletDeadMembers.d.ts +24 -0
- package/dist/cjs/client/components/analyticsPortlet/usePortletPagination.d.ts +21 -0
- package/dist/cjs/client/components/charts/RecordsTable.config.d.ts +10 -0
- package/dist/cjs/client/components/charts/RecordsTable.d.ts +4 -0
- package/dist/cjs/client/components/charts/recordsTableHooks.d.ts +68 -0
- package/dist/cjs/client/icons/types.d.ts +1 -0
- package/dist/cjs/client/index.d.ts +2 -2
- package/dist/cjs/client/types.d.ts +92 -1
- package/dist/cjs/client/utils/recordsTableUtils.d.ts +71 -0
- package/dist/cjs/client/utils/rowLinkUtils.d.ts +35 -0
- package/dist/cjs/server/adapters/base-adapter.d.ts +46 -0
- package/dist/cjs/server/adapters/databend-adapter.d.ts +5 -0
- package/dist/cjs/server/adapters/duckdb-adapter.d.ts +5 -0
- package/dist/cjs/server/adapters/mysql-adapter.d.ts +14 -0
- package/dist/cjs/server/adapters/postgres-adapter.d.ts +15 -0
- package/dist/cjs/server/adapters/snowflake-adapter.d.ts +6 -0
- package/dist/cjs/server/adapters/sqlite-adapter.d.ts +21 -0
- package/dist/cjs/server/agent/chart-validation.d.ts +1 -1
- package/dist/cjs/server/ai/chart-schema.d.ts +117 -0
- package/dist/cjs/server/ai/discovery-helpers.d.ts +14 -0
- package/dist/cjs/server/ai/discovery.d.ts +6 -0
- package/dist/cjs/server/ai/query-schema.d.ts +1 -1
- package/dist/cjs/server/attribute-dimensions.d.ts +102 -0
- package/dist/cjs/server/builders/group-by-builder.d.ts +15 -0
- package/dist/cjs/server/cache-utils.d.ts +5 -1
- package/dist/cjs/server/compiler-metadata.d.ts +24 -3
- package/dist/cjs/server/compiler.d.ts +159 -13
- package/dist/cjs/server/execution/query-result-cache.d.ts +1 -1
- package/dist/cjs/server/executor.d.ts +15 -0
- package/dist/cjs/server/index.d.ts +13 -3
- package/dist/cjs/server/query-handlers.d.ts +2 -1
- package/dist/cjs/server/query-validator.d.ts +36 -4
- package/dist/cjs/server/types/core.d.ts +13 -0
- package/dist/cjs/server/types/cube.d.ts +39 -2
- package/dist/cjs/server/types/query.d.ts +8 -0
- package/dist/cli/index.cjs +130 -52
- package/dist/client/charts/chartConfigRegistry.d.ts +7 -0
- package/dist/client/charts/chartConfigs.d.ts +17 -1
- package/dist/client/charts.js +13 -13
- package/dist/client/chunks/{DashboardEditModal-BOfLdTgV.js → DashboardEditModal-_ZDMwaGX.js} +1653 -1188
- package/dist/client/chunks/DashboardEditModal-_ZDMwaGX.js.map +1 -0
- package/dist/client/chunks/{ProportionBarChart-DwoXU5VP.js → ProportionBarChart-qfpAWhIg.js} +3 -3
- package/dist/client/chunks/{ProportionBarChart-DwoXU5VP.js.map → ProportionBarChart-qfpAWhIg.js.map} +1 -1
- package/dist/client/chunks/RecordsTable-KmJy94xN.js +556 -0
- package/dist/client/chunks/RecordsTable-KmJy94xN.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-BqlSV7yF.js → RetentionCombinedChart-C7X6aj97.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-BqlSV7yF.js.map → RetentionCombinedChart-C7X6aj97.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-VdVkBg8Q.js → RetentionHeatmap-PpRpiqR_.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-VdVkBg8Q.js.map → RetentionHeatmap-PpRpiqR_.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-DXw60SEs.js → analysis-builder-DaqyOjLX.js} +169 -168
- package/dist/client/chunks/{analysis-builder-DXw60SEs.js.map → analysis-builder-DaqyOjLX.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-CEvHIlmk.js → analysis-builder-shared-ow9KAHDP.js} +965 -954
- package/dist/client/chunks/analysis-builder-shared-ow9KAHDP.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-4jfS8khG.js → chart-activity-grid-DO82rrbW.js} +140 -84
- package/dist/client/chunks/chart-activity-grid-DO82rrbW.js.map +1 -0
- package/dist/client/chunks/{chart-area-Dol6s9no.js → chart-area-9SBeG0GM.js} +21 -21
- package/dist/client/chunks/{chart-area-Dol6s9no.js.map → chart-area-9SBeG0GM.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-5_niozi2.js → chart-bar-tfgmLK2D.js} +5 -5
- package/dist/client/chunks/{chart-bar-5_niozi2.js.map → chart-bar-tfgmLK2D.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-Dhp-VwhD.js → chart-box-plot-BuYW6j6g.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-Dhp-VwhD.js.map → chart-box-plot-BuYW6j6g.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-BM2BAMSo.js → chart-bubble-BNmonWqW.js} +2 -2
- package/dist/client/chunks/{chart-bubble-BM2BAMSo.js.map → chart-bubble-BNmonWqW.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-BNwLIBfm.js → chart-candlestick-BYeWNkKl.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-BNwLIBfm.js.map → chart-candlestick-BYeWNkKl.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-DoDHQRe7.js → chart-data-table-C_oHiK6N.js} +1094 -1029
- package/dist/client/chunks/chart-data-table-C_oHiK6N.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-Cd7da_sa.js → chart-funnel-B_CWC3cL.js} +2 -2
- package/dist/client/chunks/{chart-funnel-Cd7da_sa.js.map → chart-funnel-B_CWC3cL.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-DOpul-Oz.js → chart-gauge-D7VxwPnx.js} +3 -3
- package/dist/client/chunks/{chart-gauge-DOpul-Oz.js.map → chart-gauge-D7VxwPnx.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-CeKbK655.js → chart-heat-map-q7Vf_dog.js} +3 -3
- package/dist/client/chunks/{chart-heat-map-CeKbK655.js.map → chart-heat-map-q7Vf_dog.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-Dq8qUOOT.js → chart-kpi-delta-PEuA3iGs.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-Dq8qUOOT.js.map → chart-kpi-delta-PEuA3iGs.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-DgiqTi9g.js → chart-kpi-number-DlxrO6Pq.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-DgiqTi9g.js.map → chart-kpi-number-DlxrO6Pq.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-CsZMVEnM.js → chart-kpi-text-Cx6cJu2s.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-CsZMVEnM.js.map → chart-kpi-text-Cx6cJu2s.js.map} +1 -1
- package/dist/client/chunks/{chart-line-DlwOB7C7.js → chart-line-pDe25JzB.js} +3 -3
- package/dist/client/chunks/{chart-line-DlwOB7C7.js.map → chart-line-pDe25JzB.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-DPE34SjC.js → chart-markdown-CRY15yp0.js} +2 -2
- package/dist/client/chunks/{chart-markdown-DPE34SjC.js.map → chart-markdown-CRY15yp0.js.map} +1 -1
- package/dist/client/chunks/{chart-measure-profile-BpTz1fce.js → chart-measure-profile-DyQ-vvuC.js} +3 -3
- package/dist/client/chunks/{chart-measure-profile-BpTz1fce.js.map → chart-measure-profile-DyQ-vvuC.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-FGw66XAH.js → chart-pie-ZrnBycy1.js} +15 -15
- package/dist/client/chunks/{chart-pie-FGw66XAH.js.map → chart-pie-ZrnBycy1.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-D-eRDoiA.js → chart-radar-BXbnYMUJ.js} +13 -13
- package/dist/client/chunks/{chart-radar-D-eRDoiA.js.map → chart-radar-BXbnYMUJ.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-DgtkNTs3.js → chart-radial-bar-CYxH3ryh.js} +3 -3
- package/dist/client/chunks/{chart-radial-bar-DgtkNTs3.js.map → chart-radial-bar-CYxH3ryh.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-D0hhb_EQ.js → chart-sankey-C9R_TDDh.js} +2 -2
- package/dist/client/chunks/{chart-sankey-D0hhb_EQ.js.map → chart-sankey-C9R_TDDh.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-D9EcAiMQ.js → chart-scatter-DrwRkzzl.js} +3 -3
- package/dist/client/chunks/{chart-scatter-D9EcAiMQ.js.map → chart-scatter-DrwRkzzl.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-DCYmJ5DU.js → chart-sunburst-Bs1yqIPp.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-DCYmJ5DU.js.map → chart-sunburst-Bs1yqIPp.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-D_ACSSiB.js → chart-tree-map-BNjHhhVq.js} +3 -3
- package/dist/client/chunks/{chart-tree-map-D_ACSSiB.js.map → chart-tree-map-BNjHhhVq.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-CVUVNa1R.js → chart-waterfall-CyoC0uLT.js} +3 -3
- package/dist/client/chunks/{chart-waterfall-CVUVNa1R.js.map → chart-waterfall-CyoC0uLT.js.map} +1 -1
- package/dist/client/chunks/charts-core-DCQ7od_L.js +190 -0
- package/dist/client/chunks/charts-core-DCQ7od_L.js.map +1 -0
- package/dist/client/chunks/charts-loader-Bya_zDIA.js +86 -0
- package/dist/client/chunks/charts-loader-Bya_zDIA.js.map +1 -0
- package/dist/client/chunks/{en-US-BE6VoG0o.js → en-US-HP6FHuNy.js} +3 -1
- package/dist/client/chunks/{en-US-BE6VoG0o.js.map → en-US-HP6FHuNy.js.map} +1 -1
- package/dist/client/chunks/{exceljs.min-DWC_b8G9.js → exceljs.min-CiByP8VQ.js} +2 -3
- package/dist/client/chunks/{exceljs.min-DWC_b8G9.js.map → exceljs.min-CiByP8VQ.js.map} +1 -1
- package/dist/client/chunks/{nl-NL-DFLVORiD.js → nl-NL-CEdoCz6Q.js} +54 -1
- package/dist/client/chunks/nl-NL-CEdoCz6Q.js.map +1 -0
- package/dist/client/chunks/{schema-visualization-C6g_LCiA.js → schema-visualization-DfXxFBIY.js} +3 -3
- package/dist/client/chunks/{schema-visualization-C6g_LCiA.js.map → schema-visualization-DfXxFBIY.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-ZfChDEd3.js → useDirtyStateTracking-BFJHiiVK.js} +15 -15
- package/dist/client/chunks/{useDirtyStateTracking-ZfChDEd3.js.map → useDirtyStateTracking-BFJHiiVK.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-im9e1rVb.js → useExplainAI-_C4WQE5I.js} +16 -16
- package/dist/client/chunks/{useExplainAI-im9e1rVb.js.map → useExplainAI-_C4WQE5I.js.map} +1 -1
- package/dist/client/chunks/{vendor-Qa1s8oSX.js → vendor-Gb3lH0cc.js} +49 -49
- package/dist/client/chunks/vendor-Gb3lH0cc.js.map +1 -0
- package/dist/client/client/CubeClient.d.ts +11 -1
- package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +4 -2
- package/dist/client/components/AnalysisBuilder/ColumnFormatsEditor.d.ts +10 -0
- package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +3 -2
- package/dist/client/components/AnalysisBuilder/utils/queryUtils.d.ts +7 -1
- package/dist/client/components/analyticsPortlet/PortletChart.d.ts +2 -1
- package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +4 -1
- package/dist/client/components/analyticsPortlet/usePortletDeadMembers.d.ts +24 -0
- package/dist/client/components/analyticsPortlet/usePortletPagination.d.ts +21 -0
- package/dist/client/components/charts/RecordsTable.config.d.ts +10 -0
- package/dist/client/components/charts/RecordsTable.d.ts +4 -0
- package/dist/client/components/charts/recordsTableHooks.d.ts +68 -0
- package/dist/client/components.js +1 -1
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons/types.d.ts +1 -0
- package/dist/client/icons.js +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +213 -213
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/types.d.ts +92 -1
- package/dist/client/utils/recordsTableUtils.d.ts +71 -0
- package/dist/client/utils/rowLinkUtils.d.ts +35 -0
- package/dist/client/utils.js +14 -14
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +109 -109
- package/dist/server/adapters/base-adapter.d.ts +46 -0
- package/dist/server/adapters/databend-adapter.d.ts +5 -0
- package/dist/server/adapters/duckdb-adapter.d.ts +5 -0
- package/dist/server/adapters/mysql-adapter.d.ts +14 -0
- package/dist/server/adapters/postgres-adapter.d.ts +15 -0
- package/dist/server/adapters/snowflake-adapter.d.ts +6 -0
- package/dist/server/adapters/sqlite-adapter.d.ts +21 -0
- package/dist/server/agent/chart-validation.d.ts +1 -1
- package/dist/server/ai/chart-schema.d.ts +117 -0
- package/dist/server/ai/discovery-helpers.d.ts +14 -0
- package/dist/server/ai/discovery.d.ts +6 -0
- package/dist/server/ai/query-schema.d.ts +1 -1
- package/dist/server/attribute-dimensions.d.ts +102 -0
- package/dist/server/builders/group-by-builder.d.ts +15 -0
- package/dist/server/cache-utils.d.ts +5 -1
- package/dist/server/compiler-metadata.d.ts +24 -3
- package/dist/server/compiler.d.ts +159 -13
- package/dist/server/execution/query-result-cache.d.ts +1 -1
- package/dist/server/executor.d.ts +15 -0
- package/dist/{adapters/google-eKAc20al.js → server/google-DRY7jnOh.js} +46 -28
- package/dist/server/{google-BhvizbFR.cjs → google-PsZzwedr.cjs} +2 -2
- package/dist/server/index.cjs +42 -38
- package/dist/server/index.d.ts +13 -3
- package/dist/server/index.js +2079 -1573
- package/dist/server/{openai-Czk1BdHa.js → openai-6uUf7h-5.js} +1 -1
- package/dist/server/{openai-DBwI1OSu.cjs → openai-BBe1XbZd.cjs} +1 -1
- package/dist/server/{openai-Cu4TXXjl.cjs → openai-BmADmD1e.cjs} +1 -1
- package/dist/server/{openai-CUf4vc3Q.js → openai-C1gLuR-0.js} +1 -1
- package/dist/server/query-handlers.d.ts +2 -1
- package/dist/server/query-validator.d.ts +36 -4
- package/dist/server/types/core.d.ts +13 -0
- package/dist/server/types/cube.d.ts +39 -2
- package/dist/server/types/query.d.ts +8 -0
- package/package.json +2 -2
- package/dist/adapters/ActivityGridChart.config-D6hhj345.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-QZKs_NYg.js +0 -2
- package/dist/adapters/AreaChart.config-B5XM6G22.js +0 -2
- package/dist/adapters/AreaChart.config-NP34BH5y.cjs +0 -1
- package/dist/adapters/BarChart.config-Bqlmr81N.js +0 -2
- package/dist/adapters/BarChart.config-C3bw-cAP.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-BOAvoj6x.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-CTXiycYY.js +0 -2
- package/dist/adapters/BubbleChart.config-CGFIkl4H.cjs +0 -1
- package/dist/adapters/BubbleChart.config-Njxx4Eq1.js +0 -2
- package/dist/adapters/CandlestickChart.config-BZ_yWaSo.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-D4Svhmef.js +0 -2
- package/dist/adapters/DataTable.config-B-bT9puT.js +0 -2
- package/dist/adapters/DataTable.config-BHtt1cPM.cjs +0 -1
- package/dist/adapters/FunnelChart.config-C1e07O7B.cjs +0 -1
- package/dist/adapters/FunnelChart.config-CVEy0tV9.js +0 -2
- package/dist/adapters/GaugeChart.config-5PLNlQlu.js +0 -2
- package/dist/adapters/GaugeChart.config-Cdv6knjZ.cjs +0 -1
- package/dist/adapters/HeatMapChart.config-MGTfYpWJ.js +0 -2
- package/dist/adapters/HeatMapChart.config-jfBEi1ZI.cjs +0 -1
- package/dist/adapters/KpiDelta.config-D2IUsEYz.cjs +0 -1
- package/dist/adapters/KpiDelta.config-DT_MmAHw.js +0 -2
- package/dist/adapters/KpiNumber.config-ChgbKmx8.cjs +0 -1
- package/dist/adapters/KpiNumber.config-CvZ_FhyL.js +0 -2
- package/dist/adapters/KpiText.config-Bgkw8gr2.js +0 -2
- package/dist/adapters/KpiText.config-Bz9orqt6.cjs +0 -1
- package/dist/adapters/LineChart.config-BVew35dI.cjs +0 -1
- package/dist/adapters/LineChart.config-DSCCKXNg.js +0 -2
- package/dist/adapters/MarkdownChart.config-Bu6XUuhI.js +0 -2
- package/dist/adapters/MarkdownChart.config-E4aSVTf3.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-BF249hc_.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-lERVe38G.js +0 -2
- package/dist/adapters/PieChart.config-7Ujwp8R5.cjs +0 -1
- package/dist/adapters/PieChart.config-jQl2HIcA.js +0 -2
- package/dist/adapters/ProportionBarChart.config-o0w_Pnlt.js +0 -2
- package/dist/adapters/ProportionBarChart.config-phNohhhY.cjs +0 -1
- package/dist/adapters/RadarChart.config-BmrYBd9x.js +0 -2
- package/dist/adapters/RadarChart.config-Dlt3UflG.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-CeEm8xRb.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-Dishh6bC.js +0 -2
- package/dist/adapters/RetentionCombinedChart.config-BaD4ev85.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-m2FjBUi9.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-DiMplGdk.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-Dp6oYwQZ.cjs +0 -1
- package/dist/adapters/SankeyChart.config-C4Y6qzCS.cjs +0 -1
- package/dist/adapters/SankeyChart.config-CJHqgjQ1.js +0 -2
- package/dist/adapters/ScatterChart.config-C0QqvDrN.cjs +0 -1
- package/dist/adapters/ScatterChart.config-DywOsWPW.js +0 -2
- package/dist/adapters/SunburstChart.config-DE8RxpDR.cjs +0 -1
- package/dist/adapters/SunburstChart.config-DohowrO3.js +0 -2
- package/dist/adapters/TreeMapChart.config-D2gXz-zC.cjs +0 -1
- package/dist/adapters/TreeMapChart.config-HMlI29GG.js +0 -2
- package/dist/adapters/WaterfallChart.config-BO2WV2VB.js +0 -2
- package/dist/adapters/WaterfallChart.config-CzwGiheB.cjs +0 -1
- package/dist/adapters/compiler-BNjqYdmc.cjs +0 -166
- package/dist/adapters/core-CzFfrJzu.cjs +0 -1
- package/dist/adapters/handler-m6WgA9xu.cjs +0 -25
- package/dist/adapters/mcp-transport-B0b27YUB.cjs +0 -40
- package/dist/adapters/mcp-transport-BXyA4dTk.js +0 -603
- package/dist/adapters/utils-BoOeig94.cjs +0 -128
- package/dist/client/chunks/DashboardEditModal-BOfLdTgV.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-CEvHIlmk.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-4jfS8khG.js.map +0 -1
- package/dist/client/chunks/chart-data-table-DoDHQRe7.js.map +0 -1
- package/dist/client/chunks/charts-core-BPD_hLaL.js +0 -215
- package/dist/client/chunks/charts-core-BPD_hLaL.js.map +0 -1
- package/dist/client/chunks/charts-loader-CwMcOfwT.js +0 -85
- package/dist/client/chunks/charts-loader-CwMcOfwT.js.map +0 -1
- package/dist/client/chunks/nl-NL-DFLVORiD.js.map +0 -1
- package/dist/client/chunks/vendor-Qa1s8oSX.js.map +0 -1
package/dist/client/chunks/{ProportionBarChart-DwoXU5VP.js → ProportionBarChart-qfpAWhIg.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { D as r, O as i, k as a, s as o } from "./chart-area-
|
|
1
|
+
import { F as e, S as t, w as n } from "./chart-activity-grid-DO82rrbW.js";
|
|
2
|
+
import { D as r, O as i, k as a, s as o } from "./chart-area-9SBeG0GM.js";
|
|
3
3
|
import s, { useMemo as c } from "react";
|
|
4
4
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
5
5
|
//#region src/client/components/charts/ProportionBarChart.tsx
|
|
@@ -106,4 +106,4 @@ var d = s.memo(function({ data: s, chartConfig: d, displayConfig: f = {}, height
|
|
|
106
106
|
//#endregion
|
|
107
107
|
export { d as default };
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=ProportionBarChart-
|
|
109
|
+
//# sourceMappingURL=ProportionBarChart-qfpAWhIg.js.map
|
package/dist/client/chunks/{ProportionBarChart-DwoXU5VP.js.map → ProportionBarChart-qfpAWhIg.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProportionBarChart-
|
|
1
|
+
{"version":3,"file":"ProportionBarChart-qfpAWhIg.js","names":[],"sources":["../../../src/client/components/charts/ProportionBarChart.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport { useTranslation } from '../../hooks/useTranslation.js'\nimport { useCubeFieldLabel } from '../../hooks/useCubeFieldLabel.js'\nimport { ChartEmptyState, ChartConfigError, ChartRenderError } from './ChartStates.js'\nimport { getSeriesColor } from './cartesianChartHelpers.js'\nimport { formatAxisValue } from '../../utils/chartUtils.js'\nimport type { ChartProps } from '../../types.js'\n\ninterface Segment {\n /**\n * React key. Category labels are not reliably unique - a query can return\n * duplicates, and every null collapses to the same empty string - so the key\n * is tied to the source row instead. Stable across sorting, which reorders\n * the segments under the same identity.\n */\n id: string\n label: string\n value: number\n share: number\n color: string\n}\n\n/**\n * A single 100%-wide stacked bar plus a labelled percentage legend.\n *\n * A flatter alternative to a pie chart for part-to-whole breakdowns: shares are\n * far easier to compare along one axis than as angles, and it costs a fraction\n * of the vertical space. Deliberately plain HTML rather than Recharts — there is\n * no axis, scale or interaction to justify an SVG chart.\n */\nconst ProportionBarChart = React.memo(function ProportionBarChart({\n data,\n chartConfig,\n displayConfig = {},\n height = '100%',\n colorPalette\n}: ChartProps) {\n const { t } = useTranslation()\n const getFieldLabel = useCubeFieldLabel()\n\n const categoryField = useMemo(() => {\n const x = chartConfig?.xAxis\n return (Array.isArray(x) ? x[0] : x) || ''\n }, [chartConfig?.xAxis])\n\n const valueField = useMemo(() => {\n const y = chartConfig?.yAxis\n return (Array.isArray(y) ? y[0] : y) || ''\n }, [chartConfig?.yAxis])\n\n const sortSegments = displayConfig.sortSegments ?? false\n\n const { segments, total } = useMemo(() => {\n if (!data || !categoryField || !valueField) return { segments: [] as Segment[], total: 0 }\n\n const rows = data\n .map((row: any, sourceIndex: number) => {\n const raw = row?.[valueField]\n const num = typeof raw === 'number' ? raw : parseFloat(String(raw))\n const label = String(row?.[categoryField] ?? '')\n return {\n id: `${sourceIndex}:${label}`,\n label,\n // Negative shares cannot be drawn in a part-to-whole bar.\n value: !isNaN(num) && isFinite(num) && num > 0 ? num : 0\n }\n })\n .filter((row) => row.value > 0)\n\n if (sortSegments) rows.sort((a, b) => b.value - a.value)\n\n const sum = rows.reduce((acc, row) => acc + row.value, 0)\n return {\n total: sum,\n segments: rows.map((row, index) => ({\n ...row,\n share: sum > 0 ? (row.value / sum) * 100 : 0,\n color: getSeriesColor(colorPalette, index)\n }))\n }\n }, [data, categoryField, valueField, colorPalette, sortSegments])\n\n try {\n if (!data || data.length === 0) {\n return <ChartEmptyState height={height} hint={t('chart.runtime.noDataHint.proportionBar')} />\n }\n\n if (!categoryField || !valueField) {\n return <ChartConfigError height={height} hint={t('chart.runtime.configErrorHint.proportionBar')} />\n }\n\n if (segments.length === 0 || total === 0) {\n return (\n <ChartEmptyState\n height={height}\n titleKey=\"chart.runtime.noValidData\"\n hint={t('chart.runtime.noValidDataHint.proportionBar')}\n />\n )\n }\n\n const showLabels = displayConfig.showLabels ?? true\n const showPercentages = displayConfig.showPercentages ?? true\n const decimals = displayConfig.decimals ?? 0\n\n return (\n <div\n className=\"dc:w-full dc:h-full dc:flex dc:flex-col dc:justify-center dc:gap-3 dc:px-3 dc:py-2 dc:overflow-hidden\"\n // Fill the parent rather than the `height` prop, which is a pixel value\n // that can exceed the visible panel and push this short content low.\n style={{ height: '100%', minHeight: '80px' }}\n data-testid=\"proportion-bar\"\n >\n <div className=\"dc:flex dc:w-full dc:overflow-hidden dc:rounded-sm\" style={{ height: 10 }}>\n {segments.map((segment) => (\n <div\n key={segment.id}\n data-testid=\"proportion-bar-segment\"\n title={`${segment.label}: ${formatAxisValue(segment.value, displayConfig.leftYAxisFormat)}`}\n style={{ width: `${segment.share}%`, backgroundColor: segment.color }}\n />\n ))}\n </div>\n\n {(showLabels || showPercentages) && (\n <div className=\"dc:flex dc:flex-wrap dc:gap-x-6 dc:gap-y-2\">\n {segments.map((segment) => (\n <div key={segment.id} className=\"dc:flex dc:flex-col dc:gap-0.5 dc:min-w-0\">\n {showLabels && (\n <span\n className=\"text-dc-text-muted dc:uppercase dc:truncate dc:font-semibold\"\n style={{ fontSize: '11px', letterSpacing: '0.06em' }}\n >\n {segment.label}\n </span>\n )}\n {showPercentages && (\n <span\n className=\"dc:font-semibold dc:leading-none\"\n style={{ fontSize: '18px', color: segment.color }}\n >\n {segment.share.toFixed(decimals)}%\n </span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n )\n } catch (error) {\n return <ChartRenderError height={height} chartType={getFieldLabel(valueField)} error={error} />\n }\n})\n\nexport default ProportionBarChart\n"],"mappings":"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"}
|
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
import { i as e, y as t } from "./chart-data-table-C_oHiK6N.js";
|
|
2
|
+
import { B as n, E as r, F as i, w as a } from "./chart-activity-grid-DO82rrbW.js";
|
|
3
|
+
import { O as o } from "./chart-area-9SBeG0GM.js";
|
|
4
|
+
import s, { useCallback as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
|
|
5
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
6
|
+
//#region src/client/utils/rowLinkUtils.ts
|
|
7
|
+
var h = /\{([A-Za-z0-9_]+\.[A-Za-z0-9_]+)\}/g, g = /* @__PURE__ */ new Set(["http:", "https:"]);
|
|
8
|
+
function _(e, t, n = y()) {
|
|
9
|
+
if (!e) return null;
|
|
10
|
+
let r = !1, i = e.replace(h, (e, n) => {
|
|
11
|
+
let i = t[n];
|
|
12
|
+
return i == null ? (r = !0, "") : encodeURIComponent(String(i));
|
|
13
|
+
});
|
|
14
|
+
return r ? null : v(i, n) ? i : null;
|
|
15
|
+
}
|
|
16
|
+
function v(e, t = y()) {
|
|
17
|
+
let n = e.trim();
|
|
18
|
+
if (n === "" || /[\u0000-\u001F\u007F]/.test(n) || n.includes("\\") || n.startsWith("//")) return !1;
|
|
19
|
+
try {
|
|
20
|
+
let e = new URL(n, t);
|
|
21
|
+
return !(!g.has(e.protocol) || !/^[A-Za-z][A-Za-z0-9+.-]*:/.test(n) && e.origin !== new URL(t).origin);
|
|
22
|
+
} catch {
|
|
23
|
+
return !1;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function y() {
|
|
27
|
+
return typeof window < "u" && window.location?.origin ? window.location.origin : "http://localhost";
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/client/utils/recordsTableUtils.ts
|
|
31
|
+
var b = "dc-records-table-column-widths", x = "dc-records-table-column-order";
|
|
32
|
+
function S(e) {
|
|
33
|
+
return [...e].sort().join("|");
|
|
34
|
+
}
|
|
35
|
+
function C(e) {
|
|
36
|
+
try {
|
|
37
|
+
let t = localStorage.getItem(b);
|
|
38
|
+
return t ? JSON.parse(t)[e] ?? {} : {};
|
|
39
|
+
} catch {
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function w(e, t) {
|
|
44
|
+
try {
|
|
45
|
+
let n = localStorage.getItem(b), r = n ? JSON.parse(n) : {};
|
|
46
|
+
r[e] = t, localStorage.setItem(b, JSON.stringify(r));
|
|
47
|
+
} catch {}
|
|
48
|
+
}
|
|
49
|
+
function T(e) {
|
|
50
|
+
try {
|
|
51
|
+
let t = localStorage.getItem(x);
|
|
52
|
+
if (!t) return [];
|
|
53
|
+
let n = JSON.parse(t)[e];
|
|
54
|
+
return Array.isArray(n) ? n : [];
|
|
55
|
+
} catch {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function E(e, t) {
|
|
60
|
+
try {
|
|
61
|
+
let n = localStorage.getItem(x), r = n ? JSON.parse(n) : {};
|
|
62
|
+
r[e] = t, localStorage.setItem(x, JSON.stringify(r));
|
|
63
|
+
} catch {}
|
|
64
|
+
}
|
|
65
|
+
function D(e, t) {
|
|
66
|
+
if (t.length === 0) return e;
|
|
67
|
+
let n = new Set(e), r = t.filter((e) => n.has(e)), i = e.filter((e) => !r.includes(e));
|
|
68
|
+
return [...r, ...i];
|
|
69
|
+
}
|
|
70
|
+
function O(e, t, n) {
|
|
71
|
+
let r = e.indexOf(t), i = e.indexOf(n);
|
|
72
|
+
if (r === -1 || i === -1 || r === i) return e;
|
|
73
|
+
let a = [...e];
|
|
74
|
+
return a.splice(r, 1), a.splice(i, 0, t), a;
|
|
75
|
+
}
|
|
76
|
+
var k = {
|
|
77
|
+
kind: "text",
|
|
78
|
+
text: ""
|
|
79
|
+
};
|
|
80
|
+
function A(e, t) {
|
|
81
|
+
return W(e) ? k : (j[t?.kind ?? "text"] ?? M)(e, t);
|
|
82
|
+
}
|
|
83
|
+
var j = {
|
|
84
|
+
text: M,
|
|
85
|
+
number: N,
|
|
86
|
+
date: P,
|
|
87
|
+
badge: I,
|
|
88
|
+
progress: R
|
|
89
|
+
};
|
|
90
|
+
function M(e) {
|
|
91
|
+
return {
|
|
92
|
+
kind: "text",
|
|
93
|
+
text: B(e)
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function N(e, t) {
|
|
97
|
+
let n = V(e);
|
|
98
|
+
return n === null ? {
|
|
99
|
+
kind: "text",
|
|
100
|
+
text: String(e)
|
|
101
|
+
} : {
|
|
102
|
+
kind: "text",
|
|
103
|
+
text: a(n, t?.numberFormat ?? {})
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function P(e, t) {
|
|
107
|
+
return {
|
|
108
|
+
kind: "text",
|
|
109
|
+
text: r(e, t?.dateGranularity)
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function F(e) {
|
|
113
|
+
return Array.isArray(e?.badgeColors) ? e.badgeColors.filter((e) => e && typeof e.colorIndex == "number") : [];
|
|
114
|
+
}
|
|
115
|
+
function I(e, t) {
|
|
116
|
+
let n = B(e);
|
|
117
|
+
return {
|
|
118
|
+
kind: "badge",
|
|
119
|
+
text: n,
|
|
120
|
+
colorIndex: F(t)?.find((e) => e.value === n)?.colorIndex
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
var L = {
|
|
124
|
+
unit: "number",
|
|
125
|
+
abbreviate: !1,
|
|
126
|
+
decimals: 0
|
|
127
|
+
};
|
|
128
|
+
function R(e, t) {
|
|
129
|
+
let n = V(e);
|
|
130
|
+
return n === null ? {
|
|
131
|
+
kind: "text",
|
|
132
|
+
text: String(e)
|
|
133
|
+
} : {
|
|
134
|
+
kind: "progress",
|
|
135
|
+
fraction: z(n, t),
|
|
136
|
+
style: t?.progressStyle ?? "bar",
|
|
137
|
+
text: a(n, t?.numberFormat ?? L)
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
function z(e, t) {
|
|
141
|
+
let n = t?.progressMin ?? 0, r = (t?.progressMax ?? 100) - n;
|
|
142
|
+
return r === 0 ? 1 : H((e - n) / r, 0, 1);
|
|
143
|
+
}
|
|
144
|
+
function B(e) {
|
|
145
|
+
return typeof e == "boolean" ? e ? "true" : "false" : typeof e == "number" ? e.toLocaleString() : e instanceof Date ? e.toISOString() : String(e);
|
|
146
|
+
}
|
|
147
|
+
function V(e) {
|
|
148
|
+
if (typeof e == "number") return Number.isFinite(e) ? e : null;
|
|
149
|
+
if (typeof e == "string" && e.trim() !== "") {
|
|
150
|
+
let t = Number(e);
|
|
151
|
+
return Number.isFinite(t) ? t : null;
|
|
152
|
+
}
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
function H(e, t, n) {
|
|
156
|
+
return Math.min(n, Math.max(t, e));
|
|
157
|
+
}
|
|
158
|
+
function U(e, t, n) {
|
|
159
|
+
let r = n === "asc" ? 1 : -1;
|
|
160
|
+
return [...e].sort((e, n) => {
|
|
161
|
+
let i = W(e[t]), a = W(n[t]);
|
|
162
|
+
return i || a ? i && a ? 0 : i ? 1 : -1 : r * G(e[t], n[t]);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function W(e) {
|
|
166
|
+
return e == null || e === "";
|
|
167
|
+
}
|
|
168
|
+
function G(e, t) {
|
|
169
|
+
let n = V(e), r = V(t);
|
|
170
|
+
return n !== null && r !== null ? n - r : String(e).localeCompare(String(t));
|
|
171
|
+
}
|
|
172
|
+
function ee(e) {
|
|
173
|
+
let { rows: t, chartConfig: n, queryObject: r } = e, i = u(() => K(t, n, r), [
|
|
174
|
+
t,
|
|
175
|
+
n,
|
|
176
|
+
r
|
|
177
|
+
]), a = u(() => S(i), [i]), [o, s] = f([]);
|
|
178
|
+
l(() => {
|
|
179
|
+
s(T(a));
|
|
180
|
+
}, [a]);
|
|
181
|
+
let p = u(() => D(i, o), [i, o]), [m, h] = f(null), g = d(!1), _ = c((e) => {
|
|
182
|
+
g.current = !0, h(e);
|
|
183
|
+
}, []), v = c(() => {
|
|
184
|
+
h(null), requestAnimationFrame(() => {
|
|
185
|
+
g.current = !1;
|
|
186
|
+
});
|
|
187
|
+
}, []);
|
|
188
|
+
return {
|
|
189
|
+
columns: p,
|
|
190
|
+
storageKey: a,
|
|
191
|
+
draggedColumn: m,
|
|
192
|
+
didDragRef: g,
|
|
193
|
+
startColumnDrag: _,
|
|
194
|
+
endColumnDrag: v,
|
|
195
|
+
dropColumn: c((e) => {
|
|
196
|
+
let t = m;
|
|
197
|
+
if (v(), !t || t === e) return;
|
|
198
|
+
let n = O(p, t, e);
|
|
199
|
+
s(n), E(a, n);
|
|
200
|
+
}, [
|
|
201
|
+
p,
|
|
202
|
+
m,
|
|
203
|
+
v,
|
|
204
|
+
a
|
|
205
|
+
])
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function K(t, n, r) {
|
|
209
|
+
let i = Object.keys(t[0] ?? {}), a = new Set(n?.hiddenColumns ?? []), o = n?.columns?.filter((e) => i.includes(e));
|
|
210
|
+
if (o && o.length > 0) return o.filter((e) => !a.has(e));
|
|
211
|
+
let s = e(r).filter((e) => i.includes(e));
|
|
212
|
+
return (s.length > 0 ? [...s, ...i.filter((e) => !s.includes(e))] : i).filter((e) => !a.has(e));
|
|
213
|
+
}
|
|
214
|
+
function te(e) {
|
|
215
|
+
let { columns: t, storageKey: n, authored: r } = e, [i, a] = f({}), o = d(null), s = d(!1);
|
|
216
|
+
l(() => {
|
|
217
|
+
a({
|
|
218
|
+
...r ?? {},
|
|
219
|
+
...C(n)
|
|
220
|
+
});
|
|
221
|
+
}, [n, r]);
|
|
222
|
+
let u = c((e, r) => {
|
|
223
|
+
e.preventDefault(), e.stopPropagation();
|
|
224
|
+
let i = e.clientX;
|
|
225
|
+
s.current = !1;
|
|
226
|
+
let c = {};
|
|
227
|
+
o.current?.querySelectorAll("thead th").forEach((e, n) => {
|
|
228
|
+
let r = t[n];
|
|
229
|
+
r && (c[r] = e.getBoundingClientRect().width);
|
|
230
|
+
});
|
|
231
|
+
let l = c[r] ?? 160, u = c, d = (e) => {
|
|
232
|
+
let t = e.clientX - i;
|
|
233
|
+
Math.abs(t) > 2 && (s.current = !0), u = {
|
|
234
|
+
...u,
|
|
235
|
+
[r]: Math.max(60, l + t)
|
|
236
|
+
}, a(u);
|
|
237
|
+
}, f = () => {
|
|
238
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", f), document.body.style.cursor = "", document.body.style.userSelect = "", w(n, u), requestAnimationFrame(() => {
|
|
239
|
+
s.current = !1;
|
|
240
|
+
});
|
|
241
|
+
};
|
|
242
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", f), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
|
|
243
|
+
}, [t, n]);
|
|
244
|
+
return {
|
|
245
|
+
columnWidths: i,
|
|
246
|
+
totalWidth: Object.keys(i).length > 0 ? t.reduce((e, t) => e + (i[t] ?? 160), 0) : void 0,
|
|
247
|
+
tableRef: o,
|
|
248
|
+
didResizeRef: s,
|
|
249
|
+
startResize: u
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
function ne(e) {
|
|
253
|
+
let { rows: t, pagination: n, authoredPageSize: r } = e, [i, a] = f(null), [o, s] = f(0), d = !!n, p = n ? n.sort ?? null : i, m = c((e) => {
|
|
254
|
+
if (n) {
|
|
255
|
+
n.toggleSort(e);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
a((t) => t?.column === e ? t.direction === "asc" ? {
|
|
259
|
+
column: e,
|
|
260
|
+
direction: "desc"
|
|
261
|
+
} : null : {
|
|
262
|
+
column: e,
|
|
263
|
+
direction: "asc"
|
|
264
|
+
});
|
|
265
|
+
}, [n]), h = u(() => !d && i ? U(t, i.column, i.direction) : t, [
|
|
266
|
+
t,
|
|
267
|
+
d,
|
|
268
|
+
i
|
|
269
|
+
]), g = n?.pageSize ?? r ?? 25, _ = n?.page ?? o, v = d ? n?.total ?? _ * g + h.length : h.length, y = Math.max(1, Math.ceil(v / g)), b = c((e) => {
|
|
270
|
+
n ? n.setPage(e) : s(e);
|
|
271
|
+
}, [n]);
|
|
272
|
+
return l(() => {
|
|
273
|
+
d || s((e) => Math.min(e, y - 1));
|
|
274
|
+
}, [y, d]), {
|
|
275
|
+
sort: p,
|
|
276
|
+
toggleSort: m,
|
|
277
|
+
visibleRows: u(() => d ? h : h.slice(_ * g, _ * g + g), [
|
|
278
|
+
h,
|
|
279
|
+
d,
|
|
280
|
+
_,
|
|
281
|
+
g
|
|
282
|
+
]),
|
|
283
|
+
page: _,
|
|
284
|
+
pageSize: g,
|
|
285
|
+
pageCount: y,
|
|
286
|
+
rowCount: v,
|
|
287
|
+
goToPage: b,
|
|
288
|
+
showPager: v > g
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
//#endregion
|
|
292
|
+
//#region src/client/components/charts/RecordsTable.tsx
|
|
293
|
+
var q = t("chevronUp"), re = t("chevronDown"), ie = s.memo(function({ data: e, chartConfig: t, displayConfig: r = {}, queryObject: a, colorPalette: s, height: l = 300, onDataPointClick: d, drillEnabled: f, pagination: h }) {
|
|
294
|
+
let { t: g } = i(), { getFieldLabel: v } = n(), y = u(() => Array.isArray(e) ? e : [], [e]), b = r.columnFormats ?? {}, { columns: x, storageKey: S, draggedColumn: C, didDragRef: w, startColumnDrag: T, endColumnDrag: E, dropColumn: D } = ee({
|
|
295
|
+
rows: y,
|
|
296
|
+
chartConfig: t,
|
|
297
|
+
queryObject: a
|
|
298
|
+
}), { columnWidths: O, totalWidth: k, tableRef: A, didResizeRef: j, startResize: M } = te({
|
|
299
|
+
columns: x,
|
|
300
|
+
storageKey: S,
|
|
301
|
+
authored: r.columnWidths
|
|
302
|
+
}), { sort: N, toggleSort: P, visibleRows: F, page: I, pageSize: L, pageCount: R, rowCount: z, goToPage: B, showPager: V } = ne({
|
|
303
|
+
rows: y,
|
|
304
|
+
pagination: h,
|
|
305
|
+
authoredPageSize: r.pageSize
|
|
306
|
+
}), H = c((e) => {
|
|
307
|
+
j.current || w.current || P(e);
|
|
308
|
+
}, [
|
|
309
|
+
w,
|
|
310
|
+
j,
|
|
311
|
+
P
|
|
312
|
+
]), U = r.rowLink, W = !!(!U && f && d), G = c((e, t, n) => {
|
|
313
|
+
W && d?.({
|
|
314
|
+
dataPoint: e,
|
|
315
|
+
clickedField: t,
|
|
316
|
+
xValue: e[t],
|
|
317
|
+
position: {
|
|
318
|
+
x: n.clientX,
|
|
319
|
+
y: n.clientY
|
|
320
|
+
},
|
|
321
|
+
nativeEvent: n
|
|
322
|
+
});
|
|
323
|
+
}, [d, W]);
|
|
324
|
+
if (y.length === 0) return /* @__PURE__ */ p(o, {
|
|
325
|
+
height: l,
|
|
326
|
+
hint: g("chart.runtime.noDataHint.table")
|
|
327
|
+
});
|
|
328
|
+
if (x.length === 0) return /* @__PURE__ */ p(o, {
|
|
329
|
+
height: l,
|
|
330
|
+
titleKey: "chart.runtime.recordsTable.noColumns",
|
|
331
|
+
hint: g("chart.runtime.table.invalidStructure")
|
|
332
|
+
});
|
|
333
|
+
let K = I * L + 1, q = Math.min(z, I * L + F.length);
|
|
334
|
+
return /* @__PURE__ */ m("div", {
|
|
335
|
+
className: "dc:flex dc:flex-col dc:w-full",
|
|
336
|
+
style: { height: l },
|
|
337
|
+
children: [/* @__PURE__ */ p("div", {
|
|
338
|
+
className: "dc:flex-1 dc:overflow-auto",
|
|
339
|
+
children: /* @__PURE__ */ m("table", {
|
|
340
|
+
ref: A,
|
|
341
|
+
className: "dc:border-collapse",
|
|
342
|
+
style: {
|
|
343
|
+
tableLayout: "fixed",
|
|
344
|
+
width: k,
|
|
345
|
+
minWidth: "100%"
|
|
346
|
+
},
|
|
347
|
+
children: [
|
|
348
|
+
/* @__PURE__ */ p("colgroup", { children: x.map((e) => /* @__PURE__ */ p("col", { style: { width: O[e] ?? 160 } }, e)) }),
|
|
349
|
+
/* @__PURE__ */ p("thead", {
|
|
350
|
+
className: "bg-dc-surface-secondary dc:sticky dc:top-0 dc:z-20",
|
|
351
|
+
children: /* @__PURE__ */ p("tr", { children: x.map((e) => /* @__PURE__ */ p(ae, {
|
|
352
|
+
column: e,
|
|
353
|
+
label: b[e]?.label || v(e),
|
|
354
|
+
align: b[e]?.align ?? J(b[e]),
|
|
355
|
+
sortDirection: N?.column === e ? N.direction : void 0,
|
|
356
|
+
isDropTarget: C !== null && C !== e,
|
|
357
|
+
onClick: H,
|
|
358
|
+
onResizeStart: M,
|
|
359
|
+
onDragStart: T,
|
|
360
|
+
onDragEnd: E,
|
|
361
|
+
onDrop: D
|
|
362
|
+
}, e)) })
|
|
363
|
+
}),
|
|
364
|
+
/* @__PURE__ */ p("tbody", {
|
|
365
|
+
className: "bg-dc-surface",
|
|
366
|
+
children: F.map((e, t) => /* @__PURE__ */ p(oe, {
|
|
367
|
+
row: e,
|
|
368
|
+
columns: x,
|
|
369
|
+
columnFormats: b,
|
|
370
|
+
colorPalette: s,
|
|
371
|
+
href: U ? _(U.urlTemplate, e) : null,
|
|
372
|
+
target: U?.target,
|
|
373
|
+
clickable: W,
|
|
374
|
+
onCellClick: G
|
|
375
|
+
}, t))
|
|
376
|
+
})
|
|
377
|
+
]
|
|
378
|
+
})
|
|
379
|
+
}), V && /* @__PURE__ */ m("div", {
|
|
380
|
+
className: "dc:flex dc:items-center dc:justify-between dc:gap-2 dc:px-3 dc:py-1.5 dc:border-t border-dc-border dc:text-xs text-dc-text-secondary",
|
|
381
|
+
children: [/* @__PURE__ */ p("span", { children: g("chart.runtime.recordsTable.rowRange", {
|
|
382
|
+
from: K,
|
|
383
|
+
to: q,
|
|
384
|
+
total: z
|
|
385
|
+
}) }), /* @__PURE__ */ m("div", {
|
|
386
|
+
className: "dc:flex dc:items-center dc:gap-1",
|
|
387
|
+
children: [
|
|
388
|
+
/* @__PURE__ */ p($, {
|
|
389
|
+
label: g("chart.runtime.recordsTable.previousPage"),
|
|
390
|
+
disabled: I === 0,
|
|
391
|
+
onClick: () => B(Math.max(0, I - 1)),
|
|
392
|
+
children: "‹"
|
|
393
|
+
}),
|
|
394
|
+
/* @__PURE__ */ p("span", { children: g("chart.runtime.recordsTable.pageOf", {
|
|
395
|
+
page: I + 1,
|
|
396
|
+
pages: R
|
|
397
|
+
}) }),
|
|
398
|
+
/* @__PURE__ */ p($, {
|
|
399
|
+
label: g("chart.runtime.recordsTable.nextPage"),
|
|
400
|
+
disabled: I >= R - 1,
|
|
401
|
+
onClick: () => B(Math.min(R - 1, I + 1)),
|
|
402
|
+
children: "›"
|
|
403
|
+
})
|
|
404
|
+
]
|
|
405
|
+
})]
|
|
406
|
+
})]
|
|
407
|
+
});
|
|
408
|
+
});
|
|
409
|
+
function J(e) {
|
|
410
|
+
return e?.kind === "number" ? "right" : "left";
|
|
411
|
+
}
|
|
412
|
+
function ae({ column: e, label: t, align: n, sortDirection: r, isDropTarget: i, onClick: a, onResizeStart: o, onDragStart: s, onDragEnd: c, onDrop: l }) {
|
|
413
|
+
return /* @__PURE__ */ m("th", {
|
|
414
|
+
draggable: !0,
|
|
415
|
+
onDragStart: (t) => {
|
|
416
|
+
t.dataTransfer.setData("text/plain", e), t.dataTransfer.effectAllowed = "move", s(e);
|
|
417
|
+
},
|
|
418
|
+
onDragOver: (e) => {
|
|
419
|
+
i && e.preventDefault();
|
|
420
|
+
},
|
|
421
|
+
onDrop: (t) => {
|
|
422
|
+
t.preventDefault(), l(e);
|
|
423
|
+
},
|
|
424
|
+
onDragEnd: c,
|
|
425
|
+
onClick: () => a(e),
|
|
426
|
+
className: `dc:relative dc:px-3 dc:py-2 dc:text-xs dc:font-medium text-dc-text-muted dc:uppercase dc:tracking-wider dc:cursor-pointer dc:select-none dc:border-b border-dc-border ${n === "right" ? "dc:text-right" : "dc:text-left"}${i ? " dc:border-l-2 border-dc-accent" : ""}`,
|
|
427
|
+
children: [/* @__PURE__ */ m("div", {
|
|
428
|
+
className: `dc:flex dc:items-center dc:gap-1.5 dc:overflow-hidden${n === "right" ? " dc:justify-end" : ""}`,
|
|
429
|
+
children: [
|
|
430
|
+
/* @__PURE__ */ p("span", {
|
|
431
|
+
className: "dc:truncate",
|
|
432
|
+
children: t
|
|
433
|
+
}),
|
|
434
|
+
r === "asc" && /* @__PURE__ */ p(q, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" }),
|
|
435
|
+
r === "desc" && /* @__PURE__ */ p(re, { className: "dc:w-3 dc:h-3 text-dc-accent dc:shrink-0" })
|
|
436
|
+
]
|
|
437
|
+
}), /* @__PURE__ */ p("div", {
|
|
438
|
+
onMouseDown: (t) => o(t, e),
|
|
439
|
+
className: "dc:absolute dc:top-0 dc:right-0 dc:w-1.5 dc:h-full dc:cursor-col-resize dc:hover:bg-dc-accent dc:opacity-0 dc:hover:opacity-100 dc:transition-opacity dc:z-30"
|
|
440
|
+
})]
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
function oe({ row: e, columns: t, columnFormats: n, colorPalette: r, href: i, target: a, clickable: o, onCellClick: s }) {
|
|
444
|
+
return /* @__PURE__ */ p("tr", {
|
|
445
|
+
className: `dc:border-b border-dc-border hover:bg-dc-surface-secondary${o ? " dc:cursor-pointer" : ""}`,
|
|
446
|
+
children: t.map((t) => {
|
|
447
|
+
let o = n[t], c = o?.align ?? J(o);
|
|
448
|
+
return /* @__PURE__ */ p("td", {
|
|
449
|
+
onClick: (n) => s(e, t, n),
|
|
450
|
+
className: `dc:px-3 dc:py-1.5 dc:text-sm text-dc-text dc:overflow-hidden${c === "right" ? " dc:text-right dc:tabular-nums" : ""}`,
|
|
451
|
+
children: /* @__PURE__ */ p(se, {
|
|
452
|
+
cell: A(e[t], o),
|
|
453
|
+
colorPalette: r,
|
|
454
|
+
href: i,
|
|
455
|
+
target: a
|
|
456
|
+
})
|
|
457
|
+
}, t);
|
|
458
|
+
})
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
function se({ cell: e, colorPalette: t, href: n, target: r }) {
|
|
462
|
+
let i = /* @__PURE__ */ p(ce, {
|
|
463
|
+
cell: e,
|
|
464
|
+
colorPalette: t
|
|
465
|
+
});
|
|
466
|
+
return n ? /* @__PURE__ */ p("a", {
|
|
467
|
+
href: n,
|
|
468
|
+
target: r === "blank" ? "_blank" : void 0,
|
|
469
|
+
rel: r === "blank" ? "noopener noreferrer" : void 0,
|
|
470
|
+
className: "dc:block dc:no-underline dc:text-inherit hover:dc:underline",
|
|
471
|
+
children: i
|
|
472
|
+
}) : i;
|
|
473
|
+
}
|
|
474
|
+
function ce({ cell: e, colorPalette: t }) {
|
|
475
|
+
if (e.kind === "badge") {
|
|
476
|
+
let n = e.colorIndex === void 0 ? void 0 : t?.colors[e.colorIndex];
|
|
477
|
+
return /* @__PURE__ */ p("span", {
|
|
478
|
+
className: "dc:inline-block dc:px-2 dc:py-0.5 dc:rounded-full dc:text-xs dc:font-medium dc:truncate dc:max-w-full",
|
|
479
|
+
style: n ? {
|
|
480
|
+
backgroundColor: `${n}22`,
|
|
481
|
+
color: n,
|
|
482
|
+
border: `1px solid ${n}55`
|
|
483
|
+
} : {
|
|
484
|
+
backgroundColor: "var(--dc-surface-secondary)",
|
|
485
|
+
color: "var(--dc-text-secondary)",
|
|
486
|
+
border: "1px solid var(--dc-border)"
|
|
487
|
+
},
|
|
488
|
+
children: e.text
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
return e.kind === "progress" ? /* @__PURE__ */ m("div", {
|
|
492
|
+
className: "dc:flex dc:items-center dc:gap-2",
|
|
493
|
+
children: [e.style === "circle" ? /* @__PURE__ */ p(le, {
|
|
494
|
+
fraction: e.fraction,
|
|
495
|
+
label: e.text
|
|
496
|
+
}) : /* @__PURE__ */ p("div", {
|
|
497
|
+
className: "dc:flex-1 dc:h-2 dc:rounded-full dc:overflow-hidden dc:border border-dc-border bg-dc-surface-secondary dc:min-w-[2rem]",
|
|
498
|
+
children: /* @__PURE__ */ p("div", {
|
|
499
|
+
className: "dc:h-full dc:rounded-full bg-dc-primary",
|
|
500
|
+
style: { width: `${e.fraction * 100}%` }
|
|
501
|
+
})
|
|
502
|
+
}), /* @__PURE__ */ p("span", {
|
|
503
|
+
className: "dc:w-16 dc:shrink-0 dc:text-right dc:text-xs dc:tabular-nums dc:truncate",
|
|
504
|
+
children: e.text
|
|
505
|
+
})]
|
|
506
|
+
}) : /* @__PURE__ */ p("span", {
|
|
507
|
+
className: "dc:truncate dc:block",
|
|
508
|
+
children: e.text
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
var Y = 18, X = 3, Z = Y / 2, Q = Z - X / 2;
|
|
512
|
+
function le({ fraction: e, label: t }) {
|
|
513
|
+
return /* @__PURE__ */ m("svg", {
|
|
514
|
+
role: "img",
|
|
515
|
+
"aria-label": t,
|
|
516
|
+
width: Y,
|
|
517
|
+
height: Y,
|
|
518
|
+
viewBox: `0 0 ${Y} ${Y}`,
|
|
519
|
+
className: "dc:shrink-0",
|
|
520
|
+
children: [/* @__PURE__ */ p("circle", {
|
|
521
|
+
cx: Z,
|
|
522
|
+
cy: Z,
|
|
523
|
+
r: Q,
|
|
524
|
+
fill: "none",
|
|
525
|
+
stroke: "var(--dc-surface-secondary)",
|
|
526
|
+
strokeWidth: X
|
|
527
|
+
}), e > 0 && /* @__PURE__ */ p("circle", {
|
|
528
|
+
cx: Z,
|
|
529
|
+
cy: Z,
|
|
530
|
+
r: Q,
|
|
531
|
+
fill: "none",
|
|
532
|
+
stroke: "var(--dc-primary)",
|
|
533
|
+
strokeWidth: X,
|
|
534
|
+
strokeLinecap: "round",
|
|
535
|
+
pathLength: 100,
|
|
536
|
+
strokeDasharray: 100,
|
|
537
|
+
strokeDashoffset: 100 - e * 100,
|
|
538
|
+
transform: `rotate(-90 ${Z} ${Z})`
|
|
539
|
+
})]
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
function $({ label: e, disabled: t, onClick: n, children: r }) {
|
|
543
|
+
return /* @__PURE__ */ p("button", {
|
|
544
|
+
type: "button",
|
|
545
|
+
"aria-label": e,
|
|
546
|
+
title: e,
|
|
547
|
+
disabled: t,
|
|
548
|
+
onClick: n,
|
|
549
|
+
className: "dc:px-2 dc:py-0.5 dc:border border-dc-border dc:rounded-sm bg-dc-surface text-dc-text hover:bg-dc-surface-secondary dc:disabled:opacity-40 dc:disabled:cursor-not-allowed",
|
|
550
|
+
children: r
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
//#endregion
|
|
554
|
+
export { ie as default };
|
|
555
|
+
|
|
556
|
+
//# sourceMappingURL=RecordsTable-KmJy94xN.js.map
|