edvoyui-component-library-test-flight 0.0.168 → 0.0.170
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.
- package/package.json +10 -3
- package/src/App.vue +0 -16
- package/src/assets/svg/CheckTick.vue +0 -21
- package/src/assets/svg/ChevronBigDown.vue +0 -22
- package/src/assets/svg/ChevronDownSolid.vue +0 -19
- package/src/assets/svg/ChevronDownStroke.vue +0 -22
- package/src/assets/svg/ChevronDownStrokeSolid.vue +0 -19
- package/src/assets/svg/SearchBigZoomIn.vue +0 -21
- package/src/assets/svg/SortArrow.vue +0 -24
- package/src/assets/svg/Student.vue +0 -30
- package/src/assets/svg/partner.vue +0 -33
- package/src/assets/svg/people.vue +0 -25
- package/src/components/HelloWorld.vue +0 -1974
- package/src/components/accordion/EUIAccordion.vue +0 -152
- package/src/components/alerts/EUIAlerts.vue +0 -194
- package/src/components/avatar/EUIAvatar.vue +0 -96
- package/src/components/breadcrumb/EUIBreadcrumb.vue +0 -59
- package/src/components/button/EUIButton.vue +0 -154
- package/src/components/button/EUIButtonGroup.vue +0 -287
- package/src/components/button/buttonAnimateTab.vue +0 -74
- package/src/components/checkbox/EUICheckbox.vue +0 -110
- package/src/components/datepicker/EUIDatepicker.vue +0 -295
- package/src/components/delete.vue +0 -262
- package/src/components/dragModal/EUIDrag.vue +0 -179
- package/src/components/dropdown/EUIMultiDropdown.vue +0 -174
- package/src/components/errorMessage/EUIErrorMessage.vue +0 -25
- package/src/components/input/EUIInput.vue +0 -223
- package/src/components/input/EUINumberInput.vue +0 -250
- package/src/components/loader/EUICircleLoader.vue +0 -31
- package/src/components/loader/EUICubeLoader.vue +0 -237
- package/src/components/loader/EUILoader.vue +0 -17
- package/src/components/loader/EUISquareLoader.vue +0 -47
- package/src/components/modal/EUIModal.vue +0 -224
- package/src/components/pillSelect/EUIPillSelect.vue +0 -149
- package/src/components/popover/EUIPopover.vue +0 -297
- package/src/components/radio/EUIRadio.vue +0 -75
- package/src/components/searchInput/EUISearch.vue +0 -223
- package/src/components/searchTagSelect/EUISearchTagSelect.vue +0 -642
- package/src/components/searchTagSelect/SearchInput.vue +0 -167
- package/src/components/searchexpand/EUISearchExpand.vue +0 -148
- package/src/components/searchexpand/EUISearchToggle.vue +0 -86
- package/src/components/select/EUISelect.vue +0 -1092
- package/src/components/selectSearch/EUISelectSearch.vue +0 -23
- package/src/components/slideover/EUISlideover.vue +0 -207
- package/src/components/stepperTimeline/EUIStepperHorizontal.vue +0 -242
- package/src/components/stepperTimeline/EUIStepperTimeline.vue +0 -16
- package/src/components/stepperTimeline/EUIStepperVertical.vue +0 -112
- package/src/components/table/ColumnResizeTable.vue +0 -740
- package/src/components/table/EUIDashboardTable.vue +0 -514
- package/src/components/table/EUIPageLimit.vue +0 -66
- package/src/components/table/EUIPagination.vue +0 -175
- package/src/components/table/EUIStudentPagination.vue +0 -172
- package/src/components/table/EUITable.vue +0 -559
- package/src/components/table/EUITableCheckbox.vue +0 -98
- package/src/components/table/GrowthTable.vue +0 -575
- package/src/components/table/GrowthTableView.vue +0 -108
- package/src/components/table/ResizeTableview.vue +0 -198
- package/src/components/table/UCheckbox.vue +0 -169
- package/src/components/table/UTable.vue +0 -611
- package/src/components/table/UTableview.vue +0 -189
- package/src/components/tabs/EUITabOutline.vue +0 -263
- package/src/components/tabs/EUITabs.vue +0 -226
- package/src/components/tag/EUITag.vue +0 -88
- package/src/components/telephone/EUITelephone.vue +0 -299
- package/src/components/textArea/EUITextArea.vue +0 -155
- package/src/components/timeLine/EUITimeLine.vue +0 -148
- package/src/components/toggle/EUIToggle.vue +0 -101
- package/src/components/tooltip/EUITooltip.vue +0 -111
- package/src/components/uidemo/select-com.vue +0 -120
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<!-- <pre class="text-[0.5rem] p-2 border border-gray-300 rounded-lg max-h-72 overflow-y-auto">{{ selectedRows.map(x => x?._id)}}</pre> -->
|
|
4
|
-
<ColumnResizeTable
|
|
5
|
-
:checkable="true"
|
|
6
|
-
:table-loading="loading"
|
|
7
|
-
v-model:selectedRows.sync="selectedRows"
|
|
8
|
-
paginated
|
|
9
|
-
:checked-rows.sync="checkedRows"
|
|
10
|
-
backend-pagination
|
|
11
|
-
:per-page="limit"
|
|
12
|
-
:headers="studentHeader"
|
|
13
|
-
:items="studentData"
|
|
14
|
-
:total="studentData.length"
|
|
15
|
-
:default-sort-direction="defaultSortOrder"
|
|
16
|
-
default-sort=""
|
|
17
|
-
:current-page="offset"
|
|
18
|
-
table-height="h-[calc(100svh-15rem)] max-h-[calc(100svh-15rem)]"
|
|
19
|
-
:table-expanded="true"
|
|
20
|
-
@changePage="onPageChange"
|
|
21
|
-
@sort="onSort"
|
|
22
|
-
@mouseenter="select"
|
|
23
|
-
@mouseleave="(selectedIndex = null), (selected = null)"
|
|
24
|
-
>
|
|
25
|
-
<template #[`item.firstName`]="{ row, rowIndex }">
|
|
26
|
-
<div class="space-y-0.5">
|
|
27
|
-
<div class="block text-sm font-medium leading-snug">
|
|
28
|
-
{{
|
|
29
|
-
rowIndex +
|
|
30
|
-
capitalizeText(row?.firstName) +
|
|
31
|
-
" " +
|
|
32
|
-
capitalizeText(row?.lastName)
|
|
33
|
-
}}
|
|
34
|
-
</div>
|
|
35
|
-
<div class="text-xs font-medium text-gray-900 leading-[normal]">
|
|
36
|
-
{{ row?.referenceId }}
|
|
37
|
-
</div>
|
|
38
|
-
</div>
|
|
39
|
-
</template>
|
|
40
|
-
<template #[`item.lifecycleStage`]="{ row, rowIndex }">
|
|
41
|
-
<div :key="rowIndex">
|
|
42
|
-
<div>{{ row?.lifecycleStage }}</div>
|
|
43
|
-
<button
|
|
44
|
-
type="button"
|
|
45
|
-
class="inline-flex items-center gap-2 py-0.5 text-xs font-medium text-gray-700 bg-gray-300 outline-none ps-2 pe-0.5 rounded-3xl focus:outline-none"
|
|
46
|
-
@click="rowToggle(rowIndex)"
|
|
47
|
-
>
|
|
48
|
-
Foundation
|
|
49
|
-
<span
|
|
50
|
-
class="inline-flex items-center text-xss font-bold gap-1 ps-2 pe-1 py-0.5 bg-gray-100 rounded-3xl min-w-7"
|
|
51
|
-
>2
|
|
52
|
-
<ChevronBigDown
|
|
53
|
-
class="transition-all duration-300 ease-in-out transform size-3"
|
|
54
|
-
:class="
|
|
55
|
-
activeRowIndex === rowIndex ? '-rotate-180' : 'rotate-0'
|
|
56
|
-
"
|
|
57
|
-
/>
|
|
58
|
-
</span>
|
|
59
|
-
</button>
|
|
60
|
-
</div>
|
|
61
|
-
</template>
|
|
62
|
-
|
|
63
|
-
<template #[`item.activeUser`]="{ row, rowIndex }">
|
|
64
|
-
{{ rowIndex }}
|
|
65
|
-
{{ row?.activeUser?.user?.firstName }}
|
|
66
|
-
{{ row?.activeUser?.user?.lastName }}
|
|
67
|
-
</template>
|
|
68
|
-
|
|
69
|
-
<template #expanded="{ row, rowIndex, headerLength }">
|
|
70
|
-
<tr
|
|
71
|
-
v-if="rowIndex === activeRowIndex"
|
|
72
|
-
class="row-expanded"
|
|
73
|
-
:key="`${row}-${rowIndex}-val`"
|
|
74
|
-
>
|
|
75
|
-
<td :colspan="headerLength">
|
|
76
|
-
<div>
|
|
77
|
-
<table
|
|
78
|
-
class="px-12 border-separate table-auto max-w-max border-spacing-x-0 border-spacing-y-2"
|
|
79
|
-
>
|
|
80
|
-
<tbody>
|
|
81
|
-
<tr
|
|
82
|
-
class="rounded-lg group bg-white hover:bg-violet-50 hover:ring-1 ring-violet-300 hover:shadow-[0px_1px_2px_0px_#4B55631A,0px_2px_2px_0px_#4B556314]"
|
|
83
|
-
>
|
|
84
|
-
<td
|
|
85
|
-
v-for="(data, idx) in sqlApplication"
|
|
86
|
-
:key="`data-${idx}`"
|
|
87
|
-
class="py-2.5 px-3 text-sm text-gray-700 w-40"
|
|
88
|
-
:class="
|
|
89
|
-
idx === 0
|
|
90
|
-
? 'rounded-l-lg'
|
|
91
|
-
: idx === sqlApplication.length - 1
|
|
92
|
-
? 'rounded-r-lg'
|
|
93
|
-
: ''
|
|
94
|
-
"
|
|
95
|
-
>
|
|
96
|
-
{{ data }}
|
|
97
|
-
</td>
|
|
98
|
-
</tr>
|
|
99
|
-
|
|
100
|
-
<tr
|
|
101
|
-
class="rounded-lg group bg-white hover:bg-violet-50 hover:ring-1 ring-violet-300 hover:shadow-[0px_1px_2px_0px_#4B55631A,0px_2px_2px_0px_#4B556314]"
|
|
102
|
-
>
|
|
103
|
-
<td
|
|
104
|
-
v-for="(data, idx) in sqlApplication"
|
|
105
|
-
:key="`data-${idx}`"
|
|
106
|
-
class="py-2.5 px-3 text-sm text-gray-700 w-40"
|
|
107
|
-
:class="
|
|
108
|
-
idx === 0
|
|
109
|
-
? 'rounded-l-lg'
|
|
110
|
-
: idx === sqlApplication.length - 1
|
|
111
|
-
? 'rounded-r-lg'
|
|
112
|
-
: ''
|
|
113
|
-
"
|
|
114
|
-
>
|
|
115
|
-
{{ data }}
|
|
116
|
-
</td>
|
|
117
|
-
</tr>
|
|
118
|
-
|
|
119
|
-
<tr
|
|
120
|
-
class="rounded-lg group bg-white hover:bg-violet-50 hover:ring-1 ring-violet-300 hover:shadow-[0px_1px_2px_0px_#4B55631A,0px_2px_2px_0px_#4B556314]"
|
|
121
|
-
>
|
|
122
|
-
<td
|
|
123
|
-
v-for="(data, idx) in sqlApplication"
|
|
124
|
-
:key="`data-${idx}`"
|
|
125
|
-
class="py-2.5 px-3 text-sm text-gray-700 w-40"
|
|
126
|
-
:class="
|
|
127
|
-
idx === 0
|
|
128
|
-
? 'rounded-l-lg'
|
|
129
|
-
: idx === sqlApplication.length - 1
|
|
130
|
-
? 'rounded-r-lg'
|
|
131
|
-
: ''
|
|
132
|
-
"
|
|
133
|
-
>
|
|
134
|
-
{{ data }}
|
|
135
|
-
</td>
|
|
136
|
-
</tr>
|
|
137
|
-
</tbody>
|
|
138
|
-
</table>
|
|
139
|
-
</div>
|
|
140
|
-
</td>
|
|
141
|
-
</tr>
|
|
142
|
-
</template>
|
|
143
|
-
</ColumnResizeTable>
|
|
144
|
-
</div>
|
|
145
|
-
</template>
|
|
146
|
-
|
|
147
|
-
<script setup lang="ts">
|
|
148
|
-
import { ref } from "vue";
|
|
149
|
-
import { studentData, studentHeader } from "../../data/table";
|
|
150
|
-
import { capitalizeText } from "../../utils/lodash";
|
|
151
|
-
import ChevronBigDown from "../../assets/svg/ChevronBigDown.vue";
|
|
152
|
-
import ColumnResizeTable from "./ColumnResizeTable.vue";
|
|
153
|
-
|
|
154
|
-
//TODO: Dashboard Table
|
|
155
|
-
const selectedRows = ref([]);
|
|
156
|
-
const loading = ref(false);
|
|
157
|
-
const checkedRows = ref([]);
|
|
158
|
-
const defaultSortOrder = ref("asc");
|
|
159
|
-
const limit = ref(5);
|
|
160
|
-
const offset = ref(1);
|
|
161
|
-
const selectedIndex = ref<{ index: string } | null>(null);
|
|
162
|
-
const selected = ref<{ index: string } | null>(null);
|
|
163
|
-
|
|
164
|
-
const select = (_item: any, index: any) => {
|
|
165
|
-
selectedIndex.value = index;
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
const onSort = (field: string, order: string) => {
|
|
169
|
-
const modifier = order === "desc" ? -1 : 1;
|
|
170
|
-
studentData.sort((a: any, b: any) => {
|
|
171
|
-
if (a[field] < b[field]) return -1 * modifier;
|
|
172
|
-
if (a[field] > b[field]) return 1 * modifier;
|
|
173
|
-
return 0;
|
|
174
|
-
});
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
const onPageChange = (offsetData: number) => {
|
|
178
|
-
offset.value = offsetData;
|
|
179
|
-
loading.value = true;
|
|
180
|
-
console.log("@changePage:", offsetData);
|
|
181
|
-
setTimeout(() => {
|
|
182
|
-
loading.value = false;
|
|
183
|
-
}, 1000);
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
const sqlApplication = ref(["Application 1", "Ready to Apply", "Mar 2025"]);
|
|
187
|
-
|
|
188
|
-
const activeRowIndex = ref();
|
|
189
|
-
const rowToggle = (index: any) => {
|
|
190
|
-
if (activeRowIndex.value === index) {
|
|
191
|
-
activeRowIndex.value = null;
|
|
192
|
-
} else {
|
|
193
|
-
activeRowIndex.value = index;
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
</script>
|
|
197
|
-
|
|
198
|
-
<style scoped></style>
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<label :class="classes">
|
|
3
|
-
<input
|
|
4
|
-
v-model="selected"
|
|
5
|
-
type="checkbox"
|
|
6
|
-
:value="value"
|
|
7
|
-
v-bind="attrs"
|
|
8
|
-
class="ui-checkbox__input"
|
|
9
|
-
/>
|
|
10
|
-
<span v-if="$slots.default || label" class="ui-checkbox__label">
|
|
11
|
-
<span v-if="label">
|
|
12
|
-
{{ label }}
|
|
13
|
-
</span>
|
|
14
|
-
<span v-if="$slots.default">
|
|
15
|
-
<slot />
|
|
16
|
-
</span>
|
|
17
|
-
</span>
|
|
18
|
-
</label>
|
|
19
|
-
</template>
|
|
20
|
-
|
|
21
|
-
<script lang="ts">
|
|
22
|
-
import { computed, ref, watch } from "vue";
|
|
23
|
-
|
|
24
|
-
export default {
|
|
25
|
-
name: "UICheckbox",
|
|
26
|
-
inheritAttrs: false,
|
|
27
|
-
|
|
28
|
-
props: {
|
|
29
|
-
indeterminate: Boolean,
|
|
30
|
-
checked: {
|
|
31
|
-
type: Boolean,
|
|
32
|
-
default: false,
|
|
33
|
-
},
|
|
34
|
-
value: {
|
|
35
|
-
default: null,
|
|
36
|
-
},
|
|
37
|
-
label: {
|
|
38
|
-
type: String,
|
|
39
|
-
default: "",
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
setup(props, { emit, attrs }) {
|
|
44
|
-
const isIndeterminate = ref(props.indeterminate);
|
|
45
|
-
const selected = computed({
|
|
46
|
-
get: () => props.checked,
|
|
47
|
-
set: (val) => emit("update:checked", val),
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
const isActive = computed(() => {
|
|
51
|
-
const modelIsArray = Array.isArray(props.checked) && props.checked.length !== 0;
|
|
52
|
-
const sameValue = (element:any) => element === props.value;
|
|
53
|
-
|
|
54
|
-
if (modelIsArray) {
|
|
55
|
-
return props.checked.some(sameValue);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return props.checked === true;
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
const classes = computed(() => ({
|
|
62
|
-
"ui-checkbox": true,
|
|
63
|
-
"ui-checkbox--indeterminate": isIndeterminate.value,
|
|
64
|
-
}));
|
|
65
|
-
|
|
66
|
-
const computedTabIndex = computed(() => (attrs.disabled ? -1 : 0));
|
|
67
|
-
|
|
68
|
-
const computedAttrs = computed(() => ({
|
|
69
|
-
...attrs,
|
|
70
|
-
tabindex: computedTabIndex.value,
|
|
71
|
-
role: "checkbox",
|
|
72
|
-
// "aria-checked": isIndeterminate.value ? "mixed" : isActive.value.toString(),
|
|
73
|
-
// "aria-disabled": attrs.disabled || undefined,
|
|
74
|
-
}));
|
|
75
|
-
watch(
|
|
76
|
-
() => props.indeterminate,
|
|
77
|
-
(val) => {
|
|
78
|
-
isIndeterminate.value = val;
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
watch(isActive, () => {
|
|
83
|
-
if (props.indeterminate) {
|
|
84
|
-
isIndeterminate.value = false;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
isIndeterminate,
|
|
90
|
-
selected,
|
|
91
|
-
isActive,
|
|
92
|
-
classes,
|
|
93
|
-
attrs: computedAttrs,
|
|
94
|
-
};
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
</script>
|
|
98
|
-
|
|
99
|
-
<style lang="scss">
|
|
100
|
-
.ui-checkbox {
|
|
101
|
-
@apply inline-flex items-center cursor-pointer;
|
|
102
|
-
&__input {
|
|
103
|
-
@apply w-5 h-5 flex-shrink-0 border border-solid border-gray-200 bg-white appearance-none inline-block select-none cursor-pointer align-middle rounded relative before:content-[''] before:transform before:translate-x-1/2 before:-translate-y-1/2 before:z-[-1] before:absolute before:top-1/2 before:right-1/2 before:block before:size-9 before:rounded-full before:bg-violet-100 before:opacity-0 before:transition-opacity hover:before:opacity-75;
|
|
104
|
-
&::after {
|
|
105
|
-
@apply absolute hidden border-solid inset-x-0 top-0 m-auto w-1.5 h-2.5 bottom-0.5 scale-100;
|
|
106
|
-
content: "";
|
|
107
|
-
border-width: 0 2px 2px 0;
|
|
108
|
-
-webkit-transform: rotate(45deg);
|
|
109
|
-
-ms-transform: rotate(45deg);
|
|
110
|
-
transform: rotate(45deg);
|
|
111
|
-
transform: translate3d(0, 1, 0);
|
|
112
|
-
transition: all 0.2s ease;
|
|
113
|
-
}
|
|
114
|
-
&:hover {
|
|
115
|
-
@apply bg-purple-100 border-purple-500;
|
|
116
|
-
}
|
|
117
|
-
&:checked {
|
|
118
|
-
transition: all 0.3s ease;
|
|
119
|
-
transform: translate3d(0, 1, 0);
|
|
120
|
-
@apply bg-purple-700 border-purple-700;
|
|
121
|
-
&::after {
|
|
122
|
-
@apply block border-white;
|
|
123
|
-
}
|
|
124
|
-
&:focus {
|
|
125
|
-
@apply bg-purple-700;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
&:focus {
|
|
129
|
-
@apply outline-none border-2 border-purple-700 bg-purple-200;
|
|
130
|
-
}
|
|
131
|
-
&:disabled {
|
|
132
|
-
@apply bg-gray-300 border-gray-100 cursor-not-allowed;
|
|
133
|
-
& ~ span {
|
|
134
|
-
@apply cursor-not-allowed;
|
|
135
|
-
}
|
|
136
|
-
&:checked {
|
|
137
|
-
@apply bg-white border-white;
|
|
138
|
-
&::after {
|
|
139
|
-
@apply block border-gray-100;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
&__label {
|
|
145
|
-
@apply ml-2 text-gray-900;
|
|
146
|
-
}
|
|
147
|
-
&--invalid & {
|
|
148
|
-
&__input {
|
|
149
|
-
@apply border-red-400;
|
|
150
|
-
&:checked {
|
|
151
|
-
@apply border-red-400;
|
|
152
|
-
&::after {
|
|
153
|
-
@apply block border-red-400;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
&--indeterminate & {
|
|
159
|
-
&__input {
|
|
160
|
-
@apply border-purple-700;
|
|
161
|
-
&::after {
|
|
162
|
-
@apply block bg-purple-700 border-0 bottom-0 transform-none;
|
|
163
|
-
width: 10px;
|
|
164
|
-
height: 2px;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
</style>
|