@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,199 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import React__default, { useState, useMemo, useCallback } from 'react';
3
+ import { useReducedMotion, AnimatePresence, motion } from 'motion/react';
4
+ import { ChevronDoubleRightIcon, ChevronRightIcon, ChevronLeftIcon, ChevronDoubleLeftIcon, MagnifyingGlassIcon } from '@heroicons/react/24/outline';
5
+ import { cn } from '../../../utils/cn.js';
6
+ import { transferListTheme } from './TransferList.theme.js';
7
+ import { getItemVariants } from './TransferList.animations.js';
8
+
9
+ /**
10
+ * TransferList is a dual-list picker for moving items between a source
11
+ * (available) list and a target (selected) list. Commonly used in
12
+ * admin/permissions interfaces for assigning roles, features, or users.
13
+ *
14
+ * Supports controlled (value + onChange) and uncontrolled (defaultValue)
15
+ * patterns, optional search filtering, multi-select with checkboxes,
16
+ * custom item renderers, disabled items, and animated transitions.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <TransferList
21
+ * items={[
22
+ * { id: '1', label: 'Read' },
23
+ * { id: '2', label: 'Write' },
24
+ * { id: '3', label: 'Delete' },
25
+ * ]}
26
+ * value={selectedPermissions}
27
+ * onChange={setSelectedPermissions}
28
+ * sourceTitle="Available Permissions"
29
+ * targetTitle="Assigned Permissions"
30
+ * searchable
31
+ * />
32
+ * ```
33
+ */
34
+ const TransferList = React__default.forwardRef(({ items, value: controlledValue, defaultValue = [], onChange, sourceTitle = "Available", targetTitle = "Selected", searchable = false, size = "md", renderItem, className, ...restProps }, ref) => {
35
+ const shouldReduceMotion = useReducedMotion();
36
+ const itemVariants = getItemVariants(shouldReduceMotion);
37
+ // Controlled vs uncontrolled state for target IDs
38
+ const isControlled = controlledValue !== undefined;
39
+ const [internalValue, setInternalValue] = useState(defaultValue);
40
+ const targetIds = isControlled ? controlledValue : internalValue;
41
+ // Selection state for checkboxes in each list
42
+ const [sourceSelected, setSourceSelected] = useState(new Set());
43
+ const [targetSelected, setTargetSelected] = useState(new Set());
44
+ // Search/filter state
45
+ const [sourceSearch, setSourceSearch] = useState("");
46
+ const [targetSearch, setTargetSearch] = useState("");
47
+ const theme = transferListTheme;
48
+ const sizeStyles = theme.sizes[size];
49
+ // Build a lookup map for items by ID
50
+ const itemMap = useMemo(() => {
51
+ const map = new Map();
52
+ for (const item of items) {
53
+ map.set(item.id, item);
54
+ }
55
+ return map;
56
+ }, [items]);
57
+ // Derive target IDs set for fast lookup
58
+ const targetIdSet = useMemo(() => new Set(targetIds), [targetIds]);
59
+ // Split items into source and target lists
60
+ const sourceItems = useMemo(() => items.filter((item) => !targetIdSet.has(item.id)), [items, targetIdSet]);
61
+ const targetItems = useMemo(() => targetIds
62
+ .map((id) => itemMap.get(id))
63
+ .filter((item) => item !== undefined), [targetIds, itemMap]);
64
+ // Filter items by search query
65
+ const filteredSourceItems = useMemo(() => {
66
+ if (!sourceSearch.trim())
67
+ return sourceItems;
68
+ const query = sourceSearch.toLowerCase();
69
+ return sourceItems.filter((item) => item.label.toLowerCase().includes(query));
70
+ }, [sourceItems, sourceSearch]);
71
+ const filteredTargetItems = useMemo(() => {
72
+ if (!targetSearch.trim())
73
+ return targetItems;
74
+ const query = targetSearch.toLowerCase();
75
+ return targetItems.filter((item) => item.label.toLowerCase().includes(query));
76
+ }, [targetItems, targetSearch]);
77
+ // Update the target list value
78
+ const updateValue = useCallback((newTargetIds) => {
79
+ if (!isControlled) {
80
+ setInternalValue(newTargetIds);
81
+ }
82
+ onChange === null || onChange === void 0 ? void 0 : onChange(newTargetIds);
83
+ }, [isControlled, onChange]);
84
+ // Transfer selected source items to target
85
+ const handleMoveToTarget = useCallback(() => {
86
+ const idsToMove = Array.from(sourceSelected).filter((id) => {
87
+ const item = itemMap.get(id);
88
+ return item && !item.disabled;
89
+ });
90
+ if (idsToMove.length === 0)
91
+ return;
92
+ const newTargetIds = [...targetIds, ...idsToMove];
93
+ updateValue(newTargetIds);
94
+ setSourceSelected(new Set());
95
+ }, [sourceSelected, targetIds, updateValue, itemMap]);
96
+ // Transfer selected target items back to source
97
+ const handleMoveToSource = useCallback(() => {
98
+ const idsToMove = new Set(Array.from(targetSelected).filter((id) => {
99
+ const item = itemMap.get(id);
100
+ return item && !item.disabled;
101
+ }));
102
+ if (idsToMove.size === 0)
103
+ return;
104
+ const newTargetIds = targetIds.filter((id) => !idsToMove.has(id));
105
+ updateValue(newTargetIds);
106
+ setTargetSelected(new Set());
107
+ }, [targetSelected, targetIds, updateValue, itemMap]);
108
+ // Move all non-disabled source items to target
109
+ const handleMoveAllToTarget = useCallback(() => {
110
+ const nonDisabledSourceIds = sourceItems
111
+ .filter((item) => !item.disabled)
112
+ .map((item) => item.id);
113
+ if (nonDisabledSourceIds.length === 0)
114
+ return;
115
+ const newTargetIds = [...targetIds, ...nonDisabledSourceIds];
116
+ updateValue(newTargetIds);
117
+ setSourceSelected(new Set());
118
+ }, [sourceItems, targetIds, updateValue]);
119
+ // Move all non-disabled target items back to source
120
+ const handleMoveAllToSource = useCallback(() => {
121
+ const disabledTargetIds = targetItems
122
+ .filter((item) => item.disabled)
123
+ .map((item) => item.id);
124
+ updateValue(disabledTargetIds);
125
+ setTargetSelected(new Set());
126
+ }, [targetItems, updateValue]);
127
+ // Toggle an individual item's selection
128
+ const toggleSelection = useCallback((id, selected, setSelected) => {
129
+ const item = itemMap.get(id);
130
+ if (item === null || item === void 0 ? void 0 : item.disabled)
131
+ return;
132
+ const next = new Set(selected);
133
+ if (next.has(id)) {
134
+ next.delete(id);
135
+ }
136
+ else {
137
+ next.add(id);
138
+ }
139
+ setSelected(next);
140
+ }, [itemMap]);
141
+ // Toggle select-all for a given list
142
+ const toggleSelectAll = useCallback((listItems, selected, setSelected) => {
143
+ const selectableItems = listItems.filter((item) => !item.disabled);
144
+ const allSelected = selectableItems.every((item) => selected.has(item.id));
145
+ if (allSelected) {
146
+ setSelected(new Set());
147
+ }
148
+ else {
149
+ setSelected(new Set(selectableItems.map((item) => item.id)));
150
+ }
151
+ }, []);
152
+ // Compute select-all checkbox states
153
+ const sourceSelectableItems = filteredSourceItems.filter((i) => !i.disabled);
154
+ const targetSelectableItems = filteredTargetItems.filter((i) => !i.disabled);
155
+ const sourceAllSelected = sourceSelectableItems.length > 0 &&
156
+ sourceSelectableItems.every((item) => sourceSelected.has(item.id));
157
+ const sourceIndeterminate = !sourceAllSelected &&
158
+ sourceSelectableItems.some((item) => sourceSelected.has(item.id));
159
+ const targetAllSelected = targetSelectableItems.length > 0 &&
160
+ targetSelectableItems.every((item) => targetSelected.has(item.id));
161
+ const targetIndeterminate = !targetAllSelected &&
162
+ targetSelectableItems.some((item) => targetSelected.has(item.id));
163
+ // Icon size classes per size variant
164
+ const iconSize = size === "sm" ? "w-3.5 h-3.5" : size === "lg" ? "w-5 h-5" : "w-4 h-4";
165
+ const searchIconSize = size === "sm" ? "w-3.5 h-3.5" : size === "lg" ? "w-5 h-5" : "w-4 h-4";
166
+ const searchIconPosition = size === "sm" ? "left-2" : size === "lg" ? "left-3" : "left-2.5";
167
+ // Checkbox size
168
+ const checkboxSize = size === "sm" ? "w-3.5 h-3.5" : size === "lg" ? "w-5 h-5" : "w-4 h-4";
169
+ // Render a single list panel
170
+ const renderPanel = (title, listItems, filteredItems, selected, setSelected, search, setSearch, allSelected, indeterminate, panelAriaLabel) => {
171
+ const selectableCount = filteredItems.filter((i) => !i.disabled).length;
172
+ const selectedCount = Array.from(selected).filter((id) => filteredItems.some((item) => item.id === id)).length;
173
+ return (jsxs("div", { className: cn(theme.panelStyle, sizeStyles.panel), role: "listbox", "aria-label": panelAriaLabel, "aria-multiselectable": "true", children: [jsxs("div", { className: theme.headerStyle, children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("input", { type: "checkbox", checked: allSelected, ref: (el) => {
174
+ if (el)
175
+ el.indeterminate = indeterminate;
176
+ }, onChange: () => toggleSelectAll(filteredItems, selected, setSelected), disabled: selectableCount === 0, className: cn(checkboxSize, "rounded-[calc(var(--radius-base)*0.5)] border-2 border-[var(--color-border)] accent-[var(--color-primary)] cursor-pointer disabled:cursor-not-allowed disabled:opacity-50"), "aria-label": `Select all ${title}` }), jsx("span", { className: cn(theme.titleStyle, size === "sm" ? "text-sm" : "text-base"), children: title })] }), jsxs("span", { className: cn(theme.countStyle, size === "sm" ? "text-sm" : "text-sm"), children: [selectedCount > 0 ? `${selectedCount}/` : "", listItems.length] })] }), searchable && (jsxs("div", { className: theme.searchWrapperStyle, children: [jsx(MagnifyingGlassIcon, { className: cn(searchIconSize, "absolute text-[var(--color-text-placeholder)] pointer-events-none", searchIconPosition) }), jsx("input", { type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search...", className: cn(theme.searchInputStyle, sizeStyles.searchInput), "aria-label": `Search ${title}` })] })), jsxs("div", { className: theme.listStyle, children: [jsx(AnimatePresence, { mode: "popLayout", initial: false, children: filteredItems.map((item) => {
177
+ const isSelected = selected.has(item.id);
178
+ const isDisabled = item.disabled === true;
179
+ const itemContent = (jsxs(Fragment, { children: [jsx("input", { type: "checkbox", checked: isSelected, onChange: () => toggleSelection(item.id, selected, setSelected), disabled: isDisabled, className: cn(checkboxSize, "rounded-[calc(var(--radius-base)*0.5)] border-2 border-[var(--color-border)] accent-[var(--color-primary)] cursor-pointer flex-shrink-0", isDisabled && "cursor-not-allowed"), tabIndex: -1, "aria-hidden": "true" }), jsx("span", { className: "truncate flex-1", children: renderItem ? renderItem(item) : item.label })] }));
180
+ const itemProps = {
181
+ key: item.id,
182
+ role: "option",
183
+ "aria-selected": isSelected,
184
+ "aria-disabled": isDisabled,
185
+ "data-selected": isSelected ? "true" : "false",
186
+ onClick: () => toggleSelection(item.id, selected, setSelected),
187
+ className: cn(theme.itemStyle, sizeStyles.item, isDisabled && theme.itemDisabledStyle),
188
+ };
189
+ if (itemVariants) {
190
+ return (jsx(motion.div, { ...itemProps, layout: true, variants: itemVariants, initial: "initial", animate: "animate", exit: "exit", children: itemContent }));
191
+ }
192
+ return jsx("div", { ...itemProps, children: itemContent });
193
+ }) }), filteredItems.length === 0 && (jsx("div", { className: cn("flex items-center justify-center text-[var(--color-text-muted)]", size === "sm" ? "py-4 text-sm" : size === "lg" ? "py-8 text-base" : "py-6 text-sm"), children: search.trim() ? "No matches found" : "No items" }))] })] }));
194
+ };
195
+ return (jsxs("div", { ref: ref, className: cn(theme.baseStyle, className), ...restProps, children: [renderPanel(sourceTitle, sourceItems, filteredSourceItems, sourceSelected, setSourceSelected, sourceSearch, setSourceSearch, sourceAllSelected, sourceIndeterminate, sourceTitle), jsxs("div", { className: theme.actionsStyle, children: [jsx("button", { type: "button", onClick: handleMoveAllToTarget, disabled: sourceItems.filter((i) => !i.disabled).length === 0, className: cn(theme.buttonStyle, sizeStyles.button), "aria-label": "Move all to target", children: jsx(ChevronDoubleRightIcon, { className: iconSize }) }), jsx("button", { type: "button", onClick: handleMoveToTarget, disabled: sourceSelected.size === 0, className: cn(theme.buttonStyle, sizeStyles.button), "aria-label": "Move selected to target", children: jsx(ChevronRightIcon, { className: iconSize }) }), jsx("button", { type: "button", onClick: handleMoveToSource, disabled: targetSelected.size === 0, className: cn(theme.buttonStyle, sizeStyles.button), "aria-label": "Move selected to source", children: jsx(ChevronLeftIcon, { className: iconSize }) }), jsx("button", { type: "button", onClick: handleMoveAllToSource, disabled: targetItems.filter((i) => !i.disabled).length === 0, className: cn(theme.buttonStyle, sizeStyles.button), "aria-label": "Move all to source", children: jsx(ChevronDoubleLeftIcon, { className: iconSize }) })] }), renderPanel(targetTitle, targetItems, filteredTargetItems, targetSelected, setTargetSelected, targetSearch, setTargetSearch, targetAllSelected, targetIndeterminate, targetTitle)] }));
196
+ });
197
+ TransferList.displayName = "TransferList";
198
+
199
+ export { TransferList };
@@ -0,0 +1,6 @@
1
+ import { TransferListTheme } from "./TransferList.types";
2
+ /**
3
+ * Default theme configuration for the TransferList component.
4
+ * Uses CSS variables from global.scss for consistent theming.
5
+ */
6
+ export declare const transferListTheme: TransferListTheme;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Default theme configuration for the TransferList component.
3
+ * Uses CSS variables from global.scss for consistent theming.
4
+ */
5
+ const transferListTheme = {
6
+ // Root container - horizontal layout with centered actions
7
+ baseStyle: "flex items-stretch gap-0",
8
+ // Individual list panel
9
+ panelStyle: "flex flex-col border border-[var(--color-border)] rounded-[var(--form-radius)] bg-[var(--color-surface)] overflow-hidden",
10
+ // Panel header with title and count
11
+ headerStyle: "flex items-center justify-between px-3 py-2 border-b border-[var(--color-border)] bg-[var(--color-background-secondary)]",
12
+ // Title text
13
+ titleStyle: "font-medium text-[var(--color-text-primary)]",
14
+ // Item count badge
15
+ countStyle: "text-[var(--color-text-muted)] tabular-nums",
16
+ // Search input wrapper
17
+ searchWrapperStyle: "relative flex items-center border-b border-[var(--color-border)]",
18
+ // Search input
19
+ searchInputStyle: "w-full bg-transparent text-[var(--color-text-primary)] placeholder:text-[var(--color-text-placeholder)] focus:outline-none",
20
+ // Scrollable list container
21
+ listStyle: "flex-1 overflow-y-auto",
22
+ // Individual item row
23
+ itemStyle: "flex items-center gap-2 cursor-pointer transition-colors duration-150 " +
24
+ "hover:bg-[var(--color-background-secondary)] " +
25
+ "data-[selected=true]:bg-[var(--color-primary-50)]",
26
+ // Disabled item overlay
27
+ itemDisabledStyle: "opacity-50 cursor-not-allowed hover:bg-transparent",
28
+ // Actions column with transfer buttons
29
+ actionsStyle: "flex flex-col items-center justify-center gap-1 px-2",
30
+ // Transfer button
31
+ buttonStyle: "inline-flex items-center justify-center rounded-[var(--form-radius)] border border-[var(--color-border)] " +
32
+ "bg-[var(--color-surface)] text-[var(--color-text-secondary)] " +
33
+ "transition-all duration-150 " +
34
+ "hover:bg-[var(--color-background-secondary)] hover:text-[var(--color-text-primary)] hover:border-[var(--color-border-secondary)] " +
35
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-1 " +
36
+ "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-[var(--color-surface)] disabled:hover:text-[var(--color-text-secondary)] disabled:hover:border-[var(--color-border)]",
37
+ // Size variants
38
+ sizes: {
39
+ sm: {
40
+ panel: "w-56 h-64",
41
+ item: "px-2 py-1 text-sm gap-1.5",
42
+ button: "p-1",
43
+ searchInput: "px-2 py-1.5 text-sm pl-7",
44
+ },
45
+ md: {
46
+ panel: "w-72 h-80",
47
+ item: "px-3 py-1.5 text-base gap-2",
48
+ button: "p-1.5",
49
+ searchInput: "px-3 py-2 text-base pl-8",
50
+ },
51
+ lg: {
52
+ panel: "w-80 h-96",
53
+ item: "px-3 py-2 text-lg gap-2.5",
54
+ button: "p-2",
55
+ searchInput: "px-3 py-2.5 text-lg pl-9",
56
+ },
57
+ },
58
+ };
59
+
60
+ export { transferListTheme };
@@ -0,0 +1,101 @@
1
+ import React from "react";
2
+ /**
3
+ * Size variants for the TransferList component
4
+ */
5
+ export type TransferListSize = "sm" | "md" | "lg";
6
+ /**
7
+ * Individual item in the TransferList
8
+ */
9
+ export interface TransferListItem {
10
+ /** Unique identifier for the item */
11
+ id: string;
12
+ /** Display label for the item */
13
+ label: string;
14
+ /** Whether the item is disabled and cannot be transferred */
15
+ disabled?: boolean;
16
+ /** Allow custom data to be attached to the item */
17
+ [key: string]: unknown;
18
+ }
19
+ /**
20
+ * TransferList component props
21
+ *
22
+ * Supports both controlled (value + onChange) and uncontrolled (defaultValue) patterns.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Controlled
27
+ * <TransferList
28
+ * items={items}
29
+ * value={selectedIds}
30
+ * onChange={setSelectedIds}
31
+ * sourceTitle="Available"
32
+ * targetTitle="Selected"
33
+ * />
34
+ *
35
+ * // Uncontrolled
36
+ * <TransferList
37
+ * items={items}
38
+ * defaultValue={['item-1', 'item-2']}
39
+ * sourceTitle="Available"
40
+ * targetTitle="Selected"
41
+ * />
42
+ * ```
43
+ */
44
+ export interface TransferListProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
45
+ /** All available items for both lists */
46
+ items: TransferListItem[];
47
+ /** IDs of items currently in the target list (controlled mode) */
48
+ value?: string[];
49
+ /** Default IDs of items in the target list (uncontrolled mode) */
50
+ defaultValue?: string[];
51
+ /** Callback when target list changes */
52
+ onChange?: (targetIds: string[]) => void;
53
+ /** Title displayed above the source list */
54
+ sourceTitle?: string;
55
+ /** Title displayed above the target list */
56
+ targetTitle?: string;
57
+ /** Whether to show search/filter inputs for each list */
58
+ searchable?: boolean;
59
+ /** Size variant affecting padding and text size */
60
+ size?: TransferListSize;
61
+ /** Custom renderer for each item in both lists */
62
+ renderItem?: (item: TransferListItem) => React.ReactNode;
63
+ /** Additional className for the root container */
64
+ className?: string;
65
+ }
66
+ /**
67
+ * Theme configuration for the TransferList component
68
+ */
69
+ export interface TransferListTheme {
70
+ /** Root container style */
71
+ baseStyle: string;
72
+ /** Individual list panel style */
73
+ panelStyle: string;
74
+ /** Panel header (title + count) style */
75
+ headerStyle: string;
76
+ /** Title text style */
77
+ titleStyle: string;
78
+ /** Item count badge style */
79
+ countStyle: string;
80
+ /** Search input wrapper style */
81
+ searchWrapperStyle: string;
82
+ /** Search input style */
83
+ searchInputStyle: string;
84
+ /** Scrollable list container style */
85
+ listStyle: string;
86
+ /** Individual item row style */
87
+ itemStyle: string;
88
+ /** Disabled item style */
89
+ itemDisabledStyle: string;
90
+ /** Actions column (transfer buttons) style */
91
+ actionsStyle: string;
92
+ /** Transfer button style */
93
+ buttonStyle: string;
94
+ /** Size variants */
95
+ sizes: Record<TransferListSize, {
96
+ panel: string;
97
+ item: string;
98
+ button: string;
99
+ searchInput: string;
100
+ }>;
101
+ }
@@ -0,0 +1,3 @@
1
+ export { TransferList } from "./TransferList";
2
+ export type { TransferListProps, TransferListItem, TransferListSize, TransferListTheme, } from "./TransferList.types";
3
+ export { transferListTheme } from "./TransferList.theme";
@@ -15,7 +15,7 @@ const formsBaseTheme = {
15
15
  "dark:bg-[var(--color-neutral-900)] dark:outline-[var(--color-neutral-700)] " +
16
16
  "dark:focus-within:outline-[var(--color-primary-500)] dark:focus-within:ring-[var(--color-primary-500)]/20",
17
17
  // Common base input/control style
18
- controlBaseStyle: "w-full bg-transparent text-sm text-[var(--color-text-primary)] " +
18
+ controlBaseStyle: "w-full bg-transparent text-base text-[var(--color-text-primary)] " +
19
19
  "placeholder:text-[var(--color-text-placeholder)] focus:outline-none " +
20
20
  // Dark mode
21
21
  "dark:text-[var(--color-text-primary)] dark:placeholder:text-[var(--color-neutral-500)]",
@@ -23,19 +23,19 @@ const formsBaseTheme = {
23
23
  // These tokens can be composed together or used individually for maximum flexibility
24
24
  sizes: {
25
25
  sm: {
26
- text: "text-sm",
26
+ text: "text-base",
27
27
  padding: "py-[var(--form-py-sm)] px-[var(--form-px-sm)]",
28
28
  height: "h-[var(--form-min-h-sm)]",
29
29
  textareaHeight: "min-h-[calc(var(--form-min-h-sm)*2)]",
30
30
  },
31
31
  md: {
32
- text: "text-sm",
32
+ text: "text-base",
33
33
  padding: "py-[var(--form-py-md)] px-[var(--form-px-md)]",
34
34
  height: "h-[var(--form-min-h-md)]",
35
35
  textareaHeight: "min-h-[calc(var(--form-min-h-md)*2)]",
36
36
  },
37
37
  lg: {
38
- text: "text-base",
38
+ text: "text-lg",
39
39
  padding: "py-[var(--form-py-lg)] px-[var(--form-px-lg)]",
40
40
  height: "h-[var(--form-min-h-lg)]",
41
41
  textareaHeight: "min-h-[calc(var(--form-min-h-lg)*2)]",
@@ -72,7 +72,7 @@ const formsBaseTheme = {
72
72
  invalid: "",
73
73
  },
74
74
  // Common helper text style with state variations
75
- helperText: "text-xs text-gray-500 mt-1.5 [.state-disabled_&]:text-gray-400 [.state-invalid_&]:text-[var(--color-danger-500)] " +
75
+ helperText: "text-sm text-gray-500 mt-1.5 [.state-disabled_&]:text-gray-400 [.state-invalid_&]:text-[var(--color-danger-500)] " +
76
76
  "dark:text-[var(--color-neutral-400)] dark:[.state-invalid_&]:text-[var(--color-danger-400)]",
77
77
  // Common icon styles
78
78
  iconStyles: {
@@ -89,7 +89,7 @@ const formsBaseTheme = {
89
89
  dropdownStyles: {
90
90
  // Container for dropdown panel
91
91
  container: "fixed z-[1000] max-h-[var(--select-content-available-height,20rem)] overflow-auto overscroll-contain " +
92
- "rounded-[var(--form-radius)] bg-white/90 backdrop-blur-md text-sm border border-[var(--color-border)] " +
92
+ "rounded-[var(--form-radius)] bg-white/90 backdrop-blur-md text-base border border-[var(--color-border)] " +
93
93
  "shadow-real-lg ring-1 ring-[var(--color-border)] focus:outline-none " +
94
94
  "dark:bg-[var(--color-neutral-900)]/90 dark:ring-[var(--color-neutral-700)]",
95
95
  // Base option style
@@ -11,10 +11,10 @@ export { FormLabel } from "./FormLabel";
11
11
  export type { FormLabelProps, FormLabelState, FormLabelTheme, } from "./FormLabel";
12
12
  export { formLabelTheme } from "./FormLabel";
13
13
  export { Radio } from "./Radio";
14
- export type { RadioProps, RadioSize, RadioState } from "./Radio";
14
+ export type { RadioProps, RadioSize, RadioState, RadioGroupProps, RadioGroupOrientation, } from "./Radio";
15
15
  export { radioTheme } from "./Radio";
16
16
  export { Checkbox } from "./Checkbox";
17
- export type { CheckboxProps, CheckboxSize, CheckboxState } from "./Checkbox";
17
+ export type { CheckboxProps, CheckboxSize, CheckboxState, CheckboxGroupProps, CheckboxGroupOrientation, } from "./Checkbox";
18
18
  export { checkboxTheme } from "./Checkbox";
19
19
  export { Switch } from "./Switch";
20
20
  export type { SwitchProps, SwitchThemeOverrides } from "./Switch";
@@ -60,3 +60,16 @@ export { Combobox } from "./Combobox";
60
60
  export type { ComboboxProps, ComboboxOption, ComboboxSize, ComboboxState, ComboboxTheme, ComboboxThemeOverrides, } from "./Combobox";
61
61
  export { comboboxTheme } from "./Combobox";
62
62
  export * from "./ColorPicker";
63
+ export { SelectableCard } from "./SelectableCard";
64
+ export type { SelectableCardProps, SelectableCardGroupProps, SelectableCardType, SelectableCardIndicator, SelectableCardTheme, } from "./SelectableCard";
65
+ export { selectableCardTheme } from "./SelectableCard";
66
+ export { TransferList } from "./TransferList";
67
+ export type { TransferListProps, TransferListItem, TransferListSize, TransferListTheme, } from "./TransferList";
68
+ export { transferListTheme } from "./TransferList";
69
+ export { Mention } from "./Mention";
70
+ export type { MentionProps, MentionSuggestion, MentionTrigger, MentionSize, MentionTheme, MentionThemeOverrides, } from "./Mention";
71
+ export { mentionTheme } from "./Mention";
72
+ export { CronInput } from "./CronInput";
73
+ export type { CronInputProps, CronInputSize, CronInputMode, CronInputTheme, CronInputThemeOverrides, CronFields, CronPreset, } from "./CronInput";
74
+ export { cronInputTheme } from "./CronInput";
75
+ export { parseCron, fieldsToCron, validateCron, cronToDescription, getNextRuns, formatNextRun, CRON_PRESETS, } from "./CronInput";
@@ -24,6 +24,84 @@ import 'clsx';
24
24
  import 'tailwind-merge';
25
25
  import 'motion/react';
26
26
  import 'react-dom';
27
+ import '../core/Accordion/Accordion.js';
28
+ import '../core/AlertDialog/AlertDialog.js';
29
+ import '../core/AspectRatio/AspectRatio.js';
30
+ import '../core/Avatar/Avatar.js';
31
+ import '../core/AvatarGroup/AvatarGroup.js';
32
+ import '../core/Badge/Badge.js';
33
+ import '../core/Breadcrumbs/Breadcrumbs.js';
34
+ import '../core/Breadcrumbs/Breadcrumbs.theme.js';
35
+ import '../core/Button/Button.js';
36
+ import '../core/ButtonGroup/ButtonGroup.js';
37
+ import '../core/ButtonGroup/ButtonGroupSeparator.js';
38
+ import '../core/ButtonGroup/ButtonGroupText.js';
39
+ import '../core/Calendar/Calendar.js';
40
+ import '../core/Calendar/CalendarMini/CalendarMini.js';
41
+ import '../core/Card/Card.js';
42
+ import '../core/CardStack/CardStack.js';
43
+ import '../core/Carousel/Carousel.js';
44
+ import '../core/CommandPalette/CommandPalette.js';
45
+ import '../core/Separator/Separator.js';
46
+ import '../core/Drawer/Drawer.js';
47
+ import '../core/Dropdown/Dropdown.js';
48
+ import '../core/Dropdown/DropdownTrigger.js';
49
+ import '../core/Dropdown/DropdownMenu.js';
50
+ import '../core/Dropdown/DropdownItem.js';
51
+ import '../core/Dropdown/DropdownSection.js';
52
+ import '../core/Dropdown/DropdownSeparator.js';
53
+ import '../core/Dropdown/Dropdown.theme.js';
54
+ import '../core/Kbd/Kbd.js';
55
+ import '../core/MenuItem/MenuItem.js';
56
+ import '../core/Link/Link.js';
57
+ import '../core/Loader/Loader.js';
58
+ import '../core/Modal/Modal.js';
59
+ import '../core/ModalStack/ModalStack.js';
60
+ import '../core/PageHeading/PageHeading.js';
61
+ import '../core/Pagination/Pagination.js';
62
+ import '../core/Popover/Popover.js';
63
+ import '../core/Popover/PopoverContext.js';
64
+ import '../core/Progress/Progress.js';
65
+ import '../core/Rating/Rating.js';
66
+ import '../core/ScrollArea/ScrollArea.js';
67
+ import '../core/ScrollArea/smooth/SmoothScrollEngine.js';
68
+ import '../core/Segmented/Segmented.js';
69
+ import '../core/Skeleton/Skeleton.js';
70
+ import '../core/SlidingNumber/SlidingNumber.js';
71
+ import '../core/Tabs/Tabs.js';
72
+ import '../core/Tabs/TabsList.js';
73
+ import '../core/Tabs/TabsTrigger.js';
74
+ import '../core/Tabs/TabsContent.js';
75
+ import '../core/Tabs/TabsContext.js';
76
+ import '../core/Tooltip/Tooltip.js';
77
+ import '../core/Tooltip/Tooltip.animations.js';
78
+ import '../core/Tree/Tree.js';
79
+ import '../core/Tag/Tag.js';
80
+ import '../core/Alert/Alert.js';
81
+ import '../core/Toast/Toast.js';
82
+ import '../core/Toast/ToastProvider.js';
83
+ import '@heroicons/react/24/solid';
84
+ import '../core/Spinner/Spinner.js';
85
+ import '../core/Message/Message.js';
86
+ import '../core/Message/TypeWriter.js';
87
+ import '../core/Empty/Empty.js';
88
+ import '../core/Masonry/Masonry.js';
89
+ import '../core/DragDrop/DragDrop.js';
90
+ import '../core/Sortable/Sortable.js';
91
+ import '../core/NavItem/NavItem.js';
92
+ import '../core/Sidebar/Sidebar.js';
93
+ import '../core/Sidebar/SidebarHeader.js';
94
+ import '../core/Sidebar/SidebarContent.js';
95
+ import '../core/Sidebar/SidebarFooter.js';
96
+ import '../core/Sidebar/SidebarNav.js';
97
+ import '../core/Sidebar/SidebarNavGroup.js';
98
+ import '../core/Sidebar/SidebarToggle.js';
99
+ import '../core/Sidebar/SidebarContext.js';
100
+ import '../core/OfflineIndicator/OfflineIndicator.js';
101
+ import '../core/ContextMenu/ContextMenu.js';
102
+ import '../core/ContextMenu/ContextMenu.theme.js';
103
+ import '../core/Pill/Pill.js';
104
+ import '../core/SocialIcon/SocialIcon.js';
27
105
  import './TimePicker/WheelColumn.js';
28
106
  export { timePickerTheme } from './TimePicker/TimePicker.theme.js';
29
107
  export { Slider } from './Slider/Slider.js';
@@ -58,6 +136,15 @@ export { ColorPickerFormatSelector } from './ColorPicker/ColorPickerFormatSelect
58
136
  export { ColorPickerEyeDropper } from './ColorPicker/ColorPickerEyeDropper.js';
59
137
  export { ColorPickerPresets } from './ColorPicker/ColorPickerPresets.js';
60
138
  export { formatHex, formatHsl, formatRgb, hexToRgb, hslToRgb, hsvToRgb, parseColor, rgbToHex, rgbToHsl, rgbToHsv, validateHex, validateRgb } from './ColorPicker/colorUtils.js';
139
+ export { SelectableCard } from './SelectableCard/SelectableCard.js';
140
+ export { selectableCardTheme } from './SelectableCard/SelectableCard.theme.js';
141
+ export { TransferList } from './TransferList/TransferList.js';
142
+ export { transferListTheme } from './TransferList/TransferList.theme.js';
143
+ export { Mention } from './Mention/Mention.js';
144
+ export { mentionTheme } from './Mention/Mention.theme.js';
145
+ export { CronInput } from './CronInput/CronInput.js';
146
+ export { cronInputTheme } from './CronInput/CronInput.theme.js';
147
+ export { CRON_PRESETS, cronToDescription, fieldsToCron, formatNextRun, getNextRuns, parseCron, validateCron } from './CronInput/CronInput.utils.js';
61
148
  export { DatePickerContent } from './DatePicker/DatePickerContent.js';
62
149
  export { DatePickerPresets } from './DatePicker/DatePickerPresets.js';
63
150
  export { DatePickerTrigger } from './DatePicker/DatePickerTrigger.js';
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import type { FormLayoutProps } from "./FormLayout.types";
3
+ export declare const FormLayout: React.ForwardRefExoticComponent<FormLayoutProps & React.RefAttributes<HTMLDivElement>> & {
4
+ Header: React.ForwardRefExoticComponent<import("./FormLayout.types").FormLayoutHeaderProps & React.RefAttributes<HTMLDivElement>>;
5
+ Body: React.ForwardRefExoticComponent<import("./FormLayout.types").FormLayoutBodyProps & React.RefAttributes<HTMLDivElement>>;
6
+ Section: React.ForwardRefExoticComponent<import("./FormLayout.types").FormLayoutSectionProps & React.RefAttributes<HTMLElement>>;
7
+ Footer: React.ForwardRefExoticComponent<import("./FormLayout.types").FormLayoutFooterProps & React.RefAttributes<HTMLDivElement>>;
8
+ };
@@ -0,0 +1,22 @@
1
+ import { 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
+ import { FormLayoutHeader } from './FormLayoutHeader.js';
6
+ import { FormLayoutBody } from './FormLayoutBody.js';
7
+ import { FormLayoutSection } from './FormLayoutSection.js';
8
+ import { FormLayoutFooter } from './FormLayoutFooter.js';
9
+
10
+ const FormLayoutRoot = React__default.forwardRef(({ className, theme: customTheme, children, ...props }, ref) => {
11
+ const theme = { ...formLayoutTheme, ...customTheme };
12
+ return (jsx("div", { ref: ref, className: cn(theme.root, className), ...props, children: children }));
13
+ });
14
+ FormLayoutRoot.displayName = "FormLayout";
15
+ const FormLayout = Object.assign(FormLayoutRoot, {
16
+ Header: FormLayoutHeader,
17
+ Body: FormLayoutBody,
18
+ Section: FormLayoutSection,
19
+ Footer: FormLayoutFooter,
20
+ });
21
+
22
+ export { FormLayout };
@@ -0,0 +1,2 @@
1
+ import type { FormLayoutTheme } from "./FormLayout.types";
2
+ export declare const formLayoutTheme: FormLayoutTheme;
@@ -0,0 +1,16 @@
1
+ const formLayoutTheme = {
2
+ root: "flex flex-col gap-6",
3
+ header: "border-b border-[var(--color-border)] pb-6",
4
+ headerTitle: "text-lg font-semibold text-[var(--color-text-primary)]",
5
+ headerSubtitle: "text-lg text-[var(--color-text-muted)]",
6
+ body: "flex flex-col gap-6",
7
+ section: "grid grid-cols-1 md:grid-cols-6 gap-6 md:gap-10",
8
+ sectionSidebar: "col-span-full md:col-span-2",
9
+ sectionTitle: "text-lg font-semibold text-[var(--color-text-primary)]",
10
+ sectionDescription: "text-base text-[var(--color-text-muted)] mt-1",
11
+ sectionAction: "mt-4",
12
+ sectionContent: "col-span-full md:col-span-4 grid grid-cols-1 sm:grid-cols-2 gap-4",
13
+ footer: "flex flex-col-reverse sm:flex-row sm:justify-between items-center gap-3 border-t border-[var(--color-border)] pt-3",
14
+ };
15
+
16
+ export { formLayoutTheme };