@privyid/persona 0.9.0 → 0.10.0
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/components/breadcrumbs/Breadcrumb.vue +60 -0
- package/dist/components/breadcrumbs/Breadcrumb.vue.d.ts +41 -0
- package/dist/components/breadcrumbs/BreadcrumbItem.vue +86 -0
- package/dist/components/breadcrumbs/BreadcrumbItem.vue.d.ts +28 -0
- package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue +65 -0
- package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue.d.ts +25 -0
- package/dist/components/breadcrumbs/index.d.ts +11 -0
- package/dist/components/breadcrumbs/index.mjs +3 -0
- package/dist/components/button/Button.vue +15 -3
- package/dist/components/button/Button.vue.d.ts +11 -1
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/camera/Camera.vue +1 -1
- package/dist/components/divider/Divider.vue +5 -1
- package/dist/components/dropdown/Dropdown.vue +3 -3
- package/dist/components/dropdown/Dropdown.vue.d.ts +1 -1
- package/dist/components/dropdown/DropdownItem.vue +45 -6
- package/dist/components/dropdown/DropdownItem.vue.d.ts +21 -0
- package/dist/components/input/Input.vue +3 -3
- package/dist/components/input/Input.vue.d.ts +1 -1
- package/dist/components/input-file/InputFile.vue +29 -4
- package/dist/components/input-file/InputFile.vue.d.ts +17 -2
- package/dist/components/modal/Modal.vue +1 -1
- package/dist/components/modal/Modal.vue.d.ts +1 -1
- package/dist/components/nav/NavItem.vue.d.ts +2 -2
- package/dist/components/navbar/Navbar.vue +1 -1
- package/dist/components/navbar/NavbarNav.vue +7 -1
- package/dist/components/pdf-helipad/PdfHelipad.vue +134 -0
- package/dist/components/pdf-helipad/PdfHelipad.vue.d.ts +45 -0
- package/dist/components/pdf-helipad/assets/helicopter.svg +1 -0
- package/dist/components/pdf-helipad/index.d.ts +7 -0
- package/dist/components/pdf-helipad/index.mjs +0 -0
- package/dist/components/pdf-helipad/utils/use-drag.d.ts +8 -0
- package/dist/components/pdf-helipad/utils/use-drag.mjs +38 -0
- package/dist/components/pdf-object/PdfObjects.vue +1 -0
- package/dist/components/pdf-object/utils/use-drop.mjs +1 -1
- package/dist/components/pdf-text/PdfText.vue +129 -0
- package/dist/components/pdf-text/PdfText.vue.d.ts +168 -0
- package/dist/components/pdf-text/utils/text-to-image.d.ts +68 -0
- package/dist/components/pdf-text/utils/text-to-image.mjs +118 -0
- package/dist/components/pdf-viewer/PdfViewer.vue +4 -2
- package/dist/components/pdf-viewer/assets/pdf-loading.svg +1 -100
- package/dist/components/progress/ProgressItem.vue.d.ts +1 -1
- package/dist/components/sidebar/Sidebar.vue +1 -1
- package/dist/components/signature-text/SignatureText.vue.d.ts +1 -1
- package/dist/components/table/Table.vue +14 -6
- package/dist/components/table/Table.vue.d.ts +1 -1
- package/dist/components/toggle/Toggle.vue +10 -2
- package/dist/components/tour/TourDialog.vue.d.ts +1 -1
- package/dist/core/index.d.ts +3 -1
- package/dist/core/index.mjs +4 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ul
|
|
3
|
+
class="breadcrumbs"
|
|
4
|
+
data-testid="breadcrumbs">
|
|
5
|
+
<slot>
|
|
6
|
+
<template
|
|
7
|
+
v-for="(item, id) in items"
|
|
8
|
+
:key="id">
|
|
9
|
+
<BreadcrumbItemDropdown
|
|
10
|
+
v-if="item.subitem"
|
|
11
|
+
:text="item.text"
|
|
12
|
+
:active="item.active"
|
|
13
|
+
:href="item.href">
|
|
14
|
+
<template
|
|
15
|
+
v-for="(subitem, idx) in item.subitem"
|
|
16
|
+
:key="idx">
|
|
17
|
+
<DropdownItem
|
|
18
|
+
:active="subitem.active"
|
|
19
|
+
:href="subitem.href">
|
|
20
|
+
{{ subitem.text }}
|
|
21
|
+
</DropdownItem>
|
|
22
|
+
</template>
|
|
23
|
+
</BreadcrumbItemDropdown>
|
|
24
|
+
<BreadcrumbItem
|
|
25
|
+
v-else
|
|
26
|
+
:active="item.active"
|
|
27
|
+
:href="item.href">
|
|
28
|
+
{{ item.text }}
|
|
29
|
+
</BreadcrumbItem>
|
|
30
|
+
</template>
|
|
31
|
+
</slot>
|
|
32
|
+
</ul>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
import { defineComponent } from "vue-demi";
|
|
37
|
+
import BreadcrumbItem from "./BreadcrumbItem.vue";
|
|
38
|
+
import BreadcrumbItemDropdown from "./BreadcrumbItemDropdown.vue";
|
|
39
|
+
import DropdownItem from "../dropdown/DropdownItem.vue";
|
|
40
|
+
export default defineComponent({
|
|
41
|
+
components: {
|
|
42
|
+
BreadcrumbItem,
|
|
43
|
+
BreadcrumbItemDropdown,
|
|
44
|
+
DropdownItem
|
|
45
|
+
},
|
|
46
|
+
props: {
|
|
47
|
+
items: {
|
|
48
|
+
type: Array,
|
|
49
|
+
default: () => {
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
</script>
|
|
55
|
+
|
|
56
|
+
<style lang="postcss">
|
|
57
|
+
.breadcrumbs {
|
|
58
|
+
@apply flex space-x-3 items-center;
|
|
59
|
+
}
|
|
60
|
+
</style>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BreadcrumbItems } from '.';
|
|
2
|
+
declare const _default: import("vue-demi").DefineComponent<{
|
|
3
|
+
items: {
|
|
4
|
+
type: {
|
|
5
|
+
(arrayLength: number): BreadcrumbItems[];
|
|
6
|
+
(...items: BreadcrumbItems[]): BreadcrumbItems[];
|
|
7
|
+
new (arrayLength: number): BreadcrumbItems[];
|
|
8
|
+
new (...items: BreadcrumbItems[]): BreadcrumbItems[];
|
|
9
|
+
isArray(arg: any): arg is any[];
|
|
10
|
+
readonly prototype: any[];
|
|
11
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
12
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
13
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
14
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
15
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
16
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
17
|
+
};
|
|
18
|
+
default: () => void;
|
|
19
|
+
};
|
|
20
|
+
}, unknown, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
21
|
+
items: {
|
|
22
|
+
type: {
|
|
23
|
+
(arrayLength: number): BreadcrumbItems[];
|
|
24
|
+
(...items: BreadcrumbItems[]): BreadcrumbItems[];
|
|
25
|
+
new (arrayLength: number): BreadcrumbItems[];
|
|
26
|
+
new (...items: BreadcrumbItems[]): BreadcrumbItems[];
|
|
27
|
+
isArray(arg: any): arg is any[];
|
|
28
|
+
readonly prototype: any[];
|
|
29
|
+
from<T>(arrayLike: ArrayLike<T>): T[];
|
|
30
|
+
from<T_1, U>(arrayLike: ArrayLike<T_1>, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[];
|
|
31
|
+
from<T_2>(iterable: Iterable<T_2> | ArrayLike<T_2>): T_2[];
|
|
32
|
+
from<T_3, U_1>(iterable: Iterable<T_3> | ArrayLike<T_3>, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[];
|
|
33
|
+
of<T_4>(...items: T_4[]): T_4[];
|
|
34
|
+
readonly [Symbol.species]: ArrayConstructor;
|
|
35
|
+
};
|
|
36
|
+
default: () => void;
|
|
37
|
+
};
|
|
38
|
+
}>>, {
|
|
39
|
+
items: BreadcrumbItems[];
|
|
40
|
+
}>;
|
|
41
|
+
export default _default;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<li
|
|
3
|
+
data-testid="breadcrumbs-item"
|
|
4
|
+
class="breadcrumbs__item"
|
|
5
|
+
:class="classNames">
|
|
6
|
+
<component
|
|
7
|
+
:is="tagName"
|
|
8
|
+
:href="permalink">
|
|
9
|
+
<slot />
|
|
10
|
+
</component>
|
|
11
|
+
<IconChevron
|
|
12
|
+
v-if="!active"
|
|
13
|
+
data-testid="breadcrumbs-icon"
|
|
14
|
+
class="breadcrumbs__item__icon" />
|
|
15
|
+
</li>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
import { defineComponent, computed } from "vue-demi";
|
|
20
|
+
import IconChevron from "@carbon/icons-vue/lib/chevron--right/16";
|
|
21
|
+
export default defineComponent({
|
|
22
|
+
components: { IconChevron },
|
|
23
|
+
props: {
|
|
24
|
+
href: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: "#"
|
|
27
|
+
},
|
|
28
|
+
active: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: false
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
setup(props) {
|
|
34
|
+
const classNames = computed(() => {
|
|
35
|
+
const result = [""];
|
|
36
|
+
if (props.active)
|
|
37
|
+
result.push("breadcrumbs__item--active");
|
|
38
|
+
return result;
|
|
39
|
+
});
|
|
40
|
+
const tagName = computed(() => {
|
|
41
|
+
let tag = "a";
|
|
42
|
+
if (props.active)
|
|
43
|
+
tag = "span";
|
|
44
|
+
return tag;
|
|
45
|
+
});
|
|
46
|
+
const permalink = computed(() => {
|
|
47
|
+
if (props.active)
|
|
48
|
+
return;
|
|
49
|
+
return props.href;
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
classNames,
|
|
53
|
+
tagName,
|
|
54
|
+
permalink
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
</script>
|
|
59
|
+
|
|
60
|
+
<style lang="postcss">
|
|
61
|
+
.breadcrumbs {
|
|
62
|
+
&__item {
|
|
63
|
+
@apply inline-flex text-sm items-center;
|
|
64
|
+
|
|
65
|
+
&:last-child {
|
|
66
|
+
& > .breadcrumbs__item__icon {
|
|
67
|
+
@apply hidden;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&:not(:last-child) {
|
|
72
|
+
& > .breadcrumbs__item__icon {
|
|
73
|
+
@apply inline-flex ml-3;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
& > a {
|
|
78
|
+
@apply text-subtle cursor-pointer underline decoration-solid hover:no-underline;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
& > span {
|
|
82
|
+
@apply font-bold cursor-default;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
</style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TagVariant } from '.';
|
|
2
|
+
declare const _default: import("vue-demi").DefineComponent<{
|
|
3
|
+
href: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
7
|
+
active: {
|
|
8
|
+
type: BooleanConstructor;
|
|
9
|
+
default: boolean;
|
|
10
|
+
};
|
|
11
|
+
}, {
|
|
12
|
+
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
13
|
+
tagName: import("vue-demi").ComputedRef<TagVariant>;
|
|
14
|
+
permalink: import("vue-demi").ComputedRef<string>;
|
|
15
|
+
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
16
|
+
href: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
20
|
+
active: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: boolean;
|
|
23
|
+
};
|
|
24
|
+
}>>, {
|
|
25
|
+
href: string;
|
|
26
|
+
active: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
export default _default;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<li
|
|
3
|
+
data-testid="breadcrumbs-dropdown"
|
|
4
|
+
class="breadcrumbs__item"
|
|
5
|
+
:class="classNames">
|
|
6
|
+
<Dropdown
|
|
7
|
+
:text="text"
|
|
8
|
+
placement="bottom-end"
|
|
9
|
+
size="xs">
|
|
10
|
+
<slot />
|
|
11
|
+
</Dropdown>
|
|
12
|
+
<IconChevron
|
|
13
|
+
v-if="!active"
|
|
14
|
+
data-testid="breadcrumbs-icon"
|
|
15
|
+
class="breadcrumbs__item__icon" />
|
|
16
|
+
</li>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
import { defineComponent, computed } from "vue-demi";
|
|
21
|
+
import Dropdown from "../dropdown/Dropdown.vue";
|
|
22
|
+
import IconChevron from "@carbon/icons-vue/lib/chevron--right/16";
|
|
23
|
+
export default defineComponent({
|
|
24
|
+
components: { Dropdown, IconChevron },
|
|
25
|
+
props: {
|
|
26
|
+
text: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: ""
|
|
29
|
+
},
|
|
30
|
+
active: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
setup(props) {
|
|
36
|
+
const classNames = computed(() => {
|
|
37
|
+
const result = ["breadcrumbs__item--dropdown"];
|
|
38
|
+
if (props.active)
|
|
39
|
+
result.push("breadcrumbs__item--active");
|
|
40
|
+
return result;
|
|
41
|
+
});
|
|
42
|
+
return { classNames };
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
</script>
|
|
46
|
+
|
|
47
|
+
<style lang="postcss">
|
|
48
|
+
.breadcrumbs__item {
|
|
49
|
+
&&--dropdown {
|
|
50
|
+
.dropdown__activator {
|
|
51
|
+
@apply px-0 text-subtle bg-transparent border-transparent hover:shadow-none hover:border-transparent hover:bg-transparent focus:shadow-none focus:border-transparent focus:bg-transparent;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&&--active {
|
|
56
|
+
.dropdown__activator {
|
|
57
|
+
@apply text-default;
|
|
58
|
+
|
|
59
|
+
& > .dropdown__caret {
|
|
60
|
+
@apply text-subtle;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
</style>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare const _default: import("vue-demi").DefineComponent<{
|
|
2
|
+
text: {
|
|
3
|
+
type: StringConstructor;
|
|
4
|
+
default: string;
|
|
5
|
+
};
|
|
6
|
+
active: {
|
|
7
|
+
type: BooleanConstructor;
|
|
8
|
+
default: boolean;
|
|
9
|
+
};
|
|
10
|
+
}, {
|
|
11
|
+
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
12
|
+
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
13
|
+
text: {
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
active: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
21
|
+
}>>, {
|
|
22
|
+
active: boolean;
|
|
23
|
+
text: string;
|
|
24
|
+
}>;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface Breadcrumb {
|
|
2
|
+
text: string;
|
|
3
|
+
href?: string;
|
|
4
|
+
active?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface BreadcrumbItems extends Breadcrumb {
|
|
7
|
+
subitem?: Breadcrumb[];
|
|
8
|
+
}
|
|
9
|
+
export declare type TagVariant = 'a' | 'span';
|
|
10
|
+
export declare function defineNavigation(navigation: BreadcrumbItems[]): BreadcrumbItems[];
|
|
11
|
+
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<component
|
|
3
|
+
:is="tagName"
|
|
4
|
+
:href="href"
|
|
3
5
|
data-testid="btn"
|
|
4
6
|
:class="classNames">
|
|
5
7
|
<slot />
|
|
6
|
-
</
|
|
8
|
+
</component>
|
|
7
9
|
</template>
|
|
8
10
|
|
|
9
11
|
<script>
|
|
@@ -32,6 +34,10 @@ export default defineComponent({
|
|
|
32
34
|
pill: {
|
|
33
35
|
type: Boolean,
|
|
34
36
|
default: false
|
|
37
|
+
},
|
|
38
|
+
href: {
|
|
39
|
+
type: String,
|
|
40
|
+
default: void 0
|
|
35
41
|
}
|
|
36
42
|
},
|
|
37
43
|
setup(props) {
|
|
@@ -49,7 +55,13 @@ export default defineComponent({
|
|
|
49
55
|
result.push("btn--pill");
|
|
50
56
|
return result;
|
|
51
57
|
});
|
|
52
|
-
|
|
58
|
+
const tagName = computed(() => {
|
|
59
|
+
let tag = "button";
|
|
60
|
+
if (props.href)
|
|
61
|
+
tag = "a";
|
|
62
|
+
return tag;
|
|
63
|
+
});
|
|
64
|
+
return { classNames, tagName };
|
|
53
65
|
}
|
|
54
66
|
});
|
|
55
67
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PropType } from 'vue-demi';
|
|
2
|
-
import { ColorVariant, SizeVariant, StyleVariant } from '.';
|
|
2
|
+
import { ColorVariant, SizeVariant, StyleVariant, TagVariant } from '.';
|
|
3
3
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
4
4
|
variant: {
|
|
5
5
|
type: PropType<StyleVariant>;
|
|
@@ -21,8 +21,13 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
21
21
|
type: BooleanConstructor;
|
|
22
22
|
default: boolean;
|
|
23
23
|
};
|
|
24
|
+
href: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
default: any;
|
|
27
|
+
};
|
|
24
28
|
}, {
|
|
25
29
|
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
30
|
+
tagName: import("vue-demi").ComputedRef<TagVariant>;
|
|
26
31
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
27
32
|
variant: {
|
|
28
33
|
type: PropType<StyleVariant>;
|
|
@@ -44,11 +49,16 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
44
49
|
type: BooleanConstructor;
|
|
45
50
|
default: boolean;
|
|
46
51
|
};
|
|
52
|
+
href: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
default: any;
|
|
55
|
+
};
|
|
47
56
|
}>>, {
|
|
48
57
|
icon: boolean;
|
|
49
58
|
variant: StyleVariant;
|
|
50
59
|
size: SizeVariant;
|
|
51
60
|
color: ColorVariant;
|
|
61
|
+
href: string;
|
|
52
62
|
pill: boolean;
|
|
53
63
|
}>;
|
|
54
64
|
export default _default;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare type StyleVariant = 'solid' | 'outline' | 'ghost' | 'link' | 'input';
|
|
2
2
|
export declare type ColorVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
3
3
|
export declare type SizeVariant = 'xs' | 'sm' | 'md' | 'lg';
|
|
4
|
+
export declare type TagVariant = 'a' | 'button';
|
|
@@ -376,7 +376,7 @@ export default defineComponent({
|
|
|
376
376
|
@apply absolute bottom-20 left-0 right-0 text-center text-on-emphasis px-4;
|
|
377
377
|
|
|
378
378
|
&-text {
|
|
379
|
-
@apply bg-emphasis
|
|
379
|
+
@apply bg-emphasis/80 px-4 py-1 text-sm rounded shadow-md inline-block max-w-full truncate;
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
382
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
class="dropdown__menu">
|
|
39
39
|
<DropdownGroup
|
|
40
40
|
ref="wizard"
|
|
41
|
-
class="
|
|
41
|
+
class="dropdown__menu__container">
|
|
42
42
|
<slot />
|
|
43
43
|
</DropdownGroup>
|
|
44
44
|
</div>
|
|
@@ -251,7 +251,7 @@ export default defineComponent({
|
|
|
251
251
|
&__menu {
|
|
252
252
|
@apply max-h-64 border rounded w-full min-w-[15rem] bg-default z-10 border-default shadow-xl overflow-x-hidden overflow-y-auto absolute;
|
|
253
253
|
|
|
254
|
-
|
|
254
|
+
&__container {
|
|
255
255
|
> .dropdown__item {
|
|
256
256
|
&:first-child,
|
|
257
257
|
.dropdown__subitem:first-child & {
|
|
@@ -273,7 +273,7 @@ export default defineComponent({
|
|
|
273
273
|
&&--divider {
|
|
274
274
|
.dropdown {
|
|
275
275
|
&__menu {
|
|
276
|
-
:where(.checkbox, .radio) {
|
|
276
|
+
:where(.checkbox, .radio, .dropdown__item) {
|
|
277
277
|
@apply border-b border-solid border-b-subtle-alpha last:border-b-0;
|
|
278
278
|
}
|
|
279
279
|
}
|
|
@@ -106,10 +106,10 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
106
106
|
variant: StyleVariant;
|
|
107
107
|
size: SizeVariant;
|
|
108
108
|
color: ColorVariant;
|
|
109
|
+
text: string;
|
|
109
110
|
pill: boolean;
|
|
110
111
|
disabled: boolean;
|
|
111
112
|
modelValue: boolean;
|
|
112
|
-
text: string;
|
|
113
113
|
divider: boolean;
|
|
114
114
|
placement: Placement;
|
|
115
115
|
noCaret: boolean;
|
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<component
|
|
3
|
+
:is="tagName"
|
|
3
4
|
data-testid="dropdown-item"
|
|
4
5
|
class="dropdown__item"
|
|
6
|
+
:class="classNames"
|
|
7
|
+
:href="href"
|
|
5
8
|
@click="handleOnClick">
|
|
6
9
|
<slot>
|
|
7
10
|
{{ text }}
|
|
8
11
|
</slot>
|
|
9
|
-
</
|
|
12
|
+
</component>
|
|
10
13
|
</template>
|
|
11
14
|
|
|
12
15
|
<script>
|
|
13
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
defineComponent,
|
|
18
|
+
inject,
|
|
19
|
+
computed
|
|
20
|
+
} from "vue-demi";
|
|
14
21
|
import { DROPDOWN_CONTEXT } from ".";
|
|
15
22
|
export default defineComponent({
|
|
16
23
|
props: {
|
|
17
24
|
text: {
|
|
18
25
|
type: String,
|
|
19
26
|
default: ""
|
|
27
|
+
},
|
|
28
|
+
href: {
|
|
29
|
+
type: String,
|
|
30
|
+
default: void 0
|
|
31
|
+
},
|
|
32
|
+
active: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: false
|
|
20
35
|
}
|
|
21
36
|
},
|
|
22
37
|
emits: ["click"],
|
|
@@ -24,21 +39,45 @@ export default defineComponent({
|
|
|
24
39
|
const context = inject(DROPDOWN_CONTEXT, void 0, true);
|
|
25
40
|
function handleOnClick(event) {
|
|
26
41
|
emit("click", event);
|
|
27
|
-
if (context?.close && !event.defaultPrevented)
|
|
42
|
+
if (context?.close && !event.defaultPrevented || event.defaultPrevented && props.href)
|
|
28
43
|
context.close();
|
|
29
44
|
}
|
|
30
|
-
|
|
45
|
+
const classNames = computed(() => {
|
|
46
|
+
const result = [""];
|
|
47
|
+
if (props.active)
|
|
48
|
+
result.push("dropdown__item--active");
|
|
49
|
+
return result;
|
|
50
|
+
});
|
|
51
|
+
const tagName = computed(() => {
|
|
52
|
+
let tag = "button";
|
|
53
|
+
if (props.href)
|
|
54
|
+
tag = "a";
|
|
55
|
+
return tag;
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
handleOnClick,
|
|
59
|
+
classNames,
|
|
60
|
+
tagName
|
|
61
|
+
};
|
|
31
62
|
}
|
|
32
63
|
});
|
|
33
64
|
</script>
|
|
34
65
|
|
|
35
66
|
<style lang="postcss">
|
|
36
67
|
.dropdown__item {
|
|
37
|
-
@apply px-
|
|
68
|
+
@apply px-4 py-2 block cursor-pointer text-default w-full select-none text-left;
|
|
69
|
+
|
|
70
|
+
&:is(a) {
|
|
71
|
+
@apply hover:text-default;
|
|
72
|
+
}
|
|
38
73
|
|
|
39
74
|
&:hover,
|
|
40
75
|
&:focus-visible {
|
|
41
76
|
@apply bg-default-alpha;
|
|
42
77
|
}
|
|
78
|
+
|
|
79
|
+
&&--active {
|
|
80
|
+
@apply bg-default-alpha cursor-default;
|
|
81
|
+
}
|
|
43
82
|
}
|
|
44
83
|
</style>
|
|
@@ -1,18 +1,39 @@
|
|
|
1
|
+
import { TagVariant } from '../button';
|
|
1
2
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
2
3
|
text: {
|
|
3
4
|
type: StringConstructor;
|
|
4
5
|
default: string;
|
|
5
6
|
};
|
|
7
|
+
href: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
default: any;
|
|
10
|
+
};
|
|
11
|
+
active: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
6
15
|
}, {
|
|
7
16
|
handleOnClick: (event: Event) => void;
|
|
17
|
+
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
18
|
+
tagName: import("vue-demi").ComputedRef<TagVariant>;
|
|
8
19
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "click"[], "click", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
9
20
|
text: {
|
|
10
21
|
type: StringConstructor;
|
|
11
22
|
default: string;
|
|
12
23
|
};
|
|
24
|
+
href: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
default: any;
|
|
27
|
+
};
|
|
28
|
+
active: {
|
|
29
|
+
type: BooleanConstructor;
|
|
30
|
+
default: boolean;
|
|
31
|
+
};
|
|
13
32
|
}>> & {
|
|
14
33
|
onClick?: (...args: any[]) => any;
|
|
15
34
|
}, {
|
|
35
|
+
href: string;
|
|
36
|
+
active: boolean;
|
|
16
37
|
text: string;
|
|
17
38
|
}>;
|
|
18
39
|
export default _default;
|
|
@@ -77,10 +77,10 @@ export default defineComponent({
|
|
|
77
77
|
result.push("input--clearable");
|
|
78
78
|
return result;
|
|
79
79
|
});
|
|
80
|
-
function clear() {
|
|
81
|
-
|
|
80
|
+
function clear(event) {
|
|
81
|
+
emit("clear", event);
|
|
82
|
+
if (!props.disabled && !props.readonly && !event.defaultPrevented)
|
|
82
83
|
model.value = "";
|
|
83
|
-
emit("clear");
|
|
84
84
|
}
|
|
85
85
|
return {
|
|
86
86
|
classNames,
|
|
@@ -28,7 +28,7 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
28
28
|
}, {
|
|
29
29
|
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
30
30
|
model: import("vue-demi").Ref<string | number>;
|
|
31
|
-
clear: () => void;
|
|
31
|
+
clear: (event: MouseEvent) => void;
|
|
32
32
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("update:modelValue" | "clear")[], "update:modelValue" | "clear", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
33
33
|
modelValue: {
|
|
34
34
|
type: (NumberConstructor | StringConstructor)[];
|