mblabs-roccato-frontend-commons 0.2.24 → 0.2.25

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