norma-library 0.5.3 → 0.5.9

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 (390) hide show
  1. package/.storybook/main.ts +20 -0
  2. package/.storybook/preview.ts +15 -0
  3. package/README.md +13 -11
  4. package/dist/esm/components/Accordion.js +7 -11
  5. package/dist/esm/components/Accordion.js.map +1 -1
  6. package/dist/esm/components/Avatar.js +3 -7
  7. package/dist/esm/components/Avatar.js.map +1 -1
  8. package/dist/esm/components/Badge.js +3 -7
  9. package/dist/esm/components/Badge.js.map +1 -1
  10. package/dist/esm/components/Box/index.d.ts +4 -0
  11. package/dist/esm/components/Box/index.js +8 -0
  12. package/dist/esm/components/Box/index.js.map +1 -0
  13. package/dist/esm/components/Box/interfaces.d.ts +5 -0
  14. package/dist/esm/components/Box/interfaces.js +2 -0
  15. package/dist/esm/components/Box/interfaces.js.map +1 -0
  16. package/dist/esm/components/Box/styles.d.ts +3 -0
  17. package/dist/esm/components/Box/styles.js +17 -0
  18. package/dist/esm/components/Box/styles.js.map +1 -0
  19. package/dist/esm/components/Breadcrumb/index.d.ts +4 -0
  20. package/dist/esm/components/Breadcrumb/index.js +18 -0
  21. package/dist/esm/components/Breadcrumb/index.js.map +1 -0
  22. package/dist/esm/components/Breadcrumb/interface.d.ts +8 -0
  23. package/dist/esm/components/Breadcrumb/interface.js +2 -0
  24. package/dist/esm/components/Breadcrumb/interface.js.map +1 -0
  25. package/dist/esm/components/Breadcrumb/styles.d.ts +5 -0
  26. package/dist/esm/components/Breadcrumb/styles.js +8 -0
  27. package/dist/esm/components/Breadcrumb/styles.js.map +1 -0
  28. package/dist/esm/components/Button.js +5 -9
  29. package/dist/esm/components/Button.js.map +1 -1
  30. package/dist/esm/components/Card.js +4 -7
  31. package/dist/esm/components/Card.js.map +1 -1
  32. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.d.ts +3 -0
  33. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js +29 -0
  34. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js.map +1 -0
  35. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +16 -0
  36. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js +13 -0
  37. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js.map +1 -0
  38. package/dist/esm/components/CheckBox.js +3 -6
  39. package/dist/esm/components/CheckBox.js.map +1 -1
  40. package/dist/esm/components/DateInput/index.d.ts +4 -0
  41. package/dist/esm/components/DateInput/index.js +15 -0
  42. package/dist/esm/components/DateInput/index.js.map +1 -0
  43. package/dist/esm/components/DateInput/interface.d.ts +12 -0
  44. package/dist/esm/components/DateInput/interface.js +2 -0
  45. package/dist/esm/components/DateInput/interface.js.map +1 -0
  46. package/dist/esm/components/DateInput/styles.d.ts +5 -0
  47. package/dist/esm/components/DateInput/styles.js +7 -0
  48. package/dist/esm/components/DateInput/styles.js.map +1 -0
  49. package/dist/esm/components/DatePicker.js +6 -11
  50. package/dist/esm/components/DatePicker.js.map +1 -1
  51. package/dist/esm/components/DropDown.js +5 -10
  52. package/dist/esm/components/DropDown.js.map +1 -1
  53. package/dist/esm/components/IconButton.js +4 -7
  54. package/dist/esm/components/IconButton.js.map +1 -1
  55. package/dist/esm/components/Icons.d.ts +1 -1
  56. package/dist/esm/components/Icons.js.map +1 -1
  57. package/dist/esm/components/Modal.d.ts +1 -1
  58. package/dist/esm/components/Modal.js +20 -20
  59. package/dist/esm/components/Modal.js.map +1 -1
  60. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.d.ts +3 -0
  61. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js +30 -0
  62. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js.map +1 -0
  63. package/dist/esm/components/MultiSelectInput/components/Option/index.d.ts +3 -0
  64. package/dist/esm/components/MultiSelectInput/components/Option/index.js +36 -0
  65. package/dist/esm/components/MultiSelectInput/components/Option/index.js.map +1 -0
  66. package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +2 -0
  67. package/dist/esm/components/MultiSelectInput/components/Option/styles.js +5 -0
  68. package/dist/esm/components/MultiSelectInput/components/Option/styles.js.map +1 -0
  69. package/dist/esm/components/MultiSelectInput/index.d.ts +4 -0
  70. package/dist/esm/components/MultiSelectInput/index.js +33 -0
  71. package/dist/esm/components/MultiSelectInput/index.js.map +1 -0
  72. package/dist/esm/components/MultiSelectInput/interfaces.d.ts +15 -0
  73. package/dist/esm/components/MultiSelectInput/interfaces.js +2 -0
  74. package/dist/esm/components/MultiSelectInput/interfaces.js.map +1 -0
  75. package/dist/esm/components/MultiSelectInput/styles.d.ts +3 -0
  76. package/dist/esm/components/MultiSelectInput/styles.js +6 -0
  77. package/dist/esm/components/MultiSelectInput/styles.js.map +1 -0
  78. package/dist/esm/components/Paper.js +3 -7
  79. package/dist/esm/components/Paper.js.map +1 -1
  80. package/dist/esm/components/ProgressBar.d.ts +1 -1
  81. package/dist/esm/components/ProgressBar.js +12 -16
  82. package/dist/esm/components/ProgressBar.js.map +1 -1
  83. package/dist/esm/components/RadioGroup.js +6 -10
  84. package/dist/esm/components/RadioGroup.js.map +1 -1
  85. package/dist/esm/components/RangerSlider.js +4 -7
  86. package/dist/esm/components/RangerSlider.js.map +1 -1
  87. package/dist/esm/components/Select.js +10 -14
  88. package/dist/esm/components/Select.js.map +1 -1
  89. package/dist/esm/components/SelectInput/components/Option/index.d.ts +3 -0
  90. package/dist/esm/components/SelectInput/components/Option/index.js +34 -0
  91. package/dist/esm/components/SelectInput/components/Option/index.js.map +1 -0
  92. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +2 -0
  93. package/dist/esm/components/SelectInput/components/Option/styles.js +5 -0
  94. package/dist/esm/components/SelectInput/components/Option/styles.js.map +1 -0
  95. package/dist/esm/components/SelectInput/index.d.ts +4 -0
  96. package/dist/esm/components/SelectInput/index.js +19 -0
  97. package/dist/esm/components/SelectInput/index.js.map +1 -0
  98. package/dist/esm/components/SelectInput/interfaces.d.ts +15 -0
  99. package/dist/esm/components/SelectInput/interfaces.js +2 -0
  100. package/dist/esm/components/SelectInput/interfaces.js.map +1 -0
  101. package/dist/esm/components/SelectInput/styles.d.ts +3 -0
  102. package/dist/esm/components/SelectInput/styles.js +6 -0
  103. package/dist/esm/components/SelectInput/styles.js.map +1 -0
  104. package/dist/esm/components/Svgs.d.ts +1 -0
  105. package/dist/esm/components/Svgs.js +4 -0
  106. package/dist/esm/components/Svgs.js.map +1 -1
  107. package/dist/esm/components/Table/components/header/index.d.ts +3 -0
  108. package/dist/esm/components/Table/components/header/index.js +47 -0
  109. package/dist/esm/components/Table/components/header/index.js.map +1 -0
  110. package/dist/esm/components/Table/components/header/styles.d.ts +9 -0
  111. package/dist/esm/components/Table/components/header/styles.js +12 -0
  112. package/dist/esm/components/Table/components/header/styles.js.map +1 -0
  113. package/dist/esm/components/Table/components/index.d.ts +4 -0
  114. package/dist/esm/components/Table/components/index.js +5 -0
  115. package/dist/esm/components/Table/components/index.js.map +1 -0
  116. package/dist/esm/components/Table/components/pagination/index.d.ts +3 -0
  117. package/dist/esm/components/Table/components/pagination/index.js +26 -0
  118. package/dist/esm/components/Table/components/pagination/index.js.map +1 -0
  119. package/dist/esm/components/Table/components/pagination/styles.d.ts +2 -0
  120. package/dist/esm/components/Table/components/pagination/styles.js +5 -0
  121. package/dist/esm/components/Table/components/pagination/styles.js.map +1 -0
  122. package/dist/esm/components/Table/components/tbody/index.d.ts +3 -0
  123. package/dist/esm/components/Table/components/tbody/index.js +15 -0
  124. package/dist/esm/components/Table/components/tbody/index.js.map +1 -0
  125. package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -0
  126. package/dist/esm/components/Table/components/tbody/styles.js +5 -0
  127. package/dist/esm/components/Table/components/tbody/styles.js.map +1 -0
  128. package/dist/esm/components/Table/index.d.ts +4 -0
  129. package/dist/esm/components/Table/index.js +227 -0
  130. package/dist/esm/components/Table/index.js.map +1 -0
  131. package/dist/esm/components/Table/interface.d.ts +26 -0
  132. package/dist/esm/components/Table/interface.js +2 -0
  133. package/dist/esm/components/Table/interface.js.map +1 -0
  134. package/dist/esm/components/Table/styles.d.ts +11 -0
  135. package/dist/esm/components/Table/styles.js +14 -0
  136. package/dist/esm/components/Table/styles.js.map +1 -0
  137. package/dist/esm/components/Tabs.d.ts +1 -1
  138. package/dist/esm/components/Tabs.js +12 -15
  139. package/dist/esm/components/Tabs.js.map +1 -1
  140. package/dist/esm/components/Tag.js +8 -11
  141. package/dist/esm/components/Tag.js.map +1 -1
  142. package/dist/esm/components/TextField.js +4 -8
  143. package/dist/esm/components/TextField.js.map +1 -1
  144. package/dist/esm/components/TextInput/index.d.ts +4 -0
  145. package/dist/esm/components/TextInput/index.js +16 -0
  146. package/dist/esm/components/TextInput/index.js.map +1 -0
  147. package/dist/esm/components/TextInput/interface.d.ts +10 -0
  148. package/dist/esm/components/TextInput/interface.js +2 -0
  149. package/dist/esm/components/TextInput/interface.js.map +1 -0
  150. package/dist/esm/components/TextInput/styles.d.ts +4 -0
  151. package/dist/esm/components/TextInput/styles.js +7 -0
  152. package/dist/esm/components/TextInput/styles.js.map +1 -0
  153. package/dist/esm/components/TimeLine.js +4 -7
  154. package/dist/esm/components/TimeLine.js.map +1 -1
  155. package/dist/esm/components/TimePicker.js +6 -11
  156. package/dist/esm/components/TimePicker.js.map +1 -1
  157. package/dist/esm/components/Typography/Text/index.d.ts +4 -0
  158. package/dist/esm/components/Typography/Text/index.js +8 -0
  159. package/dist/esm/components/Typography/Text/index.js.map +1 -0
  160. package/dist/esm/components/Typography/Text/interfaces.d.ts +7 -0
  161. package/dist/esm/components/Typography/Text/interfaces.js +2 -0
  162. package/dist/esm/components/Typography/Text/interfaces.js.map +1 -0
  163. package/dist/esm/components/Typography/Text/styles.d.ts +3 -0
  164. package/dist/esm/components/Typography/Text/styles.js +35 -0
  165. package/dist/esm/components/Typography/Text/styles.js.map +1 -0
  166. package/dist/esm/components/Typography/Title/index.d.ts +4 -0
  167. package/dist/esm/components/Typography/Title/index.js +8 -0
  168. package/dist/esm/components/Typography/Title/index.js.map +1 -0
  169. package/dist/esm/components/Typography/Title/interfaces.d.ts +8 -0
  170. package/dist/esm/components/Typography/Title/interfaces.js +2 -0
  171. package/dist/esm/components/Typography/Title/interfaces.js.map +1 -0
  172. package/dist/esm/components/Typography/Title/styles.d.ts +3 -0
  173. package/dist/esm/components/Typography/Title/styles.js +35 -0
  174. package/dist/esm/components/Typography/Title/styles.js.map +1 -0
  175. package/dist/esm/components/Typography/index.d.ts +3 -0
  176. package/dist/esm/components/Typography/index.js +4 -0
  177. package/dist/esm/components/Typography/index.js.map +1 -0
  178. package/dist/esm/components/UncontrolledTable/components/header/index.d.ts +3 -0
  179. package/dist/esm/components/UncontrolledTable/components/header/index.js +34 -0
  180. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -0
  181. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +9 -0
  182. package/dist/esm/components/UncontrolledTable/components/header/styles.js +12 -0
  183. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -0
  184. package/dist/esm/components/UncontrolledTable/components/index.d.ts +4 -0
  185. package/dist/esm/components/UncontrolledTable/components/index.js +5 -0
  186. package/dist/esm/components/UncontrolledTable/components/index.js.map +1 -0
  187. package/dist/esm/components/UncontrolledTable/components/pagination/index.d.ts +3 -0
  188. package/dist/esm/components/UncontrolledTable/components/pagination/index.js +26 -0
  189. package/dist/esm/components/UncontrolledTable/components/pagination/index.js.map +1 -0
  190. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +2 -0
  191. package/dist/esm/components/UncontrolledTable/components/pagination/styles.js +5 -0
  192. package/dist/esm/components/UncontrolledTable/components/pagination/styles.js.map +1 -0
  193. package/dist/esm/components/UncontrolledTable/components/tbody/index.d.ts +3 -0
  194. package/dist/esm/components/UncontrolledTable/components/tbody/index.js +15 -0
  195. package/dist/esm/components/UncontrolledTable/components/tbody/index.js.map +1 -0
  196. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -0
  197. package/dist/esm/components/UncontrolledTable/components/tbody/styles.js +5 -0
  198. package/dist/esm/components/UncontrolledTable/components/tbody/styles.js.map +1 -0
  199. package/dist/esm/components/UncontrolledTable/index.d.ts +4 -0
  200. package/dist/esm/components/UncontrolledTable/index.js +150 -0
  201. package/dist/esm/components/UncontrolledTable/index.js.map +1 -0
  202. package/dist/esm/components/UncontrolledTable/interface.d.ts +29 -0
  203. package/dist/esm/components/UncontrolledTable/interface.js +2 -0
  204. package/dist/esm/components/UncontrolledTable/interface.js.map +1 -0
  205. package/dist/esm/components/UncontrolledTable/styles.d.ts +11 -0
  206. package/dist/esm/components/UncontrolledTable/styles.js +14 -0
  207. package/dist/esm/components/UncontrolledTable/styles.js.map +1 -0
  208. package/dist/esm/components/index.d.ts +2 -1
  209. package/dist/esm/components/index.js +2 -1
  210. package/dist/esm/components/index.js.map +1 -1
  211. package/dist/esm/helpers/alignments.js.map +1 -1
  212. package/dist/esm/helpers/borders.js.map +1 -1
  213. package/dist/esm/helpers/colors.js.map +1 -1
  214. package/dist/esm/helpers/radios.js.map +1 -1
  215. package/dist/esm/helpers/sizes.js.map +1 -1
  216. package/dist/esm/index.d.ts +12 -1
  217. package/dist/esm/index.js +12 -1
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/esm/interfaces/ChatMessageBalloon.d.ts +16 -0
  220. package/dist/esm/interfaces/ChatMessageBalloon.js +2 -0
  221. package/dist/esm/interfaces/ChatMessageBalloon.js.map +1 -0
  222. package/dist/esm/interfaces/Modal.d.ts +2 -1
  223. package/dist/esm/interfaces/Select.d.ts +1 -1
  224. package/dist/esm/interfaces/TextField.d.ts +2 -1
  225. package/dist/esm/interfaces/index.d.ts +1 -1
  226. package/dist/esm/interfaces/index.js +1 -1
  227. package/dist/esm/interfaces/index.js.map +1 -1
  228. package/dist/esm/providers/NormaProvider.d.ts +3 -0
  229. package/dist/esm/providers/NormaProvider.js +7 -0
  230. package/dist/esm/providers/NormaProvider.js.map +1 -0
  231. package/dist/esm/types/index.d.ts +2 -0
  232. package/dist/esm/types/index.js.map +1 -1
  233. package/package.json +29 -27
  234. package/src/components/Accordion.tsx +17 -25
  235. package/src/components/Avatar.tsx +3 -8
  236. package/src/components/Badge.tsx +3 -8
  237. package/src/components/Box/index.tsx +13 -0
  238. package/src/components/Box/interfaces.ts +4 -0
  239. package/src/components/Box/styles.tsx +23 -0
  240. package/src/components/Breadcrumb/index.tsx +27 -0
  241. package/src/components/Breadcrumb/interface.ts +9 -0
  242. package/src/components/Breadcrumb/styles.tsx +33 -0
  243. package/src/components/Button.tsx +11 -16
  244. package/src/components/Card.tsx +7 -13
  245. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -0
  246. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -0
  247. package/src/components/CheckBox.tsx +5 -8
  248. package/src/components/DateInput/index.tsx +35 -0
  249. package/src/components/DateInput/interface.ts +14 -0
  250. package/src/components/DateInput/styles.tsx +28 -0
  251. package/src/components/DatePicker.tsx +9 -15
  252. package/src/components/DropDown.tsx +15 -22
  253. package/src/components/IconButton.tsx +7 -11
  254. package/src/components/Modal.tsx +52 -53
  255. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -0
  256. package/src/components/MultiSelectInput/components/Option/index.tsx +63 -0
  257. package/src/components/MultiSelectInput/components/Option/styles.tsx +9 -0
  258. package/src/components/MultiSelectInput/index.tsx +61 -0
  259. package/src/components/MultiSelectInput/interfaces.ts +16 -0
  260. package/src/components/MultiSelectInput/styles.tsx +44 -0
  261. package/src/components/Paper.tsx +3 -10
  262. package/src/components/ProgressBar.tsx +13 -20
  263. package/src/components/RadioGroup.tsx +21 -28
  264. package/src/components/RangerSlider.tsx +4 -9
  265. package/src/components/Select.tsx +34 -42
  266. package/src/components/SelectInput/components/Option/index.tsx +62 -0
  267. package/src/components/SelectInput/components/Option/styles.tsx +9 -0
  268. package/src/components/SelectInput/index.tsx +46 -0
  269. package/src/components/SelectInput/interfaces.ts +16 -0
  270. package/src/components/SelectInput/styles.tsx +32 -0
  271. package/src/components/Svgs.tsx +8 -0
  272. package/src/components/Table/components/header/index.tsx +87 -0
  273. package/src/components/Table/components/header/styles.tsx +60 -0
  274. package/src/components/Table/components/index.tsx +9 -0
  275. package/src/components/Table/components/pagination/index.tsx +40 -0
  276. package/src/components/Table/components/pagination/styles.tsx +29 -0
  277. package/src/components/Table/components/tbody/index.tsx +31 -0
  278. package/src/components/Table/components/tbody/styles.tsx +5 -0
  279. package/src/components/Table/index.tsx +318 -0
  280. package/src/components/Table/interface.ts +24 -0
  281. package/src/components/Table/styles.tsx +118 -0
  282. package/src/components/Tabs.tsx +18 -23
  283. package/src/components/Tag.tsx +13 -17
  284. package/src/components/TextField.tsx +5 -10
  285. package/src/components/TextInput/index.tsx +38 -0
  286. package/src/components/TextInput/interface.ts +10 -0
  287. package/src/components/TextInput/styles.tsx +24 -0
  288. package/src/components/TimeLine.tsx +5 -9
  289. package/src/components/TimePicker.tsx +8 -14
  290. package/src/components/Typography/Text/index.tsx +21 -0
  291. package/src/components/Typography/Text/interfaces.ts +6 -0
  292. package/src/components/Typography/Text/styles.tsx +41 -0
  293. package/src/components/Typography/Title/index.tsx +23 -0
  294. package/src/components/Typography/Title/interfaces.ts +7 -0
  295. package/src/components/Typography/Title/styles.tsx +41 -0
  296. package/src/components/Typography/index.tsx +7 -0
  297. package/src/components/UncontrolledTable/components/header/index.tsx +78 -0
  298. package/src/components/UncontrolledTable/components/header/styles.tsx +60 -0
  299. package/src/components/UncontrolledTable/components/index.tsx +9 -0
  300. package/src/components/UncontrolledTable/components/pagination/index.tsx +40 -0
  301. package/src/components/UncontrolledTable/components/pagination/styles.tsx +29 -0
  302. package/src/components/UncontrolledTable/components/tbody/index.tsx +31 -0
  303. package/src/components/UncontrolledTable/components/tbody/styles.tsx +5 -0
  304. package/src/components/UncontrolledTable/index.tsx +291 -0
  305. package/src/components/UncontrolledTable/interface.ts +27 -0
  306. package/src/components/UncontrolledTable/styles.tsx +119 -0
  307. package/src/components/index.ts +2 -1
  308. package/src/helpers/colors.ts +0 -1
  309. package/src/index.css +0 -2
  310. package/src/index.ts +26 -0
  311. package/src/interfaces/ChatMessageBalloon.ts +17 -0
  312. package/src/interfaces/Modal.ts +2 -1
  313. package/src/interfaces/Select.ts +1 -1
  314. package/src/interfaces/TextField.ts +2 -1
  315. package/src/interfaces/index.ts +1 -1
  316. package/src/providers/NormaProvider.tsx +13 -0
  317. package/src/sample-data-2.json +178 -0
  318. package/src/sample-data.json +3 -4
  319. package/src/stories/Box.stories.tsx +36 -0
  320. package/src/stories/Breadcrumb.stories.tsx +45 -0
  321. package/src/stories/Button.stories.tsx +3 -1
  322. package/src/stories/Card.stories.tsx +1 -1
  323. package/src/stories/ChatMessageBalloon.stories.tsx +108 -0
  324. package/src/stories/DateInput.stories.tsx +52 -0
  325. package/src/stories/Modal.stories.tsx +5 -0
  326. package/src/stories/MultiSelectInput.stories.tsx +91 -0
  327. package/src/stories/ProgressBar.stories.tsx +2 -2
  328. package/src/stories/SelectInput.stories.tsx +79 -0
  329. package/src/stories/Table.stories.tsx +373 -0
  330. package/src/stories/Tabs.stories.tsx +1 -1
  331. package/src/stories/Text.stories.tsx +38 -0
  332. package/src/stories/TextInput.stories.tsx +53 -0
  333. package/src/stories/Title.stories.tsx +44 -0
  334. package/src/stories/UncontrolledTable.stories.tsx +379 -0
  335. package/src/styles/custom.css +1 -0
  336. package/src/styles/{globals.css → globals.scss} +1 -4
  337. package/src/types/index.ts +3 -0
  338. package/tsconfig.json +1 -1
  339. package/vite.config.ts +15 -0
  340. package/.husky/commit-msg +0 -4
  341. package/dist/Button/index.d.ts +0 -9
  342. package/dist/Button/types.d.ts +0 -18
  343. package/dist/Card/Card.d.ts +0 -3
  344. package/dist/Card/CardHeader.d.ts +0 -3
  345. package/dist/Card/index.d.ts +0 -4
  346. package/dist/Card/styles.d.ts +0 -546
  347. package/dist/Card/types.d.ts +0 -8
  348. package/dist/esm/components/DataGrid/base/dropdown.d.ts +0 -4
  349. package/dist/esm/components/DataGrid/base/dropdown.js +0 -126
  350. package/dist/esm/components/DataGrid/base/dropdown.js.map +0 -1
  351. package/dist/esm/components/DataGrid/base/number-filter.d.ts +0 -4
  352. package/dist/esm/components/DataGrid/base/number-filter.js +0 -30
  353. package/dist/esm/components/DataGrid/base/number-filter.js.map +0 -1
  354. package/dist/esm/components/DataGrid/base/sorting.d.ts +0 -5
  355. package/dist/esm/components/DataGrid/base/sorting.js +0 -15
  356. package/dist/esm/components/DataGrid/base/sorting.js.map +0 -1
  357. package/dist/esm/components/DataGrid/icons.d.ts +0 -4
  358. package/dist/esm/components/DataGrid/icons.js +0 -15
  359. package/dist/esm/components/DataGrid/icons.js.map +0 -1
  360. package/dist/esm/components/DataGrid/index.d.ts +0 -5
  361. package/dist/esm/components/DataGrid/index.js +0 -137
  362. package/dist/esm/components/DataGrid/index.js.map +0 -1
  363. package/dist/esm/components/DataGrid/shared.d.ts +0 -20
  364. package/dist/esm/components/DataGrid/shared.js +0 -128
  365. package/dist/esm/components/DataGrid/shared.js.map +0 -1
  366. package/dist/esm/components/DataGrid/styled.d.ts +0 -10
  367. package/dist/esm/components/DataGrid/styled.js +0 -73
  368. package/dist/esm/components/DataGrid/styled.js.map +0 -1
  369. package/dist/esm/interfaces/DataGrid.d.ts +0 -40
  370. package/dist/esm/interfaces/DataGrid.js +0 -2
  371. package/dist/esm/interfaces/DataGrid.js.map +0 -1
  372. package/dist/index.d.ts +0 -2
  373. package/dist/index.es.js +0 -6992
  374. package/dist/index.es.js.map +0 -1
  375. package/dist/index.umd.js +0 -266
  376. package/dist/index.umd.js.map +0 -1
  377. package/dist/vite.svg +0 -1
  378. package/src/components/DataGrid/allData.json +0 -2918
  379. package/src/components/DataGrid/base/dropdown.tsx +0 -212
  380. package/src/components/DataGrid/base/number-filter.tsx +0 -43
  381. package/src/components/DataGrid/base/sorting.tsx +0 -29
  382. package/src/components/DataGrid/icons.tsx +0 -53
  383. package/src/components/DataGrid/index.tsx +0 -254
  384. package/src/components/DataGrid/shared.ts +0 -154
  385. package/src/components/DataGrid/styled.ts +0 -96
  386. package/src/components/DataGrid/styles/dropdown.module.css +0 -86
  387. package/src/components/DataGrid/styles/number-filter.module.css +0 -16
  388. package/src/components/DataGrid/styles/styles.module.css +0 -107
  389. package/src/interfaces/DataGrid.ts +0 -46
  390. package/src/stories/DataGrid.stories.tsx +0 -28
@@ -0,0 +1,318 @@
1
+ import React, { useState, useMemo } from 'react'
2
+ import * as S from "./styles"
3
+ import {
4
+ flexRender,
5
+ getCoreRowModel,
6
+ getSortedRowModel,
7
+ useReactTable,
8
+ getFilteredRowModel,
9
+ ColumnFiltersState,
10
+ getPaginationRowModel
11
+ } from '@tanstack/react-table'
12
+ import { format, isAfter, isBefore } from "date-fns"
13
+ import { Button } from "@mui/material";
14
+ import { TablePropos } from './interface';
15
+ import { Pagination, Header, TBody } from "./components"
16
+
17
+ const Table:React.FC<TablePropos> = ({ data, columns, onClick, onMouseOver, onMouseOut, showTotalResults, showSettings, pagination, rowCount, onChangePage, customTotalResult }) => {
18
+ const [openFilterDialog, setOpenFilterDialog] = useState('')
19
+ const [sorting, setSorting] = useState<any>([])
20
+ const [openFilterOptions, setOpenFilterOptions] = useState(false)
21
+ const [filterByColumn, setFilterByColumn] = useState<ColumnFiltersState>([])
22
+ const [filterInputSelected, setFilterInputSelected] = useState<any>()
23
+ const [globalFilters, setGlobalFilters] = useState<any>([])
24
+ const [value, setValue] = useState<any>()
25
+ const [orderSmallest, setOrderSmallest] = useState(false)
26
+ const [orderLargest, setOrderLargest] = useState(false)
27
+
28
+ const customFilterText = (row: any, value: string) => {
29
+ const itensFinded = globalFilters.map((item: any) => {
30
+ if (item.type === 'Horario Igual a') {
31
+ return item.value === row.original[item.acessor]
32
+ }
33
+ if (item.type === 'Horario maior que') {
34
+ const date = new Date()
35
+ const rowDate = new Date()
36
+ const hourSplited = item?.value?.split(':')
37
+ const rowDateSplited = row.original[item.acessor].split(':')
38
+
39
+ date.setHours(Number(hourSplited[0]), Number(hourSplited[1]), 0, 0)
40
+ rowDate.setHours(Number(rowDateSplited[0]), Number(rowDateSplited[1]), 0 ,0)
41
+
42
+ return isAfter(rowDate, date)
43
+ }
44
+ if (item.type === 'Horario menor que') {
45
+ const date = new Date()
46
+ const rowDate = new Date()
47
+ const hourSplited = item?.value?.split(':')
48
+ const rowDateSplited = row.original[item.acessor].split(':')
49
+
50
+ date.setHours(Number(hourSplited[0]), Number(hourSplited[1]), 0, 0)
51
+ rowDate.setHours(Number(rowDateSplited[0]), Number(rowDateSplited[1]), 0 ,0)
52
+
53
+ return isBefore(rowDate, date)
54
+ }
55
+ if (item.type === 'Data Igual a') {
56
+ const dateSplited = item?.value?.split('-')
57
+ return row.original[item.acessor] === format(new Date(dateSplited[0], dateSplited[1] - 1, dateSplited[2], 0 , 0), "dd/MM/yyyy")
58
+ }
59
+ if (item.type === 'Data maior que') {
60
+ const dateSplited = item?.value?.split('-')
61
+ const rowDateSplited = row.original[item.acessor].split('/')
62
+ return isAfter(new Date(rowDateSplited[2], rowDateSplited[1], rowDateSplited[0]), new Date(dateSplited[0], dateSplited[1], dateSplited[2]))
63
+ }
64
+ if (item.type === 'Data menor que') {
65
+ const dateSplited = item?.value?.split('-')
66
+ const rowDateSplited = row.original[item.acessor].split('/')
67
+ return isBefore(new Date(rowDateSplited[2], rowDateSplited[1], rowDateSplited[0]), new Date(dateSplited[0], dateSplited[1], dateSplited[2]))
68
+ }
69
+ if (item.type === 'Igual a' && typeof value === 'number') {
70
+ return row.original[item.acessor] === item.value
71
+ }
72
+ if (item.type === 'Igual a') {
73
+ return row.original[item.acessor] === item.value
74
+ }
75
+ if (item.type === 'Contém') {
76
+ return !!row.original[item.acessor].includes(item.value)
77
+ }
78
+ if (item.type === 'Não é igual a') {
79
+ return row.original[item.acessor] !== item.value
80
+ }
81
+ if (item.type === 'Maior que') {
82
+ return row.original[item.acessor] > item.value
83
+ }
84
+ if (item.type === 'Menor que') {
85
+ return row.original[item.acessor] < item.value
86
+ }
87
+ })
88
+
89
+ const result = itensFinded.every((item: any) => item)
90
+
91
+ return result
92
+ }
93
+
94
+ const reactTableConfig = useMemo(() => {
95
+ const config:any = {
96
+ data,
97
+ columns,
98
+ filterFns:{
99
+ 'customFilterText': customFilterText
100
+ },
101
+ state: {
102
+ sorting: sorting,
103
+ columnFilters: filterByColumn,
104
+ },
105
+ rowCount: rowCount || 10,
106
+ getCoreRowModel: getCoreRowModel(),
107
+ getSortedRowModel: getSortedRowModel(),
108
+ getFilteredRowModel: getFilteredRowModel(),
109
+ onSortingChange: setSorting,
110
+ onColumnFiltersChange: setFilterByColumn
111
+ }
112
+ config.rowCount = rowCount || 10
113
+
114
+ if(!pagination) {
115
+ config.getPaginationRowModel = getPaginationRowModel()
116
+ } else {
117
+ config.state.pagination = pagination
118
+ config.manualPagination = true
119
+ config.pageCount = pagination.totalPages
120
+ }
121
+ return config
122
+ }, [data, sorting, filterByColumn, columns, pagination])
123
+
124
+ const table = useReactTable(reactTableConfig)
125
+
126
+ return (
127
+ <S.Container>
128
+ <Header
129
+ table={table}
130
+ customTotalResult={customTotalResult}
131
+ globalFilters={globalFilters}
132
+ orderSmallest={orderSmallest}
133
+ orderLargest={orderLargest}
134
+ showTotalResults={showTotalResults}
135
+ showSettings={showSettings}
136
+ setGlobalFilters={setGlobalFilters}
137
+ setOrderLargest={setOrderLargest}
138
+ setOrderSmallest={setOrderSmallest}
139
+ />
140
+ <S.Content>
141
+ <S.Table>
142
+ <thead>
143
+ {table.getHeaderGroups().map((headerGroup: any) => (
144
+ <tr key={headerGroup.id}>
145
+ {headerGroup.headers.map((header: any) => (
146
+ <th key={header.id}>
147
+ <div>
148
+ <S.ColumnContent>
149
+ <S.TextColumn>
150
+ {header.isPlaceholder
151
+ ? null
152
+ : flexRender(
153
+ header.column.columnDef.header,
154
+ header.getContext()
155
+ )}
156
+ </S.TextColumn>
157
+ <S.IconFilterDialog onClick={() => {
158
+ setOpenFilterDialog(header.column.columnDef.accessorKey)
159
+ }}>
160
+ <svg fill='#666' focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="ArrowDropDownIcon"><path d="m7 10 5 5 5-5z"></path></svg>
161
+ </S.IconFilterDialog>
162
+ </S.ColumnContent>
163
+ { openFilterDialog === header.column.columnDef.accessorKey
164
+ ? (
165
+ <>
166
+ <S.backgroundDialog onClick={() => {
167
+ setOpenFilterDialog('')
168
+ setOpenFilterOptions(false)
169
+ }}></S.backgroundDialog>
170
+ <S.FilterDialog>
171
+ {
172
+ openFilterOptions
173
+ ? (
174
+ <S.ListFilterDialog>
175
+ <p className='label'>Selecione um filtro</p>
176
+ <select className='select' value={filterInputSelected} onChange={(event) => {
177
+ setFilterInputSelected(event.target.value)
178
+ }}>
179
+ <option>Selecione...</option>
180
+ { header?.headerGroup?.headers[header.index].column.columnDef.type === 'text' ? <option>Igual a</option> : null }
181
+ { header?.headerGroup?.headers[header.index].column.columnDef.type === 'text' ? <option>Não é igual a</option> : null }
182
+ { header?.headerGroup?.headers[header.index].column.columnDef.type === 'text' ? <option>Contém</option> : null }
183
+ { header?.headerGroup?.headers[header.index].column.columnDef.type === 'number' ? <option>Maior que</option> : null }
184
+ { header?.headerGroup?.headers[header.index].column.columnDef.type === 'number' ? <option>Menor que</option> : null }
185
+ { header?.headerGroup?.headers[header.index].column.columnDef.type === 'number' ? <option>Igual a</option> : null }
186
+ { header?.headerGroup?.headers[header.index]. column.columnDef.type === 'date' ? <option>Data Igual a</option> : null }
187
+ { header?.headerGroup?.headers[header.index]. column.columnDef.type === 'date' ? <option>Data maior que</option> : null }
188
+ { header?.headerGroup?.headers[header.index]. column.columnDef.type === 'date' ? <option>Data menor que</option> : null }
189
+ { header?.headerGroup?.headers[header.index]. column.columnDef.type === 'time' ? <option>Horario Igual a</option> : null }
190
+ { header?.headerGroup?.headers[header.index]. column.columnDef.type === 'time' ? <option>Horario maior que</option> : null }
191
+ { header?.headerGroup?.headers[header.index]. column.columnDef.type === 'time' ? <option>Horario menor que</option> : null }
192
+ </select>
193
+ <div>
194
+ { header.column.getCanFilter()
195
+ ? filterInputSelected === 'Igual a' ||
196
+ filterInputSelected === 'Não é igual a' ||
197
+ filterInputSelected === 'Contém' ||
198
+ filterInputSelected === 'Maior que' ||
199
+ filterInputSelected === 'Menor que' ||
200
+ filterInputSelected === 'Data Igual a' ||
201
+ filterInputSelected === 'Data maior que' ||
202
+ filterInputSelected === 'Data menor que' ||
203
+ filterInputSelected === 'Horario Igual a' ||
204
+ filterInputSelected === 'Horario maior que' ||
205
+ filterInputSelected === 'Horario menor que'
206
+ ? (
207
+ <div>
208
+ <p className='label' style={{ marginTop: '10px' }}>Valor</p>
209
+ <input
210
+ type={header?.headerGroup?.headers[header.index].column.columnDef.type}
211
+ className='select'
212
+ style={{ width: '100%' }}
213
+ value={value as any}
214
+ onChange={event => {
215
+ if (header?.headerGroup?.headers[header.index].column.columnDef.type === 'number') {
216
+ setValue(Number(event.target.value))
217
+ return
218
+ }
219
+ if (header?.headerGroup?.headers[header.index].column.columnDef.type === 'date') {
220
+ setValue(event.target.value)
221
+ return
222
+ }
223
+ setValue(event.target.value)
224
+ }}
225
+ />
226
+ <Button
227
+ color="primary"
228
+ type={"submit"}
229
+ disableElevation
230
+ style={{
231
+ marginTop: 8,
232
+ width: '100%'
233
+ }}
234
+ variant="contained"
235
+ onClick={() => {
236
+ setGlobalFilters((current: any) => [...current,
237
+ {
238
+ acessor: header.column.columnDef.accessorKey,
239
+ type: filterInputSelected,
240
+ value: value
241
+ }
242
+ ])
243
+ header.column.setFilterValue(value)
244
+ setOpenFilterOptions(false)
245
+ setOpenFilterDialog('')
246
+ setFilterInputSelected(false)
247
+ setValue(null)
248
+ }}
249
+ >
250
+ Buscar
251
+ </Button>
252
+ </div>
253
+ )
254
+ : null
255
+ : null
256
+ }
257
+ </div>
258
+ </S.ListFilterDialog>
259
+ )
260
+ : (
261
+ <S.ListFilterDialog>
262
+ <S.OptionFilterDialog style={{
263
+ background: orderSmallest ? 'rgba(0, 0, 0, 0.04)' : ''
264
+ }}>
265
+ <div className='icon'>
266
+ <svg fill="#666" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="20" height="20"><path strokeLinecap="round" strokeLinejoin="round" d="M12 4.5v15m0 0l6.75-6.75M12 19.5l-6.75-6.75"></path></svg>
267
+ </div>
268
+ <p onClick={() => {
269
+ header.column.toggleSorting()
270
+ setOrderSmallest(true)
271
+ setOrderLargest(false)
272
+ }}>Menor primeiro</p>
273
+ </S.OptionFilterDialog>
274
+ <S.OptionFilterDialog style={{
275
+ background: orderLargest ? 'rgba(0, 0, 0, 0.04)' : ''
276
+ }}>
277
+ <div className='icon rotate'>
278
+ <svg fill="#666" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="20" height="20"><path strokeLinecap="round" strokeLinejoin="round" d="M12 4.5v15m0 0l6.75-6.75M12 19.5l-6.75-6.75"></path></svg>
279
+ </div>
280
+ <p onClick={() => {
281
+ header.column.toggleSorting()
282
+ setOrderLargest(true)
283
+ setOrderSmallest(false)
284
+ }}>Maior primeiro</p>
285
+ </S.OptionFilterDialog>
286
+ <S.OptionFilterDialog>
287
+ <div className='icon'>
288
+ <svg fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="16" height="16"><path strokeLinecap="round" strokeLinejoin="round" d="M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 01-.659 1.591l-5.432 5.432a2.25 2.25 0 00-.659 1.591v2.927a2.25 2.25 0 01-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 00-.659-1.591L3.659 7.409A2.25 2.25 0 013 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0112 3z"></path></svg>
289
+ </div>
290
+ <p onClick={() => setOpenFilterOptions(true)}>Filtrar por</p>
291
+ </S.OptionFilterDialog>
292
+ </S.ListFilterDialog>
293
+ )
294
+ }
295
+ </S.FilterDialog>
296
+ </>
297
+ ) : null
298
+ }
299
+ </div>
300
+ </th>
301
+ ))}
302
+ </tr>
303
+ ))}
304
+ </thead>
305
+ <TBody
306
+ table={table}
307
+ onClick={onClick}
308
+ onMouseOver={onMouseOver}
309
+ onMouseOut={onMouseOut}
310
+ />
311
+ </S.Table>
312
+ </S.Content>
313
+ <Pagination table={table} onChangePage={onChangePage} />
314
+ </S.Container>
315
+ )
316
+ }
317
+
318
+ export default Table
@@ -0,0 +1,24 @@
1
+ import { ColumnDef } from '@tanstack/react-table'
2
+
3
+ export interface TablePropos {
4
+ data: any
5
+ columns: ColumnDef<ColumnsTable>[]
6
+ onClick: any
7
+ onMouseOver: any
8
+ onMouseOut: any
9
+ showTotalResults: boolean
10
+ showSettings: boolean
11
+ minHeight: string
12
+ rowCount: number
13
+ onChangePage?: (page:number) => void
14
+ pagination?: {pageIndex:number, pageSize:number, totalPages:number}
15
+ customTotalResult?: string
16
+ }
17
+
18
+ export interface ColumnsTable {
19
+ header: string,
20
+ accessorKey: string,
21
+ type: string,
22
+ enableColumnFilter: boolean,
23
+ filterFn: string
24
+ }
@@ -0,0 +1,118 @@
1
+ import styled from "styled-components";
2
+
3
+ export const Container = styled.div`
4
+ width: 100%;
5
+ background: #fff;
6
+ box-shadow: 0px 2px 6px #0000000A;
7
+ padding: 24px 0;
8
+ `
9
+
10
+ export const Content = styled.div<any>`
11
+ min-height: ${props => props.minHeight ? props.minHeight : 'auto'};
12
+ `
13
+
14
+ export const Table = styled.table`
15
+ border-collapse: collapse;
16
+ width: 100%;
17
+ thead {
18
+ tr {
19
+ border-bottom: 1px solid #E0E0E0;
20
+ th {
21
+ padding: 12px 24px;
22
+ }
23
+ }
24
+ }
25
+ tbody {
26
+ tr {
27
+ td {
28
+ padding: 16px 24px;
29
+ color: #666666;
30
+ font-size: 14px;
31
+ }
32
+ }
33
+ tr:nth-child(even) {
34
+ background: #FAFAFA;
35
+ border-bottom: 1px solid #f1f1f1;
36
+ border-top: 1px solid #f1f1f1;
37
+ }
38
+ }
39
+ `
40
+
41
+ export const TextColumn = styled.span`
42
+ color: #666666;
43
+ font-size: 14px;
44
+ `
45
+
46
+ export const ColumnContent = styled.div`
47
+ gap: 2px;
48
+ align-items: center;
49
+ display: flex;
50
+ `
51
+
52
+ export const IconFilterDialog = styled.div`
53
+ width: 20px;
54
+ height: 20px;
55
+ cursor: pointer;
56
+ `
57
+
58
+ export const backgroundDialog = styled.div`
59
+ width: 100%;
60
+ position: absolute;
61
+ height: 100vh;
62
+ background: transparent;
63
+ top: 0;
64
+ left: 0;
65
+ `
66
+
67
+ export const FilterDialog = styled.div`
68
+ padding: 8px;
69
+ margin: 6px 0px 0 0;
70
+ position: absolute;
71
+ width: 302px;
72
+ background: #fff;
73
+ box-shadow: 0px 3px 6px #00000029;
74
+ border: 1px solid #E0E0E0;
75
+ `
76
+
77
+ export const ListFilterDialog = styled.div`
78
+ display: flex;
79
+ flex-direction: column;
80
+ .label {
81
+ margin: 0 0 8px 0;
82
+ color: #666666;
83
+ font-size: 14px;
84
+ font-weight: 400;
85
+ text-align: left;
86
+ }
87
+ .select {
88
+ border: 1px solid #E0E0E0;
89
+ padding: 8px 12px;
90
+ }
91
+ `
92
+
93
+ export const OptionFilterDialog = styled.div`
94
+ display: flex;
95
+ gap: 16px;
96
+ align-items: center;
97
+ padding: 6px 8px;
98
+ cursor: pointer;
99
+ &:hover {
100
+ background: rgba(0, 0, 0, 0.04);
101
+ }
102
+ .icon {
103
+ color: #666;
104
+ }
105
+ .rotate {
106
+ rotate: 180deg;
107
+ }
108
+ div {
109
+ width: 20px;
110
+ height: 20px;
111
+ }
112
+ p {
113
+ margin: 0;
114
+ color: #666666;
115
+ font-size: 16px;
116
+ font-weight: 400;
117
+ }
118
+ `
@@ -1,7 +1,7 @@
1
- import React, { useMemo } from 'react';
2
- import { Box, Tabs as MuiTabs, Tab, ThemeProvider, Typography, useMediaQuery } from '@mui/material';
1
+ import React from 'react';
2
+ import { Box, Tabs as MuiTabs, Tab } from '@mui/material';
3
3
  import { TabPanelProps, TabsBaseProps } from '../interfaces';
4
- import { palette, themes } from '../helpers';
4
+ import { palette } from '../helpers';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import { ColorVariant } from '@/types';
7
7
 
@@ -66,7 +66,7 @@ function CustomTabPanel(props: TabPanelProps) {
66
66
  >
67
67
  {value === index && (
68
68
  <Box sx={{ p: 3 }}>
69
- <Typography>{children}</Typography>
69
+ {children}
70
70
  </Box>
71
71
  )}
72
72
  </div>
@@ -80,32 +80,27 @@ function a11yProps(index: number) {
80
80
  };
81
81
  }
82
82
 
83
- export const Tabs = ({ data = [], color = 'primary', ...props }: TabsBaseProps) => {
83
+ export const Tabs = ({ data = [], color = 'primary', onChange, ...props }: TabsBaseProps) => {
84
84
  const [value, setValue] = React.useState(0);
85
85
 
86
86
  const handleChange = (event: React.SyntheticEvent, newValue: number) => {
87
87
  setValue(newValue);
88
- console.log(event);
88
+ if(!!onChange) onChange(event, newValue)
89
89
  };
90
90
 
91
- const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
92
- const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
93
-
94
91
  return (
95
- <ThemeProvider theme={theme}>
96
- <Box sx={{ width: '100%' }}>
97
- <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
98
- <TabsStyled value={value} color={color} onChange={handleChange} aria-label="basic tabs example" {...props}>
99
- {data && data.map((item, key) => <TabStyled label={item.label} color={color} {...a11yProps(key)} />)}
100
- </TabsStyled>
101
- </Box>
102
- {data &&
103
- data.map((item, key) => (
104
- <CustomTabPanel value={value} index={key}>
105
- {item.children}
106
- </CustomTabPanel>
107
- ))}
92
+ <Box sx={{ width: '100%' }}>
93
+ <Box>
94
+ <TabsStyled value={value} color={color} onChange={handleChange} aria-label="basic tabs example" {...props}>
95
+ {data && data.map((item, key) => <TabStyled label={item.label} color={color} {...a11yProps(key)} />)}
96
+ </TabsStyled>
108
97
  </Box>
109
- </ThemeProvider>
98
+ {data &&
99
+ data.map((item, key) => (
100
+ <CustomTabPanel value={value} index={key}>
101
+ {item.children}
102
+ </CustomTabPanel>
103
+ ))}
104
+ </Box>
110
105
  );
111
106
  };
@@ -1,7 +1,7 @@
1
- import React, { useMemo } from 'react';
2
- import { Chip as MuiTag, ThemeProvider, useMediaQuery } from '@mui/material';
1
+ import React from 'react';
2
+ import { Chip as MuiTag } from '@mui/material';
3
3
  import { TagBaseProps } from '../interfaces';
4
- import { palette, themes } from '../helpers';
4
+ import { palette } from '../helpers';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import { ColorVariant } from '@/types';
7
7
 
@@ -18,20 +18,16 @@ const colorMap: Record<ColorVariant, string> = {
18
18
  const TagStyled = styled(MuiTag)({});
19
19
 
20
20
  export const Tag = ({ label, color = 'primary', outlined = false, ...props }: TagBaseProps) => {
21
- const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
22
- const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
23
-
21
+
24
22
  return (
25
- <ThemeProvider theme={theme}>
26
- <TagStyled
27
- label={label}
28
- sx={{
29
- color: outlined !== true ? '#FFFF' : colorMap[color],
30
- backgroundColor: outlined !== true ? colorMap[color] : 'inherit',
31
- border: `1px solid ${colorMap[color]}`,
32
- }}
33
- {...props}
34
- />
35
- </ThemeProvider>
23
+ <TagStyled
24
+ label={label}
25
+ sx={{
26
+ color: outlined !== true ? '#FFFF' : colorMap[color],
27
+ backgroundColor: outlined !== true ? colorMap[color] : 'inherit',
28
+ border: `1px solid ${colorMap[color]}`,
29
+ }}
30
+ {...props}
31
+ />
36
32
  );
37
33
  };
@@ -1,10 +1,9 @@
1
- import React, { useMemo } from 'react';
1
+ import React from 'react';
2
2
 
3
- import { FormControl, ThemeProvider, useMediaQuery, TextField as MuiTextField } from '@mui/material';
3
+ import { FormControl, TextField as MuiTextField } from '@mui/material';
4
4
 
5
5
  import { TextFieldBaseProps } from '../interfaces';
6
6
  import { styled } from '@mui/material/styles';
7
- import { themes } from '../helpers';
8
7
 
9
8
  const TextFieldStyled = styled(MuiTextField)({
10
9
  textTransform: 'none',
@@ -12,13 +11,9 @@ const TextFieldStyled = styled(MuiTextField)({
12
11
  });
13
12
 
14
13
  export const TextField: React.FC<TextFieldBaseProps> = ({ label, ...props }) => {
15
- const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
16
- const theme = useMemo(() => (prefersDarkMode ? themes.light : themes.dark), [prefersDarkMode]);
17
14
  return (
18
- <ThemeProvider theme={theme}>
19
- <FormControl sx={{ width: '100%' }}>
20
- <TextFieldStyled {...props} label={label} />
21
- </FormControl>
22
- </ThemeProvider>
15
+ <FormControl sx={{ width: '100%' }}>
16
+ <TextFieldStyled {...props} label={label} />
17
+ </FormControl>
23
18
  );
24
19
  };
@@ -0,0 +1,38 @@
1
+ import React, { useState } from "react"
2
+ import * as S from "./styles"
3
+ import { TextInputProps } from "./interface"
4
+
5
+ const TextInput:React.FC<TextInputProps> = ({
6
+ label,
7
+ className,
8
+ onChange,
9
+ disabled,
10
+ placeholder,
11
+ name,
12
+ type,
13
+ value
14
+ }) => {
15
+ const [valueSelected, setValueSelected] = useState(value)
16
+
17
+ const changeValue = (event: any) => {
18
+ const { value } = event.target
19
+ setValueSelected(value)
20
+ onChange(event)
21
+ }
22
+
23
+ return (
24
+ <S.Container className={className}>
25
+ <S.Label>{label}</S.Label>
26
+ <S.Input
27
+ type={type}
28
+ name={name}
29
+ value={valueSelected}
30
+ placeholder={placeholder}
31
+ disabled={disabled}
32
+ onChange={(event) => changeValue(event)}
33
+ />
34
+ </S.Container>
35
+ )
36
+ }
37
+
38
+ export default TextInput
@@ -0,0 +1,10 @@
1
+ export interface TextInputProps {
2
+ className?: string
3
+ label: string
4
+ onChange: Function
5
+ disabled?: boolean
6
+ placeholder?: string
7
+ name?: string
8
+ type?: string
9
+ value: string
10
+ }
@@ -0,0 +1,24 @@
1
+ import styled from "styled-components"
2
+
3
+ export const Container = styled.div`
4
+ width: 100%;
5
+ display: flex;
6
+ flex-direction: column;
7
+ `
8
+
9
+ export const Label = styled.label`
10
+ font-size: 14px;
11
+ margin: 0 0 4px 0;
12
+ color: #666;
13
+ `
14
+
15
+ export const Input = styled.input`
16
+ border: none;
17
+ color: #4D4F5C;
18
+ border-bottom: 1px solid #00000033;
19
+ outline: none;
20
+ font-size: 18px;
21
+ padding: 8px;
22
+ width: 100%;
23
+ font-size: 16px;
24
+ `