@privyid/persona 0.15.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/button/Button.vue.d.ts +2 -2
- package/dist/components/calendar/Calendar.vue +162 -38
- package/dist/components/calendar/Calendar.vue.d.ts +63 -10
- package/dist/components/calendar/adapter/adapter.d.ts +8 -2
- package/dist/components/calendar/adapter/adapter.mjs +38 -1
- package/dist/components/calendar/adapter/date.mjs +10 -8
- package/dist/components/calendar/adapter/month.mjs +11 -8
- package/dist/components/calendar/adapter/year.mjs +7 -7
- 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/cropper/utils/use-ratio.d.ts +1 -1
- package/dist/components/cropper/utils/use-ratio.mjs +2 -2
- package/dist/components/datepicker/Datepicker.vue +38 -3
- package/dist/components/datepicker/Datepicker.vue.d.ts +50 -3
- package/dist/components/dropdown/Dropdown.vue +11 -1
- package/dist/components/dropdown/Dropdown.vue.d.ts +11 -2
- package/dist/components/dropdown/DropdownHeader.vue +35 -0
- package/dist/components/dropdown/DropdownHeader.vue.d.ts +2 -0
- 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 +3 -3
- package/dist/components/input/index.mjs +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 +2 -2
- package/dist/components/input-range/InputRange.vue +4 -4
- package/dist/components/input-range/InputRange.vue.d.ts +5 -5
- 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 +29 -7
- package/dist/components/nav/Nav.vue.d.ts +19 -1
- package/dist/components/nav/NavItem.vue +10 -2
- package/dist/components/nav/NavItem.vue.d.ts +9 -0
- package/dist/components/nav/NavItemDropdown.vue +6 -1
- package/dist/components/nav/NavItemDropdown.vue.d.ts +10 -1
- package/dist/components/nav/NavSubItem.vue +1 -1
- package/dist/components/navbar/Navbar.vue +8 -3
- package/dist/components/pdf-object/PdfObject.vue +18 -8
- package/dist/components/pdf-object/PdfObject.vue.d.ts +5 -5
- package/dist/components/pdf-object/utils/position.mjs +9 -3
- package/dist/components/pdf-text/PdfText.vue.d.ts +3 -3
- package/dist/components/pdf-viewer/PdfViewer.vue +1 -1
- package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +3 -3
- 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/sidebar/Sidebar.vue +3 -1
- package/dist/components/sidebar/SidebarNav.vue +95 -4
- package/dist/components/sidebar/SidebarNav.vue.d.ts +29 -0
- package/dist/components/sidebar-menu/SidebarMenu.vue +143 -3
- package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +31 -1
- package/dist/components/sidebar-menu/index.d.ts +6 -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 +2 -2
- 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 +6 -3
- 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 +118 -29
- 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 +2 -0
- package/dist/components/toast/index.mjs +3 -3
- 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 +10 -7
|
@@ -51,6 +51,10 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
51
51
|
type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
|
|
52
52
|
default: undefined;
|
|
53
53
|
};
|
|
54
|
+
buttonClass: {
|
|
55
|
+
type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
|
|
56
|
+
default: undefined;
|
|
57
|
+
};
|
|
54
58
|
menuSize: {
|
|
55
59
|
type: PropType<MenuSizeVariant>;
|
|
56
60
|
default: string;
|
|
@@ -111,6 +115,10 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
111
115
|
type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
|
|
112
116
|
default: undefined;
|
|
113
117
|
};
|
|
118
|
+
buttonClass: {
|
|
119
|
+
type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
|
|
120
|
+
default: undefined;
|
|
121
|
+
};
|
|
114
122
|
menuSize: {
|
|
115
123
|
type: PropType<MenuSizeVariant>;
|
|
116
124
|
default: string;
|
|
@@ -122,16 +130,17 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
122
130
|
}, {
|
|
123
131
|
variant: StyleVariant;
|
|
124
132
|
size: SizeVariant;
|
|
125
|
-
text: string;
|
|
126
|
-
color: ColorVariant;
|
|
127
133
|
icon: boolean;
|
|
134
|
+
color: ColorVariant;
|
|
128
135
|
pill: boolean;
|
|
136
|
+
text: string;
|
|
129
137
|
modelValue: boolean;
|
|
130
138
|
disabled: boolean;
|
|
131
139
|
placement: Placement;
|
|
132
140
|
noCaret: boolean;
|
|
133
141
|
divider: boolean;
|
|
134
142
|
menuClass: string | Record<string, any> | unknown[];
|
|
143
|
+
buttonClass: string | Record<string, any> | unknown[];
|
|
135
144
|
menuSize: MenuSizeVariant;
|
|
136
145
|
}, {}>;
|
|
137
146
|
export default _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Subheading
|
|
3
|
+
overline
|
|
4
|
+
data-testid="dropdown-header"
|
|
5
|
+
weight="medium"
|
|
6
|
+
class="dropdown__header">
|
|
7
|
+
<span>
|
|
8
|
+
<slot />
|
|
9
|
+
</span>
|
|
10
|
+
<span
|
|
11
|
+
v-if="$slots.action"
|
|
12
|
+
data-testid="dropdown-header-action"
|
|
13
|
+
class="dropdown__header__action">
|
|
14
|
+
<slot name="action" />
|
|
15
|
+
</span>
|
|
16
|
+
</Subheading>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
import { defineComponent } from "vue-demi";
|
|
21
|
+
import Subheading from "../subheading/Subheading.vue";
|
|
22
|
+
export default defineComponent({ components: { Subheading } });
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<style lang="postcss">
|
|
26
|
+
.dropdown {
|
|
27
|
+
&__header {
|
|
28
|
+
@apply px-4 pt-3 pb-1 flex items-center justify-between;
|
|
29
|
+
|
|
30
|
+
&__action {
|
|
31
|
+
@apply normal-case font-medium;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
</style>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue-demi").DefineComponent<{}, {}, {}, {}, {}, 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<{}>>, {}, {}>;
|
|
2
|
+
export default _default;
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
class="form-group"
|
|
4
|
+
data-testid="form-group"
|
|
4
5
|
:class="classNames">
|
|
5
|
-
<label
|
|
6
|
+
<label
|
|
7
|
+
data-testid="form-group-label"
|
|
8
|
+
class="form-group__label">
|
|
6
9
|
<IconInfo
|
|
7
10
|
v-if="hint"
|
|
8
11
|
v-p-tooltip="hint"
|
|
12
|
+
data-testid="form-group-hint"
|
|
9
13
|
class="form-group__hint" />
|
|
10
|
-
{{ label }}<sup
|
|
11
|
-
|
|
14
|
+
{{ label }}<sup
|
|
15
|
+
v-if="required"
|
|
16
|
+
data-testid="form-group-required">*</sup>
|
|
17
|
+
<p-caption
|
|
18
|
+
v-if="caption"
|
|
19
|
+
data-testid="form-group-caption">
|
|
20
|
+
{{ caption }}</p-caption>
|
|
12
21
|
</label>
|
|
13
22
|
|
|
14
23
|
<slot />
|
|
@@ -18,11 +27,13 @@
|
|
|
18
27
|
mode="out-in">
|
|
19
28
|
<p
|
|
20
29
|
v-if="error"
|
|
30
|
+
data-testid="form-group-error"
|
|
21
31
|
class="form-group__error">
|
|
22
32
|
{{ error }}
|
|
23
33
|
</p>
|
|
24
34
|
<p
|
|
25
35
|
v-else-if="description"
|
|
36
|
+
data-testid="form-group-description"
|
|
26
37
|
class="form-group__description">
|
|
27
38
|
{{ description }}
|
|
28
39
|
</p>
|
|
@@ -81,8 +92,8 @@ export default defineComponent({
|
|
|
81
92
|
@apply flex flex-col mb-4;
|
|
82
93
|
|
|
83
94
|
&__label {
|
|
84
|
-
@apply font-bold text-xs mb-2 relative text-
|
|
85
|
-
@apply dark:text-dark-
|
|
95
|
+
@apply font-bold text-xs mb-2 relative text-subtle;
|
|
96
|
+
@apply dark:text-dark-subtle;
|
|
86
97
|
|
|
87
98
|
> sup {
|
|
88
99
|
@apply text-danger;
|
|
@@ -43,7 +43,7 @@ export default defineComponent({
|
|
|
43
43
|
props: {
|
|
44
44
|
modelValue: {
|
|
45
45
|
type: [String, Number],
|
|
46
|
-
default:
|
|
46
|
+
default: void 0
|
|
47
47
|
},
|
|
48
48
|
size: {
|
|
49
49
|
type: String,
|
|
@@ -114,8 +114,8 @@ export default defineComponent({
|
|
|
114
114
|
@apply dark:bg-dark-default;
|
|
115
115
|
|
|
116
116
|
&__form {
|
|
117
|
-
@apply py-[10px] px-3 text-base relative rounded border border-solid border-muted hover:border-subtle text-default placeholder:text-muted w-full outline-none;
|
|
118
|
-
@apply dark:border-dark-muted hover:dark:border-dark-subtle dark:text-dark-default placeholder:dark:text-dark-muted;
|
|
117
|
+
@apply py-[10px] px-3 text-base relative rounded border border-solid border-muted hover:border-subtle text-default placeholder:text-muted w-full outline-none bg-transparent;
|
|
118
|
+
@apply dark:border-dark-muted hover:dark:border-dark-subtle dark:text-dark-default placeholder:dark:text-dark-muted dark:bg-transparent;
|
|
119
119
|
|
|
120
120
|
&:disabled,
|
|
121
121
|
&--disabled,
|
|
@@ -147,6 +147,7 @@ export default defineComponent({
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
.state--error,
|
|
150
|
+
.state--error & > &__form,
|
|
150
151
|
&--error,
|
|
151
152
|
&-group--error.input-group .input > .input__form {
|
|
152
153
|
@apply border-danger-emphasis hover:border-danger-emphasis focus:ring-danger focus:border-danger-emphasis;
|
|
@@ -3,7 +3,7 @@ import { SizeVariant } from '../button';
|
|
|
3
3
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
4
4
|
modelValue: {
|
|
5
5
|
type: (NumberConstructor | StringConstructor)[];
|
|
6
|
-
default:
|
|
6
|
+
default: undefined;
|
|
7
7
|
};
|
|
8
8
|
size: {
|
|
9
9
|
type: PropType<SizeVariant>;
|
|
@@ -27,12 +27,12 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
27
27
|
};
|
|
28
28
|
}, {
|
|
29
29
|
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
30
|
-
model: import("vue-demi").Ref<string | number>;
|
|
30
|
+
model: import("vue-demi").Ref<string | number | undefined>;
|
|
31
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)[];
|
|
35
|
-
default:
|
|
35
|
+
default: undefined;
|
|
36
36
|
};
|
|
37
37
|
size: {
|
|
38
38
|
type: PropType<SizeVariant>;
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
<script>
|
|
19
19
|
import pInput from "../input/Input.vue";
|
|
20
|
-
import IconShow from "@
|
|
21
|
-
import IconHide from "@
|
|
20
|
+
import IconShow from "@privyid/persona-icon/vue/view/20.vue";
|
|
21
|
+
import IconHide from "@privyid/persona-icon/vue/view-off/20.vue";
|
|
22
22
|
import { defineComponent, ref } from "vue-demi";
|
|
23
23
|
export default defineComponent({
|
|
24
24
|
components: {
|
|
@@ -44,7 +44,7 @@ export default defineComponent({
|
|
|
44
44
|
@apply pr-9;
|
|
45
45
|
|
|
46
46
|
&__toggle {
|
|
47
|
-
@apply absolute right-
|
|
47
|
+
@apply absolute right-[0.15rem] top-1/2 -translate-y-1/2 cursor-pointer z-1 text-default/30 hover:text-subtle;
|
|
48
48
|
@apply dark:text-dark-default/30 hover:dark:text-dark-subtle;
|
|
49
49
|
|
|
50
50
|
.input--disabled ~ & {
|
|
@@ -54,10 +54,10 @@ export default defineComponent({
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
&.input--clearable {
|
|
57
|
-
@apply pr-
|
|
57
|
+
@apply pr-16;
|
|
58
58
|
|
|
59
59
|
+ .input__clear {
|
|
60
|
-
@apply right-
|
|
60
|
+
@apply right-10;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -43,7 +43,7 @@ export default defineComponent({
|
|
|
43
43
|
props: {
|
|
44
44
|
modelValue: {
|
|
45
45
|
type: String,
|
|
46
|
-
default:
|
|
46
|
+
default: void 0
|
|
47
47
|
},
|
|
48
48
|
length: {
|
|
49
49
|
type: [Number, String],
|
|
@@ -70,7 +70,7 @@ export default defineComponent({
|
|
|
70
70
|
setup(props, { emit }) {
|
|
71
71
|
const root = templateRef("root");
|
|
72
72
|
const num = useToNumber(toRef(props, "length"));
|
|
73
|
-
const localModel = ref([...props.modelValue
|
|
73
|
+
const localModel = ref([...props.modelValue?.padEnd(num.value) ?? ""].slice(0, num.value));
|
|
74
74
|
const classNames = computed(() => {
|
|
75
75
|
const result = [];
|
|
76
76
|
if (props.disabled)
|
|
@@ -84,7 +84,7 @@ export default defineComponent({
|
|
|
84
84
|
const { next: nextFocus, prev: prevFocus } = useFocus(root, false);
|
|
85
85
|
const model = computed({
|
|
86
86
|
get() {
|
|
87
|
-
return [...props.modelValue
|
|
87
|
+
return [...props.modelValue?.padEnd(num.value) ?? ""].slice(0, num.value);
|
|
88
88
|
},
|
|
89
89
|
set(value) {
|
|
90
90
|
const text = value.map((val) => val || " ").join("").trimEnd();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
2
2
|
modelValue: {
|
|
3
3
|
type: StringConstructor;
|
|
4
|
-
default:
|
|
4
|
+
default: undefined;
|
|
5
5
|
};
|
|
6
6
|
length: {
|
|
7
7
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -33,7 +33,7 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
33
33
|
}, 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<{
|
|
34
34
|
modelValue: {
|
|
35
35
|
type: StringConstructor;
|
|
36
|
-
default:
|
|
36
|
+
default: undefined;
|
|
37
37
|
};
|
|
38
38
|
length: {
|
|
39
39
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -122,7 +122,7 @@ export default defineComponent({
|
|
|
122
122
|
const start = useClamp(localStart.value, min, maxDrag);
|
|
123
123
|
const end = useClamp(localEnd.value, minDrag, max);
|
|
124
124
|
const { width, left } = useElementBounding(track);
|
|
125
|
-
const
|
|
125
|
+
const vStart = computed({
|
|
126
126
|
get() {
|
|
127
127
|
if (Array.isArray(props.modelValue))
|
|
128
128
|
return props.modelValue[0];
|
|
@@ -132,7 +132,7 @@ export default defineComponent({
|
|
|
132
132
|
emit("update:start", value);
|
|
133
133
|
}
|
|
134
134
|
});
|
|
135
|
-
const
|
|
135
|
+
const vEnd = computed({
|
|
136
136
|
get() {
|
|
137
137
|
if (Array.isArray(props.modelValue))
|
|
138
138
|
return props.modelValue[1];
|
|
@@ -203,8 +203,8 @@ export default defineComponent({
|
|
|
203
203
|
if (!props.disabled && !props.readonly)
|
|
204
204
|
end.value = getValue(event);
|
|
205
205
|
});
|
|
206
|
-
syncRef(start,
|
|
207
|
-
syncRef(end,
|
|
206
|
+
syncRef(start, vStart);
|
|
207
|
+
syncRef(end, vEnd);
|
|
208
208
|
watch([start, end], ([startVal, endVal]) => {
|
|
209
209
|
localStart.value = startVal;
|
|
210
210
|
localEnd.value = endVal;
|
|
@@ -47,7 +47,7 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
47
47
|
onClickLowerTrack: (event: MouseEvent) => void;
|
|
48
48
|
onClickActiveTrack: (event: MouseEvent) => void;
|
|
49
49
|
onClickUpperTrack: (event: MouseEvent) => void;
|
|
50
|
-
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue" | "update:
|
|
50
|
+
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue" | "update:start" | "update:end")[], "change" | "update:modelValue" | "update:start" | "update:end", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
51
51
|
modelValue: {
|
|
52
52
|
type: PropType<number | [number, number]>;
|
|
53
53
|
default: undefined;
|
|
@@ -91,18 +91,18 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
91
91
|
}>> & {
|
|
92
92
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
93
93
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
94
|
-
"onUpdate:end"?: ((...args: any[]) => any) | undefined;
|
|
95
94
|
"onUpdate:start"?: ((...args: any[]) => any) | undefined;
|
|
95
|
+
"onUpdate:end"?: ((...args: any[]) => any) | undefined;
|
|
96
96
|
}, {
|
|
97
97
|
error: boolean;
|
|
98
|
-
min: string | number;
|
|
99
|
-
max: string | number;
|
|
100
98
|
start: number;
|
|
101
99
|
end: number;
|
|
100
|
+
min: string | number;
|
|
101
|
+
max: string | number;
|
|
102
102
|
modelValue: number | [number, number];
|
|
103
103
|
disabled: boolean;
|
|
104
104
|
readonly: boolean;
|
|
105
|
-
multiple: boolean;
|
|
106
105
|
step: string | number;
|
|
106
|
+
multiple: boolean;
|
|
107
107
|
}, {}>;
|
|
108
108
|
export default _default;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span
|
|
3
|
+
class="list-group"
|
|
4
|
+
data-testid="list-group"
|
|
5
|
+
:class="classNames">
|
|
6
|
+
<slot />
|
|
7
|
+
</span>
|
|
8
|
+
</template>
|
|
9
|
+
<script>
|
|
10
|
+
import { defineComponent, computed } from "vue-demi";
|
|
11
|
+
export default defineComponent({
|
|
12
|
+
props: {
|
|
13
|
+
flush: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: false
|
|
16
|
+
},
|
|
17
|
+
horizontal: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: false
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
setup(props) {
|
|
23
|
+
const classNames = computed(() => {
|
|
24
|
+
const result = [""];
|
|
25
|
+
if (props.flush)
|
|
26
|
+
result.push("list-group--flush");
|
|
27
|
+
if (props.horizontal)
|
|
28
|
+
result.push("list-group--horizontal");
|
|
29
|
+
return result;
|
|
30
|
+
});
|
|
31
|
+
return { classNames };
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
</script>
|
|
35
|
+
<style lang="postcss">
|
|
36
|
+
.list-group {
|
|
37
|
+
--p-list-group-bg: theme(backgroundColor.default.DEFAULT);
|
|
38
|
+
--p-list-group-bg-dark: theme(backgroundColor.dark.default.DEFAULT);
|
|
39
|
+
|
|
40
|
+
@apply flex flex-col max-w-full divide-y divide-default border border-default rounded-md bg-[color:var(--p-list-group-bg)];
|
|
41
|
+
@apply dark:border-dark-default dark:divide-dark-default dark:bg-[color:var(--p-list-group-bg-dark)];
|
|
42
|
+
|
|
43
|
+
&--flush {
|
|
44
|
+
@apply border-0 rounded-none;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&--horizontal {
|
|
48
|
+
@apply flex-row divide-x divide-y-0;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</style>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare const _default: import("vue-demi").DefineComponent<{
|
|
2
|
+
flush: {
|
|
3
|
+
type: BooleanConstructor;
|
|
4
|
+
default: boolean;
|
|
5
|
+
};
|
|
6
|
+
horizontal: {
|
|
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
|
+
flush: {
|
|
14
|
+
type: BooleanConstructor;
|
|
15
|
+
default: boolean;
|
|
16
|
+
};
|
|
17
|
+
horizontal: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
21
|
+
}>>, {
|
|
22
|
+
horizontal: boolean;
|
|
23
|
+
flush: boolean;
|
|
24
|
+
}, {}>;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<component
|
|
3
|
+
:is="elementNames"
|
|
4
|
+
data-testid="list-group-item"
|
|
5
|
+
class="list-group__item"
|
|
6
|
+
:aria-current="active"
|
|
7
|
+
:aria-disabled="disabled"
|
|
8
|
+
:class="classNames">
|
|
9
|
+
<slot />
|
|
10
|
+
</component>
|
|
11
|
+
</template>
|
|
12
|
+
<script>
|
|
13
|
+
import {
|
|
14
|
+
defineComponent,
|
|
15
|
+
computed,
|
|
16
|
+
ref
|
|
17
|
+
} from "vue-demi";
|
|
18
|
+
import IconCheck from "@privyid/persona-icon/vue/checkmark-circle/20.vue";
|
|
19
|
+
import pCaption from "../caption/Caption.vue";
|
|
20
|
+
export default defineComponent({
|
|
21
|
+
components: { pCaption, IconCheck },
|
|
22
|
+
props: {
|
|
23
|
+
active: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
default: void 0
|
|
26
|
+
},
|
|
27
|
+
disabled: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: void 0
|
|
30
|
+
},
|
|
31
|
+
element: {
|
|
32
|
+
type: String,
|
|
33
|
+
default: "span"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
setup(props) {
|
|
37
|
+
const classNames = computed(() => {
|
|
38
|
+
const result = [""];
|
|
39
|
+
if (props.active)
|
|
40
|
+
result.push("list-group__item--active");
|
|
41
|
+
if (props.disabled)
|
|
42
|
+
result.push("list-group__item--disabled");
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
45
|
+
const elementNames = computed(() => {
|
|
46
|
+
const el = ref("");
|
|
47
|
+
el.value = props.element === "link" ? "a" : props.element;
|
|
48
|
+
return el.value;
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
classNames,
|
|
52
|
+
elementNames
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
</script>
|
|
57
|
+
<style lang="postcss">
|
|
58
|
+
.list-group {
|
|
59
|
+
&__item {
|
|
60
|
+
--p-list-item-bg: theme(backgroundColor.default.DEFAULT);
|
|
61
|
+
--p-list-item-bg-dark: theme(backgroundColor.dark.default.DEFAULT);
|
|
62
|
+
--p-list-item-bg-active: theme(backgroundColor.default.alpha);
|
|
63
|
+
--p-list-item-bg-active-dark: theme(backgroundColor.dark.default.alpha);
|
|
64
|
+
--p-list-item-padding-x: theme(spacing.4);
|
|
65
|
+
--p-list-item-padding-y: theme(spacing.2);
|
|
66
|
+
|
|
67
|
+
@apply relative block px-[var(--p-list-item-padding-x)] py-[--p-list-item-padding-y] bg-[color:var(--p-list-item-bg)] first:rounded-t-md last:rounded-b-md text-default;
|
|
68
|
+
@apply dark:bg-[color:var(--p-list-item-bg-dark)] dark:text-dark-default;
|
|
69
|
+
|
|
70
|
+
.list-group--flush & {
|
|
71
|
+
@apply first:rounded-none last:rounded-none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.list-group--horizontal & {
|
|
75
|
+
@apply first:rounded-l-md last:rounded-r-md first:rounded-tr-none last:rounded-bl-none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
a& {
|
|
79
|
+
@apply cursor-pointer text-default hover:bg-default-alpha;
|
|
80
|
+
@apply dark:text-dark-default dark:hover:bg-dark-default-alpha;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&:is(&--active) {
|
|
84
|
+
@apply bg-[color:var(--p-list-item-bg-active)] cursor-default;
|
|
85
|
+
@apply dark:bg-[color:var(--p-list-item-bg-active-dark)];
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&:is(&--disabled) {
|
|
89
|
+
@apply cursor-default bg-[color:var(--p-list-item-bg)/50] hover:bg-[color:var(--p-list-item-bg)/50] text-default/50 hover:text-default/50;
|
|
90
|
+
@apply dark:bg-[color:var(--p-list-item-bg-dark)/50] dark:hover:bg-[color:var(--p-list-item-bg-dark)/50] dark:text-dark-default/50 dark:hover:text-dark-default/50;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
</style>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { PropType } from 'vue-demi';
|
|
2
|
+
import { ElementVariant } from '.';
|
|
3
|
+
declare const _default: import("vue-demi").DefineComponent<{
|
|
4
|
+
active: {
|
|
5
|
+
type: BooleanConstructor;
|
|
6
|
+
default: undefined;
|
|
7
|
+
};
|
|
8
|
+
disabled: {
|
|
9
|
+
type: BooleanConstructor;
|
|
10
|
+
default: undefined;
|
|
11
|
+
};
|
|
12
|
+
element: {
|
|
13
|
+
type: PropType<ElementVariant>;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
}, {
|
|
17
|
+
classNames: import("vue-demi").ComputedRef<string[]>;
|
|
18
|
+
elementNames: import("vue-demi").ComputedRef<string>;
|
|
19
|
+
}, 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<{
|
|
20
|
+
active: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: undefined;
|
|
23
|
+
};
|
|
24
|
+
disabled: {
|
|
25
|
+
type: BooleanConstructor;
|
|
26
|
+
default: undefined;
|
|
27
|
+
};
|
|
28
|
+
element: {
|
|
29
|
+
type: PropType<ElementVariant>;
|
|
30
|
+
default: string;
|
|
31
|
+
};
|
|
32
|
+
}>>, {
|
|
33
|
+
active: boolean;
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
element: ElementVariant;
|
|
36
|
+
}, {}>;
|
|
37
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ElementVariant = 'div' | 'span' | 'link';
|
|
File without changes
|
|
@@ -92,9 +92,9 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
92
92
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
93
93
|
}, {
|
|
94
94
|
size: SizeVariant;
|
|
95
|
-
text: string;
|
|
96
95
|
dismissable: boolean;
|
|
97
96
|
banner: boolean;
|
|
97
|
+
text: string;
|
|
98
98
|
modelValue: boolean;
|
|
99
99
|
title: string;
|
|
100
100
|
centered: boolean;
|
|
@@ -5,11 +5,20 @@
|
|
|
5
5
|
<li
|
|
6
6
|
v-if="title"
|
|
7
7
|
class="nav__title">
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
<span class="nav__title__item">
|
|
9
|
+
<Caption
|
|
10
|
+
weight="bold"
|
|
11
|
+
transform="capitalize">
|
|
12
|
+
{{ title }}
|
|
13
|
+
</Caption>
|
|
14
|
+
<Text
|
|
15
|
+
v-if="titleActionLabel && titleActionUrl"
|
|
16
|
+
data-testid="nav-action"
|
|
17
|
+
variant="caption"
|
|
18
|
+
:href="titleActionUrl">
|
|
19
|
+
{{ titleActionLabel }}
|
|
20
|
+
</Text>
|
|
21
|
+
</span>
|
|
13
22
|
</li>
|
|
14
23
|
<slot />
|
|
15
24
|
</ul>
|
|
@@ -21,8 +30,9 @@ import {
|
|
|
21
30
|
defineComponent
|
|
22
31
|
} from "vue-demi";
|
|
23
32
|
import Caption from "../caption/Caption.vue";
|
|
33
|
+
import Text from "../text/Text.vue";
|
|
24
34
|
export default defineComponent({
|
|
25
|
-
components: { Caption },
|
|
35
|
+
components: { Caption, Text },
|
|
26
36
|
props: {
|
|
27
37
|
fill: {
|
|
28
38
|
type: Boolean,
|
|
@@ -48,6 +58,14 @@ export default defineComponent({
|
|
|
48
58
|
type: String,
|
|
49
59
|
default: void 0
|
|
50
60
|
},
|
|
61
|
+
titleActionLabel: {
|
|
62
|
+
type: String,
|
|
63
|
+
default: void 0
|
|
64
|
+
},
|
|
65
|
+
titleActionUrl: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: void 0
|
|
68
|
+
},
|
|
51
69
|
condensed: {
|
|
52
70
|
type: Boolean,
|
|
53
71
|
default: false
|
|
@@ -346,7 +364,11 @@ export default defineComponent({
|
|
|
346
364
|
}
|
|
347
365
|
|
|
348
366
|
&__title {
|
|
349
|
-
@apply absolute left-5 top-0 text-base
|
|
367
|
+
@apply absolute left-5 top-0 text-base w-[calc(100%-1.75rem)]; /* 1.25rem + 0.75rem (padding) */
|
|
368
|
+
|
|
369
|
+
&__item {
|
|
370
|
+
@apply flex items-center w-full justify-between space-x-2;
|
|
371
|
+
}
|
|
350
372
|
|
|
351
373
|
.caption {
|
|
352
374
|
@apply text-subtle;
|