@flikk/ui 1.0.0-beta.29 → 1.0.0-beta.30
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 +1184 -0
- package/dist/components/ai/CodeBlock/CodeBlock.js +21 -4
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +0 -1
- 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.js +13 -9
- package/dist/components/ai/PromptInput/PromptInput.theme.js +19 -2
- package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +1 -0
- package/dist/components/ai/PromptInput/VoiceRecorder.js +154 -7
- package/dist/components/ai/{PromptSuggestions → PromptSuggestion}/PromptSuggestion.js +1 -0
- package/dist/components/ai/StreamingResponse/AnimatedText.js +1 -0
- package/dist/components/ai/StreamingResponse/ErrorDisplay.js +1 -0
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +1 -0
- package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +2 -2
- package/dist/components/ai/StreamingResponse/StreamingCursor.js +14 -3
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +2 -2
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +17 -11
- package/dist/components/ai/StreamingResponse/StreamingResponse.js +3 -3
- package/dist/components/ai/StreamingResponse/WordAnimationContext.js +3 -1
- package/dist/components/ai/TokenCounter/TokenCounter.js +1 -0
- package/dist/components/ai/index.d.ts +2 -2
- package/dist/components/ai/index.js +4 -5
- package/dist/components/canvas/Background.js +3 -2
- package/dist/components/canvas/CanvasToolbar.js +3 -2
- package/dist/components/canvas/Edge.d.ts +2 -5
- package/dist/components/canvas/Edge.js +18 -2
- package/dist/components/canvas/EdgeLayer.d.ts +2 -1
- package/dist/components/canvas/EdgeLayer.js +20 -10
- package/dist/components/canvas/Handle.js +3 -2
- package/dist/components/canvas/MiniMap.js +1 -0
- package/dist/components/canvas/NodeCanvas.js +19 -15
- package/dist/components/canvas/NodeCanvas.types.d.ts +5 -1
- package/dist/components/canvas/NodeControls.js +3 -2
- package/dist/components/canvas/NodeRenderer.d.ts +4 -1
- package/dist/components/canvas/NodeRenderer.js +18 -9
- package/dist/components/canvas/changes.test.d.ts +1 -0
- package/dist/components/canvas/context/CanvasContext.d.ts +10 -1
- package/dist/components/canvas/context/CanvasContext.js +27 -7
- package/dist/components/canvas/context/ConnectionContext.js +1 -0
- package/dist/components/canvas/context/HandleRegistry.js +1 -0
- package/dist/components/canvas/context/InteractionContext.js +1 -0
- package/dist/components/canvas/context/NodeIdContext.js +1 -0
- package/dist/components/canvas/hooks/useConnection.js +1 -0
- package/dist/components/canvas/hooks/useMarquee.js +1 -0
- package/dist/components/canvas/hooks/useNodeDrag.js +3 -2
- package/dist/components/canvas/hooks/usePanZoom.js +7 -1
- package/dist/components/canvas/hooks/useViewport.js +1 -0
- package/dist/components/canvas/layout.test.d.ts +1 -0
- package/dist/components/canvas/utils.test.d.ts +1 -0
- package/dist/components/charts/ActivityRings/ActivityRings.js +28 -17
- 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 +170 -157
- package/dist/components/charts/BarChart/BarChart.js +114 -124
- package/dist/components/charts/ChartContainer.d.ts +7 -0
- package/dist/components/charts/ChartContainer.js +10 -7
- package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.d.ts +3 -1
- package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.js +137 -102
- package/dist/components/charts/{shared/BarRenderer → ComboChart}/BarRenderer.types.d.ts +17 -5
- package/dist/components/charts/ComboChart/ComboChart.js +26 -9
- package/dist/components/charts/ComboChart/ComboChart.types.d.ts +2 -2
- package/dist/components/charts/ComboChart/ComboChart.types.js +4 -0
- 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 +27 -14
- package/dist/components/charts/{shared/LineRenderer → ComboChart}/LineRenderer.types.d.ts +11 -5
- package/dist/components/charts/DonutChart/DonutChart.js +2 -1
- package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +8 -22
- 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 +1 -0
- package/dist/components/charts/LineChart/LineChart.js +163 -132
- package/dist/components/charts/LineChart/LineChart.types.d.ts +1 -1
- package/dist/components/charts/RadarChart/RadarChart.js +10 -2
- package/dist/components/charts/RadarChart/RadarChart.theme.js +0 -8
- package/dist/components/charts/RadarChart/RadarChart.types.d.ts +0 -8
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +12 -3
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -4
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +0 -5
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +79 -42
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +2 -2
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +3 -0
- package/dist/components/charts/hooks/index.d.ts +1 -1
- package/dist/components/charts/hooks/useChartAccessibility.js +1 -0
- package/dist/components/charts/hooks/useChartDimensions.js +1 -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 +1 -0
- package/dist/components/charts/index.d.ts +3 -3
- package/dist/components/charts/index.js +1 -3
- package/dist/components/charts/shared/ChartCrosshair/ChartCrosshair.js +5 -12
- package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +1 -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 +6 -23
- package/dist/components/charts/shared/ChartLegend/index.d.ts +2 -3
- package/dist/components/charts/shared/ChartMarker/ChartMarker.js +1 -0
- package/dist/components/charts/shared/ChartText/ChartText.js +1 -0
- package/dist/components/charts/shared/ChartTooltip/ChartTooltip.js +4 -13
- package/dist/components/charts/shared/index.d.ts +0 -7
- package/dist/components/charts/theme/chart.theme.js +6 -0
- package/dist/components/charts/types/chart.types.d.ts +15 -0
- package/dist/components/charts/utils/animation-utils.d.ts +95 -0
- package/dist/components/charts/utils/animation-utils.js +150 -2
- package/dist/components/charts/utils/bar-emphasis.d.ts +80 -0
- package/dist/components/charts/utils/bar-emphasis.js +69 -0
- package/dist/components/charts/utils/chart-validation.js +7 -0
- package/dist/components/core/Accordion/Accordion.d.ts +3 -3
- package/dist/components/core/Accordion/Accordion.js +21 -17
- package/dist/components/core/Accordion/Accordion.types.d.ts +35 -1
- package/dist/components/core/Accordion/AccordionBody.js +2 -1
- 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 +12 -8
- package/dist/components/core/Accordion/AccordionTrigger.js +7 -4
- package/dist/components/core/Accordion/index.d.ts +2 -2
- package/dist/components/core/Alert/Alert.animations.js +1 -0
- package/dist/components/core/Alert/Alert.js +4 -4
- package/dist/components/core/Alert/Alert.theme.js +0 -5
- package/dist/components/core/Alert/Alert.types.d.ts +0 -8
- 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 +58 -14
- package/dist/components/core/Avatar/Avatar.types.d.ts +26 -1
- package/dist/components/core/AvatarGroup/AvatarGroup.animations.js +1 -0
- package/dist/components/core/AvatarGroup/AvatarGroup.js +1 -0
- package/dist/components/core/Badge/Badge.animations.js +1 -0
- package/dist/components/core/Badge/Badge.js +6 -6
- package/dist/components/core/Badge/Badge.theme.js +32 -28
- package/dist/components/core/Badge/Badge.types.d.ts +12 -1
- package/dist/components/core/Breadcrumbs/Breadcrumbs.js +8 -2
- package/dist/components/core/Button/Button.js +23 -17
- package/dist/components/core/Button/Button.ripple.js +1 -4
- package/dist/components/core/Button/Button.theme.d.ts +0 -2
- package/dist/components/core/Button/Button.theme.js +16 -92
- package/dist/components/core/Button/Button.types.d.ts +5 -6
- package/dist/components/core/Calendar/Calendar.animations.js +1 -0
- package/dist/components/core/Calendar/Calendar.js +87 -4
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.animations.js +1 -0
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +3 -1
- package/dist/components/core/Card/Card.js +9 -2
- package/dist/components/core/Card/Card.theme.js +3 -1
- package/dist/components/core/Card/Card.types.d.ts +8 -0
- package/dist/components/core/CardStack/CardStack.js +1 -0
- package/dist/components/core/Carousel/Carousel.js +1 -0
- package/dist/components/core/Carousel/CarouselBody.js +5 -2
- package/dist/components/core/Carousel/CarouselContext.js +1 -0
- package/dist/components/core/Carousel/CarouselNext.js +1 -0
- package/dist/components/core/Carousel/CarouselPrevious.js +1 -0
- package/dist/components/core/CommandPalette/CommandItem.js +1 -0
- package/dist/components/core/CommandPalette/CommandPalette.animations.js +1 -0
- package/dist/components/core/CommandPalette/CommandPalette.js +55 -11
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +3 -1
- package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +8 -0
- package/dist/components/core/ContextMenu/ContextMenu.js +27 -5
- package/dist/components/core/ContextMenu/ContextMenu.theme.js +8 -7
- package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +17 -0
- package/dist/components/core/ContextMenu/ContextMenuBody.js +11 -5
- package/dist/components/core/ContextMenu/ContextMenuContext.js +1 -0
- package/dist/components/core/ContextMenu/ContextMenuItem.js +17 -7
- 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.js +7 -3
- package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +3 -2
- package/dist/components/core/ContextMenu/ContextMenuTrigger.js +8 -0
- package/dist/components/core/DotSeparator/DotSeparator.js +1 -0
- package/dist/components/core/DragDrop/DragDrop.js +50 -31
- package/dist/components/core/Drawer/Drawer.animations.js +9 -8
- package/dist/components/core/Drawer/Drawer.d.ts +3 -3
- package/dist/components/core/Drawer/Drawer.js +14 -15
- package/dist/components/core/Drawer/Drawer.theme.js +8 -6
- package/dist/components/core/Drawer/Drawer.types.d.ts +8 -0
- package/dist/components/core/Drawer/DrawerBody.js +2 -1
- 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 +3 -2
- package/dist/components/core/Drawer/DrawerSubtitle.js +2 -1
- package/dist/components/core/Drawer/DrawerTitle.js +2 -1
- package/dist/components/core/Dropdown/Dropdown.js +23 -9
- package/dist/components/core/Dropdown/Dropdown.theme.js +4 -3
- package/dist/components/core/Dropdown/Dropdown.types.d.ts +8 -0
- package/dist/components/core/Dropdown/DropdownContext.js +1 -0
- package/dist/components/core/Dropdown/DropdownItem.js +1 -0
- package/dist/components/core/Dropdown/DropdownMenu.js +22 -22
- package/dist/components/core/Dropdown/DropdownSection.js +1 -0
- package/dist/components/core/Dropdown/DropdownSeparator.js +1 -0
- package/dist/components/core/Dropdown/DropdownTrigger.js +21 -1
- package/dist/components/core/HeroCard/HeroCard.js +1 -0
- package/dist/components/core/HeroCard/HeroCard.theme.js +1 -1
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.js +11 -2
- package/dist/components/core/ImagePlaceholder/ImagePlaceholder.theme.js +2 -2
- package/dist/components/core/Link/Link.d.ts +1 -1
- package/dist/components/core/Link/Link.js +58 -29
- package/dist/components/core/Link/Link.types.d.ts +25 -8
- package/dist/components/core/Masonry/Masonry.js +87 -75
- package/dist/components/core/Masonry/Masonry.theme.js +10 -4
- package/dist/components/core/MenuItem/MenuItem.js +17 -1
- package/dist/components/core/MenuItem/MenuItem.theme.js +6 -2
- package/dist/components/core/Message/Message.js +2 -1
- package/dist/components/core/Message/MessageActions.js +1 -0
- package/dist/components/core/Message/MessageAudio.js +2 -1
- package/dist/components/core/Message/MessageAvatar.js +1 -0
- package/dist/components/core/Message/MessageBody.js +1 -0
- package/dist/components/core/Message/MessageContext.js +1 -0
- package/dist/components/core/Message/MessageFile.js +1 -0
- package/dist/components/core/Message/MessageImage.js +1 -0
- package/dist/components/core/Message/MessageList.js +1 -0
- package/dist/components/core/Message/MessageReactions.js +1 -0
- package/dist/components/core/Message/MessageStatusIndicator.js +3 -2
- 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/Modal/Modal.animations.d.ts +1 -1
- package/dist/components/core/Modal/Modal.animations.js +10 -25
- package/dist/components/core/Modal/Modal.d.ts +3 -5
- package/dist/components/core/Modal/Modal.js +15 -15
- package/dist/components/core/Modal/Modal.theme.js +7 -5
- package/dist/components/core/Modal/Modal.types.d.ts +8 -0
- package/dist/components/core/Modal/ModalBody.js +2 -1
- 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 +3 -2
- package/dist/components/core/Modal/ModalSubtitle.js +2 -1
- package/dist/components/core/Modal/ModalTitle.js +2 -1
- package/dist/components/core/ModalStack/ModalStack.animations.js +1 -0
- package/dist/components/core/ModalStack/ModalStack.js +2 -1
- package/dist/components/core/ModalStack/ModalStackModal.js +18 -10
- package/dist/components/core/NavItem/NavItem.js +15 -3
- package/dist/components/core/OfflineIndicator/OfflineIndicator.js +1 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +1 -1
- package/dist/components/core/PageHeading/PageHeading.js +8 -3
- package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
- package/dist/components/core/PageHeading/PageHeading.types.d.ts +12 -1
- package/dist/components/core/PageHeading/PageHeadingBackButton.js +3 -2
- package/dist/components/core/Pagination/Pagination.js +8 -2
- package/dist/components/core/Pagination/Pagination.theme.d.ts +2 -10
- package/dist/components/core/Pagination/Pagination.types.d.ts +11 -1
- package/dist/components/core/Pill/Pill.animations.js +2 -11
- package/dist/components/core/Pill/Pill.js +14 -5
- package/dist/components/core/Pill/Pill.theme.js +8 -8
- package/dist/components/core/Popover/Popover.js +6 -5
- package/dist/components/core/Popover/Popover.theme.js +4 -2
- package/dist/components/core/Popover/Popover.types.d.ts +8 -0
- package/dist/components/core/Popover/PopoverBody.js +19 -21
- package/dist/components/core/Popover/PopoverContext.js +1 -0
- package/dist/components/core/Popover/PopoverTrigger.js +1 -0
- package/dist/components/core/Progress/Progress.js +1 -0
- package/dist/components/core/Rating/Rating.js +13 -5
- package/dist/components/core/ScrollArea/ScrollArea.js +1 -0
- package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +1 -0
- package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +14 -3
- package/dist/components/core/ScrollArea/smooth/SnapPointDetector.js +1 -0
- package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +1 -0
- package/dist/components/core/Segmented/Segmented.js +3 -2
- package/dist/components/core/Segmented/SegmentedItem.js +2 -1
- package/dist/components/core/Separator/Separator.js +1 -0
- package/dist/components/core/Sidebar/Sidebar.js +1 -0
- package/dist/components/core/Sidebar/SidebarCard.js +1 -0
- package/dist/components/core/Sidebar/SidebarContent.js +1 -0
- package/dist/components/core/Sidebar/SidebarContext.js +1 -0
- package/dist/components/core/Sidebar/SidebarFooter.js +1 -0
- package/dist/components/core/Sidebar/SidebarHeader.js +1 -0
- package/dist/components/core/Sidebar/SidebarLogo.js +1 -0
- package/dist/components/core/Sidebar/SidebarMobileTrigger.js +1 -0
- package/dist/components/core/Sidebar/SidebarNav.js +3 -1
- package/dist/components/core/Sidebar/SidebarNavGroup.js +1 -0
- package/dist/components/core/Sidebar/SidebarSearch.js +1 -0
- package/dist/components/core/Sidebar/SidebarToggle.js +1 -0
- package/dist/components/core/Sidebar/SidebarUserProfile.js +1 -0
- 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.js +1 -0
- package/dist/components/core/Spinner/Spinner.js +1 -0
- package/dist/components/core/Tabs/Tabs.animations.js +1 -0
- package/dist/components/core/Tabs/Tabs.js +1 -0
- package/dist/components/core/Tabs/Tabs.theme.js +3 -3
- package/dist/components/core/Tabs/TabsBody.js +1 -0
- package/dist/components/core/Tabs/TabsContext.js +1 -0
- package/dist/components/core/Tabs/TabsList.js +1 -0
- package/dist/components/core/Tabs/TabsTrigger.js +34 -10
- package/dist/components/core/Tag/Tag.js +2 -1
- package/dist/components/core/Tag/Tag.theme.js +2 -2
- 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.js +42 -20
- package/dist/components/core/Toast/Toast.theme.js +5 -8
- package/dist/components/core/Toast/Toast.types.d.ts +30 -20
- package/dist/components/core/Toast/ToastProvider.js +5 -1
- package/dist/components/core/Toast/index.d.ts +1 -1
- package/dist/components/core/Toast/useToast.js +5 -6
- 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 +39 -18
- package/dist/components/core/Tooltip/Tooltip.theme.js +4 -2
- package/dist/components/core/Tooltip/Tooltip.types.d.ts +8 -0
- 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 +7 -5
- package/dist/components/data-display/DescriptionList/DescriptionList.js +1 -0
- package/dist/components/data-display/Feed/Feed.js +1 -0
- package/dist/components/data-display/GanttChart/GanttChart.d.ts +2 -3
- package/dist/components/data-display/GanttChart/GanttChart.js +5 -21
- 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.js +2 -1
- package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +2 -1
- package/dist/components/data-display/GanttChart/GanttGroupBar.js +2 -1
- package/dist/components/data-display/GanttChart/GanttMilestone.js +2 -1
- package/dist/components/data-display/GanttChart/GanttSplitter.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTableHeader.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTablePanel.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTaskBar.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +2 -1
- package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +2 -1
- package/dist/components/data-display/GanttChart/GanttToolbar.js +2 -1
- package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +1 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +1 -0
- 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/KPI/KPI.js +1 -0
- package/dist/components/data-display/Metric/Metric.js +2 -2
- package/dist/components/data-display/Metric/Metric.theme.js +2 -14
- package/dist/components/data-display/Metric/Metric.types.d.ts +1 -3
- package/dist/components/data-display/Table/Table.animations.js +1 -0
- package/dist/components/data-display/Table/Table.d.ts +2 -7
- package/dist/components/data-display/Table/Table.js +14 -14
- package/dist/components/data-display/Table/Table.types.d.ts +2 -0
- package/dist/components/data-display/Table/TableActions.js +3 -2
- package/dist/components/data-display/Table/TableActionsMenu.js +1 -0
- package/dist/components/data-display/Table/TableBody.js +1 -0
- package/dist/components/data-display/Table/TableCell.d.ts +1 -1
- package/dist/components/data-display/Table/TableCell.js +8 -3
- package/dist/components/data-display/Table/TableColumnManager.js +1 -0
- 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 +3 -2
- package/dist/components/data-display/Table/TableFilter.js +9 -5
- package/dist/components/data-display/Table/TableHeader.js +2 -1
- package/dist/components/data-display/Table/TablePagination.js +1 -0
- package/dist/components/data-display/Table/TableRow.js +1 -0
- package/dist/components/data-display/Table/TableSelectionHeader.js +4 -2
- 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.js +1 -2
- package/dist/components/data-display/Timeline/Timeline.animations.js +1 -0
- package/dist/components/data-display/Timeline/Timeline.d.ts +2 -2
- package/dist/components/data-display/Timeline/Timeline.js +5 -10
- package/dist/components/data-display/Timeline/Timeline.theme.d.ts +2 -24
- package/dist/components/data-display/Timeline/Timeline.types.d.ts +25 -1
- package/dist/components/data-display/Timeline/TimelineContent.js +2 -1
- 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 +5 -4
- package/dist/components/data-display/Timeline/TimelineMarker.js +2 -1
- package/dist/components/effects/AIOrb/hooks/useOrbState.js +1 -0
- package/dist/components/effects/AIOrb/variants/Aura/Aura.js +13 -4
- 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 -161
- 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 -127
- package/dist/components/effects/Animated/Animated.d.ts +2 -2
- package/dist/components/effects/Animated/Animated.js +5 -6
- 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.js +2 -1
- package/dist/components/effects/Aurora/Aurora.js +27 -5
- 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.js +1 -0
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +0 -2
- 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 +1 -0
- 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.js +2 -16
- 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.js +1 -0
- package/dist/components/effects/InteractiveCharacters/characters/BlobCharacter.js +1 -0
- package/dist/components/effects/InteractiveCharacters/characters/SmallCharacter.js +1 -0
- package/dist/components/effects/InteractiveCharacters/characters/TallCharacter.js +1 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useBlink.js +1 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useIdleAnimation.js +1 -0
- package/dist/components/effects/InteractiveCharacters/hooks/useMouseTracking.js +1 -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.js +1 -0
- package/dist/components/effects/Neumorphic/InsetPill.js +1 -0
- package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +1 -0
- package/dist/components/effects/Overlay/Overlay.js +1 -0
- 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.js +1 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +1 -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.js +1 -0
- package/dist/components/effects/TiltCard/TiltCard.glow.js +1 -0
- package/dist/components/effects/TiltCard/TiltCard.js +1 -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 +40 -0
- package/dist/components/effects/index.js +21 -0
- package/dist/components/effects/{AIOrb/variants/Aura → shared/ShaderCanvas}/ShaderCanvas.d.ts +4 -8
- package/dist/components/effects/{AIOrb/variants/Aura → shared/ShaderCanvas}/ShaderCanvas.js +109 -3
- 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.js +1 -0
- package/dist/components/forms/Checkbox/Checkbox.js +8 -8
- package/dist/components/forms/Checkbox/Checkbox.theme.js +5 -4
- package/dist/components/forms/Checkbox/CheckboxContext.js +1 -0
- package/dist/components/forms/Checkbox/CheckboxGroup.js +4 -1
- package/dist/components/forms/ColorPicker/ColorPicker.js +21 -5
- package/dist/components/forms/ColorPicker/ColorPicker.types.d.ts +8 -0
- package/dist/components/forms/ColorPicker/ColorPicker2DCanvas.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerBody.js +3 -2
- package/dist/components/forms/ColorPicker/ColorPickerContext.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerFormatSelector.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerGradient.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerHeader.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerImage.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerInput.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerPresets.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerSliders.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerSwatch.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPickerTrigger.js +17 -2
- package/dist/components/forms/Combobox/Combobox.js +81 -37
- package/dist/components/forms/Combobox/Combobox.types.d.ts +8 -0
- package/dist/components/forms/DatePicker/DatePicker.animations.js +1 -0
- package/dist/components/forms/DatePicker/DatePicker.d.ts +3 -27
- package/dist/components/forms/DatePicker/DatePicker.js +5 -4
- package/dist/components/forms/DatePicker/DatePicker.theme.js +5 -5
- package/dist/components/forms/DatePicker/DatePicker.types.d.ts +15 -0
- package/dist/components/forms/DatePicker/DatePickerBody.js +26 -21
- 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 +2 -1
- package/dist/components/forms/DateRangePicker/DateRangePicker.d.ts +3 -23
- package/dist/components/forms/DateRangePicker/DateRangePicker.js +18 -7
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePicker.types.d.ts +21 -0
- package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +18 -13
- 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.js +2 -1
- package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +2 -1
- package/dist/components/forms/FileUpload/FileUpload.js +2 -1
- package/dist/components/forms/FileUpload/FileUploadProgress.js +4 -3
- package/dist/components/forms/Input/Input.js +7 -3
- package/dist/components/forms/Input/Input.theme.js +11 -5
- package/dist/components/forms/Input/Input.types.d.ts +6 -0
- 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 +5 -0
- package/dist/components/forms/InputAddress/InputAddress.js +95 -13
- package/dist/components/forms/InputAddress/InputAddress.theme.js +4 -4
- 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.js +63 -44
- package/dist/components/forms/InputCounter/InputCounter.types.d.ts +6 -0
- package/dist/components/forms/InputCreditCard/InputCreditCard.js +9 -3
- package/dist/components/forms/InputCreditCard/InputCreditCard.theme.js +4 -4
- package/dist/components/forms/InputCreditCard/InputCreditCard.types.d.ts +5 -1
- 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.js +21 -9
- package/dist/components/forms/InputOTP/InputOTP.types.d.ts +7 -1
- package/dist/components/forms/InputTag/InputTag.js +65 -21
- package/dist/components/forms/InputTag/InputTag.theme.js +2 -1
- package/dist/components/forms/InputTag/InputTag.types.d.ts +8 -0
- package/dist/components/forms/Mention/Mention.js +12 -5
- package/dist/components/forms/Mention/Mention.theme.js +2 -1
- package/dist/components/forms/Mention/Mention.types.d.ts +8 -0
- package/dist/components/forms/Mention/Mention.utils.js +1 -0
- package/dist/components/forms/Radio/Radio.animations.js +1 -0
- package/dist/components/forms/Radio/Radio.js +5 -1
- package/dist/components/forms/Radio/Radio.theme.js +9 -7
- package/dist/components/forms/Radio/RadioContext.js +1 -0
- package/dist/components/forms/Radio/RadioGroup.js +4 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +1 -0
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +70 -60
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +3 -2
- package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +14 -0
- package/dist/components/forms/Select/Select.animations.js +17 -25
- package/dist/components/forms/Select/Select.d.ts +3 -1
- package/dist/components/forms/Select/Select.js +55 -21
- package/dist/components/forms/Select/Select.theme.js +2 -2
- package/dist/components/forms/Select/Select.types.d.ts +28 -1
- package/dist/components/forms/Select/useSelectState.js +7 -0
- package/dist/components/forms/SelectableCard/SelectableCard.js +1 -0
- package/dist/components/forms/SelectableCard/SelectableCardContext.js +1 -0
- package/dist/components/forms/SelectableCard/SelectableCardGroup.js +1 -0
- package/dist/components/forms/Signature/Signature.js +13 -3
- package/dist/components/forms/Signature/Signature.types.d.ts +6 -0
- package/dist/components/forms/Slider/Slider.js +2 -1
- package/dist/components/forms/Switch/Switch.js +9 -2
- package/dist/components/forms/Switch/Switch.theme.js +5 -3
- package/dist/components/forms/Textarea/Textarea.js +7 -3
- package/dist/components/forms/Textarea/Textarea.types.d.ts +6 -0
- 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 +4 -5
- package/dist/components/forms/TimePicker/TimePicker.types.d.ts +15 -0
- package/dist/components/forms/TimePicker/TimePickerContent.js +12 -7
- 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 +18 -4
- 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 +55 -18
- package/dist/components/forms/index.d.ts +1 -0
- package/dist/components/forms/index.js +6 -2
- package/dist/components/generative/GenerativeView.js +1 -0
- package/dist/components/generative/actions.test.d.ts +1 -0
- package/dist/components/generative/registry.js +24 -6
- package/dist/components/generative/schema.generated.js +450 -35
- package/dist/components/generative/streaming.test.d.ts +1 -0
- package/dist/components/generative/tools.test.d.ts +1 -0
- package/dist/components/generative/useGenerativeStream.js +1 -0
- package/dist/components/generative/validate.d.ts +1 -1
- package/dist/components/generative/validate.js +121 -29
- package/dist/components/generative/validate.test.d.ts +1 -0
- package/dist/components/layout/AppShell/AppShell.js +1 -0
- package/dist/components/layout/AppShell/AppShellContext.js +1 -0
- package/dist/components/layout/AppShell/AppShellMain.js +1 -0
- package/dist/components/layout/AppShell/AppShellRightPanel.js +1 -0
- package/dist/components/layout/AppShell/AppShellSidebar.js +1 -0
- package/dist/components/layout/FormLayout/FormLayout.js +1 -1
- package/dist/components/layout/FormLayout/FormLayoutSection.js +1 -0
- package/dist/components/layout/Grid/Grid.d.ts +1 -1
- package/dist/components/layout/Grid/Grid.js +11 -3
- package/dist/components/layout/Grid/Grid.types.d.ts +15 -1
- package/dist/components/layout/Grid/index.d.ts +1 -1
- package/dist/components/layout/Section/Section.js +1 -0
- package/dist/components/layout/Stack/Stack.d.ts +1 -1
- package/dist/components/layout/Stack/Stack.js +11 -3
- package/dist/components/layout/Stack/Stack.types.d.ts +9 -2
- package/dist/components/layout/index.d.ts +0 -1
- package/dist/components/layout/index.js +0 -2
- package/dist/generative.schema.json +450 -35
- package/dist/hooks/useClickOutside.js +1 -0
- package/dist/hooks/useDarkMode.js +1 -0
- package/dist/hooks/useFocusTrap.js +1 -0
- package/dist/hooks/useIsClient.js +1 -0
- package/dist/hooks/useMediaQuery.js +1 -0
- package/dist/hooks/useNetworkStatus.d.ts +0 -4
- package/dist/hooks/useNetworkStatus.js +2 -5
- package/dist/hooks/useOverlay.js +1 -0
- package/dist/hooks/useScaleBackground.js +1 -0
- package/dist/hooks/useSelectPortal.js +1 -0
- 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 -0
- package/dist/index.js +189 -180
- package/dist/registry.json +1945 -681
- 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/tools.json +458 -35
- 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 +31 -1
- package/dist/utils/colorUtils.js +49 -4
- package/dist/utils/dateUtils.js +21 -16
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/performanceMonitor.js +1 -0
- package/dist/utils/smoothScrollUtils.js +1 -0
- package/package.json +23 -5
- package/src/global.scss +87 -0
- package/src/styles/theme.css +263 -156
- 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/Popover/Popover.animations.js +0 -13
- package/dist/components/layout/PageLayout/PageLayout.d.ts +0 -7
- package/dist/components/layout/PageLayout/PageLayout.js +0 -51
- package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +0 -3
- package/dist/components/layout/PageLayout/PageLayout.theme.js +0 -39
- package/dist/components/layout/PageLayout/PageLayout.types.d.ts +0 -84
- package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +0 -3
- package/dist/components/layout/PageLayout/PageLayoutContent.js +0 -14
- 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 -14
- package/dist/components/layout/PageLayout/index.d.ts +0 -3
- /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.theme.js +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
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
3
|
import { createPortal } from 'react-dom';
|
|
3
4
|
import { AnimatePresence, motion } from 'motion/react';
|
|
4
5
|
import { cn } from '../../../../utils/cn.js';
|
|
5
6
|
import { chartTooltipTheme } from './ChartTooltip.theme.js';
|
|
6
7
|
import { useIsClient } from '../../../../hooks/useIsClient.js';
|
|
8
|
+
import { TOOLTIP_EXIT_TRANSITION, TOOLTIP_ENTER_TRANSITION } from '../../utils/animation-utils.js';
|
|
7
9
|
|
|
8
10
|
// Helper function to check if content is MultiSeriesData
|
|
9
11
|
const isMultiSeriesData = (content) => {
|
|
@@ -22,22 +24,11 @@ function ChartTooltip({ content, className, active = false, position = { x: 0, y
|
|
|
22
24
|
}, animate: {
|
|
23
25
|
opacity: 1,
|
|
24
26
|
scale: 1,
|
|
25
|
-
transition:
|
|
26
|
-
type: "spring",
|
|
27
|
-
stiffness: 400,
|
|
28
|
-
damping: 30,
|
|
29
|
-
opacity: { duration: 0.15 },
|
|
30
|
-
scale: { duration: 0.15 }
|
|
31
|
-
},
|
|
27
|
+
transition: TOOLTIP_ENTER_TRANSITION,
|
|
32
28
|
}, exit: {
|
|
33
29
|
opacity: 0,
|
|
34
30
|
scale: 0.95,
|
|
35
|
-
transition:
|
|
36
|
-
type: "spring",
|
|
37
|
-
stiffness: 300,
|
|
38
|
-
damping: 25,
|
|
39
|
-
duration: 0.15,
|
|
40
|
-
},
|
|
31
|
+
transition: TOOLTIP_EXIT_TRANSITION,
|
|
41
32
|
}, className: cn(theme.baseStyle, className), style: {
|
|
42
33
|
left: position.x + 16,
|
|
43
34
|
top: position.y + 16,
|
|
@@ -5,10 +5,3 @@ export { HorizontalGrid } from './ChartGrid';
|
|
|
5
5
|
export { ChartText } from './ChartText';
|
|
6
6
|
export { XAxis, YAxis } from './ChartAxis';
|
|
7
7
|
export { ChartTooltip } from './ChartTooltip';
|
|
8
|
-
export { ChartContainer, useChartContext } from './ChartContainer';
|
|
9
|
-
export type { ChartContainerProps, ChartDimensions, ChartMargins } from './ChartContainer';
|
|
10
|
-
export { BarRenderer } from './BarRenderer';
|
|
11
|
-
export type { BarRendererProps } from './BarRenderer';
|
|
12
|
-
export { BAR_ANIMATION_TIMING } from './BarRenderer';
|
|
13
|
-
export { LineRenderer } from './LineRenderer';
|
|
14
|
-
export type { LineRendererProps } from './LineRenderer';
|
|
@@ -68,6 +68,12 @@ const chartTheme = {
|
|
|
68
68
|
],
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
|
+
legend: {
|
|
72
|
+
container: "flex flex-wrap items-center justify-center gap-x-6 gap-y-2 mb-3",
|
|
73
|
+
item: "flex items-center gap-2 text-sm",
|
|
74
|
+
dot: "size-2.5 rounded shrink-0",
|
|
75
|
+
label: "text-[var(--color-text-secondary)]",
|
|
76
|
+
},
|
|
71
77
|
};
|
|
72
78
|
|
|
73
79
|
export { chartTheme };
|
|
@@ -12,6 +12,8 @@ export interface ChartConfig {
|
|
|
12
12
|
}
|
|
13
13
|
export type ChartVariant = 'default' | 'minimal' | 'gradient';
|
|
14
14
|
export type CurveType = 'linear' | 'monotone' | 'step' | 'stepBefore' | 'stepAfter';
|
|
15
|
+
/** `undefined` resolves to `'bottom'` for multi-series `config`, `'none'` for single-series. */
|
|
16
|
+
export type ChartLegendPosition = 'top' | 'bottom' | 'none';
|
|
15
17
|
export interface ChartThemeOverrides {
|
|
16
18
|
baseStyle?: {
|
|
17
19
|
colors?: Partial<{
|
|
@@ -80,6 +82,12 @@ export interface StandardChartDisplayProps {
|
|
|
80
82
|
showGrid?: boolean;
|
|
81
83
|
showXAxis?: boolean;
|
|
82
84
|
showYAxis?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Always-visible legend position, rendered from `config`'s labels/colors.
|
|
87
|
+
* Omitted resolves to `"bottom"` for multi-series `config`, `"none"` for
|
|
88
|
+
* single-series — there is no single fixed default.
|
|
89
|
+
*/
|
|
90
|
+
legend?: ChartLegendPosition;
|
|
83
91
|
minValue?: number;
|
|
84
92
|
maxValue?: number;
|
|
85
93
|
variant?: ChartVariant;
|
|
@@ -159,6 +167,13 @@ export interface ChartThemeConfig {
|
|
|
159
167
|
colors: string[];
|
|
160
168
|
};
|
|
161
169
|
};
|
|
170
|
+
/** Shared `ChartLegend` styling — one place for every chart's legend. */
|
|
171
|
+
legend: {
|
|
172
|
+
container: string;
|
|
173
|
+
item: string;
|
|
174
|
+
dot: string;
|
|
175
|
+
label: string;
|
|
176
|
+
};
|
|
162
177
|
}
|
|
163
178
|
export interface ChartTheme {
|
|
164
179
|
colors: {
|
|
@@ -3,7 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides shared spring animation presets and helper functions
|
|
5
5
|
* to ensure consistent animations across all chart components.
|
|
6
|
+
*
|
|
7
|
+
* Two families live here:
|
|
8
|
+
* - Circular/radar (DonutChart, ActivityRings, RadarChart) — spring presets +
|
|
9
|
+
* `getSpringAnimation`/`getStaggerDelay` (below).
|
|
10
|
+
* - Cartesian (Area/Bar/Line/StackedBar + the shared Bar/LineRenderer) — the
|
|
11
|
+
* entrance + hover primitives at the bottom of this file. Keep all chart
|
|
12
|
+
* animation values here so timing/feel can't drift between charts.
|
|
6
13
|
*/
|
|
14
|
+
import type { Transition } from "motion/react";
|
|
7
15
|
/**
|
|
8
16
|
* Spring animation configuration
|
|
9
17
|
*/
|
|
@@ -99,6 +107,7 @@ export declare const CIRCULAR_CHART_ANIMATIONS: {
|
|
|
99
107
|
readonly preset: AnimationPreset;
|
|
100
108
|
readonly staggerDelay: 0.1;
|
|
101
109
|
readonly centerLabelDelay: 0.3;
|
|
110
|
+
readonly centerLabelDuration: 0.4;
|
|
102
111
|
};
|
|
103
112
|
/**
|
|
104
113
|
* GaugeChart: Bouncy animation for needle
|
|
@@ -108,4 +117,90 @@ export declare const CIRCULAR_CHART_ANIMATIONS: {
|
|
|
108
117
|
readonly needleDelay: 0;
|
|
109
118
|
readonly valueDelay: 0.3;
|
|
110
119
|
};
|
|
120
|
+
/**
|
|
121
|
+
* MultiSegmentDonutChart: segments draw sequentially, each segment's draw
|
|
122
|
+
* duration proportional to its share (base = a full 100% segment, min keeps
|
|
123
|
+
* slivers visible).
|
|
124
|
+
*/
|
|
125
|
+
readonly multiSegmentDonut: {
|
|
126
|
+
readonly preset: AnimationPreset;
|
|
127
|
+
readonly baseSegmentDuration: 0.6;
|
|
128
|
+
readonly minSegmentDuration: 0.15;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
/** Crosshair group fade in/out (AnimatePresence enter/exit). */
|
|
132
|
+
export declare const CROSSHAIR_FADE_TRANSITION: Transition;
|
|
133
|
+
/** Crosshair line tracking the pointer between data points. */
|
|
134
|
+
export declare const CROSSHAIR_FOLLOW_TRANSITION: Transition;
|
|
135
|
+
/** Tooltip pop-in: springy position/scale with a quick opacity/scale settle. */
|
|
136
|
+
export declare const TOOLTIP_ENTER_TRANSITION: Transition;
|
|
137
|
+
/** Tooltip pop-out. */
|
|
138
|
+
export declare const TOOLTIP_EXIT_TRANSITION: Transition;
|
|
139
|
+
/** Circular-chart segment hover dim/lift (opacity fade + scale pop). */
|
|
140
|
+
export declare const SEGMENT_HOVER_TRANSITION: Transition;
|
|
141
|
+
/** Rise/draw duration for line & area entrances (and the shared LineRenderer). */
|
|
142
|
+
export declare const CARTESIAN_ENTRANCE_DURATION = 0.7;
|
|
143
|
+
/** Per-marker stagger for line/area dot pop-in (seconds). */
|
|
144
|
+
export declare const LINE_DOT_STAGGER = 0.06;
|
|
145
|
+
/** Grouped-bar stagger (BarChart + shared BarRenderer grouped path). */
|
|
146
|
+
export declare const BAR_GROUP_STAGGER = 0.05;
|
|
147
|
+
/** Stacked-bar per-category stagger (StackedBarChart). */
|
|
148
|
+
export declare const STACKED_BAR_STAGGER = 0.08;
|
|
149
|
+
/** Shared BarRenderer stacked-mode per-category delay. */
|
|
150
|
+
export declare const BAR_STACK_CATEGORY_DELAY = 0.25;
|
|
151
|
+
/** Shared BarRenderer stacked-mode per-segment stagger. */
|
|
152
|
+
export declare const BAR_STACK_SEGMENT_STAGGER = 0.12;
|
|
153
|
+
/** ScatterPlot per-point stagger + grow duration. */
|
|
154
|
+
export declare const SCATTER_POINT_STAGGER = 0.01;
|
|
155
|
+
export declare const SCATTER_POINT_DURATION = 0.3;
|
|
156
|
+
/** Marker pop-in spring (line/area dots). */
|
|
157
|
+
export declare const DOT_SPRING: {
|
|
158
|
+
type: "spring";
|
|
159
|
+
stiffness: number;
|
|
160
|
+
damping: number;
|
|
161
|
+
};
|
|
162
|
+
/** Bar grow spring (grouped bars / stacked columns). */
|
|
163
|
+
export declare const BAR_SPRING: {
|
|
164
|
+
type: "spring";
|
|
165
|
+
stiffness: number;
|
|
166
|
+
damping: number;
|
|
111
167
|
};
|
|
168
|
+
/**
|
|
169
|
+
* Transform-origin presets (passed to a motion element's `style`).
|
|
170
|
+
* `RISE_FROM_BASELINE` scales a group UP from the plot baseline — pair it with an
|
|
171
|
+
* invisible full-plot rect so the group's fill-box bottom pins to the x-axis.
|
|
172
|
+
* `SCALE_FROM_CENTER` scales an element in about its own centre (markers).
|
|
173
|
+
*/
|
|
174
|
+
export declare const RISE_FROM_BASELINE: {
|
|
175
|
+
readonly originY: 1;
|
|
176
|
+
readonly transformOrigin: "bottom";
|
|
177
|
+
};
|
|
178
|
+
export declare const SCALE_FROM_CENTER: {
|
|
179
|
+
readonly originX: "50%";
|
|
180
|
+
readonly originY: "50%";
|
|
181
|
+
readonly transformBox: "fill-box";
|
|
182
|
+
};
|
|
183
|
+
/** Line/area rise transition. */
|
|
184
|
+
export declare const riseTransition: Transition;
|
|
185
|
+
/** Hover glow-ring fade (bars). */
|
|
186
|
+
export declare const RING_FADE_TRANSITION: Transition;
|
|
187
|
+
/** Hover glow-halo fade (line/area active point). */
|
|
188
|
+
export declare const HALO_FADE_TRANSITION: Transition;
|
|
189
|
+
/**
|
|
190
|
+
* Marker pop-in that starts as the rise finishes, then staggers left-to-right.
|
|
191
|
+
* Reduced motion → no delay (markers just appear with the static line).
|
|
192
|
+
*/
|
|
193
|
+
export declare function dotEntranceTransition(index: number, shouldReduceMotion?: boolean | null): Transition;
|
|
194
|
+
/**
|
|
195
|
+
* Bar grow transition. Opacity carries BOTH the mount fade (delayed to match the
|
|
196
|
+
* stagger so a scaleY≈0 bar isn't a visible stub) and the instant hover dim once
|
|
197
|
+
* mounted (`hasAnimated`). Used by BarChart, StackedBarChart, and the grouped
|
|
198
|
+
* path of the shared BarRenderer.
|
|
199
|
+
*/
|
|
200
|
+
export declare function barEntranceTransition(delay: number, hasAnimated: boolean): Transition;
|
|
201
|
+
/**
|
|
202
|
+
* Stacked-segment grow for the shared BarRenderer (a tween, not a spring, so
|
|
203
|
+
* stacked segments settle together). Same delayed-opacity contract as
|
|
204
|
+
* `barEntranceTransition`.
|
|
205
|
+
*/
|
|
206
|
+
export declare function stackedSegmentTransition(delay: number, hasAnimated: boolean): Transition;
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides shared spring animation presets and helper functions
|
|
5
5
|
* to ensure consistent animations across all chart components.
|
|
6
|
+
*
|
|
7
|
+
* Two families live here:
|
|
8
|
+
* - Circular/radar (DonutChart, ActivityRings, RadarChart) — spring presets +
|
|
9
|
+
* `getSpringAnimation`/`getStaggerDelay` (below).
|
|
10
|
+
* - Cartesian (Area/Bar/Line/StackedBar + the shared Bar/LineRenderer) — the
|
|
11
|
+
* entrance + hover primitives at the bottom of this file. Keep all chart
|
|
12
|
+
* animation values here so timing/feel can't drift between charts.
|
|
6
13
|
*/
|
|
7
14
|
/**
|
|
8
15
|
* Spring animation presets for circular charts
|
|
@@ -111,6 +118,147 @@ const CIRCULAR_CHART_ANIMATIONS = {
|
|
|
111
118
|
preset: 'smooth',
|
|
112
119
|
staggerDelay: 0.1,
|
|
113
120
|
centerLabelDelay: 0.3,
|
|
114
|
-
|
|
121
|
+
centerLabelDuration: 0.4,
|
|
122
|
+
},
|
|
123
|
+
/**
|
|
124
|
+
* MultiSegmentDonutChart: segments draw sequentially, each segment's draw
|
|
125
|
+
* duration proportional to its share (base = a full 100% segment, min keeps
|
|
126
|
+
* slivers visible).
|
|
127
|
+
*/
|
|
128
|
+
multiSegmentDonut: {
|
|
129
|
+
preset: 'smooth',
|
|
130
|
+
baseSegmentDuration: 0.6,
|
|
131
|
+
minSegmentDuration: 0.15,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
/* ──────────────────────────────────────────────────────────────────────────
|
|
135
|
+
* Shared hover/interaction overlays (crosshair, tooltip, segment hover)
|
|
136
|
+
* ────────────────────────────────────────────────────────────────────────── */
|
|
137
|
+
/** Crosshair group fade in/out (AnimatePresence enter/exit). */
|
|
138
|
+
const CROSSHAIR_FADE_TRANSITION = {
|
|
139
|
+
duration: 0.3,
|
|
140
|
+
ease: "easeInOut",
|
|
141
|
+
};
|
|
142
|
+
/** Crosshair line tracking the pointer between data points. */
|
|
143
|
+
const CROSSHAIR_FOLLOW_TRANSITION = {
|
|
144
|
+
duration: 0.2,
|
|
145
|
+
ease: "easeOut",
|
|
146
|
+
};
|
|
147
|
+
/** Tooltip pop-in: springy position/scale with a quick opacity/scale settle. */
|
|
148
|
+
const TOOLTIP_ENTER_TRANSITION = {
|
|
149
|
+
type: "spring",
|
|
150
|
+
stiffness: 400,
|
|
151
|
+
damping: 30,
|
|
152
|
+
opacity: { duration: 0.15 },
|
|
153
|
+
scale: { duration: 0.15 },
|
|
154
|
+
};
|
|
155
|
+
/** Tooltip pop-out. */
|
|
156
|
+
const TOOLTIP_EXIT_TRANSITION = {
|
|
157
|
+
type: "spring",
|
|
158
|
+
stiffness: 300,
|
|
159
|
+
damping: 25,
|
|
160
|
+
duration: 0.15,
|
|
161
|
+
};
|
|
162
|
+
/** Circular-chart segment hover dim/lift (opacity fade + scale pop). */
|
|
163
|
+
const SEGMENT_HOVER_TRANSITION = {
|
|
164
|
+
scale: { duration: 0.2 },
|
|
165
|
+
opacity: { duration: 0.2 },
|
|
166
|
+
};
|
|
167
|
+
/* ──────────────────────────────────────────────────────────────────────────
|
|
168
|
+
* Cartesian charts (Area / Bar / Line / StackedBar + shared Bar/LineRenderer)
|
|
169
|
+
*
|
|
170
|
+
* The entrance is a "rise from the x-axis" (scaleY 0→1 about the baseline) for
|
|
171
|
+
* lines/areas/bars, with markers popping in once the rise finishes. Hover adds a
|
|
172
|
+
* glow ring (bars) or glow halo (line/area). All timings live here so every
|
|
173
|
+
* Cartesian chart shares one feel — change a value once, not in six files.
|
|
174
|
+
* ────────────────────────────────────────────────────────────────────────── */
|
|
175
|
+
/** Rise/draw duration for line & area entrances (and the shared LineRenderer). */
|
|
176
|
+
const CARTESIAN_ENTRANCE_DURATION = 0.7;
|
|
177
|
+
/** Per-marker stagger for line/area dot pop-in (seconds). */
|
|
178
|
+
const LINE_DOT_STAGGER = 0.06;
|
|
179
|
+
/** Grouped-bar stagger (BarChart + shared BarRenderer grouped path). */
|
|
180
|
+
const BAR_GROUP_STAGGER = 0.05;
|
|
181
|
+
/** Stacked-bar per-category stagger (StackedBarChart). */
|
|
182
|
+
const STACKED_BAR_STAGGER = 0.08;
|
|
183
|
+
/** Shared BarRenderer stacked-mode per-category delay. */
|
|
184
|
+
const BAR_STACK_CATEGORY_DELAY = 0.25;
|
|
185
|
+
/** Shared BarRenderer stacked-mode per-segment stagger. */
|
|
186
|
+
const BAR_STACK_SEGMENT_STAGGER = 0.12;
|
|
187
|
+
/** ScatterPlot per-point stagger + grow duration. */
|
|
188
|
+
const SCATTER_POINT_STAGGER = 0.01;
|
|
189
|
+
const SCATTER_POINT_DURATION = 0.3;
|
|
190
|
+
/** Marker pop-in spring (line/area dots). */
|
|
191
|
+
const DOT_SPRING = { type: "spring", stiffness: 260, damping: 20 };
|
|
192
|
+
/** Bar grow spring (grouped bars / stacked columns). */
|
|
193
|
+
const BAR_SPRING = { type: "spring", stiffness: 100, damping: 20 };
|
|
194
|
+
/**
|
|
195
|
+
* Transform-origin presets (passed to a motion element's `style`).
|
|
196
|
+
* `RISE_FROM_BASELINE` scales a group UP from the plot baseline — pair it with an
|
|
197
|
+
* invisible full-plot rect so the group's fill-box bottom pins to the x-axis.
|
|
198
|
+
* `SCALE_FROM_CENTER` scales an element in about its own centre (markers).
|
|
199
|
+
*/
|
|
200
|
+
const RISE_FROM_BASELINE = { originY: 1, transformOrigin: "bottom" };
|
|
201
|
+
const SCALE_FROM_CENTER = {
|
|
202
|
+
originX: "50%",
|
|
203
|
+
originY: "50%",
|
|
204
|
+
transformBox: "fill-box",
|
|
205
|
+
};
|
|
206
|
+
/** Line/area rise transition. */
|
|
207
|
+
const riseTransition = {
|
|
208
|
+
duration: CARTESIAN_ENTRANCE_DURATION,
|
|
209
|
+
ease: "easeOut",
|
|
210
|
+
};
|
|
211
|
+
/** Hover glow-ring fade (bars). */
|
|
212
|
+
const RING_FADE_TRANSITION = {
|
|
213
|
+
opacity: { duration: 0.45, ease: "easeOut" },
|
|
214
|
+
};
|
|
215
|
+
/** Hover glow-halo fade (line/area active point). */
|
|
216
|
+
const HALO_FADE_TRANSITION = { duration: 0.22, ease: "easeOut" };
|
|
217
|
+
/**
|
|
218
|
+
* Marker pop-in that starts as the rise finishes, then staggers left-to-right.
|
|
219
|
+
* Reduced motion → no delay (markers just appear with the static line).
|
|
220
|
+
*/
|
|
221
|
+
function dotEntranceTransition(index, shouldReduceMotion) {
|
|
222
|
+
return {
|
|
223
|
+
delay: shouldReduceMotion ? 0 : CARTESIAN_ENTRANCE_DURATION + index * LINE_DOT_STAGGER,
|
|
224
|
+
...DOT_SPRING,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Bar grow transition. Opacity carries BOTH the mount fade (delayed to match the
|
|
229
|
+
* stagger so a scaleY≈0 bar isn't a visible stub) and the instant hover dim once
|
|
230
|
+
* mounted (`hasAnimated`). Used by BarChart, StackedBarChart, and the grouped
|
|
231
|
+
* path of the shared BarRenderer.
|
|
232
|
+
*/
|
|
233
|
+
function barEntranceTransition(delay, hasAnimated) {
|
|
234
|
+
return {
|
|
235
|
+
...BAR_SPRING,
|
|
236
|
+
delay,
|
|
237
|
+
opacity: {
|
|
238
|
+
type: "tween",
|
|
239
|
+
duration: 0.25,
|
|
240
|
+
ease: "easeOut",
|
|
241
|
+
delay: hasAnimated ? 0 : delay,
|
|
242
|
+
},
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Stacked-segment grow for the shared BarRenderer (a tween, not a spring, so
|
|
247
|
+
* stacked segments settle together). Same delayed-opacity contract as
|
|
248
|
+
* `barEntranceTransition`.
|
|
249
|
+
*/
|
|
250
|
+
function stackedSegmentTransition(delay, hasAnimated) {
|
|
251
|
+
return {
|
|
252
|
+
duration: 0.4,
|
|
253
|
+
ease: "easeOut",
|
|
254
|
+
delay,
|
|
255
|
+
opacity: {
|
|
256
|
+
type: "tween",
|
|
257
|
+
duration: 0.25,
|
|
258
|
+
ease: "easeOut",
|
|
259
|
+
delay: hasAnimated ? 0 : delay,
|
|
260
|
+
},
|
|
261
|
+
};
|
|
262
|
+
}
|
|
115
263
|
|
|
116
|
-
export { CIRCULAR_CHART_ANIMATIONS, SPRING_PRESETS, getSpringAnimation, getStaggerDelay };
|
|
264
|
+
export { BAR_GROUP_STAGGER, BAR_SPRING, BAR_STACK_CATEGORY_DELAY, BAR_STACK_SEGMENT_STAGGER, CARTESIAN_ENTRANCE_DURATION, CIRCULAR_CHART_ANIMATIONS, CROSSHAIR_FADE_TRANSITION, CROSSHAIR_FOLLOW_TRANSITION, DOT_SPRING, HALO_FADE_TRANSITION, LINE_DOT_STAGGER, RING_FADE_TRANSITION, RISE_FROM_BASELINE, SCALE_FROM_CENTER, SCATTER_POINT_DURATION, SCATTER_POINT_STAGGER, SEGMENT_HOVER_TRANSITION, SPRING_PRESETS, STACKED_BAR_STAGGER, TOOLTIP_ENTER_TRANSITION, TOOLTIP_EXIT_TRANSITION, barEntranceTransition, dotEntranceTransition, getSpringAnimation, getStaggerDelay, riseTransition, stackedSegmentTransition };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared "premium bar" emphasis styling — the single source of truth for the
|
|
3
|
+
* gradient-variant bar look used by BarChart and ComboChart's BarRenderer:
|
|
4
|
+
* per-series vertical gradient fill, colored drop shadow, hover glow ring,
|
|
5
|
+
* hover/focus emphasis stroke, and the dim applied to non-hovered siblings.
|
|
6
|
+
*
|
|
7
|
+
* Both charts MUST render bars through these constants/helpers rather than
|
|
8
|
+
* hand-copying values — the two copies drifted once already (BarRenderer's
|
|
9
|
+
* emphasis missed keyboard focus), which is how this module came to exist.
|
|
10
|
+
*/
|
|
11
|
+
import React from "react";
|
|
12
|
+
/** Hover dim on non-hovered bars while a sibling is hovered. */
|
|
13
|
+
export declare const BAR_DIM_OPACITY_GRADIENT = 0.42;
|
|
14
|
+
export declare const BAR_DIM_OPACITY_FLAT = 0.9;
|
|
15
|
+
/** Resting hairline stroke on gradient bars. */
|
|
16
|
+
export declare const BAR_RESTING_STROKE = "rgba(255,255,255,0.24)";
|
|
17
|
+
/** Emphasized (hover/focus) series-colored stroke. */
|
|
18
|
+
export declare const BAR_EMPHASIS_STROKE_OPACITY = 0.78;
|
|
19
|
+
/** Hover glow ring stroke. */
|
|
20
|
+
export declare const BAR_RING_STROKE_OPACITY = 0.24;
|
|
21
|
+
/** Glow-ring stroke width scales with the bar, clamped to a sane band. */
|
|
22
|
+
export declare function barRingStrokeWidth(barWidth: number): number;
|
|
23
|
+
export interface BarEmphasisInput {
|
|
24
|
+
isHovered: boolean;
|
|
25
|
+
isFocused: boolean;
|
|
26
|
+
isAnyBarHovered: boolean;
|
|
27
|
+
isGradientVariant: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface BarEmphasisState {
|
|
30
|
+
/** Hover OR keyboard focus, gradient variant only — drives ring + stroke. */
|
|
31
|
+
isEmphasized: boolean;
|
|
32
|
+
/** A sibling is hovered and this bar isn't — drives the dim. */
|
|
33
|
+
shouldReduceOpacity: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function deriveBarEmphasis({ isHovered, isFocused, isAnyBarHovered, isGradientVariant, }: BarEmphasisInput): BarEmphasisState;
|
|
36
|
+
/**
|
|
37
|
+
* Animated hover-dim opacity. Belongs in the motion `animate` prop, not
|
|
38
|
+
* `style` — motion.path freezes plain style values at mount.
|
|
39
|
+
*/
|
|
40
|
+
export declare function barDimOpacity(shouldReduceOpacity: boolean, isGradientVariant: boolean): number;
|
|
41
|
+
/** Bar fill: gradient › placeholder/dimmed sunken › series color. */
|
|
42
|
+
export declare function barFill({ isGradientVariant, gradientFill, isNull, shouldReduceOpacity, fillColor, }: {
|
|
43
|
+
isGradientVariant: boolean;
|
|
44
|
+
gradientFill: string;
|
|
45
|
+
isNull: boolean;
|
|
46
|
+
shouldReduceOpacity: boolean;
|
|
47
|
+
fillColor: string;
|
|
48
|
+
}): string;
|
|
49
|
+
/** Stroke cascade: keyboard-focus ring › emphasis › resting hairline › none. */
|
|
50
|
+
export declare function barStrokeStyle({ isFocused, isEmphasized, isGradientVariant, fillColor, }: {
|
|
51
|
+
isFocused: boolean;
|
|
52
|
+
isEmphasized: boolean;
|
|
53
|
+
isGradientVariant: boolean;
|
|
54
|
+
fillColor: string;
|
|
55
|
+
}): {
|
|
56
|
+
stroke: string;
|
|
57
|
+
strokeWidth: number | undefined;
|
|
58
|
+
strokeOpacity: number;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Per-series SVG defs for the gradient variant: vertical gradient fill,
|
|
62
|
+
* colored drop shadow, and the hover glow-ring filter. Render inside <defs>.
|
|
63
|
+
*/
|
|
64
|
+
export declare const BarSeriesDefs: React.FC<{
|
|
65
|
+
gradientId: string;
|
|
66
|
+
shadowId: string;
|
|
67
|
+
ringId: string;
|
|
68
|
+
color: string;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* Hover/focus glow ring behind an emphasized bar. Mount/unmount it via
|
|
72
|
+
* `show` — enter/exit fades are handled internally.
|
|
73
|
+
*/
|
|
74
|
+
export declare const BarGlowRing: React.FC<{
|
|
75
|
+
show: boolean;
|
|
76
|
+
pathD: string;
|
|
77
|
+
color: string;
|
|
78
|
+
barWidth: number;
|
|
79
|
+
filter: string;
|
|
80
|
+
}>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { AnimatePresence, motion } from 'motion/react';
|
|
4
|
+
import { RING_FADE_TRANSITION } from './animation-utils.js';
|
|
5
|
+
|
|
6
|
+
/** Hover dim on non-hovered bars while a sibling is hovered. */
|
|
7
|
+
const BAR_DIM_OPACITY_GRADIENT = 0.42;
|
|
8
|
+
const BAR_DIM_OPACITY_FLAT = 0.9;
|
|
9
|
+
/** Resting hairline stroke on gradient bars. */
|
|
10
|
+
const BAR_RESTING_STROKE = "rgba(255,255,255,0.24)";
|
|
11
|
+
/** Emphasized (hover/focus) series-colored stroke. */
|
|
12
|
+
const BAR_EMPHASIS_STROKE_OPACITY = 0.78;
|
|
13
|
+
/** Hover glow ring stroke. */
|
|
14
|
+
const BAR_RING_STROKE_OPACITY = 0.24;
|
|
15
|
+
/** Glow-ring stroke width scales with the bar, clamped to a sane band. */
|
|
16
|
+
function barRingStrokeWidth(barWidth) {
|
|
17
|
+
return Math.min(14, Math.max(8, barWidth * 0.08));
|
|
18
|
+
}
|
|
19
|
+
function deriveBarEmphasis({ isHovered, isFocused, isAnyBarHovered, isGradientVariant, }) {
|
|
20
|
+
return {
|
|
21
|
+
isEmphasized: isGradientVariant && (isHovered || isFocused),
|
|
22
|
+
shouldReduceOpacity: isAnyBarHovered && !isHovered,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Animated hover-dim opacity. Belongs in the motion `animate` prop, not
|
|
27
|
+
* `style` — motion.path freezes plain style values at mount.
|
|
28
|
+
*/
|
|
29
|
+
function barDimOpacity(shouldReduceOpacity, isGradientVariant) {
|
|
30
|
+
return shouldReduceOpacity
|
|
31
|
+
? isGradientVariant
|
|
32
|
+
? BAR_DIM_OPACITY_GRADIENT
|
|
33
|
+
: BAR_DIM_OPACITY_FLAT
|
|
34
|
+
: 1;
|
|
35
|
+
}
|
|
36
|
+
/** Bar fill: gradient › placeholder/dimmed sunken › series color. */
|
|
37
|
+
function barFill({ isGradientVariant, gradientFill, isNull, shouldReduceOpacity, fillColor, }) {
|
|
38
|
+
return isGradientVariant
|
|
39
|
+
? gradientFill
|
|
40
|
+
: isNull || shouldReduceOpacity
|
|
41
|
+
? "var(--color-surface-sunken)"
|
|
42
|
+
: fillColor;
|
|
43
|
+
}
|
|
44
|
+
/** Stroke cascade: keyboard-focus ring › emphasis › resting hairline › none. */
|
|
45
|
+
function barStrokeStyle({ isFocused, isEmphasized, isGradientVariant, fillColor, }) {
|
|
46
|
+
return {
|
|
47
|
+
stroke: isFocused
|
|
48
|
+
? "var(--color-primary)"
|
|
49
|
+
: isEmphasized
|
|
50
|
+
? fillColor
|
|
51
|
+
: isGradientVariant
|
|
52
|
+
? BAR_RESTING_STROKE
|
|
53
|
+
: "none",
|
|
54
|
+
strokeWidth: isFocused ? 3 : isEmphasized ? 2 : isGradientVariant ? 1 : undefined,
|
|
55
|
+
strokeOpacity: isEmphasized ? BAR_EMPHASIS_STROKE_OPACITY : 1,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Per-series SVG defs for the gradient variant: vertical gradient fill,
|
|
60
|
+
* colored drop shadow, and the hover glow-ring filter. Render inside <defs>.
|
|
61
|
+
*/
|
|
62
|
+
const BarSeriesDefs = ({ gradientId, shadowId, ringId, color }) => (jsxs(Fragment, { children: [jsxs("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [jsx("stop", { offset: "0%", stopColor: color, stopOpacity: "0.46" }), jsx("stop", { offset: "14%", stopColor: color, stopOpacity: "0.9" }), jsx("stop", { offset: "42%", stopColor: color, stopOpacity: "1" }), jsx("stop", { offset: "72%", stopColor: color, stopOpacity: "0.96" }), jsx("stop", { offset: "100%", stopColor: color, stopOpacity: "0.82" })] }), jsx("filter", { id: shadowId, x: "-35%", y: "-35%", width: "170%", height: "190%", colorInterpolationFilters: "sRGB", children: jsx("feDropShadow", { dx: "0", dy: "10", stdDeviation: "8", floodColor: color, floodOpacity: "0.22" }) }), jsxs("filter", { id: ringId, x: "-25%", y: "-25%", width: "150%", height: "165%", colorInterpolationFilters: "sRGB", children: [jsx("feDropShadow", { dx: "0", dy: "0", stdDeviation: "4", floodColor: color, floodOpacity: "0.42" }), jsx("feDropShadow", { dx: "0", dy: "10", stdDeviation: "8", floodColor: color, floodOpacity: "0.18" })] })] }));
|
|
63
|
+
/**
|
|
64
|
+
* Hover/focus glow ring behind an emphasized bar. Mount/unmount it via
|
|
65
|
+
* `show` — enter/exit fades are handled internally.
|
|
66
|
+
*/
|
|
67
|
+
const BarGlowRing = ({ show, pathD, color, barWidth, filter }) => (jsx(AnimatePresence, { children: show && (jsx(motion.path, { d: pathD, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: RING_FADE_TRANSITION, fill: "none", stroke: color, strokeWidth: barRingStrokeWidth(barWidth), strokeOpacity: BAR_RING_STROKE_OPACITY, strokeLinejoin: "round", vectorEffect: "non-scaling-stroke", filter: filter, style: { pointerEvents: "none" } })) }));
|
|
68
|
+
|
|
69
|
+
export { BAR_DIM_OPACITY_FLAT, BAR_DIM_OPACITY_GRADIENT, BAR_EMPHASIS_STROKE_OPACITY, BAR_RESTING_STROKE, BAR_RING_STROKE_OPACITY, BarGlowRing, BarSeriesDefs, barDimOpacity, barFill, barRingStrokeWidth, barStrokeStyle, deriveBarEmphasis };
|
|
@@ -158,6 +158,13 @@ function validateChartConfig(config) {
|
|
|
158
158
|
function validateDataConfigCompatibility(data, config) {
|
|
159
159
|
const errors = [];
|
|
160
160
|
const warnings = [];
|
|
161
|
+
// Empty data has no rows to check config keys against — that's a valid
|
|
162
|
+
// "nothing to plot yet" state (handled by each chart's own empty-state
|
|
163
|
+
// branch), NOT an incompatible-config error. Only non-empty data with zero
|
|
164
|
+
// matching numeric keys is a real compatibility error.
|
|
165
|
+
if (data.length === 0) {
|
|
166
|
+
return { isValid: true, errors, warnings };
|
|
167
|
+
}
|
|
161
168
|
const configKeys = Object.keys(config);
|
|
162
169
|
const dataKeys = data.length > 0 ? Object.keys(data[0]) : [];
|
|
163
170
|
// Check if any config keys exist in data
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { AccordionProps
|
|
3
|
-
export
|
|
2
|
+
import { AccordionProps } from "./Accordion.types";
|
|
3
|
+
export { useAccordionContext } from "./AccordionContext";
|
|
4
4
|
export declare const Accordion: {
|
|
5
|
-
({ children, className, type, variant, collapsible, defaultValue, value, onValueChange, theme: themeOverrides, darkMode, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
({ children, items, className, type, variant, collapsible, defaultValue, value, onValueChange, theme: themeOverrides, darkMode, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
displayName: string;
|
|
7
7
|
} & {
|
|
8
8
|
Item: React.ForwardRefExoticComponent<import("./Accordion.types").AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import React__default, { useState, useCallback, useMemo } from 'react';
|
|
3
4
|
import { cn } from '../../../utils/cn.js';
|
|
4
5
|
import { accordionTheme } from './Accordion.theme.js';
|
|
6
|
+
import { AccordionContext } from './AccordionContext.js';
|
|
7
|
+
export { useAccordionContext } from './AccordionContext.js';
|
|
5
8
|
import { AccordionTrigger } from './AccordionTrigger.js';
|
|
6
9
|
import { AccordionBody } from './AccordionBody.js';
|
|
7
10
|
import { AccordionItem } from './AccordionItem.js';
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const ctx = useContext(AccordionContext);
|
|
13
|
-
if (!ctx)
|
|
14
|
-
throw new Error("Accordion compound components must be used within <Accordion>");
|
|
15
|
-
return ctx;
|
|
16
|
-
};
|
|
17
|
-
const AccordionRoot = ({ children, className, type = "single", variant = "separated", collapsible = false, defaultValue, value, onValueChange, theme: themeOverrides, darkMode = false, ...props }) => {
|
|
12
|
+
/** Render one data-driven item to the compound Accordion primitives. */
|
|
13
|
+
const renderItemData = (item) => (jsxs(AccordionItem, { value: item.value, className: item.className, disabled: item.disabled, children: [jsx(AccordionTrigger, { children: item.title }), jsx(AccordionBody, { children: item.content })] }, item.value));
|
|
14
|
+
const AccordionRoot = ({ children, items, className, type = "single", variant = "separated", collapsible = false, defaultValue, value, onValueChange, theme: themeOverrides, darkMode = false, ...props }) => {
|
|
18
15
|
// State for uncontrolled component
|
|
19
16
|
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue || (type === "single" ? "" : []));
|
|
20
17
|
// Determine if component is controlled
|
|
@@ -28,22 +25,29 @@ const AccordionRoot = ({ children, className, type = "single", variant = "separa
|
|
|
28
25
|
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue);
|
|
29
26
|
}, [isControlled, onValueChange]);
|
|
30
27
|
// Merge theme with any overrides
|
|
31
|
-
const theme = {
|
|
28
|
+
const theme = useMemo(() => ({
|
|
32
29
|
...accordionTheme,
|
|
33
30
|
...(themeOverrides || {}),
|
|
34
|
-
};
|
|
31
|
+
}), [themeOverrides]);
|
|
35
32
|
// Context value to be provided to children
|
|
36
|
-
const contextValue = {
|
|
33
|
+
const contextValue = useMemo(() => ({
|
|
37
34
|
type,
|
|
38
35
|
variant,
|
|
39
36
|
collapsible,
|
|
40
37
|
value: currentValue,
|
|
41
38
|
onValueChange: handleValueChange,
|
|
42
39
|
theme,
|
|
43
|
-
};
|
|
40
|
+
}), [type, variant, collapsible, currentValue, handleValueChange, theme]);
|
|
44
41
|
// Select base style based on variant
|
|
45
42
|
const baseStyleClass = variant === "stacked" ? theme.baseStyleStacked : theme.baseStyle;
|
|
46
|
-
|
|
43
|
+
if (process.env.NODE_ENV !== "production" &&
|
|
44
|
+
items &&
|
|
45
|
+
React__default.Children.count(children) > 0) {
|
|
46
|
+
console.warn("[Accordion]: both `items` and children were provided — `items` takes precedence and children are ignored.");
|
|
47
|
+
}
|
|
48
|
+
// Data-driven path maps to the same compound primitives as composition.
|
|
49
|
+
const content = items ? items.map(renderItemData) : children;
|
|
50
|
+
return (jsx(AccordionContext.Provider, { value: contextValue, children: jsx("div", { className: cn(baseStyleClass, darkMode && "dark", className), "data-variant": variant, ...props, children: content }) }));
|
|
47
51
|
};
|
|
48
52
|
AccordionRoot.displayName = "Accordion";
|
|
49
53
|
// Attach compound subcomponents
|
|
@@ -53,4 +57,4 @@ const Accordion = Object.assign(AccordionRoot, {
|
|
|
53
57
|
Body: AccordionBody,
|
|
54
58
|
});
|
|
55
59
|
|
|
56
|
-
export { Accordion
|
|
60
|
+
export { Accordion };
|