mblabs-roccato-frontend-commons 0.1.77 → 0.1.78

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