@flikk/ui 1.0.0-beta.27 → 1.0.0-beta.29
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/bg/1.webp +0 -0
- package/dist/bg/10.webp +0 -0
- package/dist/bg/11.webp +0 -0
- package/dist/bg/12.webp +0 -0
- package/dist/bg/13.webp +0 -0
- package/dist/bg/14.webp +0 -0
- package/dist/bg/15.webp +0 -0
- package/dist/bg/16.webp +0 -0
- package/dist/bg/17.webp +0 -0
- package/dist/bg/18.webp +0 -0
- package/dist/bg/19.webp +0 -0
- package/dist/bg/2.webp +0 -0
- package/dist/bg/20.webp +0 -0
- package/dist/bg/21.webp +0 -0
- package/dist/bg/22.webp +0 -0
- package/dist/bg/3.webp +0 -0
- package/dist/bg/4.webp +0 -0
- package/dist/bg/5.webp +0 -0
- package/dist/bg/6.webp +0 -0
- package/dist/bg/7.webp +0 -0
- package/dist/bg/8.webp +0 -0
- package/dist/bg/9.webp +0 -0
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
- package/dist/components/ai/PromptInput/PromptInput.js +7 -143
- package/dist/components/ai/PromptInput/VoiceRecorder.js +0 -88
- package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
- package/dist/components/canvas/Background.d.ts +19 -0
- package/dist/components/canvas/Background.js +23 -0
- package/dist/components/canvas/BaseNode.d.ts +15 -0
- package/dist/components/canvas/BaseNode.js +20 -0
- package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
- package/dist/components/canvas/CanvasToolbar.js +34 -0
- package/dist/components/canvas/Edge.d.ts +35 -0
- package/dist/components/canvas/Edge.js +97 -0
- package/dist/components/canvas/EdgeLayer.d.ts +18 -0
- package/dist/components/canvas/EdgeLayer.js +111 -0
- package/dist/components/canvas/Handle.d.ts +11 -0
- package/dist/components/canvas/Handle.js +63 -0
- package/dist/components/canvas/MiniMap.d.ts +22 -0
- package/dist/components/canvas/MiniMap.js +105 -0
- package/dist/components/canvas/NodeCanvas.d.ts +10 -0
- package/dist/components/canvas/NodeCanvas.js +477 -0
- package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
- package/dist/components/canvas/NodeCanvas.theme.js +9 -0
- package/dist/components/canvas/NodeCanvas.types.d.ts +187 -0
- package/dist/components/canvas/NodeControls.d.ts +25 -0
- package/dist/components/canvas/NodeControls.js +40 -0
- package/dist/components/canvas/NodeRenderer.d.ts +19 -0
- package/dist/components/canvas/NodeRenderer.js +117 -0
- package/dist/components/canvas/changes.d.ts +11 -0
- package/dist/components/canvas/changes.js +76 -0
- package/dist/components/canvas/context/CanvasContext.d.ts +32 -0
- package/dist/components/canvas/context/CanvasContext.js +14 -0
- package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
- package/dist/components/canvas/context/ConnectionContext.js +13 -0
- package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
- package/dist/components/canvas/context/HandleRegistry.js +15 -0
- package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
- package/dist/components/canvas/context/InteractionContext.js +14 -0
- package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
- package/dist/components/canvas/context/NodeIdContext.js +15 -0
- package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
- package/dist/components/canvas/hooks/useConnection.js +29 -0
- package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
- package/dist/components/canvas/hooks/useMarquee.js +91 -0
- package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
- package/dist/components/canvas/hooks/useNodeDrag.js +110 -0
- package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
- package/dist/components/canvas/hooks/usePanZoom.js +189 -0
- package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
- package/dist/components/canvas/hooks/useViewport.js +35 -0
- package/dist/components/canvas/index.d.ts +14 -0
- package/dist/components/canvas/index.js +12 -0
- package/dist/components/canvas/layout.d.ts +22 -0
- package/dist/components/canvas/layout.js +67 -0
- package/dist/components/canvas/utils.d.ts +4 -0
- package/dist/components/canvas/utils.js +16 -0
- package/dist/components/charts/AreaChart/AreaChart.js +136 -101
- package/dist/components/charts/AreaChart/AreaChart.types.d.ts +5 -5
- package/dist/components/charts/AreaChart/AreaChart.types.js +1 -0
- package/dist/components/charts/BarChart/BarChart.js +207 -143
- package/dist/components/charts/BarChart/BarChart.types.d.ts +4 -4
- package/dist/components/charts/BarChart/BarChart.types.js +1 -0
- package/dist/components/charts/ComboChart/ComboChart.types.d.ts +2 -2
- package/dist/components/charts/LineChart/LineChart.js +88 -72
- package/dist/components/charts/LineChart/LineChart.types.d.ts +3 -3
- package/dist/components/charts/RadarChart/RadarChart.js +1 -1
- package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -2
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +62 -72
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -1
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +3 -9
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +33 -33
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +2 -2
- package/dist/components/charts/hooks/index.d.ts +2 -0
- package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
- package/dist/components/charts/hooks/useChartDimensions.js +42 -0
- package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
- package/dist/components/charts/types/chart.types.d.ts +11 -2
- package/dist/components/charts/types/chart.types.js +10 -3
- package/dist/components/core/Avatar/Avatar.js +5 -1
- package/dist/components/core/AvatarGroup/AvatarGroup.js +5 -1
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +4 -2
- package/dist/components/core/Badge/Badge.js +1 -1
- package/dist/components/core/Badge/Badge.theme.js +16 -15
- package/dist/components/core/Button/Button.js +1 -1
- package/dist/components/core/Button/Button.theme.js +2 -2
- package/dist/components/core/Calendar/Calendar.theme.js +1 -1
- package/dist/components/core/Card/Card.js +7 -3
- package/dist/components/core/Card/Card.theme.js +3 -3
- package/dist/components/core/Card/Card.types.d.ts +27 -2
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +2 -2
- package/dist/components/core/ContextMenu/ContextMenu.theme.js +2 -2
- package/dist/components/core/ContextMenu/ContextMenuItem.js +1 -1
- package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +1 -1
- package/dist/components/core/Dropdown/Dropdown.theme.js +3 -3
- package/dist/components/core/Dropdown/DropdownMenu.js +57 -29
- package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
- package/dist/components/core/HeroCard/HeroCard.js +99 -0
- package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
- package/dist/components/core/HeroCard/HeroCard.theme.js +8 -0
- package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
- package/dist/components/core/HeroCard/index.d.ts +4 -0
- package/dist/components/core/Kbd/Kbd.theme.js +1 -1
- package/dist/components/core/Modal/Modal.d.ts +1 -1
- package/dist/components/core/Modal/Modal.js +2 -7
- package/dist/components/core/Modal/Modal.theme.js +4 -8
- package/dist/components/core/Modal/Modal.types.d.ts +0 -10
- package/dist/components/core/Modal/index.d.ts +1 -1
- package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
- package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
- package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
- package/dist/components/core/ModalStack/ModalStackModal.js +2 -7
- package/dist/components/core/PageHeading/PageHeading.theme.js +2 -2
- package/dist/components/core/Popover/Popover.theme.js +1 -1
- package/dist/components/core/ScrollArea/ScrollArea.js +242 -4
- package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +12 -1
- package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +4 -0
- package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +23 -0
- package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +4 -0
- package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
- package/dist/components/core/Segmented/Segmented.theme.js +2 -2
- package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
- package/dist/components/core/index.d.ts +1 -0
- package/dist/components/core/index.js +2 -0
- package/dist/components/data-display/DescriptionList/DescriptionList.js +23 -7
- package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
- package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
- package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
- package/dist/components/data-display/Feed/Feed.js +28 -5
- package/dist/components/data-display/Feed/Feed.theme.js +1 -1
- package/dist/components/data-display/Feed/Feed.types.d.ts +32 -1
- package/dist/components/data-display/Feed/index.d.ts +1 -1
- package/dist/components/data-display/Metric/Metric.js +8 -8
- package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
- package/dist/components/data-display/Metric/Metric.theme.js +50 -68
- package/dist/components/data-display/Metric/Metric.types.d.ts +19 -21
- package/dist/components/data-display/Table/Table.js +2 -2
- package/dist/components/data-display/Table/Table.theme.js +24 -4
- package/dist/components/data-display/Table/Table.types.d.ts +8 -0
- package/dist/components/data-display/Table/TableBody.js +2 -2
- package/dist/components/data-display/Table/TableCell.js +1 -1
- package/dist/components/data-display/Table/TableRow.d.ts +1 -1
- package/dist/components/data-display/Table/TableRow.js +9 -2
- package/dist/components/data-display/Timeline/Timeline.js +27 -5
- package/dist/components/data-display/Timeline/Timeline.theme.d.ts +10 -2
- package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
- package/dist/components/data-display/Timeline/Timeline.types.d.ts +48 -16
- package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
- package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
- package/dist/components/data-display/Timeline/TimelineItem.js +13 -20
- package/dist/components/data-display/Timeline/TimelineMarker.js +10 -8
- package/dist/components/data-display/Timeline/index.d.ts +2 -2
- package/dist/components/effects/3d/index.d.ts +0 -2
- package/dist/components/effects/3d/index.js +0 -1
- package/dist/components/effects/DotPattern/DotPattern.js +1 -1
- package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
- package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
- package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
- package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
- package/dist/components/effects/Preloader/Preloader.js +119 -0
- package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
- package/dist/components/effects/Preloader/index.d.ts +2 -0
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +25 -14
- package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
- package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
- package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
- package/dist/components/effects/TiltCard/TiltCard.glow.js +114 -0
- package/dist/components/effects/TiltCard/TiltCard.js +177 -0
- package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
- package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
- package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
- package/dist/components/effects/TiltCard/index.d.ts +2 -0
- package/dist/components/effects/index.d.ts +4 -12
- package/dist/components/effects/index.js +2 -6
- package/dist/components/forms/Checkbox/Checkbox.js +7 -1
- package/dist/components/forms/DatePicker/DatePicker.theme.js +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
- package/dist/components/forms/FileUpload/FileUpload.js +1 -89
- package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +2 -2
- package/dist/components/forms/Slider/Slider.theme.js +1 -1
- package/dist/components/forms/Switch/Switch.js +27 -15
- package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
- package/dist/components/forms/Switch/Switch.theme.js +33 -4
- package/dist/components/forms/Switch/Switch.types.d.ts +12 -2
- package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -2
- package/dist/components/forms/TimePicker/TimePickerContent.js +1 -90
- package/dist/components/forms/forms.theme.js +1 -1
- package/dist/components/forms/index.d.ts +0 -4
- package/dist/components/forms/index.js +0 -92
- package/dist/components/generative/GenerativeView.d.ts +21 -0
- package/dist/components/generative/GenerativeView.js +116 -0
- package/dist/components/generative/actions.d.ts +26 -0
- package/dist/components/generative/actions.js +51 -0
- package/dist/components/generative/index.d.ts +11 -0
- package/dist/components/generative/index.js +9 -0
- package/dist/components/generative/registry.d.ts +43 -0
- package/dist/components/generative/registry.js +114 -0
- package/dist/components/generative/resolvers.d.ts +35 -0
- package/dist/components/generative/resolvers.js +93 -0
- package/dist/components/generative/schema.generated.d.ts +2 -0
- package/dist/components/generative/schema.generated.js +1639 -0
- package/dist/components/generative/schemaTypes.d.ts +30 -0
- package/dist/components/generative/streaming.d.ts +39 -0
- package/dist/components/generative/streaming.js +283 -0
- package/dist/components/generative/tools.d.ts +21 -0
- package/dist/components/generative/tools.js +54 -0
- package/dist/components/generative/types.d.ts +41 -0
- package/dist/components/generative/useGenerativeStream.d.ts +37 -0
- package/dist/components/generative/useGenerativeStream.js +36 -0
- package/dist/components/generative/validate.d.ts +24 -0
- package/dist/components/generative/validate.js +259 -0
- package/dist/components/layout/AppShell/AppShell.theme.js +2 -2
- package/dist/components/layout/FormLayout/FormLayout.js +1 -90
- package/dist/components/layout/Grid/Grid.d.ts +3 -0
- package/dist/components/layout/Grid/Grid.js +50 -0
- package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
- package/dist/components/layout/Grid/Grid.theme.js +35 -0
- package/dist/components/layout/Grid/Grid.types.d.ts +57 -0
- package/dist/components/layout/Grid/index.d.ts +3 -0
- package/dist/components/layout/Section/Section.d.ts +3 -0
- package/dist/components/layout/Section/Section.js +18 -0
- package/dist/components/layout/Section/Section.theme.d.ts +2 -0
- package/dist/components/layout/Section/Section.theme.js +10 -0
- package/dist/components/layout/Section/Section.types.d.ts +34 -0
- package/dist/components/layout/Section/index.d.ts +3 -0
- package/dist/components/layout/Stack/Stack.d.ts +3 -0
- package/dist/components/layout/Stack/Stack.js +19 -0
- package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
- package/dist/components/layout/Stack/Stack.theme.js +10 -0
- package/dist/components/layout/Stack/Stack.types.d.ts +39 -0
- package/dist/components/layout/Stack/index.d.ts +3 -0
- package/dist/components/layout/index.d.ts +3 -0
- package/dist/components/layout/index.js +6 -0
- package/dist/generative.schema.json +1637 -0
- package/dist/index.js +180 -180
- package/dist/registry.json +648 -464
- package/dist/styles.css +1 -1
- package/dist/tools.json +1731 -0
- package/package.json +17 -4
- package/src/global.scss +53 -101
- package/src/styles/theme.css +687 -493
- package/dist/bg/1.jpg +0 -0
- package/dist/bg/10.jpg +0 -0
- package/dist/bg/11.jpg +0 -0
- package/dist/bg/14.jpg +0 -0
- package/dist/bg/15.jpg +0 -0
- package/dist/bg/16.jpg +0 -0
- package/dist/bg/17.jpg +0 -0
- package/dist/bg/18.jpg +0 -0
- package/dist/bg/19.jpg +0 -0
- package/dist/bg/2.jpg +0 -0
- package/dist/bg/20.jpg +0 -0
- package/dist/bg/21.jpg +0 -0
- package/dist/bg/22.jpg +0 -0
- package/dist/bg/23.jpg +0 -0
- package/dist/bg/24.jpg +0 -0
- package/dist/bg/3.jpg +0 -0
- package/dist/bg/4.jpg +0 -0
- package/dist/bg/5.jpg +0 -0
- package/dist/bg/6.jpg +0 -0
- package/dist/bg/7.jpg +0 -0
- package/dist/bg/8.jpg +0 -0
- package/dist/bg/9.jpg +0 -0
- package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
- package/dist/components/effects/MorphingText/MorphingText.js +0 -125
- package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
- package/dist/components/effects/MorphingText/index.d.ts +0 -2
- package/dist/components/effects/PageTransition/PageTransition.animations.d.ts +0 -8
- package/dist/components/effects/PageTransition/PageTransition.animations.js +0 -53
- package/dist/components/effects/PageTransition/PageTransition.d.ts +0 -3
- package/dist/components/effects/PageTransition/PageTransition.js +0 -82
- package/dist/components/effects/PageTransition/PageTransition.types.d.ts +0 -15
- package/dist/components/effects/PageTransition/index.d.ts +0 -2
- package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
- package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
- package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
- package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
- package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
- package/dist/components/effects/Spotlight/Spotlight.js +0 -112
- package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
- package/dist/components/effects/Spotlight/index.d.ts +0 -2
- package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
- package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -213
- package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
- package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
- package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
- package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
- package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
- package/dist/components/effects/StickyScroll/index.d.ts +0 -2
- package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
- package/dist/components/forms/CronInput/CronInput.js +0 -113
- package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
- package/dist/components/forms/CronInput/CronInput.theme.js +0 -75
- package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -109
- package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
- package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
- package/dist/components/forms/CronInput/index.d.ts +0 -4
- /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
|
@@ -5,96 +5,8 @@ import { fileUploadTheme } from './FileUpload.theme.js';
|
|
|
5
5
|
import { PREVIEW_LAYOUT_SPRING, PREVIEW_ITEM } from './FileUpload.animations.js';
|
|
6
6
|
import { cn } from '../../../utils/cn.js';
|
|
7
7
|
import { CloudArrowUpIcon, DocumentIcon, XMarkIcon } from '@heroicons/react/24/outline';
|
|
8
|
-
import '../../core/Accordion/Accordion.js';
|
|
9
|
-
import '../../core/AlertDialog/AlertDialog.js';
|
|
10
|
-
import '../../core/AspectRatio/AspectRatio.js';
|
|
11
|
-
import '../../core/Avatar/Avatar.js';
|
|
12
|
-
import '../../core/AvatarGroup/AvatarGroup.js';
|
|
13
|
-
import '../../core/Badge/Badge.js';
|
|
14
|
-
import '../../core/Breadcrumbs/Breadcrumbs.js';
|
|
15
|
-
import '../../core/Breadcrumbs/Breadcrumbs.theme.js';
|
|
16
|
-
import { Button } from '../../core/Button/Button.js';
|
|
17
|
-
import '../../core/ButtonGroup/ButtonGroup.js';
|
|
18
|
-
import '../../core/ButtonGroup/ButtonGroupSeparator.js';
|
|
19
|
-
import '../../core/ButtonGroup/ButtonGroupText.js';
|
|
20
|
-
import '../../core/Calendar/Calendar.js';
|
|
21
|
-
import '../../core/Calendar/CalendarMini/CalendarMini.js';
|
|
22
|
-
import '../../core/Card/Card.js';
|
|
23
|
-
import '../../core/CardStack/CardStack.js';
|
|
24
|
-
import '../../core/Carousel/Carousel.js';
|
|
25
|
-
import '../../core/Carousel/CarouselBody.js';
|
|
26
|
-
import '../../core/CommandPalette/CommandPalette.js';
|
|
27
|
-
import '../../core/Separator/Separator.js';
|
|
28
|
-
import '../../core/Drawer/Drawer.js';
|
|
29
|
-
import '../../core/Drawer/DrawerBody.js';
|
|
30
|
-
import '../../core/Dropdown/Dropdown.js';
|
|
31
|
-
import '../../core/Dropdown/DropdownTrigger.js';
|
|
32
|
-
import '../../core/Dropdown/DropdownMenu.js';
|
|
33
|
-
import '../../core/Dropdown/DropdownItem.js';
|
|
34
|
-
import '../../core/Dropdown/DropdownSection.js';
|
|
35
|
-
import '../../core/Dropdown/DropdownSeparator.js';
|
|
36
|
-
import '../../core/Dropdown/Dropdown.theme.js';
|
|
37
|
-
import '../../core/DotSeparator/DotSeparator.js';
|
|
38
|
-
import '../../core/Kbd/Kbd.js';
|
|
39
|
-
import '../../core/MenuItem/MenuItem.js';
|
|
40
|
-
import '../../core/Link/Link.js';
|
|
41
|
-
import '../../core/Modal/Modal.js';
|
|
42
|
-
import '../../core/ModalStack/ModalStack.js';
|
|
43
|
-
import '../../core/PageHeading/PageHeading.js';
|
|
44
|
-
import '../../core/Pagination/Pagination.js';
|
|
45
|
-
import '../../core/Popover/Popover.js';
|
|
46
|
-
import '../../core/Popover/PopoverContext.js';
|
|
47
|
-
import '../../core/Popover/PopoverBody.js';
|
|
48
|
-
import '../../core/Progress/Progress.js';
|
|
49
|
-
import '../../core/Rating/Rating.js';
|
|
50
|
-
import '../../core/ScrollArea/ScrollArea.js';
|
|
51
|
-
import '../../core/ScrollArea/smooth/SmoothScrollEngine.js';
|
|
52
|
-
import '../../core/Segmented/Segmented.js';
|
|
53
|
-
import '../../core/Skeleton/Skeleton.js';
|
|
54
|
-
import '../../core/SlidingNumber/SlidingNumber.js';
|
|
55
|
-
import '../../core/Tabs/Tabs.js';
|
|
56
|
-
import '../../core/Tabs/TabsList.js';
|
|
57
|
-
import '../../core/Tabs/TabsTrigger.js';
|
|
58
|
-
import '../../core/Tabs/TabsBody.js';
|
|
59
|
-
import '../../core/Tabs/TabsContext.js';
|
|
60
|
-
import '../../core/Tooltip/Tooltip.js';
|
|
61
|
-
import '../../core/Tooltip/Tooltip.animations.js';
|
|
62
|
-
import '../../core/Tree/Tree.js';
|
|
63
|
-
import '../../core/Tag/Tag.js';
|
|
64
|
-
import '../../core/Alert/Alert.js';
|
|
65
|
-
import '../../core/Toast/Toast.js';
|
|
66
|
-
import '../../core/Toast/ToastProvider.js';
|
|
67
|
-
import '@heroicons/react/24/solid';
|
|
68
|
-
import '../../core/Spinner/Spinner.js';
|
|
69
|
-
import '../../core/Message/Message.js';
|
|
70
|
-
import '../../core/Message/TypeWriter.js';
|
|
71
|
-
import '../../core/Message/MessageBody.js';
|
|
72
|
-
import '@heroicons/react/16/solid';
|
|
73
|
-
import '../../core/Empty/Empty.js';
|
|
74
|
-
import '../../core/Masonry/Masonry.js';
|
|
75
|
-
import '../../core/DragDrop/DragDrop.js';
|
|
76
|
-
import '../../core/Sortable/Sortable.js';
|
|
77
|
-
import '../../core/NavItem/NavItem.js';
|
|
78
|
-
import '../../core/Sidebar/Sidebar.js';
|
|
79
|
-
import '../../core/Sidebar/SidebarHeader.js';
|
|
80
|
-
import '../../core/Sidebar/SidebarContent.js';
|
|
81
|
-
import '../../core/Sidebar/SidebarFooter.js';
|
|
82
|
-
import '../../core/Sidebar/SidebarNav.js';
|
|
83
|
-
import '../../core/Sidebar/SidebarNavGroup.js';
|
|
84
|
-
import '../../core/Sidebar/SidebarToggle.js';
|
|
85
|
-
import '../../core/Sidebar/SidebarMobileTrigger.js';
|
|
86
|
-
import '../../core/Sidebar/SidebarUserProfile.js';
|
|
87
|
-
import '../../core/Sidebar/SidebarLogo.js';
|
|
88
|
-
import '../../core/Sidebar/SidebarSearch.js';
|
|
89
|
-
import '../../core/Sidebar/SidebarCard.js';
|
|
90
|
-
import '../../core/Sidebar/SidebarContext.js';
|
|
91
|
-
import '../../core/OfflineIndicator/OfflineIndicator.js';
|
|
92
|
-
import '../../core/ContextMenu/ContextMenu.js';
|
|
93
|
-
import '../../core/ContextMenu/ContextMenu.theme.js';
|
|
94
|
-
import '../../core/Pill/Pill.js';
|
|
95
|
-
import '../../core/Icon/Icon.js';
|
|
96
|
-
import '../../core/ImagePlaceholder/ImagePlaceholder.js';
|
|
97
8
|
import { FormLabel } from '../FormLabel/FormLabel.js';
|
|
9
|
+
import { Button } from '../../core/Button/Button.js';
|
|
98
10
|
|
|
99
11
|
/**
|
|
100
12
|
* FileUpload component - Drag-and-drop file uploader with previews
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
const formLabelTheme = {
|
|
5
5
|
// Base styles for the label element
|
|
6
|
-
baseStyle: "block text-sm/6 font-medium mb-
|
|
6
|
+
baseStyle: "block text-sm/6 font-medium mb-1",
|
|
7
7
|
// State variants - using design tokens from global.scss
|
|
8
8
|
stateStyles: {
|
|
9
9
|
default: "text-[var(--color-text-primary)]",
|
|
@@ -99,12 +99,12 @@ const richTextEditorTheme = {
|
|
|
99
99
|
// 1px bleed past the parent's `overflow-hidden` clip in Safari/Chromium.
|
|
100
100
|
toolbarStyle: "flex items-center m-0.5 gap-0.5 p-0.5 rounded-[var(--form-radius)] dark:bg-[var(--color-surface)]/0",
|
|
101
101
|
// Toolbar styling (floating variant — selection-anchored)
|
|
102
|
-
floatingToolbarStyle: "flex items-center gap-1 p-1 rounded-xl border border-[var(--color-border)] bg-[var(--color-surface-overlay)]/
|
|
102
|
+
floatingToolbarStyle: "flex items-center gap-1 p-1 rounded-xl border border-[var(--color-border)] bg-[var(--color-surface-overlay)]/80 backdrop-blur-md shadow-real-xl overflow-hidden",
|
|
103
103
|
// Toolbar button — single source of truth via data-[state=active]
|
|
104
104
|
// (aria-pressed remains as proper ARIA on toggle buttons, but styling is decoupled)
|
|
105
105
|
toolbarButtonStyle: "inline-flex items-center justify-center rounded-[calc(var(--radius-base)*0.85)] border border-transparent bg-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-background-secondary)] transition-colors duration-300 disabled:opacity-50 disabled:cursor-not-allowed data-[state=active]:bg-[var(--color-background-secondary)] data-[state=active]:text-[var(--color-text-primary)] data-[state=active]:border-[var(--color-border)] data-[state=active]:shadow-inner",
|
|
106
106
|
// Dropdown surface (visual only — positioning handled at use site via portal)
|
|
107
|
-
dropdownStyle: "min-w-[120px] max-h-[18rem] overflow-y-auto py-1 bg-[var(--color-surface-overlay)]/
|
|
107
|
+
dropdownStyle: "min-w-[120px] max-h-[18rem] overflow-y-auto py-1 bg-[var(--color-surface-overlay)]/80 backdrop-blur-md rounded-[var(--form-radius)] shadow-xl ring-1 ring-[var(--color-border)] focus:outline-none",
|
|
108
108
|
// Dropdown item — uses data-[active=true] for selected state
|
|
109
109
|
dropdownItemStyle: "block w-full px-3 py-2 text-left text-sm text-[var(--color-text-primary)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed data-[active=true]:bg-[var(--color-primary-50)] data-[active=true]:text-[var(--color-primary-900)] data-[active=true]:dark:bg-[var(--color-primary-400)]/10 data-[active=true]:dark:text-[var(--color-primary-400)]",
|
|
110
110
|
// Separator between toolbar sections
|
|
@@ -10,7 +10,7 @@ const sliderTheme = {
|
|
|
10
10
|
// Root container with layout
|
|
11
11
|
rootStyle: "relative flex items-center w-full touch-none select-none data-[orientation=vertical]:flex-col data-[orientation=vertical]:h-full",
|
|
12
12
|
// Track (background)
|
|
13
|
-
trackStyle: "relative w-full h-2 grow rounded-full bg-[var(--color-surface-sunken)] overflow-hidden data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[orientation=vertical]:w-2 data-[orientation=vertical]:h-full shadow-inner",
|
|
13
|
+
trackStyle: "relative w-full h-2 grow rounded-full bg-[var(--color-surface-sunken)] overflow-hidden data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[orientation=vertical]:w-2 data-[orientation=vertical]:h-full shadow-inner-real-sm",
|
|
14
14
|
// Range (filled portion) - rounded to match track clipping
|
|
15
15
|
rangeStyle: "absolute h-full bg-gradient-to-r from-[var(--color-primary-500)] to-[var(--color-primary-700)] transition-all rounded-full data-[disabled]:bg-[var(--color-background-disabled)] data-[invalid]:bg-[var(--color-danger)]",
|
|
16
16
|
// Thumb (draggable handle)
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import React__default, { useState } from 'react';
|
|
3
3
|
import { FormLabel } from '../FormLabel/FormLabel.js';
|
|
4
|
-
import { motion } from 'motion/react';
|
|
4
|
+
import { useReducedMotion, motion } from 'motion/react';
|
|
5
5
|
import { switchTheme, thumbPositions } from './Switch.theme.js';
|
|
6
6
|
import { cn } from '../../../utils/cn.js';
|
|
7
7
|
|
|
8
|
+
const indicatorTransition = {
|
|
9
|
+
duration: 0.6,
|
|
10
|
+
ease: [0.22, 1, 0.36, 1],
|
|
11
|
+
};
|
|
8
12
|
/**
|
|
9
13
|
* Switch component for toggling between two states
|
|
10
14
|
*/
|
|
11
15
|
const Switch = React__default.forwardRef(({ id, checked: controlledChecked, defaultChecked, onChange, label, description, state = "default", labelPosition = "end", size = "md", theme, className, name, value, required, form, ...rest }, ref) => {
|
|
12
16
|
const generatedId = React__default.useId();
|
|
13
17
|
const switchId = id !== null && id !== void 0 ? id : generatedId;
|
|
18
|
+
const shouldReduceMotion = useReducedMotion();
|
|
14
19
|
const [internalChecked, setInternalChecked] = useState(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false);
|
|
15
20
|
// Determine if component is controlled or uncontrolled
|
|
16
21
|
const isControlled = controlledChecked !== undefined;
|
|
17
22
|
const isChecked = isControlled ? controlledChecked : internalChecked;
|
|
18
23
|
// Derive state flags
|
|
19
24
|
const isDisabled = state === "disabled";
|
|
20
|
-
const isInvalid = state === "invalid";
|
|
21
25
|
const handleChange = (e) => {
|
|
22
26
|
if (isDisabled)
|
|
23
27
|
return;
|
|
@@ -30,22 +34,30 @@ const Switch = React__default.forwardRef(({ id, checked: controlledChecked, defa
|
|
|
30
34
|
const labelContent = label || description ? (jsxs("div", { className: "flex grow flex-col", children: [label &&
|
|
31
35
|
(typeof label === "string" ? (jsx(FormLabel, { htmlFor: switchId, state: state, children: label })) : (label)), description &&
|
|
32
36
|
(typeof description === "string" ? (jsx("div", { className: cn(switchTheme.description, theme === null || theme === void 0 ? void 0 : theme.description), children: description })) : (description))] })) : null;
|
|
33
|
-
//
|
|
37
|
+
// Hook only — emitted as `data-state` for consumer CSS / tests, NOT used for styling
|
|
34
38
|
const trackDataState = isDisabled
|
|
35
39
|
? "disabled"
|
|
36
|
-
:
|
|
37
|
-
? "
|
|
38
|
-
:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
40
|
+
: isChecked
|
|
41
|
+
? "checked"
|
|
42
|
+
: "unchecked";
|
|
43
|
+
// Resolve track state styling in JS (base theme + per-state theme override),
|
|
44
|
+
// layered so `className`/`theme` overrides win — see Switch.theme.ts rationale.
|
|
45
|
+
const resolveTrackState = (key) => { var _a; return cn(switchTheme.trackStates[key], (_a = theme === null || theme === void 0 ? void 0 : theme.trackStates) === null || _a === void 0 ? void 0 : _a[key]); };
|
|
46
|
+
const trackStateClasses = cn(isChecked ? resolveTrackState("checked") : resolveTrackState("unchecked"), isDisabled && resolveTrackState("disabled"));
|
|
42
47
|
// Switch toggle component
|
|
43
|
-
const switchToggle = (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
const switchToggle = (jsx("div", { className: "relative flex items-center h-6", children: jsxs("label", { htmlFor: switchId, className: "contents", children: [jsx("input", { ref: ref, type: "checkbox", id: switchId, checked: isChecked, onChange: handleChange, disabled: isDisabled, className: "peer sr-only", name: name, value: value, required: required, form: form }), jsxs("div", { className: cn(switchTheme.track, switchTheme.trackSizes[size], trackStateClasses, theme === null || theme === void 0 ? void 0 : theme.track), "data-state": trackDataState, "aria-hidden": "true", children: [jsx(motion.div, { className: cn(switchTheme.thumb, switchTheme.thumbSizes[size], !isDisabled && "group-hover:shadow-xl", theme === null || theme === void 0 ? void 0 : theme.thumb), initial: false, animate: isChecked
|
|
49
|
+
? thumbPositions[size].checked
|
|
50
|
+
: thumbPositions[size].unchecked, transition: shouldReduceMotion
|
|
51
|
+
? { duration: 0 }
|
|
52
|
+
: { type: "spring", stiffness: 500, damping: 30 }, whileTap: isDisabled || shouldReduceMotion ? undefined : { scale: 0.94 } }), jsx(motion.div, { className: "pointer-events-none absolute inset-y-0 left-1.5 inline-flex w-2.5 items-center justify-center", initial: false, animate: shouldReduceMotion
|
|
53
|
+
? { opacity: isChecked ? 1 : 0, x: 0, scale: 1 }
|
|
54
|
+
: isChecked
|
|
55
|
+
? { opacity: 1, x: 0, scale: 1 }
|
|
56
|
+
: { opacity: 0, x: -4, scale: 0.78 }, transition: shouldReduceMotion ? { duration: 0 } : indicatorTransition, children: jsx("div", { className: "size-2 rounded-full border-[1.5px] border-white/50" }) }), jsx(motion.div, { className: "pointer-events-none absolute inset-y-0 right-1.5 inline-flex w-2.5 items-center justify-center", initial: false, animate: shouldReduceMotion
|
|
57
|
+
? { opacity: isChecked ? 0 : 1, x: 0, scaleY: 1 }
|
|
58
|
+
: isChecked
|
|
59
|
+
? { opacity: 0, x: 4, scaleY: 0.6 }
|
|
60
|
+
: { opacity: 1, x: 0, scaleY: 1 }, transition: shouldReduceMotion ? { duration: 0 } : indicatorTransition, children: jsx("div", { className: "w-[1.5px] h-2 rounded-full bg-white/50" }) })] })] }) }));
|
|
49
61
|
return (jsxs("div", { className: cn(switchTheme.container, labelPosition === "start" ? "flex-row-reverse" : "flex-row", theme === null || theme === void 0 ? void 0 : theme.container, className), ...rest, children: [labelContent, switchToggle] }));
|
|
50
62
|
});
|
|
51
63
|
Switch.displayName = "Switch";
|
|
@@ -1,18 +1,48 @@
|
|
|
1
1
|
import { SwitchTheme } from "./Switch.types";
|
|
2
2
|
/**
|
|
3
3
|
* Default theme configuration for the Switch component
|
|
4
|
+
*
|
|
5
|
+
* Gold-standard state styling: track state classes live in `trackStates` as
|
|
6
|
+
* plain utility strings and are resolved in JS at render time (see Switch.tsx),
|
|
7
|
+
* NOT as `data-[state=*]:` Tailwind variants. A data-variant compiles to a
|
|
8
|
+
* class + attribute selector (specificity 0,2,0) that beats a plain `className`
|
|
9
|
+
* override (0,1,0) regardless of order, silently breaking the shadcn rule
|
|
10
|
+
* "className override = highest priority". We still emit `data-state` on the
|
|
11
|
+
* track as a hook for consumer CSS / tests — we just don't *style* with it.
|
|
4
12
|
*/
|
|
5
13
|
export declare const switchTheme: SwitchTheme;
|
|
6
14
|
/**
|
|
7
15
|
* Thumb position values for animation
|
|
8
16
|
*/
|
|
9
17
|
export declare const thumbPositions: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
sm: {
|
|
19
|
+
checked: {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
};
|
|
23
|
+
unchecked: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
};
|
|
13
27
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
28
|
+
md: {
|
|
29
|
+
checked: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
};
|
|
33
|
+
unchecked: {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
lg: {
|
|
39
|
+
checked: {
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
};
|
|
43
|
+
unchecked: {
|
|
44
|
+
x: number;
|
|
45
|
+
y: number;
|
|
46
|
+
};
|
|
17
47
|
};
|
|
18
48
|
};
|
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default theme configuration for the Switch component
|
|
3
|
+
*
|
|
4
|
+
* Gold-standard state styling: track state classes live in `trackStates` as
|
|
5
|
+
* plain utility strings and are resolved in JS at render time (see Switch.tsx),
|
|
6
|
+
* NOT as `data-[state=*]:` Tailwind variants. A data-variant compiles to a
|
|
7
|
+
* class + attribute selector (specificity 0,2,0) that beats a plain `className`
|
|
8
|
+
* override (0,1,0) regardless of order, silently breaking the shadcn rule
|
|
9
|
+
* "className override = highest priority". We still emit `data-state` on the
|
|
10
|
+
* track as a hook for consumer CSS / tests — we just don't *style* with it.
|
|
3
11
|
*/
|
|
4
12
|
const switchTheme = {
|
|
5
13
|
container: "flex w-full justify-between items-center gap-4",
|
|
6
|
-
|
|
7
|
-
|
|
14
|
+
// Structural base only — no state colors (those live in `trackStates`)
|
|
15
|
+
track: "group rounded-full cursor-pointer shadow-inner-real-sm transition-colors duration-500 motion-reduce:transition-none outline-1 outline-[var(--color-border)] peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[var(--color-primary-600)]",
|
|
16
|
+
// Resolved in JS and layered via cn() so later keys win (tailwind-merge dedupes bg-*).
|
|
17
|
+
// No `invalid` key: a switch is binary — on and off are both valid values, so there is
|
|
18
|
+
// nothing to validate. (See §9 carve-out: invalid only applies to controls with a value.)
|
|
19
|
+
trackStates: {
|
|
20
|
+
unchecked: "bg-[var(--color-neutral-200)] dark:bg-[var(--color-neutral-700)]",
|
|
21
|
+
checked: "bg-[var(--color-primary)]",
|
|
22
|
+
disabled: "bg-[var(--color-background-disabled)] cursor-not-allowed",
|
|
23
|
+
},
|
|
24
|
+
// Thumb knob — solid fill + soft elevation. White reads on both the sunken/raised track
|
|
25
|
+
// (light) and the primary/dark track (dark); the faint border separates it on near-white tracks.
|
|
26
|
+
thumb: "rounded-full bg-gradient-to-b from-neutral-200 via-neutral-50 to-white shadow-real-lg border border-white/80 transition-shadow duration-300 motion-reduce:transition-none",
|
|
8
27
|
description: "text-sm text-[var(--color-text-muted)] -mt-1.5",
|
|
9
28
|
trackSizes: {
|
|
10
29
|
sm: "w-9 h-5",
|
|
@@ -21,8 +40,18 @@ const switchTheme = {
|
|
|
21
40
|
* Thumb position values for animation
|
|
22
41
|
*/
|
|
23
42
|
const thumbPositions = {
|
|
24
|
-
|
|
25
|
-
|
|
43
|
+
sm: {
|
|
44
|
+
checked: { x: 14, y: 2 },
|
|
45
|
+
unchecked: { x: 2, y: 2 },
|
|
46
|
+
},
|
|
47
|
+
md: {
|
|
48
|
+
checked: { x: 18, y: 2 },
|
|
49
|
+
unchecked: { x: 2, y: 2 },
|
|
50
|
+
},
|
|
51
|
+
lg: {
|
|
52
|
+
checked: { x: 22, y: 2 },
|
|
53
|
+
unchecked: { x: 2, y: 2 },
|
|
54
|
+
},
|
|
26
55
|
};
|
|
27
56
|
|
|
28
57
|
export { switchTheme, thumbPositions };
|
|
@@ -3,13 +3,21 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type SwitchLabelPosition = "start" | "end";
|
|
5
5
|
/**
|
|
6
|
-
* State variants for the switch component
|
|
6
|
+
* State variants for the switch component.
|
|
7
|
+
*
|
|
8
|
+
* No `invalid`: a switch is binary — on and off are both valid values, so there is
|
|
9
|
+
* nothing to validate (unlike Input/Checkbox, which can hold/require a specific value).
|
|
7
10
|
*/
|
|
8
|
-
export type SwitchState = 'default' | 'disabled'
|
|
11
|
+
export type SwitchState = 'default' | 'disabled';
|
|
9
12
|
/**
|
|
10
13
|
* Size variants for the switch component
|
|
11
14
|
*/
|
|
12
15
|
export type SwitchSize = 'sm' | 'md' | 'lg';
|
|
16
|
+
/**
|
|
17
|
+
* Resolvable visual states for the track. Layered additively in JS (see Switch.tsx)
|
|
18
|
+
* rather than via `data-[state=*]:` variants, so `className`/`theme` overrides win.
|
|
19
|
+
*/
|
|
20
|
+
export type SwitchTrackState = 'unchecked' | 'checked' | 'disabled';
|
|
13
21
|
/**
|
|
14
22
|
* Switch component props
|
|
15
23
|
*/
|
|
@@ -49,6 +57,7 @@ export interface SwitchProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
|
|
|
49
57
|
export interface SwitchTheme {
|
|
50
58
|
container: string;
|
|
51
59
|
track: string;
|
|
60
|
+
trackStates: Record<SwitchTrackState, string>;
|
|
52
61
|
thumb: string;
|
|
53
62
|
description: string;
|
|
54
63
|
trackSizes: Record<SwitchSize, string>;
|
|
@@ -60,6 +69,7 @@ export interface SwitchTheme {
|
|
|
60
69
|
export interface SwitchThemeOverrides {
|
|
61
70
|
container?: string;
|
|
62
71
|
track?: string;
|
|
72
|
+
trackStates?: Partial<Record<SwitchTrackState, string>>;
|
|
63
73
|
thumb?: string;
|
|
64
74
|
description?: string;
|
|
65
75
|
}
|
|
@@ -38,8 +38,7 @@ const timePickerTheme = {
|
|
|
38
38
|
clearButtonStyle: "absolute right-8 top-1/2 -translate-y-1/2 p-1 rounded text-[var(--color-text-muted)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-background-secondary)] transition-colors z-10",
|
|
39
39
|
// Dropdown container styles (TimePicker-specific)
|
|
40
40
|
// Width is controlled by trigger size via estimatedWidth parameter
|
|
41
|
-
dropdownStyle: "fixed z-[1000] bg-
|
|
42
|
-
"dark:bg-[var(--color-background-secondary)] ",
|
|
41
|
+
dropdownStyle: "fixed z-[1000] bg-[var(--color-surface-overlay)]/80 backdrop-blur-md border border-[var(--color-border)] rounded-[var(--form-radius)] shadow-lg overflow-hidden",
|
|
43
42
|
// Dropdown size variants - primarily for internal spacing/padding
|
|
44
43
|
dropdownSizes: {
|
|
45
44
|
sm: "",
|
|
@@ -6,98 +6,9 @@ import { cn } from '../../../utils/cn.js';
|
|
|
6
6
|
import { TimePickerContext } from './TimePicker.js';
|
|
7
7
|
import { useSelectPortal } from '../../../hooks/useSelectPortal.js';
|
|
8
8
|
import { createDropdownAnimations } from '../Select/Select.animations.js';
|
|
9
|
-
import '../../core/Accordion/Accordion.js';
|
|
10
|
-
import '../../core/AlertDialog/AlertDialog.js';
|
|
11
|
-
import '../../core/AspectRatio/AspectRatio.js';
|
|
12
|
-
import '../../core/Avatar/Avatar.js';
|
|
13
|
-
import '../../core/AvatarGroup/AvatarGroup.js';
|
|
14
|
-
import '../../core/Badge/Badge.js';
|
|
15
|
-
import '../../core/Breadcrumbs/Breadcrumbs.js';
|
|
16
|
-
import '../../core/Breadcrumbs/Breadcrumbs.theme.js';
|
|
17
|
-
import { Button } from '../../core/Button/Button.js';
|
|
18
|
-
import '../../core/ButtonGroup/ButtonGroup.js';
|
|
19
|
-
import '../../core/ButtonGroup/ButtonGroupSeparator.js';
|
|
20
|
-
import '../../core/ButtonGroup/ButtonGroupText.js';
|
|
21
|
-
import '../../core/Calendar/Calendar.js';
|
|
22
|
-
import '../../core/Calendar/CalendarMini/CalendarMini.js';
|
|
23
|
-
import '../../core/Card/Card.js';
|
|
24
|
-
import '../../core/CardStack/CardStack.js';
|
|
25
|
-
import '../../core/Carousel/Carousel.js';
|
|
26
|
-
import '../../core/Carousel/CarouselBody.js';
|
|
27
|
-
import '../../core/CommandPalette/CommandPalette.js';
|
|
28
|
-
import '../../core/Separator/Separator.js';
|
|
29
|
-
import '../../core/Drawer/Drawer.js';
|
|
30
|
-
import '../../core/Drawer/DrawerBody.js';
|
|
31
|
-
import '../../core/Dropdown/Dropdown.js';
|
|
32
|
-
import '../../core/Dropdown/DropdownTrigger.js';
|
|
33
|
-
import '../../core/Dropdown/DropdownMenu.js';
|
|
34
|
-
import '../../core/Dropdown/DropdownItem.js';
|
|
35
|
-
import '../../core/Dropdown/DropdownSection.js';
|
|
36
|
-
import '../../core/Dropdown/DropdownSeparator.js';
|
|
37
|
-
import '../../core/Dropdown/Dropdown.theme.js';
|
|
38
|
-
import '../../core/DotSeparator/DotSeparator.js';
|
|
39
|
-
import '../../core/Kbd/Kbd.js';
|
|
40
|
-
import '../../core/MenuItem/MenuItem.js';
|
|
41
|
-
import '../../core/Link/Link.js';
|
|
42
|
-
import '../../core/Modal/Modal.js';
|
|
43
|
-
import '../../core/ModalStack/ModalStack.js';
|
|
44
|
-
import '../../core/PageHeading/PageHeading.js';
|
|
45
|
-
import '../../core/Pagination/Pagination.js';
|
|
46
|
-
import '../../core/Popover/Popover.js';
|
|
47
|
-
import '../../core/Popover/PopoverContext.js';
|
|
48
|
-
import '../../core/Popover/PopoverBody.js';
|
|
49
|
-
import '../../core/Progress/Progress.js';
|
|
50
|
-
import '../../core/Rating/Rating.js';
|
|
51
|
-
import '../../core/ScrollArea/ScrollArea.js';
|
|
52
|
-
import '../../core/ScrollArea/smooth/SmoothScrollEngine.js';
|
|
53
|
-
import '../../core/Segmented/Segmented.js';
|
|
54
|
-
import '../../core/Skeleton/Skeleton.js';
|
|
55
|
-
import '../../core/SlidingNumber/SlidingNumber.js';
|
|
56
|
-
import '../../core/Tabs/Tabs.js';
|
|
57
|
-
import '../../core/Tabs/TabsList.js';
|
|
58
|
-
import '../../core/Tabs/TabsTrigger.js';
|
|
59
|
-
import '../../core/Tabs/TabsBody.js';
|
|
60
|
-
import '../../core/Tabs/TabsContext.js';
|
|
61
|
-
import '../../core/Tooltip/Tooltip.js';
|
|
62
|
-
import '../../core/Tooltip/Tooltip.animations.js';
|
|
63
|
-
import '../../core/Tree/Tree.js';
|
|
64
|
-
import '../../core/Tag/Tag.js';
|
|
65
|
-
import '../../core/Alert/Alert.js';
|
|
66
|
-
import '../../core/Toast/Toast.js';
|
|
67
|
-
import '../../core/Toast/ToastProvider.js';
|
|
68
|
-
import '@heroicons/react/24/solid';
|
|
69
|
-
import '../../core/Spinner/Spinner.js';
|
|
70
|
-
import '../../core/Message/Message.js';
|
|
71
|
-
import '../../core/Message/TypeWriter.js';
|
|
72
|
-
import '../../core/Message/MessageBody.js';
|
|
73
|
-
import '@heroicons/react/16/solid';
|
|
74
|
-
import '@heroicons/react/24/outline';
|
|
75
|
-
import '../../core/Empty/Empty.js';
|
|
76
|
-
import '../../core/Masonry/Masonry.js';
|
|
77
|
-
import '../../core/DragDrop/DragDrop.js';
|
|
78
|
-
import '../../core/Sortable/Sortable.js';
|
|
79
|
-
import '../../core/NavItem/NavItem.js';
|
|
80
|
-
import '../../core/Sidebar/Sidebar.js';
|
|
81
|
-
import '../../core/Sidebar/SidebarHeader.js';
|
|
82
|
-
import '../../core/Sidebar/SidebarContent.js';
|
|
83
|
-
import '../../core/Sidebar/SidebarFooter.js';
|
|
84
|
-
import '../../core/Sidebar/SidebarNav.js';
|
|
85
|
-
import '../../core/Sidebar/SidebarNavGroup.js';
|
|
86
|
-
import '../../core/Sidebar/SidebarToggle.js';
|
|
87
|
-
import '../../core/Sidebar/SidebarMobileTrigger.js';
|
|
88
|
-
import '../../core/Sidebar/SidebarUserProfile.js';
|
|
89
|
-
import '../../core/Sidebar/SidebarLogo.js';
|
|
90
|
-
import '../../core/Sidebar/SidebarSearch.js';
|
|
91
|
-
import '../../core/Sidebar/SidebarCard.js';
|
|
92
|
-
import '../../core/Sidebar/SidebarContext.js';
|
|
93
|
-
import '../../core/OfflineIndicator/OfflineIndicator.js';
|
|
94
|
-
import '../../core/ContextMenu/ContextMenu.js';
|
|
95
|
-
import '../../core/ContextMenu/ContextMenu.theme.js';
|
|
96
|
-
import '../../core/Pill/Pill.js';
|
|
97
|
-
import '../../core/Icon/Icon.js';
|
|
98
|
-
import '../../core/ImagePlaceholder/ImagePlaceholder.js';
|
|
99
9
|
import { useIsClient } from '../../../hooks/useIsClient.js';
|
|
100
10
|
import { useDarkMode } from '../../../hooks/useDarkMode.js';
|
|
11
|
+
import { Button } from '../../core/Button/Button.js';
|
|
101
12
|
|
|
102
13
|
/**
|
|
103
14
|
* TimePickerContent Component - contains the time selector dropdown
|
|
@@ -95,7 +95,7 @@ const formsBaseTheme = {
|
|
|
95
95
|
dropdownStyles: {
|
|
96
96
|
// Container for dropdown panel
|
|
97
97
|
container: "fixed z-[1000] max-h-[var(--select-content-available-height,20rem)] overflow-auto overscroll-contain " +
|
|
98
|
-
"rounded-[var(--form-radius)] bg-[var(--color-surface-overlay)]/
|
|
98
|
+
"rounded-[var(--form-radius)] bg-[var(--color-surface-overlay)]/80 backdrop-blur-md text-sm border border-[var(--color-border)] " +
|
|
99
99
|
"shadow-real-lg ring-1 ring-[var(--color-border)] focus:outline-none",
|
|
100
100
|
// Base option style
|
|
101
101
|
option: "relative cursor-pointer select-none py-2 px-3 text-[var(--color-text-primary)] " +
|
|
@@ -72,7 +72,3 @@ export { selectableCardTheme } from "./SelectableCard";
|
|
|
72
72
|
export { Mention } from "./Mention";
|
|
73
73
|
export type { MentionProps, MentionSuggestion, MentionTrigger, MentionSize, MentionTheme, MentionThemeOverrides, } from "./Mention";
|
|
74
74
|
export { mentionTheme } from "./Mention";
|
|
75
|
-
export { CronInput } from "./CronInput";
|
|
76
|
-
export type { CronInputProps, CronInputSize, CronInputMode, CronInputTheme, CronInputThemeOverrides, CronFields, CronPreset, } from "./CronInput";
|
|
77
|
-
export { cronInputTheme } from "./CronInput";
|
|
78
|
-
export { parseCron, fieldsToCron, validateCron, cronToDescription, getNextRuns, formatNextRun, CRON_PRESETS, } from "./CronInput";
|
|
@@ -29,95 +29,6 @@ import 'clsx';
|
|
|
29
29
|
import 'tailwind-merge';
|
|
30
30
|
import 'motion/react';
|
|
31
31
|
import 'react-dom';
|
|
32
|
-
import '../core/Accordion/Accordion.js';
|
|
33
|
-
import '../core/AlertDialog/AlertDialog.js';
|
|
34
|
-
import '../core/AspectRatio/AspectRatio.js';
|
|
35
|
-
import '../core/Avatar/Avatar.js';
|
|
36
|
-
import '../core/AvatarGroup/AvatarGroup.js';
|
|
37
|
-
import '../core/Badge/Badge.js';
|
|
38
|
-
import '../core/Breadcrumbs/Breadcrumbs.js';
|
|
39
|
-
import '../core/Breadcrumbs/Breadcrumbs.theme.js';
|
|
40
|
-
import '../core/Button/Button.js';
|
|
41
|
-
import '../core/ButtonGroup/ButtonGroup.js';
|
|
42
|
-
import '../core/ButtonGroup/ButtonGroupSeparator.js';
|
|
43
|
-
import '../core/ButtonGroup/ButtonGroupText.js';
|
|
44
|
-
import '../core/Calendar/Calendar.js';
|
|
45
|
-
import '../core/Calendar/CalendarMini/CalendarMini.js';
|
|
46
|
-
import '../core/Card/Card.js';
|
|
47
|
-
import '../core/CardStack/CardStack.js';
|
|
48
|
-
import '../core/Carousel/Carousel.js';
|
|
49
|
-
import '../core/Carousel/CarouselBody.js';
|
|
50
|
-
import '../core/CommandPalette/CommandPalette.js';
|
|
51
|
-
import '../core/Separator/Separator.js';
|
|
52
|
-
import '../core/Drawer/Drawer.js';
|
|
53
|
-
import '../core/Drawer/DrawerBody.js';
|
|
54
|
-
import '../core/Dropdown/Dropdown.js';
|
|
55
|
-
import '../core/Dropdown/DropdownTrigger.js';
|
|
56
|
-
import '../core/Dropdown/DropdownMenu.js';
|
|
57
|
-
import '../core/Dropdown/DropdownItem.js';
|
|
58
|
-
import '../core/Dropdown/DropdownSection.js';
|
|
59
|
-
import '../core/Dropdown/DropdownSeparator.js';
|
|
60
|
-
import '../core/Dropdown/Dropdown.theme.js';
|
|
61
|
-
import '../core/DotSeparator/DotSeparator.js';
|
|
62
|
-
import '../core/Kbd/Kbd.js';
|
|
63
|
-
import '../core/MenuItem/MenuItem.js';
|
|
64
|
-
import '../core/Link/Link.js';
|
|
65
|
-
import '../core/Modal/Modal.js';
|
|
66
|
-
import '../core/ModalStack/ModalStack.js';
|
|
67
|
-
import '../core/PageHeading/PageHeading.js';
|
|
68
|
-
import '../core/Pagination/Pagination.js';
|
|
69
|
-
import '../core/Popover/Popover.js';
|
|
70
|
-
import '../core/Popover/PopoverContext.js';
|
|
71
|
-
import '../core/Popover/PopoverBody.js';
|
|
72
|
-
import '../core/Progress/Progress.js';
|
|
73
|
-
import '../core/Rating/Rating.js';
|
|
74
|
-
import '../core/ScrollArea/ScrollArea.js';
|
|
75
|
-
import '../core/ScrollArea/smooth/SmoothScrollEngine.js';
|
|
76
|
-
import '../core/Segmented/Segmented.js';
|
|
77
|
-
import '../core/Skeleton/Skeleton.js';
|
|
78
|
-
import '../core/SlidingNumber/SlidingNumber.js';
|
|
79
|
-
import '../core/Tabs/Tabs.js';
|
|
80
|
-
import '../core/Tabs/TabsList.js';
|
|
81
|
-
import '../core/Tabs/TabsTrigger.js';
|
|
82
|
-
import '../core/Tabs/TabsBody.js';
|
|
83
|
-
import '../core/Tabs/TabsContext.js';
|
|
84
|
-
import '../core/Tooltip/Tooltip.js';
|
|
85
|
-
import '../core/Tooltip/Tooltip.animations.js';
|
|
86
|
-
import '../core/Tree/Tree.js';
|
|
87
|
-
import '../core/Tag/Tag.js';
|
|
88
|
-
import '../core/Alert/Alert.js';
|
|
89
|
-
import '../core/Toast/Toast.js';
|
|
90
|
-
import '../core/Toast/ToastProvider.js';
|
|
91
|
-
import '@heroicons/react/24/solid';
|
|
92
|
-
import '../core/Spinner/Spinner.js';
|
|
93
|
-
import '../core/Message/Message.js';
|
|
94
|
-
import '../core/Message/TypeWriter.js';
|
|
95
|
-
import '../core/Message/MessageBody.js';
|
|
96
|
-
import '@heroicons/react/16/solid';
|
|
97
|
-
import '../core/Empty/Empty.js';
|
|
98
|
-
import '../core/Masonry/Masonry.js';
|
|
99
|
-
import '../core/DragDrop/DragDrop.js';
|
|
100
|
-
import '../core/Sortable/Sortable.js';
|
|
101
|
-
import '../core/NavItem/NavItem.js';
|
|
102
|
-
import '../core/Sidebar/Sidebar.js';
|
|
103
|
-
import '../core/Sidebar/SidebarHeader.js';
|
|
104
|
-
import '../core/Sidebar/SidebarContent.js';
|
|
105
|
-
import '../core/Sidebar/SidebarFooter.js';
|
|
106
|
-
import '../core/Sidebar/SidebarNav.js';
|
|
107
|
-
import '../core/Sidebar/SidebarNavGroup.js';
|
|
108
|
-
import '../core/Sidebar/SidebarToggle.js';
|
|
109
|
-
import '../core/Sidebar/SidebarMobileTrigger.js';
|
|
110
|
-
import '../core/Sidebar/SidebarUserProfile.js';
|
|
111
|
-
import '../core/Sidebar/SidebarLogo.js';
|
|
112
|
-
import '../core/Sidebar/SidebarSearch.js';
|
|
113
|
-
import '../core/Sidebar/SidebarCard.js';
|
|
114
|
-
import '../core/Sidebar/SidebarContext.js';
|
|
115
|
-
import '../core/OfflineIndicator/OfflineIndicator.js';
|
|
116
|
-
import '../core/ContextMenu/ContextMenu.js';
|
|
117
|
-
import '../core/ContextMenu/ContextMenu.theme.js';
|
|
118
|
-
import '../core/Pill/Pill.js';
|
|
119
|
-
import '../core/Icon/Icon.js';
|
|
120
|
-
import '../core/ImagePlaceholder/ImagePlaceholder.js';
|
|
121
32
|
import './TimePicker/WheelColumn.js';
|
|
122
33
|
export { timePickerTheme } from './TimePicker/TimePicker.theme.js';
|
|
123
34
|
export { Slider } from './Slider/Slider.js';
|
|
@@ -161,9 +72,6 @@ export { SelectableCard } from './SelectableCard/SelectableCard.js';
|
|
|
161
72
|
export { selectableCardTheme } from './SelectableCard/SelectableCard.theme.js';
|
|
162
73
|
export { Mention } from './Mention/Mention.js';
|
|
163
74
|
export { mentionTheme } from './Mention/Mention.theme.js';
|
|
164
|
-
export { CronInput } from './CronInput/CronInput.js';
|
|
165
|
-
export { cronInputTheme } from './CronInput/CronInput.theme.js';
|
|
166
|
-
export { CRON_PRESETS, cronToDescription, fieldsToCron, formatNextRun, getNextRuns, parseCron, validateCron } from './CronInput/CronInput.utils.js';
|
|
167
75
|
export { DatePickerBody } from './DatePicker/DatePickerBody.js';
|
|
168
76
|
export { DatePickerPresets } from './DatePicker/DatePickerPresets.js';
|
|
169
77
|
export { DatePickerTrigger } from './DatePicker/DatePickerTrigger.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { UISpec } from "./types";
|
|
2
|
+
import { GenerativeRegistry } from "./registry";
|
|
3
|
+
import { ActionHandler } from "./actions";
|
|
4
|
+
export interface GenerativeViewProps {
|
|
5
|
+
/** The serializable spec tree (one root or top-level siblings). */
|
|
6
|
+
spec: UISpec;
|
|
7
|
+
/** Component/icon/resolver registry. @default defaultRegistry */
|
|
8
|
+
registry?: GenerativeRegistry;
|
|
9
|
+
/**
|
|
10
|
+
* Receives spec actions: the EXACT descriptor from the node plus a
|
|
11
|
+
* serializable context (component, nodeId, callback data such as the
|
|
12
|
+
* clicked Table row). Omit it and action-bound elements are inert.
|
|
13
|
+
*/
|
|
14
|
+
onAction?: ActionHandler;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Render a serializable UINode spec with the given registry.
|
|
19
|
+
* Render-only in P1 — streaming (P3) and action dispatch (P4) layer on top.
|
|
20
|
+
*/
|
|
21
|
+
export declare function GenerativeView({ spec, registry, onAction, className, }: GenerativeViewProps): import("react/jsx-runtime").JSX.Element;
|