edvoyui-component-library-test-flight 0.0.183 → 0.0.185

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 (225) hide show
  1. package/README.md +57 -8
  2. package/dist/EUIButton.vue.d.ts.map +1 -0
  3. package/dist/EUIButtonGroup.vue.d.ts.map +1 -0
  4. package/dist/edvoy-ui.cjs.js +28 -28
  5. package/dist/edvoy-ui.es.js +1262 -1273
  6. package/dist/edvoy-ui.umd.js +28 -28
  7. package/dist/tabs/EUITabs.vue.d.ts +1 -1
  8. package/package.json +18 -17
  9. package/dist/button/EUIButton.vue.d.ts.map +0 -1
  10. package/dist/button/EUIButtonGroup.vue.d.ts.map +0 -1
  11. package/src/App.vue +0 -16
  12. package/src/App.vue.js.map +0 -1
  13. package/src/assets/fonts/gilroy/GilroyBold/font.woff +0 -0
  14. package/src/assets/fonts/gilroy/GilroyBold/font.woff2 +0 -0
  15. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff +0 -0
  16. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff2 +0 -0
  17. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff +0 -0
  18. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff2 +0 -0
  19. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff +0 -0
  20. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff2 +0 -0
  21. package/src/assets/fonts/gilroy/GilroyMedium/font.woff +0 -0
  22. package/src/assets/fonts/gilroy/GilroyMedium/font.woff2 +0 -0
  23. package/src/assets/fonts/gilroy/GilroyRegular/font.woff +0 -0
  24. package/src/assets/fonts/gilroy/GilroyRegular/font.woff2 +0 -0
  25. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff +0 -0
  26. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff2 +0 -0
  27. package/src/assets/fonts/inter/Inter-Bold.woff +0 -0
  28. package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  29. package/src/assets/fonts/inter/Inter-Italic.woff +0 -0
  30. package/src/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  31. package/src/assets/fonts/inter/Inter-Medium.woff +0 -0
  32. package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  33. package/src/assets/fonts/inter/Inter-MediumItalic.woff +0 -0
  34. package/src/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  35. package/src/assets/fonts/inter/Inter-Regular.woff +0 -0
  36. package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  37. package/src/assets/fonts/inter/Inter-SemiBold.woff +0 -0
  38. package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  39. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff +0 -0
  40. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  41. package/src/assets/images/search-nodata.png +0 -0
  42. package/src/assets/scss/body.scss +0 -25
  43. package/src/assets/svg/CheckTick.vue +0 -21
  44. package/src/assets/svg/CheckTick.vue.js.map +0 -1
  45. package/src/assets/svg/ChevronBigDown.vue +0 -22
  46. package/src/assets/svg/ChevronBigDown.vue.js.map +0 -1
  47. package/src/assets/svg/ChevronDownSolid.vue +0 -19
  48. package/src/assets/svg/ChevronDownSolid.vue.js.map +0 -1
  49. package/src/assets/svg/ChevronDownStroke.vue +0 -22
  50. package/src/assets/svg/ChevronDownStroke.vue.js.map +0 -1
  51. package/src/assets/svg/ChevronDownStrokeSolid.vue +0 -19
  52. package/src/assets/svg/ChevronDownStrokeSolid.vue.js.map +0 -1
  53. package/src/assets/svg/SearchBigZoomIn.vue +0 -21
  54. package/src/assets/svg/SearchBigZoomIn.vue.js.map +0 -1
  55. package/src/assets/svg/SortArrow.vue +0 -24
  56. package/src/assets/svg/SortArrow.vue.js.map +0 -1
  57. package/src/assets/svg/Student.vue +0 -30
  58. package/src/assets/svg/Student.vue.js.map +0 -1
  59. package/src/assets/svg/partner.vue +0 -33
  60. package/src/assets/svg/partner.vue.js.map +0 -1
  61. package/src/assets/svg/people.vue +0 -25
  62. package/src/assets/svg/people.vue.js.map +0 -1
  63. package/src/assets/vue.svg +0 -1
  64. package/src/components/HelloWorld.vue +0 -1974
  65. package/src/components/HelloWorld.vue.js.map +0 -1
  66. package/src/components/accordion/EUIAccordion.stories.ts +0 -204
  67. package/src/components/accordion/EUIAccordion.vue +0 -152
  68. package/src/components/accordion/EUIAccordion.vue.js.map +0 -1
  69. package/src/components/alerts/EUIAlerts.stories.ts +0 -217
  70. package/src/components/alerts/EUIAlerts.vue +0 -194
  71. package/src/components/alerts/EUIAlerts.vue.js.map +0 -1
  72. package/src/components/avatar/EUIAvatar.stories.ts +0 -157
  73. package/src/components/avatar/EUIAvatar.vue +0 -96
  74. package/src/components/avatar/EUIAvatar.vue.js.map +0 -1
  75. package/src/components/breadcrumb/EUIBreadcrumb.stories.ts +0 -75
  76. package/src/components/breadcrumb/EUIBreadcrumb.vue +0 -59
  77. package/src/components/breadcrumb/EUIBreadcrumb.vue.js.map +0 -1
  78. package/src/components/button/EUIButton.stories.ts +0 -270
  79. package/src/components/button/EUIButton.vue +0 -154
  80. package/src/components/button/EUIButton.vue.js.map +0 -1
  81. package/src/components/button/EUIButtonGroup.vue +0 -287
  82. package/src/components/button/EUIButtonGroup.vue.js.map +0 -1
  83. package/src/components/button/buttonAnimateTab.vue +0 -74
  84. package/src/components/button/buttonAnimateTab.vue.js.map +0 -1
  85. package/src/components/checkbox/EUICheckbox.stories.ts +0 -58
  86. package/src/components/checkbox/EUICheckbox.vue +0 -110
  87. package/src/components/checkbox/EUICheckbox.vue.js.map +0 -1
  88. package/src/components/datepicker/EUIDatepicker.stories.ts +0 -492
  89. package/src/components/datepicker/EUIDatepicker.vue +0 -295
  90. package/src/components/datepicker/EUIDatepicker.vue.js.map +0 -1
  91. package/src/components/delete.vue +0 -262
  92. package/src/components/delete.vue.js.map +0 -1
  93. package/src/components/dragModal/EUIDrag.vue +0 -179
  94. package/src/components/dragModal/EUIDrag.vue.js.map +0 -1
  95. package/src/components/dropdown/EUIMultiDropdown.stories.ts +0 -294
  96. package/src/components/dropdown/EUIMultiDropdown.vue +0 -187
  97. package/src/components/dropdown/EUIMultiDropdown.vue.js.map +0 -1
  98. package/src/components/errorMessage/EUIErrorMessage.scss +0 -0
  99. package/src/components/errorMessage/EUIErrorMessage.stories.ts +0 -41
  100. package/src/components/errorMessage/EUIErrorMessage.vue +0 -25
  101. package/src/components/errorMessage/EUIErrorMessage.vue.js.map +0 -1
  102. package/src/components/index.js.map +0 -1
  103. package/src/components/index.ts +0 -61
  104. package/src/components/input/EUIInput.stories.ts +0 -387
  105. package/src/components/input/EUIInput.vue +0 -223
  106. package/src/components/input/EUIInput.vue.js.map +0 -1
  107. package/src/components/input/EUINumberInput.vue +0 -250
  108. package/src/components/loader/EUICircleLoader.vue +0 -31
  109. package/src/components/loader/EUICircleLoader.vue.js.map +0 -1
  110. package/src/components/loader/EUICubeLoader.vue +0 -237
  111. package/src/components/loader/EUICubeLoader.vue.js.map +0 -1
  112. package/src/components/loader/EUILoader.stories.ts +0 -99
  113. package/src/components/loader/EUILoader.vue +0 -17
  114. package/src/components/loader/EUILoader.vue.js.map +0 -1
  115. package/src/components/loader/EUISquareLoader.vue +0 -47
  116. package/src/components/loader/EUISquareLoader.vue.js.map +0 -1
  117. package/src/components/modal/EUIModal.stories.ts +0 -412
  118. package/src/components/modal/EUIModal.vue +0 -228
  119. package/src/components/modal/EUIModal.vue.js.map +0 -1
  120. package/src/components/pillSelect/EUIPillSelect.stories.ts +0 -74
  121. package/src/components/pillSelect/EUIPillSelect.vue +0 -149
  122. package/src/components/pillSelect/EUIPillSelect.vue.js.map +0 -1
  123. package/src/components/popover/EUIPopover.stories.ts +0 -306
  124. package/src/components/popover/EUIPopover.vue +0 -297
  125. package/src/components/popover/EUIPopover.vue.js.map +0 -1
  126. package/src/components/radio/EUIRadio.stories.ts +0 -54
  127. package/src/components/radio/EUIRadio.vue +0 -75
  128. package/src/components/radio/EUIRadio.vue.js.map +0 -1
  129. package/src/components/searchInput/EUISearch.stories.ts +0 -24
  130. package/src/components/searchInput/EUISearch.vue +0 -223
  131. package/src/components/searchInput/EUISearch.vue.js.map +0 -1
  132. package/src/components/searchTagSelect/EUISearchTagSelect.stories.ts +0 -217
  133. package/src/components/searchTagSelect/EUISearchTagSelect.vue +0 -642
  134. package/src/components/searchTagSelect/EUISearchTagSelect.vue.js.map +0 -1
  135. package/src/components/searchTagSelect/SearchInput.vue +0 -167
  136. package/src/components/searchTagSelect/SearchInput.vue.js.map +0 -1
  137. package/src/components/searchexpand/EUISearchExpand.vue +0 -148
  138. package/src/components/searchexpand/EUISearchExpand.vue.js.map +0 -1
  139. package/src/components/searchexpand/EUISearchToggle.vue +0 -86
  140. package/src/components/searchexpand/EUISearchToggle.vue.js.map +0 -1
  141. package/src/components/select/EUISelect.stories.ts +0 -101
  142. package/src/components/select/EUISelect.vue +0 -1092
  143. package/src/components/select/EUISelect.vue.js.map +0 -1
  144. package/src/components/slideover/EUISlideover.stories.ts +0 -318
  145. package/src/components/slideover/EUISlideover.vue +0 -212
  146. package/src/components/slideover/EUISlideover.vue.js.map +0 -1
  147. package/src/components/stepperTimeline/EUIStepperHorizontal.vue +0 -242
  148. package/src/components/stepperTimeline/EUIStepperHorizontal.vue.js.map +0 -1
  149. package/src/components/stepperTimeline/EUIStepperTimeline.stories.ts +0 -54
  150. package/src/components/stepperTimeline/EUIStepperTimeline.vue +0 -16
  151. package/src/components/stepperTimeline/EUIStepperTimeline.vue.js.map +0 -1
  152. package/src/components/stepperTimeline/EUIStepperVertical.vue +0 -112
  153. package/src/components/stepperTimeline/EUIStepperVertical.vue.js.map +0 -1
  154. package/src/components/table/ColumnResizeTable.vue +0 -740
  155. package/src/components/table/ColumnResizeTable.vue.js.map +0 -1
  156. package/src/components/table/EUIDashboardTable.vue +0 -514
  157. package/src/components/table/EUIDashboardTable.vue.js.map +0 -1
  158. package/src/components/table/EUIPageLimit.vue +0 -66
  159. package/src/components/table/EUIPageLimit.vue.js.map +0 -1
  160. package/src/components/table/EUIPagination.vue +0 -175
  161. package/src/components/table/EUIPagination.vue.js.map +0 -1
  162. package/src/components/table/EUIStudentPagination.vue +0 -172
  163. package/src/components/table/EUIStudentPagination.vue.js.map +0 -1
  164. package/src/components/table/EUITable.stories.ts +0 -300
  165. package/src/components/table/EUITable.vue +0 -559
  166. package/src/components/table/EUITable.vue.js.map +0 -1
  167. package/src/components/table/EUITableCheckbox.vue +0 -98
  168. package/src/components/table/EUITableCheckbox.vue.js.map +0 -1
  169. package/src/components/table/GrowthTable.vue +0 -575
  170. package/src/components/table/GrowthTable.vue.js.map +0 -1
  171. package/src/components/table/GrowthTableView.vue +0 -108
  172. package/src/components/table/GrowthTableView.vue.js.map +0 -1
  173. package/src/components/table/ResizeTableview.vue +0 -198
  174. package/src/components/table/ResizeTableview.vue.js.map +0 -1
  175. package/src/components/table/UCheckbox.vue +0 -169
  176. package/src/components/table/UCheckbox.vue.js.map +0 -1
  177. package/src/components/table/UTable.scss +0 -69
  178. package/src/components/table/UTable.vue +0 -611
  179. package/src/components/table/UTable.vue.js.map +0 -1
  180. package/src/components/table/UTableview.vue +0 -189
  181. package/src/components/table/UTableview.vue.js.map +0 -1
  182. package/src/components/tabs/EUITabOutline.vue +0 -263
  183. package/src/components/tabs/EUITabOutline.vue.js.map +0 -1
  184. package/src/components/tabs/EUITabs.vue +0 -262
  185. package/src/components/tabs/EUITabs.vue.js.map +0 -1
  186. package/src/components/tabs/EUItabs.stories.ts +0 -137
  187. package/src/components/tag/EUITag.stories.ts +0 -53
  188. package/src/components/tag/EUITag.vue +0 -88
  189. package/src/components/tag/EUITag.vue.js.map +0 -1
  190. package/src/components/telephone/EUITelephone.stories.ts +0 -358
  191. package/src/components/telephone/EUITelephone.vue +0 -299
  192. package/src/components/telephone/EUITelephone.vue.js.map +0 -1
  193. package/src/components/textArea/EUITextArea.stories.ts +0 -134
  194. package/src/components/textArea/EUITextArea.vue +0 -155
  195. package/src/components/textArea/EUITextArea.vue.js.map +0 -1
  196. package/src/components/timeLine/EUITimeLine.stories.ts +0 -247
  197. package/src/components/timeLine/EUITimeLine.vue +0 -148
  198. package/src/components/timeLine/EUITimeLine.vue.js.map +0 -1
  199. package/src/components/toggle/EUIToggle.stories.ts +0 -63
  200. package/src/components/toggle/EUIToggle.vue +0 -101
  201. package/src/components/toggle/EUIToggle.vue.js.map +0 -1
  202. package/src/components/tooltip/EUITooltip.stories.ts +0 -53
  203. package/src/components/tooltip/EUITooltip.vue +0 -111
  204. package/src/components/tooltip/EUITooltip.vue.js.map +0 -1
  205. package/src/components/uidemo/select-com.vue +0 -120
  206. package/src/components/uidemo/select-com.vue.js.map +0 -1
  207. package/src/data/books.js.map +0 -1
  208. package/src/data/books.ts +0 -163
  209. package/src/data/country.ts +0 -56
  210. package/src/data/tab.js.map +0 -1
  211. package/src/data/tab.ts +0 -40
  212. package/src/data/table.js.map +0 -1
  213. package/src/data/table.ts +0 -5654
  214. package/src/main.js.map +0 -1
  215. package/src/main.ts +0 -5
  216. package/src/style.scss +0 -186
  217. package/src/utils/helpers.js.map +0 -1
  218. package/src/utils/helpers.ts +0 -30
  219. package/src/utils/lodash.js.map +0 -1
  220. package/src/utils/lodash.ts +0 -9
  221. package/src/utils/types.js.map +0 -1
  222. package/src/utils/types.ts +0 -9
  223. package/src/vite-env.d.ts +0 -5
  224. /package/dist/{button/EUIButton.vue.d.ts → EUIButton.vue.d.ts} +0 -0
  225. /package/dist/{button/EUIButtonGroup.vue.d.ts → EUIButtonGroup.vue.d.ts} +0 -0
@@ -1,559 +0,0 @@
1
- <template>
2
- <div>
3
- <Transition name="fade" mode="out-in">
4
- <template v-if="loading">
5
- <slot name="loader" :loading="loading" :height="tableHeight">
6
- <div
7
- :class="[
8
- 'overflow-hidden relative z-0 isolate bg-white backdrop-blur transition-colors duration-150 ease-in-out rounded-xl border border-gray-50',
9
- tableHeight
10
- ? tableHeight
11
- : 'h-[calc(100svh-9rem)] max-h-[calc(100svh-9rem)]',
12
- ]"
13
- >
14
- <div
15
- class="absolute flex items-center z-[calc(infinity)] w-full h-auto pointer-events-none inset-0"
16
- >
17
- <EUICircleLoader />
18
- </div>
19
- </div>
20
- </slot>
21
- </template>
22
-
23
- <div v-else class="relative w-full mx-auto overflow-hidden">
24
- <div
25
- id="student-table"
26
- :class="[
27
- 'scrollbar--thin overscroll-auto',
28
- computedItems.length === 0 ? 'overflow-hidden' : 'overflow-auto',
29
- tableHeight
30
- ? tableHeight
31
- : 'h-[calc(100svh-12rem)] max-h-[calc(100svh-12rem)]',
32
- ]"
33
- ref="tableContainer"
34
- @scroll="handleScroll"
35
- >
36
- <table class="eui-table">
37
- <thead
38
- class="sticky top-0 left-0 z-20 bg-gray-100 before:-bottom-px before:left-0 before:absolute before:h-px before:w-full before:bg-gray-300"
39
- >
40
- <tr>
41
- <template v-if="checkable">
42
- <th class="checkable">
43
- <EUITableCheckbox
44
- :checked="isAllChecked"
45
- :indeterminate="isIndeterminate"
46
- :disabled="isAllUncheckable"
47
- class="flex justify-center mt-0"
48
- @change="checkAll"
49
- />
50
- </th>
51
- </template>
52
- <th
53
- v-for="(header, headerIndex) in headers"
54
- :key="`item-${headerIndex}`"
55
- scope="col"
56
- :class="[
57
- 'px-3 py-2 text-gray-600 snap-start snap-always',
58
- isScrolled && headerIndex === 0 ? stickyClass.head : '',
59
- { 'cursor-pointer hover:text-gray-900': header?.sortable },
60
- ]"
61
- :style="
62
- header?.width
63
- ? `min-width:${header?.width}px;max-width:${header?.width}px;`
64
- : ``
65
- "
66
- @click="sortBy(header, $event)"
67
- >
68
- <div
69
- class="flex items-center justify-between gap-2 text-sm font-medium text-current font-inter"
70
- >
71
- <slot name="header" :header="header" :index="headerIndex">
72
- {{ capitalizeText(header?.text ?? header?.name ?? "") }}
73
- </slot>
74
- <slot name="headerOptionalItem"></slot>
75
- <div v-if="header?.sortable" class="flex-none">
76
- <svg
77
- width="24"
78
- height="24"
79
- viewBox="0 0 24 24"
80
- fill="none"
81
- xmlns="http://www.w3.org/2000/svg"
82
- class="size-6"
83
- >
84
- <path
85
- d="M8 15C9.06206 16.4619 10.3071 17.7713 11.7021 18.8942C11.8774 19.0353 12.1226 19.0353 12.2979 18.8942C13.6929 17.7713 14.9379 16.4619 16 15"
86
- :stroke="
87
- currentSortDir === 'asc' &&
88
- currentSort === header?.value
89
- ? '#111827'
90
- : '#9ca3af'
91
- "
92
- stroke-opacity="0.8"
93
- stroke-width="2"
94
- stroke-linecap="round"
95
- stroke-linejoin="round"
96
- />
97
- <path
98
- d="M8 9C9.06206 7.5381 10.3071 6.2287 11.7021 5.1058C11.8774 4.9647 12.1226 4.9647 12.2979 5.1058C13.6929 6.2287 14.9379 7.5381 16 9"
99
- :stroke="
100
- currentSortDir === 'desc' &&
101
- currentSort === header?.value
102
- ? '#111827'
103
- : '#9ca3af'
104
- "
105
- stroke-opacity="0.8"
106
- stroke-width="2"
107
- stroke-linecap="round"
108
- stroke-linejoin="round"
109
- />
110
- </svg>
111
- </div>
112
- </div>
113
- </th>
114
- </tr>
115
- </thead>
116
- <tbody>
117
- <template
118
- v-if="computedItems.length > 0"
119
- v-for="(row, rowIndex) in computedItems"
120
- :key="`table-row-${rowIndex}`"
121
- >
122
- <tr
123
- :id="`row-${rowIndex}`"
124
- :class="
125
- activeRowIndex == rowIndex
126
- ? '!bg-purple-50 !ring-1 !ring-purple-100 !ring-inset'
127
- : ''
128
- "
129
- @mouseenter="
130
- $attrs.mouseenter
131
- ? $emit('mouseenter', row, rowIndex)
132
- : null
133
- "
134
- @mouseleave="
135
- $attrs.mouseleave
136
- ? $emit('mouseleave', row, rowIndex)
137
- : null
138
- "
139
- >
140
- <template v-if="checkable">
141
- <td
142
- class="checkable"
143
- :class="
144
- activeRowIndex == rowIndex
145
- ? '!bg-purple-50 !ring-1 !ring-purple-100 !ring-inset'
146
- : ''
147
- "
148
- >
149
- <EUITableCheckbox
150
- :disabled="!isRowCheckable(row)"
151
- :checked="isRowChecked(row)"
152
- @change.prevent.stop="
153
- ($event) => checkRow(row, rowIndex, $event)
154
- "
155
- />
156
- </td>
157
- </template>
158
- <td
159
- v-for="(header, headerIndex) in headers"
160
- :key="headerIndex"
161
- :class="[
162
- isScrolled && headerIndex === 0 ? stickyClass.body : '',
163
- activeRowIndex == rowIndex
164
- ? '!bg-purple-50 !ring-1 !ring-purple-100 !ring-inset'
165
- : '',
166
- ]"
167
- >
168
- <slot
169
- :name="`item.${header?.value}`"
170
- :row="row"
171
- :rowIndex="rowIndex"
172
- :headerIndex="headerIndex"
173
- >
174
- {{ getValueByPath(row, header?.value) }}
175
- </slot>
176
- </td>
177
- </tr>
178
- <template v-if="tableExpanded">
179
- <slot name="expanded" :row="row" :rowIndex="rowIndex"></slot>
180
- </template>
181
- </template>
182
- <template v-else-if="computedItems.length === 0">
183
- <tr class="norecords">
184
- <td
185
- :colspan="
186
- checkable === true ? headers.length + 1 : headers.length
187
- "
188
- >
189
- <slot name="no-records">
190
- <div
191
- class="flex items-center justify-center text-xl font-medium text-gray-500 h-[calc(100svh-18rem)] max-w-screen-xl"
192
- >
193
- No matching records found
194
- </div>
195
- </slot>
196
- </td>
197
- </tr>
198
- </template>
199
- </tbody>
200
- </table>
201
- </div>
202
- <div
203
- class="sticky bottom-0 left-0 z-50 flex items-center justify-between px-2 py-1 bg-white border-t border-gray-300"
204
- >
205
- <slot name="tableCount">
206
- <div class="inline-flex items-center gap-x-2">
207
- <div class="text-sm font-medium text-gray-900">
208
- Total {{ total }}
209
- </div>
210
- <span class="text-gray-300">&vert;</span>
211
- <div class="inline-flex items-center">
212
- <span class="text-sm font-medium text-gray-900">Per page</span>
213
- <EUIPageLimit
214
- :page-limit="limit"
215
- @update-limit="changeLimit($event)"
216
- @refetch="searchData($event)"
217
- :iconStyle="true"
218
- />
219
- </div>
220
- </div>
221
- </slot>
222
- <template v-if="paginated && computedItems.length !== 0">
223
- <slot name="tablepagination">
224
- <EUIStudentPagination
225
- :activePage="newCurrentPage"
226
- :pageLimit="limit"
227
- :totalCount="total"
228
- @change-page="pageChanged($event)"
229
- />
230
- </slot>
231
- </template>
232
- </div>
233
- </div>
234
- </Transition>
235
- </div>
236
- </template>
237
-
238
- <script setup lang="ts">
239
- import {
240
- computed,
241
- onMounted,
242
- onUnmounted,
243
- PropType,
244
- ref,
245
- toRefs,
246
- watch,
247
- } from "vue";
248
- import EUITableCheckbox from "./EUITableCheckbox.vue";
249
- import EUIPageLimit from "./EUIPageLimit.vue";
250
- import EUIStudentPagination from "./EUIStudentPagination.vue";
251
- import { capitalizeText } from "../../utils/lodash";
252
- import EUICircleLoader from "../loader/EUICircleLoader.vue";
253
- import { indexOf, getValueByPath, defaultFilter } from "../../utils/helpers";
254
-
255
- interface Header {
256
- value: string;
257
- text?: string;
258
- name?: string;
259
- width?: number;
260
- sortable?: boolean;
261
- }
262
-
263
- const props = defineProps({
264
- checkable: {
265
- type: Boolean,
266
- default: false,
267
- },
268
- stickyColumn: { type: Boolean, default: true },
269
- paginated: { type: Boolean, default: false },
270
- tableExpanded: { type: Boolean, default: false },
271
- backendPagination: { type: Boolean, default: false },
272
- checkedRows: { type: Array, default: () => ({}), required: true },
273
- headers: {
274
- type: Array as PropType<Header[]>,
275
- default: () => ({}),
276
- required: true,
277
- },
278
- items: { type: Array, required: true, default: () => ({}) },
279
- defaultSort: { type: String, default: "" },
280
- defaultSortDirection: { type: String, default: "asc" },
281
- search: { type: String, default: "" },
282
- perPage: { type: Number, default: 5 },
283
-
284
- activeRowIndex: { type: Number, default: null },
285
- currentPage: { type: Number, default: 0 },
286
- total: { type: Number, default: 0 },
287
- customIsChecked: {
288
- type: Function as PropType<(item: any, obj: any) => boolean>,
289
- default: () => () => false,
290
- },
291
- isRowCheckable: { type: Function, default: () => true },
292
- tableHeight: {
293
- type: String,
294
- required: false,
295
- default: "",
296
- },
297
- tableLoading: { type: Boolean, default: false },
298
- });
299
-
300
- const {
301
- defaultSort,
302
- defaultSortDirection,
303
- checkedRows,
304
- currentPage,
305
- items,
306
- backendPagination,
307
- total,
308
- search,
309
- headers,
310
- paginated,
311
- isRowCheckable,
312
- activeRowIndex,
313
- } = toRefs(props);
314
-
315
- const currentSort = ref(defaultSort.value);
316
- const currentSortDir = ref(defaultSortDirection.value);
317
- const newCheckedRows = ref([...checkedRows.value]);
318
- const newCurrentPage = ref(currentPage.value);
319
- const limit = ref(props.perPage);
320
- const loading = computed(() => props.tableLoading);
321
-
322
- // Computed Property
323
- const filteredItems = computed(() => {
324
- let filteredItems = items.value.slice();
325
- if (!backendPagination.value && search.value !== "") {
326
- if (search.value.trim() === "") return filteredItems;
327
- const props = headers.value.map((h: any) => h.value);
328
- filteredItems = items.value.filter((row) =>
329
- props.some((prop) =>
330
- defaultFilter(
331
- getValueByPath(row, prop),
332
- search.value.toString().toLowerCase()
333
- )
334
- )
335
- );
336
- }
337
- return filteredItems;
338
- });
339
-
340
- const computedItems = computed(() => {
341
- let items = filteredItems.value;
342
- // Sort items before slicing for pagination
343
- items.sort((a: any, b: any) => {
344
- const modifier = currentSortDir.value === "desc" ? -1 : 1;
345
- if (a[currentSort.value] < b[currentSort.value]) return -1 * modifier;
346
- if (a[currentSort.value] > b[currentSort.value]) return 1 * modifier;
347
- return 0;
348
- });
349
- return items;
350
-
351
- // Apply pagination
352
- // const start = (newCurrentPage.value - 0) * limit.value;
353
- // const end = start + limit.value;
354
- // return items.slice(start, end);
355
- });
356
-
357
- const searchData = (_data: any) => {
358
- // console.log(_data);
359
- };
360
-
361
- const isIndeterminate = computed(() => {
362
- const validVisibleData = computedItems.value.filter((row) =>
363
- isRowCheckable.value(row)
364
- );
365
- return (
366
- newCheckedRows.value.length > 0 &&
367
- newCheckedRows.value.length < validVisibleData.length
368
- );
369
- });
370
-
371
- const isAllChecked = computed(() => {
372
- return (
373
- computedItems.value.length > 0 &&
374
- computedItems.value.every((row) => newCheckedRows.value.includes(row))
375
- );
376
- });
377
-
378
- const isAllUncheckable = computed(() => {
379
- const validVisibleData = computedItems.value?.filter((row) =>
380
- isRowCheckable.value!(row)
381
- );
382
- return validVisibleData.length === 0;
383
- });
384
-
385
- // methods
386
- const emit = defineEmits([
387
- "update:currentPage",
388
- "changePage",
389
- "sort",
390
- "check",
391
- "check-all",
392
- "update:checkedRows",
393
- "update:selectedRows",
394
- "changeLimit",
395
- "mouseenter",
396
- "mouseleave",
397
- ]);
398
-
399
- const changeLimit = (limitData: number) => {
400
- limit.value = limitData;
401
- newCurrentPage.value = 0;
402
- emit("update:currentPage", newCurrentPage.value);
403
- emit("changeLimit", limitData);
404
- };
405
-
406
- const pageChanged = (page: number) => {
407
- newCurrentPage.value = page > 0 ? page : 0;
408
- emit("update:currentPage", newCurrentPage.value);
409
- emit("changePage", page);
410
- };
411
-
412
- const sortBy = (header: any, event: any) => {
413
- if (!header || !header.sortable) return;
414
- if (header.value === currentSort.value) {
415
- currentSortDir.value = currentSortDir.value === "asc" ? "desc" : "asc";
416
- }
417
- currentSort.value = header.value;
418
- emit("sort", currentSort.value, currentSortDir.value, event);
419
- };
420
-
421
- const isRowChecked = (row: any) => {
422
- return indexOf(newCheckedRows.value, row) >= 0;
423
- };
424
-
425
- const removeCheckedRow = (row: any) => {
426
- const index = indexOf(newCheckedRows.value, row);
427
- if (index >= 0) {
428
- newCheckedRows.value.splice(index, 1);
429
- }
430
- };
431
-
432
- const checkAll = () => {
433
- if (isAllChecked.value) {
434
- // Uncheck all rows
435
- newCheckedRows.value = [];
436
- } else {
437
- // Check all rows
438
- const rowsToCheck = computedItems.value.filter(
439
- (row) => !newCheckedRows.value.includes(row)
440
- );
441
- newCheckedRows.value.push(...rowsToCheck);
442
- }
443
- emit("check", newCheckedRows.value);
444
- emit("check-all", newCheckedRows.value);
445
- emit("update:checkedRows", newCheckedRows.value);
446
- emit("update:selectedRows", newCheckedRows.value);
447
- };
448
-
449
- const checkRow = (row: any, _rowIndex: number, _event: any) => {
450
- const isChecked = newCheckedRows.value.includes(row);
451
- if (_event && isChecked) {
452
- removeCheckedRow(row);
453
- } else {
454
- newCheckedRows.value.push(row);
455
- }
456
- emit("check", newCheckedRows.value, row);
457
- emit("update:checkedRows", newCheckedRows.value);
458
- emit("update:selectedRows", newCheckedRows.value);
459
- };
460
-
461
- // watch
462
- watch(
463
- () => currentPage.value,
464
- (newVal) => {
465
- newCurrentPage.value = newVal;
466
- },
467
- { immediate: true }
468
- );
469
- watch(
470
- () => checkedRows.value,
471
- (rows) => {
472
- newCheckedRows.value = [...rows];
473
- },
474
- { immediate: true }
475
- );
476
-
477
- //shadow-[4px_0px_8px_0px_#e5e6e8]
478
- // table scroll to add class
479
- const stickyClass = computed(() => {
480
- return props.checkable && props.stickyColumn
481
- ? {
482
- head: "bg-gray-100 sticky left-16 top-0 z-20 shadow-[10px_0px_16px_-5px_#e5e6e8]",
483
- body: "bg-white sticky left-16 top-0 z-10 after:absolute after:content-[''] after:bg-inherit after:w-2 after:h-[103%] after:inset-y-0 after:-right-2 after:bg-gradient-to-r after:from-gray-200 after:from-0% after:via-gray-50 after:via-60% after:z-0 after:bg-white/10",
484
- }
485
- : {
486
- head: "bg-gray-100 sticky left-0 top-0 z-20 shadow-[10px_0px_16px_-5px_#e5e6e8]",
487
- body: "bg-white sticky left-0 top-0 z-10 after:absolute after:content-[''] after:bg-inherit after:w-2 after:h-[103%] after:inset-y-0 after:-right-2 after:bg-gradient-to-r after:from-gray-200 after:from-0% after:via-gray-50 after:via-60% after:z-0 after:bg-white/10",
488
- };
489
- });
490
-
491
- const isOverflowing = ref(false);
492
- const isScrolled = ref(false);
493
- const tableContainer = ref<HTMLElement | null>(null);
494
-
495
- const handleScroll = () => {
496
- const container = tableContainer.value;
497
- if (container) {
498
- isScrolled.value = container.scrollLeft > 0;
499
- }
500
- };
501
-
502
- const checkOverflow = () => {
503
- const container = tableContainer.value;
504
- if (container) {
505
- isOverflowing.value = container.scrollWidth > container.clientWidth;
506
- }
507
- };
508
-
509
- onMounted(() => {
510
- window.addEventListener("resize", checkOverflow);
511
- });
512
-
513
- onUnmounted(() => {
514
- window.removeEventListener("resize", checkOverflow);
515
- });
516
-
517
- // Watch for changes in the container's width to check for overflow
518
- watch(() => tableContainer.value?.clientWidth, checkOverflow);
519
- </script>
520
-
521
- <style lang="scss" scoped>
522
- #student-table {
523
- & .eui-table {
524
- @apply min-w-full text-sm font-light text-left table table-auto w-full box-border border-separate relative border-spacing-0;
525
-
526
- thead tr {
527
- @apply snap-x snap-mandatory;
528
- th {
529
- @apply snap-always snap-start;
530
- &:first-of-type.checkable {
531
- @apply min-h-11 flex items-center justify-center px-2 max-w-16 w-16 sticky left-0 top-0 z-20 bg-gray-100;
532
- }
533
- }
534
- }
535
-
536
- tbody {
537
- @apply snap-y snap-mandatory snap-always;
538
- tr:not(.norecords) {
539
- @apply text-gray-600 transition-colors duration-100 bg-white snap-start ease-in-out snap-x snap-mandatory rounded-sm h-12;
540
- &:hover {
541
- @apply bg-purple-50 ring-1 ring-purple-100 ring-inset;
542
- }
543
- td {
544
- @apply px-3 py-1 text-sm font-normal transition-transform duration-100 ease-in-out snap-start snap-always border-solid border border-l-0 border-r-0 border-white first:border-s last:border-e last-of-type:rounded-e-sm first-of-type:rounded-s-sm;
545
- &:first-of-type.checkable {
546
- @apply w-12 text-center sticky left-0 top-0 z-[11] bg-white;
547
- }
548
- }
549
- &:hover td {
550
- @apply font-medium text-gray-900 bg-purple-50 border-purple-100;
551
- &:first-of-type.checkable {
552
- @apply bg-purple-50;
553
- }
554
- }
555
- }
556
- }
557
- }
558
- }
559
- </style>
@@ -1 +0,0 @@
1
- {"version":3,"file":"EUITable.vue.js","sourceRoot":"","sources":["EUITable.vue"],"names":[],"mappings":"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"}