@sybilion/uilib 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +138 -0
- package/dist/esm/assets/doc-4d8d38268d07c83e.png +0 -0
- package/dist/esm/assets/xls-d1595343260dd096.png +0 -0
- package/dist/esm/components/ui/AnalysesSelector/AnalysesSelector.js +188 -0
- package/dist/esm/components/ui/AnalysesSelector/AnalysesSelector.styl.js +7 -0
- package/dist/esm/components/ui/AnalysisLineIcon/AnalysisLineIcon.js +11 -0
- package/dist/esm/components/ui/AnalysisLineIcon/AnalysisLineIcon.styl.js +7 -0
- package/dist/esm/components/ui/AppHeader/AppHeader.js +22 -0
- package/dist/esm/components/ui/AppHeader/AppHeader.styl.js +7 -0
- package/dist/esm/components/ui/AppHeader/appChromeAnchors.js +4 -0
- package/dist/esm/components/ui/Avatar/Avatar.js +16 -0
- package/dist/esm/components/ui/Avatar/Avatar.styl.js +7 -0
- package/dist/esm/components/ui/Badge/Badge.js +11 -0
- package/dist/esm/components/ui/Badge/Badge.styl.js +7 -0
- package/dist/esm/components/ui/Breadcrumb/Breadcrumb.js +30 -0
- package/dist/esm/components/ui/Breadcrumb/Breadcrumb.styl.js +7 -0
- package/dist/esm/components/ui/Button/Button.js +12 -0
- package/dist/esm/components/ui/Button/Button.styl.js +7 -0
- package/dist/esm/components/ui/Card/Card.js +57 -0
- package/dist/esm/components/ui/Card/Card.styl.js +7 -0
- package/dist/esm/components/ui/Chart/Chart.context.js +11 -0
- package/dist/esm/components/ui/Chart/Chart.helpers.js +9 -0
- package/dist/esm/components/ui/Chart/Chart.js +23 -0
- package/dist/esm/components/ui/Chart/Chart.styl.js +7 -0
- package/dist/esm/components/ui/Chart/Chart.types.js +3 -0
- package/dist/esm/components/ui/Chart/components/BaseChartWrapper.js +473 -0
- package/dist/esm/components/ui/Chart/components/BaseChartWrapper.styl.js +7 -0
- package/dist/esm/components/ui/Chart/components/ChartAxes.js +52 -0
- package/dist/esm/components/ui/Chart/components/ChartContainer.js +31 -0
- package/dist/esm/components/ui/Chart/components/ChartGrid.js +9 -0
- package/dist/esm/components/ui/Chart/components/ChartLegendContent.js +17 -0
- package/dist/esm/components/ui/Chart/components/ChartLegendItem.js +13 -0
- package/dist/esm/components/ui/Chart/components/ChartTooltipContent.js +74 -0
- package/dist/esm/components/ui/Chart/components/ChartTooltipItem.js +26 -0
- package/dist/esm/components/ui/Chart/components/CustomChartLegend/CustomChartLegend.js +64 -0
- package/dist/esm/components/ui/Chart/components/CustomChartLegend/CustomChartLegend.styl.js +7 -0
- package/dist/esm/components/ui/Chart/components/LegendSvg/LegendSvg.js +19 -0
- package/dist/esm/components/ui/Chart/components/QuantileBands.js +23 -0
- package/dist/esm/components/ui/Chart/tools/formatters.js +81 -0
- package/dist/esm/components/ui/ChartAreaInteractive/ChartAreaInteractive.helpers.js +15 -0
- package/dist/esm/components/ui/ChartAreaInteractive/ChartAreaInteractive.js +103 -0
- package/dist/esm/components/ui/ChartAreaInteractive/ChartAreaInteractive.styl.js +7 -0
- package/dist/esm/components/ui/ChartAreaInteractive/ChartLines.js +81 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.hooks.js +134 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.js +257 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.styl.js +7 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/PinOverlay/PinOverlay.js +165 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/PinOverlay/PinOverlay.styl.js +7 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.hooks.js +113 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.js +114 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.styl.js +7 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/useChartYRange.js +155 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/useForecastColor.js +33 -0
- package/dist/esm/components/ui/ChartAreaInteractive/overlays/useQuantileBands.js +170 -0
- package/dist/esm/components/ui/Chat/Chat.js +17 -0
- package/dist/esm/components/ui/Chat/Chat.styl.js +7 -0
- package/dist/esm/components/ui/Chat/Chat.types.js +10 -0
- package/dist/esm/components/ui/Chat/ChatChrome/ChatChrome.js +31 -0
- package/dist/esm/components/ui/Chat/ChatChrome/ChatChrome.styl.js +7 -0
- package/dist/esm/components/ui/Chat/ChatEmptyState/ChatEmptyState.js +8 -0
- package/dist/esm/components/ui/Chat/ChatEmptyState/ChatEmptyState.styl.js +7 -0
- package/dist/esm/components/ui/Chat/ChatMessage/AgentMessageContent.helpers.js +312 -0
- package/dist/esm/components/ui/Chat/ChatMessage/AgentMessageContent.js +133 -0
- package/dist/esm/components/ui/Chat/ChatMessage/ChatDatasetApplicationLink.js +23 -0
- package/dist/esm/components/ui/Chat/ChatMessage/ChatMessage.js +14 -0
- package/dist/esm/components/ui/Chat/ChatMessage/ChatMessage.styl.js +7 -0
- package/dist/esm/components/ui/Chat/ChatMessage/icons/DocIcon.js +8 -0
- package/dist/esm/components/ui/Chat/ChatMessage/icons/XlsIcon.js +8 -0
- package/dist/esm/components/ui/Chat/ChatMessage/icons/doc.png.js +3 -0
- package/dist/esm/components/ui/Chat/ChatMessage/icons/xls.png.js +3 -0
- package/dist/esm/components/ui/Chat/ChatMessage/presetScript.js +187 -0
- package/dist/esm/components/ui/Chat/ChatPresets/ChatPresets.js +23 -0
- package/dist/esm/components/ui/Chat/ChatPresets/ChatPresets.styl.js +7 -0
- package/dist/esm/components/ui/Chat/ChatPrompt/ChatPrompt.js +48 -0
- package/dist/esm/components/ui/Chat/ChatPrompt/ChatPrompt.styl.js +7 -0
- package/dist/esm/components/ui/Chat/ChatSheet/ChatSelector.js +29 -0
- package/dist/esm/components/ui/Chat/ChatSheet/ChatSheet.js +34 -0
- package/dist/esm/components/ui/Chat/ChatSheet/useChatPanelChromeModel.js +800 -0
- package/dist/esm/components/ui/Chat/chat-preset-utils.js +22 -0
- package/dist/esm/components/ui/Checkbox/Checkbox.js +11 -0
- package/dist/esm/components/ui/Checkbox/Checkbox.styl.js +7 -0
- package/dist/esm/components/ui/Dialog/Dialog.js +126 -0
- package/dist/esm/components/ui/Dialog/Dialog.styl.js +7 -0
- package/dist/esm/components/ui/DraggingButton/DraggingButton.js +11 -0
- package/dist/esm/components/ui/DraggingButton/DraggingButton.styl.js +7 -0
- package/dist/esm/components/ui/Drawer/Drawer.js +37 -0
- package/dist/esm/components/ui/Drawer/Drawer.styl.js +7 -0
- package/dist/esm/components/ui/DropZone/DropZone.js +112 -0
- package/dist/esm/components/ui/DropZone/DropZone.styl.js +7 -0
- package/dist/esm/components/ui/DropdownMenu/DropdownMenu.js +53 -0
- package/dist/esm/components/ui/DropdownMenu/DropdownMenu.styl.js +7 -0
- package/dist/esm/components/ui/FlickeringGrid/FlickeringGrid.js +8 -0
- package/dist/esm/components/ui/FlickeringGrid/FlickeringGrid.styl.js +7 -0
- package/dist/esm/components/ui/Foldable/Foldable.js +15 -0
- package/dist/esm/components/ui/Foldable/Foldable.styl.js +7 -0
- package/dist/esm/components/ui/Gap/Gap.js +6 -0
- package/dist/esm/components/ui/Gap/Gap.styl.js +7 -0
- package/dist/esm/components/ui/Image/Image.js +17 -0
- package/dist/esm/components/ui/Image/Image.styl.js +7 -0
- package/dist/esm/components/ui/ImageWithFallback/ImageWithFallback.js +19 -0
- package/dist/esm/components/ui/Input/Input.js +14 -0
- package/dist/esm/components/ui/Input/Input.styl.js +7 -0
- package/dist/esm/components/ui/InteractionOverlay/InteractionOverlay.js +35 -0
- package/dist/esm/components/ui/InteractionOverlay/InteractionOverlay.styl.js +7 -0
- package/dist/esm/components/ui/InteractiveContent/InteractiveContent.js +10 -0
- package/dist/esm/components/ui/InteractiveContent/InteractiveContent.styl.js +7 -0
- package/dist/esm/components/ui/Label/Label.js +10 -0
- package/dist/esm/components/ui/Label/Label.styl.js +7 -0
- package/dist/esm/components/ui/LabelWithId/AltKeyProvider.js +22 -0
- package/dist/esm/components/ui/LabelWithId/LabelWithId.js +9 -0
- package/dist/esm/components/ui/LabelWithId/LabelWithId.styl.js +7 -0
- package/dist/esm/components/ui/LabeledInput/LabeledInput.js +12 -0
- package/dist/esm/components/ui/LabeledInput/LabeledInput.styl.js +7 -0
- package/dist/esm/components/ui/LegacyPlatformLink/LegacyPlatformLink.js +10 -0
- package/dist/esm/components/ui/LegacyPlatformLink/LegacyPlatformLink.styl.js +7 -0
- package/dist/esm/components/ui/Logo/Logo.js +9 -0
- package/dist/esm/components/ui/Logo/Logo.styl.js +7 -0
- package/dist/esm/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.js +23 -0
- package/dist/esm/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.styl.js +7 -0
- package/dist/esm/components/ui/NumberControl/NumberControl.js +26 -0
- package/dist/esm/components/ui/NumberControl/NumberControl.styl.js +7 -0
- package/dist/esm/components/ui/Page/AppShell/AppShell.js +14 -0
- package/dist/esm/components/ui/Page/AppShell/AppShell.styl.js +7 -0
- package/dist/esm/components/ui/Page/Breadcrumbs/Breadcrumbs.js +22 -0
- package/dist/esm/components/ui/Page/Breadcrumbs/Breadcrumbs.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageColumns/PageColumns.js +9 -0
- package/dist/esm/components/ui/Page/PageColumns/PageColumns.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageContent/PageContent.js +12 -0
- package/dist/esm/components/ui/Page/PageContent/PageContent.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageEmptyCanvas/PageEmptyCanvas.js +8 -0
- package/dist/esm/components/ui/Page/PageEmptyCanvas/PageEmptyCanvas.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageFooter/PageFooter.js +10 -0
- package/dist/esm/components/ui/Page/PageFooter/PageFooter.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageHeader/PageHeader.js +14 -0
- package/dist/esm/components/ui/Page/PageHeader/PageHeader.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageScroll/PageScroll.js +37 -0
- package/dist/esm/components/ui/Page/PageScroll/PageScroll.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageTabs/PageTabs.js +22 -0
- package/dist/esm/components/ui/Page/PageTabs/PageTabs.styl.js +7 -0
- package/dist/esm/components/ui/Page/PageXScroll/PageXScroll.js +34 -0
- package/dist/esm/components/ui/Page/PageXScroll/PageXScroll.styl.js +7 -0
- package/dist/esm/components/ui/Page/SectionHeader/SectionHeader.js +9 -0
- package/dist/esm/components/ui/Page/SectionHeader/SectionHeader.styl.js +7 -0
- package/dist/esm/components/ui/Page/pageContext.js +8 -0
- package/dist/esm/components/ui/Progress/Progress.js +10 -0
- package/dist/esm/components/ui/Progress/Progress.styl.js +7 -0
- package/dist/esm/components/ui/RegionCoords/RegionSelector.js +22 -0
- package/dist/esm/components/ui/RegionCoords/RegionSelector.styl.js +7 -0
- package/dist/esm/components/ui/Renamer/Renamer.js +61 -0
- package/dist/esm/components/ui/Renamer/Renamer.styl.js +7 -0
- package/dist/esm/components/ui/Select/Select.js +35 -0
- package/dist/esm/components/ui/Select/Select.styl.js +7 -0
- package/dist/esm/components/ui/Separator/Separator.js +10 -0
- package/dist/esm/components/ui/Separator/Separator.styl.js +7 -0
- package/dist/esm/components/ui/Sheet/Sheet.js +41 -0
- package/dist/esm/components/ui/Sheet/Sheet.styl.js +7 -0
- package/dist/esm/components/ui/Sidebar/Sidebar.js +448 -0
- package/dist/esm/components/ui/Sidebar/Sidebar.styl.js +7 -0
- package/dist/esm/components/ui/Skeleton/Skeleton.js +9 -0
- package/dist/esm/components/ui/Skeleton/Skeleton.styl.js +7 -0
- package/dist/esm/components/ui/Slider/Slider.js +123 -0
- package/dist/esm/components/ui/Slider/Slider.styl.js +7 -0
- package/dist/esm/components/ui/SmartTextTruncate/SmartTextTruncate.js +98 -0
- package/dist/esm/components/ui/Sparkline/Sparkline.helpers.js +11 -0
- package/dist/esm/components/ui/Sparkline/Sparkline.js +27 -0
- package/dist/esm/components/ui/Sparkline/Sparkline.styl.js +7 -0
- package/dist/esm/components/ui/Switch/Switch.js +17 -0
- package/dist/esm/components/ui/Switch/Switch.styl.js +7 -0
- package/dist/esm/components/ui/Table/Table.js +30 -0
- package/dist/esm/components/ui/Table/Table.styl.js +7 -0
- package/dist/esm/components/ui/Tabs/Tabs.js +19 -0
- package/dist/esm/components/ui/Tabs/Tabs.styl.js +7 -0
- package/dist/esm/components/ui/TextShimmer/TextShimmer.js +31 -0
- package/dist/esm/components/ui/TextShimmer/TextShimmer.styl.js +7 -0
- package/dist/esm/components/ui/TextWithDeferTooltip/TextWithDeferTooltip.js +48 -0
- package/dist/esm/components/ui/TimeRangeControls/TimeRangeControls.constants.js +3 -0
- package/dist/esm/components/ui/TimeRangeControls/TimeRangeControls.js +13 -0
- package/dist/esm/components/ui/TimeRangeControls/TimeRangeControls.styl.js +7 -0
- package/dist/esm/components/ui/Toggle/Toggle.js +10 -0
- package/dist/esm/components/ui/Toggle/Toggle.styl.js +7 -0
- package/dist/esm/components/ui/ToggleGroup/ToggleGroup.helpers.js +12 -0
- package/dist/esm/components/ui/ToggleGroup/ToggleGroup.js +19 -0
- package/dist/esm/components/ui/ToggleGroup/ToggleGroup.styl.js +7 -0
- package/dist/esm/components/ui/Tooltip/Tooltip.js +22 -0
- package/dist/esm/components/ui/Tooltip/Tooltip.styl.js +7 -0
- package/dist/esm/components/ui/VimeoEmbed/VimeoEmbed.js +137 -0
- package/dist/esm/components/ui/VimeoEmbed/VimeoEmbed.styl.js +7 -0
- package/dist/esm/constants/dataset.js +4 -0
- package/dist/esm/contexts/chat-context.js +297 -0
- package/dist/esm/hooks/panelWidth.js +46 -0
- package/dist/esm/hooks/useDebounceCallback.js +14 -0
- package/dist/esm/hooks/useDragElem.js +115 -0
- package/dist/esm/hooks/useEvent.js +52 -0
- package/dist/esm/hooks/useIsMobile.js +18 -0
- package/dist/esm/hooks/useIsTouchDevice.js +43 -0
- package/dist/esm/hooks/useQueryParams.js +40 -0
- package/dist/esm/hooks/useShellWidthObserver.js +23 -0
- package/dist/esm/hooks/useThrottledCallback.js +28 -0
- package/dist/esm/index.js +83 -0
- package/dist/esm/lib/cookie-consent/cookie-consent.js +63 -0
- package/dist/esm/lib/cookie.js +22 -0
- package/dist/esm/lib/dashboard-spec/stripJsonDashboardFences.js +7 -0
- package/dist/esm/lib/logger.js +10 -0
- package/dist/esm/tools/debounce.js +41 -0
- package/dist/esm/tools/env.js +7 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/node_modules/@reduxjs/toolkit/dist/uncheckedindexed.d.ts +5 -0
- package/dist/esm/types/node_modules/@vimeo/player/types/errors.d.ts +28 -0
- package/dist/esm/types/node_modules/@vimeo/player/types/events.d.ts +144 -0
- package/dist/esm/types/node_modules/@vimeo/player/types/formats.d.ts +406 -0
- package/dist/esm/types/src/components/ui/AnalysesSelector/AnalysesSelector.d.ts +2 -0
- package/dist/esm/types/src/components/ui/AnalysesSelector/AnalysesSelector.types.d.ts +38 -0
- package/dist/esm/types/src/components/ui/AnalysesSelector/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/AnalysisLineIcon/AnalysisLineIcon.d.ts +6 -0
- package/dist/esm/types/src/components/ui/AnalysisLineIcon/index.d.ts +1 -0
- package/dist/esm/types/src/components/ui/AppHeader/AppHeader.d.ts +11 -0
- package/dist/esm/types/src/components/ui/AppHeader/appChromeAnchors.d.ts +2 -0
- package/dist/esm/types/src/components/ui/AppHeader/index.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Avatar/Avatar.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Avatar/Avatar.types.d.ts +9 -0
- package/dist/esm/types/src/components/ui/Avatar/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Badge/Badge.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Badge/Badge.types.d.ts +6 -0
- package/dist/esm/types/src/components/ui/Badge/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Breadcrumb/Breadcrumb.d.ts +9 -0
- package/dist/esm/types/src/components/ui/Breadcrumb/Breadcrumb.types.d.ts +15 -0
- package/dist/esm/types/src/components/ui/Breadcrumb/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Button/Button.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Button/Button.types.d.ts +8 -0
- package/dist/esm/types/src/components/ui/Button/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Card/Card.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Card/Card.types.d.ts +29 -0
- package/dist/esm/types/src/components/ui/Card/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chart/Chart.context.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Chart/Chart.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chart/Chart.helpers.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Chart/Chart.types.d.ts +34 -0
- package/dist/esm/types/src/components/ui/Chart/chartForecastVisualization.constants.d.ts +21 -0
- package/dist/esm/types/src/components/ui/Chart/chartForecastVisualization.types.d.ts +84 -0
- package/dist/esm/types/src/components/ui/Chart/components/ActiveDotsLayer/ActiveDotsLayer.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Chart/components/BaseChartWrapper.d.ts +79 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartAxes.d.ts +15 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartContainer.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartGrid.d.ts +1 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartLegendContent.d.ts +7 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartLegendItem.d.ts +15 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartTooltipContent.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chart/components/ChartTooltipItem.d.ts +24 -0
- package/dist/esm/types/src/components/ui/Chart/components/ConfidenceBands.d.ts +7 -0
- package/dist/esm/types/src/components/ui/Chart/components/CustomChartLegend/CustomChartLegend.d.ts +31 -0
- package/dist/esm/types/src/components/ui/Chart/components/ForecastBoundaries.d.ts +8 -0
- package/dist/esm/types/src/components/ui/Chart/components/ForecastLine.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chart/components/HistoricalLine.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chart/components/LegendSvg/LegendSvg.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chart/components/QuantileBands.d.ts +18 -0
- package/dist/esm/types/src/components/ui/Chart/components/index.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chart/hooks/useChartAnimation.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Chart/hooks/useChartColors.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chart/hooks/useLegendState.d.ts +10 -0
- package/dist/esm/types/src/components/ui/Chart/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chart/tools/formatters.d.ts +21 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.d.ts +3 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.helpers.d.ts +31 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.types.d.ts +63 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/ChartLines.d.ts +45 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/index.d.ts +3 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.d.ts +17 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.hooks.d.ts +15 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/PinOverlay/PinOverlay.d.ts +10 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.d.ts +19 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.hooks.d.ts +15 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/index.d.ts +3 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/useChartYRange.d.ts +18 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/useForecastColor.d.ts +10 -0
- package/dist/esm/types/src/components/ui/ChartAreaInteractive/overlays/useQuantileBands.d.ts +22 -0
- package/dist/esm/types/src/components/ui/Chat/Chat.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Chat/Chat.types.d.ts +80 -0
- package/dist/esm/types/src/components/ui/Chat/ChatChrome/ChatChrome.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chat/ChatChrome/ChatChrome.types.d.ts +45 -0
- package/dist/esm/types/src/components/ui/Chat/ChatChrome/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chat/ChatEmptyState/ChatEmptyState.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chat/ChatEmptyState/ChatEmptyState.types.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/AgentMessageContent.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/AgentMessageContent.helpers.d.ts +31 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/ChatDatasetApplicationLink.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/ChatMessage.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/MessageChart.d.ts +9 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/icons/DocIcon.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/icons/XlsIcon.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/index.d.ts +1 -0
- package/dist/esm/types/src/components/ui/Chat/ChatMessage/presetScript.d.ts +55 -0
- package/dist/esm/types/src/components/ui/Chat/ChatPresets/ChatPresets.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Chat/ChatPresets/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chat/ChatPrompt/ChatPrompt.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Chat/ChatPrompt/index.d.ts +1 -0
- package/dist/esm/types/src/components/ui/Chat/ChatSheet/ChatSelector.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Chat/ChatSheet/ChatSettings.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Chat/ChatSheet/ChatSheet.d.ts +22 -0
- package/dist/esm/types/src/components/ui/Chat/ChatSheet/index.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Chat/ChatSheet/useChatPanelChromeModel.d.ts +25 -0
- package/dist/esm/types/src/components/ui/Chat/chat-preset-utils.d.ts +6 -0
- package/dist/esm/types/src/components/ui/Chat/index.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Checkbox/Checkbox.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Checkbox/Checkbox.types.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Checkbox/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Dialog/Dialog.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Dialog/Dialog.types.d.ts +26 -0
- package/dist/esm/types/src/components/ui/Dialog/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/DraggingButton/DraggingButton.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Drawer/Drawer.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Drawer/Drawer.types.d.ts +30 -0
- package/dist/esm/types/src/components/ui/Drawer/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/DropZone/DropZone.d.ts +20 -0
- package/dist/esm/types/src/components/ui/DropdownMenu/DropdownMenu.d.ts +17 -0
- package/dist/esm/types/src/components/ui/DropdownMenu/DropdownMenu.types.d.ts +36 -0
- package/dist/esm/types/src/components/ui/DropdownMenu/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/FlickeringGrid/FlickeringGrid.d.ts +3 -0
- package/dist/esm/types/src/components/ui/FlickeringGrid/FlickeringGrid.types.d.ts +10 -0
- package/dist/esm/types/src/components/ui/FlickeringGrid/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Foldable/Foldable.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Foldable/Foldable.types.d.ts +6 -0
- package/dist/esm/types/src/components/ui/Foldable/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Gap/Gap.d.ts +1 -0
- package/dist/esm/types/src/components/ui/Image/Image.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Image/Image.types.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Image/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/ImageWithFallback/ImageWithFallback.d.ts +2 -0
- package/dist/esm/types/src/components/ui/ImageWithFallback/ImageWithFallback.types.d.ts +5 -0
- package/dist/esm/types/src/components/ui/ImageWithFallback/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/InfoIconTooltip/InfoIconTooltip.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Input/Input.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Input/Input.types.d.ts +9 -0
- package/dist/esm/types/src/components/ui/Input/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/InteractionOverlay/InteractionOverlay.d.ts +6 -0
- package/dist/esm/types/src/components/ui/InteractiveContent/InteractiveContent.d.ts +6 -0
- package/dist/esm/types/src/components/ui/InteractiveContent/index.d.ts +1 -0
- package/dist/esm/types/src/components/ui/Label/Label.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Label/Label.types.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Label/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/LabelWithId/AltKeyProvider.d.ts +3 -0
- package/dist/esm/types/src/components/ui/LabelWithId/LabelWithId.d.ts +2 -0
- package/dist/esm/types/src/components/ui/LabelWithId/LabelWithId.types.d.ts +5 -0
- package/dist/esm/types/src/components/ui/LabelWithId/index.d.ts +3 -0
- package/dist/esm/types/src/components/ui/LabeledInput/LabeledInput.d.ts +12 -0
- package/dist/esm/types/src/components/ui/LabledCheckbox/LabledCheckbox.d.ts +6 -0
- package/dist/esm/types/src/components/ui/LegacyPlatformLink/LegacyPlatformLink.d.ts +2 -0
- package/dist/esm/types/src/components/ui/LegacyPlatformLink/LegacyPlatformLink.types.d.ts +4 -0
- package/dist/esm/types/src/components/ui/LegacyPlatformLink/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Logo/Logo.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Logo/Logo.types.d.ts +7 -0
- package/dist/esm/types/src/components/ui/Logo/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.d.ts +2 -0
- package/dist/esm/types/src/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.types.d.ts +18 -0
- package/dist/esm/types/src/components/ui/MobileAdaptiveSelector/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/NumberControl/NumberControl.d.ts +2 -0
- package/dist/esm/types/src/components/ui/NumberControl/NumberControl.types.d.ts +7 -0
- package/dist/esm/types/src/components/ui/NumberControl/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Page/AppShell/AppShell.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Page/Breadcrumbs/Breadcrumbs.d.ts +15 -0
- package/dist/esm/types/src/components/ui/Page/Breadcrumbs/Breadcrumbs.types.d.ts +4 -0
- package/dist/esm/types/src/components/ui/Page/PageColumns/PageColumns.d.ts +5 -0
- package/dist/esm/types/src/components/ui/Page/PageContent/PageContent.d.ts +9 -0
- package/dist/esm/types/src/components/ui/Page/PageEmptyCanvas/PageEmptyCanvas.d.ts +6 -0
- package/dist/esm/types/src/components/ui/Page/PageFooter/PageFooter.d.ts +16 -0
- package/dist/esm/types/src/components/ui/Page/PageHeader/PageHeader.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Page/PageScroll/PageScroll.d.ts +4 -0
- package/dist/esm/types/src/components/ui/Page/PageTabs/PageTabs.d.ts +14 -0
- package/dist/esm/types/src/components/ui/Page/PageXScroll/PageXScroll.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Page/SectionHeader/SectionHeader.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Page/SectionHeader/SectionHeader.types.d.ts +7 -0
- package/dist/esm/types/src/components/ui/Page/SectionHeader/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Page/index.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Page/pageContext.d.ts +4 -0
- package/dist/esm/types/src/components/ui/Progress/Progress.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Progress/Progress.types.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Progress/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/RegionCoords/RegionSelector.d.ts +2 -0
- package/dist/esm/types/src/components/ui/RegionCoords/RegionSelector.types.d.ts +13 -0
- package/dist/esm/types/src/components/ui/RegionCoords/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Renamer/Renamer.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Renamer/Renamer.types.d.ts +11 -0
- package/dist/esm/types/src/components/ui/Renamer/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Select/Select.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Select/Select.types.d.ts +20 -0
- package/dist/esm/types/src/components/ui/Select/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Separator/Separator.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Separator/Separator.types.d.ts +4 -0
- package/dist/esm/types/src/components/ui/Separator/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Sheet/Sheet.d.ts +10 -0
- package/dist/esm/types/src/components/ui/Sheet/Sheet.types.d.ts +15 -0
- package/dist/esm/types/src/components/ui/Sheet/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Sidebar/Sidebar.d.ts +93 -0
- package/dist/esm/types/src/components/ui/Skeleton/Skeleton.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Skeleton/Skeleton.helpers.d.ts +7 -0
- package/dist/esm/types/src/components/ui/Skeleton/Skeleton.types.d.ts +8 -0
- package/dist/esm/types/src/components/ui/Skeleton/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Slider/Slider.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Slider/Slider.types.d.ts +4 -0
- package/dist/esm/types/src/components/ui/Slider/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/SmartTextTruncate/SmartTextTruncate.d.ts +3 -0
- package/dist/esm/types/src/components/ui/SmartTextTruncate/SmartTextTruncate.types.d.ts +4 -0
- package/dist/esm/types/src/components/ui/SmartTextTruncate/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Sparkline/Sparkline.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Sparkline/Sparkline.helpers.d.ts +9 -0
- package/dist/esm/types/src/components/ui/Sparkline/Sparkline.types.d.ts +16 -0
- package/dist/esm/types/src/components/ui/Sparkline/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Switch/Switch.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Switch/Switch.types.d.ts +4 -0
- package/dist/esm/types/src/components/ui/Switch/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Table/Table.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Table/Table.types.d.ts +19 -0
- package/dist/esm/types/src/components/ui/Table/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Tabs/Tabs.d.ts +12 -0
- package/dist/esm/types/src/components/ui/Tabs/Tabs.types.d.ts +6 -0
- package/dist/esm/types/src/components/ui/Tabs/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/TextShimmer/TextShimmer.d.ts +5 -0
- package/dist/esm/types/src/components/ui/TextShimmer/TextShimmer.types.d.ts +8 -0
- package/dist/esm/types/src/components/ui/TextShimmer/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/TextWithDeferTooltip/TextWithDeferTooltip.d.ts +3 -0
- package/dist/esm/types/src/components/ui/TextWithDeferTooltip/TextWithDeferTooltip.types.d.ts +7 -0
- package/dist/esm/types/src/components/ui/TextWithDeferTooltip/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/TimeRangeControls/TimeRangeControls.constants.d.ts +1 -0
- package/dist/esm/types/src/components/ui/TimeRangeControls/TimeRangeControls.d.ts +11 -0
- package/dist/esm/types/src/components/ui/TimeRangeControls/TimeRangeControls.types.d.ts +2 -0
- package/dist/esm/types/src/components/ui/TimeRangeControls/index.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Toggle/Toggle.d.ts +3 -0
- package/dist/esm/types/src/components/ui/Toggle/Toggle.types.d.ts +7 -0
- package/dist/esm/types/src/components/ui/Toggle/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/ToggleGroup/ToggleGroup.d.ts +4 -0
- package/dist/esm/types/src/components/ui/ToggleGroup/ToggleGroup.helpers.d.ts +6 -0
- package/dist/esm/types/src/components/ui/ToggleGroup/ToggleGroup.types.d.ts +32 -0
- package/dist/esm/types/src/components/ui/ToggleGroup/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/Tooltip/Tooltip.d.ts +6 -0
- package/dist/esm/types/src/components/ui/Tooltip/Tooltip.types.d.ts +13 -0
- package/dist/esm/types/src/components/ui/Tooltip/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/VimeoEmbed/VimeoEmbed.d.ts +3 -0
- package/dist/esm/types/src/components/ui/VimeoEmbed/VimeoEmbed.types.d.ts +9 -0
- package/dist/esm/types/src/components/ui/VimeoEmbed/index.d.ts +2 -0
- package/dist/esm/types/src/components/ui/icons/Github.d.ts +1 -0
- package/dist/esm/types/src/constants/dataset.d.ts +2 -0
- package/dist/esm/types/src/contexts/chat-context.d.ts +48 -0
- package/dist/esm/types/src/docs/App/App.d.ts +1 -0
- package/dist/esm/types/src/docs/App/ThemeToggle.d.ts +1 -0
- package/dist/esm/types/src/docs/DocPage.d.ts +1 -0
- package/dist/esm/types/src/docs/DocsShell.d.ts +1 -0
- package/dist/esm/types/src/docs/components/AppPageHeader/AppPageHeader.d.ts +8 -0
- package/dist/esm/types/src/docs/components/DocsSidebar/DocsSidebar.d.ts +1 -0
- package/dist/esm/types/src/docs/config/paths.d.ts +10 -0
- package/dist/esm/types/src/docs/contexts/theme-context.d.ts +8 -0
- package/dist/esm/types/src/docs/docsConstants.d.ts +4 -0
- package/dist/esm/types/src/docs/docsHeaderActions.d.ts +1 -0
- package/dist/esm/types/src/docs/index.d.ts +1 -0
- package/dist/esm/types/src/docs/lib/theme.d.ts +5 -0
- package/dist/esm/types/src/docs/pages/AnalysesSelectorPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/AnalysisLineIconPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/AvatarPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/BadgePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/BreadcrumbPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ButtonPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/CardPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ChartAreaInteractivePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ChartPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ChatPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/CheckboxPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/DialogPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/DrawerPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/DropZonePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/DropdownMenuPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/FlickeringGridPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/FoldablePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ImagePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ImageWithFallbackPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/InputPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/InteractiveContentPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/LabelPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/LabelWithIdPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/LabeledInputPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/LegacyPlatformLinkPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/LogoPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/MobileAdaptiveSelectorPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/NumberControlPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/PagePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ProgressPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/RegionCoordsPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/RenamerPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SelectPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SeparatorPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SheetPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SidebarPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SkeletonPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SliderPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SmartTextTruncatePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SparklinePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/SwitchPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TablePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TabsPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TextShimmerPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TextWithDeferTooltipPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TimeRangeControlsPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/ToggleGroupPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TogglePage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/TooltipPage.d.ts +1 -0
- package/dist/esm/types/src/docs/pages/VimeoEmbedPage.d.ts +1 -0
- package/dist/esm/types/src/docs/registry.d.ts +14 -0
- package/dist/esm/types/src/hooks/panelWidth.d.ts +20 -0
- package/dist/esm/types/src/hooks/useClickOutside.d.ts +10 -0
- package/dist/esm/types/src/hooks/useDebounceCallback.d.ts +3 -0
- package/dist/esm/types/src/hooks/useDragElem.d.ts +15 -0
- package/dist/esm/types/src/hooks/useEvent.d.ts +11 -0
- package/dist/esm/types/src/hooks/useIsMobile.d.ts +1 -0
- package/dist/esm/types/src/hooks/useIsTouchDevice.d.ts +6 -0
- package/dist/esm/types/src/hooks/useQueryParams.d.ts +6 -0
- package/dist/esm/types/src/hooks/useShellWidthObserver.d.ts +1 -0
- package/dist/esm/types/src/hooks/useThrottledCallback.d.ts +5 -0
- package/dist/esm/types/src/index.d.ts +54 -0
- package/dist/esm/types/src/lib/cookie-consent/cookie-consent.d.ts +20 -0
- package/dist/esm/types/src/lib/cookie.d.ts +2 -0
- package/dist/esm/types/src/lib/dashboard-spec/stripJsonDashboardFences.d.ts +2 -0
- package/dist/esm/types/src/lib/logger.d.ts +9 -0
- package/dist/esm/types/src/tools/debounce.d.ts +6 -0
- package/dist/esm/types/src/tools/env.d.ts +2 -0
- package/dist/esm/types/src/types/chat-api.types.d.ts +5 -0
- package/dist/esm/types/src/types/forecast-data.d.ts +8 -0
- package/dist/esm/types/src/utils/analysisDate.d.ts +7 -0
- package/dist/esm/types/src/utils/chartConnectionPoint.d.ts +61 -0
- package/dist/esm/types/src/utils/chartRenderQueue.d.ts +10 -0
- package/dist/esm/types/src/utils/chatPresetMerge.d.ts +2 -0
- package/dist/esm/types/src/utils/datasetApplicationLink.d.ts +7 -0
- package/dist/esm/types/src/utils/quantileFormat.d.ts +3 -0
- package/dist/esm/types/tests/chartConnectionPoint.test.d.ts +1 -0
- package/dist/esm/types/tests/smoke.test.d.ts +1 -0
- package/dist/esm/utils/analysisDate.js +16 -0
- package/dist/esm/utils/chartConnectionPoint.js +105 -0
- package/dist/esm/utils/chartRenderQueue.js +49 -0
- package/dist/esm/utils/chatPresetMerge.js +29 -0
- package/dist/esm/utils/datasetApplicationLink.js +21 -0
- package/dist/esm/utils/quantileFormat.js +32 -0
- package/package.json +172 -0
- package/src/components/ui/AnalysesSelector/AnalysesSelector.styl +68 -0
- package/src/components/ui/AnalysesSelector/AnalysesSelector.styl.d.ts +19 -0
- package/src/components/ui/AnalysesSelector/AnalysesSelector.tsx +369 -0
- package/src/components/ui/AnalysesSelector/AnalysesSelector.types.ts +41 -0
- package/src/components/ui/AnalysesSelector/index.ts +5 -0
- package/src/components/ui/AnalysisLineIcon/AnalysisLineIcon.styl +22 -0
- package/src/components/ui/AnalysisLineIcon/AnalysisLineIcon.styl.d.ts +9 -0
- package/src/components/ui/AnalysisLineIcon/AnalysisLineIcon.tsx +47 -0
- package/src/components/ui/AnalysisLineIcon/index.ts +5 -0
- package/src/components/ui/AppHeader/AppHeader.styl +73 -0
- package/src/components/ui/AppHeader/AppHeader.styl.d.ts +13 -0
- package/src/components/ui/AppHeader/AppHeader.tsx +37 -0
- package/src/components/ui/AppHeader/appChromeAnchors.ts +2 -0
- package/src/components/ui/AppHeader/index.ts +3 -0
- package/src/components/ui/Avatar/Avatar.styl +31 -0
- package/src/components/ui/Avatar/Avatar.styl.d.ts +12 -0
- package/src/components/ui/Avatar/Avatar.tsx +42 -0
- package/src/components/ui/Avatar/Avatar.types.ts +17 -0
- package/src/components/ui/Avatar/index.ts +6 -0
- package/src/components/ui/Badge/Badge.styl +95 -0
- package/src/components/ui/Badge/Badge.styl.d.ts +13 -0
- package/src/components/ui/Badge/Badge.tsx +31 -0
- package/src/components/ui/Badge/Badge.types.ts +7 -0
- package/src/components/ui/Badge/index.ts +2 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.styl +49 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.styl.d.ts +12 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.tsx +107 -0
- package/src/components/ui/Breadcrumb/Breadcrumb.types.ts +15 -0
- package/src/components/ui/Breadcrumb/index.ts +10 -0
- package/src/components/ui/Button/Button.styl +131 -0
- package/src/components/ui/Button/Button.styl.d.ts +17 -0
- package/src/components/ui/Button/Button.tsx +35 -0
- package/src/components/ui/Button/Button.types.ts +15 -0
- package/src/components/ui/Button/index.ts +2 -0
- package/src/components/ui/Card/Card.styl +108 -0
- package/src/components/ui/Card/Card.styl.d.ts +21 -0
- package/src/components/ui/Card/Card.tsx +199 -0
- package/src/components/ui/Card/Card.types.ts +35 -0
- package/src/components/ui/Card/index.ts +11 -0
- package/src/components/ui/Chart/Chart.context.ts +14 -0
- package/src/components/ui/Chart/Chart.helpers.ts +14 -0
- package/src/components/ui/Chart/Chart.styl +184 -0
- package/src/components/ui/Chart/Chart.styl.d.ts +22 -0
- package/src/components/ui/Chart/Chart.tsx +23 -0
- package/src/components/ui/Chart/Chart.types.ts +46 -0
- package/src/components/ui/Chart/chart-types.csv +33 -0
- package/src/components/ui/Chart/chartForecastVisualization.constants.ts +22 -0
- package/src/components/ui/Chart/chartForecastVisualization.types.ts +97 -0
- package/src/components/ui/Chart/components/ActiveDotsLayer/ActiveDotsLayer.styl +16 -0
- package/src/components/ui/Chart/components/ActiveDotsLayer/ActiveDotsLayer.styl.d.ts +8 -0
- package/src/components/ui/Chart/components/ActiveDotsLayer/ActiveDotsLayer.tsx +32 -0
- package/src/components/ui/Chart/components/BaseChartWrapper.styl +96 -0
- package/src/components/ui/Chart/components/BaseChartWrapper.styl.d.ts +20 -0
- package/src/components/ui/Chart/components/BaseChartWrapper.tsx +907 -0
- package/src/components/ui/Chart/components/ChartAxes.tsx +140 -0
- package/src/components/ui/Chart/components/ChartContainer.tsx +73 -0
- package/src/components/ui/Chart/components/ChartGrid.tsx +7 -0
- package/src/components/ui/Chart/components/ChartLegendContent.tsx +48 -0
- package/src/components/ui/Chart/components/ChartLegendItem.tsx +43 -0
- package/src/components/ui/Chart/components/ChartTooltipContent.tsx +140 -0
- package/src/components/ui/Chart/components/ChartTooltipItem.tsx +114 -0
- package/src/components/ui/Chart/components/ConfidenceBands.tsx +49 -0
- package/src/components/ui/Chart/components/CustomChartLegend/CustomChartLegend.styl +102 -0
- package/src/components/ui/Chart/components/CustomChartLegend/CustomChartLegend.styl.d.ts +18 -0
- package/src/components/ui/Chart/components/CustomChartLegend/CustomChartLegend.tsx +152 -0
- package/src/components/ui/Chart/components/ForecastBoundaries.tsx +71 -0
- package/src/components/ui/Chart/components/ForecastLine.tsx +68 -0
- package/src/components/ui/Chart/components/HistoricalLine.tsx +67 -0
- package/src/components/ui/Chart/components/LegendSvg/LegendSvg.tsx +61 -0
- package/src/components/ui/Chart/components/QuantileBands.tsx +73 -0
- package/src/components/ui/Chart/components/index.ts +12 -0
- package/src/components/ui/Chart/hooks/useChartAnimation.ts +17 -0
- package/src/components/ui/Chart/hooks/useChartColors.ts +24 -0
- package/src/components/ui/Chart/hooks/useLegendState.ts +31 -0
- package/src/components/ui/Chart/index.ts +2 -0
- package/src/components/ui/Chart/tools/formatters.ts +88 -0
- package/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.helpers.ts +168 -0
- package/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.styl +66 -0
- package/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.styl.d.ts +14 -0
- package/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.tsx +230 -0
- package/src/components/ui/ChartAreaInteractive/ChartAreaInteractive.types.ts +68 -0
- package/src/components/ui/ChartAreaInteractive/ChartLines.tsx +204 -0
- package/src/components/ui/ChartAreaInteractive/index.ts +3 -0
- package/src/components/ui/ChartAreaInteractive/overlays/DraggingButton.styl +29 -0
- package/src/components/ui/ChartAreaInteractive/overlays/DraggingButton.styl.d.ts +8 -0
- package/src/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.hooks.ts +211 -0
- package/src/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.styl +17 -0
- package/src/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.styl.d.ts +8 -0
- package/src/components/ui/ChartAreaInteractive/overlays/IntervalsOverlay/IntervalsOverlay.tsx +402 -0
- package/src/components/ui/ChartAreaInteractive/overlays/PinOverlay/PinOverlay.styl +107 -0
- package/src/components/ui/ChartAreaInteractive/overlays/PinOverlay/PinOverlay.styl.d.ts +15 -0
- package/src/components/ui/ChartAreaInteractive/overlays/PinOverlay/PinOverlay.tsx +256 -0
- package/src/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.hooks.ts +185 -0
- package/src/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.styl +21 -0
- package/src/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.styl.d.ts +8 -0
- package/src/components/ui/ChartAreaInteractive/overlays/ThresholdsOverlay/ThresholdsOverlay.tsx +206 -0
- package/src/components/ui/ChartAreaInteractive/overlays/index.ts +3 -0
- package/src/components/ui/ChartAreaInteractive/overlays/useChartYRange.ts +209 -0
- package/src/components/ui/ChartAreaInteractive/overlays/useForecastColor.ts +49 -0
- package/src/components/ui/ChartAreaInteractive/overlays/useQuantileBands.ts +248 -0
- package/src/components/ui/Chat/Chat.styl +7 -0
- package/src/components/ui/Chat/Chat.styl.d.ts +8 -0
- package/src/components/ui/Chat/Chat.tsx +22 -0
- package/src/components/ui/Chat/Chat.types.ts +88 -0
- package/src/components/ui/Chat/ChatChrome/ChatChrome.styl +125 -0
- package/src/components/ui/Chat/ChatChrome/ChatChrome.styl.d.ts +21 -0
- package/src/components/ui/Chat/ChatChrome/ChatChrome.tsx +188 -0
- package/src/components/ui/Chat/ChatChrome/ChatChrome.types.ts +50 -0
- package/src/components/ui/Chat/ChatChrome/index.ts +5 -0
- package/src/components/ui/Chat/ChatEmptyState/ChatEmptyState.styl +20 -0
- package/src/components/ui/Chat/ChatEmptyState/ChatEmptyState.styl.d.ts +8 -0
- package/src/components/ui/Chat/ChatEmptyState/ChatEmptyState.tsx +16 -0
- package/src/components/ui/Chat/ChatEmptyState/ChatEmptyState.types.ts +5 -0
- package/src/components/ui/Chat/ChatEmptyState/sparkles.svg +22 -0
- package/src/components/ui/Chat/ChatMessage/AgentMessageContent.helpers.tsx +405 -0
- package/src/components/ui/Chat/ChatMessage/AgentMessageContent.tsx +234 -0
- package/src/components/ui/Chat/ChatMessage/ChatDatasetApplicationLink.tsx +38 -0
- package/src/components/ui/Chat/ChatMessage/ChatMessage.styl +184 -0
- package/src/components/ui/Chat/ChatMessage/ChatMessage.styl.d.ts +22 -0
- package/src/components/ui/Chat/ChatMessage/ChatMessage.tsx +52 -0
- package/src/components/ui/Chat/ChatMessage/MessageChart.tsx +32 -0
- package/src/components/ui/Chat/ChatMessage/icons/DocIcon.tsx +7 -0
- package/src/components/ui/Chat/ChatMessage/icons/XlsIcon.tsx +7 -0
- package/src/components/ui/Chat/ChatMessage/icons/doc.png +0 -0
- package/src/components/ui/Chat/ChatMessage/icons/doc.svg +1 -0
- package/src/components/ui/Chat/ChatMessage/icons/xls.png +0 -0
- package/src/components/ui/Chat/ChatMessage/icons/xls.svg +1 -0
- package/src/components/ui/Chat/ChatMessage/index.ts +1 -0
- package/src/components/ui/Chat/ChatMessage/presetScript.ts +282 -0
- package/src/components/ui/Chat/ChatPresets/ChatPresets.styl +41 -0
- package/src/components/ui/Chat/ChatPresets/ChatPresets.styl.d.ts +11 -0
- package/src/components/ui/Chat/ChatPresets/ChatPresets.tsx +59 -0
- package/src/components/ui/Chat/ChatPresets/index.ts +2 -0
- package/src/components/ui/Chat/ChatPrompt/ChatPrompt.styl +84 -0
- package/src/components/ui/Chat/ChatPrompt/ChatPrompt.styl.d.ts +13 -0
- package/src/components/ui/Chat/ChatPrompt/ChatPrompt.tsx +103 -0
- package/src/components/ui/Chat/ChatPrompt/index.ts +1 -0
- package/src/components/ui/Chat/ChatSheet/ChatSelector.tsx +65 -0
- package/src/components/ui/Chat/ChatSheet/ChatSettings.styl +35 -0
- package/src/components/ui/Chat/ChatSheet/ChatSettings.styl.d.ts +10 -0
- package/src/components/ui/Chat/ChatSheet/ChatSettings.tsx +61 -0
- package/src/components/ui/Chat/ChatSheet/ChatSheet.styl.d.ts +19 -0
- package/src/components/ui/Chat/ChatSheet/ChatSheet.tsx +91 -0
- package/src/components/ui/Chat/ChatSheet/ChatSidebar.styl.d.ts +17 -0
- package/src/components/ui/Chat/ChatSheet/index.ts +7 -0
- package/src/components/ui/Chat/ChatSheet/loader.svg +14 -0
- package/src/components/ui/Chat/ChatSheet/useChatPanelChromeModel.tsx +1024 -0
- package/src/components/ui/Chat/chat-preset-utils.ts +27 -0
- package/src/components/ui/Chat/index.ts +24 -0
- package/src/components/ui/Checkbox/Checkbox.styl +42 -0
- package/src/components/ui/Checkbox/Checkbox.styl.d.ts +9 -0
- package/src/components/ui/Checkbox/Checkbox.tsx +26 -0
- package/src/components/ui/Checkbox/Checkbox.types.ts +5 -0
- package/src/components/ui/Checkbox/index.ts +2 -0
- package/src/components/ui/Dialog/Dialog.styl +145 -0
- package/src/components/ui/Dialog/Dialog.styl.d.ts +21 -0
- package/src/components/ui/Dialog/Dialog.tsx +233 -0
- package/src/components/ui/Dialog/Dialog.types.ts +27 -0
- package/src/components/ui/Dialog/index.ts +3 -0
- package/src/components/ui/DraggingButton/DraggingButton.styl +74 -0
- package/src/components/ui/DraggingButton/DraggingButton.styl.d.ts +11 -0
- package/src/components/ui/DraggingButton/DraggingButton.tsx +55 -0
- package/src/components/ui/Drawer/Drawer.styl +123 -0
- package/src/components/ui/Drawer/Drawer.styl.d.ts +15 -0
- package/src/components/ui/Drawer/Drawer.tsx +112 -0
- package/src/components/ui/Drawer/Drawer.types.ts +35 -0
- package/src/components/ui/Drawer/index.ts +13 -0
- package/src/components/ui/DropZone/DropZone.styl +66 -0
- package/src/components/ui/DropZone/DropZone.styl.d.ts +13 -0
- package/src/components/ui/DropZone/DropZone.tsx +188 -0
- package/src/components/ui/DropdownMenu/DropdownMenu.styl +331 -0
- package/src/components/ui/DropdownMenu/DropdownMenu.styl.d.ts +27 -0
- package/src/components/ui/DropdownMenu/DropdownMenu.tsx +231 -0
- package/src/components/ui/DropdownMenu/DropdownMenu.types.ts +68 -0
- package/src/components/ui/DropdownMenu/index.ts +18 -0
- package/src/components/ui/FlickeringGrid/FlickeringGrid.styl +12 -0
- package/src/components/ui/FlickeringGrid/FlickeringGrid.styl.d.ts +7 -0
- package/src/components/ui/FlickeringGrid/FlickeringGrid.tsx +10 -0
- package/src/components/ui/FlickeringGrid/FlickeringGrid.types.ts +10 -0
- package/src/components/ui/FlickeringGrid/bg.svg +194 -0
- package/src/components/ui/FlickeringGrid/index.ts +2 -0
- package/src/components/ui/Foldable/Foldable.styl +48 -0
- package/src/components/ui/Foldable/Foldable.styl.d.ts +13 -0
- package/src/components/ui/Foldable/Foldable.tsx +38 -0
- package/src/components/ui/Foldable/Foldable.types.ts +6 -0
- package/src/components/ui/Foldable/index.ts +2 -0
- package/src/components/ui/Gap/Gap.styl +2 -0
- package/src/components/ui/Gap/Gap.styl.d.ts +7 -0
- package/src/components/ui/Gap/Gap.tsx +3 -0
- package/src/components/ui/Image/Image.styl +27 -0
- package/src/components/ui/Image/Image.styl.d.ts +10 -0
- package/src/components/ui/Image/Image.tsx +31 -0
- package/src/components/ui/Image/Image.types.ts +6 -0
- package/src/components/ui/Image/index.ts +2 -0
- package/src/components/ui/ImageWithFallback/ImageWithFallback.tsx +32 -0
- package/src/components/ui/ImageWithFallback/ImageWithFallback.types.ts +9 -0
- package/src/components/ui/ImageWithFallback/index.ts +2 -0
- package/src/components/ui/InfoIconTooltip/InfoIconTooltip.styl +5 -0
- package/src/components/ui/InfoIconTooltip/InfoIconTooltip.styl.d.ts +7 -0
- package/src/components/ui/InfoIconTooltip/InfoIconTooltip.tsx +21 -0
- package/src/components/ui/Input/Input.styl +67 -0
- package/src/components/ui/Input/Input.styl.d.ts +11 -0
- package/src/components/ui/Input/Input.tsx +42 -0
- package/src/components/ui/Input/Input.types.ts +11 -0
- package/src/components/ui/Input/index.ts +2 -0
- package/src/components/ui/InteractionOverlay/InteractionOverlay.styl +19 -0
- package/src/components/ui/InteractionOverlay/InteractionOverlay.styl.d.ts +8 -0
- package/src/components/ui/InteractionOverlay/InteractionOverlay.tsx +55 -0
- package/src/components/ui/InteractiveContent/InteractiveContent.styl +3 -0
- package/src/components/ui/InteractiveContent/InteractiveContent.styl.d.ts +7 -0
- package/src/components/ui/InteractiveContent/InteractiveContent.tsx +21 -0
- package/src/components/ui/InteractiveContent/index.ts +1 -0
- package/src/components/ui/Label/Label.styl +16 -0
- package/src/components/ui/Label/Label.styl.d.ts +7 -0
- package/src/components/ui/Label/Label.tsx +18 -0
- package/src/components/ui/Label/Label.types.ts +5 -0
- package/src/components/ui/Label/index.ts +2 -0
- package/src/components/ui/LabelWithId/AltKeyProvider.tsx +22 -0
- package/src/components/ui/LabelWithId/LabelWithId.styl +14 -0
- package/src/components/ui/LabelWithId/LabelWithId.styl.d.ts +8 -0
- package/src/components/ui/LabelWithId/LabelWithId.tsx +12 -0
- package/src/components/ui/LabelWithId/LabelWithId.types.ts +5 -0
- package/src/components/ui/LabelWithId/index.ts +3 -0
- package/src/components/ui/LabeledInput/LabeledInput.styl +32 -0
- package/src/components/ui/LabeledInput/LabeledInput.styl.d.ts +14 -0
- package/src/components/ui/LabeledInput/LabeledInput.tsx +53 -0
- package/src/components/ui/LabledCheckbox/LabledCheckbox.tsx +21 -0
- package/src/components/ui/LegacyPlatformLink/LegacyPlatformLink.styl +10 -0
- package/src/components/ui/LegacyPlatformLink/LegacyPlatformLink.styl.d.ts +7 -0
- package/src/components/ui/LegacyPlatformLink/LegacyPlatformLink.tsx +18 -0
- package/src/components/ui/LegacyPlatformLink/LegacyPlatformLink.types.ts +5 -0
- package/src/components/ui/LegacyPlatformLink/index.ts +2 -0
- package/src/components/ui/Logo/Logo.styl +39 -0
- package/src/components/ui/Logo/Logo.styl.d.ts +12 -0
- package/src/components/ui/Logo/Logo.tsx +18 -0
- package/src/components/ui/Logo/Logo.types.ts +12 -0
- package/src/components/ui/Logo/index.ts +5 -0
- package/src/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.styl +32 -0
- package/src/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.styl.d.ts +13 -0
- package/src/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.tsx +117 -0
- package/src/components/ui/MobileAdaptiveSelector/MobileAdaptiveSelector.types.ts +31 -0
- package/src/components/ui/MobileAdaptiveSelector/index.ts +8 -0
- package/src/components/ui/NumberControl/NumberControl.styl +11 -0
- package/src/components/ui/NumberControl/NumberControl.styl.d.ts +8 -0
- package/src/components/ui/NumberControl/NumberControl.tsx +58 -0
- package/src/components/ui/NumberControl/NumberControl.types.ts +10 -0
- package/src/components/ui/NumberControl/index.ts +2 -0
- package/src/components/ui/Page/AppShell/AppShell.styl +36 -0
- package/src/components/ui/Page/AppShell/AppShell.styl.d.ts +9 -0
- package/src/components/ui/Page/AppShell/AppShell.tsx +38 -0
- package/src/components/ui/Page/Breadcrumbs/Breadcrumbs.styl +33 -0
- package/src/components/ui/Page/Breadcrumbs/Breadcrumbs.styl.d.ts +10 -0
- package/src/components/ui/Page/Breadcrumbs/Breadcrumbs.tsx +71 -0
- package/src/components/ui/Page/Breadcrumbs/Breadcrumbs.types.ts +6 -0
- package/src/components/ui/Page/PageColumns/PageColumns.styl +28 -0
- package/src/components/ui/Page/PageColumns/PageColumns.styl.d.ts +11 -0
- package/src/components/ui/Page/PageColumns/PageColumns.tsx +31 -0
- package/src/components/ui/Page/PageContent/PageContent.styl +17 -0
- package/src/components/ui/Page/PageContent/PageContent.styl.d.ts +8 -0
- package/src/components/ui/Page/PageContent/PageContent.tsx +34 -0
- package/src/components/ui/Page/PageEmptyCanvas/PageEmptyCanvas.styl +28 -0
- package/src/components/ui/Page/PageEmptyCanvas/PageEmptyCanvas.styl.d.ts +9 -0
- package/src/components/ui/Page/PageEmptyCanvas/PageEmptyCanvas.tsx +21 -0
- package/src/components/ui/Page/PageFooter/DebugPanel/DebugPanel.styl.d.ts +9 -0
- package/src/components/ui/Page/PageFooter/PageFooter.styl +69 -0
- package/src/components/ui/Page/PageFooter/PageFooter.styl.d.ts +12 -0
- package/src/components/ui/Page/PageFooter/PageFooter.tsx +68 -0
- package/src/components/ui/Page/PageFooter/treads.svg +3 -0
- package/src/components/ui/Page/PageHeader/PageHeader.styl +185 -0
- package/src/components/ui/Page/PageHeader/PageHeader.styl.d.ts +17 -0
- package/src/components/ui/Page/PageHeader/PageHeader.tsx +67 -0
- package/src/components/ui/Page/PageScroll/PageScroll.styl +32 -0
- package/src/components/ui/Page/PageScroll/PageScroll.styl.d.ts +9 -0
- package/src/components/ui/Page/PageScroll/PageScroll.tsx +69 -0
- package/src/components/ui/Page/PageTabs/PageTabs.styl +20 -0
- package/src/components/ui/Page/PageTabs/PageTabs.styl.d.ts +11 -0
- package/src/components/ui/Page/PageTabs/PageTabs.tsx +64 -0
- package/src/components/ui/Page/PageXScroll/PageXScroll.styl +16 -0
- package/src/components/ui/Page/PageXScroll/PageXScroll.styl.d.ts +9 -0
- package/src/components/ui/Page/PageXScroll/PageXScroll.tsx +70 -0
- package/src/components/ui/Page/SectionHeader/SectionHeader.styl +36 -0
- package/src/components/ui/Page/SectionHeader/SectionHeader.styl.d.ts +12 -0
- package/src/components/ui/Page/SectionHeader/SectionHeader.tsx +26 -0
- package/src/components/ui/Page/SectionHeader/SectionHeader.types.ts +8 -0
- package/src/components/ui/Page/SectionHeader/index.ts +2 -0
- package/src/components/ui/Page/index.ts +18 -0
- package/src/components/ui/Page/pageContext.ts +9 -0
- package/src/components/ui/Progress/Progress.styl +22 -0
- package/src/components/ui/Progress/Progress.styl.d.ts +8 -0
- package/src/components/ui/Progress/Progress.tsx +26 -0
- package/src/components/ui/Progress/Progress.types.ts +5 -0
- package/src/components/ui/Progress/index.ts +2 -0
- package/src/components/ui/RegionCoords/RegionSelector.styl +21 -0
- package/src/components/ui/RegionCoords/RegionSelector.styl.d.ts +9 -0
- package/src/components/ui/RegionCoords/RegionSelector.tsx +56 -0
- package/src/components/ui/RegionCoords/RegionSelector.types.ts +10 -0
- package/src/components/ui/RegionCoords/index.ts +2 -0
- package/src/components/ui/Renamer/Renamer.styl +22 -0
- package/src/components/ui/Renamer/Renamer.styl.d.ts +11 -0
- package/src/components/ui/Renamer/Renamer.tsx +127 -0
- package/src/components/ui/Renamer/Renamer.types.ts +11 -0
- package/src/components/ui/Renamer/index.ts +2 -0
- package/src/components/ui/Select/Select.styl +321 -0
- package/src/components/ui/Select/Select.styl.d.ts +31 -0
- package/src/components/ui/Select/Select.tsx +169 -0
- package/src/components/ui/Select/Select.types.ts +40 -0
- package/src/components/ui/Select/index.ts +2 -0
- package/src/components/ui/Separator/Separator.styl +11 -0
- package/src/components/ui/Separator/Separator.styl.d.ts +7 -0
- package/src/components/ui/Separator/Separator.tsx +25 -0
- package/src/components/ui/Separator/Separator.types.ts +7 -0
- package/src/components/ui/Separator/index.ts +2 -0
- package/src/components/ui/Sheet/Sheet.styl +238 -0
- package/src/components/ui/Sheet/Sheet.styl.d.ts +28 -0
- package/src/components/ui/Sheet/Sheet.tsx +129 -0
- package/src/components/ui/Sheet/Sheet.types.ts +22 -0
- package/src/components/ui/Sheet/index.ts +11 -0
- package/src/components/ui/Sidebar/Sidebar.styl +710 -0
- package/src/components/ui/Sidebar/Sidebar.styl.d.ts +48 -0
- package/src/components/ui/Sidebar/Sidebar.tsx +971 -0
- package/src/components/ui/Skeleton/Skeleton.helpers.ts +13 -0
- package/src/components/ui/Skeleton/Skeleton.styl +31 -0
- package/src/components/ui/Skeleton/Skeleton.styl.d.ts +14 -0
- package/src/components/ui/Skeleton/Skeleton.tsx +21 -0
- package/src/components/ui/Skeleton/Skeleton.types.ts +10 -0
- package/src/components/ui/Skeleton/index.ts +2 -0
- package/src/components/ui/Slider/Slider.styl +77 -0
- package/src/components/ui/Slider/Slider.styl.d.ts +11 -0
- package/src/components/ui/Slider/Slider.tsx +189 -0
- package/src/components/ui/Slider/Slider.types.ts +7 -0
- package/src/components/ui/Slider/index.ts +2 -0
- package/src/components/ui/SmartTextTruncate/SmartTextTruncate.tsx +141 -0
- package/src/components/ui/SmartTextTruncate/SmartTextTruncate.types.ts +5 -0
- package/src/components/ui/SmartTextTruncate/index.ts +2 -0
- package/src/components/ui/Sparkline/Sparkline.helpers.ts +26 -0
- package/src/components/ui/Sparkline/Sparkline.styl +18 -0
- package/src/components/ui/Sparkline/Sparkline.styl.d.ts +9 -0
- package/src/components/ui/Sparkline/Sparkline.tsx +80 -0
- package/src/components/ui/Sparkline/Sparkline.types.ts +18 -0
- package/src/components/ui/Sparkline/index.ts +2 -0
- package/src/components/ui/Switch/Switch.styl +63 -0
- package/src/components/ui/Switch/Switch.styl.d.ts +11 -0
- package/src/components/ui/Switch/Switch.tsx +40 -0
- package/src/components/ui/Switch/Switch.types.ts +7 -0
- package/src/components/ui/Switch/index.ts +2 -0
- package/src/components/ui/Table/Table.styl +119 -0
- package/src/components/ui/Table/Table.styl.d.ts +20 -0
- package/src/components/ui/Table/Table.tsx +114 -0
- package/src/components/ui/Table/Table.types.ts +14 -0
- package/src/components/ui/Table/index.ts +11 -0
- package/src/components/ui/Tabs/Tabs.styl +117 -0
- package/src/components/ui/Tabs/Tabs.styl.d.ts +14 -0
- package/src/components/ui/Tabs/Tabs.tsx +73 -0
- package/src/components/ui/Tabs/Tabs.types.ts +8 -0
- package/src/components/ui/Tabs/index.ts +2 -0
- package/src/components/ui/TextShimmer/TextShimmer.styl +16 -0
- package/src/components/ui/TextShimmer/TextShimmer.styl.d.ts +7 -0
- package/src/components/ui/TextShimmer/TextShimmer.tsx +56 -0
- package/src/components/ui/TextShimmer/TextShimmer.types.ts +9 -0
- package/src/components/ui/TextShimmer/index.ts +2 -0
- package/src/components/ui/TextWithDeferTooltip/TextWithDeferTooltip.tsx +98 -0
- package/src/components/ui/TextWithDeferTooltip/TextWithDeferTooltip.types.ts +11 -0
- package/src/components/ui/TextWithDeferTooltip/index.ts +2 -0
- package/src/components/ui/TimeRangeControls/TimeRangeControls.constants.ts +1 -0
- package/src/components/ui/TimeRangeControls/TimeRangeControls.styl +28 -0
- package/src/components/ui/TimeRangeControls/TimeRangeControls.styl.d.ts +12 -0
- package/src/components/ui/TimeRangeControls/TimeRangeControls.tsx +92 -0
- package/src/components/ui/TimeRangeControls/TimeRangeControls.types.ts +3 -0
- package/src/components/ui/TimeRangeControls/index.ts +3 -0
- package/src/components/ui/Toggle/Toggle.styl +79 -0
- package/src/components/ui/Toggle/Toggle.styl.d.ts +12 -0
- package/src/components/ui/Toggle/Toggle.tsx +28 -0
- package/src/components/ui/Toggle/Toggle.types.ts +11 -0
- package/src/components/ui/Toggle/index.ts +2 -0
- package/src/components/ui/ToggleGroup/ToggleGroup.helpers.ts +20 -0
- package/src/components/ui/ToggleGroup/ToggleGroup.styl +38 -0
- package/src/components/ui/ToggleGroup/ToggleGroup.styl.d.ts +8 -0
- package/src/components/ui/ToggleGroup/ToggleGroup.tsx +77 -0
- package/src/components/ui/ToggleGroup/ToggleGroup.types.ts +38 -0
- package/src/components/ui/ToggleGroup/index.ts +2 -0
- package/src/components/ui/Tooltip/Tooltip.styl +131 -0
- package/src/components/ui/Tooltip/Tooltip.styl.d.ts +16 -0
- package/src/components/ui/Tooltip/Tooltip.tsx +64 -0
- package/src/components/ui/Tooltip/Tooltip.types.ts +23 -0
- package/src/components/ui/Tooltip/index.ts +12 -0
- package/src/components/ui/VimeoEmbed/VimeoEmbed.styl +63 -0
- package/src/components/ui/VimeoEmbed/VimeoEmbed.styl.d.ts +11 -0
- package/src/components/ui/VimeoEmbed/VimeoEmbed.tsx +191 -0
- package/src/components/ui/VimeoEmbed/VimeoEmbed.types.ts +10 -0
- package/src/components/ui/VimeoEmbed/index.ts +2 -0
- package/src/components/ui/icons/Github.tsx +10 -0
- package/src/constants/dataset.ts +2 -0
- package/src/contexts/chat-context.tsx +444 -0
- package/src/declarations.d.ts +15 -0
- package/src/docs/App/App.styl +8 -0
- package/src/docs/App/App.styl.d.ts +8 -0
- package/src/docs/App/App.tsx +55 -0
- package/src/docs/App/ThemeToggle.tsx +30 -0
- package/src/docs/DocPage.tsx +21 -0
- package/src/docs/DocsShell.styl +28 -0
- package/src/docs/DocsShell.styl.d.ts +11 -0
- package/src/docs/DocsShell.tsx +39 -0
- package/src/docs/components/AppPageHeader/AppPageHeader.tsx +28 -0
- package/src/docs/components/DocsSidebar/DocsSidebar.styl +22 -0
- package/src/docs/components/DocsSidebar/DocsSidebar.styl.d.ts +7 -0
- package/src/docs/components/DocsSidebar/DocsSidebar.tsx +165 -0
- package/src/docs/config/paths.ts +18 -0
- package/src/docs/config/webpack.config.js +212 -0
- package/src/docs/contexts/theme-context.tsx +47 -0
- package/src/docs/docsConstants.ts +5 -0
- package/src/docs/docsHeaderActions.tsx +18 -0
- package/src/docs/index.tsx +16 -0
- package/src/docs/lib/theme.ts +55 -0
- package/src/docs/pages/AnalysesSelectorPage.tsx +57 -0
- package/src/docs/pages/AnalysisLineIconPage.tsx +24 -0
- package/src/docs/pages/AvatarPage.tsx +33 -0
- package/src/docs/pages/BadgePage.tsx +27 -0
- package/src/docs/pages/BreadcrumbPage.tsx +38 -0
- package/src/docs/pages/ButtonPage.tsx +142 -0
- package/src/docs/pages/CardPage.tsx +42 -0
- package/src/docs/pages/ChartAreaInteractivePage.tsx +161 -0
- package/src/docs/pages/ChartPage.tsx +50 -0
- package/src/docs/pages/ChatPage.tsx +61 -0
- package/src/docs/pages/CheckboxPage.tsx +25 -0
- package/src/docs/pages/DialogPage.tsx +38 -0
- package/src/docs/pages/DrawerPage.tsx +48 -0
- package/src/docs/pages/DropZonePage.tsx +32 -0
- package/src/docs/pages/DropdownMenuPage.tsx +41 -0
- package/src/docs/pages/FlickeringGridPage.tsx +23 -0
- package/src/docs/pages/FoldablePage.tsx +25 -0
- package/src/docs/pages/ImagePage.tsx +26 -0
- package/src/docs/pages/ImageWithFallbackPage.tsx +34 -0
- package/src/docs/pages/InputPage.tsx +39 -0
- package/src/docs/pages/InteractiveContentPage.tsx +23 -0
- package/src/docs/pages/LabelPage.tsx +21 -0
- package/src/docs/pages/LabelWithIdPage.tsx +21 -0
- package/src/docs/pages/LabeledInputPage.tsx +32 -0
- package/src/docs/pages/LegacyPlatformLinkPage.tsx +23 -0
- package/src/docs/pages/LogoPage.tsx +25 -0
- package/src/docs/pages/MobileAdaptiveSelectorPage.tsx +36 -0
- package/src/docs/pages/NumberControlPage.tsx +25 -0
- package/src/docs/pages/PagePage.tsx +25 -0
- package/src/docs/pages/ProgressPage.tsx +21 -0
- package/src/docs/pages/RegionCoordsPage.tsx +40 -0
- package/src/docs/pages/RenamerPage.tsx +27 -0
- package/src/docs/pages/SelectPage.tsx +40 -0
- package/src/docs/pages/SeparatorPage.tsx +23 -0
- package/src/docs/pages/SheetPage.tsx +40 -0
- package/src/docs/pages/SidebarPage.tsx +53 -0
- package/src/docs/pages/SkeletonPage.tsx +30 -0
- package/src/docs/pages/SliderPage.tsx +26 -0
- package/src/docs/pages/SmartTextTruncatePage.tsx +26 -0
- package/src/docs/pages/SparklinePage.tsx +23 -0
- package/src/docs/pages/SwitchPage.tsx +29 -0
- package/src/docs/pages/TablePage.tsx +45 -0
- package/src/docs/pages/TabsPage.tsx +33 -0
- package/src/docs/pages/TextShimmerPage.tsx +23 -0
- package/src/docs/pages/TextWithDeferTooltipPage.tsx +29 -0
- package/src/docs/pages/TimeRangeControlsPage.tsx +30 -0
- package/src/docs/pages/ToggleGroupPage.tsx +35 -0
- package/src/docs/pages/TogglePage.tsx +24 -0
- package/src/docs/pages/TooltipPage.tsx +35 -0
- package/src/docs/pages/VimeoEmbedPage.tsx +21 -0
- package/src/docs/registry.ts +338 -0
- package/src/hooks/panelWidth.ts +72 -0
- package/src/hooks/useClickOutside.ts +36 -0
- package/src/hooks/useDebounceCallback.ts +18 -0
- package/src/hooks/useDragElem.ts +153 -0
- package/src/hooks/useEvent.ts +73 -0
- package/src/hooks/useIsMobile.ts +21 -0
- package/src/hooks/useIsTouchDevice.ts +43 -0
- package/src/hooks/useQueryParams.ts +60 -0
- package/src/hooks/useShellWidthObserver.ts +25 -0
- package/src/hooks/useThrottledCallback.ts +41 -0
- package/src/index.ts +54 -0
- package/src/lib/cookie-consent/cookie-consent.ts +132 -0
- package/src/lib/cookie.ts +23 -0
- package/src/lib/dashboard-spec/stripJsonDashboardFences.ts +6 -0
- package/src/lib/logger.ts +9 -0
- package/src/lib/theme.styl +23 -0
- package/src/lib/theme.styl.d.ts +2 -0
- package/src/tools/debounce.ts +59 -0
- package/src/tools/env.ts +7 -0
- package/src/types/chat-api.types.ts +5 -0
- package/src/types/forecast-data.ts +8 -0
- package/src/utils/analysisDate.ts +17 -0
- package/src/utils/chartConnectionPoint.ts +292 -0
- package/src/utils/chartRenderQueue.ts +52 -0
- package/src/utils/chatPresetMerge.ts +36 -0
- package/src/utils/datasetApplicationLink.ts +25 -0
- package/src/utils/quantileFormat.ts +46 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { getPayloadConfigFromPayload } from '../Chart.helpers.js';
|
|
3
|
+
import S from '../Chart.styl.js';
|
|
4
|
+
|
|
5
|
+
function ChartLegendItem({ item, config, hideIcon, nameKey, }) {
|
|
6
|
+
const key = `${nameKey || item.dataKey || 'value'}`;
|
|
7
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
8
|
+
return (jsxs("div", { className: S.legendItem, children: [itemConfig?.icon && !hideIcon ? (jsx(itemConfig.icon, {})) : (jsx("div", { className: S.legendIndicator, style: {
|
|
9
|
+
backgroundColor: item.color,
|
|
10
|
+
} })), itemConfig?.label] }, item.value));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { ChartLegendItem };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import { useChart } from '../Chart.context.js';
|
|
5
|
+
import { getPayloadConfigFromPayload } from '../Chart.helpers.js';
|
|
6
|
+
import S from '../Chart.styl.js';
|
|
7
|
+
import { ChartTooltipItem } from './ChartTooltipItem.js';
|
|
8
|
+
|
|
9
|
+
function ChartTooltipContent({ active, className, indicator = 'dot', hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, payload, formatter, color, nameKey, labelKey, }) {
|
|
10
|
+
const { config } = useChart();
|
|
11
|
+
// Keep last tooltip data in state to maintain position when inactive
|
|
12
|
+
const [lastTooltipData, setLastTooltipData] = useState(null);
|
|
13
|
+
// Update last tooltip data when active
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
// Clear lastTooltipData immediately if label changed (prevents stale data)
|
|
16
|
+
// Only clear if label is explicitly provided and different (not undefined)
|
|
17
|
+
if (lastTooltipData && label && lastTooltipData.label !== label) {
|
|
18
|
+
setLastTooltipData(null);
|
|
19
|
+
}
|
|
20
|
+
if (active && payload?.length) {
|
|
21
|
+
setLastTooltipData({
|
|
22
|
+
active,
|
|
23
|
+
payload: payload,
|
|
24
|
+
label,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
// Don't clear lastTooltipData when mouse moves out - keep it for position maintenance
|
|
28
|
+
// It will be cleared when label changes (above) or when new active data arrives
|
|
29
|
+
}, [active, payload, label]);
|
|
30
|
+
// Use last tooltip data if current is inactive, otherwise use current
|
|
31
|
+
// lastTooltipData is already cleared in useEffect if label changed, so safe to use here
|
|
32
|
+
active || (lastTooltipData?.active ?? false);
|
|
33
|
+
const displayPayload = active && payload?.length
|
|
34
|
+
? payload
|
|
35
|
+
: lastTooltipData?.payload;
|
|
36
|
+
const displayLabel = active ? label : lastTooltipData?.label;
|
|
37
|
+
const tooltipLabel = useMemo(() => {
|
|
38
|
+
if (hideLabel || !displayPayload?.length) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const payloadArray = displayPayload;
|
|
42
|
+
const [item] = payloadArray;
|
|
43
|
+
const key = `${labelKey || item.dataKey || item.name || 'value'}`;
|
|
44
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
45
|
+
const value = !labelKey && typeof displayLabel === 'string'
|
|
46
|
+
? config[displayLabel]?.label || displayLabel
|
|
47
|
+
: itemConfig?.label;
|
|
48
|
+
if (labelFormatter) {
|
|
49
|
+
return (jsx("div", { className: cn('font-medium', labelClassName), children: labelFormatter(value, displayPayload) }));
|
|
50
|
+
}
|
|
51
|
+
if (!value) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return jsx("div", { className: cn('font-medium', labelClassName), children: value });
|
|
55
|
+
}, [
|
|
56
|
+
displayLabel,
|
|
57
|
+
labelFormatter,
|
|
58
|
+
displayPayload,
|
|
59
|
+
hideLabel,
|
|
60
|
+
labelClassName,
|
|
61
|
+
config,
|
|
62
|
+
labelKey,
|
|
63
|
+
]);
|
|
64
|
+
// Don't return null - keep rendering last tooltip to maintain position
|
|
65
|
+
if (!displayPayload?.length) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const nestLabel = displayPayload.length === 1 && indicator !== 'dot';
|
|
69
|
+
return (jsxs("div", { className: cn(S.tooltipContainer, className), children: [!nestLabel ? tooltipLabel : null, jsx("div", { className: "grid gap-1.5", children: displayPayload
|
|
70
|
+
.filter(item => item.type !== 'none')
|
|
71
|
+
.map((item, index) => (jsx(ChartTooltipItem, { item: item, index: index, config: config, indicator: indicator, hideIndicator: hideIndicator, nestLabel: nestLabel, tooltipLabel: tooltipLabel, color: color, nameKey: nameKey, formatter: formatter }, item.dataKey || index))) })] }));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export { ChartTooltipContent };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { getPayloadConfigFromPayload } from '../Chart.helpers.js';
|
|
4
|
+
import S from '../Chart.styl.js';
|
|
5
|
+
|
|
6
|
+
function ChartTooltipItem({ item, index, config, indicator, hideIndicator, nestLabel, tooltipLabel, color, nameKey, formatter, }) {
|
|
7
|
+
const key = `${nameKey || item.name || item.dataKey || 'value'}`;
|
|
8
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
9
|
+
const payloadFill = item.payload &&
|
|
10
|
+
typeof item.payload === 'object' &&
|
|
11
|
+
'fill' in item.payload &&
|
|
12
|
+
typeof item.payload.fill === 'string'
|
|
13
|
+
? item.payload.fill
|
|
14
|
+
: undefined;
|
|
15
|
+
const indicatorColor = color || payloadFill || item.color;
|
|
16
|
+
return (jsx("div", { className: cn(S.tooltipItem, indicator === 'dot' && 'items-center'), children: formatter && item?.value !== undefined && item.name ? (formatter(item.value, item.name, item, index, item.payload)) : (jsxs(Fragment, { children: [itemConfig?.icon ? (jsx(itemConfig.icon, {})) : (!hideIndicator && (jsx("div", { className: cn(S.tooltipIndicator, S[`indicator-${indicator}`], nestLabel && S.nested), style: {
|
|
17
|
+
'--color-bg': indicatorColor,
|
|
18
|
+
'--color-border': indicatorColor,
|
|
19
|
+
} }))), jsxs("div", { className: cn(S.tooltipContent, nestLabel ? 'items-end' : 'items-center'), children: [jsxs("div", { className: S.tooltipLabel, children: [nestLabel ? tooltipLabel : null, jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })] }), item.value && (jsx("span", { className: S.tooltipValue, children: Array.isArray(item.value)
|
|
20
|
+
? `${item.value[0].toLocaleString(undefined, { maximumFractionDigits: 20 })} – ${item.value[1].toLocaleString(undefined, { maximumFractionDigits: 20 })}`
|
|
21
|
+
: item.value.toLocaleString(undefined, {
|
|
22
|
+
maximumFractionDigits: 20,
|
|
23
|
+
}) }))] })] })) }, item.dataKey));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { ChartTooltipItem };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { useMemo, useCallback } from 'react';
|
|
4
|
+
import { AnalysesSelector } from '../../../AnalysesSelector/AnalysesSelector.js';
|
|
5
|
+
import S from './CustomChartLegend.styl.js';
|
|
6
|
+
|
|
7
|
+
function extractIdFromDataKey(dataKey) {
|
|
8
|
+
if (!dataKey)
|
|
9
|
+
return undefined;
|
|
10
|
+
const id = dataKey.startsWith('forecast_')
|
|
11
|
+
? dataKey.replace('forecast_', '')
|
|
12
|
+
: dataKey;
|
|
13
|
+
return /^\d+$/.test(id) ? parseInt(id, 10) : undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Custom chart legend using AnalysesSelector (inline mode)
|
|
17
|
+
* Supports forecast icon indicator, failed badge, toggle visibility
|
|
18
|
+
*/
|
|
19
|
+
function CustomChartLegend({ payload, onClick, hiddenSeries, className, onAnalysisSelect, onFailedAnalysisClick, maxVisibleItems, preventDeselection = true, }) {
|
|
20
|
+
const items = useMemo(() => (payload ?? []).map(p => ({
|
|
21
|
+
id: extractIdFromDataKey(p.dataKey),
|
|
22
|
+
label: p.value,
|
|
23
|
+
color: p.color,
|
|
24
|
+
status: p.status,
|
|
25
|
+
icon: p.icon,
|
|
26
|
+
updated_at: p.updated_at,
|
|
27
|
+
})), [payload]);
|
|
28
|
+
const selectedIds = useMemo(() => {
|
|
29
|
+
if (preventDeselection) {
|
|
30
|
+
// Always keep all items selected when preventDeselection is true
|
|
31
|
+
// AnalysesSelector will show maxVisibleItems inline based on this
|
|
32
|
+
return new Set(items.map(item => item.id));
|
|
33
|
+
}
|
|
34
|
+
return new Set(items
|
|
35
|
+
.filter(item => {
|
|
36
|
+
const dataKey = `forecast_${item.id}`;
|
|
37
|
+
return !hiddenSeries?.has(dataKey);
|
|
38
|
+
})
|
|
39
|
+
.map(item => item.id));
|
|
40
|
+
}, [items, hiddenSeries, preventDeselection]);
|
|
41
|
+
const handleToggleSeriesVisibility = useCallback((analysisId) => {
|
|
42
|
+
const dataKey = Number(analysisId) === -1 ? 'historical' : `forecast_${analysisId}`;
|
|
43
|
+
const index = payload?.findIndex(p => p.dataKey === dataKey) ??
|
|
44
|
+
payload?.findIndex(p => extractIdFromDataKey(p.dataKey) === Number(analysisId)) ??
|
|
45
|
+
0;
|
|
46
|
+
const payloadItem = payload?.[index];
|
|
47
|
+
onClick?.({ dataKey, value: payloadItem?.value, ...payloadItem }, index, {});
|
|
48
|
+
}, [onClick, payload]);
|
|
49
|
+
const handleItemToggle = useCallback((id) => {
|
|
50
|
+
const dataKey = `forecast_${id}`;
|
|
51
|
+
const payloadItem = payload?.find(p => extractIdFromDataKey(p.dataKey) === id);
|
|
52
|
+
const wasHidden = hiddenSeries?.has(dataKey);
|
|
53
|
+
const index = payload?.findIndex(p => extractIdFromDataKey(p.dataKey) === id) ?? 0;
|
|
54
|
+
onClick?.({ dataKey, value: payloadItem?.value, ...payloadItem }, index, {});
|
|
55
|
+
if (wasHidden && onAnalysisSelect) {
|
|
56
|
+
onAnalysisSelect(id);
|
|
57
|
+
}
|
|
58
|
+
}, [onClick, payload, hiddenSeries, onAnalysisSelect]);
|
|
59
|
+
if (!items.length)
|
|
60
|
+
return null;
|
|
61
|
+
return (jsx("div", { className: cn(S.legendContainer, className), children: jsx(AnalysesSelector, { items: items, selectedIds: selectedIds, onItemToggle: handleItemToggle, inlineMode: true, size: "sm", variant: "clear", onFailedItemClick: onFailedAnalysisClick, enableToggleHidden: true, maxVisibleItems: maxVisibleItems, preventDeselection: preventDeselection, hiddenSeries: hiddenSeries ?? new Set(), onToggleSeries: handleToggleSeriesVisibility }) }));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { CustomChartLegend };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import styleInject from 'style-inject';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".CustomChartLegend_legendContainer__-oSYW{align-items:center;display:flex;flex-wrap:wrap;gap:var(--p-4);justify-content:flex-start}.CustomChartLegend_legendItem__Ubx0E{align-items:center;cursor:pointer;display:flex;gap:var(--p-2);transition:opacity .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.CustomChartLegend_legendItem__Ubx0E.CustomChartLegend_disabled__ElsSq,.CustomChartLegend_legendItem__Ubx0E:hover{opacity:.5}.CustomChartLegend_legendItem__Ubx0E.CustomChartLegend_disabled__ElsSq:hover{opacity:.8}.CustomChartLegend_legendLineIcon__Sb1zT{align-items:center;display:flex;flex-shrink:0;gap:2px;height:12px}.CustomChartLegend_line__hOJIj{--line-size:1.5px;align-items:center;display:flex;height:1.5px;height:var(--line-size);width:16px}.CustomChartLegend_line__hOJIj.CustomChartLegend_dashed__3E8Hv{border-top:var(--line-size) dashed;height:0}.CustomChartLegend_dot__3NR9t{flex-shrink:0;height:6px;transform:rotate(45deg);width:6px}.CustomChartLegend_forecastIcon__tt3gP{align-items:center;display:flex;flex-shrink:0;height:16px;justify-content:center;position:relative;width:16px}.CustomChartLegend_forecastArrow__Tr5oW{height:100%;position:relative;width:100%}.CustomChartLegend_forecastArrow__Tr5oW:before{background:currentColor;bottom:3px;content:\"\";height:2px;left:2px;opacity:.7;position:absolute;transform:rotate(-45deg);transform-origin:left bottom;width:10px}.CustomChartLegend_forecastArrow__Tr5oW:after{border-right:2px solid;border-top:2px solid;content:\"\";height:5px;opacity:.7;position:absolute;right:2px;top:2px;width:5px}.CustomChartLegend_legendLabel__HhtLm{color:var(--foreground);font-size:var(--text-xs);line-height:var(--line-height-base);white-space:nowrap}.CustomChartLegend_selectTrigger__LaO8g{font-size:var(--text-xs);height:auto;min-width:auto;padding:var(--p-1) var(--p-2)}.CustomChartLegend_selectItemContent__LB8K0{align-items:center;display:flex;gap:var(--p-2)}";
|
|
4
|
+
var S = {"legendContainer":"CustomChartLegend_legendContainer__-oSYW","legendItem":"CustomChartLegend_legendItem__Ubx0E","disabled":"CustomChartLegend_disabled__ElsSq","legendLineIcon":"CustomChartLegend_legendLineIcon__Sb1zT","line":"CustomChartLegend_line__hOJIj","dashed":"CustomChartLegend_dashed__3E8Hv","dot":"CustomChartLegend_dot__3NR9t","forecastIcon":"CustomChartLegend_forecastIcon__tt3gP","forecastArrow":"CustomChartLegend_forecastArrow__Tr5oW","legendLabel":"CustomChartLegend_legendLabel__HhtLm","selectTrigger":"CustomChartLegend_selectTrigger__LaO8g","selectItemContent":"CustomChartLegend_selectItemContent__LB8K0"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { S as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
const ITEM_GAP = 12;
|
|
4
|
+
const ICON_WIDTH = 18;
|
|
5
|
+
const FONT_SIZE = 16;
|
|
6
|
+
const ROW_HEIGHT = 24;
|
|
7
|
+
function LegendSvg({ payload, width, marginLeft = 0 }) {
|
|
8
|
+
if (payload.length === 0)
|
|
9
|
+
return null;
|
|
10
|
+
let x = marginLeft;
|
|
11
|
+
const items = [];
|
|
12
|
+
payload.forEach(item => {
|
|
13
|
+
items.push({ x, item });
|
|
14
|
+
x += ICON_WIDTH + ITEM_GAP + item.value.length * FONT_SIZE * 0.6 + ITEM_GAP;
|
|
15
|
+
});
|
|
16
|
+
return (jsx("svg", { width: width, height: ROW_HEIGHT, viewBox: `0 0 ${Math.max(width, x)} ${ROW_HEIGHT}`, style: { display: 'block' }, children: items.map(({ x: itemX, item }) => (jsxs("g", { transform: `translate(${itemX}, 0)`, children: [jsx("line", { x1: 0, y1: ROW_HEIGHT / 2, x2: ICON_WIDTH, y2: ROW_HEIGHT / 2, stroke: item.color, strokeWidth: 2, strokeDasharray: "3 3" }), jsx("circle", { cx: 20, cy: ROW_HEIGHT / 2, r: 3, fill: item.color }), jsx("text", { x: ICON_WIDTH + ITEM_GAP, y: ROW_HEIGHT / 2, dy: "0.35em", fontSize: FONT_SIZE, fill: "#333333", children: item.value })] }, item.dataKey))) }));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { LegendSvg };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { getForecastQuantileBandColor, FORECAST_COLORS_MAP } from '../../ChartAreaInteractive/ChartLines.js';
|
|
3
|
+
import { Area } from 'recharts';
|
|
4
|
+
|
|
5
|
+
const DEFAULT_QUANTILE_BAND_COLOR = FORECAST_COLORS_MAP['#04ADC3'];
|
|
6
|
+
/**
|
|
7
|
+
* Renders quantile bands as Area components using array values
|
|
8
|
+
* Each band uses [lower, upper] array format to fill between two values
|
|
9
|
+
*/
|
|
10
|
+
function QuantileBands({ color, hiddenBands = new Set(), quantileBandKey, animate = true, animationDuration, animationBegin, customBands, showLegend = true, }) {
|
|
11
|
+
return (jsx(Fragment, { children: customBands.map((band, index) => {
|
|
12
|
+
if (hiddenBands.has(band.key))
|
|
13
|
+
return null;
|
|
14
|
+
const fillColor = color || band.color || getForecastQuantileBandColor(index);
|
|
15
|
+
return (jsx(Area, { type: band.type || 'monotone', dataKey: band.key, name: band.name, stroke: band.strokeWidth ? fillColor : 'none', strokeWidth: band.strokeWidth || 0, strokeDasharray: band.strokeDasharray, strokeOpacity: band.strokeOpacity, fill: fillColor,
|
|
16
|
+
// fillOpacity={band.opacity}
|
|
17
|
+
legendType: showLegend === false ? 'none' : undefined, connectNulls: true, dot: false, activeDot: false, isAnimationActive: animate, animationDuration: animationDuration, animationBegin: animationBegin, animationEasing: "ease-out" }, quantileBandKey
|
|
18
|
+
? `${quantileBandKey}-${index}`
|
|
19
|
+
: `quantile-band-${index}`));
|
|
20
|
+
}) }));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { DEFAULT_QUANTILE_BAND_COLOR, QuantileBands };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format number for display (with k/m abbreviations)
|
|
3
|
+
*/
|
|
4
|
+
const formatNumber = (value) => {
|
|
5
|
+
if (Math.abs(value) >= 1000000) {
|
|
6
|
+
return (value / 1000000).toFixed(1).replace(/\.0$/, '') + 'M';
|
|
7
|
+
}
|
|
8
|
+
else if (Math.abs(value) >= 1000) {
|
|
9
|
+
return (value / 1000).toFixed(1).replace(/\.0$/, '') + 'K';
|
|
10
|
+
}
|
|
11
|
+
return value.toFixed(0);
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Round a number based on its magnitude
|
|
15
|
+
* - 2 digits (10-99): round to nearest 10
|
|
16
|
+
* - 3 digits (100-999): round to nearest 100
|
|
17
|
+
* - 4 digits (1000-9999): round to nearest 1000
|
|
18
|
+
* - etc.
|
|
19
|
+
*/
|
|
20
|
+
const roundByMagnitude = (value) => {
|
|
21
|
+
const absValue = Math.abs(value);
|
|
22
|
+
// Handle zero and very small numbers
|
|
23
|
+
if (absValue === 0)
|
|
24
|
+
return 0;
|
|
25
|
+
if (absValue < 10)
|
|
26
|
+
return Math.round(value);
|
|
27
|
+
// Calculate number of digits
|
|
28
|
+
const numDigits = Math.floor(Math.log10(absValue)) + 1;
|
|
29
|
+
// Round to nearest 10^(n-1) where n is number of digits
|
|
30
|
+
const roundingFactor = Math.pow(10, numDigits - 1);
|
|
31
|
+
return Math.round(value / roundingFactor) * roundingFactor;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Format Y-axis number with smart rounding based on magnitude
|
|
35
|
+
*/
|
|
36
|
+
const formatYAxisNumber = (value) => {
|
|
37
|
+
const rounded = roundByMagnitude(value);
|
|
38
|
+
return rounded.toFixed(0);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Generate simple Y-axis ticks
|
|
42
|
+
* - Get the highest chart point (max)
|
|
43
|
+
* - Round max to nearest appropriate value
|
|
44
|
+
* - Divide rounded max by 10 and round to get the step
|
|
45
|
+
* - Add legend for every step from top to bottom
|
|
46
|
+
* - No extra gaps from top/bottom
|
|
47
|
+
*/
|
|
48
|
+
const generateRoundedYTicks = (min, max) => {
|
|
49
|
+
if (min === max)
|
|
50
|
+
return [min];
|
|
51
|
+
if (max <= 0)
|
|
52
|
+
return [0];
|
|
53
|
+
const rawStep = (max - min) / 10; // generate 10 ticks
|
|
54
|
+
// Round step to nearest power of 10 (10, 100, 1000, ...)
|
|
55
|
+
const magnitude = Math.floor(Math.log10(rawStep));
|
|
56
|
+
const powerOf10 = Math.pow(10, magnitude);
|
|
57
|
+
const step = rawStep >= powerOf10 * 5 ? powerOf10 * 10 : powerOf10;
|
|
58
|
+
// find start round number that > min
|
|
59
|
+
const startMin = Math.ceil(min / step) * step;
|
|
60
|
+
// find end round number that < max
|
|
61
|
+
const endMax = Math.floor(max / step) * step;
|
|
62
|
+
return Array.from({ length: (endMax - startMin) / step + 1 }, (_, i) => startMin + i * step);
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Format date for display
|
|
66
|
+
*/
|
|
67
|
+
const formatDate = (dateStr, long = false) => {
|
|
68
|
+
const date = new Date(dateStr);
|
|
69
|
+
if (long) {
|
|
70
|
+
return date.toLocaleDateString('en-US', {
|
|
71
|
+
month: 'long',
|
|
72
|
+
year: 'numeric',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return date.toLocaleDateString('en-US', {
|
|
76
|
+
month: 'short',
|
|
77
|
+
year: '2-digit',
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export { formatDate, formatNumber, formatYAxisNumber, generateRoundedYTicks };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Helper function to format large numbers with k/m abbreviations
|
|
2
|
+
const shortDateFormatter = (value) => {
|
|
3
|
+
return new Date(value).toLocaleDateString('en-US', {
|
|
4
|
+
month: 'short',
|
|
5
|
+
year: '2-digit',
|
|
6
|
+
});
|
|
7
|
+
};
|
|
8
|
+
const longDateFormatter = (value) => {
|
|
9
|
+
return new Date(value).toLocaleDateString('en-US', {
|
|
10
|
+
month: 'long',
|
|
11
|
+
year: 'numeric',
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { longDateFormatter, shortDateFormatter };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { useRef, useEffect, useMemo } from 'react';
|
|
4
|
+
import { BaseChartWrapper } from '../Chart/components/BaseChartWrapper.js';
|
|
5
|
+
import { InteractionOverlay } from '../InteractionOverlay/InteractionOverlay.js';
|
|
6
|
+
import { TimeRangeControls } from '../TimeRangeControls/TimeRangeControls.js';
|
|
7
|
+
import { ensureChartForecastBridge } from '../../../utils/chartConnectionPoint.js';
|
|
8
|
+
import { shortDateFormatter, longDateFormatter } from './ChartAreaInteractive.helpers.js';
|
|
9
|
+
import S from './ChartAreaInteractive.styl.js';
|
|
10
|
+
import { PinOverlay } from './overlays/PinOverlay/PinOverlay.js';
|
|
11
|
+
import { IntervalsOverlay } from './overlays/IntervalsOverlay/IntervalsOverlay.js';
|
|
12
|
+
import { ThresholdsOverlay } from './overlays/ThresholdsOverlay/ThresholdsOverlay.js';
|
|
13
|
+
|
|
14
|
+
const chartConfig = {
|
|
15
|
+
// Chart now supports light/dark themes with dynamic colors
|
|
16
|
+
};
|
|
17
|
+
function ChartAreaInteractive({ className, chartContainerClassName, legendClassName, xAxisClassName, yAxisClassName, timeRange, onTimeRangeChange, pinMonth, onPinMonthChange, onPreviewMonthChange, chartData, forecastData, error, loading = false, isDarkTheme = false, footerActions, mode, selectedForecast, upperQuantiles, lowerQuantiles, selectedLowerQuantile, selectedUpperQuantile, onLowerQuantileChange, onUpperQuantileChange, lowerThreshold, upperThreshold, onLowerThresholdChange, onUpperThresholdChange, discreteThresholdValues, headerActions, excludeLegendIds, loadingAnalyses, onLegendClick, onAnalysisSelect, disableTimeRangeSelector, forecastLineStyle = 'dashed', selectedAnalysisId, chartRenderId, toggleLegendSeries, ensureAnalysisSeriesVisible, overlayForecastData = {}, hiddenSeries, disableForecastHistoricalBridge, ...restProps }) {
|
|
18
|
+
const seriesHidden = hiddenSeries ?? new Set();
|
|
19
|
+
const hiddenSeriesRef = useRef(seriesHidden);
|
|
20
|
+
const prevSelectedAnalysisIdRef = useRef(selectedAnalysisId);
|
|
21
|
+
// Keep ref in sync with hiddenSeries (use seriesHidden so ref is always a Set)
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
hiddenSeriesRef.current = seriesHidden;
|
|
24
|
+
}, [seriesHidden]);
|
|
25
|
+
// When analysis selected in CardTable, ensure it's visible in chart legend
|
|
26
|
+
// Only run when selectedAnalysisId changes, not when hiddenSeries changes
|
|
27
|
+
// This allows users to manually hide selected analyses via legend toggle
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
// Only run when selectedAnalysisId actually changes
|
|
30
|
+
if (prevSelectedAnalysisIdRef.current === selectedAnalysisId)
|
|
31
|
+
return;
|
|
32
|
+
prevSelectedAnalysisIdRef.current = selectedAnalysisId;
|
|
33
|
+
if (selectedAnalysisId == null)
|
|
34
|
+
return;
|
|
35
|
+
const dataKey = `forecast_${selectedAnalysisId}`;
|
|
36
|
+
if (hiddenSeriesRef.current.has(dataKey)) {
|
|
37
|
+
ensureAnalysisSeriesVisible(selectedAnalysisId);
|
|
38
|
+
}
|
|
39
|
+
}, [selectedAnalysisId, ensureAnalysisSeriesVisible]);
|
|
40
|
+
const bridgedChartData = useMemo(() => disableForecastHistoricalBridge
|
|
41
|
+
? chartData
|
|
42
|
+
: ensureChartForecastBridge(chartData, {
|
|
43
|
+
forecastSeriesIds: forecastData?.map(f => f.id),
|
|
44
|
+
}), [chartData, disableForecastHistoricalBridge, forecastData]);
|
|
45
|
+
// Extract quantileBands from restProps
|
|
46
|
+
// const quantileBands = (restProps as any).quantileBands;
|
|
47
|
+
const getLoadingMessage = () => {
|
|
48
|
+
// Always return undefined - BaseChartWrapper will handle loading state
|
|
49
|
+
// This prevents showing spinner when data is cached but timeRangedChartData hasn't been computed yet
|
|
50
|
+
return undefined;
|
|
51
|
+
};
|
|
52
|
+
const handleLegendClick = data => {
|
|
53
|
+
const seriesName = data.dataKey;
|
|
54
|
+
if (onLegendClick?.(data) === false)
|
|
55
|
+
return;
|
|
56
|
+
toggleLegendSeries(seriesName);
|
|
57
|
+
};
|
|
58
|
+
const loadingMessage = getLoadingMessage();
|
|
59
|
+
const baseChartProps = {
|
|
60
|
+
renderId: chartRenderId?.toString(),
|
|
61
|
+
xAxisClassName,
|
|
62
|
+
yAxisClassName,
|
|
63
|
+
chartData: bridgedChartData,
|
|
64
|
+
chartClassName: S.chartContainer,
|
|
65
|
+
// chartClassName: cn(S.chartContainer, chartContainerClassName),
|
|
66
|
+
legendClassName,
|
|
67
|
+
forecastData,
|
|
68
|
+
loading,
|
|
69
|
+
hasCombinedData: restProps.hasCombinedData,
|
|
70
|
+
isDarkTheme,
|
|
71
|
+
// formatNumber,
|
|
72
|
+
formatDate: shortDateFormatter,
|
|
73
|
+
labelFormatter: (v) => longDateFormatter(v),
|
|
74
|
+
chartType: 'composed',
|
|
75
|
+
margin: { left: -10, right: 30, top: 20, bottom: 20 },
|
|
76
|
+
hiddenSeries: seriesHidden,
|
|
77
|
+
onLegendClick: handleLegendClick,
|
|
78
|
+
onAnalysisSelect: onAnalysisSelect,
|
|
79
|
+
error,
|
|
80
|
+
footerActions,
|
|
81
|
+
loadingMessage,
|
|
82
|
+
excludeLegendIds,
|
|
83
|
+
forecastLineStyle,
|
|
84
|
+
// loadingAnalyses,
|
|
85
|
+
...restProps,
|
|
86
|
+
};
|
|
87
|
+
const renderChart = () => {
|
|
88
|
+
const overlayClassName = cn(chartContainerClassName);
|
|
89
|
+
switch (mode) {
|
|
90
|
+
case 'pin':
|
|
91
|
+
return (jsx(PinOverlay, { className: overlayClassName, baseChartProps: baseChartProps, pinMonth: pinMonth, onPinMonthChange: onPinMonthChange, onPreviewMonthChange: onPreviewMonthChange }));
|
|
92
|
+
case 'intervals':
|
|
93
|
+
return (jsx(IntervalsOverlay, { className: overlayClassName, baseChartProps: baseChartProps, selectedForecast: selectedForecast, upperQuantiles: upperQuantiles, lowerQuantiles: lowerQuantiles, selectedLowerQuantile: selectedLowerQuantile, selectedUpperQuantile: selectedUpperQuantile, onLowerQuantileChange: onLowerQuantileChange, onUpperQuantileChange: onUpperQuantileChange, overlayForecastData: overlayForecastData }));
|
|
94
|
+
case 'thresholds':
|
|
95
|
+
return (jsx(ThresholdsOverlay, { className: overlayClassName, baseChartProps: baseChartProps, selectedForecast: selectedForecast, lowerThreshold: lowerThreshold, upperThreshold: upperThreshold, onLowerThresholdChange: onLowerThresholdChange, onUpperThresholdChange: onUpperThresholdChange, discreteThresholdValues: discreteThresholdValues, overlayForecastData: overlayForecastData }));
|
|
96
|
+
default:
|
|
97
|
+
return (jsx(BaseChartWrapper, { ...baseChartProps, chartClassName: cn(S.chartContainer, chartContainerClassName) }));
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
return (jsxs(InteractionOverlay, { className: cn(className, loading && S.loading), children: [(!disableTimeRangeSelector || headerActions) && (jsxs("div", { className: S.chartHeaderContainer, children: [!disableTimeRangeSelector && (jsx(TimeRangeControls, { timeRange: timeRange, onTimeRangeChange: onTimeRangeChange, loading: loading })), headerActions] })), renderChart()] }));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { ChartAreaInteractive, chartConfig };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import styleInject from 'style-inject';
|
|
2
|
+
|
|
3
|
+
var css_248z = "@media (max-width:768px){:root{--page-x-padding:var(--p-6);--page-y-padding:var(--p-6)}}:root{--chart-height:586px}@media (max-width:768px){:root{--chart-height:300px}}.ChartAreaInteractive_loadingSpinner__A7jox{animation:ChartAreaInteractive_spin__zU5LX 1s linear infinite;border-top-color:var(--muted-foreground);border:2px solid var(--muted-foreground);border-radius:9999px;height:1.5rem;width:1.5rem}.ChartAreaInteractive_chartHeaderContainer__XkPiP{align-items:center;display:flex;flex-wrap:wrap;gap:var(--p-2);justify-content:space-between;margin-bottom:1rem}.ChartAreaInteractive_chartContainerWrapper__sa2zO{position:relative}.ChartAreaInteractive_chartContainer__PLbGm{aspect-ratio:auto;height:var(--chart-height);transition:opacity .3s ease-out;width:100%}.ChartAreaInteractive_loading__M0in3 .ChartAreaInteractive_chartContainer__PLbGm{opacity:.3;pointer-events:none}.ChartAreaInteractive_chartContainer__PLbGm .recharts-legend-item{cursor:pointer;margin-right:var(--p-6)!important}.ChartAreaInteractive_overlay__V8w04{inset:0;margin:var(--p-5) var(--p-8) var(--p-24) var(--p-12);position:absolute}@media (max-width:768px){.ChartAreaInteractive_overlay__V8w04{height:230px!important}}@keyframes ChartAreaInteractive_spin__zU5LX{to{transform:rotate(1turn)}}@keyframes ChartAreaInteractive_fadeIn__qDomf{0%{opacity:0}to{opacity:1}}";
|
|
4
|
+
var S = {"loadingSpinner":"ChartAreaInteractive_loadingSpinner__A7jox","spin":"ChartAreaInteractive_spin__zU5LX","chartHeaderContainer":"ChartAreaInteractive_chartHeaderContainer__XkPiP","chartContainerWrapper":"ChartAreaInteractive_chartContainerWrapper__sa2zO","chartContainer":"ChartAreaInteractive_chartContainer__PLbGm","loading":"ChartAreaInteractive_loading__M0in3","overlay":"ChartAreaInteractive_overlay__V8w04","fadeIn":"ChartAreaInteractive_fadeIn__qDomf"};
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { S as default };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { memo, useMemo } from 'react';
|
|
3
|
+
import { Line } from 'recharts';
|
|
4
|
+
|
|
5
|
+
const ANIMATION_DURATION = 300;
|
|
6
|
+
// Colors for different forecast series
|
|
7
|
+
const FORECAST_COLORS_MAP = {
|
|
8
|
+
'#C08F09': '#F9D56733',
|
|
9
|
+
'#216BF7': '#84C6FB33',
|
|
10
|
+
'#F103F1': '#EDB1F733',
|
|
11
|
+
'#059643': '#80F3B033',
|
|
12
|
+
'#FD1515': '#80F3B033',
|
|
13
|
+
'#04ADC3': '#65EEFF33',
|
|
14
|
+
'#3C42A9': '#ADB1F633',
|
|
15
|
+
'#795548': '#D0B8AF33',
|
|
16
|
+
};
|
|
17
|
+
const FORECAST_LINE_COLORS = Object.keys(FORECAST_COLORS_MAP);
|
|
18
|
+
const getForecastColor = (index) => FORECAST_LINE_COLORS[index % FORECAST_LINE_COLORS.length];
|
|
19
|
+
const getForecastQuantileBandColor = (index) => FORECAST_COLORS_MAP[FORECAST_LINE_COLORS[index % FORECAST_LINE_COLORS.length]];
|
|
20
|
+
// Memoized component for chart lines - only re-renders when data/analyses/hiddenSeries change
|
|
21
|
+
const ChartLines = memo(({ chartData, forecastData, hiddenSeries, isDarkTheme, shouldAnimate, historicalLineColor = isDarkTheme ? '#ffffff' : '#000000', showLegend = true, forecastLineStyle = 'dashed', disableHistoricalAnimation = false, }) => {
|
|
22
|
+
const dotStroke = isDarkTheme ? '#000000' : '#FFFFFF';
|
|
23
|
+
const activeDotHistorical = {
|
|
24
|
+
r: 6,
|
|
25
|
+
fill: historicalLineColor,
|
|
26
|
+
stroke: dotStroke,
|
|
27
|
+
strokeWidth: 3,
|
|
28
|
+
filter: 'drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.2))',
|
|
29
|
+
style: { zIndex: 20 },
|
|
30
|
+
};
|
|
31
|
+
const activeDotForecast = (color) => ({
|
|
32
|
+
...activeDotHistorical,
|
|
33
|
+
fill: color,
|
|
34
|
+
});
|
|
35
|
+
// Memoize last historical index to avoid recalculating on every render call
|
|
36
|
+
const lastHistoricalIndex = useMemo(() => {
|
|
37
|
+
for (let i = chartData.length - 1; i >= 0; i--) {
|
|
38
|
+
const value = chartData[i].historical;
|
|
39
|
+
if (value !== undefined && value !== null) {
|
|
40
|
+
return i;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return -1;
|
|
44
|
+
}, [chartData]);
|
|
45
|
+
// Memoize last forecast indices per forecast ID
|
|
46
|
+
const lastForecastIndices = useMemo(() => {
|
|
47
|
+
const indices = {};
|
|
48
|
+
forecastData?.forEach(({ id }) => {
|
|
49
|
+
const dataKey = `forecast_${id}`;
|
|
50
|
+
for (let i = chartData.length - 1; i >= 0; i--) {
|
|
51
|
+
const value = chartData[i][dataKey];
|
|
52
|
+
if (value !== undefined && value !== null) {
|
|
53
|
+
indices[id] = i;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return indices;
|
|
59
|
+
}, [chartData, forecastData]);
|
|
60
|
+
// Helper to render dot at last data point
|
|
61
|
+
const renderDot = (props, lastIndex, dataKey, color) => {
|
|
62
|
+
if (lastIndex >= 0 &&
|
|
63
|
+
props.index === lastIndex &&
|
|
64
|
+
chartData[props.index]?.[dataKey] != null &&
|
|
65
|
+
props.cy != null &&
|
|
66
|
+
props.cx != null) {
|
|
67
|
+
return jsx("circle", { cx: props.cx, cy: props.cy, r: 3, fill: color });
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
const renderHistoricalDot = (props) => renderDot(props, lastHistoricalIndex, 'historical', historicalLineColor);
|
|
72
|
+
const renderForecastDot = (props, id, color) => renderDot(props, lastForecastIndices[id] ?? -1, `forecast_${id}`, color);
|
|
73
|
+
return (jsxs(Fragment, { children: [jsx(Line, { type: "monotone", dataKey: "historical", stroke: historicalLineColor, strokeWidth: 1, dot: props => renderHistoricalDot(props), activeDot: activeDotHistorical, name: "Historical Data", legendType: showLegend === false ? 'none' : undefined, strokeDasharray: "0", hide: hiddenSeries?.has('historical'), isAnimationActive: shouldAnimate && !disableHistoricalAnimation, animationDuration: disableHistoricalAnimation ? 0 : ANIMATION_DURATION, animationBegin: 0, animationEasing: "ease-out" }, "historical"), forecastData?.map((data, index) => {
|
|
74
|
+
const { id, name, color = FORECAST_LINE_COLORS[index % FORECAST_LINE_COLORS.length], } = data;
|
|
75
|
+
const dataKey = `forecast_${id}`;
|
|
76
|
+
return (jsx(Line, { type: "monotone", dataKey: dataKey, stroke: color, strokeWidth: 1, strokeDasharray: forecastLineStyle === 'dashed' ? '4 2' : '0', dot: props => renderForecastDot(props, id, color), activeDot: activeDotForecast(color), name: `${name || `${id}`}`, legendType: showLegend === false ? 'none' : undefined, hide: hiddenSeries?.has(dataKey), isAnimationActive: shouldAnimate, animationDuration: ANIMATION_DURATION, animationBegin: 0, animationEasing: "ease-out", className: "chart-line-blinking" }, `forecast-${id}`));
|
|
77
|
+
})] }));
|
|
78
|
+
});
|
|
79
|
+
ChartLines.displayName = 'ChartLines';
|
|
80
|
+
|
|
81
|
+
export { ChartLines, FORECAST_COLORS_MAP, FORECAST_LINE_COLORS, getForecastColor, getForecastQuantileBandColor };
|