@flikk/ui 1.0.0-beta.1 → 1.0.0-beta.10

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 (512) hide show
  1. package/dist/components/ai/ApprovalCard/ApprovalCard.js +2 -2
  2. package/dist/components/ai/ApprovalCard/ApprovalCard.types.d.ts +2 -2
  3. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +2 -2
  4. package/dist/components/ai/PromptInput/PromptInput.animations.d.ts +25 -0
  5. package/dist/components/ai/PromptInput/PromptInput.animations.js +61 -0
  6. package/dist/components/ai/PromptInput/PromptInput.js +143 -28
  7. package/dist/components/ai/PromptInput/PromptInput.theme.js +6 -1
  8. package/dist/components/ai/PromptInput/PromptInput.types.d.ts +68 -0
  9. package/dist/components/ai/PromptInput/VoiceRecorder.d.ts +10 -0
  10. package/dist/components/ai/PromptInput/VoiceRecorder.js +181 -0
  11. package/dist/components/ai/PromptInput/VoiceRecorder.types.d.ts +17 -0
  12. package/dist/components/ai/PromptInput/index.d.ts +1 -0
  13. package/dist/components/ai/PromptSuggestions/PromptSuggestion.theme.js +1 -1
  14. package/dist/components/ai/StreamingResponse/MarkdownRenderer.d.ts +5 -2
  15. package/dist/components/ai/StreamingResponse/MarkdownRenderer.js +51 -27
  16. package/dist/components/ai/StreamingResponse/StreamingCursor.d.ts +4 -5
  17. package/dist/components/ai/StreamingResponse/StreamingCursor.js +5 -12
  18. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.d.ts +7 -0
  19. package/dist/components/ai/StreamingResponse/StreamingResponse.animations.js +20 -1
  20. package/dist/components/ai/StreamingResponse/StreamingResponse.js +2 -2
  21. package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +4 -4
  22. package/dist/components/ai/StreamingResponse/StreamingResponse.types.d.ts +2 -0
  23. package/dist/components/ai/StreamingResponse/WordAnimationContext.d.ts +27 -0
  24. package/dist/components/ai/StreamingResponse/WordAnimationContext.js +134 -0
  25. package/dist/components/ai/StreamingResponse/index.d.ts +3 -1
  26. package/dist/components/ai/ThinkingIndicator/ThinkingIndicator.theme.js +2 -2
  27. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +6 -6
  28. package/dist/components/ai/index.js +1 -0
  29. package/dist/components/charts/ActivityRings/ActivityRings.js +1 -1
  30. package/dist/components/charts/ActivityRings/ActivityRings.theme.js +2 -2
  31. package/dist/components/charts/BarChart/BarChart.js +3 -3
  32. package/dist/components/charts/ChartContainer.js +1 -1
  33. package/dist/components/charts/ComboChart/ComboChart.js +2 -2
  34. package/dist/components/charts/DonutChart/DonutChart.theme.js +1 -1
  35. package/dist/components/charts/DonutChart/DonutChart.types.d.ts +1 -2
  36. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.js +1 -1
  37. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.theme.js +1 -1
  38. package/dist/components/charts/DonutChart/MultiSegmentDonutChart.types.d.ts +1 -2
  39. package/dist/components/charts/FunnelChart/FunnelChart.js +7 -7
  40. package/dist/components/charts/Heatmap/Heatmap.theme.js +1 -1
  41. package/dist/components/charts/Heatmap/HeatmapCell.js +1 -1
  42. package/dist/components/charts/Heatmap/HeatmapLegend.js +1 -1
  43. package/dist/components/charts/RadarChart/RadarChart.theme.js +2 -2
  44. package/dist/components/charts/ScatterPlot/ScatterPlot.js +1 -1
  45. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +2 -2
  46. package/dist/components/charts/StackedBarChart/StackedBarChart.js +2 -2
  47. package/dist/components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js +1 -1
  48. package/dist/components/charts/shared/ChartLegend/ChartLegendContent.js +1 -1
  49. package/dist/components/charts/shared/ChartText/ChartText.js +1 -1
  50. package/dist/components/charts/shared/ChartText/ChartText.theme.js +1 -1
  51. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +4 -4
  52. package/dist/components/core/Accordion/Accordion.theme.js +2 -2
  53. package/dist/components/core/Alert/Alert.js +3 -2
  54. package/dist/components/core/Alert/Alert.theme.js +4 -8
  55. package/dist/components/core/Alert/Alert.types.d.ts +4 -3
  56. package/dist/components/core/AlertDialog/AlertDialog.d.ts +1 -1
  57. package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
  58. package/dist/components/core/AlertDialog/AlertDialog.types.d.ts +2 -2
  59. package/dist/components/core/Avatar/Avatar.theme.js +5 -5
  60. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +1 -1
  61. package/dist/components/core/Badge/Badge.d.ts +1 -1
  62. package/dist/components/core/Badge/Badge.js +11 -9
  63. package/dist/components/core/Badge/Badge.theme.js +24 -20
  64. package/dist/components/core/Badge/Badge.types.d.ts +10 -5
  65. package/dist/components/core/Breadcrumbs/Breadcrumbs.js +1 -1
  66. package/dist/components/core/Button/Button.d.ts +1 -1
  67. package/dist/components/core/Button/Button.theme.js +46 -41
  68. package/dist/components/core/Button/Button.types.d.ts +3 -3
  69. package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +1 -1
  70. package/dist/components/core/Calendar/Calendar.js +1 -1
  71. package/dist/components/core/Calendar/Calendar.theme.js +9 -9
  72. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +1 -1
  73. package/dist/components/core/Card/Card.d.ts +2 -2
  74. package/dist/components/core/Card/Card.js +6 -7
  75. package/dist/components/core/Card/Card.theme.js +6 -6
  76. package/dist/components/core/Card/Card.types.d.ts +5 -20
  77. package/dist/components/core/Card/CardSubtitle.d.ts +3 -0
  78. package/dist/components/core/Card/CardSubtitle.js +11 -0
  79. package/dist/components/core/Card/index.d.ts +2 -2
  80. package/dist/components/core/CommandPalette/CommandItem.d.ts +1 -1
  81. package/dist/components/core/CommandPalette/CommandItem.js +2 -2
  82. package/dist/components/core/CommandPalette/CommandPalette.js +2 -2
  83. package/dist/components/core/CommandPalette/CommandPalette.theme.js +6 -6
  84. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +2 -2
  85. package/dist/components/core/ContextMenu/ContextMenu.theme.js +3 -3
  86. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +1 -1
  87. package/dist/components/core/ContextMenu/ContextMenuItem.js +3 -3
  88. package/dist/components/core/Drawer/Drawer.d.ts +13 -1
  89. package/dist/components/core/Drawer/Drawer.js +23 -10
  90. package/dist/components/core/Drawer/Drawer.theme.js +2 -2
  91. package/dist/components/core/Drawer/Drawer.types.d.ts +21 -4
  92. package/dist/components/core/Drawer/DrawerHeader.d.ts +5 -0
  93. package/dist/components/core/Drawer/DrawerHeader.js +14 -0
  94. package/dist/components/core/Drawer/DrawerSubtitle.d.ts +5 -0
  95. package/dist/components/core/Drawer/DrawerSubtitle.js +11 -0
  96. package/dist/components/core/Drawer/DrawerTitle.d.ts +5 -0
  97. package/dist/components/core/Drawer/DrawerTitle.js +11 -0
  98. package/dist/components/core/Drawer/index.d.ts +1 -1
  99. package/dist/components/core/Dropdown/Dropdown.theme.js +1 -1
  100. package/dist/components/core/Dropdown/Dropdown.types.d.ts +4 -4
  101. package/dist/components/core/Dropdown/DropdownItem.js +2 -2
  102. package/dist/components/core/Dropdown/DropdownMenu.js +1 -0
  103. package/dist/components/core/Empty/Empty.js +2 -2
  104. package/dist/components/core/Empty/Empty.theme.d.ts +1 -1
  105. package/dist/components/core/Empty/Empty.theme.js +3 -3
  106. package/dist/components/core/Empty/Empty.types.d.ts +2 -2
  107. package/dist/components/core/Kbd/Kbd.theme.js +3 -3
  108. package/dist/components/core/Link/Link.d.ts +1 -1
  109. package/dist/components/core/Link/Link.types.d.ts +2 -2
  110. package/dist/components/core/Loader/Loader.theme.js +1 -1
  111. package/dist/components/core/MenuItem/MenuItem.js +2 -2
  112. package/dist/components/core/MenuItem/MenuItem.theme.d.ts +1 -2
  113. package/dist/components/core/MenuItem/MenuItem.theme.js +9 -11
  114. package/dist/components/core/MenuItem/MenuItem.types.d.ts +1 -1
  115. package/dist/components/core/Message/Message.d.ts +3 -2
  116. package/dist/components/core/Message/Message.js +30 -24
  117. package/dist/components/core/Message/Message.theme.d.ts +1 -1
  118. package/dist/components/core/Message/Message.theme.js +22 -24
  119. package/dist/components/core/Message/Message.types.d.ts +0 -7
  120. package/dist/components/core/Message/MessageList.animations.d.ts +6 -0
  121. package/dist/components/core/Message/MessageList.animations.js +32 -0
  122. package/dist/components/core/Message/MessageList.d.ts +5 -0
  123. package/dist/components/core/Message/MessageList.js +78 -0
  124. package/dist/components/core/Message/MessageList.theme.d.ts +2 -0
  125. package/dist/components/core/Message/MessageList.theme.js +6 -0
  126. package/dist/components/core/Message/MessageList.types.d.ts +32 -0
  127. package/dist/components/core/Message/index.d.ts +2 -0
  128. package/dist/components/core/Modal/Modal.d.ts +2 -2
  129. package/dist/components/core/Modal/Modal.js +5 -5
  130. package/dist/components/core/Modal/Modal.theme.js +6 -6
  131. package/dist/components/core/Modal/Modal.types.d.ts +4 -4
  132. package/dist/components/core/Modal/ModalSubtitle.d.ts +5 -0
  133. package/dist/components/core/Modal/ModalSubtitle.js +11 -0
  134. package/dist/components/core/ModalStack/ModalStack.animations.js +3 -3
  135. package/dist/components/core/ModalStack/ModalStackModal.js +3 -3
  136. package/dist/components/core/NavItem/NavItem.js +1 -1
  137. package/dist/components/core/NavItem/NavItem.theme.js +1 -1
  138. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +3 -3
  139. package/dist/components/core/PageHeading/PageHeading.d.ts +8 -0
  140. package/dist/components/core/PageHeading/PageHeading.js +28 -0
  141. package/dist/components/core/PageHeading/PageHeading.theme.d.ts +2 -0
  142. package/dist/components/core/PageHeading/PageHeading.theme.js +11 -0
  143. package/dist/components/core/PageHeading/PageHeading.types.d.ts +55 -0
  144. package/dist/components/core/PageHeading/PageHeadingActions.d.ts +3 -0
  145. package/dist/components/core/PageHeading/PageHeadingActions.js +11 -0
  146. package/dist/components/core/PageHeading/PageHeadingBackButton.d.ts +3 -0
  147. package/dist/components/core/PageHeading/PageHeadingBackButton.js +12 -0
  148. package/dist/components/core/PageHeading/PageHeadingIcon.d.ts +3 -0
  149. package/dist/components/core/PageHeading/PageHeadingIcon.js +11 -0
  150. package/dist/components/core/PageHeading/PageHeadingSubtitle.d.ts +3 -0
  151. package/dist/components/core/PageHeading/PageHeadingSubtitle.js +11 -0
  152. package/dist/components/core/PageHeading/PageHeadingTitle.d.ts +3 -0
  153. package/dist/components/core/PageHeading/PageHeadingTitle.js +11 -0
  154. package/dist/components/core/PageHeading/index.d.ts +2 -0
  155. package/dist/components/core/Pagination/Pagination.theme.js +2 -2
  156. package/dist/components/core/Pill/Pill.theme.js +3 -3
  157. package/dist/components/core/Popover/Popover.theme.js +1 -1
  158. package/dist/components/core/Popover/Popover.types.d.ts +6 -0
  159. package/dist/components/core/Popover/PopoverContent.js +8 -2
  160. package/dist/components/core/Progress/Progress.theme.js +10 -7
  161. package/dist/components/core/Progress/Progress.types.d.ts +2 -1
  162. package/dist/components/core/Segmented/Segmented.theme.js +5 -5
  163. package/dist/components/core/Sidebar/Sidebar.js +1 -0
  164. package/dist/components/core/Sidebar/SidebarNavGroup.js +1 -1
  165. package/dist/components/core/SocialIcon/SocialIcon.d.ts +3 -0
  166. package/dist/components/core/SocialIcon/SocialIcon.js +30 -0
  167. package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +2 -0
  168. package/dist/components/core/SocialIcon/SocialIcon.theme.js +12 -0
  169. package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +18 -0
  170. package/dist/components/core/SocialIcon/index.d.ts +2 -0
  171. package/dist/components/core/SocialIcon/platforms.d.ts +17 -0
  172. package/dist/components/core/SocialIcon/platforms.js +234 -0
  173. package/dist/components/core/Spinner/Spinner.theme.js +3 -5
  174. package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
  175. package/dist/components/core/Tabs/Tabs.theme.js +2 -2
  176. package/dist/components/core/Tag/Tag.d.ts +2 -2
  177. package/dist/components/core/Tag/Tag.js +21 -4
  178. package/dist/components/core/Tag/Tag.theme.js +12 -4
  179. package/dist/components/core/Tag/Tag.types.d.ts +24 -1
  180. package/dist/components/core/Toast/Toast.js +4 -4
  181. package/dist/components/core/Toast/Toast.theme.js +4 -4
  182. package/dist/components/core/Toast/Toast.types.d.ts +9 -9
  183. package/dist/components/core/Toast/useToast.js +6 -6
  184. package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
  185. package/dist/components/core/Tree/Tree.theme.js +1 -1
  186. package/dist/components/core/index.d.ts +2 -7
  187. package/dist/components/core/index.js +9 -19
  188. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +8 -0
  189. package/dist/components/{core → data-display}/Feed/Feed.js +3 -3
  190. package/dist/components/{core → data-display}/Feed/Feed.theme.js +2 -2
  191. package/dist/components/data-display/GanttChart/GanttChart.animations.d.ts +4 -0
  192. package/dist/components/data-display/GanttChart/GanttChart.animations.js +21 -0
  193. package/dist/components/data-display/GanttChart/GanttChart.d.ts +8 -0
  194. package/dist/components/data-display/GanttChart/GanttChart.js +170 -0
  195. package/dist/components/data-display/GanttChart/GanttChart.theme.d.ts +2 -0
  196. package/dist/components/data-display/GanttChart/GanttChart.theme.js +23 -0
  197. package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +162 -0
  198. package/dist/components/data-display/GanttChart/GanttChart.types.js +9 -0
  199. package/dist/components/data-display/GanttChart/GanttChart.utils.d.ts +80 -0
  200. package/dist/components/data-display/GanttChart/GanttChart.utils.js +274 -0
  201. package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +9 -0
  202. package/dist/components/data-display/GanttChart/GanttChartPanel.js +82 -0
  203. package/dist/components/data-display/GanttChart/GanttDependencyArrows.d.ts +2 -0
  204. package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +35 -0
  205. package/dist/components/data-display/GanttChart/GanttGroupBar.d.ts +8 -0
  206. package/dist/components/data-display/GanttChart/GanttGroupBar.js +26 -0
  207. package/dist/components/data-display/GanttChart/GanttMilestone.d.ts +9 -0
  208. package/dist/components/data-display/GanttChart/GanttMilestone.js +44 -0
  209. package/dist/components/data-display/GanttChart/GanttProgressCircle.d.ts +9 -0
  210. package/dist/components/data-display/GanttChart/GanttProgressCircle.js +11 -0
  211. package/dist/components/data-display/GanttChart/GanttSplitter.d.ts +2 -0
  212. package/dist/components/data-display/GanttChart/GanttSplitter.js +39 -0
  213. package/dist/components/data-display/GanttChart/GanttTableGroupRow.d.ts +7 -0
  214. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +23 -0
  215. package/dist/components/data-display/GanttChart/GanttTableHeader.d.ts +2 -0
  216. package/dist/components/data-display/GanttChart/GanttTableHeader.js +13 -0
  217. package/dist/components/data-display/GanttChart/GanttTablePanel.d.ts +6 -0
  218. package/dist/components/data-display/GanttChart/GanttTablePanel.js +20 -0
  219. package/dist/components/data-display/GanttChart/GanttTableTaskRow.d.ts +8 -0
  220. package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +30 -0
  221. package/dist/components/data-display/GanttChart/GanttTaskBar.d.ts +9 -0
  222. package/dist/components/data-display/GanttChart/GanttTaskBar.js +206 -0
  223. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.d.ts +8 -0
  224. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +17 -0
  225. package/dist/components/data-display/GanttChart/GanttTimelineGrid.d.ts +7 -0
  226. package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +33 -0
  227. package/dist/components/data-display/GanttChart/GanttTimelineHeader.d.ts +8 -0
  228. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +43 -0
  229. package/dist/components/data-display/GanttChart/GanttToolbar.d.ts +2 -0
  230. package/dist/components/data-display/GanttChart/GanttToolbar.js +28 -0
  231. package/dist/components/data-display/GanttChart/hooks/useGanttDates.d.ts +12 -0
  232. package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +25 -0
  233. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.d.ts +25 -0
  234. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +144 -0
  235. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.d.ts +2 -0
  236. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +33 -0
  237. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.d.ts +6 -0
  238. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +32 -0
  239. package/dist/components/data-display/GanttChart/index.d.ts +3 -0
  240. package/dist/components/{core → data-display}/KPI/KPI.js +10 -8
  241. package/dist/components/{core → data-display}/KPI/KPI.theme.js +12 -12
  242. package/dist/components/{core → data-display}/KPI/KPI.types.d.ts +6 -5
  243. package/dist/components/{core → data-display}/KPI/index.d.ts +1 -0
  244. package/dist/components/{core → data-display}/Metric/Metric.js +4 -7
  245. package/dist/components/{core → data-display}/Metric/Metric.theme.js +17 -13
  246. package/dist/components/{core → data-display}/Metric/Metric.types.d.ts +8 -7
  247. package/dist/components/{core → data-display}/Table/Table.theme.js +4 -4
  248. package/dist/components/{core → data-display}/Table/TableActions.js +8 -8
  249. package/dist/components/{core → data-display}/Table/TableActionsMenu.js +1 -1
  250. package/dist/components/{core → data-display}/Table/TableColumnManager.js +5 -5
  251. package/dist/components/{core → data-display}/Table/TableFilter.js +6 -6
  252. package/dist/components/{core → data-display}/Table/TableHeader.js +1 -1
  253. package/dist/components/data-display/Table/TablePagination.js +25 -0
  254. package/dist/components/{core → data-display}/Table/TableRow.js +1 -1
  255. package/dist/components/{core → data-display}/Table/TableSelectionHeader.js +2 -2
  256. package/dist/components/{core → data-display}/Timeline/Timeline.theme.js +2 -2
  257. package/dist/components/data-display/index.d.ts +7 -0
  258. package/dist/components/data-display/index.js +20 -0
  259. package/dist/components/effects/3d/index.d.ts +6 -0
  260. package/dist/components/effects/3d/index.js +3 -0
  261. package/dist/components/effects/Aurora/Aurora.d.ts +24 -0
  262. package/dist/components/effects/Aurora/Aurora.js +119 -0
  263. package/dist/components/effects/Aurora/Aurora.types.d.ts +15 -0
  264. package/dist/components/effects/Aurora/index.d.ts +2 -0
  265. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +2 -2
  266. package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
  267. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +3 -1
  268. package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
  269. package/dist/components/effects/DotPattern/DotPattern.d.ts +18 -0
  270. package/dist/components/effects/DotPattern/DotPattern.js +65 -0
  271. package/dist/components/effects/DotPattern/DotPattern.types.d.ts +47 -0
  272. package/dist/components/effects/DotPattern/index.d.ts +2 -0
  273. package/dist/components/effects/GridPattern/GridPattern.d.ts +18 -0
  274. package/dist/components/effects/GridPattern/GridPattern.js +64 -0
  275. package/dist/components/effects/GridPattern/GridPattern.types.d.ts +47 -0
  276. package/dist/components/effects/GridPattern/index.d.ts +2 -0
  277. package/dist/components/effects/MagneticElement/MagneticElement.d.ts +30 -0
  278. package/dist/components/effects/MagneticElement/MagneticElement.js +110 -0
  279. package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +44 -0
  280. package/dist/components/effects/MagneticElement/index.d.ts +2 -0
  281. package/dist/components/effects/MorphingText/MorphingText.d.ts +17 -0
  282. package/dist/components/effects/MorphingText/MorphingText.js +91 -0
  283. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +18 -0
  284. package/dist/components/effects/MorphingText/index.d.ts +2 -0
  285. package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +28 -0
  286. package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +61 -0
  287. package/dist/components/effects/NoiseOverlay/NoiseOverlay.types.d.ts +35 -0
  288. package/dist/components/effects/NoiseOverlay/index.d.ts +2 -0
  289. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +26 -0
  290. package/dist/components/effects/ParallaxSection/ParallaxSection.js +71 -0
  291. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +11 -0
  292. package/dist/components/effects/ParallaxSection/index.d.ts +2 -0
  293. package/dist/components/effects/Particles/Particles.d.ts +22 -0
  294. package/dist/components/effects/Particles/Particles.js +33 -0
  295. package/dist/components/effects/Particles/Particles.scene.d.ts +3 -0
  296. package/dist/components/effects/Particles/Particles.scene.js +284 -0
  297. package/dist/components/effects/Particles/Particles.types.d.ts +65 -0
  298. package/dist/components/effects/Particles/index.d.ts +2 -0
  299. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.d.ts +3 -0
  300. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +75 -0
  301. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.d.ts +7 -0
  302. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.js +12 -0
  303. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +47 -0
  304. package/dist/components/effects/ProgressiveBlur/index.d.ts +2 -0
  305. package/dist/components/effects/ScrollReveal/ScrollReveal.d.ts +29 -0
  306. package/dist/components/effects/ScrollReveal/ScrollReveal.js +121 -0
  307. package/dist/components/effects/ScrollReveal/ScrollReveal.types.d.ts +25 -0
  308. package/dist/components/effects/ScrollReveal/index.d.ts +2 -0
  309. package/dist/components/effects/Spotlight/Spotlight.d.ts +36 -0
  310. package/dist/components/effects/Spotlight/Spotlight.js +112 -0
  311. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +29 -0
  312. package/dist/components/effects/Spotlight/index.d.ts +2 -0
  313. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +30 -0
  314. package/dist/components/effects/StickyScroll/StickyScroll.js +128 -0
  315. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +19 -0
  316. package/dist/components/effects/StickyScroll/index.d.ts +2 -0
  317. package/dist/components/effects/index.d.ts +22 -4
  318. package/dist/components/effects/index.js +11 -2
  319. package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
  320. package/dist/components/forms/Checkbox/Checkbox.js +36 -12
  321. package/dist/components/forms/Checkbox/Checkbox.theme.js +9 -5
  322. package/dist/components/forms/Checkbox/Checkbox.types.d.ts +28 -2
  323. package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
  324. package/dist/components/forms/Checkbox/CheckboxContext.js +12 -0
  325. package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
  326. package/dist/components/forms/Checkbox/CheckboxGroup.js +40 -0
  327. package/dist/components/forms/Checkbox/index.d.ts +1 -1
  328. package/dist/components/forms/ColorPicker/ColorPicker.js +1 -1
  329. package/dist/components/forms/ColorPicker/ColorPicker.theme.js +3 -3
  330. package/dist/components/forms/ColorPicker/ColorPickerInput.js +7 -7
  331. package/dist/components/forms/CronInput/CronInput.d.ts +3 -0
  332. package/dist/components/forms/CronInput/CronInput.js +107 -0
  333. package/dist/components/forms/CronInput/CronInput.theme.d.ts +6 -0
  334. package/dist/components/forms/CronInput/CronInput.theme.js +84 -0
  335. package/dist/components/forms/CronInput/CronInput.types.d.ts +98 -0
  336. package/dist/components/forms/CronInput/CronInput.utils.d.ts +67 -0
  337. package/dist/components/forms/CronInput/CronInput.utils.js +505 -0
  338. package/dist/components/forms/CronInput/index.d.ts +4 -0
  339. package/dist/components/forms/DatePicker/DatePicker.theme.js +3 -3
  340. package/dist/components/forms/DatePicker/DatePickerContent.js +1 -1
  341. package/dist/components/forms/FileUpload/FileUpload.js +2 -2
  342. package/dist/components/forms/FileUpload/FileUpload.theme.js +4 -4
  343. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  344. package/dist/components/forms/Input/Input.theme.js +1 -1
  345. package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
  346. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  347. package/dist/components/forms/InputCounter/InputCounter.types.d.ts +3 -2
  348. package/dist/components/forms/InputOTP/InputOTP.theme.js +2 -2
  349. package/dist/components/forms/InputTag/InputTag.js +1 -1
  350. package/dist/components/forms/Mention/Mention.d.ts +3 -0
  351. package/dist/components/forms/Mention/Mention.js +607 -0
  352. package/dist/components/forms/Mention/Mention.theme.d.ts +6 -0
  353. package/dist/components/forms/Mention/Mention.theme.js +55 -0
  354. package/dist/components/forms/Mention/Mention.types.d.ts +151 -0
  355. package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
  356. package/dist/components/forms/Mention/Mention.utils.js +285 -0
  357. package/dist/components/forms/Mention/index.d.ts +3 -0
  358. package/dist/components/forms/Radio/Radio.d.ts +3 -4
  359. package/dist/components/forms/Radio/Radio.js +25 -12
  360. package/dist/components/forms/Radio/Radio.theme.js +34 -5
  361. package/dist/components/forms/Radio/Radio.types.d.ts +30 -4
  362. package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
  363. package/dist/components/forms/Radio/RadioContext.js +12 -0
  364. package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
  365. package/dist/components/forms/Radio/RadioGroup.js +36 -0
  366. package/dist/components/forms/Radio/index.d.ts +1 -1
  367. package/dist/components/forms/RichTextEditor/RichTextEditor.js +2 -2
  368. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +1 -1
  369. package/dist/components/forms/Select/Select.theme.js +1 -1
  370. package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +2 -0
  371. package/dist/components/forms/SelectableCard/SelectableCard.animations.js +9 -0
  372. package/dist/components/forms/SelectableCard/SelectableCard.d.ts +5 -0
  373. package/dist/components/forms/SelectableCard/SelectableCard.js +58 -0
  374. package/dist/components/forms/SelectableCard/SelectableCard.theme.d.ts +2 -0
  375. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +38 -0
  376. package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +33 -0
  377. package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +3 -0
  378. package/dist/components/forms/SelectableCard/SelectableCardContext.js +12 -0
  379. package/dist/components/forms/SelectableCard/SelectableCardGroup.d.ts +3 -0
  380. package/dist/components/forms/SelectableCard/SelectableCardGroup.js +37 -0
  381. package/dist/components/forms/SelectableCard/index.d.ts +3 -0
  382. package/dist/components/forms/Signature/Signature.theme.js +1 -1
  383. package/dist/components/forms/Slider/Slider.theme.js +3 -3
  384. package/dist/components/forms/Switch/Switch.theme.js +1 -1
  385. package/dist/components/forms/TimePicker/TimePicker.theme.js +2 -2
  386. package/dist/components/forms/TransferList/TransferList.animations.d.ts +10 -0
  387. package/dist/components/forms/TransferList/TransferList.animations.js +32 -0
  388. package/dist/components/forms/TransferList/TransferList.d.ts +28 -0
  389. package/dist/components/forms/TransferList/TransferList.js +199 -0
  390. package/dist/components/forms/TransferList/TransferList.theme.d.ts +6 -0
  391. package/dist/components/forms/TransferList/TransferList.theme.js +60 -0
  392. package/dist/components/forms/TransferList/TransferList.types.d.ts +101 -0
  393. package/dist/components/forms/TransferList/index.d.ts +3 -0
  394. package/dist/components/forms/forms.theme.js +6 -6
  395. package/dist/components/forms/index.d.ts +15 -2
  396. package/dist/components/forms/index.js +9 -0
  397. package/dist/components/layout/FormLayout/FormLayout.d.ts +8 -0
  398. package/dist/components/layout/FormLayout/FormLayout.js +22 -0
  399. package/dist/components/layout/FormLayout/FormLayout.theme.d.ts +2 -0
  400. package/dist/components/layout/FormLayout/FormLayout.theme.js +16 -0
  401. package/dist/components/layout/FormLayout/FormLayout.types.d.ts +61 -0
  402. package/dist/components/layout/FormLayout/FormLayoutBody.d.ts +3 -0
  403. package/dist/components/layout/FormLayout/FormLayoutBody.js +13 -0
  404. package/dist/components/layout/FormLayout/FormLayoutFooter.d.ts +3 -0
  405. package/dist/components/layout/FormLayout/FormLayoutFooter.js +12 -0
  406. package/dist/components/layout/FormLayout/FormLayoutHeader.d.ts +3 -0
  407. package/dist/components/layout/FormLayout/FormLayoutHeader.js +12 -0
  408. package/dist/components/layout/FormLayout/FormLayoutSection.d.ts +3 -0
  409. package/dist/components/layout/FormLayout/FormLayoutSection.js +12 -0
  410. package/dist/components/layout/FormLayout/index.d.ts +3 -0
  411. package/dist/components/layout/PageLayout/PageLayout.d.ts +7 -0
  412. package/dist/components/layout/PageLayout/PageLayout.js +33 -0
  413. package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +2 -0
  414. package/dist/components/layout/PageLayout/PageLayout.theme.js +10 -0
  415. package/dist/components/layout/PageLayout/PageLayout.types.d.ts +39 -0
  416. package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +3 -0
  417. package/dist/components/layout/PageLayout/PageLayoutContent.js +12 -0
  418. package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +3 -0
  419. package/dist/components/layout/PageLayout/PageLayoutHeader.js +12 -0
  420. package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +3 -0
  421. package/dist/components/layout/PageLayout/PageLayoutSidebar.js +12 -0
  422. package/dist/components/layout/PageLayout/index.d.ts +3 -0
  423. package/dist/components/layout/index.d.ts +2 -0
  424. package/dist/hooks/useSelectPortal.d.ts +4 -2
  425. package/dist/hooks/useSelectPortal.js +139 -51
  426. package/dist/index.d.ts +2 -0
  427. package/dist/index.js +53 -21
  428. package/dist/styles.css +1 -1
  429. package/dist/utils/colorUtils.d.ts +23 -0
  430. package/dist/utils/colorUtils.js +45 -0
  431. package/dist/utils/dateUtils.d.ts +30 -0
  432. package/dist/utils/dateUtils.js +58 -1
  433. package/dist/utils/index.d.ts +2 -1
  434. package/package.json +38 -26
  435. package/src/global.scss +673 -0
  436. package/src/styles/theme.css +378 -0
  437. package/src/theme-plugin.css +11 -0
  438. package/dist/components/core/Card/CardDescription.d.ts +0 -3
  439. package/dist/components/core/Card/CardDescription.js +0 -11
  440. package/dist/components/core/DescriptionList/DescriptionList.theme.js +0 -8
  441. package/dist/components/core/Modal/ModalDescription.d.ts +0 -5
  442. package/dist/components/core/Modal/ModalDescription.js +0 -11
  443. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.d.ts +0 -34
  444. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.js +0 -218
  445. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.theme.d.ts +0 -9
  446. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.types.d.ts +0 -48
  447. package/dist/components/core/ProgressiveBlur/index.d.ts +0 -2
  448. package/dist/components/core/Table/TablePagination.js +0 -25
  449. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.d.ts +0 -0
  450. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.js +0 -0
  451. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.theme.d.ts +0 -0
  452. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.types.d.ts +0 -0
  453. /package/dist/components/{core → data-display}/DescriptionList/index.d.ts +0 -0
  454. /package/dist/components/{core → data-display}/Feed/Feed.d.ts +0 -0
  455. /package/dist/components/{core → data-display}/Feed/Feed.theme.d.ts +0 -0
  456. /package/dist/components/{core → data-display}/Feed/Feed.types.d.ts +0 -0
  457. /package/dist/components/{core → data-display}/Feed/index.d.ts +0 -0
  458. /package/dist/components/{core → data-display}/KPI/KPI.d.ts +0 -0
  459. /package/dist/components/{core → data-display}/KPI/KPI.theme.d.ts +0 -0
  460. /package/dist/components/{core → data-display}/Metric/Metric.d.ts +0 -0
  461. /package/dist/components/{core → data-display}/Metric/Metric.theme.d.ts +0 -0
  462. /package/dist/components/{core → data-display}/Metric/index.d.ts +0 -0
  463. /package/dist/components/{core → data-display}/Table/Table.animations.d.ts +0 -0
  464. /package/dist/components/{core → data-display}/Table/Table.animations.js +0 -0
  465. /package/dist/components/{core → data-display}/Table/Table.d.ts +0 -0
  466. /package/dist/components/{core → data-display}/Table/Table.filterUtils.d.ts +0 -0
  467. /package/dist/components/{core → data-display}/Table/Table.filterUtils.js +0 -0
  468. /package/dist/components/{core → data-display}/Table/Table.js +0 -0
  469. /package/dist/components/{core → data-display}/Table/Table.theme.d.ts +0 -0
  470. /package/dist/components/{core → data-display}/Table/Table.types.d.ts +0 -0
  471. /package/dist/components/{core → data-display}/Table/Table.utils.d.ts +0 -0
  472. /package/dist/components/{core → data-display}/Table/Table.utils.js +0 -0
  473. /package/dist/components/{core → data-display}/Table/TableActions.d.ts +0 -0
  474. /package/dist/components/{core → data-display}/Table/TableActionsMenu.d.ts +0 -0
  475. /package/dist/components/{core → data-display}/Table/TableBody.d.ts +0 -0
  476. /package/dist/components/{core → data-display}/Table/TableBody.js +0 -0
  477. /package/dist/components/{core → data-display}/Table/TableCell.d.ts +0 -0
  478. /package/dist/components/{core → data-display}/Table/TableCell.js +0 -0
  479. /package/dist/components/{core → data-display}/Table/TableColumnManager.d.ts +0 -0
  480. /package/dist/components/{core → data-display}/Table/TableDeclarative.d.ts +0 -0
  481. /package/dist/components/{core → data-display}/Table/TableDeclarative.js +0 -0
  482. /package/dist/components/{core → data-display}/Table/TableFilter.d.ts +0 -0
  483. /package/dist/components/{core → data-display}/Table/TableHeader.d.ts +0 -0
  484. /package/dist/components/{core → data-display}/Table/TablePagination.d.ts +0 -0
  485. /package/dist/components/{core → data-display}/Table/TableRow.d.ts +0 -0
  486. /package/dist/components/{core → data-display}/Table/TableSelectionHeader.d.ts +0 -0
  487. /package/dist/components/{core → data-display}/Table/hooks/index.d.ts +0 -0
  488. /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.d.ts +0 -0
  489. /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.js +0 -0
  490. /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.d.ts +0 -0
  491. /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.js +0 -0
  492. /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.d.ts +0 -0
  493. /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.js +0 -0
  494. /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.d.ts +0 -0
  495. /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.js +0 -0
  496. /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.d.ts +0 -0
  497. /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.js +0 -0
  498. /package/dist/components/{core → data-display}/Table/index.d.ts +0 -0
  499. /package/dist/components/{core → data-display}/Table/index.js +0 -0
  500. /package/dist/components/{core → data-display}/Timeline/Timeline.animations.d.ts +0 -0
  501. /package/dist/components/{core → data-display}/Timeline/Timeline.animations.js +0 -0
  502. /package/dist/components/{core → data-display}/Timeline/Timeline.d.ts +0 -0
  503. /package/dist/components/{core → data-display}/Timeline/Timeline.js +0 -0
  504. /package/dist/components/{core → data-display}/Timeline/Timeline.theme.d.ts +0 -0
  505. /package/dist/components/{core → data-display}/Timeline/Timeline.types.d.ts +0 -0
  506. /package/dist/components/{core → data-display}/Timeline/TimelineContent.d.ts +0 -0
  507. /package/dist/components/{core → data-display}/Timeline/TimelineContent.js +0 -0
  508. /package/dist/components/{core → data-display}/Timeline/TimelineItem.d.ts +0 -0
  509. /package/dist/components/{core → data-display}/Timeline/TimelineItem.js +0 -0
  510. /package/dist/components/{core → data-display}/Timeline/TimelineMarker.d.ts +0 -0
  511. /package/dist/components/{core → data-display}/Timeline/TimelineMarker.js +0 -0
  512. /package/dist/components/{core → data-display}/Timeline/index.d.ts +0 -0
@@ -0,0 +1,12 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { formLayoutTheme } from './FormLayout.theme.js';
5
+
6
+ const FormLayoutHeader = React__default.forwardRef(({ title, subtitle, action, className, theme: customTheme, ...props }, ref) => {
7
+ const theme = { ...formLayoutTheme, ...customTheme };
8
+ return (jsx("div", { ref: ref, className: cn(theme.header, className), ...props, children: jsxs("div", { className: "flex items-start justify-between", children: [jsxs("div", { children: [jsx("div", { className: theme.headerTitle, children: title }), subtitle && jsx("div", { className: theme.headerSubtitle, children: subtitle })] }), action && jsx("div", { children: action })] }) }));
9
+ });
10
+ FormLayoutHeader.displayName = "FormLayout.Header";
11
+
12
+ export { FormLayoutHeader };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { FormLayoutSectionProps } from "./FormLayout.types";
3
+ export declare const FormLayoutSection: React.ForwardRefExoticComponent<FormLayoutSectionProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1,12 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { formLayoutTheme } from './FormLayout.theme.js';
5
+
6
+ const FormLayoutSection = React__default.forwardRef(({ title, description, action, className, contentClassName, theme: customTheme, children, ...props }, ref) => {
7
+ const theme = { ...formLayoutTheme, ...customTheme };
8
+ return (jsxs("section", { ref: ref, className: cn(theme.section, className), ...props, children: [jsxs("div", { className: theme.sectionSidebar, children: [jsx("div", { className: theme.sectionTitle, children: title }), description && (jsx("div", { className: theme.sectionDescription, children: description })), action && jsx("div", { className: theme.sectionAction, children: action })] }), jsx("div", { className: cn(theme.sectionContent, contentClassName), children: children })] }));
9
+ });
10
+ FormLayoutSection.displayName = "FormLayout.Section";
11
+
12
+ export { FormLayoutSection };
@@ -0,0 +1,3 @@
1
+ export { FormLayout } from "./FormLayout";
2
+ export type { FormLayoutProps, FormLayoutHeaderProps, FormLayoutBodyProps, FormLayoutSectionProps, FormLayoutFooterProps, FormLayoutTheme, FormLayoutThemeOverrides, } from "./FormLayout.types";
3
+ export { formLayoutTheme } from "./FormLayout.theme";
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import type { PageLayoutProps } from "./PageLayout.types";
3
+ export declare const PageLayout: React.ForwardRefExoticComponent<PageLayoutProps & React.RefAttributes<HTMLDivElement>> & {
4
+ Sidebar: React.ForwardRefExoticComponent<import("./PageLayout.types").PageLayoutSidebarProps & React.RefAttributes<HTMLElement>>;
5
+ Header: React.ForwardRefExoticComponent<import("./PageLayout.types").PageLayoutHeaderProps & React.RefAttributes<HTMLElement>>;
6
+ Content: React.ForwardRefExoticComponent<import("./PageLayout.types").PageLayoutContentProps & React.RefAttributes<HTMLElement>>;
7
+ };
@@ -0,0 +1,33 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageLayoutTheme } from './PageLayout.theme.js';
5
+ import { PageLayoutSidebar } from './PageLayoutSidebar.js';
6
+ import { PageLayoutHeader } from './PageLayoutHeader.js';
7
+ import { PageLayoutContent } from './PageLayoutContent.js';
8
+
9
+ const PageLayoutRoot = React__default.forwardRef(({ className, theme: customTheme, children, ...props }, ref) => {
10
+ const theme = { ...pageLayoutTheme, ...customTheme };
11
+ // Separate Sidebar children from the rest (Header, Content)
12
+ // so we can wrap non-sidebar children in a vertical main column.
13
+ const childArray = React__default.Children.toArray(children);
14
+ const sidebar = [];
15
+ const main = [];
16
+ childArray.forEach((child) => {
17
+ if (React__default.isValidElement(child) && child.type === PageLayoutSidebar) {
18
+ sidebar.push(child);
19
+ }
20
+ else {
21
+ main.push(child);
22
+ }
23
+ });
24
+ return (jsxs("div", { ref: ref, className: cn(theme.root, className), ...props, children: [sidebar, jsx("div", { className: cn(theme.main), children: main })] }));
25
+ });
26
+ PageLayoutRoot.displayName = "PageLayout";
27
+ const PageLayout = Object.assign(PageLayoutRoot, {
28
+ Sidebar: PageLayoutSidebar,
29
+ Header: PageLayoutHeader,
30
+ Content: PageLayoutContent,
31
+ });
32
+
33
+ export { PageLayout };
@@ -0,0 +1,2 @@
1
+ import type { PageLayoutTheme } from "./PageLayout.types";
2
+ export declare const pageLayoutTheme: PageLayoutTheme;
@@ -0,0 +1,10 @@
1
+ const pageLayoutTheme = {
2
+ root: "flex h-screen overflow-hidden bg-[var(--color-background)]",
3
+ sidebar: "flex flex-col shrink-0 border-r border-[var(--color-border)] bg-[var(--color-background-secondary)] overflow-y-auto",
4
+ sidebarCollapsed: "hidden lg:flex",
5
+ main: "flex flex-col flex-1 min-w-0 overflow-hidden",
6
+ header: "shrink-0 border-b border-[var(--color-border)] bg-[var(--color-background)]",
7
+ content: "flex-1 overflow-y-auto",
8
+ };
9
+
10
+ export { pageLayoutTheme };
@@ -0,0 +1,39 @@
1
+ import React from "react";
2
+ export interface PageLayoutTheme {
3
+ root: string;
4
+ sidebar: string;
5
+ sidebarCollapsed: string;
6
+ main: string;
7
+ header: string;
8
+ content: string;
9
+ }
10
+ export interface PageLayoutThemeOverrides {
11
+ root?: string;
12
+ sidebar?: string;
13
+ sidebarCollapsed?: string;
14
+ main?: string;
15
+ header?: string;
16
+ content?: string;
17
+ }
18
+ export interface PageLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
19
+ /** Theme overrides for the root container. */
20
+ theme?: PageLayoutThemeOverrides;
21
+ }
22
+ export interface PageLayoutSidebarProps extends React.HTMLAttributes<HTMLElement> {
23
+ /** Width of the sidebar (CSS value). Defaults to "16rem". */
24
+ width?: string;
25
+ /** Whether the sidebar is collapsed on mobile. Defaults to true. */
26
+ collapsedOnMobile?: boolean;
27
+ /** Theme overrides for the sidebar. */
28
+ theme?: PageLayoutThemeOverrides;
29
+ }
30
+ export interface PageLayoutHeaderProps extends React.HTMLAttributes<HTMLElement> {
31
+ /** Whether the header is sticky. Defaults to true. */
32
+ sticky?: boolean;
33
+ /** Theme overrides for the header. */
34
+ theme?: PageLayoutThemeOverrides;
35
+ }
36
+ export interface PageLayoutContentProps extends React.HTMLAttributes<HTMLElement> {
37
+ /** Theme overrides for the content area. */
38
+ theme?: PageLayoutThemeOverrides;
39
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { PageLayoutContentProps } from "./PageLayout.types";
3
+ export declare const PageLayoutContent: React.ForwardRefExoticComponent<PageLayoutContentProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1,12 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageLayoutTheme } from './PageLayout.theme.js';
5
+
6
+ const PageLayoutContent = React__default.forwardRef(({ className, theme: customTheme, children, ...props }, ref) => {
7
+ const theme = { ...pageLayoutTheme, ...customTheme };
8
+ return (jsx("main", { ref: ref, className: cn(theme.content, className), ...props, children: children }));
9
+ });
10
+ PageLayoutContent.displayName = "PageLayout.Content";
11
+
12
+ export { PageLayoutContent };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { PageLayoutHeaderProps } from "./PageLayout.types";
3
+ export declare const PageLayoutHeader: React.ForwardRefExoticComponent<PageLayoutHeaderProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1,12 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageLayoutTheme } from './PageLayout.theme.js';
5
+
6
+ const PageLayoutHeader = React__default.forwardRef(({ sticky = true, className, theme: customTheme, children, ...props }, ref) => {
7
+ const theme = { ...pageLayoutTheme, ...customTheme };
8
+ return (jsx("header", { ref: ref, className: cn(theme.header, sticky && "sticky top-0 z-10", className), ...props, children: children }));
9
+ });
10
+ PageLayoutHeader.displayName = "PageLayout.Header";
11
+
12
+ export { PageLayoutHeader };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { PageLayoutSidebarProps } from "./PageLayout.types";
3
+ export declare const PageLayoutSidebar: React.ForwardRefExoticComponent<PageLayoutSidebarProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1,12 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageLayoutTheme } from './PageLayout.theme.js';
5
+
6
+ const PageLayoutSidebar = React__default.forwardRef(({ width = "16rem", collapsedOnMobile = true, className, theme: customTheme, style, children, ...props }, ref) => {
7
+ const theme = { ...pageLayoutTheme, ...customTheme };
8
+ return (jsx("aside", { ref: ref, className: cn(theme.sidebar, collapsedOnMobile && theme.sidebarCollapsed, className), style: { width, ...style }, ...props, children: children }));
9
+ });
10
+ PageLayoutSidebar.displayName = "PageLayout.Sidebar";
11
+
12
+ export { PageLayoutSidebar };
@@ -0,0 +1,3 @@
1
+ export { PageLayout } from "./PageLayout";
2
+ export type { PageLayoutProps, PageLayoutSidebarProps, PageLayoutHeaderProps, PageLayoutContentProps, PageLayoutTheme, PageLayoutThemeOverrides, } from "./PageLayout.types";
3
+ export { pageLayoutTheme } from "./PageLayout.theme";
@@ -0,0 +1,2 @@
1
+ export * from "./FormLayout";
2
+ export * from "./PageLayout";
@@ -6,6 +6,8 @@ export interface UseSimpleDropdownOptions {
6
6
  offset?: number;
7
7
  estimatedWidth?: number;
8
8
  autoWidth?: boolean;
9
+ onClose?: () => void;
10
+ stickyTracking?: boolean;
9
11
  }
10
12
  export interface SimpleDropdownReturn {
11
13
  position: {
@@ -24,5 +26,5 @@ export interface SimpleDropdownReturn {
24
26
  * Uses position: fixed with pure viewport coordinates to properly follow scroll
25
27
  * Fixes critical issues: dropdown not following scroll & multiple dropdowns not working
26
28
  */
27
- export declare const useSimpleDropdown: ({ triggerRef, isOpen, placement, offset, estimatedWidth, autoWidth, }: UseSimpleDropdownOptions) => SimpleDropdownReturn;
28
- export declare const useSelectPortal: ({ triggerRef, isOpen, placement, offset, estimatedWidth, autoWidth, }: UseSimpleDropdownOptions) => SimpleDropdownReturn;
29
+ export declare const useSimpleDropdown: ({ triggerRef, isOpen, placement, offset, estimatedWidth, autoWidth, onClose, stickyTracking, }: UseSimpleDropdownOptions) => SimpleDropdownReturn;
30
+ export declare const useSelectPortal: ({ triggerRef, isOpen, placement, offset, estimatedWidth, autoWidth, onClose, stickyTracking, }: UseSimpleDropdownOptions) => SimpleDropdownReturn;
@@ -1,19 +1,11 @@
1
- import { useRef, useState, useCallback, useLayoutEffect, useMemo } from 'react';
1
+ import { useRef, useState, useCallback, useLayoutEffect } from 'react';
2
2
 
3
- // Simple debounce utility
4
- const debounce = (func, wait) => {
5
- let timeout;
6
- return () => {
7
- clearTimeout(timeout);
8
- timeout = setTimeout(func, wait);
9
- };
10
- };
11
3
  /**
12
4
  * Fixed dropdown positioning hook
13
5
  * Uses position: fixed with pure viewport coordinates to properly follow scroll
14
6
  * Fixes critical issues: dropdown not following scroll & multiple dropdowns not working
15
7
  */
16
- const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", offset = 4, estimatedWidth, autoWidth = false, }) => {
8
+ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", offset = 4, estimatedWidth, autoWidth = false, onClose, stickyTracking = false, }) => {
17
9
  const contentRef = useRef(null);
18
10
  const [position, setPosition] = useState({ top: -9999, left: -9999, width: 0 });
19
11
  const [cssVariables, setCssVariables] = useState({});
@@ -22,6 +14,7 @@ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", off
22
14
  const [isReady, setIsReady] = useState(false);
23
15
  const isInitialRenderRef = useRef(true);
24
16
  const rafIdRef = useRef(null);
17
+ const frozenPlacementRef = useRef(placement);
25
18
  // Enhanced measurement system - use actual DOM measurements when available
26
19
  const measureDropdownHeight = useCallback(() => {
27
20
  if (contentRef.current) {
@@ -130,6 +123,7 @@ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", off
130
123
  }
131
124
  setActualPlacement(finalPlacement);
132
125
  setIsFlipped(needsFlip);
126
+ frozenPlacementRef.current = finalPlacement;
133
127
  // Calculate position based on final placement
134
128
  let top = 0;
135
129
  let left = 0;
@@ -175,42 +169,45 @@ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", off
175
169
  }
176
170
  }
177
171
  // Collision detection - handle both horizontal and vertical overflow
178
- // Horizontal bounds checking
179
- const rightEdge = left + dropdownWidth;
180
- const overflow = rightEdge - (viewportWidth - margin);
181
- if (overflow > 0) {
182
- // Shift left just enough to fit
183
- const shiftedLeft = left - overflow;
184
- if (shiftedLeft >= margin) {
185
- left = shiftedLeft;
172
+ // Skip clamping for stickyTracking so the dropdown follows the trigger past viewport edges
173
+ if (!stickyTracking) {
174
+ // Horizontal bounds checking
175
+ const rightEdge = left + dropdownWidth;
176
+ const overflow = rightEdge - (viewportWidth - margin);
177
+ if (overflow > 0) {
178
+ // Shift left just enough to fit
179
+ const shiftedLeft = left - overflow;
180
+ if (shiftedLeft >= margin) {
181
+ left = shiftedLeft;
182
+ }
183
+ else {
184
+ // Clamp to viewport margin
185
+ left = margin;
186
+ }
186
187
  }
187
- else {
188
- // Clamp to viewport margin
188
+ // Handle left edge overflow
189
+ if (left < margin) {
189
190
  left = margin;
190
191
  }
191
- }
192
- // Handle left edge overflow
193
- if (left < margin) {
194
- left = margin;
195
- }
196
- // Vertical bounds checking
197
- const bottomEdge = top + dropdownHeight;
198
- const verticalOverflow = bottomEdge - (viewportHeight - margin);
199
- if (verticalOverflow > 0) {
200
- // Shift up just enough to fit
201
- const shiftedTop = top - verticalOverflow;
202
- if (shiftedTop >= margin) {
203
- top = shiftedTop;
192
+ // Vertical bounds checking
193
+ const bottomEdge = top + dropdownHeight;
194
+ const verticalOverflow = bottomEdge - (viewportHeight - margin);
195
+ if (verticalOverflow > 0) {
196
+ // Shift up just enough to fit
197
+ const shiftedTop = top - verticalOverflow;
198
+ if (shiftedTop >= margin) {
199
+ top = shiftedTop;
200
+ }
201
+ else {
202
+ // Clamp to viewport margin
203
+ top = margin;
204
+ }
204
205
  }
205
- else {
206
- // Clamp to viewport margin
206
+ // Handle top edge overflow
207
+ if (top < margin) {
207
208
  top = margin;
208
209
  }
209
210
  }
210
- // Handle top edge overflow
211
- if (top < margin) {
212
- top = margin;
213
- }
214
211
  setPosition({ top, left, width: dropdownWidth });
215
212
  // Calculate available space based on placement direction
216
213
  let availableSpace = 0;
@@ -242,7 +239,54 @@ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", off
242
239
  }
243
240
  setCssVariables(cssVars);
244
241
  // Mark initial render as complete after first calculation
245
- }, [measureDropdownHeight, measureDropdownWidth, offset, placement, triggerRef]);
242
+ }, [measureDropdownHeight, measureDropdownWidth, offset, placement, triggerRef, stickyTracking]);
243
+ // Direct DOM mutation for stickyTracking — bypasses React state for zero-lag scroll tracking
244
+ const updatePositionInDOM = useCallback(() => {
245
+ if (!triggerRef.current || !contentRef.current)
246
+ return;
247
+ const rect = triggerRef.current.getBoundingClientRect();
248
+ const frozen = frozenPlacementRef.current;
249
+ const dropdownHeight = measureDropdownHeight();
250
+ const dropdownWidth = measureDropdownWidth();
251
+ let top = 0;
252
+ let left = 0;
253
+ if (frozen.startsWith("top") || frozen.startsWith("bottom")) {
254
+ if (frozen.includes("start")) {
255
+ left = rect.left;
256
+ }
257
+ else if (frozen.includes("end")) {
258
+ left = rect.right - dropdownWidth;
259
+ }
260
+ else {
261
+ left = rect.left + (rect.width / 2) - (dropdownWidth / 2);
262
+ }
263
+ if (frozen.startsWith("top")) {
264
+ top = rect.top - dropdownHeight - offset;
265
+ }
266
+ else {
267
+ top = rect.bottom + offset;
268
+ }
269
+ }
270
+ else if (frozen.startsWith("left") || frozen.startsWith("right")) {
271
+ if (frozen.includes("start")) {
272
+ top = rect.top;
273
+ }
274
+ else if (frozen.includes("end")) {
275
+ top = rect.bottom - dropdownHeight;
276
+ }
277
+ else {
278
+ top = rect.top + (rect.height / 2) - (dropdownHeight / 2);
279
+ }
280
+ if (frozen.startsWith("left")) {
281
+ left = rect.left - dropdownWidth - offset;
282
+ }
283
+ else {
284
+ left = rect.right + offset;
285
+ }
286
+ }
287
+ contentRef.current.style.top = `${top}px`;
288
+ contentRef.current.style.left = `${left}px`;
289
+ }, [triggerRef, measureDropdownHeight, measureDropdownWidth, offset]);
246
290
  // Reset initial render flag when dropdown opens
247
291
  useLayoutEffect(() => {
248
292
  if (!isOpen) {
@@ -280,20 +324,59 @@ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", off
280
324
  return;
281
325
  calculatePosition();
282
326
  }, [isOpen, calculatePosition]);
283
- // Debounced position updates for better performance
284
- const debouncedCalculatePosition = useMemo(() => debounce(calculatePosition, 16), // ~60fps
285
- [calculatePosition]);
286
- // Update position on scroll and resize - debounced for performance
327
+ // rAF-synced scroll handler: skips internal scrolls, detects off-screen trigger
328
+ const scrollRafRef = useRef(null);
329
+ const handleScroll = useCallback((e) => {
330
+ // Skip if scroll originated inside the popover content
331
+ if (contentRef.current && contentRef.current.contains(e.target)) {
332
+ return;
333
+ }
334
+ // Close if trigger has scrolled off-screen (skip for stickyTracking)
335
+ if (!stickyTracking && triggerRef.current) {
336
+ const rect = triggerRef.current.getBoundingClientRect();
337
+ const isOffScreen = rect.bottom < 0 || rect.top > window.innerHeight
338
+ || rect.right < 0 || rect.left > window.innerWidth;
339
+ if (isOffScreen && onClose) {
340
+ onClose();
341
+ return;
342
+ }
343
+ }
344
+ if (stickyTracking) {
345
+ // Direct DOM mutation — zero-lag tracking, bypasses React state entirely
346
+ updatePositionInDOM();
347
+ }
348
+ else {
349
+ if (scrollRafRef.current)
350
+ cancelAnimationFrame(scrollRafRef.current);
351
+ scrollRafRef.current = requestAnimationFrame(() => {
352
+ scrollRafRef.current = null;
353
+ calculatePosition();
354
+ });
355
+ }
356
+ }, [calculatePosition, onClose, triggerRef, stickyTracking, updatePositionInDOM]);
357
+ const handleResize = useCallback(() => {
358
+ if (scrollRafRef.current)
359
+ cancelAnimationFrame(scrollRafRef.current);
360
+ scrollRafRef.current = requestAnimationFrame(() => {
361
+ scrollRafRef.current = null;
362
+ calculatePosition();
363
+ });
364
+ }, [calculatePosition]);
365
+ // Update position on scroll and resize - rAF-synced for smooth tracking
287
366
  useLayoutEffect(() => {
288
367
  if (!isOpen)
289
368
  return;
290
- window.addEventListener("scroll", debouncedCalculatePosition, { passive: true, capture: true });
291
- window.addEventListener("resize", debouncedCalculatePosition, { passive: true });
369
+ window.addEventListener("scroll", handleScroll, { passive: true, capture: true });
370
+ window.addEventListener("resize", handleResize, { passive: true });
292
371
  return () => {
293
- window.removeEventListener("scroll", debouncedCalculatePosition, true);
294
- window.removeEventListener("resize", debouncedCalculatePosition);
372
+ window.removeEventListener("scroll", handleScroll, true);
373
+ window.removeEventListener("resize", handleResize);
374
+ if (scrollRafRef.current) {
375
+ cancelAnimationFrame(scrollRafRef.current);
376
+ scrollRafRef.current = null;
377
+ }
295
378
  };
296
- }, [isOpen, debouncedCalculatePosition]);
379
+ }, [isOpen, handleScroll, handleResize]);
297
380
  // Recalculate when dropdown content resizes (e.g. search filtering)
298
381
  useLayoutEffect(() => {
299
382
  if (!isOpen)
@@ -303,13 +386,18 @@ const useSimpleDropdown = ({ triggerRef, isOpen, placement = "bottom-start", off
303
386
  if (typeof ResizeObserver === "undefined")
304
387
  return;
305
388
  const observer = new ResizeObserver(() => {
306
- calculatePosition();
389
+ if (stickyTracking) {
390
+ updatePositionInDOM();
391
+ }
392
+ else {
393
+ calculatePosition();
394
+ }
307
395
  });
308
396
  observer.observe(contentRef.current);
309
397
  return () => {
310
398
  observer.disconnect();
311
399
  };
312
- }, [isOpen, calculatePosition]);
400
+ }, [isOpen, calculatePosition, stickyTracking, updatePositionInDOM]);
313
401
  return {
314
402
  position,
315
403
  cssVariables,
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./components/core";
2
+ export * from "./components/data-display";
2
3
  export * from "./components/forms";
3
4
  export * from "./components/charts";
5
+ export * from "./components/layout";
4
6
  export * from "./components/effects";
5
7
  export { cn } from "./utils/cn";
6
8
  export { debounce } from "./utils/debounce";