@privyid/persona 0.8.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 +22 -6
- package/dist/components/button/Button.vue.d.ts +11 -1
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button-group/ButtonGroup.vue +4 -4
- package/dist/components/camera/Camera.vue +1 -1
- package/dist/components/card/Card.vue +1 -1
- package/dist/components/checkbox/Checkbox.vue +1 -1
- package/dist/components/divider/Divider.vue +5 -1
- package/dist/components/dropdown/Dropdown.vue +5 -5
- 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/label/Label.vue +3 -3
- package/dist/components/label/Label.vue.d.ts +1 -1
- package/dist/components/{app/App.vue → main/Main.vue} +25 -10
- 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/page/Page.vue +101 -0
- package/dist/components/page/Page.vue.d.ts +39 -0
- 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/PdfError.vue +4 -1
- package/dist/components/pdf-viewer/PdfLoading.vue +1 -1
- package/dist/components/pdf-viewer/PdfViewer.vue +44 -21
- package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +24 -3
- package/dist/components/pdf-viewer/assets/pdf-loading.svg +1 -85
- package/dist/components/pdf-viewer/utils/use-viewer.d.ts +1 -0
- package/dist/components/pdf-viewer/utils/use-viewer.mjs +6 -2
- package/dist/components/progress/ProgressItem.vue.d.ts +1 -1
- package/dist/components/radio/Radio.vue +1 -1
- package/dist/components/sidebar/Sidebar.vue +72 -1
- package/dist/components/sidebar/Sidebar.vue.d.ts +23 -2
- package/dist/components/sidebar-menu/SidebarMenu.vue +5 -0
- package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +10 -0
- 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 +11 -3
- package/dist/components/tour/TourDialog.vue.d.ts +1 -1
- package/dist/components/tour/TourHighlight.vue +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 +3 -1
- package/package.json +19 -8
|
@@ -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>
|
|
@@ -77,16 +89,20 @@ export default defineComponent({
|
|
|
77
89
|
@apply self-center;
|
|
78
90
|
}
|
|
79
91
|
|
|
92
|
+
> * {
|
|
93
|
+
@apply relative z-[2];
|
|
94
|
+
}
|
|
95
|
+
|
|
80
96
|
/*
|
|
81
97
|
* Button has 4 different sizing
|
|
82
98
|
* eg: xs, sm, md, and lg
|
|
83
99
|
*/
|
|
84
100
|
&&--xs {
|
|
85
|
-
@apply px-2 py-[2px] gap-1 text-sm rounded-
|
|
101
|
+
@apply px-2 py-[2px] gap-1 text-sm rounded-xs;
|
|
86
102
|
}
|
|
87
103
|
|
|
88
104
|
&&--sm {
|
|
89
|
-
@apply px-4 py-1 gap-2 text-base tracking-wider rounded-
|
|
105
|
+
@apply px-4 py-1 gap-2 text-base tracking-wider rounded-sm;
|
|
90
106
|
}
|
|
91
107
|
|
|
92
108
|
&&--md {
|
|
@@ -106,7 +122,7 @@ export default defineComponent({
|
|
|
106
122
|
|
|
107
123
|
&.btn {
|
|
108
124
|
&--default {
|
|
109
|
-
@apply bg-default-alpha
|
|
125
|
+
@apply bg-default-alpha focus:bg-subtle-alpha active:bg-subtle-alpha text-subtle hover:text-default focus:text-default;
|
|
110
126
|
}
|
|
111
127
|
|
|
112
128
|
&--primary {
|
|
@@ -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';
|
|
@@ -127,11 +127,11 @@ export default defineComponent({
|
|
|
127
127
|
@apply px-2 py-[2px] gap-1 text-sm;
|
|
128
128
|
|
|
129
129
|
&:first-child {
|
|
130
|
-
@apply rounded-l-
|
|
130
|
+
@apply rounded-l-xs;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
&:last-child {
|
|
134
|
-
@apply rounded-r-
|
|
134
|
+
@apply rounded-r-xs;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -148,11 +148,11 @@ export default defineComponent({
|
|
|
148
148
|
@apply px-4 py-1 gap-2 text-base;
|
|
149
149
|
|
|
150
150
|
&:first-child {
|
|
151
|
-
@apply rounded-l-
|
|
151
|
+
@apply rounded-l-sm;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
&:last-child {
|
|
155
|
-
@apply rounded-r-
|
|
155
|
+
@apply rounded-r-sm;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -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
|
}
|
|
@@ -152,7 +152,7 @@ export default defineComponent({
|
|
|
152
152
|
* with custom icon
|
|
153
153
|
*/
|
|
154
154
|
&__icon {
|
|
155
|
-
@apply w-5 h-5 border rounded-
|
|
155
|
+
@apply w-5 h-5 border rounded-tn border-subtle inline-flex items-center justify-center bg-default;
|
|
156
156
|
|
|
157
157
|
> svg {
|
|
158
158
|
@apply w-3 fill-default;
|
|
@@ -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,16 +251,16 @@ 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 & {
|
|
258
|
-
@apply rounded-t-
|
|
258
|
+
@apply rounded-t-sm;
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
&:last-child,
|
|
262
262
|
.dropdown__subitem:last-child & {
|
|
263
|
-
@apply rounded-b-
|
|
263
|
+
@apply rounded-b-sm;
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
}
|
|
@@ -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>
|