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
@@ -0,0 +1,300 @@
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
+
13
+ import { format, isAfter, isBefore } from 'date-fns';
14
+ import { Pagination, Header, TBody } from './components';
15
+ import { UncontrolledTableProps } from './interface';
16
+
17
+ const UncontrolledTable = (props: UncontrolledTableProps) => {
18
+ const {
19
+ data,
20
+ columns,
21
+ onClick,
22
+ onMouseOver,
23
+ onMouseOut,
24
+ showTotalResults,
25
+ showSettings,
26
+ rowCount,
27
+ onChangePage,
28
+ pagination,
29
+ showClearFields,
30
+ onClearFieldsClick,
31
+ onFilterClick,
32
+ onSortClick,
33
+ } = props;
34
+
35
+ const [openFilterDialog, setOpenFilterDialog] = useState('');
36
+ const [sorting, setSorting] = useState<any>([]);
37
+ const [filterByColumn, setFilterByColumn] = useState<ColumnFiltersState>([]);
38
+ const [globalFilters, setGlobalFilters] = useState<any>([]);
39
+ const [orderSmallest, setOrderSmallest] = useState(false);
40
+ const [orderLargest, setOrderLargest] = useState(false);
41
+
42
+ const customFilterText = (row: any, value: string) => {
43
+ const itensFinded = globalFilters.map((item: any) => {
44
+ if (item.type === 'Horario Igual a') {
45
+ return item.value === row.original[item.acessor];
46
+ }
47
+ if (item.type === 'Horario maior que') {
48
+ const date = new Date();
49
+ const rowDate = new Date();
50
+ const hourSplited = item?.value?.split(':');
51
+ const rowDateSplited = row.original[item.acessor].split(':');
52
+
53
+ date.setHours(Number(hourSplited[0]), Number(hourSplited[1]), 0, 0);
54
+ rowDate.setHours(Number(rowDateSplited[0]), Number(rowDateSplited[1]), 0, 0);
55
+
56
+ return isAfter(rowDate, date);
57
+ }
58
+ if (item.type === 'Horario menor que') {
59
+ const date = new Date();
60
+ const rowDate = new Date();
61
+ const hourSplited = item?.value?.split(':');
62
+ const rowDateSplited = row.original[item.acessor].split(':');
63
+
64
+ date.setHours(Number(hourSplited[0]), Number(hourSplited[1]), 0, 0);
65
+ rowDate.setHours(Number(rowDateSplited[0]), Number(rowDateSplited[1]), 0, 0);
66
+
67
+ return isBefore(rowDate, date);
68
+ }
69
+ if (item.type === 'Data Igual a') {
70
+ const dateSplited = item?.value?.split('-');
71
+ return (
72
+ row.original[item.acessor] ===
73
+ format(new Date(dateSplited[0], dateSplited[1] - 1, dateSplited[2], 0, 0), 'dd/MM/yyyy')
74
+ );
75
+ }
76
+ if (item.type === 'Data maior que') {
77
+ const dateSplited = item?.value?.split('-');
78
+ const rowDateSplited = row.original[item.acessor].split('/');
79
+ return isAfter(
80
+ new Date(rowDateSplited[2], rowDateSplited[1], rowDateSplited[0]),
81
+ new Date(dateSplited[0], dateSplited[1], dateSplited[2]),
82
+ );
83
+ }
84
+ if (item.type === 'Data menor que') {
85
+ const dateSplited = item?.value?.split('-');
86
+ const rowDateSplited = row.original[item.acessor].split('/');
87
+ return isBefore(
88
+ new Date(rowDateSplited[2], rowDateSplited[1], rowDateSplited[0]),
89
+ new Date(dateSplited[0], dateSplited[1], dateSplited[2]),
90
+ );
91
+ }
92
+ if (item.type === 'Igual a' && typeof value === 'number') {
93
+ return row.original[item.acessor] === item.value;
94
+ }
95
+ if (item.type === 'Igual a') {
96
+ return row.original[item.acessor] === item.value;
97
+ }
98
+ if (item.type === 'Contém') {
99
+ return !!row.original[item.acessor].includes(item.value);
100
+ }
101
+ if (item.type === 'Não é igual a') {
102
+ return row.original[item.acessor] !== item.value;
103
+ }
104
+ if (item.type === 'Maior que') {
105
+ return row.original[item.acessor] > item.value;
106
+ }
107
+ if (item.type === 'Menor que') {
108
+ return row.original[item.acessor] < item.value;
109
+ }
110
+ });
111
+
112
+ const result = itensFinded.every((item: any) => item);
113
+ return result;
114
+ };
115
+
116
+ const reactTableConfig = useMemo(() => {
117
+ const config: any = {
118
+ data,
119
+ columns,
120
+ filterFns: {
121
+ customFilterText: customFilterText,
122
+ },
123
+ state: {
124
+ sorting: sorting,
125
+ columnFilters: filterByColumn,
126
+ },
127
+ rowCount: rowCount || 10,
128
+ getCoreRowModel: getCoreRowModel(),
129
+ getSortedRowModel: getSortedRowModel(),
130
+ getFilteredRowModel: getFilteredRowModel(),
131
+ onSortingChange: setSorting,
132
+ onColumnFiltersChange: setFilterByColumn,
133
+ };
134
+ config.rowCount = rowCount || 10;
135
+
136
+ if (!pagination) {
137
+ config.getPaginationRowModel = getPaginationRowModel();
138
+ } else {
139
+ config.state.pagination = pagination;
140
+ config.manualPagination = true;
141
+ config.pageCount = pagination.totalPages;
142
+ }
143
+ return config;
144
+ }, [data, sorting, filterByColumn, columns, pagination]);
145
+
146
+ const table = useReactTable(reactTableConfig);
147
+
148
+ return (
149
+ <S.Container>
150
+ <Header
151
+ table={table}
152
+ globalFilters={globalFilters}
153
+ orderSmallest={orderSmallest}
154
+ orderLargest={orderLargest}
155
+ showTotalResults={showTotalResults}
156
+ showSettings={showSettings}
157
+ setGlobalFilters={setGlobalFilters}
158
+ setOrderLargest={setOrderLargest}
159
+ setOrderSmallest={setOrderSmallest}
160
+ showClearFiels={showClearFields}
161
+ onClearFieldsClick={() => onClearFieldsClick && onClearFieldsClick()}
162
+ />
163
+ <S.Content>
164
+ <S.Table>
165
+ <thead>
166
+ {table.getHeaderGroups().map((headerGroup: any) => (
167
+ <tr key={headerGroup.id}>
168
+ {headerGroup.headers.map((header: any) => (
169
+ <th key={header.id}>
170
+ <div>
171
+ <S.ColumnContent
172
+ onClick={() => {
173
+ if (!header?.column?.columnDef?.disableMenu)
174
+ setOpenFilterDialog(header.column.columnDef.accessorKey);
175
+ }}
176
+ >
177
+ <S.TextColumn $alone={header?.column?.columnDef?.disableMenu}>
178
+ {!header.isPlaceholder && flexRender(header.column.columnDef.header, header.getContext())}
179
+ </S.TextColumn>
180
+ {!header?.column?.columnDef?.disableMenu && (
181
+ <S.IconFilterDialog>
182
+ <svg
183
+ fill="#666"
184
+ focusable="false"
185
+ aria-hidden="true"
186
+ viewBox="0 0 24 24"
187
+ data-testid="ArrowDropDownIcon"
188
+ >
189
+ <path d="m7 10 5 5 5-5z"></path>
190
+ </svg>
191
+ </S.IconFilterDialog>
192
+ )}
193
+ </S.ColumnContent>
194
+ {openFilterDialog === header.column.columnDef.accessorKey && (
195
+ <>
196
+ <S.backgroundDialog onClick={() => setOpenFilterDialog('')}></S.backgroundDialog>
197
+ <S.FilterDialog>
198
+ <S.ListFilterDialog>
199
+ <S.OptionFilterDialog
200
+ style={{
201
+ background: orderSmallest ? 'rgba(0, 0, 0, 0.04)' : '',
202
+ }}
203
+ onClick={() => {
204
+ onSortClick && onSortClick(header.column.columnDef.accessorKey, 'asc');
205
+ setOpenFilterDialog('');
206
+ }}
207
+ >
208
+ <div className="icon">
209
+ <svg
210
+ fill="#666"
211
+ stroke="currentColor"
212
+ strokeWidth="1.5"
213
+ viewBox="0 0 24 24"
214
+ xmlns="http://www.w3.org/2000/svg"
215
+ aria-hidden="true"
216
+ width="20"
217
+ height="20"
218
+ >
219
+ <path
220
+ strokeLinecap="round"
221
+ strokeLinejoin="round"
222
+ d="M12 4.5v15m0 0l6.75-6.75M12 19.5l-6.75-6.75"
223
+ ></path>
224
+ </svg>
225
+ </div>
226
+ <p>Menor primeiro</p>
227
+ </S.OptionFilterDialog>
228
+ <S.OptionFilterDialog
229
+ style={{
230
+ background: orderLargest ? 'rgba(0, 0, 0, 0.04)' : '',
231
+ }}
232
+ onClick={() => {
233
+ onSortClick && onSortClick(header.column.columnDef.accessorKey, 'desc');
234
+ setOpenFilterDialog('');
235
+ }}
236
+ >
237
+ <div className="icon rotate">
238
+ <svg
239
+ fill="#666"
240
+ stroke="currentColor"
241
+ strokeWidth="1.5"
242
+ viewBox="0 0 24 24"
243
+ xmlns="http://www.w3.org/2000/svg"
244
+ aria-hidden="true"
245
+ width="20"
246
+ height="20"
247
+ >
248
+ <path
249
+ strokeLinecap="round"
250
+ strokeLinejoin="round"
251
+ d="M12 4.5v15m0 0l6.75-6.75M12 19.5l-6.75-6.75"
252
+ ></path>
253
+ </svg>
254
+ </div>
255
+ <p>Maior primeiro</p>
256
+ </S.OptionFilterDialog>
257
+ {!header?.column?.columnDef?.nofilter && (
258
+ <S.OptionFilterDialog
259
+ onClick={() => onFilterClick && onFilterClick(header.column.columnDef.accessorKey)}
260
+ >
261
+ <div className="icon">
262
+ <svg
263
+ fill="none"
264
+ stroke="currentColor"
265
+ strokeWidth="1.5"
266
+ viewBox="0 0 24 24"
267
+ xmlns="http://www.w3.org/2000/svg"
268
+ aria-hidden="true"
269
+ width="16"
270
+ height="16"
271
+ >
272
+ <path
273
+ strokeLinecap="round"
274
+ strokeLinejoin="round"
275
+ 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"
276
+ ></path>
277
+ </svg>
278
+ </div>
279
+ <p>Filtrar por</p>
280
+ </S.OptionFilterDialog>
281
+ )}
282
+ </S.ListFilterDialog>
283
+ </S.FilterDialog>
284
+ </>
285
+ )}
286
+ </div>
287
+ </th>
288
+ ))}
289
+ </tr>
290
+ ))}
291
+ </thead>
292
+ <TBody table={table} onClick={onClick} onMouseOver={onMouseOver} onMouseOut={onMouseOut} />
293
+ </S.Table>
294
+ </S.Content>
295
+ <Pagination table={table} onChangePage={onChangePage} />
296
+ </S.Container>
297
+ );
298
+ };
299
+
300
+ export default UncontrolledTable;
@@ -0,0 +1,27 @@
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+
3
+ export interface UncontrolledTableProps {
4
+ data: any;
5
+ columns: ColumnDef<ColumnsTable>[];
6
+ onClick: any;
7
+ onMouseOver: any;
8
+ onMouseOut: any;
9
+ showTotalResults: boolean;
10
+ showSettings: boolean;
11
+ rowCount: number;
12
+ pagination?: { pageIndex: number; pageSize: number; totalPages: number };
13
+ showClearFields?: boolean;
14
+ onChangePage?: (page: number) => void;
15
+ onClearFieldsClick?: () => void;
16
+ onFilterClick?: (column: string) => void;
17
+ onSortClick?: (column: string, direction: string) => void;
18
+ }
19
+
20
+ export interface ColumnsTable {
21
+ header: string;
22
+ accessorKey: string;
23
+ type: string;
24
+ enableColumnFilter: boolean;
25
+ filterFn: string;
26
+ nofilter?: boolean;
27
+ }
@@ -0,0 +1,120 @@
1
+ import styled from 'styled-components';
2
+
3
+ export const Container = styled.div`
4
+ width: 100%;
5
+ background: #fff;
6
+ `;
7
+
8
+ export const Content = styled.div<any>`
9
+ min-height: ${props => (props.minHeight ? props.minHeight : 'auto')};
10
+ `;
11
+
12
+ export const Table = styled.table`
13
+ border-collapse: collapse;
14
+ width: 100%;
15
+ thead {
16
+ tr {
17
+ border-bottom: 1px solid #e0e0e0;
18
+ th {
19
+ padding: 12px 24px;
20
+ }
21
+ }
22
+ }
23
+ tbody {
24
+ tr {
25
+ td {
26
+ padding: 16px 24px;
27
+ color: #666666;
28
+ font-size: 14px;
29
+ }
30
+ }
31
+ tr:nth-child(even) {
32
+ background: #fafafa;
33
+ border-bottom: 1px solid #f1f1f1;
34
+ border-top: 1px solid #f1f1f1;
35
+ }
36
+ }
37
+ `;
38
+
39
+ export const TextColumn = styled.span<any>`
40
+ color: #666666;
41
+ font-size: 14px;
42
+ width: ${props => (props.$alone ? '100%' : 'auto')};
43
+ text-align: ${props => (props.$alone ? 'center' : 'initial')};
44
+ `;
45
+
46
+ export const ColumnContent = styled.div`
47
+ gap: 2px;
48
+ align-items: center;
49
+ display: flex;
50
+ cursor: pointer;
51
+ `;
52
+
53
+ export const IconFilterDialog = styled.div`
54
+ width: 20px;
55
+ height: 20px;
56
+ cursor: pointer;
57
+ `;
58
+
59
+ export const backgroundDialog = styled.div`
60
+ width: 100%;
61
+ position: absolute;
62
+ height: 100vh;
63
+ background: transparent;
64
+ top: 0;
65
+ left: 0;
66
+ `;
67
+
68
+ export const FilterDialog = styled.div`
69
+ padding: 10px 0;
70
+ margin: 6px 0px 0 0;
71
+ position: absolute;
72
+ width: max-content;
73
+ background: #fff;
74
+ box-shadow: 0px 3px 6px #00000029;
75
+ border: 1px solid #e0e0e0;
76
+ z-index: 99;
77
+ `;
78
+
79
+ export const ListFilterDialog = styled.div`
80
+ display: flex;
81
+ flex-direction: column;
82
+ .label {
83
+ margin: 0 0 8px 0;
84
+ color: #666666;
85
+ font-size: 14px;
86
+ font-weight: 400;
87
+ text-align: left;
88
+ }
89
+ .select {
90
+ border: 1px solid #e0e0e0;
91
+ padding: 8px 12px;
92
+ }
93
+ `;
94
+
95
+ export const OptionFilterDialog = styled.div`
96
+ display: flex;
97
+ gap: 16px;
98
+ align-items: center;
99
+ padding: 6px 15px;
100
+ cursor: pointer;
101
+ &:hover {
102
+ background: rgba(0, 0, 0, 0.04);
103
+ }
104
+ .icon {
105
+ color: #666;
106
+ }
107
+ .rotate {
108
+ rotate: 180deg;
109
+ }
110
+ div {
111
+ width: 20px;
112
+ height: 20px;
113
+ }
114
+ p {
115
+ margin: 0;
116
+ color: #666666;
117
+ font-size: 16px;
118
+ font-weight: 400;
119
+ }
120
+ `;
@@ -4,8 +4,8 @@ export * from './Badge';
4
4
  export * from './Button';
5
5
  export * from './Card';
6
6
  export * from './ChatMessage';
7
+ export * from './ChatMessageBalloon/ChatMessageBalloon';
7
8
  export * from './CheckBox';
8
- export * from './DataGrid';
9
9
  export * from './DatePicker';
10
10
  export * from './DropDown';
11
11
  export * from './IconButton';
@@ -18,6 +18,7 @@ export * from './RangerSlider';
18
18
  export * from './Select';
19
19
  export * from './Tabs';
20
20
  export * from './Tag';
21
+ export * from './Table';
21
22
  export * from './TextField';
22
23
  export * from './TimeLine';
23
24
  export * from './TimePicker';
@@ -6,7 +6,6 @@ export const getPalette = () => {
6
6
  primaryLight: '#FFDB9F',
7
7
  primaryMedium: '#FFA84C',
8
8
  primaryDark: '#B74608',
9
-
10
9
  inherit: 'rgb(102, 102, 102)',
11
10
  secondary: 'rgb(67, 187, 242)',
12
11
  error: 'rgb(214, 54, 67)',
package/src/index.css CHANGED
@@ -1,2 +0,0 @@
1
- @import "styles/globals.css";
2
- @import "styles/custom.css";
package/src/index.ts CHANGED
@@ -14,12 +14,27 @@ import { Tabs } from './components/Tabs';
14
14
  import { Tag } from './components/Tag';
15
15
  import { TextField } from './components/TextField';
16
16
  import { DatePicker } from './components/DatePicker';
17
+ import { ChatMessage, ChatMessageBalloon } from './components';
18
+ import { NormaProvider } from './providers/NormaProvider';
17
19
  import { themes, getPalette } from './helpers';
20
+ import DateInput from './components/DateInput';
21
+ import Box from './components/Box'
22
+ import Breadcrumb from './components/Breadcrumb';
23
+ import SelectInput from './components/SelectInput';
24
+ import MultiSelectInput from './components/MultiSelectInput';
25
+ import { Title, Text } from './components/Typography'
26
+ import TextInput from './components/TextInput';
27
+ import Table from './components/Table';
28
+ import UncontrolledTable from './components/UncontrolledTable';
29
+
30
+
18
31
 
19
32
  export {
20
33
  Accordion,
21
34
  Button,
22
35
  Card,
36
+ ChatMessage,
37
+ ChatMessageBalloon,
23
38
  CheckBox,
24
39
  DatePicker,
25
40
  getPalette,
@@ -34,5 +49,16 @@ export {
34
49
  Tabs,
35
50
  Tag,
36
51
  TextField,
52
+ NormaProvider,
37
53
  themes,
54
+ DateInput,
55
+ Box,
56
+ Breadcrumb,
57
+ SelectInput,
58
+ MultiSelectInput,
59
+ Text,
60
+ Title,
61
+ TextInput,
62
+ Table,
63
+ UncontrolledTable
38
64
  };
@@ -0,0 +1,17 @@
1
+ import { ReactNode, MouseEventHandler } from "react";
2
+
3
+ export interface ChatMessageBalloonProps {
4
+ label: string;
5
+ description: ReactNode;
6
+ date: string;
7
+ direction: "I" | "O";
8
+ onMouseEnter?: MouseEventHandler<HTMLDivElement>;
9
+ onMouseLeave?: MouseEventHandler<HTMLDivElement>;
10
+ onRowMouseEnter?: MouseEventHandler<HTMLDivElement>;
11
+ onRowMouseLeave?: MouseEventHandler<HTMLDivElement>;
12
+ highlight?: boolean;
13
+ attachments?: string[];
14
+ children?:ReactNode;
15
+ bottomChildren?:ReactNode;
16
+ className?:string;
17
+ }
@@ -1,6 +1,6 @@
1
1
  import { SxProps } from '@mui/material';
2
2
  import { Theme } from '@emotion/react';
3
- import { MuiModalBaseProps, OnAction } from '@/types';
3
+ import { MuiModalBaseProps, MuiPaperBaseProps, OnAction } from '@/types';
4
4
 
5
5
  export interface ModalBaseProps extends MuiModalBaseProps {
6
6
  sx?: SxProps<Theme>;
@@ -12,4 +12,5 @@ export interface ModalBaseProps extends MuiModalBaseProps {
12
12
  full?: boolean;
13
13
  title?: string;
14
14
  id?: string;
15
+ paperProps?: MuiPaperBaseProps;
15
16
  }
@@ -8,7 +8,7 @@ export interface SelectBaseProps extends MuiSelectBaseProps {
8
8
  label?: React.ReactNode;
9
9
  input?: React.ReactElement<any, any>;
10
10
  variant?: TextFieldVariant;
11
- value?: string;
11
+ value?: string | string[];
12
12
  open?: boolean;
13
13
  onOpen?: (event: React.SyntheticEvent) => void;
14
14
  onClose?: (event: React.SyntheticEvent) => void;
@@ -1,7 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
 
3
3
  import { TextFieldPropsColorOverrides, TextFieldPropsSizeOverrides } from '@mui/material/TextField';
4
- import { FormHelperTextProps, InputBaseProps, InputLabelProps, OutlinedInputProps, SelectProps } from '@mui/material';
4
+ import { FormHelperTextProps, InputBaseProps, InputLabelProps, OutlinedInputProps, SelectProps, SxProps, Theme } from '@mui/material';
5
5
  import { InputProps as StandardInputProps } from '@mui/material/Input';
6
6
  import { OverridableStringUnion } from '@mui/types';
7
7
  import { TextField } from '@mui/material';
@@ -38,6 +38,7 @@ export interface TextFieldBaseProps extends MuiTextFieldBaseProps {
38
38
  FormHelperTextProps?: Partial<FormHelperTextProps>;
39
39
  color?: OverridableStringUnion<TextFieldColorVariant, TextFieldPropsColorOverrides>;
40
40
  value?: unknown;
41
+ sx?: SxProps<Theme> | undefined
41
42
  }
42
43
 
43
44
  export type TextFieldType = keyof typeof TextField;
@@ -5,7 +5,6 @@ export * from './Button';
5
5
  export * from './Card';
6
6
  export * from './ChatMessage';
7
7
  export * from './CheckBox';
8
- export * from './DataGrid';
9
8
  export * from './DatePicker';
10
9
  export * from './DropDown';
11
10
  export * from './IconButton';
@@ -21,3 +20,4 @@ export * from './Tag';
21
20
  export * from './TextField';
22
21
  export * from './TimeLine';
23
22
  export * from './TimePicker';
23
+ export * from './ChatMessageBalloon';