@privyid/persona 0.16.0 → 0.17.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/avatar/Avatar.vue.d.ts +3 -3
- package/dist/components/button/Button.vue.d.ts +2 -2
- package/dist/components/card/Card.vue +8 -5
- package/dist/components/carousel/Carousel.vue +197 -0
- package/dist/components/carousel/Carousel.vue.d.ts +111 -0
- package/dist/components/carousel/CarouselBody.vue +25 -0
- package/dist/components/carousel/CarouselBody.vue.d.ts +2 -0
- package/dist/components/carousel/CarouselItem.vue +15 -0
- package/dist/components/carousel/CarouselItem.vue.d.ts +2 -0
- package/dist/components/carousel/index.d.ts +4 -0
- package/dist/components/carousel/index.mjs +1 -0
- package/dist/components/checkbox/Checkbox.vue +2 -2
- package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
- package/dist/components/contextual-bar/ContextualBar.vue.d.ts +2 -2
- package/dist/components/cropper/Cropper.vue.d.ts +2 -2
- package/dist/components/cropper/utils/use-ratio.d.ts +1 -1
- package/dist/components/cropper/utils/use-ratio.mjs +2 -2
- package/dist/components/datepicker/Datepicker.vue +1 -0
- package/dist/components/dropdown/Dropdown.vue +11 -1
- package/dist/components/dropdown/Dropdown.vue.d.ts +13 -4
- package/dist/components/dropdown/DropdownHeader.vue +35 -0
- package/dist/components/dropdown/DropdownHeader.vue.d.ts +2 -0
- package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +2 -2
- package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +6 -6
- package/dist/components/form-group/FormGroup.vue +16 -5
- package/dist/components/input/Input.vue +4 -3
- package/dist/components/input/Input.vue.d.ts +4 -4
- package/dist/components/input/index.mjs +1 -1
- package/dist/components/input-file/InputFile.vue.d.ts +2 -2
- package/dist/components/input-group/InputGroup.vue.d.ts +1 -1
- package/dist/components/input-password/InputPassword.vue +5 -5
- package/dist/components/input-pin/InputPin.vue +3 -3
- package/dist/components/input-pin/InputPin.vue.d.ts +3 -3
- package/dist/components/input-range/InputRange.vue.d.ts +1 -1
- package/dist/components/label/Label.vue.d.ts +1 -1
- package/dist/components/list-group/ListGroup.vue +51 -0
- package/dist/components/list-group/ListGroup.vue.d.ts +25 -0
- package/dist/components/list-group/ListGroupItem.vue +94 -0
- package/dist/components/list-group/ListGroupItem.vue.d.ts +37 -0
- package/dist/components/list-group/index.d.ts +1 -0
- package/dist/components/list-group/index.mjs +0 -0
- package/dist/components/modal/Modal.vue.d.ts +1 -1
- package/dist/components/nav/Nav.vue.d.ts +1 -1
- package/dist/components/nav/NavItem.vue +1 -1
- package/dist/components/nav/NavItem.vue.d.ts +2 -2
- package/dist/components/nav/NavItemDropdown.vue +6 -1
- package/dist/components/nav/NavItemDropdown.vue.d.ts +12 -3
- package/dist/components/navbar/Navbar.vue +2 -1
- package/dist/components/pdf-object/PdfObject.vue.d.ts +1 -1
- package/dist/components/pdf-text/PdfText.vue.d.ts +3 -3
- package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +1 -1
- package/dist/components/progress-indicator/ProgressIndicator.vue +125 -0
- package/dist/components/progress-indicator/ProgressIndicator.vue.d.ts +42 -0
- package/dist/components/radio/Radio.vue +2 -2
- package/dist/components/radio/Radio.vue.d.ts +4 -4
- package/dist/components/select/Select.vue.d.ts +3 -3
- package/dist/components/sidebar-menu/SidebarMenu.vue +139 -2
- package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +31 -1
- package/dist/components/sidebar-menu/index.d.ts +3 -0
- package/dist/components/signature-draw/SignatureDraw.vue +5 -6
- package/dist/components/signature-draw/SignatureDraw.vue.d.ts +0 -1
- package/dist/components/signature-text/SignatureText.vue.d.ts +1 -1
- package/dist/components/steps/StepSlider.vue +6 -8
- package/dist/components/steps/StepSlider.vue.d.ts +9 -0
- package/dist/components/steps/Steps.vue +28 -9
- package/dist/components/steps/Steps.vue.d.ts +30 -2
- package/dist/components/steps/index.d.ts +2 -0
- package/dist/components/tabs/Tabs.vue.d.ts +1 -1
- package/dist/components/text/Text.vue +4 -2
- package/dist/components/textarea/Textarea.vue +1 -1
- package/dist/components/textarea/Textarea.vue.d.ts +3 -3
- package/dist/components/toast/Toast.vue +18 -9
- package/dist/components/toast/ToastContainer.vue +116 -31
- package/dist/components/toast/ToastContainer.vue.d.ts +18 -3
- package/dist/components/toast/ToastRoot.vue +45 -0
- package/dist/components/toast/ToastRoot.vue.d.ts +13 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/index.mjs +3 -3
- package/dist/components/toggle/Toggle.vue.d.ts +6 -6
- package/dist/components/tour/TourDialog.vue.d.ts +1 -1
- package/dist/components/truncate/Truncate.vue.d.ts +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/package.json +6 -6
|
@@ -32,13 +32,17 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
32
32
|
default: string;
|
|
33
33
|
};
|
|
34
34
|
menuClass: {
|
|
35
|
-
type: (StringConstructor |
|
|
35
|
+
type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
|
|
36
36
|
default: undefined;
|
|
37
37
|
};
|
|
38
38
|
menuSize: {
|
|
39
39
|
type: PropType<MenuSizeVariant>;
|
|
40
40
|
default: string;
|
|
41
41
|
};
|
|
42
|
+
divider: {
|
|
43
|
+
type: BooleanConstructor;
|
|
44
|
+
default: boolean;
|
|
45
|
+
};
|
|
42
46
|
}, {
|
|
43
47
|
model: import("vue-demi").Ref<boolean>;
|
|
44
48
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
@@ -71,23 +75,28 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
71
75
|
default: string;
|
|
72
76
|
};
|
|
73
77
|
menuClass: {
|
|
74
|
-
type: (StringConstructor |
|
|
78
|
+
type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
|
|
75
79
|
default: undefined;
|
|
76
80
|
};
|
|
77
81
|
menuSize: {
|
|
78
82
|
type: PropType<MenuSizeVariant>;
|
|
79
83
|
default: string;
|
|
80
84
|
};
|
|
85
|
+
divider: {
|
|
86
|
+
type: BooleanConstructor;
|
|
87
|
+
default: boolean;
|
|
88
|
+
};
|
|
81
89
|
}>> & {
|
|
82
90
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
83
91
|
}, {
|
|
84
92
|
variant: StyleVariant;
|
|
93
|
+
size: SizeVariant;
|
|
85
94
|
icon: boolean;
|
|
86
95
|
text: string;
|
|
87
|
-
size: SizeVariant;
|
|
88
96
|
modelValue: boolean;
|
|
89
97
|
placement: Placement;
|
|
90
98
|
noCaret: boolean;
|
|
99
|
+
divider: boolean;
|
|
91
100
|
menuClass: string | Record<string, any> | unknown[];
|
|
92
101
|
menuSize: MenuSizeVariant;
|
|
93
102
|
}, {}>;
|
|
@@ -94,6 +94,7 @@ export default defineComponent({
|
|
|
94
94
|
--p-navbar-padding-y: theme(spacing.3);
|
|
95
95
|
--p-navbar-bg: theme(backgroundColor.default.DEFAULT);
|
|
96
96
|
--p-navbar-bg-dark: theme(backgroundColor.dark.default.DEFAULT);
|
|
97
|
+
--p-navbar-shadow: theme(boxShadow.lg);
|
|
97
98
|
|
|
98
99
|
@apply bg-[color:var(--p-navbar-bg)] relative px-[var(--p-navbar-padding-x)] py-[var(--p-navbar-padding-y)] flex items-center flex-wrap transition-shadow duration-150 ease-in-out;
|
|
99
100
|
@apply dark:bg-[color:var(--p-navbar-bg-dark)];
|
|
@@ -107,7 +108,7 @@ export default defineComponent({
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
&&--shadow {
|
|
110
|
-
@apply shadow-
|
|
111
|
+
@apply shadow-[var(--p-navbar-shadow)] transition-shadow duration-150 ease-in-out;
|
|
111
112
|
}
|
|
112
113
|
|
|
113
114
|
&&--expand {
|
|
@@ -116,9 +116,9 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
116
116
|
"onUpdate:height"?: ((...args: any[]) => any) | undefined;
|
|
117
117
|
}, {
|
|
118
118
|
y: number;
|
|
119
|
-
x: number;
|
|
120
119
|
width: number;
|
|
121
120
|
height: number;
|
|
121
|
+
x: number;
|
|
122
122
|
autofocus: boolean;
|
|
123
123
|
maxHeight: number;
|
|
124
124
|
maxWidth: number;
|
|
@@ -147,17 +147,17 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
147
147
|
default: number;
|
|
148
148
|
};
|
|
149
149
|
}>>, {
|
|
150
|
+
size: number;
|
|
150
151
|
color: string;
|
|
151
152
|
text: string;
|
|
152
|
-
size: number;
|
|
153
153
|
modelValue: string | File;
|
|
154
154
|
label: string;
|
|
155
155
|
modelModifiers: ModelModifier;
|
|
156
|
+
width: number;
|
|
157
|
+
height: number;
|
|
156
158
|
font: string;
|
|
157
159
|
padding: number;
|
|
158
160
|
lineHeight: number;
|
|
159
|
-
width: number;
|
|
160
|
-
height: number;
|
|
161
161
|
labelColor: string;
|
|
162
162
|
minSize: number;
|
|
163
163
|
maxSize: number;
|
|
@@ -71,9 +71,9 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
71
71
|
default: number;
|
|
72
72
|
};
|
|
73
73
|
}>> & {
|
|
74
|
+
onLoaded?: ((...args: any[]) => any) | undefined;
|
|
74
75
|
onError?: ((...args: any[]) => any) | undefined;
|
|
75
76
|
onReady?: ((...args: any[]) => any) | undefined;
|
|
76
|
-
onLoaded?: ((...args: any[]) => any) | undefined;
|
|
77
77
|
"onError-password"?: ((...args: any[]) => any) | undefined;
|
|
78
78
|
"onUpdate:page"?: ((...args: any[]) => any) | undefined;
|
|
79
79
|
"onUpdate:scale"?: ((...args: any[]) => any) | undefined;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="progress-indicator"
|
|
4
|
+
data-testid="progress-indicator"
|
|
5
|
+
:class="classNames">
|
|
6
|
+
<div class="progress-indicator__container">
|
|
7
|
+
<template
|
|
8
|
+
v-for="i in nums"
|
|
9
|
+
:key="i">
|
|
10
|
+
<div
|
|
11
|
+
class="progress-indicator__item"
|
|
12
|
+
data-testid="progress-indicator-item"
|
|
13
|
+
@click="setValue(i)" />
|
|
14
|
+
</template>
|
|
15
|
+
</div>
|
|
16
|
+
<div
|
|
17
|
+
:style="activeStyle"
|
|
18
|
+
class="progress-indicator__item progress-indicator__item--active"
|
|
19
|
+
data-testid="progress-indicator-item-active" />
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script>
|
|
24
|
+
import { useVModel } from "../input";
|
|
25
|
+
import { useToNumber } from "@vueuse/core";
|
|
26
|
+
import { useClamp } from "@vueuse/math";
|
|
27
|
+
import {
|
|
28
|
+
computed,
|
|
29
|
+
defineComponent,
|
|
30
|
+
toRef
|
|
31
|
+
} from "vue-demi";
|
|
32
|
+
export default defineComponent({
|
|
33
|
+
props: {
|
|
34
|
+
modelValue: {
|
|
35
|
+
type: Number,
|
|
36
|
+
default: 1
|
|
37
|
+
},
|
|
38
|
+
direction: {
|
|
39
|
+
type: String,
|
|
40
|
+
default: "horizontal"
|
|
41
|
+
},
|
|
42
|
+
length: {
|
|
43
|
+
type: [Number, String],
|
|
44
|
+
default: 6
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
models: {
|
|
48
|
+
prop: "modelValue",
|
|
49
|
+
event: "update:modelValue"
|
|
50
|
+
},
|
|
51
|
+
emits: ["update:modelValue", "change"],
|
|
52
|
+
setup(props, { emit }) {
|
|
53
|
+
const model = useVModel(props);
|
|
54
|
+
const nums = useToNumber(toRef(props, "length"), { nanToZero: true, method: "parseInt" });
|
|
55
|
+
const active = useClamp(model, 1, nums);
|
|
56
|
+
const classNames = computed(() => {
|
|
57
|
+
const result = [];
|
|
58
|
+
if (props.direction)
|
|
59
|
+
result.push(`progress-indicator--${props.direction}`);
|
|
60
|
+
return result;
|
|
61
|
+
});
|
|
62
|
+
const activeStyle = computed(() => {
|
|
63
|
+
if (props.direction === "vertical") {
|
|
64
|
+
return {
|
|
65
|
+
transform: `translateY(calc((100% + .25rem) * ${active.value - 1}))`,
|
|
66
|
+
height: `calc((100% - (.25rem * (${nums.value} - 1))) / ${nums.value} )`
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return { transform: `translateX(calc((100% + .25rem) * ${active.value - 1}))` };
|
|
70
|
+
});
|
|
71
|
+
function setValue(value) {
|
|
72
|
+
active.value = value;
|
|
73
|
+
emit("change", value);
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
nums,
|
|
77
|
+
setValue,
|
|
78
|
+
activeStyle,
|
|
79
|
+
classNames
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
</script>
|
|
84
|
+
|
|
85
|
+
<style lang="postcss">
|
|
86
|
+
.progress-indicator {
|
|
87
|
+
@apply relative;
|
|
88
|
+
|
|
89
|
+
&__container {
|
|
90
|
+
@apply flex flex-1;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&__item {
|
|
94
|
+
@apply bg-gray-50/30 cursor-pointer;
|
|
95
|
+
|
|
96
|
+
&--active {
|
|
97
|
+
@apply absolute top-0 left-0 transition-transform;
|
|
98
|
+
@apply bg-gray-50 pointer-events-none;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
&--horizontal {
|
|
103
|
+
.progress-indicator__container {
|
|
104
|
+
@apply justify-center space-x-1;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.progress-indicator__item {
|
|
108
|
+
@apply w-2 h-2 rounded-full;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&--vertical {
|
|
113
|
+
@apply h-full;
|
|
114
|
+
|
|
115
|
+
.progress-indicator__container {
|
|
116
|
+
@apply flex-col space-y-1 h-full;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.progress-indicator__item {
|
|
120
|
+
@apply w-2 h-full rounded-full;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
}
|
|
125
|
+
</style>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { StyleValue, PropType } from 'vue-demi';
|
|
2
|
+
import { DirectionVariant } from '../steps';
|
|
3
|
+
declare const _default: import("vue-demi").DefineComponent<{
|
|
4
|
+
modelValue: {
|
|
5
|
+
type: NumberConstructor;
|
|
6
|
+
default: number;
|
|
7
|
+
};
|
|
8
|
+
direction: {
|
|
9
|
+
type: PropType<DirectionVariant>;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
length: {
|
|
13
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
14
|
+
default: number;
|
|
15
|
+
};
|
|
16
|
+
}, {
|
|
17
|
+
nums: import("vue-demi").ComputedRef<number>;
|
|
18
|
+
setValue: (value: number) => void;
|
|
19
|
+
activeStyle: import("vue-demi").ComputedRef<StyleValue>;
|
|
20
|
+
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
21
|
+
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
22
|
+
modelValue: {
|
|
23
|
+
type: NumberConstructor;
|
|
24
|
+
default: number;
|
|
25
|
+
};
|
|
26
|
+
direction: {
|
|
27
|
+
type: PropType<DirectionVariant>;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
length: {
|
|
31
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
32
|
+
default: number;
|
|
33
|
+
};
|
|
34
|
+
}>> & {
|
|
35
|
+
onChange?: ((...args: any[]) => any) | undefined;
|
|
36
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
length: string | number;
|
|
39
|
+
modelValue: number;
|
|
40
|
+
direction: DirectionVariant;
|
|
41
|
+
}, {}>;
|
|
42
|
+
export default _default;
|
|
@@ -10,11 +10,11 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
10
10
|
default: string;
|
|
11
11
|
};
|
|
12
12
|
modelValue: {
|
|
13
|
-
type: (NumberConstructor | StringConstructor |
|
|
13
|
+
type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
|
|
14
14
|
default: boolean;
|
|
15
15
|
};
|
|
16
16
|
value: {
|
|
17
|
-
type: (NumberConstructor | StringConstructor |
|
|
17
|
+
type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
|
|
18
18
|
default: boolean;
|
|
19
19
|
};
|
|
20
20
|
checked: {
|
|
@@ -43,11 +43,11 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
43
43
|
default: string;
|
|
44
44
|
};
|
|
45
45
|
modelValue: {
|
|
46
|
-
type: (NumberConstructor | StringConstructor |
|
|
46
|
+
type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
|
|
47
47
|
default: boolean;
|
|
48
48
|
};
|
|
49
49
|
value: {
|
|
50
|
-
type: (NumberConstructor | StringConstructor |
|
|
50
|
+
type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
|
|
51
51
|
default: boolean;
|
|
52
52
|
};
|
|
53
53
|
checked: {
|
|
@@ -4,7 +4,7 @@ import { Adapter } from './adapter/adapter';
|
|
|
4
4
|
import { SizeVariant } from '../button';
|
|
5
5
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
6
6
|
modelValue: {
|
|
7
|
-
type: (NumberConstructor | StringConstructor |
|
|
7
|
+
type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
|
|
8
8
|
default: string;
|
|
9
9
|
};
|
|
10
10
|
selected: {
|
|
@@ -62,7 +62,7 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
62
62
|
isSelected: (item: SelectItem) => boolean;
|
|
63
63
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue" | "update:selected" | "userInput")[], "change" | "update:modelValue" | "update:selected" | "userInput", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
64
64
|
modelValue: {
|
|
65
|
-
type: (NumberConstructor | StringConstructor |
|
|
65
|
+
type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
|
|
66
66
|
default: string;
|
|
67
67
|
};
|
|
68
68
|
selected: {
|
|
@@ -114,8 +114,8 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
114
114
|
"onUpdate:selected"?: ((...args: any[]) => any) | undefined;
|
|
115
115
|
onUserInput?: ((...args: any[]) => any) | undefined;
|
|
116
116
|
}, {
|
|
117
|
-
size: SizeVariant;
|
|
118
117
|
error: boolean;
|
|
118
|
+
size: SizeVariant;
|
|
119
119
|
modelValue: string | number | boolean | Record<string, any> | unknown[] | Date;
|
|
120
120
|
disabled: boolean;
|
|
121
121
|
readonly: boolean;
|
|
@@ -18,8 +18,116 @@
|
|
|
18
18
|
:bottom="menu.bottom"
|
|
19
19
|
:condensed="menu.condensed"
|
|
20
20
|
:collapsible="menu.collapsible">
|
|
21
|
+
<!-- IF: Menu has maxlength -->
|
|
22
|
+
<template
|
|
23
|
+
v-if="menu.maxLength">
|
|
24
|
+
<template
|
|
25
|
+
v-for="(item, i) in menu.items?.slice(0, menu.maxLength)"
|
|
26
|
+
:key="i">
|
|
27
|
+
<NavSubItem
|
|
28
|
+
v-if="item.submenu"
|
|
29
|
+
data-testid="sidebar-submenu"
|
|
30
|
+
:text="item.label"
|
|
31
|
+
:collapsible="item.collapsible">
|
|
32
|
+
<template #icon>
|
|
33
|
+
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
34
|
+
<img
|
|
35
|
+
:src="item.icon"
|
|
36
|
+
alt="icon-menu">
|
|
37
|
+
</template>
|
|
38
|
+
<template v-else-if="item.icon">
|
|
39
|
+
<component :is="item.icon" />
|
|
40
|
+
</template>
|
|
41
|
+
</template>
|
|
42
|
+
<SidebarNav :condensed="menu.condensed">
|
|
43
|
+
<NavItem
|
|
44
|
+
v-for="(submenu, x) in item.submenu"
|
|
45
|
+
:key="x"
|
|
46
|
+
:href="submenu.url">
|
|
47
|
+
{{ submenu.label }}
|
|
48
|
+
</NavItem>
|
|
49
|
+
</SidebarNav>
|
|
50
|
+
</NavSubItem>
|
|
51
|
+
<NavItem
|
|
52
|
+
v-else
|
|
53
|
+
:href="item.url"
|
|
54
|
+
:class="{ 'nav__item--no-label' : !item.label, 'nav__item--no-icon' : !item.icon }">
|
|
55
|
+
<template
|
|
56
|
+
#icon>
|
|
57
|
+
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
58
|
+
<img
|
|
59
|
+
:src="item.icon"
|
|
60
|
+
alt="icon-menu">
|
|
61
|
+
</template>
|
|
62
|
+
<template v-else-if="item.icon">
|
|
63
|
+
<component :is="item.icon" />
|
|
64
|
+
</template>
|
|
65
|
+
</template>
|
|
66
|
+
{{ item.label }}
|
|
67
|
+
</NavItem>
|
|
68
|
+
</template>
|
|
69
|
+
<NavItem
|
|
70
|
+
v-if="menu.maxLength"
|
|
71
|
+
data-testid="sidebar-toggle"
|
|
72
|
+
@click.prevent="toggle">
|
|
73
|
+
<template #icon>
|
|
74
|
+
<IconLess v-if="expand" />
|
|
75
|
+
<IconMore v-else />
|
|
76
|
+
</template>
|
|
77
|
+
{{ expand ? showLessText : showMoreText }}
|
|
78
|
+
</NavItem>
|
|
79
|
+
<div v-show="expand">
|
|
80
|
+
<template
|
|
81
|
+
v-for="(item, i) in menu.items?.slice(menu.maxLength, menu.items.length)"
|
|
82
|
+
:key="i">
|
|
83
|
+
<NavSubItem
|
|
84
|
+
v-if="item.submenu"
|
|
85
|
+
:text="item.label"
|
|
86
|
+
:collapsible="item.collapsible">
|
|
87
|
+
<template #icon>
|
|
88
|
+
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
89
|
+
<img
|
|
90
|
+
:src="item.icon"
|
|
91
|
+
alt="icon-menu">
|
|
92
|
+
</template>
|
|
93
|
+
<template v-else-if="item.icon">
|
|
94
|
+
<component :is="item.icon" />
|
|
95
|
+
</template>
|
|
96
|
+
</template>
|
|
97
|
+
<SidebarNav :condensed="menu.condensed">
|
|
98
|
+
<NavItem
|
|
99
|
+
v-for="(submenu, x) in item.submenu"
|
|
100
|
+
:key="x"
|
|
101
|
+
:href="submenu.url">
|
|
102
|
+
{{ submenu.label }}
|
|
103
|
+
</NavItem>
|
|
104
|
+
</SidebarNav>
|
|
105
|
+
</NavSubItem>
|
|
106
|
+
<NavItem
|
|
107
|
+
v-else
|
|
108
|
+
:href="item.url"
|
|
109
|
+
:class="{ 'nav__item--no-label' : !item.label, 'nav__item--no-icon' : !item.icon }">
|
|
110
|
+
<template
|
|
111
|
+
#icon>
|
|
112
|
+
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
113
|
+
<img
|
|
114
|
+
:src="item.icon"
|
|
115
|
+
alt="icon-menu">
|
|
116
|
+
</template>
|
|
117
|
+
<template v-else-if="item.icon">
|
|
118
|
+
<component :is="item.icon" />
|
|
119
|
+
</template>
|
|
120
|
+
</template>
|
|
121
|
+
{{ item.label }}
|
|
122
|
+
</NavItem>
|
|
123
|
+
</template>
|
|
124
|
+
</div>
|
|
125
|
+
</template>
|
|
126
|
+
<!-- ENDIF -->
|
|
127
|
+
|
|
21
128
|
<template
|
|
22
129
|
v-for="(item, i) in menu.items"
|
|
130
|
+
v-else
|
|
23
131
|
:key="i">
|
|
24
132
|
<NavSubItem
|
|
25
133
|
v-if="item.submenu"
|
|
@@ -72,17 +180,24 @@
|
|
|
72
180
|
</template>
|
|
73
181
|
|
|
74
182
|
<script>
|
|
75
|
-
import {
|
|
183
|
+
import {
|
|
184
|
+
defineComponent,
|
|
185
|
+
ref
|
|
186
|
+
} from "vue-demi";
|
|
76
187
|
import Sidebar from "../sidebar/Sidebar.vue";
|
|
77
188
|
import SidebarNav from "../sidebar/SidebarNav.vue";
|
|
78
189
|
import NavItem from "../nav/NavItem.vue";
|
|
79
190
|
import NavSubItem from "../nav/NavSubItem.vue";
|
|
191
|
+
import IconMore from "@privyid/persona-icon/vue/chevron-down/16.vue";
|
|
192
|
+
import IconLess from "@privyid/persona-icon/vue/chevron-up/16.vue";
|
|
80
193
|
export default defineComponent({
|
|
81
194
|
components: {
|
|
82
195
|
Sidebar,
|
|
83
196
|
SidebarNav,
|
|
84
197
|
NavItem,
|
|
85
|
-
NavSubItem
|
|
198
|
+
NavSubItem,
|
|
199
|
+
IconMore,
|
|
200
|
+
IconLess
|
|
86
201
|
},
|
|
87
202
|
props: {
|
|
88
203
|
menus: {
|
|
@@ -108,7 +223,29 @@ export default defineComponent({
|
|
|
108
223
|
toggleable: {
|
|
109
224
|
type: String,
|
|
110
225
|
default: void 0
|
|
226
|
+
},
|
|
227
|
+
length: {
|
|
228
|
+
type: [Number, String],
|
|
229
|
+
default: void 0
|
|
230
|
+
},
|
|
231
|
+
showMoreText: {
|
|
232
|
+
type: String,
|
|
233
|
+
default: "More"
|
|
234
|
+
},
|
|
235
|
+
showLessText: {
|
|
236
|
+
type: String,
|
|
237
|
+
default: "Less"
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
setup() {
|
|
241
|
+
const expand = ref(false);
|
|
242
|
+
function toggle() {
|
|
243
|
+
expand.value = !expand.value;
|
|
111
244
|
}
|
|
245
|
+
return {
|
|
246
|
+
expand,
|
|
247
|
+
toggle
|
|
248
|
+
};
|
|
112
249
|
}
|
|
113
250
|
});
|
|
114
251
|
</script>
|
|
@@ -28,7 +28,22 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
28
28
|
type: PropType<ToggleableVariant>;
|
|
29
29
|
default: undefined;
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
length: {
|
|
32
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
33
|
+
default: undefined;
|
|
34
|
+
};
|
|
35
|
+
showMoreText: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
showLessText: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
}, {
|
|
44
|
+
expand: import("vue-demi").Ref<boolean>;
|
|
45
|
+
toggle: () => void;
|
|
46
|
+
}, 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<{
|
|
32
47
|
menus: {
|
|
33
48
|
type: PropType<Menu[]>;
|
|
34
49
|
default: () => never[];
|
|
@@ -53,12 +68,27 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
53
68
|
type: PropType<ToggleableVariant>;
|
|
54
69
|
default: undefined;
|
|
55
70
|
};
|
|
71
|
+
length: {
|
|
72
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
73
|
+
default: undefined;
|
|
74
|
+
};
|
|
75
|
+
showMoreText: {
|
|
76
|
+
type: StringConstructor;
|
|
77
|
+
default: string;
|
|
78
|
+
};
|
|
79
|
+
showLessText: {
|
|
80
|
+
type: StringConstructor;
|
|
81
|
+
default: string;
|
|
82
|
+
};
|
|
56
83
|
}>>, {
|
|
57
84
|
fixed: boolean;
|
|
85
|
+
length: string | number;
|
|
58
86
|
type: TypeVariant;
|
|
59
87
|
align: AlignVariant;
|
|
60
88
|
toggleable: ToggleableVariant;
|
|
61
89
|
sticky: boolean;
|
|
62
90
|
menus: Menu[];
|
|
91
|
+
showMoreText: string;
|
|
92
|
+
showLessText: string;
|
|
63
93
|
}, {}>;
|
|
64
94
|
export default _default;
|
|
@@ -4,12 +4,14 @@ export interface SubMenu {
|
|
|
4
4
|
name: string;
|
|
5
5
|
label: string;
|
|
6
6
|
url: string;
|
|
7
|
+
access?: string | string[];
|
|
7
8
|
}
|
|
8
9
|
export interface MenuItem {
|
|
9
10
|
name: string;
|
|
10
11
|
label?: string;
|
|
11
12
|
url: string;
|
|
12
13
|
icon?: string | Component;
|
|
14
|
+
access?: string | string[];
|
|
13
15
|
collapsible?: boolean;
|
|
14
16
|
submenu?: SubMenu[];
|
|
15
17
|
}
|
|
@@ -22,5 +24,6 @@ export interface Menu {
|
|
|
22
24
|
condensed?: boolean;
|
|
23
25
|
items?: MenuItem[];
|
|
24
26
|
align?: AlignVariant;
|
|
27
|
+
maxLength?: number;
|
|
25
28
|
}
|
|
26
29
|
export declare function defineMenu(menus: Menu[]): Menu[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<component
|
|
3
3
|
:is="view"
|
|
4
|
-
|
|
4
|
+
:model-value="modelValue"
|
|
5
5
|
:model-modifiers="modelModifiers"
|
|
6
6
|
:width="width"
|
|
7
7
|
:height="height"
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
:placeholder="placeholder"
|
|
10
10
|
:reset-label="resetLabel"
|
|
11
11
|
:open-draw-label="openDrawLabel"
|
|
12
|
-
:close-draw-label="closeDrawLabel"
|
|
12
|
+
:close-draw-label="closeDrawLabel"
|
|
13
|
+
@update:model-value="$emit('update:modelValue', $event)" />
|
|
13
14
|
</template>
|
|
14
15
|
|
|
15
16
|
<script>
|
|
@@ -18,7 +19,6 @@ import {
|
|
|
18
19
|
computed,
|
|
19
20
|
defineComponent
|
|
20
21
|
} from "vue-demi";
|
|
21
|
-
import { useVModel } from "../input";
|
|
22
22
|
import SignatureDrawMobile from "./SignatureDrawMobile.vue";
|
|
23
23
|
import SignatureDrawDesktop from "./SignatureDrawDesktop.vue";
|
|
24
24
|
export default defineComponent({
|
|
@@ -65,13 +65,12 @@ export default defineComponent({
|
|
|
65
65
|
event: "update:modelValue"
|
|
66
66
|
},
|
|
67
67
|
emits: ["update:modelValue"],
|
|
68
|
-
setup(
|
|
69
|
-
const model = useVModel(props);
|
|
68
|
+
setup() {
|
|
70
69
|
const isDesktop = useMediaQuery("(min-width: 768px)");
|
|
71
70
|
const view = computed(() => {
|
|
72
71
|
return isDesktop.value ? SignatureDrawDesktop : SignatureDrawMobile;
|
|
73
72
|
});
|
|
74
|
-
return { view
|
|
73
|
+
return { view };
|
|
75
74
|
}
|
|
76
75
|
});
|
|
77
76
|
</script>
|
|
@@ -42,7 +42,6 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
42
42
|
};
|
|
43
43
|
}, {
|
|
44
44
|
view: import("vue-demi").ComputedRef<any>;
|
|
45
|
-
model: import("vue-demi").Ref<string | File>;
|
|
46
45
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
47
46
|
modelValue: {
|
|
48
47
|
type: (StringConstructor | {
|
|
@@ -88,9 +88,9 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
88
88
|
text: string;
|
|
89
89
|
modelValue: string | File;
|
|
90
90
|
modelModifiers: ModelModifier;
|
|
91
|
-
font: string;
|
|
92
91
|
width: number;
|
|
93
92
|
height: number;
|
|
93
|
+
font: string;
|
|
94
94
|
maxlength: string | number;
|
|
95
95
|
maxwords: string | number;
|
|
96
96
|
}, {}>;
|