edvoyui-component-library-test-flight 0.0.100 → 0.0.101
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/dist/EUIButton.vue.d.ts +5 -0
- package/dist/EUIButton.vue.d.ts.map +1 -0
- package/dist/accordion/EUIAccordion.vue.d.ts +2 -2
- package/dist/accordion/EUIAccordion.vue.d.ts.map +1 -1
- package/dist/avatar/EUIAvatar.vue.d.ts +2 -2
- package/dist/avatar/EUIAvatar.vue.d.ts.map +1 -1
- package/dist/checkbox/EUICheckbox.vue.d.ts +3 -3
- package/dist/checkbox/EUICheckbox.vue.d.ts.map +1 -1
- package/dist/datepicker/EUIDatepicker.vue.d.ts +3 -3
- package/dist/datepicker/EUIDatepicker.vue.d.ts.map +1 -1
- package/dist/dropdown/EUIMultiDropdown.vue.d.ts +2 -2
- package/dist/dropdown/EUIMultiDropdown.vue.d.ts.map +1 -1
- package/dist/errorMessage/EUIErrorMessage.vue.d.ts +2 -2
- package/dist/errorMessage/EUIErrorMessage.vue.d.ts.map +1 -1
- package/dist/input/EUIInput.vue.d.ts +2 -2
- package/dist/input/EUIInput.vue.d.ts.map +1 -1
- package/dist/library-vue-ts.cjs.js +70 -24
- package/dist/library-vue-ts.css +1 -1
- package/dist/library-vue-ts.es.js +13856 -10256
- package/dist/library-vue-ts.umd.js +69 -23
- package/dist/loader/EUICircleLoader.vue.d.ts +1 -1
- package/dist/loader/EUICircleLoader.vue.d.ts.map +1 -1
- package/dist/loader/EUICubeLoader.vue.d.ts +1 -1
- package/dist/loader/EUICubeLoader.vue.d.ts.map +1 -1
- package/dist/loader/EUILoader.vue.d.ts +2 -2
- package/dist/loader/EUILoader.vue.d.ts.map +1 -1
- package/dist/loader/EUISquareLoader.vue.d.ts +1 -1
- package/dist/loader/EUISquareLoader.vue.d.ts.map +1 -1
- package/dist/modal/EUIModal.vue.d.ts +2 -2
- package/dist/modal/EUIModal.vue.d.ts.map +1 -1
- package/dist/pillSelect/EUIPillSelect.vue.d.ts +2 -2
- package/dist/pillSelect/EUIPillSelect.vue.d.ts.map +1 -1
- package/dist/popover/EUIPopover.vue.d.ts +2 -2
- package/dist/popover/EUIPopover.vue.d.ts.map +1 -1
- package/dist/radio/EUIRadio.vue.d.ts +2 -2
- package/dist/radio/EUIRadio.vue.d.ts.map +1 -1
- package/dist/searchInput/EUISearch.vue.d.ts +2 -2
- package/dist/searchInput/EUISearch.vue.d.ts.map +1 -1
- package/dist/searchexpand/EUISearchExpand.vue.d.ts +2 -2
- package/dist/searchexpand/EUISearchExpand.vue.d.ts.map +1 -1
- package/dist/searchexpand/EUISearchToggle.vue.d.ts +2 -2
- package/dist/searchexpand/EUISearchToggle.vue.d.ts.map +1 -1
- package/dist/select/EUISelect.vue.d.ts +3 -3
- package/dist/select/EUISelect.vue.d.ts.map +1 -1
- package/dist/selectSearch/EUISelectSearch.vue.d.ts +4 -0
- package/dist/selectSearch/EUISelectSearch.vue.d.ts.map +1 -0
- package/dist/slideover/EUISlideover.vue.d.ts +2 -2
- package/dist/slideover/EUISlideover.vue.d.ts.map +1 -1
- package/dist/stepperTimeline/EUIStepperHorizontal.vue.d.ts +2 -2
- package/dist/stepperTimeline/EUIStepperHorizontal.vue.d.ts.map +1 -1
- package/dist/stepperTimeline/EUIStepperTimeline.vue.d.ts +2 -2
- package/dist/stepperTimeline/EUIStepperTimeline.vue.d.ts.map +1 -1
- package/dist/stepperTimeline/EUIStepperVertical.vue.d.ts +2 -2
- package/dist/stepperTimeline/EUIStepperVertical.vue.d.ts.map +1 -1
- package/dist/table/EUIDashboardTable.vue.d.ts +2 -2
- package/dist/table/EUIDashboardTable.vue.d.ts.map +1 -1
- package/dist/table/EUIPageLimit.vue.d.ts +2 -2
- package/dist/table/EUIPageLimit.vue.d.ts.map +1 -1
- package/dist/table/EUIPagination.vue.d.ts +2 -2
- package/dist/table/EUIPagination.vue.d.ts.map +1 -1
- package/dist/table/EUIStudentPagination.vue.d.ts +2 -2
- package/dist/table/EUIStudentPagination.vue.d.ts.map +1 -1
- package/dist/table/EUITable.vue.d.ts +2 -2
- package/dist/table/EUITable.vue.d.ts.map +1 -1
- package/dist/table/EUITableCheckbox.vue.d.ts +3 -3
- package/dist/table/EUITableCheckbox.vue.d.ts.map +1 -1
- package/dist/table/GrowthTable.vue.d.ts +2 -2
- package/dist/table/GrowthTable.vue.d.ts.map +1 -1
- package/dist/table/UCheckbox.vue.d.ts +2 -2
- package/dist/table/UCheckbox.vue.d.ts.map +1 -1
- package/dist/table/UTable.vue.d.ts +2 -2
- package/dist/table/UTable.vue.d.ts.map +1 -1
- package/dist/tabs/EUITabs.vue.d.ts +2 -2
- package/dist/tabs/EUITabs.vue.d.ts.map +1 -1
- package/dist/tag/EUITag.vue.d.ts +2 -2
- package/dist/tag/EUITag.vue.d.ts.map +1 -1
- package/dist/telephone/EUITelephone.vue.d.ts +3 -3
- package/dist/telephone/EUITelephone.vue.d.ts.map +1 -1
- package/dist/textArea/EUITextArea.vue.d.ts +2 -2
- package/dist/textArea/EUITextArea.vue.d.ts.map +1 -1
- package/dist/timeLine/EUITimeLine.vue.d.ts +2 -2
- package/dist/timeLine/EUITimeLine.vue.d.ts.map +1 -1
- package/dist/timeLine/EUITimeLineItem.vue.d.ts +2 -2
- package/dist/timeLine/EUITimeLineItem.vue.d.ts.map +1 -1
- package/dist/toggle/EUIToggle.vue.d.ts +2 -2
- package/dist/toggle/EUIToggle.vue.d.ts.map +1 -1
- package/dist/tooltip/EUITooltip.vue.d.ts +2 -2
- package/dist/tooltip/EUITooltip.vue.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/HelloWorld.vue +16 -0
- package/src/components/searchexpand/EUISearchExpand.vue +47 -8
- package/src/components/select/EUISelect.vue +54 -19
- package/src/components/table/UTable.vue +2 -2
- package/src/components/tabs/EUITabs.vue +3 -1
- package/dist/EUISelectSearch.vue.d.ts +0 -4
- package/dist/EUISelectSearch.vue.d.ts.map +0 -1
- package/dist/button/EUIButton.vue.d.ts +0 -5
- package/dist/button/EUIButton.vue.d.ts.map +0 -1
- /package/src/components/checkbox/{EUICheckbox.stories.ts → EUIcheckbox.stories.ts} +0 -0
- /package/src/components/modal/{EUIModal.stories.ts → EUImodal.stories.ts} +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
2
|
<div class="relative rounded-full size-10">
|
|
4
3
|
<div class="absolute top-0 right-0">
|
|
5
4
|
<div
|
|
@@ -19,11 +18,37 @@
|
|
|
19
18
|
<SearchBigZoomIn
|
|
20
19
|
class="absolute text-current size-6 top-2 left-2"
|
|
21
20
|
/>
|
|
21
|
+
|
|
22
|
+
<button
|
|
23
|
+
v-if="isExpanded"
|
|
24
|
+
:class="
|
|
25
|
+
inputValue ? ' absolute inset-y-0 right-3 ' : ' hidden '
|
|
26
|
+
"
|
|
27
|
+
@click="(searchQuery=''), emit('update:modelValue', '')"
|
|
28
|
+
>
|
|
29
|
+
<svg
|
|
30
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
31
|
+
fill="none"
|
|
32
|
+
viewBox="0 0 24 24"
|
|
33
|
+
stroke-width="1.5"
|
|
34
|
+
stroke="currentColor"
|
|
35
|
+
class="size-5"
|
|
36
|
+
>
|
|
37
|
+
<!-- <path stroke-linecap="round" stroke-linejoin="round" d="m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
|
38
|
+
-->
|
|
39
|
+
<path
|
|
40
|
+
stroke-linecap="round"
|
|
41
|
+
stroke-linejoin="round"
|
|
42
|
+
d="M6 18 18 6M6 6l12 12"
|
|
43
|
+
/>
|
|
44
|
+
</svg>
|
|
45
|
+
</button>
|
|
46
|
+
|
|
22
47
|
<input
|
|
23
48
|
v-if="isExpanded"
|
|
24
49
|
v-model="searchQuery"
|
|
25
50
|
ref="input"
|
|
26
|
-
type="search"
|
|
51
|
+
:type="type === 'search' ? 'text' : type"
|
|
27
52
|
placeholder="Search here..."
|
|
28
53
|
class="h-10 text-sm font-medium text-gray-900 bg-transparent w-80 ps-10 pe-2 focus:outline-none"
|
|
29
54
|
autocomplete="off"
|
|
@@ -38,7 +63,7 @@
|
|
|
38
63
|
</template>
|
|
39
64
|
|
|
40
65
|
<script lang="ts" setup>
|
|
41
|
-
import { onBeforeUnmount, onMounted, ref, toRefs, watch } from "vue";
|
|
66
|
+
import { computed, onBeforeUnmount, onMounted, PropType, ref, toRefs, watch } from "vue";
|
|
42
67
|
import SearchBigZoomIn from "../../assets/svg/SearchBigZoomIn.vue";
|
|
43
68
|
|
|
44
69
|
const props = defineProps({
|
|
@@ -50,6 +75,12 @@ const props = defineProps({
|
|
|
50
75
|
type: Boolean,
|
|
51
76
|
default: false,
|
|
52
77
|
},
|
|
78
|
+
type: {
|
|
79
|
+
type: String as PropType<
|
|
80
|
+
"text" | "number" | "email" | "password" | "search"
|
|
81
|
+
>,
|
|
82
|
+
default: "text",
|
|
83
|
+
},
|
|
53
84
|
});
|
|
54
85
|
const { searchSync } = toRefs(props);
|
|
55
86
|
const emit = defineEmits(["update:modelValue"]);
|
|
@@ -64,6 +95,10 @@ function expandInput() {
|
|
|
64
95
|
input?.value?.focus();
|
|
65
96
|
}
|
|
66
97
|
|
|
98
|
+
const inputValue = computed(() => {
|
|
99
|
+
return props.modelValue === 0 ? true : !!props.modelValue;
|
|
100
|
+
});
|
|
101
|
+
|
|
67
102
|
function closeInput() {
|
|
68
103
|
if (!searchQuery.value) {
|
|
69
104
|
isExpanded.value = false;
|
|
@@ -79,11 +114,15 @@ function handleOutsideClick(event: MouseEvent) {
|
|
|
79
114
|
}
|
|
80
115
|
}
|
|
81
116
|
|
|
82
|
-
watch(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
117
|
+
watch(
|
|
118
|
+
searchSync,
|
|
119
|
+
(newVal) => {
|
|
120
|
+
if (!newVal) {
|
|
121
|
+
closeInput();
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{ immediate: true, deep: true }
|
|
125
|
+
);
|
|
87
126
|
|
|
88
127
|
onMounted(() => {
|
|
89
128
|
document.addEventListener("click", handleOutsideClick);
|
|
@@ -45,7 +45,11 @@
|
|
|
45
45
|
@open="open"
|
|
46
46
|
>
|
|
47
47
|
<!-- :clearable="isUseCustomSelect ? clearable : undefined" -->
|
|
48
|
-
|
|
48
|
+
<!-- Allow parent to override header slot -->
|
|
49
|
+
<template v-if="$slots.header" #header>
|
|
50
|
+
<slot name="header"></slot>
|
|
51
|
+
</template>
|
|
52
|
+
<template v-if="inputFilled && !$slots.header" #header>
|
|
49
53
|
<div
|
|
50
54
|
:class="[
|
|
51
55
|
inputValue
|
|
@@ -59,7 +63,14 @@
|
|
|
59
63
|
{{ startCaseText(label) || "Select" }}
|
|
60
64
|
</div>
|
|
61
65
|
</template>
|
|
62
|
-
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
<!-- Allow parent to override selected-option slot -->
|
|
69
|
+
<template v-if="$slots['selected-option']" #selected-option="slotProps">
|
|
70
|
+
<slot name="selected-option" v-bind="slotProps as Record<string, any>"></slot>
|
|
71
|
+
</template>
|
|
72
|
+
|
|
73
|
+
<template v-if="!$slots['selected-option']" #selected-option="item">
|
|
63
74
|
<div
|
|
64
75
|
:class="
|
|
65
76
|
isUseCustomSelect
|
|
@@ -77,10 +88,17 @@
|
|
|
77
88
|
"
|
|
78
89
|
:alt="item[fieldName]"
|
|
79
90
|
/>
|
|
80
|
-
{{
|
|
91
|
+
{{
|
|
92
|
+
isStartCaseText ? startCaseText(item[fieldName]) : item[fieldName]
|
|
93
|
+
}}
|
|
81
94
|
</div>
|
|
82
95
|
</template>
|
|
83
|
-
|
|
96
|
+
|
|
97
|
+
<!-- Allow parent to override option slot -->
|
|
98
|
+
<template v-if="$slots.option" #option="option">
|
|
99
|
+
<slot name="option" v-bind="option as Record<string, any>"></slot> <!-- Passing the 'option' data -->
|
|
100
|
+
</template>
|
|
101
|
+
<template v-else #option="item">
|
|
84
102
|
<div class="flex items-center">
|
|
85
103
|
<img
|
|
86
104
|
v-if="(item as any).iconlink"
|
|
@@ -89,17 +107,30 @@
|
|
|
89
107
|
:alt="item[fieldName]"
|
|
90
108
|
/>
|
|
91
109
|
|
|
92
|
-
{{
|
|
110
|
+
{{
|
|
111
|
+
isStartCaseText ? startCaseText(item[fieldName]) : item[fieldName]
|
|
112
|
+
}}
|
|
93
113
|
</div>
|
|
94
114
|
</template>
|
|
95
|
-
|
|
115
|
+
|
|
116
|
+
<!-- Allow parent to override spinner slot -->
|
|
117
|
+
<template v-if="$slots.spinner" #spinner="{ loading: _loading }">
|
|
118
|
+
<slot name="spinner" :loading="_loading || loading"></slot>
|
|
119
|
+
</template>
|
|
120
|
+
<template v-else #spinner="{ loading: _loading }">
|
|
96
121
|
<div
|
|
97
122
|
v-if="loading || _loading"
|
|
98
123
|
style="border-left-color: rgba(107, 30, 190, 0.71)"
|
|
99
124
|
class="vs__spinner"
|
|
100
125
|
/>
|
|
101
126
|
</template>
|
|
102
|
-
|
|
127
|
+
|
|
128
|
+
<!-- Allow parent to override list-header slot -->
|
|
129
|
+
<template v-if="$slots['list-header']" #list-header>
|
|
130
|
+
<slot name="list-header"></slot>
|
|
131
|
+
</template>
|
|
132
|
+
|
|
133
|
+
<template v-else-if="isSelectAll" #list-header>
|
|
103
134
|
<div v-if="items.length !== selected?.length">
|
|
104
135
|
<button
|
|
105
136
|
class="w-full px-6 py-2 text-sm font-medium text-gray-600 transition duration-75 hover:font-bold hover:text-gray-900 text-start"
|
|
@@ -109,7 +140,13 @@
|
|
|
109
140
|
</button>
|
|
110
141
|
</div>
|
|
111
142
|
</template>
|
|
112
|
-
|
|
143
|
+
|
|
144
|
+
<!-- Allow parent to override open-indicator slot -->
|
|
145
|
+
<template v-if="$slots['open-indicator']" #open-indicator="attributes">
|
|
146
|
+
<slot name="open-indicator" v-bind="attributes as Record<string, any>"></slot>
|
|
147
|
+
</template>
|
|
148
|
+
|
|
149
|
+
<template v-else #open-indicator="{ attributes }">
|
|
113
150
|
<span v-bind="attributes as Record<string, any>"
|
|
114
151
|
><ChevronBigDown class="text-current size-6"
|
|
115
152
|
/></span>
|
|
@@ -280,10 +317,10 @@ const props = defineProps({
|
|
|
280
317
|
type: Boolean,
|
|
281
318
|
default: false,
|
|
282
319
|
},
|
|
283
|
-
fieldName:{
|
|
320
|
+
fieldName: {
|
|
284
321
|
type: String,
|
|
285
|
-
default:
|
|
286
|
-
}
|
|
322
|
+
default: "name",
|
|
323
|
+
},
|
|
287
324
|
});
|
|
288
325
|
|
|
289
326
|
const {
|
|
@@ -298,7 +335,7 @@ const {
|
|
|
298
335
|
isStartCaseText,
|
|
299
336
|
isSelectAll,
|
|
300
337
|
required,
|
|
301
|
-
fieldName
|
|
338
|
+
fieldName,
|
|
302
339
|
} = toRefs(props);
|
|
303
340
|
const emit = defineEmits([
|
|
304
341
|
"update:modelValue",
|
|
@@ -307,7 +344,8 @@ const emit = defineEmits([
|
|
|
307
344
|
"deselected",
|
|
308
345
|
"search",
|
|
309
346
|
"tag",
|
|
310
|
-
"selectedOption",
|
|
347
|
+
"selectedOption",
|
|
348
|
+
"open",
|
|
311
349
|
]);
|
|
312
350
|
|
|
313
351
|
const selectAll = (e: Event) => {
|
|
@@ -510,12 +548,9 @@ const selectedLimit = () => {
|
|
|
510
548
|
}
|
|
511
549
|
};
|
|
512
550
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
}
|
|
518
|
-
|
|
551
|
+
const open = () => {
|
|
552
|
+
emit("open");
|
|
553
|
+
};
|
|
519
554
|
</script>
|
|
520
555
|
<style lang="scss">
|
|
521
556
|
.scrollbar {
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
<table>
|
|
34
34
|
<thead>
|
|
35
35
|
<tr>
|
|
36
|
+
|
|
36
37
|
<th
|
|
37
38
|
v-if="checkable"
|
|
38
39
|
class="checkable"
|
|
@@ -59,9 +60,8 @@
|
|
|
59
60
|
header?.sortable ? 'cursor-pointer hover:!text-gray-900 pr-8 pl-3': 'px-3',
|
|
60
61
|
isScrolled && headerIndex === 0 ? stickyClass.head : null,
|
|
61
62
|
{ '!bg-gray-200': currentSort === header.value },
|
|
62
|
-
|
|
63
63
|
]"
|
|
64
|
-
:style="
|
|
64
|
+
:style="headerStyle(header)"
|
|
65
65
|
@click="sortBy(header, $event)"
|
|
66
66
|
>
|
|
67
67
|
<div class="relative z-0 w-full">
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
|
|
3
|
+
<div class="overflow-x-scroll">
|
|
4
|
+
<div
|
|
4
5
|
v-if="tabStyle === 'design'"
|
|
5
6
|
class="flex flex-row items-center justify-between w-full p-2 bg-gray-100 rounded-xl"
|
|
6
7
|
>
|
|
@@ -91,6 +92,7 @@
|
|
|
91
92
|
</slot>
|
|
92
93
|
</button>
|
|
93
94
|
</div>
|
|
95
|
+
</div>
|
|
94
96
|
<div :class="['py-2 text-base font-normal text-gray-700', contentClass]">
|
|
95
97
|
<slot name="content" :active-tab="tabs[activeTabIndex]">
|
|
96
98
|
{{ tabs[activeTabIndex]?.content }}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import _sfc_main from "/Volumes/work/repos/edvoy-ui-v2/src/components/selectSearch/EUISelectSearch.vue?vue&type=script&setup=true&lang.ts";
|
|
2
|
-
export * from "/Volumes/work/repos/edvoy-ui-v2/src/components/selectSearch/EUISelectSearch.vue?vue&type=script&setup=true&lang.ts";
|
|
3
|
-
export default _sfc_main;
|
|
4
|
-
//# sourceMappingURL=EUISelectSearch.vue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EUISelectSearch.vue.d.ts","sourceRoot":"","sources":["../src/components/selectSearch/EUISelectSearch.vue"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oHAAoH,CAAC;AAC3I,cAAc,oHAAoH,CAAC;AACnI,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import _sfc_main from "/Volumes/work/repos/edvoy-ui-v2/src/components/button/EUIButton.vue?vue&type=script&setup=true&lang.ts";
|
|
2
|
-
export * from "/Volumes/work/repos/edvoy-ui-v2/src/components/button/EUIButton.vue?vue&type=script&setup=true&lang.ts";
|
|
3
|
-
import "/Volumes/work/repos/edvoy-ui-v2/src/components/button/EUIButton.vue?vue&type=style&index=0&lang.scss";
|
|
4
|
-
export default _sfc_main;
|
|
5
|
-
//# sourceMappingURL=EUIButton.vue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EUIButton.vue.d.ts","sourceRoot":"","sources":["../../src/components/button/EUIButton.vue"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wGAAwG,CAAC;AAC/H,cAAc,wGAAwG,CAAC;AACvH,OAAO,sGAAsG,CAAC;AAC9G,eAAe,SAAS,CAAC"}
|
|
File without changes
|
|
File without changes
|