@flikk/ui 1.0.0-beta.1 → 1.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ai/ApprovalCard/ApprovalCard.js +3 -2
- package/dist/components/ai/ApprovalCard/ApprovalCard.types.d.ts +2 -2
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +2 -2
- 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 +264 -31
- package/dist/components/ai/PromptInput/PromptInput.theme.js +6 -1
- package/dist/components/ai/PromptInput/PromptInput.types.d.ts +68 -0
- package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +10 -0
- package/dist/components/ai/PromptInput/VoiceRecorder.js +258 -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.theme.js +1 -1
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -2
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +51 -27
- package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +4 -5
- package/dist/components/ai/StreamingResponse/StreamingCursor.js +5 -12
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +7 -0
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +20 -1
- package/dist/components/ai/StreamingResponse/StreamingResponse.js +2 -2
- package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +4 -4
- package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +2 -0
- package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +27 -0
- package/dist/components/ai/StreamingResponse/WordAnimationContext.js +134 -0
- package/dist/components/ai/StreamingResponse/index.d.ts +3 -1
- package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +2 -2
- package/dist/components/ai/TokenCounter/TokenCounter.theme.js +6 -6
- package/dist/components/ai/index.js +1 -0
- package/dist/components/charts/ActivityRings/ActivityRings.js +1 -1
- package/dist/components/charts/ActivityRings/ActivityRings.theme.js +2 -2
- package/dist/components/charts/BarChart/BarChart.js +3 -3
- package/dist/components/charts/ChartContainer.js +1 -1
- package/dist/components/charts/ComboChart/ComboChart.js +2 -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 +1 -1
- package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
- package/dist/components/charts/DonutChart/MultiSegmentDonutChart.types.d.ts +1 -2
- package/dist/components/charts/FunnelChart/FunnelChart.js +7 -7
- package/dist/components/charts/Heatmap/Heatmap.theme.js +1 -1
- package/dist/components/charts/Heatmap/HeatmapCell.js +1 -1
- package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
- package/dist/components/charts/RadarChart/RadarChart.theme.js +2 -2
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +1 -1
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +2 -2
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +2 -2
- package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +1 -1
- package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +1 -1
- package/dist/components/charts/shared/ChartText/ChartText.js +1 -1
- package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
- package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +4 -4
- 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.theme.js +5 -5
- package/dist/components/core/Accordion/Accordion.types.d.ts +25 -0
- package/dist/components/core/Accordion/AccordionContent.js +1 -1
- package/dist/components/core/Accordion/AccordionTrigger.js +11 -6
- package/dist/components/core/Alert/Alert.js +3 -2
- package/dist/components/core/Alert/Alert.theme.js +4 -8
- package/dist/components/core/Alert/Alert.types.d.ts +4 -3
- package/dist/components/core/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
- package/dist/components/core/AlertDialog/AlertDialog.types.d.ts +2 -2
- package/dist/components/core/Avatar/Avatar.theme.js +5 -5
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +1 -1
- package/dist/components/core/Badge/Badge.d.ts +1 -1
- package/dist/components/core/Badge/Badge.js +11 -9
- package/dist/components/core/Badge/Badge.theme.js +24 -20
- package/dist/components/core/Badge/Badge.types.d.ts +10 -5
- package/dist/components/core/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/core/Button/Button.d.ts +1 -1
- package/dist/components/core/Button/Button.js +21 -18
- package/dist/components/core/Button/Button.ripple.d.ts +5 -1
- package/dist/components/core/Button/Button.ripple.js +27 -17
- package/dist/components/core/Button/Button.theme.d.ts +1 -2
- package/dist/components/core/Button/Button.theme.js +46 -41
- package/dist/components/core/Button/Button.types.d.ts +3 -3
- package/dist/components/core/Button/index.d.ts +2 -0
- package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +1 -1
- package/dist/components/core/Calendar/Calendar.js +1 -1
- package/dist/components/core/Calendar/Calendar.theme.js +9 -9
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +1 -1
- package/dist/components/core/Card/Card.d.ts +2 -2
- package/dist/components/core/Card/Card.js +6 -7
- package/dist/components/core/Card/Card.theme.js +2 -2
- package/dist/components/core/Card/Card.types.d.ts +7 -27
- package/dist/components/core/Card/CardSubtitle.d.ts +3 -0
- package/dist/components/core/Card/CardSubtitle.js +11 -0
- package/dist/components/core/Card/CardTitle.d.ts +1 -1
- package/dist/components/core/Card/index.d.ts +2 -2
- package/dist/components/core/CommandPalette/CommandItem.d.ts +1 -1
- package/dist/components/core/CommandPalette/CommandItem.js +2 -2
- package/dist/components/core/CommandPalette/CommandPalette.js +2 -2
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +6 -6
- package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +2 -2
- package/dist/components/core/ContextMenu/ContextMenu.theme.js +3 -3
- package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +1 -1
- package/dist/components/core/ContextMenu/ContextMenuItem.js +3 -3
- package/dist/components/core/Drawer/Drawer.d.ts +13 -1
- package/dist/components/core/Drawer/Drawer.js +23 -10
- package/dist/components/core/Drawer/Drawer.theme.d.ts +2 -0
- package/dist/components/core/Drawer/Drawer.theme.js +15 -13
- package/dist/components/core/Drawer/Drawer.types.d.ts +26 -9
- package/dist/components/core/Drawer/DrawerContent.js +1 -1
- package/dist/components/core/Drawer/DrawerHeader.d.ts +5 -0
- package/dist/components/core/Drawer/DrawerHeader.js +15 -0
- package/dist/components/core/Drawer/DrawerSubtitle.d.ts +5 -0
- package/dist/components/core/Drawer/DrawerSubtitle.js +11 -0
- package/dist/components/core/Drawer/DrawerTitle.d.ts +5 -0
- package/dist/components/core/Drawer/DrawerTitle.js +11 -0
- package/dist/components/core/Drawer/index.d.ts +1 -1
- package/dist/components/core/Dropdown/Dropdown.theme.js +1 -1
- package/dist/components/core/Dropdown/Dropdown.types.d.ts +4 -4
- package/dist/components/core/Dropdown/DropdownItem.js +2 -2
- package/dist/components/core/Dropdown/DropdownMenu.js +1 -0
- package/dist/components/core/Empty/Empty.js +2 -2
- package/dist/components/core/Empty/Empty.theme.d.ts +1 -1
- package/dist/components/core/Empty/Empty.theme.js +3 -3
- package/dist/components/core/Empty/Empty.types.d.ts +2 -2
- package/dist/components/core/Kbd/Kbd.theme.js +3 -3
- package/dist/components/core/Link/Link.d.ts +1 -1
- package/dist/components/core/Link/Link.types.d.ts +2 -2
- package/dist/components/core/Loader/Loader.theme.js +1 -1
- package/dist/components/core/MenuItem/MenuItem.js +2 -2
- package/dist/components/core/MenuItem/MenuItem.theme.d.ts +1 -2
- package/dist/components/core/MenuItem/MenuItem.theme.js +9 -11
- package/dist/components/core/MenuItem/MenuItem.types.d.ts +1 -1
- package/dist/components/core/Message/Message.d.ts +3 -2
- package/dist/components/core/Message/Message.js +30 -24
- package/dist/components/core/Message/Message.theme.d.ts +1 -1
- package/dist/components/core/Message/Message.theme.js +22 -24
- package/dist/components/core/Message/Message.types.d.ts +0 -7
- package/dist/components/core/Message/MessageList.animations.d.ts +6 -0
- package/dist/components/core/Message/MessageList.animations.js +32 -0
- package/dist/components/core/Message/MessageList.d.ts +5 -0
- package/dist/components/core/Message/MessageList.js +78 -0
- package/dist/components/core/Message/MessageList.theme.d.ts +2 -0
- package/dist/components/core/Message/MessageList.theme.js +6 -0
- package/dist/components/core/Message/MessageList.types.d.ts +32 -0
- package/dist/components/core/Message/index.d.ts +2 -0
- package/dist/components/core/Modal/Modal.d.ts +2 -2
- package/dist/components/core/Modal/Modal.js +5 -5
- package/dist/components/core/Modal/Modal.theme.js +6 -6
- package/dist/components/core/Modal/Modal.types.d.ts +4 -4
- package/dist/components/core/Modal/ModalHeader.js +1 -0
- package/dist/components/core/Modal/ModalSubtitle.d.ts +5 -0
- package/dist/components/core/Modal/ModalSubtitle.js +11 -0
- package/dist/components/core/ModalStack/ModalStack.animations.js +3 -3
- package/dist/components/core/ModalStack/ModalStackModal.js +3 -3
- package/dist/components/core/NavItem/NavItem.js +1 -1
- package/dist/components/core/NavItem/NavItem.theme.js +1 -1
- package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +3 -3
- package/dist/components/core/PageHeading/PageHeading.d.ts +8 -0
- package/dist/components/core/PageHeading/PageHeading.js +28 -0
- package/dist/components/core/PageHeading/PageHeading.theme.d.ts +2 -0
- package/dist/components/core/PageHeading/PageHeading.theme.js +11 -0
- package/dist/components/core/PageHeading/PageHeading.types.d.ts +55 -0
- package/dist/components/core/PageHeading/PageHeadingActions.d.ts +3 -0
- package/dist/components/core/PageHeading/PageHeadingActions.js +11 -0
- package/dist/components/core/PageHeading/PageHeadingBackButton.d.ts +3 -0
- package/dist/components/core/PageHeading/PageHeadingBackButton.js +12 -0
- package/dist/components/core/PageHeading/PageHeadingIcon.d.ts +3 -0
- package/dist/components/core/PageHeading/PageHeadingIcon.js +11 -0
- package/dist/components/core/PageHeading/PageHeadingSubtitle.d.ts +3 -0
- package/dist/components/core/PageHeading/PageHeadingSubtitle.js +11 -0
- package/dist/components/core/PageHeading/PageHeadingTitle.d.ts +3 -0
- package/dist/components/core/PageHeading/PageHeadingTitle.js +11 -0
- package/dist/components/core/PageHeading/index.d.ts +2 -0
- package/dist/components/core/Pagination/Pagination.theme.js +2 -2
- package/dist/components/core/Pill/Pill.theme.js +3 -3
- package/dist/components/core/Popover/Popover.theme.js +1 -1
- package/dist/components/core/Popover/Popover.types.d.ts +6 -0
- package/dist/components/core/Popover/PopoverContent.js +8 -2
- package/dist/components/core/Progress/Progress.theme.js +10 -7
- package/dist/components/core/Progress/Progress.types.d.ts +2 -1
- package/dist/components/core/Segmented/Segmented.theme.js +5 -5
- package/dist/components/core/Sidebar/Sidebar.js +1 -0
- package/dist/components/core/Sidebar/SidebarNavGroup.js +1 -1
- package/dist/components/core/SocialIcon/SocialIcon.d.ts +3 -0
- package/dist/components/core/SocialIcon/SocialIcon.js +30 -0
- package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +2 -0
- package/dist/components/core/SocialIcon/SocialIcon.theme.js +12 -0
- package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +18 -0
- package/dist/components/core/SocialIcon/index.d.ts +2 -0
- package/dist/components/core/SocialIcon/platforms.d.ts +17 -0
- package/dist/components/core/SocialIcon/platforms.js +234 -0
- package/dist/components/core/Spinner/Spinner.theme.js +3 -5
- package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
- package/dist/components/core/Tabs/Tabs.theme.js +2 -2
- package/dist/components/core/Tag/Tag.d.ts +2 -2
- package/dist/components/core/Tag/Tag.js +21 -4
- package/dist/components/core/Tag/Tag.theme.js +12 -4
- package/dist/components/core/Tag/Tag.types.d.ts +24 -1
- package/dist/components/core/Toast/Toast.js +4 -4
- package/dist/components/core/Toast/Toast.theme.js +4 -4
- package/dist/components/core/Toast/Toast.types.d.ts +9 -9
- package/dist/components/core/Toast/useToast.js +6 -6
- package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
- package/dist/components/core/Tree/Tree.theme.js +1 -1
- package/dist/components/core/index.d.ts +2 -7
- package/dist/components/core/index.js +10 -19
- package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +8 -0
- package/dist/components/{core → data-display}/Feed/Feed.js +3 -3
- package/dist/components/{core → data-display}/Feed/Feed.theme.js +2 -2
- package/dist/components/data-display/GanttChart/GanttChart.animations.d.ts +4 -0
- package/dist/components/data-display/GanttChart/GanttChart.animations.js +21 -0
- package/dist/components/data-display/GanttChart/GanttChart.d.ts +8 -0
- package/dist/components/data-display/GanttChart/GanttChart.js +170 -0
- package/dist/components/data-display/GanttChart/GanttChart.theme.d.ts +2 -0
- package/dist/components/data-display/GanttChart/GanttChart.theme.js +23 -0
- package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +162 -0
- package/dist/components/data-display/GanttChart/GanttChart.types.js +9 -0
- package/dist/components/data-display/GanttChart/GanttChart.utils.d.ts +80 -0
- package/dist/components/data-display/GanttChart/GanttChart.utils.js +274 -0
- package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +9 -0
- package/dist/components/data-display/GanttChart/GanttChartPanel.js +82 -0
- package/dist/components/data-display/GanttChart/GanttDependencyArrows.d.ts +2 -0
- package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +35 -0
- package/dist/components/data-display/GanttChart/GanttGroupBar.d.ts +8 -0
- package/dist/components/data-display/GanttChart/GanttGroupBar.js +26 -0
- package/dist/components/data-display/GanttChart/GanttMilestone.d.ts +9 -0
- package/dist/components/data-display/GanttChart/GanttMilestone.js +44 -0
- package/dist/components/data-display/GanttChart/GanttProgressCircle.d.ts +9 -0
- package/dist/components/data-display/GanttChart/GanttProgressCircle.js +11 -0
- package/dist/components/data-display/GanttChart/GanttSplitter.d.ts +2 -0
- package/dist/components/data-display/GanttChart/GanttSplitter.js +39 -0
- package/dist/components/data-display/GanttChart/GanttTableGroupRow.d.ts +7 -0
- package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +23 -0
- package/dist/components/data-display/GanttChart/GanttTableHeader.d.ts +2 -0
- package/dist/components/data-display/GanttChart/GanttTableHeader.js +13 -0
- package/dist/components/data-display/GanttChart/GanttTablePanel.d.ts +6 -0
- package/dist/components/data-display/GanttChart/GanttTablePanel.js +20 -0
- package/dist/components/data-display/GanttChart/GanttTableTaskRow.d.ts +8 -0
- package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +30 -0
- package/dist/components/data-display/GanttChart/GanttTaskBar.d.ts +9 -0
- package/dist/components/data-display/GanttChart/GanttTaskBar.js +206 -0
- package/dist/components/data-display/GanttChart/GanttTaskContextMenu.d.ts +8 -0
- package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +17 -0
- package/dist/components/data-display/GanttChart/GanttTimelineGrid.d.ts +7 -0
- package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +33 -0
- package/dist/components/data-display/GanttChart/GanttTimelineHeader.d.ts +8 -0
- package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +43 -0
- package/dist/components/data-display/GanttChart/GanttToolbar.d.ts +2 -0
- package/dist/components/data-display/GanttChart/GanttToolbar.js +29 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttDates.d.ts +12 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +25 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttDrag.d.ts +25 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +144 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttLayout.d.ts +2 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +33 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.d.ts +6 -0
- package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +32 -0
- package/dist/components/data-display/GanttChart/index.d.ts +3 -0
- package/dist/components/{core → data-display}/KPI/KPI.js +10 -8
- package/dist/components/{core → data-display}/KPI/KPI.theme.js +12 -12
- package/dist/components/{core → data-display}/KPI/KPI.types.d.ts +6 -5
- package/dist/components/{core → data-display}/KPI/index.d.ts +1 -0
- package/dist/components/{core → data-display}/Metric/Metric.js +4 -7
- package/dist/components/{core → data-display}/Metric/Metric.theme.js +17 -13
- package/dist/components/{core → data-display}/Metric/Metric.types.d.ts +8 -7
- package/dist/components/{core → data-display}/Table/Table.theme.js +4 -4
- package/dist/components/{core → data-display}/Table/TableActions.js +8 -8
- package/dist/components/{core → data-display}/Table/TableActionsMenu.js +1 -1
- package/dist/components/{core → data-display}/Table/TableColumnManager.js +6 -5
- package/dist/components/{core → data-display}/Table/TableFilter.js +6 -6
- package/dist/components/{core → data-display}/Table/TableHeader.js +1 -1
- package/dist/components/data-display/Table/TablePagination.js +25 -0
- package/dist/components/{core → data-display}/Table/TableRow.js +1 -1
- package/dist/components/{core → data-display}/Table/TableSelectionHeader.js +3 -3
- package/dist/components/{core → data-display}/Timeline/Timeline.theme.js +2 -2
- package/dist/components/data-display/index.d.ts +7 -0
- package/dist/components/data-display/index.js +20 -0
- package/dist/components/effects/3d/index.d.ts +6 -0
- package/dist/components/effects/3d/index.js +3 -0
- package/dist/components/effects/Aurora/Aurora.d.ts +24 -0
- package/dist/components/effects/Aurora/Aurora.js +119 -0
- package/dist/components/effects/Aurora/Aurora.types.d.ts +15 -0
- package/dist/components/effects/Aurora/index.d.ts +2 -0
- package/dist/components/effects/CustomCursor/CustomCursor.d.ts +2 -2
- package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +3 -1
- package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
- package/dist/components/effects/DotPattern/DotPattern.d.ts +18 -0
- package/dist/components/effects/DotPattern/DotPattern.js +65 -0
- package/dist/components/effects/DotPattern/DotPattern.types.d.ts +47 -0
- package/dist/components/effects/DotPattern/index.d.ts +2 -0
- package/dist/components/effects/GridPattern/GridPattern.d.ts +18 -0
- package/dist/components/effects/GridPattern/GridPattern.js +64 -0
- package/dist/components/effects/GridPattern/GridPattern.types.d.ts +47 -0
- package/dist/components/effects/GridPattern/index.d.ts +2 -0
- package/dist/components/effects/MagneticElement/MagneticElement.d.ts +30 -0
- package/dist/components/effects/MagneticElement/MagneticElement.js +110 -0
- package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +44 -0
- package/dist/components/effects/MagneticElement/index.d.ts +2 -0
- package/dist/components/effects/MorphingText/MorphingText.d.ts +17 -0
- package/dist/components/effects/MorphingText/MorphingText.js +91 -0
- package/dist/components/effects/MorphingText/MorphingText.types.d.ts +18 -0
- package/dist/components/effects/MorphingText/index.d.ts +2 -0
- package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +28 -0
- package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +61 -0
- package/dist/components/effects/NoiseOverlay/NoiseOverlay.types.d.ts +35 -0
- package/dist/components/effects/NoiseOverlay/index.d.ts +2 -0
- package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +26 -0
- package/dist/components/effects/ParallaxSection/ParallaxSection.js +71 -0
- package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +11 -0
- package/dist/components/effects/ParallaxSection/index.d.ts +2 -0
- package/dist/components/effects/Particles/Particles.d.ts +22 -0
- package/dist/components/effects/Particles/Particles.js +33 -0
- package/dist/components/effects/Particles/Particles.scene.d.ts +3 -0
- package/dist/components/effects/Particles/Particles.scene.js +284 -0
- package/dist/components/effects/Particles/Particles.types.d.ts +65 -0
- package/dist/components/effects/Particles/index.d.ts +2 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.d.ts +3 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +75 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.d.ts +7 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.js +12 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +47 -0
- package/dist/components/effects/ProgressiveBlur/index.d.ts +2 -0
- package/dist/components/effects/ScrollReveal/ScrollReveal.d.ts +29 -0
- package/dist/components/effects/ScrollReveal/ScrollReveal.js +121 -0
- package/dist/components/effects/ScrollReveal/ScrollReveal.types.d.ts +25 -0
- package/dist/components/effects/ScrollReveal/index.d.ts +2 -0
- package/dist/components/effects/Spotlight/Spotlight.d.ts +36 -0
- package/dist/components/effects/Spotlight/Spotlight.js +112 -0
- package/dist/components/effects/Spotlight/Spotlight.types.d.ts +29 -0
- package/dist/components/effects/Spotlight/index.d.ts +2 -0
- package/dist/components/effects/StickyScroll/StickyScroll.d.ts +30 -0
- package/dist/components/effects/StickyScroll/StickyScroll.js +128 -0
- package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +19 -0
- package/dist/components/effects/StickyScroll/index.d.ts +2 -0
- package/dist/components/effects/index.d.ts +22 -4
- package/dist/components/effects/index.js +11 -2
- package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
- package/dist/components/forms/Checkbox/Checkbox.js +36 -12
- package/dist/components/forms/Checkbox/Checkbox.theme.js +9 -5
- package/dist/components/forms/Checkbox/Checkbox.types.d.ts +28 -2
- package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
- package/dist/components/forms/Checkbox/CheckboxContext.js +12 -0
- package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
- package/dist/components/forms/Checkbox/CheckboxGroup.js +40 -0
- package/dist/components/forms/Checkbox/index.d.ts +1 -1
- package/dist/components/forms/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/forms/ColorPicker/ColorPicker.theme.js +3 -3
- package/dist/components/forms/ColorPicker/ColorPickerInput.js +7 -7
- package/dist/components/forms/CronInput/CronInput.d.ts +3 -0
- package/dist/components/forms/CronInput/CronInput.js +107 -0
- package/dist/components/forms/CronInput/CronInput.theme.d.ts +6 -0
- package/dist/components/forms/CronInput/CronInput.theme.js +84 -0
- package/dist/components/forms/CronInput/CronInput.types.d.ts +98 -0
- package/dist/components/forms/CronInput/CronInput.utils.d.ts +67 -0
- package/dist/components/forms/CronInput/CronInput.utils.js +505 -0
- package/dist/components/forms/CronInput/index.d.ts +4 -0
- package/dist/components/forms/DatePicker/DatePicker.theme.js +3 -3
- package/dist/components/forms/DatePicker/DatePickerContent.js +1 -1
- package/dist/components/forms/FileUpload/FileUpload.js +80 -2
- package/dist/components/forms/FileUpload/FileUpload.theme.js +4 -4
- package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
- package/dist/components/forms/Input/Input.theme.js +1 -1
- package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
- package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
- package/dist/components/forms/InputCounter/InputCounter.types.d.ts +3 -2
- package/dist/components/forms/InputOTP/InputOTP.theme.js +2 -2
- package/dist/components/forms/InputTag/InputTag.js +1 -1
- package/dist/components/forms/Mention/Mention.d.ts +3 -0
- package/dist/components/forms/Mention/Mention.js +607 -0
- package/dist/components/forms/Mention/Mention.theme.d.ts +6 -0
- package/dist/components/forms/Mention/Mention.theme.js +55 -0
- package/dist/components/forms/Mention/Mention.types.d.ts +151 -0
- package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
- package/dist/components/forms/Mention/Mention.utils.js +285 -0
- package/dist/components/forms/Mention/index.d.ts +3 -0
- package/dist/components/forms/Radio/Radio.d.ts +3 -4
- package/dist/components/forms/Radio/Radio.js +25 -12
- package/dist/components/forms/Radio/Radio.theme.js +34 -5
- package/dist/components/forms/Radio/Radio.types.d.ts +30 -4
- package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
- package/dist/components/forms/Radio/RadioContext.js +12 -0
- package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
- package/dist/components/forms/Radio/RadioGroup.js +36 -0
- package/dist/components/forms/Radio/index.d.ts +1 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +2 -2
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +1 -1
- package/dist/components/forms/Select/Select.theme.js +1 -1
- package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +2 -0
- package/dist/components/forms/SelectableCard/SelectableCard.animations.js +9 -0
- package/dist/components/forms/SelectableCard/SelectableCard.d.ts +5 -0
- package/dist/components/forms/SelectableCard/SelectableCard.js +58 -0
- package/dist/components/forms/SelectableCard/SelectableCard.theme.d.ts +2 -0
- package/dist/components/forms/SelectableCard/SelectableCard.theme.js +38 -0
- package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +33 -0
- package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +3 -0
- package/dist/components/forms/SelectableCard/SelectableCardContext.js +12 -0
- package/dist/components/forms/SelectableCard/SelectableCardGroup.d.ts +3 -0
- package/dist/components/forms/SelectableCard/SelectableCardGroup.js +37 -0
- package/dist/components/forms/SelectableCard/index.d.ts +3 -0
- package/dist/components/forms/Signature/Signature.theme.js +1 -1
- package/dist/components/forms/Slider/Slider.theme.js +3 -3
- package/dist/components/forms/Switch/Switch.theme.js +1 -1
- package/dist/components/forms/TimePicker/TimePicker.theme.js +2 -2
- package/dist/components/forms/TimePicker/TimePickerContent.js +78 -1
- package/dist/components/forms/TransferList/TransferList.animations.d.ts +10 -0
- package/dist/components/forms/TransferList/TransferList.animations.js +32 -0
- package/dist/components/forms/TransferList/TransferList.d.ts +28 -0
- package/dist/components/forms/TransferList/TransferList.js +199 -0
- package/dist/components/forms/TransferList/TransferList.theme.d.ts +6 -0
- package/dist/components/forms/TransferList/TransferList.theme.js +60 -0
- package/dist/components/forms/TransferList/TransferList.types.d.ts +101 -0
- package/dist/components/forms/TransferList/index.d.ts +3 -0
- package/dist/components/forms/forms.theme.js +6 -6
- package/dist/components/forms/index.d.ts +15 -2
- package/dist/components/forms/index.js +87 -0
- package/dist/components/layout/FormLayout/FormLayout.d.ts +8 -0
- package/dist/components/layout/FormLayout/FormLayout.js +22 -0
- package/dist/components/layout/FormLayout/FormLayout.theme.d.ts +2 -0
- package/dist/components/layout/FormLayout/FormLayout.theme.js +16 -0
- package/dist/components/layout/FormLayout/FormLayout.types.d.ts +61 -0
- package/dist/components/layout/FormLayout/FormLayoutBody.d.ts +3 -0
- package/dist/components/layout/FormLayout/FormLayoutBody.js +91 -0
- package/dist/components/layout/FormLayout/FormLayoutFooter.d.ts +3 -0
- package/dist/components/layout/FormLayout/FormLayoutFooter.js +12 -0
- package/dist/components/layout/FormLayout/FormLayoutHeader.d.ts +3 -0
- package/dist/components/layout/FormLayout/FormLayoutHeader.js +12 -0
- package/dist/components/layout/FormLayout/FormLayoutSection.d.ts +3 -0
- package/dist/components/layout/FormLayout/FormLayoutSection.js +12 -0
- package/dist/components/layout/FormLayout/index.d.ts +3 -0
- package/dist/components/layout/PageLayout/PageLayout.d.ts +7 -0
- package/dist/components/layout/PageLayout/PageLayout.js +33 -0
- package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +2 -0
- package/dist/components/layout/PageLayout/PageLayout.theme.js +10 -0
- package/dist/components/layout/PageLayout/PageLayout.types.d.ts +39 -0
- package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +3 -0
- package/dist/components/layout/PageLayout/PageLayoutContent.js +12 -0
- package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +3 -0
- package/dist/components/layout/PageLayout/PageLayoutHeader.js +12 -0
- package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +3 -0
- package/dist/components/layout/PageLayout/PageLayoutSidebar.js +12 -0
- package/dist/components/layout/PageLayout/index.d.ts +3 -0
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/hooks/useSelectPortal.d.ts +4 -2
- package/dist/hooks/useSelectPortal.js +139 -51
- package/dist/index.d.ts +2 -0
- package/dist/index.js +206 -167
- package/dist/styles.css +1 -1
- package/dist/utils/colorUtils.d.ts +23 -0
- package/dist/utils/colorUtils.js +45 -0
- package/dist/utils/dateUtils.d.ts +30 -0
- package/dist/utils/dateUtils.js +58 -1
- package/dist/utils/index.d.ts +2 -1
- package/package.json +38 -26
- package/src/global.scss +673 -0
- package/src/styles/theme.css +378 -0
- package/src/theme-plugin.css +11 -0
- package/dist/components/core/Button/Button.animations.d.ts +0 -5
- package/dist/components/core/Card/CardDescription.d.ts +0 -3
- package/dist/components/core/Card/CardDescription.js +0 -11
- package/dist/components/core/DescriptionList/DescriptionList.theme.js +0 -8
- package/dist/components/core/Modal/ModalDescription.d.ts +0 -5
- package/dist/components/core/Modal/ModalDescription.js +0 -11
- package/dist/components/core/ProgressiveBlur/ProgressiveBlur.d.ts +0 -34
- package/dist/components/core/ProgressiveBlur/ProgressiveBlur.js +0 -218
- package/dist/components/core/ProgressiveBlur/ProgressiveBlur.theme.d.ts +0 -9
- package/dist/components/core/ProgressiveBlur/ProgressiveBlur.types.d.ts +0 -48
- package/dist/components/core/ProgressiveBlur/index.d.ts +0 -2
- package/dist/components/core/Table/TablePagination.js +0 -25
- /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.d.ts +0 -0
- /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.js +0 -0
- /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.theme.d.ts +0 -0
- /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.types.d.ts +0 -0
- /package/dist/components/{core → data-display}/DescriptionList/index.d.ts +0 -0
- /package/dist/components/{core → data-display}/Feed/Feed.d.ts +0 -0
- /package/dist/components/{core → data-display}/Feed/Feed.theme.d.ts +0 -0
- /package/dist/components/{core → data-display}/Feed/Feed.types.d.ts +0 -0
- /package/dist/components/{core → data-display}/Feed/index.d.ts +0 -0
- /package/dist/components/{core → data-display}/KPI/KPI.d.ts +0 -0
- /package/dist/components/{core → data-display}/KPI/KPI.theme.d.ts +0 -0
- /package/dist/components/{core → data-display}/Metric/Metric.d.ts +0 -0
- /package/dist/components/{core → data-display}/Metric/Metric.theme.d.ts +0 -0
- /package/dist/components/{core → data-display}/Metric/index.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.animations.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.animations.js +0 -0
- /package/dist/components/{core → data-display}/Table/Table.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.filterUtils.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.filterUtils.js +0 -0
- /package/dist/components/{core → data-display}/Table/Table.js +0 -0
- /package/dist/components/{core → data-display}/Table/Table.theme.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.types.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.utils.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/Table.utils.js +0 -0
- /package/dist/components/{core → data-display}/Table/TableActions.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableActionsMenu.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableBody.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableBody.js +0 -0
- /package/dist/components/{core → data-display}/Table/TableCell.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableCell.js +0 -0
- /package/dist/components/{core → data-display}/Table/TableColumnManager.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableDeclarative.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableDeclarative.js +0 -0
- /package/dist/components/{core → data-display}/Table/TableFilter.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableHeader.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TablePagination.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableRow.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/TableSelectionHeader.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/index.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.js +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.js +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.js +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.js +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.js +0 -0
- /package/dist/components/{core → data-display}/Table/index.d.ts +0 -0
- /package/dist/components/{core → data-display}/Table/index.js +0 -0
- /package/dist/components/{core → data-display}/Timeline/Timeline.animations.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/Timeline.animations.js +0 -0
- /package/dist/components/{core → data-display}/Timeline/Timeline.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/Timeline.js +0 -0
- /package/dist/components/{core → data-display}/Timeline/Timeline.theme.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/Timeline.types.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/TimelineContent.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/TimelineContent.js +0 -0
- /package/dist/components/{core → data-display}/Timeline/TimelineItem.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/TimelineItem.js +0 -0
- /package/dist/components/{core → data-display}/Timeline/TimelineMarker.d.ts +0 -0
- /package/dist/components/{core → data-display}/Timeline/TimelineMarker.js +0 -0
- /package/dist/components/{core → data-display}/Timeline/index.d.ts +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { useRef, useCallback, useEffect } from 'react';
|
|
3
|
+
import { useReducedMotion, motion, AnimatePresence } from 'motion/react';
|
|
4
|
+
import { cn } from '../../../utils/cn.js';
|
|
5
|
+
import { ScrollArea } from '../ScrollArea/ScrollArea.js';
|
|
6
|
+
import '../ScrollArea/smooth/SmoothScrollEngine.js';
|
|
7
|
+
import { messageListTheme } from './MessageList.theme.js';
|
|
8
|
+
import { getMessageItemVariants } from './MessageList.animations.js';
|
|
9
|
+
|
|
10
|
+
const MessageList = React__default.forwardRef(({ children, autoScroll = true, scrollThreshold = 100, shouldAnimate = true, className, theme: customTheme, ...props }, ref) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const shouldReduceMotion = useReducedMotion();
|
|
13
|
+
const itemVariants = getMessageItemVariants(shouldReduceMotion, shouldAnimate);
|
|
14
|
+
const scrollAreaRef = useRef(null);
|
|
15
|
+
const userHasScrolledRef = useRef(false);
|
|
16
|
+
const childCountRef = useRef(0);
|
|
17
|
+
const scrollToBottom = useCallback(() => {
|
|
18
|
+
const el = scrollAreaRef.current;
|
|
19
|
+
if (!el)
|
|
20
|
+
return;
|
|
21
|
+
el.scrollTop = el.scrollHeight;
|
|
22
|
+
}, []);
|
|
23
|
+
const handleScroll = useCallback(() => {
|
|
24
|
+
const el = scrollAreaRef.current;
|
|
25
|
+
if (!el)
|
|
26
|
+
return;
|
|
27
|
+
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
28
|
+
const isAtBottom = scrollHeight - scrollTop - clientHeight < scrollThreshold;
|
|
29
|
+
userHasScrolledRef.current = !isAtBottom;
|
|
30
|
+
}, [scrollThreshold]);
|
|
31
|
+
const childCount = React__default.Children.count(children);
|
|
32
|
+
// Auto-scroll when new children are added
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!autoScroll)
|
|
35
|
+
return;
|
|
36
|
+
if (childCount > childCountRef.current && !userHasScrolledRef.current) {
|
|
37
|
+
// rAF ensures AnimatePresence has mounted the new child before measuring
|
|
38
|
+
requestAnimationFrame(scrollToBottom);
|
|
39
|
+
}
|
|
40
|
+
childCountRef.current = childCount;
|
|
41
|
+
}, [childCount, autoScroll, scrollToBottom]);
|
|
42
|
+
// Scroll to bottom on initial mount
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
scrollToBottom();
|
|
45
|
+
}, [scrollToBottom]);
|
|
46
|
+
// Dev warning for missing keys
|
|
47
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
48
|
+
React__default.Children.forEach(children, (child) => {
|
|
49
|
+
if (React__default.isValidElement(child) && child.key === null) {
|
|
50
|
+
console.warn('[Message.List]: Each child must have a stable key prop for animations to work correctly.');
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const baseStyle = (_a = customTheme === null || customTheme === void 0 ? void 0 : customTheme.baseStyle) !== null && _a !== void 0 ? _a : messageListTheme.baseStyle;
|
|
55
|
+
const innerStyle = (_b = customTheme === null || customTheme === void 0 ? void 0 : customTheme.innerStyle) !== null && _b !== void 0 ? _b : messageListTheme.innerStyle;
|
|
56
|
+
const wrappedChildren = React__default.Children.map(children, (child) => {
|
|
57
|
+
if (!React__default.isValidElement(child))
|
|
58
|
+
return child;
|
|
59
|
+
if (itemVariants) {
|
|
60
|
+
return (jsx(motion.div, { layout: true, variants: itemVariants, initial: "initial", animate: "animate", exit: "exit", children: child }, child.key));
|
|
61
|
+
}
|
|
62
|
+
return jsx("div", { children: child }, child.key);
|
|
63
|
+
});
|
|
64
|
+
// Merge internal ref with forwarded ref
|
|
65
|
+
const setRefs = useCallback((node) => {
|
|
66
|
+
scrollAreaRef.current = node;
|
|
67
|
+
if (typeof ref === 'function') {
|
|
68
|
+
ref(node);
|
|
69
|
+
}
|
|
70
|
+
else if (ref) {
|
|
71
|
+
ref.current = node;
|
|
72
|
+
}
|
|
73
|
+
}, [ref]);
|
|
74
|
+
return (jsx(ScrollArea, { ref: setRefs, type: "hover", orientation: "vertical", className: cn(baseStyle, className), onScroll: handleScroll, role: "log", "aria-live": "polite", ...props, children: jsx("div", { className: innerStyle, children: jsx(AnimatePresence, { mode: "popLayout", initial: false, children: wrappedChildren }) }) }));
|
|
75
|
+
});
|
|
76
|
+
MessageList.displayName = 'Message.List';
|
|
77
|
+
|
|
78
|
+
export { MessageList };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ReactNode, HTMLAttributes } from 'react';
|
|
2
|
+
export interface MessageListTheme {
|
|
3
|
+
baseStyle: string;
|
|
4
|
+
innerStyle: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MessageListThemeOverrides {
|
|
7
|
+
baseStyle?: string;
|
|
8
|
+
innerStyle?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface MessageListProps extends HTMLAttributes<HTMLDivElement> {
|
|
11
|
+
/** Message children to render. Each child must have a stable `key` for animations. */
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Auto-scroll to bottom when new children are added,
|
|
15
|
+
* unless the user has manually scrolled up.
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
autoScroll?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Pixels from the bottom to consider "at bottom" for auto-scroll detection.
|
|
21
|
+
* @default 100
|
|
22
|
+
*/
|
|
23
|
+
scrollThreshold?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Enable enter/exit animations for messages.
|
|
26
|
+
* Automatically disabled when the OS prefers reduced motion.
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
shouldAnimate?: boolean;
|
|
30
|
+
/** Theme overrides for the list container and inner wrapper. */
|
|
31
|
+
theme?: MessageListThemeOverrides;
|
|
32
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { Message } from './Message';
|
|
2
2
|
export type { MessageProps, MessageRole, MessageVariant, MessageAvatarProps, MessageTheme, MessageThemeOverrides, MessageVariantTheme, } from './Message.types';
|
|
3
3
|
export { messageTheme } from './Message.theme';
|
|
4
|
+
export { messageListTheme } from './MessageList.theme';
|
|
5
|
+
export type { MessageListProps, MessageListTheme, MessageListThemeOverrides, } from './MessageList.types';
|
|
4
6
|
export { TypeWriter } from './TypeWriter';
|
|
5
7
|
export type { TypeWriterProps } from './TypeWriter';
|
|
@@ -14,8 +14,8 @@ export declare const Modal: {
|
|
|
14
14
|
({ children, className, ...props }: import("./Modal.types").ModalTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
15
15
|
displayName: string;
|
|
16
16
|
};
|
|
17
|
-
|
|
18
|
-
({ children, className, ...props }: import("./Modal.types").
|
|
17
|
+
Subtitle: {
|
|
18
|
+
({ children, className, ...props }: import("./Modal.types").ModalSubtitleProps): import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
displayName: string;
|
|
20
20
|
};
|
|
21
21
|
Body: {
|
|
@@ -6,7 +6,7 @@ import { modalTheme, modalSizeVariants } from './Modal.theme.js';
|
|
|
6
6
|
import { modalContentAnimations, modalOverlayAnimations } from './Modal.animations.js';
|
|
7
7
|
import { ModalHeader } from './ModalHeader.js';
|
|
8
8
|
import { ModalTitle } from './ModalTitle.js';
|
|
9
|
-
import {
|
|
9
|
+
import { ModalSubtitle } from './ModalSubtitle.js';
|
|
10
10
|
import { ModalBody } from './ModalBody.js';
|
|
11
11
|
import { ModalFooter } from './ModalFooter.js';
|
|
12
12
|
|
|
@@ -23,7 +23,7 @@ const ModalRoot = ({ isOpen, onClose, size = "md", variant = "default", closeOnO
|
|
|
23
23
|
// Generate unique IDs for ARIA linkage
|
|
24
24
|
const id = useId();
|
|
25
25
|
const titleId = `${id}-title`;
|
|
26
|
-
const
|
|
26
|
+
const subtitleId = `${id}-subtitle`;
|
|
27
27
|
// State for tracking if modal body is scrollable
|
|
28
28
|
const [isBodyScrollable, setIsBodyScrollable] = useState(false);
|
|
29
29
|
// Reset scroll state when modal closes
|
|
@@ -53,9 +53,9 @@ const ModalRoot = ({ isOpen, onClose, size = "md", variant = "default", closeOnO
|
|
|
53
53
|
isBodyScrollable,
|
|
54
54
|
setIsBodyScrollable,
|
|
55
55
|
titleId,
|
|
56
|
-
|
|
56
|
+
subtitleId,
|
|
57
57
|
};
|
|
58
|
-
return (jsx(Overlay, { isOpen: isOpen, onClose: onClose, closeOnOverlayClick: closeOnOverlayClick, closeOnEsc: closeOnEsc, position: "center", role: role, ariaModal: true, ariaLabelledBy: titleId, ariaDescribedBy:
|
|
58
|
+
return (jsx(Overlay, { isOpen: isOpen, onClose: onClose, closeOnOverlayClick: closeOnOverlayClick, closeOnEsc: closeOnEsc, position: "center", role: role, ariaModal: true, ariaLabelledBy: titleId, ariaDescribedBy: subtitleId, contentClassName: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), animations: {
|
|
59
59
|
overlay: modalOverlayAnimations,
|
|
60
60
|
content: modalContentAnimations,
|
|
61
61
|
}, ...props, children: jsx(ModalContext.Provider, { value: contextValue, children: children }) }));
|
|
@@ -65,7 +65,7 @@ ModalRoot.displayName = "Modal";
|
|
|
65
65
|
const Modal = Object.assign(ModalRoot, {
|
|
66
66
|
Header: ModalHeader,
|
|
67
67
|
Title: ModalTitle,
|
|
68
|
-
|
|
68
|
+
Subtitle: ModalSubtitle,
|
|
69
69
|
Body: ModalBody,
|
|
70
70
|
Footer: ModalFooter,
|
|
71
71
|
});
|
|
@@ -8,17 +8,17 @@ const modalTheme = {
|
|
|
8
8
|
},
|
|
9
9
|
header: "flex items-start justify-between p-6 pb-0 shrink-0 border-b border-transparent gap-6 relative",
|
|
10
10
|
headerContent: "flex flex-col items-start gap-2 flex-1",
|
|
11
|
-
title: "text-
|
|
12
|
-
|
|
11
|
+
title: "text-lg leading-6 font-semibold text-[var(--color-text-primary)]",
|
|
12
|
+
subtitle: "text-base text-[var(--color-text-secondary)] mt-0.5",
|
|
13
13
|
body: "flex-1 overflow-y-auto p-6 pb-3",
|
|
14
14
|
footer: "flex items-center justify-end gap-2 p-6 py-3 border-t border-transparent",
|
|
15
15
|
};
|
|
16
16
|
// Size variants for the modal container
|
|
17
17
|
const modalSizeVariants = {
|
|
18
|
-
sm: "max-w-sm",
|
|
19
|
-
md: "max-w-md",
|
|
20
|
-
lg: "max-w-lg",
|
|
21
|
-
xl: "max-w-xl",
|
|
18
|
+
sm: "max-w-sm mx-4 sm:mx-0",
|
|
19
|
+
md: "max-w-md mx-4 sm:mx-0",
|
|
20
|
+
lg: "max-w-lg mx-4 sm:mx-0",
|
|
21
|
+
xl: "max-w-xl mx-4 sm:mx-0",
|
|
22
22
|
full: "max-w-full mx-4",
|
|
23
23
|
};
|
|
24
24
|
|
|
@@ -8,7 +8,7 @@ export interface ModalTheme {
|
|
|
8
8
|
header: string;
|
|
9
9
|
headerContent: string;
|
|
10
10
|
title: string;
|
|
11
|
-
|
|
11
|
+
subtitle: string;
|
|
12
12
|
body: string;
|
|
13
13
|
footer: string;
|
|
14
14
|
}
|
|
@@ -19,7 +19,7 @@ export interface ModalThemeOverrides {
|
|
|
19
19
|
header?: string;
|
|
20
20
|
headerContent?: string;
|
|
21
21
|
title?: string;
|
|
22
|
-
|
|
22
|
+
subtitle?: string;
|
|
23
23
|
body?: string;
|
|
24
24
|
footer?: string;
|
|
25
25
|
}
|
|
@@ -34,7 +34,7 @@ export interface ModalContextValue {
|
|
|
34
34
|
isBodyScrollable: boolean;
|
|
35
35
|
setIsBodyScrollable: (scrollable: boolean) => void;
|
|
36
36
|
titleId: string;
|
|
37
|
-
|
|
37
|
+
subtitleId: string;
|
|
38
38
|
}
|
|
39
39
|
export interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onClose" | "onAnimationStart" | "onDragStart" | "onDrag" | "onDragEnd"> {
|
|
40
40
|
isOpen: boolean;
|
|
@@ -87,7 +87,7 @@ export interface ModalTitleProps extends React.HTMLAttributes<HTMLHeadingElement
|
|
|
87
87
|
children: React.ReactNode;
|
|
88
88
|
className?: string;
|
|
89
89
|
}
|
|
90
|
-
export interface
|
|
90
|
+
export interface ModalSubtitleProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
91
91
|
children: React.ReactNode;
|
|
92
92
|
className?: string;
|
|
93
93
|
}
|
|
@@ -2,6 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { cn } from '../../../utils/cn.js';
|
|
3
3
|
import { useModalContext } from './Modal.js';
|
|
4
4
|
import { Button } from '../Button/Button.js';
|
|
5
|
+
import 'react';
|
|
5
6
|
import { XMarkIcon } from '@heroicons/react/24/outline';
|
|
6
7
|
|
|
7
8
|
const ModalHeader = ({ children, icon, showCloseButton, className, ...props }) => {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { cn } from '../../../utils/cn.js';
|
|
3
|
+
import { useModalContext } from './Modal.js';
|
|
4
|
+
|
|
5
|
+
const ModalSubtitle = ({ children, className, ...props }) => {
|
|
6
|
+
const { theme, subtitleId } = useModalContext();
|
|
7
|
+
return (jsx("p", { id: subtitleId, className: cn(theme.subtitle, className), ...props, children: children }));
|
|
8
|
+
};
|
|
9
|
+
ModalSubtitle.displayName = "Modal.Subtitle";
|
|
10
|
+
|
|
11
|
+
export { ModalSubtitle };
|
|
@@ -17,11 +17,11 @@ const backModalAnimations = {
|
|
|
17
17
|
transition: { type: "spring", damping: 28, stiffness: 280 },
|
|
18
18
|
},
|
|
19
19
|
stacked: {
|
|
20
|
-
opacity:
|
|
20
|
+
opacity: 0.5,
|
|
21
21
|
scale: 0.9,
|
|
22
|
-
y:
|
|
22
|
+
y: 4,
|
|
23
23
|
borderRadius: "var(--modal-radius)",
|
|
24
|
-
filter: "brightness(0.94) blur(
|
|
24
|
+
filter: "brightness(0.94) blur(0px)",
|
|
25
25
|
clipPath: "inset(0% 0% 88% 0%)",
|
|
26
26
|
transition: { type: "spring", damping: 28, stiffness: 280 },
|
|
27
27
|
},
|
|
@@ -11,7 +11,7 @@ const ModalStackModal = ({ size = "md", variant = "default", showCloseButton = t
|
|
|
11
11
|
var _a;
|
|
12
12
|
const id = useId();
|
|
13
13
|
const titleId = `${id}-title`;
|
|
14
|
-
const
|
|
14
|
+
const subtitleId = `${id}-subtitle`;
|
|
15
15
|
const [isBodyScrollable, setIsBodyScrollable] = useState(false);
|
|
16
16
|
const closeHandler = onClose || _stackOnClose || (() => { });
|
|
17
17
|
const backHandler = onBack || onClose || (() => { });
|
|
@@ -41,9 +41,9 @@ const ModalStackModal = ({ size = "md", variant = "default", showCloseButton = t
|
|
|
41
41
|
isBodyScrollable,
|
|
42
42
|
setIsBodyScrollable,
|
|
43
43
|
titleId,
|
|
44
|
-
|
|
44
|
+
subtitleId,
|
|
45
45
|
};
|
|
46
|
-
return (jsx(ModalContext.Provider, { value: contextValue, children: jsxs("div", { className: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby":
|
|
46
|
+
return (jsx(ModalContext.Provider, { value: contextValue, children: jsxs("div", { className: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": subtitleId, children: [showBackButton && (jsx("div", { className: cn(modalStackTheme.backButton), children: jsxs(Button, { onClick: backHandler, "aria-label": "Go back", variant: "link", size: "sm", children: [jsx(ArrowLeftIcon, { className: "size-4" }), "Back"] }) })), children] }) }));
|
|
47
47
|
};
|
|
48
48
|
ModalStackModal.displayName = "ModalStack.Modal";
|
|
49
49
|
|
|
@@ -104,7 +104,7 @@ description, shortcut, href, onClick, active = false, disabled = false, isDisabl
|
|
|
104
104
|
? React__default.cloneElement(startContent, {
|
|
105
105
|
className: cn(iconClasses, startContent.props.className),
|
|
106
106
|
})
|
|
107
|
-
: startContent })), (!isInSidebar || !collapsed) && (jsxs("div", { className: "flex-1 min-w-0", children: [jsxs("div", { className: "flex items-center justify-between gap-2", children: [jsx("span", { className: cn("truncate", textClasses), children: children }), shortcut && (jsx("kbd", { className: "hidden group-hover:inline-block text-
|
|
107
|
+
: startContent })), (!isInSidebar || !collapsed) && (jsxs("div", { className: "flex-1 min-w-0", children: [jsxs("div", { className: "flex items-center justify-between gap-2", children: [jsx("span", { className: cn("truncate", textClasses), children: children }), shortcut && (jsx("kbd", { className: "hidden group-hover:inline-block text-sm text-[var(--color-text-muted)] font-sans border border-[var(--color-border)] rounded px-1.5 py-0.5", children: shortcut }))] }), description && (jsx("div", { className: "text-sm text-[var(--color-text-muted)] mt-0.5 truncate", children: description }))] })), endContent && (!isInSidebar || !collapsed) && (jsx("div", { className: "flex items-center justify-center flex-shrink-0", children: endContent })), isInSidebar && collapsed && (jsx("span", { className: "sr-only", children: children }))] }));
|
|
108
108
|
// Wrap with link if href is provided
|
|
109
109
|
if (href && !actualIsDisabled) {
|
|
110
110
|
const LinkContent = (jsx("a", { href: href, className: "block group", children: content }));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const navItemTheme = {
|
|
2
|
-
baseStyle: "relative flex items-center gap-2 px-2 py-1.5 text-
|
|
2
|
+
baseStyle: "relative flex items-center gap-2 px-2 py-1.5 text-base font-medium cursor-pointer select-none transition-all duration-300 w-full rounded-[var(--nav-item-radius)] outline-none group",
|
|
3
3
|
icon: "size-4 text-[var(--color-text-secondary)]",
|
|
4
4
|
text: "flex-1 min-w-0 truncate",
|
|
5
5
|
states: {
|
|
@@ -13,10 +13,10 @@ const offlineIndicatorTheme = {
|
|
|
13
13
|
toast: "px-3 py-2 rounded-[var(--radius-base)] shadow-real-lg",
|
|
14
14
|
},
|
|
15
15
|
offline: "bg-[var(--color-neutral-900)]/90 backdrop-blur-sm text-white",
|
|
16
|
-
online: "bg-[var(--color-success)]/90 backdrop-blur-sm text-
|
|
16
|
+
online: "bg-[var(--color-success)]/90 backdrop-blur-sm text-[var(--color-success-contrast)]",
|
|
17
17
|
icon: "size-4 flex-shrink-0",
|
|
18
|
-
message: "text-
|
|
19
|
-
queueCount: "text-
|
|
18
|
+
message: "text-sm font-medium",
|
|
19
|
+
queueCount: "text-sm opacity-80 ml-1",
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export { offlineIndicatorTheme };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PageHeadingComponent } from "./PageHeading.types";
|
|
2
|
+
import { PageHeadingBackButton } from "./PageHeadingBackButton";
|
|
3
|
+
import { PageHeadingIcon } from "./PageHeadingIcon";
|
|
4
|
+
import { PageHeadingTitle } from "./PageHeadingTitle";
|
|
5
|
+
import { PageHeadingSubtitle } from "./PageHeadingSubtitle";
|
|
6
|
+
import { PageHeadingActions } from "./PageHeadingActions";
|
|
7
|
+
export { PageHeadingBackButton, PageHeadingIcon, PageHeadingTitle, PageHeadingSubtitle, PageHeadingActions, };
|
|
8
|
+
export declare const PageHeading: PageHeadingComponent;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { useMemo } from 'react';
|
|
3
|
+
import { cn } from '../../../utils/cn.js';
|
|
4
|
+
import { pageHeadingTheme } from './PageHeading.theme.js';
|
|
5
|
+
import { PageHeadingBackButton } from './PageHeadingBackButton.js';
|
|
6
|
+
import { PageHeadingIcon } from './PageHeadingIcon.js';
|
|
7
|
+
import { PageHeadingTitle } from './PageHeadingTitle.js';
|
|
8
|
+
import { PageHeadingSubtitle } from './PageHeadingSubtitle.js';
|
|
9
|
+
import { PageHeadingActions } from './PageHeadingActions.js';
|
|
10
|
+
|
|
11
|
+
const PageHeadingRoot = React__default.forwardRef(({ children, className, separator = true, theme: customTheme = {}, ...props }, ref) => {
|
|
12
|
+
const theme = useMemo(() => ({
|
|
13
|
+
...pageHeadingTheme,
|
|
14
|
+
...customTheme,
|
|
15
|
+
}), [customTheme]);
|
|
16
|
+
return (jsx("div", { ref: ref, className: cn(theme.baseStyle, separator && theme.separatorStyle, className), ...props, children: children }));
|
|
17
|
+
});
|
|
18
|
+
PageHeadingRoot.displayName = "PageHeading";
|
|
19
|
+
// Create compound component with proper typing
|
|
20
|
+
const PageHeading = Object.assign(PageHeadingRoot, {
|
|
21
|
+
BackButton: PageHeadingBackButton,
|
|
22
|
+
Icon: PageHeadingIcon,
|
|
23
|
+
Title: PageHeadingTitle,
|
|
24
|
+
Subtitle: PageHeadingSubtitle,
|
|
25
|
+
Actions: PageHeadingActions,
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export { PageHeading, PageHeadingActions, PageHeadingBackButton, PageHeadingIcon, PageHeadingSubtitle, PageHeadingTitle };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const pageHeadingTheme = {
|
|
2
|
+
baseStyle: "flex flex-col pb-6 mb-6",
|
|
3
|
+
headerStyle: "flex items-center gap-4",
|
|
4
|
+
titleStyle: "text-2xl font-semibold tracking-tight text-[var(--color-text-primary)]",
|
|
5
|
+
subtitleStyle: "text-base text-[var(--color-text-muted)] mt-1",
|
|
6
|
+
actionsStyle: "sm:ml-auto flex items-center gap-2 shrink-0",
|
|
7
|
+
iconStyle: "flex items-center justify-center shrink-0 text-[var(--color-text-muted)]",
|
|
8
|
+
separatorStyle: "border-b border-[var(--color-border)] mt-4",
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { pageHeadingTheme };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode, ForwardRefExoticComponent, RefAttributes } from "react";
|
|
2
|
+
export interface PageHeadingTheme {
|
|
3
|
+
baseStyle: string;
|
|
4
|
+
headerStyle: string;
|
|
5
|
+
titleStyle: string;
|
|
6
|
+
subtitleStyle: string;
|
|
7
|
+
actionsStyle: string;
|
|
8
|
+
iconStyle: string;
|
|
9
|
+
separatorStyle: string;
|
|
10
|
+
}
|
|
11
|
+
export interface PageHeadingThemeOverrides {
|
|
12
|
+
baseStyle?: string;
|
|
13
|
+
headerStyle?: string;
|
|
14
|
+
titleStyle?: string;
|
|
15
|
+
subtitleStyle?: string;
|
|
16
|
+
actionsStyle?: string;
|
|
17
|
+
iconStyle?: string;
|
|
18
|
+
separatorStyle?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface PageHeadingProps extends HTMLAttributes<HTMLDivElement> {
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
className?: string;
|
|
23
|
+
/** Show bottom separator. @default true */
|
|
24
|
+
separator?: boolean;
|
|
25
|
+
theme?: PageHeadingThemeOverrides;
|
|
26
|
+
}
|
|
27
|
+
export interface PageHeadingTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PageHeadingSubtitleProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
32
|
+
children: ReactNode;
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PageHeadingActionsProps extends HTMLAttributes<HTMLDivElement> {
|
|
36
|
+
children: ReactNode;
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface PageHeadingIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
className?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface PageHeadingBackButtonProps {
|
|
44
|
+
/** Text label next to the back arrow. @default "Back" */
|
|
45
|
+
label?: string;
|
|
46
|
+
onClick?: () => void;
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface PageHeadingComponent extends ForwardRefExoticComponent<PageHeadingProps & RefAttributes<HTMLDivElement>> {
|
|
50
|
+
Title: ForwardRefExoticComponent<PageHeadingTitleProps & RefAttributes<HTMLHeadingElement>>;
|
|
51
|
+
Subtitle: ForwardRefExoticComponent<PageHeadingSubtitleProps & RefAttributes<HTMLParagraphElement>>;
|
|
52
|
+
Actions: ForwardRefExoticComponent<PageHeadingActionsProps & RefAttributes<HTMLDivElement>>;
|
|
53
|
+
Icon: ForwardRefExoticComponent<PageHeadingIconProps & RefAttributes<HTMLDivElement>>;
|
|
54
|
+
BackButton: ForwardRefExoticComponent<PageHeadingBackButtonProps & RefAttributes<HTMLButtonElement>>;
|
|
55
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { cn } from '../../../utils/cn.js';
|
|
4
|
+
import { pageHeadingTheme } from './PageHeading.theme.js';
|
|
5
|
+
|
|
6
|
+
const PageHeadingActions = React__default.forwardRef(({ children, className, ...props }, ref) => {
|
|
7
|
+
return (jsx("div", { ref: ref, className: cn(pageHeadingTheme.actionsStyle, className), ...props, children: children }));
|
|
8
|
+
});
|
|
9
|
+
PageHeadingActions.displayName = "PageHeadingActions";
|
|
10
|
+
|
|
11
|
+
export { PageHeadingActions };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { cn } from '../../../utils/cn.js';
|
|
4
|
+
import { ArrowLeftIcon } from '@heroicons/react/20/solid';
|
|
5
|
+
import { Button } from '../Button/Button.js';
|
|
6
|
+
|
|
7
|
+
const PageHeadingBackButton = React__default.forwardRef(({ label = "Back", onClick, className, ...props }, ref) => {
|
|
8
|
+
return (jsxs(Button, { ref: ref, variant: "link", color: "neutral", size: "sm", onClick: onClick, className: cn("mb-2 w-fit", className), ...props, children: [jsx(ArrowLeftIcon, { className: "size-4" }), label] }));
|
|
9
|
+
});
|
|
10
|
+
PageHeadingBackButton.displayName = "PageHeadingBackButton";
|
|
11
|
+
|
|
12
|
+
export { PageHeadingBackButton };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { cn } from '../../../utils/cn.js';
|
|
4
|
+
import { pageHeadingTheme } from './PageHeading.theme.js';
|
|
5
|
+
|
|
6
|
+
const PageHeadingIcon = React__default.forwardRef(({ children, className, ...props }, ref) => {
|
|
7
|
+
return (jsx("div", { ref: ref, className: cn(pageHeadingTheme.iconStyle, className), ...props, children: children }));
|
|
8
|
+
});
|
|
9
|
+
PageHeadingIcon.displayName = "PageHeadingIcon";
|
|
10
|
+
|
|
11
|
+
export { PageHeadingIcon };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { cn } from '../../../utils/cn.js';
|
|
4
|
+
import { pageHeadingTheme } from './PageHeading.theme.js';
|
|
5
|
+
|
|
6
|
+
const PageHeadingSubtitle = React__default.forwardRef(({ children, className, ...props }, ref) => {
|
|
7
|
+
return (jsx("p", { ref: ref, className: cn(pageHeadingTheme.subtitleStyle, className), ...props, children: children }));
|
|
8
|
+
});
|
|
9
|
+
PageHeadingSubtitle.displayName = "PageHeadingSubtitle";
|
|
10
|
+
|
|
11
|
+
export { PageHeadingSubtitle };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { cn } from '../../../utils/cn.js';
|
|
4
|
+
import { pageHeadingTheme } from './PageHeading.theme.js';
|
|
5
|
+
|
|
6
|
+
const PageHeadingTitle = React__default.forwardRef(({ children, className, ...props }, ref) => {
|
|
7
|
+
return (jsx("h1", { ref: ref, className: cn(pageHeadingTheme.titleStyle, className), ...props, children: children }));
|
|
8
|
+
});
|
|
9
|
+
PageHeadingTitle.displayName = "PageHeadingTitle";
|
|
10
|
+
|
|
11
|
+
export { PageHeadingTitle };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { PageHeading, PageHeadingBackButton, PageHeadingIcon, PageHeadingTitle, PageHeadingSubtitle, PageHeadingActions, } from "./PageHeading";
|
|
2
|
+
export type { PageHeadingProps, PageHeadingTitleProps, PageHeadingSubtitleProps, PageHeadingActionsProps, PageHeadingIconProps, PageHeadingBackButtonProps, PageHeadingTheme, PageHeadingThemeOverrides, PageHeadingComponent, } from "./PageHeading.types";
|
|
@@ -26,8 +26,8 @@ const paginationTheme = {
|
|
|
26
26
|
"data-[disabled=true]:opacity-50 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:pointer-events-none",
|
|
27
27
|
// Unified item sizes
|
|
28
28
|
itemSizes: {
|
|
29
|
-
sm: "size-8 min-w-[2rem] text-
|
|
30
|
-
md: "size-10 min-w-[2.5rem] text-
|
|
29
|
+
sm: "size-8 min-w-[2rem] text-base",
|
|
30
|
+
md: "size-10 min-w-[2.5rem] text-base",
|
|
31
31
|
},
|
|
32
32
|
// Ellipsis styles
|
|
33
33
|
ellipsisStyle: "inline-flex items-center justify-center font-medium text-[var(--color-text-muted)] dark:text-[var(--color-neutral-500)] cursor-default pointer-events-none",
|
|
@@ -27,9 +27,9 @@ const pillTheme = {
|
|
|
27
27
|
* Size variants
|
|
28
28
|
*/
|
|
29
29
|
sizes: {
|
|
30
|
-
sm: "text-
|
|
31
|
-
md: "text-
|
|
32
|
-
lg: "text-
|
|
30
|
+
sm: "text-sm px-2 py-0.5 gap-0.5",
|
|
31
|
+
md: "text-base px-2.5 py-1 gap-1",
|
|
32
|
+
lg: "text-base px-3 py-1 gap-1.5",
|
|
33
33
|
},
|
|
34
34
|
/**
|
|
35
35
|
* Icon sizes for iconStart and CheckIcon
|
|
@@ -5,7 +5,7 @@ const popoverTheme = {
|
|
|
5
5
|
// Base styles for the popover
|
|
6
6
|
baseStyle: "z-50 outline-none",
|
|
7
7
|
// Content styles
|
|
8
|
-
contentStyle: "bg-[var(--color-
|
|
8
|
+
contentStyle: "bg-[var(--color-surface)] border border-[var(--color-border)] rounded-[var(--popover-radius)] shadow-real-xl p-4 max-w-[min(24rem,calc(100vw-2rem))] dark:bg-[var(--color-background-secondary)] ",
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
export { popoverTheme };
|
|
@@ -48,6 +48,12 @@ export interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement
|
|
|
48
48
|
children: ReactNode;
|
|
49
49
|
animation?: boolean;
|
|
50
50
|
portal?: boolean;
|
|
51
|
+
/** Enable scroll support with viewport-aware max-height. Uses available
|
|
52
|
+
* space computed by the positioning hook, falling back to 400px. */
|
|
53
|
+
scrollable?: boolean;
|
|
54
|
+
/** Custom max-height when scrollable is true (e.g. "300px", "20rem").
|
|
55
|
+
* Overrides the default viewport-aware height. */
|
|
56
|
+
maxHeight?: string;
|
|
51
57
|
}
|
|
52
58
|
/**
|
|
53
59
|
* Theme overrides for the Popover component
|