norma-library 0.5.4 → 0.5.10

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 (337) 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/Box/index.d.ts +4 -0
  5. package/dist/esm/components/Box/index.js +8 -0
  6. package/dist/esm/components/Box/index.js.map +1 -0
  7. package/dist/esm/components/Box/interfaces.d.ts +5 -0
  8. package/dist/esm/components/Box/interfaces.js +2 -0
  9. package/dist/esm/components/Box/interfaces.js.map +1 -0
  10. package/dist/esm/components/Box/styles.d.ts +3 -0
  11. package/dist/esm/components/Box/styles.js +17 -0
  12. package/dist/esm/components/Box/styles.js.map +1 -0
  13. package/dist/esm/components/Breadcrumb/index.d.ts +4 -0
  14. package/dist/esm/components/Breadcrumb/index.js +18 -0
  15. package/dist/esm/components/Breadcrumb/index.js.map +1 -0
  16. package/dist/esm/components/Breadcrumb/interface.d.ts +8 -0
  17. package/dist/esm/components/Breadcrumb/interface.js +2 -0
  18. package/dist/esm/components/Breadcrumb/interface.js.map +1 -0
  19. package/dist/esm/components/Breadcrumb/styles.d.ts +5 -0
  20. package/dist/esm/components/Breadcrumb/styles.js +8 -0
  21. package/dist/esm/components/Breadcrumb/styles.js.map +1 -0
  22. package/dist/esm/components/Card.js.map +1 -1
  23. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.d.ts +3 -0
  24. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js +29 -0
  25. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.js.map +1 -0
  26. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.d.ts +16 -0
  27. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js +13 -0
  28. package/dist/esm/components/ChatMessageBalloon/ChatMessageBalloon.style.js.map +1 -0
  29. package/dist/esm/components/DateInput/index.d.ts +4 -0
  30. package/dist/esm/components/DateInput/index.js +15 -0
  31. package/dist/esm/components/DateInput/index.js.map +1 -0
  32. package/dist/esm/components/DateInput/interface.d.ts +12 -0
  33. package/dist/esm/components/DateInput/interface.js +2 -0
  34. package/dist/esm/components/DateInput/interface.js.map +1 -0
  35. package/dist/esm/components/DateInput/styles.d.ts +5 -0
  36. package/dist/esm/components/DateInput/styles.js +7 -0
  37. package/dist/esm/components/DateInput/styles.js.map +1 -0
  38. package/dist/esm/components/Icons.d.ts +1 -1
  39. package/dist/esm/components/Icons.js.map +1 -1
  40. package/dist/esm/components/Modal.d.ts +1 -1
  41. package/dist/esm/components/Modal.js +17 -13
  42. package/dist/esm/components/Modal.js.map +1 -1
  43. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.d.ts +3 -0
  44. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js +30 -0
  45. package/dist/esm/components/MultiSelectInput/components/MultiValue/index.js.map +1 -0
  46. package/dist/esm/components/MultiSelectInput/components/Option/index.d.ts +3 -0
  47. package/dist/esm/components/MultiSelectInput/components/Option/index.js +36 -0
  48. package/dist/esm/components/MultiSelectInput/components/Option/index.js.map +1 -0
  49. package/dist/esm/components/MultiSelectInput/components/Option/styles.d.ts +2 -0
  50. package/dist/esm/components/MultiSelectInput/components/Option/styles.js +5 -0
  51. package/dist/esm/components/MultiSelectInput/components/Option/styles.js.map +1 -0
  52. package/dist/esm/components/MultiSelectInput/index.d.ts +4 -0
  53. package/dist/esm/components/MultiSelectInput/index.js +33 -0
  54. package/dist/esm/components/MultiSelectInput/index.js.map +1 -0
  55. package/dist/esm/components/MultiSelectInput/interfaces.d.ts +15 -0
  56. package/dist/esm/components/MultiSelectInput/interfaces.js +2 -0
  57. package/dist/esm/components/MultiSelectInput/interfaces.js.map +1 -0
  58. package/dist/esm/components/MultiSelectInput/styles.d.ts +3 -0
  59. package/dist/esm/components/MultiSelectInput/styles.js +6 -0
  60. package/dist/esm/components/MultiSelectInput/styles.js.map +1 -0
  61. package/dist/esm/components/ProgressBar.d.ts +1 -1
  62. package/dist/esm/components/ProgressBar.js +4 -4
  63. package/dist/esm/components/ProgressBar.js.map +1 -1
  64. package/dist/esm/components/SelectInput/components/Option/index.d.ts +3 -0
  65. package/dist/esm/components/SelectInput/components/Option/index.js +34 -0
  66. package/dist/esm/components/SelectInput/components/Option/index.js.map +1 -0
  67. package/dist/esm/components/SelectInput/components/Option/styles.d.ts +2 -0
  68. package/dist/esm/components/SelectInput/components/Option/styles.js +5 -0
  69. package/dist/esm/components/SelectInput/components/Option/styles.js.map +1 -0
  70. package/dist/esm/components/SelectInput/index.d.ts +4 -0
  71. package/dist/esm/components/SelectInput/index.js +19 -0
  72. package/dist/esm/components/SelectInput/index.js.map +1 -0
  73. package/dist/esm/components/SelectInput/interfaces.d.ts +15 -0
  74. package/dist/esm/components/SelectInput/interfaces.js +2 -0
  75. package/dist/esm/components/SelectInput/interfaces.js.map +1 -0
  76. package/dist/esm/components/SelectInput/styles.d.ts +3 -0
  77. package/dist/esm/components/SelectInput/styles.js +6 -0
  78. package/dist/esm/components/SelectInput/styles.js.map +1 -0
  79. package/dist/esm/components/Svgs.d.ts +1 -0
  80. package/dist/esm/components/Svgs.js +4 -0
  81. package/dist/esm/components/Svgs.js.map +1 -1
  82. package/dist/esm/components/Table/components/header/index.d.ts +3 -0
  83. package/dist/esm/components/Table/components/header/index.js +47 -0
  84. package/dist/esm/components/Table/components/header/index.js.map +1 -0
  85. package/dist/esm/components/Table/components/header/styles.d.ts +9 -0
  86. package/dist/esm/components/Table/components/header/styles.js +12 -0
  87. package/dist/esm/components/Table/components/header/styles.js.map +1 -0
  88. package/dist/esm/components/Table/components/index.d.ts +4 -0
  89. package/dist/esm/components/Table/components/index.js +5 -0
  90. package/dist/esm/components/Table/components/index.js.map +1 -0
  91. package/dist/esm/components/Table/components/pagination/index.d.ts +3 -0
  92. package/dist/esm/components/Table/components/pagination/index.js +26 -0
  93. package/dist/esm/components/Table/components/pagination/index.js.map +1 -0
  94. package/dist/esm/components/Table/components/pagination/styles.d.ts +2 -0
  95. package/dist/esm/components/Table/components/pagination/styles.js +5 -0
  96. package/dist/esm/components/Table/components/pagination/styles.js.map +1 -0
  97. package/dist/esm/components/Table/components/tbody/index.d.ts +3 -0
  98. package/dist/esm/components/Table/components/tbody/index.js +15 -0
  99. package/dist/esm/components/Table/components/tbody/index.js.map +1 -0
  100. package/dist/esm/components/Table/components/tbody/styles.d.ts +1 -0
  101. package/dist/esm/components/Table/components/tbody/styles.js +5 -0
  102. package/dist/esm/components/Table/components/tbody/styles.js.map +1 -0
  103. package/dist/esm/components/Table/index.d.ts +4 -0
  104. package/dist/esm/components/Table/index.js +227 -0
  105. package/dist/esm/components/Table/index.js.map +1 -0
  106. package/dist/esm/components/Table/interface.d.ts +26 -0
  107. package/dist/esm/components/Table/interface.js +2 -0
  108. package/dist/esm/components/Table/interface.js.map +1 -0
  109. package/dist/esm/components/Table/styles.d.ts +11 -0
  110. package/dist/esm/components/Table/styles.js +14 -0
  111. package/dist/esm/components/Table/styles.js.map +1 -0
  112. package/dist/esm/components/Tabs.d.ts +1 -1
  113. package/dist/esm/components/Tabs.js +6 -6
  114. package/dist/esm/components/Tabs.js.map +1 -1
  115. package/dist/esm/components/TextInput/index.d.ts +4 -0
  116. package/dist/esm/components/TextInput/index.js +16 -0
  117. package/dist/esm/components/TextInput/index.js.map +1 -0
  118. package/dist/esm/components/TextInput/interface.d.ts +10 -0
  119. package/dist/esm/components/TextInput/interface.js +2 -0
  120. package/dist/esm/components/TextInput/interface.js.map +1 -0
  121. package/dist/esm/components/TextInput/styles.d.ts +4 -0
  122. package/dist/esm/components/TextInput/styles.js +7 -0
  123. package/dist/esm/components/TextInput/styles.js.map +1 -0
  124. package/dist/esm/components/Typography/Text/index.d.ts +4 -0
  125. package/dist/esm/components/Typography/Text/index.js +8 -0
  126. package/dist/esm/components/Typography/Text/index.js.map +1 -0
  127. package/dist/esm/components/Typography/Text/interfaces.d.ts +7 -0
  128. package/dist/esm/components/Typography/Text/interfaces.js +2 -0
  129. package/dist/esm/components/Typography/Text/interfaces.js.map +1 -0
  130. package/dist/esm/components/Typography/Text/styles.d.ts +3 -0
  131. package/dist/esm/components/Typography/Text/styles.js +35 -0
  132. package/dist/esm/components/Typography/Text/styles.js.map +1 -0
  133. package/dist/esm/components/Typography/Title/index.d.ts +4 -0
  134. package/dist/esm/components/Typography/Title/index.js +8 -0
  135. package/dist/esm/components/Typography/Title/index.js.map +1 -0
  136. package/dist/esm/components/Typography/Title/interfaces.d.ts +8 -0
  137. package/dist/esm/components/Typography/Title/interfaces.js +2 -0
  138. package/dist/esm/components/Typography/Title/interfaces.js.map +1 -0
  139. package/dist/esm/components/Typography/Title/styles.d.ts +3 -0
  140. package/dist/esm/components/Typography/Title/styles.js +35 -0
  141. package/dist/esm/components/Typography/Title/styles.js.map +1 -0
  142. package/dist/esm/components/Typography/index.d.ts +3 -0
  143. package/dist/esm/components/Typography/index.js +4 -0
  144. package/dist/esm/components/Typography/index.js.map +1 -0
  145. package/dist/esm/components/UncontrolledTable/components/header/index.d.ts +3 -0
  146. package/dist/esm/components/UncontrolledTable/components/header/index.js +27 -0
  147. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -0
  148. package/dist/esm/components/UncontrolledTable/components/header/styles.d.ts +9 -0
  149. package/dist/esm/components/UncontrolledTable/components/header/styles.js +12 -0
  150. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -0
  151. package/dist/esm/components/UncontrolledTable/components/index.d.ts +4 -0
  152. package/dist/esm/components/UncontrolledTable/components/index.js +5 -0
  153. package/dist/esm/components/UncontrolledTable/components/index.js.map +1 -0
  154. package/dist/esm/components/UncontrolledTable/components/pagination/index.d.ts +3 -0
  155. package/dist/esm/components/UncontrolledTable/components/pagination/index.js +26 -0
  156. package/dist/esm/components/UncontrolledTable/components/pagination/index.js.map +1 -0
  157. package/dist/esm/components/UncontrolledTable/components/pagination/styles.d.ts +2 -0
  158. package/dist/esm/components/UncontrolledTable/components/pagination/styles.js +5 -0
  159. package/dist/esm/components/UncontrolledTable/components/pagination/styles.js.map +1 -0
  160. package/dist/esm/components/UncontrolledTable/components/tbody/index.d.ts +3 -0
  161. package/dist/esm/components/UncontrolledTable/components/tbody/index.js +15 -0
  162. package/dist/esm/components/UncontrolledTable/components/tbody/index.js.map +1 -0
  163. package/dist/esm/components/UncontrolledTable/components/tbody/styles.d.ts +1 -0
  164. package/dist/esm/components/UncontrolledTable/components/tbody/styles.js +5 -0
  165. package/dist/esm/components/UncontrolledTable/components/tbody/styles.js.map +1 -0
  166. package/dist/esm/components/UncontrolledTable/index.d.ts +4 -0
  167. package/dist/esm/components/UncontrolledTable/index.js +156 -0
  168. package/dist/esm/components/UncontrolledTable/index.js.map +1 -0
  169. package/dist/esm/components/UncontrolledTable/interface.d.ts +29 -0
  170. package/dist/esm/components/UncontrolledTable/interface.js +2 -0
  171. package/dist/esm/components/UncontrolledTable/interface.js.map +1 -0
  172. package/dist/esm/components/UncontrolledTable/styles.d.ts +11 -0
  173. package/dist/esm/components/UncontrolledTable/styles.js +14 -0
  174. package/dist/esm/components/UncontrolledTable/styles.js.map +1 -0
  175. package/dist/esm/components/index.d.ts +2 -1
  176. package/dist/esm/components/index.js +2 -1
  177. package/dist/esm/components/index.js.map +1 -1
  178. package/dist/esm/helpers/alignments.js.map +1 -1
  179. package/dist/esm/helpers/borders.js.map +1 -1
  180. package/dist/esm/helpers/colors.js.map +1 -1
  181. package/dist/esm/helpers/radios.js.map +1 -1
  182. package/dist/esm/helpers/sizes.js.map +1 -1
  183. package/dist/esm/index.d.ts +12 -1
  184. package/dist/esm/index.js +12 -1
  185. package/dist/esm/index.js.map +1 -1
  186. package/dist/esm/interfaces/ChatMessageBalloon.d.ts +16 -0
  187. package/dist/esm/interfaces/ChatMessageBalloon.js +2 -0
  188. package/dist/esm/interfaces/ChatMessageBalloon.js.map +1 -0
  189. package/dist/esm/interfaces/Modal.d.ts +2 -1
  190. package/dist/esm/interfaces/Select.d.ts +1 -1
  191. package/dist/esm/interfaces/TextField.d.ts +2 -1
  192. package/dist/esm/interfaces/index.d.ts +1 -1
  193. package/dist/esm/interfaces/index.js +1 -1
  194. package/dist/esm/interfaces/index.js.map +1 -1
  195. package/dist/esm/types/index.d.ts +2 -0
  196. package/dist/esm/types/index.js.map +1 -1
  197. package/package.json +29 -27
  198. package/src/components/Box/index.tsx +13 -0
  199. package/src/components/Box/interfaces.ts +4 -0
  200. package/src/components/Box/styles.tsx +23 -0
  201. package/src/components/Breadcrumb/index.tsx +27 -0
  202. package/src/components/Breadcrumb/interface.ts +9 -0
  203. package/src/components/Breadcrumb/styles.tsx +33 -0
  204. package/src/components/Card.tsx +1 -2
  205. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -0
  206. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -0
  207. package/src/components/DateInput/index.tsx +35 -0
  208. package/src/components/DateInput/interface.ts +14 -0
  209. package/src/components/DateInput/styles.tsx +28 -0
  210. package/src/components/Modal.tsx +37 -33
  211. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -0
  212. package/src/components/MultiSelectInput/components/Option/index.tsx +63 -0
  213. package/src/components/MultiSelectInput/components/Option/styles.tsx +9 -0
  214. package/src/components/MultiSelectInput/index.tsx +61 -0
  215. package/src/components/MultiSelectInput/interfaces.ts +16 -0
  216. package/src/components/MultiSelectInput/styles.tsx +44 -0
  217. package/src/components/ProgressBar.tsx +4 -4
  218. package/src/components/SelectInput/components/Option/index.tsx +62 -0
  219. package/src/components/SelectInput/components/Option/styles.tsx +9 -0
  220. package/src/components/SelectInput/index.tsx +46 -0
  221. package/src/components/SelectInput/interfaces.ts +16 -0
  222. package/src/components/SelectInput/styles.tsx +32 -0
  223. package/src/components/Svgs.tsx +8 -0
  224. package/src/components/Table/components/header/index.tsx +87 -0
  225. package/src/components/Table/components/header/styles.tsx +60 -0
  226. package/src/components/Table/components/index.tsx +9 -0
  227. package/src/components/Table/components/pagination/index.tsx +40 -0
  228. package/src/components/Table/components/pagination/styles.tsx +29 -0
  229. package/src/components/Table/components/tbody/index.tsx +31 -0
  230. package/src/components/Table/components/tbody/styles.tsx +5 -0
  231. package/src/components/Table/index.tsx +318 -0
  232. package/src/components/Table/interface.ts +24 -0
  233. package/src/components/Table/styles.tsx +118 -0
  234. package/src/components/Tabs.tsx +5 -5
  235. package/src/components/TextInput/index.tsx +38 -0
  236. package/src/components/TextInput/interface.ts +10 -0
  237. package/src/components/TextInput/styles.tsx +24 -0
  238. package/src/components/Typography/Text/index.tsx +21 -0
  239. package/src/components/Typography/Text/interfaces.ts +6 -0
  240. package/src/components/Typography/Text/styles.tsx +41 -0
  241. package/src/components/Typography/Title/index.tsx +23 -0
  242. package/src/components/Typography/Title/interfaces.ts +7 -0
  243. package/src/components/Typography/Title/styles.tsx +41 -0
  244. package/src/components/Typography/index.tsx +7 -0
  245. package/src/components/UncontrolledTable/components/header/index.tsx +51 -0
  246. package/src/components/UncontrolledTable/components/header/styles.tsx +59 -0
  247. package/src/components/UncontrolledTable/components/index.tsx +9 -0
  248. package/src/components/UncontrolledTable/components/pagination/index.tsx +40 -0
  249. package/src/components/UncontrolledTable/components/pagination/styles.tsx +29 -0
  250. package/src/components/UncontrolledTable/components/tbody/index.tsx +31 -0
  251. package/src/components/UncontrolledTable/components/tbody/styles.tsx +5 -0
  252. package/src/components/UncontrolledTable/index.tsx +300 -0
  253. package/src/components/UncontrolledTable/interface.ts +27 -0
  254. package/src/components/UncontrolledTable/styles.tsx +120 -0
  255. package/src/components/index.ts +2 -1
  256. package/src/helpers/colors.ts +0 -1
  257. package/src/index.css +0 -2
  258. package/src/index.ts +26 -0
  259. package/src/interfaces/ChatMessageBalloon.ts +17 -0
  260. package/src/interfaces/Modal.ts +2 -1
  261. package/src/interfaces/Select.ts +1 -1
  262. package/src/interfaces/TextField.ts +2 -1
  263. package/src/interfaces/index.ts +1 -1
  264. package/src/sample-data-2.json +178 -0
  265. package/src/sample-data.json +3 -4
  266. package/src/stories/Box.stories.tsx +36 -0
  267. package/src/stories/Breadcrumb.stories.tsx +45 -0
  268. package/src/stories/Button.stories.tsx +3 -1
  269. package/src/stories/Card.stories.tsx +1 -1
  270. package/src/stories/ChatMessageBalloon.stories.tsx +108 -0
  271. package/src/stories/DateInput.stories.tsx +52 -0
  272. package/src/stories/Modal.stories.tsx +5 -0
  273. package/src/stories/MultiSelectInput.stories.tsx +91 -0
  274. package/src/stories/ProgressBar.stories.tsx +2 -2
  275. package/src/stories/SelectInput.stories.tsx +79 -0
  276. package/src/stories/Table.stories.tsx +373 -0
  277. package/src/stories/Tabs.stories.tsx +1 -1
  278. package/src/stories/Text.stories.tsx +38 -0
  279. package/src/stories/TextInput.stories.tsx +53 -0
  280. package/src/stories/Title.stories.tsx +44 -0
  281. package/src/stories/UncontrolledTable.stories.tsx +379 -0
  282. package/src/styles/custom.css +1 -0
  283. package/src/styles/{globals.css → globals.scss} +1 -4
  284. package/src/types/index.ts +3 -0
  285. package/tsconfig.json +1 -1
  286. package/vite.config.ts +15 -0
  287. package/.husky/commit-msg +0 -4
  288. package/dist/Button/index.d.ts +0 -9
  289. package/dist/Button/types.d.ts +0 -18
  290. package/dist/Card/Card.d.ts +0 -3
  291. package/dist/Card/CardHeader.d.ts +0 -3
  292. package/dist/Card/index.d.ts +0 -4
  293. package/dist/Card/styles.d.ts +0 -546
  294. package/dist/Card/types.d.ts +0 -8
  295. package/dist/esm/components/DataGrid/base/dropdown.d.ts +0 -4
  296. package/dist/esm/components/DataGrid/base/dropdown.js +0 -126
  297. package/dist/esm/components/DataGrid/base/dropdown.js.map +0 -1
  298. package/dist/esm/components/DataGrid/base/number-filter.d.ts +0 -4
  299. package/dist/esm/components/DataGrid/base/number-filter.js +0 -30
  300. package/dist/esm/components/DataGrid/base/number-filter.js.map +0 -1
  301. package/dist/esm/components/DataGrid/base/sorting.d.ts +0 -5
  302. package/dist/esm/components/DataGrid/base/sorting.js +0 -15
  303. package/dist/esm/components/DataGrid/base/sorting.js.map +0 -1
  304. package/dist/esm/components/DataGrid/icons.d.ts +0 -4
  305. package/dist/esm/components/DataGrid/icons.js +0 -15
  306. package/dist/esm/components/DataGrid/icons.js.map +0 -1
  307. package/dist/esm/components/DataGrid/index.d.ts +0 -5
  308. package/dist/esm/components/DataGrid/index.js +0 -133
  309. package/dist/esm/components/DataGrid/index.js.map +0 -1
  310. package/dist/esm/components/DataGrid/shared.d.ts +0 -20
  311. package/dist/esm/components/DataGrid/shared.js +0 -128
  312. package/dist/esm/components/DataGrid/shared.js.map +0 -1
  313. package/dist/esm/components/DataGrid/styled.d.ts +0 -10
  314. package/dist/esm/components/DataGrid/styled.js +0 -73
  315. package/dist/esm/components/DataGrid/styled.js.map +0 -1
  316. package/dist/esm/interfaces/DataGrid.d.ts +0 -40
  317. package/dist/esm/interfaces/DataGrid.js +0 -2
  318. package/dist/esm/interfaces/DataGrid.js.map +0 -1
  319. package/dist/index.d.ts +0 -2
  320. package/dist/index.es.js +0 -6992
  321. package/dist/index.es.js.map +0 -1
  322. package/dist/index.umd.js +0 -266
  323. package/dist/index.umd.js.map +0 -1
  324. package/dist/vite.svg +0 -1
  325. package/src/components/DataGrid/allData.json +0 -2918
  326. package/src/components/DataGrid/base/dropdown.tsx +0 -212
  327. package/src/components/DataGrid/base/number-filter.tsx +0 -43
  328. package/src/components/DataGrid/base/sorting.tsx +0 -29
  329. package/src/components/DataGrid/icons.tsx +0 -53
  330. package/src/components/DataGrid/index.tsx +0 -247
  331. package/src/components/DataGrid/shared.ts +0 -154
  332. package/src/components/DataGrid/styled.ts +0 -96
  333. package/src/components/DataGrid/styles/dropdown.module.css +0 -86
  334. package/src/components/DataGrid/styles/number-filter.module.css +0 -16
  335. package/src/components/DataGrid/styles/styles.module.css +0 -107
  336. package/src/interfaces/DataGrid.ts +0 -46
  337. package/src/stories/DataGrid.stories.tsx +0 -28
@@ -1,154 +0,0 @@
1
- import { DataSourceItem } from '@/interfaces';
2
-
3
- export function groupByDataSource(dataSource: DataSourceItem[], key: string): (string | number)[] {
4
- const groupedValues: (string | number)[] = [];
5
-
6
- dataSource.forEach(item => {
7
- const value = item[key];
8
- const existingGroup = groupedValues.find(group => group === value);
9
-
10
- if (!existingGroup) {
11
- groupedValues.push(value);
12
- }
13
- });
14
-
15
- return groupedValues;
16
- }
17
-
18
- export function sortDataSourceByColumn(jsonData: any[], column: string, order: string): any[] {
19
- return jsonData.sort((a, b) => {
20
- const valueA = a[column];
21
- const valueB = b[column];
22
-
23
- if (typeof valueA === 'string' && typeof valueB === 'string') {
24
- if (order === 'asc') {
25
- return valueA.localeCompare(valueB);
26
- } else if (order === 'desc') {
27
- return valueB.localeCompare(valueA);
28
- }
29
- } else if (typeof valueA === 'number' && typeof valueB === 'number') {
30
- if (order === 'asc') {
31
- return valueA - valueB;
32
- } else if (order === 'desc') {
33
- return valueB - valueA;
34
- }
35
- }
36
-
37
- return 0;
38
- });
39
- }
40
-
41
- export function filterDataSource(
42
- dataSource: DataSourceItem[],
43
- column: string,
44
- filter: string,
45
- exactTime: boolean = false,
46
- ): DataSourceItem[] {
47
- return dataSource.filter(item => {
48
- const value = item[column];
49
- if (typeof value === 'string' || value.constructor === Date) {
50
- const stringValue = (value as string).toString().toLowerCase();
51
- const filterValue = filter.toLowerCase();
52
-
53
- if (exactTime && filterValue.length === 5) {
54
- return stringValue === filterValue;
55
- }
56
-
57
- if (stringValue.includes(filterValue)) {
58
- return true;
59
- }
60
-
61
- if (stringValue.includes(':') && filterValue.includes(':')) {
62
- const [hour, minute] = stringValue.split(':');
63
- const [filterHour, filterMinute] = filterValue.split(':');
64
-
65
- if (filterValue.length === 5) {
66
- return stringValue === filterValue;
67
- }
68
-
69
- if (filterHour.length === 1 && hour === filterHour) {
70
- return true;
71
- }
72
-
73
- if (filterMinute.length === 1 && minute === filterMinute) {
74
- return true;
75
- }
76
- }
77
- } else if (typeof value === 'number') {
78
- const numberValue = (value as number).toString();
79
- return numberValue.includes(filter);
80
- }
81
-
82
- return false;
83
- });
84
- }
85
-
86
- export function filterItemsByColumn(dataSource: any[], column: string, filterValues: any[]): any[] {
87
- return dataSource.filter(item => {
88
- const columnValue = item[column];
89
- return filterValues.includes(columnValue);
90
- });
91
- }
92
-
93
- // PROVISORIO BAIXO
94
- export function generateRandomDataSource(numRows: number) {
95
- const campanhas = ['Campanha 1', 'Campanha 2', 'Campanha 3', 'Campanha 4', 'Campanha 5'];
96
- const agents = [16321, 16322, 16323, 16324, 16325];
97
- const disposals = ['Tabulação 1', 'Tabulação 2', 'Tabulação 3', 'Tabulação 4', 'Tabulação 5'];
98
-
99
- const dataSource = [];
100
-
101
- for (let i = 0; i < numRows; i++) {
102
- const data = generateRandomDate();
103
- const duration = generateRandomDuration();
104
- const campanha = getRandomElement(campanhas);
105
- const agente = getRandomElement(agents);
106
- const ani = generateRandomNumber(50000000, 60000000);
107
- const dnis = generateRandomNumber(100000, 999999);
108
- const disposition = getRandomElement(disposals);
109
- const origem = generateRandomNumber(12000, 13000);
110
- const id = i + 1;
111
-
112
- const item = {
113
- data,
114
- duration,
115
- campanha,
116
- agente,
117
- ani,
118
- dnis,
119
- disposition,
120
- origem,
121
- id,
122
- };
123
-
124
- dataSource.push(item);
125
- }
126
-
127
- return dataSource;
128
- }
129
-
130
- export function generateRandomDate() {
131
- const startDate = new Date('2020-01-01');
132
- const currentDate = new Date();
133
- const randomTimestamp = Math.random() * (currentDate.getTime() - startDate.getTime()) + startDate.getTime();
134
- const randomDate = new Date(randomTimestamp);
135
- const day = randomDate.getDate().toString().padStart(2, '0');
136
- const month = (randomDate.getMonth() + 1).toString().padStart(2, '0');
137
- const year = randomDate.getFullYear();
138
- return `${day}/${month}/${year}`;
139
- }
140
-
141
- export function generateRandomDuration() {
142
- const hours = generateRandomNumber(0, 10).toString().padStart(2, '0');
143
- const minutes = generateRandomNumber(0, 59).toString().padStart(2, '0');
144
- return `${hours}:${minutes}`;
145
- }
146
-
147
- export function generateRandomNumber(min: number, max: number) {
148
- return Math.floor(Math.random() * (max - min + 1) + min);
149
- }
150
-
151
- export function getRandomElement(array: any[]) {
152
- const randomIndex = Math.floor(Math.random() * array.length);
153
- return array[randomIndex];
154
- }
@@ -1,96 +0,0 @@
1
- import {
2
- Box,
3
- Button,
4
- Typography,
5
- TableRow,
6
- TableCell,
7
- tableCellClasses,
8
- TypographyProps,
9
- BoxProps,
10
- ButtonProps,
11
- TableCellProps,
12
- TableRowProps,
13
- } from '@mui/material';
14
-
15
- import { StyledComponent } from '@emotion/styled';
16
- import { styled } from '@mui/material/styles';
17
-
18
- const DataGridHeaderStyled: StyledComponent<BoxProps> = styled(Box)({
19
- display: 'flex',
20
- position: 'relative',
21
- });
22
-
23
- const TotalRecordsStyled: StyledComponent<TypographyProps> = styled(Typography)({
24
- paddingTop: '24px',
25
- paddingBottom: '24px',
26
- paddingLeft: '15px',
27
- font: 'normal normal normal 18px/24px Source Sans Pro',
28
- });
29
-
30
- const HeaderCogStyled: StyledComponent<ButtonProps> = styled(Button)({
31
- position: 'absolute',
32
- top: '24px',
33
- right: '30px',
34
- border: '0',
35
- padding: 0,
36
- background: 'none',
37
- width: '24px',
38
- height: '24px',
39
- cursor: 'pointer',
40
- });
41
-
42
- const TableCellStyled: StyledComponent<TableCellProps> = styled(TableCell)(() => ({
43
- [`&.${tableCellClasses.head}`]: {
44
- backgroundColor: '#FFF',
45
- color: '#333',
46
- font: 'normal normal 600 14px/20px Source Sans Pro',
47
- position: 'relative',
48
- fontWeight: 'bold',
49
- padding: 15,
50
- },
51
- [`&.${tableCellClasses.body}`]: {
52
- fontSize: 14,
53
- },
54
- }));
55
-
56
- const TableRowStyled: StyledComponent<TableRowProps> = styled(TableRow)(({ theme }) => ({
57
- '&:nth-of-type(odd)': {
58
- backgroundColor: theme.palette.action.hover,
59
- },
60
- // hide last border
61
- '&:last-child td, &:last-child th': {
62
- border: 0,
63
- },
64
- }));
65
-
66
- const ButtonStyled: StyledComponent<ButtonProps> = styled(Button)({
67
- fontWeight: 'bold',
68
- margin: 0,
69
- padding: 0,
70
- });
71
-
72
- const DropDownStyled: StyledComponent<BoxProps> = styled(Box)({
73
- position: 'absolute',
74
- minHeight: '220px',
75
- top: '30px',
76
- left: '-50%',
77
- width: '292px',
78
- display: 'flex',
79
- background: '#fff',
80
- zIndex: 9,
81
- border: 0,
82
- boxShadow: '0 0 10px #ccc',
83
- padding: '5px',
84
- flexDirection: 'column',
85
- justifyContent: 'flex-start',
86
- });
87
-
88
- export {
89
- DataGridHeaderStyled,
90
- TotalRecordsStyled,
91
- HeaderCogStyled,
92
- TableCellStyled,
93
- TableRowStyled,
94
- ButtonStyled,
95
- DropDownStyled,
96
- };
@@ -1,86 +0,0 @@
1
- .dropdown {
2
- position: absolute;
3
- min-height: 330px;
4
- top: 55px;
5
- left: 0;
6
- width: 220px;
7
- display: flex;
8
- background: #fff;
9
- z-index: 9;
10
- border: 0;
11
- box-shadow: 0 0 10px #ccc;
12
- padding: 5px 10px;
13
- flex-direction: column;
14
- text-align: left;
15
- justify-content: flex-start;
16
- }
17
-
18
- .dropdown ul ol {
19
- margin: 0;
20
- padding: 0;
21
- }
22
-
23
- .dropdown li {
24
- list-style: none;
25
- }
26
-
27
- .dropdown li button {
28
- width: 100%;
29
- margin: 4px 0;
30
- position: relative;
31
- font-weight: 400;
32
- font-family: "Source Sans Pro";
33
- }
34
- .dropdown li button span {
35
- position: absolute;
36
- right: 0;
37
- }
38
- .dropdown li.search {
39
- position: relative;
40
- padding: 10px 0;
41
- }
42
-
43
- .dropdown li.search button {
44
- position: absolute;
45
- top: 13px;
46
- right: 5px;
47
- width: 18px;
48
- height: 18px;
49
- }
50
-
51
- .dropdown li.search button svg {
52
- width: 16px;
53
- height: 16px;
54
- }
55
-
56
- .boxListDataColumn {
57
- background: #f2f2f2;
58
- padding: 5px;
59
- overflow: auto;
60
- width: 100%;
61
- height: 120px;
62
- }
63
- .boxListDataColumn li {
64
- padding: 5px 0;
65
-
66
- height: 20px;
67
- line-height: 20px;
68
- font: normal normal normal 16px/22px "Source Sans Pro";
69
- }
70
-
71
- .dropdown button.submit {
72
- width: 80px;
73
- border: 1px solid;
74
- border-radius: 3px;
75
- margin: 5px 0 0;
76
- position: absolute;
77
- bottom: 10px;
78
- right: 10px;
79
- text-align: center !important;
80
- padding: 5px 10px;
81
- clear: both;
82
- }
83
-
84
- .dropdown .dropDown_numbers {
85
- position: relative;
86
- }
@@ -1,16 +0,0 @@
1
- .boxNumberFilter {
2
- position: absolute;
3
- height: 190px;
4
- top: 0;
5
- left: 220px;
6
- width: 240px;
7
- display: flex;
8
- background: #fff;
9
- z-index: 9;
10
- border: 0;
11
- box-shadow: 0 0 10px #ccc;
12
- padding: 5px 10px;
13
- flex-direction: column;
14
- text-align: left;
15
- justify-content: flex-start;
16
- }
@@ -1,107 +0,0 @@
1
- @import '../../../../styles/global.css';
2
-
3
- .tableHeader {
4
- display: flex;
5
- position: relative;
6
- }
7
-
8
- .tableHeader h3 {
9
- padding-top: 24px;
10
- padding-bottom: 24px;
11
- padding-left: 15px;
12
- font: normal normal normal 18px/24px 'Source Sans Pro';
13
- }
14
-
15
- .button {
16
- position: absolute;
17
- top: 24px;
18
- right: 30px;
19
- border: 0;
20
- background: none;
21
- width: 16px;
22
- height: 16px;
23
- cursor: pointer;
24
- }
25
-
26
- .table {
27
- display: table;
28
- width: 100%;
29
- margin-bottom: 1rem;
30
- color: var(--table-color);
31
- vertical-align: top;
32
- border-color: var(--table-border-color);
33
- caption-side: bottom;
34
- border-collapse: collapse;
35
- text-indent: initial;
36
- border-spacing: 2px;
37
- text-indent: initial;
38
- border-spacing: 2px;
39
- }
40
-
41
- .table > :not(caption) > * > * {
42
- padding: 0.5rem 0.5rem;
43
- background-color: var(--table-bg);
44
- box-shadow: inset 0 0 0 9999px var(--table-accent-bg);
45
- }
46
-
47
- .table > thead {
48
- vertical-align: bottom;
49
- }
50
-
51
- .table thead {
52
- display: table-header-group;
53
- }
54
-
55
- .table tr {
56
- display: table-row;
57
- vertical-align: inherit;
58
- height: 20px;
59
- }
60
-
61
- .standard tr:nth-child(even),
62
- .standard-divider tr:nth-child(even) {
63
- background: var(--table-striped-bg) 0% 0% no-repeat padding-box;
64
- }
65
-
66
- .standard-divider tr td {
67
- border-right: 1px solid --table-bg;
68
- }
69
-
70
- .table th {
71
- display: table-cell;
72
- vertical-align: inherit;
73
- font-weight: bold;
74
- border-bottom-width: 1px;
75
- position: relative;
76
- }
77
-
78
- .table th button {
79
- background: none;
80
- border: 0;
81
- cursor: pointer;
82
- font: normal normal 600 16px/22px 'Source Sans Pro';
83
- text-align: left;
84
- }
85
-
86
- .table th img {
87
- position: absolute;
88
- top: 22px;
89
- right: 15px;
90
- }
91
-
92
- .table th,
93
- .table td {
94
- text-align: inherit;
95
- text-align: -webkit-match-parent;
96
- position: relative;
97
- }
98
-
99
- .table td {
100
- font: normal normal normal 16px/22px 'Source Sans Pro';
101
- }
102
-
103
- .table tbody {
104
- display: table-row-group;
105
- vertical-align: middle;
106
- border-color: inherit;
107
- }
@@ -1,46 +0,0 @@
1
- import { MuiDataGridBaseProps } from '@/types';
2
- import { SxProps, Theme } from '@mui/material';
3
- import { OverridableStringUnion } from '@mui/types';
4
-
5
- export interface DataGridPropsVariantOverrides {}
6
-
7
- export interface SortingProps {
8
- sort?: string;
9
- active?: boolean;
10
- }
11
-
12
- export interface DataGridBaseProps extends MuiDataGridBaseProps {
13
- data: { dataSource: any; columns: any }[];
14
- sx?: SxProps<Theme>;
15
- variant?: OverridableStringUnion<
16
- 'standard' | 'standard-divider' | 'standard-selectable' | 'quiet' | 'quiet-divider' | 'quiet-selectable',
17
- DataGridPropsVariantOverrides
18
- >;
19
- width?: string;
20
- height?: string;
21
- }
22
-
23
- export interface DataSourceItem {
24
- [key: string]: string | number;
25
- }
26
-
27
- export interface DropdownFilterProps {
28
- onSelectAll: boolean;
29
- format?: string;
30
- data: (string | number)[];
31
- onFilter: (item: string) => void;
32
- onOrder: (item: string) => void;
33
- onChecketAll: (item: boolean) => void;
34
- onSelected: (item: (string | number)[]) => void;
35
- itemsSelected: (string | number)[];
36
- onFilterSelected: () => void;
37
- }
38
-
39
- export interface NumberFilterProps {
40
- onClick: (selectedOption: string) => void;
41
- }
42
-
43
- export interface PaginationProps {
44
- totalItems: number;
45
- pageSize: number;
46
- }
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
-
3
- import type { Meta } from '@storybook/react';
4
- import { DataGrid } from '../components';
5
- import dataSource from '../components/DataGrid/allData.json';
6
- import data from '../sample-data.json';
7
-
8
- const meta = {
9
- title: 'Display/DataGrid',
10
- component: DataGrid,
11
- parameters: {
12
- layout: 'centered',
13
- },
14
- tags: ['autodocs'],
15
- argTypes: {},
16
- } satisfies Meta<typeof DataGrid>;
17
-
18
- export default meta;
19
-
20
- export const DataGridBasic = () => {
21
- return (
22
- <>
23
- <DataGrid data={data} />
24
- </>
25
- );
26
- };
27
-
28
- DataGridBasic.storyName = 'DataGrid Basic';