edvoyui-component-library-test-flight 0.0.63 → 0.0.65
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/library-vue-ts.cjs.js +1 -1
- package/dist/library-vue-ts.css +1 -1
- package/dist/library-vue-ts.es.js +783 -770
- package/dist/library-vue-ts.umd.js +7 -7
- package/dist/loader/EUICircleLoader.vue.d.ts +1 -1
- package/dist/tabs/EUITabs.vue.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/checkbox/EUICheckbox.vue +1 -1
- package/src/components/datepicker/EUIDatepicker.vue +13 -1
- package/src/components/loader/EUICircleLoader.vue +3 -3
- package/src/components/table/EUIStudentPagination.vue +1 -1
- package/src/components/table/UTable.scss +4 -6
- package/src/components/table/UTable.vue +2 -3
- package/src/components/tabs/EUITabs.vue +11 -9
- package/src/components/tabs/EUItabs.stories.ts +14 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "/Volumes/work/repos/edvoy-ui-v2/src/components/loader/EUICircleLoader.vue?vue&type=style&index=0&scoped=
|
|
1
|
+
import "/Volumes/work/repos/edvoy-ui-v2/src/components/loader/EUICircleLoader.vue?vue&type=style&index=0&scoped=080faf4c&lang.scss";
|
|
2
2
|
declare const _default: any;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=EUICircleLoader.vue.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "/Volumes/work/repos/edvoy-ui-v2/src/components/tabs/EUITabs.vue?vue&type=script&setup=true&lang.ts";
|
|
2
|
-
import "/Volumes/work/repos/edvoy-ui-v2/src/components/tabs/EUITabs.vue?vue&type=style&index=0&scoped=
|
|
2
|
+
import "/Volumes/work/repos/edvoy-ui-v2/src/components/tabs/EUITabs.vue?vue&type=style&index=0&scoped=c1f4455c&lang.css";
|
|
3
3
|
declare const _default: any;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=EUITabs.vue.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<label class="flex flex-row items-
|
|
2
|
+
<label class="flex flex-row items-center scale-100 translate-x-0 translate-y-0 eui-checkbox">
|
|
3
3
|
<input v-model="isChecked" type="checkbox" id="checkbox" class="appearance-none sr-only input-checkbox" :disabled="disabled"
|
|
4
4
|
@change="toggle($event)" />
|
|
5
5
|
<div class="cbx-icon" for="checkbox">
|
|
@@ -61,12 +61,13 @@
|
|
|
61
61
|
:dark="false"
|
|
62
62
|
:inline="false"
|
|
63
63
|
:text-input="false"
|
|
64
|
-
auto-apply
|
|
64
|
+
:auto-apply="autoApply"
|
|
65
65
|
:hide-input-icon="true"
|
|
66
66
|
position="left"
|
|
67
67
|
:multi-calendars="multiCalendars"
|
|
68
68
|
:min-date="minDate"
|
|
69
69
|
:max-date="maxDate"
|
|
70
|
+
:config="config"
|
|
70
71
|
/>
|
|
71
72
|
</div>
|
|
72
73
|
<EUIErrorMessage :errors="errors" :name="name" />
|
|
@@ -131,9 +132,16 @@ const props = defineProps({
|
|
|
131
132
|
required: Boolean,
|
|
132
133
|
range:Boolean,
|
|
133
134
|
multiCalendars:Boolean,
|
|
135
|
+
autoApply: {
|
|
136
|
+
type:Boolean,
|
|
137
|
+
default: true
|
|
138
|
+
},
|
|
134
139
|
inputFilled: {
|
|
135
140
|
type:Boolean,
|
|
136
141
|
default: false
|
|
142
|
+
},
|
|
143
|
+
config: {
|
|
144
|
+
type: Object, required: false, default: () => {}
|
|
137
145
|
}
|
|
138
146
|
});
|
|
139
147
|
const emit = defineEmits(["update:modelValue"]);
|
|
@@ -193,6 +201,10 @@ const clearIconRight = computed(() => (props.iconType === 'endIcon' ? '40px' : '
|
|
|
193
201
|
</script>
|
|
194
202
|
|
|
195
203
|
<style lang="scss">
|
|
204
|
+
:root {
|
|
205
|
+
--dp-menu-width: 232px;
|
|
206
|
+
--dp-menu-min-width: 232px;
|
|
207
|
+
}
|
|
196
208
|
.dp__theme_light {
|
|
197
209
|
--dp-primary-color: rgba(139, 92, 246, 1);
|
|
198
210
|
--dp-row-margin: 2px 0;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="flex flex-col items-center justify-center gap-4 size-72
|
|
3
|
-
<div class="min-h-16
|
|
2
|
+
<div class="flex flex-col items-center justify-center gap-4 mx-auto size-72">
|
|
3
|
+
<div class="relative min-h-16">
|
|
4
4
|
<div class="circle-loader">
|
|
5
5
|
</div>
|
|
6
6
|
</div>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
&::before {
|
|
18
18
|
content: "";
|
|
19
19
|
@apply absolute box-border -inset-3 rounded-full border-[0.8rem] border-solid border-violet-600;
|
|
20
|
-
animation: circleProgress
|
|
20
|
+
animation: circleProgress 1s infinite linear;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
i === '…'
|
|
21
21
|
? 'select-none pointer-events-none'
|
|
22
22
|
: currentPage === i
|
|
23
|
-
? 'text-black bg-
|
|
23
|
+
? 'text-black bg-purple-50 ring-2 ring-inset ring-purple-600'
|
|
24
24
|
: 'bg-white text-black',
|
|
25
25
|
]"
|
|
26
26
|
@click="typeof i === 'number' && changePage(i - 1)"
|
|
@@ -6,10 +6,8 @@
|
|
|
6
6
|
linear-gradient(to left, rgba(223, 231, 242, 1), rgba(255, 255, 255, 0)),
|
|
7
7
|
linear-gradient(to top, white, rgba(255, 255, 255, 0)),
|
|
8
8
|
linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(223, 231, 242, 1));
|
|
9
|
-
background-position: left center, right center, left center, right center,
|
|
10
|
-
|
|
11
|
-
background-size: 30px 100%, 30px 100%, 20px 100%, 20px 100%, 100% 100px,
|
|
12
|
-
100% 20px;
|
|
9
|
+
background-position: left center, right center, left center, right center, left bottom, left bottom;
|
|
10
|
+
background-size: 30px 100%, 30px 100%, 20px 100%, 20px 100%, 100% 100px, 100% 20px;
|
|
13
11
|
background-attachment: local, local, scroll, scroll, local, scroll;
|
|
14
12
|
|
|
15
13
|
.table {
|
|
@@ -38,14 +36,14 @@
|
|
|
38
36
|
transition: all 0.15s ease-out;
|
|
39
37
|
@apply bg-purple-50;
|
|
40
38
|
td {
|
|
41
|
-
@apply
|
|
39
|
+
@apply first:rounded-l-sm last:rounded-r-sm transition-colors duration-100 ease-in text-gray-900 bg-purple-50;
|
|
42
40
|
&:first-of-type.checkable {
|
|
43
41
|
@apply bg-purple-50;
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
td {
|
|
48
|
-
@apply relative text-sm text-gray-
|
|
46
|
+
@apply relative text-sm font-medium text-gray-600 border-b border-solid break-words flex items-center border-0 first:border-l border-r border-gray-100 py-1.5 px-3 h-12;
|
|
49
47
|
&:first-of-type.checkable {
|
|
50
48
|
@apply w-[45px] text-center sticky left-0 top-0 z-[11] bg-white;
|
|
51
49
|
}
|
|
@@ -16,11 +16,10 @@
|
|
|
16
16
|
<EUICircleLoader />
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
|
-
<div v-else class="relative max-w-
|
|
19
|
+
<div v-else class="relative max-w-full mx-auto overflow-hidden">
|
|
20
20
|
<div
|
|
21
|
-
id="euitable-comp"
|
|
22
21
|
:class="[
|
|
23
|
-
'ui-table scrollbar--
|
|
22
|
+
'ui-table scrollbar--hide overscroll-none',
|
|
24
23
|
computedItems.length === 0
|
|
25
24
|
? 'overflow-hidden pointer-events-none'
|
|
26
25
|
: 'overflow-auto',
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
v-for="(tab, tabindex) in tabs"
|
|
9
9
|
:key="tabindex"
|
|
10
10
|
type="button"
|
|
11
|
-
class="[&:not(:focus-visible)]:focus:outline-none relative w-full inline-flex items-center"
|
|
11
|
+
class="[&:not(:focus-visible)]:focus:outline-none relative w-full inline-flex items-center transition-colors duration-100"
|
|
12
12
|
role="tab"
|
|
13
13
|
tabindex="-1"
|
|
14
14
|
@click="selectTab(tabindex)"
|
|
15
15
|
>
|
|
16
16
|
<div
|
|
17
|
-
class="pointer-events-none absolute inset-0
|
|
17
|
+
class="pointer-events-none absolute inset-0 transition-transform duration-200 transform z-[1] ease-in-out"
|
|
18
18
|
:class="{
|
|
19
19
|
'translate-x-full':
|
|
20
20
|
tabindex < activeTabIndex,
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
'w-full px-4 py-2 text-sm tracking-wide font-medium capitalize z-10',
|
|
30
30
|
activeTabIndex == tabindex
|
|
31
31
|
? ' text-white'
|
|
32
|
-
: ' text-gray-500 hover:text-gray-600 rounded-lg bg-transparent z-0 transition-colors duration-300
|
|
32
|
+
: ' text-gray-500 hover:text-gray-600 rounded-lg bg-transparent z-0 transition-colors duration-300 ease-in origin-center'
|
|
33
33
|
]"
|
|
34
34
|
>
|
|
35
35
|
<slot name="title" :tab="tab">
|
|
@@ -42,17 +42,17 @@
|
|
|
42
42
|
<div
|
|
43
43
|
v-else-if="tabStyle === 'border'"
|
|
44
44
|
class="flex items-center gap-1 before:bottom-0 before:left-0 before:absolute before:content-[''] before:h-px before:w-full before:bg-gray-200 relative before:-z-[1] z-0 bg-white"
|
|
45
|
+
:class="[tabAlign === 'justify' ? 'justify-between' : tabAlign === 'end' ? 'justify-end' : 'justify-start']"
|
|
45
46
|
>
|
|
46
47
|
<button
|
|
47
48
|
v-for="(tab, tabindex) in tabs"
|
|
48
49
|
:key="tabindex"
|
|
49
50
|
role="tab"
|
|
50
|
-
class="px-3 py-1
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
:class="['px-3 py-1 leading-5 transition-all duration-150 ease-in-out hover:text-gray-800',
|
|
52
|
+
tabSize === 'sm' ? 'text-sm font-semibold border-b-2' : 'text-base font-bold border-b-[3px]',
|
|
53
|
+
activeTabIndex === tabindex
|
|
53
54
|
? 'border-gray-900 text-gray-900'
|
|
54
|
-
: 'border-transparent text-gray-500'
|
|
55
|
-
"
|
|
55
|
+
: 'border-transparent text-gray-500']"
|
|
56
56
|
@click="selectTab(tabindex)"
|
|
57
57
|
>
|
|
58
58
|
<slot name="title" :tab="tab">
|
|
@@ -101,7 +101,9 @@ const props = defineProps<{
|
|
|
101
101
|
tabs: Tab[];
|
|
102
102
|
defaultActiveIndex?: number;
|
|
103
103
|
tabStyle: "rounded" | "border" | 'design' ,
|
|
104
|
-
contentClass?: string[] | string
|
|
104
|
+
contentClass?: string[] | string,
|
|
105
|
+
tabSize?: "sm" | "md",
|
|
106
|
+
tabAlign?: 'start' | 'justify' | 'end'
|
|
105
107
|
}>();
|
|
106
108
|
|
|
107
109
|
const emit = defineEmits<{
|
|
@@ -12,6 +12,18 @@ const meta = {
|
|
|
12
12
|
control: "select",
|
|
13
13
|
options: ["rounded", "border", "design"],
|
|
14
14
|
},
|
|
15
|
+
tabSize: {
|
|
16
|
+
control: "select",
|
|
17
|
+
options: ["sm", "md"],
|
|
18
|
+
description:
|
|
19
|
+
"<mark>[:tabStyle='border']</mark> Only available tabSize variation",
|
|
20
|
+
},
|
|
21
|
+
tabAlign: {
|
|
22
|
+
control: "select",
|
|
23
|
+
options: ["start", "justify", "end"],
|
|
24
|
+
description:
|
|
25
|
+
"<mark>[:tabStyle='border']</mark> Only available tabAlign variation",
|
|
26
|
+
},
|
|
15
27
|
tabs: {
|
|
16
28
|
control: "object",
|
|
17
29
|
},
|
|
@@ -34,6 +46,8 @@ export const DefaultRoundedTab: Story = {
|
|
|
34
46
|
tabs: tabData,
|
|
35
47
|
tabStyle: "rounded",
|
|
36
48
|
defaultActiveIndex: 0, // Set default active index to 1 (second tab)
|
|
49
|
+
tabSize: "sm",
|
|
50
|
+
tabAlign: "start",
|
|
37
51
|
},
|
|
38
52
|
render: (args) => ({
|
|
39
53
|
components: { EUItabs },
|