@flikk/ui 1.0.0-beta.30 → 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 (610) hide show
  1. package/CHANGELOG.md +375 -5
  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/AgentStatus/AgentStatus.d.ts +3 -0
  11. package/dist/components/ai/AgentStatus/AgentStatus.js +144 -0
  12. package/dist/components/ai/AgentStatus/AgentStatus.theme.d.ts +2 -0
  13. package/dist/components/ai/AgentStatus/AgentStatus.theme.js +37 -0
  14. package/dist/components/ai/AgentStatus/AgentStatus.types.d.ts +116 -0
  15. package/dist/components/ai/AgentStatus/index.d.ts +3 -0
  16. package/dist/components/ai/CodeBlock/CodeBlock.js +3 -3
  17. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +2 -2
  18. package/dist/components/ai/PromptInput/PromptInput.js +13 -14
  19. package/dist/components/ai/PromptInput/PromptInput.theme.js +3 -3
  20. package/dist/components/ai/PromptInput/VoiceRecorder.js +3 -3
  21. package/dist/components/ai/PromptSuggestion/PromptSuggestion.theme.js +2 -2
  22. package/dist/components/ai/Reasoning/Reasoning.d.ts +5 -0
  23. package/dist/components/ai/Reasoning/Reasoning.js +40 -0
  24. package/dist/components/ai/Reasoning/Reasoning.theme.d.ts +6 -0
  25. package/dist/components/ai/Reasoning/Reasoning.theme.js +36 -0
  26. package/dist/components/ai/Reasoning/Reasoning.types.d.ts +73 -0
  27. package/dist/components/ai/Reasoning/ReasoningTrace.d.ts +11 -0
  28. package/dist/components/ai/Reasoning/ReasoningTrace.js +84 -0
  29. package/dist/components/ai/Reasoning/index.d.ts +3 -0
  30. package/dist/components/ai/SourceCitation/SourceCitation.d.ts +4 -0
  31. package/dist/components/ai/SourceCitation/SourceCitation.js +29 -0
  32. package/dist/components/ai/SourceCitation/SourceCitation.theme.d.ts +2 -0
  33. package/dist/components/ai/SourceCitation/SourceCitation.theme.js +23 -0
  34. package/dist/components/ai/SourceCitation/SourceCitation.types.d.ts +55 -0
  35. package/dist/components/ai/SourceCitation/index.d.ts +3 -0
  36. package/dist/components/ai/StreamingResponse/AnimatedText.d.ts +7 -0
  37. package/dist/components/ai/StreamingResponse/AnimatedText.js +8 -7
  38. package/dist/components/ai/StreamingResponse/ErrorDisplay.js +2 -2
  39. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -0
  40. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +4 -4
  41. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +2 -2
  42. package/dist/components/ai/StreamingResponse/StreamingCursor.js +10 -7
  43. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +10 -0
  44. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +59 -33
  45. package/dist/components/ai/StreamingResponse/StreamingResponse.js +14 -10
  46. package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +3 -1
  47. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +33 -2
  48. package/dist/components/ai/StreamingResponse/StreamingSurface.d.ts +13 -0
  49. package/dist/components/ai/StreamingResponse/StreamingSurface.js +38 -0
  50. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +5 -0
  51. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +5 -4
  52. package/dist/components/ai/StreamingResponse/index.d.ts +4 -2
  53. package/dist/components/ai/TokenCounter/TokenCounter.js +2 -2
  54. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  55. package/dist/components/ai/index.d.ts +6 -2
  56. package/dist/components/ai/index.js +10 -3
  57. package/dist/components/ai/shared/StatusIndicator.d.ts +8 -0
  58. package/dist/components/ai/shared/StatusIndicator.js +34 -0
  59. package/dist/components/canvas/BaseNode.js +1 -1
  60. package/dist/components/canvas/CanvasToolbar.js +2 -3
  61. package/dist/components/canvas/Edge.js +2 -2
  62. package/dist/components/canvas/NodeControls.js +2 -3
  63. package/dist/components/canvas/NodeRenderer.js +4 -4
  64. package/dist/components/charts/ActivityRings/ActivityRings.js +4 -4
  65. package/dist/components/charts/ActivityRings/ActivityRings.theme.js +1 -1
  66. package/dist/components/charts/AreaChart/AreaChart.js +24 -35
  67. package/dist/components/charts/AreaChart/AreaChart.theme.d.ts +1 -6
  68. package/dist/components/charts/AreaChart/AreaChart.theme.js +10 -22
  69. package/dist/components/charts/AreaChart/AreaChart.types.d.ts +18 -11
  70. package/dist/components/charts/AreaChart/AreaChart.types.js +10 -3
  71. package/dist/components/charts/AreaChart/index.d.ts +1 -1
  72. package/dist/components/charts/BarChart/BarChart.js +13 -32
  73. package/dist/components/charts/BarChart/BarChart.types.d.ts +20 -16
  74. package/dist/components/charts/BarChart/BarChart.types.js +11 -4
  75. package/dist/components/charts/ComboChart/BarRenderer.js +10 -7
  76. package/dist/components/charts/ComboChart/BarRenderer.types.d.ts +1 -1
  77. package/dist/components/charts/ComboChart/ComboChart.js +11 -24
  78. package/dist/components/charts/ComboChart/ComboChart.types.d.ts +15 -13
  79. package/dist/components/charts/ComboChart/ComboChart.types.js +14 -2
  80. package/dist/components/charts/ComboChart/ComboChartCanvas.js +1 -1
  81. package/dist/components/charts/ComboChart/LineRenderer.js +16 -11
  82. package/dist/components/charts/ComboChart/LineRenderer.types.d.ts +1 -1
  83. package/dist/components/charts/DonutChart/DonutChart.theme.js +4 -4
  84. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
  85. package/dist/components/charts/Heatmap/Heatmap.js +49 -42
  86. package/dist/components/charts/Heatmap/Heatmap.theme.d.ts +6 -2
  87. package/dist/components/charts/Heatmap/Heatmap.theme.js +20 -8
  88. package/dist/components/charts/Heatmap/Heatmap.types.d.ts +49 -82
  89. package/dist/components/charts/Heatmap/HeatmapCell.js +30 -81
  90. package/dist/components/charts/Heatmap/HeatmapLegend.d.ts +7 -6
  91. package/dist/components/charts/Heatmap/HeatmapLegend.js +6 -6
  92. package/dist/components/charts/Heatmap/index.d.ts +1 -1
  93. package/dist/components/charts/Heatmap/utils/heatmapUtils.d.ts +7 -12
  94. package/dist/components/charts/Heatmap/utils/heatmapUtils.js +16 -61
  95. package/dist/components/charts/Heatmap/utils/heatmapUtils.test.d.ts +1 -0
  96. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.d.ts +16 -0
  97. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +237 -0
  98. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.d.ts +62 -0
  99. package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.js +21 -0
  100. package/dist/components/charts/HorizontalBarChart/index.d.ts +3 -0
  101. package/dist/components/charts/LineChart/LineChart.js +11 -28
  102. package/dist/components/charts/LineChart/LineChart.types.d.ts +11 -14
  103. package/dist/components/charts/LineChart/LineChart.types.js +11 -3
  104. package/dist/components/charts/LollipopChart/LollipopChart.d.ts +3 -0
  105. package/dist/components/charts/LollipopChart/LollipopChart.js +361 -0
  106. package/dist/components/charts/LollipopChart/LollipopChart.types.d.ts +42 -0
  107. package/dist/components/charts/LollipopChart/LollipopChart.types.js +12 -0
  108. package/dist/components/charts/LollipopChart/index.d.ts +3 -0
  109. package/dist/components/charts/RadarChart/RadarChart.js +1 -1
  110. package/dist/components/charts/StackedBarChart/StackedBarChart.js +151 -133
  111. package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +20 -18
  112. package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +10 -4
  113. package/dist/components/charts/hooks/useChartAccessibility.d.ts +1 -1
  114. package/dist/components/charts/hooks/useChartAccessibility.js +12 -6
  115. package/dist/components/charts/hooks/useTooltipPosition.js +18 -6
  116. package/dist/components/charts/index.d.ts +10 -8
  117. package/dist/components/charts/index.js +8 -4
  118. package/dist/components/charts/shared/ChartAxis/CategoryYAxis.d.ts +14 -0
  119. package/dist/components/charts/shared/ChartAxis/CategoryYAxis.js +35 -0
  120. package/dist/components/charts/shared/ChartAxis/ChartAxis.types.d.ts +69 -8
  121. package/dist/components/charts/shared/ChartAxis/ValueXAxis.d.ts +14 -0
  122. package/dist/components/charts/shared/ChartAxis/ValueXAxis.js +64 -0
  123. package/dist/components/charts/shared/ChartAxis/XAxis.js +1 -1
  124. package/dist/components/charts/shared/ChartAxis/YAxis.js +2 -2
  125. package/dist/components/charts/shared/ChartAxis/index.d.ts +3 -1
  126. package/dist/components/charts/shared/ChartGrid/HorizontalGrid.d.ts +0 -2
  127. package/dist/components/charts/shared/ChartGrid/HorizontalGrid.js +1 -1
  128. package/dist/components/charts/shared/ChartGrid/VerticalGrid.d.ts +29 -0
  129. package/dist/components/charts/shared/ChartGrid/VerticalGrid.js +26 -0
  130. package/dist/components/charts/shared/ChartGrid/index.d.ts +2 -0
  131. package/dist/components/charts/shared/ChartMarker/ChartMarker.js +7 -1
  132. package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
  133. package/dist/components/charts/shared/index.d.ts +1 -1
  134. package/dist/components/charts/theme/chart.theme.js +21 -26
  135. package/dist/components/charts/types/chart.types.d.ts +9 -5
  136. package/dist/components/charts/types/chart.types.js +1 -7
  137. package/dist/components/charts/utils/animation-utils.d.ts +12 -7
  138. package/dist/components/charts/utils/animation-utils.js +19 -21
  139. package/dist/components/charts/utils/bar-emphasis.d.ts +32 -3
  140. package/dist/components/charts/utils/bar-emphasis.js +24 -8
  141. package/dist/components/charts/utils/index.d.ts +1 -0
  142. package/dist/components/charts/utils/series-color.d.ts +7 -0
  143. package/dist/components/charts/utils/series-color.js +20 -0
  144. package/dist/components/core/Accordion/Accordion.theme.js +3 -3
  145. package/dist/components/core/Accordion/AccordionTrigger.js +2 -2
  146. package/dist/components/core/Alert/Alert.animations.d.ts +11 -3
  147. package/dist/components/core/Alert/Alert.animations.js +30 -8
  148. package/dist/components/core/Alert/Alert.js +23 -9
  149. package/dist/components/core/Alert/Alert.theme.js +1 -1
  150. package/dist/components/core/Alert/Alert.types.d.ts +4 -2
  151. package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
  152. package/dist/components/core/Avatar/Avatar.js +50 -42
  153. package/dist/components/core/Avatar/Avatar.theme.d.ts +8 -4
  154. package/dist/components/core/Avatar/Avatar.theme.js +64 -8
  155. package/dist/components/core/Avatar/Avatar.types.d.ts +13 -2
  156. package/dist/components/core/Avatar/index.d.ts +1 -1
  157. package/dist/components/core/AvatarGroup/AvatarGroup.js +6 -8
  158. package/dist/components/core/AvatarGroup/AvatarGroup.theme.d.ts +1 -2
  159. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +2 -6
  160. package/dist/components/core/AvatarGroup/AvatarGroup.types.d.ts +0 -6
  161. package/dist/components/core/AvatarGroup/index.d.ts +1 -1
  162. package/dist/components/core/Badge/Badge.animations.d.ts +0 -5
  163. package/dist/components/core/Badge/Badge.animations.js +5 -82
  164. package/dist/components/core/Badge/Badge.d.ts +7 -4
  165. package/dist/components/core/Badge/Badge.js +33 -65
  166. package/dist/components/core/Badge/Badge.theme.js +26 -24
  167. package/dist/components/core/Badge/Badge.types.d.ts +18 -34
  168. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.d.ts +1 -4
  169. package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +6 -6
  170. package/dist/components/core/Button/Button.js +14 -58
  171. package/dist/components/core/Button/Button.theme.d.ts +2 -0
  172. package/dist/components/core/Button/Button.theme.js +35 -22
  173. package/dist/components/core/Button/Button.types.d.ts +26 -13
  174. package/dist/components/core/Button/index.d.ts +0 -2
  175. package/dist/components/core/Calendar/Calendar.js +20 -5
  176. package/dist/components/core/Calendar/Calendar.theme.js +15 -23
  177. package/dist/components/core/Calendar/Calendar.types.d.ts +0 -1
  178. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +3 -3
  179. package/dist/components/core/Calendar/CalendarMini/CalendarMini.theme.js +2 -2
  180. package/dist/components/core/Card/Card.js +7 -2
  181. package/dist/components/core/Card/Card.theme.js +40 -4
  182. package/dist/components/core/Card/Card.types.d.ts +20 -0
  183. package/dist/components/core/Card/CardBody.js +9 -1
  184. package/dist/components/core/Card/CardContext.d.ts +13 -0
  185. package/dist/components/core/Card/CardContext.js +14 -0
  186. package/dist/components/core/Card/CardFooter.js +1 -1
  187. package/dist/components/core/Card/CardHeader.js +4 -1
  188. package/dist/components/core/CommandPalette/CommandPalette.js +5 -4
  189. package/dist/components/core/CommandPalette/CommandPalette.theme.js +3 -7
  190. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +2 -0
  191. package/dist/components/core/ContextMenu/ContextMenu.theme.js +4 -3
  192. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +8 -1
  193. package/dist/components/core/ContextMenu/ContextMenuItem.js +2 -2
  194. package/dist/components/core/ContextMenu/ContextMenuSub.d.ts +11 -1
  195. package/dist/components/core/ContextMenu/ContextMenuSub.js +35 -22
  196. package/dist/components/core/ContextMenu/ContextMenuSubBody.js +14 -3
  197. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +22 -9
  198. package/dist/components/core/DragDrop/DragDrop.theme.js +2 -2
  199. package/dist/components/core/Drawer/Drawer.theme.js +7 -4
  200. package/dist/components/core/Drawer/DrawerHeader.js +2 -3
  201. package/dist/components/core/Dropdown/Dropdown.theme.js +3 -1
  202. package/dist/components/core/Dropdown/DropdownItem.js +2 -2
  203. package/dist/components/core/Dropdown/DropdownMenu.js +22 -7
  204. package/dist/components/core/Dropdown/DropdownTrigger.js +16 -5
  205. package/dist/components/core/HeroCard/HeroCard.theme.js +5 -2
  206. package/dist/components/core/Kbd/Kbd.theme.js +4 -2
  207. package/dist/components/core/Link/Link.js +7 -5
  208. package/dist/components/core/Masonry/Masonry.theme.js +1 -1
  209. package/dist/components/core/MenuItem/MenuItem.js +2 -1
  210. package/dist/components/core/MenuItem/MenuItem.theme.js +13 -1
  211. package/dist/components/core/Message/Message.js +4 -2
  212. package/dist/components/core/Message/Message.theme.js +8 -10
  213. package/dist/components/core/Message/MessageAudio.js +2 -2
  214. package/dist/components/core/Message/MessageFile.js +2 -2
  215. package/dist/components/core/Message/MessageLink.js +2 -2
  216. package/dist/components/core/Message/MessageStatusIndicator.js +5 -5
  217. package/dist/components/core/Modal/Modal.animations.d.ts +1 -1
  218. package/dist/components/core/Modal/Modal.animations.js +50 -11
  219. package/dist/components/core/Modal/Modal.d.ts +1 -1
  220. package/dist/components/core/Modal/Modal.js +6 -2
  221. package/dist/components/core/Modal/Modal.theme.js +9 -4
  222. package/dist/components/core/Modal/ModalHeader.js +2 -3
  223. package/dist/components/core/ModalStack/ModalStackModal.js +4 -2
  224. package/dist/components/core/NavItem/NavItem.js +8 -7
  225. package/dist/components/core/NavItem/NavItem.theme.js +1 -1
  226. package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.d.ts +22 -0
  227. package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.js +54 -0
  228. package/dist/components/core/OfflineIndicator/OfflineIndicator.js +23 -24
  229. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +27 -6
  230. package/dist/components/core/OfflineIndicator/OfflineIndicator.types.d.ts +17 -0
  231. package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
  232. package/dist/components/core/PageHeading/PageHeadingBackButton.js +2 -2
  233. package/dist/components/core/Pagination/Pagination.js +3 -3
  234. package/dist/components/core/Pagination/Pagination.theme.js +5 -5
  235. package/dist/components/core/Pill/Pill.js +5 -2
  236. package/dist/components/core/Pill/Pill.theme.js +9 -5
  237. package/dist/components/core/Popover/PopoverBody.js +16 -5
  238. package/dist/components/core/Progress/Progress.d.ts +0 -25
  239. package/dist/components/core/Progress/Progress.js +79 -11
  240. package/dist/components/core/Progress/Progress.theme.js +17 -0
  241. package/dist/components/core/Progress/Progress.types.d.ts +47 -1
  242. package/dist/components/core/Rating/Rating.js +4 -5
  243. package/dist/components/core/Rating/Rating.theme.js +2 -2
  244. package/dist/components/core/Rating/Rating.types.d.ts +3 -2
  245. package/dist/components/core/ScrollArea/ScrollArea.js +1 -1
  246. package/dist/components/core/ScrollArea/ScrollArea.theme.js +1 -1
  247. package/dist/components/core/Segmented/Segmented.theme.js +10 -7
  248. package/dist/components/core/Segmented/SegmentedContext.js +1 -0
  249. package/dist/components/core/Sidebar/Sidebar.js +5 -2
  250. package/dist/components/core/Sidebar/Sidebar.theme.js +2 -2
  251. package/dist/components/core/Sidebar/Sidebar.types.d.ts +4 -2
  252. package/dist/components/core/Sidebar/SidebarContent.js +1 -1
  253. package/dist/components/core/Sidebar/SidebarHeader.js +3 -3
  254. package/dist/components/core/Sidebar/SidebarMobileTrigger.js +2 -2
  255. package/dist/components/core/Sidebar/SidebarSearch.js +4 -4
  256. package/dist/components/core/Sidebar/SidebarToggle.js +3 -3
  257. package/dist/components/core/Sidebar/SidebarUserProfile.js +3 -3
  258. package/dist/components/core/Sortable/Sortable.js +2 -2
  259. package/dist/components/core/Sortable/Sortable.theme.js +1 -1
  260. package/dist/components/core/Tabs/Tabs.theme.js +1 -1
  261. package/dist/components/core/Tag/Tag.js +2 -2
  262. package/dist/components/core/Tag/Tag.theme.js +5 -3
  263. package/dist/components/core/Toast/Toast.js +3 -3
  264. package/dist/components/core/Toast/Toast.types.d.ts +1 -1
  265. package/dist/components/core/Toast/ToastProvider.js +1 -1
  266. package/dist/components/core/Toast/useToast.js +5 -5
  267. package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
  268. package/dist/components/core/Tooltip/Tooltip.js +42 -10
  269. package/dist/components/core/Tooltip/Tooltip.types.d.ts +25 -0
  270. package/dist/components/core/Tree/Tree.js +2 -2
  271. package/dist/components/core/Tree/Tree.theme.js +1 -1
  272. package/dist/components/core/index.d.ts +0 -2
  273. package/dist/components/core/index.js +0 -4
  274. package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.d.ts +4 -0
  275. package/dist/components/core/shared/ChartTooltip/ChartTooltip.animations.js +20 -0
  276. package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.js +1 -1
  277. package/dist/components/core/shared/Ripple.d.ts +16 -0
  278. package/dist/components/core/shared/Ripple.js +141 -0
  279. package/dist/components/core/shared/interaction.animations.d.ts +51 -0
  280. package/dist/components/core/shared/interaction.animations.js +59 -0
  281. package/dist/components/data-display/Feed/Feed.js +2 -2
  282. package/dist/components/data-display/GanttChart/GanttChart.theme.js +7 -7
  283. package/dist/components/data-display/GanttChart/GanttChartPanel.js +2 -2
  284. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +3 -3
  285. package/dist/components/data-display/GanttChart/GanttTaskBar.js +1 -1
  286. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +2 -2
  287. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +1 -1
  288. package/dist/components/data-display/GanttChart/GanttToolbar.js +2 -3
  289. package/dist/components/data-display/KPI/KPI.js +12 -21
  290. package/dist/components/data-display/KPI/KPI.theme.js +8 -4
  291. package/dist/components/data-display/Metric/Metric.js +2 -2
  292. package/dist/components/data-display/Metric/Metric.theme.js +25 -8
  293. package/dist/components/data-display/Metric/Metric.types.d.ts +1 -1
  294. package/dist/components/data-display/Table/Table.theme.js +11 -11
  295. package/dist/components/data-display/Table/TableActions.js +2 -2
  296. package/dist/components/data-display/Table/TableActionsMenu.js +1 -1
  297. package/dist/components/data-display/Table/TableColumnManager.js +2 -3
  298. package/dist/components/data-display/Table/TableContext.js +1 -0
  299. package/dist/components/data-display/Table/TableDeclarative.js +3 -3
  300. package/dist/components/data-display/Table/TableFilter.js +13 -6
  301. package/dist/components/data-display/Table/TableHeader.js +3 -3
  302. package/dist/components/data-display/Table/TableRow.js +2 -2
  303. package/dist/components/data-display/Table/TableSelectionHeader.js +4 -4
  304. package/dist/components/data-display/Timeline/Timeline.theme.js +1 -1
  305. package/dist/components/data-display/Timeline/TimelineMarker.js +2 -2
  306. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +1 -1
  307. package/dist/components/effects/CustomCursor/CustomCursor.js +3 -3
  308. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +4 -4
  309. package/dist/components/effects/DotPattern/DotPattern.js +6 -0
  310. package/dist/components/effects/DotPattern/DotPattern.types.d.ts +4 -2
  311. package/dist/components/effects/MeshGradient/MeshGradient.utils.d.ts +1 -1
  312. package/dist/components/effects/MeshGradient/MeshGradient.utils.js +1 -1
  313. package/dist/components/effects/Neumorphic/InsetCircleButton.js +1 -1
  314. package/dist/components/effects/Overlay/Overlay.js +7 -3
  315. package/dist/components/effects/index.d.ts +0 -32
  316. package/dist/components/effects/index.js +0 -16
  317. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.d.ts +0 -2
  318. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.js +1 -93
  319. package/dist/components/effects/shared/ShaderCanvas/ShaderCanvas.types.d.ts +0 -10
  320. package/dist/components/effects/shared/ShaderCanvas/index.d.ts +1 -1
  321. package/dist/components/effects/shared/index.d.ts +1 -3
  322. package/dist/components/effects/shared/shaderNoise.glsl.d.ts +1 -1
  323. package/dist/components/effects/shared/shaderNoise.glsl.js +2 -11
  324. package/dist/components/forms/Checkbox/Checkbox.js +2 -1
  325. package/dist/components/forms/Checkbox/Checkbox.theme.js +3 -3
  326. package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +2 -2
  327. package/dist/components/forms/ColorPicker/ColorPickerGradient.js +2 -2
  328. package/dist/components/forms/ColorPicker/ColorPickerHeader.js +2 -2
  329. package/dist/components/forms/ColorPicker/ColorPickerImage.js +3 -3
  330. package/dist/components/forms/ColorPicker/ColorPickerInput.js +2 -2
  331. package/dist/components/forms/ColorPicker/ColorPickerPresets.js +2 -2
  332. package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +2 -2
  333. package/dist/components/forms/Combobox/Combobox.js +5 -3
  334. package/dist/components/forms/Combobox/Combobox.theme.js +2 -2
  335. package/dist/components/forms/DatePicker/DatePicker.animations.js +16 -25
  336. package/dist/components/forms/DatePicker/DatePicker.theme.js +2 -2
  337. package/dist/components/forms/DatePicker/DatePickerBody.js +1 -1
  338. package/dist/components/forms/DatePicker/DatePickerTrigger.js +2 -2
  339. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +4 -4
  340. package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +1 -1
  341. package/dist/components/forms/DateRangePicker/DateRangePickerContext.js +1 -0
  342. package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +2 -2
  343. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +2 -2
  344. package/dist/components/forms/FileUpload/FileUpload.js +4 -4
  345. package/dist/components/forms/FileUpload/FileUpload.theme.js +7 -3
  346. package/dist/components/forms/FileUpload/FileUploadProgress.js +7 -7
  347. package/dist/components/forms/FileUpload/FileUploadProgress.theme.js +1 -1
  348. package/dist/components/forms/Input/Input.js +6 -7
  349. package/dist/components/forms/Input/Input.theme.js +19 -15
  350. package/dist/components/forms/InputAddress/InputAddress.js +10 -3
  351. package/dist/components/forms/InputAddress/InputAddress.types.d.ts +2 -2
  352. package/dist/components/forms/InputCounter/InputCounter.js +3 -3
  353. package/dist/components/forms/InputOTP/InputOTP.d.ts +3 -12
  354. package/dist/components/forms/InputOTP/InputOTP.js +140 -151
  355. package/dist/components/forms/InputOTP/InputOTP.theme.d.ts +5 -1
  356. package/dist/components/forms/InputOTP/InputOTP.theme.js +40 -5
  357. package/dist/components/forms/InputOTP/InputOTP.types.d.ts +45 -2
  358. package/dist/components/forms/InputOTP/index.d.ts +1 -1
  359. package/dist/components/forms/InputTag/InputTag.js +5 -5
  360. package/dist/components/forms/InputTag/InputTag.theme.js +1 -2
  361. package/dist/components/forms/Mention/Mention.theme.js +3 -5
  362. package/dist/components/forms/Radio/Radio.js +3 -2
  363. package/dist/components/forms/Radio/Radio.theme.js +3 -3
  364. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +12 -16
  365. package/dist/components/forms/RichTextEditor/RichTextEditor.js +165 -1681
  366. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.d.ts +12 -56
  367. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +60 -118
  368. package/dist/components/forms/RichTextEditor/RichTextEditor.types.d.ts +62 -126
  369. package/dist/components/forms/RichTextEditor/RichTextLinkField.d.ts +18 -0
  370. package/dist/components/forms/RichTextEditor/RichTextLinkField.js +46 -0
  371. package/dist/components/forms/RichTextEditor/RichTextToolbar.d.ts +15 -0
  372. package/dist/components/forms/RichTextEditor/RichTextToolbar.js +93 -0
  373. package/dist/components/forms/RichTextEditor/editorCommands.d.ts +50 -0
  374. package/dist/components/forms/RichTextEditor/editorCommands.js +58 -0
  375. package/dist/components/forms/RichTextEditor/editorState.d.ts +19 -0
  376. package/dist/components/forms/RichTextEditor/editorState.js +103 -0
  377. package/dist/components/forms/RichTextEditor/index.d.ts +5 -3
  378. package/dist/components/forms/RichTextEditor/sanitizeHtml.d.ts +38 -0
  379. package/dist/components/forms/RichTextEditor/sanitizeHtml.js +179 -0
  380. package/dist/components/forms/RichTextEditor/sanitizeHtml.test.d.ts +1 -0
  381. package/dist/components/forms/Select/Select.d.ts +5 -1
  382. package/dist/components/forms/Select/Select.js +14 -13
  383. package/dist/components/forms/Select/Select.theme.js +4 -4
  384. package/dist/components/forms/Select/Select.types.d.ts +74 -8
  385. package/dist/components/forms/Select/useSelectState.d.ts +9 -3
  386. package/dist/components/forms/Select/useSelectState.js +4 -1
  387. package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +1 -2
  388. package/dist/components/forms/SelectableCard/SelectableCard.animations.js +6 -7
  389. package/dist/components/forms/SelectableCard/SelectableCard.js +3 -2
  390. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +1 -1
  391. package/dist/components/forms/Signature/Signature.js +1 -1
  392. package/dist/components/forms/Slider/Slider.js +24 -11
  393. package/dist/components/forms/Slider/Slider.theme.js +9 -3
  394. package/dist/components/forms/Switch/Switch.theme.js +3 -3
  395. package/dist/components/forms/TimePicker/TimePicker.theme.js +7 -8
  396. package/dist/components/forms/TimePicker/TimePickerContent.js +1 -1
  397. package/dist/components/forms/TimePicker/TimePickerTrigger.js +3 -3
  398. package/dist/components/forms/forms.theme.js +38 -13
  399. package/dist/components/forms/index.js +2 -1
  400. package/dist/components/generative/FormShell.d.ts +22 -0
  401. package/dist/components/generative/FormShell.js +102 -0
  402. package/dist/components/generative/GenerativeView.d.ts +52 -1
  403. package/dist/components/generative/GenerativeView.js +203 -11
  404. package/dist/components/generative/actions.d.ts +5 -0
  405. package/dist/components/generative/ai-sdk/index.d.ts +1 -0
  406. package/dist/components/generative/ai-sdk/index.js +1 -0
  407. package/dist/components/generative/ai-sdk/useGenerativeChat.d.ts +52 -0
  408. package/dist/components/generative/ai-sdk/useGenerativeChat.js +73 -0
  409. package/dist/components/generative/ai-sdk/useGenerativeChat.test.d.ts +1 -0
  410. package/dist/components/generative/fieldBinding.d.ts +31 -0
  411. package/dist/components/generative/fieldBinding.js +33 -0
  412. package/dist/components/generative/fieldBinding.test.d.ts +1 -0
  413. package/dist/components/generative/formScope.d.ts +71 -0
  414. package/dist/components/generative/formScope.js +135 -0
  415. package/dist/components/generative/index.d.ts +4 -0
  416. package/dist/components/generative/index.js +4 -0
  417. package/dist/components/generative/registry.d.ts +2 -0
  418. package/dist/components/generative/registry.js +197 -4
  419. package/dist/components/generative/resolvers.js +16 -16
  420. package/dist/components/generative/schema.generated.js +2522 -328
  421. package/dist/components/generative/toToolResult.d.ts +21 -0
  422. package/dist/components/generative/toToolResult.js +15 -0
  423. package/dist/components/generative/toToolResult.test.d.ts +1 -0
  424. package/dist/components/generative/validate.d.ts +10 -1
  425. package/dist/components/generative/validate.js +126 -11
  426. package/dist/components/layout/Grid/Grid.js +1 -0
  427. package/dist/components/layout/Section/Section.theme.js +1 -1
  428. package/dist/components/layout/Stack/Stack.js +1 -0
  429. package/dist/generative.schema.json +2522 -328
  430. package/dist/hooks/index.d.ts +2 -0
  431. package/dist/hooks/useElapsedTime.d.ts +28 -0
  432. package/dist/hooks/useElapsedTime.js +37 -0
  433. package/dist/hooks/useSelectPortal.d.ts +10 -2
  434. package/dist/hooks/useSelectPortal.js +6 -3
  435. package/dist/index.js +2 -5
  436. package/dist/registry.json +3262 -2464
  437. package/dist/shadcn-compat.css +6 -6
  438. package/dist/styles/theme.test.d.ts +1 -0
  439. package/dist/styles.css +1 -1
  440. package/dist/test/render.d.ts +17 -0
  441. package/dist/theme.css +5 -1
  442. package/dist/themes/ember.css +131 -0
  443. package/dist/themes/iris.css +94 -0
  444. package/dist/themes/jade.css +139 -0
  445. package/dist/themes/precision.css +232 -0
  446. package/dist/tools.json +2557 -328
  447. package/dist/utils/colorUtils.d.ts +6 -6
  448. package/dist/utils/colorUtils.js +8 -8
  449. package/dist/utils/index.d.ts +0 -1
  450. package/package.json +39 -6
  451. package/src/global.scss +32 -28
  452. package/src/styles/theme.css +547 -176
  453. package/src/styles/theme.test.ts +119 -0
  454. package/tailwind.preset.cjs +66 -38
  455. package/dist/components/charts/FunnelChart/FunnelChart.animations.d.ts +0 -35
  456. package/dist/components/charts/FunnelChart/FunnelChart.animations.js +0 -59
  457. package/dist/components/charts/FunnelChart/FunnelChart.d.ts +0 -8
  458. package/dist/components/charts/FunnelChart/FunnelChart.js +0 -410
  459. package/dist/components/charts/FunnelChart/FunnelChart.theme.d.ts +0 -2
  460. package/dist/components/charts/FunnelChart/FunnelChart.theme.js +0 -12
  461. package/dist/components/charts/FunnelChart/FunnelChart.types.d.ts +0 -105
  462. package/dist/components/charts/FunnelChart/index.d.ts +0 -4
  463. package/dist/components/charts/ScatterPlot/ScatterPlot.d.ts +0 -9
  464. package/dist/components/charts/ScatterPlot/ScatterPlot.js +0 -207
  465. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.d.ts +0 -18
  466. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +0 -42
  467. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +0 -65
  468. package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +0 -12
  469. package/dist/components/charts/ScatterPlot/index.d.ts +0 -3
  470. package/dist/components/core/Button/Button.ripple.d.ts +0 -71
  471. package/dist/components/core/Button/Button.ripple.js +0 -236
  472. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.d.ts +0 -4
  473. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.theme.d.ts +0 -12
  474. package/dist/components/core/Calendar/CalendarEvent/CalendarEvent.types.d.ts +0 -23
  475. package/dist/components/core/Calendar/CalendarEvent/index.d.ts +0 -2
  476. package/dist/components/core/CardStack/CardStack.animations.d.ts +0 -47
  477. package/dist/components/core/CardStack/CardStack.d.ts +0 -3
  478. package/dist/components/core/CardStack/CardStack.js +0 -187
  479. package/dist/components/core/CardStack/CardStack.theme.d.ts +0 -6
  480. package/dist/components/core/CardStack/CardStack.theme.js +0 -33
  481. package/dist/components/core/CardStack/CardStack.types.d.ts +0 -139
  482. package/dist/components/core/CardStack/index.d.ts +0 -7
  483. package/dist/components/core/Carousel/Carousel.d.ts +0 -3
  484. package/dist/components/core/Carousel/Carousel.js +0 -83
  485. package/dist/components/core/Carousel/Carousel.theme.d.ts +0 -10
  486. package/dist/components/core/Carousel/Carousel.theme.js +0 -20
  487. package/dist/components/core/Carousel/Carousel.types.d.ts +0 -113
  488. package/dist/components/core/Carousel/CarouselBody.d.ts +0 -4
  489. package/dist/components/core/Carousel/CarouselBody.js +0 -59
  490. package/dist/components/core/Carousel/CarouselContext.d.ts +0 -3
  491. package/dist/components/core/Carousel/CarouselContext.js +0 -13
  492. package/dist/components/core/Carousel/CarouselItem.d.ts +0 -4
  493. package/dist/components/core/Carousel/CarouselItem.js +0 -11
  494. package/dist/components/core/Carousel/CarouselNext.d.ts +0 -4
  495. package/dist/components/core/Carousel/CarouselNext.js +0 -16
  496. package/dist/components/core/Carousel/CarouselPrevious.d.ts +0 -4
  497. package/dist/components/core/Carousel/CarouselPrevious.js +0 -16
  498. package/dist/components/core/Carousel/index.d.ts +0 -3
  499. package/dist/components/core/Pill/Pill.animations.d.ts +0 -32
  500. package/dist/components/core/Pill/Pill.animations.js +0 -16
  501. package/dist/components/effects/ColorPanels/ColorPanels.d.ts +0 -8
  502. package/dist/components/effects/ColorPanels/ColorPanels.js +0 -66
  503. package/dist/components/effects/ColorPanels/ColorPanels.shaders.d.ts +0 -12
  504. package/dist/components/effects/ColorPanels/ColorPanels.shaders.js +0 -218
  505. package/dist/components/effects/ColorPanels/ColorPanels.types.d.ts +0 -29
  506. package/dist/components/effects/ColorPanels/ColorPanels.types.js +0 -3
  507. package/dist/components/effects/ColorPanels/index.d.ts +0 -2
  508. package/dist/components/effects/FlutedGlass/FlutedGlass.d.ts +0 -9
  509. package/dist/components/effects/FlutedGlass/FlutedGlass.js +0 -80
  510. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.d.ts +0 -12
  511. package/dist/components/effects/FlutedGlass/FlutedGlass.shaders.js +0 -335
  512. package/dist/components/effects/FlutedGlass/FlutedGlass.types.d.ts +0 -61
  513. package/dist/components/effects/FlutedGlass/FlutedGlass.types.js +0 -16
  514. package/dist/components/effects/FlutedGlass/index.d.ts +0 -3
  515. package/dist/components/effects/GlassEffect/GlassEffect.d.ts +0 -15
  516. package/dist/components/effects/GlassEffect/GlassEffect.js +0 -38
  517. package/dist/components/effects/GlassEffect/GlassEffect.types.d.ts +0 -19
  518. package/dist/components/effects/GlassEffect/index.d.ts +0 -2
  519. package/dist/components/effects/GlassSurface/GlassSurface.d.ts +0 -8
  520. package/dist/components/effects/GlassSurface/GlassSurface.js +0 -250
  521. package/dist/components/effects/GlassSurface/GlassSurface.types.d.ts +0 -66
  522. package/dist/components/effects/GlassSurface/index.d.ts +0 -2
  523. package/dist/components/effects/GodRays/GodRays.d.ts +0 -8
  524. package/dist/components/effects/GodRays/GodRays.js +0 -68
  525. package/dist/components/effects/GodRays/GodRays.shaders.d.ts +0 -10
  526. package/dist/components/effects/GodRays/GodRays.shaders.js +0 -128
  527. package/dist/components/effects/GodRays/GodRays.types.d.ts +0 -25
  528. package/dist/components/effects/GodRays/GodRays.types.js +0 -3
  529. package/dist/components/effects/GodRays/index.d.ts +0 -2
  530. package/dist/components/effects/GridPattern/GridPattern.d.ts +0 -18
  531. package/dist/components/effects/GridPattern/GridPattern.js +0 -65
  532. package/dist/components/effects/GridPattern/GridPattern.types.d.ts +0 -47
  533. package/dist/components/effects/GridPattern/index.d.ts +0 -2
  534. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.d.ts +0 -10
  535. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.js +0 -78
  536. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.d.ts +0 -22
  537. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.shaders.js +0 -239
  538. package/dist/components/effects/HalftoneCmyk/HalftoneCmyk.types.d.ts +0 -52
  539. package/dist/components/effects/HalftoneCmyk/index.d.ts +0 -2
  540. package/dist/components/effects/HalftoneDots/HalftoneDots.d.ts +0 -9
  541. package/dist/components/effects/HalftoneDots/HalftoneDots.js +0 -68
  542. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.d.ts +0 -13
  543. package/dist/components/effects/HalftoneDots/HalftoneDots.shaders.js +0 -296
  544. package/dist/components/effects/HalftoneDots/HalftoneDots.types.d.ts +0 -43
  545. package/dist/components/effects/HalftoneDots/HalftoneDots.types.js +0 -12
  546. package/dist/components/effects/HalftoneDots/index.d.ts +0 -3
  547. package/dist/components/effects/ImageDithering/ImageDithering.d.ts +0 -9
  548. package/dist/components/effects/ImageDithering/ImageDithering.js +0 -68
  549. package/dist/components/effects/ImageDithering/ImageDithering.shaders.d.ts +0 -12
  550. package/dist/components/effects/ImageDithering/ImageDithering.shaders.js +0 -117
  551. package/dist/components/effects/ImageDithering/ImageDithering.types.d.ts +0 -30
  552. package/dist/components/effects/ImageDithering/ImageDithering.types.js +0 -8
  553. package/dist/components/effects/ImageDithering/index.d.ts +0 -3
  554. package/dist/components/effects/MagneticElement/MagneticElement.d.ts +0 -30
  555. package/dist/components/effects/MagneticElement/MagneticElement.js +0 -111
  556. package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +0 -44
  557. package/dist/components/effects/MagneticElement/index.d.ts +0 -2
  558. package/dist/components/effects/Metaballs/Metaballs.d.ts +0 -8
  559. package/dist/components/effects/Metaballs/Metaballs.js +0 -59
  560. package/dist/components/effects/Metaballs/Metaballs.shaders.d.ts +0 -10
  561. package/dist/components/effects/Metaballs/Metaballs.shaders.js +0 -102
  562. package/dist/components/effects/Metaballs/Metaballs.types.d.ts +0 -16
  563. package/dist/components/effects/Metaballs/Metaballs.types.js +0 -3
  564. package/dist/components/effects/Metaballs/index.d.ts +0 -2
  565. package/dist/components/effects/PaperTexture/PaperTexture.d.ts +0 -9
  566. package/dist/components/effects/PaperTexture/PaperTexture.js +0 -61
  567. package/dist/components/effects/PaperTexture/PaperTexture.shaders.d.ts +0 -22
  568. package/dist/components/effects/PaperTexture/PaperTexture.shaders.js +0 -145
  569. package/dist/components/effects/PaperTexture/PaperTexture.types.d.ts +0 -19
  570. package/dist/components/effects/PaperTexture/index.d.ts +0 -2
  571. package/dist/components/effects/PulsingBorder/PulsingBorder.d.ts +0 -27
  572. package/dist/components/effects/PulsingBorder/PulsingBorder.js +0 -174
  573. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.d.ts +0 -14
  574. package/dist/components/effects/PulsingBorder/PulsingBorder.shaders.js +0 -258
  575. package/dist/components/effects/PulsingBorder/PulsingBorder.types.d.ts +0 -75
  576. package/dist/components/effects/PulsingBorder/PulsingBorder.types.js +0 -3
  577. package/dist/components/effects/PulsingBorder/index.d.ts +0 -2
  578. package/dist/components/effects/SmokeRing/SmokeRing.d.ts +0 -8
  579. package/dist/components/effects/SmokeRing/SmokeRing.js +0 -62
  580. package/dist/components/effects/SmokeRing/SmokeRing.shaders.d.ts +0 -14
  581. package/dist/components/effects/SmokeRing/SmokeRing.shaders.js +0 -130
  582. package/dist/components/effects/SmokeRing/SmokeRing.types.d.ts +0 -22
  583. package/dist/components/effects/SmokeRing/SmokeRing.types.js +0 -3
  584. package/dist/components/effects/SmokeRing/index.d.ts +0 -2
  585. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.d.ts +0 -9
  586. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.js +0 -59
  587. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.d.ts +0 -14
  588. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.shaders.js +0 -129
  589. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.d.ts +0 -23
  590. package/dist/components/effects/StaticGradientMesh/StaticGradientMesh.types.js +0 -3
  591. package/dist/components/effects/StaticGradientMesh/index.d.ts +0 -2
  592. package/dist/components/effects/Water/Water.d.ts +0 -9
  593. package/dist/components/effects/Water/Water.js +0 -65
  594. package/dist/components/effects/Water/Water.shaders.d.ts +0 -11
  595. package/dist/components/effects/Water/Water.shaders.js +0 -123
  596. package/dist/components/effects/Water/Water.types.d.ts +0 -25
  597. package/dist/components/effects/Water/index.d.ts +0 -2
  598. package/dist/components/effects/shared/bayerMatrices.glsl.d.ts +0 -10
  599. package/dist/components/effects/shared/bayerMatrices.glsl.js +0 -44
  600. package/dist/components/effects/shared/imageUV.glsl.d.ts +0 -12
  601. package/dist/components/effects/shared/imageUV.glsl.js +0 -26
  602. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.d.ts +0 -7
  603. package/dist/components/forms/RichTextEditor/RichTextEditor.animations.js +0 -32
  604. package/dist/utils/calendarUtils.d.ts +0 -60
  605. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.d.ts +0 -0
  606. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.d.ts +0 -0
  607. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.theme.js +0 -0
  608. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltip.types.d.ts +0 -0
  609. /package/dist/components/{charts → core}/shared/ChartTooltip/ChartTooltipContent.d.ts +0 -0
  610. /package/dist/components/{charts → core}/shared/ChartTooltip/index.d.ts +0 -0
@@ -1,111 +0,0 @@
1
- "use client";
2
- import { jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useRef, useCallback } from 'react';
4
- import { useReducedMotion, useMotionValue, useSpring, motion } from 'motion/react';
5
- import { cn } from '../../../utils/cn.js';
6
-
7
- /**
8
- * MagneticElement
9
- *
10
- * A wrapper component that adds a magnetic pull effect to its children.
11
- * When the cursor moves over the element, it subtly translates toward
12
- * the cursor position, creating an engaging interactive effect.
13
- *
14
- * The component uses spring-based animations for smooth, natural movement
15
- * and respects the user's reduced motion preferences.
16
- *
17
- * @example
18
- * ```tsx
19
- * <MagneticElement strength={0.3}>
20
- * <Button>Hover me</Button>
21
- * </MagneticElement>
22
- * ```
23
- *
24
- * @example
25
- * ```tsx
26
- * // With parallax inner content
27
- * <MagneticElement strength={0.4} innerStrength={2}>
28
- * <div className="p-4">
29
- * <span>Pull me closer</span>
30
- * </div>
31
- * </MagneticElement>
32
- * ```
33
- */
34
- const MagneticElement = forwardRef(({ strength = 0.3, distance = 100, damping = 15, stiffness = 150, innerStrength = 1.5, disabled = false, className, children, onDrag: _onDrag, onDragStart: _onDragStart, onDragEnd: _onDragEnd, onAnimationStart: _onAnimationStart, ...restProps }, ref) => {
35
- const elementRef = useRef(null);
36
- const shouldReduceMotion = useReducedMotion();
37
- const isDisabled = disabled || shouldReduceMotion;
38
- // Motion values for outer wrapper translation
39
- const x = useMotionValue(0);
40
- const y = useMotionValue(0);
41
- // Spring-animated versions of x and y for smooth movement
42
- const springConfig = { damping, stiffness, mass: 1 };
43
- const springX = useSpring(x, springConfig);
44
- const springY = useSpring(y, springConfig);
45
- // Motion values for inner content (parallax effect)
46
- const innerX = useMotionValue(0);
47
- const innerY = useMotionValue(0);
48
- const innerSpringX = useSpring(innerX, springConfig);
49
- const innerSpringY = useSpring(innerY, springConfig);
50
- const handleMouseMove = useCallback((event) => {
51
- var _a;
52
- if (isDisabled)
53
- return;
54
- const element = elementRef.current;
55
- if (!element)
56
- return;
57
- const rect = element.getBoundingClientRect();
58
- const centerX = rect.left + rect.width / 2;
59
- const centerY = rect.top + rect.height / 2;
60
- // Calculate distance from cursor to element center
61
- const deltaX = event.clientX - centerX;
62
- const deltaY = event.clientY - centerY;
63
- const distanceFromCenter = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
64
- // Only apply effect within the configured distance
65
- const maxDistance = Math.max(rect.width, rect.height) / 2 + distance;
66
- if (distanceFromCenter < maxDistance) {
67
- // Apply translation proportional to offset and strength
68
- const translateX = deltaX * strength;
69
- const translateY = deltaY * strength;
70
- x.set(translateX);
71
- y.set(translateY);
72
- // Inner content moves slightly more for parallax feel
73
- if (innerStrength !== 1) {
74
- innerX.set(translateX * (innerStrength - 1));
75
- innerY.set(translateY * (innerStrength - 1));
76
- }
77
- }
78
- // Forward to user's onMouseMove if provided
79
- (_a = restProps.onMouseMove) === null || _a === void 0 ? void 0 : _a.call(restProps, event);
80
- }, [isDisabled, strength, distance, innerStrength, x, y, innerX, innerY, restProps.onMouseMove]);
81
- const handleMouseLeave = useCallback((event) => {
82
- var _a;
83
- if (isDisabled)
84
- return;
85
- // Reset to center position; the spring will animate the return
86
- x.set(0);
87
- y.set(0);
88
- innerX.set(0);
89
- innerY.set(0);
90
- // Forward to user's onMouseLeave if provided
91
- (_a = restProps.onMouseLeave) === null || _a === void 0 ? void 0 : _a.call(restProps, event);
92
- }, [isDisabled, x, y, innerX, innerY, restProps.onMouseLeave]);
93
- // When disabled or reduced motion preferred, render without motion
94
- if (isDisabled) {
95
- return (jsx("div", { ref: ref, className: cn("inline-block", className), ...restProps, children: children }));
96
- }
97
- const hasParallax = innerStrength !== 1;
98
- return (jsx(motion.div, { ref: (node) => {
99
- // Assign to both the internal ref and the forwarded ref
100
- elementRef.current = node;
101
- if (typeof ref === "function") {
102
- ref(node);
103
- }
104
- else if (ref) {
105
- ref.current = node;
106
- }
107
- }, className: cn("inline-block", className), style: { x: springX, y: springY }, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, ...restProps, children: hasParallax ? (jsx(motion.div, { style: { x: innerSpringX, y: innerSpringY }, children: children })) : (children) }));
108
- });
109
- MagneticElement.displayName = "MagneticElement";
110
-
111
- export { MagneticElement };
@@ -1,44 +0,0 @@
1
- import React from "react";
2
- export interface MagneticElementProps extends React.HTMLAttributes<HTMLDivElement> {
3
- /**
4
- * Strength of the magnetic pull effect.
5
- * Value between 0 and 1, where 0 is no effect and 1 is maximum pull.
6
- * @default 0.3
7
- */
8
- strength?: number;
9
- /**
10
- * Distance in pixels at which the magnetic effect activates.
11
- * Only applies when the cursor is within this radius of the element center.
12
- * @default 100
13
- */
14
- distance?: number;
15
- /**
16
- * Spring damping for the animation.
17
- * Higher values result in less oscillation and a more dampened feel.
18
- * @default 15
19
- */
20
- damping?: number;
21
- /**
22
- * Spring stiffness for the animation.
23
- * Higher values result in a snappier spring.
24
- * @default 150
25
- */
26
- stiffness?: number;
27
- /**
28
- * Multiplier for inner content movement relative to the outer wrapper.
29
- * Creates a subtle parallax-like effect where content moves slightly more.
30
- * Set to 1 for no parallax. Values above 1 amplify inner movement.
31
- * @default 1.5
32
- */
33
- innerStrength?: number;
34
- /**
35
- * When true, disables the magnetic effect entirely.
36
- * The component renders as a plain div wrapper.
37
- * @default false
38
- */
39
- disabled?: boolean;
40
- /** Additional className for the outer wrapper */
41
- className?: string;
42
- /** Content to wrap with the magnetic effect */
43
- children: React.ReactNode;
44
- }
@@ -1,2 +0,0 @@
1
- export { MagneticElement } from "./MagneticElement";
2
- export type { MagneticElementProps } from "./MagneticElement.types";
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import type { MetaballsProps } from "./Metaballs.types";
3
- /**
4
- * Animated lava-lamp-style blobby merging balls. WebGL2-powered; falls back
5
- * to a static CSS radial-gradient cluster when WebGL2 is unavailable or the
6
- * user prefers reduced motion.
7
- */
8
- export declare const Metaballs: React.FC<MetaballsProps>;
@@ -1,59 +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 { metaballsFragmentShader } from './Metaballs.shaders.js';
11
- import { METABALLS_MAX_COLORS } from './Metaballs.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 lava-lamp-style blobby merging balls. WebGL2-powered; falls back
29
- * to a static CSS radial-gradient cluster when WebGL2 is unavailable or the
30
- * user prefers reduced motion.
31
- */
32
- const Metaballs = ({ colorBack = DEFAULT_COLOR_BACK, colors = DEFAULT_COLORS, count = 10, size = 0.6, speed = 1, className, style, ...props }) => {
33
- var _a, _b, _c, _d;
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, METABALLS_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 < METABALLS_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_count = count;
53
- uniformsRef.current.u_size = size;
54
- uniformsRef.current.u_speed = speed;
55
- const fallbackGradient = `radial-gradient(circle at 30% 40%, ${(_c = safeColors[0]) !== null && _c !== void 0 ? _c : "var(--color-primary)"}, transparent 60%), radial-gradient(circle at 70% 60%, ${(_d = safeColors[safeColors.length - 1]) !== null && _d !== void 0 ? _d : "var(--color-primary)"}, transparent 60%), ${colorBack}`;
56
- 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: metaballsFragmentShader, uniformsRef: uniformsRef })) : (jsx("div", { className: "absolute inset-0", style: { background: fallbackGradient } })) }));
57
- };
58
-
59
- export { Metaballs };
@@ -1,10 +0,0 @@
1
- /**
2
- * Metaballs fragment shader — adapted from paper-design/shaders' `metaballs.ts`
3
- * (https://github.com/paper-design/shaders, Apache License 2.0).
4
- *
5
- * Simplified from the original: plain centered/aspect-corrected UV
6
- * (gl_FragCoord/iResolution) instead of paper-design's ShaderSizingParams
7
- * fit/scale/rotation engine; pure-hash GLSL (see shared/shaderNoise.glsl.ts)
8
- * instead of pre-generated noise-texture sampling.
9
- */
10
- export declare const metaballsFragmentShader = "#version 300 es\nprecision mediump float;\n\nuniform float iTime;\nuniform vec2 iResolution;\n\nuniform vec4 u_colorBack;\nuniform vec4 u_colors[8];\nuniform float u_colorsCount;\nuniform float u_size;\nuniform float u_count;\nuniform float u_speed;\n\nout vec4 fragColor;\n\n\nconst float PI = 3.14159265359;\nconst float TWO_PI = 6.28318530718;\n\n\nfloat randomR(vec2 st) {\n return fract(sin(dot(st, vec2(12.9898, 78.233))) * 43758.5453123);\n}\n\n\nfloat noise(float x) {\n float i = floor(x);\n float f = fract(x);\n float u = f * f * (3.0 - 2.0 * f);\n vec2 p0 = vec2(i, 0.0);\n vec2 p1 = vec2(i + 1.0, 0.0);\n return mix(randomR(p0), randomR(p1), u);\n}\n\nfloat getBallShape(vec2 uv, vec2 c, float p) {\n float s = .5 * length(uv - c);\n s = 1. - clamp(s, 0., 1.);\n s = pow(s, p);\n return s;\n}\n\nvoid main() {\n vec2 objectUV = (gl_FragCoord.xy - 0.5 * iResolution.xy) / min(iResolution.x, iResolution.y);\n vec2 shape_uv = objectUV + .5;\n\n const float firstFrameOffset = 2503.4;\n float t = .2 * u_speed * iTime + firstFrameOffset;\n\n vec3 totalColor = vec3(0.);\n float totalShape = 0.;\n float totalOpacity = 0.;\n\n for (int i = 0; i < 20; i++) {\n if (i >= int(ceil(u_count))) break;\n float idxFract = float(i) / float(20);\n float angle = TWO_PI * idxFract;\n float speed = 1. - .2 * idxFract;\n float noiseX = noise(angle * 10. + float(i) + t * speed);\n float noiseY = noise(angle * 20. + float(i) - t * speed);\n vec2 pos = vec2(.5) + 1e-4 + .9 * (vec2(noiseX, noiseY) - .5);\n\n int safeIndex = i % int(u_colorsCount + 0.5);\n vec4 ballColor = u_colors[safeIndex];\n ballColor.rgb *= ballColor.a;\n\n float sizeFrac = 1.;\n if (float(i) > floor(u_count - 1.)) {\n sizeFrac *= fract(u_count);\n }\n\n float shape = getBallShape(shape_uv, pos, 45. - 30. * u_size * sizeFrac);\n shape *= pow(u_size, .2);\n shape = smoothstep(0., 1., shape);\n\n totalColor += ballColor.rgb * shape;\n totalShape += shape;\n totalOpacity += ballColor.a * shape;\n }\n\n totalColor /= max(totalShape, 1e-4);\n totalOpacity /= max(totalShape, 1e-4);\n\n float edge_width = fwidth(totalShape);\n float finalShape = smoothstep(.4, .4 + edge_width, totalShape);\n\n vec3 color = totalColor * finalShape;\n float opacity = totalOpacity * finalShape;\n vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n color = color + bgColor * (1. - opacity);\n opacity = opacity + u_colorBack.a * (1. - opacity);\n\n fragColor = vec4(color, opacity);\n}\n";
@@ -1,102 +0,0 @@
1
- import 'react/jsx-runtime';
2
- import 'react';
3
- import { glslDeclarePI, glslHashFloat } from '../shared/shaderNoise.glsl.js';
4
-
5
- /**
6
- * Metaballs fragment shader — adapted from paper-design/shaders' `metaballs.ts`
7
- * (https://github.com/paper-design/shaders, Apache License 2.0).
8
- *
9
- * Simplified from the original: plain centered/aspect-corrected UV
10
- * (gl_FragCoord/iResolution) instead of paper-design's ShaderSizingParams
11
- * fit/scale/rotation engine; pure-hash GLSL (see shared/shaderNoise.glsl.ts)
12
- * instead of pre-generated noise-texture sampling.
13
- */
14
- const metaballsFragmentShader = `#version 300 es
15
- precision mediump float;
16
-
17
- uniform float iTime;
18
- uniform vec2 iResolution;
19
-
20
- uniform vec4 u_colorBack;
21
- uniform vec4 u_colors[8];
22
- uniform float u_colorsCount;
23
- uniform float u_size;
24
- uniform float u_count;
25
- uniform float u_speed;
26
-
27
- out vec4 fragColor;
28
-
29
- ${glslDeclarePI}
30
- ${glslHashFloat}
31
-
32
- float noise(float x) {
33
- float i = floor(x);
34
- float f = fract(x);
35
- float u = f * f * (3.0 - 2.0 * f);
36
- vec2 p0 = vec2(i, 0.0);
37
- vec2 p1 = vec2(i + 1.0, 0.0);
38
- return mix(randomR(p0), randomR(p1), u);
39
- }
40
-
41
- float getBallShape(vec2 uv, vec2 c, float p) {
42
- float s = .5 * length(uv - c);
43
- s = 1. - clamp(s, 0., 1.);
44
- s = pow(s, p);
45
- return s;
46
- }
47
-
48
- void main() {
49
- vec2 objectUV = (gl_FragCoord.xy - 0.5 * iResolution.xy) / min(iResolution.x, iResolution.y);
50
- vec2 shape_uv = objectUV + .5;
51
-
52
- const float firstFrameOffset = 2503.4;
53
- float t = .2 * u_speed * iTime + firstFrameOffset;
54
-
55
- vec3 totalColor = vec3(0.);
56
- float totalShape = 0.;
57
- float totalOpacity = 0.;
58
-
59
- for (int i = 0; i < 20; i++) {
60
- if (i >= int(ceil(u_count))) break;
61
- float idxFract = float(i) / float(20);
62
- float angle = TWO_PI * idxFract;
63
- float speed = 1. - .2 * idxFract;
64
- float noiseX = noise(angle * 10. + float(i) + t * speed);
65
- float noiseY = noise(angle * 20. + float(i) - t * speed);
66
- vec2 pos = vec2(.5) + 1e-4 + .9 * (vec2(noiseX, noiseY) - .5);
67
-
68
- int safeIndex = i % int(u_colorsCount + 0.5);
69
- vec4 ballColor = u_colors[safeIndex];
70
- ballColor.rgb *= ballColor.a;
71
-
72
- float sizeFrac = 1.;
73
- if (float(i) > floor(u_count - 1.)) {
74
- sizeFrac *= fract(u_count);
75
- }
76
-
77
- float shape = getBallShape(shape_uv, pos, 45. - 30. * u_size * sizeFrac);
78
- shape *= pow(u_size, .2);
79
- shape = smoothstep(0., 1., shape);
80
-
81
- totalColor += ballColor.rgb * shape;
82
- totalShape += shape;
83
- totalOpacity += ballColor.a * shape;
84
- }
85
-
86
- totalColor /= max(totalShape, 1e-4);
87
- totalOpacity /= max(totalShape, 1e-4);
88
-
89
- float edge_width = fwidth(totalShape);
90
- float finalShape = smoothstep(.4, .4 + edge_width, totalShape);
91
-
92
- vec3 color = totalColor * finalShape;
93
- float opacity = totalOpacity * finalShape;
94
- vec3 bgColor = u_colorBack.rgb * u_colorBack.a;
95
- color = color + bgColor * (1. - opacity);
96
- opacity = opacity + u_colorBack.a * (1. - opacity);
97
-
98
- fragColor = vec4(color, opacity);
99
- }
100
- `;
101
-
102
- export { metaballsFragmentShader };
@@ -1,16 +0,0 @@
1
- import type React from "react";
2
- export declare const METABALLS_MAX_COLORS = 8;
3
- export declare const METABALLS_MAX_COUNT = 20;
4
- export interface MetaballsProps extends React.HTMLAttributes<HTMLDivElement> {
5
- /** Background CSS color. Default: 'var(--color-background)'. */
6
- colorBack?: string;
7
- /** Ball colors, cycled across balls, up to 8. Default: a 3-stop primary ramp. */
8
- colors?: string[];
9
- /** Number of balls, 1-20 (fractional values fade the last ball in). Default: 10. */
10
- count?: number;
11
- /** Ball size multiplier. Default: 0.6. */
12
- size?: number;
13
- /** Animation speed multiplier. Default: 1. */
14
- speed?: number;
15
- className?: string;
16
- }
@@ -1,3 +0,0 @@
1
- const METABALLS_MAX_COLORS = 8;
2
-
3
- export { METABALLS_MAX_COLORS };
@@ -1,2 +0,0 @@
1
- export { Metaballs } from "./Metaballs";
2
- export type { MetaballsProps } from "./Metaballs.types";
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- import type { PaperTextureProps } from "./PaperTexture.types";
3
- /**
4
- * Paper-grain image filter — normal-maps a source image with a fiber/
5
- * roughness texture and re-lights it, giving it a textured-paper look.
6
- * WebGL2-powered; falls back to the plain source image (via
7
- * `object-fit: cover`) when WebGL2 is unavailable.
8
- */
9
- export declare const PaperTexture: React.FC<PaperTextureProps>;
@@ -1,61 +0,0 @@
1
- "use client";
2
- import { jsx } from 'react/jsx-runtime';
3
- import { useState, useMemo, useRef, useCallback } from 'react';
4
- import { useIsClient } from '../../../hooks/useIsClient.js';
5
- import 'motion/react';
6
- import { useDarkMode } from '../../../hooks/useDarkMode.js';
7
- import { cn } from '../../../utils/cn.js';
8
- import { ShaderCanvas } from '../shared/ShaderCanvas/ShaderCanvas.js';
9
- import { resolveShaderColor } from '../shared/resolveShaderColor.js';
10
- import { paperTextureFragmentShader } from './PaperTexture.shaders.js';
11
-
12
- const DEFAULT_COLOR_FRONT = "var(--color-text-primary)";
13
- const DEFAULT_COLOR_BACK = "var(--color-background)";
14
- function useWebgl2Supported() {
15
- return useMemo(() => {
16
- if (typeof document === "undefined")
17
- return false;
18
- try {
19
- return !!document.createElement("canvas").getContext("webgl2");
20
- }
21
- catch (_a) {
22
- return false;
23
- }
24
- }, []);
25
- }
26
- /**
27
- * Paper-grain image filter — normal-maps a source image with a fiber/
28
- * roughness texture and re-lights it, giving it a textured-paper look.
29
- * WebGL2-powered; falls back to the plain source image (via
30
- * `object-fit: cover`) when WebGL2 is unavailable.
31
- */
32
- const PaperTexture = ({ image, colorFront = DEFAULT_COLOR_FRONT, colorBack = DEFAULT_COLOR_BACK, contrast = 0.5, roughness = 0.5, fiber = 0.5, fiberSize = 1, className, style, ...props }) => {
33
- const isClient = useIsClient();
34
- const isDark = useDarkMode();
35
- const webglSupported = useWebgl2Supported();
36
- const [imageAspectRatio, setImageAspectRatio] = useState(16 / 9);
37
- const resolvedFront = useMemo(() => resolveShaderColor(colorFront),
38
- // eslint-disable-next-line react-hooks/exhaustive-deps
39
- [colorFront, isDark]);
40
- const resolvedBack = useMemo(() => resolveShaderColor(colorBack),
41
- // eslint-disable-next-line react-hooks/exhaustive-deps
42
- [colorBack, isDark]);
43
- const texturesRef = useRef({ u_image: image });
44
- texturesRef.current.u_image = image;
45
- const handleTextureLoad = useCallback((name, aspectRatio) => {
46
- if (name === "u_image")
47
- setImageAspectRatio(aspectRatio);
48
- }, []);
49
- const uniformsRef = useRef({});
50
- uniformsRef.current.u_colorFront = resolvedFront;
51
- uniformsRef.current.u_colorBack = resolvedBack;
52
- uniformsRef.current.u_imageAspectRatio = imageAspectRatio;
53
- uniformsRef.current.u_contrast = contrast;
54
- uniformsRef.current.u_roughness = roughness;
55
- uniformsRef.current.u_fiber = fiber;
56
- uniformsRef.current.u_fiberSize = fiberSize;
57
- const imageSrc = typeof image === "string" ? image : image.src;
58
- 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: paperTextureFragmentShader, uniformsRef: uniformsRef, texturesRef: texturesRef, onTextureLoad: handleTextureLoad })) : (jsx("img", { src: imageSrc, alt: "", className: "absolute inset-0 w-full h-full object-cover" })) }));
59
- };
60
-
61
- export { PaperTexture };
@@ -1,22 +0,0 @@
1
- /**
2
- * PaperTexture fragment shader — adapted from paper-design/shaders'
3
- * `paper-texture.ts` (https://github.com/paper-design/shaders, Apache
4
- * License 2.0). An image filter: normal-maps a source image with a
5
- * paper-grain fiber/roughness texture and re-lights it.
6
- *
7
- * Simplified from the original: image UV computed via the shared
8
- * `getImageCoverUV` cover-fit helper (see shared/imageUV.glsl.ts) instead of
9
- * paper-design's ShaderSizingParams fit engine; pure-hash GLSL instead of
10
- * pre-generated noise-texture sampling.
11
- *
12
- * Trimmed for v1: keeps the core `fiber`/`roughness`/`contrast` normal-map
13
- * layers (the essential "paper grain" look) and drops the elaborate
14
- * `crumples`/`folds`/`drops`/`fade` secondary normal-perturbation layers —
15
- * those are the most GLSL-dense part of the original and least essential to
16
- * "paper texture" reading as itself. May be added later as a follow-up.
17
- *
18
- * `fiberNoise` below is an original approximation (directional streaked
19
- * value-noise), NOT a port — paper-design's own `fiberNoise` implementation
20
- * wasn't available in the extracted source material for this port.
21
- */
22
- export declare const paperTextureFragmentShader = "#version 300 es\nprecision mediump float;\n\nuniform vec2 iResolution;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorBack;\n\nuniform sampler2D u_image;\nuniform float u_imageAspectRatio;\n\nuniform float u_contrast;\nuniform float u_roughness;\nuniform float u_fiber;\nuniform float u_fiberSize;\n\nout vec4 fragColor;\n\n\nvec2 rotate(vec2 v, float angle) {\n float s = sin(angle);\n float c = cos(angle);\n return mat2(c, -s, s, c) * v;\n}\n\n\nfloat randomR(vec2 st) {\n return fract(sin(dot(st, vec2(12.9898, 78.233))) * 43758.5453123);\n}\n\n\nvec2 getImageCoverUV(vec2 fragUV, vec2 resolution, float imageAspectRatio) {\n float containerAspect = resolution.x / resolution.y;\n // Container wider (relative to its height) than the image: sample a\n // narrower vertical slice of the image (crop top/bottom) so it fills the\n // container width with no letterboxing. Container narrower/taller than\n // the image: sample a narrower horizontal slice (crop left/right) instead.\n vec2 scale = containerAspect > imageAspectRatio\n ? vec2(1.0, imageAspectRatio / containerAspect)\n : vec2(containerAspect / imageAspectRatio, 1.0);\n return (fragUV - 0.5) * scale + 0.5;\n}\n\n\nfloat getUvFrame(vec2 uv) {\n float aax = 2. * fwidth(uv.x);\n float aay = 2. * fwidth(uv.y);\n float left = smoothstep(0., aax, uv.x);\n float right = 1. - smoothstep(1. - aax, 1., uv.x);\n float bottom = smoothstep(0., aay, uv.y);\n float top = 1. - smoothstep(1. - aay, 1., uv.y);\n return left * right * bottom * top;\n}\n\nfloat roughnessTex(vec2 p) {\n p *= .1;\n float o = 0.;\n for (float i = 0.; ++i < 4.; p *= 2.1) {\n vec4 w = vec4(floor(p), ceil(p));\n vec2 f = fract(p);\n o += mix(mix(randomR(w.xy), randomR(w.xw), f.y), mix(randomR(w.zy), randomR(w.zw), f.y), f.x);\n o += .2 / exp(2. * abs(sin(.2 * p.x + .5 * p.y)));\n }\n return o / 3.;\n}\n\nfloat valueNoise(vec2 st) {\n vec2 i = floor(st);\n vec2 f = fract(st);\n float a = randomR(i);\n float b = randomR(i + vec2(1.0, 0.0));\n float c = randomR(i + vec2(0.0, 1.0));\n float d = randomR(i + vec2(1.0, 1.0));\n vec2 u = f * f * (3.0 - 2.0 * f);\n float x1 = mix(a, b, u.x);\n float x2 = mix(c, d, u.x);\n return mix(x1, x2, u.y);\n}\n\nfloat fiberNoise(vec2 p, vec2 seed) {\n p += seed;\n float n = 0.0;\n float amp = 1.0;\n for (int i = 0; i < 3; i++) {\n float stretch = 6.0 + float(i) * 4.0;\n vec2 sp = vec2(p.x * stretch, p.y * 1.5);\n n += amp * valueNoise(sp);\n amp *= 0.5;\n p = rotate(p, 0.3);\n }\n return n;\n}\n\nvoid main() {\n vec2 fragUV = gl_FragCoord.xy / iResolution.xy;\n vec2 imageUV = getImageCoverUV(fragUV, iResolution, u_imageAspectRatio);\n vec2 patternUV = imageUV - .5;\n patternUV = 5. * (patternUV * vec2(u_imageAspectRatio, 1.));\n\n vec2 roughnessUv = 1.5 * (gl_FragCoord.xy - .5 * iResolution.xy);\n float roughnessVal = roughnessTex(roughnessUv + vec2(1., 0.)) - roughnessTex(roughnessUv - vec2(1., 0.));\n\n vec2 fiberUV = 2. / max(u_fiberSize, 0.01) * patternUV;\n float fiber = fiberNoise(fiberUV, vec2(0.));\n fiber = .5 * u_fiber * (fiber - 1.);\n\n vec2 normal = vec2(0.);\n vec2 normalImage = vec2(0.);\n\n normal.xy += u_roughness * 1.5 * roughnessVal;\n normal.xy += fiber;\n normalImage += u_roughness * .75 * roughnessVal;\n normalImage += .2 * fiber;\n\n vec3 lightPos = vec3(1., 2., 1.);\n float res = dot(normalize(vec3(normal, 9.5 - 9. * pow(u_contrast, .1))), normalize(lightPos));\n\n vec3 fgColor = u_colorFront.rgb * u_colorFront.a;\n float fgOpacity = u_colorFront.a;\n vec3 bgColor = u_colorBack.rgb * u_colorBack.a;\n float bgOpacity = u_colorBack.a;\n\n imageUV += .02 * normalImage;\n float frame = getUvFrame(imageUV);\n vec4 image = texture(u_image, imageUV);\n image.rgb += .6 * pow(u_contrast, .4) * (res - .7);\n frame *= image.a;\n\n vec3 color = fgColor * res;\n float opacity = fgOpacity * res;\n color += bgColor * (1. - opacity);\n opacity += bgOpacity * (1. - opacity);\n opacity = mix(opacity, 1., frame);\n\n color.rgb = mix(color, image.rgb, frame);\n\n fragColor = vec4(color, opacity);\n}\n";
@@ -1,145 +0,0 @@
1
- import 'react/jsx-runtime';
2
- import 'react';
3
- import { glslRotate2, glslHashFloat } from '../shared/shaderNoise.glsl.js';
4
- import { glslImageCoverUV } from '../shared/imageUV.glsl.js';
5
-
6
- /**
7
- * PaperTexture fragment shader — adapted from paper-design/shaders'
8
- * `paper-texture.ts` (https://github.com/paper-design/shaders, Apache
9
- * License 2.0). An image filter: normal-maps a source image with a
10
- * paper-grain fiber/roughness texture and re-lights it.
11
- *
12
- * Simplified from the original: image UV computed via the shared
13
- * `getImageCoverUV` cover-fit helper (see shared/imageUV.glsl.ts) instead of
14
- * paper-design's ShaderSizingParams fit engine; pure-hash GLSL instead of
15
- * pre-generated noise-texture sampling.
16
- *
17
- * Trimmed for v1: keeps the core `fiber`/`roughness`/`contrast` normal-map
18
- * layers (the essential "paper grain" look) and drops the elaborate
19
- * `crumples`/`folds`/`drops`/`fade` secondary normal-perturbation layers —
20
- * those are the most GLSL-dense part of the original and least essential to
21
- * "paper texture" reading as itself. May be added later as a follow-up.
22
- *
23
- * `fiberNoise` below is an original approximation (directional streaked
24
- * value-noise), NOT a port — paper-design's own `fiberNoise` implementation
25
- * wasn't available in the extracted source material for this port.
26
- */
27
- const paperTextureFragmentShader = `#version 300 es
28
- precision mediump float;
29
-
30
- uniform vec2 iResolution;
31
-
32
- uniform vec4 u_colorFront;
33
- uniform vec4 u_colorBack;
34
-
35
- uniform sampler2D u_image;
36
- uniform float u_imageAspectRatio;
37
-
38
- uniform float u_contrast;
39
- uniform float u_roughness;
40
- uniform float u_fiber;
41
- uniform float u_fiberSize;
42
-
43
- out vec4 fragColor;
44
-
45
- ${glslRotate2}
46
- ${glslHashFloat}
47
- ${glslImageCoverUV}
48
-
49
- float getUvFrame(vec2 uv) {
50
- float aax = 2. * fwidth(uv.x);
51
- float aay = 2. * fwidth(uv.y);
52
- float left = smoothstep(0., aax, uv.x);
53
- float right = 1. - smoothstep(1. - aax, 1., uv.x);
54
- float bottom = smoothstep(0., aay, uv.y);
55
- float top = 1. - smoothstep(1. - aay, 1., uv.y);
56
- return left * right * bottom * top;
57
- }
58
-
59
- float roughnessTex(vec2 p) {
60
- p *= .1;
61
- float o = 0.;
62
- for (float i = 0.; ++i < 4.; p *= 2.1) {
63
- vec4 w = vec4(floor(p), ceil(p));
64
- vec2 f = fract(p);
65
- o += mix(mix(randomR(w.xy), randomR(w.xw), f.y), mix(randomR(w.zy), randomR(w.zw), f.y), f.x);
66
- o += .2 / exp(2. * abs(sin(.2 * p.x + .5 * p.y)));
67
- }
68
- return o / 3.;
69
- }
70
-
71
- float valueNoise(vec2 st) {
72
- vec2 i = floor(st);
73
- vec2 f = fract(st);
74
- float a = randomR(i);
75
- float b = randomR(i + vec2(1.0, 0.0));
76
- float c = randomR(i + vec2(0.0, 1.0));
77
- float d = randomR(i + vec2(1.0, 1.0));
78
- vec2 u = f * f * (3.0 - 2.0 * f);
79
- float x1 = mix(a, b, u.x);
80
- float x2 = mix(c, d, u.x);
81
- return mix(x1, x2, u.y);
82
- }
83
-
84
- float fiberNoise(vec2 p, vec2 seed) {
85
- p += seed;
86
- float n = 0.0;
87
- float amp = 1.0;
88
- for (int i = 0; i < 3; i++) {
89
- float stretch = 6.0 + float(i) * 4.0;
90
- vec2 sp = vec2(p.x * stretch, p.y * 1.5);
91
- n += amp * valueNoise(sp);
92
- amp *= 0.5;
93
- p = rotate(p, 0.3);
94
- }
95
- return n;
96
- }
97
-
98
- void main() {
99
- vec2 fragUV = gl_FragCoord.xy / iResolution.xy;
100
- vec2 imageUV = getImageCoverUV(fragUV, iResolution, u_imageAspectRatio);
101
- vec2 patternUV = imageUV - .5;
102
- patternUV = 5. * (patternUV * vec2(u_imageAspectRatio, 1.));
103
-
104
- vec2 roughnessUv = 1.5 * (gl_FragCoord.xy - .5 * iResolution.xy);
105
- float roughnessVal = roughnessTex(roughnessUv + vec2(1., 0.)) - roughnessTex(roughnessUv - vec2(1., 0.));
106
-
107
- vec2 fiberUV = 2. / max(u_fiberSize, 0.01) * patternUV;
108
- float fiber = fiberNoise(fiberUV, vec2(0.));
109
- fiber = .5 * u_fiber * (fiber - 1.);
110
-
111
- vec2 normal = vec2(0.);
112
- vec2 normalImage = vec2(0.);
113
-
114
- normal.xy += u_roughness * 1.5 * roughnessVal;
115
- normal.xy += fiber;
116
- normalImage += u_roughness * .75 * roughnessVal;
117
- normalImage += .2 * fiber;
118
-
119
- vec3 lightPos = vec3(1., 2., 1.);
120
- float res = dot(normalize(vec3(normal, 9.5 - 9. * pow(u_contrast, .1))), normalize(lightPos));
121
-
122
- vec3 fgColor = u_colorFront.rgb * u_colorFront.a;
123
- float fgOpacity = u_colorFront.a;
124
- vec3 bgColor = u_colorBack.rgb * u_colorBack.a;
125
- float bgOpacity = u_colorBack.a;
126
-
127
- imageUV += .02 * normalImage;
128
- float frame = getUvFrame(imageUV);
129
- vec4 image = texture(u_image, imageUV);
130
- image.rgb += .6 * pow(u_contrast, .4) * (res - .7);
131
- frame *= image.a;
132
-
133
- vec3 color = fgColor * res;
134
- float opacity = fgOpacity * res;
135
- color += bgColor * (1. - opacity);
136
- opacity += bgOpacity * (1. - opacity);
137
- opacity = mix(opacity, 1., frame);
138
-
139
- color.rgb = mix(color, image.rgb, frame);
140
-
141
- fragColor = vec4(color, opacity);
142
- }
143
- `;
144
-
145
- export { paperTextureFragmentShader };
@@ -1,19 +0,0 @@
1
- import type React from "react";
2
- import type { ShaderTextureSource } from "../shared";
3
- export interface PaperTextureProps extends React.HTMLAttributes<HTMLDivElement> {
4
- /** Source image (URL or an existing HTMLImageElement). Required. */
5
- image: ShaderTextureSource;
6
- /** Shadow-side color mixed into the paper-grain lighting. Default: 'var(--color-text-primary)'. */
7
- colorFront?: string;
8
- /** Highlight-side color mixed into the paper-grain lighting. Default: 'var(--color-background)'. */
9
- colorBack?: string;
10
- /** Lighting contrast, 0-1+. Default: 0.5. */
11
- contrast?: number;
12
- /** Fine paper roughness strength, 0-1+. Default: 0.5. */
13
- roughness?: number;
14
- /** Fiber streak strength, 0-1+. Default: 0.5. */
15
- fiber?: number;
16
- /** Fiber streak scale. Default: 1. */
17
- fiberSize?: number;
18
- className?: string;
19
- }
@@ -1,2 +0,0 @@
1
- export { PaperTexture } from "./PaperTexture";
2
- export type { PaperTextureProps } from "./PaperTexture.types";