vue-chrts 0.0.134 → 0.0.137

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 (109) hide show
  1. package/dist/components/Area/AreaChart.cjs +7 -0
  2. package/dist/components/Area/AreaChart.cjs.map +1 -0
  3. package/dist/components/Area/AreaChart.js +123 -0
  4. package/dist/components/Area/AreaChart.js.map +1 -0
  5. package/dist/components/Area/AreaChart.vue.d.ts +36 -0
  6. package/dist/components/Area/AreaChart2.cjs +2 -0
  7. package/dist/components/Area/AreaChart2.cjs.map +1 -0
  8. package/dist/components/Area/AreaChart2.js +5 -0
  9. package/dist/components/Area/AreaChart2.js.map +1 -0
  10. package/dist/components/Area/index.d.ts +1 -0
  11. package/dist/components/AreaStacked/AreaStackedChart.cjs +2 -0
  12. package/dist/components/AreaStacked/AreaStackedChart.cjs.map +1 -0
  13. package/dist/components/AreaStacked/AreaStackedChart.js +51 -0
  14. package/dist/components/AreaStacked/AreaStackedChart.js.map +1 -0
  15. package/dist/components/AreaStacked/AreaStackedChart.vue.d.ts +18 -0
  16. package/dist/components/AreaStacked/AreaStackedChart2.cjs +2 -0
  17. package/dist/components/AreaStacked/AreaStackedChart2.cjs.map +1 -0
  18. package/dist/components/AreaStacked/AreaStackedChart2.js +5 -0
  19. package/dist/components/AreaStacked/AreaStackedChart2.js.map +1 -0
  20. package/{src/components/AreaStacked/index.ts → dist/components/AreaStacked/index.d.ts} +1 -1
  21. package/dist/components/Bar/index.d.ts +1 -0
  22. package/dist/components/Crosshair/Crosshair.cjs +2 -0
  23. package/dist/components/Crosshair/Crosshair.cjs.map +1 -0
  24. package/dist/components/Crosshair/Crosshair.js +40 -0
  25. package/dist/components/Crosshair/Crosshair.js.map +1 -0
  26. package/dist/components/Crosshair/Crosshair.vue.d.ts +38 -0
  27. package/dist/components/Crosshair/Crosshair2.cjs +2 -0
  28. package/dist/components/Crosshair/Crosshair2.cjs.map +1 -0
  29. package/dist/components/Crosshair/Crosshair2.js +5 -0
  30. package/dist/components/Crosshair/Crosshair2.js.map +1 -0
  31. package/dist/components/Crosshair/index.d.ts +1 -0
  32. package/dist/components/Donut/DonutChart.cjs +6 -0
  33. package/dist/components/Donut/DonutChart.cjs.map +1 -0
  34. package/dist/components/Donut/DonutChart.js +59 -0
  35. package/dist/components/Donut/DonutChart.js.map +1 -0
  36. package/dist/components/Donut/DonutChart.vue.d.ts +31 -0
  37. package/dist/components/Donut/DonutChart2.cjs +2 -0
  38. package/dist/components/Donut/DonutChart2.cjs.map +1 -0
  39. package/dist/components/Donut/DonutChart2.js +5 -0
  40. package/dist/components/Donut/DonutChart2.js.map +1 -0
  41. package/dist/components/Donut/index.d.ts +1 -0
  42. package/dist/components/Line/index.d.ts +1 -0
  43. package/dist/components/Tooltip.cjs +2 -0
  44. package/dist/components/Tooltip.cjs.map +1 -0
  45. package/dist/components/Tooltip.js +21 -0
  46. package/dist/components/Tooltip.js.map +1 -0
  47. package/dist/components/Tooltip.vue.d.ts +14 -0
  48. package/dist/components/Tooltip2.cjs +2 -0
  49. package/dist/components/Tooltip2.cjs.map +1 -0
  50. package/dist/components/Tooltip2.js +5 -0
  51. package/dist/components/Tooltip2.js.map +1 -0
  52. package/dist/components.d.ts +4 -0
  53. package/dist/index.cjs +2 -0
  54. package/dist/index.cjs.map +1 -0
  55. package/dist/index.d.ts +5 -0
  56. package/dist/index.js +13 -0
  57. package/dist/index.js.map +1 -0
  58. package/package.json +13 -10
  59. package/.vscode/extensions.json +0 -3
  60. package/auto-imports.d.ts +0 -58
  61. package/components.d.ts +0 -46
  62. package/image.png +0 -0
  63. package/index.html +0 -14
  64. package/index.js +0 -2
  65. package/src/components/Area/AreaChart.vue +0 -141
  66. package/src/components/Area/index.ts +0 -1
  67. package/src/components/AreaStacked/AreaStackedChart.vue +0 -51
  68. package/src/components/Bar/BarChart.vue +0 -130
  69. package/src/components/Bar/index.ts +0 -1
  70. package/src/components/Crosshair/Crosshair.vue +0 -46
  71. package/src/components/Crosshair/index.ts +0 -1
  72. package/src/components/Donut/DonutChart.vue +0 -71
  73. package/src/components/Donut/index.ts +0 -1
  74. package/src/components/Line/LineChart.vue +0 -94
  75. package/src/components/Line/index.ts +0 -1
  76. package/src/components/Tooltip.vue +0 -17
  77. package/src/components.ts +0 -6
  78. package/src/index.ts +0 -6
  79. package/src/shims-vue.d.ts +0 -1
  80. package/src-demo/AdminTemplate.vue +0 -5
  81. package/src-demo/App.vue +0 -37
  82. package/src-demo/AreaChartPage.vue +0 -125
  83. package/src-demo/BarChartPage.vue +0 -166
  84. package/src-demo/DashboardTemplate.vue +0 -687
  85. package/src-demo/Homepage.vue +0 -325
  86. package/src-demo/LineChartPage.vue +0 -140
  87. package/src-demo/assets/main.css +0 -34
  88. package/src-demo/components/Progress/Progress.vue +0 -42
  89. package/src-demo/components/Progress/index.ts +0 -1
  90. package/src-demo/components/Status/Status.vue +0 -95
  91. package/src-demo/components/Status/index.ts +0 -1
  92. package/src-demo/components/charts.ts +0 -37
  93. package/src-demo/components/index.ts +0 -49
  94. package/src-demo/data/AreaChartData.ts +0 -294
  95. package/src-demo/data/BarChartData.ts +0 -79
  96. package/src-demo/data/IncomeExpenseData.ts +0 -189
  97. package/src-demo/data/InvestmentData.ts +0 -352
  98. package/src-demo/data/RevenueData.ts +0 -58
  99. package/src-demo/data/VisitorsData.ts +0 -260
  100. package/src-demo/elements/Button.vue +0 -13
  101. package/src-demo/elements/Card.vue +0 -17
  102. package/src-demo/elements/Dropdown.vue +0 -112
  103. package/src-demo/elements/Logo.vue +0 -8
  104. package/src-demo/elements/Table.vue +0 -363
  105. package/src-demo/elements/TopBar.vue +0 -40
  106. package/src-demo/index.ts +0 -58
  107. package/tsconfig.json +0 -11
  108. package/vite.config.ts +0 -63
  109. /package/{public → dist}/vite.svg +0 -0
@@ -1,49 +0,0 @@
1
- // index.ts
2
- import Progress from './Progress/Progress.vue';
3
- import Status from './Status/Status.vue';
4
- import Tooltip from './Tooltip/Tooltip.vue';
5
- import type {
6
- AreaChartType,
7
- AreaStackedChartType,
8
- BarChartType,
9
- DonutChartType,
10
- LineChartType,
11
- PaginationPositionType,
12
-
13
- // Also import the prop types
14
- AreaChartProps,
15
- AreaStackedChartProps,
16
- BarChartProps,
17
- DonutChartProps,
18
- LineChartProps
19
- } from './charts';
20
-
21
- export { Progress, Status, Tooltip };
22
-
23
- // Re-export prop types for easier access
24
- export type {
25
- AreaChartProps,
26
- AreaStackedChartProps,
27
- BarChartProps,
28
- DonutChartProps,
29
- LineChartProps
30
- };
31
-
32
- // Define the return type of loadCharts
33
- export interface ChartModules {
34
- AreaChart: AreaChartType;
35
- AreaStackedChart: AreaStackedChartType;
36
- BarChart: BarChartType;
37
- DonutChart: DonutChartType;
38
- LineChart: LineChartType;
39
- PaginationPosition: PaginationPositionType;
40
- }
41
-
42
- export const loadCharts = (): Promise<ChartModules> => {
43
- if ((import.meta as any).client || typeof window !== 'undefined') {
44
- return import('./charts').then((module) => {
45
- return module;
46
- });
47
- }
48
- return Promise.resolve({} as ChartModules);
49
- };
@@ -1,294 +0,0 @@
1
- import type { BulletLegendItemInterface } from '@unovis/ts'
2
-
3
- /* Demo data for homepage */
4
- export const categories1: Record<string, BulletLegendItemInterface> = {
5
- desktop: { name: 'Desktop', color: '#38bdf8' },
6
- mobile: { name: 'Mobile', color: '#00dc82' }
7
- }
8
-
9
- export const categories2: Record<string, BulletLegendItemInterface> = {
10
- temperature: { name: 'Temperature', color: '#00dc82' }
11
- }
12
-
13
- export const categories3: Record<string, BulletLegendItemInterface> = {
14
- desktop: { name: 'Desktop', color: '#156F36' },
15
- mobile: { name: 'Mobile', color: '#4ade80' }
16
- }
17
-
18
- export const categories4: Record<string, BulletLegendItemInterface> = {
19
- firstTime: { name: 'First time', color: '#156F36' },
20
- returning: { name: 'Returning', color: '#156F3640' }
21
- }
22
-
23
- export const categories5: Record<string, BulletLegendItemInterface> = {
24
- desktop: { name: 'Desktop', color: '#4ade80' }
25
- }
26
-
27
- export interface AreaChartItem1 {
28
- date: string
29
- desktop: number
30
- mobile: number
31
- }
32
-
33
- export const AreaChartData1: AreaChartItem1[] = [
34
- { date: '2024-04-01', desktop: 222, mobile: 150 },
35
- { date: '2024-04-02', desktop: 180, mobile: 97 },
36
- { date: '2024-04-03', desktop: 167, mobile: 120 },
37
- { date: '2024-04-04', desktop: 260, mobile: 240 },
38
- { date: '2024-04-05', desktop: 373, mobile: 290 },
39
- // { date: '2024-04-06', desktop: 340, mobile: 310 },
40
- // { date: '2024-04-07', desktop: 245, mobile: 180 },
41
- // { date: '2024-04-08', desktop: 409, mobile: 320 },
42
- // { date: '2024-04-09', desktop: 110, mobile: 59 },
43
- // { date: '2024-04-10', desktop: 261, mobile: 190 },
44
- // { date: '2024-04-11', desktop: 350, mobile: 327 },
45
- // { date: '2024-04-12', desktop: 292, mobile: 210 },
46
- // { date: '2024-04-13', desktop: 380, mobile: 342 },
47
- // { date: '2024-04-14', desktop: 220, mobile: 137 },
48
- // { date: '2024-04-15', desktop: 170, mobile: 120 },
49
- // { date: '2024-04-16', desktop: 190, mobile: 138 },
50
- // { date: '2024-04-17', desktop: 446, mobile: 360 },
51
- // { date: '2024-04-18', desktop: 410, mobile: 364 },
52
- // { date: '2024-04-19', desktop: 243, mobile: 180 },
53
- // { date: '2024-04-20', desktop: 150, mobile: 89 },
54
- // { date: '2024-04-21', desktop: 200, mobile: 137 },
55
- // { date: '2024-04-22', desktop: 224, mobile: 170 },
56
- // { date: '2024-04-23', desktop: 230, mobile: 138 },
57
- // { date: '2024-04-24', desktop: 387, mobile: 290 },
58
- // { date: '2024-04-25', desktop: 250, mobile: 215 },
59
- // { date: '2024-04-26', desktop: 130, mobile: 75 },
60
- // { date: '2024-04-27', desktop: 420, mobile: 383 },
61
- // { date: '2024-04-28', desktop: 180, mobile: 122 },
62
- // { date: '2024-04-29', desktop: 315, mobile: 240 },
63
- // { date: '2024-04-30', desktop: 454, mobile: 380 },
64
- // { date: '2024-05-01', desktop: 220, mobile: 165 },
65
- // { date: '2024-05-02', desktop: 310, mobile: 293 },
66
- // { date: '2024-05-03', desktop: 247, mobile: 190 },
67
- // { date: '2024-05-04', desktop: 420, mobile: 385 },
68
- // { date: '2024-05-05', desktop: 481, mobile: 390 },
69
- // { date: '2024-05-06', desktop: 520, mobile: 489 },
70
- // { date: '2024-05-07', desktop: 388, mobile: 300 },
71
- // { date: '2024-05-08', desktop: 210, mobile: 149 },
72
- // { date: '2024-05-09', desktop: 227, mobile: 180 },
73
- // { date: '2024-05-10', desktop: 330, mobile: 293 },
74
- // { date: '2024-05-11', desktop: 335, mobile: 270 },
75
- // { date: '2024-05-12', desktop: 240, mobile: 197 },
76
- // { date: '2024-05-13', desktop: 197, mobile: 160 },
77
- // { date: '2024-05-14', desktop: 490, mobile: 448 },
78
- // { date: '2024-05-15', desktop: 473, mobile: 473 },
79
- // { date: '2024-06-01', desktop: 222, mobile: 150 },
80
- // { date: '2024-06-02', desktop: 180, mobile: 97 },
81
- // { date: '2024-06-03', desktop: 167, mobile: 120 },
82
- // { date: '2024-06-04', desktop: 260, mobile: 240 },
83
- // { date: '2024-06-05', desktop: 373, mobile: 290 },
84
- // { date: '2024-06-06', desktop: 340, mobile: 310 },
85
- // { date: '2024-06-07', desktop: 245, mobile: 180 },
86
- // { date: '2024-06-08', desktop: 409, mobile: 320 },
87
- // { date: '2024-06-09', desktop: 110, mobile: 59 },
88
- // { date: '2024-06-10', desktop: 261, mobile: 190 },
89
- // { date: '2024-06-11', desktop: 350, mobile: 327 },
90
- // { date: '2024-06-12', desktop: 292, mobile: 210 },
91
- // { date: '2024-06-13', desktop: 380, mobile: 342 },
92
- // { date: '2024-06-14', desktop: 220, mobile: 137 },
93
- // { date: '2024-06-15', desktop: 170, mobile: 120 },
94
- // { date: '2024-06-16', desktop: 190, mobile: 138 },
95
- // { date: '2024-06-17', desktop: 446, mobile: 360 },
96
- // { date: '2024-06-18', desktop: 410, mobile: 364 },
97
- // { date: '2024-06-19', desktop: 243, mobile: 180 },
98
- // { date: '2024-06-20', desktop: 150, mobile: 89 },
99
- // { date: '2024-06-21', desktop: 200, mobile: 137 },
100
- // { date: '2024-06-22', desktop: 224, mobile: 170 },
101
- // { date: '2024-06-23', desktop: 230, mobile: 138 },
102
- // { date: '2024-06-24', desktop: 387, mobile: 290 },
103
- // { date: '2024-06-25', desktop: 250, mobile: 215 },
104
- // { date: '2024-06-26', desktop: 130, mobile: 75 },
105
- // { date: '2024-06-27', desktop: 420, mobile: 383 },
106
- // { date: '2024-06-28', desktop: 180, mobile: 122 },
107
- // { date: '2024-06-29', desktop: 315, mobile: 240 },
108
- // { date: '2024-06-30', desktop: 454, mobile: 380 },
109
- // { date: '2024-07-01', desktop: 220, mobile: 165 },
110
- // { date: '2024-07-02', desktop: 310, mobile: 293 },
111
- // { date: '2024-07-03', desktop: 247, mobile: 190 },
112
- // { date: '2024-07-04', desktop: 420, mobile: 385 },
113
- // { date: '2024-07-05', desktop: 481, mobile: 390 },
114
- // { date: '2024-07-06', desktop: 520, mobile: 489 },
115
- // { date: '2024-07-07', desktop: 388, mobile: 300 },
116
- // { date: '2024-07-08', desktop: 210, mobile: 149 },
117
- // { date: '2024-07-09', desktop: 227, mobile: 180 },
118
- // { date: '2024-07-10', desktop: 330, mobile: 293 },
119
- // { date: '2024-07-11', desktop: 335, mobile: 270 },
120
- // { date: '2024-07-12', desktop: 240, mobile: 197 },
121
- // { date: '2024-07-13', desktop: 197, mobile: 160 },
122
- // { date: '2024-07-14', desktop: 490, mobile: 448 },
123
- // { date: '2024-07-15', desktop: 473, mobile: 473 }
124
- ]
125
-
126
- export interface AreaChartItem2 {
127
- hour: string
128
- temperature: number
129
- }
130
-
131
- export const AreaChartData2: AreaChartItem2[] = [
132
- { hour: '00:00', temperature: 12.8 },
133
- { hour: '01:00', temperature: 12.4 },
134
- { hour: '02:00', temperature: 12.2 },
135
- { hour: '03:00', temperature: 8.9 },
136
- { hour: '04:00', temperature: 8.7 },
137
- { hour: '05:00', temperature: 8.3 },
138
- { hour: '06:00', temperature: 8.3 },
139
- { hour: '07:00', temperature: 8.3 },
140
- { hour: '08:00', temperature: 10.5 },
141
- { hour: '09:00', temperature: 12.0 },
142
- { hour: '10:00', temperature: 13.0 },
143
- { hour: '11:00', temperature: 14.2 },
144
- { hour: '12:00', temperature: 15.5 },
145
- { hour: '13:00', temperature: 16.8 },
146
- { hour: '14:00', temperature: 17.5 },
147
- { hour: '15:00', temperature: 18.1 },
148
- { hour: '16:00', temperature: 18.2 },
149
- { hour: '17:00', temperature: 17.8 },
150
- { hour: '18:00', temperature: 17.2 },
151
- { hour: '19:00', temperature: 16.5 },
152
- { hour: '20:00', temperature: 15.8 },
153
- { hour: '21:00', temperature: 14.9 },
154
- { hour: '22:00', temperature: 14.2 },
155
- { hour: '23:00', temperature: 13.5 }
156
- ]
157
-
158
- export const AreaChartData3 = [
159
- {
160
- time: '00:00',
161
- returning: 0,
162
- firstTime: 0
163
- },
164
- {
165
- time: '01:00',
166
- returning: 400,
167
- firstTime: 600
168
- },
169
- {
170
- time: '02:00',
171
- returning: 300,
172
- firstTime: 300
173
- },
174
- {
175
- time: '03:00',
176
- returning: 300,
177
- firstTime: 300
178
- },
179
- {
180
- time: '04:00',
181
- returning: 200,
182
- firstTime: 300
183
- },
184
- {
185
- time: '05:00',
186
- returning: 111,
187
- firstTime: 222
188
- },
189
- {
190
- time: '06:00',
191
- returning: 125,
192
- firstTime: 125
193
- },
194
- {
195
- time: '07:00',
196
- returning: 0,
197
- firstTime: 0
198
- },
199
- {
200
- time: '08:00',
201
- returning: 300,
202
- firstTime: 250
203
- },
204
- {
205
- time: '09:00',
206
- returning: 0,
207
- firstTime: 0
208
- },
209
- {
210
- time: '10:00',
211
- returning: 250,
212
- firstTime: 350
213
- },
214
- {
215
- time: '11:00',
216
- returning: 125,
217
- firstTime: 175
218
- },
219
- {
220
- time: '12:00',
221
- returning: 0,
222
- firstTime: 0
223
- },
224
-
225
- {
226
- time: '13:00',
227
- returning: 0,
228
- firstTime: 0
229
- },
230
- {
231
- time: '14:00',
232
- returning: 0,
233
- firstTime: 0
234
- },
235
- {
236
- time: '15:00',
237
- returning: 0,
238
- firstTime: 0
239
- },
240
- {
241
- time: '16:00',
242
- returning: 0,
243
- firstTime: 0
244
- },
245
- {
246
- time: '17:00',
247
- returning: 0,
248
- firstTime: 0
249
- },
250
- {
251
- time: '18:00',
252
- returning: 50,
253
- firstTime: 50
254
- },
255
- {
256
- time: '19:00',
257
- returning: 50,
258
- firstTime: 50
259
- },
260
- {
261
- time: '20:00',
262
- returning: 50,
263
- firstTime: 50
264
- },
265
- {
266
- time: '21:00',
267
- returning: 0,
268
- firstTime: 0
269
- },
270
- {
271
- time: '22:00',
272
- returning: 0,
273
- firstTime: 0
274
- },
275
- {
276
- time: '23:00',
277
- returning: 0,
278
- firstTime: 0
279
- },
280
- {
281
- time: '00:00',
282
- returning: 0,
283
- firstTime: 0
284
- }
285
- ]
286
-
287
- export const AreaChartData4 = [
288
- { month: "January", desktop: 186 },
289
- { month: "February", desktop: 305 },
290
- { month: "March", desktop: 237 },
291
- { month: "April", desktop: 73 },
292
- { month: "May", desktop: 209 },
293
- { month: "June", desktop: 214 },
294
- ]
@@ -1,79 +0,0 @@
1
- export interface ElectionDatum {
2
- year: number
3
- democrat: number
4
- republican: number
5
- other: number
6
- }
7
-
8
- export function capitalize(s: string): string {
9
- return s.charAt(0).toUpperCase() + s.slice(1)
10
- }
11
-
12
- export const BarChartData: ElectionDatum[] = [
13
- {
14
- year: 1980,
15
- republican: 43642639,
16
- democrat: 35480948,
17
- other: 6505863,
18
- },
19
- {
20
- year: 1984,
21
- republican: 54166829,
22
- democrat: 37449813,
23
- other: 811015,
24
- },
25
- {
26
- year: 1988,
27
- republican: 48642640,
28
- democrat: 41716679,
29
- other: 817798,
30
- },
31
- {
32
- year: 1992,
33
- republican: 38798913,
34
- democrat: 44856747,
35
- other: 20663272,
36
- },
37
- {
38
- year: 1996,
39
- republican: 39003697,
40
- democrat: 47295351,
41
- other: 9625419,
42
- },
43
- {
44
- year: 2000,
45
- republican: 50311372,
46
- democrat: 50830580,
47
- other: 4071625,
48
- },
49
- {
50
- year: 2004,
51
- republican: 61872711,
52
- democrat: 58894561,
53
- other: 1212870,
54
- },
55
- {
56
- year: 2008,
57
- republican: 59613835,
58
- democrat: 69338846,
59
- other: 1956116,
60
- },
61
- {
62
- year: 2012,
63
- republican: 60670117,
64
- democrat: 65752017,
65
- other: 1501463,
66
- },
67
- {
68
- year: 2016,
69
- republican: 62692670,
70
- democrat: 65677288,
71
- other: 4292059,
72
- },
73
- {
74
- year: 2020,
75
- democrat: 81268908,
76
- republican: 74216146,
77
- other: 1246094,
78
- },
79
- ]
@@ -1,189 +0,0 @@
1
- import type { BulletLegendItemInterface } from "@unovis/ts"
2
-
3
- export interface IncomeExpenseItem {
4
- month: string
5
- year: number
6
- income: {
7
- salary: number
8
- sideHustle: number
9
- total: number
10
- }
11
- expenses: {
12
- rent: number
13
- groceries: number
14
- utilities: number
15
- transportation: number
16
- entertainment: number
17
- eatingOut: number
18
- other: number
19
- total: number
20
- }
21
- }
22
-
23
-
24
- export const categories: Record<string, BulletLegendItemInterface> = {
25
- income: { name: 'Income', color: '#10b981' },
26
- expenses: { name: 'Expenses', color: '#3b82f6' }
27
- }
28
-
29
- export const IncomeExpenseData: IncomeExpenseItem[] = [
30
- {
31
- month: 'January',
32
- year: 2024,
33
- income: {
34
- salary: 2000,
35
- sideHustle: 200,
36
- total: 2200
37
- },
38
- expenses: {
39
- rent: 1500,
40
- groceries: 400,
41
- utilities: 200,
42
- transportation: 150,
43
- entertainment: 300,
44
- eatingOut: 250,
45
- other: 100,
46
- total: 2900
47
- }
48
-
49
- },
50
- {
51
- month: 'February',
52
- year: 2024,
53
- income: {
54
- salary: 4000,
55
- sideHustle: 100,
56
- total: 4100
57
- },
58
- expenses: {
59
- rent: 1500,
60
- groceries: 450,
61
- utilities: 250,
62
- transportation: 150,
63
- entertainment: 200,
64
- eatingOut: 300,
65
- other: 150,
66
- total: 3000
67
- }
68
-
69
- },
70
- {
71
- month: 'March',
72
- year: 2024,
73
- income: {
74
- salary: 2000,
75
- sideHustle: 100,
76
- total: 2100
77
- },
78
- expenses: {
79
- rent: 1500,
80
- groceries: 420,
81
- utilities: 220,
82
- transportation: 180,
83
- entertainment: 350,
84
- eatingOut: 200,
85
- other: 120,
86
- total: 2990
87
- }
88
- },
89
- {
90
- month: 'April',
91
- year: 2024,
92
- income: {
93
- salary: 2300,
94
- sideHustle: 100,
95
- total: 2400
96
- },
97
- expenses: {
98
- rent: 1500,
99
- groceries: 450,
100
- utilities: 250,
101
- transportation: 150,
102
- entertainment: 200,
103
- eatingOut: 300,
104
- other: 150,
105
- total: 1400
106
- }
107
-
108
- },
109
- {
110
- month: 'May',
111
- year: 2024,
112
- income: {
113
- salary: 4000,
114
- sideHustle: 100,
115
- total: 4100
116
- },
117
- expenses: {
118
- rent: 1500,
119
- groceries: 450,
120
- utilities: 250,
121
- transportation: 150,
122
- entertainment: 200,
123
- eatingOut: 300,
124
- other: 150,
125
- total: 3000
126
- }
127
-
128
- },
129
- {
130
- month: 'Jun',
131
- year: 2024,
132
- income: {
133
- salary: 3000,
134
- sideHustle: 100,
135
- total: 3100
136
- },
137
- expenses: {
138
- rent: 1500,
139
- groceries: 450,
140
- utilities: 250,
141
- transportation: 150,
142
- entertainment: 200,
143
- eatingOut: 300,
144
- other: 150,
145
- total: 3000
146
- }
147
-
148
- },
149
- {
150
- month: 'Jul',
151
- year: 2024,
152
- income: {
153
- salary: 3200,
154
- sideHustle: 600,
155
- total: 3800
156
- },
157
- expenses: {
158
- rent: 1500,
159
- groceries: 450,
160
- utilities: 250,
161
- transportation: 150,
162
- entertainment: 200,
163
- eatingOut: 300,
164
- other: 150,
165
- total: 3000
166
- }
167
-
168
- },
169
- {
170
- month: 'Aug',
171
- year: 2024,
172
- income: {
173
- salary: 3000,
174
- sideHustle: 100,
175
- total: 3100
176
- },
177
- expenses: {
178
- rent: 1500,
179
- groceries: 450,
180
- utilities: 250,
181
- transportation: 150,
182
- entertainment: 200,
183
- eatingOut: 300,
184
- other: 150,
185
- total: 2000
186
- }
187
-
188
- }
189
- ]