@flikk/ui 1.0.0-beta.31 → 1.0.0-beta.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +295 -22
- package/dist/components/ai/AgentRequest/AgentRequest.animations.d.ts +25 -0
- package/dist/components/ai/AgentRequest/AgentRequest.animations.js +81 -0
- package/dist/components/ai/AgentRequest/AgentRequest.d.ts +3 -0
- package/dist/components/ai/AgentRequest/AgentRequest.js +435 -0
- package/dist/components/ai/AgentRequest/AgentRequest.theme.d.ts +2 -0
- package/dist/components/ai/AgentRequest/AgentRequest.theme.js +106 -0
- package/dist/components/ai/AgentRequest/AgentRequest.types.d.ts +241 -0
- package/dist/components/ai/AgentRequest/index.d.ts +3 -0
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
- package/dist/components/ai/PromptInput/PromptInput.js +2 -2
- package/dist/components/ai/PromptInput/PromptInput.theme.js +2 -2
- package/dist/components/ai/PromptSuggestion/PromptSuggestion.theme.js +2 -2
- package/dist/components/ai/Reasoning/Reasoning.js +27 -3
- package/dist/components/ai/Reasoning/Reasoning.theme.d.ts +6 -0
- package/dist/components/ai/Reasoning/Reasoning.theme.js +36 -0
- package/dist/components/ai/Reasoning/Reasoning.types.d.ts +58 -5
- package/dist/components/ai/Reasoning/ReasoningTrace.d.ts +11 -0
- package/dist/components/ai/Reasoning/ReasoningTrace.js +84 -0
- package/dist/components/ai/Reasoning/index.d.ts +2 -1
- package/dist/components/ai/StreamingResponse/AnimatedText.d.ts +7 -0
- package/dist/components/ai/StreamingResponse/AnimatedText.js +8 -7
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -0
- package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +4 -4
- package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +2 -2
- package/dist/components/ai/StreamingResponse/StreamingCursor.js +10 -7
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +10 -0
- package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +59 -33
- package/dist/components/ai/StreamingResponse/StreamingResponse.js +13 -7
- package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +33 -2
- package/dist/components/ai/StreamingResponse/StreamingSurface.d.ts +13 -0
- package/dist/components/ai/StreamingResponse/StreamingSurface.js +38 -0
- package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +5 -0
- package/dist/components/ai/StreamingResponse/WordAnimationContext.js +5 -4
- package/dist/components/ai/StreamingResponse/index.d.ts +4 -2
- package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
- package/dist/components/ai/index.d.ts +3 -2
- package/dist/components/ai/index.js +4 -0
- package/dist/components/canvas/BaseNode.js +1 -1
- package/dist/components/canvas/CanvasToolbar.js +0 -1
- package/dist/components/canvas/Edge.js +2 -2
- package/dist/components/canvas/NodeControls.js +0 -1
- package/dist/components/canvas/NodeRenderer.js +2 -2
- package/dist/components/charts/ActivityRings/ActivityRings.js +2 -2
- package/dist/components/charts/ActivityRings/ActivityRings.theme.js +1 -1
- package/dist/components/charts/AreaChart/AreaChart.js +3 -3
- package/dist/components/charts/AreaChart/AreaChart.theme.js +3 -3
- package/dist/components/charts/BarChart/BarChart.js +4 -4
- package/dist/components/charts/ComboChart/BarRenderer.js +2 -2
- package/dist/components/charts/ComboChart/BarRenderer.types.d.ts +1 -1
- package/dist/components/charts/ComboChart/ComboChartCanvas.js +1 -1
- package/dist/components/charts/ComboChart/LineRenderer.js +1 -1
- package/dist/components/charts/ComboChart/LineRenderer.types.d.ts +1 -1
- package/dist/components/charts/DonutChart/DonutChart.theme.js +4 -4
- package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
- package/dist/components/charts/Heatmap/Heatmap.js +49 -42
- package/dist/components/charts/Heatmap/Heatmap.theme.d.ts +6 -2
- package/dist/components/charts/Heatmap/Heatmap.theme.js +20 -8
- package/dist/components/charts/Heatmap/Heatmap.types.d.ts +49 -82
- package/dist/components/charts/Heatmap/HeatmapCell.js +30 -81
- package/dist/components/charts/Heatmap/HeatmapLegend.d.ts +7 -6
- package/dist/components/charts/Heatmap/HeatmapLegend.js +6 -6
- package/dist/components/charts/Heatmap/index.d.ts +1 -1
- package/dist/components/charts/Heatmap/utils/heatmapUtils.d.ts +7 -12
- package/dist/components/charts/Heatmap/utils/heatmapUtils.js +16 -61
- package/dist/components/charts/Heatmap/utils/heatmapUtils.test.d.ts +1 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +1 -1
- package/dist/components/charts/LineChart/LineChart.js +2 -2
- package/dist/components/charts/LollipopChart/LollipopChart.js +1 -1
- package/dist/components/charts/RadarChart/RadarChart.js +1 -1
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +3 -3
- package/dist/components/charts/hooks/useChartAccessibility.js +9 -6
- package/dist/components/charts/index.d.ts +4 -8
- package/dist/components/charts/index.js +2 -4
- package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
- package/dist/components/charts/shared/index.d.ts +1 -1
- package/dist/components/charts/theme/chart.theme.js +3 -3
- package/dist/components/charts/utils/animation-utils.d.ts +12 -7
- package/dist/components/charts/utils/animation-utils.js +19 -19
- package/dist/components/core/Accordion/Accordion.theme.js +1 -1
- package/dist/components/core/Alert/Alert.animations.d.ts +11 -4
- package/dist/components/core/Alert/Alert.animations.js +11 -4
- package/dist/components/core/Alert/Alert.js +16 -2
- package/dist/components/core/Alert/Alert.theme.js +1 -1
- package/dist/components/core/Alert/Alert.types.d.ts +4 -2
- package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
- package/dist/components/core/Avatar/Avatar.theme.js +1 -1
- package/dist/components/core/Badge/Badge.animations.d.ts +0 -5
- package/dist/components/core/Badge/Badge.animations.js +5 -84
- package/dist/components/core/Badge/Badge.d.ts +7 -4
- package/dist/components/core/Badge/Badge.js +27 -64
- package/dist/components/core/Badge/Badge.theme.js +8 -12
- package/dist/components/core/Badge/Badge.types.d.ts +18 -34
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +4 -4
- package/dist/components/core/Button/Button.js +7 -43
- package/dist/components/core/Button/Button.theme.js +2 -2
- package/dist/components/core/Button/Button.types.d.ts +8 -12
- package/dist/components/core/Button/index.d.ts +0 -2
- package/dist/components/core/Calendar/Calendar.theme.js +1 -1
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
- package/dist/components/core/Card/Card.js +7 -2
- package/dist/components/core/Card/Card.theme.js +29 -1
- package/dist/components/core/Card/Card.types.d.ts +20 -0
- package/dist/components/core/Card/CardBody.js +9 -1
- package/dist/components/core/Card/CardContext.d.ts +13 -0
- package/dist/components/core/Card/CardContext.js +14 -0
- package/dist/components/core/Card/CardHeader.js +4 -1
- package/dist/components/core/ContextMenu/ContextMenu.theme.js +4 -3
- package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +8 -1
- package/dist/components/core/ContextMenu/ContextMenuSub.d.ts +11 -1
- package/dist/components/core/ContextMenu/ContextMenuSub.js +35 -22
- package/dist/components/core/ContextMenu/ContextMenuSubBody.js +14 -3
- package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +21 -8
- package/dist/components/core/DragDrop/DragDrop.theme.js +2 -2
- package/dist/components/core/Drawer/Drawer.theme.js +1 -1
- package/dist/components/core/Drawer/DrawerHeader.js +0 -1
- package/dist/components/core/Dropdown/DropdownMenu.js +22 -7
- package/dist/components/core/Link/Link.js +1 -1
- package/dist/components/core/Masonry/Masonry.theme.js +1 -1
- package/dist/components/core/MenuItem/MenuItem.js +2 -1
- package/dist/components/core/MenuItem/MenuItem.theme.js +13 -1
- package/dist/components/core/Message/Message.js +2 -0
- package/dist/components/core/Message/Message.theme.js +3 -3
- package/dist/components/core/Modal/Modal.animations.d.ts +1 -1
- package/dist/components/core/Modal/Modal.animations.js +50 -11
- package/dist/components/core/Modal/Modal.js +5 -1
- package/dist/components/core/Modal/Modal.theme.js +1 -1
- package/dist/components/core/Modal/ModalHeader.js +0 -1
- package/dist/components/core/ModalStack/ModalStackModal.js +3 -1
- package/dist/components/core/NavItem/NavItem.js +3 -2
- package/dist/components/core/NavItem/NavItem.theme.js +1 -1
- package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +4 -2
- package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
- package/dist/components/core/Pagination/Pagination.theme.js +2 -2
- package/dist/components/core/Pill/Pill.js +2 -1
- package/dist/components/core/Pill/Pill.theme.js +4 -2
- package/dist/components/core/Popover/PopoverBody.js +16 -5
- package/dist/components/core/Progress/Progress.d.ts +0 -25
- package/dist/components/core/Progress/Progress.js +79 -11
- package/dist/components/core/Progress/Progress.theme.js +17 -0
- package/dist/components/core/Progress/Progress.types.d.ts +47 -1
- package/dist/components/core/Rating/Rating.theme.js +1 -1
- package/dist/components/core/Rating/Rating.types.d.ts +3 -2
- package/dist/components/core/ScrollArea/ScrollArea.js +1 -1
- package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
- package/dist/components/core/Segmented/Segmented.theme.js +3 -3
- package/dist/components/core/Segmented/SegmentedContext.js +1 -0
- package/dist/components/core/Sidebar/Sidebar.js +5 -2
- package/dist/components/core/Sidebar/Sidebar.theme.js +2 -2
- package/dist/components/core/Sidebar/SidebarContent.js +1 -1
- package/dist/components/core/Sidebar/SidebarHeader.js +1 -1
- package/dist/components/core/Sidebar/SidebarSearch.js +2 -2
- package/dist/components/core/Sidebar/SidebarToggle.js +1 -1
- package/dist/components/core/Sidebar/SidebarUserProfile.js +1 -1
- package/dist/components/core/Sortable/Sortable.theme.js +1 -1
- package/dist/components/core/Tabs/Tabs.theme.js +1 -1
- package/dist/components/core/Tag/Tag.theme.js +1 -1
- package/dist/components/core/Toast/ToastProvider.js +1 -1
- package/dist/components/core/Tree/Tree.theme.js +1 -1
- package/dist/components/core/index.d.ts +0 -2
- package/dist/components/core/index.js +0 -4
- package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.d.ts +4 -0
- package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.js +20 -0
- package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.js +1 -1
- package/dist/components/core/shared/Ripple.d.ts +16 -0
- package/dist/components/core/shared/Ripple.js +141 -0
- package/dist/components/data-display/GanttChart/GanttChart.theme.js +6 -6
- package/dist/components/data-display/GanttChart/GanttTaskBar.js +1 -1
- package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +1 -1
- package/dist/components/data-display/GanttChart/GanttToolbar.js +0 -1
- package/dist/components/data-display/KPI/KPI.js +11 -20
- package/dist/components/data-display/KPI/KPI.theme.js +8 -4
- package/dist/components/data-display/Metric/Metric.theme.js +4 -4
- package/dist/components/data-display/Table/Table.theme.js +2 -2
- package/dist/components/data-display/Table/TableColumnManager.js +1 -2
- package/dist/components/data-display/Table/TableContext.js +1 -0
- package/dist/components/data-display/Table/TableFilter.js +9 -2
- package/dist/components/data-display/Table/TableSelectionHeader.js +1 -1
- package/dist/components/data-display/Timeline/Timeline.theme.js +1 -1
- package/dist/components/effects/CustomCursor/CustomCursor.d.ts +1 -1
- package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +4 -4
- package/dist/components/effects/Neumorphic/InsetCircleButton.js +1 -1
- package/dist/components/effects/Overlay/Overlay.js +7 -3
- package/dist/components/effects/index.d.ts +0 -32
- package/dist/components/effects/index.js +0 -16
- package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +0 -2
- package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +1 -93
- package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +0 -10
- package/dist/components/effects/shared/ShaderCanvas/index.d.ts +1 -1
- package/dist/components/effects/shared/index.d.ts +1 -3
- package/dist/components/effects/shared/shaderNoise.glsl.d.ts +1 -1
- package/dist/components/effects/shared/shaderNoise.glsl.js +2 -11
- package/dist/components/forms/Checkbox/Checkbox.theme.js +1 -1
- package/dist/components/forms/ColorPicker/ColorPickerHeader.js +1 -1
- package/dist/components/forms/ColorPicker/ColorPickerImage.js +1 -1
- package/dist/components/forms/Combobox/Combobox.js +2 -0
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
- package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +1 -0
- package/dist/components/forms/FileUpload/FileUpload.theme.js +2 -2
- package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +1 -1
- package/dist/components/forms/InputAddress/InputAddress.types.d.ts +2 -2
- package/dist/components/forms/Radio/Radio.theme.js +1 -1
- package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +12 -16
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +165 -1680
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +12 -56
- package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +60 -118
- package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +62 -126
- package/dist/components/forms/RichTextEditor/RichTextLinkField.d.ts +18 -0
- package/dist/components/forms/RichTextEditor/RichTextLinkField.js +46 -0
- package/dist/components/forms/RichTextEditor/RichTextToolbar.d.ts +15 -0
- package/dist/components/forms/RichTextEditor/RichTextToolbar.js +93 -0
- package/dist/components/forms/RichTextEditor/editorCommands.d.ts +50 -0
- package/dist/components/forms/RichTextEditor/editorCommands.js +58 -0
- package/dist/components/forms/RichTextEditor/editorState.d.ts +19 -0
- package/dist/components/forms/RichTextEditor/editorState.js +103 -0
- package/dist/components/forms/RichTextEditor/index.d.ts +5 -3
- package/dist/components/forms/RichTextEditor/sanitizeHtml.d.ts +38 -0
- package/dist/components/forms/RichTextEditor/sanitizeHtml.js +179 -0
- package/dist/components/forms/RichTextEditor/sanitizeHtml.test.d.ts +1 -0
- package/dist/components/forms/Select/Select.js +4 -4
- package/dist/components/forms/Select/Select.types.d.ts +70 -7
- package/dist/components/forms/Select/useSelectState.d.ts +9 -3
- package/dist/components/forms/Select/useSelectState.js +4 -1
- package/dist/components/forms/SelectableCard/SelectableCard.js +2 -1
- package/dist/components/forms/SelectableCard/SelectableCard.theme.js +1 -1
- package/dist/components/forms/Switch/Switch.theme.js +2 -2
- package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -1
- package/dist/components/forms/TimePicker/TimePickerTrigger.js +1 -1
- package/dist/components/forms/forms.theme.js +19 -5
- package/dist/components/forms/index.js +1 -0
- package/dist/components/generative/FormShell.d.ts +22 -0
- package/dist/components/generative/FormShell.js +102 -0
- package/dist/components/generative/GenerativeView.d.ts +52 -1
- package/dist/components/generative/GenerativeView.js +203 -11
- package/dist/components/generative/actions.d.ts +5 -0
- package/dist/components/generative/ai-sdk/index.d.ts +1 -0
- package/dist/components/generative/ai-sdk/index.js +1 -0
- package/dist/components/generative/ai-sdk/useGenerativeChat.d.ts +52 -0
- package/dist/components/generative/ai-sdk/useGenerativeChat.js +73 -0
- package/dist/components/generative/ai-sdk/useGenerativeChat.test.d.ts +1 -0
- package/dist/components/generative/fieldBinding.d.ts +31 -0
- package/dist/components/generative/fieldBinding.js +33 -0
- package/dist/components/generative/fieldBinding.test.d.ts +1 -0
- package/dist/components/generative/formScope.d.ts +71 -0
- package/dist/components/generative/formScope.js +135 -0
- package/dist/components/generative/index.d.ts +4 -0
- package/dist/components/generative/index.js +4 -0
- package/dist/components/generative/registry.d.ts +2 -0
- package/dist/components/generative/registry.js +10 -10
- package/dist/components/generative/schema.generated.js +178 -292
- package/dist/components/generative/toToolResult.d.ts +21 -0
- package/dist/components/generative/toToolResult.js +15 -0
- package/dist/components/generative/toToolResult.test.d.ts +1 -0
- package/dist/components/generative/validate.d.ts +10 -1
- package/dist/components/generative/validate.js +126 -11
- package/dist/components/layout/Grid/Grid.js +1 -0
- package/dist/components/layout/Section/Section.theme.js +1 -1
- package/dist/components/layout/Stack/Stack.js +1 -0
- package/dist/generative.schema.json +178 -292
- package/dist/index.js +1 -4
- package/dist/registry.json +2599 -2375
- package/dist/shadcn-compat.css +5 -5
- package/dist/styles/theme.test.d.ts +1 -0
- package/dist/styles.css +1 -1
- package/dist/test/render.d.ts +17 -0
- package/dist/themes/precision.css +232 -0
- package/dist/tools.json +179 -294
- package/dist/utils/index.d.ts +0 -1
- package/package.json +31 -1
- package/src/global.scss +21 -28
- package/src/styles/theme.css +124 -41
- package/src/styles/theme.test.ts +119 -0
- package/tailwind.preset.cjs +30 -20
- package/dist/components/charts/FunnelChart/FunnelChart.animations.d.ts +0 -35
- package/dist/components/charts/FunnelChart/FunnelChart.animations.js +0 -59
- package/dist/components/charts/FunnelChart/FunnelChart.d.ts +0 -8
- package/dist/components/charts/FunnelChart/FunnelChart.js +0 -410
- package/dist/components/charts/FunnelChart/FunnelChart.theme.d.ts +0 -2
- package/dist/components/charts/FunnelChart/FunnelChart.theme.js +0 -12
- package/dist/components/charts/FunnelChart/FunnelChart.types.d.ts +0 -105
- package/dist/components/charts/FunnelChart/index.d.ts +0 -4
- package/dist/components/charts/ScatterPlot/ScatterPlot.d.ts +0 -9
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +0 -208
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -18
- package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +0 -42
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +0 -60
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +0 -19
- package/dist/components/charts/ScatterPlot/index.d.ts +0 -3
- package/dist/components/core/Button/Button.ripple.d.ts +0 -71
- package/dist/components/core/Button/Button.ripple.js +0 -236
- package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.d.ts +0 -4
- package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.theme.d.ts +0 -12
- package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +0 -23
- package/dist/components/core/Calendar/CalendarEvent/index.d.ts +0 -2
- package/dist/components/core/CardStack/CardStack.animations.d.ts +0 -47
- package/dist/components/core/CardStack/CardStack.d.ts +0 -3
- package/dist/components/core/CardStack/CardStack.js +0 -187
- package/dist/components/core/CardStack/CardStack.theme.d.ts +0 -6
- package/dist/components/core/CardStack/CardStack.theme.js +0 -33
- package/dist/components/core/CardStack/CardStack.types.d.ts +0 -139
- package/dist/components/core/CardStack/index.d.ts +0 -7
- package/dist/components/core/Carousel/Carousel.d.ts +0 -3
- package/dist/components/core/Carousel/Carousel.js +0 -83
- package/dist/components/core/Carousel/Carousel.theme.d.ts +0 -10
- package/dist/components/core/Carousel/Carousel.theme.js +0 -20
- package/dist/components/core/Carousel/Carousel.types.d.ts +0 -113
- package/dist/components/core/Carousel/CarouselBody.d.ts +0 -4
- package/dist/components/core/Carousel/CarouselBody.js +0 -59
- package/dist/components/core/Carousel/CarouselContext.d.ts +0 -3
- package/dist/components/core/Carousel/CarouselContext.js +0 -13
- package/dist/components/core/Carousel/CarouselItem.d.ts +0 -4
- package/dist/components/core/Carousel/CarouselItem.js +0 -11
- package/dist/components/core/Carousel/CarouselNext.d.ts +0 -4
- package/dist/components/core/Carousel/CarouselNext.js +0 -16
- package/dist/components/core/Carousel/CarouselPrevious.d.ts +0 -4
- package/dist/components/core/Carousel/CarouselPrevious.js +0 -16
- package/dist/components/core/Carousel/index.d.ts +0 -3
- package/dist/components/effects/ColorPanels/ColorPanels.d.ts +0 -8
- package/dist/components/effects/ColorPanels/ColorPanels.js +0 -66
- package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +0 -12
- package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +0 -218
- package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +0 -29
- package/dist/components/effects/ColorPanels/ColorPanels.types.js +0 -3
- package/dist/components/effects/ColorPanels/index.d.ts +0 -2
- package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +0 -9
- package/dist/components/effects/FlutedGlass/FlutedGlass.js +0 -80
- package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +0 -12
- package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +0 -335
- package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +0 -61
- package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +0 -16
- package/dist/components/effects/FlutedGlass/index.d.ts +0 -3
- package/dist/components/effects/GlassEffect/GlassEffect.d.ts +0 -15
- package/dist/components/effects/GlassEffect/GlassEffect.js +0 -38
- package/dist/components/effects/GlassEffect/GlassEffect.types.d.ts +0 -19
- package/dist/components/effects/GlassEffect/index.d.ts +0 -2
- package/dist/components/effects/GlassSurface/GlassSurface.d.ts +0 -8
- package/dist/components/effects/GlassSurface/GlassSurface.js +0 -250
- package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +0 -66
- package/dist/components/effects/GlassSurface/index.d.ts +0 -2
- package/dist/components/effects/GodRays/GodRays.d.ts +0 -8
- package/dist/components/effects/GodRays/GodRays.js +0 -68
- package/dist/components/effects/GodRays/GodRays.shaders.d.ts +0 -10
- package/dist/components/effects/GodRays/GodRays.shaders.js +0 -128
- package/dist/components/effects/GodRays/GodRays.types.d.ts +0 -25
- package/dist/components/effects/GodRays/GodRays.types.js +0 -3
- package/dist/components/effects/GodRays/index.d.ts +0 -2
- package/dist/components/effects/GridPattern/GridPattern.d.ts +0 -18
- package/dist/components/effects/GridPattern/GridPattern.js +0 -65
- package/dist/components/effects/GridPattern/GridPattern.types.d.ts +0 -47
- package/dist/components/effects/GridPattern/index.d.ts +0 -2
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +0 -10
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +0 -78
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +0 -22
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +0 -239
- package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +0 -52
- package/dist/components/effects/HalftoneCmyk/index.d.ts +0 -2
- package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +0 -9
- package/dist/components/effects/HalftoneDots/HalftoneDots.js +0 -68
- package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +0 -13
- package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +0 -296
- package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +0 -43
- package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +0 -12
- package/dist/components/effects/HalftoneDots/index.d.ts +0 -3
- package/dist/components/effects/ImageDithering/ImageDithering.d.ts +0 -9
- package/dist/components/effects/ImageDithering/ImageDithering.js +0 -68
- package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +0 -12
- package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +0 -117
- package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +0 -30
- package/dist/components/effects/ImageDithering/ImageDithering.types.js +0 -8
- package/dist/components/effects/ImageDithering/index.d.ts +0 -3
- package/dist/components/effects/MagneticElement/MagneticElement.d.ts +0 -30
- package/dist/components/effects/MagneticElement/MagneticElement.js +0 -111
- package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +0 -44
- package/dist/components/effects/MagneticElement/index.d.ts +0 -2
- package/dist/components/effects/Metaballs/Metaballs.d.ts +0 -8
- package/dist/components/effects/Metaballs/Metaballs.js +0 -59
- package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +0 -10
- package/dist/components/effects/Metaballs/Metaballs.shaders.js +0 -102
- package/dist/components/effects/Metaballs/Metaballs.types.d.ts +0 -16
- package/dist/components/effects/Metaballs/Metaballs.types.js +0 -3
- package/dist/components/effects/Metaballs/index.d.ts +0 -2
- package/dist/components/effects/PaperTexture/PaperTexture.d.ts +0 -9
- package/dist/components/effects/PaperTexture/PaperTexture.js +0 -61
- package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +0 -22
- package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +0 -145
- package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +0 -19
- package/dist/components/effects/PaperTexture/index.d.ts +0 -2
- package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +0 -27
- package/dist/components/effects/PulsingBorder/PulsingBorder.js +0 -174
- package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +0 -14
- package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +0 -258
- package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +0 -75
- package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +0 -3
- package/dist/components/effects/PulsingBorder/index.d.ts +0 -2
- package/dist/components/effects/SmokeRing/SmokeRing.d.ts +0 -8
- package/dist/components/effects/SmokeRing/SmokeRing.js +0 -62
- package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +0 -14
- package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +0 -130
- package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +0 -22
- package/dist/components/effects/SmokeRing/SmokeRing.types.js +0 -3
- package/dist/components/effects/SmokeRing/index.d.ts +0 -2
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +0 -9
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +0 -59
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +0 -14
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +0 -129
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +0 -23
- package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +0 -3
- package/dist/components/effects/StaticGradientMesh/index.d.ts +0 -2
- package/dist/components/effects/Water/Water.d.ts +0 -9
- package/dist/components/effects/Water/Water.js +0 -65
- package/dist/components/effects/Water/Water.shaders.d.ts +0 -11
- package/dist/components/effects/Water/Water.shaders.js +0 -123
- package/dist/components/effects/Water/Water.types.d.ts +0 -25
- package/dist/components/effects/Water/index.d.ts +0 -2
- package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +0 -10
- package/dist/components/effects/shared/bayerMatrices.glsl.js +0 -44
- package/dist/components/effects/shared/imageUV.glsl.d.ts +0 -12
- package/dist/components/effects/shared/imageUV.glsl.js +0 -26
- package/dist/components/forms/RichTextEditor/RichTextEditor.animations.d.ts +0 -7
- package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +0 -32
- package/dist/utils/calendarUtils.d.ts +0 -60
- /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.d.ts +0 -0
- /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.d.ts +0 -0
- /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.js +0 -0
- /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.types.d.ts +0 -0
- /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltipContent.d.ts +0 -0
- /package/dist/components/{charts → core}/shared/ChartTooltip/index.d.ts +0 -0
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { HTMLAttributes, ReactNode, ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
|
-
export type CarouselOrientation = 'horizontal' | 'vertical';
|
|
3
|
-
export interface CarouselOptions {
|
|
4
|
-
/**
|
|
5
|
-
* Alignment of carousel items
|
|
6
|
-
* @default 'start'
|
|
7
|
-
*/
|
|
8
|
-
align?: 'start' | 'center' | 'end';
|
|
9
|
-
/**
|
|
10
|
-
* Enable infinite looping
|
|
11
|
-
* @default false
|
|
12
|
-
*/
|
|
13
|
-
loop?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Number of slides to scroll at a time
|
|
16
|
-
* @default 1
|
|
17
|
-
*/
|
|
18
|
-
slidesToScroll?: number;
|
|
19
|
-
/**
|
|
20
|
-
* Enable drag interaction
|
|
21
|
-
* @default true
|
|
22
|
-
*/
|
|
23
|
-
draggable?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Drag threshold for slide change (0-1)
|
|
26
|
-
* @default 0.1
|
|
27
|
-
*/
|
|
28
|
-
dragThreshold?: number;
|
|
29
|
-
}
|
|
30
|
-
export interface CarouselContextValue {
|
|
31
|
-
currentIndex: number;
|
|
32
|
-
totalSlides: number;
|
|
33
|
-
scrollTo: (index: number) => void;
|
|
34
|
-
scrollPrev: () => void;
|
|
35
|
-
scrollNext: () => void;
|
|
36
|
-
canScrollPrev: boolean;
|
|
37
|
-
canScrollNext: boolean;
|
|
38
|
-
orientation: CarouselOrientation;
|
|
39
|
-
opts: CarouselOptions;
|
|
40
|
-
}
|
|
41
|
-
export interface CarouselProps extends HTMLAttributes<HTMLDivElement> {
|
|
42
|
-
/**
|
|
43
|
-
* Carousel orientation
|
|
44
|
-
* @default 'horizontal'
|
|
45
|
-
*/
|
|
46
|
-
orientation?: CarouselOrientation;
|
|
47
|
-
/**
|
|
48
|
-
* Carousel configuration options
|
|
49
|
-
*/
|
|
50
|
-
opts?: CarouselOptions;
|
|
51
|
-
/**
|
|
52
|
-
* Whether to show default navigation controls
|
|
53
|
-
* @default false
|
|
54
|
-
*/
|
|
55
|
-
showControls?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Initial slide index
|
|
58
|
-
* @default 0
|
|
59
|
-
*/
|
|
60
|
-
defaultIndex?: number;
|
|
61
|
-
/**
|
|
62
|
-
* Callback when slide changes
|
|
63
|
-
*/
|
|
64
|
-
onSlideChange?: (index: number) => void;
|
|
65
|
-
/**
|
|
66
|
-
* Custom class name for the carousel container
|
|
67
|
-
*/
|
|
68
|
-
className?: string;
|
|
69
|
-
/**
|
|
70
|
-
* Children components (CarouselBody, CarouselPrevious, CarouselNext)
|
|
71
|
-
*/
|
|
72
|
-
children?: ReactNode;
|
|
73
|
-
}
|
|
74
|
-
export interface CarouselBodyProps extends HTMLAttributes<HTMLDivElement> {
|
|
75
|
-
/**
|
|
76
|
-
* Custom class name for the body container
|
|
77
|
-
*/
|
|
78
|
-
className?: string;
|
|
79
|
-
/**
|
|
80
|
-
* Children components (CarouselItem)
|
|
81
|
-
*/
|
|
82
|
-
children?: ReactNode;
|
|
83
|
-
}
|
|
84
|
-
export interface CarouselItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
85
|
-
/**
|
|
86
|
-
* Custom class name for the item
|
|
87
|
-
*/
|
|
88
|
-
className?: string;
|
|
89
|
-
/**
|
|
90
|
-
* Children content to display in the slide
|
|
91
|
-
*/
|
|
92
|
-
children?: ReactNode;
|
|
93
|
-
}
|
|
94
|
-
export interface CarouselControlProps extends HTMLAttributes<HTMLButtonElement> {
|
|
95
|
-
/**
|
|
96
|
-
* Custom class name for the button
|
|
97
|
-
*/
|
|
98
|
-
className?: string;
|
|
99
|
-
/**
|
|
100
|
-
* Custom icon to override default arrow
|
|
101
|
-
*/
|
|
102
|
-
icon?: ReactNode;
|
|
103
|
-
/**
|
|
104
|
-
* Accessible label for the button
|
|
105
|
-
*/
|
|
106
|
-
'aria-label'?: string;
|
|
107
|
-
}
|
|
108
|
-
export interface CarouselComponent extends ForwardRefExoticComponent<CarouselProps & RefAttributes<HTMLDivElement>> {
|
|
109
|
-
Body: ForwardRefExoticComponent<CarouselBodyProps & RefAttributes<HTMLDivElement>>;
|
|
110
|
-
Item: ForwardRefExoticComponent<CarouselItemProps & RefAttributes<HTMLDivElement>>;
|
|
111
|
-
Previous: ForwardRefExoticComponent<CarouselControlProps & RefAttributes<HTMLButtonElement>>;
|
|
112
|
-
Next: ForwardRefExoticComponent<CarouselControlProps & RefAttributes<HTMLButtonElement>>;
|
|
113
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import React__default from 'react';
|
|
4
|
-
import { useReducedMotion, motion } from 'motion/react';
|
|
5
|
-
import { cn } from '../../../utils/cn.js';
|
|
6
|
-
import { useCarouselContext } from './CarouselContext.js';
|
|
7
|
-
import { carouselTheme } from './Carousel.theme.js';
|
|
8
|
-
|
|
9
|
-
const CarouselBody = React__default.forwardRef(({ className, children, ...props }, ref) => {
|
|
10
|
-
const { currentIndex, orientation, opts, scrollPrev, scrollNext } = useCarouselContext();
|
|
11
|
-
const shouldReduceMotion = useReducedMotion();
|
|
12
|
-
const internalRef = React__default.useRef(null);
|
|
13
|
-
React__default.useImperativeHandle(ref, () => internalRef.current, []);
|
|
14
|
-
const isHorizontal = orientation === 'horizontal';
|
|
15
|
-
const translateValue = `${-currentIndex * 100}%`;
|
|
16
|
-
const handleDragEnd = (_event, info) => {
|
|
17
|
-
var _a;
|
|
18
|
-
if (!opts.draggable)
|
|
19
|
-
return;
|
|
20
|
-
const dragDistance = isHorizontal ? info.offset.x : info.offset.y;
|
|
21
|
-
const viewport = internalRef.current;
|
|
22
|
-
if (!viewport)
|
|
23
|
-
return;
|
|
24
|
-
const viewportSize = isHorizontal
|
|
25
|
-
? viewport.offsetWidth
|
|
26
|
-
: viewport.offsetHeight;
|
|
27
|
-
const dragThreshold = viewportSize * ((_a = opts.dragThreshold) !== null && _a !== void 0 ? _a : 0.2);
|
|
28
|
-
if (Math.abs(dragDistance) > dragThreshold) {
|
|
29
|
-
if (dragDistance < 0) {
|
|
30
|
-
scrollNext();
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
scrollPrev();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
return (jsx("div", { ref: internalRef, className: cn(carouselTheme.viewport, className), ...props, children: jsx(motion.div, { className: cn(carouselTheme.container, isHorizontal ? 'flex-row' : 'flex-col'), drag: opts.draggable && (isHorizontal ? 'x' : 'y'), onDragEnd: handleDragEnd, dragElastic: 0.1, animate: {
|
|
38
|
-
x: isHorizontal ? translateValue : 0,
|
|
39
|
-
y: isHorizontal ? 0 : translateValue,
|
|
40
|
-
}, transition: shouldReduceMotion
|
|
41
|
-
? { duration: 0 }
|
|
42
|
-
: { type: 'spring', stiffness: 180, damping: 25, mass: 0.7 }, children: React__default.Children.map(children, (child, index) => {
|
|
43
|
-
if (!React__default.isValidElement(child))
|
|
44
|
-
return child;
|
|
45
|
-
const isActive = index === currentIndex;
|
|
46
|
-
return React__default.cloneElement(child, {
|
|
47
|
-
'aria-hidden': !isActive,
|
|
48
|
-
// inert removes all focusable descendants from tab order and hides
|
|
49
|
-
// them from assistive technologies when the slide is not active.
|
|
50
|
-
// Must be a genuine boolean — React 19 maps `inert` directly to the
|
|
51
|
-
// DOM property, and passing the empty string is treated as `false`
|
|
52
|
-
// (the attribute never lands on the element).
|
|
53
|
-
inert: !isActive || undefined,
|
|
54
|
-
});
|
|
55
|
-
}) }) }));
|
|
56
|
-
});
|
|
57
|
-
CarouselBody.displayName = 'Carousel.Body';
|
|
58
|
-
|
|
59
|
-
export { CarouselBody };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { createContext, useContext } from 'react';
|
|
3
|
-
|
|
4
|
-
const CarouselContext = createContext(undefined);
|
|
5
|
-
const useCarouselContext = () => {
|
|
6
|
-
const context = useContext(CarouselContext);
|
|
7
|
-
if (!context) {
|
|
8
|
-
throw new Error('Carousel compound components must be used within Carousel');
|
|
9
|
-
}
|
|
10
|
-
return context;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export { CarouselContext, useCarouselContext };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import React__default from 'react';
|
|
3
|
-
import { cn } from '../../../utils/cn.js';
|
|
4
|
-
import { carouselTheme } from './Carousel.theme.js';
|
|
5
|
-
|
|
6
|
-
const CarouselItem = React__default.forwardRef(({ className, children, ...props }, ref) => {
|
|
7
|
-
return (jsx("div", { ref: ref, role: "group", "aria-roledescription": "slide", className: cn(carouselTheme.item, className), ...props, children: children }));
|
|
8
|
-
});
|
|
9
|
-
CarouselItem.displayName = 'Carousel.Item';
|
|
10
|
-
|
|
11
|
-
export { CarouselItem };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import React__default from 'react';
|
|
4
|
-
import { CaretRight, CaretDown } from '@phosphor-icons/react';
|
|
5
|
-
import { cn } from '../../../utils/cn.js';
|
|
6
|
-
import { useCarouselContext } from './CarouselContext.js';
|
|
7
|
-
import { carouselTheme } from './Carousel.theme.js';
|
|
8
|
-
|
|
9
|
-
const CarouselNext = React__default.forwardRef(({ className, icon, 'aria-label': ariaLabel, ...props }, ref) => {
|
|
10
|
-
const { scrollNext, canScrollNext, orientation } = useCarouselContext();
|
|
11
|
-
return (jsx("button", { ref: ref, type: "button", onClick: scrollNext, disabled: !canScrollNext, "aria-label": ariaLabel || 'Next slide', className: cn(carouselTheme.button, className), ...props, children: icon ||
|
|
12
|
-
(orientation === 'horizontal' ? (jsx(CaretRight, { className: carouselTheme.buttonIcon, "aria-hidden": "true" })) : (jsx(CaretDown, { className: carouselTheme.buttonIcon, "aria-hidden": "true" }))) }));
|
|
13
|
-
});
|
|
14
|
-
CarouselNext.displayName = 'Carousel.Next';
|
|
15
|
-
|
|
16
|
-
export { CarouselNext };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import React__default from 'react';
|
|
4
|
-
import { CaretLeft, CaretUp } from '@phosphor-icons/react';
|
|
5
|
-
import { cn } from '../../../utils/cn.js';
|
|
6
|
-
import { useCarouselContext } from './CarouselContext.js';
|
|
7
|
-
import { carouselTheme } from './Carousel.theme.js';
|
|
8
|
-
|
|
9
|
-
const CarouselPrevious = React__default.forwardRef(({ className, icon, 'aria-label': ariaLabel, ...props }, ref) => {
|
|
10
|
-
const { scrollPrev, canScrollPrev, orientation } = useCarouselContext();
|
|
11
|
-
return (jsx("button", { ref: ref, type: "button", onClick: scrollPrev, disabled: !canScrollPrev, "aria-label": ariaLabel || 'Previous slide', className: cn(carouselTheme.button, className), ...props, children: icon ||
|
|
12
|
-
(orientation === 'horizontal' ? (jsx(CaretLeft, { className: carouselTheme.buttonIcon, "aria-hidden": "true" })) : (jsx(CaretUp, { className: carouselTheme.buttonIcon, "aria-hidden": "true" }))) }));
|
|
13
|
-
});
|
|
14
|
-
CarouselPrevious.displayName = 'Carousel.Previous';
|
|
15
|
-
|
|
16
|
-
export { CarouselPrevious };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { ColorPanelsProps } from "./ColorPanels.types";
|
|
3
|
-
/**
|
|
4
|
-
* Animated perspective "venetian blind" color panels sweeping toward a
|
|
5
|
-
* vanishing point. WebGL2-powered; falls back to a static CSS gradient when
|
|
6
|
-
* WebGL2 is unavailable or the user prefers reduced motion.
|
|
7
|
-
*/
|
|
8
|
-
export declare const ColorPanels: React.FC<ColorPanelsProps>;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useMemo, useRef } from 'react';
|
|
4
|
-
import { useReducedMotion } from 'motion/react';
|
|
5
|
-
import { useIsClient } from '../../../hooks/useIsClient.js';
|
|
6
|
-
import { useDarkMode } from '../../../hooks/useDarkMode.js';
|
|
7
|
-
import { cn } from '../../../utils/cn.js';
|
|
8
|
-
import { ShaderCanvas } from '../shared/ShaderCanvas/ShaderCanvas.js';
|
|
9
|
-
import { resolveShaderColors, resolveShaderColor } from '../shared/resolveShaderColor.js';
|
|
10
|
-
import { colorPanelsFragmentShader } from './ColorPanels.shaders.js';
|
|
11
|
-
import { COLOR_PANELS_MAX_COLORS } from './ColorPanels.types.js';
|
|
12
|
-
|
|
13
|
-
const DEFAULT_COLORS = ["var(--color-primary-300)", "var(--color-primary)", "var(--color-primary-700)"];
|
|
14
|
-
const DEFAULT_COLOR_BACK = "var(--color-background)";
|
|
15
|
-
function useWebgl2Supported(disabled) {
|
|
16
|
-
return useMemo(() => {
|
|
17
|
-
if (disabled || typeof document === "undefined")
|
|
18
|
-
return false;
|
|
19
|
-
try {
|
|
20
|
-
return !!document.createElement("canvas").getContext("webgl2");
|
|
21
|
-
}
|
|
22
|
-
catch (_a) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
}, [disabled]);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Animated perspective "venetian blind" color panels sweeping toward a
|
|
29
|
-
* vanishing point. WebGL2-powered; falls back to a static CSS gradient when
|
|
30
|
-
* WebGL2 is unavailable or the user prefers reduced motion.
|
|
31
|
-
*/
|
|
32
|
-
const ColorPanels = ({ colors = DEFAULT_COLORS, colorBack = DEFAULT_COLOR_BACK, angle1 = 0.3, angle2 = 0.3, length = 1, edges = false, blur = 0.3, fadeIn = 0.3, fadeOut = 0.3, density = 0.5, gradient = 0.2, speed = 1, className, style, ...props }) => {
|
|
33
|
-
var _a, _b;
|
|
34
|
-
const isClient = useIsClient();
|
|
35
|
-
const shouldReduceMotion = useReducedMotion();
|
|
36
|
-
const isDark = useDarkMode();
|
|
37
|
-
const webglSupported = useWebgl2Supported(!!shouldReduceMotion);
|
|
38
|
-
const safeColors = colors.length > 0 ? colors.slice(0, COLOR_PANELS_MAX_COLORS) : DEFAULT_COLORS;
|
|
39
|
-
const resolvedColors = useMemo(() => resolveShaderColors(safeColors),
|
|
40
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
|
-
[safeColors.join("|"), isDark]);
|
|
42
|
-
const resolvedBack = useMemo(() => resolveShaderColor(colorBack),
|
|
43
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
|
-
[colorBack, isDark]);
|
|
45
|
-
const uniformsRef = useRef({});
|
|
46
|
-
for (let i = 0; i < COLOR_PANELS_MAX_COLORS; i++) {
|
|
47
|
-
uniformsRef.current[`u_colors[${i}]`] =
|
|
48
|
-
(_b = (_a = resolvedColors[i]) !== null && _a !== void 0 ? _a : resolvedColors[resolvedColors.length - 1]) !== null && _b !== void 0 ? _b : [0, 0, 0, 0];
|
|
49
|
-
}
|
|
50
|
-
uniformsRef.current.u_colorsCount = resolvedColors.length;
|
|
51
|
-
uniformsRef.current.u_colorBack = resolvedBack;
|
|
52
|
-
uniformsRef.current.u_angle1 = angle1;
|
|
53
|
-
uniformsRef.current.u_angle2 = angle2;
|
|
54
|
-
uniformsRef.current.u_length = length;
|
|
55
|
-
uniformsRef.current.u_edges = edges ? 1 : 0;
|
|
56
|
-
uniformsRef.current.u_blur = blur;
|
|
57
|
-
uniformsRef.current.u_fadeIn = fadeIn;
|
|
58
|
-
uniformsRef.current.u_fadeOut = fadeOut;
|
|
59
|
-
uniformsRef.current.u_density = density;
|
|
60
|
-
uniformsRef.current.u_gradient = gradient;
|
|
61
|
-
uniformsRef.current.u_speed = speed;
|
|
62
|
-
const fallbackGradient = `linear-gradient(100deg, ${safeColors.join(", ")}, ${colorBack})`;
|
|
63
|
-
return (jsx("div", { className: cn("absolute inset-0 overflow-hidden pointer-events-none select-none", className), style: style, "aria-hidden": "true", ...props, children: isClient && webglSupported ? (jsx(ShaderCanvas, { fragmentShader: colorPanelsFragmentShader, uniformsRef: uniformsRef })) : (jsx("div", { className: "absolute inset-0", style: { background: fallbackGradient } })) }));
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
export { ColorPanels };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ColorPanels fragment shader — adapted from paper-design/shaders'
|
|
3
|
-
* `color-panels.ts` (https://github.com/paper-design/shaders, Apache License
|
|
4
|
-
* 2.0).
|
|
5
|
-
*
|
|
6
|
-
* Simplified from the original: plain centered/aspect-corrected UV
|
|
7
|
-
* (gl_FragCoord/iResolution) instead of paper-design's ShaderSizingParams
|
|
8
|
-
* fit/scale/rotation engine — the `u_scale` uniform that engine supplied
|
|
9
|
-
* (used only for an anti-aliasing threshold) is hardcoded to 1.0 here since
|
|
10
|
-
* there's no external scale/zoom control in this port.
|
|
11
|
-
*/
|
|
12
|
-
export declare const colorPanelsFragmentShader = "#version 300 es\nprecision lowp float;\n\nuniform float iTime;\nuniform vec2 iResolution;\n\nuniform vec4 u_colors[7];\nuniform float u_colorsCount;\nuniform vec4 u_colorBack;\nuniform float u_density;\nuniform float u_angle1;\nuniform float u_angle2;\nuniform float u_length;\nuniform float u_edges;\nuniform float u_blur;\nuniform float u_fadeIn;\nuniform float u_fadeOut;\nuniform float u_gradient;\nuniform float u_speed;\n\nout vec4 fragColor;\n\n\nconst float PI = 3.14159265359;\nconst float TWO_PI = 6.28318530718;\n\n\nconst float zLimit = .5;\nconst float SCALE = 1.0;\n\nvec2 getPanel(float angle, vec2 uv, float invLength, float aa) {\n float sinA = sin(angle);\n float cosA = cos(angle);\n\n float denom = sinA - uv.y * cosA;\n if (abs(denom) < .01) return vec2(0.);\n\n float z = uv.y / denom;\n\n if (z <= 0. || z > zLimit) return vec2(0.);\n\n float zRatio = z / zLimit;\n float panelMap = 1. - zRatio;\n float x = uv.x * (cosA * z + 1.) * invLength;\n\n float zOffset = zRatio - .5;\n float left = -.5 + zOffset * u_angle1;\n float right = .5 - zOffset * u_angle2;\n float blurX = aa + 2. * panelMap * u_blur;\n\n float leftEdge1 = left - blurX;\n float leftEdge2 = left + .25 * blurX;\n float rightEdge1 = right - .25 * blurX;\n float rightEdge2 = right + blurX;\n\n float panel = smoothstep(leftEdge1, leftEdge2, x) * (1.0 - smoothstep(rightEdge1, rightEdge2, x));\n panel *= mix(0., panel, smoothstep(0., .01 / max(SCALE, 1e-6), panelMap));\n\n float midScreen = abs(sinA);\n if (u_edges > 0.5) {\n panelMap = mix(.99, panelMap, panel * clamp(panelMap / (.15 * (1. - pow(midScreen, .1))), 0.0, 1.0));\n } else if (midScreen < .07) {\n panel *= (midScreen * 15.);\n }\n\n return vec2(panel, panelMap);\n}\n\nvec4 blendColor(vec4 colorA, float panelMask, float panelMap) {\n float fade = 1. - smoothstep(.97 - .97 * u_fadeIn, 1., panelMap);\n fade *= smoothstep(-.2 * (1. - u_fadeOut), u_fadeOut, panelMap);\n\n vec3 blendedRGB = mix(vec3(0.), colorA.rgb, fade);\n float blendedAlpha = mix(0., colorA.a, fade);\n\n return vec4(blendedRGB, blendedAlpha) * panelMask;\n}\n\nvoid main() {\n vec2 uv = (gl_FragCoord.xy - 0.5 * iResolution.xy) / min(iResolution.x, iResolution.y);\n uv *= 1.25;\n\n float t = .02 * u_speed * iTime;\n t = fract(t);\n bool reverseTime = (t < 0.5);\n\n vec3 color = vec3(0.);\n float opacity = 0.;\n\n float aa = .005 / SCALE;\n int colorsCount = int(u_colorsCount);\n\n vec4 premultipliedColors[7];\n for (int i = 0; i < 7; i++) {\n if (i >= colorsCount) break;\n vec4 c = u_colors[i];\n c.rgb *= c.a;\n premultipliedColors[i] = c;\n }\n\n float invLength = 1.5 / max(u_length, .001);\n\n int panelsNumber = 12;\n float densityNormalizer = 1.;\n if (colorsCount == 4) {\n panelsNumber = 16;\n densityNormalizer = 1.34;\n } else if (colorsCount == 5) {\n panelsNumber = 20;\n densityNormalizer = 1.67;\n } else if (colorsCount == 7) {\n panelsNumber = 14;\n densityNormalizer = 1.17;\n }\n\n float fPanelsNumber = float(panelsNumber);\n float panelGrad = 1. - clamp(u_gradient, 0., 1.);\n\n for (int set = 0; set < 2; set++) {\n bool isForward = (set == 0 && !reverseTime) || (set == 1 && reverseTime);\n if (!isForward) continue;\n\n for (int i = 0; i <= 20; i++) {\n if (i >= panelsNumber) break;\n\n int idx = panelsNumber - 1 - i;\n\n float offset = float(idx) / fPanelsNumber;\n if (set == 1) {\n offset += .5;\n }\n\n float densityFract = densityNormalizer * fract(t + offset);\n float angleNorm = densityFract / u_density;\n if (densityFract >= .5 || angleNorm >= .3) continue;\n\n float smoothDensity = clamp((.5 - densityFract) / .1, 0., 1.) * clamp(densityFract / .01, 0., 1.);\n float smoothAngle = clamp((.3 - angleNorm) / .05, 0., 1.);\n if (smoothDensity * smoothAngle < .001) continue;\n\n if (angleNorm > .5) {\n angleNorm = 0.5;\n }\n vec2 panel = getPanel(angleNorm * TWO_PI + PI, uv, invLength, aa);\n if (panel[0] <= .001) continue;\n float panelMask = panel[0] * smoothDensity * smoothAngle;\n float panelMap = panel[1];\n\n int colorIdx = idx % colorsCount;\n int nextColorIdx = (idx + 1) % colorsCount;\n\n vec4 colorA = premultipliedColors[colorIdx];\n vec4 colorB = premultipliedColors[nextColorIdx];\n\n colorA = mix(colorA, colorB, max(0., smoothstep(.0, .45, panelMap) - panelGrad));\n vec4 blended = blendColor(colorA, panelMask, panelMap);\n color = blended.rgb + color * (1. - blended.a);\n opacity = blended.a + opacity * (1. - blended.a);\n }\n\n for (int i = 0; i <= 20; i++) {\n if (i >= panelsNumber) break;\n\n int idx = panelsNumber - 1 - i;\n\n float offset = float(idx) / fPanelsNumber;\n if (set == 0) {\n offset += .5;\n }\n\n float densityFract = densityNormalizer * fract(-t + offset);\n float angleNorm = -densityFract / u_density;\n if (densityFract >= .5 || angleNorm < -.3) continue;\n\n float smoothDensity = clamp((.5 - densityFract) / .1, 0., 1.) * clamp(densityFract / .01, 0., 1.);\n float smoothAngle = clamp((angleNorm + .3) / .05, 0., 1.);\n if (smoothDensity * smoothAngle < .001) continue;\n\n vec2 panel = getPanel(angleNorm * TWO_PI + PI, uv, invLength, aa);\n float panelMask = panel[0] * smoothDensity * smoothAngle;\n if (panelMask <= .001) continue;\n float panelMap = panel[1];\n\n int colorIdx = (colorsCount - (idx % colorsCount)) % colorsCount;\n if (colorIdx < 0) colorIdx += colorsCount;\n int nextColorIdx = (colorIdx + 1) % colorsCount;\n\n vec4 colorA = premultipliedColors[colorIdx];\n vec4 colorB = premultipliedColors[nextColorIdx];\n\n colorA = mix(colorA, colorB, max(0., smoothstep(.0, .45, panelMap) - panelGrad));\n vec4 blended = blendColor(colorA, panelMask, panelMap);\n color = blended.rgb + color * (1. - blended.a);\n opacity = blended.a + opacity * (1. - blended.a);\n }\n }\n\n vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n color = color + bgColor * (1.0 - opacity);\n opacity = opacity + u_colorBack.a * (1.0 - opacity);\n\n fragColor = vec4(color, opacity);\n}\n";
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import 'react/jsx-runtime';
|
|
2
|
-
import 'react';
|
|
3
|
-
import { glslDeclarePI } from '../shared/shaderNoise.glsl.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* ColorPanels fragment shader — adapted from paper-design/shaders'
|
|
7
|
-
* `color-panels.ts` (https://github.com/paper-design/shaders, Apache License
|
|
8
|
-
* 2.0).
|
|
9
|
-
*
|
|
10
|
-
* Simplified from the original: plain centered/aspect-corrected UV
|
|
11
|
-
* (gl_FragCoord/iResolution) instead of paper-design's ShaderSizingParams
|
|
12
|
-
* fit/scale/rotation engine — the `u_scale` uniform that engine supplied
|
|
13
|
-
* (used only for an anti-aliasing threshold) is hardcoded to 1.0 here since
|
|
14
|
-
* there's no external scale/zoom control in this port.
|
|
15
|
-
*/
|
|
16
|
-
const colorPanelsFragmentShader = `#version 300 es
|
|
17
|
-
precision lowp float;
|
|
18
|
-
|
|
19
|
-
uniform float iTime;
|
|
20
|
-
uniform vec2 iResolution;
|
|
21
|
-
|
|
22
|
-
uniform vec4 u_colors[7];
|
|
23
|
-
uniform float u_colorsCount;
|
|
24
|
-
uniform vec4 u_colorBack;
|
|
25
|
-
uniform float u_density;
|
|
26
|
-
uniform float u_angle1;
|
|
27
|
-
uniform float u_angle2;
|
|
28
|
-
uniform float u_length;
|
|
29
|
-
uniform float u_edges;
|
|
30
|
-
uniform float u_blur;
|
|
31
|
-
uniform float u_fadeIn;
|
|
32
|
-
uniform float u_fadeOut;
|
|
33
|
-
uniform float u_gradient;
|
|
34
|
-
uniform float u_speed;
|
|
35
|
-
|
|
36
|
-
out vec4 fragColor;
|
|
37
|
-
|
|
38
|
-
${glslDeclarePI}
|
|
39
|
-
|
|
40
|
-
const float zLimit = .5;
|
|
41
|
-
const float SCALE = 1.0;
|
|
42
|
-
|
|
43
|
-
vec2 getPanel(float angle, vec2 uv, float invLength, float aa) {
|
|
44
|
-
float sinA = sin(angle);
|
|
45
|
-
float cosA = cos(angle);
|
|
46
|
-
|
|
47
|
-
float denom = sinA - uv.y * cosA;
|
|
48
|
-
if (abs(denom) < .01) return vec2(0.);
|
|
49
|
-
|
|
50
|
-
float z = uv.y / denom;
|
|
51
|
-
|
|
52
|
-
if (z <= 0. || z > zLimit) return vec2(0.);
|
|
53
|
-
|
|
54
|
-
float zRatio = z / zLimit;
|
|
55
|
-
float panelMap = 1. - zRatio;
|
|
56
|
-
float x = uv.x * (cosA * z + 1.) * invLength;
|
|
57
|
-
|
|
58
|
-
float zOffset = zRatio - .5;
|
|
59
|
-
float left = -.5 + zOffset * u_angle1;
|
|
60
|
-
float right = .5 - zOffset * u_angle2;
|
|
61
|
-
float blurX = aa + 2. * panelMap * u_blur;
|
|
62
|
-
|
|
63
|
-
float leftEdge1 = left - blurX;
|
|
64
|
-
float leftEdge2 = left + .25 * blurX;
|
|
65
|
-
float rightEdge1 = right - .25 * blurX;
|
|
66
|
-
float rightEdge2 = right + blurX;
|
|
67
|
-
|
|
68
|
-
float panel = smoothstep(leftEdge1, leftEdge2, x) * (1.0 - smoothstep(rightEdge1, rightEdge2, x));
|
|
69
|
-
panel *= mix(0., panel, smoothstep(0., .01 / max(SCALE, 1e-6), panelMap));
|
|
70
|
-
|
|
71
|
-
float midScreen = abs(sinA);
|
|
72
|
-
if (u_edges > 0.5) {
|
|
73
|
-
panelMap = mix(.99, panelMap, panel * clamp(panelMap / (.15 * (1. - pow(midScreen, .1))), 0.0, 1.0));
|
|
74
|
-
} else if (midScreen < .07) {
|
|
75
|
-
panel *= (midScreen * 15.);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return vec2(panel, panelMap);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
vec4 blendColor(vec4 colorA, float panelMask, float panelMap) {
|
|
82
|
-
float fade = 1. - smoothstep(.97 - .97 * u_fadeIn, 1., panelMap);
|
|
83
|
-
fade *= smoothstep(-.2 * (1. - u_fadeOut), u_fadeOut, panelMap);
|
|
84
|
-
|
|
85
|
-
vec3 blendedRGB = mix(vec3(0.), colorA.rgb, fade);
|
|
86
|
-
float blendedAlpha = mix(0., colorA.a, fade);
|
|
87
|
-
|
|
88
|
-
return vec4(blendedRGB, blendedAlpha) * panelMask;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
void main() {
|
|
92
|
-
vec2 uv = (gl_FragCoord.xy - 0.5 * iResolution.xy) / min(iResolution.x, iResolution.y);
|
|
93
|
-
uv *= 1.25;
|
|
94
|
-
|
|
95
|
-
float t = .02 * u_speed * iTime;
|
|
96
|
-
t = fract(t);
|
|
97
|
-
bool reverseTime = (t < 0.5);
|
|
98
|
-
|
|
99
|
-
vec3 color = vec3(0.);
|
|
100
|
-
float opacity = 0.;
|
|
101
|
-
|
|
102
|
-
float aa = .005 / SCALE;
|
|
103
|
-
int colorsCount = int(u_colorsCount);
|
|
104
|
-
|
|
105
|
-
vec4 premultipliedColors[7];
|
|
106
|
-
for (int i = 0; i < 7; i++) {
|
|
107
|
-
if (i >= colorsCount) break;
|
|
108
|
-
vec4 c = u_colors[i];
|
|
109
|
-
c.rgb *= c.a;
|
|
110
|
-
premultipliedColors[i] = c;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
float invLength = 1.5 / max(u_length, .001);
|
|
114
|
-
|
|
115
|
-
int panelsNumber = 12;
|
|
116
|
-
float densityNormalizer = 1.;
|
|
117
|
-
if (colorsCount == 4) {
|
|
118
|
-
panelsNumber = 16;
|
|
119
|
-
densityNormalizer = 1.34;
|
|
120
|
-
} else if (colorsCount == 5) {
|
|
121
|
-
panelsNumber = 20;
|
|
122
|
-
densityNormalizer = 1.67;
|
|
123
|
-
} else if (colorsCount == 7) {
|
|
124
|
-
panelsNumber = 14;
|
|
125
|
-
densityNormalizer = 1.17;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
float fPanelsNumber = float(panelsNumber);
|
|
129
|
-
float panelGrad = 1. - clamp(u_gradient, 0., 1.);
|
|
130
|
-
|
|
131
|
-
for (int set = 0; set < 2; set++) {
|
|
132
|
-
bool isForward = (set == 0 && !reverseTime) || (set == 1 && reverseTime);
|
|
133
|
-
if (!isForward) continue;
|
|
134
|
-
|
|
135
|
-
for (int i = 0; i <= 20; i++) {
|
|
136
|
-
if (i >= panelsNumber) break;
|
|
137
|
-
|
|
138
|
-
int idx = panelsNumber - 1 - i;
|
|
139
|
-
|
|
140
|
-
float offset = float(idx) / fPanelsNumber;
|
|
141
|
-
if (set == 1) {
|
|
142
|
-
offset += .5;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
float densityFract = densityNormalizer * fract(t + offset);
|
|
146
|
-
float angleNorm = densityFract / u_density;
|
|
147
|
-
if (densityFract >= .5 || angleNorm >= .3) continue;
|
|
148
|
-
|
|
149
|
-
float smoothDensity = clamp((.5 - densityFract) / .1, 0., 1.) * clamp(densityFract / .01, 0., 1.);
|
|
150
|
-
float smoothAngle = clamp((.3 - angleNorm) / .05, 0., 1.);
|
|
151
|
-
if (smoothDensity * smoothAngle < .001) continue;
|
|
152
|
-
|
|
153
|
-
if (angleNorm > .5) {
|
|
154
|
-
angleNorm = 0.5;
|
|
155
|
-
}
|
|
156
|
-
vec2 panel = getPanel(angleNorm * TWO_PI + PI, uv, invLength, aa);
|
|
157
|
-
if (panel[0] <= .001) continue;
|
|
158
|
-
float panelMask = panel[0] * smoothDensity * smoothAngle;
|
|
159
|
-
float panelMap = panel[1];
|
|
160
|
-
|
|
161
|
-
int colorIdx = idx % colorsCount;
|
|
162
|
-
int nextColorIdx = (idx + 1) % colorsCount;
|
|
163
|
-
|
|
164
|
-
vec4 colorA = premultipliedColors[colorIdx];
|
|
165
|
-
vec4 colorB = premultipliedColors[nextColorIdx];
|
|
166
|
-
|
|
167
|
-
colorA = mix(colorA, colorB, max(0., smoothstep(.0, .45, panelMap) - panelGrad));
|
|
168
|
-
vec4 blended = blendColor(colorA, panelMask, panelMap);
|
|
169
|
-
color = blended.rgb + color * (1. - blended.a);
|
|
170
|
-
opacity = blended.a + opacity * (1. - blended.a);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
for (int i = 0; i <= 20; i++) {
|
|
174
|
-
if (i >= panelsNumber) break;
|
|
175
|
-
|
|
176
|
-
int idx = panelsNumber - 1 - i;
|
|
177
|
-
|
|
178
|
-
float offset = float(idx) / fPanelsNumber;
|
|
179
|
-
if (set == 0) {
|
|
180
|
-
offset += .5;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
float densityFract = densityNormalizer * fract(-t + offset);
|
|
184
|
-
float angleNorm = -densityFract / u_density;
|
|
185
|
-
if (densityFract >= .5 || angleNorm < -.3) continue;
|
|
186
|
-
|
|
187
|
-
float smoothDensity = clamp((.5 - densityFract) / .1, 0., 1.) * clamp(densityFract / .01, 0., 1.);
|
|
188
|
-
float smoothAngle = clamp((angleNorm + .3) / .05, 0., 1.);
|
|
189
|
-
if (smoothDensity * smoothAngle < .001) continue;
|
|
190
|
-
|
|
191
|
-
vec2 panel = getPanel(angleNorm * TWO_PI + PI, uv, invLength, aa);
|
|
192
|
-
float panelMask = panel[0] * smoothDensity * smoothAngle;
|
|
193
|
-
if (panelMask <= .001) continue;
|
|
194
|
-
float panelMap = panel[1];
|
|
195
|
-
|
|
196
|
-
int colorIdx = (colorsCount - (idx % colorsCount)) % colorsCount;
|
|
197
|
-
if (colorIdx < 0) colorIdx += colorsCount;
|
|
198
|
-
int nextColorIdx = (colorIdx + 1) % colorsCount;
|
|
199
|
-
|
|
200
|
-
vec4 colorA = premultipliedColors[colorIdx];
|
|
201
|
-
vec4 colorB = premultipliedColors[nextColorIdx];
|
|
202
|
-
|
|
203
|
-
colorA = mix(colorA, colorB, max(0., smoothstep(.0, .45, panelMap) - panelGrad));
|
|
204
|
-
vec4 blended = blendColor(colorA, panelMask, panelMap);
|
|
205
|
-
color = blended.rgb + color * (1. - blended.a);
|
|
206
|
-
opacity = blended.a + opacity * (1. - blended.a);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
vec3 bgColor = u_colorBack.rgb * u_colorBack.a;
|
|
211
|
-
color = color + bgColor * (1.0 - opacity);
|
|
212
|
-
opacity = opacity + u_colorBack.a * (1.0 - opacity);
|
|
213
|
-
|
|
214
|
-
fragColor = vec4(color, opacity);
|
|
215
|
-
}
|
|
216
|
-
`;
|
|
217
|
-
|
|
218
|
-
export { colorPanelsFragmentShader };
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
export declare const COLOR_PANELS_MAX_COLORS = 7;
|
|
3
|
-
export interface ColorPanelsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
/** Panel colors, cycled around the perspective sweep, up to 7. Default: a 3-stop primary ramp. */
|
|
5
|
-
colors?: string[];
|
|
6
|
-
/** Background CSS color. Default: 'var(--color-background)'. */
|
|
7
|
-
colorBack?: string;
|
|
8
|
-
/** Left-edge perspective skew. Default: 0.3. */
|
|
9
|
-
angle1?: number;
|
|
10
|
-
/** Right-edge perspective skew. Default: 0.3. */
|
|
11
|
-
angle2?: number;
|
|
12
|
-
/** Panel length (inverse of how stretched panels appear). Default: 1. */
|
|
13
|
-
length?: number;
|
|
14
|
-
/** Sharpen panel edges toward the vanishing point. Default: false. */
|
|
15
|
-
edges?: boolean;
|
|
16
|
-
/** Panel edge blur/softness. Default: 0.3. */
|
|
17
|
-
blur?: number;
|
|
18
|
-
/** Fade-in strength near the near edge. Default: 0.3. */
|
|
19
|
-
fadeIn?: number;
|
|
20
|
-
/** Fade-out strength near the vanishing point. Default: 0.3. */
|
|
21
|
-
fadeOut?: number;
|
|
22
|
-
/** Panel spacing/frequency. Default: 0.5. */
|
|
23
|
-
density?: number;
|
|
24
|
-
/** Cross-panel color gradient blend, 0-1. Default: 0.2. */
|
|
25
|
-
gradient?: number;
|
|
26
|
-
/** Animation speed multiplier. Default: 1. */
|
|
27
|
-
speed?: number;
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { FlutedGlassProps } from "./FlutedGlass.types";
|
|
3
|
-
/**
|
|
4
|
-
* Fluted-glass image filter — refracts a source image through a directional
|
|
5
|
-
* ribbed-glass grid with per-ridge highlights/shadows and a real Gaussian
|
|
6
|
-
* blur. WebGL2-powered; falls back to the plain source image (via
|
|
7
|
-
* `object-fit: cover`) when WebGL2 is unavailable.
|
|
8
|
-
*/
|
|
9
|
-
export declare const FlutedGlass: React.FC<FlutedGlassProps>;
|