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

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 (528) hide show
  1. package/dist/components/ai/ApprovalCard/ApprovalCard.js +3 -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 +264 -31
  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 +258 -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.animations.d.ts +6 -1
  53. package/dist/components/core/Accordion/Accordion.animations.js +15 -1
  54. package/dist/components/core/Accordion/Accordion.theme.js +5 -5
  55. package/dist/components/core/Accordion/Accordion.types.d.ts +25 -0
  56. package/dist/components/core/Accordion/AccordionContent.js +1 -1
  57. package/dist/components/core/Accordion/AccordionTrigger.js +11 -6
  58. package/dist/components/core/Alert/Alert.js +3 -2
  59. package/dist/components/core/Alert/Alert.theme.js +4 -8
  60. package/dist/components/core/Alert/Alert.types.d.ts +4 -3
  61. package/dist/components/core/AlertDialog/AlertDialog.d.ts +1 -1
  62. package/dist/components/core/AlertDialog/AlertDialog.js +2 -2
  63. package/dist/components/core/AlertDialog/AlertDialog.types.d.ts +2 -2
  64. package/dist/components/core/Avatar/Avatar.theme.js +5 -5
  65. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +1 -1
  66. package/dist/components/core/Badge/Badge.d.ts +1 -1
  67. package/dist/components/core/Badge/Badge.js +11 -9
  68. package/dist/components/core/Badge/Badge.theme.js +24 -20
  69. package/dist/components/core/Badge/Badge.types.d.ts +10 -5
  70. package/dist/components/core/Breadcrumbs/Breadcrumbs.js +1 -1
  71. package/dist/components/core/Button/Button.d.ts +1 -1
  72. package/dist/components/core/Button/Button.js +21 -18
  73. package/dist/components/core/Button/Button.ripple.d.ts +5 -1
  74. package/dist/components/core/Button/Button.ripple.js +27 -17
  75. package/dist/components/core/Button/Button.theme.d.ts +1 -2
  76. package/dist/components/core/Button/Button.theme.js +46 -41
  77. package/dist/components/core/Button/Button.types.d.ts +3 -3
  78. package/dist/components/core/Button/index.d.ts +2 -0
  79. package/dist/components/core/ButtonGroup/ButtonGroup.theme.js +1 -1
  80. package/dist/components/core/Calendar/Calendar.js +1 -1
  81. package/dist/components/core/Calendar/Calendar.theme.js +9 -9
  82. package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +1 -1
  83. package/dist/components/core/Card/Card.d.ts +2 -2
  84. package/dist/components/core/Card/Card.js +6 -7
  85. package/dist/components/core/Card/Card.theme.js +2 -2
  86. package/dist/components/core/Card/Card.types.d.ts +7 -27
  87. package/dist/components/core/Card/CardSubtitle.d.ts +3 -0
  88. package/dist/components/core/Card/CardSubtitle.js +11 -0
  89. package/dist/components/core/Card/CardTitle.d.ts +1 -1
  90. package/dist/components/core/Card/index.d.ts +2 -2
  91. package/dist/components/core/CommandPalette/CommandItem.d.ts +1 -1
  92. package/dist/components/core/CommandPalette/CommandItem.js +2 -2
  93. package/dist/components/core/CommandPalette/CommandPalette.js +2 -2
  94. package/dist/components/core/CommandPalette/CommandPalette.theme.js +6 -6
  95. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +2 -2
  96. package/dist/components/core/ContextMenu/ContextMenu.theme.js +3 -3
  97. package/dist/components/core/ContextMenu/ContextMenu.types.d.ts +1 -1
  98. package/dist/components/core/ContextMenu/ContextMenuItem.js +3 -3
  99. package/dist/components/core/Drawer/Drawer.d.ts +13 -1
  100. package/dist/components/core/Drawer/Drawer.js +23 -10
  101. package/dist/components/core/Drawer/Drawer.theme.d.ts +2 -0
  102. package/dist/components/core/Drawer/Drawer.theme.js +15 -13
  103. package/dist/components/core/Drawer/Drawer.types.d.ts +26 -9
  104. package/dist/components/core/Drawer/DrawerContent.js +1 -1
  105. package/dist/components/core/Drawer/DrawerHeader.d.ts +5 -0
  106. package/dist/components/core/Drawer/DrawerHeader.js +15 -0
  107. package/dist/components/core/Drawer/DrawerSubtitle.d.ts +5 -0
  108. package/dist/components/core/Drawer/DrawerSubtitle.js +11 -0
  109. package/dist/components/core/Drawer/DrawerTitle.d.ts +5 -0
  110. package/dist/components/core/Drawer/DrawerTitle.js +11 -0
  111. package/dist/components/core/Drawer/index.d.ts +1 -1
  112. package/dist/components/core/Dropdown/Dropdown.theme.js +1 -1
  113. package/dist/components/core/Dropdown/Dropdown.types.d.ts +4 -4
  114. package/dist/components/core/Dropdown/DropdownItem.js +2 -2
  115. package/dist/components/core/Dropdown/DropdownMenu.js +1 -0
  116. package/dist/components/core/Empty/Empty.js +2 -2
  117. package/dist/components/core/Empty/Empty.theme.d.ts +1 -1
  118. package/dist/components/core/Empty/Empty.theme.js +3 -3
  119. package/dist/components/core/Empty/Empty.types.d.ts +2 -2
  120. package/dist/components/core/Kbd/Kbd.theme.js +3 -3
  121. package/dist/components/core/Link/Link.d.ts +1 -1
  122. package/dist/components/core/Link/Link.types.d.ts +2 -2
  123. package/dist/components/core/Loader/Loader.theme.js +1 -1
  124. package/dist/components/core/MenuItem/MenuItem.js +2 -2
  125. package/dist/components/core/MenuItem/MenuItem.theme.d.ts +1 -2
  126. package/dist/components/core/MenuItem/MenuItem.theme.js +9 -11
  127. package/dist/components/core/MenuItem/MenuItem.types.d.ts +1 -1
  128. package/dist/components/core/Message/Message.d.ts +3 -2
  129. package/dist/components/core/Message/Message.js +30 -24
  130. package/dist/components/core/Message/Message.theme.d.ts +1 -1
  131. package/dist/components/core/Message/Message.theme.js +22 -24
  132. package/dist/components/core/Message/Message.types.d.ts +0 -7
  133. package/dist/components/core/Message/MessageList.animations.d.ts +6 -0
  134. package/dist/components/core/Message/MessageList.animations.js +32 -0
  135. package/dist/components/core/Message/MessageList.d.ts +5 -0
  136. package/dist/components/core/Message/MessageList.js +78 -0
  137. package/dist/components/core/Message/MessageList.theme.d.ts +2 -0
  138. package/dist/components/core/Message/MessageList.theme.js +6 -0
  139. package/dist/components/core/Message/MessageList.types.d.ts +32 -0
  140. package/dist/components/core/Message/index.d.ts +2 -0
  141. package/dist/components/core/Modal/Modal.d.ts +2 -2
  142. package/dist/components/core/Modal/Modal.js +5 -5
  143. package/dist/components/core/Modal/Modal.theme.js +6 -6
  144. package/dist/components/core/Modal/Modal.types.d.ts +4 -4
  145. package/dist/components/core/Modal/ModalHeader.js +1 -0
  146. package/dist/components/core/Modal/ModalSubtitle.d.ts +5 -0
  147. package/dist/components/core/Modal/ModalSubtitle.js +11 -0
  148. package/dist/components/core/ModalStack/ModalStack.animations.js +3 -3
  149. package/dist/components/core/ModalStack/ModalStackModal.js +3 -3
  150. package/dist/components/core/NavItem/NavItem.js +1 -1
  151. package/dist/components/core/NavItem/NavItem.theme.js +1 -1
  152. package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +3 -3
  153. package/dist/components/core/PageHeading/PageHeading.d.ts +8 -0
  154. package/dist/components/core/PageHeading/PageHeading.js +28 -0
  155. package/dist/components/core/PageHeading/PageHeading.theme.d.ts +2 -0
  156. package/dist/components/core/PageHeading/PageHeading.theme.js +11 -0
  157. package/dist/components/core/PageHeading/PageHeading.types.d.ts +55 -0
  158. package/dist/components/core/PageHeading/PageHeadingActions.d.ts +3 -0
  159. package/dist/components/core/PageHeading/PageHeadingActions.js +11 -0
  160. package/dist/components/core/PageHeading/PageHeadingBackButton.d.ts +3 -0
  161. package/dist/components/core/PageHeading/PageHeadingBackButton.js +12 -0
  162. package/dist/components/core/PageHeading/PageHeadingIcon.d.ts +3 -0
  163. package/dist/components/core/PageHeading/PageHeadingIcon.js +11 -0
  164. package/dist/components/core/PageHeading/PageHeadingSubtitle.d.ts +3 -0
  165. package/dist/components/core/PageHeading/PageHeadingSubtitle.js +11 -0
  166. package/dist/components/core/PageHeading/PageHeadingTitle.d.ts +3 -0
  167. package/dist/components/core/PageHeading/PageHeadingTitle.js +11 -0
  168. package/dist/components/core/PageHeading/index.d.ts +2 -0
  169. package/dist/components/core/Pagination/Pagination.theme.js +2 -2
  170. package/dist/components/core/Pill/Pill.theme.js +3 -3
  171. package/dist/components/core/Popover/Popover.theme.js +1 -1
  172. package/dist/components/core/Popover/Popover.types.d.ts +6 -0
  173. package/dist/components/core/Popover/PopoverContent.js +8 -2
  174. package/dist/components/core/Progress/Progress.theme.js +10 -7
  175. package/dist/components/core/Progress/Progress.types.d.ts +2 -1
  176. package/dist/components/core/Segmented/Segmented.theme.js +5 -5
  177. package/dist/components/core/Sidebar/Sidebar.js +1 -0
  178. package/dist/components/core/Sidebar/SidebarNavGroup.js +1 -1
  179. package/dist/components/core/SocialIcon/SocialIcon.d.ts +3 -0
  180. package/dist/components/core/SocialIcon/SocialIcon.js +30 -0
  181. package/dist/components/core/SocialIcon/SocialIcon.theme.d.ts +2 -0
  182. package/dist/components/core/SocialIcon/SocialIcon.theme.js +12 -0
  183. package/dist/components/core/SocialIcon/SocialIcon.types.d.ts +18 -0
  184. package/dist/components/core/SocialIcon/index.d.ts +2 -0
  185. package/dist/components/core/SocialIcon/platforms.d.ts +17 -0
  186. package/dist/components/core/SocialIcon/platforms.js +234 -0
  187. package/dist/components/core/Spinner/Spinner.theme.js +3 -5
  188. package/dist/components/core/Spinner/Spinner.types.d.ts +2 -1
  189. package/dist/components/core/Tabs/Tabs.theme.js +2 -2
  190. package/dist/components/core/Tag/Tag.d.ts +2 -2
  191. package/dist/components/core/Tag/Tag.js +21 -4
  192. package/dist/components/core/Tag/Tag.theme.js +12 -4
  193. package/dist/components/core/Tag/Tag.types.d.ts +24 -1
  194. package/dist/components/core/Toast/Toast.js +4 -4
  195. package/dist/components/core/Toast/Toast.theme.js +4 -4
  196. package/dist/components/core/Toast/Toast.types.d.ts +9 -9
  197. package/dist/components/core/Toast/useToast.js +6 -6
  198. package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
  199. package/dist/components/core/Tree/Tree.theme.js +1 -1
  200. package/dist/components/core/index.d.ts +2 -7
  201. package/dist/components/core/index.js +10 -19
  202. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +8 -0
  203. package/dist/components/{core → data-display}/Feed/Feed.js +3 -3
  204. package/dist/components/{core → data-display}/Feed/Feed.theme.js +2 -2
  205. package/dist/components/data-display/GanttChart/GanttChart.animations.d.ts +4 -0
  206. package/dist/components/data-display/GanttChart/GanttChart.animations.js +21 -0
  207. package/dist/components/data-display/GanttChart/GanttChart.d.ts +8 -0
  208. package/dist/components/data-display/GanttChart/GanttChart.js +170 -0
  209. package/dist/components/data-display/GanttChart/GanttChart.theme.d.ts +2 -0
  210. package/dist/components/data-display/GanttChart/GanttChart.theme.js +23 -0
  211. package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +162 -0
  212. package/dist/components/data-display/GanttChart/GanttChart.types.js +9 -0
  213. package/dist/components/data-display/GanttChart/GanttChart.utils.d.ts +80 -0
  214. package/dist/components/data-display/GanttChart/GanttChart.utils.js +274 -0
  215. package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +9 -0
  216. package/dist/components/data-display/GanttChart/GanttChartPanel.js +82 -0
  217. package/dist/components/data-display/GanttChart/GanttDependencyArrows.d.ts +2 -0
  218. package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +35 -0
  219. package/dist/components/data-display/GanttChart/GanttGroupBar.d.ts +8 -0
  220. package/dist/components/data-display/GanttChart/GanttGroupBar.js +26 -0
  221. package/dist/components/data-display/GanttChart/GanttMilestone.d.ts +9 -0
  222. package/dist/components/data-display/GanttChart/GanttMilestone.js +44 -0
  223. package/dist/components/data-display/GanttChart/GanttProgressCircle.d.ts +9 -0
  224. package/dist/components/data-display/GanttChart/GanttProgressCircle.js +11 -0
  225. package/dist/components/data-display/GanttChart/GanttSplitter.d.ts +2 -0
  226. package/dist/components/data-display/GanttChart/GanttSplitter.js +39 -0
  227. package/dist/components/data-display/GanttChart/GanttTableGroupRow.d.ts +7 -0
  228. package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +23 -0
  229. package/dist/components/data-display/GanttChart/GanttTableHeader.d.ts +2 -0
  230. package/dist/components/data-display/GanttChart/GanttTableHeader.js +13 -0
  231. package/dist/components/data-display/GanttChart/GanttTablePanel.d.ts +6 -0
  232. package/dist/components/data-display/GanttChart/GanttTablePanel.js +20 -0
  233. package/dist/components/data-display/GanttChart/GanttTableTaskRow.d.ts +8 -0
  234. package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +30 -0
  235. package/dist/components/data-display/GanttChart/GanttTaskBar.d.ts +9 -0
  236. package/dist/components/data-display/GanttChart/GanttTaskBar.js +206 -0
  237. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.d.ts +8 -0
  238. package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +17 -0
  239. package/dist/components/data-display/GanttChart/GanttTimelineGrid.d.ts +7 -0
  240. package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +33 -0
  241. package/dist/components/data-display/GanttChart/GanttTimelineHeader.d.ts +8 -0
  242. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +43 -0
  243. package/dist/components/data-display/GanttChart/GanttToolbar.d.ts +2 -0
  244. package/dist/components/data-display/GanttChart/GanttToolbar.js +29 -0
  245. package/dist/components/data-display/GanttChart/hooks/useGanttDates.d.ts +12 -0
  246. package/dist/components/data-display/GanttChart/hooks/useGanttDates.js +25 -0
  247. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.d.ts +25 -0
  248. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +144 -0
  249. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.d.ts +2 -0
  250. package/dist/components/data-display/GanttChart/hooks/useGanttLayout.js +33 -0
  251. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.d.ts +6 -0
  252. package/dist/components/data-display/GanttChart/hooks/useGanttScrollSync.js +32 -0
  253. package/dist/components/data-display/GanttChart/index.d.ts +3 -0
  254. package/dist/components/{core → data-display}/KPI/KPI.js +10 -8
  255. package/dist/components/{core → data-display}/KPI/KPI.theme.js +12 -12
  256. package/dist/components/{core → data-display}/KPI/KPI.types.d.ts +6 -5
  257. package/dist/components/{core → data-display}/KPI/index.d.ts +1 -0
  258. package/dist/components/{core → data-display}/Metric/Metric.js +4 -7
  259. package/dist/components/{core → data-display}/Metric/Metric.theme.js +17 -13
  260. package/dist/components/{core → data-display}/Metric/Metric.types.d.ts +8 -7
  261. package/dist/components/{core → data-display}/Table/Table.theme.js +4 -4
  262. package/dist/components/{core → data-display}/Table/TableActions.js +8 -8
  263. package/dist/components/{core → data-display}/Table/TableActionsMenu.js +1 -1
  264. package/dist/components/{core → data-display}/Table/TableColumnManager.js +6 -5
  265. package/dist/components/{core → data-display}/Table/TableFilter.js +6 -6
  266. package/dist/components/{core → data-display}/Table/TableHeader.js +1 -1
  267. package/dist/components/data-display/Table/TablePagination.js +25 -0
  268. package/dist/components/{core → data-display}/Table/TableRow.js +1 -1
  269. package/dist/components/{core → data-display}/Table/TableSelectionHeader.js +3 -3
  270. package/dist/components/{core → data-display}/Timeline/Timeline.theme.js +2 -2
  271. package/dist/components/data-display/index.d.ts +7 -0
  272. package/dist/components/data-display/index.js +20 -0
  273. package/dist/components/effects/3d/index.d.ts +6 -0
  274. package/dist/components/effects/3d/index.js +3 -0
  275. package/dist/components/effects/Aurora/Aurora.d.ts +24 -0
  276. package/dist/components/effects/Aurora/Aurora.js +119 -0
  277. package/dist/components/effects/Aurora/Aurora.types.d.ts +15 -0
  278. package/dist/components/effects/Aurora/index.d.ts +2 -0
  279. package/dist/components/effects/CustomCursor/CustomCursor.d.ts +2 -2
  280. package/dist/components/effects/CustomCursor/CustomCursor.js +1 -1
  281. package/dist/components/effects/CustomCursor/CustomCursor.theme.js +3 -1
  282. package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +5 -4
  283. package/dist/components/effects/DotPattern/DotPattern.d.ts +18 -0
  284. package/dist/components/effects/DotPattern/DotPattern.js +65 -0
  285. package/dist/components/effects/DotPattern/DotPattern.types.d.ts +47 -0
  286. package/dist/components/effects/DotPattern/index.d.ts +2 -0
  287. package/dist/components/effects/GridPattern/GridPattern.d.ts +18 -0
  288. package/dist/components/effects/GridPattern/GridPattern.js +64 -0
  289. package/dist/components/effects/GridPattern/GridPattern.types.d.ts +47 -0
  290. package/dist/components/effects/GridPattern/index.d.ts +2 -0
  291. package/dist/components/effects/MagneticElement/MagneticElement.d.ts +30 -0
  292. package/dist/components/effects/MagneticElement/MagneticElement.js +110 -0
  293. package/dist/components/effects/MagneticElement/MagneticElement.types.d.ts +44 -0
  294. package/dist/components/effects/MagneticElement/index.d.ts +2 -0
  295. package/dist/components/effects/MorphingText/MorphingText.d.ts +17 -0
  296. package/dist/components/effects/MorphingText/MorphingText.js +91 -0
  297. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +18 -0
  298. package/dist/components/effects/MorphingText/index.d.ts +2 -0
  299. package/dist/components/effects/NoiseOverlay/NoiseOverlay.d.ts +28 -0
  300. package/dist/components/effects/NoiseOverlay/NoiseOverlay.js +61 -0
  301. package/dist/components/effects/NoiseOverlay/NoiseOverlay.types.d.ts +35 -0
  302. package/dist/components/effects/NoiseOverlay/index.d.ts +2 -0
  303. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +26 -0
  304. package/dist/components/effects/ParallaxSection/ParallaxSection.js +71 -0
  305. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +11 -0
  306. package/dist/components/effects/ParallaxSection/index.d.ts +2 -0
  307. package/dist/components/effects/Particles/Particles.d.ts +22 -0
  308. package/dist/components/effects/Particles/Particles.js +33 -0
  309. package/dist/components/effects/Particles/Particles.scene.d.ts +3 -0
  310. package/dist/components/effects/Particles/Particles.scene.js +284 -0
  311. package/dist/components/effects/Particles/Particles.types.d.ts +65 -0
  312. package/dist/components/effects/Particles/index.d.ts +2 -0
  313. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.d.ts +3 -0
  314. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +75 -0
  315. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.d.ts +7 -0
  316. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.theme.js +12 -0
  317. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +47 -0
  318. package/dist/components/effects/ProgressiveBlur/index.d.ts +2 -0
  319. package/dist/components/effects/ScrollReveal/ScrollReveal.d.ts +29 -0
  320. package/dist/components/effects/ScrollReveal/ScrollReveal.js +121 -0
  321. package/dist/components/effects/ScrollReveal/ScrollReveal.types.d.ts +25 -0
  322. package/dist/components/effects/ScrollReveal/index.d.ts +2 -0
  323. package/dist/components/effects/Spotlight/Spotlight.d.ts +36 -0
  324. package/dist/components/effects/Spotlight/Spotlight.js +112 -0
  325. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +29 -0
  326. package/dist/components/effects/Spotlight/index.d.ts +2 -0
  327. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +30 -0
  328. package/dist/components/effects/StickyScroll/StickyScroll.js +128 -0
  329. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +19 -0
  330. package/dist/components/effects/StickyScroll/index.d.ts +2 -0
  331. package/dist/components/effects/index.d.ts +22 -4
  332. package/dist/components/effects/index.js +11 -2
  333. package/dist/components/forms/Checkbox/Checkbox.d.ts +3 -4
  334. package/dist/components/forms/Checkbox/Checkbox.js +36 -12
  335. package/dist/components/forms/Checkbox/Checkbox.theme.js +9 -5
  336. package/dist/components/forms/Checkbox/Checkbox.types.d.ts +28 -2
  337. package/dist/components/forms/Checkbox/CheckboxContext.d.ts +14 -0
  338. package/dist/components/forms/Checkbox/CheckboxContext.js +12 -0
  339. package/dist/components/forms/Checkbox/CheckboxGroup.d.ts +3 -0
  340. package/dist/components/forms/Checkbox/CheckboxGroup.js +40 -0
  341. package/dist/components/forms/Checkbox/index.d.ts +1 -1
  342. package/dist/components/forms/ColorPicker/ColorPicker.js +1 -1
  343. package/dist/components/forms/ColorPicker/ColorPicker.theme.js +3 -3
  344. package/dist/components/forms/ColorPicker/ColorPickerInput.js +7 -7
  345. package/dist/components/forms/CronInput/CronInput.d.ts +3 -0
  346. package/dist/components/forms/CronInput/CronInput.js +107 -0
  347. package/dist/components/forms/CronInput/CronInput.theme.d.ts +6 -0
  348. package/dist/components/forms/CronInput/CronInput.theme.js +84 -0
  349. package/dist/components/forms/CronInput/CronInput.types.d.ts +98 -0
  350. package/dist/components/forms/CronInput/CronInput.utils.d.ts +67 -0
  351. package/dist/components/forms/CronInput/CronInput.utils.js +505 -0
  352. package/dist/components/forms/CronInput/index.d.ts +4 -0
  353. package/dist/components/forms/DatePicker/DatePicker.theme.js +3 -3
  354. package/dist/components/forms/DatePicker/DatePickerContent.js +1 -1
  355. package/dist/components/forms/FileUpload/FileUpload.js +80 -2
  356. package/dist/components/forms/FileUpload/FileUpload.theme.js +4 -4
  357. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  358. package/dist/components/forms/Input/Input.theme.js +1 -1
  359. package/dist/components/forms/InputCounter/InputCounter.d.ts +1 -1
  360. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  361. package/dist/components/forms/InputCounter/InputCounter.types.d.ts +3 -2
  362. package/dist/components/forms/InputOTP/InputOTP.theme.js +2 -2
  363. package/dist/components/forms/InputTag/InputTag.js +1 -1
  364. package/dist/components/forms/Mention/Mention.d.ts +3 -0
  365. package/dist/components/forms/Mention/Mention.js +607 -0
  366. package/dist/components/forms/Mention/Mention.theme.d.ts +6 -0
  367. package/dist/components/forms/Mention/Mention.theme.js +55 -0
  368. package/dist/components/forms/Mention/Mention.types.d.ts +151 -0
  369. package/dist/components/forms/Mention/Mention.utils.d.ts +42 -0
  370. package/dist/components/forms/Mention/Mention.utils.js +285 -0
  371. package/dist/components/forms/Mention/index.d.ts +3 -0
  372. package/dist/components/forms/Radio/Radio.d.ts +3 -4
  373. package/dist/components/forms/Radio/Radio.js +25 -12
  374. package/dist/components/forms/Radio/Radio.theme.js +34 -5
  375. package/dist/components/forms/Radio/Radio.types.d.ts +30 -4
  376. package/dist/components/forms/Radio/RadioContext.d.ts +14 -0
  377. package/dist/components/forms/Radio/RadioContext.js +12 -0
  378. package/dist/components/forms/Radio/RadioGroup.d.ts +3 -0
  379. package/dist/components/forms/Radio/RadioGroup.js +36 -0
  380. package/dist/components/forms/Radio/index.d.ts +1 -1
  381. package/dist/components/forms/RichTextEditor/RichTextEditor.js +2 -2
  382. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +1 -1
  383. package/dist/components/forms/Select/Select.theme.js +1 -1
  384. package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +2 -0
  385. package/dist/components/forms/SelectableCard/SelectableCard.animations.js +9 -0
  386. package/dist/components/forms/SelectableCard/SelectableCard.d.ts +5 -0
  387. package/dist/components/forms/SelectableCard/SelectableCard.js +58 -0
  388. package/dist/components/forms/SelectableCard/SelectableCard.theme.d.ts +2 -0
  389. package/dist/components/forms/SelectableCard/SelectableCard.theme.js +38 -0
  390. package/dist/components/forms/SelectableCard/SelectableCard.types.d.ts +33 -0
  391. package/dist/components/forms/SelectableCard/SelectableCardContext.d.ts +3 -0
  392. package/dist/components/forms/SelectableCard/SelectableCardContext.js +12 -0
  393. package/dist/components/forms/SelectableCard/SelectableCardGroup.d.ts +3 -0
  394. package/dist/components/forms/SelectableCard/SelectableCardGroup.js +37 -0
  395. package/dist/components/forms/SelectableCard/index.d.ts +3 -0
  396. package/dist/components/forms/Signature/Signature.theme.js +1 -1
  397. package/dist/components/forms/Slider/Slider.theme.js +3 -3
  398. package/dist/components/forms/Switch/Switch.theme.js +1 -1
  399. package/dist/components/forms/TimePicker/TimePicker.theme.js +2 -2
  400. package/dist/components/forms/TimePicker/TimePickerContent.js +78 -1
  401. package/dist/components/forms/TransferList/TransferList.animations.d.ts +10 -0
  402. package/dist/components/forms/TransferList/TransferList.animations.js +32 -0
  403. package/dist/components/forms/TransferList/TransferList.d.ts +28 -0
  404. package/dist/components/forms/TransferList/TransferList.js +199 -0
  405. package/dist/components/forms/TransferList/TransferList.theme.d.ts +6 -0
  406. package/dist/components/forms/TransferList/TransferList.theme.js +60 -0
  407. package/dist/components/forms/TransferList/TransferList.types.d.ts +101 -0
  408. package/dist/components/forms/TransferList/index.d.ts +3 -0
  409. package/dist/components/forms/forms.theme.js +6 -6
  410. package/dist/components/forms/index.d.ts +15 -2
  411. package/dist/components/forms/index.js +87 -0
  412. package/dist/components/layout/FormLayout/FormLayout.d.ts +8 -0
  413. package/dist/components/layout/FormLayout/FormLayout.js +22 -0
  414. package/dist/components/layout/FormLayout/FormLayout.theme.d.ts +2 -0
  415. package/dist/components/layout/FormLayout/FormLayout.theme.js +16 -0
  416. package/dist/components/layout/FormLayout/FormLayout.types.d.ts +61 -0
  417. package/dist/components/layout/FormLayout/FormLayoutBody.d.ts +3 -0
  418. package/dist/components/layout/FormLayout/FormLayoutBody.js +91 -0
  419. package/dist/components/layout/FormLayout/FormLayoutFooter.d.ts +3 -0
  420. package/dist/components/layout/FormLayout/FormLayoutFooter.js +12 -0
  421. package/dist/components/layout/FormLayout/FormLayoutHeader.d.ts +3 -0
  422. package/dist/components/layout/FormLayout/FormLayoutHeader.js +12 -0
  423. package/dist/components/layout/FormLayout/FormLayoutSection.d.ts +3 -0
  424. package/dist/components/layout/FormLayout/FormLayoutSection.js +12 -0
  425. package/dist/components/layout/FormLayout/index.d.ts +3 -0
  426. package/dist/components/layout/PageLayout/PageLayout.d.ts +7 -0
  427. package/dist/components/layout/PageLayout/PageLayout.js +33 -0
  428. package/dist/components/layout/PageLayout/PageLayout.theme.d.ts +2 -0
  429. package/dist/components/layout/PageLayout/PageLayout.theme.js +10 -0
  430. package/dist/components/layout/PageLayout/PageLayout.types.d.ts +39 -0
  431. package/dist/components/layout/PageLayout/PageLayoutContent.d.ts +3 -0
  432. package/dist/components/layout/PageLayout/PageLayoutContent.js +12 -0
  433. package/dist/components/layout/PageLayout/PageLayoutHeader.d.ts +3 -0
  434. package/dist/components/layout/PageLayout/PageLayoutHeader.js +12 -0
  435. package/dist/components/layout/PageLayout/PageLayoutSidebar.d.ts +3 -0
  436. package/dist/components/layout/PageLayout/PageLayoutSidebar.js +12 -0
  437. package/dist/components/layout/PageLayout/index.d.ts +3 -0
  438. package/dist/components/layout/index.d.ts +2 -0
  439. package/dist/hooks/useSelectPortal.d.ts +4 -2
  440. package/dist/hooks/useSelectPortal.js +139 -51
  441. package/dist/index.d.ts +2 -0
  442. package/dist/index.js +206 -167
  443. package/dist/styles.css +1 -1
  444. package/dist/utils/colorUtils.d.ts +23 -0
  445. package/dist/utils/colorUtils.js +45 -0
  446. package/dist/utils/dateUtils.d.ts +30 -0
  447. package/dist/utils/dateUtils.js +58 -1
  448. package/dist/utils/index.d.ts +2 -1
  449. package/package.json +38 -26
  450. package/src/global.scss +673 -0
  451. package/src/styles/theme.css +378 -0
  452. package/src/theme-plugin.css +11 -0
  453. package/dist/components/core/Button/Button.animations.d.ts +0 -5
  454. package/dist/components/core/Card/CardDescription.d.ts +0 -3
  455. package/dist/components/core/Card/CardDescription.js +0 -11
  456. package/dist/components/core/DescriptionList/DescriptionList.theme.js +0 -8
  457. package/dist/components/core/Modal/ModalDescription.d.ts +0 -5
  458. package/dist/components/core/Modal/ModalDescription.js +0 -11
  459. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.d.ts +0 -34
  460. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.js +0 -218
  461. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.theme.d.ts +0 -9
  462. package/dist/components/core/ProgressiveBlur/ProgressiveBlur.types.d.ts +0 -48
  463. package/dist/components/core/ProgressiveBlur/index.d.ts +0 -2
  464. package/dist/components/core/Table/TablePagination.js +0 -25
  465. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.d.ts +0 -0
  466. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.js +0 -0
  467. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.theme.d.ts +0 -0
  468. /package/dist/components/{core → data-display}/DescriptionList/DescriptionList.types.d.ts +0 -0
  469. /package/dist/components/{core → data-display}/DescriptionList/index.d.ts +0 -0
  470. /package/dist/components/{core → data-display}/Feed/Feed.d.ts +0 -0
  471. /package/dist/components/{core → data-display}/Feed/Feed.theme.d.ts +0 -0
  472. /package/dist/components/{core → data-display}/Feed/Feed.types.d.ts +0 -0
  473. /package/dist/components/{core → data-display}/Feed/index.d.ts +0 -0
  474. /package/dist/components/{core → data-display}/KPI/KPI.d.ts +0 -0
  475. /package/dist/components/{core → data-display}/KPI/KPI.theme.d.ts +0 -0
  476. /package/dist/components/{core → data-display}/Metric/Metric.d.ts +0 -0
  477. /package/dist/components/{core → data-display}/Metric/Metric.theme.d.ts +0 -0
  478. /package/dist/components/{core → data-display}/Metric/index.d.ts +0 -0
  479. /package/dist/components/{core → data-display}/Table/Table.animations.d.ts +0 -0
  480. /package/dist/components/{core → data-display}/Table/Table.animations.js +0 -0
  481. /package/dist/components/{core → data-display}/Table/Table.d.ts +0 -0
  482. /package/dist/components/{core → data-display}/Table/Table.filterUtils.d.ts +0 -0
  483. /package/dist/components/{core → data-display}/Table/Table.filterUtils.js +0 -0
  484. /package/dist/components/{core → data-display}/Table/Table.js +0 -0
  485. /package/dist/components/{core → data-display}/Table/Table.theme.d.ts +0 -0
  486. /package/dist/components/{core → data-display}/Table/Table.types.d.ts +0 -0
  487. /package/dist/components/{core → data-display}/Table/Table.utils.d.ts +0 -0
  488. /package/dist/components/{core → data-display}/Table/Table.utils.js +0 -0
  489. /package/dist/components/{core → data-display}/Table/TableActions.d.ts +0 -0
  490. /package/dist/components/{core → data-display}/Table/TableActionsMenu.d.ts +0 -0
  491. /package/dist/components/{core → data-display}/Table/TableBody.d.ts +0 -0
  492. /package/dist/components/{core → data-display}/Table/TableBody.js +0 -0
  493. /package/dist/components/{core → data-display}/Table/TableCell.d.ts +0 -0
  494. /package/dist/components/{core → data-display}/Table/TableCell.js +0 -0
  495. /package/dist/components/{core → data-display}/Table/TableColumnManager.d.ts +0 -0
  496. /package/dist/components/{core → data-display}/Table/TableDeclarative.d.ts +0 -0
  497. /package/dist/components/{core → data-display}/Table/TableDeclarative.js +0 -0
  498. /package/dist/components/{core → data-display}/Table/TableFilter.d.ts +0 -0
  499. /package/dist/components/{core → data-display}/Table/TableHeader.d.ts +0 -0
  500. /package/dist/components/{core → data-display}/Table/TablePagination.d.ts +0 -0
  501. /package/dist/components/{core → data-display}/Table/TableRow.d.ts +0 -0
  502. /package/dist/components/{core → data-display}/Table/TableSelectionHeader.d.ts +0 -0
  503. /package/dist/components/{core → data-display}/Table/hooks/index.d.ts +0 -0
  504. /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.d.ts +0 -0
  505. /package/dist/components/{core → data-display}/Table/hooks/useTableColumns.js +0 -0
  506. /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.d.ts +0 -0
  507. /package/dist/components/{core → data-display}/Table/hooks/useTableExpansion.js +0 -0
  508. /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.d.ts +0 -0
  509. /package/dist/components/{core → data-display}/Table/hooks/useTableFilter.js +0 -0
  510. /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.d.ts +0 -0
  511. /package/dist/components/{core → data-display}/Table/hooks/useTablePagination.js +0 -0
  512. /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.d.ts +0 -0
  513. /package/dist/components/{core → data-display}/Table/hooks/useTableSelection.js +0 -0
  514. /package/dist/components/{core → data-display}/Table/index.d.ts +0 -0
  515. /package/dist/components/{core → data-display}/Table/index.js +0 -0
  516. /package/dist/components/{core → data-display}/Timeline/Timeline.animations.d.ts +0 -0
  517. /package/dist/components/{core → data-display}/Timeline/Timeline.animations.js +0 -0
  518. /package/dist/components/{core → data-display}/Timeline/Timeline.d.ts +0 -0
  519. /package/dist/components/{core → data-display}/Timeline/Timeline.js +0 -0
  520. /package/dist/components/{core → data-display}/Timeline/Timeline.theme.d.ts +0 -0
  521. /package/dist/components/{core → data-display}/Timeline/Timeline.types.d.ts +0 -0
  522. /package/dist/components/{core → data-display}/Timeline/TimelineContent.d.ts +0 -0
  523. /package/dist/components/{core → data-display}/Timeline/TimelineContent.js +0 -0
  524. /package/dist/components/{core → data-display}/Timeline/TimelineItem.d.ts +0 -0
  525. /package/dist/components/{core → data-display}/Timeline/TimelineItem.js +0 -0
  526. /package/dist/components/{core → data-display}/Timeline/TimelineMarker.d.ts +0 -0
  527. /package/dist/components/{core → data-display}/Timeline/TimelineMarker.js +0 -0
  528. /package/dist/components/{core → data-display}/Timeline/index.d.ts +0 -0
@@ -0,0 +1,78 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default, { useRef, useCallback, useEffect } from 'react';
3
+ import { useReducedMotion, motion, AnimatePresence } from 'motion/react';
4
+ import { cn } from '../../../utils/cn.js';
5
+ import { ScrollArea } from '../ScrollArea/ScrollArea.js';
6
+ import '../ScrollArea/smooth/SmoothScrollEngine.js';
7
+ import { messageListTheme } from './MessageList.theme.js';
8
+ import { getMessageItemVariants } from './MessageList.animations.js';
9
+
10
+ const MessageList = React__default.forwardRef(({ children, autoScroll = true, scrollThreshold = 100, shouldAnimate = true, className, theme: customTheme, ...props }, ref) => {
11
+ var _a, _b;
12
+ const shouldReduceMotion = useReducedMotion();
13
+ const itemVariants = getMessageItemVariants(shouldReduceMotion, shouldAnimate);
14
+ const scrollAreaRef = useRef(null);
15
+ const userHasScrolledRef = useRef(false);
16
+ const childCountRef = useRef(0);
17
+ const scrollToBottom = useCallback(() => {
18
+ const el = scrollAreaRef.current;
19
+ if (!el)
20
+ return;
21
+ el.scrollTop = el.scrollHeight;
22
+ }, []);
23
+ const handleScroll = useCallback(() => {
24
+ const el = scrollAreaRef.current;
25
+ if (!el)
26
+ return;
27
+ const { scrollTop, scrollHeight, clientHeight } = el;
28
+ const isAtBottom = scrollHeight - scrollTop - clientHeight < scrollThreshold;
29
+ userHasScrolledRef.current = !isAtBottom;
30
+ }, [scrollThreshold]);
31
+ const childCount = React__default.Children.count(children);
32
+ // Auto-scroll when new children are added
33
+ useEffect(() => {
34
+ if (!autoScroll)
35
+ return;
36
+ if (childCount > childCountRef.current && !userHasScrolledRef.current) {
37
+ // rAF ensures AnimatePresence has mounted the new child before measuring
38
+ requestAnimationFrame(scrollToBottom);
39
+ }
40
+ childCountRef.current = childCount;
41
+ }, [childCount, autoScroll, scrollToBottom]);
42
+ // Scroll to bottom on initial mount
43
+ useEffect(() => {
44
+ scrollToBottom();
45
+ }, [scrollToBottom]);
46
+ // Dev warning for missing keys
47
+ if (process.env.NODE_ENV !== 'production') {
48
+ React__default.Children.forEach(children, (child) => {
49
+ if (React__default.isValidElement(child) && child.key === null) {
50
+ console.warn('[Message.List]: Each child must have a stable key prop for animations to work correctly.');
51
+ }
52
+ });
53
+ }
54
+ const baseStyle = (_a = customTheme === null || customTheme === void 0 ? void 0 : customTheme.baseStyle) !== null && _a !== void 0 ? _a : messageListTheme.baseStyle;
55
+ const innerStyle = (_b = customTheme === null || customTheme === void 0 ? void 0 : customTheme.innerStyle) !== null && _b !== void 0 ? _b : messageListTheme.innerStyle;
56
+ const wrappedChildren = React__default.Children.map(children, (child) => {
57
+ if (!React__default.isValidElement(child))
58
+ return child;
59
+ if (itemVariants) {
60
+ return (jsx(motion.div, { layout: true, variants: itemVariants, initial: "initial", animate: "animate", exit: "exit", children: child }, child.key));
61
+ }
62
+ return jsx("div", { children: child }, child.key);
63
+ });
64
+ // Merge internal ref with forwarded ref
65
+ const setRefs = useCallback((node) => {
66
+ scrollAreaRef.current = node;
67
+ if (typeof ref === 'function') {
68
+ ref(node);
69
+ }
70
+ else if (ref) {
71
+ ref.current = node;
72
+ }
73
+ }, [ref]);
74
+ return (jsx(ScrollArea, { ref: setRefs, type: "hover", orientation: "vertical", className: cn(baseStyle, className), onScroll: handleScroll, role: "log", "aria-live": "polite", ...props, children: jsx("div", { className: innerStyle, children: jsx(AnimatePresence, { mode: "popLayout", initial: false, children: wrappedChildren }) }) }));
75
+ });
76
+ MessageList.displayName = 'Message.List';
77
+
78
+ export { MessageList };
@@ -0,0 +1,2 @@
1
+ import type { MessageListTheme } from './MessageList.types';
2
+ export declare const messageListTheme: MessageListTheme;
@@ -0,0 +1,6 @@
1
+ const messageListTheme = {
2
+ baseStyle: 'w-full',
3
+ innerStyle: 'flex flex-col gap-2 p-4',
4
+ };
5
+
6
+ export { messageListTheme };
@@ -0,0 +1,32 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export interface MessageListTheme {
3
+ baseStyle: string;
4
+ innerStyle: string;
5
+ }
6
+ export interface MessageListThemeOverrides {
7
+ baseStyle?: string;
8
+ innerStyle?: string;
9
+ }
10
+ export interface MessageListProps extends HTMLAttributes<HTMLDivElement> {
11
+ /** Message children to render. Each child must have a stable `key` for animations. */
12
+ children?: ReactNode;
13
+ /**
14
+ * Auto-scroll to bottom when new children are added,
15
+ * unless the user has manually scrolled up.
16
+ * @default true
17
+ */
18
+ autoScroll?: boolean;
19
+ /**
20
+ * Pixels from the bottom to consider "at bottom" for auto-scroll detection.
21
+ * @default 100
22
+ */
23
+ scrollThreshold?: number;
24
+ /**
25
+ * Enable enter/exit animations for messages.
26
+ * Automatically disabled when the OS prefers reduced motion.
27
+ * @default true
28
+ */
29
+ shouldAnimate?: boolean;
30
+ /** Theme overrides for the list container and inner wrapper. */
31
+ theme?: MessageListThemeOverrides;
32
+ }
@@ -1,5 +1,7 @@
1
1
  export { Message } from './Message';
2
2
  export type { MessageProps, MessageRole, MessageVariant, MessageAvatarProps, MessageTheme, MessageThemeOverrides, MessageVariantTheme, } from './Message.types';
3
3
  export { messageTheme } from './Message.theme';
4
+ export { messageListTheme } from './MessageList.theme';
5
+ export type { MessageListProps, MessageListTheme, MessageListThemeOverrides, } from './MessageList.types';
4
6
  export { TypeWriter } from './TypeWriter';
5
7
  export type { TypeWriterProps } from './TypeWriter';
@@ -14,8 +14,8 @@ export declare const Modal: {
14
14
  ({ children, className, ...props }: import("./Modal.types").ModalTitleProps): import("react/jsx-runtime").JSX.Element;
15
15
  displayName: string;
16
16
  };
17
- Description: {
18
- ({ children, className, ...props }: import("./Modal.types").ModalDescriptionProps): import("react/jsx-runtime").JSX.Element;
17
+ Subtitle: {
18
+ ({ children, className, ...props }: import("./Modal.types").ModalSubtitleProps): import("react/jsx-runtime").JSX.Element;
19
19
  displayName: string;
20
20
  };
21
21
  Body: {
@@ -6,7 +6,7 @@ import { modalTheme, modalSizeVariants } from './Modal.theme.js';
6
6
  import { modalContentAnimations, modalOverlayAnimations } from './Modal.animations.js';
7
7
  import { ModalHeader } from './ModalHeader.js';
8
8
  import { ModalTitle } from './ModalTitle.js';
9
- import { ModalDescription } from './ModalDescription.js';
9
+ import { ModalSubtitle } from './ModalSubtitle.js';
10
10
  import { ModalBody } from './ModalBody.js';
11
11
  import { ModalFooter } from './ModalFooter.js';
12
12
 
@@ -23,7 +23,7 @@ const ModalRoot = ({ isOpen, onClose, size = "md", variant = "default", closeOnO
23
23
  // Generate unique IDs for ARIA linkage
24
24
  const id = useId();
25
25
  const titleId = `${id}-title`;
26
- const descriptionId = `${id}-description`;
26
+ const subtitleId = `${id}-subtitle`;
27
27
  // State for tracking if modal body is scrollable
28
28
  const [isBodyScrollable, setIsBodyScrollable] = useState(false);
29
29
  // Reset scroll state when modal closes
@@ -53,9 +53,9 @@ const ModalRoot = ({ isOpen, onClose, size = "md", variant = "default", closeOnO
53
53
  isBodyScrollable,
54
54
  setIsBodyScrollable,
55
55
  titleId,
56
- descriptionId,
56
+ subtitleId,
57
57
  };
58
- return (jsx(Overlay, { isOpen: isOpen, onClose: onClose, closeOnOverlayClick: closeOnOverlayClick, closeOnEsc: closeOnEsc, position: "center", role: role, ariaModal: true, ariaLabelledBy: titleId, ariaDescribedBy: descriptionId, contentClassName: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), animations: {
58
+ return (jsx(Overlay, { isOpen: isOpen, onClose: onClose, closeOnOverlayClick: closeOnOverlayClick, closeOnEsc: closeOnEsc, position: "center", role: role, ariaModal: true, ariaLabelledBy: titleId, ariaDescribedBy: subtitleId, contentClassName: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), animations: {
59
59
  overlay: modalOverlayAnimations,
60
60
  content: modalContentAnimations,
61
61
  }, ...props, children: jsx(ModalContext.Provider, { value: contextValue, children: children }) }));
@@ -65,7 +65,7 @@ ModalRoot.displayName = "Modal";
65
65
  const Modal = Object.assign(ModalRoot, {
66
66
  Header: ModalHeader,
67
67
  Title: ModalTitle,
68
- Description: ModalDescription,
68
+ Subtitle: ModalSubtitle,
69
69
  Body: ModalBody,
70
70
  Footer: ModalFooter,
71
71
  });
@@ -8,17 +8,17 @@ const modalTheme = {
8
8
  },
9
9
  header: "flex items-start justify-between p-6 pb-0 shrink-0 border-b border-transparent gap-6 relative",
10
10
  headerContent: "flex flex-col items-start gap-2 flex-1",
11
- title: "text-base leading-6 font-semibold text-[var(--color-text-primary)]",
12
- description: "text-sm text-[var(--color-text-secondary)] mt-0.5",
11
+ title: "text-lg leading-6 font-semibold text-[var(--color-text-primary)]",
12
+ subtitle: "text-base text-[var(--color-text-secondary)] mt-0.5",
13
13
  body: "flex-1 overflow-y-auto p-6 pb-3",
14
14
  footer: "flex items-center justify-end gap-2 p-6 py-3 border-t border-transparent",
15
15
  };
16
16
  // Size variants for the modal container
17
17
  const modalSizeVariants = {
18
- sm: "max-w-sm",
19
- md: "max-w-md",
20
- lg: "max-w-lg",
21
- xl: "max-w-xl",
18
+ sm: "max-w-sm mx-4 sm:mx-0",
19
+ md: "max-w-md mx-4 sm:mx-0",
20
+ lg: "max-w-lg mx-4 sm:mx-0",
21
+ xl: "max-w-xl mx-4 sm:mx-0",
22
22
  full: "max-w-full mx-4",
23
23
  };
24
24
 
@@ -8,7 +8,7 @@ export interface ModalTheme {
8
8
  header: string;
9
9
  headerContent: string;
10
10
  title: string;
11
- description: string;
11
+ subtitle: string;
12
12
  body: string;
13
13
  footer: string;
14
14
  }
@@ -19,7 +19,7 @@ export interface ModalThemeOverrides {
19
19
  header?: string;
20
20
  headerContent?: string;
21
21
  title?: string;
22
- description?: string;
22
+ subtitle?: string;
23
23
  body?: string;
24
24
  footer?: string;
25
25
  }
@@ -34,7 +34,7 @@ export interface ModalContextValue {
34
34
  isBodyScrollable: boolean;
35
35
  setIsBodyScrollable: (scrollable: boolean) => void;
36
36
  titleId: string;
37
- descriptionId: string;
37
+ subtitleId: string;
38
38
  }
39
39
  export interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onClose" | "onAnimationStart" | "onDragStart" | "onDrag" | "onDragEnd"> {
40
40
  isOpen: boolean;
@@ -87,7 +87,7 @@ export interface ModalTitleProps extends React.HTMLAttributes<HTMLHeadingElement
87
87
  children: React.ReactNode;
88
88
  className?: string;
89
89
  }
90
- export interface ModalDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
90
+ export interface ModalSubtitleProps extends React.HTMLAttributes<HTMLParagraphElement> {
91
91
  children: React.ReactNode;
92
92
  className?: string;
93
93
  }
@@ -2,6 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { cn } from '../../../utils/cn.js';
3
3
  import { useModalContext } from './Modal.js';
4
4
  import { Button } from '../Button/Button.js';
5
+ import 'react';
5
6
  import { XMarkIcon } from '@heroicons/react/24/outline';
6
7
 
7
8
  const ModalHeader = ({ children, icon, showCloseButton, className, ...props }) => {
@@ -0,0 +1,5 @@
1
+ import { ModalSubtitleProps } from "./Modal.types";
2
+ export declare const ModalSubtitle: {
3
+ ({ children, className, ...props }: ModalSubtitleProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,11 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { useModalContext } from './Modal.js';
4
+
5
+ const ModalSubtitle = ({ children, className, ...props }) => {
6
+ const { theme, subtitleId } = useModalContext();
7
+ return (jsx("p", { id: subtitleId, className: cn(theme.subtitle, className), ...props, children: children }));
8
+ };
9
+ ModalSubtitle.displayName = "Modal.Subtitle";
10
+
11
+ export { ModalSubtitle };
@@ -17,11 +17,11 @@ const backModalAnimations = {
17
17
  transition: { type: "spring", damping: 28, stiffness: 280 },
18
18
  },
19
19
  stacked: {
20
- opacity: 1,
20
+ opacity: 0.5,
21
21
  scale: 0.9,
22
- y: -4,
22
+ y: 4,
23
23
  borderRadius: "var(--modal-radius)",
24
- filter: "brightness(0.94) blur(2px)",
24
+ filter: "brightness(0.94) blur(0px)",
25
25
  clipPath: "inset(0% 0% 88% 0%)",
26
26
  transition: { type: "spring", damping: 28, stiffness: 280 },
27
27
  },
@@ -11,7 +11,7 @@ const ModalStackModal = ({ size = "md", variant = "default", showCloseButton = t
11
11
  var _a;
12
12
  const id = useId();
13
13
  const titleId = `${id}-title`;
14
- const descriptionId = `${id}-description`;
14
+ const subtitleId = `${id}-subtitle`;
15
15
  const [isBodyScrollable, setIsBodyScrollable] = useState(false);
16
16
  const closeHandler = onClose || _stackOnClose || (() => { });
17
17
  const backHandler = onBack || onClose || (() => { });
@@ -41,9 +41,9 @@ const ModalStackModal = ({ size = "md", variant = "default", showCloseButton = t
41
41
  isBodyScrollable,
42
42
  setIsBodyScrollable,
43
43
  titleId,
44
- descriptionId,
44
+ subtitleId,
45
45
  };
46
- return (jsx(ModalContext.Provider, { value: contextValue, children: jsxs("div", { className: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": descriptionId, children: [showBackButton && (jsx("div", { className: cn(modalStackTheme.backButton), children: jsxs(Button, { onClick: backHandler, "aria-label": "Go back", variant: "link", size: "sm", children: [jsx(ArrowLeftIcon, { className: "size-4" }), "Back"] }) })), children] }) }));
46
+ return (jsx(ModalContext.Provider, { value: contextValue, children: jsxs("div", { className: cn(theme.container, (_a = theme.containerVariants) === null || _a === void 0 ? void 0 : _a[variant], modalSizeVariants[size], className), role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": subtitleId, children: [showBackButton && (jsx("div", { className: cn(modalStackTheme.backButton), children: jsxs(Button, { onClick: backHandler, "aria-label": "Go back", variant: "link", size: "sm", children: [jsx(ArrowLeftIcon, { className: "size-4" }), "Back"] }) })), children] }) }));
47
47
  };
48
48
  ModalStackModal.displayName = "ModalStack.Modal";
49
49
 
@@ -104,7 +104,7 @@ description, shortcut, href, onClick, active = false, disabled = false, isDisabl
104
104
  ? React__default.cloneElement(startContent, {
105
105
  className: cn(iconClasses, startContent.props.className),
106
106
  })
107
- : startContent })), (!isInSidebar || !collapsed) && (jsxs("div", { className: "flex-1 min-w-0", children: [jsxs("div", { className: "flex items-center justify-between gap-2", children: [jsx("span", { className: cn("truncate", textClasses), children: children }), shortcut && (jsx("kbd", { className: "hidden group-hover:inline-block text-xs text-[var(--color-text-muted)] font-sans border border-[var(--color-border)] rounded px-1.5 py-0.5", children: shortcut }))] }), description && (jsx("div", { className: "text-xs text-[var(--color-text-muted)] mt-0.5 truncate", children: description }))] })), endContent && (!isInSidebar || !collapsed) && (jsx("div", { className: "flex items-center justify-center flex-shrink-0", children: endContent })), isInSidebar && collapsed && (jsx("span", { className: "sr-only", children: children }))] }));
107
+ : startContent })), (!isInSidebar || !collapsed) && (jsxs("div", { className: "flex-1 min-w-0", children: [jsxs("div", { className: "flex items-center justify-between gap-2", children: [jsx("span", { className: cn("truncate", textClasses), children: children }), shortcut && (jsx("kbd", { className: "hidden group-hover:inline-block text-sm text-[var(--color-text-muted)] font-sans border border-[var(--color-border)] rounded px-1.5 py-0.5", children: shortcut }))] }), description && (jsx("div", { className: "text-sm text-[var(--color-text-muted)] mt-0.5 truncate", children: description }))] })), endContent && (!isInSidebar || !collapsed) && (jsx("div", { className: "flex items-center justify-center flex-shrink-0", children: endContent })), isInSidebar && collapsed && (jsx("span", { className: "sr-only", children: children }))] }));
108
108
  // Wrap with link if href is provided
109
109
  if (href && !actualIsDisabled) {
110
110
  const LinkContent = (jsx("a", { href: href, className: "block group", children: content }));
@@ -1,5 +1,5 @@
1
1
  const navItemTheme = {
2
- baseStyle: "relative flex items-center gap-2 px-2 py-1.5 text-sm font-medium cursor-pointer select-none transition-all duration-300 w-full rounded-[var(--nav-item-radius)] outline-none group",
2
+ baseStyle: "relative flex items-center gap-2 px-2 py-1.5 text-base font-medium cursor-pointer select-none transition-all duration-300 w-full rounded-[var(--nav-item-radius)] outline-none group",
3
3
  icon: "size-4 text-[var(--color-text-secondary)]",
4
4
  text: "flex-1 min-w-0 truncate",
5
5
  states: {
@@ -13,10 +13,10 @@ const offlineIndicatorTheme = {
13
13
  toast: "px-3 py-2 rounded-[var(--radius-base)] shadow-real-lg",
14
14
  },
15
15
  offline: "bg-[var(--color-neutral-900)]/90 backdrop-blur-sm text-white",
16
- online: "bg-[var(--color-success)]/90 backdrop-blur-sm text-white",
16
+ online: "bg-[var(--color-success)]/90 backdrop-blur-sm text-[var(--color-success-contrast)]",
17
17
  icon: "size-4 flex-shrink-0",
18
- message: "text-xs font-medium",
19
- queueCount: "text-xs opacity-80 ml-1",
18
+ message: "text-sm font-medium",
19
+ queueCount: "text-sm opacity-80 ml-1",
20
20
  };
21
21
 
22
22
  export { offlineIndicatorTheme };
@@ -0,0 +1,8 @@
1
+ import { PageHeadingComponent } from "./PageHeading.types";
2
+ import { PageHeadingBackButton } from "./PageHeadingBackButton";
3
+ import { PageHeadingIcon } from "./PageHeadingIcon";
4
+ import { PageHeadingTitle } from "./PageHeadingTitle";
5
+ import { PageHeadingSubtitle } from "./PageHeadingSubtitle";
6
+ import { PageHeadingActions } from "./PageHeadingActions";
7
+ export { PageHeadingBackButton, PageHeadingIcon, PageHeadingTitle, PageHeadingSubtitle, PageHeadingActions, };
8
+ export declare const PageHeading: PageHeadingComponent;
@@ -0,0 +1,28 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default, { useMemo } from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageHeadingTheme } from './PageHeading.theme.js';
5
+ import { PageHeadingBackButton } from './PageHeadingBackButton.js';
6
+ import { PageHeadingIcon } from './PageHeadingIcon.js';
7
+ import { PageHeadingTitle } from './PageHeadingTitle.js';
8
+ import { PageHeadingSubtitle } from './PageHeadingSubtitle.js';
9
+ import { PageHeadingActions } from './PageHeadingActions.js';
10
+
11
+ const PageHeadingRoot = React__default.forwardRef(({ children, className, separator = true, theme: customTheme = {}, ...props }, ref) => {
12
+ const theme = useMemo(() => ({
13
+ ...pageHeadingTheme,
14
+ ...customTheme,
15
+ }), [customTheme]);
16
+ return (jsx("div", { ref: ref, className: cn(theme.baseStyle, separator && theme.separatorStyle, className), ...props, children: children }));
17
+ });
18
+ PageHeadingRoot.displayName = "PageHeading";
19
+ // Create compound component with proper typing
20
+ const PageHeading = Object.assign(PageHeadingRoot, {
21
+ BackButton: PageHeadingBackButton,
22
+ Icon: PageHeadingIcon,
23
+ Title: PageHeadingTitle,
24
+ Subtitle: PageHeadingSubtitle,
25
+ Actions: PageHeadingActions,
26
+ });
27
+
28
+ export { PageHeading, PageHeadingActions, PageHeadingBackButton, PageHeadingIcon, PageHeadingSubtitle, PageHeadingTitle };
@@ -0,0 +1,2 @@
1
+ import { PageHeadingTheme } from "./PageHeading.types";
2
+ export declare const pageHeadingTheme: PageHeadingTheme;
@@ -0,0 +1,11 @@
1
+ const pageHeadingTheme = {
2
+ baseStyle: "flex flex-col pb-6 mb-6",
3
+ headerStyle: "flex items-center gap-4",
4
+ titleStyle: "text-2xl font-semibold tracking-tight text-[var(--color-text-primary)]",
5
+ subtitleStyle: "text-base text-[var(--color-text-muted)] mt-1",
6
+ actionsStyle: "sm:ml-auto flex items-center gap-2 shrink-0",
7
+ iconStyle: "flex items-center justify-center shrink-0 text-[var(--color-text-muted)]",
8
+ separatorStyle: "border-b border-[var(--color-border)] mt-4",
9
+ };
10
+
11
+ export { pageHeadingTheme };
@@ -0,0 +1,55 @@
1
+ import { HTMLAttributes, ReactNode, ForwardRefExoticComponent, RefAttributes } from "react";
2
+ export interface PageHeadingTheme {
3
+ baseStyle: string;
4
+ headerStyle: string;
5
+ titleStyle: string;
6
+ subtitleStyle: string;
7
+ actionsStyle: string;
8
+ iconStyle: string;
9
+ separatorStyle: string;
10
+ }
11
+ export interface PageHeadingThemeOverrides {
12
+ baseStyle?: string;
13
+ headerStyle?: string;
14
+ titleStyle?: string;
15
+ subtitleStyle?: string;
16
+ actionsStyle?: string;
17
+ iconStyle?: string;
18
+ separatorStyle?: string;
19
+ }
20
+ export interface PageHeadingProps extends HTMLAttributes<HTMLDivElement> {
21
+ children?: ReactNode;
22
+ className?: string;
23
+ /** Show bottom separator. @default true */
24
+ separator?: boolean;
25
+ theme?: PageHeadingThemeOverrides;
26
+ }
27
+ export interface PageHeadingTitleProps extends HTMLAttributes<HTMLHeadingElement> {
28
+ children: ReactNode;
29
+ className?: string;
30
+ }
31
+ export interface PageHeadingSubtitleProps extends HTMLAttributes<HTMLParagraphElement> {
32
+ children: ReactNode;
33
+ className?: string;
34
+ }
35
+ export interface PageHeadingActionsProps extends HTMLAttributes<HTMLDivElement> {
36
+ children: ReactNode;
37
+ className?: string;
38
+ }
39
+ export interface PageHeadingIconProps extends HTMLAttributes<HTMLDivElement> {
40
+ children: ReactNode;
41
+ className?: string;
42
+ }
43
+ export interface PageHeadingBackButtonProps {
44
+ /** Text label next to the back arrow. @default "Back" */
45
+ label?: string;
46
+ onClick?: () => void;
47
+ className?: string;
48
+ }
49
+ export interface PageHeadingComponent extends ForwardRefExoticComponent<PageHeadingProps & RefAttributes<HTMLDivElement>> {
50
+ Title: ForwardRefExoticComponent<PageHeadingTitleProps & RefAttributes<HTMLHeadingElement>>;
51
+ Subtitle: ForwardRefExoticComponent<PageHeadingSubtitleProps & RefAttributes<HTMLParagraphElement>>;
52
+ Actions: ForwardRefExoticComponent<PageHeadingActionsProps & RefAttributes<HTMLDivElement>>;
53
+ Icon: ForwardRefExoticComponent<PageHeadingIconProps & RefAttributes<HTMLDivElement>>;
54
+ BackButton: ForwardRefExoticComponent<PageHeadingBackButtonProps & RefAttributes<HTMLButtonElement>>;
55
+ }
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PageHeadingActionsProps } from "./PageHeading.types";
3
+ export declare const PageHeadingActions: React.ForwardRefExoticComponent<PageHeadingActionsProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageHeadingTheme } from './PageHeading.theme.js';
5
+
6
+ const PageHeadingActions = React__default.forwardRef(({ children, className, ...props }, ref) => {
7
+ return (jsx("div", { ref: ref, className: cn(pageHeadingTheme.actionsStyle, className), ...props, children: children }));
8
+ });
9
+ PageHeadingActions.displayName = "PageHeadingActions";
10
+
11
+ export { PageHeadingActions };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PageHeadingBackButtonProps } from "./PageHeading.types";
3
+ export declare const PageHeadingBackButton: React.ForwardRefExoticComponent<PageHeadingBackButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -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 { ArrowLeftIcon } from '@heroicons/react/20/solid';
5
+ import { Button } from '../Button/Button.js';
6
+
7
+ const PageHeadingBackButton = React__default.forwardRef(({ label = "Back", onClick, className, ...props }, ref) => {
8
+ return (jsxs(Button, { ref: ref, variant: "link", color: "neutral", size: "sm", onClick: onClick, className: cn("mb-2 w-fit", className), ...props, children: [jsx(ArrowLeftIcon, { className: "size-4" }), label] }));
9
+ });
10
+ PageHeadingBackButton.displayName = "PageHeadingBackButton";
11
+
12
+ export { PageHeadingBackButton };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PageHeadingIconProps } from "./PageHeading.types";
3
+ export declare const PageHeadingIcon: React.ForwardRefExoticComponent<PageHeadingIconProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageHeadingTheme } from './PageHeading.theme.js';
5
+
6
+ const PageHeadingIcon = React__default.forwardRef(({ children, className, ...props }, ref) => {
7
+ return (jsx("div", { ref: ref, className: cn(pageHeadingTheme.iconStyle, className), ...props, children: children }));
8
+ });
9
+ PageHeadingIcon.displayName = "PageHeadingIcon";
10
+
11
+ export { PageHeadingIcon };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PageHeadingSubtitleProps } from "./PageHeading.types";
3
+ export declare const PageHeadingSubtitle: React.ForwardRefExoticComponent<PageHeadingSubtitleProps & React.RefAttributes<HTMLParagraphElement>>;
@@ -0,0 +1,11 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageHeadingTheme } from './PageHeading.theme.js';
5
+
6
+ const PageHeadingSubtitle = React__default.forwardRef(({ children, className, ...props }, ref) => {
7
+ return (jsx("p", { ref: ref, className: cn(pageHeadingTheme.subtitleStyle, className), ...props, children: children }));
8
+ });
9
+ PageHeadingSubtitle.displayName = "PageHeadingSubtitle";
10
+
11
+ export { PageHeadingSubtitle };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PageHeadingTitleProps } from "./PageHeading.types";
3
+ export declare const PageHeadingTitle: React.ForwardRefExoticComponent<PageHeadingTitleProps & React.RefAttributes<HTMLHeadingElement>>;
@@ -0,0 +1,11 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { cn } from '../../../utils/cn.js';
4
+ import { pageHeadingTheme } from './PageHeading.theme.js';
5
+
6
+ const PageHeadingTitle = React__default.forwardRef(({ children, className, ...props }, ref) => {
7
+ return (jsx("h1", { ref: ref, className: cn(pageHeadingTheme.titleStyle, className), ...props, children: children }));
8
+ });
9
+ PageHeadingTitle.displayName = "PageHeadingTitle";
10
+
11
+ export { PageHeadingTitle };
@@ -0,0 +1,2 @@
1
+ export { PageHeading, PageHeadingBackButton, PageHeadingIcon, PageHeadingTitle, PageHeadingSubtitle, PageHeadingActions, } from "./PageHeading";
2
+ export type { PageHeadingProps, PageHeadingTitleProps, PageHeadingSubtitleProps, PageHeadingActionsProps, PageHeadingIconProps, PageHeadingBackButtonProps, PageHeadingTheme, PageHeadingThemeOverrides, PageHeadingComponent, } from "./PageHeading.types";
@@ -26,8 +26,8 @@ const paginationTheme = {
26
26
  "data-[disabled=true]:opacity-50 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:pointer-events-none",
27
27
  // Unified item sizes
28
28
  itemSizes: {
29
- sm: "size-8 min-w-[2rem] text-sm",
30
- md: "size-10 min-w-[2.5rem] text-sm",
29
+ sm: "size-8 min-w-[2rem] text-base",
30
+ md: "size-10 min-w-[2.5rem] text-base",
31
31
  },
32
32
  // Ellipsis styles
33
33
  ellipsisStyle: "inline-flex items-center justify-center font-medium text-[var(--color-text-muted)] dark:text-[var(--color-neutral-500)] cursor-default pointer-events-none",
@@ -27,9 +27,9 @@ const pillTheme = {
27
27
  * Size variants
28
28
  */
29
29
  sizes: {
30
- sm: "text-xs px-2 py-0.5 gap-0.5",
31
- md: "text-sm px-2.5 py-1 gap-1",
32
- lg: "text-sm px-3 py-1 gap-1.5",
30
+ sm: "text-sm px-2 py-0.5 gap-0.5",
31
+ md: "text-base px-2.5 py-1 gap-1",
32
+ lg: "text-base px-3 py-1 gap-1.5",
33
33
  },
34
34
  /**
35
35
  * Icon sizes for iconStart and CheckIcon
@@ -5,7 +5,7 @@ const popoverTheme = {
5
5
  // Base styles for the popover
6
6
  baseStyle: "z-50 outline-none",
7
7
  // Content styles
8
- contentStyle: "bg-[var(--color-white)] border border-[var(--color-border)] rounded-[var(--popover-radius)] shadow-real-xl p-4 max-w-sm dark:bg-[var(--color-background-secondary)] ",
8
+ contentStyle: "bg-[var(--color-surface)] border border-[var(--color-border)] rounded-[var(--popover-radius)] shadow-real-xl p-4 max-w-[min(24rem,calc(100vw-2rem))] dark:bg-[var(--color-background-secondary)] ",
9
9
  };
10
10
 
11
11
  export { popoverTheme };
@@ -48,6 +48,12 @@ export interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement
48
48
  children: ReactNode;
49
49
  animation?: boolean;
50
50
  portal?: boolean;
51
+ /** Enable scroll support with viewport-aware max-height. Uses available
52
+ * space computed by the positioning hook, falling back to 400px. */
53
+ scrollable?: boolean;
54
+ /** Custom max-height when scrollable is true (e.g. "300px", "20rem").
55
+ * Overrides the default viewport-aware height. */
56
+ maxHeight?: string;
51
57
  }
52
58
  /**
53
59
  * Theme overrides for the Popover component