norma-library 0.4.9 → 0.5.1

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 (246) hide show
  1. package/.babelrc.json +1 -1
  2. package/.husky/commit-msg +4 -0
  3. package/.prettierignore +11 -0
  4. package/.prettierrc.json +20 -0
  5. package/CHANGELOG.md +0 -0
  6. package/CONTRIBUTING.md +0 -0
  7. package/README.md +42 -0
  8. package/commitlint.config.js +1 -0
  9. package/dist/Button/index.d.ts +9 -0
  10. package/dist/Button/types.d.ts +18 -0
  11. package/dist/Card/Card.d.ts +3 -0
  12. package/dist/Card/CardHeader.d.ts +3 -0
  13. package/dist/Card/index.d.ts +4 -0
  14. package/dist/Card/styles.d.ts +546 -0
  15. package/dist/Card/types.d.ts +8 -0
  16. package/dist/esm/components/Accordion.d.ts +2 -2
  17. package/dist/esm/components/Accordion.js +8 -8
  18. package/dist/esm/components/Accordion.js.map +1 -1
  19. package/dist/esm/components/Avatar.d.ts +2 -2
  20. package/dist/esm/components/Avatar.js +7 -7
  21. package/dist/esm/components/Avatar.js.map +1 -1
  22. package/dist/esm/components/Badge.d.ts +2 -2
  23. package/dist/esm/components/Badge.js +5 -5
  24. package/dist/esm/components/Badge.js.map +1 -1
  25. package/dist/esm/components/Button.d.ts +2 -2
  26. package/dist/esm/components/Button.js +10 -10
  27. package/dist/esm/components/Button.js.map +1 -1
  28. package/dist/esm/components/Card.d.ts +3 -3
  29. package/dist/esm/components/Card.js +8 -8
  30. package/dist/esm/components/Card.js.map +1 -1
  31. package/dist/esm/components/ChatMessage.d.ts +2 -2
  32. package/dist/esm/components/ChatMessage.js +35 -35
  33. package/dist/esm/components/ChatMessage.js.map +1 -1
  34. package/dist/esm/components/CheckBox.d.ts +2 -2
  35. package/dist/esm/components/CheckBox.js +5 -5
  36. package/dist/esm/components/CheckBox.js.map +1 -1
  37. package/dist/esm/components/DataGrid/base/dropdown.d.ts +2 -2
  38. package/dist/esm/components/DataGrid/base/dropdown.js +32 -32
  39. package/dist/esm/components/DataGrid/base/dropdown.js.map +1 -1
  40. package/dist/esm/components/DataGrid/base/number-filter.d.ts +2 -2
  41. package/dist/esm/components/DataGrid/base/number-filter.js +21 -21
  42. package/dist/esm/components/DataGrid/base/sorting.d.ts +2 -2
  43. package/dist/esm/components/DataGrid/base/sorting.js +1 -1
  44. package/dist/esm/components/DataGrid/base/sorting.js.map +1 -1
  45. package/dist/esm/components/DataGrid/icons.d.ts +1 -1
  46. package/dist/esm/components/DataGrid/icons.js +1 -1
  47. package/dist/esm/components/DataGrid/icons.js.map +1 -1
  48. package/dist/esm/components/DataGrid/index.d.ts +2 -2
  49. package/dist/esm/components/DataGrid/index.js +35 -44
  50. package/dist/esm/components/DataGrid/index.js.map +1 -1
  51. package/dist/esm/components/DataGrid/shared.d.ts +1 -1
  52. package/dist/esm/components/DataGrid/shared.js +19 -32
  53. package/dist/esm/components/DataGrid/shared.js.map +1 -1
  54. package/dist/esm/components/DataGrid/styled.d.ts +2 -2
  55. package/dist/esm/components/DataGrid/styled.js +35 -35
  56. package/dist/esm/components/DataGrid/styled.js.map +1 -1
  57. package/dist/esm/components/DatePicker.d.ts +5 -5
  58. package/dist/esm/components/DatePicker.js +37 -37
  59. package/dist/esm/components/DatePicker.js.map +1 -1
  60. package/dist/esm/components/DropDown.d.ts +2 -2
  61. package/dist/esm/components/DropDown.js +6 -6
  62. package/dist/esm/components/DropDown.js.map +1 -1
  63. package/dist/esm/components/IconButton.d.ts +2 -2
  64. package/dist/esm/components/IconButton.js +7 -7
  65. package/dist/esm/components/IconButton.js.map +1 -1
  66. package/dist/esm/components/Icons.d.ts +2 -2
  67. package/dist/esm/components/Icons.js +10 -10
  68. package/dist/esm/components/Icons.js.map +1 -1
  69. package/dist/esm/components/Modal.d.ts +2 -2
  70. package/dist/esm/components/Modal.js +8 -8
  71. package/dist/esm/components/Modal.js.map +1 -1
  72. package/dist/esm/components/Paper.d.ts +2 -2
  73. package/dist/esm/components/Paper.js +5 -5
  74. package/dist/esm/components/Paper.js.map +1 -1
  75. package/dist/esm/components/ProgressBar.d.ts +2 -2
  76. package/dist/esm/components/ProgressBar.js +11 -11
  77. package/dist/esm/components/ProgressBar.js.map +1 -1
  78. package/dist/esm/components/RadioGroup.d.ts +2 -2
  79. package/dist/esm/components/RadioGroup.js +7 -7
  80. package/dist/esm/components/RadioGroup.js.map +1 -1
  81. package/dist/esm/components/RangerSlider.d.ts +2 -2
  82. package/dist/esm/components/RangerSlider.js +31 -31
  83. package/dist/esm/components/RangerSlider.js.map +1 -1
  84. package/dist/esm/components/Select.d.ts +2 -2
  85. package/dist/esm/components/Select.js +14 -14
  86. package/dist/esm/components/Select.js.map +1 -1
  87. package/dist/esm/components/Svgs.d.ts +1 -1
  88. package/dist/esm/components/Svgs.js +1 -1
  89. package/dist/esm/components/Svgs.js.map +1 -1
  90. package/dist/esm/components/Tabs.d.ts +2 -2
  91. package/dist/esm/components/Tabs.js +25 -26
  92. package/dist/esm/components/Tabs.js.map +1 -1
  93. package/dist/esm/components/Tag.d.ts +2 -2
  94. package/dist/esm/components/Tag.js +8 -8
  95. package/dist/esm/components/Tag.js.map +1 -1
  96. package/dist/esm/components/TextField.d.ts +2 -2
  97. package/dist/esm/components/TextField.js +8 -8
  98. package/dist/esm/components/TextField.js.map +1 -1
  99. package/dist/esm/components/TimeLine.d.ts +2 -2
  100. package/dist/esm/components/TimeLine.js +20 -20
  101. package/dist/esm/components/TimeLine.js.map +1 -1
  102. package/dist/esm/components/TimePicker.d.ts +8 -8
  103. package/dist/esm/components/TimePicker.js +43 -43
  104. package/dist/esm/components/TimePicker.js.map +1 -1
  105. package/dist/esm/components/index.d.ts +23 -23
  106. package/dist/esm/components/index.js +23 -23
  107. package/dist/esm/helpers/alignments.js +7 -7
  108. package/dist/esm/helpers/borders.js +11 -11
  109. package/dist/esm/helpers/colors.js +41 -41
  110. package/dist/esm/helpers/index.d.ts +5 -5
  111. package/dist/esm/helpers/index.js +5 -5
  112. package/dist/esm/helpers/sizes.d.ts +1 -1
  113. package/dist/esm/helpers/sizes.js +39 -39
  114. package/dist/esm/helpers/sizes.js.map +1 -1
  115. package/dist/esm/index.d.ts +17 -17
  116. package/dist/esm/index.js +17 -17
  117. package/dist/esm/interfaces/Accordion.d.ts +3 -3
  118. package/dist/esm/interfaces/Avatar.d.ts +6 -6
  119. package/dist/esm/interfaces/Badge.d.ts +7 -7
  120. package/dist/esm/interfaces/Button.d.ts +5 -5
  121. package/dist/esm/interfaces/Card.d.ts +3 -3
  122. package/dist/esm/interfaces/ChatMessage.d.ts +1 -1
  123. package/dist/esm/interfaces/CheckBox.d.ts +10 -10
  124. package/dist/esm/interfaces/DataGrid.d.ts +4 -4
  125. package/dist/esm/interfaces/DatePicker.d.ts +3 -3
  126. package/dist/esm/interfaces/DropDown.d.ts +4 -4
  127. package/dist/esm/interfaces/IconButton.d.ts +5 -5
  128. package/dist/esm/interfaces/Icons.d.ts +3 -3
  129. package/dist/esm/interfaces/Modal.d.ts +3 -3
  130. package/dist/esm/interfaces/Paper.d.ts +4 -4
  131. package/dist/esm/interfaces/ProgressBar.d.ts +5 -5
  132. package/dist/esm/interfaces/RadioGroup.d.ts +4 -4
  133. package/dist/esm/interfaces/RangerSlider.d.ts +8 -8
  134. package/dist/esm/interfaces/Select.d.ts +3 -3
  135. package/dist/esm/interfaces/Tabs.d.ts +3 -3
  136. package/dist/esm/interfaces/Tag.d.ts +5 -5
  137. package/dist/esm/interfaces/TextField.d.ts +12 -12
  138. package/dist/esm/interfaces/TimeLine.d.ts +3 -3
  139. package/dist/esm/interfaces/TimePicker.d.ts +3 -3
  140. package/dist/esm/interfaces/index.d.ts +23 -23
  141. package/dist/esm/interfaces/index.js +23 -23
  142. package/dist/esm/types/index.d.ts +41 -41
  143. package/dist/esm/types/index.js +2 -2
  144. package/dist/esm/types/index.js.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.es.js +6992 -0
  147. package/dist/index.es.js.map +1 -0
  148. package/dist/index.umd.js +266 -0
  149. package/dist/index.umd.js.map +1 -0
  150. package/dist/vite.svg +1 -0
  151. package/docs/index.md +118 -0
  152. package/package.json +65 -8
  153. package/src/components/Accordion.tsx +47 -64
  154. package/src/components/Avatar.tsx +22 -29
  155. package/src/components/Badge.tsx +19 -22
  156. package/src/components/Button.tsx +12 -19
  157. package/src/components/Card.tsx +44 -47
  158. package/src/components/ChatMessage.tsx +87 -89
  159. package/src/components/CheckBox.tsx +8 -19
  160. package/src/components/DataGrid/allData.json +2918 -2918
  161. package/src/components/DataGrid/base/dropdown.tsx +212 -235
  162. package/src/components/DataGrid/base/number-filter.tsx +43 -43
  163. package/src/components/DataGrid/base/sorting.tsx +29 -35
  164. package/src/components/DataGrid/icons.tsx +53 -61
  165. package/src/components/DataGrid/index.tsx +254 -319
  166. package/src/components/DataGrid/shared.ts +154 -179
  167. package/src/components/DataGrid/styled.ts +96 -102
  168. package/src/components/DataGrid/styles/dropdown.module.css +86 -86
  169. package/src/components/DataGrid/styles/number-filter.module.css +16 -16
  170. package/src/components/DataGrid/styles/styles.module.css +107 -107
  171. package/src/components/DatePicker.tsx +73 -84
  172. package/src/components/DropDown.tsx +31 -38
  173. package/src/components/IconButton.tsx +12 -29
  174. package/src/components/Icons.tsx +82 -87
  175. package/src/components/Modal.tsx +114 -123
  176. package/src/components/Paper.tsx +19 -22
  177. package/src/components/ProgressBar.tsx +54 -63
  178. package/src/components/RadioGroup.tsx +47 -55
  179. package/src/components/RangerSlider.tsx +70 -81
  180. package/src/components/Select.tsx +82 -98
  181. package/src/components/Svgs.tsx +498 -522
  182. package/src/components/Tabs.tsx +111 -140
  183. package/src/components/Tag.tsx +37 -45
  184. package/src/components/TextField.tsx +11 -22
  185. package/src/components/TimeLine.tsx +93 -103
  186. package/src/components/TimePicker.tsx +84 -95
  187. package/src/components/index.ts +23 -23
  188. package/src/helpers/alignments.ts +7 -7
  189. package/src/helpers/borders.ts +11 -11
  190. package/src/helpers/colors.ts +42 -42
  191. package/src/helpers/index.ts +5 -5
  192. package/src/helpers/sizes.ts +39 -46
  193. package/src/index.ts +17 -17
  194. package/src/interfaces/Accordion.ts +12 -12
  195. package/src/interfaces/Avatar.tsx +15 -18
  196. package/src/interfaces/Badge.ts +19 -32
  197. package/src/interfaces/Button.ts +5 -10
  198. package/src/interfaces/Card.ts +11 -11
  199. package/src/interfaces/ChatMessage.ts +12 -12
  200. package/src/interfaces/CheckBox.ts +12 -18
  201. package/src/interfaces/DataGrid.ts +46 -51
  202. package/src/interfaces/DatePicker.ts +13 -13
  203. package/src/interfaces/DropDown.ts +14 -14
  204. package/src/interfaces/IconButton.ts +5 -10
  205. package/src/interfaces/Icons.ts +17 -17
  206. package/src/interfaces/Modal.ts +15 -15
  207. package/src/interfaces/Paper.ts +12 -12
  208. package/src/interfaces/ProgressBar.ts +18 -25
  209. package/src/interfaces/RadioGroup.ts +22 -28
  210. package/src/interfaces/RangerSlider.ts +21 -32
  211. package/src/interfaces/Select.ts +17 -17
  212. package/src/interfaces/Tabs.ts +19 -24
  213. package/src/interfaces/Tag.ts +17 -17
  214. package/src/interfaces/TextField.ts +14 -34
  215. package/src/interfaces/TimeLine.ts +11 -16
  216. package/src/interfaces/TimePicker.ts +13 -13
  217. package/src/interfaces/index.ts +23 -23
  218. package/src/sample-data.json +178 -178
  219. package/src/stories/Accordion.stories.tsx +65 -65
  220. package/src/stories/Avatar.stories.tsx +123 -139
  221. package/src/stories/Badge.stories.tsx +39 -47
  222. package/src/stories/Button.stories.tsx +18 -26
  223. package/src/stories/Card.stories.tsx +40 -55
  224. package/src/stories/ChatMessage.stories.tsx +84 -85
  225. package/src/stories/CheckBox.stories.tsx +17 -23
  226. package/src/stories/DataGrid.stories.tsx +28 -28
  227. package/src/stories/DatePicker.stories.tsx +50 -77
  228. package/src/stories/DropDown.stories.tsx +57 -57
  229. package/src/stories/IconButton.stories.tsx +78 -114
  230. package/src/stories/Modal.stories.tsx +190 -190
  231. package/src/stories/Paper.stories.tsx +53 -53
  232. package/src/stories/ProgressBar.stories.tsx +95 -139
  233. package/src/stories/RadioGroup.stories.tsx +21 -28
  234. package/src/stories/RangerSlider.stories.tsx +58 -68
  235. package/src/stories/Select.stories.tsx +100 -128
  236. package/src/stories/Tabs.stories.tsx +62 -62
  237. package/src/stories/Tag.stories.tsx +56 -74
  238. package/src/stories/TextField.stories.tsx +54 -189
  239. package/src/stories/TimeLine.stories.tsx +35 -43
  240. package/src/stories/TimePicker.stories.tsx +87 -113
  241. package/src/types/index.ts +90 -155
  242. package/tsconfig.json +1 -1
  243. package/buildcache/front-end +0 -1
  244. package/norma-library.tar +0 -0
  245. package/postcss.config.js +0 -6
  246. package/tailwind.config.js +0 -58
@@ -1,179 +1,154 @@
1
- import { DataSourceItem } from "@/interfaces";
2
-
3
- export function groupByDataSource(
4
- dataSource: DataSourceItem[],
5
- key: string
6
- ): (string | number)[] {
7
- const groupedValues: (string | number)[] = [];
8
-
9
- dataSource.forEach((item) => {
10
- const value = item[key];
11
- const existingGroup = groupedValues.find((group) => group === value);
12
-
13
- if (!existingGroup) {
14
- groupedValues.push(value);
15
- }
16
- });
17
-
18
- return groupedValues;
19
- }
20
-
21
- export function sortDataSourceByColumn(
22
- jsonData: any[],
23
- column: string,
24
- order: string
25
- ): any[] {
26
- return jsonData.sort((a, b) => {
27
- const valueA = a[column];
28
- const valueB = b[column];
29
-
30
- if (typeof valueA === "string" && typeof valueB === "string") {
31
- if (order === "asc") {
32
- return valueA.localeCompare(valueB);
33
- } else if (order === "desc") {
34
- return valueB.localeCompare(valueA);
35
- }
36
- } else if (typeof valueA === "number" && typeof valueB === "number") {
37
- if (order === "asc") {
38
- return valueA - valueB;
39
- } else if (order === "desc") {
40
- return valueB - valueA;
41
- }
42
- }
43
-
44
- return 0;
45
- });
46
- }
47
-
48
- export function filterDataSource(
49
- dataSource: DataSourceItem[],
50
- column: string,
51
- filter: string,
52
- exactTime: boolean = false
53
- ): DataSourceItem[] {
54
- return dataSource.filter((item) => {
55
- const value = item[column];
56
- if (typeof value === "string" || value.constructor === Date) {
57
- const stringValue = (value as string).toString().toLowerCase();
58
- const filterValue = filter.toLowerCase();
59
-
60
- if (exactTime && filterValue.length === 5) {
61
- return stringValue === filterValue;
62
- }
63
-
64
- if (stringValue.includes(filterValue)) {
65
- return true;
66
- }
67
-
68
- if (stringValue.includes(":") && filterValue.includes(":")) {
69
- const [hour, minute] = stringValue.split(":");
70
- const [filterHour, filterMinute] = filterValue.split(":");
71
-
72
- if (filterValue.length === 5) {
73
- return stringValue === filterValue;
74
- }
75
-
76
- if (filterHour.length === 1 && hour === filterHour) {
77
- return true;
78
- }
79
-
80
- if (filterMinute.length === 1 && minute === filterMinute) {
81
- return true;
82
- }
83
- }
84
- } else if (typeof value === "number") {
85
- const numberValue = (value as number).toString();
86
- return numberValue.includes(filter);
87
- }
88
-
89
- return false;
90
- });
91
- }
92
-
93
- export function filterItemsByColumn(
94
- dataSource: any[],
95
- column: string,
96
- filterValues: any[]
97
- ): any[] {
98
- return dataSource.filter((item) => {
99
- const columnValue = item[column];
100
- return filterValues.includes(columnValue);
101
- });
102
- }
103
-
104
- // PROVISORIO BAIXO
105
- export function generateRandomDataSource(numRows: number) {
106
- const campanhas = [
107
- "Campanha 1",
108
- "Campanha 2",
109
- "Campanha 3",
110
- "Campanha 4",
111
- "Campanha 5",
112
- ];
113
- const agents = [16321, 16322, 16323, 16324, 16325];
114
- const disposals = [
115
- "Tabulação 1",
116
- "Tabulação 2",
117
- "Tabulação 3",
118
- "Tabulação 4",
119
- "Tabulação 5",
120
- ];
121
-
122
- const dataSource = [];
123
-
124
- for (let i = 0; i < numRows; i++) {
125
- const data = generateRandomDate();
126
- const duration = generateRandomDuration();
127
- const campanha = getRandomElement(campanhas);
128
- const agente = getRandomElement(agents);
129
- const ani = generateRandomNumber(50000000, 60000000);
130
- const dnis = generateRandomNumber(100000, 999999);
131
- const disposition = getRandomElement(disposals);
132
- const origem = generateRandomNumber(12000, 13000);
133
- const id = i + 1;
134
-
135
- const item = {
136
- data,
137
- duration,
138
- campanha,
139
- agente,
140
- ani,
141
- dnis,
142
- disposition,
143
- origem,
144
- id,
145
- };
146
-
147
- dataSource.push(item);
148
- }
149
-
150
- return dataSource;
151
- }
152
-
153
- export function generateRandomDate() {
154
- const startDate = new Date("2020-01-01");
155
- const currentDate = new Date();
156
- const randomTimestamp =
157
- Math.random() * (currentDate.getTime() - startDate.getTime()) +
158
- startDate.getTime();
159
- const randomDate = new Date(randomTimestamp);
160
- const day = randomDate.getDate().toString().padStart(2, "0");
161
- const month = (randomDate.getMonth() + 1).toString().padStart(2, "0");
162
- const year = randomDate.getFullYear();
163
- return `${day}/${month}/${year}`;
164
- }
165
-
166
- export function generateRandomDuration() {
167
- const hours = generateRandomNumber(0, 10).toString().padStart(2, "0");
168
- const minutes = generateRandomNumber(0, 59).toString().padStart(2, "0");
169
- return `${hours}:${minutes}`;
170
- }
171
-
172
- export function generateRandomNumber(min: number, max: number) {
173
- return Math.floor(Math.random() * (max - min + 1) + min);
174
- }
175
-
176
- export function getRandomElement(array: any[]) {
177
- const randomIndex = Math.floor(Math.random() * array.length);
178
- return array[randomIndex];
179
- }
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,102 +1,96 @@
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
- {
25
- paddingTop: "24px",
26
- paddingBottom: "24px",
27
- paddingLeft: "15px",
28
- font: "normal normal normal 18px/24px Source Sans Pro",
29
- }
30
- );
31
-
32
- const HeaderCogStyled: StyledComponent<ButtonProps> = styled(Button)({
33
- position: "absolute",
34
- top: "24px",
35
- right: "30px",
36
- border: "0",
37
- padding: 0,
38
- background: "none",
39
- width: "24px",
40
- height: "24px",
41
- cursor: "pointer",
42
- });
43
-
44
- const TableCellStyled: StyledComponent<TableCellProps> = styled(TableCell)(
45
- () => ({
46
- [`&.${tableCellClasses.head}`]: {
47
- backgroundColor: "#FFF",
48
- color: "#333",
49
- font: "normal normal 600 14px/20px Source Sans Pro",
50
- position: "relative",
51
- fontWeight: "bold",
52
- padding: 15,
53
- },
54
- [`&.${tableCellClasses.body}`]: {
55
- fontSize: 14,
56
- },
57
- })
58
- );
59
-
60
- const TableRowStyled: StyledComponent<TableRowProps> = styled(TableRow)(
61
- ({ theme }) => ({
62
- "&:nth-of-type(odd)": {
63
- backgroundColor: theme.palette.action.hover,
64
- },
65
- // hide last border
66
- "&:last-child td, &:last-child th": {
67
- border: 0,
68
- },
69
- })
70
- );
71
-
72
- const ButtonStyled: StyledComponent<ButtonProps> = styled(Button)({
73
- fontWeight: "bold",
74
- margin: 0,
75
- padding: 0,
76
- });
77
-
78
- const DropDownStyled: StyledComponent<BoxProps> = styled(Box)({
79
- position: "absolute",
80
- minHeight: "220px",
81
- top: "30px",
82
- left: "-50%",
83
- width: "292px",
84
- display: "flex",
85
- background: "#fff",
86
- zIndex: 9,
87
- border: 0,
88
- boxShadow: "0 0 10px #ccc",
89
- padding: "5px",
90
- flexDirection: "column",
91
- justifyContent: "flex-start",
92
- });
93
-
94
- export {
95
- DataGridHeaderStyled,
96
- TotalRecordsStyled,
97
- HeaderCogStyled,
98
- TableCellStyled,
99
- TableRowStyled,
100
- ButtonStyled,
101
- DropDownStyled,
102
- };
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
+ };