edvoyui-component-library-test-flight 0.0.92 → 0.0.94

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.
@@ -0,0 +1,108 @@
1
+ <!-- <template>
2
+ <div class="max-w-screen-xl mx-auto">
3
+ <pre class="text-[0.5rem] p-2 border border-gray-300 rounded-lg max-h-72 overflow-y-auto">{{ selectedRows.map(x => x?._id)}}</pre>
4
+ <GrowthTable
5
+ checkable
6
+ paginated
7
+ :checked-rows.sync="checkedRows"
8
+ backend-pagination
9
+ :per-page="limit"
10
+ :headers="growthTableHeaders"
11
+ :items="growthTableData"
12
+ :footers="growthTableFooter"
13
+ :total="totalCount"
14
+ :default-sort-direction="defaultSortOrder"
15
+ default-sort="introducer_details"
16
+ :current-page="offset"
17
+ @sort="onSort"
18
+ @mouseenter="select"
19
+ @mouseleave="(selectedIndex = null), (selected = null)"
20
+ >
21
+
22
+ <template #[`item.active_allagents`]="{ row, rowIndex }">
23
+ <div class="flex flex-row items-center gap-4 justify-between bg-violet-50 pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
24
+ <span v-for="(data, idx) in row?.active_allagents" :key="`year_${idx}`">{{ data.value || '-' }}</span>
25
+ </div>
26
+ </template>
27
+ <template #[`item.active_active_allagents`]="{ row, rowIndex }">
28
+ <div class="flex flex-row items-center gap-4 justify-between bg-violet-50 pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
29
+ <span v-for="(data, idx) in row?.active_active_allagents" :key="`year_${idx}`">{{ data.value || '-' }}</span>
30
+ </div>
31
+ </template>
32
+ <template #[`item.active_dormant`]="{ row, rowIndex }">
33
+ <div class="flex flex-row items-center gap-4 justify-between bg-violet-50 pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
34
+ <span v-for="(data, idx) in row?.active_dormant" :key="`year_${idx}`">{{ data.value || '-' }}</span>
35
+ </div>
36
+ </template>
37
+ <template #[`item.totalDepositCount`]="{ row, rowIndex }">
38
+ <div class="flex flex-row items-center gap-4 justify-between bg-violet-50 pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
39
+ <span v-for="(data, idx) in row?.totalDepositCount" :key="`year_${idx}`">{{ data.value || '-' }}</span>
40
+ </div>
41
+ </template>
42
+ <template #[`item.totalStudentCount`]="{ row, rowIndex }">
43
+ <div class="flex flex-row items-center gap-4 justify-between bg-violet-50 pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
44
+ <span v-for="(data, idx) in row?.totalStudentCount" :key="`year_${idx}`">{{ data.value || '-' }}</span>
45
+ </div>
46
+ </template>
47
+
48
+ <template #[`footer.active_allagents`]="{ row, rowIndex }">
49
+ <div class="flex flex-row items-center gap-4 justify-between bg-[#FCD34D] pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
50
+ <span v-for="(data, idx) in row?.active_allagents" :key="`year_${idx}`">{{ data.value || '-' }}</span>
51
+ </div>
52
+ </template>
53
+ <template #[`footer.active_active_allagents`]="{ row, rowIndex }">
54
+ <div class="flex flex-row items-center gap-4 justify-between bg-[#FCD34D] pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
55
+ <span v-for="(data, idx) in row?.active_active_allagents" :key="`year_${idx}`">{{ data.value || '-' }}</span>
56
+ </div>
57
+ </template>
58
+ <template #[`footer.active_dormant`]="{ row, rowIndex }">
59
+ <div class="flex flex-row items-center gap-4 justify-between bg-[#FCD34D] pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
60
+ <span v-for="(data, idx) in row?.active_dormant" :key="`year_${idx}`">{{ data.value || '-' }}</span>
61
+ </div>
62
+ </template>
63
+ <template #[`footer.totalDepositCount`]="{ row, rowIndex }">
64
+ <div class="flex flex-row items-center gap-4 justify-between bg-[#FCD34D] pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
65
+ <span v-for="(data, idx) in row?.totalDepositCount" :key="`year_${idx}`">{{ data.value || '-' }}</span>
66
+ </div>
67
+ </template>
68
+ <template #[`footer.totalStudentCount`]="{ row, rowIndex }">
69
+ <div class="flex flex-row items-center gap-4 justify-between bg-[#FCD34D] pl-2 pr-10 rounded-[0.625rem] py-2 h-full">
70
+ <span v-for="(data, idx) in row?.totalStudentCount" :key="`year_${idx}`">{{ data.value || '-' }}</span>
71
+ </div>
72
+ </template>
73
+ </GrowthTable>
74
+ </div>
75
+ </template>
76
+
77
+ <script setup lang="ts">
78
+ import { computed, ref } from "vue";
79
+ import { growthTableData, growthTableFooter, growthTableHeaders } from "../../data/table";
80
+ import GrowthTable from "./GrowthTable.vue";
81
+
82
+ //TODO: Dashboard Table
83
+ const checkedRows = ref([]);
84
+ const defaultSortOrder = ref("asc");
85
+ const limit = ref(5);
86
+ const offset = ref(1);
87
+ const selectedIndex = ref<{ index: string } | null>(null);
88
+ const selected = ref<{ index: string } | null>(null);
89
+
90
+ const select = (_item: any, index: any) => {
91
+ selectedIndex.value = index;
92
+ };
93
+
94
+ const onSort = (field: string, order: string) => {
95
+ const modifier = order === "desc" ? -1 : 1;
96
+ growthTableData.sort((a: any, b: any) => {
97
+ if (a[field] < b[field]) return -1 * modifier;
98
+ if (a[field] > b[field]) return 1 * modifier;
99
+ return 0;
100
+ });
101
+ };
102
+
103
+ const totalCount = computed(() => {
104
+ return growthTableData.length;
105
+ });
106
+ </script>
107
+
108
+ <style scoped></style> -->
@@ -1,28 +1,27 @@
1
1
  <template>
2
2
  <div>
3
- <div
4
- v-if="tabStyle === 'design'"
3
+ <div class="overflow-x-scroll">
4
+ <div
5
+ v-if="tabStyle === 'design'"
5
6
  class="flex flex-row items-center justify-between w-full p-2 bg-gray-100 rounded-xl"
6
7
  >
7
8
  <button
8
- v-for="(tab, tabindex) in tabs"
9
+ v-for="(tab, tabindex) in tabs"
9
10
  :key="tabindex"
10
11
  :id="`id-${tab.name}`"
11
12
  type="button"
12
13
  class="[&:not(:focus-visible)]:focus:outline-none relative w-full inline-flex items-center transition-colors duration-100"
13
14
  role="tab"
14
15
  tabindex="-1"
15
- @click="selectTab(tabindex)"
16
+ @click="selectTab(tabindex)"
16
17
  >
17
18
  <div
18
19
  class="pointer-events-none absolute inset-0 transition-transform duration-200 transform z-[1] ease-in-out"
19
20
  :class="{
20
- 'translate-x-full':
21
- tabindex < activeTabIndex,
22
- '-translate-x-full':
23
- tabindex > activeTabIndex,
21
+ 'translate-x-full': tabindex < activeTabIndex,
22
+ '-translate-x-full': tabindex > activeTabIndex,
24
23
  'translate-x-0 rounded-lg bg-gray-600':
25
- activeTabIndex === tabindex
24
+ activeTabIndex === tabindex,
26
25
  }"
27
26
  />
28
27
  <span
@@ -30,59 +29,69 @@
30
29
  'w-full px-4 py-2 text-sm tracking-wide font-medium capitalize z-10',
31
30
  activeTabIndex == tabindex
32
31
  ? ' text-white'
33
- : ' text-gray-500 hover:text-gray-600 rounded-lg bg-transparent z-0 transition-colors duration-300 ease-in origin-center'
32
+ : ' text-gray-500 hover:text-gray-600 rounded-lg bg-transparent z-0 transition-colors duration-300 ease-in origin-center',
34
33
  ]"
35
34
  >
35
+ <slot name="title" :tab="tab">
36
+ {{ tab?.name }}
37
+ </slot>
38
+ </span>
39
+ </button>
40
+ </div>
41
+ <div
42
+ v-else-if="tabStyle === 'border'"
43
+ class="flex items-center gap-1 before:bottom-0 before:left-0 before:absolute before:content-[''] before:h-px before:w-full before:bg-gray-200 relative before:-z-[1] z-0 bg-white"
44
+ :class="[
45
+ tabAlign === 'justify'
46
+ ? 'justify-between'
47
+ : tabAlign === 'end'
48
+ ? 'justify-end'
49
+ : 'justify-start',
50
+ ]"
51
+ >
52
+ <button
53
+ v-for="(tab, tabindex) in tabs"
54
+ :key="tabindex"
55
+ role="tab"
56
+ :id="`id-${tab.name}`"
57
+ :class="[
58
+ 'px-3 py-1 leading-5 transition-all duration-150 ease-in-out hover:text-gray-800',
59
+ tabSize === 'sm'
60
+ ? 'text-sm font-semibold border-b-2'
61
+ : 'text-base font-bold border-b-[3px]',
62
+ activeTabIndex === tabindex
63
+ ? 'border-gray-900 text-gray-900'
64
+ : 'border-transparent text-gray-500',
65
+ ]"
66
+ @click="selectTab(tabindex)"
67
+ >
36
68
  <slot name="title" :tab="tab">
37
69
  {{ tab?.name }}
38
70
  </slot>
39
- </span>
40
71
  </button>
41
72
  </div>
42
-
43
- <div
44
- v-else-if="tabStyle === 'border'"
45
- class="flex items-center gap-1 before:bottom-0 before:left-0 before:absolute before:content-[''] before:h-px before:w-full before:bg-gray-200 relative before:-z-[1] z-0 bg-white"
46
- :class="[tabAlign === 'justify' ? 'justify-between' : tabAlign === 'end' ? 'justify-end' : 'justify-start']"
47
- >
48
- <button
49
- v-for="(tab, tabindex) in tabs"
50
- :key="tabindex"
51
- role="tab"
52
- :id="`id-${tab.name}`"
53
- :class="['px-3 py-1 leading-5 transition-all duration-150 ease-in-out hover:text-gray-800',
54
- tabSize === 'sm' ? 'text-sm font-semibold border-b-2' : 'text-base font-bold border-b-[3px]',
55
- activeTabIndex === tabindex
56
- ? 'border-gray-900 text-gray-900'
57
- : 'border-transparent text-gray-500']"
58
- @click="selectTab(tabindex)"
59
- >
60
- <slot name="title" :tab="tab">
61
- {{ tab?.name }}
62
- </slot>
63
- </button>
64
- </div>
65
- <div
66
- v-else
67
- class="flex items-center gap-1 p-2 transition-all duration-100"
68
- >
69
- <button
70
- v-for="(tab, tabindex) in tabs"
71
- :key="tabindex"
72
- role="tab"
73
- :id="`id-${tab.name}`"
74
- class="px-4 py-1 text-sm font-semibold transition-colors duration-150 ease-in-out border rounded-full"
75
- :class="
76
- activeTabIndex === tabindex
77
- ? 'shadow-lg shadow-gray-100 bg-white border-gray-200 focus-within:border-purple-600 text-gray-900'
78
- : 'border-white hover:bg-gray-50 text-gray-700'
79
- "
80
- @click="selectTab(tabindex)"
73
+ <div
74
+ v-else
75
+ class="flex items-center gap-1 p-2 transition-all duration-100"
81
76
  >
82
- <slot name="title" :tab="tab">
83
- {{ tab?.name }}
84
- </slot>
85
- </button>
77
+ <button
78
+ v-for="(tab, tabindex) in tabs"
79
+ :key="tabindex"
80
+ role="tab"
81
+ :id="`id-${tab.name}`"
82
+ class="px-4 py-1 text-sm font-semibold transition-colors duration-150 ease-in-out border rounded-full"
83
+ :class="
84
+ activeTabIndex === tabindex
85
+ ? 'shadow-lg shadow-gray-100 bg-white border-gray-200 focus-within:border-purple-600 text-gray-900'
86
+ : 'border-white hover:bg-gray-50 text-gray-700'
87
+ "
88
+ @click="selectTab(tabindex)"
89
+ >
90
+ <slot name="title" :tab="tab">
91
+ {{ tab?.name }}
92
+ </slot>
93
+ </button>
94
+ </div>
86
95
  </div>
87
96
  <div :class="['py-2 text-base font-normal text-gray-700', contentClass]">
88
97
  <slot name="content" :active-tab="tabs[activeTabIndex]">
@@ -103,10 +112,10 @@ interface Tab {
103
112
  const props = defineProps<{
104
113
  tabs: Tab[];
105
114
  defaultActiveIndex?: number;
106
- tabStyle: "rounded" | "border" | 'design' ,
107
- contentClass?: string[] | string,
108
- tabSize?: "sm" | "md",
109
- tabAlign?: 'start' | 'justify' | 'end'
115
+ tabStyle: "rounded" | "border" | "design";
116
+ contentClass?: string[] | string;
117
+ tabSize?: "sm" | "md";
118
+ tabAlign?: "start" | "justify" | "end";
110
119
  }>();
111
120
 
112
121
  const emit = defineEmits<{
@@ -124,7 +133,6 @@ watch(
124
133
  () => props.defaultActiveIndex,
125
134
  (newIndex) => {
126
135
  activeTabIndex.value = newIndex ?? 0;
127
-
128
136
  }
129
137
  );
130
138
  </script>
package/src/data/table.ts CHANGED
@@ -5390,3 +5390,259 @@ export const studentData = [
5390
5390
  },
5391
5391
  },
5392
5392
  ];
5393
+
5394
+ export const growthTableHeaders = [
5395
+ {
5396
+ value: "teamName",
5397
+ text: "Team",
5398
+ width: 200,
5399
+ sortable: true,
5400
+ },
5401
+ {
5402
+ value: "totalIntroducerCount",
5403
+ text: "Total agent",
5404
+ width: 180,
5405
+ sortable: true,
5406
+ },
5407
+ {
5408
+ value: "active_allagents",
5409
+ text: "Active agent",
5410
+ width: 320,
5411
+ sortable: true,
5412
+ activeYear: [2020, 2021, 2022, 2023, 2024, 2025],
5413
+ },
5414
+ {
5415
+ value: "active_active_allagents",
5416
+ text: "Active - Active agent",
5417
+ width: 320,
5418
+ sortable: true,
5419
+ activeYear: [2020, 2021, 2022, 2023, 2024, 2025],
5420
+ },
5421
+ {
5422
+ value: "active_dormant",
5423
+ text: "Active - Dormant",
5424
+ width: 320,
5425
+ sortable: true,
5426
+ activeYear: [2020, 2021, 2022, 2023, 2024, 2025],
5427
+ },
5428
+ {
5429
+ value: "totalDepositCount",
5430
+ text: "Deposits",
5431
+ width: 320,
5432
+ sortable: true,
5433
+ activeYear: [2020, 2021, 2022, 2023, 2024, 2025],
5434
+ },
5435
+ {
5436
+ value: "totalStudentCount",
5437
+ text: "Enrolments",
5438
+ width: 320,
5439
+ sortable: true,
5440
+ activeYear: [2020, 2021, 2022, 2023, 2024, 2025],
5441
+ },
5442
+ {
5443
+ value: "agebtsTotalStudent",
5444
+ text: "Agents with students",
5445
+ width: 100,
5446
+ },
5447
+ {
5448
+ value: "agebtsTotalStudentPercentage",
5449
+ text: "Agents with students (%)",
5450
+ width: 100,
5451
+ },
5452
+ {
5453
+ value: "agentsTotalDepositCount",
5454
+ text: "Agents with deposit",
5455
+ width: 100,
5456
+ },
5457
+ {
5458
+ value: "agentsTotalDepositPercentage",
5459
+ text: "Agents with deposit (%)",
5460
+ width: 100,
5461
+ },
5462
+ ];
5463
+
5464
+ export const growthTableData = [
5465
+ {
5466
+ _id: "63f832d7a7df90013cdf4b6e",
5467
+ teamName: "Hyderabad B2C",
5468
+ totalIntroducerCount: 200,
5469
+ active: 30,
5470
+ dormant: 10,
5471
+ active_allagents: generateYearlyData(),
5472
+ active_active_allagents: generateYearlyData(),
5473
+ active_dormant: generateYearlyData(),
5474
+ totalDepositCount: generateYearlyData(),
5475
+ totalStudentCount: generateYearlyData(),
5476
+ agebtsTotalStudent: 70,
5477
+ agebtsTotalStudentPercentage: 70,
5478
+ agentsTotalDepositCount: 200,
5479
+ agentsTotalDepositPercentage: 20,
5480
+ },
5481
+ {
5482
+ _id: "63f832d7a7df90013cdf4b6f",
5483
+ teamName: "Mumbai B2B",
5484
+ totalIntroducerCount: 150,
5485
+ active: 40,
5486
+ dormant: 15,
5487
+ active_allagents: generateYearlyData(),
5488
+ active_active_allagents: generateYearlyData(),
5489
+ active_dormant: generateYearlyData(),
5490
+ totalDepositCount: generateYearlyData(),
5491
+ totalStudentCount: generateYearlyData(),
5492
+ agebtsTotalStudent: 60,
5493
+ agebtsTotalStudentPercentage: 60,
5494
+ agentsTotalDepositCount: 180,
5495
+ agentsTotalDepositPercentage: 25,
5496
+ },
5497
+ {
5498
+ _id: "63f832d7a7df90013cdf4b70",
5499
+ teamName: "Delhi B2C",
5500
+ totalIntroducerCount: 180,
5501
+ active: 35,
5502
+ dormant: 12,
5503
+ active_allagents: generateYearlyData(),
5504
+ active_active_allagents: generateYearlyData(),
5505
+ active_dormant: generateYearlyData(),
5506
+ totalDepositCount: generateYearlyData(),
5507
+ totalStudentCount: generateYearlyData(),
5508
+ agebtsTotalStudent: 75,
5509
+ agebtsTotalStudentPercentage: 75,
5510
+ agentsTotalDepositCount: 190,
5511
+ agentsTotalDepositPercentage: 22,
5512
+ },
5513
+ {
5514
+ _id: "63f832d7a7df90013cdf4b71",
5515
+ teamName: "Bangalore B2C",
5516
+ totalIntroducerCount: 220,
5517
+ active: 50,
5518
+ dormant: 18,
5519
+ active_allagents: generateYearlyData(),
5520
+ active_active_allagents: generateYearlyData(),
5521
+ active_dormant: generateYearlyData(),
5522
+ totalDepositCount: generateYearlyData(),
5523
+ totalStudentCount: generateYearlyData(),
5524
+ agebtsTotalStudent: 80,
5525
+ agebtsTotalStudentPercentage: 80,
5526
+ agentsTotalDepositCount: 210,
5527
+ agentsTotalDepositPercentage: 30,
5528
+ },
5529
+ {
5530
+ _id: "63f832d7a7df90013cdf4b72",
5531
+ teamName: "Chennai B2C",
5532
+ totalIntroducerCount: 170,
5533
+ active: 32,
5534
+ dormant: 14,
5535
+ active_allagents: generateYearlyData(),
5536
+ active_active_allagents: generateYearlyData(),
5537
+ active_dormant: generateYearlyData(),
5538
+ totalDepositCount: generateYearlyData(),
5539
+ totalStudentCount: generateYearlyData(),
5540
+ agebtsTotalStudent: 65,
5541
+ agebtsTotalStudentPercentage: 65,
5542
+ agentsTotalDepositCount: 175,
5543
+ agentsTotalDepositPercentage: 28,
5544
+ },
5545
+ {
5546
+ _id: "63f832d7a7df90013cdf4b73",
5547
+ teamName: "Pune B2C",
5548
+ totalIntroducerCount: 140,
5549
+ active: 28,
5550
+ dormant: 10,
5551
+ active_allagents: generateYearlyData(),
5552
+ active_active_allagents: generateYearlyData(),
5553
+ active_dormant: generateYearlyData(),
5554
+ totalDepositCount: generateYearlyData(),
5555
+ totalStudentCount: generateYearlyData(),
5556
+ agebtsTotalStudent: 55,
5557
+ agebtsTotalStudentPercentage: 55,
5558
+ agentsTotalDepositCount: 160,
5559
+ agentsTotalDepositPercentage: 26,
5560
+ },
5561
+ {
5562
+ _id: "63f832d7a7df90013cdf4b74",
5563
+ teamName: "Kolkata B2B",
5564
+ totalIntroducerCount: 160,
5565
+ active: 38,
5566
+ dormant: 13,
5567
+ active_allagents: generateYearlyData(),
5568
+ active_active_allagents: generateYearlyData(),
5569
+ active_dormant: generateYearlyData(),
5570
+ totalDepositCount: generateYearlyData(),
5571
+ totalStudentCount: generateYearlyData(),
5572
+ agebtsTotalStudent: 68,
5573
+ agebtsTotalStudentPercentage: 68,
5574
+ agentsTotalDepositCount: 170,
5575
+ agentsTotalDepositPercentage: 24,
5576
+ },
5577
+ {
5578
+ _id: "63f832d7a7df90013cdf4b75",
5579
+ teamName: "Ahmedabad B2C",
5580
+ totalIntroducerCount: 130,
5581
+ active: 25,
5582
+ dormant: 8,
5583
+ active_allagents: generateYearlyData(),
5584
+ active_active_allagents: generateYearlyData(),
5585
+ active_dormant: generateYearlyData(),
5586
+ totalDepositCount: generateYearlyData(),
5587
+ totalStudentCount: generateYearlyData(),
5588
+ agebtsTotalStudent: 50,
5589
+ agebtsTotalStudentPercentage: 50,
5590
+ agentsTotalDepositCount: 140,
5591
+ agentsTotalDepositPercentage: 22,
5592
+ },
5593
+ {
5594
+ _id: "63f832d7a7df90013cdf4b76",
5595
+ teamName: "Jaipur B2B",
5596
+ totalIntroducerCount: 120,
5597
+ active: 22,
5598
+ dormant: 7,
5599
+ active_allagents: generateYearlyData(),
5600
+ active_active_allagents: generateYearlyData(),
5601
+ active_dormant: generateYearlyData(),
5602
+ totalDepositCount: generateYearlyData(),
5603
+ totalStudentCount: generateYearlyData(),
5604
+ agebtsTotalStudent: 45,
5605
+ agebtsTotalStudentPercentage: 45,
5606
+ agentsTotalDepositCount: 130,
5607
+ agentsTotalDepositPercentage: 21,
5608
+ },
5609
+ {
5610
+ _id: "63f832d7a7df90013cdf4b77",
5611
+ teamName: "Lucknow B2C",
5612
+ totalIntroducerCount: 110,
5613
+ active: 20,
5614
+ dormant: 5,
5615
+ active_allagents: generateYearlyData(),
5616
+ active_active_allagents: generateYearlyData(),
5617
+ active_dormant: generateYearlyData(),
5618
+ totalDepositCount: generateYearlyData(),
5619
+ totalStudentCount: generateYearlyData(),
5620
+ agebtsTotalStudent: 40,
5621
+ agebtsTotalStudentPercentage: 40,
5622
+ agentsTotalDepositCount: 120,
5623
+ agentsTotalDepositPercentage: 18,
5624
+ },
5625
+ ];
5626
+
5627
+ function generateYearlyData() {
5628
+ return ["2020", "2021", "2022", "2023", "2024", "2025"].map((year) => ({
5629
+ year,
5630
+ value: Math.floor(Math.random() * 80) + 10, // Generates random values between 10 and 80
5631
+ }));
5632
+ }
5633
+
5634
+ export const growthTableFooter = [
5635
+ {
5636
+ teamName: "Consolidated",
5637
+ totalIntroducerCount: 2000,
5638
+ active_allagents: generateYearlyData(),
5639
+ active_active_allagents: generateYearlyData(),
5640
+ active_dormant: generateYearlyData(),
5641
+ totalDepositCount: generateYearlyData(),
5642
+ totalStudentCount: generateYearlyData(),
5643
+ agebtsTotalStudent: 40,
5644
+ agebtsTotalStudentPercentage: 40,
5645
+ agentsTotalDepositCount: 120,
5646
+ agentsTotalDepositPercentage: 18,
5647
+ },
5648
+ ];