mblabs-roccato-frontend-commons 0.2.20 → 0.2.22

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 (538) hide show
  1. package/README.md +241 -241
  2. package/dist/mblabs-roccato-frontend-commons.js +633 -632
  3. package/package.json +157 -157
  4. package/src/components/atoms/AudioPlayer/__snapshots__/audio-player.test.tsx.snap +22 -0
  5. package/src/components/atoms/AudioPlayer/audio-player.stories.tsx +36 -36
  6. package/src/components/atoms/AudioPlayer/audio-player.test.tsx +19 -19
  7. package/src/components/atoms/AudioPlayer/audio-player.tsx +13 -13
  8. package/src/components/atoms/AudioPlayer/index.ts +1 -1
  9. package/src/components/atoms/Badge/__snapshots__/badge.test.tsx.snap +12 -0
  10. package/src/components/atoms/Badge/badge.stories.tsx +80 -80
  11. package/src/components/atoms/Badge/badge.test.tsx +59 -59
  12. package/src/components/atoms/Badge/badge.tsx +47 -47
  13. package/src/components/atoms/Badge/index.ts +1 -1
  14. package/src/components/atoms/Box/__snapshots__/box.test.tsx.snap +10 -0
  15. package/src/components/atoms/Box/box.stories.tsx +37 -37
  16. package/src/components/atoms/Box/box.test.tsx +47 -47
  17. package/src/components/atoms/Box/box.tsx +7 -7
  18. package/src/components/atoms/Box/index.ts +1 -1
  19. package/src/components/atoms/Button/__snapshots__/button.test.tsx.snap +13 -0
  20. package/src/components/atoms/Button/button.stories.tsx +108 -108
  21. package/src/components/atoms/Button/button.test.tsx +54 -54
  22. package/src/components/atoms/Button/button.tsx +96 -96
  23. package/src/components/atoms/Button/index.ts +1 -1
  24. package/src/components/atoms/ButtonUpload/button-upload.stories.tsx +137 -137
  25. package/src/components/atoms/ButtonUpload/button-upload.tsx +303 -303
  26. package/src/components/atoms/Calendar/__snapshots__/calendar.test.tsx.snap +501 -0
  27. package/src/components/atoms/Calendar/calendar.stories.tsx +51 -51
  28. package/src/components/atoms/Calendar/calendar.test.tsx +41 -41
  29. package/src/components/atoms/Calendar/calendar.tsx +107 -107
  30. package/src/components/atoms/Calendar/index.ts +1 -1
  31. package/src/components/atoms/CheckIcon/check-icon.stories.tsx +38 -38
  32. package/src/components/atoms/CheckIcon/check-icon.test.tsx +269 -269
  33. package/src/components/atoms/CheckIcon/check-icon.tsx +140 -140
  34. package/src/components/atoms/Checkbox/__snapshots__/checkbox.test.tsx.snap +16 -0
  35. package/src/components/atoms/Checkbox/checkbox.stories.tsx +133 -133
  36. package/src/components/atoms/Checkbox/checkbox.test.tsx +70 -70
  37. package/src/components/atoms/Checkbox/checkbox.tsx +31 -31
  38. package/src/components/atoms/Checkbox/index.ts +1 -1
  39. package/src/components/atoms/Flex/__snapshots__/flex.test.tsx.snap +10 -0
  40. package/src/components/atoms/Flex/flex.stories.tsx +33 -33
  41. package/src/components/atoms/Flex/flex.test.tsx +47 -47
  42. package/src/components/atoms/Flex/flex.tsx +7 -7
  43. package/src/components/atoms/Flex/index.ts +1 -1
  44. package/src/components/atoms/Grid/__snapshots__/grid.test.tsx.snap +10 -0
  45. package/src/components/atoms/Grid/grid.stories.tsx +33 -33
  46. package/src/components/atoms/Grid/grid.test.tsx +47 -47
  47. package/src/components/atoms/Grid/grid.tsx +7 -7
  48. package/src/components/atoms/Grid/index.ts +1 -1
  49. package/src/components/atoms/Icon/__snapshots__/icon.test.tsx.snap +103 -0
  50. package/src/components/atoms/Icon/icon.stories.tsx +169 -169
  51. package/src/components/atoms/Icon/icon.test.tsx +272 -272
  52. package/src/components/atoms/Icon/icon.tsx +119 -119
  53. package/src/components/atoms/Input/__snapshots__/input.test.tsx.snap +50 -0
  54. package/src/components/atoms/Input/index.ts +1 -1
  55. package/src/components/atoms/Input/input.stories.tsx +704 -704
  56. package/src/components/atoms/Input/input.test.tsx +99 -99
  57. package/src/components/atoms/Input/input.tsx +170 -170
  58. package/src/components/atoms/InputMoney/index.ts +2 -2
  59. package/src/components/atoms/InputMoney/input-money.stories.tsx +240 -240
  60. package/src/components/atoms/InputMoney/input-money.test.tsx +98 -98
  61. package/src/components/atoms/InputMoney/input-money.tsx +254 -254
  62. package/src/components/atoms/InputPhone/index.ts +1 -1
  63. package/src/components/atoms/InputPhone/input-phone.stories.tsx +446 -446
  64. package/src/components/atoms/InputPhone/input-phone.test.tsx +147 -147
  65. package/src/components/atoms/InputPhone/input-phone.tsx +267 -267
  66. package/src/components/atoms/InputSearch/index.ts +1 -1
  67. package/src/components/atoms/InputSearch/input-search.stories.tsx +359 -359
  68. package/src/components/atoms/InputSearch/input-search.test.tsx +238 -238
  69. package/src/components/atoms/InputSearch/input-search.tsx +209 -209
  70. package/src/components/atoms/InputUpload/index.ts +1 -1
  71. package/src/components/atoms/InputUpload/input-upload.stories.tsx +229 -229
  72. package/src/components/atoms/InputUpload/input-upload.test.tsx +555 -555
  73. package/src/components/atoms/InputUpload/input-upload.tsx +433 -433
  74. package/src/components/atoms/InputWithButton/index.ts +2 -2
  75. package/src/components/atoms/InputWithButton/input-with-button.stories.tsx +510 -502
  76. package/src/components/atoms/InputWithButton/input-with-button.test.tsx +127 -127
  77. package/src/components/atoms/InputWithButton/input-with-button.tsx +179 -170
  78. package/src/components/atoms/Label/__snapshots__/label.test.tsx.snap +17 -0
  79. package/src/components/atoms/Label/index.ts +1 -1
  80. package/src/components/atoms/Label/label.stories.tsx +90 -90
  81. package/src/components/atoms/Label/label.test.tsx +59 -59
  82. package/src/components/atoms/Label/label.tsx +43 -43
  83. package/src/components/atoms/Progress/__snapshots__/progress.test.tsx.snap +25 -0
  84. package/src/components/atoms/Progress/index.ts +1 -1
  85. package/src/components/atoms/Progress/progress.stories.tsx +30 -30
  86. package/src/components/atoms/Progress/progress.test.tsx +62 -62
  87. package/src/components/atoms/Progress/progress.tsx +32 -32
  88. package/src/components/atoms/RenderCondition/index.ts +1 -1
  89. package/src/components/atoms/RenderCondition/render-condition.stories.tsx +28 -28
  90. package/src/components/atoms/RenderCondition/render-condition.test.tsx +27 -27
  91. package/src/components/atoms/RenderCondition/render-condition.tsx +9 -9
  92. package/src/components/atoms/RichTextEditor/__snapshots__/rich-text-editor.test.tsx.snap +314 -0
  93. package/src/components/atoms/RichTextEditor/rich-text-editor.stories.tsx +236 -236
  94. package/src/components/atoms/RichTextEditor/rich-text-editor.test.tsx +441 -441
  95. package/src/components/atoms/RichTextEditor/rich-text-editor.tsx +230 -230
  96. package/src/components/atoms/RichTextRenderer/rich-text-renderer.stories.tsx +84 -84
  97. package/src/components/atoms/RichTextRenderer/rich-text-renderer.test.tsx +49 -49
  98. package/src/components/atoms/RichTextRenderer/rich-text-renderer.tsx +17 -17
  99. package/src/components/atoms/Separator/__snapshots__/separator.test.tsx.snap +13 -0
  100. package/src/components/atoms/Separator/index.ts +1 -1
  101. package/src/components/atoms/Separator/separator.stories.tsx +117 -117
  102. package/src/components/atoms/Separator/separator.test.tsx +50 -50
  103. package/src/components/atoms/Separator/separator.tsx +28 -28
  104. package/src/components/atoms/Skeleton/__snapshots__/skeleton.test.tsx.snap +11 -0
  105. package/src/components/atoms/Skeleton/index.ts +1 -1
  106. package/src/components/atoms/Skeleton/skeleton.stories.tsx +84 -84
  107. package/src/components/atoms/Skeleton/skeleton.test.tsx +39 -39
  108. package/src/components/atoms/Skeleton/skeleton.tsx +14 -14
  109. package/src/components/atoms/Slider/__snapshots__/slider.test.tsx.snap +240 -0
  110. package/src/components/atoms/Slider/index.ts +1 -1
  111. package/src/components/atoms/Slider/slider.stories.tsx +28 -28
  112. package/src/components/atoms/Slider/slider.test.tsx +89 -89
  113. package/src/components/atoms/Slider/slider.tsx +54 -54
  114. package/src/components/atoms/Sonner/__snapshots__/sonner.test.tsx.snap +13 -0
  115. package/src/components/atoms/Sonner/index.ts +1 -1
  116. package/src/components/atoms/Sonner/sonner.css +39 -39
  117. package/src/components/atoms/Sonner/sonner.stories.tsx +260 -260
  118. package/src/components/atoms/Sonner/sonner.test.tsx +24 -24
  119. package/src/components/atoms/Sonner/sonner.tsx +13 -13
  120. package/src/components/atoms/Switch/__snapshots__/switch.test.tsx.snap +22 -0
  121. package/src/components/atoms/Switch/index.ts +1 -1
  122. package/src/components/atoms/Switch/switch.stories.tsx +128 -128
  123. package/src/components/atoms/Switch/switch.test.tsx +70 -70
  124. package/src/components/atoms/Switch/switch.tsx +61 -61
  125. package/src/components/atoms/Textarea/__snapshots__/textarea.test.tsx.snap +10 -0
  126. package/src/components/atoms/Textarea/index.ts +1 -1
  127. package/src/components/atoms/Textarea/textarea.stories.tsx +169 -169
  128. package/src/components/atoms/Textarea/textarea.test.tsx +56 -56
  129. package/src/components/atoms/Textarea/textarea.tsx +26 -26
  130. package/src/components/atoms/Toggle/__snapshots__/toggle.test.tsx.snap +13 -0
  131. package/src/components/atoms/Toggle/index.ts +1 -1
  132. package/src/components/atoms/Toggle/toggle.stories.tsx +170 -170
  133. package/src/components/atoms/Toggle/toggle.test.tsx +62 -62
  134. package/src/components/atoms/Toggle/toggle.tsx +47 -47
  135. package/src/components/atoms/Typography/__snapshots__/typography.test.tsx.snap +12 -0
  136. package/src/components/atoms/Typography/index.ts +1 -1
  137. package/src/components/atoms/Typography/typography.stories.tsx +95 -95
  138. package/src/components/atoms/Typography/typography.test.tsx +66 -66
  139. package/src/components/atoms/Typography/typography.tsx +63 -63
  140. package/src/components/atoms/UploadImageField/upload-image-field.stories.tsx +249 -249
  141. package/src/components/atoms/UploadImageField/upload-image-field.test.tsx +347 -347
  142. package/src/components/atoms/UploadImageField/upload-image-field.tsx +361 -361
  143. package/src/components/atoms/VideoPlayer/__snapshots__/video-player.test.tsx.snap +17 -0
  144. package/src/components/atoms/VideoPlayer/index.ts +1 -1
  145. package/src/components/atoms/VideoPlayer/video-player.stories.tsx +37 -37
  146. package/src/components/atoms/VideoPlayer/video-player.test.tsx +19 -19
  147. package/src/components/atoms/VideoPlayer/video-player.tsx +26 -26
  148. package/src/components/atoms/index.ts +32 -32
  149. package/src/components/icons/alert-circle.tsx +22 -22
  150. package/src/components/icons/align-center.tsx +21 -21
  151. package/src/components/icons/align-left.tsx +21 -21
  152. package/src/components/icons/annotation-dots.tsx +16 -16
  153. package/src/components/icons/annotation-question.tsx +14 -14
  154. package/src/components/icons/annotation.tsx +22 -22
  155. package/src/components/icons/announcement-01.tsx +14 -14
  156. package/src/components/icons/announcement-02.tsx +14 -14
  157. package/src/components/icons/apple-logo.tsx +8 -8
  158. package/src/components/icons/arrow-circle-broken-right.tsx +16 -16
  159. package/src/components/icons/arrow-down.tsx +8 -8
  160. package/src/components/icons/arrow-up.tsx +8 -8
  161. package/src/components/icons/at-sign.tsx +21 -21
  162. package/src/components/icons/award-01.tsx +15 -15
  163. package/src/components/icons/award-03.tsx +16 -16
  164. package/src/components/icons/bank-note-01.tsx +14 -14
  165. package/src/components/icons/bar-chart-square-02.tsx +8 -8
  166. package/src/components/icons/bell-01.tsx +8 -8
  167. package/src/components/icons/bell-04.tsx +16 -16
  168. package/src/components/icons/bold-01.tsx +21 -21
  169. package/src/components/icons/book-open-01.tsx +14 -14
  170. package/src/components/icons/brackets-ellipses.tsx +21 -21
  171. package/src/components/icons/briefcase-01.tsx +8 -8
  172. package/src/components/icons/brush-01.tsx +21 -21
  173. package/src/components/icons/building-02.tsx +8 -8
  174. package/src/components/icons/building-06.tsx +9 -9
  175. package/src/components/icons/calendar-minus-02.tsx +14 -14
  176. package/src/components/icons/calendar.tsx +8 -8
  177. package/src/components/icons/certificate-01.tsx +16 -16
  178. package/src/components/icons/chart-breakout-square.tsx +16 -16
  179. package/src/components/icons/check-circle-02.tsx +15 -15
  180. package/src/components/icons/check-circle.tsx +15 -15
  181. package/src/components/icons/check.tsx +21 -21
  182. package/src/components/icons/chevron-down-double.tsx +16 -16
  183. package/src/components/icons/chevron-down.tsx +8 -8
  184. package/src/components/icons/chevron-left-double.tsx +22 -22
  185. package/src/components/icons/chevron-left.tsx +16 -16
  186. package/src/components/icons/chevron-right-double.tsx +22 -22
  187. package/src/components/icons/chevron-right.tsx +16 -16
  188. package/src/components/icons/chevron-up-double.tsx +16 -16
  189. package/src/components/icons/clock-rewind.tsx +15 -15
  190. package/src/components/icons/clock-stopwatch.tsx +14 -14
  191. package/src/components/icons/coins-hand.tsx +14 -14
  192. package/src/components/icons/coins-stacked-01.tsx +14 -14
  193. package/src/components/icons/coins-stacked-02.tsx +14 -14
  194. package/src/components/icons/container.tsx +8 -8
  195. package/src/components/icons/copy-02.tsx +16 -16
  196. package/src/components/icons/copy-04.tsx +21 -21
  197. package/src/components/icons/corner-down-right.tsx +9 -9
  198. package/src/components/icons/countries/br.tsx +19 -19
  199. package/src/components/icons/countries/es.tsx +18 -18
  200. package/src/components/icons/countries/index.ts +2 -2
  201. package/src/components/icons/countries/us.tsx +20 -20
  202. package/src/components/icons/dataflow-03.tsx +14 -14
  203. package/src/components/icons/dotpoints-01.tsx +21 -21
  204. package/src/components/icons/dots-vertical.tsx +35 -35
  205. package/src/components/icons/download-03.tsx +16 -16
  206. package/src/components/icons/download-cloud-02.tsx +14 -14
  207. package/src/components/icons/drag.tsx +14 -14
  208. package/src/components/icons/dropper.tsx +21 -21
  209. package/src/components/icons/edit-01.tsx +15 -15
  210. package/src/components/icons/edit-02.tsx +8 -8
  211. package/src/components/icons/edit-03.tsx +23 -23
  212. package/src/components/icons/eye.tsx +21 -21
  213. package/src/components/icons/face-frown.tsx +14 -14
  214. package/src/components/icons/face-happy.tsx +14 -14
  215. package/src/components/icons/file-06.tsx +14 -14
  216. package/src/components/icons/file-attachment-04.tsx +14 -14
  217. package/src/components/icons/file-download-02.tsx +15 -15
  218. package/src/components/icons/file-plus-02.tsx +15 -15
  219. package/src/components/icons/file-search-01.tsx +22 -22
  220. package/src/components/icons/file-search-03.tsx +14 -14
  221. package/src/components/icons/filter-lines.tsx +21 -21
  222. package/src/components/icons/first-category.tsx +15 -15
  223. package/src/components/icons/first-stage.tsx +19 -19
  224. package/src/components/icons/folder.tsx +14 -14
  225. package/src/components/icons/google.tsx +12 -12
  226. package/src/components/icons/graduation-hat-02.tsx +14 -14
  227. package/src/components/icons/grid-01.tsx +35 -35
  228. package/src/components/icons/help-circle.tsx +15 -15
  229. package/src/components/icons/help-square.tsx +16 -16
  230. package/src/components/icons/home-line.tsx +21 -21
  231. package/src/components/icons/icons.stories.tsx +198 -198
  232. package/src/components/icons/index.ts +140 -140
  233. package/src/components/icons/info-circle.tsx +14 -14
  234. package/src/components/icons/italic-01.tsx +21 -21
  235. package/src/components/icons/last-category.tsx +10 -10
  236. package/src/components/icons/last-stage.tsx +19 -19
  237. package/src/components/icons/layout-alt-04.tsx +9 -9
  238. package/src/components/icons/lightbulb-02.tsx +16 -16
  239. package/src/components/icons/link-01.tsx +15 -15
  240. package/src/components/icons/link-broken-01.tsx +16 -16
  241. package/src/components/icons/linkedin-logo.tsx +16 -16
  242. package/src/components/icons/lock-01.tsx +21 -21
  243. package/src/components/icons/log-out-01.tsx +8 -8
  244. package/src/components/icons/mail-01.tsx +15 -15
  245. package/src/components/icons/marker-pin-02.tsx +9 -9
  246. package/src/components/icons/menu-01.tsx +8 -8
  247. package/src/components/icons/middle-category.tsx +9 -9
  248. package/src/components/icons/middle-stage.tsx +19 -19
  249. package/src/components/icons/ms-outlook.tsx +47 -47
  250. package/src/components/icons/paragraph-spacing.tsx +14 -14
  251. package/src/components/icons/phone-01.tsx +21 -21
  252. package/src/components/icons/pie-chart-02.tsx +21 -21
  253. package/src/components/icons/plus-circle.tsx +15 -15
  254. package/src/components/icons/portal-logo.tsx +76 -76
  255. package/src/components/icons/presentation-chart-02.tsx +13 -13
  256. package/src/components/icons/route.tsx +22 -22
  257. package/src/components/icons/save-01.tsx +14 -14
  258. package/src/components/icons/search-lg.tsx +14 -14
  259. package/src/components/icons/search-sm.tsx +8 -8
  260. package/src/components/icons/send-03.tsx +14 -14
  261. package/src/components/icons/settings-01.tsx +16 -16
  262. package/src/components/icons/settings-03.tsx +13 -13
  263. package/src/components/icons/share-05.tsx +15 -15
  264. package/src/components/icons/share-06.tsx +14 -14
  265. package/src/components/icons/slash-circle-01.tsx +8 -8
  266. package/src/components/icons/star-01.tsx +8 -8
  267. package/src/components/icons/step-icon-active.tsx +10 -10
  268. package/src/components/icons/step-icon-checked.tsx +9 -9
  269. package/src/components/icons/step-icon-default.tsx +10 -10
  270. package/src/components/icons/switch-horizontal-01.tsx +9 -9
  271. package/src/components/icons/table-01.tsx +14 -14
  272. package/src/components/icons/tag-01.tsx +14 -14
  273. package/src/components/icons/tag-03.tsx +14 -14
  274. package/src/components/icons/tool-02.tsx +13 -13
  275. package/src/components/icons/trash-01.tsx +15 -15
  276. package/src/components/icons/underline-01.tsx +21 -21
  277. package/src/components/icons/upload-cloud-02.tsx +14 -14
  278. package/src/components/icons/user-01.tsx +8 -8
  279. package/src/components/icons/user-03.tsx +9 -9
  280. package/src/components/icons/user-check-01.tsx +13 -13
  281. package/src/components/icons/user-circle.tsx +13 -13
  282. package/src/components/icons/user-edit.tsx +16 -16
  283. package/src/components/icons/user-minus-02.tsx +14 -14
  284. package/src/components/icons/user-plus-01.tsx +22 -22
  285. package/src/components/icons/user-plus-02.tsx +14 -14
  286. package/src/components/icons/user-square.tsx +16 -16
  287. package/src/components/icons/users-01.tsx +13 -13
  288. package/src/components/icons/users-plus-01.tsx +21 -21
  289. package/src/components/icons/users-plus.tsx +16 -16
  290. package/src/components/icons/vertical-drag.tsx +21 -21
  291. package/src/components/icons/x-circle.tsx +14 -14
  292. package/src/components/icons/x-close.tsx +8 -8
  293. package/src/components/icons/zap-fast.tsx +16 -16
  294. package/src/components/icons/zap.tsx +8 -8
  295. package/src/components/index.ts +4 -4
  296. package/src/components/molecules/Accordion/__snapshots__/accordion.test.tsx.snap +123 -0
  297. package/src/components/molecules/Accordion/accordion.stories.tsx +81 -81
  298. package/src/components/molecules/Accordion/accordion.test.tsx +91 -91
  299. package/src/components/molecules/Accordion/accordion.tsx +65 -65
  300. package/src/components/molecules/Accordion/index.ts +1 -1
  301. package/src/components/molecules/Alert/__snapshots__/alert.test.tsx.snap +27 -0
  302. package/src/components/molecules/Alert/alert.stories.tsx +75 -75
  303. package/src/components/molecules/Alert/alert.test.tsx +58 -58
  304. package/src/components/molecules/Alert/alert.tsx +67 -67
  305. package/src/components/molecules/Alert/index.ts +1 -1
  306. package/src/components/molecules/AlertDialog/__snapshots__/alert-dialog.test.tsx.snap +18 -0
  307. package/src/components/molecules/AlertDialog/alert-dialog.stories.tsx +55 -55
  308. package/src/components/molecules/AlertDialog/alert-dialog.test.tsx +34 -34
  309. package/src/components/molecules/AlertDialog/alert-dialog.tsx +172 -172
  310. package/src/components/molecules/AlertDialog/index.ts +1 -1
  311. package/src/components/molecules/Avatar/__snapshots__/avatar.test.tsx.snap +11 -0
  312. package/src/components/molecules/Avatar/avatar.stories.tsx +98 -98
  313. package/src/components/molecules/Avatar/avatar.test.tsx +55 -55
  314. package/src/components/molecules/Avatar/avatar.tsx +55 -55
  315. package/src/components/molecules/Avatar/index.ts +1 -1
  316. package/src/components/molecules/Breadcrumb/__snapshots__/breadcrumb.test.tsx.snap +11 -0
  317. package/src/components/molecules/Breadcrumb/breadcrumb.stories.tsx +125 -125
  318. package/src/components/molecules/Breadcrumb/breadcrumb.test.tsx +118 -118
  319. package/src/components/molecules/Breadcrumb/breadcrumb.tsx +120 -120
  320. package/src/components/molecules/Breadcrumb/index.ts +1 -1
  321. package/src/components/molecules/Card/__snapshots__/card.test.tsx.snap +11 -0
  322. package/src/components/molecules/Card/card.stories.tsx +109 -109
  323. package/src/components/molecules/Card/card.test.tsx +103 -103
  324. package/src/components/molecules/Card/card.tsx +78 -78
  325. package/src/components/molecules/Card/index.ts +1 -1
  326. package/src/components/molecules/Collapsible/__snapshots__/collapsible.test.tsx.snap +27 -0
  327. package/src/components/molecules/Collapsible/collapsible.stories.tsx +27 -27
  328. package/src/components/molecules/Collapsible/collapsible.test.tsx +35 -35
  329. package/src/components/molecules/Collapsible/collapsible.tsx +31 -31
  330. package/src/components/molecules/Collapsible/index.ts +1 -1
  331. package/src/components/molecules/ColorPicker/color-picker.stories.tsx +40 -40
  332. package/src/components/molecules/ColorPicker/color-picker.tsx +106 -106
  333. package/src/components/molecules/ColorPicker/index.ts +1 -1
  334. package/src/components/molecules/ColorScale/color-scale.stories.tsx +31 -31
  335. package/src/components/molecules/ColorScale/color-scale.tsx +74 -74
  336. package/src/components/molecules/ColorScale/index.ts +1 -1
  337. package/src/components/molecules/Command/__snapshots__/command.test.tsx.snap +31 -0
  338. package/src/components/molecules/Command/command.stories.tsx +70 -70
  339. package/src/components/molecules/Command/command.test.tsx +49 -49
  340. package/src/components/molecules/Command/command.tsx +177 -177
  341. package/src/components/molecules/Command/index.ts +1 -1
  342. package/src/components/molecules/ContextMenu/__snapshots__/context-menu.test.tsx.snap +14 -0
  343. package/src/components/molecules/ContextMenu/context-menu.stories.tsx +68 -68
  344. package/src/components/molecules/ContextMenu/context-menu.test.tsx +24 -24
  345. package/src/components/molecules/ContextMenu/context-menu.tsx +259 -259
  346. package/src/components/molecules/ContextMenu/index.ts +1 -1
  347. package/src/components/molecules/DatePicker/__snapshots__/date-picker.test.tsx.snap +38 -0
  348. package/src/components/molecules/DatePicker/date-picker.stories.tsx +204 -204
  349. package/src/components/molecules/DatePicker/date-picker.test.tsx +27 -27
  350. package/src/components/molecules/DatePicker/date-picker.tsx +486 -486
  351. package/src/components/molecules/Dialog/__snapshots__/dialog.test.tsx.snap +18 -0
  352. package/src/components/molecules/Dialog/dialog.stories.tsx +48 -48
  353. package/src/components/molecules/Dialog/dialog.test.tsx +51 -51
  354. package/src/components/molecules/Dialog/dialog.tsx +150 -150
  355. package/src/components/molecules/Drawer/__snapshots__/drawer.test.tsx.snap +3 -0
  356. package/src/components/molecules/Drawer/drawer.stories.tsx +182 -182
  357. package/src/components/molecules/Drawer/drawer.test.tsx +100 -100
  358. package/src/components/molecules/Drawer/drawer.tsx +206 -206
  359. package/src/components/molecules/Drawer/index.ts +1 -1
  360. package/src/components/molecules/Dropdown/__snapshots__/dropdown.test.tsx.snap +86 -0
  361. package/src/components/molecules/Dropdown/dropdown-async.stories.tsx +14 -14
  362. package/src/components/molecules/Dropdown/dropdown.stories.tsx +111 -111
  363. package/src/components/molecules/Dropdown/dropdown.test.tsx +128 -128
  364. package/src/components/molecules/Dropdown/dropdown.tsx +321 -321
  365. package/src/components/molecules/DropdownMenu/__snapshots__/dropdown-menu.test.tsx.snap +3 -0
  366. package/src/components/molecules/DropdownMenu/dropdown-menu.stories.tsx +154 -154
  367. package/src/components/molecules/DropdownMenu/dropdown-menu.test.tsx +163 -163
  368. package/src/components/molecules/DropdownMenu/dropdown-menu.tsx +313 -313
  369. package/src/components/molecules/DropdownMenu/index.ts +1 -1
  370. package/src/components/molecules/HoverCard/__snapshots__/hover-card.test.tsx.snap +14 -0
  371. package/src/components/molecules/HoverCard/hover-card.stories.tsx +48 -48
  372. package/src/components/molecules/HoverCard/hover-card.test.tsx +42 -42
  373. package/src/components/molecules/HoverCard/hover-card.tsx +44 -44
  374. package/src/components/molecules/HoverCard/index.ts +1 -1
  375. package/src/components/molecules/InputOTP/__snapshots__/input-otp.test.tsx.snap +89 -0
  376. package/src/components/molecules/InputOTP/index.ts +1 -1
  377. package/src/components/molecules/InputOTP/input-otp.stories.tsx +52 -52
  378. package/src/components/molecules/InputOTP/input-otp.test.tsx +28 -28
  379. package/src/components/molecules/InputOTP/input-otp.tsx +76 -76
  380. package/src/components/molecules/Menubar/__snapshots__/menubar.test.tsx.snap +80 -0
  381. package/src/components/molecules/Menubar/index.ts +1 -1
  382. package/src/components/molecules/Menubar/menubar.stories.tsx +113 -113
  383. package/src/components/molecules/Menubar/menubar.test.tsx +42 -42
  384. package/src/components/molecules/Menubar/menubar.tsx +314 -314
  385. package/src/components/molecules/NavigationMenu/__snapshots__/navigation-menu.test.tsx.snap +20 -0
  386. package/src/components/molecules/NavigationMenu/index.ts +1 -1
  387. package/src/components/molecules/NavigationMenu/navigation-menu.stories.tsx +143 -143
  388. package/src/components/molecules/NavigationMenu/navigation-menu.test.tsx +69 -69
  389. package/src/components/molecules/NavigationMenu/navigation-menu.tsx +174 -174
  390. package/src/components/molecules/PDFViewer/__snapshots__/pdf-viewer.test.tsx.snap +257 -0
  391. package/src/components/molecules/PDFViewer/index.ts +1 -1
  392. package/src/components/molecules/PDFViewer/pdf-viewer.stories.tsx +34 -34
  393. package/src/components/molecules/PDFViewer/pdf-viewer.test.tsx +26 -26
  394. package/src/components/molecules/PDFViewer/pdf-viewer.tsx +358 -358
  395. package/src/components/molecules/Pagination/__snapshots__/pagination.test.tsx.snap +200 -0
  396. package/src/components/molecules/Pagination/index.ts +1 -1
  397. package/src/components/molecules/Pagination/pagination.stories.tsx +193 -193
  398. package/src/components/molecules/Pagination/pagination.test.tsx +447 -447
  399. package/src/components/molecules/Pagination/pagination.tsx +206 -206
  400. package/src/components/molecules/PaginationDotGroup/__snapshots__/pagination-dot-group.test.tsx.snap +193 -0
  401. package/src/components/molecules/PaginationDotGroup/index.ts +1 -1
  402. package/src/components/molecules/PaginationDotGroup/pagination-dot-group.stories.tsx +211 -211
  403. package/src/components/molecules/PaginationDotGroup/pagination-dot-group.test.tsx +384 -384
  404. package/src/components/molecules/PaginationDotGroup/pagination-dot-group.tsx +119 -119
  405. package/src/components/molecules/Popover/index.ts +1 -1
  406. package/src/components/molecules/Popover/popover-menu.stories.tsx +27 -27
  407. package/src/components/molecules/Popover/popover.test.tsx +50 -50
  408. package/src/components/molecules/Popover/popover.tsx +38 -38
  409. package/src/components/molecules/ProgressSteps/__snapshots__/progress-steps.test.tsx.snap +524 -0
  410. package/src/components/molecules/ProgressSteps/index.ts +1 -1
  411. package/src/components/molecules/ProgressSteps/progress-steps.stories.tsx +36 -36
  412. package/src/components/molecules/ProgressSteps/progress-steps.test.tsx +470 -470
  413. package/src/components/molecules/ProgressSteps/progress-steps.tsx +140 -140
  414. package/src/components/molecules/RadioGroup/__snapshots__/radio-group.test.tsx.snap +122 -0
  415. package/src/components/molecules/RadioGroup/index.ts +1 -1
  416. package/src/components/molecules/RadioGroup/radio-group.stories.tsx +42 -42
  417. package/src/components/molecules/RadioGroup/radio-group.test.tsx +22 -22
  418. package/src/components/molecules/RadioGroup/radio-group.tsx +55 -55
  419. package/src/components/molecules/Resizable/__snapshots__/resizable.test.tsx.snap +121 -0
  420. package/src/components/molecules/Resizable/index.ts +1 -1
  421. package/src/components/molecules/Resizable/resizable.stories.tsx +52 -52
  422. package/src/components/molecules/Resizable/resizable.test.tsx +22 -22
  423. package/src/components/molecules/Resizable/resizable.tsx +55 -55
  424. package/src/components/molecules/ScrollArea/__snapshots__/scroll-area.test.tsx.snap +636 -0
  425. package/src/components/molecules/ScrollArea/index.ts +1 -1
  426. package/src/components/molecules/ScrollArea/scroll-area.stories.tsx +93 -93
  427. package/src/components/molecules/ScrollArea/scroll-area.test.tsx +28 -28
  428. package/src/components/molecules/ScrollArea/scroll-area.tsx +57 -57
  429. package/src/components/molecules/Select/__snapshots__/select.test.tsx.snap +15 -0
  430. package/src/components/molecules/Select/index.ts +1 -1
  431. package/src/components/molecules/Select/select.stories.tsx +63 -63
  432. package/src/components/molecules/Select/select.test.tsx +80 -80
  433. package/src/components/molecules/Select/select.tsx +172 -172
  434. package/src/components/molecules/Sheet/__snapshots__/sheet.test.tsx.snap +3 -0
  435. package/src/components/molecules/Sheet/index.ts +1 -1
  436. package/src/components/molecules/Sheet/sheet.stories.tsx +141 -141
  437. package/src/components/molecules/Sheet/sheet.test.tsx +70 -70
  438. package/src/components/molecules/Sheet/sheet.tsx +133 -133
  439. package/src/components/molecules/Tabs/__snapshots__/tabs.test.tsx.snap +25 -0
  440. package/src/components/molecules/Tabs/index.ts +1 -1
  441. package/src/components/molecules/Tabs/tabs.stories.tsx +221 -221
  442. package/src/components/molecules/Tabs/tabs.test.tsx +113 -113
  443. package/src/components/molecules/Tabs/tabs.tsx +102 -102
  444. package/src/components/molecules/ToggleGroup/__snapshots__/toggle-group.test.tsx.snap +42 -0
  445. package/src/components/molecules/ToggleGroup/index.ts +1 -1
  446. package/src/components/molecules/ToggleGroup/toggle-group.stories.tsx +117 -117
  447. package/src/components/molecules/ToggleGroup/toggle-group.test.tsx +100 -100
  448. package/src/components/molecules/ToggleGroup/toggle-group.tsx +70 -70
  449. package/src/components/molecules/Tooltip/__snapshots__/tooltip.test.tsx.snap +13 -0
  450. package/src/components/molecules/Tooltip/index.ts +1 -1
  451. package/src/components/molecules/Tooltip/tooltip.stories.tsx +133 -133
  452. package/src/components/molecules/Tooltip/tooltip.test.tsx +58 -58
  453. package/src/components/molecules/Tooltip/tooltip.tsx +58 -58
  454. package/src/components/molecules/index.ts +33 -33
  455. package/src/components/organisms/Carousel/__snapshots__/carousel.test.tsx.snap +219 -0
  456. package/src/components/organisms/Carousel/carousel.stories.tsx +94 -94
  457. package/src/components/organisms/Carousel/carousel.test.tsx +24 -24
  458. package/src/components/organisms/Carousel/carousel.tsx +383 -383
  459. package/src/components/organisms/Carousel/index.ts +1 -1
  460. package/src/components/organisms/Chart/__snapshots__/chart.test.tsx.snap +154 -0
  461. package/src/components/organisms/Chart/chart.stories.tsx +102 -102
  462. package/src/components/organisms/Chart/chart.test.tsx +105 -105
  463. package/src/components/organisms/Chart/chart.tsx +294 -294
  464. package/src/components/organisms/Chart/index.ts +1 -1
  465. package/src/components/organisms/FileUpload/FilePreview/file-preview.tsx +55 -55
  466. package/src/components/organisms/FileUpload/FilePreview/index.ts +1 -1
  467. package/src/components/organisms/FileUpload/file-upload.stories.tsx +20 -20
  468. package/src/components/organisms/FileUpload/file-upload.test.tsx +59 -59
  469. package/src/components/organisms/FileUpload/file-upload.tsx +175 -175
  470. package/src/components/organisms/FileUpload/file.d.ts +20 -20
  471. package/src/components/organisms/Form/__snapshots__/form.test.tsx.snap +194 -0
  472. package/src/components/organisms/Form/form.stories.tsx +155 -155
  473. package/src/components/organisms/Form/form.test.tsx +49 -49
  474. package/src/components/organisms/Form/form.tsx +133 -133
  475. package/src/components/organisms/Form/index.ts +1 -1
  476. package/src/components/organisms/Sidebar/__snapshots__/sidebar.test.tsx.snap +224 -0
  477. package/src/components/organisms/Sidebar/index.ts +1 -1
  478. package/src/components/organisms/Sidebar/sidebar.stories.tsx +86 -86
  479. package/src/components/organisms/Sidebar/sidebar.test.tsx +101 -101
  480. package/src/components/organisms/Sidebar/sidebar.tsx +666 -666
  481. package/src/components/organisms/Table/__snapshots__/table.test.tsx.snap +318 -0
  482. package/src/components/organisms/Table/index.ts +1 -1
  483. package/src/components/organisms/Table/table.stories.tsx +86 -86
  484. package/src/components/organisms/Table/table.test.tsx +42 -42
  485. package/src/components/organisms/Table/table.tsx +120 -120
  486. package/src/components/organisms/index.ts +6 -6
  487. package/src/constants/brazilian-states.ts +29 -29
  488. package/src/constants/index.ts +1 -1
  489. package/src/hooks/index.ts +10 -10
  490. package/src/hooks/useEditorActiveMarks.ts +62 -62
  491. package/src/hooks/useForm.ts +7 -7
  492. package/src/hooks/useFormContext.ts +6 -6
  493. package/src/hooks/useFormField.ts +41 -41
  494. package/src/hooks/useMobile.ts +61 -61
  495. package/src/hooks/useOnToggle.ts +28 -28
  496. package/src/hooks/usePDFNavigation.ts +40 -40
  497. package/src/hooks/usePDFZoom.ts +34 -34
  498. package/src/hooks/useSidebar.ts +23 -23
  499. package/src/hooks/useToast.tsx +62 -62
  500. package/src/index.css +73 -73
  501. package/src/main.ts +6 -6
  502. package/src/theme.css +387 -387
  503. package/src/utils/api/api.test.ts +63 -63
  504. package/src/utils/api/api.ts +33 -33
  505. package/src/utils/api/index.ts +1 -1
  506. package/src/utils/array/array.test.ts +159 -159
  507. package/src/utils/array/array.ts +43 -43
  508. package/src/utils/array/index.ts +1 -1
  509. package/src/utils/clipboard/clipboard.test.ts +217 -217
  510. package/src/utils/clipboard/clipboard.ts +40 -40
  511. package/src/utils/cn/cn.test.ts +42 -42
  512. package/src/utils/cn/cn.ts +6 -6
  513. package/src/utils/cn/index.ts +1 -1
  514. package/src/utils/color-utils/color-utils.test.ts +46 -46
  515. package/src/utils/color-utils/color-utils.ts +97 -97
  516. package/src/utils/color-utils/index.ts +1 -1
  517. package/src/utils/countries/countries.ts +69 -69
  518. package/src/utils/currency/currency.test.ts +113 -113
  519. package/src/utils/currency/currency.ts +133 -133
  520. package/src/utils/currency/index.ts +1 -1
  521. package/src/utils/date/date.test.ts +166 -166
  522. package/src/utils/date/date.ts +83 -83
  523. package/src/utils/date/index.ts +1 -1
  524. package/src/utils/file/file.ts +44 -44
  525. package/src/utils/file/index.ts +1 -1
  526. package/src/utils/get-initials/get-initials.test.ts +40 -40
  527. package/src/utils/get-initials/get-initials.ts +13 -13
  528. package/src/utils/get-initials/index.ts +1 -1
  529. package/src/utils/index.ts +14 -14
  530. package/src/utils/masks/index.ts +1 -1
  531. package/src/utils/masks/masks.ts +169 -169
  532. package/src/utils/render-highlighted-text/render-highlighted-text.tsx +24 -24
  533. package/src/utils/string/index.ts +1 -1
  534. package/src/utils/string/string.test.ts +185 -185
  535. package/src/utils/string/string.ts +157 -157
  536. package/src/utils/video/index.ts +1 -1
  537. package/src/utils/video/video.ts +8 -8
  538. 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.