@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.
Files changed (428) hide show
  1. package/CHANGELOG.md +295 -22
  2. package/dist/components/ai/AgentRequest/AgentRequest.animations.d.ts +25 -0
  3. package/dist/components/ai/AgentRequest/AgentRequest.animations.js +81 -0
  4. package/dist/components/ai/AgentRequest/AgentRequest.d.ts +3 -0
  5. package/dist/components/ai/AgentRequest/AgentRequest.js +435 -0
  6. package/dist/components/ai/AgentRequest/AgentRequest.theme.d.ts +2 -0
  7. package/dist/components/ai/AgentRequest/AgentRequest.theme.js +106 -0
  8. package/dist/components/ai/AgentRequest/AgentRequest.types.d.ts +241 -0
  9. package/dist/components/ai/AgentRequest/index.d.ts +3 -0
  10. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
  11. package/dist/components/ai/PromptInput/PromptInput.js +2 -2
  12. package/dist/components/ai/PromptInput/PromptInput.theme.js +2 -2
  13. package/dist/components/ai/PromptSuggestion/PromptSuggestion.theme.js +2 -2
  14. package/dist/components/ai/Reasoning/Reasoning.js +27 -3
  15. package/dist/components/ai/Reasoning/Reasoning.theme.d.ts +6 -0
  16. package/dist/components/ai/Reasoning/Reasoning.theme.js +36 -0
  17. package/dist/components/ai/Reasoning/Reasoning.types.d.ts +58 -5
  18. package/dist/components/ai/Reasoning/ReasoningTrace.d.ts +11 -0
  19. package/dist/components/ai/Reasoning/ReasoningTrace.js +84 -0
  20. package/dist/components/ai/Reasoning/index.d.ts +2 -1
  21. package/dist/components/ai/StreamingResponse/AnimatedText.d.ts +7 -0
  22. package/dist/components/ai/StreamingResponse/AnimatedText.js +8 -7
  23. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -0
  24. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +4 -4
  25. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +2 -2
  26. package/dist/components/ai/StreamingResponse/StreamingCursor.js +10 -7
  27. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +10 -0
  28. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +59 -33
  29. package/dist/components/ai/StreamingResponse/StreamingResponse.js +13 -7
  30. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +33 -2
  31. package/dist/components/ai/StreamingResponse/StreamingSurface.d.ts +13 -0
  32. package/dist/components/ai/StreamingResponse/StreamingSurface.js +38 -0
  33. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +5 -0
  34. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +5 -4
  35. package/dist/components/ai/StreamingResponse/index.d.ts +4 -2
  36. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  37. package/dist/components/ai/index.d.ts +3 -2
  38. package/dist/components/ai/index.js +4 -0
  39. package/dist/components/canvas/BaseNode.js +1 -1
  40. package/dist/components/canvas/CanvasToolbar.js +0 -1
  41. package/dist/components/canvas/Edge.js +2 -2
  42. package/dist/components/canvas/NodeControls.js +0 -1
  43. package/dist/components/canvas/NodeRenderer.js +2 -2
  44. package/dist/components/charts/ActivityRings/ActivityRings.js +2 -2
  45. package/dist/components/charts/ActivityRings/ActivityRings.theme.js +1 -1
  46. package/dist/components/charts/AreaChart/AreaChart.js +3 -3
  47. package/dist/components/charts/AreaChart/AreaChart.theme.js +3 -3
  48. package/dist/components/charts/BarChart/BarChart.js +4 -4
  49. package/dist/components/charts/ComboChart/BarRenderer.js +2 -2
  50. package/dist/components/charts/ComboChart/BarRenderer.types.d.ts +1 -1
  51. package/dist/components/charts/ComboChart/ComboChartCanvas.js +1 -1
  52. package/dist/components/charts/ComboChart/LineRenderer.js +1 -1
  53. package/dist/components/charts/ComboChart/LineRenderer.types.d.ts +1 -1
  54. package/dist/components/charts/DonutChart/DonutChart.theme.js +4 -4
  55. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
  56. package/dist/components/charts/Heatmap/Heatmap.js +49 -42
  57. package/dist/components/charts/Heatmap/Heatmap.theme.d.ts +6 -2
  58. package/dist/components/charts/Heatmap/Heatmap.theme.js +20 -8
  59. package/dist/components/charts/Heatmap/Heatmap.types.d.ts +49 -82
  60. package/dist/components/charts/Heatmap/HeatmapCell.js +30 -81
  61. package/dist/components/charts/Heatmap/HeatmapLegend.d.ts +7 -6
  62. package/dist/components/charts/Heatmap/HeatmapLegend.js +6 -6
  63. package/dist/components/charts/Heatmap/index.d.ts +1 -1
  64. package/dist/components/charts/Heatmap/utils/heatmapUtils.d.ts +7 -12
  65. package/dist/components/charts/Heatmap/utils/heatmapUtils.js +16 -61
  66. package/dist/components/charts/Heatmap/utils/heatmapUtils.test.d.ts +1 -0
  67. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +1 -1
  68. package/dist/components/charts/LineChart/LineChart.js +2 -2
  69. package/dist/components/charts/LollipopChart/LollipopChart.js +1 -1
  70. package/dist/components/charts/RadarChart/RadarChart.js +1 -1
  71. package/dist/components/charts/StackedBarChart/StackedBarChart.js +3 -3
  72. package/dist/components/charts/hooks/useChartAccessibility.js +9 -6
  73. package/dist/components/charts/index.d.ts +4 -8
  74. package/dist/components/charts/index.js +2 -4
  75. package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
  76. package/dist/components/charts/shared/index.d.ts +1 -1
  77. package/dist/components/charts/theme/chart.theme.js +3 -3
  78. package/dist/components/charts/utils/animation-utils.d.ts +12 -7
  79. package/dist/components/charts/utils/animation-utils.js +19 -19
  80. package/dist/components/core/Accordion/Accordion.theme.js +1 -1
  81. package/dist/components/core/Alert/Alert.animations.d.ts +11 -4
  82. package/dist/components/core/Alert/Alert.animations.js +11 -4
  83. package/dist/components/core/Alert/Alert.js +16 -2
  84. package/dist/components/core/Alert/Alert.theme.js +1 -1
  85. package/dist/components/core/Alert/Alert.types.d.ts +4 -2
  86. package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
  87. package/dist/components/core/Avatar/Avatar.theme.js +1 -1
  88. package/dist/components/core/Badge/Badge.animations.d.ts +0 -5
  89. package/dist/components/core/Badge/Badge.animations.js +5 -84
  90. package/dist/components/core/Badge/Badge.d.ts +7 -4
  91. package/dist/components/core/Badge/Badge.js +27 -64
  92. package/dist/components/core/Badge/Badge.theme.js +8 -12
  93. package/dist/components/core/Badge/Badge.types.d.ts +18 -34
  94. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +4 -4
  95. package/dist/components/core/Button/Button.js +7 -43
  96. package/dist/components/core/Button/Button.theme.js +2 -2
  97. package/dist/components/core/Button/Button.types.d.ts +8 -12
  98. package/dist/components/core/Button/index.d.ts +0 -2
  99. package/dist/components/core/Calendar/Calendar.theme.js +1 -1
  100. package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
  101. package/dist/components/core/Card/Card.js +7 -2
  102. package/dist/components/core/Card/Card.theme.js +29 -1
  103. package/dist/components/core/Card/Card.types.d.ts +20 -0
  104. package/dist/components/core/Card/CardBody.js +9 -1
  105. package/dist/components/core/Card/CardContext.d.ts +13 -0
  106. package/dist/components/core/Card/CardContext.js +14 -0
  107. package/dist/components/core/Card/CardHeader.js +4 -1
  108. package/dist/components/core/ContextMenu/ContextMenu.theme.js +4 -3
  109. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +8 -1
  110. package/dist/components/core/ContextMenu/ContextMenuSub.d.ts +11 -1
  111. package/dist/components/core/ContextMenu/ContextMenuSub.js +35 -22
  112. package/dist/components/core/ContextMenu/ContextMenuSubBody.js +14 -3
  113. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +21 -8
  114. package/dist/components/core/DragDrop/DragDrop.theme.js +2 -2
  115. package/dist/components/core/Drawer/Drawer.theme.js +1 -1
  116. package/dist/components/core/Drawer/DrawerHeader.js +0 -1
  117. package/dist/components/core/Dropdown/DropdownMenu.js +22 -7
  118. package/dist/components/core/Link/Link.js +1 -1
  119. package/dist/components/core/Masonry/Masonry.theme.js +1 -1
  120. package/dist/components/core/MenuItem/MenuItem.js +2 -1
  121. package/dist/components/core/MenuItem/MenuItem.theme.js +13 -1
  122. package/dist/components/core/Message/Message.js +2 -0
  123. package/dist/components/core/Message/Message.theme.js +3 -3
  124. package/dist/components/core/Modal/Modal.animations.d.ts +1 -1
  125. package/dist/components/core/Modal/Modal.animations.js +50 -11
  126. package/dist/components/core/Modal/Modal.js +5 -1
  127. package/dist/components/core/Modal/Modal.theme.js +1 -1
  128. package/dist/components/core/Modal/ModalHeader.js +0 -1
  129. package/dist/components/core/ModalStack/ModalStackModal.js +3 -1
  130. package/dist/components/core/NavItem/NavItem.js +3 -2
  131. package/dist/components/core/NavItem/NavItem.theme.js +1 -1
  132. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +4 -2
  133. package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
  134. package/dist/components/core/Pagination/Pagination.theme.js +2 -2
  135. package/dist/components/core/Pill/Pill.js +2 -1
  136. package/dist/components/core/Pill/Pill.theme.js +4 -2
  137. package/dist/components/core/Popover/PopoverBody.js +16 -5
  138. package/dist/components/core/Progress/Progress.d.ts +0 -25
  139. package/dist/components/core/Progress/Progress.js +79 -11
  140. package/dist/components/core/Progress/Progress.theme.js +17 -0
  141. package/dist/components/core/Progress/Progress.types.d.ts +47 -1
  142. package/dist/components/core/Rating/Rating.theme.js +1 -1
  143. package/dist/components/core/Rating/Rating.types.d.ts +3 -2
  144. package/dist/components/core/ScrollArea/ScrollArea.js +1 -1
  145. package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
  146. package/dist/components/core/Segmented/Segmented.theme.js +3 -3
  147. package/dist/components/core/Segmented/SegmentedContext.js +1 -0
  148. package/dist/components/core/Sidebar/Sidebar.js +5 -2
  149. package/dist/components/core/Sidebar/Sidebar.theme.js +2 -2
  150. package/dist/components/core/Sidebar/SidebarContent.js +1 -1
  151. package/dist/components/core/Sidebar/SidebarHeader.js +1 -1
  152. package/dist/components/core/Sidebar/SidebarSearch.js +2 -2
  153. package/dist/components/core/Sidebar/SidebarToggle.js +1 -1
  154. package/dist/components/core/Sidebar/SidebarUserProfile.js +1 -1
  155. package/dist/components/core/Sortable/Sortable.theme.js +1 -1
  156. package/dist/components/core/Tabs/Tabs.theme.js +1 -1
  157. package/dist/components/core/Tag/Tag.theme.js +1 -1
  158. package/dist/components/core/Toast/ToastProvider.js +1 -1
  159. package/dist/components/core/Tree/Tree.theme.js +1 -1
  160. package/dist/components/core/index.d.ts +0 -2
  161. package/dist/components/core/index.js +0 -4
  162. package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.d.ts +4 -0
  163. package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.js +20 -0
  164. package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.js +1 -1
  165. package/dist/components/core/shared/Ripple.d.ts +16 -0
  166. package/dist/components/core/shared/Ripple.js +141 -0
  167. package/dist/components/data-display/GanttChart/GanttChart.theme.js +6 -6
  168. package/dist/components/data-display/GanttChart/GanttTaskBar.js +1 -1
  169. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +1 -1
  170. package/dist/components/data-display/GanttChart/GanttToolbar.js +0 -1
  171. package/dist/components/data-display/KPI/KPI.js +11 -20
  172. package/dist/components/data-display/KPI/KPI.theme.js +8 -4
  173. package/dist/components/data-display/Metric/Metric.theme.js +4 -4
  174. package/dist/components/data-display/Table/Table.theme.js +2 -2
  175. package/dist/components/data-display/Table/TableColumnManager.js +1 -2
  176. package/dist/components/data-display/Table/TableContext.js +1 -0
  177. package/dist/components/data-display/Table/TableFilter.js +9 -2
  178. package/dist/components/data-display/Table/TableSelectionHeader.js +1 -1
  179. package/dist/components/data-display/Timeline/Timeline.theme.js +1 -1
  180. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +1 -1
  181. package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
  182. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +4 -4
  183. package/dist/components/effects/Neumorphic/InsetCircleButton.js +1 -1
  184. package/dist/components/effects/Overlay/Overlay.js +7 -3
  185. package/dist/components/effects/index.d.ts +0 -32
  186. package/dist/components/effects/index.js +0 -16
  187. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +0 -2
  188. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +1 -93
  189. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +0 -10
  190. package/dist/components/effects/shared/ShaderCanvas/index.d.ts +1 -1
  191. package/dist/components/effects/shared/index.d.ts +1 -3
  192. package/dist/components/effects/shared/shaderNoise.glsl.d.ts +1 -1
  193. package/dist/components/effects/shared/shaderNoise.glsl.js +2 -11
  194. package/dist/components/forms/Checkbox/Checkbox.theme.js +1 -1
  195. package/dist/components/forms/ColorPicker/ColorPickerHeader.js +1 -1
  196. package/dist/components/forms/ColorPicker/ColorPickerImage.js +1 -1
  197. package/dist/components/forms/Combobox/Combobox.js +2 -0
  198. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
  199. package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +1 -0
  200. package/dist/components/forms/FileUpload/FileUpload.theme.js +2 -2
  201. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +1 -1
  202. package/dist/components/forms/InputAddress/InputAddress.types.d.ts +2 -2
  203. package/dist/components/forms/Radio/Radio.theme.js +1 -1
  204. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +12 -16
  205. package/dist/components/forms/RichTextEditor/RichTextEditor.js +165 -1680
  206. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +12 -56
  207. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +60 -118
  208. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +62 -126
  209. package/dist/components/forms/RichTextEditor/RichTextLinkField.d.ts +18 -0
  210. package/dist/components/forms/RichTextEditor/RichTextLinkField.js +46 -0
  211. package/dist/components/forms/RichTextEditor/RichTextToolbar.d.ts +15 -0
  212. package/dist/components/forms/RichTextEditor/RichTextToolbar.js +93 -0
  213. package/dist/components/forms/RichTextEditor/editorCommands.d.ts +50 -0
  214. package/dist/components/forms/RichTextEditor/editorCommands.js +58 -0
  215. package/dist/components/forms/RichTextEditor/editorState.d.ts +19 -0
  216. package/dist/components/forms/RichTextEditor/editorState.js +103 -0
  217. package/dist/components/forms/RichTextEditor/index.d.ts +5 -3
  218. package/dist/components/forms/RichTextEditor/sanitizeHtml.d.ts +38 -0
  219. package/dist/components/forms/RichTextEditor/sanitizeHtml.js +179 -0
  220. package/dist/components/forms/RichTextEditor/sanitizeHtml.test.d.ts +1 -0
  221. package/dist/components/forms/Select/Select.js +4 -4
  222. package/dist/components/forms/Select/Select.types.d.ts +70 -7
  223. package/dist/components/forms/Select/useSelectState.d.ts +9 -3
  224. package/dist/components/forms/Select/useSelectState.js +4 -1
  225. package/dist/components/forms/SelectableCard/SelectableCard.js +2 -1
  226. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +1 -1
  227. package/dist/components/forms/Switch/Switch.theme.js +2 -2
  228. package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -1
  229. package/dist/components/forms/TimePicker/TimePickerTrigger.js +1 -1
  230. package/dist/components/forms/forms.theme.js +19 -5
  231. package/dist/components/forms/index.js +1 -0
  232. package/dist/components/generative/FormShell.d.ts +22 -0
  233. package/dist/components/generative/FormShell.js +102 -0
  234. package/dist/components/generative/GenerativeView.d.ts +52 -1
  235. package/dist/components/generative/GenerativeView.js +203 -11
  236. package/dist/components/generative/actions.d.ts +5 -0
  237. package/dist/components/generative/ai-sdk/index.d.ts +1 -0
  238. package/dist/components/generative/ai-sdk/index.js +1 -0
  239. package/dist/components/generative/ai-sdk/useGenerativeChat.d.ts +52 -0
  240. package/dist/components/generative/ai-sdk/useGenerativeChat.js +73 -0
  241. package/dist/components/generative/ai-sdk/useGenerativeChat.test.d.ts +1 -0
  242. package/dist/components/generative/fieldBinding.d.ts +31 -0
  243. package/dist/components/generative/fieldBinding.js +33 -0
  244. package/dist/components/generative/fieldBinding.test.d.ts +1 -0
  245. package/dist/components/generative/formScope.d.ts +71 -0
  246. package/dist/components/generative/formScope.js +135 -0
  247. package/dist/components/generative/index.d.ts +4 -0
  248. package/dist/components/generative/index.js +4 -0
  249. package/dist/components/generative/registry.d.ts +2 -0
  250. package/dist/components/generative/registry.js +10 -10
  251. package/dist/components/generative/schema.generated.js +178 -292
  252. package/dist/components/generative/toToolResult.d.ts +21 -0
  253. package/dist/components/generative/toToolResult.js +15 -0
  254. package/dist/components/generative/toToolResult.test.d.ts +1 -0
  255. package/dist/components/generative/validate.d.ts +10 -1
  256. package/dist/components/generative/validate.js +126 -11
  257. package/dist/components/layout/Grid/Grid.js +1 -0
  258. package/dist/components/layout/Section/Section.theme.js +1 -1
  259. package/dist/components/layout/Stack/Stack.js +1 -0
  260. package/dist/generative.schema.json +178 -292
  261. package/dist/index.js +1 -4
  262. package/dist/registry.json +2599 -2375
  263. package/dist/shadcn-compat.css +5 -5
  264. package/dist/styles/theme.test.d.ts +1 -0
  265. package/dist/styles.css +1 -1
  266. package/dist/test/render.d.ts +17 -0
  267. package/dist/themes/precision.css +232 -0
  268. package/dist/tools.json +179 -294
  269. package/dist/utils/index.d.ts +0 -1
  270. package/package.json +31 -1
  271. package/src/global.scss +21 -28
  272. package/src/styles/theme.css +124 -41
  273. package/src/styles/theme.test.ts +119 -0
  274. package/tailwind.preset.cjs +30 -20
  275. package/dist/components/charts/FunnelChart/FunnelChart.animations.d.ts +0 -35
  276. package/dist/components/charts/FunnelChart/FunnelChart.animations.js +0 -59
  277. package/dist/components/charts/FunnelChart/FunnelChart.d.ts +0 -8
  278. package/dist/components/charts/FunnelChart/FunnelChart.js +0 -410
  279. package/dist/components/charts/FunnelChart/FunnelChart.theme.d.ts +0 -2
  280. package/dist/components/charts/FunnelChart/FunnelChart.theme.js +0 -12
  281. package/dist/components/charts/FunnelChart/FunnelChart.types.d.ts +0 -105
  282. package/dist/components/charts/FunnelChart/index.d.ts +0 -4
  283. package/dist/components/charts/ScatterPlot/ScatterPlot.d.ts +0 -9
  284. package/dist/components/charts/ScatterPlot/ScatterPlot.js +0 -208
  285. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -18
  286. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +0 -42
  287. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +0 -60
  288. package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +0 -19
  289. package/dist/components/charts/ScatterPlot/index.d.ts +0 -3
  290. package/dist/components/core/Button/Button.ripple.d.ts +0 -71
  291. package/dist/components/core/Button/Button.ripple.js +0 -236
  292. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.d.ts +0 -4
  293. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.theme.d.ts +0 -12
  294. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +0 -23
  295. package/dist/components/core/Calendar/CalendarEvent/index.d.ts +0 -2
  296. package/dist/components/core/CardStack/CardStack.animations.d.ts +0 -47
  297. package/dist/components/core/CardStack/CardStack.d.ts +0 -3
  298. package/dist/components/core/CardStack/CardStack.js +0 -187
  299. package/dist/components/core/CardStack/CardStack.theme.d.ts +0 -6
  300. package/dist/components/core/CardStack/CardStack.theme.js +0 -33
  301. package/dist/components/core/CardStack/CardStack.types.d.ts +0 -139
  302. package/dist/components/core/CardStack/index.d.ts +0 -7
  303. package/dist/components/core/Carousel/Carousel.d.ts +0 -3
  304. package/dist/components/core/Carousel/Carousel.js +0 -83
  305. package/dist/components/core/Carousel/Carousel.theme.d.ts +0 -10
  306. package/dist/components/core/Carousel/Carousel.theme.js +0 -20
  307. package/dist/components/core/Carousel/Carousel.types.d.ts +0 -113
  308. package/dist/components/core/Carousel/CarouselBody.d.ts +0 -4
  309. package/dist/components/core/Carousel/CarouselBody.js +0 -59
  310. package/dist/components/core/Carousel/CarouselContext.d.ts +0 -3
  311. package/dist/components/core/Carousel/CarouselContext.js +0 -13
  312. package/dist/components/core/Carousel/CarouselItem.d.ts +0 -4
  313. package/dist/components/core/Carousel/CarouselItem.js +0 -11
  314. package/dist/components/core/Carousel/CarouselNext.d.ts +0 -4
  315. package/dist/components/core/Carousel/CarouselNext.js +0 -16
  316. package/dist/components/core/Carousel/CarouselPrevious.d.ts +0 -4
  317. package/dist/components/core/Carousel/CarouselPrevious.js +0 -16
  318. package/dist/components/core/Carousel/index.d.ts +0 -3
  319. package/dist/components/effects/ColorPanels/ColorPanels.d.ts +0 -8
  320. package/dist/components/effects/ColorPanels/ColorPanels.js +0 -66
  321. package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +0 -12
  322. package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +0 -218
  323. package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +0 -29
  324. package/dist/components/effects/ColorPanels/ColorPanels.types.js +0 -3
  325. package/dist/components/effects/ColorPanels/index.d.ts +0 -2
  326. package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +0 -9
  327. package/dist/components/effects/FlutedGlass/FlutedGlass.js +0 -80
  328. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +0 -12
  329. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +0 -335
  330. package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +0 -61
  331. package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +0 -16
  332. package/dist/components/effects/FlutedGlass/index.d.ts +0 -3
  333. package/dist/components/effects/GlassEffect/GlassEffect.d.ts +0 -15
  334. package/dist/components/effects/GlassEffect/GlassEffect.js +0 -38
  335. package/dist/components/effects/GlassEffect/GlassEffect.types.d.ts +0 -19
  336. package/dist/components/effects/GlassEffect/index.d.ts +0 -2
  337. package/dist/components/effects/GlassSurface/GlassSurface.d.ts +0 -8
  338. package/dist/components/effects/GlassSurface/GlassSurface.js +0 -250
  339. package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +0 -66
  340. package/dist/components/effects/GlassSurface/index.d.ts +0 -2
  341. package/dist/components/effects/GodRays/GodRays.d.ts +0 -8
  342. package/dist/components/effects/GodRays/GodRays.js +0 -68
  343. package/dist/components/effects/GodRays/GodRays.shaders.d.ts +0 -10
  344. package/dist/components/effects/GodRays/GodRays.shaders.js +0 -128
  345. package/dist/components/effects/GodRays/GodRays.types.d.ts +0 -25
  346. package/dist/components/effects/GodRays/GodRays.types.js +0 -3
  347. package/dist/components/effects/GodRays/index.d.ts +0 -2
  348. package/dist/components/effects/GridPattern/GridPattern.d.ts +0 -18
  349. package/dist/components/effects/GridPattern/GridPattern.js +0 -65
  350. package/dist/components/effects/GridPattern/GridPattern.types.d.ts +0 -47
  351. package/dist/components/effects/GridPattern/index.d.ts +0 -2
  352. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +0 -10
  353. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +0 -78
  354. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +0 -22
  355. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +0 -239
  356. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +0 -52
  357. package/dist/components/effects/HalftoneCmyk/index.d.ts +0 -2
  358. package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +0 -9
  359. package/dist/components/effects/HalftoneDots/HalftoneDots.js +0 -68
  360. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +0 -13
  361. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +0 -296
  362. package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +0 -43
  363. package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +0 -12
  364. package/dist/components/effects/HalftoneDots/index.d.ts +0 -3
  365. package/dist/components/effects/ImageDithering/ImageDithering.d.ts +0 -9
  366. package/dist/components/effects/ImageDithering/ImageDithering.js +0 -68
  367. package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +0 -12
  368. package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +0 -117
  369. package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +0 -30
  370. package/dist/components/effects/ImageDithering/ImageDithering.types.js +0 -8
  371. package/dist/components/effects/ImageDithering/index.d.ts +0 -3
  372. package/dist/components/effects/MagneticElement/MagneticElement.d.ts +0 -30
  373. package/dist/components/effects/MagneticElement/MagneticElement.js +0 -111
  374. package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +0 -44
  375. package/dist/components/effects/MagneticElement/index.d.ts +0 -2
  376. package/dist/components/effects/Metaballs/Metaballs.d.ts +0 -8
  377. package/dist/components/effects/Metaballs/Metaballs.js +0 -59
  378. package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +0 -10
  379. package/dist/components/effects/Metaballs/Metaballs.shaders.js +0 -102
  380. package/dist/components/effects/Metaballs/Metaballs.types.d.ts +0 -16
  381. package/dist/components/effects/Metaballs/Metaballs.types.js +0 -3
  382. package/dist/components/effects/Metaballs/index.d.ts +0 -2
  383. package/dist/components/effects/PaperTexture/PaperTexture.d.ts +0 -9
  384. package/dist/components/effects/PaperTexture/PaperTexture.js +0 -61
  385. package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +0 -22
  386. package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +0 -145
  387. package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +0 -19
  388. package/dist/components/effects/PaperTexture/index.d.ts +0 -2
  389. package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +0 -27
  390. package/dist/components/effects/PulsingBorder/PulsingBorder.js +0 -174
  391. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +0 -14
  392. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +0 -258
  393. package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +0 -75
  394. package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +0 -3
  395. package/dist/components/effects/PulsingBorder/index.d.ts +0 -2
  396. package/dist/components/effects/SmokeRing/SmokeRing.d.ts +0 -8
  397. package/dist/components/effects/SmokeRing/SmokeRing.js +0 -62
  398. package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +0 -14
  399. package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +0 -130
  400. package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +0 -22
  401. package/dist/components/effects/SmokeRing/SmokeRing.types.js +0 -3
  402. package/dist/components/effects/SmokeRing/index.d.ts +0 -2
  403. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +0 -9
  404. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +0 -59
  405. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +0 -14
  406. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +0 -129
  407. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +0 -23
  408. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +0 -3
  409. package/dist/components/effects/StaticGradientMesh/index.d.ts +0 -2
  410. package/dist/components/effects/Water/Water.d.ts +0 -9
  411. package/dist/components/effects/Water/Water.js +0 -65
  412. package/dist/components/effects/Water/Water.shaders.d.ts +0 -11
  413. package/dist/components/effects/Water/Water.shaders.js +0 -123
  414. package/dist/components/effects/Water/Water.types.d.ts +0 -25
  415. package/dist/components/effects/Water/index.d.ts +0 -2
  416. package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +0 -10
  417. package/dist/components/effects/shared/bayerMatrices.glsl.js +0 -44
  418. package/dist/components/effects/shared/imageUV.glsl.d.ts +0 -12
  419. package/dist/components/effects/shared/imageUV.glsl.js +0 -26
  420. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.d.ts +0 -7
  421. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +0 -32
  422. package/dist/utils/calendarUtils.d.ts +0 -60
  423. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.d.ts +0 -0
  424. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.d.ts +0 -0
  425. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.js +0 -0
  426. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.types.d.ts +0 -0
  427. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltipContent.d.ts +0 -0
  428. /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,4 +0,0 @@
1
- import React from 'react';
2
- import { CarouselBodyProps } from './Carousel.types';
3
- declare const CarouselBody: React.ForwardRefExoticComponent<CarouselBodyProps & React.RefAttributes<HTMLDivElement>>;
4
- export { CarouselBody };
@@ -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,3 +0,0 @@
1
- import { CarouselContextValue } from './Carousel.types';
2
- export declare const CarouselContext: import("react").Context<CarouselContextValue | undefined>;
3
- export declare const useCarouselContext: () => CarouselContextValue;
@@ -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,4 +0,0 @@
1
- import React from 'react';
2
- import { CarouselItemProps } from './Carousel.types';
3
- declare const CarouselItem: React.ForwardRefExoticComponent<CarouselItemProps & React.RefAttributes<HTMLDivElement>>;
4
- export { CarouselItem };
@@ -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,4 +0,0 @@
1
- import React from 'react';
2
- import { CarouselControlProps } from './Carousel.types';
3
- declare const CarouselNext: React.ForwardRefExoticComponent<CarouselControlProps & React.RefAttributes<HTMLButtonElement>>;
4
- export { CarouselNext };
@@ -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,4 +0,0 @@
1
- import React from 'react';
2
- import { CarouselControlProps } from './Carousel.types';
3
- declare const CarouselPrevious: React.ForwardRefExoticComponent<CarouselControlProps & React.RefAttributes<HTMLButtonElement>>;
4
- export { CarouselPrevious };
@@ -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,3 +0,0 @@
1
- export { Carousel } from './Carousel';
2
- export { CarouselBody } from './CarouselBody';
3
- export type { CarouselProps, CarouselBodyProps, CarouselItemProps, CarouselControlProps, CarouselOptions, CarouselOrientation, } from './Carousel.types';
@@ -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,3 +0,0 @@
1
- const COLOR_PANELS_MAX_COLORS = 7;
2
-
3
- export { COLOR_PANELS_MAX_COLORS };
@@ -1,2 +0,0 @@
1
- export { ColorPanels } from "./ColorPanels";
2
- export type { ColorPanelsProps } from "./ColorPanels.types";
@@ -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>;