@julseb-lib/react 0.0.84 → 0.0.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/dist/index.cjs.js +1620 -1624
  2. package/dist/index.css +60 -100
  3. package/dist/index.es.js +12964 -14976
  4. package/dist/index.umd.js +1519 -1523
  5. package/dist/lib/Mixins.tsx +85 -80
  6. package/dist/lib/Variables.ts +1 -31
  7. package/dist/lib/components/Accordion/Accordion.tsx +72 -75
  8. package/dist/lib/components/Accordion/AccordionButton.tsx +3 -5
  9. package/dist/lib/components/Accordion/AccordionContent.tsx +3 -4
  10. package/dist/lib/components/Accordion/AccordionItem.tsx +60 -58
  11. package/dist/lib/components/Accordion/index.ts +0 -2
  12. package/dist/lib/components/Accordion/styles.tsx +0 -2
  13. package/dist/lib/components/Accordion/subtypes.ts +0 -2
  14. package/dist/lib/components/Accordion/types.ts +0 -2
  15. package/dist/lib/components/Alert/Alert.tsx +72 -70
  16. package/dist/lib/components/Alert/index.ts +0 -2
  17. package/dist/lib/components/Alert/styles.tsx +0 -2
  18. package/dist/lib/components/Alert/types.ts +0 -2
  19. package/dist/lib/components/Aside/Aside.tsx +36 -37
  20. package/dist/lib/components/Aside/index.ts +0 -2
  21. package/dist/lib/components/Aside/styles.tsx +8 -6
  22. package/dist/lib/components/Aside/types.ts +0 -3
  23. package/dist/lib/components/Autocomplete/Autocomplete.tsx +287 -283
  24. package/dist/lib/components/Autocomplete/index.ts +0 -2
  25. package/dist/lib/components/Autocomplete/styles.tsx +0 -2
  26. package/dist/lib/components/Autocomplete/types.ts +2 -3
  27. package/dist/lib/components/Avatar/Avatar.tsx +132 -130
  28. package/dist/lib/components/Avatar/AvatarFunction.tsx +112 -119
  29. package/dist/lib/components/Avatar/index.ts +0 -2
  30. package/dist/lib/components/Avatar/styles.tsx +0 -2
  31. package/dist/lib/components/Avatar/types.ts +0 -2
  32. package/dist/lib/components/BackToTop/BackToTop.tsx +84 -81
  33. package/dist/lib/components/BackToTop/index.ts +0 -2
  34. package/dist/lib/components/BackToTop/styles.tsx +0 -2
  35. package/dist/lib/components/BackToTop/types.ts +0 -2
  36. package/dist/lib/components/Badge/Badge.tsx +80 -77
  37. package/dist/lib/components/Badge/index.ts +0 -2
  38. package/dist/lib/components/Badge/styles.tsx +0 -2
  39. package/dist/lib/components/Badge/types.ts +0 -2
  40. package/dist/lib/components/Breadcrumbs/BreadcrumbItem.tsx +3 -4
  41. package/dist/lib/components/Breadcrumbs/Breadcrumbs.tsx +54 -44
  42. package/dist/lib/components/Breadcrumbs/BreadcrumbsFn.tsx +57 -69
  43. package/dist/lib/components/Breadcrumbs/index.ts +0 -2
  44. package/dist/lib/components/Breadcrumbs/styles.tsx +0 -2
  45. package/dist/lib/components/Breadcrumbs/subtypes.ts +0 -2
  46. package/dist/lib/components/Breadcrumbs/types.ts +0 -2
  47. package/dist/lib/components/Burger/Burger.tsx +54 -53
  48. package/dist/lib/components/Burger/index.ts +0 -2
  49. package/dist/lib/components/Burger/styles.tsx +0 -2
  50. package/dist/lib/components/Burger/types.ts +0 -2
  51. package/dist/lib/components/Button/Button.tsx +120 -120
  52. package/dist/lib/components/Button/index.ts +0 -2
  53. package/dist/lib/components/Button/styles.tsx +0 -2
  54. package/dist/lib/components/Button/subtypes.ts +0 -2
  55. package/dist/lib/components/Button/types.ts +0 -2
  56. package/dist/lib/components/ButtonGroup/ButtonGroup.tsx +120 -142
  57. package/dist/lib/components/ButtonGroup/ButtonGroupButton.tsx +61 -74
  58. package/dist/lib/components/ButtonGroup/ButtonGroupToggle.tsx +69 -80
  59. package/dist/lib/components/ButtonGroup/index.ts +0 -2
  60. package/dist/lib/components/ButtonGroup/styles.tsx +0 -2
  61. package/dist/lib/components/ButtonGroup/subtypes.ts +3 -2
  62. package/dist/lib/components/ButtonGroup/types.ts +0 -2
  63. package/dist/lib/components/ButtonIcon/ButtonFunction.tsx +74 -85
  64. package/dist/lib/components/ButtonIcon/ButtonIcon.tsx +128 -129
  65. package/dist/lib/components/ButtonIcon/index.ts +0 -2
  66. package/dist/lib/components/ButtonIcon/styles.tsx +0 -2
  67. package/dist/lib/components/ButtonIcon/subtypes.ts +0 -2
  68. package/dist/lib/components/ButtonIcon/types.ts +0 -2
  69. package/dist/lib/components/Card/Card.tsx +119 -126
  70. package/dist/lib/components/Card/index.ts +0 -2
  71. package/dist/lib/components/Card/styles.tsx +0 -2
  72. package/dist/lib/components/Card/types.ts +0 -2
  73. package/dist/lib/components/CodeContainer/CodeContainer.tsx +109 -111
  74. package/dist/lib/components/CodeContainer/index.ts +0 -2
  75. package/dist/lib/components/CodeContainer/styles.tsx +0 -2
  76. package/dist/lib/components/CodeContainer/types.ts +0 -2
  77. package/dist/lib/components/ComponentsMixins/ComponentsMixins.tsx +0 -7
  78. package/dist/lib/components/ComponentsMixins/hooks/useKeyboardNavigation.tsx +0 -2
  79. package/dist/lib/components/ComponentsMixins/index.ts +0 -2
  80. package/dist/lib/components/ComponentsMixins/types.ts +0 -2
  81. package/dist/lib/components/Cover/Cover.tsx +72 -65
  82. package/dist/lib/components/Cover/index.ts +0 -2
  83. package/dist/lib/components/Cover/styles.tsx +0 -2
  84. package/dist/lib/components/Cover/types.ts +0 -2
  85. package/dist/lib/components/Datepicker/Calendar.tsx +1 -2
  86. package/dist/lib/components/Datepicker/Datepicker.tsx +209 -208
  87. package/dist/lib/components/Datepicker/data.ts +0 -2
  88. package/dist/lib/components/Datepicker/index.ts +0 -2
  89. package/dist/lib/components/Datepicker/styles.tsx +0 -2
  90. package/dist/lib/components/Datepicker/types.ts +0 -2
  91. package/dist/lib/components/DragList/DragList.tsx +104 -110
  92. package/dist/lib/components/DragList/DragListItem.tsx +156 -163
  93. package/dist/lib/components/DragList/index.ts +0 -2
  94. package/dist/lib/components/DragList/styles.tsx +0 -2
  95. package/dist/lib/components/DragList/types.ts +0 -6
  96. package/dist/lib/components/Drawer/Drawer.tsx +98 -95
  97. package/dist/lib/components/Drawer/index.ts +0 -2
  98. package/dist/lib/components/Drawer/styles.tsx +0 -2
  99. package/dist/lib/components/Drawer/types.ts +0 -2
  100. package/dist/lib/components/Dropdown/Dropdown.tsx +87 -78
  101. package/dist/lib/components/Dropdown/DropdownContainer.tsx +35 -26
  102. package/dist/lib/components/Dropdown/DropdownItem.tsx +89 -89
  103. package/dist/lib/components/Dropdown/index.ts +0 -2
  104. package/dist/lib/components/Dropdown/styles.tsx +1 -2
  105. package/dist/lib/components/Dropdown/types.ts +0 -8
  106. package/dist/lib/components/Fade/Fade.tsx +44 -32
  107. package/dist/lib/components/Fade/index.ts +0 -2
  108. package/dist/lib/components/Fade/styles.tsx +0 -2
  109. package/dist/lib/components/Fade/types.ts +0 -2
  110. package/dist/lib/components/Fallback/Fallback.tsx +13 -10
  111. package/dist/lib/components/Fallback/index.ts +0 -2
  112. package/dist/lib/components/Fieldset/Fieldset.tsx +101 -97
  113. package/dist/lib/components/Fieldset/index.ts +0 -2
  114. package/dist/lib/components/Fieldset/styles.tsx +0 -2
  115. package/dist/lib/components/Fieldset/types.ts +0 -2
  116. package/dist/lib/components/Flexbox/Flexbox.tsx +67 -63
  117. package/dist/lib/components/Flexbox/index.ts +0 -2
  118. package/dist/lib/components/Flexbox/styles.tsx +0 -2
  119. package/dist/lib/components/Flexbox/types.ts +0 -2
  120. package/dist/lib/components/Footer/Footer.tsx +87 -90
  121. package/dist/lib/components/Footer/FooterLink.tsx +8 -8
  122. package/dist/lib/components/Footer/FooterLogo.tsx +3 -4
  123. package/dist/lib/components/Footer/index.ts +0 -2
  124. package/dist/lib/components/Footer/styles.tsx +0 -2
  125. package/dist/lib/components/Footer/subtypes.ts +2 -2
  126. package/dist/lib/components/Footer/types.ts +0 -6
  127. package/dist/lib/components/Form/Form.tsx +145 -136
  128. package/dist/lib/components/Form/index.ts +0 -2
  129. package/dist/lib/components/Form/styles.tsx +0 -2
  130. package/dist/lib/components/Form/types.ts +0 -2
  131. package/dist/lib/components/FullBleed/FullBleed.tsx +42 -39
  132. package/dist/lib/components/FullBleed/index.ts +0 -2
  133. package/dist/lib/components/FullBleed/styles.tsx +0 -2
  134. package/dist/lib/components/FullBleed/types.ts +0 -2
  135. package/dist/lib/components/Grid/Grid.tsx +65 -60
  136. package/dist/lib/components/Grid/index.ts +0 -2
  137. package/dist/lib/components/Grid/styles.tsx +0 -2
  138. package/dist/lib/components/Grid/types.ts +0 -2
  139. package/dist/lib/components/Header/Header.tsx +185 -176
  140. package/dist/lib/components/Header/HeaderBurger.tsx +42 -50
  141. package/dist/lib/components/Header/HeaderLogo.tsx +3 -4
  142. package/dist/lib/components/Header/HeaderNav.tsx +4 -6
  143. package/dist/lib/components/Header/HeaderNavLink.tsx +3 -4
  144. package/dist/lib/components/Header/HeaderSearch.tsx +3 -5
  145. package/dist/lib/components/Header/index.ts +0 -2
  146. package/dist/lib/components/Header/styles.tsx +0 -2
  147. package/dist/lib/components/Header/subtypes.ts +3 -11
  148. package/dist/lib/components/Header/types.ts +0 -2
  149. package/dist/lib/components/Highlight/Highlight.tsx +40 -38
  150. package/dist/lib/components/Highlight/index.ts +0 -2
  151. package/dist/lib/components/Highlight/types.ts +0 -2
  152. package/dist/lib/components/Hr/Hr.tsx +45 -43
  153. package/dist/lib/components/Hr/index.ts +0 -2
  154. package/dist/lib/components/Hr/styles.tsx +0 -2
  155. package/dist/lib/components/Hr/types.ts +0 -2
  156. package/dist/lib/components/Icon/Icon.tsx +36 -36
  157. package/dist/lib/components/Icon/index.ts +0 -2
  158. package/dist/lib/components/Icon/styles.tsx +0 -2
  159. package/dist/lib/components/Icon/types.ts +2 -2
  160. package/dist/lib/components/IconMenu/IconMenu.tsx +127 -136
  161. package/dist/lib/components/IconMenu/IconMenuItem.tsx +69 -68
  162. package/dist/lib/components/IconMenu/index.ts +0 -2
  163. package/dist/lib/components/IconMenu/styles.tsx +0 -2
  164. package/dist/lib/components/IconMenu/types.ts +0 -6
  165. package/dist/lib/components/Image/Image.tsx +109 -95
  166. package/dist/lib/components/Image/ImageFunction.tsx +41 -49
  167. package/dist/lib/components/Image/index.ts +0 -2
  168. package/dist/lib/components/Image/styles.tsx +0 -2
  169. package/dist/lib/components/Image/types.ts +0 -2
  170. package/dist/lib/components/Input/Input.tsx +105 -131
  171. package/dist/lib/components/Input/index.ts +0 -2
  172. package/dist/lib/components/Input/styles.tsx +0 -2
  173. package/dist/lib/components/Input/subtypes.ts +2 -22
  174. package/dist/lib/components/Input/templates/ColorInput.tsx +31 -37
  175. package/dist/lib/components/Input/templates/DateInput.tsx +92 -101
  176. package/dist/lib/components/Input/templates/FileInput.tsx +48 -54
  177. package/dist/lib/components/Input/templates/PasswordInput.tsx +166 -178
  178. package/dist/lib/components/Input/templates/SearchInput.tsx +105 -113
  179. package/dist/lib/components/Input/templates/SelectInput.tsx +87 -93
  180. package/dist/lib/components/Input/templates/TextInput.tsx +88 -94
  181. package/dist/lib/components/Input/templates/TextareaInput.tsx +34 -40
  182. package/dist/lib/components/Input/templates/TimeInput.tsx +91 -100
  183. package/dist/lib/components/Input/types.ts +0 -2
  184. package/dist/lib/components/InputCheck/InputCheck.tsx +122 -115
  185. package/dist/lib/components/InputCheck/index.ts +0 -2
  186. package/dist/lib/components/InputCheck/styles.tsx +0 -2
  187. package/dist/lib/components/InputCheck/types.ts +2 -3
  188. package/dist/lib/components/InputComponents/components/InputAndListContainer.tsx +28 -37
  189. package/dist/lib/components/InputComponents/components/InputButton.tsx +3 -4
  190. package/dist/lib/components/InputComponents/components/InputContainer.tsx +3 -4
  191. package/dist/lib/components/InputComponents/components/InputIcon.tsx +3 -4
  192. package/dist/lib/components/InputComponents/components/InputLeftContainer.tsx +8 -9
  193. package/dist/lib/components/InputComponents/components/InputPrefix.tsx +3 -4
  194. package/dist/lib/components/InputComponents/components/InputRightContainer.tsx +3 -4
  195. package/dist/lib/components/InputComponents/components/InputSuffix.tsx +3 -4
  196. package/dist/lib/components/InputComponents/components/InputValidationHelper.tsx +3 -4
  197. package/dist/lib/components/InputComponents/components/InputValidationIcon.tsx +3 -4
  198. package/dist/lib/components/InputComponents/components/InputWrapper.tsx +3 -4
  199. package/dist/lib/components/InputComponents/components/ListInput.tsx +26 -35
  200. package/dist/lib/components/InputComponents/components/ListInputItem.tsx +31 -39
  201. package/dist/lib/components/InputComponents/index.ts +0 -2
  202. package/dist/lib/components/InputComponents/styles.tsx +0 -22
  203. package/dist/lib/components/InputComponents/types.ts +4 -31
  204. package/dist/lib/components/InputContainer/HelperBottom.tsx +0 -2
  205. package/dist/lib/components/InputContainer/InputContainer.tsx +122 -111
  206. package/dist/lib/components/InputContainer/index.ts +0 -2
  207. package/dist/lib/components/InputContainer/styles.tsx +0 -2
  208. package/dist/lib/components/InputContainer/subtypes.ts +0 -2
  209. package/dist/lib/components/InputContainer/types.ts +0 -2
  210. package/dist/lib/components/InputCounter/InputCounter.tsx +255 -246
  211. package/dist/lib/components/InputCounter/index.ts +0 -2
  212. package/dist/lib/components/InputCounter/styles.tsx +0 -2
  213. package/dist/lib/components/InputCounter/subtypes.ts +0 -2
  214. package/dist/lib/components/InputCounter/types.ts +0 -2
  215. package/dist/lib/components/InputImage/EmptyContainer.tsx +3 -4
  216. package/dist/lib/components/InputImage/HoverContainer.tsx +3 -4
  217. package/dist/lib/components/InputImage/InputImage.tsx +139 -130
  218. package/dist/lib/components/InputImage/index.ts +0 -2
  219. package/dist/lib/components/InputImage/styles.tsx +0 -2
  220. package/dist/lib/components/InputImage/subtypes.ts +0 -2
  221. package/dist/lib/components/InputImage/types.ts +0 -2
  222. package/dist/lib/components/InputPhone/InputPhone.tsx +306 -300
  223. package/dist/lib/components/InputPhone/index.ts +0 -2
  224. package/dist/lib/components/InputPhone/styles.tsx +0 -2
  225. package/dist/lib/components/InputPhone/types.ts +0 -2
  226. package/dist/lib/components/InputPhone/utils/countries.ts +0 -2
  227. package/dist/lib/components/InputPin/InputPin.tsx +123 -124
  228. package/dist/lib/components/InputPin/index.ts +0 -2
  229. package/dist/lib/components/InputPin/styles.tsx +0 -2
  230. package/dist/lib/components/InputPin/subtypes.ts +0 -2
  231. package/dist/lib/components/InputPin/types.ts +0 -2
  232. package/dist/lib/components/InputSlider/InputSlider.tsx +172 -163
  233. package/dist/lib/components/InputSlider/Slider.tsx +39 -48
  234. package/dist/lib/components/InputSlider/index.ts +0 -2
  235. package/dist/lib/components/InputSlider/styles.tsx +0 -2
  236. package/dist/lib/components/InputSlider/types.ts +2 -3
  237. package/dist/lib/components/Key/Key.tsx +40 -39
  238. package/dist/lib/components/Key/index.ts +0 -2
  239. package/dist/lib/components/Key/styles.tsx +0 -2
  240. package/dist/lib/components/Key/types.ts +0 -2
  241. package/dist/lib/components/LibIcon/LibIcon.tsx +3 -4
  242. package/dist/lib/components/LibIcon/index.ts +0 -2
  243. package/dist/lib/components/LibIcon/types.ts +0 -2
  244. package/dist/lib/components/Link/Link.tsx +79 -59
  245. package/dist/lib/components/Link/index.ts +0 -2
  246. package/dist/lib/components/Link/types.ts +0 -2
  247. package/dist/lib/components/Linkify/Linkify.tsx +26 -19
  248. package/dist/lib/components/Linkify/index.ts +0 -2
  249. package/dist/lib/components/Linkify/types.ts +0 -2
  250. package/dist/lib/components/ListGroup/ListGroup.tsx +96 -99
  251. package/dist/lib/components/ListGroup/ListGroupItem.tsx +149 -142
  252. package/dist/lib/components/ListGroup/ListGroupTitle.tsx +43 -43
  253. package/dist/lib/components/ListGroup/index.ts +0 -2
  254. package/dist/lib/components/ListGroup/styles.tsx +0 -2
  255. package/dist/lib/components/ListGroup/types.ts +2 -10
  256. package/dist/lib/components/Loader/Loader.tsx +32 -22
  257. package/dist/lib/components/Loader/index.ts +0 -2
  258. package/dist/lib/components/Loader/styles.tsx +0 -2
  259. package/dist/lib/components/Loader/templates/LoaderFour.tsx +24 -21
  260. package/dist/lib/components/Loader/templates/LoaderOne.tsx +3 -6
  261. package/dist/lib/components/Loader/templates/LoaderThree.tsx +27 -26
  262. package/dist/lib/components/Loader/templates/LoaderTwo.tsx +22 -21
  263. package/dist/lib/components/Loader/types.ts +0 -2
  264. package/dist/lib/components/Main/Main.tsx +42 -39
  265. package/dist/lib/components/Main/index.ts +0 -2
  266. package/dist/lib/components/Main/styles.tsx +5 -5
  267. package/dist/lib/components/Main/types.ts +1 -5
  268. package/dist/lib/components/MarkdownContainer/MarkdownContainer.tsx +35 -28
  269. package/dist/lib/components/MarkdownContainer/index.ts +0 -2
  270. package/dist/lib/components/MarkdownContainer/styles.tsx +0 -2
  271. package/dist/lib/components/MarkdownContainer/types.ts +0 -2
  272. package/dist/lib/components/MarkdownEditor/MarkdownEditor.tsx +153 -149
  273. package/dist/lib/components/MarkdownEditor/MdEditorButtons/EditorButtonTitles.tsx +0 -2
  274. package/dist/lib/components/MarkdownEditor/MdEditorButtons/EditorButtons.tsx +0 -2
  275. package/dist/lib/components/MarkdownEditor/MdEditorButtons/MarkdownButtons.tsx +0 -2
  276. package/dist/lib/components/MarkdownEditor/MdEditorInput.tsx +68 -78
  277. package/dist/lib/components/MarkdownEditor/index.ts +0 -2
  278. package/dist/lib/components/MarkdownEditor/markdown-buttons.tsx +0 -2
  279. package/dist/lib/components/MarkdownEditor/styles.tsx +2 -2
  280. package/dist/lib/components/MarkdownEditor/subtypes.ts +3 -4
  281. package/dist/lib/components/MarkdownEditor/types.ts +0 -2
  282. package/dist/lib/components/Masonry/Masonry.tsx +59 -53
  283. package/dist/lib/components/Masonry/index.ts +0 -2
  284. package/dist/lib/components/Masonry/styles.tsx +0 -2
  285. package/dist/lib/components/Masonry/types.ts +0 -2
  286. package/dist/lib/components/Masonry/utils.ts +0 -2
  287. package/dist/lib/components/Messaging/Message.tsx +95 -89
  288. package/dist/lib/components/Messaging/MessageForm.tsx +126 -117
  289. package/dist/lib/components/Messaging/MessagesContainer.tsx +26 -13
  290. package/dist/lib/components/Messaging/MessagesList.tsx +117 -113
  291. package/dist/lib/components/Messaging/Messaging.tsx +97 -97
  292. package/dist/lib/components/Messaging/index.ts +0 -2
  293. package/dist/lib/components/Messaging/styles.tsx +1 -2
  294. package/dist/lib/components/Messaging/types.ts +0 -12
  295. package/dist/lib/components/Meta/Meta.tsx +69 -0
  296. package/dist/lib/components/Meta/index.ts +3 -0
  297. package/dist/lib/components/Meta/types.ts +14 -0
  298. package/dist/lib/components/Modal/Modal.tsx +108 -101
  299. package/dist/lib/components/Modal/index.ts +0 -2
  300. package/dist/lib/components/Modal/styles.tsx +0 -2
  301. package/dist/lib/components/Modal/types.ts +0 -2
  302. package/dist/lib/components/PageLayout/PageLayout.tsx +88 -72
  303. package/dist/lib/components/PageLayout/index.ts +0 -2
  304. package/dist/lib/components/PageLayout/types.ts +20 -22
  305. package/dist/lib/components/PageLoading/PageLoading.tsx +57 -54
  306. package/dist/lib/components/PageLoading/index.ts +0 -2
  307. package/dist/lib/components/PageLoading/styles.tsx +0 -2
  308. package/dist/lib/components/PageLoading/types.ts +0 -2
  309. package/dist/lib/components/Pagination/Pagination.tsx +218 -221
  310. package/dist/lib/components/Pagination/PaginationButton.tsx +45 -44
  311. package/dist/lib/components/Pagination/index.ts +0 -2
  312. package/dist/lib/components/Pagination/styles.tsx +0 -2
  313. package/dist/lib/components/Pagination/types.ts +0 -6
  314. package/dist/lib/components/Paginator/Paginator.tsx +150 -145
  315. package/dist/lib/components/Paginator/index.ts +0 -2
  316. package/dist/lib/components/Paginator/styles.tsx +0 -2
  317. package/dist/lib/components/Paginator/types.ts +0 -2
  318. package/dist/lib/components/ProgressBar/ProgressBar.tsx +58 -52
  319. package/dist/lib/components/ProgressBar/index.ts +0 -2
  320. package/dist/lib/components/ProgressBar/styles.tsx +0 -2
  321. package/dist/lib/components/ProgressBar/types.ts +0 -2
  322. package/dist/lib/components/ProgressCircle/Circle.tsx +3 -4
  323. package/dist/lib/components/ProgressCircle/ProgressCircle.tsx +80 -77
  324. package/dist/lib/components/ProgressCircle/ProgressCircleFn.tsx +34 -40
  325. package/dist/lib/components/ProgressCircle/Value.tsx +3 -4
  326. package/dist/lib/components/ProgressCircle/clean-percentage.ts +0 -2
  327. package/dist/lib/components/ProgressCircle/index.ts +0 -2
  328. package/dist/lib/components/ProgressCircle/styles.tsx +0 -2
  329. package/dist/lib/components/ProgressCircle/subtypes.ts +0 -2
  330. package/dist/lib/components/ProgressCircle/types.ts +0 -2
  331. package/dist/lib/components/Rating/Rating.tsx +156 -155
  332. package/dist/lib/components/Rating/index.ts +0 -2
  333. package/dist/lib/components/Rating/styles.tsx +0 -2
  334. package/dist/lib/components/Rating/types.ts +0 -2
  335. package/dist/lib/components/ResetScroll/ResetScroll.tsx +9 -4
  336. package/dist/lib/components/ResetScroll/index.ts +0 -2
  337. package/dist/lib/components/Section/Section.tsx +39 -24
  338. package/dist/lib/components/Section/index.ts +0 -2
  339. package/dist/lib/components/Section/styles.tsx +0 -2
  340. package/dist/lib/components/Section/types.ts +0 -2
  341. package/dist/lib/components/Select/Select.tsx +238 -232
  342. package/dist/lib/components/Select/SelectButton.tsx +48 -54
  343. package/dist/lib/components/Select/index.ts +0 -2
  344. package/dist/lib/components/Select/styles.tsx +0 -2
  345. package/dist/lib/components/Select/subtypes.ts +1 -2
  346. package/dist/lib/components/Select/types.ts +0 -2
  347. package/dist/lib/components/Skeleton/Skeleton.tsx +56 -54
  348. package/dist/lib/components/Skeleton/SkeletonCard.tsx +73 -70
  349. package/dist/lib/components/Skeleton/SkeletonShine.tsx +24 -20
  350. package/dist/lib/components/Skeleton/index.ts +0 -2
  351. package/dist/lib/components/Skeleton/styles.tsx +1 -9
  352. package/dist/lib/components/Skeleton/subtypes.ts +0 -2
  353. package/dist/lib/components/Skeleton/types.ts +0 -2
  354. package/dist/lib/components/Slideshow/Slideshow.tsx +163 -190
  355. package/dist/lib/components/Slideshow/SlideshowButton.tsx +3 -4
  356. package/dist/lib/components/Slideshow/SlideshowPagination.tsx +3 -4
  357. package/dist/lib/components/Slideshow/index.ts +0 -2
  358. package/dist/lib/components/Slideshow/styles.tsx +0 -2
  359. package/dist/lib/components/Slideshow/subtypes.ts +0 -2
  360. package/dist/lib/components/Slideshow/types.ts +0 -2
  361. package/dist/lib/components/SrOnly/SrOnly.tsx +28 -17
  362. package/dist/lib/components/SrOnly/index.ts +0 -2
  363. package/dist/lib/components/SrOnly/styles.tsx +0 -2
  364. package/dist/lib/components/SrOnly/types.ts +0 -2
  365. package/dist/lib/components/Stepper/Step.tsx +106 -102
  366. package/dist/lib/components/Stepper/Stepper.tsx +83 -87
  367. package/dist/lib/components/Stepper/index.ts +0 -2
  368. package/dist/lib/components/Stepper/styles.tsx +0 -2
  369. package/dist/lib/components/Stepper/types.ts +0 -6
  370. package/dist/lib/components/Sticky/Sticky.tsx +38 -24
  371. package/dist/lib/components/Sticky/index.ts +0 -2
  372. package/dist/lib/components/Sticky/styles.tsx +0 -2
  373. package/dist/lib/components/Sticky/types.ts +0 -2
  374. package/dist/lib/components/Table/TBody.tsx +22 -12
  375. package/dist/lib/components/Table/THead.tsx +22 -12
  376. package/dist/lib/components/Table/Table.tsx +114 -110
  377. package/dist/lib/components/Table/Td.tsx +29 -20
  378. package/dist/lib/components/Table/Tr.tsx +18 -12
  379. package/dist/lib/components/Table/index.ts +0 -2
  380. package/dist/lib/components/Table/styles.tsx +0 -2
  381. package/dist/lib/components/Table/types.ts +0 -12
  382. package/dist/lib/components/Tabs/TabButton.tsx +47 -43
  383. package/dist/lib/components/Tabs/TabItem.tsx +38 -27
  384. package/dist/lib/components/Tabs/Tabs.tsx +109 -106
  385. package/dist/lib/components/Tabs/TabsButtonsContainer.tsx +42 -40
  386. package/dist/lib/components/Tabs/TabsContainer.tsx +30 -17
  387. package/dist/lib/components/Tabs/index.ts +0 -2
  388. package/dist/lib/components/Tabs/styles.tsx +0 -2
  389. package/dist/lib/components/Tabs/types.ts +0 -12
  390. package/dist/lib/components/Tag/Tag.tsx +91 -87
  391. package/dist/lib/components/Tag/index.ts +0 -2
  392. package/dist/lib/components/Tag/styles.tsx +0 -2
  393. package/dist/lib/components/Tag/types.ts +0 -2
  394. package/dist/lib/components/Text/Text.tsx +52 -50
  395. package/dist/lib/components/Text/index.ts +0 -2
  396. package/dist/lib/components/Text/styles.tsx +22 -2
  397. package/dist/lib/components/Text/subtypes.ts +0 -2
  398. package/dist/lib/components/Text/templates/Blockquote.tsx +25 -31
  399. package/dist/lib/components/Text/templates/Dl.tsx +25 -31
  400. package/dist/lib/components/Text/templates/Em.tsx +25 -31
  401. package/dist/lib/components/Text/templates/H1.tsx +27 -33
  402. package/dist/lib/components/Text/templates/H2.tsx +27 -33
  403. package/dist/lib/components/Text/templates/H3.tsx +27 -33
  404. package/dist/lib/components/Text/templates/H4.tsx +27 -33
  405. package/dist/lib/components/Text/templates/H5.tsx +27 -33
  406. package/dist/lib/components/Text/templates/H6.tsx +25 -31
  407. package/dist/lib/components/Text/templates/Ol.tsx +25 -31
  408. package/dist/lib/components/Text/templates/P.tsx +25 -31
  409. package/dist/lib/components/Text/templates/Small.tsx +25 -31
  410. package/dist/lib/components/Text/templates/Strong.tsx +25 -31
  411. package/dist/lib/components/Text/templates/Ul.tsx +25 -31
  412. package/dist/lib/components/Text/types.ts +0 -2
  413. package/dist/lib/components/TextIcon/TextIcon.tsx +88 -92
  414. package/dist/lib/components/TextIcon/index.ts +0 -2
  415. package/dist/lib/components/TextIcon/styles.tsx +0 -2
  416. package/dist/lib/components/TextIcon/types.ts +0 -2
  417. package/dist/lib/components/TextIcon/utils.ts +0 -1
  418. package/dist/lib/components/Timepicker/Timepicker.tsx +249 -237
  419. package/dist/lib/components/Timepicker/index.ts +0 -2
  420. package/dist/lib/components/Timepicker/styles.tsx +0 -2
  421. package/dist/lib/components/Timepicker/types.ts +0 -2
  422. package/dist/lib/components/Toast/Toast.tsx +160 -168
  423. package/dist/lib/components/Toast/Toaster.tsx +108 -120
  424. package/dist/lib/components/Toast/index.ts +1 -3
  425. package/dist/lib/components/Toast/styles.tsx +0 -2
  426. package/dist/lib/components/Toast/types.ts +0 -2
  427. package/dist/lib/components/Tooltip/Tooltip.tsx +113 -104
  428. package/dist/lib/components/Tooltip/index.ts +0 -2
  429. package/dist/lib/components/Tooltip/styles.tsx +0 -2
  430. package/dist/lib/components/Tooltip/types.ts +0 -2
  431. package/dist/lib/components/Truncate/Truncate.tsx +105 -90
  432. package/dist/lib/components/Truncate/index.ts +0 -2
  433. package/dist/lib/components/Truncate/styles.tsx +1 -2
  434. package/dist/lib/components/Truncate/types.ts +0 -2
  435. package/dist/lib/components/Video/Video.tsx +63 -55
  436. package/dist/lib/components/Video/index.ts +0 -2
  437. package/dist/lib/components/Video/styles.tsx +0 -2
  438. package/dist/lib/components/Video/types.ts +0 -2
  439. package/dist/lib/components/Wrapper/Wrapper.tsx +44 -37
  440. package/dist/lib/components/Wrapper/index.ts +0 -2
  441. package/dist/lib/components/Wrapper/styles.tsx +6 -3
  442. package/dist/lib/components/Wrapper/types.ts +0 -2
  443. package/dist/lib/components/Youtube/Youtube.tsx +42 -37
  444. package/dist/lib/components/Youtube/index.ts +0 -2
  445. package/dist/lib/components/Youtube/styles.tsx +0 -2
  446. package/dist/lib/components/Youtube/types.ts +0 -2
  447. package/dist/lib/context/Theme.context.tsx +21 -13
  448. package/dist/lib/context/Toaster/Toaster.context.tsx +18 -18
  449. package/dist/lib/context/Toaster/index.ts +1 -3
  450. package/dist/lib/context/Toaster/toast.reducer.ts +0 -2
  451. package/dist/lib/hooks/index.ts +0 -2
  452. package/dist/lib/hooks/useClickOutside.tsx +14 -9
  453. package/dist/lib/hooks/useCopyToClipboard.tsx +9 -4
  454. package/dist/lib/hooks/useDebounce.tsx +11 -6
  455. package/dist/lib/hooks/useExportData.tsx +14 -4
  456. package/dist/lib/hooks/useFetch.tsx +11 -6
  457. package/dist/lib/hooks/useForm.tsx +16 -6
  458. package/dist/lib/hooks/useIsOverflow.ts +16 -14
  459. package/dist/lib/hooks/useKeyPress.tsx +12 -6
  460. package/dist/lib/hooks/useMaxWidth.tsx +9 -5
  461. package/dist/lib/hooks/useMergeRefs.ts +15 -12
  462. package/dist/lib/hooks/useMinWidth.tsx +9 -5
  463. package/dist/lib/hooks/usePaginatedData.tsx +11 -6
  464. package/dist/lib/hooks/usePagination.tsx +18 -8
  465. package/dist/lib/hooks/useTouchScreen.tsx +8 -4
  466. package/dist/lib/hooks/useTranslation.tsx +18 -5
  467. package/dist/lib/icons/ArrowUp.tsx +3 -4
  468. package/dist/lib/icons/Bold.tsx +3 -4
  469. package/dist/lib/icons/Calendar.tsx +3 -4
  470. package/dist/lib/icons/CaretDown.tsx +3 -4
  471. package/dist/lib/icons/Check.tsx +3 -4
  472. package/dist/lib/icons/CheckCircle.tsx +3 -4
  473. package/dist/lib/icons/ChevronDown.tsx +3 -4
  474. package/dist/lib/icons/ChevronLeft.tsx +3 -4
  475. package/dist/lib/icons/ChevronRight.tsx +3 -4
  476. package/dist/lib/icons/ChevronUp.tsx +3 -4
  477. package/dist/lib/icons/Clipboard.tsx +3 -4
  478. package/dist/lib/icons/Clock.tsx +3 -4
  479. package/dist/lib/icons/Close.tsx +3 -4
  480. package/dist/lib/icons/CloseCircle.tsx +3 -4
  481. package/dist/lib/icons/Code.tsx +3 -4
  482. package/dist/lib/icons/CodeBlock.tsx +3 -4
  483. package/dist/lib/icons/Comment.tsx +3 -4
  484. package/dist/lib/icons/Drag.tsx +3 -4
  485. package/dist/lib/icons/Edit.tsx +3 -4
  486. package/dist/lib/icons/EditorCode.tsx +3 -4
  487. package/dist/lib/icons/EditorLive.tsx +3 -4
  488. package/dist/lib/icons/EditorPreview.tsx +3 -4
  489. package/dist/lib/icons/Hide.tsx +3 -4
  490. package/dist/lib/icons/Image.tsx +3 -4
  491. package/dist/lib/icons/Italic.tsx +3 -4
  492. package/dist/lib/icons/Link.tsx +3 -4
  493. package/dist/lib/icons/Minus.tsx +3 -4
  494. package/dist/lib/icons/OrderedList.tsx +3 -4
  495. package/dist/lib/icons/Plus.tsx +3 -4
  496. package/dist/lib/icons/Quote.tsx +3 -4
  497. package/dist/lib/icons/Search.tsx +3 -4
  498. package/dist/lib/icons/Send.tsx +3 -4
  499. package/dist/lib/icons/Separator.tsx +3 -4
  500. package/dist/lib/icons/Show.tsx +3 -4
  501. package/dist/lib/icons/Star.tsx +3 -4
  502. package/dist/lib/icons/StarFull.tsx +3 -4
  503. package/dist/lib/icons/Strikethrough.tsx +3 -4
  504. package/dist/lib/icons/Underline.tsx +3 -8
  505. package/dist/lib/icons/UnorderedList.tsx +3 -4
  506. package/dist/lib/icons/index.ts +0 -2
  507. package/dist/lib/icons/styles.tsx +0 -2
  508. package/dist/lib/icons/types.ts +0 -2
  509. package/dist/lib/index.css +60 -100
  510. package/dist/lib/index.ts +2 -4
  511. package/dist/lib/lib-utils/append-styles.ts +0 -2
  512. package/dist/lib/lib-utils/colors-maps.ts +144 -146
  513. package/dist/lib/lib-utils/generate-lib-tokens.ts +0 -2
  514. package/dist/lib/lib-utils/get-highlighted-text.tsx +0 -2
  515. package/dist/lib/lib-utils/get-icon-size-from-font.ts +0 -2
  516. package/dist/lib/lib-utils/index.ts +0 -2
  517. package/dist/lib/lib-utils/round-icon-size.ts +0 -2
  518. package/dist/lib/lib-utils/transfom-search-keys.ts +1 -3
  519. package/dist/lib/modules-declare.d.ts +1 -0
  520. package/dist/lib/types/component-items.ts +2 -38
  521. package/dist/lib/types/components-props.ts +1 -2
  522. package/dist/lib/types/{type-values.ts → design-tokens.ts} +2 -3
  523. package/dist/lib/types/generate-int-range.ts +0 -2
  524. package/dist/lib/types/global.ts +74 -82
  525. package/dist/lib/types/index.ts +1 -3
  526. package/dist/lib/types/theme.ts +0 -2
  527. package/dist/lib/utils/StyleSheetManager.tsx +0 -2
  528. package/dist/lib/utils/index.ts +0 -2
  529. package/dist/lib/utils/linkify-text.tsx +0 -2
  530. package/dist/lib/utils/options-markdown.ts +0 -2
  531. package/dist/lib/utils/set-default-theme.ts +1 -3
  532. package/package.json +106 -107
  533. package/dist/lib/components/Helmet/Helmet.tsx +0 -65
  534. package/dist/lib/components/Helmet/index.ts +0 -3
  535. package/dist/lib/components/Helmet/types.ts +0 -18
@@ -0,0 +1,3 @@
1
+
2
+
3
+ export * from "./Meta"
@@ -0,0 +1,14 @@
1
+ import type { ReactChildren } from "../../types"
2
+
3
+ export interface ILibMeta {
4
+ title: string
5
+ favicon?: string
6
+ description?: string
7
+ keywords?: Array<string>
8
+ author?: string
9
+ type?: string
10
+ cover?: string
11
+ siteName?: string
12
+ language?: string
13
+ children?: ReactChildren
14
+ }
@@ -1,6 +1,4 @@
1
- /*=============================================== Modal component ===============================================*/
2
-
3
- import { forwardRef, useCallback, useRef } from "react"
1
+ import { useCallback, useRef, type FC } from "react"
4
2
  import classNames from "classnames"
5
3
  import { enableScroll, getRandomString, stringifyPx } from "@julseb-lib/utils"
6
4
  import { useKeyPress, useClickOutside } from "../../"
@@ -13,115 +11,124 @@ const BUTTON_SIZE = 48
13
11
  const BUTTON_LABEL = "Close modal"
14
12
 
15
13
  /**
16
- * @description Returns a Modal component
17
- * @link https://documentation-components-react.vercel.app/components/modal
14
+ * Modal component for displaying content in a dialog overlay with flexible close options, width, and layout.
15
+ *
16
+ * @component
18
17
  * @extends ILibFlexbox
19
- * @prop data-testid?: string
20
- * @prop as?: ElementType
21
- * @prop ref?: ForwardedRef<HTMLDivElement>
22
- * @prop isOpen: boolean
23
- * @prop setIsOpen: Dispatch<SetStateAction<boolean>>
24
- * @prop disableEsc?: boolean
25
- * @prop contentWidth?: string | number
26
- * @prop contentId?: string
27
- * @prop hideCloseButton?: boolean
28
- * @prop buttonClose?: { icon?: string | JSX.Element; color?: "primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"; size?: number; variant?: "plain" | "ghost" | "transparent"; label?: string } => only if hideCloseButton is not set to true
29
- * @prop flexDirection?: CssFlexDirection
30
- * @prop flexWrap?: CssFlexWrap
31
- * @prop justifyContent?: CssJustifyContent
32
- * @prop alignItems?: CssAlignItems
33
- * @prop justifyItems?: CssJustifyItems
34
- * @prop alignContent?: CssAlignContent
35
- * @prop gap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
36
- * @prop columnGap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
37
- * @prop rowGap?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"
38
- * @prop padding?: "xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px" | { left?: LibSpacers | "auto"; top?: LibSpacers | "auto"; right?: LibSpacers | "auto"; bottom?: LibSpacers | "auto"; leftRight?: LibSpacers | "auto"; topBottom?: LibSpacers | "auto" }
18
+ * @param {Object} props - Modal props.
19
+ * @param {string} [props.data-testid] - Test id for testing purposes.
20
+ * @param {ElementType} [props.as] - Custom element type to render as.
21
+ * @param {Ref<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
22
+ * @param {ReactNode} [props.children] - Modal content.
23
+ * @param {string} [props.className] - Additional class names.
24
+ * @param {boolean} props.isOpen - Whether the modal is open.
25
+ * @param {Dispatch<React.SetStateAction<boolean>>} props.setIsOpen - Setter for modal open state.
26
+ * @param {boolean} [props.disableEsc] - Disable closing the modal with the Escape key.
27
+ * @param {string|number} [props.contentWidth] - Width of the modal content.
28
+ * @param {string} [props.contentId] - ID for the modal content container.
29
+ * @param {boolean} [props.hideCloseButton] - Hide the close button.
30
+ * @param {{ icon?: string | JSX.Element; color?: "primary" | "secondary" | "success" | "danger" | "warning" | "white" | "gray" | "font" | "background"; size?: number; variant?: "plain" | "ghost" | "transparent"; label?: string }} [props.buttonClose] - Customization for the close button (only if hideCloseButton is not set to true).
31
+ * @param {CssFlexDirection} [props.flexDirection] - Flex direction.
32
+ * @param {CssFlexWrap} [props.flexWrap] - Flex wrap.
33
+ * @param {CssJustifyContent} [props.justifyContent] - Justify content.
34
+ * @param {CssAlignItems} [props.alignItems] - Align items.
35
+ * @param {CssJustifyItems} [props.justifyItems] - Justify items.
36
+ * @param {CssAlignContent} [props.alignContent] - Align content.
37
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.gap] - Gap between elements.
38
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.columnGap] - Column gap.
39
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px"} [props.rowGap] - Row gap.
40
+ * @param {"xxl" | "xl" | "l" | "m" | "s" | "xs" | "xxs" | number | "0px" | { left?: LibSpacers | "auto"; top?: LibSpacers | "auto"; right?: LibSpacers | "auto"; bottom?: LibSpacers | "auto"; leftRight?: LibSpacers | "auto"; topBottom?: LibSpacers | "auto" }} [props.padding] - Padding for the modal container.
41
+ * @param {any} [props.rest] - Additional props passed to the root element.
42
+ * @returns {JSX.Element} The rendered Modal component.
43
+ *
44
+ * @see https://documentation-components-react.vercel.app/components/modal
45
+ * @example
46
+ * <Modal isOpen={isOpen} setIsOpen={setIsOpen}>
47
+ * <h2>Modal title</h2>
48
+ * <p>Modal content goes here.</p>
49
+ * </Modal>
39
50
  */
40
- export const Modal = forwardRef<HTMLDivElement, ILibModal>(
41
- (
42
- {
43
- "data-testid": testid,
44
- as,
45
- children,
46
- className,
47
- isOpen,
48
- setIsOpen,
49
- disableEsc,
50
- buttonClose,
51
- hideCloseButton,
52
- contentWidth,
53
- contentId,
54
- ...rest
55
- },
56
- ref
57
- ) => {
58
- const handleClose = useCallback(() => {
59
- setIsOpen(false)
60
- enableScroll()
61
- }, [setIsOpen])
51
+ export const Modal: FC<ILibModal> = ({
52
+ "data-testid": testid,
53
+ as,
54
+ ref,
55
+ children,
56
+ className,
57
+ isOpen,
58
+ setIsOpen,
59
+ disableEsc,
60
+ buttonClose,
61
+ hideCloseButton,
62
+ contentWidth,
63
+ contentId,
64
+ ...rest
65
+ }) => {
66
+ const handleClose = useCallback(() => {
67
+ setIsOpen(false)
68
+ enableScroll()
69
+ }, [setIsOpen])
62
70
 
63
- useKeyPress(
64
- ["Escape"],
65
- useCallback(() => {
66
- if (isOpen && !disableEsc) handleClose()
67
- }, [disableEsc, handleClose, isOpen])
68
- )
71
+ useKeyPress(
72
+ ["Escape"],
73
+ useCallback(() => {
74
+ if (isOpen && !disableEsc) handleClose()
75
+ }, [disableEsc, handleClose, isOpen])
76
+ )
69
77
 
70
- const el = useRef<HTMLDivElement>(null)
78
+ const el = useRef<HTMLDivElement>(null)
71
79
 
72
- useClickOutside(el, () => handleClose())
80
+ useClickOutside(el, () => handleClose())
73
81
 
74
- const randomClass = getRandomString(10, true)
75
- const withClass = className?.split(" ")[0] || randomClass
82
+ const randomClass = getRandomString(10, true)
83
+ const withClass = className?.split(" ")[0] || randomClass
76
84
 
77
- appendStyles(`
85
+ appendStyles(`
78
86
  ${contentId ? `#${contentId}` : `.${withClass}`} {
79
87
  --modal-content-width: ${stringifyPx(contentWidth || "90%")};
80
88
  }
81
89
  `)
82
90
 
83
- return (
84
- <StyledModal
85
- data-testid={testid}
86
- ref={ref}
87
- as={as}
88
- className={classNames(className, randomClass, {
89
- Open: isOpen,
90
- })}
91
- {...rest}
91
+ return (
92
+ <StyledModal
93
+ data-testid={testid}
94
+ ref={ref}
95
+ as={as}
96
+ className={classNames(className, randomClass, {
97
+ Open: isOpen,
98
+ })}
99
+ {...rest}
100
+ >
101
+ <ModalContent
102
+ data-testid={testid && `${testid}.ModalContent`}
103
+ className={className && "ModalContent"}
104
+ ref={el}
105
+ id={contentId}
92
106
  >
93
- <ModalContent
94
- data-testid={testid && `${testid}.ModalContent`}
95
- className={className && "ModalContent"}
96
- ref={el}
97
- id={contentId}
98
- >
99
- {children}
100
- </ModalContent>
107
+ {children}
108
+ </ModalContent>
101
109
 
102
- {!hideCloseButton && (
103
- <ButtonClose
104
- data-testid={testid && `${testid}.ButtonClose`}
105
- className={className && "ButtonClose"}
106
- aria-label={buttonClose?.label || BUTTON_LABEL}
107
- icon={
108
- buttonClose?.icon || (
109
- <Close
110
- size={roundIconSize(BUTTON_SIZE)}
111
- data-testid={
112
- testid && `${testid}.ButtonClose.Icon`
113
- }
114
- className={className && "ButtonCloseIcon"}
115
- />
116
- )
117
- }
118
- size={buttonClose?.size || BUTTON_SIZE}
119
- color={buttonClose?.color || "white"}
120
- variant={buttonClose?.variant || "transparent"}
121
- onClick={handleClose}
122
- />
123
- )}
124
- </StyledModal>
125
- )
126
- }
127
- )
110
+ {!hideCloseButton && (
111
+ <ButtonClose
112
+ data-testid={testid && `${testid}.ButtonClose`}
113
+ className={className && "ButtonClose"}
114
+ aria-label={buttonClose?.label || BUTTON_LABEL}
115
+ icon={
116
+ buttonClose?.icon || (
117
+ <Close
118
+ size={roundIconSize(BUTTON_SIZE)}
119
+ data-testid={
120
+ testid && `${testid}.ButtonClose.Icon`
121
+ }
122
+ className={className && "ButtonCloseIcon"}
123
+ />
124
+ )
125
+ }
126
+ size={buttonClose?.size || BUTTON_SIZE}
127
+ color={buttonClose?.color || "white"}
128
+ variant={buttonClose?.variant || "transparent"}
129
+ onClick={handleClose}
130
+ />
131
+ )}
132
+ </StyledModal>
133
+ )
134
+ }
@@ -1,3 +1 @@
1
- /*=============================================== Modal exports ===============================================*/
2
-
3
1
  export * from "./Modal"
@@ -1,5 +1,3 @@
1
- /*=============================================== Modal styles ===============================================*/
2
-
3
1
  import styled from "styled-components"
4
2
  import {
5
3
  Flexbox,
@@ -1,5 +1,3 @@
1
- /*=============================================== Modal types ===============================================*/
2
-
3
1
  import type {
4
2
  LibButtonVariant,
5
3
  LibColorsHover,
@@ -1,80 +1,96 @@
1
- /*=============================================== PageLayout component ===============================================*/
2
-
3
- import { Helmet, Header, Wrapper, Main, Footer, PageLoading } from "../../"
1
+ import type { FC } from "react"
2
+ import { Meta, Header, Wrapper, Main, Footer, PageLoading } from "../../"
4
3
  import type { ILibPageLayout } from "./types"
5
4
 
6
5
  /**
7
- * @description Returns a PageLayout component
8
- * @link https://documentation-components-react.vercel.app/components/page-layout
9
- * @prop data-testid?: string
10
- * @prop isLoading?: boolean
11
- * @prop titleLoading?: string
12
- * @prop pageLoading?: ILibPageLoading => imported from PageLoading component
13
- * @prop helmet?: ILibHelmet => imported from Helmet component
14
- * @prop header?: ILibHeader & { nav?: JSX.Element } => imported from Header component
15
- * @prop footer?: ILibFooter => imported from Footer component
16
- * @prop wrapper?: ILibWrapper => imported from Wrapper component, only if noWrapper is not set to true
17
- * @prop noWrapper?: false
18
- * @prop template?: "single" | "multi"
19
- * @prop main?: ILibMain => imported from Main component, only if template is set to single
20
- * @prop mainMinHeight?: string | number => only if template is set to single
6
+ * PageLayout component for rendering a full page layout with optional header, footer, wrapper, main content, and loading state.
7
+ *
8
+ * @component
9
+ * @extends React.FC
10
+ * @param {Object} props - PageLayout props.
11
+ * @param {string} [props.data-testid] - Test id for testing purposes.
12
+ * @param {boolean} [props.isLoading] - Whether the page is in a loading state.
13
+ * @param {string} [props.titleLoading] - Title to display in the Helmet while loading.
14
+ * @param {ILibPageLoading} [props.pageLoading] - Props for the PageLoading component.
15
+ * @param {ILibHelmet} [props.helmet] - Props for the Helmet component.
16
+ * @param {ILibHeader & { nav?: JSX.Element }} [props.header] - Props for the Header component, with optional navigation.
17
+ * @param {ILibFooter} [props.footer] - Props for the Footer component.
18
+ * @param {ILibWrapper} [props.wrapper] - Props for the Wrapper component (only if noWrapper is not set to true).
19
+ * @param {boolean} [props.noWrapper] - If true, disables the Wrapper component.
20
+ * @param {"single" | "multi"} [props.template="single"] - Layout template type.
21
+ * @param {ILibMain} [props.main] - Props for the Main component (only if template is "single").
22
+ * @param {string|number} [props.mainMinHeight="85vh"] - Minimum height for the Main component (only if template is "single").
23
+ * @param {ReactNode} [props.children] - Page content.
24
+ * @returns {JSX.Element} The rendered PageLayout component.
25
+ *
26
+ * @see https://documentation-components-react.vercel.app/components/page-layout
27
+ * @example
28
+ * <PageLayout
29
+ * isLoading={loading}
30
+ * helmet={{ title: "My Page" }}
31
+ * header={{ title: "Header" }}
32
+ * footer={{ copyright: "© 2025" }}
33
+ * >
34
+ * <h1>Welcome</h1>
35
+ * <p>This is the main content.</p>
36
+ * </PageLayout>
21
37
  */
22
- export const PageLayout = ({
23
- children,
24
- isLoading,
25
- pageLoading,
26
- titleLoading,
27
- helmet,
28
- header,
29
- footer,
30
- noWrapper,
31
- wrapper,
32
- template = "single",
33
- main,
34
- mainMinHeight = "85vh",
35
- }: ILibPageLayout) => {
36
- return (
37
- <>
38
- {helmet && (
39
- <Helmet
40
- {...helmet}
41
- title={
42
- isLoading && titleLoading ? titleLoading : helmet.title
43
- }
44
- />
45
- )}
38
+ export const PageLayout: FC<ILibPageLayout> = ({
39
+ children,
40
+ isLoading,
41
+ pageLoading,
42
+ titleLoading,
43
+ meta: helmet,
44
+ header,
45
+ footer,
46
+ noWrapper,
47
+ wrapper,
48
+ template = "single",
49
+ main,
50
+ mainMinHeight = "85vh",
51
+ }) => {
52
+ return (
53
+ <>
54
+ {helmet && (
55
+ <Meta
56
+ {...helmet}
57
+ title={
58
+ isLoading && titleLoading ? titleLoading : helmet.title
59
+ }
60
+ />
61
+ )}
46
62
 
47
- {isLoading ? (
48
- <PageLoading {...pageLoading} />
49
- ) : (
50
- <>
51
- {header && (
52
- <Header {...(header as any)}>
53
- {header?.nav && header?.nav}
54
- </Header>
55
- )}
63
+ {isLoading ? (
64
+ <PageLoading {...pageLoading} />
65
+ ) : (
66
+ <>
67
+ {header && (
68
+ <Header {...(header as any)}>
69
+ {header?.nav && header?.nav}
70
+ </Header>
71
+ )}
56
72
 
57
- {!noWrapper ? (
58
- <Wrapper className="wrapper" {...wrapper}>
59
- {template === "single" ? (
60
- <Main
61
- className="main"
62
- minHeight={mainMinHeight}
63
- {...(main as any)}
64
- >
65
- {children}
66
- </Main>
67
- ) : (
68
- children
69
- )}
70
- </Wrapper>
71
- ) : (
72
- children
73
- )}
73
+ {!noWrapper ? (
74
+ <Wrapper className="wrapper" {...wrapper}>
75
+ {template === "single" ? (
76
+ <Main
77
+ className="main"
78
+ minHeight={mainMinHeight}
79
+ {...(main as any)}
80
+ >
81
+ {children}
82
+ </Main>
83
+ ) : (
84
+ children
85
+ )}
86
+ </Wrapper>
87
+ ) : (
88
+ children
89
+ )}
74
90
 
75
- {footer && <Footer {...(footer as any)} />}
76
- </>
77
- )}
78
- </>
79
- )
91
+ {footer && <Footer {...(footer as any)} />}
92
+ </>
93
+ )}
94
+ </>
95
+ )
80
96
  }
@@ -1,3 +1 @@
1
- /*=============================================== PageLayout exports ===============================================*/
2
-
3
1
  export * from "./PageLayout"
@@ -1,7 +1,5 @@
1
- /*=============================================== PageLayout types ===============================================*/
2
-
3
1
  import type { ReactChildren, LibPageLayoutTemplate } from "../../types"
4
- import type { ILibHelmet } from "../Helmet/types"
2
+ import type { ILibMeta } from "../Meta/types"
5
3
  import type { ILibHeader } from "../Header/types"
6
4
  import type { ILibWrapper } from "../Wrapper/types"
7
5
  import type { ILibMain } from "../Main/types"
@@ -9,39 +7,39 @@ import type { ILibPageLoading } from "../PageLoading/types"
9
7
  import type { ILibFooter } from "../Footer/types"
10
8
 
11
9
  interface ILibPageLayoutBase {
12
- children?: ReactChildren
13
- isLoading?: boolean
14
- pageLoading?: ILibPageLoading
15
- titleLoading?: string
16
- helmet?: Omit<ILibHelmet, "children">
17
- header?: Omit<ILibHeader, "children"> & { nav?: JSX.Element }
18
- footer?: Omit<ILibFooter, "children">
10
+ children?: ReactChildren
11
+ isLoading?: boolean
12
+ pageLoading?: ILibPageLoading
13
+ titleLoading?: string
14
+ meta?: Omit<ILibMeta, "children">
15
+ header?: Omit<ILibHeader, "children"> & { nav?: ReactChildren }
16
+ footer?: Omit<ILibFooter, "children">
19
17
  }
20
18
 
21
19
  interface PageLayoutWithWrapper extends ILibPageLayoutBase {
22
- noWrapper?: false | undefined
23
- wrapper?: Omit<ILibWrapper, "children">
20
+ noWrapper?: false | undefined
21
+ wrapper?: Omit<ILibWrapper, "children">
24
22
  }
25
23
 
26
24
  interface PageLayoutWitouthWrapper extends ILibPageLayoutBase {
27
- noWrapper?: true
28
- wrapper?: never
25
+ noWrapper?: true
26
+ wrapper?: never
29
27
  }
30
28
 
31
29
  type ILibPageLayoutWrapper = PageLayoutWithWrapper | PageLayoutWitouthWrapper
32
30
 
33
31
  type PageLayoutWithSingleTemplate = ILibPageLayoutWrapper & {
34
- template?: Extract<LibPageLayoutTemplate, "single">
35
- main?: Omit<ILibMain, "children">
36
- mainMinHeight?: string | number
32
+ template?: Extract<LibPageLayoutTemplate, "single">
33
+ main?: Omit<ILibMain, "children">
34
+ mainMinHeight?: string | number
37
35
  }
38
36
 
39
37
  type PageLayoutWithMultiTemplate = ILibPageLayoutWrapper & {
40
- template?: Extract<LibPageLayoutTemplate, "multi">
41
- main?: never
42
- mainMinHeight?: never
38
+ template?: Extract<LibPageLayoutTemplate, "multi">
39
+ main?: never
40
+ mainMinHeight?: never
43
41
  }
44
42
 
45
43
  export type ILibPageLayout =
46
- | PageLayoutWithSingleTemplate
47
- | PageLayoutWithMultiTemplate
44
+ | PageLayoutWithSingleTemplate
45
+ | PageLayoutWithMultiTemplate
@@ -1,64 +1,67 @@
1
- /*=============================================== PageLoading component ===============================================*/
2
-
3
- import { forwardRef, useEffect } from "react"
1
+ import { useEffect, type FC } from "react"
4
2
  import { disableScroll } from "@julseb-lib/utils"
5
3
  import { Loader } from "../../"
6
4
  import { StyledPageLoading } from "./styles"
7
5
  import type { ILibPageLoading } from "./types"
8
6
 
9
7
  /**
10
- * @description Returns a PageLoading component
11
- * @link https://documentation-components-react.vercel.app/components/page-loading
8
+ * PageLoading component for displaying a fullscreen loading spinner with customizable background, loader color, and variant.
9
+ *
10
+ * @component
12
11
  * @extends HTMLDivElement
13
- * @prop data-testid?: string
14
- * @prop as?: ElementType
15
- * @prop ref?: ForwardedRef<HTMLDivElement>
16
- * @prop backgroundColor?: Any color from the library
17
- * @prop loaderColor?: Any color from the library
18
- * @prop loaderVariant?: 1 | 2 | 3 | 4
19
- * @prop stopScrolling?: boolean
12
+ * @param {Object} props - PageLoading 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 {Ref<HTMLDivElement>} [props.ref] - Ref forwarded to the root element.
16
+ * @param {string} [props.backgroundColor="primary"] - Background color for the loading overlay.
17
+ * @param {string} [props.loaderColor="white"] - Color for the loader spinner.
18
+ * @param {1 | 2 | 3 | 4} [props.loaderVariant=1] - Loader visual variant.
19
+ * @param {boolean} [props.stopScrolling] - Disable page scrolling while loading.
20
+ * @param {string} [props.className] - Additional class names.
21
+ * @param {any} [props.rest] - Additional props passed to the root element.
22
+ * @returns {JSX.Element} The rendered PageLoading component.
23
+ *
24
+ * @see https://documentation-components-react.vercel.app/components/page-loading
25
+ * @example
26
+ * <PageLoading backgroundColor="gray" loaderColor="primary" loaderVariant={2} stopScrolling />
20
27
  */
21
- export const PageLoading = forwardRef<HTMLDivElement, ILibPageLoading>(
22
- (
23
- {
24
- "data-testid": testid,
25
- as,
26
- className,
27
- backgroundColor = "primary",
28
- loaderColor = "white",
29
- loaderVariant = 1,
30
- stopScrolling,
31
- ...rest
32
- },
33
- ref
34
- ) => {
35
- useEffect(() => {
36
- if (stopScrolling) disableScroll()
37
- }, [stopScrolling])
38
-
39
- const loaderProps = {
40
- "data-testid": testid && `${testid}.Loader`,
41
- size: 64,
42
- color: loaderColor
43
- ? loaderColor
44
- : backgroundColor === "white"
45
- ? "primary"
46
- : "background",
47
- className: className && "Loader",
48
- variant: loaderVariant,
49
- }
28
+ export const PageLoading: FC<ILibPageLoading> = ({
29
+ "data-testid": testid,
30
+ as,
31
+ ref,
32
+ className,
33
+ backgroundColor = "primary",
34
+ loaderColor = "white",
35
+ loaderVariant = 1,
36
+ stopScrolling,
37
+ ...rest
38
+ }) => {
39
+ useEffect(() => {
40
+ if (stopScrolling) disableScroll()
41
+ }, [stopScrolling])
50
42
 
51
- return (
52
- <StyledPageLoading
53
- data-testid={testid}
54
- ref={ref}
55
- as={as}
56
- className={className}
57
- $backgroundColor={backgroundColor}
58
- {...rest}
59
- >
60
- <Loader {...(loaderProps as any)} />
61
- </StyledPageLoading>
62
- )
43
+ const loaderProps = {
44
+ "data-testid": testid && `${testid}.Loader`,
45
+ size: 64,
46
+ color: loaderColor
47
+ ? loaderColor
48
+ : backgroundColor === "white"
49
+ ? "primary"
50
+ : "background",
51
+ className: className && "Loader",
52
+ variant: loaderVariant,
63
53
  }
64
- )
54
+
55
+ return (
56
+ <StyledPageLoading
57
+ data-testid={testid}
58
+ ref={ref}
59
+ as={as}
60
+ className={className}
61
+ $backgroundColor={backgroundColor}
62
+ {...rest}
63
+ >
64
+ <Loader {...(loaderProps as any)} />
65
+ </StyledPageLoading>
66
+ )
67
+ }
@@ -1,3 +1 @@
1
- /*=============================================== PageLoading exports ===============================================*/
2
-
3
1
  export * from "./PageLoading"