norma-library 0.5.80 → 0.5.122

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 (389) hide show
  1. package/.babelrc.json +18 -18
  2. package/.prettierignore +10 -10
  3. package/.prettierrc.json +20 -20
  4. package/.storybook/main.ts +20 -20
  5. package/.storybook/preview.ts +15 -15
  6. package/README.md +43 -43
  7. package/commitlint.config.js +1 -1
  8. package/dist/esm/components/Box/index.d.ts +4 -0
  9. package/dist/esm/components/Box/index.js +8 -0
  10. package/dist/esm/components/Box/index.js.map +1 -0
  11. package/dist/esm/components/Box/interfaces.d.ts +5 -0
  12. package/dist/esm/components/Box/interfaces.js +2 -0
  13. package/dist/esm/components/Box/interfaces.js.map +1 -0
  14. package/dist/esm/components/Box/styles.d.ts +3 -0
  15. package/dist/esm/components/Box/styles.js +17 -0
  16. package/dist/esm/components/Box/styles.js.map +1 -0
  17. package/dist/esm/components/Breadcrumb/index.d.ts +4 -0
  18. package/dist/esm/components/Breadcrumb/index.js +18 -0
  19. package/dist/esm/components/Breadcrumb/index.js.map +1 -0
  20. package/dist/esm/components/Breadcrumb/interface.d.ts +8 -0
  21. package/dist/esm/components/Breadcrumb/interface.js +2 -0
  22. package/dist/esm/components/Breadcrumb/interface.js.map +1 -0
  23. package/dist/esm/components/Breadcrumb/styles.d.ts +5 -0
  24. package/dist/esm/components/Breadcrumb/styles.js +8 -0
  25. package/dist/esm/components/Breadcrumb/styles.js.map +1 -0
  26. package/dist/esm/components/Card.d.ts +2 -2
  27. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js +4 -3
  28. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js.map +1 -1
  29. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +1 -1
  30. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js +1 -1
  31. package/dist/esm/components/DateInput/index.d.ts +4 -0
  32. package/dist/esm/components/DateInput/index.js +15 -0
  33. package/dist/esm/components/DateInput/index.js.map +1 -0
  34. package/dist/esm/components/DateInput/interface.d.ts +12 -0
  35. package/dist/esm/components/DateInput/interface.js +2 -0
  36. package/dist/esm/components/DateInput/interface.js.map +1 -0
  37. package/dist/esm/components/DateInput/styles.d.ts +5 -0
  38. package/dist/esm/components/DateInput/styles.js +7 -0
  39. package/dist/esm/components/DateInput/styles.js.map +1 -0
  40. package/dist/esm/components/Icons.js.map +1 -1
  41. package/dist/esm/components/Modal.d.ts +1 -1
  42. package/dist/esm/components/Modal.js +8 -4
  43. package/dist/esm/components/Modal.js.map +1 -1
  44. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.d.ts +3 -0
  45. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js +30 -0
  46. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js.map +1 -0
  47. package/dist/esm/components/MultiSelectInput/components/Option/index.d.ts +3 -0
  48. package/dist/esm/components/MultiSelectInput/components/Option/index.js +36 -0
  49. package/dist/esm/components/MultiSelectInput/components/Option/index.js.map +1 -0
  50. package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +2 -0
  51. package/dist/esm/components/MultiSelectInput/components/Option/styles.js +5 -0
  52. package/dist/esm/components/MultiSelectInput/components/Option/styles.js.map +1 -0
  53. package/dist/esm/components/MultiSelectInput/index.d.ts +4 -0
  54. package/dist/esm/components/MultiSelectInput/index.js +33 -0
  55. package/dist/esm/components/MultiSelectInput/index.js.map +1 -0
  56. package/dist/esm/components/MultiSelectInput/interfaces.d.ts +15 -0
  57. package/dist/esm/components/MultiSelectInput/interfaces.js +2 -0
  58. package/dist/esm/components/MultiSelectInput/interfaces.js.map +1 -0
  59. package/dist/esm/components/MultiSelectInput/styles.d.ts +3 -0
  60. package/dist/esm/components/MultiSelectInput/styles.js +6 -0
  61. package/dist/esm/components/MultiSelectInput/styles.js.map +1 -0
  62. package/dist/esm/components/ProgressBar.d.ts +1 -1
  63. package/dist/esm/components/ProgressBar.js +3 -3
  64. package/dist/esm/components/ProgressBar.js.map +1 -1
  65. package/dist/esm/components/SelectInput/components/Option/index.d.ts +3 -0
  66. package/dist/esm/components/SelectInput/components/Option/index.js +34 -0
  67. package/dist/esm/components/SelectInput/components/Option/index.js.map +1 -0
  68. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +2 -0
  69. package/dist/esm/components/SelectInput/components/Option/styles.js +5 -0
  70. package/dist/esm/components/SelectInput/components/Option/styles.js.map +1 -0
  71. package/dist/esm/components/SelectInput/index.d.ts +4 -0
  72. package/dist/esm/components/SelectInput/index.js +19 -0
  73. package/dist/esm/components/SelectInput/index.js.map +1 -0
  74. package/dist/esm/components/SelectInput/interfaces.d.ts +15 -0
  75. package/dist/esm/components/SelectInput/interfaces.js +2 -0
  76. package/dist/esm/components/SelectInput/interfaces.js.map +1 -0
  77. package/dist/esm/components/SelectInput/styles.d.ts +3 -0
  78. package/dist/esm/components/SelectInput/styles.js +6 -0
  79. package/dist/esm/components/SelectInput/styles.js.map +1 -0
  80. package/dist/esm/components/Table/components/header/index.d.ts +3 -0
  81. package/dist/esm/components/Table/components/header/index.js +47 -0
  82. package/dist/esm/components/Table/components/header/index.js.map +1 -0
  83. package/dist/esm/components/Table/components/header/styles.d.ts +9 -0
  84. package/dist/esm/components/Table/components/header/styles.js +12 -0
  85. package/dist/esm/components/Table/components/header/styles.js.map +1 -0
  86. package/dist/esm/components/Table/components/index.d.ts +4 -0
  87. package/dist/esm/components/Table/components/index.js +5 -0
  88. package/dist/esm/components/Table/components/index.js.map +1 -0
  89. package/dist/esm/components/Table/components/pagination/index.d.ts +3 -0
  90. package/dist/esm/components/Table/components/pagination/index.js +26 -0
  91. package/dist/esm/components/Table/components/pagination/index.js.map +1 -0
  92. package/dist/esm/components/Table/components/pagination/styles.d.ts +2 -0
  93. package/dist/esm/components/Table/components/pagination/styles.js +5 -0
  94. package/dist/esm/components/Table/components/pagination/styles.js.map +1 -0
  95. package/dist/esm/components/Table/components/tbody/index.d.ts +3 -0
  96. package/dist/esm/components/Table/components/tbody/index.js +15 -0
  97. package/dist/esm/components/Table/components/tbody/index.js.map +1 -0
  98. package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -0
  99. package/dist/esm/components/Table/components/tbody/styles.js +5 -0
  100. package/dist/esm/components/Table/components/tbody/styles.js.map +1 -0
  101. package/dist/esm/components/Table/index.d.ts +4 -0
  102. package/dist/esm/components/Table/index.js +227 -0
  103. package/dist/esm/components/Table/index.js.map +1 -0
  104. package/dist/esm/components/Table/interface.d.ts +26 -0
  105. package/dist/esm/components/Table/interface.js +2 -0
  106. package/dist/esm/components/Table/interface.js.map +1 -0
  107. package/dist/esm/components/Table/styles.d.ts +11 -0
  108. package/dist/esm/components/Table/styles.js +14 -0
  109. package/dist/esm/components/Table/styles.js.map +1 -0
  110. package/dist/esm/components/TextInput/index.d.ts +4 -0
  111. package/dist/esm/components/TextInput/index.js +16 -0
  112. package/dist/esm/components/TextInput/index.js.map +1 -0
  113. package/dist/esm/components/TextInput/interface.d.ts +10 -0
  114. package/dist/esm/components/TextInput/interface.js +2 -0
  115. package/dist/esm/components/TextInput/interface.js.map +1 -0
  116. package/dist/esm/components/TextInput/styles.d.ts +4 -0
  117. package/dist/esm/components/TextInput/styles.js +7 -0
  118. package/dist/esm/components/TextInput/styles.js.map +1 -0
  119. package/dist/esm/components/Typography/Text/index.d.ts +4 -0
  120. package/dist/esm/components/Typography/Text/index.js +8 -0
  121. package/dist/esm/components/Typography/Text/index.js.map +1 -0
  122. package/dist/esm/components/Typography/Text/interfaces.d.ts +7 -0
  123. package/dist/esm/components/Typography/Text/interfaces.js +2 -0
  124. package/dist/esm/components/Typography/Text/interfaces.js.map +1 -0
  125. package/dist/esm/components/Typography/Text/styles.d.ts +3 -0
  126. package/dist/esm/components/Typography/Text/styles.js +35 -0
  127. package/dist/esm/components/Typography/Text/styles.js.map +1 -0
  128. package/dist/esm/components/Typography/Title/index.d.ts +4 -0
  129. package/dist/esm/components/Typography/Title/index.js +8 -0
  130. package/dist/esm/components/Typography/Title/index.js.map +1 -0
  131. package/dist/esm/components/Typography/Title/interfaces.d.ts +8 -0
  132. package/dist/esm/components/Typography/Title/interfaces.js +2 -0
  133. package/dist/esm/components/Typography/Title/interfaces.js.map +1 -0
  134. package/dist/esm/components/Typography/Title/styles.d.ts +3 -0
  135. package/dist/esm/components/Typography/Title/styles.js +35 -0
  136. package/dist/esm/components/Typography/Title/styles.js.map +1 -0
  137. package/dist/esm/components/Typography/index.d.ts +3 -0
  138. package/dist/esm/components/Typography/index.js +4 -0
  139. package/dist/esm/components/Typography/index.js.map +1 -0
  140. package/dist/esm/components/UncontrolledTable/components/header/index.d.ts +3 -0
  141. package/dist/esm/components/UncontrolledTable/components/header/index.js +25 -0
  142. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -0
  143. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +9 -0
  144. package/dist/esm/components/UncontrolledTable/components/header/styles.js +12 -0
  145. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -0
  146. package/dist/esm/components/UncontrolledTable/components/index.d.ts +4 -0
  147. package/dist/esm/components/UncontrolledTable/components/index.js +5 -0
  148. package/dist/esm/components/UncontrolledTable/components/index.js.map +1 -0
  149. package/dist/esm/components/UncontrolledTable/components/pagination/index.d.ts +11 -0
  150. package/dist/esm/components/UncontrolledTable/components/pagination/index.js +18 -0
  151. package/dist/esm/components/UncontrolledTable/components/pagination/index.js.map +1 -0
  152. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +2 -0
  153. package/dist/esm/components/UncontrolledTable/components/pagination/styles.js +5 -0
  154. package/dist/esm/components/UncontrolledTable/components/pagination/styles.js.map +1 -0
  155. package/dist/esm/components/UncontrolledTable/components/tbody/index.d.ts +3 -0
  156. package/dist/esm/components/UncontrolledTable/components/tbody/index.js +15 -0
  157. package/dist/esm/components/UncontrolledTable/components/tbody/index.js.map +1 -0
  158. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -0
  159. package/dist/esm/components/UncontrolledTable/components/tbody/styles.js +5 -0
  160. package/dist/esm/components/UncontrolledTable/components/tbody/styles.js.map +1 -0
  161. package/dist/esm/components/UncontrolledTable/index.d.ts +4 -0
  162. package/dist/esm/components/UncontrolledTable/index.js +87 -0
  163. package/dist/esm/components/UncontrolledTable/index.js.map +1 -0
  164. package/dist/esm/components/UncontrolledTable/interface.d.ts +38 -0
  165. package/dist/esm/components/UncontrolledTable/interface.js +2 -0
  166. package/dist/esm/components/UncontrolledTable/interface.js.map +1 -0
  167. package/dist/esm/components/UncontrolledTable/styles.d.ts +11 -0
  168. package/dist/esm/components/UncontrolledTable/styles.js +14 -0
  169. package/dist/esm/components/UncontrolledTable/styles.js.map +1 -0
  170. package/dist/esm/components/index.d.ts +1 -1
  171. package/dist/esm/components/index.js +1 -1
  172. package/dist/esm/components/index.js.map +1 -1
  173. package/dist/esm/helpers/alignments.js.map +1 -1
  174. package/dist/esm/helpers/borders.js.map +1 -1
  175. package/dist/esm/helpers/colors.js.map +1 -1
  176. package/dist/esm/helpers/radios.js.map +1 -1
  177. package/dist/esm/helpers/sizes.js.map +1 -1
  178. package/dist/esm/index.d.ts +11 -2
  179. package/dist/esm/index.js +11 -2
  180. package/dist/esm/index.js.map +1 -1
  181. package/dist/esm/interfaces/ChatMessageBalloon.d.ts +1 -0
  182. package/dist/esm/interfaces/Modal.d.ts +2 -1
  183. package/dist/esm/interfaces/ProgressBar.d.ts +1 -0
  184. package/dist/esm/interfaces/Select.d.ts +1 -1
  185. package/dist/esm/interfaces/index.d.ts +0 -1
  186. package/dist/esm/interfaces/index.js +0 -1
  187. package/dist/esm/interfaces/index.js.map +1 -1
  188. package/dist/esm/types/index.d.ts +1 -0
  189. package/docs/index.md +118 -118
  190. package/package.json +136 -136
  191. package/src/components/Accordion.tsx +39 -39
  192. package/src/components/Avatar.tsx +17 -17
  193. package/src/components/Badge.tsx +14 -14
  194. package/src/components/Box/index.tsx +13 -0
  195. package/src/components/Box/interfaces.ts +4 -0
  196. package/src/components/Box/styles.tsx +23 -0
  197. package/src/components/Breadcrumb/index.tsx +27 -0
  198. package/src/components/Breadcrumb/interface.ts +9 -0
  199. package/src/components/Breadcrumb/styles.tsx +33 -0
  200. package/src/components/Button.tsx +26 -26
  201. package/src/components/Card.tsx +37 -37
  202. package/src/components/ChatMessage.tsx +87 -87
  203. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  204. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -53
  205. package/src/components/CheckBox.tsx +21 -21
  206. package/src/components/DateInput/index.tsx +35 -0
  207. package/src/components/DateInput/interface.ts +14 -0
  208. package/src/components/DateInput/styles.tsx +28 -0
  209. package/src/components/DatePicker.tsx +67 -67
  210. package/src/components/DropDown.tsx +24 -24
  211. package/src/components/IconButton.tsx +37 -37
  212. package/src/components/Icons.tsx +82 -82
  213. package/src/components/Modal.tsx +113 -113
  214. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -0
  215. package/src/components/MultiSelectInput/components/Option/index.tsx +63 -0
  216. package/src/components/MultiSelectInput/components/Option/styles.tsx +9 -0
  217. package/src/components/MultiSelectInput/index.tsx +61 -0
  218. package/src/components/MultiSelectInput/interfaces.ts +16 -0
  219. package/src/components/MultiSelectInput/styles.tsx +44 -0
  220. package/src/components/Paper.tsx +12 -12
  221. package/src/components/ProgressBar.tsx +51 -47
  222. package/src/components/RadioGroup.tsx +40 -40
  223. package/src/components/RangerSlider.tsx +65 -65
  224. package/src/components/Select.tsx +74 -74
  225. package/src/components/SelectInput/components/Option/index.tsx +62 -0
  226. package/src/components/SelectInput/components/Option/styles.tsx +9 -0
  227. package/src/components/SelectInput/index.tsx +46 -0
  228. package/src/components/SelectInput/interfaces.ts +16 -0
  229. package/src/components/SelectInput/styles.tsx +32 -0
  230. package/src/components/Svgs.tsx +506 -506
  231. package/src/components/Table/components/header/index.tsx +87 -0
  232. package/src/components/Table/components/header/styles.tsx +60 -0
  233. package/src/components/Table/components/index.tsx +9 -0
  234. package/src/components/Table/components/pagination/index.tsx +40 -0
  235. package/src/components/Table/components/pagination/styles.tsx +29 -0
  236. package/src/components/Table/components/tbody/index.tsx +31 -0
  237. package/src/components/Table/components/tbody/styles.tsx +5 -0
  238. package/src/components/Table/index.tsx +318 -0
  239. package/src/components/Table/interface.ts +24 -0
  240. package/src/components/Table/styles.tsx +118 -0
  241. package/src/components/Tabs.tsx +106 -106
  242. package/src/components/Tag.tsx +33 -33
  243. package/src/components/TextField.tsx +19 -19
  244. package/src/components/TextInput/index.tsx +38 -0
  245. package/src/components/TextInput/interface.ts +10 -0
  246. package/src/components/TextInput/styles.tsx +24 -0
  247. package/src/components/TimeLine.tsx +89 -89
  248. package/src/components/TimePicker.tsx +78 -78
  249. package/src/components/Typography/Text/index.tsx +21 -0
  250. package/src/components/Typography/Text/interfaces.ts +6 -0
  251. package/src/components/Typography/Text/styles.tsx +41 -0
  252. package/src/components/Typography/Title/index.tsx +23 -0
  253. package/src/components/Typography/Title/interfaces.ts +7 -0
  254. package/src/components/Typography/Title/styles.tsx +41 -0
  255. package/src/components/Typography/index.tsx +7 -0
  256. package/src/components/UncontrolledTable/components/header/index.tsx +63 -0
  257. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -0
  258. package/src/components/UncontrolledTable/components/index.tsx +9 -0
  259. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -0
  260. package/src/components/UncontrolledTable/components/pagination/styles.tsx +29 -0
  261. package/src/components/UncontrolledTable/components/tbody/index.tsx +31 -0
  262. package/src/components/UncontrolledTable/components/tbody/styles.tsx +5 -0
  263. package/src/components/UncontrolledTable/index.tsx +225 -0
  264. package/src/components/UncontrolledTable/interface.ts +41 -0
  265. package/src/components/UncontrolledTable/styles.tsx +120 -0
  266. package/src/components/index.ts +24 -24
  267. package/src/helpers/alignments.ts +14 -14
  268. package/src/helpers/borders.ts +18 -18
  269. package/src/helpers/colors.ts +206 -206
  270. package/src/helpers/index.ts +5 -5
  271. package/src/helpers/radios.ts +24 -24
  272. package/src/helpers/sizes.ts +72 -72
  273. package/src/index.css +0 -2
  274. package/src/index.ts +64 -44
  275. package/src/interfaces/Accordion.ts +12 -12
  276. package/src/interfaces/Avatar.tsx +15 -15
  277. package/src/interfaces/Badge.ts +19 -19
  278. package/src/interfaces/Button.ts +22 -22
  279. package/src/interfaces/Card.ts +11 -11
  280. package/src/interfaces/ChatMessage.ts +12 -12
  281. package/src/interfaces/ChatMessageBalloon.ts +17 -16
  282. package/src/interfaces/CheckBox.ts +27 -27
  283. package/src/interfaces/DatePicker.ts +13 -13
  284. package/src/interfaces/DropDown.ts +14 -14
  285. package/src/interfaces/IconButton.ts +22 -22
  286. package/src/interfaces/Icons.ts +17 -17
  287. package/src/interfaces/Modal.ts +16 -15
  288. package/src/interfaces/Paper.ts +12 -12
  289. package/src/interfaces/ProgressBar.ts +19 -18
  290. package/src/interfaces/RadioGroup.ts +22 -22
  291. package/src/interfaces/RangerSlider.ts +21 -21
  292. package/src/interfaces/Select.ts +17 -17
  293. package/src/interfaces/Tabs.ts +19 -19
  294. package/src/interfaces/Tag.ts +17 -17
  295. package/src/interfaces/TextField.ts +44 -44
  296. package/src/interfaces/TimeLine.ts +11 -11
  297. package/src/interfaces/TimePicker.ts +13 -13
  298. package/src/interfaces/index.ts +23 -24
  299. package/src/providers/NormaProvider.tsx +13 -13
  300. package/src/sample-data-2.json +178 -178
  301. package/src/sample-data.json +177 -178
  302. package/src/stories/Accordion.stories.tsx +65 -65
  303. package/src/stories/Avatar.stories.tsx +123 -123
  304. package/src/stories/Badge.stories.tsx +39 -39
  305. package/src/stories/Box.stories.tsx +36 -0
  306. package/src/stories/Breadcrumb.stories.tsx +45 -0
  307. package/src/stories/Button.stories.tsx +93 -93
  308. package/src/stories/Card.stories.tsx +39 -39
  309. package/src/stories/ChatMessage.stories.tsx +84 -84
  310. package/src/stories/ChatMessageBalloon.stories.tsx +108 -64
  311. package/src/stories/CheckBox.stories.tsx +88 -88
  312. package/src/stories/DateInput.stories.tsx +52 -0
  313. package/src/stories/DatePicker.stories.tsx +50 -50
  314. package/src/stories/DropDown.stories.tsx +57 -57
  315. package/src/stories/IconButton.stories.tsx +78 -78
  316. package/src/stories/Modal.stories.tsx +195 -190
  317. package/src/stories/MultiSelectInput.stories.tsx +91 -0
  318. package/src/stories/Paper.stories.tsx +53 -53
  319. package/src/stories/ProgressBar.stories.tsx +95 -95
  320. package/src/stories/RadioGroup.stories.tsx +87 -87
  321. package/src/stories/RangerSlider.stories.tsx +58 -58
  322. package/src/stories/Select.stories.tsx +100 -100
  323. package/src/stories/SelectInput.stories.tsx +79 -0
  324. package/src/stories/Table.stories.tsx +373 -0
  325. package/src/stories/Tabs.stories.tsx +62 -62
  326. package/src/stories/Tag.stories.tsx +56 -56
  327. package/src/stories/Text.stories.tsx +38 -0
  328. package/src/stories/TextField.stories.tsx +310 -310
  329. package/src/stories/TextInput.stories.tsx +53 -0
  330. package/src/stories/TimeLine.stories.tsx +35 -35
  331. package/src/stories/TimePicker.stories.tsx +87 -87
  332. package/src/stories/Title.stories.tsx +44 -0
  333. package/src/stories/UncontrolledTable.stories.tsx +337 -0
  334. package/src/styles/custom.css +1 -0
  335. package/src/styles/{globals.css → globals.scss} +18 -21
  336. package/src/types/index.ts +204 -203
  337. package/tsconfig.json +1 -1
  338. package/vite.config.ts +15 -0
  339. package/.husky/commit-msg +0 -4
  340. package/dist/Button/index.d.ts +0 -9
  341. package/dist/Button/types.d.ts +0 -18
  342. package/dist/Card/Card.d.ts +0 -3
  343. package/dist/Card/CardHeader.d.ts +0 -3
  344. package/dist/Card/index.d.ts +0 -4
  345. package/dist/Card/styles.d.ts +0 -546
  346. package/dist/Card/types.d.ts +0 -8
  347. package/dist/esm/components/DataGrid/base/dropdown.d.ts +0 -4
  348. package/dist/esm/components/DataGrid/base/dropdown.js +0 -126
  349. package/dist/esm/components/DataGrid/base/dropdown.js.map +0 -1
  350. package/dist/esm/components/DataGrid/base/number-filter.d.ts +0 -4
  351. package/dist/esm/components/DataGrid/base/number-filter.js +0 -30
  352. package/dist/esm/components/DataGrid/base/number-filter.js.map +0 -1
  353. package/dist/esm/components/DataGrid/base/sorting.d.ts +0 -5
  354. package/dist/esm/components/DataGrid/base/sorting.js +0 -15
  355. package/dist/esm/components/DataGrid/base/sorting.js.map +0 -1
  356. package/dist/esm/components/DataGrid/icons.d.ts +0 -4
  357. package/dist/esm/components/DataGrid/icons.js +0 -15
  358. package/dist/esm/components/DataGrid/icons.js.map +0 -1
  359. package/dist/esm/components/DataGrid/index.d.ts +0 -5
  360. package/dist/esm/components/DataGrid/index.js +0 -146
  361. package/dist/esm/components/DataGrid/index.js.map +0 -1
  362. package/dist/esm/components/DataGrid/shared.d.ts +0 -20
  363. package/dist/esm/components/DataGrid/shared.js +0 -128
  364. package/dist/esm/components/DataGrid/shared.js.map +0 -1
  365. package/dist/esm/components/DataGrid/styled.d.ts +0 -11
  366. package/dist/esm/components/DataGrid/styled.js +0 -86
  367. package/dist/esm/components/DataGrid/styled.js.map +0 -1
  368. package/dist/esm/interfaces/DataGrid.d.ts +0 -42
  369. package/dist/esm/interfaces/DataGrid.js +0 -2
  370. package/dist/esm/interfaces/DataGrid.js.map +0 -1
  371. package/dist/index.d.ts +0 -2
  372. package/dist/index.es.js +0 -6992
  373. package/dist/index.es.js.map +0 -1
  374. package/dist/index.umd.js +0 -266
  375. package/dist/index.umd.js.map +0 -1
  376. package/dist/vite.svg +0 -1
  377. package/src/components/DataGrid/allData.json +0 -2918
  378. package/src/components/DataGrid/base/dropdown.tsx +0 -212
  379. package/src/components/DataGrid/base/number-filter.tsx +0 -43
  380. package/src/components/DataGrid/base/sorting.tsx +0 -29
  381. package/src/components/DataGrid/icons.tsx +0 -53
  382. package/src/components/DataGrid/index.tsx +0 -259
  383. package/src/components/DataGrid/shared.ts +0 -154
  384. package/src/components/DataGrid/styled.ts +0 -107
  385. package/src/components/DataGrid/styles/dropdown.module.css +0 -86
  386. package/src/components/DataGrid/styles/number-filter.module.css +0 -16
  387. package/src/components/DataGrid/styles/styles.module.css +0 -107
  388. package/src/interfaces/DataGrid.ts +0 -47
  389. package/src/stories/DataGrid.stories.tsx +0 -31
@@ -0,0 +1,87 @@
1
+ import React, { useState } from "react"
2
+ import * as S from "./styles"
3
+ import SettingsIcon from '@mui/icons-material/Settings';
4
+
5
+ const Header:React.FC<any> = ({
6
+ table,
7
+ globalFilters,
8
+ orderSmallest,
9
+ orderLargest,
10
+ showTotalResults,
11
+ showSettings,
12
+ setGlobalFilters,
13
+ setOrderLargest,
14
+ setOrderSmallest,
15
+ customTotalResult
16
+ }) => {
17
+ const [openTools, setOpenTools] = useState(false)
18
+
19
+ const totalResults = customTotalResult ? customTotalResult : `${table.getRowModel().rows.length} resultados encontrados.`
20
+
21
+ return (
22
+ <S.Header $showResults={showTotalResults}>
23
+ <div>
24
+ { showTotalResults
25
+ ? <S.Results>
26
+ <S.TextResult>{totalResults}</S.TextResult>
27
+ <S.TextClearSearchContent>
28
+ { globalFilters.length || !!orderSmallest || !!orderLargest ? <S.TextClearSearch onClick={() => {
29
+ table.resetColumnFilters(true)
30
+ setGlobalFilters([])
31
+ setOrderLargest(false)
32
+ setOrderSmallest(false)
33
+ table.resetSorting(true)
34
+ }}>Limpar busca</S.TextClearSearch> : null }
35
+ </S.TextClearSearchContent>
36
+ </S.Results>
37
+ : null
38
+ }
39
+ </div>
40
+ {
41
+ !showTotalResults
42
+ ? (
43
+ globalFilters.length || !!orderSmallest || !!orderLargest ? <S.TextClearSearch onClick={() => {
44
+ table.resetColumnFilters(true)
45
+ setGlobalFilters([])
46
+ setOrderLargest(false)
47
+ setOrderSmallest(false)
48
+ table.resetSorting(true)
49
+ }}>Limpar busca</S.TextClearSearch> : null
50
+ )
51
+ : null
52
+ }
53
+ <S.Tools>
54
+ { showSettings
55
+ ? <S.IconTools onClick={() => setOpenTools(!openTools)}>
56
+ <SettingsIcon sx={{ fontSize: 16, color: '#DE8B50' }} />
57
+ </S.IconTools>
58
+ : null
59
+ }
60
+ {
61
+ openTools
62
+ ? <S.ListTools>
63
+ { table.getAllLeafColumns().map((column: any) => {
64
+ return (
65
+ <div key={column.id} className="px-1">
66
+ <label>
67
+ <input
68
+ {...{
69
+ type: 'checkbox',
70
+ checked: column.getIsVisible(),
71
+ onChange: column.getToggleVisibilityHandler(),
72
+ }}
73
+ />{' '}
74
+ {column.id}
75
+ </label>
76
+ </div>
77
+ )
78
+ })}
79
+ </S.ListTools>
80
+ : null
81
+ }
82
+ </S.Tools>
83
+ </S.Header>
84
+ )
85
+ }
86
+
87
+ export default Header
@@ -0,0 +1,60 @@
1
+ import styled from "styled-components";
2
+
3
+ export const Header = styled.div<any>`
4
+ margin: ${props => props.$showResults ? '0 16px 32px 16px;' : '0 16px;' };
5
+ display: flex;
6
+ justify-content: space-between;
7
+ `
8
+
9
+ export const Results = styled.div`
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: 8px;
13
+ `
14
+
15
+ export const Tools = styled.div`
16
+
17
+ `
18
+
19
+ export const TextResult = styled.div`
20
+ color: #666666;
21
+ font-size: 16px;
22
+ `
23
+
24
+ export const TextClearSearchContent = styled.div`
25
+ height: 10px;
26
+ `
27
+
28
+ export const TextClearSearch = styled.p`
29
+ color: #DE8B50;
30
+ font-size: 14px;
31
+ cursor: pointer;
32
+ margin: 0;
33
+ &:hover {
34
+ text-decoration: underline;
35
+ }
36
+ `
37
+
38
+ export const IconTools = styled.div`
39
+ width: 24px;
40
+ height: 24px;
41
+ cursor: pointer;
42
+ `
43
+
44
+ export const ListTools = styled.div`
45
+ padding: 12px;
46
+ margin: 6px 0 0 -106px;
47
+ position: absolute;
48
+ background: #fff;
49
+ box-shadow: 0px 3px 6px #00000029;
50
+ border: 1px solid #E0E0E0;
51
+ display: flex;
52
+ flex-direction: column;
53
+ gap: 8px;
54
+ font-size: 14px;
55
+ label {
56
+ display: flex;
57
+ gap: 8px;
58
+ align-items: center;
59
+ }
60
+ `
@@ -0,0 +1,9 @@
1
+ import Pagination from "./pagination";
2
+ import Header from "./header"
3
+ import TBody from "./tbody";
4
+
5
+ export {
6
+ Pagination,
7
+ Header,
8
+ TBody
9
+ }
@@ -0,0 +1,40 @@
1
+ import React, { useCallback } from "react"
2
+ import { Pagination as MuiPagination, PaginationItem } from '@mui/material'
3
+ import * as S from "./styles"
4
+
5
+ const PreviousPagination:React.FC<any> = () => {
6
+ return <span>{'<'}</span>
7
+ }
8
+ const NextPagination:React.FC<any> = () => {
9
+ return <span>{'>'}</span>
10
+ }
11
+
12
+ const Pagination:React.FC<any> = ({ table, onChangePage }) => {
13
+
14
+ const onPageChange = useCallback((_event:React.ChangeEvent<unknown>, page:number) => {
15
+ if(!!onChangePage) {
16
+ onChangePage(page-1)
17
+ } else {
18
+ table.setPageIndex(page - 1)
19
+ }
20
+ }, [table])
21
+
22
+ return <S.Pagination>
23
+ <div className='content'>
24
+ <MuiPagination
25
+ onChange={onPageChange}
26
+ count={table.getPageCount()}
27
+ renderItem={(item:any) => (
28
+ <PaginationItem
29
+ classes={{root: 'button', selected: 'button-active'}}
30
+ slots={{ previous: PreviousPagination, next: NextPagination }}
31
+ sx={{height: '35px', minWidth: '35px'}}
32
+ {...item}
33
+ />
34
+ )}
35
+ />
36
+ </div>
37
+ </S.Pagination>
38
+ }
39
+
40
+ export default Pagination
@@ -0,0 +1,29 @@
1
+ import styled from "styled-components";
2
+
3
+ export const Pagination = styled.div`
4
+ width: 100%;
5
+ margin: 24px 0 0 0;
6
+ display: flex;
7
+ justify-content: center;
8
+ .content {
9
+ display: flex;
10
+ gap: 8px;
11
+ .button {
12
+ border: 1px solid #E8E9EC;
13
+ background: #fff;
14
+ border-radius: 4px;
15
+ color: #4D4F5C;
16
+ cursor: pointer;
17
+ &:disabled {
18
+ opacity: 0.4;
19
+ }
20
+ }
21
+ .button-active {
22
+ border: 1px solid #FFDB9F;
23
+ background: #FFDB9F;
24
+ color: #B74616;
25
+ border-radius: 4px;
26
+ cursor: pointer;
27
+ }
28
+ }
29
+ `
@@ -0,0 +1,31 @@
1
+ import React from "react"
2
+ import { flexRender } from '@tanstack/react-table'
3
+ import * as S from "./styles"
4
+
5
+ const TBody:React.FC<any> = ({ table, onClick, onMouseOver, onMouseOut }) => {
6
+ return (
7
+ <tbody>
8
+ { table.getRowModel().rows.map((row: any, index: number) => {
9
+ return <S.Tr
10
+ key={index}
11
+ $hasAction={!!onClick || !!onMouseOver || !!onMouseOut}
12
+ onClick={() => onClick ? onClick(row.original) : null}
13
+ onMouseOver={() => onMouseOver ? onMouseOver(row.original) : null}
14
+ onMouseOut={() => onMouseOut ? onMouseOut(row.original) : null}>
15
+ { row.getVisibleCells().map((cell: any, index: number) => {
16
+ return (
17
+ <td key={index}>
18
+ { cell.column.columnDef.type == 'action'
19
+ ? cell.getValue()
20
+ : flexRender(cell.column.columnDef.cell, cell.getContext())
21
+ }
22
+ </td>
23
+ )
24
+ }) }
25
+ </S.Tr>
26
+ }) }
27
+ </tbody>
28
+ )
29
+ }
30
+
31
+ export default TBody
@@ -0,0 +1,5 @@
1
+ import styled from "styled-components"
2
+
3
+ export const Tr = styled.tr<any>`
4
+ cursor: ${props => props.$hasAction ? 'pointer' : 'default' };
5
+ `
@@ -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
+ }