@julseb-lib/react 0.0.84 → 0.0.86

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 (535) hide show
  1. package/dist/index.cjs.js +1620 -1624
  2. package/dist/index.css +60 -100
  3. package/dist/index.es.js +12964 -14976
  4. package/dist/index.umd.js +1519 -1523
  5. package/dist/lib/Mixins.tsx +85 -80
  6. package/dist/lib/Variables.ts +1 -31
  7. package/dist/lib/components/Accordion/Accordion.tsx +72 -75
  8. package/dist/lib/components/Accordion/AccordionButton.tsx +3 -5
  9. package/dist/lib/components/Accordion/AccordionContent.tsx +3 -4
  10. package/dist/lib/components/Accordion/AccordionItem.tsx +60 -58
  11. package/dist/lib/components/Accordion/index.ts +0 -2
  12. package/dist/lib/components/Accordion/styles.tsx +0 -2
  13. package/dist/lib/components/Accordion/subtypes.ts +0 -2
  14. package/dist/lib/components/Accordion/types.ts +0 -2
  15. package/dist/lib/components/Alert/Alert.tsx +72 -70
  16. package/dist/lib/components/Alert/index.ts +0 -2
  17. package/dist/lib/components/Alert/styles.tsx +0 -2
  18. package/dist/lib/components/Alert/types.ts +0 -2
  19. package/dist/lib/components/Aside/Aside.tsx +36 -37
  20. package/dist/lib/components/Aside/index.ts +0 -2
  21. package/dist/lib/components/Aside/styles.tsx +8 -6
  22. package/dist/lib/components/Aside/types.ts +0 -3
  23. package/dist/lib/components/Autocomplete/Autocomplete.tsx +287 -283
  24. package/dist/lib/components/Autocomplete/index.ts +0 -2
  25. package/dist/lib/components/Autocomplete/styles.tsx +0 -2
  26. package/dist/lib/components/Autocomplete/types.ts +2 -3
  27. package/dist/lib/components/Avatar/Avatar.tsx +132 -130
  28. package/dist/lib/components/Avatar/AvatarFunction.tsx +112 -119
  29. package/dist/lib/components/Avatar/index.ts +0 -2
  30. package/dist/lib/components/Avatar/styles.tsx +0 -2
  31. package/dist/lib/components/Avatar/types.ts +0 -2
  32. package/dist/lib/components/BackToTop/BackToTop.tsx +84 -81
  33. package/dist/lib/components/BackToTop/index.ts +0 -2
  34. package/dist/lib/components/BackToTop/styles.tsx +0 -2
  35. package/dist/lib/components/BackToTop/types.ts +0 -2
  36. package/dist/lib/components/Badge/Badge.tsx +80 -77
  37. package/dist/lib/components/Badge/index.ts +0 -2
  38. package/dist/lib/components/Badge/styles.tsx +0 -2
  39. package/dist/lib/components/Badge/types.ts +0 -2
  40. package/dist/lib/components/Breadcrumbs/BreadcrumbItem.tsx +3 -4
  41. package/dist/lib/components/Breadcrumbs/Breadcrumbs.tsx +54 -44
  42. package/dist/lib/components/Breadcrumbs/BreadcrumbsFn.tsx +57 -69
  43. package/dist/lib/components/Breadcrumbs/index.ts +0 -2
  44. package/dist/lib/components/Breadcrumbs/styles.tsx +0 -2
  45. package/dist/lib/components/Breadcrumbs/subtypes.ts +0 -2
  46. package/dist/lib/components/Breadcrumbs/types.ts +0 -2
  47. package/dist/lib/components/Burger/Burger.tsx +54 -53
  48. package/dist/lib/components/Burger/index.ts +0 -2
  49. package/dist/lib/components/Burger/styles.tsx +0 -2
  50. package/dist/lib/components/Burger/types.ts +0 -2
  51. package/dist/lib/components/Button/Button.tsx +120 -120
  52. package/dist/lib/components/Button/index.ts +0 -2
  53. package/dist/lib/components/Button/styles.tsx +0 -2
  54. package/dist/lib/components/Button/subtypes.ts +0 -2
  55. package/dist/lib/components/Button/types.ts +0 -2
  56. package/dist/lib/components/ButtonGroup/ButtonGroup.tsx +120 -142
  57. package/dist/lib/components/ButtonGroup/ButtonGroupButton.tsx +61 -74
  58. package/dist/lib/components/ButtonGroup/ButtonGroupToggle.tsx +69 -80
  59. package/dist/lib/components/ButtonGroup/index.ts +0 -2
  60. package/dist/lib/components/ButtonGroup/styles.tsx +0 -2
  61. package/dist/lib/components/ButtonGroup/subtypes.ts +3 -2
  62. package/dist/lib/components/ButtonGroup/types.ts +0 -2
  63. package/dist/lib/components/ButtonIcon/ButtonFunction.tsx +74 -85
  64. package/dist/lib/components/ButtonIcon/ButtonIcon.tsx +128 -129
  65. package/dist/lib/components/ButtonIcon/index.ts +0 -2
  66. package/dist/lib/components/ButtonIcon/styles.tsx +0 -2
  67. package/dist/lib/components/ButtonIcon/subtypes.ts +0 -2
  68. package/dist/lib/components/ButtonIcon/types.ts +0 -2
  69. package/dist/lib/components/Card/Card.tsx +119 -126
  70. package/dist/lib/components/Card/index.ts +0 -2
  71. package/dist/lib/components/Card/styles.tsx +0 -2
  72. package/dist/lib/components/Card/types.ts +0 -2
  73. package/dist/lib/components/CodeContainer/CodeContainer.tsx +109 -111
  74. package/dist/lib/components/CodeContainer/index.ts +0 -2
  75. package/dist/lib/components/CodeContainer/styles.tsx +0 -2
  76. package/dist/lib/components/CodeContainer/types.ts +0 -2
  77. package/dist/lib/components/ComponentsMixins/ComponentsMixins.tsx +0 -7
  78. package/dist/lib/components/ComponentsMixins/hooks/useKeyboardNavigation.tsx +0 -2
  79. package/dist/lib/components/ComponentsMixins/index.ts +0 -2
  80. package/dist/lib/components/ComponentsMixins/types.ts +0 -2
  81. package/dist/lib/components/Cover/Cover.tsx +72 -65
  82. package/dist/lib/components/Cover/index.ts +0 -2
  83. package/dist/lib/components/Cover/styles.tsx +0 -2
  84. package/dist/lib/components/Cover/types.ts +0 -2
  85. package/dist/lib/components/Datepicker/Calendar.tsx +1 -2
  86. package/dist/lib/components/Datepicker/Datepicker.tsx +209 -208
  87. package/dist/lib/components/Datepicker/data.ts +0 -2
  88. package/dist/lib/components/Datepicker/index.ts +0 -2
  89. package/dist/lib/components/Datepicker/styles.tsx +0 -2
  90. package/dist/lib/components/Datepicker/types.ts +0 -2
  91. package/dist/lib/components/DragList/DragList.tsx +104 -110
  92. package/dist/lib/components/DragList/DragListItem.tsx +156 -163
  93. package/dist/lib/components/DragList/index.ts +0 -2
  94. package/dist/lib/components/DragList/styles.tsx +0 -2
  95. package/dist/lib/components/DragList/types.ts +0 -6
  96. package/dist/lib/components/Drawer/Drawer.tsx +98 -95
  97. package/dist/lib/components/Drawer/index.ts +0 -2
  98. package/dist/lib/components/Drawer/styles.tsx +0 -2
  99. package/dist/lib/components/Drawer/types.ts +0 -2
  100. package/dist/lib/components/Dropdown/Dropdown.tsx +87 -78
  101. package/dist/lib/components/Dropdown/DropdownContainer.tsx +35 -26
  102. package/dist/lib/components/Dropdown/DropdownItem.tsx +89 -89
  103. package/dist/lib/components/Dropdown/index.ts +0 -2
  104. package/dist/lib/components/Dropdown/styles.tsx +1 -2
  105. package/dist/lib/components/Dropdown/types.ts +0 -8
  106. package/dist/lib/components/Fade/Fade.tsx +44 -32
  107. package/dist/lib/components/Fade/index.ts +0 -2
  108. package/dist/lib/components/Fade/styles.tsx +0 -2
  109. package/dist/lib/components/Fade/types.ts +0 -2
  110. package/dist/lib/components/Fallback/Fallback.tsx +13 -10
  111. package/dist/lib/components/Fallback/index.ts +0 -2
  112. package/dist/lib/components/Fieldset/Fieldset.tsx +101 -97
  113. package/dist/lib/components/Fieldset/index.ts +0 -2
  114. package/dist/lib/components/Fieldset/styles.tsx +0 -2
  115. package/dist/lib/components/Fieldset/types.ts +0 -2
  116. package/dist/lib/components/Flexbox/Flexbox.tsx +67 -63
  117. package/dist/lib/components/Flexbox/index.ts +0 -2
  118. package/dist/lib/components/Flexbox/styles.tsx +0 -2
  119. package/dist/lib/components/Flexbox/types.ts +0 -2
  120. package/dist/lib/components/Footer/Footer.tsx +87 -90
  121. package/dist/lib/components/Footer/FooterLink.tsx +8 -8
  122. package/dist/lib/components/Footer/FooterLogo.tsx +3 -4
  123. package/dist/lib/components/Footer/index.ts +0 -2
  124. package/dist/lib/components/Footer/styles.tsx +0 -2
  125. package/dist/lib/components/Footer/subtypes.ts +2 -2
  126. package/dist/lib/components/Footer/types.ts +0 -6
  127. package/dist/lib/components/Form/Form.tsx +145 -136
  128. package/dist/lib/components/Form/index.ts +0 -2
  129. package/dist/lib/components/Form/styles.tsx +0 -2
  130. package/dist/lib/components/Form/types.ts +0 -2
  131. package/dist/lib/components/FullBleed/FullBleed.tsx +42 -39
  132. package/dist/lib/components/FullBleed/index.ts +0 -2
  133. package/dist/lib/components/FullBleed/styles.tsx +0 -2
  134. package/dist/lib/components/FullBleed/types.ts +0 -2
  135. package/dist/lib/components/Grid/Grid.tsx +65 -60
  136. package/dist/lib/components/Grid/index.ts +0 -2
  137. package/dist/lib/components/Grid/styles.tsx +0 -2
  138. package/dist/lib/components/Grid/types.ts +0 -2
  139. package/dist/lib/components/Header/Header.tsx +185 -176
  140. package/dist/lib/components/Header/HeaderBurger.tsx +42 -50
  141. package/dist/lib/components/Header/HeaderLogo.tsx +3 -4
  142. package/dist/lib/components/Header/HeaderNav.tsx +4 -6
  143. package/dist/lib/components/Header/HeaderNavLink.tsx +3 -4
  144. package/dist/lib/components/Header/HeaderSearch.tsx +3 -5
  145. package/dist/lib/components/Header/index.ts +0 -2
  146. package/dist/lib/components/Header/styles.tsx +0 -2
  147. package/dist/lib/components/Header/subtypes.ts +3 -11
  148. package/dist/lib/components/Header/types.ts +0 -2
  149. package/dist/lib/components/Highlight/Highlight.tsx +40 -38
  150. package/dist/lib/components/Highlight/index.ts +0 -2
  151. package/dist/lib/components/Highlight/types.ts +0 -2
  152. package/dist/lib/components/Hr/Hr.tsx +45 -43
  153. package/dist/lib/components/Hr/index.ts +0 -2
  154. package/dist/lib/components/Hr/styles.tsx +0 -2
  155. package/dist/lib/components/Hr/types.ts +0 -2
  156. package/dist/lib/components/Icon/Icon.tsx +36 -36
  157. package/dist/lib/components/Icon/index.ts +0 -2
  158. package/dist/lib/components/Icon/styles.tsx +0 -2
  159. package/dist/lib/components/Icon/types.ts +2 -2
  160. package/dist/lib/components/IconMenu/IconMenu.tsx +127 -136
  161. package/dist/lib/components/IconMenu/IconMenuItem.tsx +69 -68
  162. package/dist/lib/components/IconMenu/index.ts +0 -2
  163. package/dist/lib/components/IconMenu/styles.tsx +0 -2
  164. package/dist/lib/components/IconMenu/types.ts +0 -6
  165. package/dist/lib/components/Image/Image.tsx +109 -95
  166. package/dist/lib/components/Image/ImageFunction.tsx +41 -49
  167. package/dist/lib/components/Image/index.ts +0 -2
  168. package/dist/lib/components/Image/styles.tsx +0 -2
  169. package/dist/lib/components/Image/types.ts +0 -2
  170. package/dist/lib/components/Input/Input.tsx +105 -131
  171. package/dist/lib/components/Input/index.ts +0 -2
  172. package/dist/lib/components/Input/styles.tsx +0 -2
  173. package/dist/lib/components/Input/subtypes.ts +2 -22
  174. package/dist/lib/components/Input/templates/ColorInput.tsx +31 -37
  175. package/dist/lib/components/Input/templates/DateInput.tsx +92 -101
  176. package/dist/lib/components/Input/templates/FileInput.tsx +48 -54
  177. package/dist/lib/components/Input/templates/PasswordInput.tsx +166 -178
  178. package/dist/lib/components/Input/templates/SearchInput.tsx +105 -113
  179. package/dist/lib/components/Input/templates/SelectInput.tsx +87 -93
  180. package/dist/lib/components/Input/templates/TextInput.tsx +88 -94
  181. package/dist/lib/components/Input/templates/TextareaInput.tsx +34 -40
  182. package/dist/lib/components/Input/templates/TimeInput.tsx +91 -100
  183. package/dist/lib/components/Input/types.ts +0 -2
  184. package/dist/lib/components/InputCheck/InputCheck.tsx +122 -115
  185. package/dist/lib/components/InputCheck/index.ts +0 -2
  186. package/dist/lib/components/InputCheck/styles.tsx +0 -2
  187. package/dist/lib/components/InputCheck/types.ts +2 -3
  188. package/dist/lib/components/InputComponents/components/InputAndListContainer.tsx +28 -37
  189. package/dist/lib/components/InputComponents/components/InputButton.tsx +3 -4
  190. package/dist/lib/components/InputComponents/components/InputContainer.tsx +3 -4
  191. package/dist/lib/components/InputComponents/components/InputIcon.tsx +3 -4
  192. package/dist/lib/components/InputComponents/components/InputLeftContainer.tsx +8 -9
  193. package/dist/lib/components/InputComponents/components/InputPrefix.tsx +3 -4
  194. package/dist/lib/components/InputComponents/components/InputRightContainer.tsx +3 -4
  195. package/dist/lib/components/InputComponents/components/InputSuffix.tsx +3 -4
  196. package/dist/lib/components/InputComponents/components/InputValidationHelper.tsx +3 -4
  197. package/dist/lib/components/InputComponents/components/InputValidationIcon.tsx +3 -4
  198. package/dist/lib/components/InputComponents/components/InputWrapper.tsx +3 -4
  199. package/dist/lib/components/InputComponents/components/ListInput.tsx +26 -35
  200. package/dist/lib/components/InputComponents/components/ListInputItem.tsx +31 -39
  201. package/dist/lib/components/InputComponents/index.ts +0 -2
  202. package/dist/lib/components/InputComponents/styles.tsx +0 -22
  203. package/dist/lib/components/InputComponents/types.ts +4 -31
  204. package/dist/lib/components/InputContainer/HelperBottom.tsx +0 -2
  205. package/dist/lib/components/InputContainer/InputContainer.tsx +122 -111
  206. package/dist/lib/components/InputContainer/index.ts +0 -2
  207. package/dist/lib/components/InputContainer/styles.tsx +0 -2
  208. package/dist/lib/components/InputContainer/subtypes.ts +0 -2
  209. package/dist/lib/components/InputContainer/types.ts +0 -2
  210. package/dist/lib/components/InputCounter/InputCounter.tsx +255 -246
  211. package/dist/lib/components/InputCounter/index.ts +0 -2
  212. package/dist/lib/components/InputCounter/styles.tsx +0 -2
  213. package/dist/lib/components/InputCounter/subtypes.ts +0 -2
  214. package/dist/lib/components/InputCounter/types.ts +0 -2
  215. package/dist/lib/components/InputImage/EmptyContainer.tsx +3 -4
  216. package/dist/lib/components/InputImage/HoverContainer.tsx +3 -4
  217. package/dist/lib/components/InputImage/InputImage.tsx +139 -130
  218. package/dist/lib/components/InputImage/index.ts +0 -2
  219. package/dist/lib/components/InputImage/styles.tsx +0 -2
  220. package/dist/lib/components/InputImage/subtypes.ts +0 -2
  221. package/dist/lib/components/InputImage/types.ts +0 -2
  222. package/dist/lib/components/InputPhone/InputPhone.tsx +306 -300
  223. package/dist/lib/components/InputPhone/index.ts +0 -2
  224. package/dist/lib/components/InputPhone/styles.tsx +0 -2
  225. package/dist/lib/components/InputPhone/types.ts +0 -2
  226. package/dist/lib/components/InputPhone/utils/countries.ts +0 -2
  227. package/dist/lib/components/InputPin/InputPin.tsx +123 -124
  228. package/dist/lib/components/InputPin/index.ts +0 -2
  229. package/dist/lib/components/InputPin/styles.tsx +0 -2
  230. package/dist/lib/components/InputPin/subtypes.ts +0 -2
  231. package/dist/lib/components/InputPin/types.ts +0 -2
  232. package/dist/lib/components/InputSlider/InputSlider.tsx +172 -163
  233. package/dist/lib/components/InputSlider/Slider.tsx +39 -48
  234. package/dist/lib/components/InputSlider/index.ts +0 -2
  235. package/dist/lib/components/InputSlider/styles.tsx +0 -2
  236. package/dist/lib/components/InputSlider/types.ts +2 -3
  237. package/dist/lib/components/Key/Key.tsx +40 -39
  238. package/dist/lib/components/Key/index.ts +0 -2
  239. package/dist/lib/components/Key/styles.tsx +0 -2
  240. package/dist/lib/components/Key/types.ts +0 -2
  241. package/dist/lib/components/LibIcon/LibIcon.tsx +3 -4
  242. package/dist/lib/components/LibIcon/index.ts +0 -2
  243. package/dist/lib/components/LibIcon/types.ts +0 -2
  244. package/dist/lib/components/Link/Link.tsx +79 -59
  245. package/dist/lib/components/Link/index.ts +0 -2
  246. package/dist/lib/components/Link/types.ts +0 -2
  247. package/dist/lib/components/Linkify/Linkify.tsx +26 -19
  248. package/dist/lib/components/Linkify/index.ts +0 -2
  249. package/dist/lib/components/Linkify/types.ts +0 -2
  250. package/dist/lib/components/ListGroup/ListGroup.tsx +96 -99
  251. package/dist/lib/components/ListGroup/ListGroupItem.tsx +149 -142
  252. package/dist/lib/components/ListGroup/ListGroupTitle.tsx +43 -43
  253. package/dist/lib/components/ListGroup/index.ts +0 -2
  254. package/dist/lib/components/ListGroup/styles.tsx +0 -2
  255. package/dist/lib/components/ListGroup/types.ts +2 -10
  256. package/dist/lib/components/Loader/Loader.tsx +32 -22
  257. package/dist/lib/components/Loader/index.ts +0 -2
  258. package/dist/lib/components/Loader/styles.tsx +0 -2
  259. package/dist/lib/components/Loader/templates/LoaderFour.tsx +24 -21
  260. package/dist/lib/components/Loader/templates/LoaderOne.tsx +3 -6
  261. package/dist/lib/components/Loader/templates/LoaderThree.tsx +27 -26
  262. package/dist/lib/components/Loader/templates/LoaderTwo.tsx +22 -21
  263. package/dist/lib/components/Loader/types.ts +0 -2
  264. package/dist/lib/components/Main/Main.tsx +42 -39
  265. package/dist/lib/components/Main/index.ts +0 -2
  266. package/dist/lib/components/Main/styles.tsx +5 -5
  267. package/dist/lib/components/Main/types.ts +1 -5
  268. package/dist/lib/components/MarkdownContainer/MarkdownContainer.tsx +35 -28
  269. package/dist/lib/components/MarkdownContainer/index.ts +0 -2
  270. package/dist/lib/components/MarkdownContainer/styles.tsx +0 -2
  271. package/dist/lib/components/MarkdownContainer/types.ts +0 -2
  272. package/dist/lib/components/MarkdownEditor/MarkdownEditor.tsx +153 -149
  273. package/dist/lib/components/MarkdownEditor/MdEditorButtons/EditorButtonTitles.tsx +0 -2
  274. package/dist/lib/components/MarkdownEditor/MdEditorButtons/EditorButtons.tsx +0 -2
  275. package/dist/lib/components/MarkdownEditor/MdEditorButtons/MarkdownButtons.tsx +0 -2
  276. package/dist/lib/components/MarkdownEditor/MdEditorInput.tsx +68 -78
  277. package/dist/lib/components/MarkdownEditor/index.ts +0 -2
  278. package/dist/lib/components/MarkdownEditor/markdown-buttons.tsx +0 -2
  279. package/dist/lib/components/MarkdownEditor/styles.tsx +2 -2
  280. package/dist/lib/components/MarkdownEditor/subtypes.ts +3 -4
  281. package/dist/lib/components/MarkdownEditor/types.ts +0 -2
  282. package/dist/lib/components/Masonry/Masonry.tsx +59 -53
  283. package/dist/lib/components/Masonry/index.ts +0 -2
  284. package/dist/lib/components/Masonry/styles.tsx +0 -2
  285. package/dist/lib/components/Masonry/types.ts +0 -2
  286. package/dist/lib/components/Masonry/utils.ts +0 -2
  287. package/dist/lib/components/Messaging/Message.tsx +95 -89
  288. package/dist/lib/components/Messaging/MessageForm.tsx +126 -117
  289. package/dist/lib/components/Messaging/MessagesContainer.tsx +26 -13
  290. package/dist/lib/components/Messaging/MessagesList.tsx +117 -113
  291. package/dist/lib/components/Messaging/Messaging.tsx +97 -97
  292. package/dist/lib/components/Messaging/index.ts +0 -2
  293. package/dist/lib/components/Messaging/styles.tsx +1 -2
  294. package/dist/lib/components/Messaging/types.ts +0 -12
  295. package/dist/lib/components/Meta/Meta.tsx +69 -0
  296. package/dist/lib/components/Meta/index.ts +3 -0
  297. package/dist/lib/components/Meta/types.ts +14 -0
  298. package/dist/lib/components/Modal/Modal.tsx +108 -101
  299. package/dist/lib/components/Modal/index.ts +0 -2
  300. package/dist/lib/components/Modal/styles.tsx +0 -2
  301. package/dist/lib/components/Modal/types.ts +0 -2
  302. package/dist/lib/components/PageLayout/PageLayout.tsx +88 -72
  303. package/dist/lib/components/PageLayout/index.ts +0 -2
  304. package/dist/lib/components/PageLayout/types.ts +20 -22
  305. package/dist/lib/components/PageLoading/PageLoading.tsx +57 -54
  306. package/dist/lib/components/PageLoading/index.ts +0 -2
  307. package/dist/lib/components/PageLoading/styles.tsx +0 -2
  308. package/dist/lib/components/PageLoading/types.ts +0 -2
  309. package/dist/lib/components/Pagination/Pagination.tsx +218 -221
  310. package/dist/lib/components/Pagination/PaginationButton.tsx +45 -44
  311. package/dist/lib/components/Pagination/index.ts +0 -2
  312. package/dist/lib/components/Pagination/styles.tsx +0 -2
  313. package/dist/lib/components/Pagination/types.ts +0 -6
  314. package/dist/lib/components/Paginator/Paginator.tsx +150 -145
  315. package/dist/lib/components/Paginator/index.ts +0 -2
  316. package/dist/lib/components/Paginator/styles.tsx +0 -2
  317. package/dist/lib/components/Paginator/types.ts +0 -2
  318. package/dist/lib/components/ProgressBar/ProgressBar.tsx +58 -52
  319. package/dist/lib/components/ProgressBar/index.ts +0 -2
  320. package/dist/lib/components/ProgressBar/styles.tsx +0 -2
  321. package/dist/lib/components/ProgressBar/types.ts +0 -2
  322. package/dist/lib/components/ProgressCircle/Circle.tsx +3 -4
  323. package/dist/lib/components/ProgressCircle/ProgressCircle.tsx +80 -77
  324. package/dist/lib/components/ProgressCircle/ProgressCircleFn.tsx +34 -40
  325. package/dist/lib/components/ProgressCircle/Value.tsx +3 -4
  326. package/dist/lib/components/ProgressCircle/clean-percentage.ts +0 -2
  327. package/dist/lib/components/ProgressCircle/index.ts +0 -2
  328. package/dist/lib/components/ProgressCircle/styles.tsx +0 -2
  329. package/dist/lib/components/ProgressCircle/subtypes.ts +0 -2
  330. package/dist/lib/components/ProgressCircle/types.ts +0 -2
  331. package/dist/lib/components/Rating/Rating.tsx +156 -155
  332. package/dist/lib/components/Rating/index.ts +0 -2
  333. package/dist/lib/components/Rating/styles.tsx +0 -2
  334. package/dist/lib/components/Rating/types.ts +0 -2
  335. package/dist/lib/components/ResetScroll/ResetScroll.tsx +9 -4
  336. package/dist/lib/components/ResetScroll/index.ts +0 -2
  337. package/dist/lib/components/Section/Section.tsx +39 -24
  338. package/dist/lib/components/Section/index.ts +0 -2
  339. package/dist/lib/components/Section/styles.tsx +0 -2
  340. package/dist/lib/components/Section/types.ts +0 -2
  341. package/dist/lib/components/Select/Select.tsx +238 -232
  342. package/dist/lib/components/Select/SelectButton.tsx +48 -54
  343. package/dist/lib/components/Select/index.ts +0 -2
  344. package/dist/lib/components/Select/styles.tsx +0 -2
  345. package/dist/lib/components/Select/subtypes.ts +1 -2
  346. package/dist/lib/components/Select/types.ts +0 -2
  347. package/dist/lib/components/Skeleton/Skeleton.tsx +56 -54
  348. package/dist/lib/components/Skeleton/SkeletonCard.tsx +73 -70
  349. package/dist/lib/components/Skeleton/SkeletonShine.tsx +24 -20
  350. package/dist/lib/components/Skeleton/index.ts +0 -2
  351. package/dist/lib/components/Skeleton/styles.tsx +1 -9
  352. package/dist/lib/components/Skeleton/subtypes.ts +0 -2
  353. package/dist/lib/components/Skeleton/types.ts +0 -2
  354. package/dist/lib/components/Slideshow/Slideshow.tsx +163 -190
  355. package/dist/lib/components/Slideshow/SlideshowButton.tsx +3 -4
  356. package/dist/lib/components/Slideshow/SlideshowPagination.tsx +3 -4
  357. package/dist/lib/components/Slideshow/index.ts +0 -2
  358. package/dist/lib/components/Slideshow/styles.tsx +0 -2
  359. package/dist/lib/components/Slideshow/subtypes.ts +0 -2
  360. package/dist/lib/components/Slideshow/types.ts +0 -2
  361. package/dist/lib/components/SrOnly/SrOnly.tsx +28 -17
  362. package/dist/lib/components/SrOnly/index.ts +0 -2
  363. package/dist/lib/components/SrOnly/styles.tsx +0 -2
  364. package/dist/lib/components/SrOnly/types.ts +0 -2
  365. package/dist/lib/components/Stepper/Step.tsx +106 -102
  366. package/dist/lib/components/Stepper/Stepper.tsx +83 -87
  367. package/dist/lib/components/Stepper/index.ts +0 -2
  368. package/dist/lib/components/Stepper/styles.tsx +0 -2
  369. package/dist/lib/components/Stepper/types.ts +0 -6
  370. package/dist/lib/components/Sticky/Sticky.tsx +38 -24
  371. package/dist/lib/components/Sticky/index.ts +0 -2
  372. package/dist/lib/components/Sticky/styles.tsx +0 -2
  373. package/dist/lib/components/Sticky/types.ts +0 -2
  374. package/dist/lib/components/Table/TBody.tsx +22 -12
  375. package/dist/lib/components/Table/THead.tsx +22 -12
  376. package/dist/lib/components/Table/Table.tsx +114 -110
  377. package/dist/lib/components/Table/Td.tsx +29 -20
  378. package/dist/lib/components/Table/Tr.tsx +18 -12
  379. package/dist/lib/components/Table/index.ts +0 -2
  380. package/dist/lib/components/Table/styles.tsx +0 -2
  381. package/dist/lib/components/Table/types.ts +0 -12
  382. package/dist/lib/components/Tabs/TabButton.tsx +47 -43
  383. package/dist/lib/components/Tabs/TabItem.tsx +38 -27
  384. package/dist/lib/components/Tabs/Tabs.tsx +109 -106
  385. package/dist/lib/components/Tabs/TabsButtonsContainer.tsx +42 -40
  386. package/dist/lib/components/Tabs/TabsContainer.tsx +30 -17
  387. package/dist/lib/components/Tabs/index.ts +0 -2
  388. package/dist/lib/components/Tabs/styles.tsx +0 -2
  389. package/dist/lib/components/Tabs/types.ts +0 -12
  390. package/dist/lib/components/Tag/Tag.tsx +91 -87
  391. package/dist/lib/components/Tag/index.ts +0 -2
  392. package/dist/lib/components/Tag/styles.tsx +0 -2
  393. package/dist/lib/components/Tag/types.ts +0 -2
  394. package/dist/lib/components/Text/Text.tsx +52 -50
  395. package/dist/lib/components/Text/index.ts +0 -2
  396. package/dist/lib/components/Text/styles.tsx +22 -2
  397. package/dist/lib/components/Text/subtypes.ts +0 -2
  398. package/dist/lib/components/Text/templates/Blockquote.tsx +25 -31
  399. package/dist/lib/components/Text/templates/Dl.tsx +25 -31
  400. package/dist/lib/components/Text/templates/Em.tsx +25 -31
  401. package/dist/lib/components/Text/templates/H1.tsx +27 -33
  402. package/dist/lib/components/Text/templates/H2.tsx +27 -33
  403. package/dist/lib/components/Text/templates/H3.tsx +27 -33
  404. package/dist/lib/components/Text/templates/H4.tsx +27 -33
  405. package/dist/lib/components/Text/templates/H5.tsx +27 -33
  406. package/dist/lib/components/Text/templates/H6.tsx +25 -31
  407. package/dist/lib/components/Text/templates/Ol.tsx +25 -31
  408. package/dist/lib/components/Text/templates/P.tsx +25 -31
  409. package/dist/lib/components/Text/templates/Small.tsx +25 -31
  410. package/dist/lib/components/Text/templates/Strong.tsx +25 -31
  411. package/dist/lib/components/Text/templates/Ul.tsx +25 -31
  412. package/dist/lib/components/Text/types.ts +0 -2
  413. package/dist/lib/components/TextIcon/TextIcon.tsx +88 -92
  414. package/dist/lib/components/TextIcon/index.ts +0 -2
  415. package/dist/lib/components/TextIcon/styles.tsx +0 -2
  416. package/dist/lib/components/TextIcon/types.ts +0 -2
  417. package/dist/lib/components/TextIcon/utils.ts +0 -1
  418. package/dist/lib/components/Timepicker/Timepicker.tsx +249 -237
  419. package/dist/lib/components/Timepicker/index.ts +0 -2
  420. package/dist/lib/components/Timepicker/styles.tsx +0 -2
  421. package/dist/lib/components/Timepicker/types.ts +0 -2
  422. package/dist/lib/components/Toast/Toast.tsx +160 -168
  423. package/dist/lib/components/Toast/Toaster.tsx +108 -120
  424. package/dist/lib/components/Toast/index.ts +1 -3
  425. package/dist/lib/components/Toast/styles.tsx +0 -2
  426. package/dist/lib/components/Toast/types.ts +0 -2
  427. package/dist/lib/components/Tooltip/Tooltip.tsx +113 -104
  428. package/dist/lib/components/Tooltip/index.ts +0 -2
  429. package/dist/lib/components/Tooltip/styles.tsx +0 -2
  430. package/dist/lib/components/Tooltip/types.ts +0 -2
  431. package/dist/lib/components/Truncate/Truncate.tsx +105 -90
  432. package/dist/lib/components/Truncate/index.ts +0 -2
  433. package/dist/lib/components/Truncate/styles.tsx +1 -2
  434. package/dist/lib/components/Truncate/types.ts +0 -2
  435. package/dist/lib/components/Video/Video.tsx +63 -55
  436. package/dist/lib/components/Video/index.ts +0 -2
  437. package/dist/lib/components/Video/styles.tsx +0 -2
  438. package/dist/lib/components/Video/types.ts +0 -2
  439. package/dist/lib/components/Wrapper/Wrapper.tsx +44 -37
  440. package/dist/lib/components/Wrapper/index.ts +0 -2
  441. package/dist/lib/components/Wrapper/styles.tsx +6 -3
  442. package/dist/lib/components/Wrapper/types.ts +0 -2
  443. package/dist/lib/components/Youtube/Youtube.tsx +42 -37
  444. package/dist/lib/components/Youtube/index.ts +0 -2
  445. package/dist/lib/components/Youtube/styles.tsx +0 -2
  446. package/dist/lib/components/Youtube/types.ts +0 -2
  447. package/dist/lib/context/Theme.context.tsx +21 -13
  448. package/dist/lib/context/Toaster/Toaster.context.tsx +18 -18
  449. package/dist/lib/context/Toaster/index.ts +1 -3
  450. package/dist/lib/context/Toaster/toast.reducer.ts +0 -2
  451. package/dist/lib/hooks/index.ts +0 -2
  452. package/dist/lib/hooks/useClickOutside.tsx +14 -9
  453. package/dist/lib/hooks/useCopyToClipboard.tsx +9 -4
  454. package/dist/lib/hooks/useDebounce.tsx +11 -6
  455. package/dist/lib/hooks/useExportData.tsx +14 -4
  456. package/dist/lib/hooks/useFetch.tsx +11 -6
  457. package/dist/lib/hooks/useForm.tsx +16 -6
  458. package/dist/lib/hooks/useIsOverflow.ts +16 -14
  459. package/dist/lib/hooks/useKeyPress.tsx +12 -6
  460. package/dist/lib/hooks/useMaxWidth.tsx +9 -5
  461. package/dist/lib/hooks/useMergeRefs.ts +15 -12
  462. package/dist/lib/hooks/useMinWidth.tsx +9 -5
  463. package/dist/lib/hooks/usePaginatedData.tsx +11 -6
  464. package/dist/lib/hooks/usePagination.tsx +18 -8
  465. package/dist/lib/hooks/useTouchScreen.tsx +8 -4
  466. package/dist/lib/hooks/useTranslation.tsx +18 -5
  467. package/dist/lib/icons/ArrowUp.tsx +3 -4
  468. package/dist/lib/icons/Bold.tsx +3 -4
  469. package/dist/lib/icons/Calendar.tsx +3 -4
  470. package/dist/lib/icons/CaretDown.tsx +3 -4
  471. package/dist/lib/icons/Check.tsx +3 -4
  472. package/dist/lib/icons/CheckCircle.tsx +3 -4
  473. package/dist/lib/icons/ChevronDown.tsx +3 -4
  474. package/dist/lib/icons/ChevronLeft.tsx +3 -4
  475. package/dist/lib/icons/ChevronRight.tsx +3 -4
  476. package/dist/lib/icons/ChevronUp.tsx +3 -4
  477. package/dist/lib/icons/Clipboard.tsx +3 -4
  478. package/dist/lib/icons/Clock.tsx +3 -4
  479. package/dist/lib/icons/Close.tsx +3 -4
  480. package/dist/lib/icons/CloseCircle.tsx +3 -4
  481. package/dist/lib/icons/Code.tsx +3 -4
  482. package/dist/lib/icons/CodeBlock.tsx +3 -4
  483. package/dist/lib/icons/Comment.tsx +3 -4
  484. package/dist/lib/icons/Drag.tsx +3 -4
  485. package/dist/lib/icons/Edit.tsx +3 -4
  486. package/dist/lib/icons/EditorCode.tsx +3 -4
  487. package/dist/lib/icons/EditorLive.tsx +3 -4
  488. package/dist/lib/icons/EditorPreview.tsx +3 -4
  489. package/dist/lib/icons/Hide.tsx +3 -4
  490. package/dist/lib/icons/Image.tsx +3 -4
  491. package/dist/lib/icons/Italic.tsx +3 -4
  492. package/dist/lib/icons/Link.tsx +3 -4
  493. package/dist/lib/icons/Minus.tsx +3 -4
  494. package/dist/lib/icons/OrderedList.tsx +3 -4
  495. package/dist/lib/icons/Plus.tsx +3 -4
  496. package/dist/lib/icons/Quote.tsx +3 -4
  497. package/dist/lib/icons/Search.tsx +3 -4
  498. package/dist/lib/icons/Send.tsx +3 -4
  499. package/dist/lib/icons/Separator.tsx +3 -4
  500. package/dist/lib/icons/Show.tsx +3 -4
  501. package/dist/lib/icons/Star.tsx +3 -4
  502. package/dist/lib/icons/StarFull.tsx +3 -4
  503. package/dist/lib/icons/Strikethrough.tsx +3 -4
  504. package/dist/lib/icons/Underline.tsx +3 -8
  505. package/dist/lib/icons/UnorderedList.tsx +3 -4
  506. package/dist/lib/icons/index.ts +0 -2
  507. package/dist/lib/icons/styles.tsx +0 -2
  508. package/dist/lib/icons/types.ts +0 -2
  509. package/dist/lib/index.css +60 -100
  510. package/dist/lib/index.ts +2 -4
  511. package/dist/lib/lib-utils/append-styles.ts +0 -2
  512. package/dist/lib/lib-utils/colors-maps.ts +144 -146
  513. package/dist/lib/lib-utils/generate-lib-tokens.ts +0 -2
  514. package/dist/lib/lib-utils/get-highlighted-text.tsx +0 -2
  515. package/dist/lib/lib-utils/get-icon-size-from-font.ts +0 -2
  516. package/dist/lib/lib-utils/index.ts +0 -2
  517. package/dist/lib/lib-utils/round-icon-size.ts +0 -2
  518. package/dist/lib/lib-utils/transfom-search-keys.ts +1 -3
  519. package/dist/lib/modules-declare.d.ts +1 -0
  520. package/dist/lib/types/component-items.ts +2 -38
  521. package/dist/lib/types/components-props.ts +1 -2
  522. package/dist/lib/types/{type-values.ts → design-tokens.ts} +2 -3
  523. package/dist/lib/types/generate-int-range.ts +0 -2
  524. package/dist/lib/types/global.ts +74 -82
  525. package/dist/lib/types/index.ts +1 -3
  526. package/dist/lib/types/theme.ts +0 -2
  527. package/dist/lib/utils/StyleSheetManager.tsx +0 -2
  528. package/dist/lib/utils/index.ts +0 -2
  529. package/dist/lib/utils/linkify-text.tsx +0 -2
  530. package/dist/lib/utils/options-markdown.ts +0 -2
  531. package/dist/lib/utils/set-default-theme.ts +1 -3
  532. package/package.json +106 -107
  533. package/dist/lib/components/Helmet/Helmet.tsx +0 -65
  534. package/dist/lib/components/Helmet/index.ts +0 -3
  535. package/dist/lib/components/Helmet/types.ts +0 -18
@@ -1,6 +1,4 @@
1
- /*=============================================== Masonry component ===============================================*/
2
-
3
- import { forwardRef, useEffect, useRef, useState, useCallback } from "react"
1
+ import { useEffect, useRef, useState, useCallback, type FC } from "react"
4
2
  import { uuid } from "@julseb-lib/utils"
5
3
  import { useMergeRefs } from "../../"
6
4
  import { useEventListener, fillCols } from "./utils"
@@ -8,60 +6,68 @@ import { StyledMasonry, Col } from "./styles"
8
6
  import type { ILibMasonry } from "./types"
9
7
 
10
8
  /**
11
- * @description Returns a Masonry component
12
- * @link https://documentation-components-react.vercel.app/components/masonry
9
+ * Masonry component for rendering children in a responsive masonry grid layout with configurable columns and gap.
10
+ *
11
+ * @component
13
12
  * @extends HTMLDivElement
14
- * @prop data-testid?: string
15
- * @prop as?: ElementType
16
- * @prop ref?: ForwardedRef<HTMLDivElement>
17
- * @prop children?: Array<ReactNode>
18
- * @prop col?: number
19
- * @prop gap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
13
+ * @param {Object} props - Masonry props.
14
+ * @param {string} [props.data-testid] - Test id for testing purposes.
15
+ * * @param {ElementType} [props.as] - Custom element type to render as.
16
+ * * @param {Ref<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
17
+ * * @param {ReactNode[]} [props.children] - Elements to display in the masonry grid.
18
+ * @param {number} [props.col=4] - Number of columns in the masonry layout.
19
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.gap="l"] - Gap between columns and items.
20
+ * @param {any} [props.rest] - Additional props passed to the root element.
21
+ * @returns {JSX.Element} The rendered Masonry component.
22
+ *
23
+ * @see https://documentation-components-react.vercel.app/components/masonry
24
+ * @example
25
+ * <Masonry col={3} gap="m">
26
+ * <div>Item 1</div>
27
+ * <div>Item 2</div>
28
+ * <div>Item 3</div>
29
+ * </Masonry>
20
30
  */
21
- export const Masonry = forwardRef<HTMLDivElement, ILibMasonry>(
22
- (
23
- {
24
- "data-testid": testid,
25
- as,
26
- children = [],
27
- col = 4,
28
- gap = "l",
29
- ...rest
30
- },
31
- ref
32
- ) => {
33
- const el = useRef<HTMLDivElement>(null)
31
+ export const Masonry: FC<ILibMasonry> = ({
32
+ "data-testid": testid,
33
+ ref,
34
+ as,
35
+ children = [],
36
+ col = 4,
37
+ gap = "l",
38
+ ...rest
39
+ }) => {
40
+ const el = useRef<HTMLDivElement>(null as any)
34
41
 
35
- const [numCols, setNumCols] = useState(col)
36
- const cols = [...Array(col)].map(() => [])
37
- fillCols(children, cols)
42
+ const [numCols, setNumCols] = useState(col)
43
+ const cols = [...Array(col)].map(() => [])
44
+ fillCols(children, cols)
38
45
 
39
- const resizeHandler = useCallback(
40
- () =>
41
- setNumCols(
42
- Math.ceil(window.innerWidth / (window.innerWidth / numCols))
43
- ),
44
- [numCols]
45
- )
46
+ const resizeHandler = useCallback(
47
+ () =>
48
+ setNumCols(
49
+ Math.ceil(window.innerWidth / (window.innerWidth / numCols))
50
+ ),
51
+ [numCols]
52
+ )
46
53
 
47
- useEffect(resizeHandler, [numCols, resizeHandler])
54
+ useEffect(resizeHandler, [numCols, resizeHandler])
48
55
 
49
- useEventListener("resize", resizeHandler)
56
+ useEventListener("resize", resizeHandler)
50
57
 
51
- return (
52
- <StyledMasonry
53
- data-testid={testid}
54
- as={as}
55
- ref={useMergeRefs([el, ref])}
56
- $gap={gap}
57
- {...rest}
58
- >
59
- {[...Array(numCols)].map((_, i) => (
60
- <Col $gap={gap} key={uuid()}>
61
- {cols[i]}
62
- </Col>
63
- ))}
64
- </StyledMasonry>
65
- )
66
- }
67
- )
58
+ return (
59
+ <StyledMasonry
60
+ data-testid={testid}
61
+ as={as}
62
+ ref={useMergeRefs([el, ref])}
63
+ $gap={gap}
64
+ {...rest}
65
+ >
66
+ {[...Array(numCols)].map((_, i) => (
67
+ <Col $gap={gap} key={uuid()}>
68
+ {cols[i]}
69
+ </Col>
70
+ ))}
71
+ </StyledMasonry>
72
+ )
73
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Masonry exports ===============================================*/
2
-
3
1
  export * from "./Masonry"
@@ -1,5 +1,3 @@
1
- /*=============================================== Masonry styles ===============================================*/
2
-
3
1
  import styled, { css } from "styled-components"
4
2
  import { Mixins, setDefaultTheme } from "../../"
5
3
  import type { LibSpacers } from "../../types"
@@ -1,5 +1,3 @@
1
- /*=============================================== Masonry types ===============================================*/
2
-
3
1
  import type { ReactNode } from "react"
4
2
  import type { LibComponentBase, LibSpacers } from "../../types"
5
3
 
@@ -1,5 +1,3 @@
1
- /*=============================================== Masonry utils ===============================================*/
2
-
3
1
  import { useEffect, useRef, type ReactNode } from "react"
4
2
 
5
3
  export function useEventListener(
@@ -1,6 +1,4 @@
1
- /*=============================================== Message ===============================================*/
2
-
3
- import { forwardRef } from "react"
1
+ import type { FC } from "react"
4
2
  import classNames from "classnames"
5
3
  import {
6
4
  convertDateShort,
@@ -13,94 +11,102 @@ import { StyledMessage } from "./styles"
13
11
  import type { ILibMessage } from "./types"
14
12
 
15
13
  /**
16
- * @description Returns a Message component
17
- * @link https://documentation-components-react.vercel.app/components/messaging
14
+ * Message component for displaying a chat message with optional date, time, and flexible layout.
15
+ *
16
+ * @component
18
17
  * @extends HTMLDivElement & ILibFlexbox
19
- * @prop data-testid?: string
20
- * @prop as?: ElementType
21
- * @prop ref?: ForwardedRef<HTMLDivElement>
22
- * @prop type: "sent" | "received"
23
- * @prop text: string => only if children is not defined
24
- * @prop children?: ReactChildren => only if text is not defined
25
- * @prop id?: string
26
- * @prop date?: Date | string
27
- * @prop textToday?: string => only if date is defined
28
- * @prop textYesterday?: string => only if date is defined
29
- * @prop dateFormat?: "short" | "long" => only if date is defined
30
- * @prop time?: string
31
- * @prop inline?: boolean
32
- * @prop flexDirection?: CssFlexDirection
33
- * @prop flexWrap?: CssFlexWrap
34
- * @prop justifyContent?: CssJustifyContent
35
- * @prop alignItems?: CssAlignItems
36
- * @prop justifyItems?: CssJustifyItems
37
- * @prop alignContent?: CssAlignContent
38
- * @prop gap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
39
- * @prop columnGap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
40
- * @prop rowGap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
41
- * @prop padding?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px" | { left?: LibSpacers | "auto"; top?: LibSpacers | "auto"; right?: LibSpacers | "auto"; bottom?: LibSpacers | "auto"; leftRight?: LibSpacers | "auto"; topBottom?: LibSpacers | "auto" }
18
+ * @param {Object} props - Message props.
19
+ * @param {string} [props.data-testid] - Test id for testing purposes.
20
+ * * @param {ElementType} [props.as] - Custom element type to render as.
21
+ * * @param {Ref<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
22
+ * @param {"sent" | "received"} props.type - Message type (sent or received).
23
+ * @param {string} [props.text] - Message text (used if children is not defined).
24
+ * * @param {ReactNode} [props.children] - Message content (used if text is not defined).
25
+ * @param {string} [props.id] - Message id.
26
+ * @param {Date | string} [props.date] - Date of the message.
27
+ * @param {string} [props.textToday="Today"] - Text to display for today's date.
28
+ * @param {string} [props.textYesterday="Yesterday"] - Text to display for yesterday's date.
29
+ * @param {"short" | "long"} [props.dateFormat="short"] - Date format.
30
+ * @param {string} [props.textDateTime="at"] - Text between date and time.
31
+ * @param {string} [props.time] - Time of the message.
32
+ * @param {boolean} [props.inline] - Display message inline.
33
+ * @param {CssFlexDirection} [props.flexDirection] - Flex direction.
34
+ * @param {CssFlexWrap} [props.flexWrap] - Flex wrap.
35
+ * @param {CssJustifyContent} [props.justifyContent] - Justify content.
36
+ * @param {CssAlignItems} [props.alignItems] - Align items.
37
+ * @param {CssJustifyItems} [props.justifyItems] - Justify items.
38
+ * @param {CssAlignContent} [props.alignContent] - Align content.
39
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.gap] - Gap between elements.
40
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.columnGap] - Column gap.
41
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.rowGap] - Row gap.
42
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px" | { left?: LibSpacers | "auto"; top?: LibSpacers | "auto"; right?: LibSpacers | "auto"; bottom?: LibSpacers | "auto"; leftRight?: LibSpacers | "auto"; topBottom?: LibSpacers | "auto" }} [props.padding] - Padding for the message container.
43
+ * @returns {JSX.Element} The rendered Message component.
44
+ *
45
+ * @see https://documentation-components-react.vercel.app/components/messaging
46
+ * @example
47
+ * <Message
48
+ * type="sent"
49
+ * text="Hello!"
50
+ * date={new Date()}
51
+ * time="14:30"
52
+ * />
42
53
  */
43
- export const Message = forwardRef<HTMLDivElement, ILibMessage>(
44
- (
45
- {
46
- "data-testid": testid,
47
- as,
48
- className,
49
- type,
50
- text,
51
- children,
52
- date,
53
- time,
54
- textToday = "Today",
55
- textYesterday = "Yesterday",
56
- textDateTime = "at",
57
- dateFormat = "short",
58
- ...rest
59
- },
60
- ref
61
- ) => {
62
- const format = dateFormat === "short" ? convertDateShort : convertDate
54
+ export const Message: FC<ILibMessage> = ({
55
+ "data-testid": testid,
56
+ as,
57
+ ref,
58
+ className,
59
+ type,
60
+ text,
61
+ children,
62
+ date,
63
+ time,
64
+ textToday = "Today",
65
+ textYesterday = "Yesterday",
66
+ textDateTime = "at",
67
+ dateFormat = "short",
68
+ ...rest
69
+ }) => {
70
+ const format = dateFormat === "short" ? convertDateShort : convertDate
63
71
 
64
- return (
65
- <Flexbox
66
- data-testid={testid}
67
- ref={ref}
68
- as={as}
69
- className={className}
70
- alignItems={type === "sent" ? "flex-end" : "flex-start"}
71
- flexDirection="column"
72
- gap="xxs"
73
- {...rest}
72
+ return (
73
+ <Flexbox
74
+ data-testid={testid}
75
+ ref={ref}
76
+ as={as}
77
+ className={className}
78
+ alignItems={type === "sent" ? "flex-end" : "flex-start"}
79
+ flexDirection="column"
80
+ gap="xxs"
81
+ {...rest}
82
+ >
83
+ <StyledMessage
84
+ data-testid={testid && `${testid}.Message`}
85
+ className={classNames(
86
+ { MessageText: className },
87
+ capitalize(type)
88
+ )}
74
89
  >
75
- <StyledMessage
76
- data-testid={testid && `${testid}.Message`}
77
- className={classNames(
78
- { MessageText: className },
79
- capitalize(type)
80
- )}
81
- >
82
- {text ? linkifyText(text, true) : children}
83
- </StyledMessage>
90
+ {text ? linkifyText(text, true) : children}
91
+ </StyledMessage>
84
92
 
85
- {(date || time) && (
86
- <Text
87
- tag="small"
88
- data-testid={testid && `${testid}.DateAndTime`}
89
- className={className && "DateAndTime"}
90
- >
91
- {date &&
92
- (convertDateShort(date) ===
93
- convertDateShort(new Date())
94
- ? textToday
95
- : convertDateShort(date) ===
96
- convertDateShort(getYesterday())
97
- ? textYesterday
98
- : format(date))}
99
- {date && time && ` ${textDateTime} `}
100
- {time && time}
101
- </Text>
102
- )}
103
- </Flexbox>
104
- )
105
- }
106
- )
93
+ {(date || time) && (
94
+ <Text
95
+ tag="small"
96
+ data-testid={testid && `${testid}.DateAndTime`}
97
+ className={className && "DateAndTime"}
98
+ >
99
+ {date &&
100
+ (convertDateShort(date) === convertDateShort(new Date())
101
+ ? textToday
102
+ : convertDateShort(date) ===
103
+ convertDateShort(getYesterday())
104
+ ? textYesterday
105
+ : format(date))}
106
+ {date && time && ` ${textDateTime} `}
107
+ {time && time}
108
+ </Text>
109
+ )}
110
+ </Flexbox>
111
+ )
112
+ }
@@ -1,12 +1,10 @@
1
- /*=============================================== MessageForm ===============================================*/
2
-
3
1
  import {
4
- forwardRef,
5
2
  useState,
6
3
  useCallback,
7
4
  type ChangeEvent,
8
5
  type FormEvent,
9
6
  type KeyboardEvent,
7
+ type FC,
10
8
  } from "react"
11
9
  import { Button, ButtonIcon, useKeyPress } from "../../"
12
10
  import { Send } from "../../icons"
@@ -15,130 +13,141 @@ import type { ILibMessageForm } from "./types"
15
13
  import { roundIconSize } from "../../lib-utils"
16
14
 
17
15
  /**
18
- * @description Returns a MessageForm component
19
- * @link https://documentation-components-react.vercel.app/components/messaging
16
+ * MessageForm component for sending chat messages with a flexible input, submit button, and keyboard handling.
17
+ *
18
+ * @component
20
19
  * @extends HTMLFormElement
21
- * @prop data-testid?: string
22
- * @prop ref?: ForwardedRef<HTMLFormElement>
23
- * @prop inputHeight: number
24
- * @prop setInputHeight: Dispatch<SetStateAction<number>>
25
- * @prop handleSubmit: () => void
26
- * @prop input: { message: string; setMessage: Dispatch<SetStateAction<string>>; placeholder?: string; autoFocus?: boolean }
27
- * @prop button?: { icon?: string | JSX.Element => only if text is not defined; text?: string => only if icon is not defined }
28
- * @prop iconBaseUrl?: string
20
+ * @param {Object} props - MessageForm props.
21
+ * @param {string} [props.data-testid] - Test id for testing purposes.
22
+ * @param {Ref<HTMLFormElement>} [props.ref] - Ref forwarded to the form element.
23
+ * @param {string} [props.className] - Additional class names.
24
+ * @param {number} props.inputHeight - Current height of the textarea input.
25
+ * @param {Dispatch<React.SetStateAction<number>>} props.setInputHeight - Setter for the input height.
26
+ * @param {() => void} props.handleSubmit - Function to call on form submit.
27
+ * @param {{ message: string; setMessage: React.Dispatch<React.SetStateAction<string>>; placeholder?: string; autoFocus?: boolean }} props.input - Input state and handlers.
28
+ * @param {{ icon?: string | JSX.Element; text?: string }} [props.button] - Button configuration (icon or text).
29
+ * @param {string} [props.iconBaseUrl] - Base URL for icons.
30
+ * @param {any} [props.rest] - Additional props passed to the form element.
31
+ * @returns {JSX.Element} The rendered MessageForm component.
32
+ *
33
+ * @see https://documentation-components-react.vercel.app/components/messaging
34
+ * @example
35
+ * <MessageForm
36
+ * inputHeight={32}
37
+ * setInputHeight={setInputHeight}
38
+ * handleSubmit={handleSend}
39
+ * input={{ message, setMessage, placeholder: "Type a message..." }}
40
+ * button={{ icon: <Send /> }}
41
+ * />
29
42
  */
30
- export const MessageForm = forwardRef<HTMLFormElement, ILibMessageForm>(
31
- (
32
- {
33
- "data-testid": testid,
34
- className,
35
- handleSubmit: submiForm,
36
- input,
37
- button,
38
- inputHeight,
39
- setInputHeight,
40
- iconBaseUrl,
41
- ...rest
42
- },
43
- ref
44
- ) => {
45
- const [isInputSelected, setIsInputSelected] = useState(false)
43
+ export const MessageForm: FC<ILibMessageForm> = ({
44
+ "data-testid": testid,
45
+ ref,
46
+ className,
47
+ handleSubmit: submiForm,
48
+ input,
49
+ button,
50
+ inputHeight,
51
+ setInputHeight,
52
+ iconBaseUrl,
53
+ ...rest
54
+ }) => {
55
+ const [isInputSelected, setIsInputSelected] = useState(false)
46
56
 
47
- const handleInput = useCallback(
48
- (e: ChangeEvent<HTMLTextAreaElement>) => {
49
- input.setMessage(e.target.value)
50
- setInputHeight(e.target.scrollHeight)
57
+ const handleInput = useCallback(
58
+ (e: ChangeEvent<HTMLTextAreaElement>) => {
59
+ input.setMessage(e.target.value)
60
+ setInputHeight(e.target.scrollHeight)
51
61
 
52
- if (!e.target.value.length) setInputHeight(32)
53
- },
54
- [input.setMessage, setInputHeight]
55
- )
56
-
57
- useKeyPress(
58
- ["Enter"],
59
- () => {
60
- if (isInputSelected && input.message.length) {
61
- submiForm()
62
- }
63
- },
64
- ["Shift"]
65
- )
62
+ if (!e.target.value.length) setInputHeight(32)
63
+ },
64
+ [input.setMessage, setInputHeight]
65
+ )
66
66
 
67
- const handleKeyPress = (e: KeyboardEvent<HTMLTextAreaElement>) => {
68
- if (isInputSelected && e.key === "Enter") {
69
- e.preventDefault()
67
+ useKeyPress(
68
+ ["Enter"],
69
+ () => {
70
+ if (isInputSelected && input.message.length) {
71
+ submiForm()
70
72
  }
73
+ },
74
+ ["Shift"]
75
+ )
71
76
 
72
- if (e.key === "Enter" && e.shiftKey) {
73
- e.preventDefault()
74
- input.setMessage(`${input.message}\n`)
75
- setInputHeight(inputHeight + 24)
76
- }
77
+ const handleKeyPress = (e: KeyboardEvent<HTMLTextAreaElement>) => {
78
+ if (isInputSelected && e.key === "Enter") {
79
+ e.preventDefault()
77
80
  }
78
81
 
79
- const handleSubmit = (e: FormEvent<HTMLFormElement>) => {
82
+ if (e.key === "Enter" && e.shiftKey) {
80
83
  e.preventDefault()
81
- submiForm()
84
+ input.setMessage(`${input.message}\n`)
85
+ setInputHeight(inputHeight + 24)
82
86
  }
87
+ }
83
88
 
84
- return (
85
- <StyledMessageForm
86
- data-testid={testid}
87
- ref={ref}
88
- className={className}
89
- onSubmit={handleSubmit}
90
- id="messaging-form"
91
- {...rest}
92
- >
93
- <StyledMessageInput
94
- data-testid={testid && `${testid}.Input`}
95
- className={className && "MessageInput"}
96
- value={input.message}
97
- onChange={handleInput}
98
- autoFocus={input?.autoFocus}
99
- placeholder={input?.placeholder || "Type your message..."}
100
- onFocus={() => setIsInputSelected(true)}
101
- onBlur={() => setIsInputSelected(false)}
102
- onKeyDown={handleKeyPress}
103
- id="messaging-form-input"
104
- />
105
-
106
- {button?.text ? (
107
- <Button
108
- data-testid={testid && `${testid}.SubmitButton`}
109
- className={className && "SubmitButton"}
110
- type="submit"
111
- variant="transparent"
112
- disabled={!input.message.length}
113
- noPadding
114
- iconBaseUrl={iconBaseUrl}
115
- >
116
- {button.text}
117
- </Button>
118
- ) : (
119
- <ButtonIcon
120
- data-testid={testid && `${testid}.SubmitButton`}
121
- className={className && "SubmitButton"}
122
- type="submit"
123
- icon={
124
- button?.icon ?? (
125
- <Send
126
- data-testid={
127
- testid && `${testid}.SubmitButton.Icon`
128
- }
129
- className={className && "IconSubmit"}
130
- size={roundIconSize(32)}
131
- />
132
- )
133
- }
134
- disabled={!input.message.length}
135
- size={32}
136
- variant="transparent"
137
- iconBaseUrl={iconBaseUrl}
138
- showBackgroundHover
139
- />
140
- )}
141
- </StyledMessageForm>
142
- )
89
+ const handleSubmit = (e: FormEvent<HTMLFormElement>) => {
90
+ e.preventDefault()
91
+ submiForm()
143
92
  }
144
- )
93
+
94
+ return (
95
+ <StyledMessageForm
96
+ data-testid={testid}
97
+ ref={ref}
98
+ className={className}
99
+ onSubmit={handleSubmit}
100
+ id="messaging-form"
101
+ {...rest}
102
+ >
103
+ <StyledMessageInput
104
+ data-testid={testid && `${testid}.Input`}
105
+ className={className && "MessageInput"}
106
+ value={input.message}
107
+ onChange={handleInput}
108
+ autoFocus={input?.autoFocus}
109
+ placeholder={input?.placeholder || "Type your message..."}
110
+ onFocus={() => setIsInputSelected(true)}
111
+ onBlur={() => setIsInputSelected(false)}
112
+ onKeyDown={handleKeyPress}
113
+ id="messaging-form-input"
114
+ />
115
+
116
+ {button?.text ? (
117
+ <Button
118
+ data-testid={testid && `${testid}.SubmitButton`}
119
+ className={className && "SubmitButton"}
120
+ type="submit"
121
+ variant="transparent"
122
+ disabled={!input.message.length}
123
+ noPadding
124
+ iconBaseUrl={iconBaseUrl}
125
+ >
126
+ {button.text}
127
+ </Button>
128
+ ) : (
129
+ <ButtonIcon
130
+ data-testid={testid && `${testid}.SubmitButton`}
131
+ className={className && "SubmitButton"}
132
+ type="submit"
133
+ icon={
134
+ button?.icon ?? (
135
+ <Send
136
+ data-testid={
137
+ testid && `${testid}.SubmitButton.Icon`
138
+ }
139
+ className={className && "IconSubmit"}
140
+ size={roundIconSize(32)}
141
+ />
142
+ )
143
+ }
144
+ disabled={!input.message.length}
145
+ size={32}
146
+ variant="transparent"
147
+ iconBaseUrl={iconBaseUrl}
148
+ showBackgroundHover
149
+ />
150
+ )}
151
+ </StyledMessageForm>
152
+ )
153
+ }