@julseb-lib/react 0.0.85 → 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 +1614 -1626
  2. package/dist/index.css +60 -100
  3. package/dist/index.es.js +12918 -14950
  4. package/dist/index.umd.js +1513 -1525
  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 +0 -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,5 +1,3 @@
1
- /*=============================================== Header types ===============================================*/
2
-
3
1
  import type {
4
2
  LibComponentBase,
5
3
  LibHeaderPosition,
@@ -1,45 +1,47 @@
1
- /*=============================================== Highlight component ===============================================*/
2
-
3
- import { forwardRef } from "react"
1
+ import type { FC } from "react"
4
2
  import { Text } from "../../"
5
3
  import { getHighlightedText } from "../../lib-utils"
6
4
  import type { ILibHighlight } from "./types"
7
5
 
8
6
  /**
9
- * @description Highlight selected text
10
- * @link https://documentation-components-react.vercel.app/components/highlight
7
+ * Highlight component for emphasizing selected text within its children.
8
+ *
9
+ * @component
11
10
  * @extends ILibText
12
- * @prop ref?: ForwardedRef<HTMLHeadingElement & HTMLParagraphElement & HTMLQuoteElement & HTMLUListElement & HTMLOListElement & HTMLDListElement>
13
- * @prop highlightedText: string
14
- * @prop highlightStyle?: CSSProperties
15
- * @prop color?: Any color from the library
16
- * @prop linkColor?: "primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"
17
- * @prop textAlign?: CssTextAlign
18
- * @prop tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "strong" | "em" | "small" | "blockquote" | "ul" | "ol" | "dl"
19
- * @prop display?: boolean => only if tag is set to h1 to h5
11
+ * @param {Object} props - Highlight props.
12
+ * @param {ForwardedRef<HTMLHeadingElement & HTMLParagraphElement & HTMLQuoteElement & HTMLUListElement & HTMLOListElement & HTMLDListElement>} [props.ref] - Ref forwarded to the root element.
13
+ * @param {string} props.highlightedText - Text to highlight within the children.
14
+ * @param {CSSProperties} [props.highlightStyle] - Custom style for the highlighted text.
15
+ * @param {string} [props.color] - Any color from the library.
16
+ * @param {"primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"} [props.linkColor] - Link color for highlighted text.
17
+ * @param {CssTextAlign} [props.textAlign] - Text alignment.
18
+ * @param {"h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "strong" | "em" | "small" | "blockquote" | "ul" | "ol" | "dl"} [props.tag] - HTML tag to render as.
19
+ * @param {boolean} [props.display] - Display property (only if tag is set to h1 to h5).
20
+ * @param {string} [props.className] - Additional class names.
21
+ * @param {ReactNode} [props.children] - Text content to search and highlight.
22
+ * @returns {JSX.Element} The rendered Highlight component.
23
+ *
24
+ * @example
25
+ * <Highlight highlightedText="React" highlightStyle={{ background: "yellow" }}>
26
+ * React makes it painless to create interactive UIs.
27
+ * </Highlight>
20
28
  */
21
- export const Highlight = forwardRef<
22
- HTMLHeadingElement &
23
- HTMLParagraphElement &
24
- HTMLQuoteElement &
25
- HTMLUListElement &
26
- HTMLOListElement &
27
- HTMLDListElement,
28
- ILibHighlight
29
- >(
30
- (
31
- { children = "", highlightedText, className, highlightStyle, ...rest },
32
- ref
33
- ) => {
34
- return (
35
- <Text ref={ref} className={className} {...rest}>
36
- {getHighlightedText(
37
- children,
38
- highlightedText,
39
- className,
40
- highlightStyle
41
- )}
42
- </Text>
43
- )
44
- }
45
- )
29
+ export const Highlight: FC<ILibHighlight> = ({
30
+ ref,
31
+ children = "",
32
+ highlightedText,
33
+ className,
34
+ highlightStyle,
35
+ ...rest
36
+ }) => {
37
+ return (
38
+ <Text ref={ref} className={className} {...rest}>
39
+ {getHighlightedText(
40
+ children,
41
+ highlightedText,
42
+ className,
43
+ highlightStyle
44
+ )}
45
+ </Text>
46
+ )
47
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Highlight exports ===============================================*/
2
-
3
1
  export * from "./Highlight"
@@ -1,5 +1,3 @@
1
- /*=============================================== Highlight types ===============================================*/
2
-
3
1
  import type { CSSProperties } from "react"
4
2
  import type { ReactChildren } from "../../types"
5
3
  import type { ILibText } from "../Text/types"
@@ -1,50 +1,52 @@
1
- /*=============================================== Hr component ===============================================*/
2
-
3
- import { forwardRef } from "react"
1
+ import type { FC } from "react"
4
2
  import classNames from "classnames"
5
3
  import { StyledHr } from "./styles"
6
4
  import type { ILibHr } from "./types"
7
5
 
8
6
  /**
9
- * @description Returns a Hr component
10
- * @link https://documentation-components-react.vercel.app/components/hr
7
+ * Hr component for rendering a horizontal rule with customizable color, width, margin, and rounded corners.
8
+ *
9
+ * @component
11
10
  * @extends HTMLHRElement
12
- * @prop data-testid?: string
13
- * @prop as?: ElementType
14
- * @prop ref?: ForwardedRef<HTMLHRElement>
15
- * @prop height?: number
16
- * @prop maxWidth?: string | number
17
- * @prop color?: Any color from the library
18
- * @prop margin?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px" | "auto" | "0 auto" | { left?: LibSpacers | "auto"; top?: LibSpacers | "auto"; right?: LibSpacers | "auto"; bottom?: LibSpacers | "auto"; leftRight?: LibSpacers | "auto"; topBottom?: LibSpacers | "auto" }
19
- * @prop isRounded?: boolean
11
+ * @param {Object} props - Hr props.
12
+ * @param {string} [props.data-testid] - Test id for testing purposes.
13
+ * @param {ElementType} [props.as] - Custom element type to render as.
14
+ * @param {ForwardedRef<HTMLHRElement>} [props.ref] - Ref forwarded to the root element.
15
+ * @param {number} [props.height=1] - Height of the horizontal rule.
16
+ * @param {string|number} [props.maxWidth="100%"] - Maximum width of the horizontal rule.
17
+ * @param {string} [props.color="gray-200"] - Any color from the library.
18
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px" | "auto" | "0 auto" | { left?: LibSpacers | "auto"; top?: LibSpacers | "auto"; right?: LibSpacers | "auto"; bottom?: LibSpacers | "auto"; leftRight?: LibSpacers | "auto"; topBottom?: LibSpacers | "auto" }} [props.margin="0 auto"] - Margin for the horizontal rule.
19
+ * @param {boolean} [props.isRounded] - Whether the horizontal rule has rounded corners.
20
+ * @param {string} [props.className] - Additional class names.
21
+ * @returns {JSX.Element} The rendered Hr component.
22
+ *
23
+ * @see https://documentation-components-react.vercel.app/components/hr
24
+ * @example
25
+ * <Hr color="primary" height={2} maxWidth={200} margin="l" isRounded />
20
26
  */
21
- export const Hr = forwardRef<HTMLHRElement, ILibHr>(
22
- (
23
- {
24
- "data-testid": testid,
25
- as,
26
- className,
27
- height = 1,
28
- maxWidth = "100%",
29
- color = "gray-200",
30
- margin = "0 auto",
31
- isRounded,
32
- ...rest
33
- },
34
- ref
35
- ) => {
36
- return (
37
- <StyledHr
38
- data-testid={testid}
39
- ref={ref}
40
- as={as}
41
- className={classNames(className, { Rounded: isRounded })}
42
- $height={height}
43
- $maxWidth={maxWidth}
44
- $color={color}
45
- $margin={margin}
46
- {...rest}
47
- />
48
- )
49
- }
50
- )
27
+ export const Hr: FC<ILibHr> = ({
28
+ "data-testid": testid,
29
+ as,
30
+ ref,
31
+ className,
32
+ height = 1,
33
+ maxWidth = "100%",
34
+ color = "gray-200",
35
+ margin = "0 auto",
36
+ isRounded,
37
+ ...rest
38
+ }) => {
39
+ return (
40
+ <StyledHr
41
+ data-testid={testid}
42
+ ref={ref}
43
+ as={as}
44
+ className={classNames(className, { Rounded: isRounded })}
45
+ $height={height}
46
+ $maxWidth={maxWidth}
47
+ $color={color}
48
+ $margin={margin}
49
+ {...rest}
50
+ />
51
+ )
52
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Hr exports ===============================================*/
2
-
3
1
  export * from "./Hr"
@@ -1,5 +1,3 @@
1
- /*=============================================== Hr styles ===============================================*/
2
-
3
1
  import styled from "styled-components"
4
2
  import { stringifyPx } from "@julseb-lib/utils"
5
3
  import { setDefaultTheme, Mixins, RADIUSES } from "../../"
@@ -1,5 +1,3 @@
1
- /*=============================================== Hr types ===============================================*/
2
-
3
1
  import type { LibAllColors, LibComponentBase, ILibMargin } from "../../types"
4
2
 
5
3
  export interface ILibHr extends LibComponentBase<HTMLHRElement> {
@@ -1,42 +1,42 @@
1
- /*=============================================== Icon component ===============================================*/
2
-
3
- import { forwardRef } from "react"
1
+ import type { FC } from "react"
4
2
  import { StyledIcon } from "./styles"
5
3
  import type { ILibIcon } from "./types"
6
4
 
7
5
  /**
8
- * @description Returns an Icon component
9
- * @link https://documentation-components-react.vercel.app/components/icon
6
+ * Icon component for rendering SVG icons from the `/public/icons` folder.
7
+ *
8
+ * @component
10
9
  * @extends Props from react-inlinesvg
11
- * @tutorial To use this component, add the SVG file for the icon you want to render in `/public/icons` folder
12
- * @prop data-testid?: string
13
- * @prop ref?: ForwardedRef<SVGElement>
14
- * @prop src: string
15
- * @prop size?: number
16
- * @prop color?: Any color from the library
17
- * @prop baseUrl?: string
10
+ * @param {Object} props - Icon props.
11
+ * @param {string} [props.data-testid] - Test id for testing purposes.
12
+ * @param {ForwardedRef<SVGElement>} [props.ref] - Ref forwarded to the SVG element.
13
+ * @param {string} props.src - Icon name (SVG file name without extension).
14
+ * @param {number} [props.size=32] - Size of the icon.
15
+ * @param {string} [props.color="currentColor"] - Any color from the library.
16
+ * @param {string} [props.baseURL="/icons"] - Base URL for the icon files.
17
+ * @returns {JSX.Element} The rendered Icon component.
18
+ *
19
+ * @see https://documentation-components-react.vercel.app/components/icon
20
+ * @example
21
+ * <Icon src="star" size={24} color="primary" />
18
22
  */
19
- export const Icon = forwardRef<SVGElement, ILibIcon>(
20
- (
21
- {
22
- "data-testid": testid,
23
- src,
24
- size = 32,
25
- color = "currentColor",
26
- baseURL = "/icons",
27
- ...rest
28
- },
29
- ref
30
- ) => {
31
- return (
32
- <StyledIcon
33
- data-testid={testid}
34
- innerRef={ref}
35
- src={`${baseURL}/${src}.svg`}
36
- $size={size}
37
- $color={color}
38
- {...rest}
39
- />
40
- )
41
- }
42
- )
23
+ export const Icon: FC<ILibIcon> = ({
24
+ "data-testid": testid,
25
+ ref,
26
+ src,
27
+ size = 32,
28
+ color = "currentColor",
29
+ baseURL = "/icons",
30
+ ...rest
31
+ }) => {
32
+ return (
33
+ <StyledIcon
34
+ data-testid={testid}
35
+ innerRef={ref}
36
+ src={`${baseURL}/${src}.svg`}
37
+ $size={size}
38
+ $color={color}
39
+ {...rest}
40
+ />
41
+ )
42
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Icon exports ===============================================*/
2
-
3
1
  export * from "./Icon"
@@ -1,5 +1,3 @@
1
- /*=============================================== Icon styles ===============================================*/
2
-
3
1
  import styled from "styled-components"
4
2
  import SVG from "react-inlinesvg"
5
3
  import { stringifyPx } from "@julseb-lib/utils"
@@ -1,10 +1,10 @@
1
- /*=============================================== Icon types ===============================================*/
2
-
3
1
  import type { Props as SVGProps } from "react-inlinesvg"
4
2
  import type { LibAllColors } from "../../types"
3
+ import type { Ref } from "react"
5
4
 
6
5
  export interface ILibIcon extends SVGProps {
7
6
  "data-testid"?: string
7
+ ref?: Ref<SVGElement>
8
8
  src: string
9
9
  size?: number
10
10
  color?: LibAllColors
@@ -1,6 +1,4 @@
1
- /*=============================================== IconMenu component ===============================================*/
2
-
3
- import { forwardRef, useState, useRef } from "react"
1
+ import { useState, useRef, type FC } from "react"
4
2
  import classNames from "classnames"
5
3
  import { Burger, useClickOutside, useMergeRefs } from "../../"
6
4
  import { IconMenuItem } from "./IconMenuItem"
@@ -13,145 +11,138 @@ import {
13
11
  import type { ILibIconMenu } from "./types"
14
12
 
15
13
  /**
16
- * @description Returns a IconMenu component
17
- * @link https://documentation-components-react.vercel.app/components/icon-menu
14
+ * IconMenu component for displaying a menu of icon buttons with flexible direction, positioning, and tooltips.
15
+ *
16
+ * @component
18
17
  * @extends HTMLDivElement
19
- * @prop data-testid?: string
20
- * @prop as?: ElementType
21
- * @prop ref?: ForwardedRef<HTMLDivElement>
22
- * @prop items: Array<LibIconMenuItem> => only if children is not defined
23
- * @prop children?: ReactChildren => only if items is not defined
24
- * @prop direction?: "left" | "up" | "right" | "down"
25
- * @prop color?: "primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"
26
- * @prop position?: "relative" | "absolute" | "fixed"
27
- * @prop hideTooltips?: boolean
28
- * @prop buttonsVariant?: "plain" | "transparent" | "ghost"
29
- * @prop iconBaseUrl?: string
30
- * @prop icon?: "plus" | "burger" | { open: string | JSX.Element; close: string | JSX.Element; openSize?: number; closeSize?: number }
18
+ * @param {Object} props - IconMenu 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 {ForwardedRef<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
22
+ * @param {Array<LibIconMenuItem>} [props.items] - Array of menu items (used if children is not provided).
23
+ * @param {ReactNode} [props.children] - Custom menu content (used if items is not provided).
24
+ * @param {"left" | "up" | "right" | "down"} [props.direction="right"] - Direction in which the menu appears.
25
+ * @param {"primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"} [props.color="primary"] - Color for the menu and icons.
26
+ * @param {"relative" | "absolute" | "fixed" | Object} [props.position] - Positioning for the menu container.
27
+ * @param {boolean} [props.hideTooltips] - Hide tooltips for menu items.
28
+ * @param {"plain" | "transparent" | "ghost"} [props.buttonsVariant] - Button variant for menu items.
29
+ * @param {string} [props.iconBaseUrl] - Base URL for icon files.
30
+ * @param {"plus" | "burger" | { open: string | JSX.Element; close: string | JSX.Element; openSize?: number; closeSize?: number }} [props.icon="plus"] - Icon for the open/close button.
31
+ * @returns {JSX.Element} The rendered IconMenu component.
31
32
  *
32
- * @type LibIconMenuItem
33
- * @prop data-testid?: string
34
- * @prop className?: string
35
- * @prop id?: string
36
- * @prop ref?: ForwardedRef<HTMLButtonElement & HTMLAnchorElement>
37
- * @prop label: string
38
- * @prop icon: string | JSX.Element
39
- * @prop iconSize?: number
40
- * @prop onClick: void => only if to or href are not defined
41
- * @prop disabled?: boolean => only if onClick is defined
42
- * @prop to: string => only if onClick and href are not defined
43
- * @prop href: string => only if onClick and to are not defined
44
- * @prop blank?: boolean => only if to or href are defined
33
+ * @see https://documentation-components-react.vercel.app/components/icon-menu
34
+ * @example
35
+ * <IconMenu
36
+ * items={[
37
+ * { label: "Edit", icon: "edit", onClick: handleEdit },
38
+ * { label: "Delete", icon: "delete", onClick: handleDelete }
39
+ * ]}
40
+ * direction="down"
41
+ * color="secondary"
42
+ * />
45
43
  */
46
- export const IconMenu = forwardRef<HTMLDivElement, ILibIconMenu>(
47
- (
48
- {
49
- "data-testid": testid,
50
- as,
51
- children,
52
- className,
53
- icon = "plus",
54
- position,
55
- direction = "right",
56
- color = "primary",
57
- items,
58
- hideTooltips,
59
- buttonsVariant,
60
- iconBaseUrl,
61
- ...rest
62
- },
63
- ref
64
- ) => {
65
- const [isOpen, setIsOpen] = useState(false)
44
+ export const IconMenu: FC<ILibIconMenu> = ({
45
+ "data-testid": testid,
46
+ as,
47
+ ref,
48
+ children,
49
+ className,
50
+ icon = "plus",
51
+ position,
52
+ direction = "right",
53
+ color = "primary",
54
+ items,
55
+ hideTooltips,
56
+ buttonsVariant,
57
+ iconBaseUrl,
58
+ ...rest
59
+ }) => {
60
+ const [isOpen, setIsOpen] = useState(false)
66
61
 
67
- const el = useRef<HTMLDivElement>(null)
62
+ const el = useRef<HTMLDivElement>(null as any)
68
63
 
69
- useClickOutside(el, () => {
70
- if (isOpen) setIsOpen(false)
71
- })
64
+ useClickOutside(el, () => {
65
+ if (isOpen) setIsOpen(false)
66
+ })
72
67
 
73
- return (
74
- <StyledIconMenu
75
- data-testid={testid}
76
- ref={useMergeRefs([ref, el])}
77
- className={className}
78
- $position={position?.position || "relative"}
79
- $left={position?.left}
80
- $top={position?.top}
81
- $right={position?.right}
82
- $bottom={position?.bottom}
83
- $zIndex={position?.zIndex || 999}
84
- as={as}
85
- {...rest}
86
- >
87
- {/* @ts-ignore */}
88
- <OpenButton
89
- data-testid={testid && `${testid}.OpenButton`}
90
- className={className && "OpenButton"}
91
- icon={
92
- typeof icon === "object" ? (
93
- isOpen ? (
94
- icon.open
95
- ) : (
96
- icon.close
97
- )
98
- ) : icon === "burger" ? (
99
- <Burger
100
- data-testid={
101
- testid && `${testid}.OpenButton.Burger`
102
- }
103
- className={className && "OpenBurger"}
104
- isOpen={isOpen}
105
- color={color === "white" ? "primary" : "white"}
106
- as="span"
107
- width={DEFAULT_BUTTON_SIZE * 0.5}
108
- height={DEFAULT_BUTTON_SIZE * 0.4}
109
- noHover
110
- />
68
+ return (
69
+ <StyledIconMenu
70
+ data-testid={testid}
71
+ ref={useMergeRefs([ref, el])}
72
+ className={className}
73
+ $position={position?.position || "relative"}
74
+ $left={position?.left}
75
+ $top={position?.top}
76
+ $right={position?.right}
77
+ $bottom={position?.bottom}
78
+ $zIndex={position?.zIndex || 999}
79
+ as={as}
80
+ {...rest}
81
+ >
82
+ <OpenButton
83
+ data-testid={testid && `${testid}.OpenButton`}
84
+ className={className && "OpenButton"}
85
+ icon={
86
+ typeof icon === "object" ? (
87
+ isOpen ? (
88
+ icon.open
111
89
  ) : (
112
- <OpenIcon
113
- data-testid={
114
- testid && `${testid}.OpenButton.Icon`
115
- }
116
- className={classNames(
117
- { OpenIcon: className },
118
- { Open: isOpen }
119
- )}
120
- />
90
+ icon.close
121
91
  )
122
- }
123
- color={color}
124
- onClick={() => setIsOpen(!isOpen)}
125
- />
92
+ ) : icon === "burger" ? (
93
+ <Burger
94
+ data-testid={
95
+ testid && `${testid}.OpenButton.Burger`
96
+ }
97
+ className={className && "OpenBurger"}
98
+ isOpen={isOpen}
99
+ color={color === "white" ? "primary" : "white"}
100
+ as="span"
101
+ width={DEFAULT_BUTTON_SIZE * 0.5}
102
+ height={DEFAULT_BUTTON_SIZE * 0.4}
103
+ noHover
104
+ />
105
+ ) : (
106
+ <OpenIcon
107
+ data-testid={testid && `${testid}.OpenButton.Icon`}
108
+ className={classNames(
109
+ { OpenIcon: className },
110
+ { Open: isOpen }
111
+ )}
112
+ />
113
+ )
114
+ }
115
+ color={color}
116
+ onClick={() => setIsOpen(!isOpen)}
117
+ />
126
118
 
127
- {items
128
- ? items?.map((item, i) => (
129
- <IconMenuItem
130
- key={i}
131
- data-testid={
132
- item["data-testid"] ||
133
- (testid && `${testid}.Item`)
134
- }
135
- className={classNames(
136
- item.className,
137
- { IconMenuItem: className },
138
- { Open: isOpen }
139
- )}
140
- id={item.id}
141
- ref={item.ref}
142
- {...(item as any)}
143
- direction={direction}
144
- indexPosition={i + 1}
145
- isOpen={isOpen}
146
- size={DEFAULT_BUTTON_SIZE}
147
- tooltip={item?.label}
148
- showTooltip={!hideTooltips && { offset: -12 }}
149
- variant={buttonsVariant}
150
- iconBaseUrl={iconBaseUrl}
151
- />
152
- ))
153
- : children}
154
- </StyledIconMenu>
155
- )
156
- }
157
- )
119
+ {items
120
+ ? items?.map((item, i) => (
121
+ <IconMenuItem
122
+ key={i}
123
+ data-testid={
124
+ item["data-testid"] ||
125
+ (testid && `${testid}.Item`)
126
+ }
127
+ className={classNames(
128
+ item.className,
129
+ { IconMenuItem: className },
130
+ { Open: isOpen }
131
+ )}
132
+ id={item.id}
133
+ ref={item.ref}
134
+ {...(item as any)}
135
+ direction={direction}
136
+ indexPosition={i + 1}
137
+ isOpen={isOpen}
138
+ size={DEFAULT_BUTTON_SIZE}
139
+ tooltip={item?.label}
140
+ showTooltip={!hideTooltips && { offset: -12 }}
141
+ variant={buttonsVariant}
142
+ iconBaseUrl={iconBaseUrl}
143
+ />
144
+ ))
145
+ : children}
146
+ </StyledIconMenu>
147
+ )
148
+ }