@julseb-lib/react 0.0.85 → 0.0.87

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 +1613 -1626
  2. package/dist/index.css +60 -100
  3. package/dist/index.es.js +12917 -14950
  4. package/dist/index.umd.js +1512 -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 +5 -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
- /*=============================================== Tooltip component ===============================================*/
2
-
3
- import { forwardRef, useState, useRef, useCallback } from "react"
1
+ import { useState, useRef, useCallback, type FC } from "react"
4
2
  import classNames from "classnames"
5
3
  import { useTouchScreen, useClickOutside } from "../../"
6
4
  import type { LibTooltipTrigger } from "../../types"
@@ -8,113 +6,124 @@ import { TooltipWrapper, StyledTooltip } from "./styles"
8
6
  import type { ILibTooltip } from "./types"
9
7
 
10
8
  /**
11
- * @description Returns a Tooltip component
12
- * @link https://documentation-components-react.vercel.app/components/tooltip
9
+ * Tooltip component for displaying contextual information on hover or click, with customizable position, colors, arrow, and trigger.
10
+ *
11
+ * @component
13
12
  * @extends HTMLDivElement
14
- * @prop data-testid?: string
15
- * @prop as?: ElementType
16
- * @prop ref?: ForwardedRef<HTMLDivElement>
17
- * @prop tooltip: string | JSX.Element
18
- * @prop position?: "top" | "bottom" | "left" | "right"
19
- * @prop hideArrow?: boolean
20
- * @prop trigger?: "hover" | "click"
21
- * @prop backgroundColor?: Any color or overlay from the library
22
- * @prop textColor?: Any color from the library
23
- * @prop offset?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
24
- * @prop tooltipStyles?: CSSProperties
13
+ * @param {Object} props - Tooltip 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 {ForwardedRef<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
17
+ * @param {string} [props.className] - Additional class names.
18
+ * @param {ReactNode} props.tooltip - Tooltip content (string or JSX element).
19
+ * @param {"top" | "bottom" | "left" | "right"} [props.position="top"] - Tooltip position relative to the trigger.
20
+ * @param {boolean} [props.hideArrow] - If true, hides the tooltip arrow.
21
+ * @param {"hover" | "click"} [props.trigger] - Trigger event for showing the tooltip.
22
+ * @param {string} [props.backgroundColor="black-80"] - Tooltip background color.
23
+ * @param {string} [props.textColor="white"] - Tooltip text color.
24
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.offset="xs"] - Offset between the tooltip and the trigger.
25
+ * @param {CSSProperties} [props.tooltipStyles] - Custom styles for the tooltip.
26
+ * @param {MouseEventHandler} [props.onClick] - Custom click handler for the trigger.
27
+ * @param {MouseEventHandler} [props.onMouseEnter] - Custom mouse enter handler for the trigger.
28
+ * @param {MouseEventHandler} [props.onMouseLeave] - Custom mouse leave handler for the trigger.
29
+ * @param {ReactNode} [props.children] - Element that triggers the tooltip.
30
+ * @param {any} [props.rest] - Additional props passed to the root element.
31
+ * @returns {JSX.Element} The rendered Tooltip component.
32
+ *
33
+ * @see https://documentation-components-react.vercel.app/components/tooltip
34
+ * @example
35
+ * <Tooltip tooltip="More info" position="bottom">
36
+ * <button>Hover me</button>
37
+ * </Tooltip>
25
38
  */
26
- export const Tooltip = forwardRef<HTMLDivElement, ILibTooltip>(
27
- (
28
- {
29
- "data-testid": testid,
30
- as,
31
- className,
32
- children,
33
- tooltip,
34
- position = "top",
35
- hideArrow,
36
- trigger,
37
- backgroundColor = "black-80",
38
- textColor = "white",
39
- onClick,
40
- onMouseEnter,
41
- onMouseLeave,
42
- offset = "xs",
43
- tooltipStyles,
44
- ...rest
45
- },
46
- ref
47
- ) => {
48
- const isTouchScreen = useTouchScreen()
49
- const defaultTrigger: LibTooltipTrigger =
50
- trigger === "click" || isTouchScreen ? "click" : "hover"
39
+ export const Tooltip: FC<ILibTooltip> = ({
40
+ "data-testid": testid,
41
+ as,
42
+ ref,
43
+ className,
44
+ children,
45
+ tooltip,
46
+ position = "top",
47
+ hideArrow,
48
+ trigger,
49
+ backgroundColor = "black-80",
50
+ textColor = "white",
51
+ onClick,
52
+ onMouseEnter,
53
+ onMouseLeave,
54
+ offset = "xs",
55
+ tooltipStyles,
56
+ ...rest
57
+ }) => {
58
+ const isTouchScreen = useTouchScreen()
59
+ const defaultTrigger: LibTooltipTrigger =
60
+ trigger === "click" || isTouchScreen ? "click" : "hover"
51
61
 
52
- const [isVisible, setIsVisible] = useState(false)
62
+ const [isVisible, setIsVisible] = useState(false)
53
63
 
54
- const el = useRef<HTMLDivElement>(null)
55
- useClickOutside(el, () => {
56
- if (isVisible && defaultTrigger === "click") setIsVisible(false)
57
- })
64
+ const el = useRef<HTMLDivElement>(null)
65
+ useClickOutside(el, () => {
66
+ if (isVisible && defaultTrigger === "click") setIsVisible(false)
67
+ })
58
68
 
59
- const handleClick = useCallback(() => {
60
- setIsVisible(!isVisible)
61
- }, [isVisible])
69
+ const handleClick = useCallback(() => {
70
+ setIsVisible(!isVisible)
71
+ }, [isVisible])
62
72
 
63
- const handleHover = useCallback(() => {
64
- setIsVisible(true)
65
- }, [])
66
- const handleLeave = useCallback(() => {
67
- setIsVisible(false)
68
- }, [])
73
+ const handleHover = useCallback(() => {
74
+ setIsVisible(true)
75
+ }, [])
76
+ const handleLeave = useCallback(() => {
77
+ setIsVisible(false)
78
+ }, [])
69
79
 
70
- return (
71
- <TooltipWrapper
72
- data-testid={testid}
73
- ref={ref}
74
- as={as}
75
- className={classNames(className, { Visible: isVisible })}
76
- onClick={
77
- onClick
78
- ? onClick
79
- : defaultTrigger === "click"
80
- ? handleClick
81
- : undefined
82
- }
83
- onMouseEnter={
84
- onMouseEnter
85
- ? onMouseEnter
86
- : defaultTrigger === "hover"
87
- ? handleHover
88
- : undefined
89
- }
90
- onMouseLeave={
91
- onMouseLeave
92
- ? onMouseLeave
93
- : defaultTrigger === "hover"
94
- ? handleLeave
95
- : undefined
96
- }
97
- {...rest}
80
+ return (
81
+ <TooltipWrapper
82
+ data-testid={testid}
83
+ ref={ref}
84
+ as={as}
85
+ className={classNames(className, { Visible: isVisible })}
86
+ onClick={
87
+ onClick
88
+ ? onClick
89
+ : defaultTrigger === "click"
90
+ ? handleClick
91
+ : undefined
92
+ }
93
+ onMouseEnter={
94
+ onMouseEnter
95
+ ? onMouseEnter
96
+ : defaultTrigger === "hover"
97
+ ? handleHover
98
+ : undefined
99
+ }
100
+ onMouseLeave={
101
+ onMouseLeave
102
+ ? onMouseLeave
103
+ : defaultTrigger === "hover"
104
+ ? handleLeave
105
+ : undefined
106
+ }
107
+ {...rest}
108
+ >
109
+ <StyledTooltip
110
+ data-testid={testid && `${testid}.Tooltip`}
111
+ className={classNames(
112
+ { Tooltip: className },
113
+ { Visible: isVisible }
114
+ )}
115
+ ref={el}
116
+ style={tooltipStyles}
117
+ $position={position}
118
+ $withArrow={!hideArrow}
119
+ $backgroundColor={backgroundColor}
120
+ $textColor={textColor}
121
+ $offset={offset}
98
122
  >
99
- <StyledTooltip
100
- data-testid={testid && `${testid}.Tooltip`}
101
- className={classNames(
102
- { Tooltip: className },
103
- { Visible: isVisible }
104
- )}
105
- ref={el}
106
- style={tooltipStyles}
107
- $position={position}
108
- $withArrow={!hideArrow}
109
- $backgroundColor={backgroundColor}
110
- $textColor={textColor}
111
- $offset={offset}
112
- >
113
- {tooltip}
114
- </StyledTooltip>
123
+ {tooltip}
124
+ </StyledTooltip>
115
125
 
116
- {children}
117
- </TooltipWrapper>
118
- )
119
- }
120
- )
126
+ {children}
127
+ </TooltipWrapper>
128
+ )
129
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Tooltip exports ===============================================*/
2
-
3
1
  export * from "./Tooltip"
@@ -1,5 +1,3 @@
1
- /*=============================================== Tooltip styles ===============================================*/
2
-
3
1
  import styled, { css } from "styled-components"
4
2
  import {
5
3
  FONT_SIZES,
@@ -1,5 +1,3 @@
1
- /*=============================================== Tooltip types ===============================================*/
2
-
3
1
  import type { CSSProperties } from "react"
4
2
  import type {
5
3
  LibComponentBase,
@@ -1,113 +1,128 @@
1
- /*=============================================== Truncate component ===============================================*/
2
-
3
- import { forwardRef, useLayoutEffect, useState, useRef } from "react"
1
+ import { useLayoutEffect, useState, useRef, type FC } from "react"
4
2
  import { useMergeRefs } from "../../"
5
3
  import { StyledTruncate, StyledTag } from "./styles"
6
4
  import type { ILibTruncate } from "./types"
7
5
 
8
6
  /**
9
- * @description Returns a Truncate component
10
- * @link https://documentation-components-react.vercel.app/components/truncate
7
+ * Truncate component for displaying a list of items in a single line, truncating overflow items and showing a "+ N" tag for hidden items.
8
+ *
9
+ * @component
11
10
  * @extends HTMLDivElement
12
- * @prop data-testid?: string
13
- * @prop as?: ElementType
14
- * @prop ref?: ForwardedRef<HTMLDivElement>
15
- * @prop gap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
11
+ * @param {Object} props - Truncate 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<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
15
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.gap="xs"] - Gap between items.
16
+ * @param {ReactNode} [props.children] - Items to display in the truncate container.
17
+ * @param {any} [props.rest] - Additional props passed to the root element.
18
+ * @returns {JSX.Element} The rendered Truncate component.
19
+ *
20
+ * @see https://documentation-components-react.vercel.app/components/truncate
21
+ * @example
22
+ * <Truncate>
23
+ * <Tag>Item 1</Tag>
24
+ * <Tag>Item 2</Tag>
25
+ * <Tag>Item 3</Tag>
26
+ * <Tag>Item 4</Tag>
27
+ * </Truncate>
16
28
  */
17
- export const Truncate = forwardRef<HTMLDivElement, ILibTruncate>(
18
- (
19
- { "data-testid": testid, as, className, children, gap = "xs", ...rest },
20
- ref
21
- ) => {
22
- const containerRef = useRef<HTMLDivElement>(null)
23
- const [invisibleNumber, setInvisibleNumber] = useState<number>(0)
24
-
25
- useLayoutEffect(() => {
26
- const truncate = () => {
27
- if (!containerRef.current) return
28
-
29
- const childNodes = Array.from(
30
- containerRef.current.children
31
- ) as Array<HTMLElement>
32
-
33
- for (const node of childNodes) {
34
- node.hidden = true
35
- }
36
-
37
- if (childNodes.length === 0) return
29
+ export const Truncate: FC<ILibTruncate> = ({
30
+ "data-testid": testid,
31
+ as,
32
+ ref,
33
+ className,
34
+ children,
35
+ gap = "xs",
36
+ ...rest
37
+ }) => {
38
+ const containerRef = useRef<HTMLDivElement>(null)
39
+ const [invisibleNumber, setInvisibleNumber] = useState<number>(0)
40
+
41
+ useLayoutEffect(() => {
42
+ const truncate = () => {
43
+ if (!containerRef.current) return
44
+
45
+ const childNodes = Array.from(
46
+ containerRef.current.children
47
+ ) as Array<HTMLElement>
48
+
49
+ for (const node of childNodes) {
50
+ node.hidden = true
51
+ }
38
52
 
39
- for (let i = 0; i < childNodes.length; i += 1) {
40
- const itemEl = childNodes[i]
41
- itemEl.hidden = false
53
+ if (childNodes.length === 0) return
42
54
 
43
- const itemRect = itemEl.getBoundingClientRect()
44
- const containerRect =
45
- containerRef.current.getBoundingClientRect()
55
+ for (let i = 0; i < childNodes.length; i += 1) {
56
+ const itemEl = childNodes[i]
57
+ itemEl.hidden = false
46
58
 
47
- if (
48
- itemRect.bottom > containerRect.bottom ||
49
- itemRect.right > containerRect.right
50
- ) {
51
- itemEl.hidden = true
59
+ const itemRect = itemEl.getBoundingClientRect()
60
+ const containerRect =
61
+ containerRef.current.getBoundingClientRect()
52
62
 
53
- if (i > 0) {
54
- childNodes[i - 1].hidden = true
55
- }
63
+ if (
64
+ itemRect.bottom > containerRect.bottom ||
65
+ itemRect.right > containerRect.right
66
+ ) {
67
+ itemEl.hidden = true
56
68
 
57
- if (i) break
69
+ if (i > 0) {
70
+ childNodes[i - 1].hidden = true
58
71
  }
72
+
73
+ if (i) break
59
74
  }
75
+ }
60
76
 
61
- const getInvisibleNumber =
62
- containerRef.current.querySelectorAll("[hidden]").length - 1
77
+ const getInvisibleNumber =
78
+ containerRef.current.querySelectorAll("[hidden]").length - 1
63
79
 
64
- setInvisibleNumber(getInvisibleNumber)
65
- }
80
+ setInvisibleNumber(getInvisibleNumber)
81
+ }
66
82
 
67
- truncate()
83
+ truncate()
68
84
 
69
- const resizeObserver = new ResizeObserver((entries: any) => {
70
- window.requestAnimationFrame(() => {
71
- // eslint-disable-next-line
72
- for (const _ of entries) {
73
- truncate()
74
- }
75
- })
85
+ const resizeObserver = new ResizeObserver((entries: any) => {
86
+ window.requestAnimationFrame(() => {
87
+ // eslint-disable-next-line
88
+ for (const _ of entries) {
89
+ truncate()
90
+ }
76
91
  })
92
+ })
77
93
 
78
- const containerEl = containerRef.current
94
+ const containerEl = containerRef.current
79
95
 
80
- if (containerEl) {
81
- resizeObserver.observe(containerEl)
82
- }
96
+ if (containerEl) {
97
+ resizeObserver.observe(containerEl)
98
+ }
83
99
 
84
- return () => {
85
- if (containerEl) {
86
- resizeObserver.unobserve(containerEl)
87
- }
100
+ return () => {
101
+ if (containerEl) {
102
+ resizeObserver.unobserve(containerEl)
88
103
  }
89
- }, [children])
90
-
91
- return (
92
- <StyledTruncate
93
- data-testid={testid}
94
- ref={useMergeRefs([ref, containerRef])}
95
- as={as}
96
- className={className}
97
- $gap={gap}
98
- {...rest}
99
- >
100
- {children}
101
-
102
- {invisibleNumber > 0 && (
103
- <StyledTag
104
- data-testid={testid && `${testid}.Plus`}
105
- className={className && "Plus"}
106
- >
107
- {`+ ${invisibleNumber}`}
108
- </StyledTag>
109
- )}
110
- </StyledTruncate>
111
- )
112
- }
113
- )
104
+ }
105
+ }, [children])
106
+
107
+ return (
108
+ <StyledTruncate
109
+ data-testid={testid}
110
+ ref={useMergeRefs([ref, containerRef])}
111
+ as={as}
112
+ className={className}
113
+ $gap={gap}
114
+ {...rest}
115
+ >
116
+ {children}
117
+
118
+ {invisibleNumber > 0 && (
119
+ <StyledTag
120
+ data-testid={testid && `${testid}.Plus`}
121
+ className={className && "Plus"}
122
+ >
123
+ {`+ ${invisibleNumber}`}
124
+ </StyledTag>
125
+ )}
126
+ </StyledTruncate>
127
+ )
128
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Truncate exports ===============================================*/
2
-
3
1
  export * from "./Truncate"
@@ -1,5 +1,3 @@
1
- /*=============================================== Truncate styles ===============================================*/
2
-
3
1
  import type { FC } from "react"
4
2
  import styled from "styled-components"
5
3
  import { FONT_WEIGHTS, Mixins, setDefaultTheme, Tag } from "../../"
@@ -7,6 +5,7 @@ import type { LibSpacers } from "../../types"
7
5
 
8
6
  const StyledTruncate = styled.div<{ $gap?: LibSpacers }>`
9
7
  overflow: hidden;
8
+ ${Mixins.HideScrollbar};
10
9
  ${({ $gap }) =>
11
10
  Mixins.Flexbox({
12
11
  $flexDirection: "row",
@@ -1,5 +1,3 @@
1
- /*=============================================== Truncate types ===============================================*/
2
-
3
1
  import type { LibComponentBase, LibSpacers } from "../../types"
4
2
 
5
3
  export interface ILibTruncate extends LibComponentBase<HTMLDivElement> {
@@ -1,66 +1,74 @@
1
- /*=============================================== Video component ===============================================*/
2
-
3
- import { forwardRef, Suspense, lazy } from "react"
1
+ import { Suspense, lazy, type FC } from "react"
4
2
  import { Fallback } from "../../"
5
3
  import type { ILibVideo } from "./types"
6
4
 
7
5
  const StyledVideo = lazy(() => import("./styles"))
8
6
 
9
7
  /**
10
- * @description Returns an HTML Video component
11
- * @link https://documentation-components-react.vercel.app/components/video
8
+ * Video component for rendering an HTML video element with customizable source, aspect ratio, fit, and fallback.
9
+ *
10
+ * @component
12
11
  * @extends HTMLVideoElement
13
- * @prop data-testid?: string
14
- * @prop ref?: ForwardedRef<HTMLVideoElement>
15
- * @prop fit?: CssObjectFit
16
- * @prop aspectRatio?: string
17
- * @prop emptyText?: string
18
- * @prop type?: "video/x-flv" | "video/mp4" | "application/x-mpegURL" | "video/MP2T" | "video/3gpp" | "video/quicktime" | "video/x-msvideo" | "video/x-ms-wmv"
12
+ * @param {Object} props - Video props.
13
+ * @param {string} [props.data-testid] - Test id for testing purposes.
14
+ * @param {ForwardedRef<HTMLVideoElement>} [props.ref] - Ref forwarded to the video element.
15
+ * @param {string} props.src - Source URL of the video.
16
+ * @param {"video/x-flv" | "video/mp4" | "application/x-mpegURL" | "video/MP2T" | "video/3gpp" | "video/quicktime" | "video/x-msvideo" | "video/x-ms-wmv"} [props.type="video/mp4"] - Video MIME type.
17
+ * @param {string|number} [props.width="100%"] - Width of the video.
18
+ * @param {string|number} [props.height="auto"] - Height of the video.
19
+ * @param {CssObjectFit} [props.fit] - Object-fit style for the video.
20
+ * @param {string} [props.aspectRatio] - Aspect ratio for the video.
21
+ * @param {string} [props.emptyText="Your browser doesn't support the video tag."] - Fallback text if the video is not supported.
22
+ * @param {boolean} [props.autoPlay] - Whether the video should play automatically.
23
+ * @param {boolean} [props.muted] - Whether the video should be muted.
24
+ * @param {boolean} [props.controls] - Whether to show video controls.
25
+ * @param {any} [props.rest] - Additional props passed to the video element.
26
+ * @returns {JSX.Element} The rendered Video component.
27
+ *
28
+ * @see https://documentation-components-react.vercel.app/components/video
29
+ * @example
30
+ * <Video src="/video.mp4" aspectRatio="16/9" controls />
19
31
  */
20
- export const Video = forwardRef<HTMLVideoElement, ILibVideo>(
21
- (
22
- {
23
- "data-testid": testid,
24
- src,
25
- type = "video/mp4",
26
- width = "100%",
27
- height = "auto",
28
- fit,
29
- aspectRatio,
30
- emptyText = "Your browser doesn't support the video tag.",
31
- autoPlay,
32
- muted,
33
- controls,
34
- ...rest
35
- },
36
- ref
37
- ) => {
38
- return (
39
- <Suspense
40
- fallback={
41
- <Fallback
42
- $width={width}
43
- $height={height}
44
- $aspectRatio={aspectRatio}
45
- />
46
- }
47
- >
48
- <StyledVideo
49
- data-testid={testid}
50
- ref={ref}
51
- autoPlay={autoPlay}
52
- muted={muted || autoPlay}
53
- controls={controls || !autoPlay}
32
+ export const Video: FC<ILibVideo> = ({
33
+ "data-testid": testid,
34
+ ref,
35
+ src,
36
+ type = "video/mp4",
37
+ width = "100%",
38
+ height = "auto",
39
+ fit,
40
+ aspectRatio,
41
+ emptyText = "Your browser doesn't support the video tag.",
42
+ autoPlay,
43
+ muted,
44
+ controls,
45
+ ...rest
46
+ }) => {
47
+ return (
48
+ <Suspense
49
+ fallback={
50
+ <Fallback
54
51
  $width={width}
55
52
  $height={height}
56
53
  $aspectRatio={aspectRatio}
57
- $fit={fit}
58
- {...rest}
59
- >
60
- <source src={src} type={type} />
61
- {emptyText}
62
- </StyledVideo>
63
- </Suspense>
64
- )
65
- }
66
- )
54
+ />
55
+ }
56
+ >
57
+ <StyledVideo
58
+ data-testid={testid}
59
+ ref={ref}
60
+ autoPlay={autoPlay}
61
+ muted={muted || autoPlay}
62
+ controls={controls || !autoPlay}
63
+ $width={width}
64
+ $height={height}
65
+ $aspectRatio={aspectRatio}
66
+ $fit={fit}
67
+ {...rest}
68
+ >
69
+ <source src={src} type={type} />
70
+ {emptyText}
71
+ </StyledVideo>
72
+ </Suspense>
73
+ )
74
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Video exports ===============================================*/
2
-
3
1
  export * from "./Video"
@@ -1,5 +1,3 @@
1
- /*=============================================== Video styles ===============================================*/
2
-
3
1
  import styled from "styled-components"
4
2
  import { stringifyPx } from "@julseb-lib/utils"
5
3
  import { setDefaultTheme } from "../../"
@@ -1,5 +1,3 @@
1
- /*=============================================== Video types ===============================================*/
2
-
3
1
  import type { VideoHTMLAttributes, SourceHTMLAttributes } from "react"
4
2
  import type { LibComponentBase, CssObjectFit } from "../../types"
5
3