edvoyui-component-library-test-flight 0.0.22 → 0.0.24

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 (125) hide show
  1. package/dist/EUIButton.vue.d.ts.map +1 -0
  2. package/dist/inputNormal/EUIInputNormal.vue.d.ts.map +1 -0
  3. package/dist/library-vue-ts.cjs.js +1 -0
  4. package/dist/library-vue-ts.es.js +1 -0
  5. package/dist/library-vue-ts.umd.js +1 -0
  6. package/package.json +16 -13
  7. package/src/App.vue +16 -0
  8. package/src/assets/fonts/gilroy/GilroyBold/font.woff +0 -0
  9. package/src/assets/fonts/gilroy/GilroyBold/font.woff2 +0 -0
  10. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff +0 -0
  11. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff2 +0 -0
  12. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff +0 -0
  13. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff2 +0 -0
  14. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff +0 -0
  15. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff2 +0 -0
  16. package/src/assets/fonts/gilroy/GilroyMedium/font.woff +0 -0
  17. package/src/assets/fonts/gilroy/GilroyMedium/font.woff2 +0 -0
  18. package/src/assets/fonts/gilroy/GilroyRegular/font.woff +0 -0
  19. package/src/assets/fonts/gilroy/GilroyRegular/font.woff2 +0 -0
  20. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff +0 -0
  21. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff2 +0 -0
  22. package/src/assets/fonts/inter/Inter-Bold.woff +0 -0
  23. package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  24. package/src/assets/fonts/inter/Inter-Italic.woff +0 -0
  25. package/src/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  26. package/src/assets/fonts/inter/Inter-Medium.woff +0 -0
  27. package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  28. package/src/assets/fonts/inter/Inter-MediumItalic.woff +0 -0
  29. package/src/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  30. package/src/assets/fonts/inter/Inter-Regular.woff +0 -0
  31. package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  32. package/src/assets/fonts/inter/Inter-SemiBold.woff +0 -0
  33. package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  34. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff +0 -0
  35. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  36. package/src/assets/scss/body.scss +15 -0
  37. package/src/assets/svg/ChevronDownSolid.vue +19 -0
  38. package/src/assets/svg/ChevronDownStroke.vue +22 -0
  39. package/src/assets/svg/SortArrow.vue +24 -0
  40. package/src/assets/svg/Student.vue +30 -0
  41. package/src/assets/svg/partner.vue +33 -0
  42. package/src/assets/svg/people.vue +25 -0
  43. package/src/assets/vue.svg +1 -0
  44. package/src/components/HelloWorld.vue +999 -0
  45. package/src/components/accordion/EUIAccordion.stories.ts +157 -0
  46. package/src/components/accordion/EUIAccordion.vue +90 -0
  47. package/src/components/avatar/EUIAvatar.stories.ts +157 -0
  48. package/src/components/avatar/EUIAvatar.vue +96 -0
  49. package/src/components/button/EUIButton.stories.ts +252 -0
  50. package/src/components/button/EUIButton.vue +151 -0
  51. package/src/components/checkbox/EUICheckbox.stories.ts +58 -0
  52. package/src/components/checkbox/EUICheckbox.vue +103 -0
  53. package/src/components/datepicker/EUIDatepicker.stories.ts +280 -0
  54. package/src/components/datepicker/EUIDatepicker.vue +192 -0
  55. package/src/components/delete.vue +158 -0
  56. package/src/components/dropdown/EUIMultiDropdown.stories.ts +187 -0
  57. package/src/components/dropdown/EUIMultiDropdown.vue +129 -0
  58. package/src/components/errorMessage/EUIErrorMessage.scss +0 -0
  59. package/src/components/errorMessage/EUIErrorMessage.stories.ts +41 -0
  60. package/src/components/errorMessage/EUIErrorMessage.vue +25 -0
  61. package/src/components/index.ts +46 -0
  62. package/src/components/input/EUIInput.stories.ts +174 -0
  63. package/src/components/input/EUIInput.vue +169 -0
  64. package/src/components/inputNormal/EUIInputNormal.stories.ts +164 -0
  65. package/src/components/inputNormal/EUIInputNormal.vue +161 -0
  66. package/src/components/loader/EUICircleLoader.vue +31 -0
  67. package/src/components/loader/EUICubeLoader.vue +237 -0
  68. package/src/components/loader/EUILoader.stories.ts +99 -0
  69. package/src/components/loader/EUILoader.vue +17 -0
  70. package/src/components/loader/EUISquareLoader.vue +47 -0
  71. package/src/components/modal/EUIModal.stories.ts +372 -0
  72. package/src/components/modal/EUIModal.vue +163 -0
  73. package/src/components/pillSelect/EUIPillSelect.stories.ts +74 -0
  74. package/src/components/pillSelect/EUIPillSelect.vue +149 -0
  75. package/src/components/popover/EUIPopover.stories.ts +247 -0
  76. package/src/components/popover/EUIPopover.vue +159 -0
  77. package/src/components/radio/EUIRadio.stories.ts +54 -0
  78. package/src/components/radio/EUIRadio.vue +78 -0
  79. package/src/components/searchInput/EUISearch.stories.ts +24 -0
  80. package/src/components/searchInput/EUISearch.vue +215 -0
  81. package/src/components/select/EUISelect.scss +0 -0
  82. package/src/components/select/EUISelect.stories.ts +49 -0
  83. package/src/components/select/EUISelect.vue +682 -0
  84. package/src/components/selectSearch/EUISelectSearch.vue +23 -0
  85. package/src/components/slideover/EUISlideover.stories.ts +318 -0
  86. package/src/components/slideover/EUISlideover.vue +207 -0
  87. package/src/components/stepperTimeline/EUIStepperHorizontal.vue +112 -0
  88. package/src/components/stepperTimeline/EUIStepperTimeline.stories.ts +54 -0
  89. package/src/components/stepperTimeline/EUIStepperTimeline.vue +16 -0
  90. package/src/components/stepperTimeline/EUIStepperVertical.vue +112 -0
  91. package/src/components/table/EUIDashboardTable.vue +482 -0
  92. package/src/components/table/EUIPageLimit.vue +66 -0
  93. package/src/components/table/EUIPagination.vue +175 -0
  94. package/src/components/table/EUIStudentPagination.vue +172 -0
  95. package/src/components/table/EUITable.stories.ts +190 -0
  96. package/src/components/table/EUITable.vue +508 -0
  97. package/src/components/table/EUITableCheckbox.vue +97 -0
  98. package/src/components/tabs/EUITabs.vue +128 -0
  99. package/src/components/tabs/EUItabs.stories.ts +123 -0
  100. package/src/components/tag/EUITag.stories.ts +46 -0
  101. package/src/components/tag/EUITag.vue +46 -0
  102. package/src/components/telephone/EUITelephone.stories.ts +202 -0
  103. package/src/components/telephone/EUITelephone.vue +280 -0
  104. package/src/components/textArea/EUITextArea.stories.ts +82 -0
  105. package/src/components/textArea/EUITextArea.vue +122 -0
  106. package/src/components/timeLine/EUITimeLine.stories.ts +247 -0
  107. package/src/components/timeLine/EUITimeLine.vue +43 -0
  108. package/src/components/timeLine/EUITimeLineItem.vue +124 -0
  109. package/src/components/toggle/EUIToggle.stories.ts +63 -0
  110. package/src/components/toggle/EUIToggle.vue +99 -0
  111. package/src/components/tooltip/EUITooltip.stories.ts +53 -0
  112. package/src/components/tooltip/EUITooltip.vue +108 -0
  113. package/src/data/books.ts +163 -0
  114. package/src/data/tab.ts +33 -0
  115. package/src/data/table.ts +5392 -0
  116. package/src/main.ts +5 -0
  117. package/src/utils/lodash.ts +9 -0
  118. package/src/utils/types.ts +9 -0
  119. package/src/vite-env.d.ts +5 -0
  120. package/dist/EUIInputNormal.vue.d.ts.map +0 -1
  121. package/dist/button/EUIButton.vue.d.ts.map +0 -1
  122. package/dist/library-vue-ts.css +0 -1
  123. /package/dist/{button/EUIButton.vue.d.ts → EUIButton.vue.d.ts} +0 -0
  124. /package/dist/{EUIInputNormal.vue.d.ts → inputNormal/EUIInputNormal.vue.d.ts} +0 -0
  125. /package/{dist → src}/style.scss +0 -0
@@ -0,0 +1,999 @@
1
+ <template>
2
+ <h1 class="my-10 text-2xl font-bold text-center text-gray-900 underline underline-offset-2 decoration-green-400 decoration-wavy">
3
+ Edvoy User Interface
4
+ </h1>
5
+
6
+ </template>
7
+ <script setup lang="ts">
8
+ </script>
9
+ <style lang="scss"></style>
10
+
11
+ <!-- Development code here -->
12
+ <!-- <template>
13
+ <div class="h-[clac(100svh-64px)] w-full px-10 py-8 max-w-screen-xl mx-auto">
14
+ <h1 class="mb-2 font-semibold text-gray-900 tetx-lg">Edvoy UI Componnet</h1>
15
+ <div class="grid gap-4 sm:grid- cols-2 place-items-start">
16
+ <div
17
+ class="w-full max-w-screen-xl col-span-2 p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
18
+ >
19
+ <span
20
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
21
+ >
22
+ Name: Select Multiple
23
+ </span>
24
+ <pre
25
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
26
+ >
27
+ <code>&lt;EUISelect label="Firstname" placeholder="Enter your name" :items="datas" /&gt;</code>
28
+ </pre>
29
+
30
+ <div class="grid grid-cols-3 gap-4">
31
+ <EUISelect
32
+ search-label="name"
33
+ label="Multiple Select width Limiting"
34
+ placeholder="Enter your name"
35
+ :items="datas"
36
+ :multiple="true"
37
+ :multiple-limit="3"
38
+ />
39
+ <EUISelect placeholder="Enter your name" :items="datas" />
40
+ <EUISelect
41
+ :is-use-custom-select="true"
42
+ :items="datas"
43
+ name="customselect"
44
+ placeholder="Select multiple"
45
+ :multiple="true"
46
+ customWidth="500px"
47
+ :custom-offset="[-200, 100]"
48
+ />
49
+
50
+ <EUISelectSearch />
51
+ </div>
52
+ </div>
53
+
54
+ <div
55
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
56
+ >
57
+ <span
58
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
59
+ >
60
+ Name: Multi Dropdown
61
+ </span>
62
+ <pre
63
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
64
+ ><code>&lt;EUIMultiDropdown title="dropdown" :menu-items="menubar" /&gt;</code>
65
+ </pre>
66
+ <div class="inline-flex items-center gap-4">
67
+ <EUIMultiDropdown title="dropdown" :menu-items="menubar" />
68
+ <EUIMultiDropdown title="dropdown" class-name="px-3 py-2 text-gray-700 hover:text-gray-900 bg-white rounded-md focus:bg-violet-100 group focus:outline-none focus:ring-2 focus:ring-violet-400 focus:ring-opacity-100 hover:bg-gray-100 active:bg-violet-200" @subMenuItem="handleSubMenuItem" @menuItem="handleMenuItem">
69
+ <template #dropdownName="{ open }">
70
+ <span>My Students</span>
71
+ <ChevronDownStroke :class="open ? 'text-gray-900 rotate-180' : 'text-gray-500'"
72
+ class="transition duration-100 ease-in-out transform rotate-0 size-6 group-hover:text-opacity-80"
73
+ aria-hidden="true"
74
+ />
75
+ </template>
76
+ </EUIMultiDropdown>
77
+ </div>
78
+ </div>
79
+
80
+ <div
81
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
82
+ >
83
+ <span
84
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
85
+ >
86
+ Name: Telephone
87
+ </span>
88
+ <pre
89
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
90
+ >
91
+ <code>&lt;EUITelephone name="contactNumber" label="Contact Number" placeholder="Your mobile number" tag="Mobile
92
+ input required" tag-color="Error" /&gt;</code>
93
+ </pre>
94
+ <EUITelephone
95
+ v-model="mobileNumber"
96
+ name="contactNumber"
97
+ label="Contact Number"
98
+ placeholder="Your mobile number"
99
+ tag="Mobile input required"
100
+ tag-color="Error"
101
+ :errors="{ name: 'Enter a valid phone number' }"
102
+ icon-type="startIcon"
103
+ />
104
+ </div>
105
+
106
+ <div
107
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
108
+ >
109
+ <span
110
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
111
+ >
112
+ Name: Input Normal
113
+ </span>
114
+ <pre
115
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
116
+ >
117
+ <code>&lt;EUIInputNormal label="Firstname" placeholder="Enter your name" rounded :class-name="['bg-gray-100/50']
118
+ /&gt;</code>
119
+ </pre>
120
+ <EUIInputNormal
121
+ v-model.trim="form.input"
122
+ name="addnote"
123
+ id="addnote"
124
+ label="Add Note"
125
+ placeholder="Note here..."
126
+ rounded
127
+ :class-name="['bg-gray-100/50']"
128
+ />
129
+ </div>
130
+
131
+ <div
132
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
133
+ >
134
+ <span
135
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
136
+ >
137
+ Name: Input
138
+ </span>
139
+ <pre
140
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
141
+ >
142
+ <code>&lt;EUIInput label="Firstname" placeholder="Enter your name" /&gt;</code>
143
+ </pre>
144
+ <EUIInput
145
+ v-model.trim="form.input"
146
+ label="Firstname"
147
+ placeholder="Enter your name"
148
+ />
149
+ </div>
150
+
151
+ <div
152
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
153
+ >
154
+ <span
155
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
156
+ >
157
+ Name: Checkbox
158
+ </span>
159
+ <pre
160
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
161
+ >
162
+ <code>&lt;EUICheckbox label="Use checkbox" /&gt;</code>
163
+ </pre>
164
+ <EUICheckbox label="Use checkbox" />
165
+ </div>
166
+
167
+ <div
168
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
169
+ >
170
+ <span
171
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
172
+ >
173
+ Name: Tabs
174
+ </span>
175
+ <pre
176
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
177
+ >
178
+ <code>&lt;EUITabs :tabs="tabData" :defaultActiveIndex="0" /&gt;</code>
179
+ </pre>
180
+ <EUITabs tab-style="border" :tabs="tabData" :defaultActiveIndex="0">
181
+ <template #title="{ tab }">{{ tab.name }}</template>
182
+ <template #content="{ activeTab }">
183
+ {{ activeTab }}
184
+ </template>
185
+ </EUITabs>
186
+ </div>
187
+
188
+ <div
189
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
190
+ >
191
+ <span
192
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
193
+ >
194
+ Name: Textarea
195
+ </span>
196
+ <pre
197
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
198
+ >
199
+ <code>&lt;EUITextarea label="Office Address" placeholder="Enter offices and location details" /&gt;</code>
200
+ </pre>
201
+ <EUITextarea
202
+ placeholder="Enter offices and location details"
203
+ label="Office Address"
204
+ />
205
+ </div>
206
+
207
+ <div
208
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
209
+ >
210
+ <span
211
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
212
+ >
213
+ Name: Tag
214
+ </span>
215
+ <pre
216
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
217
+ >
218
+ <code>&lt;EUITag closeIcon :model-value="tagModal" @remove="handleClose" /&gt;</code>
219
+ </pre>
220
+ <EUITag closeIcon :model-value="tagModal" @remove="handleClose"
221
+ >Tag Name</EUITag
222
+ >
223
+ </div>
224
+
225
+ <div
226
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
227
+ >
228
+ <span
229
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
230
+ >
231
+ Name: Switch Toggle
232
+ </span>
233
+ <pre
234
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
235
+ >
236
+ <code>&lt;EUIToggle label="toggle switch" /&gt;</code>
237
+ </pre>
238
+ <EUIToggle label="toggle switch" />
239
+ </div>
240
+
241
+ <div
242
+ class="w-full max-w-screen-xl col-span-2 p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
243
+ >
244
+ <span
245
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
246
+ >
247
+ Name: Loader
248
+ </span>
249
+ <pre
250
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
251
+ >
252
+ <code>&lt;EUILoader /&gt;</code>
253
+ </pre>
254
+ <EUILoader />
255
+ </div>
256
+
257
+ <div
258
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
259
+ >
260
+ <span
261
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
262
+ >
263
+ Name: Avatar
264
+ </span>
265
+ <pre
266
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
267
+ >
268
+ <code>&lt;EUIAvatar image-url="https://tinyurl.com/43e5fxh9" :profile="true" full-name="JohnCena"
269
+ :show-status="true" status="Online" size="sm"&gt;&lt;template #name&gt;John Cena&lt;/template&gt; &lt;template
270
+ #designation&gt;Actor&lt;/template&gt; &lt;EUIAvatar/&gt;</code>
271
+ </pre>
272
+ <EUIAvatar
273
+ image-url="https://tinyurl.com/43e5fxh9"
274
+ :profile="true"
275
+ full-name="JohnCena"
276
+ :show-status="true"
277
+ status="Online"
278
+ size="sm"
279
+ >
280
+ <template #name>John Cena</template>
281
+ <template #designation>Actor</template>
282
+ </EUIAvatar>
283
+ </div>
284
+
285
+ <div
286
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
287
+ >
288
+ <span
289
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
290
+ >
291
+ Name: Datepicker
292
+ </span>
293
+ <pre
294
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
295
+ >
296
+ <code>&lt;EUIDatepicker v-model="datepicker" label="Datepicker" placeholder="Select Date here..." /&gt;</code>
297
+ </pre>
298
+ <EUIDatepicker
299
+ v-model="datepicker"
300
+ label="Datepicker"
301
+ placeholder="Select Date here..."
302
+ />
303
+ </div>
304
+
305
+ <div
306
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
307
+ >
308
+ <span
309
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
310
+ >
311
+ Name: Button
312
+ </span>
313
+ <pre
314
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
315
+ >
316
+ <code>&lt;EUIButton type="button" size="md" color="purple" @click="onClickMethod"&gt;Open
317
+ Modal&lt;/EUIButton&gt;</code>
318
+ </pre>
319
+
320
+ <div class="space-y-4">
321
+ <div class="inline-flex flex-row flex-wrap items-center gap-4">
322
+ <EUIButton type="button" size="xs" color="purple" rounded>
323
+ XS Button
324
+ </EUIButton>
325
+ <EUIButton type="button" size="sm" color="purple" rounded
326
+ >SM Button</EUIButton
327
+ >
328
+ <EUIButton type="button" size="md" color="purple"
329
+ >MD Button</EUIButton
330
+ >
331
+ <EUIButton type="button" size="lg" color="purple"
332
+ >LG Button</EUIButton
333
+ >
334
+ <EUIButton
335
+ color="primary"
336
+ rounded
337
+ size="md"
338
+ iconType="startIcon"
339
+ :icon="HomeIcon"
340
+ >Home</EUIButton
341
+ >
342
+ </div>
343
+
344
+ <details>
345
+ <summary class="text-gray-600 cursor-pointer">
346
+ Primary Gradient
347
+ </summary>
348
+ <div class="inline-flex flex-row items-center gap-4">
349
+ <EUIButton type="button" size="xs" color="primary" rounded>
350
+ XS Button
351
+ </EUIButton>
352
+ <EUIButton type="button" size="sm" color="primary" rounded
353
+ >SM Button</EUIButton
354
+ >
355
+ <EUIButton type="button" size="md" color="primary" rounded
356
+ >MD Button</EUIButton
357
+ >
358
+ <EUIButton type="button" size="lg" color="primary" rounded
359
+ >LG Button</EUIButton
360
+ >
361
+ </div>
362
+ </details>
363
+
364
+ <details>
365
+ <summary class="text-gray-600 cursor-pointer">white</summary>
366
+ <div class="inline-flex flex-row items-center gap-4">
367
+ <EUIButton type="button" size="xs" color="white" rounded>
368
+ XS Button
369
+ </EUIButton>
370
+ <EUIButton type="button" size="sm" color="white" rounded
371
+ >SM Button</EUIButton
372
+ >
373
+ <EUIButton type="button" size="md" color="white"
374
+ >MD Button</EUIButton
375
+ >
376
+ <EUIButton type="button" size="lg" color="white"
377
+ >LG Button</EUIButton
378
+ >
379
+ </div>
380
+ </details>
381
+
382
+ <details>
383
+ <summary class="text-gray-600 cursor-pointer">Danger</summary>
384
+ <div class="inline-flex flex-row items-center gap-4">
385
+ <EUIButton type="button" size="xs" color="danger">
386
+ XS Button
387
+ </EUIButton>
388
+ <EUIButton type="button" size="sm" color="danger"
389
+ >SM Button</EUIButton
390
+ >
391
+ <EUIButton type="button" size="md" color="danger"
392
+ >MD Button</EUIButton
393
+ >
394
+ <EUIButton type="button" size="lg" color="danger"
395
+ >LG Button</EUIButton
396
+ >
397
+ </div>
398
+ </details>
399
+
400
+ <details>
401
+ <summary class="text-gray-600 cursor-pointer">Success</summary>
402
+ <div class="inline-flex flex-row items-center gap-4">
403
+ <EUIButton type="button" size="xs" color="success">
404
+ XS Button
405
+ </EUIButton>
406
+ <EUIButton type="button" size="sm" color="success"
407
+ >SM Button</EUIButton
408
+ >
409
+ <EUIButton type="button" size="md" color="success" rounded
410
+ >MD Button</EUIButton
411
+ >
412
+ <EUIButton type="button" size="lg" color="success" rounded
413
+ >LG Button</EUIButton
414
+ >
415
+ </div>
416
+ </details>
417
+
418
+ <details>
419
+ <summary class="text-gray-600 cursor-pointer">Black</summary>
420
+ <div class="inline-flex flex-row items-center gap-4">
421
+ <EUIButton type="button" size="xs" color="black">
422
+ XS Button
423
+ </EUIButton>
424
+ <EUIButton type="button" size="sm" color="black"
425
+ >SM Button</EUIButton
426
+ >
427
+ <EUIButton type="button" size="md" color="black" rounded
428
+ >MD Button</EUIButton
429
+ >
430
+ <EUIButton type="button" size="lg" color="black" rounded
431
+ >LG Button</EUIButton
432
+ >
433
+ </div>
434
+ </details>
435
+ </div>
436
+ </div>
437
+
438
+ <div
439
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
440
+ >
441
+ <span
442
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
443
+ >
444
+ Name: Modal
445
+ </span>
446
+ <pre
447
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
448
+ >
449
+ <code>
450
+ &lt;EUIModal :isVisible="showModal" slim-header @update:isVisible="showModal=$event"
451
+ @confirm="handleConfirm"&gt; &lt;template #title&gt; Custom Title here&lt;/template&gt; &lt;div
452
+ class=""&gt;Lorem, ipsum dolor sit amet consectetur adipisicing elit. Minus quas possimus ea culpa id voluptatum
453
+ cumque, animi earum sequi, aliquid eius omnis repellendus nihil soluta vitae a temporibus! Perspiciatis,
454
+ nihil?&lt;/div&gt; &lt;/EUIModal&gt;
455
+ </code>
456
+ </pre>
457
+ <div class="space-x-4">
458
+ <EUIButton
459
+ type="button"
460
+ size="md"
461
+ color="primary"
462
+ rounded
463
+ @click="showModal = true"
464
+ >Default Modal</EUIButton
465
+ >
466
+ <EUIButton
467
+ type="button"
468
+ size="md"
469
+ color="primary"
470
+ rounded
471
+ @click="customModal = true"
472
+ >Custom Modal
473
+ </EUIButton>
474
+ </div>
475
+
476
+ <EUIModal
477
+ :isVisible="showModal"
478
+ slim-header
479
+ @update:isVisible="showModal = $event"
480
+ @confirm="handleConfirm"
481
+ >
482
+ <template #title> Custom Title here</template>
483
+ <div class="">
484
+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Minus quas
485
+ possimus ea culpa id voluptatum cumque, animi earum sequi, aliquid
486
+ eius omnis repellendus nihil soluta vitae a temporibus!
487
+ Perspiciatis, nihil?
488
+ </div>
489
+ </EUIModal>
490
+
491
+ <EUIModal
492
+ :isVisible="customModal"
493
+ @update:isVisible="customModal = $event"
494
+ @confirm="openModal"
495
+ rounded-class="rounded-3xl"
496
+ >
497
+ <template #header>
498
+ <div
499
+ class="sticky inset-x-0 top-0 px-6 py-4 text-base font-semibold bg-white border-b"
500
+ >
501
+ Custom Header here
502
+ </div>
503
+ </template>
504
+ <template #content>
505
+ <div
506
+ class="p-4 max-h-[calc(100svh-10rem)] overflow-y-auto space-y-4"
507
+ >
508
+ <div v-for="item in 10" :key="`row-${item}`">
509
+ Lorem, ipsum dolor sit amet consectetur adipisicing elit. Minus
510
+ quas possimus ea culpa id voluptatum cumque, animi earum sequi,
511
+ aliquid eius omnis repellendus nihil soluta vitae a temporibus!
512
+ Perspiciatis, nihil?
513
+ </div>
514
+ </div>
515
+ </template>
516
+ <template #footer>
517
+ <div
518
+ class="sticky inset-x-0 bottom-0 flex items-center justify-end p-4 bg-white border-t border-gray-200"
519
+ >
520
+ <div class="text-base font-semibold">Custom Footer here</div>
521
+ <button
522
+ class="px-4 py-2 text-base font-semibold tracking-wide text-gray-600 transition-colors duration-75 bg-white rounded-md hover:bg-gray-100"
523
+ @click="customModal = false"
524
+ >
525
+ Cancel
526
+ </button>
527
+ <button
528
+ class="px-4 py-2 text-base font-semibold tracking-wide text-white transition-colors duration-75 bg-purple-600 rounded-md hover:bg-purple-700"
529
+ >
530
+ Confirm
531
+ </button>
532
+ </div>
533
+ </template>
534
+ </EUIModal>
535
+ </div>
536
+
537
+ <div
538
+ class="w-full max-w-xl p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
539
+ >
540
+ <span
541
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
542
+ >
543
+ Name: Accordion
544
+ </span>
545
+ <pre
546
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
547
+ >
548
+ <code>&lt;EUIAccordion :datas="accordionData" :defaultOpen="[1]" :collapse="true" /&gt;</code>
549
+ </pre>
550
+ <EUIAccordion
551
+ :datas="accordionData"
552
+ :defaultOpen="[1]"
553
+ :collapse="true"
554
+ />
555
+ </div>
556
+
557
+ <div
558
+ class="w-full max-w-xl p-4 overflow-y-auto bg-white border border-gray-200 border-solid rounded-lg max-h-96 hover:ring-2 ring-purple-500 ring-offset-1"
559
+ >
560
+ <span
561
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
562
+ >
563
+ Name: Timeline
564
+ </span>
565
+ <pre
566
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
567
+ >
568
+ <code>&lt;EUITimeLine :items="timelineData" type="view" /&gt;</code>
569
+ </pre>
570
+ <EUITimeLine :items="timelineData" type="view" />
571
+ <EUITimeLine
572
+ :items="timelineData"
573
+ type="icon"
574
+ :icon="ArrowDownCircleIcon"
575
+ />
576
+ <EUITimeLine :items="timelineImage" type="image" :show-more="true" />
577
+ </div>
578
+
579
+ <div
580
+ class="w-full max-w-screen-xl col-span-2 p-4 bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1"
581
+ >
582
+ <span
583
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
584
+ >
585
+ Name: Stepper Timeline
586
+ </span>
587
+ <pre
588
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
589
+ >
590
+ <code>&lt;EUIStepperVertical stepStatus="opportunity" /&gt;</code>
591
+ </pre>
592
+ <EUIStepperTimeline />
593
+ </div>
594
+
595
+ <div
596
+ class="w-full max-w-screen-xl col-span-2 p-4 overflow-auto bg-white border border-gray-200 border-solid rounded-lg hover:ring-2 ring-purple-500 ring-offset-1 max-h-svh"
597
+ >
598
+ <span
599
+ class="px-1 py-1 mb-0 font-mono text-xs leading-none text-gray-500 bg-gray-100 rounded-md"
600
+ >
601
+ Name: Dashboard Table
602
+ </span>
603
+ <pre
604
+ class="pb-4 my-4 text-sm font-normal text-gray-700 whitespace-pre-wrap border-b border-gray-100 border-solid"
605
+ >
606
+ <code>&lt;EUIDashboardTable :checkable="true"
607
+ paginated
608
+ :checked-rows.sync="checkedRows"
609
+ backend-pagination
610
+ :per-page="limit"
611
+ :headers="tableHeaders"
612
+ :items="tableData"
613
+ :total="totalCount"
614
+ :default-sort-direction="defaultSortOrder"
615
+ default-sort="introducer_details"
616
+ :current-page="offset"
617
+ @sort="onSort"
618
+ @mouseenter="select"
619
+ @mouseleave=";(selectedIndex = null), (selected = null)" &gt; &lt;template #[`item.introducer_details`]="{ row,
620
+ rowIndex }"&gt;
621
+ &lt;div class="flex flex-row items-center gap-2"&gt;
622
+ &lt;div
623
+ class="flex items-center justify-center text-sm font-bold text-gray-900 bg-gray-100 rounded-full size-8"
624
+ &gt;
625
+ &lt;img
626
+ :src="row?.introducer_details?.url"
627
+ class="size-8 rounded-3xl"
628
+ alt=""
629
+ /&gt;
630
+ &lt;/div&gt;
631
+ &lt;div class="text-sm"&gt;{{ row?.introducer_details?.name }}&lt;/div&gt;
632
+ &lt;/div&gt;
633
+ &lt;/template&gt;
634
+ &lt;/EUIDashboardTable&gt;
635
+ </code>
636
+ </pre>
637
+ <EUIDashboardTable
638
+ :checkable="true"
639
+ paginated
640
+ :checked-rows.sync="checkedRows"
641
+ backend-pagination
642
+ :per-page="limit"
643
+ :headers="tableHeaders"
644
+ :items="tableData"
645
+ :total="totalCount"
646
+ :default-sort-direction="defaultSortOrder"
647
+ default-sort="introducer_details"
648
+ :current-page="offset"
649
+ @sort="onSort"
650
+ @mouseenter="select"
651
+ @mouseleave="(selectedIndex = null), (selected = null)"
652
+ >
653
+ <template #[`item.introducer_details`]="{ row, rowIndex }">
654
+ <div class="flex flex-row items-center gap-2">
655
+ <div
656
+ class="flex items-center justify-center text-sm font-bold text-gray-900 bg-gray-100 rounded-full size-8"
657
+ >
658
+ <img
659
+ :src="row?.introducer_details?.url"
660
+ class="size-8 rounded-3xl"
661
+ alt=""
662
+ />
663
+ </div>
664
+ <div class="text-sm">{{ row?.introducer_details?.name }}</div>
665
+ </div>
666
+ </template>
667
+ </EUIDashboardTable>
668
+
669
+ <div class="py-4">
670
+ <EUITable
671
+ :checkable="true"
672
+ paginated
673
+ :checked-rows.sync="checkedRows"
674
+ backend-pagination
675
+ :per-page="10"
676
+ :headers="studentHeader"
677
+ :items="studentData"
678
+ :total="studentData.length"
679
+ :default-sort-direction="defaultSortOrder"
680
+ default-sort=""
681
+ :current-page="offset"
682
+ @sort="onSort"
683
+ @mouseenter="select"
684
+ @mouseleave="(selectedIndex = null), (selected = null)"
685
+ >
686
+ <template #[`item.firstName`]="{ row, rowIndex }">
687
+ <div class="space-y-0.5">
688
+ <div class="block text-sm font-medium leading-snug">
689
+ {{ capitalizeText(row?.firstName) + " " + capitalizeText(row?.lastName) }}
690
+ </div>
691
+ <div class="text-xs font-medium text-gray-900 leading-[normal]">
692
+ {{ row?.referenceId }}
693
+ </div>
694
+ </div>
695
+ </template>
696
+ <template #[`item.activeUser`]="{ row, rowIndex }">
697
+ {{ row?.activeUser?.user?.firstName }}
698
+ {{ row?.activeUser?.user?.lastName }}
699
+ </template>
700
+ </EUITable>
701
+ </div>
702
+ </div>
703
+ </div>
704
+ </div>
705
+ </template>
706
+
707
+ <script setup lang="ts">
708
+ import { computed, reactive, ref } from "vue";
709
+ import EUIButton from "./button/EUIButton.vue";
710
+ import EUICheckbox from "./checkbox/EUICheckbox.vue";
711
+ import EUIInput from "./input/EUIInput.vue";
712
+ import EUIInputNormal from "./inputNormal/EUIInputNormal.vue";
713
+ import EUIModal from "./modal/EUIModal.vue";
714
+ import EUISelect from "./select/EUISelect.vue";
715
+ import EUITabs from "./tabs/EUITabs.vue";
716
+ import EUITextarea from "./textArea/EUITextArea.vue";
717
+ import EUISelectSearch from "./selectSearch/EUISelectSearch.vue";
718
+ import EUITimeLine from "./timeLine/EUITimeLine.vue";
719
+ import { ArrowDownCircleIcon } from "@heroicons/vue/24/solid";
720
+ import EUITag from "./tag/EUITag.vue";
721
+ import EUIToggle from "./toggle/EUIToggle.vue";
722
+ import EUILoader from "./loader/EUILoader.vue";
723
+ import EUIAvatar from "./avatar/EUIAvatar.vue";
724
+ import EUIStepperTimeline from "./stepperTimeline/EUIStepperTimeline.vue";
725
+ import EUIAccordion from "./accordion/EUIAccordion.vue";
726
+ import EUITelephone from "./telephone/EUITelephone.vue";
727
+ import { HomeIcon } from "@heroicons/vue/24/outline";
728
+ import EUIDatepicker from "./datepicker/EUIDatepicker.vue";
729
+ import EUIDashboardTable from "./table/EUIDashboardTable.vue";
730
+ import tabData from "../data/tab";
731
+ import {
732
+ studentData,
733
+ studentHeader,
734
+ tableData,
735
+ tableHeaders,
736
+ } from "../data/table";
737
+ import EUITable from "./table/EUITable.vue";
738
+ import { capitalizeText } from "../utils/lodash";
739
+ import ChevronDownStroke from '../assets/svg/ChevronDownStroke.vue';
740
+ import EUIMultiDropdown from './dropdown/EUIMultiDropdown.vue';
741
+
742
+ const mobileNumber = ref("+91 8667444951");
743
+ const datepicker = ref(new Date());
744
+
745
+ const form = reactive({
746
+ input: "",
747
+ mobile: "+918667444951",
748
+ });
749
+
750
+ //TODO: Dashboard Table
751
+ const checkedRows = ref([]);
752
+ const defaultSortOrder = ref("asc");
753
+ const limit = ref(5);
754
+ const offset = ref(1);
755
+ const selectedIndex = ref(null);
756
+ const selected: { index: string } = { index: "" };
757
+
758
+ const totalCount = computed(() => {
759
+ return tableData.length;
760
+ });
761
+
762
+ const select = (_item: any, index: any) => {
763
+ selectedIndex.value = index;
764
+ };
765
+
766
+ const onSort = (field: string, order: string) => {
767
+ const modifier = order === "desc" ? -1 : 1;
768
+ tableData.sort((a, b) => {
769
+ if (a[field] < b[field]) return -1 * modifier;
770
+ if (a[field] > b[field]) return 1 * modifier;
771
+ return 0;
772
+ });
773
+ };
774
+
775
+ // TODO: Multi dropdown menu clicked access
776
+ const menubar = ref([
777
+ { text: "Students" },
778
+ { text: "Application" },
779
+ ])
780
+
781
+ const handleMenuItem = (item:any) => {
782
+ console.log('Menu clicked:', item)
783
+ }
784
+
785
+ const handleSubMenuItem = (subItem:any) => {
786
+ console.log("Submenu item clicked:", subItem);
787
+ }
788
+
789
+ //TODO: TagModal
790
+ const tagModal = ref(false);
791
+ const handleClose = () => {
792
+ tagModal.value = true;
793
+ };
794
+
795
+ //TODO: Modal
796
+ const showModal = ref(false);
797
+ const handleConfirm = () => {
798
+ showModal.value = true;
799
+ };
800
+
801
+ const customModal = ref(false);
802
+ const openModal = () => {
803
+ customModal.value = false;
804
+ };
805
+
806
+ //TODO: Select Data
807
+ const datas = ref([
808
+ {
809
+ name: "Shawn Burke",
810
+ age: 6,
811
+ },
812
+ {
813
+ name: "Emery Nolan",
814
+ age: 4,
815
+ },
816
+ {
817
+ name: "Embry Grant",
818
+ age: 3,
819
+ },
820
+ {
821
+ name: "Jesse Austin",
822
+ age: 9,
823
+ },
824
+ {
825
+ name: "Tandy Christensen",
826
+ age: 7,
827
+ },
828
+ ]);
829
+ //TODO: Timeline
830
+
831
+ const timelineData = ref([
832
+ {
833
+ id: 1,
834
+ person: { name: "Alex Curren" },
835
+ date: "2d ago",
836
+ dateTime: "2023-01-24T09:12",
837
+ },
838
+ {
839
+ id: 2,
840
+ person: { name: "Alex Curren" },
841
+ date: "1d ago",
842
+ dateTime: "2023-01-24T09:20",
843
+ },
844
+ {
845
+ id: 3,
846
+ person: { name: "Alex Curren" },
847
+ date: "2d ago",
848
+ dateTime: "2023-01-24T09:12",
849
+ },
850
+ {
851
+ id: 4,
852
+ person: { name: "Alex Curren" },
853
+ date: "1d ago",
854
+ dateTime: "2023-01-24T09:20",
855
+ },
856
+ {
857
+ id: 5,
858
+ person: { name: "Alex Curren" },
859
+ date: "2d ago",
860
+ dateTime: "2023-01-24T09:12",
861
+ },
862
+ {
863
+ id: 6,
864
+ person: { name: "Alex Curren" },
865
+ date: "1d ago",
866
+ dateTime: "2023-01-24T09:20",
867
+ },
868
+ ]);
869
+
870
+ const timelineImage = ref([
871
+ {
872
+ id: 1,
873
+ person: {
874
+ name: "Chelsea Hagon",
875
+ imageUrl:
876
+ "https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
877
+ },
878
+ comment:
879
+ "Called client, they reassured me the invoice would be paid by the 25th.",
880
+ date: "3d ago",
881
+ dateTime: "2023-01-23T15:56",
882
+ showmore: {
883
+ title: "More Details",
884
+ content:
885
+ "Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, dicta quae aliquam provident mollitia nostrum.",
886
+ },
887
+ },
888
+ {
889
+ id: 2,
890
+ person: {
891
+ name: "Chelsea Hagon",
892
+ imageUrl:
893
+ "https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
894
+ },
895
+ comment:
896
+ "Called client, they reassured me the invoice would be paid by the 25th.",
897
+ date: "3d ago",
898
+ dateTime: "2023-01-23T15:56",
899
+ showmore: {
900
+ title: "More Details",
901
+ content:
902
+ "Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, dicta quae aliquam provident mollitia nostrum.",
903
+ },
904
+ },
905
+ {
906
+ id: 3,
907
+ person: {
908
+ name: "Chelsea Hagon",
909
+ imageUrl:
910
+ "https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
911
+ },
912
+ comment:
913
+ "Called client, they reassured me the invoice would be paid by the 25th.",
914
+ date: "3d ago",
915
+ dateTime: "2023-01-23T15:56",
916
+ showmore: {
917
+ title: "More Details",
918
+ content:
919
+ "Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, dicta quae aliquam provident mollitia nostrum.",
920
+ },
921
+ },
922
+ {
923
+ id: 4,
924
+ person: {
925
+ name: "Chelsea Hagon",
926
+ imageUrl:
927
+ "https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
928
+ },
929
+ comment:
930
+ "Called client, they reassured me the invoice would be paid by the 25th.",
931
+ date: "3d ago",
932
+ dateTime: "2023-01-23T15:56",
933
+ showmore: {
934
+ title: "More Details",
935
+ content:
936
+ "Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, dicta quae aliquam provident mollitia nostrum.",
937
+ },
938
+ },
939
+ {
940
+ id: 5,
941
+ person: {
942
+ name: "Chelsea Hagon",
943
+ imageUrl:
944
+ "https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
945
+ },
946
+ comment:
947
+ "Called client, they reassured me the invoice would be paid by the 25th.",
948
+ date: "3d ago",
949
+ dateTime: "2023-01-23T15:56",
950
+ showmore: {
951
+ title: "More Details",
952
+ content:
953
+ "Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, dicta quae aliquam provident mollitia nostrum.",
954
+ },
955
+ },
956
+ {
957
+ id: 6,
958
+ person: {
959
+ name: "Chelsea Hagon",
960
+ imageUrl:
961
+ "https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80",
962
+ },
963
+ comment:
964
+ "Called client, they reassured me the invoice would be paid by the 25th.",
965
+ date: "3d ago",
966
+ dateTime: "2023-01-23T15:56",
967
+ showmore: {
968
+ title: "More Details",
969
+ content:
970
+ "Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, dicta quae aliquam provident mollitia nostrum.",
971
+ },
972
+ },
973
+ ]);
974
+
975
+ const accordionData = ref([
976
+ {
977
+ title: "1.How long does the course take?",
978
+ content:
979
+ "The video content takes more than 4.5 hours. In addition, you can test gained knowledge on 30 quizzes and practical tasks.",
980
+ },
981
+ {
982
+ title: "2.How long does the course take?",
983
+ content:
984
+ "The video content takes more than 4.5 hours. In addition, you can test gained knowledge on 30 quizzes and practical tasks.",
985
+ },
986
+ {
987
+ title: "3.How long does the course take?",
988
+ content:
989
+ "The video content takes more than 4.5 hours. In addition, you can test gained knowledge on 30 quizzes and practical tasks.",
990
+ },
991
+ {
992
+ title: "4.How long does the course take?",
993
+ content:
994
+ "The video content takes more than 4.5 hours. In addition, you can test gained knowledge on 30 quizzes and practical tasks.",
995
+ },
996
+ ]);
997
+ </script>
998
+
999
+ <style lang="scss" scoped></style> -->