mblabs-roccato-frontend-commons 0.2.26 → 0.2.27

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 (541) hide show
  1. package/README.md +241 -241
  2. package/dist/index.d.ts +221 -221
  3. package/dist/mblabs-roccato-frontend-commons.css +1 -1
  4. package/dist/mblabs-roccato-frontend-commons.js +30858 -24857
  5. package/package.json +157 -157
  6. package/src/components/atoms/AudioPlayer/__snapshots__/audio-player.test.tsx.snap +22 -0
  7. package/src/components/atoms/AudioPlayer/audio-player.stories.tsx +36 -36
  8. package/src/components/atoms/AudioPlayer/audio-player.test.tsx +19 -19
  9. package/src/components/atoms/AudioPlayer/audio-player.tsx +13 -13
  10. package/src/components/atoms/AudioPlayer/index.ts +1 -1
  11. package/src/components/atoms/Badge/__snapshots__/badge.test.tsx.snap +12 -0
  12. package/src/components/atoms/Badge/badge.stories.tsx +80 -80
  13. package/src/components/atoms/Badge/badge.test.tsx +59 -59
  14. package/src/components/atoms/Badge/badge.tsx +47 -47
  15. package/src/components/atoms/Badge/index.ts +1 -1
  16. package/src/components/atoms/Box/__snapshots__/box.test.tsx.snap +10 -0
  17. package/src/components/atoms/Box/box.stories.tsx +37 -37
  18. package/src/components/atoms/Box/box.test.tsx +47 -47
  19. package/src/components/atoms/Box/box.tsx +7 -7
  20. package/src/components/atoms/Box/index.ts +1 -1
  21. package/src/components/atoms/Button/__snapshots__/button.test.tsx.snap +13 -0
  22. package/src/components/atoms/Button/button.stories.tsx +108 -108
  23. package/src/components/atoms/Button/button.test.tsx +54 -54
  24. package/src/components/atoms/Button/button.tsx +96 -96
  25. package/src/components/atoms/Button/index.ts +1 -1
  26. package/src/components/atoms/ButtonUpload/button-upload.stories.tsx +137 -137
  27. package/src/components/atoms/ButtonUpload/button-upload.tsx +303 -303
  28. package/src/components/atoms/Calendar/__snapshots__/calendar.test.tsx.snap +936 -0
  29. package/src/components/atoms/Calendar/calendar.stories.tsx +65 -65
  30. package/src/components/atoms/Calendar/calendar.test.tsx +93 -93
  31. package/src/components/atoms/Calendar/calendar.tsx +185 -185
  32. package/src/components/atoms/Calendar/index.ts +1 -1
  33. package/src/components/atoms/CheckIcon/check-icon.stories.tsx +38 -38
  34. package/src/components/atoms/CheckIcon/check-icon.test.tsx +269 -269
  35. package/src/components/atoms/CheckIcon/check-icon.tsx +140 -140
  36. package/src/components/atoms/Checkbox/__snapshots__/checkbox.test.tsx.snap +16 -0
  37. package/src/components/atoms/Checkbox/checkbox.stories.tsx +133 -133
  38. package/src/components/atoms/Checkbox/checkbox.test.tsx +70 -70
  39. package/src/components/atoms/Checkbox/checkbox.tsx +31 -31
  40. package/src/components/atoms/Checkbox/index.ts +1 -1
  41. package/src/components/atoms/Flex/__snapshots__/flex.test.tsx.snap +10 -0
  42. package/src/components/atoms/Flex/flex.stories.tsx +33 -33
  43. package/src/components/atoms/Flex/flex.test.tsx +47 -47
  44. package/src/components/atoms/Flex/flex.tsx +7 -7
  45. package/src/components/atoms/Flex/index.ts +1 -1
  46. package/src/components/atoms/Grid/__snapshots__/grid.test.tsx.snap +10 -0
  47. package/src/components/atoms/Grid/grid.stories.tsx +33 -33
  48. package/src/components/atoms/Grid/grid.test.tsx +47 -47
  49. package/src/components/atoms/Grid/grid.tsx +7 -7
  50. package/src/components/atoms/Grid/index.ts +1 -1
  51. package/src/components/atoms/Icon/__snapshots__/icon.test.tsx.snap +103 -0
  52. package/src/components/atoms/Icon/icon.stories.tsx +169 -169
  53. package/src/components/atoms/Icon/icon.test.tsx +272 -272
  54. package/src/components/atoms/Icon/icon.tsx +119 -119
  55. package/src/components/atoms/Input/__snapshots__/input.test.tsx.snap +50 -0
  56. package/src/components/atoms/Input/index.ts +1 -1
  57. package/src/components/atoms/Input/input.stories.tsx +704 -704
  58. package/src/components/atoms/Input/input.test.tsx +99 -99
  59. package/src/components/atoms/Input/input.tsx +170 -170
  60. package/src/components/atoms/InputMoney/index.ts +2 -2
  61. package/src/components/atoms/InputMoney/input-money.stories.tsx +240 -240
  62. package/src/components/atoms/InputMoney/input-money.test.tsx +98 -98
  63. package/src/components/atoms/InputMoney/input-money.tsx +254 -254
  64. package/src/components/atoms/InputPhone/index.ts +1 -1
  65. package/src/components/atoms/InputPhone/input-phone.stories.tsx +446 -446
  66. package/src/components/atoms/InputPhone/input-phone.test.tsx +147 -147
  67. package/src/components/atoms/InputPhone/input-phone.tsx +267 -267
  68. package/src/components/atoms/InputSearch/index.ts +1 -1
  69. package/src/components/atoms/InputSearch/input-search.stories.tsx +359 -359
  70. package/src/components/atoms/InputSearch/input-search.test.tsx +238 -238
  71. package/src/components/atoms/InputSearch/input-search.tsx +209 -209
  72. package/src/components/atoms/InputUpload/index.ts +1 -1
  73. package/src/components/atoms/InputUpload/input-upload.stories.tsx +229 -229
  74. package/src/components/atoms/InputUpload/input-upload.test.tsx +555 -555
  75. package/src/components/atoms/InputUpload/input-upload.tsx +433 -433
  76. package/src/components/atoms/InputWithButton/index.ts +2 -2
  77. package/src/components/atoms/InputWithButton/input-with-button.stories.tsx +510 -510
  78. package/src/components/atoms/InputWithButton/input-with-button.test.tsx +127 -127
  79. package/src/components/atoms/InputWithButton/input-with-button.tsx +179 -179
  80. package/src/components/atoms/Label/__snapshots__/label.test.tsx.snap +17 -0
  81. package/src/components/atoms/Label/index.ts +1 -1
  82. package/src/components/atoms/Label/label.stories.tsx +90 -90
  83. package/src/components/atoms/Label/label.test.tsx +59 -59
  84. package/src/components/atoms/Label/label.tsx +43 -43
  85. package/src/components/atoms/Progress/__snapshots__/progress.test.tsx.snap +25 -0
  86. package/src/components/atoms/Progress/index.ts +1 -1
  87. package/src/components/atoms/Progress/progress.stories.tsx +30 -30
  88. package/src/components/atoms/Progress/progress.test.tsx +62 -62
  89. package/src/components/atoms/Progress/progress.tsx +32 -32
  90. package/src/components/atoms/RenderCondition/index.ts +1 -1
  91. package/src/components/atoms/RenderCondition/render-condition.stories.tsx +28 -28
  92. package/src/components/atoms/RenderCondition/render-condition.test.tsx +27 -27
  93. package/src/components/atoms/RenderCondition/render-condition.tsx +9 -9
  94. package/src/components/atoms/RichTextEditor/__snapshots__/rich-text-editor.test.tsx.snap +314 -0
  95. package/src/components/atoms/RichTextEditor/rich-text-editor.stories.tsx +236 -236
  96. package/src/components/atoms/RichTextEditor/rich-text-editor.test.tsx +441 -441
  97. package/src/components/atoms/RichTextEditor/rich-text-editor.tsx +230 -230
  98. package/src/components/atoms/RichTextRenderer/rich-text-renderer.stories.tsx +84 -84
  99. package/src/components/atoms/RichTextRenderer/rich-text-renderer.test.tsx +49 -49
  100. package/src/components/atoms/RichTextRenderer/rich-text-renderer.tsx +17 -17
  101. package/src/components/atoms/Separator/__snapshots__/separator.test.tsx.snap +13 -0
  102. package/src/components/atoms/Separator/index.ts +1 -1
  103. package/src/components/atoms/Separator/separator.stories.tsx +117 -117
  104. package/src/components/atoms/Separator/separator.test.tsx +50 -50
  105. package/src/components/atoms/Separator/separator.tsx +28 -28
  106. package/src/components/atoms/Skeleton/__snapshots__/skeleton.test.tsx.snap +11 -0
  107. package/src/components/atoms/Skeleton/index.ts +1 -1
  108. package/src/components/atoms/Skeleton/skeleton.stories.tsx +84 -84
  109. package/src/components/atoms/Skeleton/skeleton.test.tsx +39 -39
  110. package/src/components/atoms/Skeleton/skeleton.tsx +14 -14
  111. package/src/components/atoms/Slider/__snapshots__/slider.test.tsx.snap +240 -0
  112. package/src/components/atoms/Slider/index.ts +1 -1
  113. package/src/components/atoms/Slider/slider.stories.tsx +28 -28
  114. package/src/components/atoms/Slider/slider.test.tsx +89 -89
  115. package/src/components/atoms/Slider/slider.tsx +54 -54
  116. package/src/components/atoms/Sonner/__snapshots__/sonner.test.tsx.snap +13 -0
  117. package/src/components/atoms/Sonner/index.ts +1 -1
  118. package/src/components/atoms/Sonner/sonner.css +39 -39
  119. package/src/components/atoms/Sonner/sonner.stories.tsx +260 -260
  120. package/src/components/atoms/Sonner/sonner.test.tsx +24 -24
  121. package/src/components/atoms/Sonner/sonner.tsx +13 -13
  122. package/src/components/atoms/Switch/__snapshots__/switch.test.tsx.snap +22 -0
  123. package/src/components/atoms/Switch/index.ts +1 -1
  124. package/src/components/atoms/Switch/switch.stories.tsx +128 -128
  125. package/src/components/atoms/Switch/switch.test.tsx +70 -70
  126. package/src/components/atoms/Switch/switch.tsx +61 -61
  127. package/src/components/atoms/Textarea/__snapshots__/textarea.test.tsx.snap +10 -0
  128. package/src/components/atoms/Textarea/index.ts +1 -1
  129. package/src/components/atoms/Textarea/textarea.stories.tsx +169 -169
  130. package/src/components/atoms/Textarea/textarea.test.tsx +56 -56
  131. package/src/components/atoms/Textarea/textarea.tsx +26 -26
  132. package/src/components/atoms/Toggle/__snapshots__/toggle.test.tsx.snap +13 -0
  133. package/src/components/atoms/Toggle/index.ts +1 -1
  134. package/src/components/atoms/Toggle/toggle.stories.tsx +170 -170
  135. package/src/components/atoms/Toggle/toggle.test.tsx +62 -62
  136. package/src/components/atoms/Toggle/toggle.tsx +47 -47
  137. package/src/components/atoms/Typography/__snapshots__/typography.test.tsx.snap +12 -0
  138. package/src/components/atoms/Typography/index.ts +1 -1
  139. package/src/components/atoms/Typography/typography.stories.tsx +95 -95
  140. package/src/components/atoms/Typography/typography.test.tsx +66 -66
  141. package/src/components/atoms/Typography/typography.tsx +63 -63
  142. package/src/components/atoms/UploadImageField/upload-image-field.stories.tsx +249 -249
  143. package/src/components/atoms/UploadImageField/upload-image-field.test.tsx +347 -347
  144. package/src/components/atoms/UploadImageField/upload-image-field.tsx +361 -361
  145. package/src/components/atoms/VideoPlayer/__snapshots__/video-player.test.tsx.snap +17 -0
  146. package/src/components/atoms/VideoPlayer/index.ts +1 -1
  147. package/src/components/atoms/VideoPlayer/video-player.stories.tsx +37 -37
  148. package/src/components/atoms/VideoPlayer/video-player.test.tsx +19 -19
  149. package/src/components/atoms/VideoPlayer/video-player.tsx +26 -26
  150. package/src/components/atoms/index.ts +32 -32
  151. package/src/components/icons/alert-circle.tsx +22 -22
  152. package/src/components/icons/align-center.tsx +21 -21
  153. package/src/components/icons/align-left.tsx +21 -21
  154. package/src/components/icons/annotation-dots.tsx +16 -16
  155. package/src/components/icons/annotation-question.tsx +14 -14
  156. package/src/components/icons/annotation.tsx +22 -22
  157. package/src/components/icons/announcement-01.tsx +14 -14
  158. package/src/components/icons/announcement-02.tsx +14 -14
  159. package/src/components/icons/apple-logo.tsx +8 -8
  160. package/src/components/icons/arrow-circle-broken-right.tsx +16 -16
  161. package/src/components/icons/arrow-down.tsx +8 -8
  162. package/src/components/icons/arrow-up.tsx +8 -8
  163. package/src/components/icons/at-sign.tsx +21 -21
  164. package/src/components/icons/award-01.tsx +15 -15
  165. package/src/components/icons/award-03.tsx +16 -16
  166. package/src/components/icons/bank-note-01.tsx +14 -14
  167. package/src/components/icons/bar-chart-square-02.tsx +8 -8
  168. package/src/components/icons/bell-01.tsx +8 -8
  169. package/src/components/icons/bell-04.tsx +16 -16
  170. package/src/components/icons/bold-01.tsx +21 -21
  171. package/src/components/icons/book-open-01.tsx +14 -14
  172. package/src/components/icons/brackets-ellipses.tsx +21 -21
  173. package/src/components/icons/briefcase-01.tsx +8 -8
  174. package/src/components/icons/brush-01.tsx +21 -21
  175. package/src/components/icons/building-02.tsx +8 -8
  176. package/src/components/icons/building-06.tsx +9 -9
  177. package/src/components/icons/calendar-check-01.tsx +22 -22
  178. package/src/components/icons/calendar-minus-02.tsx +14 -14
  179. package/src/components/icons/calendar.tsx +8 -8
  180. package/src/components/icons/certificate-01.tsx +16 -16
  181. package/src/components/icons/chart-breakout-square.tsx +16 -16
  182. package/src/components/icons/check-circle-02.tsx +15 -15
  183. package/src/components/icons/check-circle.tsx +15 -15
  184. package/src/components/icons/check.tsx +21 -21
  185. package/src/components/icons/chevron-down-double.tsx +16 -16
  186. package/src/components/icons/chevron-down.tsx +8 -8
  187. package/src/components/icons/chevron-left-double.tsx +22 -22
  188. package/src/components/icons/chevron-left.tsx +16 -16
  189. package/src/components/icons/chevron-right-double.tsx +22 -22
  190. package/src/components/icons/chevron-right.tsx +16 -16
  191. package/src/components/icons/chevron-up-double.tsx +16 -16
  192. package/src/components/icons/clock-rewind.tsx +15 -15
  193. package/src/components/icons/clock-stopwatch.tsx +14 -14
  194. package/src/components/icons/coins-hand.tsx +14 -14
  195. package/src/components/icons/coins-stacked-01.tsx +14 -14
  196. package/src/components/icons/coins-stacked-02.tsx +14 -14
  197. package/src/components/icons/container.tsx +8 -8
  198. package/src/components/icons/copy-02.tsx +16 -16
  199. package/src/components/icons/copy-04.tsx +21 -21
  200. package/src/components/icons/corner-down-right.tsx +9 -9
  201. package/src/components/icons/countries/br.tsx +19 -19
  202. package/src/components/icons/countries/es.tsx +18 -18
  203. package/src/components/icons/countries/index.ts +2 -2
  204. package/src/components/icons/countries/us.tsx +20 -20
  205. package/src/components/icons/dataflow-03.tsx +14 -14
  206. package/src/components/icons/dotpoints-01.tsx +21 -21
  207. package/src/components/icons/dots-vertical.tsx +35 -35
  208. package/src/components/icons/download-03.tsx +16 -16
  209. package/src/components/icons/download-cloud-02.tsx +14 -14
  210. package/src/components/icons/drag.tsx +14 -14
  211. package/src/components/icons/dropper.tsx +21 -21
  212. package/src/components/icons/edit-01.tsx +15 -15
  213. package/src/components/icons/edit-02.tsx +8 -8
  214. package/src/components/icons/edit-03.tsx +23 -23
  215. package/src/components/icons/eye.tsx +21 -21
  216. package/src/components/icons/face-frown.tsx +14 -14
  217. package/src/components/icons/face-happy.tsx +14 -14
  218. package/src/components/icons/file-06.tsx +14 -14
  219. package/src/components/icons/file-attachment-04.tsx +14 -14
  220. package/src/components/icons/file-download-02.tsx +15 -15
  221. package/src/components/icons/file-plus-02.tsx +15 -15
  222. package/src/components/icons/file-search-01.tsx +22 -22
  223. package/src/components/icons/file-search-03.tsx +14 -14
  224. package/src/components/icons/filter-lines.tsx +21 -21
  225. package/src/components/icons/first-category.tsx +15 -15
  226. package/src/components/icons/first-stage.tsx +19 -19
  227. package/src/components/icons/folder.tsx +14 -14
  228. package/src/components/icons/google.tsx +12 -12
  229. package/src/components/icons/graduation-hat-02.tsx +14 -14
  230. package/src/components/icons/grid-01.tsx +35 -35
  231. package/src/components/icons/help-circle.tsx +15 -15
  232. package/src/components/icons/help-square.tsx +16 -16
  233. package/src/components/icons/home-line.tsx +21 -21
  234. package/src/components/icons/icons.stories.tsx +198 -198
  235. package/src/components/icons/index.ts +141 -141
  236. package/src/components/icons/info-circle.tsx +14 -14
  237. package/src/components/icons/italic-01.tsx +21 -21
  238. package/src/components/icons/last-category.tsx +10 -10
  239. package/src/components/icons/last-stage.tsx +19 -19
  240. package/src/components/icons/layout-alt-04.tsx +9 -9
  241. package/src/components/icons/lightbulb-02.tsx +16 -16
  242. package/src/components/icons/link-01.tsx +15 -15
  243. package/src/components/icons/link-broken-01.tsx +16 -16
  244. package/src/components/icons/linkedin-logo.tsx +16 -16
  245. package/src/components/icons/lock-01.tsx +21 -21
  246. package/src/components/icons/log-out-01.tsx +8 -8
  247. package/src/components/icons/mail-01.tsx +15 -15
  248. package/src/components/icons/marker-pin-02.tsx +9 -9
  249. package/src/components/icons/menu-01.tsx +8 -8
  250. package/src/components/icons/middle-category.tsx +9 -9
  251. package/src/components/icons/middle-stage.tsx +19 -19
  252. package/src/components/icons/ms-outlook.tsx +47 -47
  253. package/src/components/icons/paragraph-spacing.tsx +14 -14
  254. package/src/components/icons/phone-01.tsx +21 -21
  255. package/src/components/icons/pie-chart-02.tsx +21 -21
  256. package/src/components/icons/plus-circle.tsx +15 -15
  257. package/src/components/icons/portal-logo.tsx +76 -76
  258. package/src/components/icons/presentation-chart-02.tsx +13 -13
  259. package/src/components/icons/route.tsx +22 -22
  260. package/src/components/icons/save-01.tsx +14 -14
  261. package/src/components/icons/search-lg.tsx +14 -14
  262. package/src/components/icons/search-sm.tsx +8 -8
  263. package/src/components/icons/send-03.tsx +14 -14
  264. package/src/components/icons/settings-01.tsx +16 -16
  265. package/src/components/icons/settings-03.tsx +13 -13
  266. package/src/components/icons/share-05.tsx +15 -15
  267. package/src/components/icons/share-06.tsx +14 -14
  268. package/src/components/icons/slash-circle-01.tsx +8 -8
  269. package/src/components/icons/star-01.tsx +8 -8
  270. package/src/components/icons/step-icon-active.tsx +10 -10
  271. package/src/components/icons/step-icon-checked.tsx +9 -9
  272. package/src/components/icons/step-icon-default.tsx +10 -10
  273. package/src/components/icons/switch-horizontal-01.tsx +9 -9
  274. package/src/components/icons/table-01.tsx +14 -14
  275. package/src/components/icons/tag-01.tsx +14 -14
  276. package/src/components/icons/tag-03.tsx +14 -14
  277. package/src/components/icons/tool-02.tsx +13 -13
  278. package/src/components/icons/trash-01.tsx +15 -15
  279. package/src/components/icons/underline-01.tsx +21 -21
  280. package/src/components/icons/upload-cloud-02.tsx +14 -14
  281. package/src/components/icons/user-01.tsx +8 -8
  282. package/src/components/icons/user-03.tsx +9 -9
  283. package/src/components/icons/user-check-01.tsx +13 -13
  284. package/src/components/icons/user-circle.tsx +13 -13
  285. package/src/components/icons/user-edit.tsx +16 -16
  286. package/src/components/icons/user-minus-02.tsx +14 -14
  287. package/src/components/icons/user-plus-01.tsx +22 -22
  288. package/src/components/icons/user-plus-02.tsx +14 -14
  289. package/src/components/icons/user-square.tsx +16 -16
  290. package/src/components/icons/users-01.tsx +13 -13
  291. package/src/components/icons/users-plus-01.tsx +21 -21
  292. package/src/components/icons/users-plus.tsx +16 -16
  293. package/src/components/icons/vertical-drag.tsx +21 -21
  294. package/src/components/icons/x-circle.tsx +14 -14
  295. package/src/components/icons/x-close.tsx +8 -8
  296. package/src/components/icons/zap-fast.tsx +16 -16
  297. package/src/components/icons/zap.tsx +8 -8
  298. package/src/components/index.ts +4 -4
  299. package/src/components/molecules/Accordion/__snapshots__/accordion.test.tsx.snap +123 -0
  300. package/src/components/molecules/Accordion/accordion.stories.tsx +81 -81
  301. package/src/components/molecules/Accordion/accordion.test.tsx +91 -91
  302. package/src/components/molecules/Accordion/accordion.tsx +65 -65
  303. package/src/components/molecules/Accordion/index.ts +1 -1
  304. package/src/components/molecules/Alert/__snapshots__/alert.test.tsx.snap +27 -0
  305. package/src/components/molecules/Alert/alert.stories.tsx +75 -75
  306. package/src/components/molecules/Alert/alert.test.tsx +58 -58
  307. package/src/components/molecules/Alert/alert.tsx +67 -67
  308. package/src/components/molecules/Alert/index.ts +1 -1
  309. package/src/components/molecules/AlertDialog/__snapshots__/alert-dialog.test.tsx.snap +18 -0
  310. package/src/components/molecules/AlertDialog/alert-dialog.stories.tsx +55 -55
  311. package/src/components/molecules/AlertDialog/alert-dialog.test.tsx +34 -34
  312. package/src/components/molecules/AlertDialog/alert-dialog.tsx +172 -172
  313. package/src/components/molecules/AlertDialog/index.ts +1 -1
  314. package/src/components/molecules/Avatar/__snapshots__/avatar.test.tsx.snap +11 -0
  315. package/src/components/molecules/Avatar/avatar.stories.tsx +98 -98
  316. package/src/components/molecules/Avatar/avatar.test.tsx +55 -55
  317. package/src/components/molecules/Avatar/avatar.tsx +55 -55
  318. package/src/components/molecules/Avatar/index.ts +1 -1
  319. package/src/components/molecules/Breadcrumb/__snapshots__/breadcrumb.test.tsx.snap +11 -0
  320. package/src/components/molecules/Breadcrumb/breadcrumb.stories.tsx +125 -125
  321. package/src/components/molecules/Breadcrumb/breadcrumb.test.tsx +118 -118
  322. package/src/components/molecules/Breadcrumb/breadcrumb.tsx +120 -120
  323. package/src/components/molecules/Breadcrumb/index.ts +1 -1
  324. package/src/components/molecules/Card/__snapshots__/card.test.tsx.snap +11 -0
  325. package/src/components/molecules/Card/card.stories.tsx +109 -109
  326. package/src/components/molecules/Card/card.test.tsx +103 -103
  327. package/src/components/molecules/Card/card.tsx +78 -78
  328. package/src/components/molecules/Card/index.ts +1 -1
  329. package/src/components/molecules/Collapsible/__snapshots__/collapsible.test.tsx.snap +27 -0
  330. package/src/components/molecules/Collapsible/collapsible.stories.tsx +27 -27
  331. package/src/components/molecules/Collapsible/collapsible.test.tsx +35 -35
  332. package/src/components/molecules/Collapsible/collapsible.tsx +31 -31
  333. package/src/components/molecules/Collapsible/index.ts +1 -1
  334. package/src/components/molecules/ColorPicker/color-picker.stories.tsx +40 -40
  335. package/src/components/molecules/ColorPicker/color-picker.tsx +106 -106
  336. package/src/components/molecules/ColorPicker/index.ts +1 -1
  337. package/src/components/molecules/ColorScale/color-scale.stories.tsx +31 -31
  338. package/src/components/molecules/ColorScale/color-scale.tsx +74 -74
  339. package/src/components/molecules/ColorScale/index.ts +1 -1
  340. package/src/components/molecules/Command/__snapshots__/command.test.tsx.snap +31 -0
  341. package/src/components/molecules/Command/command.stories.tsx +70 -70
  342. package/src/components/molecules/Command/command.test.tsx +49 -49
  343. package/src/components/molecules/Command/command.tsx +177 -177
  344. package/src/components/molecules/Command/index.ts +1 -1
  345. package/src/components/molecules/ContextMenu/__snapshots__/context-menu.test.tsx.snap +14 -0
  346. package/src/components/molecules/ContextMenu/context-menu.stories.tsx +68 -68
  347. package/src/components/molecules/ContextMenu/context-menu.test.tsx +24 -24
  348. package/src/components/molecules/ContextMenu/context-menu.tsx +259 -259
  349. package/src/components/molecules/ContextMenu/index.ts +1 -1
  350. package/src/components/molecules/DatePicker/__snapshots__/date-picker.test.tsx.snap +38 -0
  351. package/src/components/molecules/DatePicker/date-picker.stories.tsx +233 -233
  352. package/src/components/molecules/DatePicker/date-picker.test.tsx +27 -27
  353. package/src/components/molecules/DatePicker/date-picker.tsx +512 -512
  354. package/src/components/molecules/Dialog/__snapshots__/dialog.test.tsx.snap +18 -0
  355. package/src/components/molecules/Dialog/dialog.stories.tsx +48 -48
  356. package/src/components/molecules/Dialog/dialog.test.tsx +51 -51
  357. package/src/components/molecules/Dialog/dialog.tsx +150 -150
  358. package/src/components/molecules/Drawer/__snapshots__/drawer.test.tsx.snap +3 -0
  359. package/src/components/molecules/Drawer/drawer.stories.tsx +182 -182
  360. package/src/components/molecules/Drawer/drawer.test.tsx +100 -100
  361. package/src/components/molecules/Drawer/drawer.tsx +206 -206
  362. package/src/components/molecules/Drawer/index.ts +1 -1
  363. package/src/components/molecules/Dropdown/__snapshots__/dropdown.test.tsx.snap +86 -0
  364. package/src/components/molecules/Dropdown/dropdown-async.stories.tsx +14 -14
  365. package/src/components/molecules/Dropdown/dropdown.stories.tsx +111 -111
  366. package/src/components/molecules/Dropdown/dropdown.test.tsx +128 -128
  367. package/src/components/molecules/Dropdown/dropdown.tsx +321 -321
  368. package/src/components/molecules/DropdownMenu/__snapshots__/dropdown-menu.test.tsx.snap +3 -0
  369. package/src/components/molecules/DropdownMenu/dropdown-menu.stories.tsx +154 -154
  370. package/src/components/molecules/DropdownMenu/dropdown-menu.test.tsx +163 -163
  371. package/src/components/molecules/DropdownMenu/dropdown-menu.tsx +313 -313
  372. package/src/components/molecules/DropdownMenu/index.ts +1 -1
  373. package/src/components/molecules/HoverCard/__snapshots__/hover-card.test.tsx.snap +14 -0
  374. package/src/components/molecules/HoverCard/hover-card.stories.tsx +48 -48
  375. package/src/components/molecules/HoverCard/hover-card.test.tsx +42 -42
  376. package/src/components/molecules/HoverCard/hover-card.tsx +44 -44
  377. package/src/components/molecules/HoverCard/index.ts +1 -1
  378. package/src/components/molecules/InputOTP/__snapshots__/input-otp.test.tsx.snap +89 -0
  379. package/src/components/molecules/InputOTP/index.ts +1 -1
  380. package/src/components/molecules/InputOTP/input-otp.stories.tsx +52 -52
  381. package/src/components/molecules/InputOTP/input-otp.test.tsx +28 -28
  382. package/src/components/molecules/InputOTP/input-otp.tsx +76 -76
  383. package/src/components/molecules/Menubar/__snapshots__/menubar.test.tsx.snap +80 -0
  384. package/src/components/molecules/Menubar/index.ts +1 -1
  385. package/src/components/molecules/Menubar/menubar.stories.tsx +113 -113
  386. package/src/components/molecules/Menubar/menubar.test.tsx +42 -42
  387. package/src/components/molecules/Menubar/menubar.tsx +314 -314
  388. package/src/components/molecules/NavigationMenu/__snapshots__/navigation-menu.test.tsx.snap +20 -0
  389. package/src/components/molecules/NavigationMenu/index.ts +1 -1
  390. package/src/components/molecules/NavigationMenu/navigation-menu.stories.tsx +143 -143
  391. package/src/components/molecules/NavigationMenu/navigation-menu.test.tsx +69 -69
  392. package/src/components/molecules/NavigationMenu/navigation-menu.tsx +174 -174
  393. package/src/components/molecules/PDFViewer/__snapshots__/pdf-viewer.test.tsx.snap +257 -0
  394. package/src/components/molecules/PDFViewer/index.ts +1 -1
  395. package/src/components/molecules/PDFViewer/pdf-viewer.stories.tsx +34 -34
  396. package/src/components/molecules/PDFViewer/pdf-viewer.test.tsx +26 -26
  397. package/src/components/molecules/PDFViewer/pdf-viewer.tsx +358 -358
  398. package/src/components/molecules/Pagination/__snapshots__/pagination.test.tsx.snap +200 -0
  399. package/src/components/molecules/Pagination/index.ts +1 -1
  400. package/src/components/molecules/Pagination/pagination.stories.tsx +193 -193
  401. package/src/components/molecules/Pagination/pagination.test.tsx +447 -447
  402. package/src/components/molecules/Pagination/pagination.tsx +206 -206
  403. package/src/components/molecules/PaginationDotGroup/__snapshots__/pagination-dot-group.test.tsx.snap +193 -0
  404. package/src/components/molecules/PaginationDotGroup/index.ts +1 -1
  405. package/src/components/molecules/PaginationDotGroup/pagination-dot-group.stories.tsx +211 -211
  406. package/src/components/molecules/PaginationDotGroup/pagination-dot-group.test.tsx +384 -384
  407. package/src/components/molecules/PaginationDotGroup/pagination-dot-group.tsx +119 -119
  408. package/src/components/molecules/Popover/index.ts +1 -1
  409. package/src/components/molecules/Popover/popover-menu.stories.tsx +27 -27
  410. package/src/components/molecules/Popover/popover.test.tsx +50 -50
  411. package/src/components/molecules/Popover/popover.tsx +38 -38
  412. package/src/components/molecules/ProgressSteps/__snapshots__/progress-steps.test.tsx.snap +524 -0
  413. package/src/components/molecules/ProgressSteps/index.ts +1 -1
  414. package/src/components/molecules/ProgressSteps/progress-steps.stories.tsx +36 -36
  415. package/src/components/molecules/ProgressSteps/progress-steps.test.tsx +470 -470
  416. package/src/components/molecules/ProgressSteps/progress-steps.tsx +140 -140
  417. package/src/components/molecules/RadioGroup/__snapshots__/radio-group.test.tsx.snap +122 -0
  418. package/src/components/molecules/RadioGroup/index.ts +1 -1
  419. package/src/components/molecules/RadioGroup/radio-group.stories.tsx +42 -42
  420. package/src/components/molecules/RadioGroup/radio-group.test.tsx +22 -22
  421. package/src/components/molecules/RadioGroup/radio-group.tsx +55 -55
  422. package/src/components/molecules/Resizable/__snapshots__/resizable.test.tsx.snap +121 -0
  423. package/src/components/molecules/Resizable/index.ts +1 -1
  424. package/src/components/molecules/Resizable/resizable.stories.tsx +52 -52
  425. package/src/components/molecules/Resizable/resizable.test.tsx +22 -22
  426. package/src/components/molecules/Resizable/resizable.tsx +55 -55
  427. package/src/components/molecules/ScrollArea/__snapshots__/scroll-area.test.tsx.snap +636 -0
  428. package/src/components/molecules/ScrollArea/index.ts +1 -1
  429. package/src/components/molecules/ScrollArea/scroll-area.stories.tsx +93 -93
  430. package/src/components/molecules/ScrollArea/scroll-area.test.tsx +28 -28
  431. package/src/components/molecules/ScrollArea/scroll-area.tsx +57 -57
  432. package/src/components/molecules/Select/__snapshots__/select.test.tsx.snap +15 -0
  433. package/src/components/molecules/Select/index.ts +1 -1
  434. package/src/components/molecules/Select/select.stories.tsx +63 -63
  435. package/src/components/molecules/Select/select.test.tsx +80 -80
  436. package/src/components/molecules/Select/select.tsx +172 -172
  437. package/src/components/molecules/Sheet/__snapshots__/sheet.test.tsx.snap +3 -0
  438. package/src/components/molecules/Sheet/index.ts +1 -1
  439. package/src/components/molecules/Sheet/sheet.stories.tsx +141 -141
  440. package/src/components/molecules/Sheet/sheet.test.tsx +70 -70
  441. package/src/components/molecules/Sheet/sheet.tsx +133 -133
  442. package/src/components/molecules/Tabs/__snapshots__/tabs.test.tsx.snap +25 -0
  443. package/src/components/molecules/Tabs/index.ts +1 -1
  444. package/src/components/molecules/Tabs/tabs.stories.tsx +221 -221
  445. package/src/components/molecules/Tabs/tabs.test.tsx +113 -113
  446. package/src/components/molecules/Tabs/tabs.tsx +102 -102
  447. package/src/components/molecules/ToggleGroup/__snapshots__/toggle-group.test.tsx.snap +42 -0
  448. package/src/components/molecules/ToggleGroup/index.ts +1 -1
  449. package/src/components/molecules/ToggleGroup/toggle-group.stories.tsx +117 -117
  450. package/src/components/molecules/ToggleGroup/toggle-group.test.tsx +100 -100
  451. package/src/components/molecules/ToggleGroup/toggle-group.tsx +70 -70
  452. package/src/components/molecules/Tooltip/__snapshots__/tooltip.test.tsx.snap +13 -0
  453. package/src/components/molecules/Tooltip/index.ts +1 -1
  454. package/src/components/molecules/Tooltip/tooltip.stories.tsx +133 -133
  455. package/src/components/molecules/Tooltip/tooltip.test.tsx +58 -58
  456. package/src/components/molecules/Tooltip/tooltip.tsx +58 -58
  457. package/src/components/molecules/index.ts +33 -33
  458. package/src/components/organisms/Carousel/__snapshots__/carousel.test.tsx.snap +219 -0
  459. package/src/components/organisms/Carousel/carousel.stories.tsx +94 -94
  460. package/src/components/organisms/Carousel/carousel.test.tsx +24 -24
  461. package/src/components/organisms/Carousel/carousel.tsx +383 -383
  462. package/src/components/organisms/Carousel/index.ts +1 -1
  463. package/src/components/organisms/Chart/__snapshots__/chart.test.tsx.snap +154 -0
  464. package/src/components/organisms/Chart/chart.stories.tsx +102 -102
  465. package/src/components/organisms/Chart/chart.test.tsx +105 -105
  466. package/src/components/organisms/Chart/chart.tsx +294 -294
  467. package/src/components/organisms/Chart/index.ts +1 -1
  468. package/src/components/organisms/FileUpload/FilePreview/file-preview.tsx +55 -55
  469. package/src/components/organisms/FileUpload/FilePreview/index.ts +1 -1
  470. package/src/components/organisms/FileUpload/file-upload.stories.tsx +20 -20
  471. package/src/components/organisms/FileUpload/file-upload.test.tsx +59 -59
  472. package/src/components/organisms/FileUpload/file-upload.tsx +175 -175
  473. package/src/components/organisms/FileUpload/file.d.ts +20 -20
  474. package/src/components/organisms/Form/__snapshots__/form.test.tsx.snap +194 -0
  475. package/src/components/organisms/Form/form.stories.tsx +155 -155
  476. package/src/components/organisms/Form/form.test.tsx +49 -49
  477. package/src/components/organisms/Form/form.tsx +133 -133
  478. package/src/components/organisms/Form/index.ts +1 -1
  479. package/src/components/organisms/Sidebar/__snapshots__/sidebar.test.tsx.snap +224 -0
  480. package/src/components/organisms/Sidebar/index.ts +1 -1
  481. package/src/components/organisms/Sidebar/sidebar.stories.tsx +86 -86
  482. package/src/components/organisms/Sidebar/sidebar.test.tsx +101 -101
  483. package/src/components/organisms/Sidebar/sidebar.tsx +666 -666
  484. package/src/components/organisms/Table/__snapshots__/table.test.tsx.snap +318 -0
  485. package/src/components/organisms/Table/index.ts +1 -1
  486. package/src/components/organisms/Table/table.stories.tsx +86 -86
  487. package/src/components/organisms/Table/table.test.tsx +42 -42
  488. package/src/components/organisms/Table/table.tsx +120 -120
  489. package/src/components/organisms/index.ts +6 -6
  490. package/src/constants/brazilian-states.ts +29 -29
  491. package/src/constants/index.ts +1 -1
  492. package/src/hooks/index.ts +10 -10
  493. package/src/hooks/useEditorActiveMarks.ts +62 -62
  494. package/src/hooks/useForm.ts +7 -7
  495. package/src/hooks/useFormContext.ts +6 -6
  496. package/src/hooks/useFormField.ts +41 -41
  497. package/src/hooks/useMobile.ts +61 -61
  498. package/src/hooks/useOnToggle.ts +28 -28
  499. package/src/hooks/usePDFNavigation.ts +40 -40
  500. package/src/hooks/usePDFZoom.ts +34 -34
  501. package/src/hooks/useSidebar.ts +23 -23
  502. package/src/hooks/useToast.tsx +62 -62
  503. package/src/index.css +73 -73
  504. package/src/main.ts +6 -6
  505. package/src/theme.css +387 -387
  506. package/src/utils/api/api.test.ts +63 -63
  507. package/src/utils/api/api.ts +33 -33
  508. package/src/utils/api/index.ts +1 -1
  509. package/src/utils/array/array.test.ts +159 -159
  510. package/src/utils/array/array.ts +43 -43
  511. package/src/utils/array/index.ts +1 -1
  512. package/src/utils/clipboard/clipboard.test.ts +217 -217
  513. package/src/utils/clipboard/clipboard.ts +40 -40
  514. package/src/utils/cn/cn.test.ts +42 -42
  515. package/src/utils/cn/cn.ts +6 -6
  516. package/src/utils/cn/index.ts +1 -1
  517. package/src/utils/color-utils/color-utils.test.ts +46 -46
  518. package/src/utils/color-utils/color-utils.ts +97 -97
  519. package/src/utils/color-utils/index.ts +1 -1
  520. package/src/utils/countries/countries.ts +69 -69
  521. package/src/utils/currency/currency.test.ts +113 -113
  522. package/src/utils/currency/currency.ts +133 -133
  523. package/src/utils/currency/index.ts +1 -1
  524. package/src/utils/date/date.test.ts +166 -166
  525. package/src/utils/date/date.ts +83 -83
  526. package/src/utils/date/index.ts +1 -1
  527. package/src/utils/file/file.ts +44 -44
  528. package/src/utils/file/index.ts +1 -1
  529. package/src/utils/get-initials/get-initials.test.ts +40 -40
  530. package/src/utils/get-initials/get-initials.ts +13 -13
  531. package/src/utils/get-initials/index.ts +1 -1
  532. package/src/utils/index.ts +14 -14
  533. package/src/utils/masks/index.ts +1 -1
  534. package/src/utils/masks/masks.ts +169 -169
  535. package/src/utils/render-highlighted-text/render-highlighted-text.tsx +24 -24
  536. package/src/utils/string/index.ts +1 -1
  537. package/src/utils/string/string.test.ts +185 -185
  538. package/src/utils/string/string.ts +157 -157
  539. package/src/utils/video/index.ts +1 -1
  540. package/src/utils/video/video.ts +8 -8
  541. package/src/vite-env.d.ts +3 -3
package/README.md CHANGED
@@ -1,241 +1,241 @@
1
- # 🧩 mblabs-roccato-frontend-commons
2
-
3
- Uma coleção de componentes e utilitários de front-end reutilizáveis, desenvolvidos com tecnologias modernas como React 19, TailwindCSS, Radix UI e muito mais. Criado para ser compartilhado entre projetos dentro do ecossistema MB Labs Roccato.
4
-
5
- ---
6
-
7
- ## 📦 Instalação
8
-
9
- Utilize o [pnpm](https://pnpm.io/) como gerenciador de pacotes (Node.js 22+):
10
-
11
- ```bash
12
- pnpm add mblabs-roccato-frontend-commons
13
- ```
14
-
15
- Certifique-se de instalar também as dependências peer:
16
-
17
- ```bash
18
- pnpm add react@^19.0.0 react-dom@^19.0.0 react-hook-form@^7.55.0
19
- ```
20
-
21
- ---
22
-
23
- ## 🚀 Como usar
24
-
25
- Importe os componentes ou utilitários diretamente do pacote:
26
-
27
- ```tsx
28
- import { MeuComponente } from 'mblabs-roccato-frontend-commons';
29
- import 'mblabs-roccato-frontend-commons/css'; // estilos padrões
30
- ```
31
-
32
- ---
33
-
34
- ## ✨ Destaques
35
-
36
- - ✅ Suporte ao React 19
37
- - 🎨 TailwindCSS 4 com variantes dinâmicas
38
- - ⚙️ Componentes acessíveis via Radix UI
39
- - 🧰 Drag & drop com DnD Kit
40
- - 📊 Visualizações com Recharts
41
- - 🧪 Totalmente tipado com TypeScript
42
- - 📚 Documentação interativa com Storybook
43
- - ⚡ Build otimizado com Vite
44
-
45
- ---
46
-
47
- ## 📂 Estrutura do Projeto
48
-
49
- ```
50
- 📁 src/
51
- ┣ 📦 components/
52
- ┣ ┣ 📦 atoms/
53
- ┣ ┣ 📦 molecules/
54
- ┣ ┣ 📦 organisms/
55
- ┣ ┣ 📄 index.ts
56
- ┣ 📦 hooks/
57
- ┣ 📦 utils/
58
- ┗ 📄 index.ts
59
- ```
60
-
61
- ---
62
-
63
- ## 🧪 Scripts
64
-
65
- | Comando | Descrição |
66
- | ---------------------- | ------------------------------------------------- |
67
- | `pnpm build` | Compila a lib com TypeScript e Vite |
68
- | `pnpm lint` | Lint no projeto com ESLint |
69
- | `pnpm storybook` | Inicia o Storybook em ambiente de desenvolvimento |
70
- | `pnpm build-storybook` | Gera versão estática do Storybook |
71
-
72
- ---
73
-
74
- ## 📦 Adicionando novos ícones
75
-
76
- Para adicionar novos ícones ao projeto, siga este processo passo a passo:
77
-
78
- ### 1. Copiar nome do ícone do Figma
79
- - Identifique o nome exato do ícone no design do Figma
80
- - Exemplo: `check-circle`, `info-circle`, `user-01`
81
-
82
- ### 2. Buscar ícone no Untitled UI
83
- - Acesse [https://www.untitledui.com/free-icons](https://www.untitledui.com/free-icons)
84
- - Use a barra de pesquisa para encontrar o ícone pelo nome
85
- - Certifique-se de que é o ícone correto visualmente
86
-
87
- ### 3. Copiar SVG
88
- - Clique no ícone desejado
89
- - Copie o código SVG fornecido
90
- - O SVG deve ter viewBox="0 0 24 24" e ser otimizado
91
-
92
- ### 4. Criar componente reutilizável
93
- Crie um novo arquivo em `src/components/icons/` seguindo o padrão:
94
-
95
- ```tsx
96
- // src/components/icons/nome-do-icone.tsx
97
- import { ComponentProps } from 'react';
98
-
99
- export function NomeDoIcone(props: ComponentProps<'svg'>) {
100
- return (
101
- <svg
102
- width="100%"
103
- height="100%"
104
- viewBox="0 0 24 24"
105
- fill="none"
106
- xmlns="http://www.w3.org/2000/svg"
107
- {...props}
108
- >
109
- {/* Cole o conteúdo SVG aqui */}
110
- </svg>
111
- );
112
- }
113
- ```
114
-
115
- ### 5. Corrigir propriedades CSS
116
- Converta propriedades kebab-case para camelCase:
117
-
118
- ```tsx
119
- // ❌ Incorreto
120
- stroke-width="2" → strokeWidth="2"
121
- stroke-linecap="round" → strokeLinecap="round"
122
- stroke-linejoin="round" → strokeLinejoin="round"
123
- fill-rule="evenodd" → fillRule="evenodd"
124
- clip-rule="evenodd" → clipRule="evenodd"
125
-
126
- // ✅ Correto
127
- strokeWidth="2"
128
- strokeLinecap="round"
129
- strokeLinejoin="round"
130
- fillRule="evenodd"
131
- clipRule="evenodd"
132
- ```
133
-
134
- ### 6. Adicionar ao index.ts
135
- Adicione a exportação no arquivo `src/components/icons/index.ts`:
136
-
137
- ```tsx
138
- // Adicione no final do arquivo, em ordem alfabética
139
- export * from './nome-do-icone';
140
- ```
141
-
142
- ### Exemplo Completo
143
-
144
- **Nome do ícone:** `check-circle`
145
-
146
- **Arquivo criado:** `src/components/icons/check-circle.tsx`
147
-
148
- ```tsx
149
- import { ComponentProps } from 'react';
150
-
151
- export function CheckCircle(props: ComponentProps<'svg'>) {
152
- return (
153
- <svg
154
- width="100%"
155
- height="100%"
156
- viewBox="0 0 24 24"
157
- fill="none"
158
- xmlns="http://www.w3.org/2000/svg"
159
- {...props}
160
- >
161
- <path
162
- d="M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z"
163
- stroke="currentColor"
164
- strokeWidth="2"
165
- strokeLinecap="round"
166
- strokeLinejoin="round"
167
- />
168
- </svg>
169
- );
170
- }
171
- ```
172
-
173
- **Adicionado ao index.ts:**
174
- ```tsx
175
- export * from './check-circle';
176
- ```
177
-
178
- ### Boas Práticas
179
-
180
- - ✅ Use `currentColor` para stroke/fill para permitir customização
181
- - ✅ Mantenha viewBox="0 0 24 24" para consistência
182
- - ✅ Use width="100%" height="100%" para responsividade
183
- - ✅ Nomeie o componente em PascalCase
184
- - ✅ Nomeie o arquivo em kebab-case
185
- - ✅ Mantenha ordem alfabética no index.ts
186
- - ✅ Teste o ícone no Storybook após adicionar
187
-
188
- ### Uso do Ícone
189
-
190
- Após adicionar, o ícone estará disponível para uso:
191
-
192
- ```tsx
193
- import { CheckCircle } from '@/components/icons';
194
-
195
- // Uso básico
196
- <CheckCircle />
197
-
198
- // Com customização
199
- <CheckCircle className="w-6 h-6 text-blue-500" />
200
- ```
201
-
202
- ---
203
-
204
- ## 📚 Storybook
205
-
206
- Explore e teste os componentes interativamente:
207
-
208
- ```bash
209
- pnpm storybook
210
- ```
211
-
212
- Ou gere a versão estática:
213
-
214
- ```bash
215
- pnpm build-storybook
216
- ```
217
-
218
- ---
219
-
220
- ## 🧩 Tecnologias Utilizadas
221
-
222
- - React 19
223
- - TailwindCSS
224
- - Radix UI
225
- - DnD Kit
226
- - Tanstack react-table
227
- - Tabler icons-react
228
- - Date fns
229
- - Recharts
230
- - React Hook Form
231
- - Zod
232
- - Storybook
233
- - Vite
234
- - TypeScript
235
- - ESLint
236
-
237
- ---
238
-
239
- ## 📝 Licença
240
-
241
- MIT © Roccato — Feito com ❤️ pelo time MB Labs.
1
+ # 🧩 mblabs-roccato-frontend-commons
2
+
3
+ Uma coleção de componentes e utilitários de front-end reutilizáveis, desenvolvidos com tecnologias modernas como React 19, TailwindCSS, Radix UI e muito mais. Criado para ser compartilhado entre projetos dentro do ecossistema MB Labs Roccato.
4
+
5
+ ---
6
+
7
+ ## 📦 Instalação
8
+
9
+ Utilize o [pnpm](https://pnpm.io/) como gerenciador de pacotes (Node.js 22+):
10
+
11
+ ```bash
12
+ pnpm add mblabs-roccato-frontend-commons
13
+ ```
14
+
15
+ Certifique-se de instalar também as dependências peer:
16
+
17
+ ```bash
18
+ pnpm add react@^19.0.0 react-dom@^19.0.0 react-hook-form@^7.55.0
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 🚀 Como usar
24
+
25
+ Importe os componentes ou utilitários diretamente do pacote:
26
+
27
+ ```tsx
28
+ import { MeuComponente } from 'mblabs-roccato-frontend-commons';
29
+ import 'mblabs-roccato-frontend-commons/css'; // estilos padrões
30
+ ```
31
+
32
+ ---
33
+
34
+ ## ✨ Destaques
35
+
36
+ - ✅ Suporte ao React 19
37
+ - 🎨 TailwindCSS 4 com variantes dinâmicas
38
+ - ⚙️ Componentes acessíveis via Radix UI
39
+ - 🧰 Drag & drop com DnD Kit
40
+ - 📊 Visualizações com Recharts
41
+ - 🧪 Totalmente tipado com TypeScript
42
+ - 📚 Documentação interativa com Storybook
43
+ - ⚡ Build otimizado com Vite
44
+
45
+ ---
46
+
47
+ ## 📂 Estrutura do Projeto
48
+
49
+ ```
50
+ 📁 src/
51
+ ┣ 📦 components/
52
+ ┣ ┣ 📦 atoms/
53
+ ┣ ┣ 📦 molecules/
54
+ ┣ ┣ 📦 organisms/
55
+ ┣ ┣ 📄 index.ts
56
+ ┣ 📦 hooks/
57
+ ┣ 📦 utils/
58
+ ┗ 📄 index.ts
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 🧪 Scripts
64
+
65
+ | Comando | Descrição |
66
+ | ---------------------- | ------------------------------------------------- |
67
+ | `pnpm build` | Compila a lib com TypeScript e Vite |
68
+ | `pnpm lint` | Lint no projeto com ESLint |
69
+ | `pnpm storybook` | Inicia o Storybook em ambiente de desenvolvimento |
70
+ | `pnpm build-storybook` | Gera versão estática do Storybook |
71
+
72
+ ---
73
+
74
+ ## 📦 Adicionando novos ícones
75
+
76
+ Para adicionar novos ícones ao projeto, siga este processo passo a passo:
77
+
78
+ ### 1. Copiar nome do ícone do Figma
79
+ - Identifique o nome exato do ícone no design do Figma
80
+ - Exemplo: `check-circle`, `info-circle`, `user-01`
81
+
82
+ ### 2. Buscar ícone no Untitled UI
83
+ - Acesse [https://www.untitledui.com/free-icons](https://www.untitledui.com/free-icons)
84
+ - Use a barra de pesquisa para encontrar o ícone pelo nome
85
+ - Certifique-se de que é o ícone correto visualmente
86
+
87
+ ### 3. Copiar SVG
88
+ - Clique no ícone desejado
89
+ - Copie o código SVG fornecido
90
+ - O SVG deve ter viewBox="0 0 24 24" e ser otimizado
91
+
92
+ ### 4. Criar componente reutilizável
93
+ Crie um novo arquivo em `src/components/icons/` seguindo o padrão:
94
+
95
+ ```tsx
96
+ // src/components/icons/nome-do-icone.tsx
97
+ import { ComponentProps } from 'react';
98
+
99
+ export function NomeDoIcone(props: ComponentProps<'svg'>) {
100
+ return (
101
+ <svg
102
+ width="100%"
103
+ height="100%"
104
+ viewBox="0 0 24 24"
105
+ fill="none"
106
+ xmlns="http://www.w3.org/2000/svg"
107
+ {...props}
108
+ >
109
+ {/* Cole o conteúdo SVG aqui */}
110
+ </svg>
111
+ );
112
+ }
113
+ ```
114
+
115
+ ### 5. Corrigir propriedades CSS
116
+ Converta propriedades kebab-case para camelCase:
117
+
118
+ ```tsx
119
+ // ❌ Incorreto
120
+ stroke-width="2" → strokeWidth="2"
121
+ stroke-linecap="round" → strokeLinecap="round"
122
+ stroke-linejoin="round" → strokeLinejoin="round"
123
+ fill-rule="evenodd" → fillRule="evenodd"
124
+ clip-rule="evenodd" → clipRule="evenodd"
125
+
126
+ // ✅ Correto
127
+ strokeWidth="2"
128
+ strokeLinecap="round"
129
+ strokeLinejoin="round"
130
+ fillRule="evenodd"
131
+ clipRule="evenodd"
132
+ ```
133
+
134
+ ### 6. Adicionar ao index.ts
135
+ Adicione a exportação no arquivo `src/components/icons/index.ts`:
136
+
137
+ ```tsx
138
+ // Adicione no final do arquivo, em ordem alfabética
139
+ export * from './nome-do-icone';
140
+ ```
141
+
142
+ ### Exemplo Completo
143
+
144
+ **Nome do ícone:** `check-circle`
145
+
146
+ **Arquivo criado:** `src/components/icons/check-circle.tsx`
147
+
148
+ ```tsx
149
+ import { ComponentProps } from 'react';
150
+
151
+ export function CheckCircle(props: ComponentProps<'svg'>) {
152
+ return (
153
+ <svg
154
+ width="100%"
155
+ height="100%"
156
+ viewBox="0 0 24 24"
157
+ fill="none"
158
+ xmlns="http://www.w3.org/2000/svg"
159
+ {...props}
160
+ >
161
+ <path
162
+ d="M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z"
163
+ stroke="currentColor"
164
+ strokeWidth="2"
165
+ strokeLinecap="round"
166
+ strokeLinejoin="round"
167
+ />
168
+ </svg>
169
+ );
170
+ }
171
+ ```
172
+
173
+ **Adicionado ao index.ts:**
174
+ ```tsx
175
+ export * from './check-circle';
176
+ ```
177
+
178
+ ### Boas Práticas
179
+
180
+ - ✅ Use `currentColor` para stroke/fill para permitir customização
181
+ - ✅ Mantenha viewBox="0 0 24 24" para consistência
182
+ - ✅ Use width="100%" height="100%" para responsividade
183
+ - ✅ Nomeie o componente em PascalCase
184
+ - ✅ Nomeie o arquivo em kebab-case
185
+ - ✅ Mantenha ordem alfabética no index.ts
186
+ - ✅ Teste o ícone no Storybook após adicionar
187
+
188
+ ### Uso do Ícone
189
+
190
+ Após adicionar, o ícone estará disponível para uso:
191
+
192
+ ```tsx
193
+ import { CheckCircle } from '@/components/icons';
194
+
195
+ // Uso básico
196
+ <CheckCircle />
197
+
198
+ // Com customização
199
+ <CheckCircle className="w-6 h-6 text-blue-500" />
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 📚 Storybook
205
+
206
+ Explore e teste os componentes interativamente:
207
+
208
+ ```bash
209
+ pnpm storybook
210
+ ```
211
+
212
+ Ou gere a versão estática:
213
+
214
+ ```bash
215
+ pnpm build-storybook
216
+ ```
217
+
218
+ ---
219
+
220
+ ## 🧩 Tecnologias Utilizadas
221
+
222
+ - React 19
223
+ - TailwindCSS
224
+ - Radix UI
225
+ - DnD Kit
226
+ - Tanstack react-table
227
+ - Tabler icons-react
228
+ - Date fns
229
+ - Recharts
230
+ - React Hook Form
231
+ - Zod
232
+ - Storybook
233
+ - Vite
234
+ - TypeScript
235
+ - ESLint
236
+
237
+ ---
238
+
239
+ ## 📝 Licença
240
+
241
+ MIT © Roccato — Feito com ❤️ pelo time MB Labs.