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