@panoboard/core 1.1.5
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/cache/cache.d.ts +11 -0
- package/dist/cache/cache.d.ts.map +1 -0
- package/dist/cache/cache.js +42 -0
- package/dist/cache/cache.js.map +1 -0
- package/dist/cache/client.d.ts +9 -0
- package/dist/cache/client.d.ts.map +1 -0
- package/dist/cache/client.js +63 -0
- package/dist/cache/client.js.map +1 -0
- package/dist/cache/index.d.ts +4 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +17 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/keys.d.ts +2 -0
- package/dist/cache/keys.d.ts.map +1 -0
- package/dist/cache/keys.js +26 -0
- package/dist/cache/keys.js.map +1 -0
- package/dist/components/DashboardCard.d.ts +15 -0
- package/dist/components/DashboardCard.d.ts.map +1 -0
- package/dist/components/DashboardCard.js +80 -0
- package/dist/components/DashboardCard.js.map +1 -0
- package/dist/components/DashboardShell.d.ts +11 -0
- package/dist/components/DashboardShell.d.ts.map +1 -0
- package/dist/components/DashboardShell.js +115 -0
- package/dist/components/DashboardShell.js.map +1 -0
- package/dist/components/EmptyState.d.ts +6 -0
- package/dist/components/EmptyState.d.ts.map +1 -0
- package/dist/components/EmptyState.js +29 -0
- package/dist/components/EmptyState.js.map +1 -0
- package/dist/components/ErrorPage.d.ts +14 -0
- package/dist/components/ErrorPage.d.ts.map +1 -0
- package/dist/components/ErrorPage.js +132 -0
- package/dist/components/ErrorPage.js.map +1 -0
- package/dist/components/FilterBar.d.ts +8 -0
- package/dist/components/FilterBar.d.ts.map +1 -0
- package/dist/components/FilterBar.js +70 -0
- package/dist/components/FilterBar.js.map +1 -0
- package/dist/components/PanelGrid.d.ts +9 -0
- package/dist/components/PanelGrid.d.ts.map +1 -0
- package/dist/components/PanelGrid.js +26 -0
- package/dist/components/PanelGrid.js.map +1 -0
- package/dist/components/PanelWrapper.d.ts +8 -0
- package/dist/components/PanelWrapper.d.ts.map +1 -0
- package/dist/components/PanelWrapper.js +154 -0
- package/dist/components/PanelWrapper.js.map +1 -0
- package/dist/components/filters/BooleanFilter.d.ts +8 -0
- package/dist/components/filters/BooleanFilter.d.ts.map +1 -0
- package/dist/components/filters/BooleanFilter.js +36 -0
- package/dist/components/filters/BooleanFilter.js.map +1 -0
- package/dist/components/filters/CalendarGrid.d.ts +8 -0
- package/dist/components/filters/CalendarGrid.d.ts.map +1 -0
- package/dist/components/filters/CalendarGrid.js +159 -0
- package/dist/components/filters/CalendarGrid.js.map +1 -0
- package/dist/components/filters/DateRangeFilter.d.ts +10 -0
- package/dist/components/filters/DateRangeFilter.d.ts.map +1 -0
- package/dist/components/filters/DateRangeFilter.js +80 -0
- package/dist/components/filters/DateRangeFilter.js.map +1 -0
- package/dist/components/filters/FilterChips.d.ts +8 -0
- package/dist/components/filters/FilterChips.d.ts.map +1 -0
- package/dist/components/filters/FilterChips.js +94 -0
- package/dist/components/filters/FilterChips.js.map +1 -0
- package/dist/components/filters/MultiSelectFilter.d.ts +17 -0
- package/dist/components/filters/MultiSelectFilter.d.ts.map +1 -0
- package/dist/components/filters/MultiSelectFilter.js +80 -0
- package/dist/components/filters/MultiSelectFilter.js.map +1 -0
- package/dist/components/filters/NumberFilter.d.ts +10 -0
- package/dist/components/filters/NumberFilter.d.ts.map +1 -0
- package/dist/components/filters/NumberFilter.js +47 -0
- package/dist/components/filters/NumberFilter.js.map +1 -0
- package/dist/components/filters/SelectFilter.d.ts +16 -0
- package/dist/components/filters/SelectFilter.d.ts.map +1 -0
- package/dist/components/filters/SelectFilter.js +71 -0
- package/dist/components/filters/SelectFilter.js.map +1 -0
- package/dist/components/filters/TextFilter.d.ts +8 -0
- package/dist/components/filters/TextFilter.d.ts.map +1 -0
- package/dist/components/filters/TextFilter.js +57 -0
- package/dist/components/filters/TextFilter.js.map +1 -0
- package/dist/components/filters/useDropdown.d.ts +7 -0
- package/dist/components/filters/useDropdown.d.ts.map +1 -0
- package/dist/components/filters/useDropdown.js +41 -0
- package/dist/components/filters/useDropdown.js.map +1 -0
- package/dist/components/filters/useFilterUpdate.d.ts +2 -0
- package/dist/components/filters/useFilterUpdate.d.ts.map +1 -0
- package/dist/components/filters/useFilterUpdate.js +30 -0
- package/dist/components/filters/useFilterUpdate.js.map +1 -0
- package/dist/components/index.d.ts +59 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +75 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/panels/AreaChart.d.ts +7 -0
- package/dist/components/panels/AreaChart.d.ts.map +1 -0
- package/dist/components/panels/AreaChart.js +88 -0
- package/dist/components/panels/AreaChart.js.map +1 -0
- package/dist/components/panels/BarChart.d.ts +7 -0
- package/dist/components/panels/BarChart.d.ts.map +1 -0
- package/dist/components/panels/BarChart.js +99 -0
- package/dist/components/panels/BarChart.js.map +1 -0
- package/dist/components/panels/BoxPlotChart.d.ts +7 -0
- package/dist/components/panels/BoxPlotChart.d.ts.map +1 -0
- package/dist/components/panels/BoxPlotChart.js +41 -0
- package/dist/components/panels/BoxPlotChart.js.map +1 -0
- package/dist/components/panels/BulletChart.d.ts +7 -0
- package/dist/components/panels/BulletChart.d.ts.map +1 -0
- package/dist/components/panels/BulletChart.js +46 -0
- package/dist/components/panels/BulletChart.js.map +1 -0
- package/dist/components/panels/BumpChart.d.ts +7 -0
- package/dist/components/panels/BumpChart.d.ts.map +1 -0
- package/dist/components/panels/BumpChart.js +38 -0
- package/dist/components/panels/BumpChart.js.map +1 -0
- package/dist/components/panels/CalendarHeatmap.d.ts +7 -0
- package/dist/components/panels/CalendarHeatmap.d.ts.map +1 -0
- package/dist/components/panels/CalendarHeatmap.js +41 -0
- package/dist/components/panels/CalendarHeatmap.js.map +1 -0
- package/dist/components/panels/ChartTooltip.d.ts +48 -0
- package/dist/components/panels/ChartTooltip.d.ts.map +1 -0
- package/dist/components/panels/ChartTooltip.js +129 -0
- package/dist/components/panels/ChartTooltip.js.map +1 -0
- package/dist/components/panels/DonutChart.d.ts +7 -0
- package/dist/components/panels/DonutChart.d.ts.map +1 -0
- package/dist/components/panels/DonutChart.js +40 -0
- package/dist/components/panels/DonutChart.js.map +1 -0
- package/dist/components/panels/FunnelChart.d.ts +7 -0
- package/dist/components/panels/FunnelChart.d.ts.map +1 -0
- package/dist/components/panels/FunnelChart.js +32 -0
- package/dist/components/panels/FunnelChart.js.map +1 -0
- package/dist/components/panels/HeatmapChart.d.ts +7 -0
- package/dist/components/panels/HeatmapChart.d.ts.map +1 -0
- package/dist/components/panels/HeatmapChart.js +41 -0
- package/dist/components/panels/HeatmapChart.js.map +1 -0
- package/dist/components/panels/IframePanel.d.ts +6 -0
- package/dist/components/panels/IframePanel.d.ts.map +1 -0
- package/dist/components/panels/IframePanel.js +5 -0
- package/dist/components/panels/IframePanel.js.map +1 -0
- package/dist/components/panels/ImagePanel.d.ts +7 -0
- package/dist/components/panels/ImagePanel.d.ts.map +1 -0
- package/dist/components/panels/ImagePanel.js +9 -0
- package/dist/components/panels/ImagePanel.js.map +1 -0
- package/dist/components/panels/LineChart.d.ts +7 -0
- package/dist/components/panels/LineChart.d.ts.map +1 -0
- package/dist/components/panels/LineChart.js +87 -0
- package/dist/components/panels/LineChart.js.map +1 -0
- package/dist/components/panels/ListPanel.d.ts +7 -0
- package/dist/components/panels/ListPanel.d.ts.map +1 -0
- package/dist/components/panels/ListPanel.js +24 -0
- package/dist/components/panels/ListPanel.js.map +1 -0
- package/dist/components/panels/MarkdownPanel.d.ts +7 -0
- package/dist/components/panels/MarkdownPanel.d.ts.map +1 -0
- package/dist/components/panels/MarkdownPanel.js +39 -0
- package/dist/components/panels/MarkdownPanel.js.map +1 -0
- package/dist/components/panels/MetricPanel.d.ts +7 -0
- package/dist/components/panels/MetricPanel.d.ts.map +1 -0
- package/dist/components/panels/MetricPanel.js +23 -0
- package/dist/components/panels/MetricPanel.js.map +1 -0
- package/dist/components/panels/PanelEmpty.d.ts +2 -0
- package/dist/components/panels/PanelEmpty.d.ts.map +1 -0
- package/dist/components/panels/PanelEmpty.js +27 -0
- package/dist/components/panels/PanelEmpty.js.map +1 -0
- package/dist/components/panels/PanelError.d.ts +7 -0
- package/dist/components/panels/PanelError.d.ts.map +1 -0
- package/dist/components/panels/PanelError.js +21 -0
- package/dist/components/panels/PanelError.js.map +1 -0
- package/dist/components/panels/PanelSkeleton.d.ts +6 -0
- package/dist/components/panels/PanelSkeleton.d.ts.map +1 -0
- package/dist/components/panels/PanelSkeleton.js +24 -0
- package/dist/components/panels/PanelSkeleton.js.map +1 -0
- package/dist/components/panels/PieChart.d.ts +7 -0
- package/dist/components/panels/PieChart.d.ts.map +1 -0
- package/dist/components/panels/PieChart.js +40 -0
- package/dist/components/panels/PieChart.js.map +1 -0
- package/dist/components/panels/RadarChart.d.ts +7 -0
- package/dist/components/panels/RadarChart.d.ts.map +1 -0
- package/dist/components/panels/RadarChart.js +50 -0
- package/dist/components/panels/RadarChart.js.map +1 -0
- package/dist/components/panels/RadialBarChart.d.ts +7 -0
- package/dist/components/panels/RadialBarChart.d.ts.map +1 -0
- package/dist/components/panels/RadialBarChart.js +49 -0
- package/dist/components/panels/RadialBarChart.js.map +1 -0
- package/dist/components/panels/SankeyChart.d.ts +7 -0
- package/dist/components/panels/SankeyChart.d.ts.map +1 -0
- package/dist/components/panels/SankeyChart.js +39 -0
- package/dist/components/panels/SankeyChart.js.map +1 -0
- package/dist/components/panels/ScatterChart.d.ts +7 -0
- package/dist/components/panels/ScatterChart.d.ts.map +1 -0
- package/dist/components/panels/ScatterChart.js +54 -0
- package/dist/components/panels/ScatterChart.js.map +1 -0
- package/dist/components/panels/StatPanel.d.ts +8 -0
- package/dist/components/panels/StatPanel.d.ts.map +1 -0
- package/dist/components/panels/StatPanel.js +40 -0
- package/dist/components/panels/StatPanel.js.map +1 -0
- package/dist/components/panels/StreamChart.d.ts +7 -0
- package/dist/components/panels/StreamChart.d.ts.map +1 -0
- package/dist/components/panels/StreamChart.js +54 -0
- package/dist/components/panels/StreamChart.js.map +1 -0
- package/dist/components/panels/SunburstChart.d.ts +7 -0
- package/dist/components/panels/SunburstChart.d.ts.map +1 -0
- package/dist/components/panels/SunburstChart.js +60 -0
- package/dist/components/panels/SunburstChart.js.map +1 -0
- package/dist/components/panels/TablePanel.d.ts +7 -0
- package/dist/components/panels/TablePanel.d.ts.map +1 -0
- package/dist/components/panels/TablePanel.js +79 -0
- package/dist/components/panels/TablePanel.js.map +1 -0
- package/dist/components/panels/TreemapChart.d.ts +7 -0
- package/dist/components/panels/TreemapChart.d.ts.map +1 -0
- package/dist/components/panels/TreemapChart.js +59 -0
- package/dist/components/panels/TreemapChart.js.map +1 -0
- package/dist/components/panels/VideoPanel.d.ts +15 -0
- package/dist/components/panels/VideoPanel.d.ts.map +1 -0
- package/dist/components/panels/VideoPanel.js +25 -0
- package/dist/components/panels/VideoPanel.js.map +1 -0
- package/dist/components/panels/WaffleChart.d.ts +7 -0
- package/dist/components/panels/WaffleChart.d.ts.map +1 -0
- package/dist/components/panels/WaffleChart.js +46 -0
- package/dist/components/panels/WaffleChart.js.map +1 -0
- package/dist/components/panels/index.d.ts +3 -0
- package/dist/components/panels/index.d.ts.map +1 -0
- package/dist/components/panels/index.js +60 -0
- package/dist/components/panels/index.js.map +1 -0
- package/dist/components/panels/nivo-theme.d.ts +95 -0
- package/dist/components/panels/nivo-theme.d.ts.map +1 -0
- package/dist/components/panels/nivo-theme.js +140 -0
- package/dist/components/panels/nivo-theme.js.map +1 -0
- package/dist/components/panels/semantic-colors.d.ts +7 -0
- package/dist/components/panels/semantic-colors.d.ts.map +1 -0
- package/dist/components/panels/semantic-colors.js +100 -0
- package/dist/components/panels/semantic-colors.js.map +1 -0
- package/dist/components/ui/Button.d.ts +9 -0
- package/dist/components/ui/Button.d.ts.map +1 -0
- package/dist/components/ui/Button.js +40 -0
- package/dist/components/ui/Button.js.map +1 -0
- package/dist/components/ui/Tabs.d.ts +11 -0
- package/dist/components/ui/Tabs.d.ts.map +1 -0
- package/dist/components/ui/Tabs.js +28 -0
- package/dist/components/ui/Tabs.js.map +1 -0
- package/dist/connectors/bigquery.d.ts +26 -0
- package/dist/connectors/bigquery.d.ts.map +1 -0
- package/dist/connectors/bigquery.js +113 -0
- package/dist/connectors/bigquery.js.map +1 -0
- package/dist/connectors/index.d.ts +17 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/index.js +23 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors/params.d.ts +15 -0
- package/dist/connectors/params.d.ts.map +1 -0
- package/dist/connectors/params.js +46 -0
- package/dist/connectors/params.js.map +1 -0
- package/dist/connectors/postgres.d.ts +29 -0
- package/dist/connectors/postgres.d.ts.map +1 -0
- package/dist/connectors/postgres.js +130 -0
- package/dist/connectors/postgres.js.map +1 -0
- package/dist/connectors/redshift-data.d.ts +25 -0
- package/dist/connectors/redshift-data.d.ts.map +1 -0
- package/dist/connectors/redshift-data.js +237 -0
- package/dist/connectors/redshift-data.js.map +1 -0
- package/dist/connectors/redshift.d.ts +29 -0
- package/dist/connectors/redshift.d.ts.map +1 -0
- package/dist/connectors/redshift.js +138 -0
- package/dist/connectors/redshift.js.map +1 -0
- package/dist/connectors/registry.d.ts +7 -0
- package/dist/connectors/registry.d.ts.map +1 -0
- package/dist/connectors/registry.js +30 -0
- package/dist/connectors/registry.js.map +1 -0
- package/dist/connectors/snowflake.d.ts +37 -0
- package/dist/connectors/snowflake.d.ts.map +1 -0
- package/dist/connectors/snowflake.js +181 -0
- package/dist/connectors/snowflake.js.map +1 -0
- package/dist/connectors/types.d.ts +41 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/connectors/types.js +15 -0
- package/dist/connectors/types.js.map +1 -0
- package/dist/connectors/url-parsers.d.ts +13 -0
- package/dist/connectors/url-parsers.d.ts.map +1 -0
- package/dist/connectors/url-parsers.js +95 -0
- package/dist/connectors/url-parsers.js.map +1 -0
- package/dist/connectors/url.d.ts +36 -0
- package/dist/connectors/url.d.ts.map +1 -0
- package/dist/connectors/url.js +139 -0
- package/dist/connectors/url.js.map +1 -0
- package/dist/filters/cascade.d.ts +13 -0
- package/dist/filters/cascade.d.ts.map +1 -0
- package/dist/filters/cascade.js +32 -0
- package/dist/filters/cascade.js.map +1 -0
- package/dist/filters/daterange.d.ts +8 -0
- package/dist/filters/daterange.d.ts.map +1 -0
- package/dist/filters/daterange.js +119 -0
- package/dist/filters/daterange.js.map +1 -0
- package/dist/filters/index.d.ts +7 -0
- package/dist/filters/index.d.ts.map +1 -0
- package/dist/filters/index.js +18 -0
- package/dist/filters/index.js.map +1 -0
- package/dist/filters/resolver.d.ts +3 -0
- package/dist/filters/resolver.d.ts.map +1 -0
- package/dist/filters/resolver.js +122 -0
- package/dist/filters/resolver.js.map +1 -0
- package/dist/filters/validation.d.ts +17 -0
- package/dist/filters/validation.d.ts.map +1 -0
- package/dist/filters/validation.js +84 -0
- package/dist/filters/validation.js.map +1 -0
- package/dist/formats.d.ts +4 -0
- package/dist/formats.d.ts.map +1 -0
- package/dist/formats.js +127 -0
- package/dist/formats.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/auth-provider.d.ts +22 -0
- package/dist/interfaces/auth-provider.d.ts.map +1 -0
- package/dist/interfaces/auth-provider.js +15 -0
- package/dist/interfaces/auth-provider.js.map +1 -0
- package/dist/interfaces/dashboard-store.d.ts +17 -0
- package/dist/interfaces/dashboard-store.d.ts.map +1 -0
- package/dist/interfaces/dashboard-store.js +15 -0
- package/dist/interfaces/dashboard-store.js.map +1 -0
- package/dist/interfaces/datasource-store.d.ts +6 -0
- package/dist/interfaces/datasource-store.d.ts.map +1 -0
- package/dist/interfaces/datasource-store.js +15 -0
- package/dist/interfaces/datasource-store.js.map +1 -0
- package/dist/interfaces/index.d.ts +4 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +15 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/locale/context.d.ts +6 -0
- package/dist/locale/context.d.ts.map +1 -0
- package/dist/locale/context.js +23 -0
- package/dist/locale/context.js.map +1 -0
- package/dist/locale/index.d.ts +2 -0
- package/dist/locale/index.d.ts.map +1 -0
- package/dist/locale/index.js +15 -0
- package/dist/locale/index.js.map +1 -0
- package/dist/query/array-expansion.d.ts +5 -0
- package/dist/query/array-expansion.d.ts.map +1 -0
- package/dist/query/array-expansion.js +39 -0
- package/dist/query/array-expansion.js.map +1 -0
- package/dist/query/index.d.ts +8 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +20 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/pipeline.d.ts +27 -0
- package/dist/query/pipeline.d.ts.map +1 -0
- package/dist/query/pipeline.js +49 -0
- package/dist/query/pipeline.js.map +1 -0
- package/dist/query/strategy/http.d.ts +7 -0
- package/dist/query/strategy/http.d.ts.map +1 -0
- package/dist/query/strategy/http.js +26 -0
- package/dist/query/strategy/http.js.map +1 -0
- package/dist/query/strategy/index.d.ts +4 -0
- package/dist/query/strategy/index.d.ts.map +1 -0
- package/dist/query/strategy/index.js +32 -0
- package/dist/query/strategy/index.js.map +1 -0
- package/dist/query/strategy/sql.d.ts +7 -0
- package/dist/query/strategy/sql.d.ts.map +1 -0
- package/dist/query/strategy/sql.js +40 -0
- package/dist/query/strategy/sql.js.map +1 -0
- package/dist/query/strategy/types.d.ts +6 -0
- package/dist/query/strategy/types.d.ts.map +1 -0
- package/dist/query/strategy/types.js +15 -0
- package/dist/query/strategy/types.js.map +1 -0
- package/dist/query/template.d.ts +7 -0
- package/dist/query/template.d.ts.map +1 -0
- package/dist/query/template.js +36 -0
- package/dist/query/template.js.map +1 -0
- package/dist/schemas/config.d.ts +74 -0
- package/dist/schemas/config.d.ts.map +1 -0
- package/dist/schemas/config.js +129 -0
- package/dist/schemas/config.js.map +1 -0
- package/dist/schemas/dashboard.d.ts +716 -0
- package/dist/schemas/dashboard.d.ts.map +1 -0
- package/dist/schemas/dashboard.js +314 -0
- package/dist/schemas/dashboard.js.map +1 -0
- package/dist/schemas/datasource.d.ts +252 -0
- package/dist/schemas/datasource.d.ts.map +1 -0
- package/dist/schemas/datasource.js +186 -0
- package/dist/schemas/datasource.js.map +1 -0
- package/dist/schemas/index.d.ts +5 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +18 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/theme.d.ts +36 -0
- package/dist/schemas/theme.d.ts.map +1 -0
- package/dist/schemas/theme.js +48 -0
- package/dist/schemas/theme.js.map +1 -0
- package/dist/startup/index.d.ts +3 -0
- package/dist/startup/index.d.ts.map +1 -0
- package/dist/startup/index.js +15 -0
- package/dist/startup/index.js.map +1 -0
- package/dist/startup/sql-lint.d.ts +13 -0
- package/dist/startup/sql-lint.d.ts.map +1 -0
- package/dist/startup/sql-lint.js +86 -0
- package/dist/startup/sql-lint.js.map +1 -0
- package/dist/theme/builtin.d.ts +5 -0
- package/dist/theme/builtin.d.ts.map +1 -0
- package/dist/theme/builtin.js +102 -0
- package/dist/theme/builtin.js.map +1 -0
- package/dist/theme/context.d.ts +7 -0
- package/dist/theme/context.d.ts.map +1 -0
- package/dist/theme/context.js +26 -0
- package/dist/theme/context.js.map +1 -0
- package/dist/theme/index.d.ts +3 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +16 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/loader-export.d.ts +2 -0
- package/dist/theme/loader-export.d.ts.map +1 -0
- package/dist/theme/loader-export.js +15 -0
- package/dist/theme/loader-export.js.map +1 -0
- package/dist/theme/loader.d.ts +11 -0
- package/dist/theme/loader.d.ts.map +1 -0
- package/dist/theme/loader.js +60 -0
- package/dist/theme/loader.js.map +1 -0
- package/package.json +148 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Copyright 2026 Mataki Labs LLC
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
import { useState, useEffect } from "react";
|
|
16
|
+
import { useSearchParams, useParams } from "react-router";
|
|
17
|
+
import { Globe, ChevronDown, Check, Search } from "lucide-react";
|
|
18
|
+
import { useFilterUpdate } from "./useFilterUpdate";
|
|
19
|
+
import { useDropdown } from "./useDropdown";
|
|
20
|
+
import { useTheme } from "../../theme/context";
|
|
21
|
+
export function SelectFilter({ id, label, defaultValue, includeAll, options: staticOptions, optionsQuery, iconColor = "text-emerald-400", }) {
|
|
22
|
+
const { open, toggle, close, ref } = useDropdown();
|
|
23
|
+
const updateFilter = useFilterUpdate();
|
|
24
|
+
const [searchParams] = useSearchParams();
|
|
25
|
+
const params = useParams();
|
|
26
|
+
const slug = params.slug ?? "";
|
|
27
|
+
const theme = useTheme();
|
|
28
|
+
const [dynamicOptions, setDynamicOptions] = useState(null);
|
|
29
|
+
const [search, setSearch] = useState("");
|
|
30
|
+
const currentValue = searchParams.get(id) ?? defaultValue ?? (includeAll ? "__all__" : "");
|
|
31
|
+
// Fetch dynamic options if options_query is set
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!optionsQuery || !slug)
|
|
34
|
+
return;
|
|
35
|
+
let cancelled = false;
|
|
36
|
+
fetch(`/api/filters/${slug}/${id}`)
|
|
37
|
+
.then((res) => res.json())
|
|
38
|
+
.then((data) => {
|
|
39
|
+
if (!cancelled)
|
|
40
|
+
setDynamicOptions(data.options);
|
|
41
|
+
})
|
|
42
|
+
.catch(() => {
|
|
43
|
+
if (!cancelled)
|
|
44
|
+
setDynamicOptions([]);
|
|
45
|
+
});
|
|
46
|
+
return () => {
|
|
47
|
+
cancelled = true;
|
|
48
|
+
};
|
|
49
|
+
}, [optionsQuery, slug, id]);
|
|
50
|
+
const options = dynamicOptions ?? staticOptions ?? [];
|
|
51
|
+
const allOptions = includeAll
|
|
52
|
+
? [{ value: "__all__", label: "All" }, ...options]
|
|
53
|
+
: options;
|
|
54
|
+
const showSearch = allOptions.length > 10;
|
|
55
|
+
const filtered = search
|
|
56
|
+
? allOptions.filter((o) => o.label.toLowerCase().includes(search.toLowerCase()))
|
|
57
|
+
: allOptions;
|
|
58
|
+
const displayLabel = currentValue === "__all__"
|
|
59
|
+
? "All"
|
|
60
|
+
: (allOptions.find((o) => o.value === currentValue)?.label ??
|
|
61
|
+
currentValue);
|
|
62
|
+
function selectOption(value) {
|
|
63
|
+
updateFilter(id, value === "__all__" ? null : value);
|
|
64
|
+
close();
|
|
65
|
+
setSearch("");
|
|
66
|
+
}
|
|
67
|
+
return (_jsxs("div", { ref: ref, className: "relative", children: [_jsxs("button", { type: "button", onClick: toggle, className: `${theme.filters.background} border ${theme.filters.border} rounded-lg px-3 py-2 flex items-center gap-2 text-sm hover:opacity-90 transition cursor-default`, children: [_jsx(Globe, { className: `w-4 h-4 ${iconColor}` }), _jsx("span", { className: theme.typography.label, children: label }), _jsx("span", { className: theme.filters.text, children: displayLabel }), _jsx(ChevronDown, { className: `w-3.5 h-3.5 ${theme.typography.muted}` })] }), open && (_jsxs("div", { className: `absolute top-full left-0 mt-2 w-64 ${theme.surfaces.panel} border ${theme.filters.border} rounded-xl shadow-xl z-50 p-2 max-h-72 overflow-y-auto`, children: [showSearch && (_jsxs("div", { className: "relative mb-2", children: [_jsx(Search, { className: `absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 ${theme.typography.muted}` }), _jsx("input", { type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search...", className: `w-full ${theme.filters.background} border ${theme.filters.border} rounded-lg pl-8 pr-3 py-1.5 text-sm ${theme.filters.text} ${theme.filters.placeholder}` })] })), filtered.map((option) => (_jsxs("button", { type: "button", onClick: () => selectOption(option.value), className: `w-full flex items-center gap-2 px-3 py-2 rounded-lg text-sm text-left transition ${currentValue === option.value
|
|
68
|
+
? `${theme.typography.link} bg-current/10`
|
|
69
|
+
: `${theme.filters.text} hover:opacity-80`}`, children: [_jsx("span", { className: "flex-1", children: option.label }), currentValue === option.value && (_jsx(Check, { className: "w-3.5 h-3.5" }))] }, option.value))), filtered.length === 0 && (_jsx("div", { className: `px-3 py-2 text-sm ${theme.typography.muted}`, children: "No results" }))] }))] }));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=SelectFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectFilter.js","sourceRoot":"","sources":["../../../src/components/filters/SelectFilter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface TextFilterProps {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function TextFilter({ id, label, placeholder }: TextFilterProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=TextFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextFilter.d.ts","sourceRoot":"","sources":["../../../src/components/filters/TextFilter.tsx"],"names":[],"mappings":"AAoBA,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,eAAe,2CAiErE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Copyright 2026 Mataki Labs LLC
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
import { useState, useRef, useEffect, useCallback } from "react";
|
|
16
|
+
import { useSearchParams } from "react-router";
|
|
17
|
+
import { Search, X } from "lucide-react";
|
|
18
|
+
import { useFilterUpdate } from "./useFilterUpdate";
|
|
19
|
+
import { useTheme } from "../../theme/context";
|
|
20
|
+
export function TextFilter({ id, label, placeholder }) {
|
|
21
|
+
const updateFilter = useFilterUpdate();
|
|
22
|
+
const [searchParams] = useSearchParams();
|
|
23
|
+
const theme = useTheme();
|
|
24
|
+
const currentValue = searchParams.get(id) ?? "";
|
|
25
|
+
const [text, setText] = useState(currentValue);
|
|
26
|
+
const timerRef = useRef(null);
|
|
27
|
+
// Sync from URL changes (e.g., back/forward navigation)
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
setText(searchParams.get(id) ?? "");
|
|
30
|
+
}, [searchParams, id]);
|
|
31
|
+
const debouncedUpdate = useCallback((value) => {
|
|
32
|
+
if (timerRef.current)
|
|
33
|
+
clearTimeout(timerRef.current);
|
|
34
|
+
timerRef.current = setTimeout(() => {
|
|
35
|
+
updateFilter(id, value || null);
|
|
36
|
+
}, 400);
|
|
37
|
+
}, [updateFilter, id]);
|
|
38
|
+
// Cleanup timer on unmount
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
return () => {
|
|
41
|
+
if (timerRef.current)
|
|
42
|
+
clearTimeout(timerRef.current);
|
|
43
|
+
};
|
|
44
|
+
}, []);
|
|
45
|
+
function handleChange(value) {
|
|
46
|
+
setText(value);
|
|
47
|
+
debouncedUpdate(value);
|
|
48
|
+
}
|
|
49
|
+
function handleClear() {
|
|
50
|
+
setText("");
|
|
51
|
+
if (timerRef.current)
|
|
52
|
+
clearTimeout(timerRef.current);
|
|
53
|
+
updateFilter(id, null);
|
|
54
|
+
}
|
|
55
|
+
return (_jsxs("div", { className: "relative", children: [_jsx(Search, { className: `absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 ${theme.typography.muted}` }), _jsx("input", { type: "text", value: text, onChange: (e) => handleChange(e.target.value), placeholder: placeholder ?? `${label}...`, className: `${theme.filters.background} border ${theme.filters.border} rounded-lg pl-9 pr-8 py-2 text-sm ${theme.filters.text} ${theme.filters.placeholder} w-48`, "aria-label": label }), text && (_jsx("button", { type: "button", onClick: handleClear, className: `absolute right-2 top-1/2 -translate-y-1/2 ${theme.typography.muted} hover:opacity-80 transition`, children: _jsx(X, { className: "w-3.5 h-3.5" }) }))] }));
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=TextFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextFilter.js","sourceRoot":"","sources":["../../../src/components/filters/TextFilter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdown.d.ts","sourceRoot":"","sources":["../../../src/components/filters/useDropdown.ts"],"names":[],"mappings":"AAgBA,wBAAgB,WAAW;;;;;EA6B1B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright 2026 Mataki Labs LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
import { useState, useEffect, useRef, useCallback } from "react";
|
|
15
|
+
export function useDropdown() {
|
|
16
|
+
const [open, setOpen] = useState(false);
|
|
17
|
+
const ref = useRef(null);
|
|
18
|
+
const close = useCallback(() => setOpen(false), []);
|
|
19
|
+
const toggle = useCallback(() => setOpen((o) => !o), []);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!open)
|
|
22
|
+
return;
|
|
23
|
+
function handleClick(e) {
|
|
24
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
25
|
+
setOpen(false);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function handleKey(e) {
|
|
29
|
+
if (e.key === "Escape")
|
|
30
|
+
setOpen(false);
|
|
31
|
+
}
|
|
32
|
+
document.addEventListener("mousedown", handleClick);
|
|
33
|
+
document.addEventListener("keydown", handleKey);
|
|
34
|
+
return () => {
|
|
35
|
+
document.removeEventListener("mousedown", handleClick);
|
|
36
|
+
document.removeEventListener("keydown", handleKey);
|
|
37
|
+
};
|
|
38
|
+
}, [open]);
|
|
39
|
+
return { open, toggle, close, ref };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=useDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdown.js","sourceRoot":"","sources":["../../../src/components/filters/useDropdown.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEjE,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,SAAS,WAAW,CAAC,CAAa;YAChC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,SAAS,SAAS,CAAC,CAAgB;YACjC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterUpdate.d.ts","sourceRoot":"","sources":["../../../src/components/filters/useFilterUpdate.ts"],"names":[],"mappings":"AAiBA,wBAAgB,eAAe,eAKhB,MAAM,SAAS,MAAM,GAAG,IAAI,UAW1C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright 2026 Mataki Labs LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
import { useNavigate, useSearchParams } from "react-router";
|
|
15
|
+
import { useCallback } from "react";
|
|
16
|
+
export function useFilterUpdate() {
|
|
17
|
+
const navigate = useNavigate();
|
|
18
|
+
const [searchParams] = useSearchParams();
|
|
19
|
+
return useCallback((filterId, value) => {
|
|
20
|
+
const params = new URLSearchParams(searchParams);
|
|
21
|
+
if (value === null || value === "__all__") {
|
|
22
|
+
params.delete(filterId);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
params.set(filterId, value);
|
|
26
|
+
}
|
|
27
|
+
navigate(`?${params.toString()}`, { replace: true });
|
|
28
|
+
}, [navigate, searchParams]);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=useFilterUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterUpdate.js","sourceRoot":"","sources":["../../../src/components/filters/useFilterUpdate.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,EAAE,CAAC;IAEzC,OAAO,WAAW,CAChB,CAAC,QAAgB,EAAE,KAAoB,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,QAAQ,EAAE,YAAY,CAAC,CACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export { FilterBar } from "./FilterBar";
|
|
2
|
+
export { FilterChips } from "./filters/FilterChips";
|
|
3
|
+
export { DateRangeFilter } from "./filters/DateRangeFilter";
|
|
4
|
+
export { SelectFilter } from "./filters/SelectFilter";
|
|
5
|
+
export { TextFilter } from "./filters/TextFilter";
|
|
6
|
+
export { NumberFilter } from "./filters/NumberFilter";
|
|
7
|
+
export { BooleanFilter } from "./filters/BooleanFilter";
|
|
8
|
+
export { MultiSelectFilter } from "./filters/MultiSelectFilter";
|
|
9
|
+
export { CalendarGrid } from "./filters/CalendarGrid";
|
|
10
|
+
export { useDropdown } from "./filters/useDropdown";
|
|
11
|
+
export { useFilterUpdate } from "./filters/useFilterUpdate";
|
|
12
|
+
export { PanelGrid } from "./PanelGrid";
|
|
13
|
+
export { PanelGrid as DashboardGrid } from "./PanelGrid";
|
|
14
|
+
export { PanelWrapper } from "./PanelWrapper";
|
|
15
|
+
export { DashboardShell } from "./DashboardShell";
|
|
16
|
+
export { DashboardCard } from "./DashboardCard";
|
|
17
|
+
export { ErrorPage } from "./ErrorPage";
|
|
18
|
+
export type { ErrorPageProps } from "./ErrorPage";
|
|
19
|
+
export { EmptyState } from "./EmptyState";
|
|
20
|
+
export { panelRegistry } from "./panels/index";
|
|
21
|
+
export { BarChart } from "./panels/BarChart";
|
|
22
|
+
export { LineChart } from "./panels/LineChart";
|
|
23
|
+
export { AreaChart } from "./panels/AreaChart";
|
|
24
|
+
export { PieChart } from "./panels/PieChart";
|
|
25
|
+
export { DonutChart } from "./panels/DonutChart";
|
|
26
|
+
export { ScatterChart } from "./panels/ScatterChart";
|
|
27
|
+
export { HeatmapChart } from "./panels/HeatmapChart";
|
|
28
|
+
export { FunnelChart } from "./panels/FunnelChart";
|
|
29
|
+
export { SankeyChart } from "./panels/SankeyChart";
|
|
30
|
+
export { CalendarHeatmap } from "./panels/CalendarHeatmap";
|
|
31
|
+
export { RadarChart } from "./panels/RadarChart";
|
|
32
|
+
export { TreemapChart } from "./panels/TreemapChart";
|
|
33
|
+
export { BumpChart } from "./panels/BumpChart";
|
|
34
|
+
export { BulletChart } from "./panels/BulletChart";
|
|
35
|
+
export { RadialBarChart } from "./panels/RadialBarChart";
|
|
36
|
+
export { BoxPlotChart } from "./panels/BoxPlotChart";
|
|
37
|
+
export { WaffleChart } from "./panels/WaffleChart";
|
|
38
|
+
export { StreamChart } from "./panels/StreamChart";
|
|
39
|
+
export { SunburstChart } from "./panels/SunburstChart";
|
|
40
|
+
export { VideoPanel } from "./panels/VideoPanel";
|
|
41
|
+
export { StatPanel } from "./panels/StatPanel";
|
|
42
|
+
export { TablePanel } from "./panels/TablePanel";
|
|
43
|
+
export { MetricPanel } from "./panels/MetricPanel";
|
|
44
|
+
export { ListPanel } from "./panels/ListPanel";
|
|
45
|
+
export { ImagePanel } from "./panels/ImagePanel";
|
|
46
|
+
export { MarkdownPanel } from "./panels/MarkdownPanel";
|
|
47
|
+
export { IframePanel } from "./panels/IframePanel";
|
|
48
|
+
export { PanelSkeleton } from "./panels/PanelSkeleton";
|
|
49
|
+
export { PanelError } from "./panels/PanelError";
|
|
50
|
+
export { PanelEmpty } from "./panels/PanelEmpty";
|
|
51
|
+
export { ChartTooltip, MultiSeriesChartTooltip, useBarTooltip, useLineTooltip, } from "./panels/ChartTooltip";
|
|
52
|
+
export type { ChartTooltipProps, MultiSeriesPoint, MultiSeriesChartTooltipProps, } from "./panels/ChartTooltip";
|
|
53
|
+
export { buildNivoTheme, getChartPalette, nivoDarkTheme, PALETTE, } from "./panels/nivo-theme";
|
|
54
|
+
export { extractSemanticColor } from "./panels/semantic-colors";
|
|
55
|
+
export { Button } from "./ui/Button";
|
|
56
|
+
export type { ButtonProps, ButtonVariant, ButtonSize } from "./ui/Button";
|
|
57
|
+
export { Tabs } from "./ui/Tabs";
|
|
58
|
+
export type { TabItem, TabsProps } from "./ui/Tabs";
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Copyright 2026 Mataki Labs LLC
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
// Filter UI components
|
|
15
|
+
export { FilterBar } from "./FilterBar";
|
|
16
|
+
export { FilterChips } from "./filters/FilterChips";
|
|
17
|
+
export { DateRangeFilter } from "./filters/DateRangeFilter";
|
|
18
|
+
export { SelectFilter } from "./filters/SelectFilter";
|
|
19
|
+
export { TextFilter } from "./filters/TextFilter";
|
|
20
|
+
export { NumberFilter } from "./filters/NumberFilter";
|
|
21
|
+
export { BooleanFilter } from "./filters/BooleanFilter";
|
|
22
|
+
export { MultiSelectFilter } from "./filters/MultiSelectFilter";
|
|
23
|
+
export { CalendarGrid } from "./filters/CalendarGrid";
|
|
24
|
+
export { useDropdown } from "./filters/useDropdown";
|
|
25
|
+
export { useFilterUpdate } from "./filters/useFilterUpdate";
|
|
26
|
+
// Layout components
|
|
27
|
+
export { PanelGrid } from "./PanelGrid";
|
|
28
|
+
export { PanelGrid as DashboardGrid } from "./PanelGrid";
|
|
29
|
+
export { PanelWrapper } from "./PanelWrapper";
|
|
30
|
+
export { DashboardShell } from "./DashboardShell";
|
|
31
|
+
export { DashboardCard } from "./DashboardCard";
|
|
32
|
+
// Error / empty states
|
|
33
|
+
export { ErrorPage } from "./ErrorPage";
|
|
34
|
+
export { EmptyState } from "./EmptyState";
|
|
35
|
+
// Panel registry and individual panels
|
|
36
|
+
export { panelRegistry } from "./panels/index";
|
|
37
|
+
export { BarChart } from "./panels/BarChart";
|
|
38
|
+
export { LineChart } from "./panels/LineChart";
|
|
39
|
+
export { AreaChart } from "./panels/AreaChart";
|
|
40
|
+
export { PieChart } from "./panels/PieChart";
|
|
41
|
+
export { DonutChart } from "./panels/DonutChart";
|
|
42
|
+
export { ScatterChart } from "./panels/ScatterChart";
|
|
43
|
+
export { HeatmapChart } from "./panels/HeatmapChart";
|
|
44
|
+
export { FunnelChart } from "./panels/FunnelChart";
|
|
45
|
+
export { SankeyChart } from "./panels/SankeyChart";
|
|
46
|
+
export { CalendarHeatmap } from "./panels/CalendarHeatmap";
|
|
47
|
+
export { RadarChart } from "./panels/RadarChart";
|
|
48
|
+
export { TreemapChart } from "./panels/TreemapChart";
|
|
49
|
+
export { BumpChart } from "./panels/BumpChart";
|
|
50
|
+
export { BulletChart } from "./panels/BulletChart";
|
|
51
|
+
export { RadialBarChart } from "./panels/RadialBarChart";
|
|
52
|
+
export { BoxPlotChart } from "./panels/BoxPlotChart";
|
|
53
|
+
export { WaffleChart } from "./panels/WaffleChart";
|
|
54
|
+
export { StreamChart } from "./panels/StreamChart";
|
|
55
|
+
export { SunburstChart } from "./panels/SunburstChart";
|
|
56
|
+
export { VideoPanel } from "./panels/VideoPanel";
|
|
57
|
+
export { StatPanel } from "./panels/StatPanel";
|
|
58
|
+
export { TablePanel } from "./panels/TablePanel";
|
|
59
|
+
export { MetricPanel } from "./panels/MetricPanel";
|
|
60
|
+
export { ListPanel } from "./panels/ListPanel";
|
|
61
|
+
export { ImagePanel } from "./panels/ImagePanel";
|
|
62
|
+
export { MarkdownPanel } from "./panels/MarkdownPanel";
|
|
63
|
+
export { IframePanel } from "./panels/IframePanel";
|
|
64
|
+
// Panel sub-components
|
|
65
|
+
export { PanelSkeleton } from "./panels/PanelSkeleton";
|
|
66
|
+
export { PanelError } from "./panels/PanelError";
|
|
67
|
+
export { PanelEmpty } from "./panels/PanelEmpty";
|
|
68
|
+
export { ChartTooltip, MultiSeriesChartTooltip, useBarTooltip, useLineTooltip, } from "./panels/ChartTooltip";
|
|
69
|
+
// Nivo theme utilities
|
|
70
|
+
export { buildNivoTheme, getChartPalette, nivoDarkTheme, PALETTE, } from "./panels/nivo-theme";
|
|
71
|
+
export { extractSemanticColor } from "./panels/semantic-colors";
|
|
72
|
+
// Shared UI
|
|
73
|
+
export { Button } from "./ui/Button";
|
|
74
|
+
export { Tabs } from "./ui/Tabs";
|
|
75
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,uBAAuB;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,oBAAoB;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,uBAAuB;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,uCAAuC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,uBAAuB;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC;AAO/B,uBAAuB;AACvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,EACb,OAAO,GACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface ChartPanelProps {
|
|
2
|
+
data: Record<string, unknown>[];
|
|
3
|
+
config: Record<string, unknown>;
|
|
4
|
+
}
|
|
5
|
+
export declare function AreaChart({ data, config }: ChartPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=AreaChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AreaChart.d.ts","sourceRoot":"","sources":["../../../src/components/panels/AreaChart.tsx"],"names":[],"mappings":"AAsBA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAiCD,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,2CA8E1D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Copyright 2026 Mataki Labs LLC
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Business Source License 1.1 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// https://github.com/panoboard/panoboard/blob/main/LICENSE
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
import { ResponsiveLine } from "@nivo/line";
|
|
16
|
+
import { buildNivoTheme, getChartPalette } from "./nivo-theme";
|
|
17
|
+
import { useTheme } from "../../theme/context";
|
|
18
|
+
import { ChartTooltip } from "./ChartTooltip";
|
|
19
|
+
import { formatValue, formatValueShort } from "../../formats";
|
|
20
|
+
import { useLocale } from "../../locale/context";
|
|
21
|
+
function buildLineData(data, xKey, yKey, seriesKey) {
|
|
22
|
+
if (seriesKey) {
|
|
23
|
+
const seriesMap = new Map();
|
|
24
|
+
for (const row of data) {
|
|
25
|
+
const id = String(row[seriesKey]);
|
|
26
|
+
if (!seriesMap.has(id))
|
|
27
|
+
seriesMap.set(id, []);
|
|
28
|
+
seriesMap
|
|
29
|
+
.get(id)
|
|
30
|
+
.push({ x: row[xKey], y: Number(row[yKey]) || 0 });
|
|
31
|
+
}
|
|
32
|
+
return Array.from(seriesMap.entries()).map(([id, points]) => ({
|
|
33
|
+
id,
|
|
34
|
+
data: points,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
id: yKey,
|
|
40
|
+
data: data.map((row) => ({
|
|
41
|
+
x: row[xKey],
|
|
42
|
+
y: Number(row[yKey]) || 0,
|
|
43
|
+
})),
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
export function AreaChart({ data, config }) {
|
|
48
|
+
const theme = useTheme();
|
|
49
|
+
const nivoTheme = buildNivoTheme(theme);
|
|
50
|
+
const palette = getChartPalette(theme);
|
|
51
|
+
const xKey = config.x ?? "x";
|
|
52
|
+
const yKey = config.y ?? "y";
|
|
53
|
+
const yFormat = config.y_format;
|
|
54
|
+
const stacked = config.stacked ?? false;
|
|
55
|
+
const chartData = buildLineData(data, xKey, yKey, config.series);
|
|
56
|
+
const locale = useLocale();
|
|
57
|
+
const fmt = (v) => yFormat
|
|
58
|
+
? formatValue(v, yFormat, locale)
|
|
59
|
+
: v.toLocaleString(locale, { maximumFractionDigits: 2 });
|
|
60
|
+
return (_jsx("div", { style: { height: "100%" }, children: _jsx(ResponsiveLine, { data: chartData, colors: config.color ? [config.color] : palette, theme: nivoTheme, margin: {
|
|
61
|
+
top: 16,
|
|
62
|
+
right: 16,
|
|
63
|
+
bottom: chartData.length > 1 ? 72 : 48,
|
|
64
|
+
left: 56,
|
|
65
|
+
}, xScale: { type: "point" }, yScale: { type: "linear", stacked }, enableArea: true, areaOpacity: 0.2, axisBottom: { tickSize: 4, tickPadding: 4, tickRotation: -30 }, axisLeft: {
|
|
66
|
+
tickSize: 4,
|
|
67
|
+
tickPadding: 4,
|
|
68
|
+
format: (v) => yFormat
|
|
69
|
+
? formatValueShort(v, yFormat, locale)
|
|
70
|
+
: Number(v).toLocaleString(locale),
|
|
71
|
+
}, pointSize: 4, useMesh: true, enableCrosshair: true, tooltip: ({ point }) => {
|
|
72
|
+
const formatted = fmt(Number(point.data.y));
|
|
73
|
+
return (_jsx(ChartTooltip, { label: String(point.data.xFormatted), value: `${point.seriesId}: ${formatted}`, color: point.color }));
|
|
74
|
+
}, legends: chartData.length > 1
|
|
75
|
+
? [
|
|
76
|
+
{
|
|
77
|
+
anchor: "bottom",
|
|
78
|
+
direction: "row",
|
|
79
|
+
translateY: 56,
|
|
80
|
+
itemWidth: 100,
|
|
81
|
+
itemHeight: 20,
|
|
82
|
+
symbolSize: 10,
|
|
83
|
+
symbolShape: "circle",
|
|
84
|
+
},
|
|
85
|
+
]
|
|
86
|
+
: [] }) }));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=AreaChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AreaChart.js","sourceRoot":"","sources":["../../../src/components/panels/AreaChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../src/components/panels/BarChart.tsx"],"names":[],"mappings":"AAsBA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,2CAuHzD"}
|