@flikk/ui 1.0.0-beta.3 → 1.0.0-beta.31
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/CHANGELOG.md +1281 -0
- package/README.md +52 -0
- package/dist/bg/1.webp +0 -0
- package/dist/bg/10.webp +0 -0
- package/dist/bg/11.webp +0 -0
- package/dist/bg/12.webp +0 -0
- package/dist/bg/13.webp +0 -0
- package/dist/bg/14.webp +0 -0
- package/dist/bg/15.webp +0 -0
- package/dist/bg/16.webp +0 -0
- package/dist/bg/17.webp +0 -0
- package/dist/bg/18.webp +0 -0
- package/dist/bg/19.webp +0 -0
- package/dist/bg/2.webp +0 -0
- package/dist/bg/20.webp +0 -0
- package/dist/bg/21.webp +0 -0
- package/dist/bg/22.webp +0 -0
- package/dist/bg/3.webp +0 -0
- package/dist/bg/4.webp +0 -0
- package/dist/bg/5.webp +0 -0
- package/dist/bg/6.webp +0 -0
- package/dist/bg/7.webp +0 -0
- package/dist/bg/8.webp +0 -0
- package/dist/bg/9.webp +0 -0
- package/dist/components/ai/AgentStatus/AgentStatus.d.ts +3 -0
- package/dist/components/ai/AgentStatus/AgentStatus.js +144 -0
- package/dist/components/ai/AgentStatus/AgentStatus.theme.d.ts +2 -0
- package/dist/components/ai/AgentStatus/AgentStatus.theme.js +37 -0
- package/dist/components/ai/AgentStatus/AgentStatus.types.d.ts +116 -0
- package/dist/components/ai/AgentStatus/index.d.ts +3 -0
- package/dist/components/ai/CodeBlock/CodeBlock.js +24 -7
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +3 -4
- package/dist/components/ai/CodeBlock/CodeBlock.types.d.ts +0 -2
- package/dist/components/ai/CodeBlock/LanguageIcon.js +1 -0
- package/dist/components/ai/PromptInput/PromptInput.animations.d.ts +25 -0
- package/dist/components/ai/PromptInput/PromptInput.animations.js +61 -0
- package/dist/components/ai/PromptInput/PromptInput.js +110 -150
- package/dist/components/ai/PromptInput/PromptInput.theme.js +24 -3
- package/dist/components/ai/PromptInput/PromptInput.types.d.ts +49 -1
- package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +11 -0
- package/dist/components/ai/PromptInput/VoiceRecorder.js +328 -0
- package/dist/components/ai/PromptInput/VoiceRecorder.types.d.ts +17 -0
- package/dist/components/ai/PromptInput/index.d.ts +1 -0
- package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.js +1 -0
- package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.theme.js +4 -4
- package/dist/components/ai/Reasoning/Reasoning.d.ts +5 -0
- package/dist/components/ai/Reasoning/Reasoning.js +16 -0
- package/dist/components/ai/Reasoning/Reasoning.types.d.ts +20 -0
- package/dist/components/ai/Reasoning/index.d.ts +2 -0
- package/dist/components/ai/SourceCitation/SourceCitation.d.ts +4 -0
- package/dist/components/ai/SourceCitation/SourceCitation.js +29 -0
- package/dist/components/ai/SourceCitation/SourceCitation.theme.d.ts +2 -0
- package/dist/components/ai/SourceCitation/SourceCitation.theme.js +23 -0
- package/dist/components/ai/SourceCitation/SourceCitation.types.d.ts +55 -0
- package/dist/components/ai/SourceCitation/index.d.ts +3 -0
- package/dist/components/ai/StreamingResponse/AnimatedText.js +4 -3
- package/dist/components/ai/StreamingResponse/ErrorDisplay.js +3 -2
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -2
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +60 -35
- package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +4 -5
- package/dist/components/ai/StreamingResponse/StreamingCursor.js +14 -10
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +9 -2
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +37 -12
- package/dist/components/ai/StreamingResponse/StreamingResponse.js +9 -4
- package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +3 -1
- package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +9 -7
- package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +27 -0
- package/dist/components/ai/StreamingResponse/WordAnimationContext.js +136 -0
- package/dist/components/ai/StreamingResponse/index.d.ts +3 -1
- package/dist/components/ai/TokenCounter/TokenCounter.js +3 -2
- package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
- package/dist/components/ai/index.d.ts +5 -9
- package/dist/components/ai/index.js +14 -8
- package/dist/components/ai/shared/StatusIndicator.d.ts +8 -0
- package/dist/components/ai/shared/StatusIndicator.js +34 -0
- package/dist/components/canvas/Background.d.ts +19 -0
- package/dist/components/canvas/Background.js +24 -0
- package/dist/components/canvas/BaseNode.d.ts +15 -0
- package/dist/components/canvas/BaseNode.js +20 -0
- package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
- package/dist/components/canvas/CanvasToolbar.js +35 -0
- package/dist/components/canvas/Edge.d.ts +32 -0
- package/dist/components/canvas/Edge.js +113 -0
- package/dist/components/canvas/EdgeLayer.d.ts +19 -0
- package/dist/components/canvas/EdgeLayer.js +121 -0
- package/dist/components/canvas/Handle.d.ts +11 -0
- package/dist/components/canvas/Handle.js +64 -0
- package/dist/components/canvas/MiniMap.d.ts +22 -0
- package/dist/components/canvas/MiniMap.js +106 -0
- package/dist/components/canvas/NodeCanvas.d.ts +10 -0
- package/dist/components/canvas/NodeCanvas.js +481 -0
- package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
- package/dist/components/canvas/NodeCanvas.theme.js +9 -0
- package/dist/components/canvas/NodeCanvas.types.d.ts +191 -0
- package/dist/components/canvas/NodeControls.d.ts +25 -0
- package/dist/components/canvas/NodeControls.js +41 -0
- package/dist/components/canvas/NodeRenderer.d.ts +22 -0
- package/dist/components/canvas/NodeRenderer.js +126 -0
- package/dist/components/canvas/changes.d.ts +11 -0
- package/dist/components/canvas/changes.js +76 -0
- package/dist/components/canvas/changes.test.d.ts +1 -0
- package/dist/components/canvas/context/CanvasContext.d.ts +41 -0
- package/dist/components/canvas/context/CanvasContext.js +34 -0
- package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
- package/dist/components/canvas/context/ConnectionContext.js +14 -0
- package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
- package/dist/components/canvas/context/HandleRegistry.js +16 -0
- package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
- package/dist/components/canvas/context/InteractionContext.js +15 -0
- package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
- package/dist/components/canvas/context/NodeIdContext.js +16 -0
- package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
- package/dist/components/canvas/hooks/useConnection.js +30 -0
- package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
- package/dist/components/canvas/hooks/useMarquee.js +92 -0
- package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
- package/dist/components/canvas/hooks/useNodeDrag.js +111 -0
- package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
- package/dist/components/canvas/hooks/usePanZoom.js +195 -0
- package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
- package/dist/components/canvas/hooks/useViewport.js +36 -0
- package/dist/components/canvas/index.d.ts +14 -0
- package/dist/components/canvas/index.js +12 -0
- package/dist/components/canvas/layout.d.ts +22 -0
- package/dist/components/canvas/layout.js +67 -0
- package/dist/components/canvas/layout.test.d.ts +1 -0
- package/dist/components/canvas/utils.d.ts +4 -0
- package/dist/components/canvas/utils.js +16 -0
- package/dist/components/canvas/utils.test.d.ts +1 -0
- package/dist/components/charts/ActivityRings/ActivityRings.js +29 -18
- package/dist/components/charts/ActivityRings/ActivityRings.types.d.ts +2 -3
- package/dist/components/charts/ActivityRings/ActivityRings.types.js +2 -1
- package/dist/components/charts/AreaChart/AreaChart.js +213 -176
- package/dist/components/charts/AreaChart/AreaChart.theme.d.ts +1 -6
- package/dist/components/charts/AreaChart/AreaChart.theme.js +7 -19
- package/dist/components/charts/AreaChart/AreaChart.types.d.ts +23 -16
- package/dist/components/charts/AreaChart/AreaChart.types.js +11 -3
- package/dist/components/charts/AreaChart/index.d.ts +1 -1
- package/dist/components/charts/BarChart/BarChart.js +220 -185
- package/dist/components/charts/BarChart/BarChart.types.d.ts +22 -18
- package/dist/components/charts/BarChart/BarChart.types.js +12 -4
- package/dist/components/charts/ChartContainer.d.ts +7 -0
- package/dist/components/charts/ChartContainer.js +11 -8
- package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.d.ts +3 -1
- package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.js +145 -107
- package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.types.d.ts +17 -5
- package/dist/components/charts/ComboChart/ComboChart.js +29 -25
- package/dist/components/charts/ComboChart/ComboChart.types.d.ts +18 -16
- package/dist/components/charts/ComboChart/ComboChart.types.js +18 -2
- package/dist/components/charts/ComboChart/ComboChartCanvas.d.ts +98 -0
- package/dist/components/charts/{shared/ChartContainer/ChartContainer.js → ComboChart/ComboChartCanvas.js} +41 -44
- package/dist/components/charts/{shared/ChartContainer/ChartContainer.types.d.ts → ComboChart/ComboChartCanvas.types.d.ts} +23 -3
- package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.d.ts +3 -1
- package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.js +42 -24
- package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.types.d.ts +11 -5
- package/dist/components/charts/DonutChart/DonutChart.js +3 -2
- package/dist/components/charts/DonutChart/DonutChart.theme.js +1 -1
- package/dist/components/charts/DonutChart/DonutChart.types.d.ts +1 -2
- package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +10 -24
- package/dist/components/charts/DonutChart/MultiSegmentDonutChart.types.d.ts +1 -2
- package/dist/components/charts/DonutChart/donut-utils.js +1 -0
- package/dist/components/charts/FunnelChart/FunnelChart.animations.js +1 -48
- package/dist/components/charts/FunnelChart/FunnelChart.d.ts +3 -4
- package/dist/components/charts/FunnelChart/FunnelChart.js +306 -358
- package/dist/components/charts/Heatmap/Heatmap.js +29 -36
- package/dist/components/charts/Heatmap/HeatmapCell.js +2 -1
- package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.d.ts +16 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +237 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.d.ts +62 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.js +21 -0
- package/dist/components/charts/HorizontalBarChart/index.d.ts +3 -0
- package/dist/components/charts/LineChart/LineChart.js +197 -167
- package/dist/components/charts/LineChart/LineChart.types.d.ts +14 -17
- package/dist/components/charts/LineChart/LineChart.types.js +11 -3
- package/dist/components/charts/LollipopChart/LollipopChart.d.ts +3 -0
- package/dist/components/charts/LollipopChart/LollipopChart.js +361 -0
- package/dist/components/charts/LollipopChart/LollipopChart.types.d.ts +42 -0
- package/dist/components/charts/LollipopChart/LollipopChart.types.js +12 -0
- package/dist/components/charts/LollipopChart/index.d.ts +3 -0
- package/dist/components/charts/RadarChart/RadarChart.js +10 -2
- package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -10
- package/dist/components/charts/RadarChart/RadarChart.types.d.ts +0 -8
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +72 -72
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -4
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -6
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +15 -26
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +9 -2
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +209 -154
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +22 -20
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +13 -4
- package/dist/components/charts/hooks/index.d.ts +3 -1
- package/dist/components/charts/hooks/useChartAccessibility.d.ts +1 -1
- package/dist/components/charts/hooks/useChartAccessibility.js +4 -0
- package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
- package/dist/components/charts/hooks/useChartDimensions.js +43 -0
- package/dist/components/charts/hooks/useChartScales.js +1 -1
- package/dist/components/charts/hooks/useChartTheme.js +1 -0
- package/dist/components/charts/hooks/useChartValidation.d.ts +0 -8
- package/dist/components/charts/hooks/useChartValidation.js +1 -0
- package/dist/components/charts/hooks/useTooltipPosition.js +19 -6
- package/dist/components/charts/index.d.ts +9 -3
- package/dist/components/charts/index.js +7 -3
- package/dist/components/charts/shared/ChartAxis/CategoryYAxis.d.ts +14 -0
- package/dist/components/charts/shared/ChartAxis/CategoryYAxis.js +35 -0
- package/dist/components/charts/shared/ChartAxis/ChartAxis.types.d.ts +69 -8
- package/dist/components/charts/shared/ChartAxis/ValueXAxis.d.ts +14 -0
- package/dist/components/charts/shared/ChartAxis/ValueXAxis.js +64 -0
- package/dist/components/charts/shared/ChartAxis/XAxis.js +1 -1
- package/dist/components/charts/shared/ChartAxis/YAxis.js +2 -2
- package/dist/components/charts/shared/ChartAxis/index.d.ts +3 -1
- package/dist/components/charts/shared/ChartCrosshair/ChartCrosshair.js +5 -12
- package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +2 -1
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.d.ts +0 -2
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.js +1 -1
- package/dist/components/charts/shared/ChartGrid/VerticalGrid.d.ts +29 -0
- package/dist/components/charts/shared/ChartGrid/VerticalGrid.js +26 -0
- package/dist/components/charts/shared/ChartGrid/index.d.ts +2 -0
- package/dist/components/charts/shared/ChartLegend/ChartLegend.d.ts +5 -2
- package/dist/components/charts/shared/ChartLegend/ChartLegend.js +15 -22
- package/dist/components/charts/shared/ChartLegend/ChartLegend.types.d.ts +7 -12
- package/dist/components/charts/shared/ChartLegend/index.d.ts +2 -3
- package/dist/components/charts/shared/ChartMarker/ChartMarker.js +8 -1
- package/dist/components/charts/shared/ChartText/ChartText.js +2 -1
- package/dist/components/charts/shared/ChartTooltip/ChartTooltip.js +4 -13
- package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
- package/dist/components/charts/shared/ChartTooltip/ChartTooltip.types.d.ts +13 -2
- package/dist/components/charts/shared/index.d.ts +0 -7
- package/dist/components/charts/theme/chart.theme.js +24 -23
- package/dist/components/charts/types/chart.types.d.ts +35 -7
- package/dist/components/charts/types/chart.types.js +11 -10
- package/dist/components/charts/utils/animation-utils.d.ts +95 -0
- package/dist/components/charts/utils/animation-utils.js +148 -2
- package/dist/components/charts/utils/bar-emphasis.d.ts +109 -0
- package/dist/components/charts/utils/bar-emphasis.js +85 -0
- package/dist/components/charts/utils/chart-validation.js +7 -0
- package/dist/components/charts/utils/index.d.ts +1 -0
- package/dist/components/charts/utils/series-color.d.ts +7 -0
- package/dist/components/charts/utils/series-color.js +20 -0
- package/dist/components/core/Accordion/Accordion.animations.d.ts +6 -1
- package/dist/components/core/Accordion/Accordion.animations.js +15 -1
- package/dist/components/core/Accordion/Accordion.d.ts +4 -4
- package/dist/components/core/Accordion/Accordion.js +23 -19
- package/dist/components/core/Accordion/Accordion.theme.d.ts +2 -2
- package/dist/components/core/Accordion/Accordion.theme.js +7 -7
- package/dist/components/core/Accordion/Accordion.types.d.ts +63 -5
- package/dist/components/core/Accordion/AccordionBody.d.ts +3 -0
- package/dist/components/core/Accordion/{AccordionContent.js → AccordionBody.js} +6 -5
- package/dist/components/core/Accordion/AccordionContext.d.ts +3 -0
- package/dist/components/core/Accordion/AccordionContext.js +15 -0
- package/dist/components/core/Accordion/AccordionItem.js +14 -10
- package/dist/components/core/Accordion/AccordionTrigger.js +52 -10
- package/dist/components/core/Accordion/index.d.ts +2 -2
- package/dist/components/core/Alert/Alert.animations.d.ts +12 -0
- package/dist/components/core/Alert/Alert.animations.js +60 -0
- package/dist/components/core/Alert/Alert.js +29 -10
- package/dist/components/core/Alert/Alert.theme.js +3 -12
- package/dist/components/core/Alert/Alert.types.d.ts +6 -13
- package/dist/components/core/Alert/index.d.ts +1 -1
- package/dist/components/core/AlertDialog/AlertDialog.js +15 -1
- package/dist/components/core/Avatar/Avatar.js +104 -39
- package/dist/components/core/Avatar/Avatar.theme.d.ts +10 -8
- package/dist/components/core/Avatar/Avatar.theme.js +80 -14
- package/dist/components/core/Avatar/Avatar.types.d.ts +55 -9
- package/dist/components/core/Avatar/index.d.ts +1 -1
- package/dist/components/core/AvatarGroup/AvatarGroup.animations.js +3 -2
- package/dist/components/core/AvatarGroup/AvatarGroup.js +12 -10
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.d.ts +1 -2
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +6 -8
- package/dist/components/core/AvatarGroup/AvatarGroup.types.d.ts +0 -6
- package/dist/components/core/AvatarGroup/index.d.ts +1 -1
- package/dist/components/core/Badge/Badge.animations.js +6 -3
- package/dist/components/core/Badge/Badge.d.ts +1 -1
- package/dist/components/core/Badge/Badge.js +36 -74
- package/dist/components/core/Badge/Badge.theme.js +75 -66
- package/dist/components/core/Badge/Badge.types.d.ts +21 -34
- package/dist/components/core/Breadcrumbs/Breadcrumbs.js +24 -25
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.d.ts +1 -4
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +4 -4
- package/dist/components/core/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
- package/dist/components/core/Button/Button.d.ts +1 -1
- package/dist/components/core/Button/Button.js +49 -53
- package/dist/components/core/Button/Button.ripple.d.ts +5 -1
- package/dist/components/core/Button/Button.ripple.js +31 -24
- package/dist/components/core/Button/Button.theme.d.ts +4 -4
- package/dist/components/core/Button/Button.theme.js +63 -92
- package/dist/components/core/Button/Button.types.d.ts +23 -7
- package/dist/components/core/Button/index.d.ts +2 -0
- package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +6 -6
- package/dist/components/core/ButtonGroup/ButtonGroupText.js +1 -3
- package/dist/components/core/Calendar/Calendar.animations.js +1 -0
- package/dist/components/core/Calendar/Calendar.js +134 -10
- package/dist/components/core/Calendar/Calendar.theme.js +22 -26
- package/dist/components/core/Calendar/Calendar.types.d.ts +4 -2
- package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +5 -6
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.animations.js +1 -0
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +9 -5
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
- package/dist/components/core/Card/Card.d.ts +2 -2
- package/dist/components/core/Card/Card.js +17 -6
- package/dist/components/core/Card/Card.theme.js +16 -6
- package/dist/components/core/Card/Card.types.d.ts +43 -15
- package/dist/components/core/Card/CardBody.d.ts +3 -0
- package/dist/components/core/Card/CardBody.js +11 -0
- package/dist/components/core/Card/CardFooter.js +1 -1
- package/dist/components/core/Card/CardHeader.js +1 -1
- package/dist/components/core/Card/CardSubtitle.d.ts +1 -1
- package/dist/components/core/Card/CardTitle.d.ts +1 -1
- package/dist/components/core/Card/index.d.ts +2 -2
- package/dist/components/core/CardStack/CardStack.js +1 -0
- package/dist/components/core/Carousel/Carousel.js +5 -4
- package/dist/components/core/Carousel/Carousel.types.d.ts +4 -4
- package/dist/components/core/Carousel/CarouselBody.d.ts +4 -0
- package/dist/components/core/Carousel/{CarouselContent.js → CarouselBody.js} +12 -5
- package/dist/components/core/Carousel/CarouselContext.js +1 -0
- package/dist/components/core/Carousel/CarouselNext.js +3 -2
- package/dist/components/core/Carousel/CarouselPrevious.js +3 -2
- package/dist/components/core/Carousel/index.d.ts +2 -1
- package/dist/components/core/CommandPalette/CommandItem.js +5 -5
- package/dist/components/core/CommandPalette/CommandPalette.animations.js +1 -0
- package/dist/components/core/CommandPalette/CommandPalette.js +61 -14
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +15 -18
- package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +16 -2
- package/dist/components/core/ContextMenu/ContextMenu.d.ts +2 -2
- package/dist/components/core/ContextMenu/ContextMenu.js +38 -15
- package/dist/components/core/ContextMenu/ContextMenu.theme.js +15 -15
- package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +19 -2
- package/dist/components/core/ContextMenu/ContextMenuBody.d.ts +6 -0
- package/dist/components/core/ContextMenu/{ContextMenuContent.js → ContextMenuBody.js} +20 -11
- package/dist/components/core/ContextMenu/ContextMenuContext.js +1 -0
- package/dist/components/core/ContextMenu/ContextMenuItem.js +19 -9
- package/dist/components/core/ContextMenu/ContextMenuLabel.js +1 -0
- package/dist/components/core/ContextMenu/ContextMenuSeparator.js +1 -0
- package/dist/components/core/ContextMenu/ContextMenuSub.js +4 -3
- package/dist/components/core/ContextMenu/ContextMenuSubBody.d.ts +6 -0
- package/dist/components/core/ContextMenu/{ContextMenuSubContent.js → ContextMenuSubBody.js} +16 -9
- package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +4 -3
- package/dist/components/core/ContextMenu/ContextMenuTrigger.js +13 -6
- package/dist/components/core/ContextMenu/index.d.ts +1 -1
- package/dist/components/core/DotSeparator/DotSeparator.d.ts +3 -0
- package/dist/components/core/DotSeparator/DotSeparator.js +20 -0
- package/dist/components/core/DotSeparator/DotSeparator.theme.d.ts +2 -0
- package/dist/components/core/DotSeparator/DotSeparator.theme.js +10 -0
- package/dist/components/core/DotSeparator/DotSeparator.types.d.ts +25 -0
- package/dist/components/core/DotSeparator/index.d.ts +3 -0
- package/dist/components/core/DragDrop/DragDrop.js +189 -17
- package/dist/components/core/DragDrop/DragDrop.types.d.ts +6 -0
- package/dist/components/core/Drawer/Drawer.animations.js +14 -12
- package/dist/components/core/Drawer/Drawer.d.ts +6 -6
- package/dist/components/core/Drawer/Drawer.js +63 -20
- package/dist/components/core/Drawer/Drawer.theme.d.ts +2 -0
- package/dist/components/core/Drawer/Drawer.theme.js +23 -16
- package/dist/components/core/Drawer/Drawer.types.d.ts +24 -6
- package/dist/components/core/Drawer/DrawerBody.d.ts +5 -0
- package/dist/components/core/Drawer/{DrawerContent.js → DrawerBody.js} +5 -4
- package/dist/components/core/Drawer/DrawerContext.d.ts +3 -0
- package/dist/components/core/Drawer/DrawerContext.js +15 -0
- package/dist/components/core/Drawer/DrawerFooter.js +2 -1
- package/dist/components/core/Drawer/DrawerHeader.js +5 -3
- package/dist/components/core/Drawer/DrawerSubtitle.js +2 -1
- package/dist/components/core/Drawer/DrawerTitle.d.ts +1 -1
- package/dist/components/core/Drawer/DrawerTitle.js +4 -3
- package/dist/components/core/Drawer/index.d.ts +2 -1
- package/dist/components/core/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/core/Dropdown/Dropdown.js +28 -10
- package/dist/components/core/Dropdown/Dropdown.theme.js +9 -7
- package/dist/components/core/Dropdown/Dropdown.types.d.ts +12 -3
- package/dist/components/core/Dropdown/DropdownContext.js +1 -0
- package/dist/components/core/Dropdown/DropdownItem.js +5 -4
- package/dist/components/core/Dropdown/DropdownMenu.js +75 -74
- package/dist/components/core/Dropdown/DropdownSection.js +5 -2
- package/dist/components/core/Dropdown/DropdownSeparator.js +2 -1
- package/dist/components/core/Dropdown/DropdownTrigger.d.ts +6 -1
- package/dist/components/core/Dropdown/DropdownTrigger.js +42 -9
- package/dist/components/core/Empty/Empty.js +1 -1
- package/dist/components/core/Empty/Empty.theme.js +1 -1
- package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
- package/dist/components/core/HeroCard/HeroCard.js +100 -0
- package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
- package/dist/components/core/HeroCard/HeroCard.theme.js +11 -0
- package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
- package/dist/components/core/HeroCard/index.d.ts +4 -0
- package/dist/components/core/Icon/Icon.d.ts +3 -0
- package/dist/components/core/Icon/Icon.js +70 -0
- package/dist/components/core/Icon/Icon.theme.d.ts +2 -0
- package/dist/components/core/Icon/Icon.theme.js +19 -0
- package/dist/components/core/Icon/Icon.types.d.ts +32 -0
- package/dist/components/core/Icon/data/fileTypes.d.ts +7 -0
- package/dist/components/core/Icon/data/fileTypes.js +30 -0
- package/dist/components/core/Icon/data/paymentMethods.d.ts +27 -0
- package/dist/components/core/Icon/data/paymentMethods.js +169 -0
- package/dist/components/core/Icon/index.d.ts +4 -0
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.d.ts +14 -0
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.js +37 -0
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.d.ts +6 -0
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.js +8 -0
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.types.d.ts +32 -0
- package/dist/components/core/ImagePlaceholder/index.d.ts +2 -0
- package/dist/components/core/Kbd/Kbd.theme.js +5 -3
- package/dist/components/core/Link/Link.d.ts +1 -1
- package/dist/components/core/Link/Link.js +62 -29
- package/dist/components/core/Link/Link.types.d.ts +26 -9
- package/dist/components/core/Masonry/Masonry.js +88 -71
- package/dist/components/core/Masonry/Masonry.theme.js +10 -4
- package/dist/components/core/MenuItem/MenuItem.js +23 -2
- package/dist/components/core/MenuItem/MenuItem.theme.d.ts +6 -0
- package/dist/components/core/MenuItem/MenuItem.theme.js +25 -18
- package/dist/components/core/MenuItem/MenuItem.types.d.ts +3 -1
- package/dist/components/core/Message/Message.d.ts +10 -1
- package/dist/components/core/Message/Message.js +50 -8
- package/dist/components/core/Message/Message.theme.js +27 -7
- package/dist/components/core/Message/Message.types.d.ts +122 -7
- package/dist/components/core/Message/MessageActions.js +1 -0
- package/dist/components/core/Message/MessageAudio.d.ts +8 -0
- package/dist/components/core/Message/MessageAudio.js +12 -0
- package/dist/components/core/Message/MessageAvatar.d.ts +2 -2
- package/dist/components/core/Message/MessageAvatar.js +4 -3
- package/dist/components/core/Message/MessageBody.d.ts +8 -0
- package/dist/components/core/Message/{MessageContent.js → MessageBody.js} +4 -3
- package/dist/components/core/Message/MessageContext.d.ts +3 -1
- package/dist/components/core/Message/MessageContext.js +1 -0
- package/dist/components/core/Message/MessageDateDivider.d.ts +6 -0
- package/dist/components/core/Message/MessageDateDivider.js +10 -0
- package/dist/components/core/Message/MessageFile.d.ts +9 -0
- package/dist/components/core/Message/MessageFile.js +16 -0
- package/dist/components/core/Message/MessageImage.d.ts +11 -0
- package/dist/components/core/Message/MessageImage.js +14 -0
- package/dist/components/core/Message/MessageLink.d.ts +10 -0
- package/dist/components/core/Message/MessageLink.js +15 -0
- package/dist/components/core/Message/MessageList.js +1 -0
- package/dist/components/core/Message/MessageReactions.d.ts +8 -0
- package/dist/components/core/Message/MessageReactions.js +13 -0
- package/dist/components/core/Message/MessageReply.d.ts +8 -0
- package/dist/components/core/Message/MessageReply.js +10 -0
- package/dist/components/core/Message/MessageSenderName.d.ts +6 -0
- package/dist/components/core/Message/MessageSenderName.js +10 -0
- package/dist/components/core/Message/MessageStatusIndicator.d.ts +9 -0
- package/dist/components/core/Message/MessageStatusIndicator.js +46 -0
- package/dist/components/core/Message/MessageTimestamp.js +1 -0
- package/dist/components/core/Message/TypeWriter.d.ts +1 -1
- package/dist/components/core/Message/TypeWriter.js +74 -9
- package/dist/components/core/Message/index.d.ts +21 -1
- package/dist/components/core/Modal/Modal.animations.d.ts +1 -0
- package/dist/components/core/Modal/Modal.animations.js +20 -30
- package/dist/components/core/Modal/Modal.d.ts +4 -6
- package/dist/components/core/Modal/Modal.js +21 -22
- package/dist/components/core/Modal/Modal.theme.js +15 -12
- package/dist/components/core/Modal/Modal.types.d.ts +15 -12
- package/dist/components/core/Modal/ModalBody.js +9 -9
- package/dist/components/core/Modal/ModalContext.d.ts +3 -0
- package/dist/components/core/Modal/ModalContext.js +16 -0
- package/dist/components/core/Modal/ModalFooter.js +3 -2
- package/dist/components/core/Modal/ModalHeader.js +5 -3
- package/dist/components/core/Modal/ModalSubtitle.js +2 -1
- package/dist/components/core/Modal/ModalTitle.d.ts +1 -1
- package/dist/components/core/Modal/ModalTitle.js +4 -3
- package/dist/components/core/Modal/index.d.ts +1 -1
- package/dist/components/core/ModalStack/ModalStack.animations.js +1 -0
- package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
- package/dist/components/core/ModalStack/ModalStack.js +2 -1
- package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
- package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
- package/dist/components/core/ModalStack/ModalStackModal.js +20 -16
- package/dist/components/core/NavItem/NavItem.d.ts +1 -1
- package/dist/components/core/NavItem/NavItem.js +273 -79
- package/dist/components/core/NavItem/NavItem.theme.js +31 -9
- package/dist/components/core/NavItem/NavItem.types.d.ts +51 -59
- package/dist/components/core/NavItem/index.d.ts +1 -1
- package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.d.ts +22 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.js +54 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.js +24 -24
- package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +26 -7
- package/dist/components/core/OfflineIndicator/OfflineIndicator.types.d.ts +17 -0
- package/dist/components/core/PageHeading/PageHeading.js +8 -3
- package/dist/components/core/PageHeading/PageHeading.theme.js +3 -3
- package/dist/components/core/PageHeading/PageHeading.types.d.ts +13 -2
- package/dist/components/core/PageHeading/PageHeadingBackButton.js +6 -3
- package/dist/components/core/Pagination/Pagination.js +10 -4
- package/dist/components/core/Pagination/Pagination.theme.d.ts +2 -10
- package/dist/components/core/Pagination/Pagination.theme.js +6 -6
- package/dist/components/core/Pagination/Pagination.types.d.ts +11 -1
- package/dist/components/core/Pill/Pill.js +17 -6
- package/dist/components/core/Pill/Pill.theme.js +13 -11
- package/dist/components/core/Popover/Popover.d.ts +2 -2
- package/dist/components/core/Popover/Popover.js +11 -10
- package/dist/components/core/Popover/Popover.theme.d.ts +1 -1
- package/dist/components/core/Popover/Popover.theme.js +4 -2
- package/dist/components/core/Popover/Popover.types.d.ts +21 -3
- package/dist/components/core/Popover/PopoverBody.d.ts +7 -0
- package/dist/components/core/Popover/PopoverBody.js +134 -0
- package/dist/components/core/Popover/PopoverContext.js +1 -0
- package/dist/components/core/Popover/PopoverTrigger.d.ts +1 -1
- package/dist/components/core/Popover/PopoverTrigger.js +13 -12
- package/dist/components/core/Popover/index.d.ts +4 -3
- package/dist/components/core/Progress/Progress.d.ts +9 -8
- package/dist/components/core/Progress/Progress.js +18 -17
- package/dist/components/core/Progress/Progress.theme.js +6 -14
- package/dist/components/core/Progress/Progress.types.d.ts +2 -19
- package/dist/components/core/Progress/index.d.ts +1 -1
- package/dist/components/core/Rating/Rating.js +17 -10
- package/dist/components/core/Rating/Rating.theme.js +1 -1
- package/dist/components/core/ScrollArea/ScrollArea.js +294 -12
- package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
- package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +24 -4
- package/dist/components/core/ScrollArea/index.d.ts +1 -1
- package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +5 -0
- package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +37 -3
- package/dist/components/core/ScrollArea/smooth/SnapPointDetector.js +1 -0
- package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +5 -0
- package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
- package/dist/components/core/Segmented/Segmented.js +21 -19
- package/dist/components/core/Segmented/Segmented.theme.js +10 -7
- package/dist/components/core/Segmented/SegmentedItem.js +30 -3
- package/dist/components/core/Separator/Separator.js +1 -0
- package/dist/components/core/Sidebar/Sidebar.d.ts +14 -1
- package/dist/components/core/Sidebar/Sidebar.js +95 -21
- package/dist/components/core/Sidebar/Sidebar.theme.js +7 -7
- package/dist/components/core/Sidebar/Sidebar.types.d.ts +190 -8
- package/dist/components/core/Sidebar/SidebarCard.d.ts +25 -0
- package/dist/components/core/Sidebar/SidebarCard.js +69 -0
- package/dist/components/core/Sidebar/SidebarCard.theme.d.ts +8 -0
- package/dist/components/core/Sidebar/SidebarCard.theme.js +18 -0
- package/dist/components/core/Sidebar/SidebarContent.js +11 -4
- package/dist/components/core/Sidebar/SidebarContext.d.ts +26 -11
- package/dist/components/core/Sidebar/SidebarContext.js +87 -11
- package/dist/components/core/Sidebar/SidebarFooter.js +5 -4
- package/dist/components/core/Sidebar/SidebarHeader.js +15 -4
- package/dist/components/core/Sidebar/SidebarLogo.d.ts +3 -0
- package/dist/components/core/Sidebar/SidebarLogo.js +49 -0
- package/dist/components/core/Sidebar/SidebarMobileTrigger.d.ts +3 -0
- package/dist/components/core/Sidebar/SidebarMobileTrigger.js +30 -0
- package/dist/components/core/Sidebar/SidebarNav.js +6 -2
- package/dist/components/core/Sidebar/SidebarNavGroup.js +6 -5
- package/dist/components/core/Sidebar/SidebarSearch.d.ts +22 -0
- package/dist/components/core/Sidebar/SidebarSearch.js +136 -0
- package/dist/components/core/Sidebar/SidebarToggle.js +9 -4
- package/dist/components/core/Sidebar/SidebarUserProfile.d.ts +3 -0
- package/dist/components/core/Sidebar/SidebarUserProfile.js +49 -0
- package/dist/components/core/Sidebar/index.d.ts +7 -3
- package/dist/components/core/Skeleton/Skeleton.js +2 -2
- package/dist/components/core/Skeleton/Skeleton.theme.js +1 -1
- package/dist/components/core/SlidingNumber/SlidingNumber.js +3 -1
- package/dist/components/core/Sortable/Sortable.animations.js +1 -0
- package/dist/components/core/Sortable/Sortable.d.ts +1 -1
- package/dist/components/core/Sortable/Sortable.js +25 -8
- package/dist/components/core/Sortable/Sortable.theme.js +1 -1
- package/dist/components/core/Sortable/Sortable.types.d.ts +9 -5
- package/dist/components/core/Spinner/Spinner.js +1 -0
- package/dist/components/core/Spinner/Spinner.theme.js +4 -6
- package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
- package/dist/components/core/Tabs/Tabs.animations.d.ts +2 -2
- package/dist/components/core/Tabs/Tabs.animations.js +4 -3
- package/dist/components/core/Tabs/Tabs.d.ts +1 -1
- package/dist/components/core/Tabs/Tabs.js +15 -7
- package/dist/components/core/Tabs/Tabs.theme.d.ts +2 -2
- package/dist/components/core/Tabs/Tabs.theme.js +6 -6
- package/dist/components/core/Tabs/Tabs.types.d.ts +13 -9
- package/dist/components/core/Tabs/TabsBody.d.ts +6 -0
- package/dist/components/core/Tabs/{TabsContent.js → TabsBody.js} +15 -12
- package/dist/components/core/Tabs/TabsContext.js +1 -0
- package/dist/components/core/Tabs/TabsList.js +20 -21
- package/dist/components/core/Tabs/TabsTrigger.js +81 -38
- package/dist/components/core/Tabs/index.d.ts +2 -2
- package/dist/components/core/Tag/Tag.animations.js +0 -13
- package/dist/components/core/Tag/Tag.d.ts +2 -2
- package/dist/components/core/Tag/Tag.js +48 -6
- package/dist/components/core/Tag/Tag.theme.js +21 -6
- package/dist/components/core/Tag/Tag.types.d.ts +31 -1
- package/dist/components/core/Toast/Toast.animations.d.ts +3 -2
- package/dist/components/core/Toast/Toast.animations.js +20 -17
- package/dist/components/core/Toast/Toast.d.ts +2 -2
- package/dist/components/core/Toast/Toast.js +67 -32
- package/dist/components/core/Toast/Toast.theme.js +8 -16
- package/dist/components/core/Toast/Toast.types.d.ts +41 -48
- package/dist/components/core/Toast/ToastProvider.js +7 -2
- package/dist/components/core/Toast/index.d.ts +1 -1
- package/dist/components/core/Toast/useToast.js +10 -11
- package/dist/components/core/Tooltip/Tooltip.animations.js +19 -53
- package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/core/Tooltip/Tooltip.js +89 -45
- package/dist/components/core/Tooltip/Tooltip.theme.js +4 -3
- package/dist/components/core/Tooltip/Tooltip.types.d.ts +38 -1
- package/dist/components/core/Tree/Tree.animations.d.ts +1 -2
- package/dist/components/core/Tree/Tree.animations.js +20 -58
- package/dist/components/core/Tree/Tree.js +184 -12
- package/dist/components/core/index.d.ts +4 -2
- package/dist/components/core/index.js +29 -6
- package/dist/components/core/shared/interaction.animations.d.ts +51 -0
- package/dist/components/core/shared/interaction.animations.js +59 -0
- package/dist/components/data-display/DescriptionList/DescriptionList.js +24 -7
- package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
- package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
- package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
- package/dist/components/data-display/Feed/Feed.animations.d.ts +40 -0
- package/dist/components/data-display/Feed/Feed.animations.js +26 -0
- package/dist/components/data-display/Feed/Feed.d.ts +5 -1
- package/dist/components/data-display/Feed/Feed.js +114 -55
- package/dist/components/data-display/Feed/Feed.theme.js +11 -13
- package/dist/components/data-display/Feed/Feed.types.d.ts +66 -34
- package/dist/components/data-display/Feed/index.d.ts +1 -1
- package/dist/components/data-display/GanttChart/GanttChart.d.ts +3 -4
- package/dist/components/data-display/GanttChart/GanttChart.js +36 -25
- package/dist/components/data-display/GanttChart/GanttChart.theme.js +19 -17
- package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +21 -2
- package/dist/components/data-display/GanttChart/GanttChart.utils.js +1 -1
- package/dist/components/data-display/GanttChart/GanttChartContext.d.ts +5 -0
- package/dist/components/data-display/GanttChart/GanttChartContext.js +26 -0
- package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +1 -1
- package/dist/components/data-display/GanttChart/GanttChartPanel.js +6 -5
- package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +9 -5
- package/dist/components/data-display/GanttChart/GanttGroupBar.js +2 -1
- package/dist/components/data-display/GanttChart/GanttMilestone.js +8 -7
- package/dist/components/data-display/GanttChart/GanttSplitter.js +17 -2
- package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +5 -4
- package/dist/components/data-display/GanttChart/GanttTableHeader.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTablePanel.js +3 -2
- package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +4 -3
- package/dist/components/data-display/GanttChart/GanttTaskBar.js +43 -19
- package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +4 -3
- package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +4 -2
- package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +37 -12
- package/dist/components/data-display/GanttChart/GanttToolbar.js +6 -4
- package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +1 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +4 -2
- package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +1 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +1 -0
- package/dist/components/data-display/GanttChart/index.d.ts +1 -1
- package/dist/components/data-display/KPI/KPI.js +15 -4
- package/dist/components/data-display/KPI/KPI.theme.js +10 -11
- package/dist/components/data-display/KPI/KPI.types.d.ts +5 -4
- package/dist/components/data-display/Metric/Metric.js +9 -9
- package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
- package/dist/components/data-display/Metric/Metric.theme.js +55 -64
- package/dist/components/data-display/Metric/Metric.types.d.ts +22 -25
- package/dist/components/data-display/Table/Table.animations.js +17 -10
- package/dist/components/data-display/Table/Table.d.ts +2 -7
- package/dist/components/data-display/Table/Table.filterUtils.js +8 -1
- package/dist/components/data-display/Table/Table.js +28 -31
- package/dist/components/data-display/Table/Table.theme.js +47 -19
- package/dist/components/data-display/Table/Table.types.d.ts +37 -8
- package/dist/components/data-display/Table/TableActions.js +7 -6
- package/dist/components/data-display/Table/TableActionsMenu.js +3 -3
- package/dist/components/data-display/Table/TableBody.js +3 -2
- package/dist/components/data-display/Table/TableCell.d.ts +1 -1
- package/dist/components/data-display/Table/TableCell.js +13 -5
- package/dist/components/data-display/Table/TableColumnManager.js +5 -2
- package/dist/components/data-display/Table/TableContext.d.ts +11 -0
- package/dist/components/data-display/Table/TableContext.js +21 -0
- package/dist/components/data-display/Table/TableDeclarative.js +8 -9
- package/dist/components/data-display/Table/TableFilter.js +34 -26
- package/dist/components/data-display/Table/TableHeader.js +6 -2
- package/dist/components/data-display/Table/TablePagination.js +4 -7
- package/dist/components/data-display/Table/TableRow.d.ts +1 -1
- package/dist/components/data-display/Table/TableRow.js +14 -10
- package/dist/components/data-display/Table/TableSelectionHeader.js +7 -5
- package/dist/components/data-display/Table/hooks/useTableColumns.js +1 -0
- package/dist/components/data-display/Table/hooks/useTableExpansion.js +1 -0
- package/dist/components/data-display/Table/hooks/useTableFilter.js +1 -0
- package/dist/components/data-display/Table/hooks/useTablePagination.js +1 -0
- package/dist/components/data-display/Table/hooks/useTableSelection.js +1 -0
- package/dist/components/data-display/Table/index.d.ts +2 -2
- package/dist/components/data-display/Table/index.js +2 -2
- package/dist/components/data-display/Timeline/Timeline.animations.d.ts +0 -7
- package/dist/components/data-display/Timeline/Timeline.animations.js +2 -27
- package/dist/components/data-display/Timeline/Timeline.d.ts +2 -2
- package/dist/components/data-display/Timeline/Timeline.js +33 -17
- package/dist/components/data-display/Timeline/Timeline.theme.d.ts +2 -16
- package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
- package/dist/components/data-display/Timeline/Timeline.types.d.ts +70 -27
- package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
- package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
- package/dist/components/data-display/Timeline/TimelineContent.js +5 -8
- package/dist/components/data-display/Timeline/TimelineContext.d.ts +3 -0
- package/dist/components/data-display/Timeline/TimelineContext.js +16 -0
- package/dist/components/data-display/Timeline/TimelineItem.js +21 -40
- package/dist/components/data-display/Timeline/TimelineMarker.js +14 -11
- package/dist/components/data-display/Timeline/index.d.ts +2 -2
- package/dist/components/effects/3d/index.d.ts +4 -0
- package/dist/components/effects/3d/index.js +2 -0
- package/dist/components/effects/AIOrb/AIOrb.d.ts +1 -0
- package/dist/components/effects/AIOrb/AIOrb.js +3 -2
- package/dist/components/effects/AIOrb/AIOrb.types.d.ts +1 -0
- package/dist/components/effects/AIOrb/hooks/index.d.ts +2 -0
- package/dist/components/effects/AIOrb/hooks/useOrbState.d.ts +20 -0
- package/dist/components/effects/AIOrb/hooks/useOrbState.js +28 -0
- package/dist/components/effects/AIOrb/index.d.ts +2 -2
- package/dist/components/effects/AIOrb/variants/Aura/Aura.d.ts +3 -0
- package/dist/components/effects/AIOrb/variants/Aura/Aura.js +84 -0
- package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.d.ts +28 -0
- package/dist/components/effects/AIOrb/variants/Aura/Aura.shaders.js +191 -0
- package/dist/components/effects/AIOrb/variants/Aura/Aura.types.d.ts +53 -0
- package/dist/components/effects/AIOrb/variants/Aura/index.d.ts +2 -0
- package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.d.ts +7 -0
- package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.impl.d.ts +3 -0
- package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.impl.js +176 -0
- package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.js +29 -130
- package/dist/components/effects/AIOrb/variants/DotSphere/DotSphere.types.d.ts +6 -0
- package/dist/components/effects/AIOrb/variants/Liquid/Liquid.d.ts +8 -0
- package/dist/components/effects/AIOrb/variants/Liquid/Liquid.impl.d.ts +3 -0
- package/dist/components/effects/AIOrb/variants/Liquid/Liquid.impl.js +140 -0
- package/dist/components/effects/AIOrb/variants/Liquid/Liquid.js +29 -101
- package/dist/components/effects/AIOrb/variants/Liquid/Liquid.types.d.ts +6 -0
- package/dist/components/effects/AIOrb/variants/index.d.ts +2 -0
- package/dist/components/effects/Animated/Animated.animations.js +29 -10
- package/dist/components/effects/Animated/Animated.d.ts +4 -4
- package/dist/components/effects/Animated/Animated.js +9 -9
- package/dist/components/effects/Animated/AnimatedContext.d.ts +3 -0
- package/dist/components/effects/Animated/AnimatedContext.js +12 -0
- package/dist/components/effects/Animated/AnimatedItem.d.ts +1 -1
- package/dist/components/effects/Animated/AnimatedItem.js +7 -5
- package/dist/components/effects/Aurora/Aurora.d.ts +6 -17
- package/dist/components/effects/Aurora/Aurora.js +332 -105
- package/dist/components/effects/Aurora/Aurora.types.d.ts +6 -0
- package/dist/components/effects/ColorPanels/ColorPanels.d.ts +8 -0
- package/dist/components/effects/ColorPanels/ColorPanels.js +66 -0
- package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +12 -0
- package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +218 -0
- package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +29 -0
- package/dist/components/effects/ColorPanels/ColorPanels.types.js +3 -0
- package/dist/components/effects/ColorPanels/index.d.ts +2 -0
- package/dist/components/effects/CustomCursor/CustomCursor.d.ts +4 -4
- package/dist/components/effects/CustomCursor/CustomCursor.js +55 -55
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +2 -2
- package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
- package/dist/components/effects/Dithering/Dithering.d.ts +10 -0
- package/dist/components/effects/Dithering/Dithering.js +62 -0
- package/dist/components/effects/Dithering/Dithering.shaders.d.ts +11 -0
- package/dist/components/effects/Dithering/Dithering.shaders.js +166 -0
- package/dist/components/effects/Dithering/Dithering.types.d.ts +31 -0
- package/dist/components/effects/Dithering/Dithering.types.js +17 -0
- package/dist/components/effects/Dithering/index.d.ts +3 -0
- package/dist/components/effects/DotPattern/DotPattern.js +8 -1
- package/dist/components/effects/DotPattern/DotPattern.types.d.ts +4 -2
- package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +9 -0
- package/dist/components/effects/FlutedGlass/FlutedGlass.js +80 -0
- package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +12 -0
- package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +335 -0
- package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +61 -0
- package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +16 -0
- package/dist/components/effects/FlutedGlass/index.d.ts +3 -0
- package/dist/components/effects/GemSmoke/GemSmoke.d.ts +8 -0
- package/dist/components/effects/GemSmoke/GemSmoke.js +70 -0
- package/dist/components/effects/GemSmoke/GemSmoke.shaders.d.ts +18 -0
- package/dist/components/effects/GemSmoke/GemSmoke.shaders.js +181 -0
- package/dist/components/effects/GemSmoke/GemSmoke.types.d.ts +37 -0
- package/dist/components/effects/GemSmoke/GemSmoke.types.js +10 -0
- package/dist/components/effects/GemSmoke/index.d.ts +3 -0
- package/dist/components/effects/GlassEffect/GlassEffect.js +1 -1
- package/dist/components/effects/GlassSurface/GlassSurface.d.ts +1 -1
- package/dist/components/effects/GlassSurface/GlassSurface.js +40 -34
- package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +14 -0
- package/dist/components/effects/GodRays/GodRays.d.ts +8 -0
- package/dist/components/effects/GodRays/GodRays.js +68 -0
- package/dist/components/effects/GodRays/GodRays.shaders.d.ts +10 -0
- package/dist/components/effects/GodRays/GodRays.shaders.js +128 -0
- package/dist/components/effects/GodRays/GodRays.types.d.ts +25 -0
- package/dist/components/effects/GodRays/GodRays.types.js +3 -0
- package/dist/components/effects/GodRays/index.d.ts +2 -0
- package/dist/components/effects/GradientMesh/GradientMesh.d.ts +9 -0
- package/dist/components/effects/GradientMesh/GradientMesh.js +56 -0
- package/dist/components/effects/GradientMesh/GradientMesh.shaders.d.ts +15 -0
- package/dist/components/effects/GradientMesh/GradientMesh.shaders.js +127 -0
- package/dist/components/effects/GradientMesh/GradientMesh.types.d.ts +17 -0
- package/dist/components/effects/GradientMesh/GradientMesh.types.js +3 -0
- package/dist/components/effects/GradientMesh/index.d.ts +2 -0
- package/dist/components/effects/GrainGradient/GrainGradient.d.ts +9 -0
- package/dist/components/effects/GrainGradient/GrainGradient.js +62 -0
- package/dist/components/effects/GrainGradient/GrainGradient.shaders.d.ts +17 -0
- package/dist/components/effects/GrainGradient/GrainGradient.shaders.js +168 -0
- package/dist/components/effects/GrainGradient/GrainGradient.types.d.ts +26 -0
- package/dist/components/effects/GrainGradient/GrainGradient.types.js +9 -0
- package/dist/components/effects/GrainGradient/index.d.ts +3 -0
- package/dist/components/effects/GridPattern/GridPattern.js +1 -0
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +10 -0
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +78 -0
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +22 -0
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +239 -0
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +52 -0
- package/dist/components/effects/HalftoneCmyk/index.d.ts +2 -0
- package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +9 -0
- package/dist/components/effects/HalftoneDots/HalftoneDots.js +68 -0
- package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +13 -0
- package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +296 -0
- package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +43 -0
- package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +12 -0
- package/dist/components/effects/HalftoneDots/index.d.ts +3 -0
- package/dist/components/effects/ImageDithering/ImageDithering.d.ts +9 -0
- package/dist/components/effects/ImageDithering/ImageDithering.js +68 -0
- package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +12 -0
- package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +117 -0
- package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +30 -0
- package/dist/components/effects/ImageDithering/ImageDithering.types.js +8 -0
- package/dist/components/effects/ImageDithering/index.d.ts +3 -0
- package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.d.ts +39 -0
- package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.animations.js +98 -0
- package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.d.ts +3 -0
- package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.js +105 -0
- package/dist/components/effects/InteractiveCharacters/InteractiveCharacters.types.d.ts +30 -0
- package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.d.ts +3 -0
- package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.js +46 -0
- package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.d.ts +3 -0
- package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.js +46 -0
- package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.d.ts +3 -0
- package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.js +48 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useBlink.d.ts +14 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useBlink.js +42 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.d.ts +25 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.js +85 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.d.ts +18 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.js +36 -0
- package/dist/components/effects/InteractiveCharacters/index.d.ts +2 -0
- package/dist/components/effects/LiquidMetal/LiquidMetal.d.ts +9 -0
- package/dist/components/effects/LiquidMetal/LiquidMetal.js +61 -0
- package/dist/components/effects/LiquidMetal/LiquidMetal.shaders.d.ts +19 -0
- package/dist/components/effects/LiquidMetal/LiquidMetal.shaders.js +202 -0
- package/dist/components/effects/LiquidMetal/LiquidMetal.types.d.ts +34 -0
- package/dist/components/effects/LiquidMetal/LiquidMetal.types.js +9 -0
- package/dist/components/effects/LiquidMetal/index.d.ts +3 -0
- package/dist/components/effects/MagneticElement/MagneticElement.js +1 -0
- package/dist/components/effects/MeshGradient/MeshGradient.d.ts +25 -0
- package/dist/components/effects/MeshGradient/MeshGradient.js +47 -0
- package/dist/components/effects/MeshGradient/MeshGradient.types.d.ts +40 -0
- package/dist/components/effects/MeshGradient/MeshGradient.utils.d.ts +83 -0
- package/dist/components/effects/MeshGradient/MeshGradient.utils.js +112 -0
- package/dist/components/effects/MeshGradient/index.d.ts +4 -0
- package/dist/components/effects/Metaballs/Metaballs.d.ts +8 -0
- package/dist/components/effects/Metaballs/Metaballs.js +59 -0
- package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +10 -0
- package/dist/components/effects/Metaballs/Metaballs.shaders.js +102 -0
- package/dist/components/effects/Metaballs/Metaballs.types.d.ts +16 -0
- package/dist/components/effects/Metaballs/Metaballs.types.js +3 -0
- package/dist/components/effects/Metaballs/index.d.ts +2 -0
- package/dist/components/effects/Neumorphic/InsetCircleButton.d.ts +10 -0
- package/dist/components/effects/Neumorphic/InsetCircleButton.js +11 -0
- package/dist/components/effects/Neumorphic/InsetPill.d.ts +8 -0
- package/dist/components/effects/Neumorphic/InsetPill.js +8 -0
- package/dist/components/effects/Neumorphic/index.d.ts +4 -0
- package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +1 -1
- package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +5 -4
- package/dist/components/effects/Overlay/Overlay.js +52 -25
- package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
- package/dist/components/effects/PaperTexture/PaperTexture.d.ts +9 -0
- package/dist/components/effects/PaperTexture/PaperTexture.js +61 -0
- package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +22 -0
- package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +145 -0
- package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +19 -0
- package/dist/components/effects/PaperTexture/index.d.ts +2 -0
- package/dist/components/effects/Particles/Particles.js +1 -0
- package/dist/components/effects/Particles/Particles.scene.js +1 -0
- package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
- package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
- package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
- package/dist/components/effects/Preloader/Preloader.js +120 -0
- package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
- package/dist/components/effects/Preloader/index.d.ts +2 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +26 -14
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
- package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +27 -0
- package/dist/components/effects/PulsingBorder/PulsingBorder.js +174 -0
- package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +14 -0
- package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +258 -0
- package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +75 -0
- package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +3 -0
- package/dist/components/effects/PulsingBorder/index.d.ts +2 -0
- package/dist/components/effects/ScrollReveal/ScrollReveal.js +1 -0
- package/dist/components/effects/Shimmer/Shimmer.d.ts +21 -0
- package/dist/components/effects/Shimmer/Shimmer.js +44 -0
- package/dist/components/effects/Shimmer/Shimmer.types.d.ts +49 -0
- package/dist/components/effects/Shimmer/index.d.ts +2 -0
- package/dist/components/effects/SmokeRing/SmokeRing.d.ts +8 -0
- package/dist/components/effects/SmokeRing/SmokeRing.js +62 -0
- package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +14 -0
- package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +130 -0
- package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +22 -0
- package/dist/components/effects/SmokeRing/SmokeRing.types.js +3 -0
- package/dist/components/effects/SmokeRing/index.d.ts +2 -0
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +9 -0
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +59 -0
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +14 -0
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +129 -0
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +23 -0
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +3 -0
- package/dist/components/effects/StaticGradientMesh/index.d.ts +2 -0
- package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.d.ts +9 -0
- package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.js +66 -0
- package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.shaders.d.ts +13 -0
- package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.shaders.js +169 -0
- package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.types.d.ts +29 -0
- package/dist/components/effects/StaticRadialGradient/StaticRadialGradient.types.js +3 -0
- package/dist/components/effects/StaticRadialGradient/index.d.ts +2 -0
- package/dist/components/effects/StripePattern/StripePattern.d.ts +18 -0
- package/dist/components/effects/StripePattern/StripePattern.js +55 -0
- package/dist/components/effects/StripePattern/StripePattern.types.d.ts +53 -0
- package/dist/components/effects/StripePattern/index.d.ts +2 -0
- package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
- package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
- package/dist/components/effects/TiltCard/TiltCard.glow.js +115 -0
- package/dist/components/effects/TiltCard/TiltCard.js +178 -0
- package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
- package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
- package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
- package/dist/components/effects/TiltCard/index.d.ts +2 -0
- package/dist/components/effects/Water/Water.d.ts +9 -0
- package/dist/components/effects/Water/Water.js +65 -0
- package/dist/components/effects/Water/Water.shaders.d.ts +11 -0
- package/dist/components/effects/Water/Water.shaders.js +123 -0
- package/dist/components/effects/Water/Water.types.d.ts +25 -0
- package/dist/components/effects/Water/index.d.ts +2 -0
- package/dist/components/effects/index.d.ts +57 -16
- package/dist/components/effects/index.js +30 -8
- package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +13 -0
- package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +255 -0
- package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +18 -0
- package/dist/components/effects/shared/ShaderCanvas/index.d.ts +2 -0
- package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +10 -0
- package/dist/components/effects/shared/bayerMatrices.glsl.js +44 -0
- package/dist/components/effects/shared/imageUV.glsl.d.ts +12 -0
- package/dist/components/effects/shared/imageUV.glsl.js +26 -0
- package/dist/components/effects/shared/index.d.ts +7 -0
- package/dist/components/effects/shared/resolveShaderColor.d.ts +13 -0
- package/dist/components/effects/shared/resolveShaderColor.js +62 -0
- package/dist/components/effects/shared/resolveShaderColor.test.d.ts +1 -0
- package/dist/components/effects/shared/shaderNoise.glsl.d.ts +34 -0
- package/dist/components/effects/shared/shaderNoise.glsl.js +84 -0
- package/dist/components/forms/Checkbox/Checkbox.animations.d.ts +14 -0
- package/dist/components/forms/Checkbox/Checkbox.animations.js +54 -0
- package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
- package/dist/components/forms/Checkbox/Checkbox.js +55 -12
- package/dist/components/forms/Checkbox/Checkbox.theme.js +14 -8
- package/dist/components/forms/Checkbox/Checkbox.types.d.ts +36 -8
- package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
- package/dist/components/forms/Checkbox/CheckboxContext.js +13 -0
- package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
- package/dist/components/forms/Checkbox/CheckboxGroup.js +48 -0
- package/dist/components/forms/Checkbox/index.d.ts +1 -1
- package/dist/components/forms/ColorPicker/ColorPicker.d.ts +6 -10
- package/dist/components/forms/ColorPicker/ColorPicker.js +150 -27
- package/dist/components/forms/ColorPicker/ColorPicker.theme.js +8 -5
- package/dist/components/forms/ColorPicker/ColorPicker.types.d.ts +112 -5
- package/dist/components/forms/ColorPicker/ColorPicker2DCanvas.js +44 -6
- package/dist/components/forms/ColorPicker/ColorPickerBody.d.ts +7 -0
- package/dist/components/forms/ColorPicker/{ColorPickerContent.js → ColorPickerBody.js} +17 -14
- package/dist/components/forms/ColorPicker/ColorPickerContext.d.ts +4 -0
- package/dist/components/forms/ColorPicker/ColorPickerContext.js +13 -0
- package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +7 -6
- package/dist/components/forms/ColorPicker/ColorPickerFormatSelector.js +2 -1
- package/dist/components/forms/ColorPicker/ColorPickerGradient.d.ts +7 -0
- package/dist/components/forms/ColorPicker/ColorPickerGradient.js +187 -0
- package/dist/components/forms/ColorPicker/ColorPickerHeader.d.ts +14 -0
- package/dist/components/forms/ColorPicker/ColorPickerHeader.js +32 -0
- package/dist/components/forms/ColorPicker/ColorPickerImage.d.ts +6 -0
- package/dist/components/forms/ColorPicker/ColorPickerImage.js +155 -0
- package/dist/components/forms/ColorPicker/ColorPickerInput.d.ts +0 -4
- package/dist/components/forms/ColorPicker/ColorPickerInput.js +54 -61
- package/dist/components/forms/ColorPicker/ColorPickerPresets.js +14 -12
- package/dist/components/forms/ColorPicker/ColorPickerSavedColors.d.ts +3 -0
- package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +70 -0
- package/dist/components/forms/ColorPicker/ColorPickerSliders.d.ts +1 -2
- package/dist/components/forms/ColorPicker/ColorPickerSliders.js +85 -23
- package/dist/components/forms/ColorPicker/ColorPickerSwatch.d.ts +1 -1
- package/dist/components/forms/ColorPicker/ColorPickerSwatch.js +11 -9
- package/dist/components/forms/ColorPicker/ColorPickerTrigger.js +22 -3
- package/dist/components/forms/ColorPicker/index.d.ts +9 -3
- package/dist/components/forms/Combobox/Combobox.js +92 -71
- package/dist/components/forms/Combobox/Combobox.theme.js +4 -6
- package/dist/components/forms/Combobox/Combobox.types.d.ts +12 -2
- package/dist/components/forms/DatePicker/DatePicker.animations.js +17 -25
- package/dist/components/forms/DatePicker/DatePicker.d.ts +6 -26
- package/dist/components/forms/DatePicker/DatePicker.js +10 -8
- package/dist/components/forms/DatePicker/DatePicker.theme.js +13 -20
- package/dist/components/forms/DatePicker/DatePicker.types.d.ts +28 -6
- package/dist/components/forms/DatePicker/DatePickerBody.d.ts +7 -0
- package/dist/components/forms/DatePicker/{DatePickerContent.js → DatePickerBody.js} +32 -54
- package/dist/components/forms/DatePicker/DatePickerContext.d.ts +29 -0
- package/dist/components/forms/DatePicker/DatePickerContext.js +6 -0
- package/dist/components/forms/DatePicker/DatePickerPresets.js +2 -1
- package/dist/components/forms/DatePicker/DatePickerTrigger.js +6 -5
- package/dist/components/forms/DatePicker/index.d.ts +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePicker.animations.d.ts +1 -0
- package/dist/components/forms/DateRangePicker/DateRangePicker.d.ts +17 -0
- package/dist/components/forms/DateRangePicker/DateRangePicker.js +121 -0
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.d.ts +5 -0
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +45 -0
- package/dist/components/forms/DateRangePicker/DateRangePicker.types.d.ts +177 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerBody.d.ts +6 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +186 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerContext.d.ts +24 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +5 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerPresets.d.ts +6 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +42 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.d.ts +6 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +33 -0
- package/dist/components/forms/DateRangePicker/dateRangePresets.d.ts +5 -0
- package/dist/components/forms/DateRangePicker/dateRangePresets.js +59 -0
- package/dist/components/forms/DateRangePicker/index.d.ts +4 -0
- package/dist/components/forms/FileUpload/FileUpload.animations.d.ts +29 -0
- package/dist/components/forms/FileUpload/FileUpload.animations.js +19 -0
- package/dist/components/forms/FileUpload/FileUpload.js +96 -133
- package/dist/components/forms/FileUpload/FileUpload.theme.d.ts +2 -10
- package/dist/components/forms/FileUpload/FileUpload.theme.js +20 -30
- package/dist/components/forms/FileUpload/FileUpload.types.d.ts +41 -10
- package/dist/components/forms/FileUpload/FileUploadProgress.animations.d.ts +36 -0
- package/dist/components/forms/FileUpload/FileUploadProgress.animations.js +22 -0
- package/dist/components/forms/FileUpload/FileUploadProgress.d.ts +3 -0
- package/dist/components/forms/FileUpload/FileUploadProgress.js +119 -0
- package/dist/components/forms/FileUpload/FileUploadProgress.theme.d.ts +19 -0
- package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +27 -0
- package/dist/components/forms/FileUpload/FileUploadProgress.types.d.ts +33 -0
- package/dist/components/forms/FileUpload/index.d.ts +3 -0
- package/dist/components/forms/FormLabel/FormLabel.js +2 -2
- package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
- package/dist/components/forms/Input/Input.js +17 -17
- package/dist/components/forms/Input/Input.theme.js +42 -31
- package/dist/components/forms/Input/Input.types.d.ts +20 -4
- package/dist/components/forms/Input/index.d.ts +1 -0
- package/dist/components/forms/Input/inputMasks.d.ts +24 -0
- package/dist/components/forms/Input/inputMasks.js +61 -5
- package/dist/components/forms/InputAddress/InputAddress.d.ts +6 -1
- package/dist/components/forms/InputAddress/InputAddress.js +108 -20
- package/dist/components/forms/InputAddress/InputAddress.theme.js +5 -5
- package/dist/components/forms/InputAddress/InputAddress.types.d.ts +8 -2
- package/dist/components/forms/InputAddress/index.d.ts +1 -1
- package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
- package/dist/components/forms/InputCounter/InputCounter.js +81 -55
- package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
- package/dist/components/forms/InputCounter/InputCounter.types.d.ts +17 -3
- package/dist/components/forms/InputCreditCard/InputCreditCard.d.ts +1 -1
- package/dist/components/forms/InputCreditCard/InputCreditCard.js +33 -9
- package/dist/components/forms/InputCreditCard/InputCreditCard.theme.js +5 -5
- package/dist/components/forms/InputCreditCard/InputCreditCard.types.d.ts +9 -0
- package/dist/components/forms/InputCreditCard/index.d.ts +1 -0
- package/dist/components/forms/InputDate/InputDate.js +1 -0
- package/dist/components/forms/InputOTP/InputOTP.d.ts +3 -12
- package/dist/components/forms/InputOTP/InputOTP.js +160 -150
- package/dist/components/forms/InputOTP/InputOTP.theme.d.ts +5 -1
- package/dist/components/forms/InputOTP/InputOTP.theme.js +40 -5
- package/dist/components/forms/InputOTP/InputOTP.types.d.ts +72 -6
- package/dist/components/forms/InputOTP/index.d.ts +1 -1
- package/dist/components/forms/InputTag/InputTag.js +71 -54
- package/dist/components/forms/InputTag/InputTag.theme.js +1 -1
- package/dist/components/forms/InputTag/InputTag.types.d.ts +10 -2
- package/dist/components/forms/Mention/Mention.d.ts +1 -1
- package/dist/components/forms/Mention/Mention.js +505 -199
- package/dist/components/forms/Mention/Mention.theme.js +19 -28
- package/dist/components/forms/Mention/Mention.types.d.ts +75 -18
- package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
- package/dist/components/forms/Mention/Mention.utils.js +314 -0
- package/dist/components/forms/Mention/index.d.ts +1 -1
- package/dist/components/forms/Radio/Radio.animations.d.ts +10 -0
- package/dist/components/forms/Radio/Radio.animations.js +38 -0
- package/dist/components/forms/Radio/Radio.d.ts +3 -4
- package/dist/components/forms/Radio/Radio.js +46 -5
- package/dist/components/forms/Radio/Radio.theme.js +25 -13
- package/dist/components/forms/Radio/Radio.types.d.ts +39 -10
- package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
- package/dist/components/forms/Radio/RadioContext.js +13 -0
- package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
- package/dist/components/forms/Radio/RadioGroup.js +44 -0
- package/dist/components/forms/Radio/index.d.ts +1 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +1 -0
- package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +18 -0
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +1268 -255
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +53 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +100 -25
- package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +69 -5
- package/dist/components/forms/RichTextEditor/index.d.ts +2 -2
- package/dist/components/forms/Select/Select.animations.js +17 -25
- package/dist/components/forms/Select/Select.d.ts +11 -3
- package/dist/components/forms/Select/Select.js +84 -79
- package/dist/components/forms/Select/Select.theme.js +7 -7
- package/dist/components/forms/Select/Select.types.d.ts +53 -9
- package/dist/components/forms/Select/useSelectState.js +7 -0
- package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +1 -2
- package/dist/components/forms/SelectableCard/SelectableCard.animations.js +6 -7
- package/dist/components/forms/SelectableCard/SelectableCard.d.ts +1 -1
- package/dist/components/forms/SelectableCard/SelectableCard.js +43 -27
- package/dist/components/forms/SelectableCard/SelectableCard.theme.js +15 -25
- package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +16 -4
- package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +1 -0
- package/dist/components/forms/SelectableCard/SelectableCardContext.js +5 -7
- package/dist/components/forms/SelectableCard/SelectableCardGroup.js +32 -10
- package/dist/components/forms/SelectableCard/index.d.ts +1 -1
- package/dist/components/forms/Signature/Signature.js +13 -3
- package/dist/components/forms/Signature/Signature.types.d.ts +9 -3
- package/dist/components/forms/Slider/Slider.js +42 -7
- package/dist/components/forms/Slider/Slider.theme.js +11 -5
- package/dist/components/forms/Slider/Slider.types.d.ts +2 -2
- package/dist/components/forms/Switch/Switch.js +41 -21
- package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
- package/dist/components/forms/Switch/Switch.theme.js +45 -4
- package/dist/components/forms/Switch/Switch.types.d.ts +36 -8
- package/dist/components/forms/Textarea/Textarea.js +12 -3
- package/dist/components/forms/Textarea/Textarea.types.d.ts +12 -4
- package/dist/components/forms/TimePicker/TimePicker.d.ts +2 -12
- package/dist/components/forms/TimePicker/TimePicker.js +8 -5
- package/dist/components/forms/TimePicker/TimePicker.theme.js +11 -14
- package/dist/components/forms/TimePicker/TimePicker.types.d.ts +21 -2
- package/dist/components/forms/TimePicker/TimePickerContent.js +13 -112
- package/dist/components/forms/TimePicker/TimePickerContext.d.ts +15 -0
- package/dist/components/forms/TimePicker/TimePickerContext.js +6 -0
- package/dist/components/forms/TimePicker/TimePickerTrigger.js +22 -8
- package/dist/components/forms/TimePicker/WheelColumn.js +1 -0
- package/dist/components/forms/TimePicker/useWheelPicker.js +1 -0
- package/dist/components/forms/forms.theme.d.ts +1 -0
- package/dist/components/forms/forms.theme.js +98 -45
- package/dist/components/forms/index.d.ts +11 -11
- package/dist/components/forms/index.js +22 -88
- package/dist/components/generative/GenerativeView.d.ts +21 -0
- package/dist/components/generative/GenerativeView.js +117 -0
- package/dist/components/generative/actions.d.ts +26 -0
- package/dist/components/generative/actions.js +51 -0
- package/dist/components/generative/actions.test.d.ts +1 -0
- package/dist/components/generative/index.d.ts +11 -0
- package/dist/components/generative/index.js +9 -0
- package/dist/components/generative/registry.d.ts +43 -0
- package/dist/components/generative/registry.js +325 -0
- package/dist/components/generative/resolvers.d.ts +35 -0
- package/dist/components/generative/resolvers.js +93 -0
- package/dist/components/generative/schema.generated.d.ts +2 -0
- package/dist/components/generative/schema.generated.js +4362 -0
- package/dist/components/generative/schemaTypes.d.ts +30 -0
- package/dist/components/generative/streaming.d.ts +39 -0
- package/dist/components/generative/streaming.js +283 -0
- package/dist/components/generative/streaming.test.d.ts +1 -0
- package/dist/components/generative/tools.d.ts +21 -0
- package/dist/components/generative/tools.js +54 -0
- package/dist/components/generative/tools.test.d.ts +1 -0
- package/dist/components/generative/types.d.ts +41 -0
- package/dist/components/generative/useGenerativeStream.d.ts +37 -0
- package/dist/components/generative/useGenerativeStream.js +37 -0
- package/dist/components/generative/validate.d.ts +24 -0
- package/dist/components/generative/validate.js +351 -0
- package/dist/components/generative/validate.test.d.ts +1 -0
- package/dist/components/layout/AppShell/AppShell.d.ts +10 -0
- package/dist/components/layout/AppShell/AppShell.js +85 -0
- package/dist/components/layout/AppShell/AppShell.theme.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShell.theme.js +42 -0
- package/dist/components/layout/AppShell/AppShell.types.d.ts +127 -0
- package/dist/components/layout/AppShell/AppShellContext.d.ts +14 -0
- package/dist/components/layout/AppShell/AppShellContext.js +20 -0
- package/dist/components/layout/AppShell/AppShellFooter.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellFooter.js +12 -0
- package/dist/components/layout/AppShell/AppShellHeader.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellHeader.js +12 -0
- package/dist/components/layout/AppShell/AppShellMain.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellMain.js +20 -0
- package/dist/components/layout/AppShell/AppShellRightPanel.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellRightPanel.js +17 -0
- package/dist/components/layout/AppShell/AppShellSidebar.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellSidebar.js +17 -0
- package/dist/components/layout/AppShell/AppShellTopbar.d.ts +3 -0
- package/dist/components/layout/AppShell/AppShellTopbar.js +12 -0
- package/dist/components/layout/AppShell/index.d.ts +3 -0
- package/dist/components/layout/FormLayout/FormLayout.d.ts +0 -2
- package/dist/components/layout/FormLayout/FormLayout.js +14 -6
- package/dist/components/layout/FormLayout/FormLayout.theme.js +2 -5
- package/dist/components/layout/FormLayout/FormLayout.types.d.ts +9 -27
- package/dist/components/layout/FormLayout/FormLayoutSection.js +9 -2
- package/dist/components/layout/FormLayout/index.d.ts +1 -1
- package/dist/components/layout/Grid/Grid.d.ts +3 -0
- package/dist/components/layout/Grid/Grid.js +58 -0
- package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
- package/dist/components/layout/Grid/Grid.theme.js +35 -0
- package/dist/components/layout/Grid/Grid.types.d.ts +71 -0
- package/dist/components/layout/Grid/index.d.ts +3 -0
- package/dist/components/layout/Section/Section.d.ts +3 -0
- package/dist/components/layout/Section/Section.js +19 -0
- package/dist/components/layout/Section/Section.theme.d.ts +2 -0
- package/dist/components/layout/Section/Section.theme.js +10 -0
- package/dist/components/layout/Section/Section.types.d.ts +34 -0
- package/dist/components/layout/Section/index.d.ts +3 -0
- package/dist/components/layout/Stack/Stack.d.ts +3 -0
- package/dist/components/layout/Stack/Stack.js +27 -0
- package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
- package/dist/components/layout/Stack/Stack.theme.js +10 -0
- package/dist/components/layout/Stack/Stack.types.d.ts +46 -0
- package/dist/components/layout/Stack/index.d.ts +3 -0
- package/dist/components/layout/index.d.ts +4 -1
- package/dist/components/layout/index.js +10 -0
- package/dist/generative.schema.json +4360 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/useClickOutside.d.ts +10 -4
- package/dist/hooks/useClickOutside.js +45 -24
- package/dist/hooks/useDarkMode.d.ts +1 -0
- package/dist/hooks/useDarkMode.js +43 -0
- package/dist/hooks/useElapsedTime.d.ts +28 -0
- package/dist/hooks/useElapsedTime.js +37 -0
- package/dist/hooks/useFocusTrap.js +1 -0
- package/dist/hooks/useFormStateMachine.d.ts +1 -1
- package/dist/hooks/useIsClient.js +1 -0
- package/dist/hooks/useMediaQuery.d.ts +5 -0
- package/dist/hooks/useMediaQuery.js +22 -0
- package/dist/hooks/useNetworkStatus.d.ts +0 -4
- package/dist/hooks/useNetworkStatus.js +2 -5
- package/dist/hooks/useOverlay.d.ts +2 -0
- package/dist/hooks/useOverlay.js +39 -4
- package/dist/hooks/useScaleBackground.js +6 -2
- package/dist/hooks/useSelectPortal.d.ts +20 -2
- package/dist/hooks/useSelectPortal.js +180 -58
- package/dist/hooks/useSlidingNumber.js +1 -0
- package/dist/hooks/useStreamingSSE.d.ts +0 -5
- package/dist/hooks/useStreamingSSE.js +1 -5
- package/dist/hooks/useTypewriter.js +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +60 -72
- package/dist/registry.json +12043 -0
- package/dist/shadcn-compat.css +80 -0
- package/dist/styles.css +1 -1
- package/dist/test/render.d.ts +11 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/theme/SurfaceContext.d.ts +98 -0
- package/dist/theme/SurfaceContext.js +114 -0
- package/dist/theme/ThemeContext.js +19 -0
- package/dist/theme/animations.d.ts +75 -0
- package/dist/theme/animations.js +132 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme.css +28 -0
- package/dist/themes/ember.css +131 -0
- package/dist/themes/iris.css +94 -0
- package/dist/themes/jade.css +139 -0
- package/dist/tools.json +4498 -0
- package/dist/utils/actionQueue.d.ts +0 -4
- package/dist/utils/actionQueue.js +1 -4
- package/dist/utils/cn.js +21 -1
- package/dist/utils/colorUtils.d.ts +53 -0
- package/dist/utils/colorUtils.js +90 -0
- package/dist/utils/dateUtils.js +81 -15
- package/dist/utils/formatUtils.d.ts +10 -0
- package/dist/utils/formatUtils.js +24 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/paletteGenerator.d.ts +46 -0
- package/dist/utils/performanceMonitor.js +1 -0
- package/dist/utils/smoothScrollUtils.js +1 -0
- package/dist/utils/stateMachine.d.ts +4 -4
- package/package.json +87 -33
- package/src/global.scss +1025 -0
- package/src/styles/theme.css +1126 -0
- package/tailwind.preset.cjs +60 -13
- package/dist/components/ai/ApprovalCard/ApprovalCard.d.ts +0 -3
- package/dist/components/ai/ApprovalCard/ApprovalCard.js +0 -15
- package/dist/components/ai/ApprovalCard/ApprovalCard.theme.d.ts +0 -13
- package/dist/components/ai/ApprovalCard/ApprovalCard.theme.js +0 -15
- package/dist/components/ai/ApprovalCard/ApprovalCard.types.d.ts +0 -43
- package/dist/components/ai/ApprovalCard/index.d.ts +0 -2
- package/dist/components/ai/MessageHistory/MessageHistory.d.ts +0 -18
- package/dist/components/ai/MessageHistory/MessageHistory.js +0 -97
- package/dist/components/ai/MessageHistory/MessageHistory.theme.d.ts +0 -2
- package/dist/components/ai/MessageHistory/MessageHistory.theme.js +0 -8
- package/dist/components/ai/MessageHistory/MessageHistory.types.d.ts +0 -94
- package/dist/components/ai/MessageHistory/index.d.ts +0 -3
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.d.ts +0 -10
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.animations.js +0 -47
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.d.ts +0 -20
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.js +0 -55
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.d.ts +0 -2
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +0 -20
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.types.d.ts +0 -67
- package/dist/components/ai/ThinkingIndicator/index.d.ts +0 -3
- package/dist/components/charts/shared/BarRenderer/index.d.ts +0 -3
- package/dist/components/charts/shared/ChartContainer/ChartContainer.d.ts +0 -85
- package/dist/components/charts/shared/ChartContainer/index.d.ts +0 -3
- package/dist/components/charts/shared/ChartLegend/ChartLegendContent.d.ts +0 -7
- package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +0 -18
- package/dist/components/charts/shared/LineRenderer/index.d.ts +0 -2
- package/dist/components/core/Accordion/AccordionContent.d.ts +0 -3
- package/dist/components/core/Button/Button.animations.d.ts +0 -5
- package/dist/components/core/Card/CardContent.d.ts +0 -3
- package/dist/components/core/Card/CardContent.js +0 -11
- package/dist/components/core/Carousel/CarouselContent.d.ts +0 -4
- package/dist/components/core/ContextMenu/ContextMenuContent.d.ts +0 -6
- package/dist/components/core/ContextMenu/ContextMenuSubContent.d.ts +0 -6
- package/dist/components/core/Drawer/DrawerContent.d.ts +0 -5
- package/dist/components/core/Loader/Loader.d.ts +0 -24
- package/dist/components/core/Loader/Loader.js +0 -57
- package/dist/components/core/Loader/Loader.theme.d.ts +0 -27
- package/dist/components/core/Loader/Loader.theme.js +0 -60
- package/dist/components/core/Loader/Loader.types.d.ts +0 -71
- package/dist/components/core/Loader/index.d.ts +0 -2
- package/dist/components/core/Message/MessageContent.d.ts +0 -8
- package/dist/components/core/Pill/Pill.animations.d.ts +0 -32
- package/dist/components/core/Pill/Pill.animations.js +0 -25
- package/dist/components/core/Popover/Popover.animations.js +0 -13
- package/dist/components/core/Popover/PopoverContent.d.ts +0 -7
- package/dist/components/core/Popover/PopoverContent.js +0 -136
- package/dist/components/core/Sidebar/SidebarSubmenu.d.ts +0 -7
- package/dist/components/core/Sidebar/SidebarSubmenu.js +0 -12
- package/dist/components/core/SocialIcon/SocialIcon.d.ts +0 -3
- package/dist/components/core/SocialIcon/SocialIcon.js +0 -30
- package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +0 -2
- package/dist/components/core/SocialIcon/SocialIcon.theme.js +0 -12
- package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +0 -18
- package/dist/components/core/SocialIcon/index.d.ts +0 -2
- package/dist/components/core/Tabs/TabsContent.d.ts +0 -6
- package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
- package/dist/components/effects/MorphingText/MorphingText.js +0 -91
- package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
- package/dist/components/effects/MorphingText/index.d.ts +0 -2
- package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
- package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
- package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
- package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
- package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
- package/dist/components/effects/Spotlight/Spotlight.js +0 -112
- package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
- package/dist/components/effects/Spotlight/index.d.ts +0 -2
- package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
- package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -214
- package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
- package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
- package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
- package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
- package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
- package/dist/components/effects/StickyScroll/index.d.ts +0 -2
- package/dist/components/forms/ColorPicker/ColorPickerContent.d.ts +0 -7
- package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
- package/dist/components/forms/CronInput/CronInput.js +0 -107
- package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
- package/dist/components/forms/CronInput/CronInput.theme.js +0 -84
- package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -98
- package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
- package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
- package/dist/components/forms/CronInput/index.d.ts +0 -4
- package/dist/components/forms/DatePicker/DatePickerContent.d.ts +0 -7
- package/dist/components/forms/TransferList/TransferList.animations.d.ts +0 -10
- package/dist/components/forms/TransferList/TransferList.animations.js +0 -32
- package/dist/components/forms/TransferList/TransferList.d.ts +0 -28
- package/dist/components/forms/TransferList/TransferList.js +0 -199
- package/dist/components/forms/TransferList/TransferList.theme.d.ts +0 -6
- package/dist/components/forms/TransferList/TransferList.theme.js +0 -60
- package/dist/components/forms/TransferList/TransferList.types.d.ts +0 -101
- package/dist/components/forms/TransferList/index.d.ts +0 -3
- package/dist/components/layout/FormLayout/FormLayoutBody.d.ts +0 -3
- package/dist/components/layout/FormLayout/FormLayoutBody.js +0 -91
- package/dist/components/layout/FormLayout/FormLayoutHeader.d.ts +0 -3
- package/dist/components/layout/FormLayout/FormLayoutHeader.js +0 -12
- package/dist/components/layout/PageLayout/PageLayout.d.ts +0 -7
- package/dist/components/layout/PageLayout/PageLayout.js +0 -33
- package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +0 -2
- package/dist/components/layout/PageLayout/PageLayout.theme.js +0 -10
- package/dist/components/layout/PageLayout/PageLayout.types.d.ts +0 -39
- package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +0 -3
- package/dist/components/layout/PageLayout/PageLayoutContent.js +0 -12
- package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +0 -3
- package/dist/components/layout/PageLayout/PageLayoutHeader.js +0 -12
- package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +0 -3
- package/dist/components/layout/PageLayout/PageLayoutSidebar.js +0 -12
- package/dist/components/layout/PageLayout/index.d.ts +0 -3
- package/dist/icons/Icon.d.ts +0 -24
- package/dist/icons/Icon.js +0 -30
- package/dist/icons/Index.d.ts +0 -16
- package/dist/icons/core/ChevronUpDown.d.ts +0 -1
- package/dist/icons/core/ChevronUpDown.js +0 -7
- package/dist/icons/core/DollarIcon.d.ts +0 -1
- package/dist/icons/core/DollarIcon.js +0 -5
- package/dist/icons/core/LockIcon.d.ts +0 -1
- package/dist/icons/core/LockIcon.js +0 -5
- package/dist/icons/core/MinusIcon.d.ts +0 -1
- package/dist/icons/core/MinusIcon.js +0 -7
- package/dist/icons/core/PlusIcon.d.ts +0 -1
- package/dist/icons/core/PlusIcon.js +0 -7
- package/dist/icons/core/SearchIcon.d.ts +0 -1
- package/dist/icons/core/SearchIcon.js +0 -7
- package/dist/icons/core/TickIcon.d.ts +0 -1
- package/dist/icons/core/TickIcon.js +0 -5
- package/dist/icons/core/User.d.ts +0 -1
- package/dist/utils/useClickOutside.d.ts +0 -1
- /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.d.ts +0 -0
- /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.theme.d.ts +0 -0
- /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.types.d.ts +0 -0
- /package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/index.d.ts +0 -0
- /package/dist/components/core/{SocialIcon → Icon/data}/platforms.d.ts +0 -0
- /package/dist/components/core/{SocialIcon → Icon/data}/platforms.js +0 -0
- /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
|
@@ -1,152 +1,214 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import { AnimatePresence, motion } from 'motion/react';
|
|
3
|
+
import { useRef, useId, useState, useCallback, useMemo } from 'react';
|
|
4
|
+
import { useReducedMotion, AnimatePresence, motion } from 'motion/react';
|
|
4
5
|
import { cn } from '../../../utils/cn.js';
|
|
5
6
|
import { funnelChartTheme } from './FunnelChart.theme.js';
|
|
6
|
-
import {
|
|
7
|
+
import { summaryVariants, labelVariants, badgeVariants } from './FunnelChart.animations.js';
|
|
7
8
|
import { ChartTooltip } from '../shared/ChartTooltip/ChartTooltip.js';
|
|
8
9
|
import { Badge } from '../../core/Badge/Badge.js';
|
|
9
10
|
import { useTooltipPosition } from '../hooks/useTooltipPosition.js';
|
|
11
|
+
import { useChartDimensions } from '../hooks/useChartDimensions.js';
|
|
10
12
|
|
|
13
|
+
const sanitizeSvgId = (value) => value.replace(/[^a-zA-Z0-9_-]/g, "");
|
|
14
|
+
const resolveColor = (color, fallback) => {
|
|
15
|
+
if (!color)
|
|
16
|
+
return fallback;
|
|
17
|
+
if (!color.startsWith("var(") &&
|
|
18
|
+
!color.startsWith("#") &&
|
|
19
|
+
!color.startsWith("rgb") &&
|
|
20
|
+
!color.startsWith("hsl") &&
|
|
21
|
+
color.includes("-")) {
|
|
22
|
+
return `var(--color-${color})`;
|
|
23
|
+
}
|
|
24
|
+
return color;
|
|
25
|
+
};
|
|
11
26
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Features animations, keyboard navigation, and accessibility support.
|
|
27
|
+
* Displays conversion funnel data with trapezoid shapes showing progressive
|
|
28
|
+
* dropoff. The render keeps the chart surface focused: stage-level detail lives
|
|
29
|
+
* in labels/tooltips while conversion and dropoff badges appear on focus.
|
|
16
30
|
*/
|
|
17
|
-
const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true, showValues = true, showLabels = true, showDropoff = false, showConversionRate = true, showSummary = true, colors, theme: themeOverrides, className, orientation = "horizontal", curved = true, useGradient = true, fillOpacity = 0.
|
|
31
|
+
const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true, showValues = true, showLabels = true, showDropoff = false, showConversionRate = true, showSummary = true, colors, theme: themeOverrides, className, orientation = "horizontal", curved = true, useGradient = true, fillOpacity = 0.85, onStageClick, formatValue, labelPosition = "top", summaryPosition = "top-right", animate = true, onStageFocus, ...props }) => {
|
|
18
32
|
const theme = { ...funnelChartTheme, ...(themeOverrides || {}) };
|
|
19
33
|
const chartColors = colors || theme.colors || funnelChartTheme.colors;
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
34
|
+
const rootRef = useRef(null);
|
|
35
|
+
const chartRef = useRef(null);
|
|
36
|
+
const { dimensions, measured } = useChartDimensions(chartRef);
|
|
37
|
+
const shouldReduceMotion = useReducedMotion();
|
|
38
|
+
const shouldAnimate = animate && !shouldReduceMotion;
|
|
39
|
+
const chartId = sanitizeSvgId(useId());
|
|
23
40
|
const { tooltipData, tooltipRef, handleMouseEnter: tooltipMouseEnter, handleMouseMove: tooltipMouseMove, handleMouseLeave: tooltipMouseLeave, } = useTooltipPosition({
|
|
24
|
-
containerRef,
|
|
41
|
+
containerRef: rootRef,
|
|
25
42
|
});
|
|
26
|
-
// Hover state for dimming non-hovered segments
|
|
27
43
|
const [hoveredIndex, setHoveredIndex] = useState(null);
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
// Format value helper
|
|
44
|
+
const [focusedIndex, setFocusedIndex] = useState(0);
|
|
45
|
+
const activeIndex = hoveredIndex !== null && hoveredIndex !== void 0 ? hoveredIndex : focusedIndex;
|
|
31
46
|
const formatDisplayValue = useCallback((value) => {
|
|
32
|
-
if (formatValue)
|
|
47
|
+
if (formatValue)
|
|
33
48
|
return formatValue(value);
|
|
34
|
-
}
|
|
35
49
|
return value.toLocaleString();
|
|
36
50
|
}, [formatValue]);
|
|
37
51
|
const maxValue = useMemo(() => {
|
|
38
|
-
if (data.length
|
|
52
|
+
if (!data.length)
|
|
39
53
|
return 0;
|
|
40
|
-
return Math.max(...data.map((d) => d.value));
|
|
54
|
+
return Math.max(...data.map((d) => Number.isFinite(d.value) ? d.value : 0));
|
|
41
55
|
}, [data]);
|
|
42
56
|
const stages = useMemo(() => {
|
|
43
|
-
|
|
44
|
-
if (data.length === 0 || maxValue === 0) {
|
|
57
|
+
if (!data.length || maxValue <= 0)
|
|
45
58
|
return [];
|
|
46
|
-
}
|
|
47
|
-
const baseColor = ((_a = data[0]) === null || _a === void 0 ? void 0 : _a.color) || chartColors[0];
|
|
48
59
|
return data.map((item, index) => {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
60
|
+
const safeValue = Number.isFinite(item.value) ? Math.max(0, item.value) : 0;
|
|
61
|
+
const percentage = (safeValue / maxValue) * 100;
|
|
62
|
+
const prevValue = index > 0 ? Math.max(0, data[index - 1].value) : 0;
|
|
51
63
|
const dropoff = index > 0 && prevValue > 0
|
|
52
|
-
? ((prevValue -
|
|
64
|
+
? ((prevValue - safeValue) / prevValue) * 100
|
|
53
65
|
: 0;
|
|
54
|
-
const conversionRate = index > 0 && prevValue > 0 ? (
|
|
55
|
-
const usersLost = index > 0 ? prevValue -
|
|
56
|
-
const
|
|
57
|
-
const minOpacity = 0.4;
|
|
58
|
-
const stageOpacity = minOpacity + opacityRange * (index / Math.max(1, data.length - 1));
|
|
66
|
+
const conversionRate = index > 0 && prevValue > 0 ? (safeValue / prevValue) * 100 : 100;
|
|
67
|
+
const usersLost = index > 0 ? Math.max(0, prevValue - safeValue) : 0;
|
|
68
|
+
const color = resolveColor(item.color, chartColors[index % chartColors.length] || "var(--color-primary)");
|
|
59
69
|
return {
|
|
60
70
|
...item,
|
|
71
|
+
value: safeValue,
|
|
61
72
|
percentage,
|
|
62
73
|
dropoff,
|
|
63
74
|
conversionRate,
|
|
64
75
|
usersLost,
|
|
65
|
-
color
|
|
66
|
-
opacity:
|
|
76
|
+
color,
|
|
77
|
+
opacity: Math.max(0.54, 0.96 - index * 0.08),
|
|
67
78
|
gradientId: `funnel-gradient-${chartId}-${index}`,
|
|
68
79
|
};
|
|
69
80
|
});
|
|
70
81
|
}, [data, maxValue, chartColors, chartId]);
|
|
71
82
|
const containerHeight = typeof height === "number" ? `${height}px` : height;
|
|
72
83
|
const containerWidth = typeof width === "number" ? `${width}px` : width;
|
|
73
|
-
// Return empty state if no valid data
|
|
74
84
|
if (stages.length === 0) {
|
|
75
|
-
return (jsx("div", { className: cn(theme.baseStyle, className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": "Empty funnel chart - no data available", ...props, children: jsx("
|
|
85
|
+
return (jsx("div", { className: cn(theme.baseStyle, "justify-center text-[var(--color-text-muted)]", className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": "Empty funnel chart - no data available", ...props, children: jsx("span", { children: "No data available" }) }));
|
|
76
86
|
}
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
const hasTopSummary = showSummary && summaryPosition !== "none" && summaryPosition.startsWith("top");
|
|
88
|
+
const hasBottomSummary = showSummary && summaryPosition !== "none" && summaryPosition.startsWith("bottom");
|
|
89
|
+
const plotMargin = {
|
|
90
|
+
top: orientation === "horizontal" && labelPosition === "top" ? 46 : 18,
|
|
91
|
+
right: orientation === "vertical" && (showConversionRate || showDropoff) ? 82 : 24,
|
|
92
|
+
bottom: orientation === "horizontal" && labelPosition === "bottom" ? 46 : 18,
|
|
93
|
+
left: orientation === "vertical" && (showConversionRate || showDropoff) ? 82 : 24,
|
|
94
|
+
};
|
|
95
|
+
const innerWidth = Math.max(0, dimensions.width - plotMargin.left - plotMargin.right);
|
|
96
|
+
const innerHeight = Math.max(0, dimensions.height - plotMargin.top - plotMargin.bottom);
|
|
97
|
+
const stageWidth = stages.length > 0 ? innerWidth / stages.length : 0;
|
|
98
|
+
const stageHeight = stages.length > 0 ? innerHeight / stages.length : 0;
|
|
99
|
+
const minThickness = orientation === "horizontal" ? 18 : 24;
|
|
100
|
+
const availableThickness = orientation === "horizontal" ? innerHeight : innerWidth;
|
|
84
101
|
const getThickness = (percentage) => {
|
|
85
102
|
if (!percentage)
|
|
86
103
|
return minThickness;
|
|
87
104
|
return Math.max(minThickness, (percentage / 100) * availableThickness);
|
|
88
105
|
};
|
|
89
|
-
const
|
|
106
|
+
const getHorizontalBoundaryPoint = (boundaryIndex, edge) => {
|
|
107
|
+
const boundedIndex = Math.max(0, Math.min(stages.length, boundaryIndex));
|
|
108
|
+
const stageIndex = Math.min(boundedIndex, stages.length - 1);
|
|
109
|
+
const thickness = getThickness(stages[stageIndex].percentage);
|
|
110
|
+
const centerY = plotMargin.top + innerHeight / 2;
|
|
111
|
+
return {
|
|
112
|
+
x: plotMargin.left + boundedIndex * stageWidth,
|
|
113
|
+
y: edge === "top" ? centerY - thickness / 2 : centerY + thickness / 2,
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
const getSmoothHorizontalCurve = (index, edge) => {
|
|
117
|
+
const p0 = getHorizontalBoundaryPoint(index - 1, edge);
|
|
118
|
+
const p1 = getHorizontalBoundaryPoint(index, edge);
|
|
119
|
+
const p2 = getHorizontalBoundaryPoint(index + 1, edge);
|
|
120
|
+
const p3 = getHorizontalBoundaryPoint(index + 2, edge);
|
|
121
|
+
const smoothing = 0.22;
|
|
122
|
+
return {
|
|
123
|
+
start: p1,
|
|
124
|
+
end: p2,
|
|
125
|
+
cp1: {
|
|
126
|
+
x: p1.x + (p2.x - p0.x) * smoothing,
|
|
127
|
+
y: p1.y + (p2.y - p0.y) * smoothing,
|
|
128
|
+
},
|
|
129
|
+
cp2: {
|
|
130
|
+
x: p2.x - (p3.x - p1.x) * smoothing,
|
|
131
|
+
y: p2.y - (p3.y - p1.y) * smoothing,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
const getHorizontalGeometry = (index) => {
|
|
90
136
|
const stage = stages[index];
|
|
91
137
|
const nextStage = stages[index + 1] || stage;
|
|
92
|
-
const xStart = index * stageWidth;
|
|
138
|
+
const xStart = plotMargin.left + index * stageWidth;
|
|
93
139
|
const xEnd = xStart + stageWidth;
|
|
94
140
|
const startThickness = getThickness(stage.percentage);
|
|
95
141
|
const endThickness = getThickness(nextStage.percentage);
|
|
96
|
-
const centerY =
|
|
142
|
+
const centerY = plotMargin.top + innerHeight / 2;
|
|
97
143
|
const startTop = centerY - startThickness / 2;
|
|
98
144
|
const startBottom = centerY + startThickness / 2;
|
|
99
145
|
const endTop = centerY - endThickness / 2;
|
|
100
146
|
const endBottom = centerY + endThickness / 2;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
147
|
+
const path = curved
|
|
148
|
+
? (() => {
|
|
149
|
+
const topCurve = getSmoothHorizontalCurve(index, "top");
|
|
150
|
+
const bottomCurve = getSmoothHorizontalCurve(index, "bottom");
|
|
151
|
+
return `
|
|
152
|
+
M ${topCurve.start.x} ${topCurve.start.y}
|
|
153
|
+
C ${topCurve.cp1.x} ${topCurve.cp1.y}, ${topCurve.cp2.x} ${topCurve.cp2.y}, ${topCurve.end.x} ${topCurve.end.y}
|
|
154
|
+
L ${bottomCurve.end.x} ${bottomCurve.end.y}
|
|
155
|
+
C ${bottomCurve.cp2.x} ${bottomCurve.cp2.y}, ${bottomCurve.cp1.x} ${bottomCurve.cp1.y}, ${bottomCurve.start.x} ${bottomCurve.start.y}
|
|
156
|
+
Z
|
|
157
|
+
`;
|
|
158
|
+
})()
|
|
159
|
+
: `
|
|
160
|
+
M ${xStart} ${startTop}
|
|
161
|
+
L ${xEnd} ${endTop}
|
|
162
|
+
L ${xEnd} ${endBottom}
|
|
163
|
+
L ${xStart} ${startBottom}
|
|
164
|
+
Z
|
|
165
|
+
`;
|
|
166
|
+
return {
|
|
167
|
+
path,
|
|
168
|
+
centerX: xStart + stageWidth / 2,
|
|
169
|
+
centerY,
|
|
170
|
+
boundaryX: xStart,
|
|
171
|
+
boundaryY: centerY,
|
|
172
|
+
labelWidth: Math.max(72, stageWidth - 16),
|
|
173
|
+
labelFitsInside: Math.min(startThickness, endThickness) >= 48 && stageWidth >= 92,
|
|
174
|
+
};
|
|
127
175
|
};
|
|
128
|
-
const
|
|
176
|
+
const getVerticalGeometry = (index) => {
|
|
129
177
|
const stage = stages[index];
|
|
130
178
|
const nextStage = stages[index + 1] || stage;
|
|
131
|
-
const
|
|
132
|
-
const
|
|
133
|
-
const
|
|
134
|
-
const
|
|
135
|
-
const
|
|
136
|
-
const
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
179
|
+
const yStart = plotMargin.top + index * stageHeight;
|
|
180
|
+
const yEnd = yStart + stageHeight;
|
|
181
|
+
const topWidth = getThickness(stage.percentage);
|
|
182
|
+
const bottomWidth = getThickness(nextStage.percentage);
|
|
183
|
+
const centerX = plotMargin.left + innerWidth / 2;
|
|
184
|
+
const topLeft = centerX - topWidth / 2;
|
|
185
|
+
const topRight = centerX + topWidth / 2;
|
|
186
|
+
const bottomLeft = centerX - bottomWidth / 2;
|
|
187
|
+
const bottomRight = centerX + bottomWidth / 2;
|
|
188
|
+
return {
|
|
189
|
+
path: `
|
|
190
|
+
M ${topLeft} ${yStart}
|
|
191
|
+
L ${topRight} ${yStart}
|
|
192
|
+
L ${bottomRight} ${yEnd}
|
|
193
|
+
L ${bottomLeft} ${yEnd}
|
|
194
|
+
Z
|
|
195
|
+
`,
|
|
196
|
+
centerX,
|
|
197
|
+
centerY: yStart + stageHeight / 2,
|
|
198
|
+
boundaryX: centerX,
|
|
199
|
+
boundaryY: yStart,
|
|
200
|
+
labelWidth: Math.max(96, Math.min(topWidth, bottomWidth) - 18),
|
|
201
|
+
labelFitsInside: Math.min(topWidth, bottomWidth) >= 132 && stageHeight >= 56,
|
|
202
|
+
};
|
|
145
203
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
204
|
+
const geometries = stages.map((_, index) => orientation === "horizontal"
|
|
205
|
+
? getHorizontalGeometry(index)
|
|
206
|
+
: getVerticalGeometry(index));
|
|
207
|
+
const overallConversion = stages.length > 1 && stages[0].value > 0
|
|
208
|
+
? ((stages[stages.length - 1].value / stages[0].value) * 100).toFixed(1)
|
|
209
|
+
: "100";
|
|
210
|
+
const buildTooltipContent = (stage, index) => {
|
|
211
|
+
const series = [
|
|
150
212
|
{
|
|
151
213
|
key: "value",
|
|
152
214
|
label: "Value",
|
|
@@ -155,13 +217,12 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
|
|
|
155
217
|
},
|
|
156
218
|
{
|
|
157
219
|
key: "percentage",
|
|
158
|
-
label: "Of
|
|
220
|
+
label: "Of total",
|
|
159
221
|
value: `${stage.percentage.toFixed(1)}%`,
|
|
160
222
|
},
|
|
161
223
|
];
|
|
162
|
-
// Add conversion and lost info for non-first stages
|
|
163
224
|
if (index > 0) {
|
|
164
|
-
|
|
225
|
+
series.push({
|
|
165
226
|
key: "conversion",
|
|
166
227
|
label: "Conversion",
|
|
167
228
|
value: `${stage.conversionRate.toFixed(1)}%`,
|
|
@@ -169,293 +230,180 @@ const FunnelChart = ({ data, height = 400, width = 600, showPercentages = true,
|
|
|
169
230
|
? "var(--color-success)"
|
|
170
231
|
: "var(--color-warning)",
|
|
171
232
|
});
|
|
172
|
-
|
|
233
|
+
series.push({
|
|
173
234
|
key: "lost",
|
|
174
235
|
label: "Lost",
|
|
175
236
|
value: formatDisplayValue(stage.usersLost),
|
|
176
237
|
color: "var(--color-danger)",
|
|
177
238
|
});
|
|
178
239
|
}
|
|
179
|
-
|
|
240
|
+
return {
|
|
180
241
|
category: stage.name,
|
|
181
|
-
series
|
|
242
|
+
series,
|
|
182
243
|
};
|
|
183
|
-
tooltipMouseEnter(e, tooltipContent);
|
|
184
|
-
setHoveredIndex(index);
|
|
185
244
|
};
|
|
186
|
-
const
|
|
187
|
-
|
|
245
|
+
const handleMouseEnter = (e, stage, index) => {
|
|
246
|
+
const geometry = geometries[index];
|
|
247
|
+
tooltipMouseEnter(e, buildTooltipContent(stage, index), {
|
|
248
|
+
x: geometry.centerX,
|
|
249
|
+
y: geometry.centerY,
|
|
250
|
+
dimensions,
|
|
251
|
+
});
|
|
252
|
+
setHoveredIndex(index);
|
|
188
253
|
};
|
|
189
254
|
const handleMouseLeave = () => {
|
|
190
255
|
tooltipMouseLeave();
|
|
191
256
|
setHoveredIndex(null);
|
|
192
257
|
};
|
|
193
258
|
const handleClick = (stage, index) => {
|
|
194
|
-
|
|
195
|
-
onStageClick(stage, index);
|
|
196
|
-
}
|
|
259
|
+
onStageClick === null || onStageClick === void 0 ? void 0 : onStageClick(stage, index);
|
|
197
260
|
};
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
case nextKey:
|
|
206
|
-
e.preventDefault();
|
|
207
|
-
if (index < stages.length - 1) {
|
|
208
|
-
setFocusedIndex(index + 1);
|
|
209
|
-
const nextButton = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-stage-index="${index + 1}"]`);
|
|
210
|
-
nextButton === null || nextButton === void 0 ? void 0 : nextButton.focus();
|
|
211
|
-
}
|
|
212
|
-
break;
|
|
213
|
-
case prevKey:
|
|
214
|
-
e.preventDefault();
|
|
215
|
-
if (index > 0) {
|
|
216
|
-
setFocusedIndex(index - 1);
|
|
217
|
-
const prevButton = (_b = containerRef.current) === null || _b === void 0 ? void 0 : _b.querySelector(`[data-stage-index="${index - 1}"]`);
|
|
218
|
-
prevButton === null || prevButton === void 0 ? void 0 : prevButton.focus();
|
|
219
|
-
}
|
|
220
|
-
break;
|
|
221
|
-
case "Enter":
|
|
222
|
-
case " ":
|
|
223
|
-
e.preventDefault();
|
|
224
|
-
handleClick(stage, index);
|
|
225
|
-
break;
|
|
226
|
-
case "Home":
|
|
227
|
-
e.preventDefault();
|
|
228
|
-
setFocusedIndex(0);
|
|
229
|
-
const firstButton = (_c = containerRef.current) === null || _c === void 0 ? void 0 : _c.querySelector('[data-stage-index="0"]');
|
|
230
|
-
firstButton === null || firstButton === void 0 ? void 0 : firstButton.focus();
|
|
231
|
-
break;
|
|
232
|
-
case "End":
|
|
233
|
-
e.preventDefault();
|
|
234
|
-
const lastIndex = stages.length - 1;
|
|
235
|
-
setFocusedIndex(lastIndex);
|
|
236
|
-
const lastButton = (_d = containerRef.current) === null || _d === void 0 ? void 0 : _d.querySelector(`[data-stage-index="${lastIndex}"]`);
|
|
237
|
-
lastButton === null || lastButton === void 0 ? void 0 : lastButton.focus();
|
|
238
|
-
break;
|
|
261
|
+
const handleKeyDown = (e) => {
|
|
262
|
+
const nextKey = orientation === "horizontal" ? "ArrowRight" : "ArrowDown";
|
|
263
|
+
const prevKey = orientation === "horizontal" ? "ArrowLeft" : "ArrowUp";
|
|
264
|
+
if (e.key === nextKey) {
|
|
265
|
+
e.preventDefault();
|
|
266
|
+
setFocusedIndex((index) => Math.min(stages.length - 1, index + 1));
|
|
267
|
+
return;
|
|
239
268
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
onStageFocus === null || onStageFocus === void 0 ? void 0 : onStageFocus(stage, index);
|
|
245
|
-
};
|
|
246
|
-
const handleBlur = () => {
|
|
247
|
-
setFocusedIndex(null);
|
|
248
|
-
setHoveredIndex(null);
|
|
249
|
-
};
|
|
250
|
-
// Get summary position classes
|
|
251
|
-
const getSummaryPositionClasses = (position) => {
|
|
252
|
-
switch (position) {
|
|
253
|
-
case "top-right":
|
|
254
|
-
return "top-2 right-2";
|
|
255
|
-
case "top-left":
|
|
256
|
-
return "top-2 left-2";
|
|
257
|
-
case "bottom-right":
|
|
258
|
-
return "bottom-2 right-2";
|
|
259
|
-
case "bottom-left":
|
|
260
|
-
return "bottom-2 left-2";
|
|
261
|
-
default:
|
|
262
|
-
return "top-2 right-2";
|
|
269
|
+
if (e.key === prevKey) {
|
|
270
|
+
e.preventDefault();
|
|
271
|
+
setFocusedIndex((index) => Math.max(0, index - 1));
|
|
272
|
+
return;
|
|
263
273
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
case "top":
|
|
269
|
-
return "0";
|
|
270
|
-
case "bottom":
|
|
271
|
-
return "auto";
|
|
272
|
-
case "inside":
|
|
273
|
-
return "50%";
|
|
274
|
-
default:
|
|
275
|
-
return "0";
|
|
274
|
+
if (e.key === "Home") {
|
|
275
|
+
e.preventDefault();
|
|
276
|
+
setFocusedIndex(0);
|
|
277
|
+
return;
|
|
276
278
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
279
|
+
if (e.key === "End") {
|
|
280
|
+
e.preventDefault();
|
|
281
|
+
setFocusedIndex(stages.length - 1);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
285
|
+
e.preventDefault();
|
|
286
|
+
handleClick(stages[focusedIndex], focusedIndex);
|
|
284
287
|
}
|
|
285
288
|
};
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
: "100";
|
|
290
|
-
// Animation props based on animate flag
|
|
291
|
-
const getAnimationProps = (index) => {
|
|
292
|
-
if (!animate) {
|
|
293
|
-
return {};
|
|
289
|
+
const renderSummary = () => {
|
|
290
|
+
if (!showSummary || summaryPosition === "none" || stages.length <= 1) {
|
|
291
|
+
return null;
|
|
294
292
|
}
|
|
295
|
-
return {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
293
|
+
return (jsxs(motion.div, { className: cn("flex w-full items-center justify-between gap-4 rounded-md border border-[var(--color-border)] bg-[var(--color-background)] px-3 py-2 shadow-sm", summaryPosition.endsWith("left") ? "text-left" : "text-right"), ...(shouldAnimate
|
|
294
|
+
? {
|
|
295
|
+
variants: summaryVariants,
|
|
296
|
+
initial: "hidden",
|
|
297
|
+
animate: "visible",
|
|
298
|
+
}
|
|
299
|
+
: {}), children: [jsxs("div", { children: [jsx("div", { className: "text-sm text-[var(--color-text-secondary)]", children: "Overall conversion" }), jsxs("div", { className: "text-lg font-semibold text-[var(--color-text-primary)]", children: [overallConversion, "%"] })] }), jsxs("div", { className: "text-sm text-[var(--color-text-muted)]", children: [formatDisplayValue(stages[0].value), " to", " ", formatDisplayValue(stages[stages.length - 1].value)] })] }));
|
|
300
|
+
};
|
|
301
|
+
const renderStageLabel = (stage, index) => {
|
|
302
|
+
if (!showLabels || labelPosition === "tooltip-only" || !measured)
|
|
303
|
+
return null;
|
|
304
|
+
const geometry = geometries[index];
|
|
305
|
+
const isInside = labelPosition === "inside" ||
|
|
306
|
+
(orientation === "vertical" && geometry.labelFitsInside);
|
|
307
|
+
const shouldShowInside = isInside && geometry.labelFitsInside;
|
|
308
|
+
const top = orientation === "horizontal"
|
|
309
|
+
? shouldShowInside
|
|
310
|
+
? geometry.centerY
|
|
311
|
+
: labelPosition === "bottom"
|
|
312
|
+
? dimensions.height - 30
|
|
313
|
+
: 12
|
|
314
|
+
: geometry.centerY;
|
|
315
|
+
const left = orientation === "vertical" && !shouldShowInside
|
|
316
|
+
? plotMargin.left + innerWidth + 14
|
|
317
|
+
: geometry.centerX;
|
|
318
|
+
return (jsxs(motion.div, { className: "absolute pointer-events-none text-center", style: {
|
|
319
|
+
left,
|
|
320
|
+
top,
|
|
321
|
+
width: Math.min(geometry.labelWidth, 180),
|
|
322
|
+
transform: shouldShowInside
|
|
323
|
+
? "translate(-50%, -50%)"
|
|
324
|
+
: orientation === "vertical"
|
|
325
|
+
? "translateY(-50%)"
|
|
326
|
+
: "translateX(-50%)",
|
|
327
|
+
}, ...(shouldAnimate
|
|
328
|
+
? {
|
|
329
|
+
variants: labelVariants,
|
|
330
|
+
initial: "hidden",
|
|
331
|
+
animate: "visible",
|
|
332
|
+
custom: index,
|
|
333
|
+
}
|
|
334
|
+
: {}), children: [jsx("div", { className: cn("truncate text-sm font-semibold leading-5", shouldShowInside
|
|
335
|
+
? "text-white drop-shadow-md"
|
|
336
|
+
: "text-[var(--color-text-primary)]"), title: stage.name, children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: cn("truncate text-xs leading-4", shouldShowInside
|
|
337
|
+
? "text-white/90 drop-shadow-md"
|
|
338
|
+
: "text-[var(--color-text-secondary)]"), children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " / ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
|
|
339
|
+
};
|
|
340
|
+
const renderActiveBadge = () => {
|
|
341
|
+
const index = activeIndex;
|
|
342
|
+
if (!measured || index <= 0 || index >= stages.length)
|
|
343
|
+
return null;
|
|
344
|
+
const stage = stages[index];
|
|
345
|
+
const geometry = geometries[index];
|
|
346
|
+
const isGoodConversion = stage.conversionRate >= 50;
|
|
347
|
+
return (jsxs(motion.div, { className: "absolute pointer-events-none", style: {
|
|
348
|
+
left: orientation === "horizontal"
|
|
349
|
+
? geometry.boundaryX
|
|
350
|
+
: plotMargin.left + 8,
|
|
351
|
+
top: orientation === "horizontal"
|
|
352
|
+
? geometry.boundaryY
|
|
353
|
+
: geometry.boundaryY,
|
|
354
|
+
transform: orientation === "horizontal"
|
|
355
|
+
? "translate(-50%, -50%)"
|
|
356
|
+
: "translateY(-50%)",
|
|
357
|
+
}, ...(shouldAnimate
|
|
358
|
+
? {
|
|
359
|
+
variants: badgeVariants,
|
|
360
|
+
initial: "hidden",
|
|
361
|
+
animate: "visible",
|
|
362
|
+
custom: index,
|
|
363
|
+
}
|
|
364
|
+
: {}), children: [showConversionRate && (jsxs(Badge, { color: isGoodConversion ? "success" : "warning", variant: "soft", size: "sm", pill: true, children: [stage.conversionRate.toFixed(1), "%"] })), showDropoff && (jsxs("div", { className: "mt-1 text-center text-xs font-medium text-[var(--color-danger)]", children: ["-", Math.max(0, stage.dropoff).toFixed(1), "%"] }))] }, `active-badge-${stage.name}`));
|
|
304
365
|
};
|
|
305
|
-
return (jsxs("div", { ref:
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
left: `${leftPercent}%`,
|
|
347
|
-
top: getLabelTopPosition(labelPosition),
|
|
348
|
-
bottom: getLabelBottomPosition(labelPosition),
|
|
349
|
-
transform: labelPosition === "inside"
|
|
350
|
-
? "translate(-50%, -50%)"
|
|
351
|
-
: "translateX(-50%)",
|
|
352
|
-
}, ...(animate
|
|
353
|
-
? {
|
|
354
|
-
variants: labelVariants,
|
|
355
|
-
initial: "hidden",
|
|
356
|
-
animate: "visible",
|
|
357
|
-
custom: index,
|
|
358
|
-
}
|
|
359
|
-
: {}), children: [jsx("div", { className: cn("text-sm font-semibold whitespace-nowrap", labelPosition === "inside"
|
|
360
|
-
? "text-white drop-shadow-md"
|
|
361
|
-
: "text-[var(--color-text-primary)]"), children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: cn("text-xs whitespace-nowrap", labelPosition === "inside"
|
|
362
|
-
? "text-white/90 drop-shadow-md"
|
|
363
|
-
: "text-[var(--color-text-secondary)]"), children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
|
|
364
|
-
}), orientation === "vertical" &&
|
|
365
|
-
showLabels &&
|
|
366
|
-
labelPosition !== "tooltip-only" &&
|
|
367
|
-
stages.map((stage, index) => {
|
|
368
|
-
const topPercent = ((index * stageHeight + stageHeight / 2) / viewBoxHeight) * 100;
|
|
369
|
-
return (jsxs(motion.div, { className: "absolute left-1/2 pointer-events-none", style: {
|
|
370
|
-
top: `${topPercent}%`,
|
|
371
|
-
transform: "translate(-50%, -50%)",
|
|
372
|
-
}, ...(animate
|
|
373
|
-
? {
|
|
374
|
-
variants: labelVariants,
|
|
375
|
-
initial: "hidden",
|
|
376
|
-
animate: "visible",
|
|
377
|
-
custom: index,
|
|
378
|
-
}
|
|
379
|
-
: {}), children: [jsx("div", { className: "text-sm font-semibold text-white drop-shadow-md whitespace-nowrap text-center", children: stage.name }), (showValues || showPercentages) && (jsxs("div", { className: "text-xs text-white/90 drop-shadow-md whitespace-nowrap text-center", children: [showValues && formatDisplayValue(stage.value), showValues && showPercentages && " • ", showPercentages && `${stage.percentage.toFixed(0)}%`] }))] }, `label-${stage.name}`));
|
|
380
|
-
}), orientation === "horizontal" &&
|
|
381
|
-
showDropoff &&
|
|
382
|
-
stages.map((stage, index) => {
|
|
383
|
-
if (index === 0)
|
|
384
|
-
return null;
|
|
385
|
-
const leftPercent = ((index * stageWidth) / viewBoxWidth) * 100;
|
|
386
|
-
return (jsx(motion.div, { className: "absolute pointer-events-none", style: {
|
|
387
|
-
left: `${leftPercent}%`,
|
|
388
|
-
bottom: "4px",
|
|
389
|
-
transform: "translateX(-50%)",
|
|
390
|
-
}, ...(animate
|
|
391
|
-
? {
|
|
392
|
-
variants: badgeVariants,
|
|
393
|
-
initial: "hidden",
|
|
394
|
-
animate: "visible",
|
|
395
|
-
custom: index,
|
|
396
|
-
}
|
|
397
|
-
: {}), children: jsxs("span", { className: "text-xs text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
|
|
398
|
-
}), orientation === "vertical" &&
|
|
399
|
-
showDropoff &&
|
|
400
|
-
stages.map((stage, index) => {
|
|
401
|
-
if (index === 0)
|
|
402
|
-
return null;
|
|
403
|
-
const topPercent = ((index * stageHeight) / viewBoxHeight) * 100;
|
|
404
|
-
return (jsx(motion.div, { className: "absolute right-2 pointer-events-none", style: {
|
|
405
|
-
top: `${topPercent}%`,
|
|
406
|
-
transform: "translateY(-50%)",
|
|
407
|
-
}, ...(animate
|
|
408
|
-
? {
|
|
409
|
-
variants: badgeVariants,
|
|
410
|
-
initial: "hidden",
|
|
411
|
-
animate: "visible",
|
|
412
|
-
custom: index,
|
|
413
|
-
}
|
|
414
|
-
: {}), children: jsxs("span", { className: "text-xs text-[var(--color-danger)] font-medium", children: ["-", stage.dropoff.toFixed(1), "%"] }) }, `dropoff-${stage.name}`));
|
|
415
|
-
}), orientation === "horizontal" &&
|
|
416
|
-
showConversionRate &&
|
|
417
|
-
stages.map((stage, index) => {
|
|
418
|
-
if (index === 0)
|
|
419
|
-
return null;
|
|
420
|
-
const leftPercent = ((index * stageWidth) / viewBoxWidth) * 100;
|
|
421
|
-
const isGoodConversion = stage.conversionRate >= 50;
|
|
422
|
-
return (jsx(motion.div, { className: "absolute pointer-events-none", style: {
|
|
423
|
-
left: `${leftPercent}%`,
|
|
424
|
-
top: "50%",
|
|
425
|
-
transform: "translate(-50%, -50%)",
|
|
426
|
-
}, ...(animate
|
|
427
|
-
? {
|
|
428
|
-
variants: badgeVariants,
|
|
429
|
-
initial: "hidden",
|
|
430
|
-
animate: "visible",
|
|
431
|
-
custom: index,
|
|
432
|
-
}
|
|
433
|
-
: {}), children: jsxs(Badge, { color: isGoodConversion ? "success" : "warning", variant: "ghost", size: "sm", pill: true, children: ["\u2193 ", stage.conversionRate.toFixed(1), "%"] }) }, `conversion-${stage.name}`));
|
|
434
|
-
}), orientation === "vertical" &&
|
|
435
|
-
showConversionRate &&
|
|
436
|
-
stages.map((stage, index) => {
|
|
437
|
-
if (index === 0)
|
|
438
|
-
return null;
|
|
439
|
-
const topPercent = ((index * stageHeight) / viewBoxHeight) * 100;
|
|
440
|
-
const isGoodConversion = stage.conversionRate >= 50;
|
|
441
|
-
return (jsx(motion.div, { className: "absolute left-2 pointer-events-none", style: {
|
|
442
|
-
top: `${topPercent}%`,
|
|
443
|
-
transform: "translateY(-50%)",
|
|
444
|
-
}, ...(animate
|
|
445
|
-
? {
|
|
446
|
-
variants: badgeVariants,
|
|
447
|
-
initial: "hidden",
|
|
448
|
-
animate: "visible",
|
|
449
|
-
custom: index,
|
|
450
|
-
}
|
|
451
|
-
: {}), children: jsxs(Badge, { color: isGoodConversion ? "success" : "warning", variant: "ghost", size: "sm", pill: true, children: [stage.conversionRate.toFixed(0), "%"] }) }, `conversion-${stage.name}`));
|
|
452
|
-
}), showSummary && summaryPosition !== "none" && stages.length > 1 && (jsxs(motion.div, { className: cn("absolute bg-[var(--color-background)] rounded-lg shadow-sm border border-[var(--color-border)] px-3 py-2 pointer-events-none", getSummaryPositionClasses(summaryPosition)), ...(animate
|
|
453
|
-
? {
|
|
454
|
-
variants: summaryVariants,
|
|
455
|
-
initial: "hidden",
|
|
456
|
-
animate: "visible",
|
|
457
|
-
}
|
|
458
|
-
: {}), children: [jsx("div", { className: "text-xs text-[var(--color-text-secondary)] mb-1", children: "Overall Conversion" }), jsxs("div", { className: "text-lg font-bold text-[var(--color-text-primary)]", children: [overallConversion, "%"] }), jsxs("div", { className: "text-xs text-[var(--color-text-muted)] mt-1", children: [formatDisplayValue(stages[0].value), " \u2192", " ", formatDisplayValue(stages[stages.length - 1].value)] })] })), jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content, chartType: "area" })] }));
|
|
366
|
+
return (jsxs("div", { ref: rootRef, className: cn(theme.baseStyle, "gap-3", className), style: { width: containerWidth, height: containerHeight }, role: "img", "aria-label": `Conversion funnel chart with ${stages.length} stages. Overall conversion: ${overallConversion}%`, tabIndex: 0, onKeyDown: handleKeyDown, ...props, children: [hasTopSummary && renderSummary(), jsxs("div", { ref: chartRef, className: "relative min-h-0 w-full flex-1", children: [jsxs("svg", { viewBox: `0 0 ${dimensions.width} ${dimensions.height}`, width: "100%", height: "100%", "aria-hidden": "true", className: "block overflow-visible", children: [jsx("defs", { children: useGradient &&
|
|
367
|
+
stages.map((stage) => {
|
|
368
|
+
const centerOpacity = Math.min(0.98, stage.opacity);
|
|
369
|
+
const edgeOpacity = Math.max(0.26, centerOpacity - 0.34);
|
|
370
|
+
return (jsxs("linearGradient", { id: stage.gradientId, gradientUnits: "objectBoundingBox", x1: orientation === "horizontal" ? "0" : "0.5", y1: orientation === "horizontal" ? "0.5" : "0", x2: orientation === "horizontal" ? "1" : "0.5", y2: orientation === "horizontal" ? "0.5" : "1", children: [jsx("stop", { offset: "0%", stopColor: stage.color, stopOpacity: centerOpacity }), jsx("stop", { offset: "70%", stopColor: stage.color, stopOpacity: Math.max(edgeOpacity, centerOpacity - 0.12) }), jsx("stop", { offset: "100%", stopColor: stage.color, stopOpacity: edgeOpacity })] }, stage.gradientId));
|
|
371
|
+
}) }), jsx(AnimatePresence, { children: measured &&
|
|
372
|
+
stages.map((stage, index) => {
|
|
373
|
+
const geometry = geometries[index];
|
|
374
|
+
const fill = useGradient
|
|
375
|
+
? `url(#${stage.gradientId})`
|
|
376
|
+
: stage.color;
|
|
377
|
+
const isActive = activeIndex === index;
|
|
378
|
+
const isDimmed = hoveredIndex !== null && hoveredIndex !== index;
|
|
379
|
+
return (jsx(motion.path, { d: geometry.path, fill: fill, fillOpacity: useGradient ? 1 : fillOpacity, stroke: isActive
|
|
380
|
+
? stage.color
|
|
381
|
+
: "var(--color-surface)", strokeWidth: isActive ? 1.5 : 1, strokeLinejoin: "round", vectorEffect: "non-scaling-stroke", className: "cursor-pointer outline-none transition-colors duration-200", initial: shouldAnimate
|
|
382
|
+
? {
|
|
383
|
+
opacity: 0,
|
|
384
|
+
scaleX: orientation === "horizontal" ? 0.84 : 1,
|
|
385
|
+
scaleY: orientation === "vertical" ? 0.84 : 1,
|
|
386
|
+
}
|
|
387
|
+
: false, animate: {
|
|
388
|
+
opacity: isDimmed ? 0.36 : 1,
|
|
389
|
+
scaleX: 1,
|
|
390
|
+
scaleY: 1,
|
|
391
|
+
}, exit: shouldAnimate ? { opacity: 0 } : undefined, transition: {
|
|
392
|
+
delay: shouldAnimate ? index * 0.06 : 0,
|
|
393
|
+
duration: shouldAnimate ? 0.36 : 0,
|
|
394
|
+
ease: "easeOut",
|
|
395
|
+
}, style: {
|
|
396
|
+
transformOrigin: orientation === "horizontal"
|
|
397
|
+
? `${geometry.centerX}px ${geometry.centerY}px`
|
|
398
|
+
: `${geometry.centerX}px ${geometry.centerY}px`,
|
|
399
|
+
filter: isActive
|
|
400
|
+
? "drop-shadow(0 8px 14px rgb(0 0 0 / 0.14))"
|
|
401
|
+
: undefined,
|
|
402
|
+
}, onMouseEnter: (e) => handleMouseEnter(e, stage, index), onMouseMove: tooltipMouseMove, onMouseLeave: handleMouseLeave, onFocus: () => {
|
|
403
|
+
setFocusedIndex(index);
|
|
404
|
+
onStageFocus === null || onStageFocus === void 0 ? void 0 : onStageFocus(stage, index);
|
|
405
|
+
}, onClick: () => handleClick(stage, index) }, stage.name));
|
|
406
|
+
}) })] }), stages.map(renderStageLabel), renderActiveBadge()] }), hasBottomSummary && renderSummary(), jsx(ChartTooltip, { active: !!tooltipData, position: tooltipData ? { x: tooltipData.x, y: tooltipData.y } : { x: 0, y: 0 }, tooltipRef: tooltipRef, content: tooltipData === null || tooltipData === void 0 ? void 0 : tooltipData.content })] }));
|
|
459
407
|
};
|
|
460
408
|
FunnelChart.displayName = "FunnelChart";
|
|
461
409
|
|