@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,74 +1,75 @@
1
- /*=============================================== IconMenuItem ===============================================*/
2
-
3
- import { forwardRef } from "react"
1
+ import type { FC } from "react"
4
2
  import { StyledButtonIcon } from "./styles"
5
3
  import type { ILibIconMenuItem } from "./types"
6
4
 
7
5
  /**
8
- * @description Returns a IconMenuItem component
9
- * @link https://documentation-components-react.vercel.app/components/icon-menu
6
+ * IconMenuItem component for rendering an icon button inside an IconMenu, supporting links, tooltips, loading states, and custom styles.
7
+ *
8
+ * @component
10
9
  * @extends HTMLButtonElement & HTMLAnchorElement & ILibButtonIcon
11
- * @prop data-testid?: string
12
- * @prop as?: ElementType
13
- * @prop ref?: ForwardedRef<HTMLButtonElement & HTMLAnchorElement>
14
- * @prop label: string
15
- * @prop indexPosition: number
16
- * @prop isOpen: boolean
17
- * @prop icon: string | JSX.Element
18
- * @prop iconSize?: number
19
- * @prop direction?: "left" | "up" | "right" | "down"
20
- * @prop variant?: "plain" | "transparent" | "ghost"
21
- * @prop iconBaseUrl?: string
22
- * @prop onClick?: void => only if `to` or `href` are not defined
23
- * @prop disabled?: boolean => only if `onClick` is defined
24
- * @prop to?: string => only if `onClick` and `href` are not defined
25
- * @prop href?: string => only if `onClick` and `to` are not defined
26
- * @prop blank?: boolean => only if `to` or `href` are defined
27
- * @prop icon: string | JSX.Element
28
- * @prop iconSize?: number
29
- * @prop iconBaseUrl?: string
30
- * @prop size?: number
31
- * @prop shadow?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | { default: "xxl" | "xl" | "l" | "m" | "s" | "xs"; hover: "xxl" | "xl" | "l" | "m" | "s" | "xs"; active: "xxl" | "xl" | "l" | "m" | "s" | "xs" }
32
- * @prop borderRadius?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "round" | "circle" | number | { topLeft?: LibRadiuses; topRight?: LibRadiuses; bottomLeft?: LibRadiuses; bottomRight?: LibRadiuses }
33
- * @prop color?: "primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"
34
- * @prop variant?: "plain" | "ghost" | "transparent"
35
- * @prop showBackgroundHover?: boolean => only if variant is set to transparent
36
- * @prop isLoading?: boolean
37
- * @prop loaderVariant?: 1 | 2 | 3 | 4 => only if isLoading is defined
38
- * @prop loaderBorderWidth?: number => only if loaderVariant is set to 1 | 2 | 3
39
- * @prop tooltip?: string
40
- * @prop showTooltip?: boolean | { position?: "top" | "bottom" | "left" | "right"; offset?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"; backgroundColor?: Any color from the library; textColor?: Any color from the library; hideArrow?: boolean } => only if tooltip is defined
41
- * @prop containerStyle?: CSSProperties => only if tooltip is defined
10
+ * @param {Object} props - IconMenuItem props.
11
+ * @param {string} [props.data-testid] - Test id for testing purposes.
12
+ * @param {ElementType} [props.as] - Custom element type to render as.
13
+ * @param {ForwardedRef<HTMLButtonElement & HTMLAnchorElement>} [props.ref] - Ref forwarded to the root element.
14
+ * @param {string} props.label - Accessible label for the menu item.
15
+ * @param {number} props.indexPosition - Position index of the item in the menu.
16
+ * @param {boolean} props.isOpen - Whether the menu is open.
17
+ * @param {string|JSX.Element} props.icon - Icon to display in the item.
18
+ * @param {number} [props.iconSize] - Size of the icon.
19
+ * @param {"left" | "up" | "right" | "down"} [props.direction] - Direction in which the menu appears.
20
+ * @param {"plain" | "ghost" | "transparent"} [props.variant="ghost"] - Button variant.
21
+ * @param {string} [props.iconBaseUrl] - Base URL for the icon.
22
+ * @param {() => void} [props.onClick] - Click handler (only if `to` or `href` are not defined).
23
+ * @param {boolean} [props.disabled] - Disables the item (only if `onClick` is defined).
24
+ * @param {string} [props.to] - React Router link target (only if `onClick` and `href` are not defined).
25
+ * @param {string} [props.href] - Anchor link target (only if `onClick` and `to` are not defined).
26
+ * @param {boolean} [props.blank] - Open link in new tab (only if `to` or `href` are defined).
27
+ * @param {number} [props.size] - Size of the button.
28
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | Object} [props.shadow] - Shadow style for the button.
29
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "round" | "circle" | number | Object} [props.borderRadius] - Border radius for the button.
30
+ * @param {"primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"} [props.color] - Color for the button and icon.
31
+ * @param {boolean} [props.showBackgroundHover] - Show background on hover (only if variant is transparent).
32
+ * @param {boolean} [props.isLoading] - Show loading indicator.
33
+ * @param {1 | 2 | 3 | 4} [props.loaderVariant] - Loader variant (only if isLoading is defined).
34
+ * @param {number} [props.loaderBorderWidth] - Loader border width (only if loaderVariant is 1, 2, or 3).
35
+ * @param {string} [props.tooltip] - Tooltip text.
36
+ * @param {boolean|Object} [props.showTooltip] - Show tooltip or tooltip options (only if tooltip is defined).
37
+ * @param {CSSProperties} [props.containerStyle] - Custom style for the button container (only if tooltip is defined).
38
+ * @returns {JSX.Element} The rendered IconMenuItem component.
39
+ *
40
+ * @see https://documentation-components-react.vercel.app/components/icon-menu
41
+ * @example
42
+ * <IconMenuItem
43
+ * label="Edit"
44
+ * icon="edit"
45
+ * indexPosition={0}
46
+ * isOpen={true}
47
+ * onClick={handleEdit}
48
+ * tooltip="Edit item"
49
+ * />
42
50
  */
43
- export const IconMenuItem = forwardRef<
44
- HTMLButtonElement & HTMLAnchorElement,
45
- ILibIconMenuItem
46
- >(
47
- (
48
- {
49
- indexPosition,
50
- direction,
51
- isOpen,
52
- variant = "ghost",
53
- style,
54
- iconBaseUrl,
55
- ...rest
56
- },
57
- ref
58
- ) => {
59
- return (
60
- <StyledButtonIcon
61
- ref={ref}
62
- type="button"
63
- variant={variant}
64
- iconBaseUrl={iconBaseUrl}
65
- $direction={direction}
66
- containerStyle={{
67
- ["--button-position" as any]: indexPosition,
68
- ...style,
69
- }}
70
- {...rest}
71
- />
72
- )
73
- }
74
- )
51
+ export const IconMenuItem: FC<ILibIconMenuItem> = ({
52
+ ref,
53
+ indexPosition,
54
+ direction,
55
+ isOpen,
56
+ variant = "ghost",
57
+ style,
58
+ iconBaseUrl,
59
+ ...rest
60
+ }) => {
61
+ return (
62
+ <StyledButtonIcon
63
+ ref={ref}
64
+ type="button"
65
+ variant={variant}
66
+ iconBaseUrl={iconBaseUrl}
67
+ $direction={direction}
68
+ containerStyle={{
69
+ ["--button-position" as any]: indexPosition,
70
+ ...style,
71
+ }}
72
+ {...rest}
73
+ />
74
+ )
75
+ }
@@ -1,4 +1,2 @@
1
- /*=============================================== IconMenu exports ===============================================*/
2
-
3
1
  export * from "./IconMenu"
4
2
  export * from "./IconMenuItem"
@@ -1,5 +1,3 @@
1
- /*=============================================== IconMenu styles ===============================================*/
2
-
3
1
  import styled, { css } from "styled-components"
4
2
  import {
5
3
  setDefaultTheme,
@@ -1,5 +1,3 @@
1
- /*=============================================== IconMenu types ===============================================*/
2
-
3
1
  import type {
4
2
  LibComponentBase,
5
3
  LibIconMenuItem,
@@ -13,8 +11,6 @@ import type {
13
11
  } from "../../types"
14
12
  import type { ILibButtonIcon } from "../ButtonIcon/types"
15
13
 
16
- /*====================== IconMenu ======================*/
17
-
18
14
  interface ILibIconMenuBase extends LibComponentBase<HTMLDivElement> {
19
15
  direction?: LibIconMenuDirection
20
16
  color?: LibColorsHover
@@ -44,8 +40,6 @@ interface IconMenuWithChildren extends ILibIconMenuBase {
44
40
 
45
41
  export type ILibIconMenu = IconMenuWithItems | IconMenuWithChildren
46
42
 
47
- /*====================== IconMenu ======================*/
48
-
49
43
  export type ILibIconMenuItem = ILibButtonIcon &
50
44
  Omit<LibIconMenuItem, "ref"> & {
51
45
  indexPosition: number
@@ -1,106 +1,120 @@
1
- /*=============================================== Image component ===============================================*/
2
-
3
- import { forwardRef } from "react"
1
+ import type { FC } from "react"
4
2
  import { Fallback } from "../../"
5
3
  import { ImageFunction } from "./ImageFunction"
6
4
  import { ImgContainer, Caption } from "./styles"
7
5
  import type { ILibImage } from "./types"
8
6
 
9
7
  /**
10
- * @description Returns an Image component
11
- * @link https://documentation-components-react.vercel.app/components/image
8
+ * Image component for rendering images with optional caption, aspect ratio, border radius, and fallback.
9
+ *
10
+ * @component
12
11
  * @extends HTMLImageElement
13
- * @prop data-testid?: string
14
- * @prop as?: ElementType
15
- * @prop ref?: ForwardedRef<HTMLImageElement>
16
- * @prop borderRadius?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "round" | "circle" | number | { topLeft?: LibRadiuses; topRight?: LibRadiuses; bottomLeft?: LibRadiuses; bottomRight?: LibRadiuses }
17
- * @prop fit?: CssObjectFit
18
- * @prop aspectRatio?: string
19
- * @prop fallback?: JSX.Element
20
- * @prop caption?: string | { text: string; textColor?: Any color from the library; background?: Any color or overlay from the library, except "gradient-black" | "gradient-white"; as?: ElementType }
21
- * @prop containerStyle?: CSSProperties => only if caption is defined
22
- * @prop containerAs?: ElementType => only if caption is defined
12
+ * @param {Object} props - Image props.
13
+ * @param {string} [props.data-testid] - Test id for testing purposes.
14
+ * @param {ElementType} [props.as] - Custom element type to render as.
15
+ * @param {ForwardedRef<HTMLImageElement>} [props.ref] - Ref forwarded to the image element.
16
+ * @param {string} props.src - Image source URL.
17
+ * @param {string} props.alt - Alternative text for the image.
18
+ * @param {string|Object} [props.caption] - Caption for the image. String for text, or object with { text, textColor, background, as }.
19
+ * @param {string|number} [props.width="100%"] - Width of the image.
20
+ * @param {string|number} [props.height="auto"] - Height of the image.
21
+ * @param {string} [props.aspectRatio] - Aspect ratio for the image (e.g., "16/9").
22
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "round" | "circle" | number | Object} [props.borderRadius] - Border radius for the image.
23
+ * @param {CssObjectFit} [props.fit] - Object-fit property for the image.
24
+ * @param {JSX.Element} [props.fallback] - Fallback element to display while loading.
25
+ * @param {CSSProperties} [props.containerStyle] - Style for the image container (only if caption is defined).
26
+ * @param {ElementType} [props.containerAs] - Custom element type for the container (only if caption is defined).
27
+ * @param {string} [props.className] - Additional class names.
28
+ * @returns {JSX.Element} The rendered Image component.
29
+ *
30
+ * @see https://documentation-components-react.vercel.app/components/image
31
+ * @example
32
+ * <Image
33
+ * src="/banner.jpg"
34
+ * alt="Banner"
35
+ * caption={{ text: "Banner image", textColor: "white", background: "black-50" }}
36
+ * width={400}
37
+ * height={200}
38
+ * aspectRatio="16/9"
39
+ * borderRadius="m"
40
+ * />
23
41
  */
24
- export const Image = forwardRef<HTMLImageElement, ILibImage>(
25
- (
26
- {
27
- "data-testid": testid,
28
- className,
29
- src,
30
- alt,
31
- caption,
32
- width = "100%",
33
- height = "auto",
34
- aspectRatio,
35
- borderRadius,
36
- fit,
37
- fallback = (
38
- <Fallback
39
- $aspectRatio={aspectRatio}
40
- $width={width}
41
- $height={height}
42
- $borderRadius={borderRadius}
43
- />
44
- ),
45
- containerStyle,
46
- containerAs,
47
- ...rest
48
- },
49
- ref
50
- ) => {
51
- const imageProps = {
52
- "data-testid": testid,
53
- ref,
54
- fallback,
55
- caption,
56
- className,
57
- src,
58
- alt,
59
- aspectRatio,
60
- width,
61
- height,
62
- borderRadius,
63
- fit,
64
- ...rest,
65
- }
42
+ export const Image: FC<ILibImage> = ({
43
+ "data-testid": testid,
44
+ ref,
45
+ className,
46
+ src,
47
+ alt,
48
+ caption,
49
+ width = "100%",
50
+ height = "auto",
51
+ aspectRatio,
52
+ borderRadius,
53
+ fit,
54
+ fallback = (
55
+ <Fallback
56
+ $aspectRatio={aspectRatio}
57
+ $width={width}
58
+ $height={height}
59
+ $borderRadius={borderRadius}
60
+ />
61
+ ),
62
+ containerStyle,
63
+ containerAs,
64
+ ...rest
65
+ }) => {
66
+ const imageProps = {
67
+ "data-testid": testid,
68
+ ref,
69
+ fallback,
70
+ caption,
71
+ className,
72
+ src,
73
+ alt,
74
+ aspectRatio,
75
+ width,
76
+ height,
77
+ borderRadius,
78
+ fit,
79
+ ...rest,
80
+ }
66
81
 
67
- if (caption)
68
- return (
69
- <ImgContainer
70
- data-testid={testid}
71
- className={className}
72
- style={containerStyle}
73
- as={containerAs}
74
- $width={width}
75
- $height={height}
76
- $borderRadius={borderRadius}
77
- >
78
- <ImageFunction {...imageProps} />
82
+ if (caption)
83
+ return (
84
+ <ImgContainer
85
+ data-testid={testid}
86
+ className={className}
87
+ style={containerStyle}
88
+ as={containerAs}
89
+ $width={width}
90
+ $height={height}
91
+ $borderRadius={borderRadius}
92
+ >
93
+ <ImageFunction {...imageProps} />
79
94
 
80
- <Caption
81
- data-testid={testid && `${testid}.Caption`}
82
- className={className && "Caption"}
83
- as={
84
- typeof caption === "object" && caption.as
85
- ? caption.as
86
- : "figcaption"
87
- }
88
- $backgroundColor={
89
- typeof caption === "object" && caption.background
90
- ? caption?.background
91
- : "black-50"
92
- }
93
- $textColor={
94
- typeof caption === "object" && caption.textColor
95
- ? caption.textColor
96
- : "white"
97
- }
98
- >
99
- {typeof caption === "object" ? caption.text : caption}
100
- </Caption>
101
- </ImgContainer>
102
- )
95
+ <Caption
96
+ data-testid={testid && `${testid}.Caption`}
97
+ className={className && "Caption"}
98
+ as={
99
+ typeof caption === "object" && caption.as
100
+ ? caption.as
101
+ : "figcaption"
102
+ }
103
+ $backgroundColor={
104
+ typeof caption === "object" && caption.background
105
+ ? caption?.background
106
+ : "black-50"
107
+ }
108
+ $textColor={
109
+ typeof caption === "object" && caption.textColor
110
+ ? caption.textColor
111
+ : "white"
112
+ }
113
+ >
114
+ {typeof caption === "object" ? caption.text : caption}
115
+ </Caption>
116
+ </ImgContainer>
117
+ )
103
118
 
104
- return <ImageFunction {...imageProps} />
105
- }
106
- )
119
+ return <ImageFunction {...imageProps} />
120
+ }
@@ -1,53 +1,45 @@
1
- /*=============================================== ImageFunction ===============================================*/
2
-
3
- import { forwardRef, lazy, Suspense } from "react"
1
+ import { lazy, Suspense, type FC } from "react"
4
2
  import type { ILibImage } from "./types"
5
3
 
6
4
  const StyledImage = lazy(() => import("./styles"))
7
5
 
8
- export const ImageFunction = forwardRef<HTMLImageElement, ILibImage>(
9
- (
10
- {
11
- "data-testid": testid,
12
- fallback,
13
- caption,
14
- className,
15
- src,
16
- alt,
17
- aspectRatio,
18
- width = "100%",
19
- height = "auto",
20
- borderRadius,
21
- fit,
22
- loading = "lazy",
23
- imgFallback,
24
- ...rest
25
- },
26
- ref
27
- ) => {
28
- return (
29
- <Suspense fallback={fallback}>
30
- <StyledImage
31
- data-testid={
32
- !caption ? testid : testid && `${testid}.Image`
33
- }
34
- className={!caption ? className : className && "Image"}
35
- ref={ref}
36
- src={src}
37
- alt={alt}
38
- loading={loading}
39
- data-fallback={imgFallback?.text}
40
- $aspectRatio={aspectRatio}
41
- $width={width}
42
- $height={height}
43
- $borderRadius={borderRadius}
44
- $fit={fit}
45
- $fallbackBackground={imgFallback?.background ?? "primary"}
46
- $fallbackTextColor={imgFallback?.textColor ?? "background"}
47
- $fallbackFontSize={imgFallback?.fontSize ?? "body"}
48
- {...rest}
49
- />
50
- </Suspense>
51
- )
52
- }
53
- )
6
+ export const ImageFunction: FC<ILibImage> = ({
7
+ "data-testid": testid,
8
+ ref,
9
+ fallback,
10
+ caption,
11
+ className,
12
+ src,
13
+ alt,
14
+ aspectRatio,
15
+ width = "100%",
16
+ height = "auto",
17
+ borderRadius,
18
+ fit,
19
+ loading = "lazy",
20
+ imgFallback,
21
+ ...rest
22
+ }) => {
23
+ return (
24
+ <Suspense fallback={fallback}>
25
+ <StyledImage
26
+ data-testid={!caption ? testid : testid && `${testid}.Image`}
27
+ className={!caption ? className : className && "Image"}
28
+ ref={ref}
29
+ src={src}
30
+ alt={alt}
31
+ loading={loading}
32
+ data-fallback={imgFallback?.text}
33
+ $aspectRatio={aspectRatio}
34
+ $width={width}
35
+ $height={height}
36
+ $borderRadius={borderRadius}
37
+ $fit={fit}
38
+ $fallbackBackground={imgFallback?.background ?? "primary"}
39
+ $fallbackTextColor={imgFallback?.textColor ?? "background"}
40
+ $fallbackFontSize={imgFallback?.fontSize ?? "body"}
41
+ {...rest}
42
+ />
43
+ </Suspense>
44
+ )
45
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Image exports ===============================================*/
2
-
3
1
  export * from "./Image"
@@ -1,5 +1,3 @@
1
- /*=============================================== Image styles ===============================================*/
2
-
3
1
  import type { FC } from "react"
4
2
  import styled from "styled-components"
5
3
  import { stringifyPx } from "@julseb-lib/utils"
@@ -1,5 +1,3 @@
1
- /*=============================================== Image types ===============================================*/
2
-
3
1
  import type { CSSProperties, ElementType, ImgHTMLAttributes } from "react"
4
2
  import type {
5
3
  LibComponentBase,