edvoyui-component-library-test-flight 0.0.170 → 0.0.171

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 (223) hide show
  1. package/dist/library-vue-ts.umd.js +168 -0
  2. package/dist/selectSearch/EUISelectSearch.vue.d.ts.map +1 -0
  3. package/package.json +10 -11
  4. package/src/App.vue +16 -0
  5. package/src/App.vue.js.map +1 -0
  6. package/src/assets/fonts/gilroy/GilroyBold/font.woff +0 -0
  7. package/src/assets/fonts/gilroy/GilroyBold/font.woff2 +0 -0
  8. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff +0 -0
  9. package/src/assets/fonts/gilroy/GilroyBoldItalic/font.woff2 +0 -0
  10. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff +0 -0
  11. package/src/assets/fonts/gilroy/GilroyExtraBold/font.woff2 +0 -0
  12. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff +0 -0
  13. package/src/assets/fonts/gilroy/GilroyExtraBoldItalic/font.woff2 +0 -0
  14. package/src/assets/fonts/gilroy/GilroyMedium/font.woff +0 -0
  15. package/src/assets/fonts/gilroy/GilroyMedium/font.woff2 +0 -0
  16. package/src/assets/fonts/gilroy/GilroyRegular/font.woff +0 -0
  17. package/src/assets/fonts/gilroy/GilroyRegular/font.woff2 +0 -0
  18. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff +0 -0
  19. package/src/assets/fonts/gilroy/GilroySemiBold/font.woff2 +0 -0
  20. package/src/assets/fonts/inter/Inter-Bold.woff +0 -0
  21. package/src/assets/fonts/inter/Inter-Bold.woff2 +0 -0
  22. package/src/assets/fonts/inter/Inter-Italic.woff +0 -0
  23. package/src/assets/fonts/inter/Inter-Italic.woff2 +0 -0
  24. package/src/assets/fonts/inter/Inter-Medium.woff +0 -0
  25. package/src/assets/fonts/inter/Inter-Medium.woff2 +0 -0
  26. package/src/assets/fonts/inter/Inter-MediumItalic.woff +0 -0
  27. package/src/assets/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  28. package/src/assets/fonts/inter/Inter-Regular.woff +0 -0
  29. package/src/assets/fonts/inter/Inter-Regular.woff2 +0 -0
  30. package/src/assets/fonts/inter/Inter-SemiBold.woff +0 -0
  31. package/src/assets/fonts/inter/Inter-SemiBold.woff2 +0 -0
  32. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff +0 -0
  33. package/src/assets/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  34. package/src/assets/images/search-nodata.png +0 -0
  35. package/src/assets/scss/body.scss +25 -0
  36. package/src/assets/svg/CheckTick.vue +21 -0
  37. package/src/assets/svg/CheckTick.vue.js.map +1 -0
  38. package/src/assets/svg/ChevronBigDown.vue +22 -0
  39. package/src/assets/svg/ChevronBigDown.vue.js.map +1 -0
  40. package/src/assets/svg/ChevronDownSolid.vue +19 -0
  41. package/src/assets/svg/ChevronDownSolid.vue.js.map +1 -0
  42. package/src/assets/svg/ChevronDownStroke.vue +22 -0
  43. package/src/assets/svg/ChevronDownStroke.vue.js.map +1 -0
  44. package/src/assets/svg/ChevronDownStrokeSolid.vue +19 -0
  45. package/src/assets/svg/ChevronDownStrokeSolid.vue.js.map +1 -0
  46. package/src/assets/svg/SearchBigZoomIn.vue +21 -0
  47. package/src/assets/svg/SearchBigZoomIn.vue.js.map +1 -0
  48. package/src/assets/svg/SortArrow.vue +24 -0
  49. package/src/assets/svg/SortArrow.vue.js.map +1 -0
  50. package/src/assets/svg/Student.vue +30 -0
  51. package/src/assets/svg/Student.vue.js.map +1 -0
  52. package/src/assets/svg/partner.vue +33 -0
  53. package/src/assets/svg/partner.vue.js.map +1 -0
  54. package/src/assets/svg/people.vue +25 -0
  55. package/src/assets/svg/people.vue.js.map +1 -0
  56. package/src/assets/vue.svg +1 -0
  57. package/src/components/HelloWorld.vue +1974 -0
  58. package/src/components/HelloWorld.vue.js.map +1 -0
  59. package/src/components/accordion/EUIAccordion.stories.ts +204 -0
  60. package/src/components/accordion/EUIAccordion.vue +152 -0
  61. package/src/components/accordion/EUIAccordion.vue.js.map +1 -0
  62. package/src/components/alerts/EUIAlerts.stories.ts +217 -0
  63. package/src/components/alerts/EUIAlerts.vue +194 -0
  64. package/src/components/alerts/EUIAlerts.vue.js.map +1 -0
  65. package/src/components/avatar/EUIAvatar.stories.ts +157 -0
  66. package/src/components/avatar/EUIAvatar.vue +96 -0
  67. package/src/components/avatar/EUIAvatar.vue.js.map +1 -0
  68. package/src/components/breadcrumb/EUIBreadcrumb.stories.ts +75 -0
  69. package/src/components/breadcrumb/EUIBreadcrumb.vue +59 -0
  70. package/src/components/breadcrumb/EUIBreadcrumb.vue.js.map +1 -0
  71. package/src/components/button/EUIButton.stories.ts +270 -0
  72. package/src/components/button/EUIButton.vue +154 -0
  73. package/src/components/button/EUIButton.vue.js.map +1 -0
  74. package/src/components/button/EUIButtonGroup.vue +287 -0
  75. package/src/components/button/EUIButtonGroup.vue.js.map +1 -0
  76. package/src/components/button/buttonAnimateTab.vue +74 -0
  77. package/src/components/button/buttonAnimateTab.vue.js.map +1 -0
  78. package/src/components/checkbox/EUICheckbox.stories.ts +58 -0
  79. package/src/components/checkbox/EUICheckbox.vue +110 -0
  80. package/src/components/checkbox/EUICheckbox.vue.js.map +1 -0
  81. package/src/components/datepicker/EUIDatepicker.stories.ts +492 -0
  82. package/src/components/datepicker/EUIDatepicker.vue +295 -0
  83. package/src/components/datepicker/EUIDatepicker.vue.js.map +1 -0
  84. package/src/components/delete.vue +262 -0
  85. package/src/components/delete.vue.js.map +1 -0
  86. package/src/components/dragModal/EUIDrag.vue +179 -0
  87. package/src/components/dragModal/EUIDrag.vue.js.map +1 -0
  88. package/src/components/dropdown/EUIMultiDropdown.stories.ts +294 -0
  89. package/src/components/dropdown/EUIMultiDropdown.vue +174 -0
  90. package/src/components/dropdown/EUIMultiDropdown.vue.js.map +1 -0
  91. package/src/components/errorMessage/EUIErrorMessage.scss +0 -0
  92. package/src/components/errorMessage/EUIErrorMessage.stories.ts +41 -0
  93. package/src/components/errorMessage/EUIErrorMessage.vue +25 -0
  94. package/src/components/errorMessage/EUIErrorMessage.vue.js.map +1 -0
  95. package/src/components/index.js.map +1 -0
  96. package/src/components/index.ts +62 -0
  97. package/src/components/input/EUIInput.stories.ts +387 -0
  98. package/src/components/input/EUIInput.vue +223 -0
  99. package/src/components/input/EUIInput.vue.js.map +1 -0
  100. package/src/components/input/EUINumberInput.vue +250 -0
  101. package/src/components/loader/EUICircleLoader.vue +31 -0
  102. package/src/components/loader/EUICircleLoader.vue.js.map +1 -0
  103. package/src/components/loader/EUICubeLoader.vue +237 -0
  104. package/src/components/loader/EUICubeLoader.vue.js.map +1 -0
  105. package/src/components/loader/EUILoader.stories.ts +99 -0
  106. package/src/components/loader/EUILoader.vue +17 -0
  107. package/src/components/loader/EUILoader.vue.js.map +1 -0
  108. package/src/components/loader/EUISquareLoader.vue +47 -0
  109. package/src/components/loader/EUISquareLoader.vue.js.map +1 -0
  110. package/src/components/modal/EUIModal.stories.ts +412 -0
  111. package/src/components/modal/EUIModal.vue +224 -0
  112. package/src/components/modal/EUIModal.vue.js.map +1 -0
  113. package/src/components/pillSelect/EUIPillSelect.stories.ts +74 -0
  114. package/src/components/pillSelect/EUIPillSelect.vue +149 -0
  115. package/src/components/pillSelect/EUIPillSelect.vue.js.map +1 -0
  116. package/src/components/popover/EUIPopover.stories.ts +306 -0
  117. package/src/components/popover/EUIPopover.vue +297 -0
  118. package/src/components/popover/EUIPopover.vue.js.map +1 -0
  119. package/src/components/radio/EUIRadio.stories.ts +54 -0
  120. package/src/components/radio/EUIRadio.vue +75 -0
  121. package/src/components/radio/EUIRadio.vue.js.map +1 -0
  122. package/src/components/searchInput/EUISearch.stories.ts +24 -0
  123. package/src/components/searchInput/EUISearch.vue +223 -0
  124. package/src/components/searchInput/EUISearch.vue.js.map +1 -0
  125. package/src/components/searchTagSelect/EUISearchTagSelect.vue +642 -0
  126. package/src/components/searchTagSelect/EUISearchTagSelect.vue.js.map +1 -0
  127. package/src/components/searchTagSelect/SearchInput.vue +167 -0
  128. package/src/components/searchTagSelect/SearchInput.vue.js.map +1 -0
  129. package/src/components/searchexpand/EUISearchExpand.vue +148 -0
  130. package/src/components/searchexpand/EUISearchExpand.vue.js.map +1 -0
  131. package/src/components/searchexpand/EUISearchToggle.vue +86 -0
  132. package/src/components/searchexpand/EUISearchToggle.vue.js.map +1 -0
  133. package/src/components/select/EUISelect.stories.ts +101 -0
  134. package/src/components/select/EUISelect.vue +1092 -0
  135. package/src/components/select/EUISelect.vue.js.map +1 -0
  136. package/src/components/selectSearch/EUISelectSearch.vue +23 -0
  137. package/src/components/selectSearch/EUISelectSearch.vue.js.map +1 -0
  138. package/src/components/slideover/EUISlideover.stories.ts +318 -0
  139. package/src/components/slideover/EUISlideover.vue +207 -0
  140. package/src/components/slideover/EUISlideover.vue.js.map +1 -0
  141. package/src/components/stepperTimeline/EUIStepperHorizontal.vue +242 -0
  142. package/src/components/stepperTimeline/EUIStepperHorizontal.vue.js.map +1 -0
  143. package/src/components/stepperTimeline/EUIStepperTimeline.stories.ts +54 -0
  144. package/src/components/stepperTimeline/EUIStepperTimeline.vue +16 -0
  145. package/src/components/stepperTimeline/EUIStepperTimeline.vue.js.map +1 -0
  146. package/src/components/stepperTimeline/EUIStepperVertical.vue +112 -0
  147. package/src/components/stepperTimeline/EUIStepperVertical.vue.js.map +1 -0
  148. package/src/components/table/ColumnResizeTable.vue +740 -0
  149. package/src/components/table/ColumnResizeTable.vue.js.map +1 -0
  150. package/src/components/table/EUIDashboardTable.vue +514 -0
  151. package/src/components/table/EUIDashboardTable.vue.js.map +1 -0
  152. package/src/components/table/EUIPageLimit.vue +66 -0
  153. package/src/components/table/EUIPageLimit.vue.js.map +1 -0
  154. package/src/components/table/EUIPagination.vue +175 -0
  155. package/src/components/table/EUIPagination.vue.js.map +1 -0
  156. package/src/components/table/EUIStudentPagination.vue +172 -0
  157. package/src/components/table/EUIStudentPagination.vue.js.map +1 -0
  158. package/src/components/table/EUITable.stories.ts +300 -0
  159. package/src/components/table/EUITable.vue +559 -0
  160. package/src/components/table/EUITable.vue.js.map +1 -0
  161. package/src/components/table/EUITableCheckbox.vue +98 -0
  162. package/src/components/table/EUITableCheckbox.vue.js.map +1 -0
  163. package/src/components/table/GrowthTable.vue +575 -0
  164. package/src/components/table/GrowthTable.vue.js.map +1 -0
  165. package/src/components/table/GrowthTableView.vue +108 -0
  166. package/src/components/table/GrowthTableView.vue.js.map +1 -0
  167. package/src/components/table/ResizeTableview.vue +198 -0
  168. package/src/components/table/ResizeTableview.vue.js.map +1 -0
  169. package/src/components/table/UCheckbox.vue +169 -0
  170. package/src/components/table/UCheckbox.vue.js.map +1 -0
  171. package/src/components/table/UTable.scss +69 -0
  172. package/src/components/table/UTable.vue +611 -0
  173. package/src/components/table/UTable.vue.js.map +1 -0
  174. package/src/components/table/UTableview.vue +189 -0
  175. package/src/components/table/UTableview.vue.js.map +1 -0
  176. package/src/components/tabs/EUITabOutline.vue +263 -0
  177. package/src/components/tabs/EUITabOutline.vue.js.map +1 -0
  178. package/src/components/tabs/EUITabs.vue +226 -0
  179. package/src/components/tabs/EUITabs.vue.js.map +1 -0
  180. package/src/components/tabs/EUItabs.stories.ts +137 -0
  181. package/src/components/tag/EUITag.stories.ts +53 -0
  182. package/src/components/tag/EUITag.vue +88 -0
  183. package/src/components/tag/EUITag.vue.js.map +1 -0
  184. package/src/components/telephone/EUITelephone.stories.ts +358 -0
  185. package/src/components/telephone/EUITelephone.vue +299 -0
  186. package/src/components/telephone/EUITelephone.vue.js.map +1 -0
  187. package/src/components/textArea/EUITextArea.stories.ts +134 -0
  188. package/src/components/textArea/EUITextArea.vue +155 -0
  189. package/src/components/textArea/EUITextArea.vue.js.map +1 -0
  190. package/src/components/timeLine/EUITimeLine.stories.ts +247 -0
  191. package/src/components/timeLine/EUITimeLine.vue +148 -0
  192. package/src/components/timeLine/EUITimeLine.vue.js.map +1 -0
  193. package/src/components/toggle/EUIToggle.stories.ts +63 -0
  194. package/src/components/toggle/EUIToggle.vue +101 -0
  195. package/src/components/toggle/EUIToggle.vue.js.map +1 -0
  196. package/src/components/tooltip/EUITooltip.stories.ts +53 -0
  197. package/src/components/tooltip/EUITooltip.vue +111 -0
  198. package/src/components/tooltip/EUITooltip.vue.js.map +1 -0
  199. package/src/components/uidemo/select-com.vue +120 -0
  200. package/src/components/uidemo/select-com.vue.js.map +1 -0
  201. package/src/data/books.js.map +1 -0
  202. package/src/data/books.ts +163 -0
  203. package/src/data/country.ts +56 -0
  204. package/src/data/tab.js.map +1 -0
  205. package/src/data/tab.ts +40 -0
  206. package/src/data/table.js.map +1 -0
  207. package/src/data/table.ts +5654 -0
  208. package/src/main.js.map +1 -0
  209. package/src/main.ts +5 -0
  210. package/src/style.scss +186 -0
  211. package/src/utils/helpers.js.map +1 -0
  212. package/src/utils/helpers.ts +30 -0
  213. package/src/utils/lodash.js.map +1 -0
  214. package/src/utils/lodash.ts +9 -0
  215. package/src/utils/types.js.map +1 -0
  216. package/src/utils/types.ts +9 -0
  217. package/src/vite-env.d.ts +5 -0
  218. package/dist/EUISelectSearch.vue.d.ts.map +0 -1
  219. package/dist/edvoy-ui.umd.js +0 -168
  220. /package/dist/{edvoy-ui.cjs.js → library-vue-ts.cjs.js} +0 -0
  221. /package/dist/{edvoy-ui.css → library-vue-ts.css} +0 -0
  222. /package/dist/{edvoy-ui.es.js → library-vue-ts.es.js} +0 -0
  223. /package/dist/{EUISelectSearch.vue.d.ts → selectSearch/EUISelectSearch.vue.d.ts} +0 -0
@@ -0,0 +1,559 @@
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>
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EUITable.vue.js","sourceRoot":"","sources":["EUITable.vue"],"names":[],"mappings":"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"}