@skalar-saas/design-system 0.1.67

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 (295) hide show
  1. package/README.md +68 -0
  2. package/dist/design-system.css +1 -0
  3. package/dist/hooks/index.d.ts +1 -0
  4. package/dist/hooks/useDebounce.d.ts +7 -0
  5. package/dist/index-CVAu6nrM.cjs +15 -0
  6. package/dist/index-CVAu6nrM.cjs.map +1 -0
  7. package/dist/index-D9hMGhK3.js +6790 -0
  8. package/dist/index-D9hMGhK3.js.map +1 -0
  9. package/dist/index.d.ts +130 -0
  10. package/dist/index.js +26 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/index.mjs +11508 -0
  13. package/dist/index.mjs.map +1 -0
  14. package/dist/layout/Container/Container.d.ts +62 -0
  15. package/dist/layout/Container/index.d.ts +2 -0
  16. package/dist/layout/PanelLayout/Panel.d.ts +20 -0
  17. package/dist/layout/PanelLayout/PanelContext.d.ts +10 -0
  18. package/dist/layout/PanelLayout/PanelLayout.d.ts +28 -0
  19. package/dist/layout/PanelLayout/PanelLayout.types.d.ts +146 -0
  20. package/dist/layout/PanelLayout/PanelMain.d.ts +19 -0
  21. package/dist/layout/PanelLayout/index.d.ts +6 -0
  22. package/dist/layout/PanelLayout/panelUtils.d.ts +74 -0
  23. package/dist/layout/PanelLayout/usePanelState.d.ts +25 -0
  24. package/dist/layout/Section/Section.d.ts +20 -0
  25. package/dist/layout/Section/index.d.ts +2 -0
  26. package/dist/layout/SplitPanelLayout/SplitPanelLayout.d.ts +57 -0
  27. package/dist/layout/SplitPanelLayout/index.d.ts +2 -0
  28. package/dist/layout/constants.d.ts +348 -0
  29. package/dist/layout/index.d.ts +31 -0
  30. package/dist/shared/icons/AICommentaryIcon.d.ts +11 -0
  31. package/dist/shared/icons/AIMessage.d.ts +2 -0
  32. package/dist/shared/icons/Add2Icon.d.ts +12 -0
  33. package/dist/shared/icons/AddIcon.d.ts +7 -0
  34. package/dist/shared/icons/ArrowNarrowDownIcon.d.ts +6 -0
  35. package/dist/shared/icons/BookOutlined.d.ts +10 -0
  36. package/dist/shared/icons/Box2Icon.d.ts +6 -0
  37. package/dist/shared/icons/BoxIcon.d.ts +11 -0
  38. package/dist/shared/icons/CalendarIcon.d.ts +11 -0
  39. package/dist/shared/icons/CalendarIcon2.d.ts +12 -0
  40. package/dist/shared/icons/ChatIcon.d.ts +11 -0
  41. package/dist/shared/icons/ChevronDownIcon.d.ts +6 -0
  42. package/dist/shared/icons/ChevronUpIcon.d.ts +6 -0
  43. package/dist/shared/icons/CircleIcon.d.ts +6 -0
  44. package/dist/shared/icons/CopyIcon.d.ts +12 -0
  45. package/dist/shared/icons/DataArrowsOutlined.d.ts +10 -0
  46. package/dist/shared/icons/Edit2Icon.d.ts +12 -0
  47. package/dist/shared/icons/EyeIcon.d.ts +12 -0
  48. package/dist/shared/icons/EyeOffIcon.d.ts +12 -0
  49. package/dist/shared/icons/FilterFunnel02Icon.d.ts +6 -0
  50. package/dist/shared/icons/FlashIcon.d.ts +12 -0
  51. package/dist/shared/icons/GridIcon.d.ts +12 -0
  52. package/dist/shared/icons/InfoIcon.d.ts +12 -0
  53. package/dist/shared/icons/LayerIcon.d.ts +12 -0
  54. package/dist/shared/icons/LeftArrowIcon.d.ts +5 -0
  55. package/dist/shared/icons/MaximizeIcon.d.ts +12 -0
  56. package/dist/shared/icons/MessageProgrammingOutlined.d.ts +10 -0
  57. package/dist/shared/icons/MoreIcon.d.ts +12 -0
  58. package/dist/shared/icons/PlusCircleIcon.d.ts +6 -0
  59. package/dist/shared/icons/ProgrammingArrowsOutlined.d.ts +10 -0
  60. package/dist/shared/icons/QuestionCircle.d.ts +11 -0
  61. package/dist/shared/icons/RightArrowIcon.d.ts +5 -0
  62. package/dist/shared/icons/ShareIcon.d.ts +6 -0
  63. package/dist/shared/icons/SkalarLogo.d.ts +13 -0
  64. package/dist/shared/icons/SkalarLogoNoText.d.ts +13 -0
  65. package/dist/shared/icons/SlashIcon.d.ts +5 -0
  66. package/dist/shared/icons/SliderPointerDown.d.ts +10 -0
  67. package/dist/shared/icons/SliderPointerUp.d.ts +10 -0
  68. package/dist/shared/icons/SliderThumbIcon.d.ts +10 -0
  69. package/dist/shared/icons/StraightInfoIcon.d.ts +11 -0
  70. package/dist/shared/icons/TrashIcon.d.ts +12 -0
  71. package/dist/shared/icons/UnionIcon.d.ts +12 -0
  72. package/dist/shared/icons/UploadImageIcon.d.ts +10 -0
  73. package/dist/shared/icons/VideoPlayOutlined.d.ts +10 -0
  74. package/dist/shared/icons/XMark.d.ts +11 -0
  75. package/dist/shared/icons/XMarkAlert.d.ts +11 -0
  76. package/dist/shared/icons/index.d.ts +83 -0
  77. package/dist/shared/ui/Alert/Alert.d.ts +95 -0
  78. package/dist/shared/ui/Alert/index.d.ts +1 -0
  79. package/dist/shared/ui/AttachmentMessage/AttachmentMessage.d.ts +29 -0
  80. package/dist/shared/ui/AttachmentMessage/index.d.ts +1 -0
  81. package/dist/shared/ui/AuthActionWidget/AuthActionWidget.d.ts +18 -0
  82. package/dist/shared/ui/AuthActionWidget/index.d.ts +2 -0
  83. package/dist/shared/ui/AuthFormWidget/AuthFormWidget.d.ts +27 -0
  84. package/dist/shared/ui/AuthFormWidget/index.d.ts +2 -0
  85. package/dist/shared/ui/AuthSocialOptionsWidget/AuthSocialOptionsWidget.d.ts +25 -0
  86. package/dist/shared/ui/AuthSocialOptionsWidget/index.d.ts +2 -0
  87. package/dist/shared/ui/Avatar/Avatar.d.ts +38 -0
  88. package/dist/shared/ui/Avatar/index.d.ts +1 -0
  89. package/dist/shared/ui/AvatarGroup/AvatarGroup.d.ts +39 -0
  90. package/dist/shared/ui/AvatarGroup/index.d.ts +1 -0
  91. package/dist/shared/ui/Badge/Badge.d.ts +40 -0
  92. package/dist/shared/ui/Badge/index.d.ts +1 -0
  93. package/dist/shared/ui/BreadCrumb/BreadCrumb.d.ts +12 -0
  94. package/dist/shared/ui/BreadCrumb/index.d.ts +1 -0
  95. package/dist/shared/ui/Button/Button.d.ts +47 -0
  96. package/dist/shared/ui/Button/index.d.ts +1 -0
  97. package/dist/shared/ui/ButtonDropdown/ButtonDropdown.d.ts +53 -0
  98. package/dist/shared/ui/ButtonDropdown/index.d.ts +1 -0
  99. package/dist/shared/ui/ButtonGroup/ButtonGroup.d.ts +39 -0
  100. package/dist/shared/ui/ButtonGroup/index.d.ts +1 -0
  101. package/dist/shared/ui/Card/Card.d.ts +46 -0
  102. package/dist/shared/ui/Card/index.d.ts +2 -0
  103. package/dist/shared/ui/CardAction/CardAction.d.ts +28 -0
  104. package/dist/shared/ui/CardAction/index.d.ts +2 -0
  105. package/dist/shared/ui/ChatCollapsibleCheck/ChatCollapsibleCheck.d.ts +54 -0
  106. package/dist/shared/ui/ChatCollapsibleCheck/index.d.ts +2 -0
  107. package/dist/shared/ui/ChatCollapsibleContainer/ChatCollapsibleContainer.d.ts +32 -0
  108. package/dist/shared/ui/ChatCollapsibleContainer/index.d.ts +2 -0
  109. package/dist/shared/ui/ChatCollapsibleDialog/ChatCollapsibleDialog.d.ts +43 -0
  110. package/dist/shared/ui/ChatCollapsibleDialog/index.d.ts +2 -0
  111. package/dist/shared/ui/ChatCommandList/ChatCommandList.d.ts +78 -0
  112. package/dist/shared/ui/ChatCommandList/index.d.ts +2 -0
  113. package/dist/shared/ui/ChatCommandListItem/ChatCommandListItem.d.ts +88 -0
  114. package/dist/shared/ui/ChatCommandListItem/index.d.ts +2 -0
  115. package/dist/shared/ui/ChatHeader/ChatHeader.d.ts +38 -0
  116. package/dist/shared/ui/ChatHeader/index.d.ts +1 -0
  117. package/dist/shared/ui/ChatHistorial/ChatHistorial.d.ts +49 -0
  118. package/dist/shared/ui/ChatHistorial/index.d.ts +2 -0
  119. package/dist/shared/ui/ChatHistorialItem/ChatHistorialItem.d.ts +33 -0
  120. package/dist/shared/ui/ChatHistorialItem/index.d.ts +2 -0
  121. package/dist/shared/ui/ChatInputText/ChatInputText.d.ts +36 -0
  122. package/dist/shared/ui/ChatInputText/index.d.ts +1 -0
  123. package/dist/shared/ui/ChatMessage/ChatMessage.d.ts +27 -0
  124. package/dist/shared/ui/ChatMessage/index.d.ts +2 -0
  125. package/dist/shared/ui/ChatMessageOptions/ChatMessageOptions.d.ts +30 -0
  126. package/dist/shared/ui/ChatMessageOptions/index.d.ts +2 -0
  127. package/dist/shared/ui/ChatPanel/ChatPanel.d.ts +57 -0
  128. package/dist/shared/ui/ChatPanel/ChatPanel.types.d.ts +171 -0
  129. package/dist/shared/ui/ChatPanel/index.d.ts +2 -0
  130. package/dist/shared/ui/ChatTypingIndicator/ChatTypingIndicator.d.ts +17 -0
  131. package/dist/shared/ui/ChatTypingIndicator/index.d.ts +1 -0
  132. package/dist/shared/ui/Checkbox/Checkbox.d.ts +26 -0
  133. package/dist/shared/ui/Checkbox/index.d.ts +1 -0
  134. package/dist/shared/ui/Chip/Chip.d.ts +35 -0
  135. package/dist/shared/ui/Chip/index.d.ts +1 -0
  136. package/dist/shared/ui/ColorPalette/ColorPalette.d.ts +9 -0
  137. package/dist/shared/ui/ColumnHandler/ColumnHandler.d.ts +17 -0
  138. package/dist/shared/ui/ColumnHandler/PanelHandle.d.ts +32 -0
  139. package/dist/shared/ui/ColumnHandler/index.d.ts +4 -0
  140. package/dist/shared/ui/ComboBox/ComboBox.d.ts +69 -0
  141. package/dist/shared/ui/ComboBox/index.d.ts +1 -0
  142. package/dist/shared/ui/ContextualMenu/ContextualMenu.d.ts +47 -0
  143. package/dist/shared/ui/ContextualMenu/index.d.ts +2 -0
  144. package/dist/shared/ui/DateRangePicker/DateRangePicker.d.ts +47 -0
  145. package/dist/shared/ui/DateRangePicker/index.d.ts +1 -0
  146. package/dist/shared/ui/Divider/Divider.d.ts +8 -0
  147. package/dist/shared/ui/Divider/index.d.ts +1 -0
  148. package/dist/shared/ui/DragAndDropListItem/DragAndDropListItem.d.ts +54 -0
  149. package/dist/shared/ui/DragAndDropListItem/index.d.ts +2 -0
  150. package/dist/shared/ui/DropMenu/DropMenu.d.ts +58 -0
  151. package/dist/shared/ui/DropMenu/index.d.ts +1 -0
  152. package/dist/shared/ui/DropZone/DropZone.d.ts +47 -0
  153. package/dist/shared/ui/DropZone/index.d.ts +2 -0
  154. package/dist/shared/ui/Dropdown/Dropdown.d.ts +66 -0
  155. package/dist/shared/ui/Dropdown/index.d.ts +1 -0
  156. package/dist/shared/ui/DropdownMenu/DropdownMenu.d.ts +37 -0
  157. package/dist/shared/ui/ErrorBoundary/ErrorBoundary.d.ts +46 -0
  158. package/dist/shared/ui/ErrorBoundary/index.d.ts +2 -0
  159. package/dist/shared/ui/ErrorState/ErrorState.d.ts +51 -0
  160. package/dist/shared/ui/ErrorState/index.d.ts +2 -0
  161. package/dist/shared/ui/FloatingBar/FloatingBar.d.ts +92 -0
  162. package/dist/shared/ui/FloatingBar/index.d.ts +1 -0
  163. package/dist/shared/ui/FormFieldGroup/FormFieldGroup.d.ts +9 -0
  164. package/dist/shared/ui/FormFieldGroup/index.d.ts +2 -0
  165. package/dist/shared/ui/GridDraggableItem/GridDraggableItem.d.ts +45 -0
  166. package/dist/shared/ui/GridDraggableItem/index.d.ts +2 -0
  167. package/dist/shared/ui/Header/Header.d.ts +36 -0
  168. package/dist/shared/ui/Header/index.d.ts +2 -0
  169. package/dist/shared/ui/Header/useCalculateHeaderWidths.d.ts +31 -0
  170. package/dist/shared/ui/HeaderTabs/HeaderTabs.d.ts +36 -0
  171. package/dist/shared/ui/HeaderTabs/index.d.ts +2 -0
  172. package/dist/shared/ui/Icon/Icon.d.ts +37 -0
  173. package/dist/shared/ui/Icon/index.d.ts +1 -0
  174. package/dist/shared/ui/ImageUploader/ImageUploader.d.ts +38 -0
  175. package/dist/shared/ui/ImageUploader/index.d.ts +1 -0
  176. package/dist/shared/ui/InfoLabel/InfoLabel.d.ts +28 -0
  177. package/dist/shared/ui/InfoLabel/index.d.ts +2 -0
  178. package/dist/shared/ui/InputField/InputField.d.ts +55 -0
  179. package/dist/shared/ui/InputField/index.d.ts +1 -0
  180. package/dist/shared/ui/InputSearch/InputSearch.d.ts +44 -0
  181. package/dist/shared/ui/InputSearch/index.d.ts +1 -0
  182. package/dist/shared/ui/Kbd/Kbd.d.ts +8 -0
  183. package/dist/shared/ui/Kbd/index.d.ts +2 -0
  184. package/dist/shared/ui/LabelIcon/LabelIcon.d.ts +26 -0
  185. package/dist/shared/ui/LabelIcon/index.d.ts +2 -0
  186. package/dist/shared/ui/LabelWithIcon/LabelWithIcon.d.ts +27 -0
  187. package/dist/shared/ui/LabelWithIcon/index.d.ts +1 -0
  188. package/dist/shared/ui/LabelWithTooltip/LabelWithTooltip.d.ts +41 -0
  189. package/dist/shared/ui/LabelWithTooltip/index.d.ts +1 -0
  190. package/dist/shared/ui/Link/Link.d.ts +39 -0
  191. package/dist/shared/ui/Link/index.d.ts +1 -0
  192. package/dist/shared/ui/ListItem/ListItem.d.ts +72 -0
  193. package/dist/shared/ui/ListItem/index.d.ts +2 -0
  194. package/dist/shared/ui/Modal/Modal.d.ts +203 -0
  195. package/dist/shared/ui/Modal/index.d.ts +1 -0
  196. package/dist/shared/ui/ModuleCard/ModuleCard.d.ts +51 -0
  197. package/dist/shared/ui/ModuleCard/index.d.ts +1 -0
  198. package/dist/shared/ui/ModuleFieldItem/ModuleFieldItem.d.ts +53 -0
  199. package/dist/shared/ui/ModuleFieldItem/index.d.ts +1 -0
  200. package/dist/shared/ui/PanelHeader/PanelHeader.d.ts +37 -0
  201. package/dist/shared/ui/PanelHeader/index.d.ts +1 -0
  202. package/dist/shared/ui/PasswordResetWidget/PasswordResetWidget.d.ts +19 -0
  203. package/dist/shared/ui/PasswordResetWidget/index.d.ts +2 -0
  204. package/dist/shared/ui/ProductIcon/ProductIcon.d.ts +25 -0
  205. package/dist/shared/ui/ProductIcon/index.d.ts +1 -0
  206. package/dist/shared/ui/Progress/Progress.d.ts +29 -0
  207. package/dist/shared/ui/Progress/index.d.ts +1 -0
  208. package/dist/shared/ui/ProgressBar/ProgressBar.d.ts +21 -0
  209. package/dist/shared/ui/ProgressBar/index.d.ts +1 -0
  210. package/dist/shared/ui/ProgressCircle/ProgressCircle.d.ts +44 -0
  211. package/dist/shared/ui/ProgressCircle/index.d.ts +1 -0
  212. package/dist/shared/ui/ProgressCustomTooltip/ProgressCustomTooltip.d.ts +47 -0
  213. package/dist/shared/ui/ProgressCustomTooltip/index.d.ts +1 -0
  214. package/dist/shared/ui/ProgressTracker/ProgressTracker.d.ts +36 -0
  215. package/dist/shared/ui/ProgressTracker/index.d.ts +1 -0
  216. package/dist/shared/ui/ProjectActionCard/ProjectActionCard.d.ts +23 -0
  217. package/dist/shared/ui/ProjectActionCard/index.d.ts +2 -0
  218. package/dist/shared/ui/ProjectCard/ProjectCard.d.ts +46 -0
  219. package/dist/shared/ui/ProjectCard/index.d.ts +2 -0
  220. package/dist/shared/ui/ProjectCardPlan/ProjectCardPlan.d.ts +27 -0
  221. package/dist/shared/ui/ProjectCardPlan/index.d.ts +2 -0
  222. package/dist/shared/ui/Radio/Radio.d.ts +24 -0
  223. package/dist/shared/ui/Radio/index.d.ts +1 -0
  224. package/dist/shared/ui/RecoveryWidget/RecoveryWidget.d.ts +26 -0
  225. package/dist/shared/ui/RecoveryWidget/index.d.ts +2 -0
  226. package/dist/shared/ui/RelatedDataCard/RelatedDataCard.d.ts +47 -0
  227. package/dist/shared/ui/RelatedDataCard/index.d.ts +1 -0
  228. package/dist/shared/ui/SettingsCard/SettingsCard.d.ts +24 -0
  229. package/dist/shared/ui/SettingsCard/index.d.ts +2 -0
  230. package/dist/shared/ui/SidePanel/SidePanel.d.ts +26 -0
  231. package/dist/shared/ui/SidePanel/SidePanel.types.d.ts +27 -0
  232. package/dist/shared/ui/SidePanel/index.d.ts +2 -0
  233. package/dist/shared/ui/SupportCard/SupportCard.d.ts +19 -0
  234. package/dist/shared/ui/SupportCard/index.d.ts +2 -0
  235. package/dist/shared/ui/Switcher/Switcher.d.ts +41 -0
  236. package/dist/shared/ui/Switcher/index.d.ts +1 -0
  237. package/dist/shared/ui/Table/Table.d.ts +136 -0
  238. package/dist/shared/ui/Table/TableBody.d.ts +13 -0
  239. package/dist/shared/ui/Table/TableCell.d.ts +6 -0
  240. package/dist/shared/ui/Table/TableColumnFilter.d.ts +11 -0
  241. package/dist/shared/ui/Table/TableColumnHeader.d.ts +6 -0
  242. package/dist/shared/ui/Table/TableColumnVisibility.d.ts +7 -0
  243. package/dist/shared/ui/Table/TableContext.d.ts +31 -0
  244. package/dist/shared/ui/Table/TableEmptyState.d.ts +16 -0
  245. package/dist/shared/ui/Table/TableHeader.d.ts +5 -0
  246. package/dist/shared/ui/Table/TablePagination.d.ts +9 -0
  247. package/dist/shared/ui/Table/TableRoot.d.ts +6 -0
  248. package/dist/shared/ui/Table/TableRow.d.ts +8 -0
  249. package/dist/shared/ui/Table/configParser.d.ts +18 -0
  250. package/dist/shared/ui/Table/index.d.ts +15 -0
  251. package/dist/shared/ui/Table/mockData.d.ts +33 -0
  252. package/dist/shared/ui/Table/types.d.ts +66 -0
  253. package/dist/shared/ui/Tabs/Tabs.d.ts +59 -0
  254. package/dist/shared/ui/Tabs/index.d.ts +1 -0
  255. package/dist/shared/ui/Tag/Tag.d.ts +29 -0
  256. package/dist/shared/ui/Tag/index.d.ts +1 -0
  257. package/dist/shared/ui/TextArea/TextArea.d.ts +28 -0
  258. package/dist/shared/ui/TextArea/index.d.ts +1 -0
  259. package/dist/shared/ui/ThemeToggle/ThemeToggle.d.ts +29 -0
  260. package/dist/shared/ui/ThemeToggle/index.d.ts +1 -0
  261. package/dist/shared/ui/Toast/Toast.d.ts +54 -0
  262. package/dist/shared/ui/Toast/index.d.ts +2 -0
  263. package/dist/shared/ui/Toggle/Toggle.d.ts +24 -0
  264. package/dist/shared/ui/Toggle/index.d.ts +1 -0
  265. package/dist/shared/ui/Tooltip/Tooltip.d.ts +103 -0
  266. package/dist/shared/ui/Tooltip/index.d.ts +1 -0
  267. package/dist/shared/ui/TypesPanel/TypesPanel.d.ts +28 -0
  268. package/dist/shared/ui/TypesPanel/index.d.ts +2 -0
  269. package/dist/shared/ui/TypesPanelBodyGrid/TypesPanelBodyGrid.d.ts +45 -0
  270. package/dist/shared/ui/TypesPanelBodyGrid/index.d.ts +2 -0
  271. package/dist/shared/ui/TypesPanelBodyList/TypesPanelBodyList.d.ts +45 -0
  272. package/dist/shared/ui/TypesPanelBodyList/index.d.ts +2 -0
  273. package/dist/shared/ui/TypesPanelHeader/TypesPanelHeader.d.ts +27 -0
  274. package/dist/shared/ui/TypesPanelHeader/index.d.ts +2 -0
  275. package/dist/shared/ui/TypesPanelHeaderSearch/TypesPanelHeaderSearch.d.ts +44 -0
  276. package/dist/shared/ui/TypesPanelHeaderSearch/index.d.ts +1 -0
  277. package/dist/shared/ui/UserMenu/UserMenu.d.ts +78 -0
  278. package/dist/shared/ui/UserMenu/index.d.ts +1 -0
  279. package/dist/shared/ui/VisualComposer/VisualComposer.d.ts +36 -0
  280. package/dist/shared/ui/VisualComposer/index.d.ts +2 -0
  281. package/dist/shared/ui/WidgetBuilderItemHoverAction/WidgetBuilderItemHoverAction.d.ts +15 -0
  282. package/dist/shared/ui/WidgetBuilderItemHoverAction/index.d.ts +2 -0
  283. package/dist/shared/ui/WidgetContainer/WidgetContainer.d.ts +23 -0
  284. package/dist/shared/ui/WidgetContainer/index.d.ts +2 -0
  285. package/dist/shared/ui/WidgetSidebar/WidgetSidebar.d.ts +70 -0
  286. package/dist/shared/ui/WidgetSidebar/index.d.ts +2 -0
  287. package/dist/shared/ui/WorkspaceSettings/WorkspaceSettings.d.ts +22 -0
  288. package/dist/shared/ui/WorkspaceSettings/index.d.ts +2 -0
  289. package/dist/shared/ui/index.d.ts +1 -0
  290. package/dist/shared/ui/slider/Slider.d.ts +96 -0
  291. package/dist/shared/ui/slider/index.d.ts +2 -0
  292. package/dist/shared/utils/index.d.ts +1 -0
  293. package/dist/shared/utils/tailwind.d.ts +9 -0
  294. package/package.json +112 -0
  295. package/tailwind.preset.js +278 -0
@@ -0,0 +1,49 @@
1
+ import { ChatHistorialItemProps } from '@/shared/ui/ChatHistorialItem/ChatHistorialItem';
2
+ /**
3
+ * Represents a single item in the chat history with timestamp
4
+ */
5
+ export interface ChatHistorialItem extends Omit<ChatHistorialItemProps, 'onClick'> {
6
+ /**
7
+ * Timestamp of the chat (Date object or ISO string)
8
+ */
9
+ timestamp: Date | string;
10
+ }
11
+ /**
12
+ * Defines the public API for the ChatHistorial component
13
+ */
14
+ export interface ChatHistorialProps {
15
+ /**
16
+ * Array of chat history items with timestamps
17
+ */
18
+ items: ChatHistorialItem[];
19
+ /**
20
+ * Callback when an item is clicked
21
+ */
22
+ onItemClick?: (item: ChatHistorialItem) => void;
23
+ /**
24
+ * Placeholder text for the search bar
25
+ */
26
+ searchPlaceholder?: string;
27
+ /**
28
+ * Additional CSS classes for the container
29
+ */
30
+ className?: string;
31
+ /**
32
+ * Optional callback for search value changes
33
+ */
34
+ onSearchChange?: (value: string) => void;
35
+ }
36
+ /**
37
+ * @file A chat history component with search and date-based grouping
38
+ * @description This component displays a searchable list of chat history items
39
+ * grouped by date ranges (today, last 7 days, last 30 days, last 90 days).
40
+ * Includes a search bar at the top for filtering items by title.
41
+ *
42
+ * @param {ChatHistorialItem[]} items - Array of chat history items
43
+ * @param {Function} [onItemClick] - Callback when item is clicked
44
+ * @param {string} [searchPlaceholder] - Search bar placeholder
45
+ * @param {string} [className] - Custom CSS classes
46
+ * @param {Function} [onSearchChange] - Callback for search changes
47
+ * @returns {JSX.Element} The rendered ChatHistorial component
48
+ */
49
+ export declare const ChatHistorial: ({ items, onItemClick, searchPlaceholder, className, onSearchChange, }: ChatHistorialProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { ChatHistorial } from './ChatHistorial';
2
+ export type { ChatHistorialProps, ChatHistorialItem } from './ChatHistorial';
@@ -0,0 +1,33 @@
1
+ import { DropMenuItemProps } from '@/shared/ui/DropMenu/DropMenu';
2
+ /**
3
+ * Defines the public API for the ChatHistorialItem component.
4
+ */
5
+ export interface ChatHistorialItemProps {
6
+ /** Unique identifier for the chat item */
7
+ id: string;
8
+ /** Title of the chat */
9
+ title: string;
10
+ /** Preview or summary of the chat content */
11
+ preview: string;
12
+ /** Callback fired when the item is clicked */
13
+ onClick?: () => void;
14
+ /** Menu items for the drop menu */
15
+ menuItems?: DropMenuItemProps[];
16
+ /** Optional custom CSS classes for the container */
17
+ className?: string;
18
+ }
19
+ /**
20
+ * @file A chat history item component showing a chat title and preview.
21
+ * @description This component displays a single chat from the history with its
22
+ * title and preview text. It includes a drop menu for actions like edit,
23
+ * duplicate, and delete. The component is designed to be used in a list of chats.
24
+ *
25
+ * @param {string} id - Unique identifier for the chat
26
+ * @param {string} title - Title of the chat
27
+ * @param {string} preview - Preview or summary text
28
+ * @param {() => void} [onClick] - Handler for item click
29
+ * @param {DropMenuItemProps[]} [menuItems] - Menu items for the drop menu
30
+ * @param {string} [className] - Optional CSS classes
31
+ * @returns {JSX.Element} The rendered ChatHistorialItem component
32
+ */
33
+ export declare const ChatHistorialItem: ({ id, title, preview, onClick, menuItems, className, }: ChatHistorialItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { ChatHistorialItem } from './ChatHistorialItem';
2
+ export type { ChatHistorialItemProps } from './ChatHistorialItem';
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Defines the public API for the ChatInputText component.
3
+ */
4
+ export interface ChatInputTextProps {
5
+ /** The current value of the text input, making it a controlled component. */
6
+ inputValue?: string;
7
+ /** Callback function fired when the text input's value changes. */
8
+ onInputChange?: (value: string) => void;
9
+ /** Callback function fired when the send button is clicked. */
10
+ onSendClick?: () => void;
11
+ /** The placeholder text for the input field. */
12
+ placeholder?: string;
13
+ /** Visual variant of the component. 'default' shows all controls, 'minimal' hides the Switcher. */
14
+ variant?: 'default' | 'minimal';
15
+ /** Optional custom classes for the main container. */
16
+ className?: string;
17
+ containerWidth?: number;
18
+ /** Minimum number of lines to display when no content is present. @default 2 */
19
+ minLines?: number;
20
+ /** Maximum number of lines before scrolling. @default 10 */
21
+ maxLines?: number;
22
+ }
23
+ /**
24
+ * @file A composite component for the main chat input area.
25
+ * @description This component assembles several other UI elements (`InputField`, `Button`, `Switcher`)
26
+ * to create a rich input experience. It includes a primary text field at the top and a row
27
+ * of contextual action buttons and controls below. The state for the text input is controlled
28
+ * from the parent, while the `Switcher` state is managed internally.
29
+ *
30
+ * @param {string} [inputValue] - The controlled value for the text input.
31
+ * @param {(value: string) => void} [onInputChange] - Callback for when the input value changes.
32
+ * @param {() => void} [onSendClick] - Callback for when the send button is clicked.
33
+ * @param {string} [placeholder='Input Text'] - Placeholder text for the input field.
34
+ * @returns {JSX.Element} The rendered ChatInputText element.
35
+ */
36
+ export declare const ChatInputText: ({ inputValue, onInputChange, onSendClick, placeholder, variant, className, minLines, maxLines, }: ChatInputTextProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { ChatInputText, type ChatInputTextProps } from './ChatInputText';
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import './ChatMessage.css';
3
+ type ChatMessageVariant = 'sent' | 'received';
4
+ /**
5
+ * Defines the public API for the ChatMessage component.
6
+ */
7
+ export interface ChatMessageProps {
8
+ /** The visual variant of the message bubble, determining its style and alignment. */
9
+ variant: ChatMessageVariant;
10
+ /** The content of the message. Can be a simple string or complex JSX for formatted text. */
11
+ children: React.ReactNode;
12
+ /** Optional custom CSS classes for the container. */
13
+ className?: string;
14
+ }
15
+ /**
16
+ * @file A component for displaying a single message bubble in a chat interface.
17
+ * @description This component renders a message bubble with distinct styles for 'sent' (user's message)
18
+ * and 'received' (bot or other user's message) variants. It is designed to be placed
19
+ * within a flex container (`flex-col`) to handle alignment.
20
+ *
21
+ * @param {ChatMessageVariant} variant - The variant of the message, either 'sent' or 'received'.
22
+ * @param {React.ReactNode} children - The message content, which can include formatted text like `<strong>`.
23
+ * @param {string} [className] - Optional custom CSS classes for the container.
24
+ * @returns {JSX.Element} The rendered ChatMessage element.
25
+ */
26
+ export declare const ChatMessage: ({ variant, children, className, }: ChatMessageProps) => import("react/jsx-runtime").JSX.Element;
27
+ export {};
@@ -0,0 +1,2 @@
1
+ export { ChatMessage } from './ChatMessage';
2
+ export type { ChatMessageProps } from './ChatMessage';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Defines the public API for the ChatMessageOptions component,
3
+ * including callbacks for each action button.
4
+ */
5
+ export interface ChatMessageOptionsProps {
6
+ /** Callback function fired when the copy button is clicked. */
7
+ onCopyClick?: () => void;
8
+ /** Callback function fired when the like button is clicked. */
9
+ onLikeClick?: () => void;
10
+ /** Callback function fired when the dislike button is clicked. */
11
+ onDislikeClick?: () => void;
12
+ /** Callback function fired when the refresh button is clicked. */
13
+ onRefreshClick?: () => void;
14
+ /** Optional custom CSS classes for the container. */
15
+ className?: string;
16
+ }
17
+ /**
18
+ * @file A component for displaying a set of interactive options for a chat message.
19
+ * @description This component renders a standardized row of icon buttons (copy, like, dislike, refresh)
20
+ * that are typically associated with a message from an AI or bot. It is a composition of the main `Button`
21
+ * component to ensure visual consistency. Functionality for each button is delegated to a parent
22
+ * component via `onClick` callback props.
23
+ *
24
+ * @param {function} [onCopyClick] - Callback for the copy button.
25
+ * @param {function} [onLikeClick] - Callback for the like button.
26
+ * @param {function} [onDislikeClick] - Callback for the dislike button.
27
+ * @param {function} [onRefreshClick] - Callback for the refresh button.
28
+ * @returns {JSX.Element} The rendered ChatMessageOptions element.
29
+ */
30
+ export declare const ChatMessageOptions: ({ className, onCopyClick, onLikeClick, onDislikeClick, onRefreshClick, }: ChatMessageOptionsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { ChatMessageOptions } from './ChatMessageOptions';
2
+ export type { ChatMessageOptionsProps } from './ChatMessageOptions';
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import type { ChatPanelProps } from './ChatPanel.types';
3
+ /**
4
+ * ChatPanel - A complete chat panel component with integrated header, content area, and input.
5
+ * Automatically shows ChatHistorial when activeView is 'historial' and ChatInputText in chat view.
6
+ *
7
+ * Features:
8
+ * - Data-driven approach with messages array from backend
9
+ * - Markdown rendering support with react-markdown
10
+ * - Integrated ChatHeader with tabs (Chat/Historial) and action buttons
11
+ * - Support for message attachments
12
+ * - Typing indicator
13
+ * - Responsive design with containerWidth-based layout adjustments
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * // Chat view with messages (data-driven approach)
18
+ * <ChatPanel
19
+ * showHeader
20
+ * showChatInput
21
+ * showTypingIndicator
22
+ * activeView="chat"
23
+ * containerWidth={478}
24
+ * messages={messagesArray}
25
+ * chatInputValue={message}
26
+ * onChatInputChange={setMessage}
27
+ * onChatSendClick={handleSend}
28
+ * onChatClick={() => setActiveView('chat')}
29
+ * onHistorialClick={() => setActiveView('historial')}
30
+ * />
31
+ *
32
+ * // Historial view
33
+ * <ChatPanel
34
+ * showHeader
35
+ * activeView="historial"
36
+ * containerWidth={478}
37
+ * historialItems={items}
38
+ * onHistorialItemClick={(item) => console.log(item)}
39
+ * onChatClick={() => setActiveView('chat')}
40
+ * onHistorialClick={() => setActiveView('historial')}
41
+ * />
42
+ *
43
+ * // Minimal variant (350px width with icon-only tabs and minimal input)
44
+ * <ChatPanel
45
+ * showHeader
46
+ * showChatInput
47
+ * activeView="chat"
48
+ * containerWidth={350}
49
+ * messages={messagesArray}
50
+ * chatInputValue={message}
51
+ * chatInputVariant="minimal"
52
+ * onChatInputChange={setMessage}
53
+ * />
54
+ * ```
55
+ */
56
+ export declare const ChatPanel: React.NamedExoticComponent<ChatPanelProps>;
57
+ export default ChatPanel;
@@ -0,0 +1,171 @@
1
+ import { ReactNode } from 'react';
2
+ import type { ChatView } from '@/shared/ui/ChatHeader';
3
+ import type { ChatHistorialItem } from '@/shared/ui/ChatHistorial';
4
+ /**
5
+ * Attachment data structure
6
+ */
7
+ export interface ChatAttachmentData {
8
+ /** File name */
9
+ fileName: string;
10
+ /** File size (e.g., '2.4 MB') */
11
+ fileSize: string;
12
+ /** Download URL */
13
+ href?: string;
14
+ }
15
+ /**
16
+ * Message data structure from backend
17
+ */
18
+ export interface ChatMessageData {
19
+ /** Unique identifier for the message */
20
+ id: string;
21
+ /** Message variant: 'sent' (user) or 'received' (bot/assistant) */
22
+ variant: 'sent' | 'received';
23
+ /** Message content (can include markdown/HTML) */
24
+ content: string | ReactNode;
25
+ /** Optional timestamp */
26
+ timestamp?: Date | string;
27
+ /** Optional attachment */
28
+ attachment?: ChatAttachmentData;
29
+ }
30
+ /**
31
+ * Props for the ChatPanel component
32
+ */
33
+ export interface ChatPanelProps {
34
+ /**
35
+ * Array of messages to render (alternative to children)
36
+ * When provided, messages will be rendered automatically with proper spacing
37
+ */
38
+ messages?: ChatMessageData[];
39
+ /**
40
+ * Whether to show typing indicator at the end of messages
41
+ * @default false
42
+ */
43
+ showTypingIndicator?: boolean;
44
+ /**
45
+ * Content to be rendered inside the panel (shown in chat view, between header and input)
46
+ * Use this for custom layouts. If 'messages' prop is provided, children will be ignored.
47
+ */
48
+ children?: ReactNode;
49
+ /**
50
+ * Additional CSS classes to apply to the panel container
51
+ */
52
+ className?: string;
53
+ /**
54
+ * Which side should have a border
55
+ * - 'left': Left border
56
+ * - 'right': Right border
57
+ * - 'none': No border
58
+ */
59
+ borderSide?: 'left' | 'right' | 'none';
60
+ /**
61
+ * Border color style from design system
62
+ * - 'surface-3': Lighter border (default)
63
+ * - 'surface-4': Darker border
64
+ */
65
+ borderStyle?: 'surface-3' | 'surface-4';
66
+ /**
67
+ * Whether to show the header with tabs and action buttons
68
+ * @default false
69
+ */
70
+ showHeader?: boolean;
71
+ /**
72
+ * Height of the header in pixels
73
+ * @default 56
74
+ */
75
+ headerHeight?: number;
76
+ /**
77
+ * Current active view in the header tabs
78
+ * @default 'chat'
79
+ */
80
+ activeView?: ChatView;
81
+ /**
82
+ * Callback fired when the chat tab is clicked
83
+ */
84
+ onChatClick?: () => void;
85
+ /**
86
+ * Callback fired when the historial tab is clicked
87
+ */
88
+ onHistorialClick?: () => void;
89
+ /**
90
+ * Callback fired when the settings button is clicked
91
+ */
92
+ onSettingsClick?: () => void;
93
+ /**
94
+ * Callback fired when the close button is clicked
95
+ */
96
+ onCloseClick?: () => void;
97
+ /**
98
+ * Width of the container to adjust header layout
99
+ * @default 0
100
+ */
101
+ containerWidth?: number;
102
+ /**
103
+ * Array of chat history items (shown when activeView is 'historial')
104
+ */
105
+ historialItems?: ChatHistorialItem[];
106
+ /**
107
+ * Callback when a historial item is clicked
108
+ */
109
+ onHistorialItemClick?: (item: ChatHistorialItem) => void;
110
+ /**
111
+ * Placeholder text for the historial search bar
112
+ */
113
+ historialSearchPlaceholder?: string;
114
+ /**
115
+ * Callback for historial search value changes
116
+ */
117
+ onHistorialSearchChange?: (value: string) => void;
118
+ /**
119
+ * Whether to show the chat input at the bottom (shown in chat view)
120
+ * @default true
121
+ */
122
+ showChatInput?: boolean;
123
+ /**
124
+ * Current value of the chat input field
125
+ */
126
+ chatInputValue?: string;
127
+ /**
128
+ * Callback when the chat input value changes
129
+ */
130
+ onChatInputChange?: (value: string) => void;
131
+ /**
132
+ * Callback when the send button is clicked
133
+ */
134
+ onChatSendClick?: () => void;
135
+ /**
136
+ * Placeholder text for the chat input
137
+ * @default 'Input Text'
138
+ */
139
+ chatInputPlaceholder?: string;
140
+ /**
141
+ * Variant of the chat input
142
+ * @default 'default'
143
+ */
144
+ chatInputVariant?: 'default' | 'minimal';
145
+ /**
146
+ * Callback when copy button is clicked on a received message
147
+ */
148
+ onMessageCopyClick?: (messageId: string) => void;
149
+ /**
150
+ * Callback when like button is clicked on a received message
151
+ */
152
+ onMessageLikeClick?: (messageId: string) => void;
153
+ /**
154
+ * Callback when dislike button is clicked on a received message
155
+ */
156
+ onMessageDislikeClick?: (messageId: string) => void;
157
+ /**
158
+ * Callback when refresh button is clicked on a received message
159
+ */
160
+ onMessageRefreshClick?: (messageId: string) => void;
161
+ /**
162
+ * Minimum number of lines for chat input textarea when empty
163
+ * @default 2
164
+ */
165
+ chatInputMinLines?: number;
166
+ /**
167
+ * Maximum number of lines for chat input textarea before scrolling
168
+ * @default 10
169
+ */
170
+ chatInputMaxLines?: number;
171
+ }
@@ -0,0 +1,2 @@
1
+ export { ChatPanel } from './ChatPanel';
2
+ export type { ChatPanelProps, ChatMessageData, ChatAttachmentData } from './ChatPanel.types';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Defines the public API for the ChatTypingIndicator component.
3
+ */
4
+ export interface ChatTypingIndicatorProps {
5
+ /** Optional custom CSS classes for the container. */
6
+ className?: string;
7
+ }
8
+ /**
9
+ * @file A typing indicator component for chat interfaces.
10
+ * @description This component displays an animated ellipsis (three dots) to indicate
11
+ * that the assistant is currently typing or processing a response. The dots animate
12
+ * sequentially to create a "breathing" effect.
13
+ *
14
+ * @param {string} [className] - Optional CSS classes for the container.
15
+ * @returns {JSX.Element} The rendered ChatTypingIndicator element.
16
+ */
17
+ export declare const ChatTypingIndicator: ({ className }: ChatTypingIndicatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { ChatTypingIndicator, type ChatTypingIndicatorProps } from './ChatTypingIndicator';
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ type CheckboxSize = 'small' | 'medium' | 'large';
3
+ /**
4
+ * Defines the public API for the Checkbox component, omitting the native 'size'
5
+ * attribute to avoid conflicts with the custom size prop.
6
+ */
7
+ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
8
+ /** The size of the checkbox. */
9
+ size?: CheckboxSize;
10
+ /** If true, the checkbox will be in an indeterminate state. This overrides the `checked` state visually. */
11
+ indeterminate?: boolean;
12
+ }
13
+ /**
14
+ * @file An accessible, themeable checkbox component.
15
+ * @description This component renders a custom-styled checkbox that wraps a native,
16
+ * visually hidden `<input type="checkbox">` for accessibility. It supports `checked`,
17
+ * `unchecked`, and `indeterminate` states.
18
+ *
19
+ * @param {CheckboxSize} [size='medium'] - The size of the checkbox.
20
+ * @param {boolean} [checked=false] - The controlled checked state of the component.
21
+ * @param {boolean} [indeterminate=false] - If true, displays the checkbox in an indeterminate state.
22
+ * @param {boolean} [disabled=false] - If true, the component will be non-interactive.
23
+ * @returns {JSX.Element} The rendered Checkbox element.
24
+ */
25
+ export declare const Checkbox: ({ size, checked, indeterminate, disabled, className, ...props }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
26
+ export {};
@@ -0,0 +1 @@
1
+ export { Checkbox, type CheckboxProps } from './Checkbox';
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ export type ChipSize = 'sm' | 'md';
3
+ export type ChipType = 'unselected' | 'selected';
4
+ export type ChipState = 'focus' | 'drag' | 'disabled' | 'hover' | 'default';
5
+ /**
6
+ * Defines public API for Chip component.
7
+ */
8
+ export interface ChipProps {
9
+ /** The size of chip. */
10
+ size?: ChipSize;
11
+ /** The selection state of chip. */
12
+ type?: ChipType;
13
+ /** The interactive state of chip. */
14
+ state?: ChipState;
15
+ /** The content to display inside chip (the main label). */
16
+ children?: React.ReactNode;
17
+ /** Optional content/icon/avatar to display on left side of chip. */
18
+ leftContent?: React.ReactNode;
19
+ /** Optional content/icon/action to display on right side of chip (e.g., a close button). */
20
+ rightContent?: React.ReactNode;
21
+ /** Handler for click event on chip (making it interactive). */
22
+ onClick?: () => void;
23
+ /** Optional custom CSS classes to apply to the container. */
24
+ className?: string;
25
+ /** Whether to show left content. */
26
+ showLeftContent?: boolean;
27
+ /** Whether to show right content. */
28
+ showRightContent?: boolean;
29
+ /** Whether to show text content. */
30
+ showText?: boolean;
31
+ }
32
+ /**
33
+ * @file A Chip component for interactive selection, filtering, or representing an input.
34
+ */
35
+ export declare const Chip: ({ size, type, state, children, leftContent, rightContent, onClick, className, showLeftContent, showRightContent, showText, }: ChipProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { Chip, type ChipProps, type ChipSize, type ChipType, type ChipState } from './Chip';
@@ -0,0 +1,9 @@
1
+ interface ColorItem {
2
+ name: string;
3
+ value: string;
4
+ }
5
+ interface ColorPaletteProps {
6
+ colors?: ColorItem[];
7
+ }
8
+ export declare const ColorPalette: ({ colors: colorsProp }: ColorPaletteProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export interface ColumnHandlerProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Whether the column handler is disabled
5
+ */
6
+ disabled?: boolean;
7
+ /**
8
+ * Additional CSS classes
9
+ */
10
+ className?: string;
11
+ }
12
+ /**
13
+ * ColumnHandler component for dragging and reordering columns
14
+ *
15
+ * A vertical drag handle with three dots indicating draggable functionality
16
+ */
17
+ export declare const ColumnHandler: ({ disabled, className, ...props }: ColumnHandlerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,32 @@
1
+ export interface PanelHandleProps {
2
+ /**
3
+ * Total height of the border with handle
4
+ * @default 200
5
+ */
6
+ height?: number;
7
+ /**
8
+ * Whether the handle is on the left or right side of the panel
9
+ * For left panels, handle protrudes to the right
10
+ * For right panels, handle protrudes to the left
11
+ * @default 'right'
12
+ */
13
+ side?: 'left' | 'right';
14
+ /**
15
+ * Fill color for the handle (should match panel background)
16
+ * Accepts CSS color value or CSS variable
17
+ * @default 'var(--surface-1)'
18
+ */
19
+ fillColor?: string;
20
+ /**
21
+ * Additional CSS classes
22
+ */
23
+ className?: string;
24
+ }
25
+ /**
26
+ * PanelHandle - A panel border with integrated resize handle
27
+ *
28
+ * Creates a vertical border line with a small pill-shaped protrusion
29
+ * in the center where the drag indicator (3 dots) sits.
30
+ * The border and handle are ONE seamless piece.
31
+ */
32
+ export declare const PanelHandle: ({ height, side, fillColor, className, }: PanelHandleProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export { ColumnHandler } from './ColumnHandler';
2
+ export type { ColumnHandlerProps } from './ColumnHandler';
3
+ export { PanelHandle } from './PanelHandle';
4
+ export type { PanelHandleProps } from './PanelHandle';
@@ -0,0 +1,69 @@
1
+ import React from 'react';
2
+ type ComboBoxLayout = 'text_icon' | 'text_image' | 'only_icon' | 'text_icon_text';
3
+ type ComboBoxHierarchy = 'fill' | 'outlined';
4
+ type ComboBoxVariant = 'default' | 'danger' | 'success';
5
+ /**
6
+ * Defines the shape for a single selectable option in the ComboBox.
7
+ */
8
+ export interface ComboBoxOption {
9
+ id: string | number;
10
+ label: string;
11
+ avatarUrl?: string;
12
+ [key: string]: unknown;
13
+ }
14
+ /**
15
+ * Defines the public API for the ComboBox component.
16
+ */
17
+ export interface ComboBoxProps {
18
+ layout?: ComboBoxLayout;
19
+ hierarchy?: ComboBoxHierarchy;
20
+ variant?: ComboBoxVariant;
21
+ size?: 'sm' | 'md' | 'lg';
22
+ label?: string;
23
+ hint?: string;
24
+ disabled?: boolean;
25
+ leadingIcon?: React.ReactNode;
26
+ leadingAvatar?: string;
27
+ trailingAddon?: React.ReactNode;
28
+ options: ComboBoxOption[];
29
+ value: ComboBoxOption | null;
30
+ onChange: (value: ComboBoxOption | null) => void;
31
+ placeholder?: string;
32
+ className?: string;
33
+ name?: string;
34
+ id?: string;
35
+ /** Custom color for placeholder text (e.g., 'placeholder-gray-400'). Overrides variant defaults. */
36
+ placeholderColor?: string;
37
+ /** Custom color for input text (e.g., 'text-dark-300'). Overrides variant defaults. */
38
+ inputTextColor?: string;
39
+ /** Custom background color for the input wrapper (e.g., 'bg-gray-100'). Overrides variant defaults. */
40
+ backgroundColor?: string;
41
+ /** Custom color for the chevron/dropdown icon (e.g., '#64748B' or 'currentColor'). */
42
+ chevronColor?: string;
43
+ /** Custom background color for active/hovered option (e.g., 'bg-primary-500'). Defaults to 'bg-primary-500'. */
44
+ optionActiveColor?: string;
45
+ /** Custom text color for active/hovered option (e.g., 'text-white'). Defaults to 'text-white'. */
46
+ optionActiveTextColor?: string;
47
+ /** Custom text color for inactive options (e.g., 'text-gray-900'). Defaults to 'text-gray-900'. */
48
+ optionTextColor?: string;
49
+ /** Custom border radius for the input wrapper (e.g., 'rounded-md', 'rounded-xl', 'rounded-full'). Defaults to 'rounded-lg'. */
50
+ borderRadius?: string;
51
+ }
52
+ /**
53
+ * @file An accessible and highly configurable ComboBox component.
54
+ * @description This component provides a text input with an associated dropdown menu,
55
+ * allowing users to either type a value or select one from a filtered list. It is built
56
+ * on top of Headless UI for robust accessibility and state management. The visual
57
+ * presentation is determined by a combination of `layout`, `hierarchy`, `variant`, and `size` props.
58
+ *
59
+ * @param {ComboBoxLayout} [layout='text_icon'] - Defines the visual structure (e.g., with icon, avatar, or text addon).
60
+ * @param {ComboBoxHierarchy} [hierarchy='fill'] - The main visual style (filled background or outlined).
61
+ * @param {ComboBoxVariant} [variant='default'] - The color theme for different states (default, danger, success).
62
+ * @param {ComboBoxSize} [size='md'] - The dimensions of the component.
63
+ * @param {ComboBoxOption[]} options - The array of selectable options.
64
+ * @param {ComboBoxOption | null} value - The currently selected option object.
65
+ * @param {(value: ComboBoxOption | null) => void} onChange - Callback fired when an option is selected.
66
+ * @returns {JSX.Element} The rendered ComboBox element.
67
+ */
68
+ export declare const ComboBox: ({ layout, hierarchy, variant, size, label, hint, disabled, leadingIcon, leadingAvatar, trailingAddon, options, value, onChange, placeholder, className, placeholderColor, inputTextColor, backgroundColor, chevronColor, optionActiveColor, optionActiveTextColor, optionTextColor, borderRadius, }: ComboBoxProps) => import("react/jsx-runtime").JSX.Element;
69
+ export {};
@@ -0,0 +1 @@
1
+ export { ComboBox, type ComboBoxOption, type ComboBoxProps } from './ComboBox';