@privyid/persona 0.21.0 → 0.23.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/accordion/Accordion.vue +5 -2
- package/dist/components/accordion/AccordionItem.vue +9 -7
- package/dist/components/avatar/Avatar.vue.d.ts +2 -2
- package/dist/components/badge/Badge.vue +21 -3
- package/dist/components/badge/Badge.vue.d.ts +1 -1
- package/dist/components/banner/Banner.vue +5 -0
- package/dist/components/banner/Banner.vue.d.ts +9 -0
- package/dist/components/button/Button.vue +18 -18
- package/dist/components/calendar/Calendar.vue.d.ts +2 -2
- package/dist/components/calendar/adapter/adapter.d.ts +1 -8
- package/dist/components/calendar/adapter/adapter.mjs +0 -10
- package/dist/components/calendar/adapter/date.mjs +2 -2
- package/dist/components/calendar/adapter/month.mjs +2 -2
- package/dist/components/camera/Camera.vue.d.ts +3 -3
- package/dist/components/card/Card.vue.d.ts +1 -1
- package/dist/components/card/CardSection.vue +1 -0
- package/dist/components/card/CardSection.vue.d.ts +1 -1
- package/dist/components/carousel/Carousel.vue.d.ts +8 -8
- package/dist/components/chart/ChartSet.vue.d.ts +2 -2
- package/dist/components/chart/ChartVal.vue.d.ts +4 -4
- package/dist/components/checkbox/Checkbox.vue +98 -112
- package/dist/components/checkbox/icon/IconCheckbox.vue +13 -0
- package/dist/components/checkbox/icon/IconInderteminate.vue +12 -0
- package/dist/components/contextual-bar/ContextualBar.vue +67 -19
- package/dist/components/contextual-bar/ContextualBar.vue.d.ts +4 -4
- package/dist/components/contextual-bar/index.d.ts +1 -1
- package/dist/components/cropper/Cropper.vue.d.ts +10 -10
- package/dist/components/datepicker/Datepicker.vue +2 -0
- package/dist/components/datepicker/Datepicker.vue.d.ts +3 -3
- package/dist/components/dialog/Dialog.vue +2 -0
- package/dist/components/dialog/index.d.ts +2 -0
- package/dist/components/divider/Divider.vue +1 -1
- package/dist/components/dot/Dot.vue.d.ts +1 -1
- package/dist/components/dropdown/Dropdown.vue +303 -222
- package/dist/components/dropdown/DropdownItem.vue +8 -8
- package/dist/components/dropdown-subitem/DropdownSubitem.vue.d.ts +1 -1
- package/dist/components/dropzone/Dropzone.vue.d.ts +5 -5
- package/dist/components/filterbar/pinned/PinnedDate.vue +2 -0
- package/dist/components/filterbar/pinned/PinnedDate.vue.d.ts +3 -3
- package/dist/components/filterbar/pinned/PinnedMultiselect.vue +10 -6
- package/dist/components/filterbar/pinned/PinnedMultiselect.vue.d.ts +1 -1
- package/dist/components/filterbar/pinned/PinnedSelect.vue +11 -7
- package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +4 -4
- package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +7 -7
- package/dist/components/global/store.d.ts +2 -1
- package/dist/components/input/Input.vue +16 -5
- package/dist/components/input/Input.vue.d.ts +6 -5
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input-file/InputFile.vue.d.ts +5 -5
- package/dist/components/input-pin/InputPin.vue.d.ts +3 -3
- package/dist/components/input-range/InputRange.vue.d.ts +8 -8
- package/dist/components/label/Label.vue +31 -12
- package/dist/components/label/Label.vue.d.ts +2 -2
- package/dist/components/list-group/ListGroup.vue.d.ts +1 -1
- package/dist/components/list-group/ListGroupItem.vue +2 -2
- package/dist/components/main/Main.vue +4 -2
- package/dist/components/markdown/index.d.ts +6 -1
- package/dist/components/markdown/index.mjs +8 -2
- package/dist/components/meta.json +135 -0
- package/dist/components/modal/Modal.vue +215 -12
- package/dist/components/modal/Modal.vue.d.ts +56 -2
- package/dist/components/modal/index.d.ts +1 -1
- package/dist/components/nav/Nav.vue +5 -1
- package/dist/components/nav/Nav.vue.d.ts +1 -1
- package/dist/components/nav/NavItem.vue.d.ts +2 -2
- package/dist/components/nav/NavItemDropdown.vue.d.ts +3 -3
- package/dist/components/nav/NavSubItem.vue +6 -6
- package/dist/components/navbar/Navbar.vue.d.ts +1 -1
- package/dist/components/navbar/NavbarBrand.vue +1 -1
- package/dist/components/pagination/Pagination.vue +9 -0
- package/dist/components/pagination/Pagination.vue.d.ts +10 -0
- package/dist/components/pdf-helipad/PdfHelipad.vue +101 -85
- package/dist/components/pdf-helipad/utils/use-drag.d.ts +2 -7
- package/dist/components/pdf-helipad/utils/use-drag.mjs +1 -1
- package/dist/components/pdf-object/PdfObject.vue.d.ts +3 -3
- package/dist/components/pdf-object/index.d.ts +7 -0
- package/dist/components/pdf-object/utils/use-drag.d.ts +1 -0
- package/dist/components/pdf-object/utils/use-drag.mjs +1 -1
- package/dist/components/pdf-text/PdfText.vue.d.ts +4 -4
- package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +6 -6
- package/dist/components/progress-indicator/ProgressIndicator.vue.d.ts +2 -2
- package/dist/components/progressbar/Progressbar.vue.d.ts +7 -7
- package/dist/components/radio/Radio.vue.d.ts +5 -5
- package/dist/components/ringbar/Ringbar.vue.d.ts +6 -6
- package/dist/components/select/Select.vue +402 -214
- package/dist/components/select/SelectInput.vue +102 -0
- package/dist/components/select/SelectTags.vue +57 -0
- package/dist/components/select/adapter/adapter.d.ts +1 -0
- package/dist/components/select/adapter/async-adapter.d.ts +13 -1
- package/dist/components/select/adapter/async-adapter.mjs +8 -15
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.mjs +4 -1
- package/dist/components/sheet/Sheet.vue +2 -3
- package/dist/components/sidebar/Sidebar.vue +101 -116
- package/dist/components/sidebar/SidebarBrand.vue +1 -1
- package/dist/components/sidebar/SidebarContent.vue +27 -0
- package/dist/components/sidebar/SidebarNav.vue +78 -87
- package/dist/components/sidebar-menu/SidebarMenu.vue +57 -204
- package/dist/components/sidebar-menu/SidebarMenuItem.vue +70 -0
- package/dist/components/signature-text/SignatureText.vue.d.ts +5 -5
- package/dist/components/steps/StepSlider.vue +2 -2
- package/dist/components/steps/Steps.vue.d.ts +2 -2
- package/dist/components/strengthbar/Strengthbar.vue.d.ts +9 -9
- package/dist/components/table/index.d.ts +5 -8
- package/dist/components/table-flex/TableFlex.vue +14 -11
- package/dist/components/table-static/TableStatic.vue +131 -119
- package/dist/components/table-static/TableStaticRoot.vue +42 -0
- package/dist/components/tabs/Tab.vue +13 -15
- package/dist/components/tabs/TabContent.vue +64 -23
- package/dist/components/tabs/Tabs.vue +93 -75
- package/dist/components/text/Text.vue +15 -7
- package/dist/components/text/Text.vue.d.ts +11 -2
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/textarea/Textarea.vue.d.ts +5 -5
- package/dist/components/toggle/Toggle.vue +12 -1
- package/dist/components/toggle/Toggle.vue.d.ts +16 -7
- package/dist/components/tooltip/index.mjs +1 -1
- package/dist/components/tooltip/utils/create-handler.mjs +1 -1
- package/dist/components/tour/TourDialog.vue +6 -0
- package/dist/components/truncate/Truncate.vue +1 -1
- package/dist/components/truncate/Truncate.vue.d.ts +2 -2
- package/dist/components/utils/date.d.ts +21 -0
- package/dist/components/utils/date.mjs +15 -0
- package/dist/components/utils/vnode.mjs +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.mjs +4 -0
- package/dist/module.json +1 -1
- package/package.json +17 -17
- package/dist/components/checkbox/Checkbox.vue.d.ts +0 -84
- package/dist/components/dropdown/Dropdown.vue.d.ts +0 -147
- package/dist/components/pdf-helipad/PdfHelipad.vue.d.ts +0 -45
- package/dist/components/select/Select.vue.d.ts +0 -157
- package/dist/components/sidebar/Sidebar.vue.d.ts +0 -80
- package/dist/components/sidebar/SidebarNav.vue.d.ts +0 -66
- package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +0 -91
- package/dist/components/tabs/Tab.vue.d.ts +0 -23
- package/dist/components/tabs/TabContent.vue.d.ts +0 -14
- package/dist/components/tabs/Tabs.vue.d.ts +0 -80
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
+
v-if="title || titleActionLabel || collapsible"
|
|
3
4
|
class="sidebar__title"
|
|
4
5
|
data-testid="sidebar-title"
|
|
5
|
-
:class="
|
|
6
|
+
:class="{
|
|
6
7
|
'sidebar__title__collapsible': (collapsible && type !== 'narrow'),
|
|
7
8
|
'sidebar__title--collapsed': !isExpand,
|
|
8
|
-
}
|
|
9
|
+
}"
|
|
9
10
|
v-bind="$attrs"
|
|
10
11
|
@click.prevent="toggleExpand">
|
|
11
12
|
<Caption
|
|
12
13
|
v-if="title"
|
|
14
|
+
class="sidebar__title__caption"
|
|
13
15
|
weight="bold"
|
|
14
16
|
transform="capitalize">
|
|
15
17
|
{{ title }}
|
|
@@ -17,6 +19,7 @@
|
|
|
17
19
|
<Text
|
|
18
20
|
v-if="titleActionLabel && titleActionUrl"
|
|
19
21
|
data-testid="sidebar-nav-action"
|
|
22
|
+
class="sidebar__title__action"
|
|
20
23
|
variant="caption"
|
|
21
24
|
:href="titleActionUrl">
|
|
22
25
|
{{ titleActionLabel }}
|
|
@@ -31,7 +34,6 @@
|
|
|
31
34
|
v-if="!bottom"
|
|
32
35
|
:model-value="isExpand">
|
|
33
36
|
<Nav
|
|
34
|
-
ref="root"
|
|
35
37
|
class="sidebar__nav"
|
|
36
38
|
:class="{ 'sidebar__nav--collapsed' : !isExpand }"
|
|
37
39
|
data-testid="sidebar-nav"
|
|
@@ -46,96 +48,73 @@
|
|
|
46
48
|
</Nav>
|
|
47
49
|
</Collapse>
|
|
48
50
|
<template v-else>
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<slot />
|
|
60
|
-
</Nav>
|
|
61
|
-
</div>
|
|
51
|
+
<Nav
|
|
52
|
+
class="sidebar__nav sidebar__nav--bottom"
|
|
53
|
+
data-testid="sidebar-nav"
|
|
54
|
+
vertical
|
|
55
|
+
:title="title"
|
|
56
|
+
:variant="variant"
|
|
57
|
+
:condensed="condensed"
|
|
58
|
+
:align="align">
|
|
59
|
+
<slot />
|
|
60
|
+
</Nav>
|
|
62
61
|
</template>
|
|
63
62
|
</template>
|
|
64
63
|
|
|
65
|
-
<script>
|
|
64
|
+
<script lang="ts" setup>
|
|
66
65
|
import {
|
|
67
|
-
computed,
|
|
68
|
-
defineComponent,
|
|
69
66
|
inject,
|
|
70
|
-
ref
|
|
71
|
-
} from
|
|
72
|
-
import Nav from
|
|
73
|
-
import Caption from
|
|
74
|
-
import Text from
|
|
75
|
-
import { SIDEBAR_SETTINGS } from
|
|
76
|
-
import Collapse from
|
|
77
|
-
import IconArrow from
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
Caption,
|
|
82
|
-
Text,
|
|
83
|
-
IconArrow,
|
|
84
|
-
Collapse
|
|
85
|
-
},
|
|
67
|
+
ref,
|
|
68
|
+
} from 'vue-demi'
|
|
69
|
+
import Nav from '../nav/Nav.vue'
|
|
70
|
+
import Caption from '../caption/Caption.vue'
|
|
71
|
+
import Text from '../text/Text.vue'
|
|
72
|
+
import { SIDEBAR_SETTINGS } from '.'
|
|
73
|
+
import Collapse from '../collapse/Collapse.vue'
|
|
74
|
+
import IconArrow from '@privyid/persona-icon/vue/chevron-down/16.vue'
|
|
75
|
+
|
|
76
|
+
defineOptions({
|
|
77
|
+
name : 'SidebarNav',
|
|
86
78
|
inheritAttrs: false,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
type: String,
|
|
94
|
-
default: void 0
|
|
95
|
-
},
|
|
96
|
-
titleActionUrl: {
|
|
97
|
-
type: String,
|
|
98
|
-
default: void 0
|
|
99
|
-
},
|
|
100
|
-
bottom: {
|
|
101
|
-
type: Boolean,
|
|
102
|
-
default: false
|
|
103
|
-
},
|
|
104
|
-
condensed: {
|
|
105
|
-
type: Boolean,
|
|
106
|
-
default: false
|
|
107
|
-
},
|
|
108
|
-
collapsible: {
|
|
109
|
-
type: Boolean,
|
|
110
|
-
default: false
|
|
111
|
-
}
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
const props = defineProps({
|
|
82
|
+
title: {
|
|
83
|
+
type : String,
|
|
84
|
+
default: undefined,
|
|
112
85
|
},
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
86
|
+
titleActionLabel: {
|
|
87
|
+
type : String,
|
|
88
|
+
default: undefined,
|
|
89
|
+
},
|
|
90
|
+
titleActionUrl: {
|
|
91
|
+
type : String,
|
|
92
|
+
default: undefined,
|
|
93
|
+
},
|
|
94
|
+
bottom: {
|
|
95
|
+
type : Boolean,
|
|
96
|
+
default: false,
|
|
97
|
+
},
|
|
98
|
+
condensed: {
|
|
99
|
+
type : Boolean,
|
|
100
|
+
default: false,
|
|
101
|
+
},
|
|
102
|
+
collapsible: {
|
|
103
|
+
type : Boolean,
|
|
104
|
+
default: false,
|
|
105
|
+
},
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
const settings = inject(SIDEBAR_SETTINGS, undefined, true)
|
|
109
|
+
const variant = settings?.variant
|
|
110
|
+
const align = settings?.align
|
|
111
|
+
const type = settings?.type
|
|
112
|
+
const isExpand = ref(true)
|
|
113
|
+
|
|
114
|
+
function toggleExpand (): void {
|
|
115
|
+
if (props.collapsible)
|
|
116
|
+
isExpand.value = !isExpand.value
|
|
117
|
+
}
|
|
139
118
|
</script>
|
|
140
119
|
|
|
141
120
|
<style lang="postcss">
|
|
@@ -152,6 +131,10 @@ export default defineComponent({
|
|
|
152
131
|
.nav__title {
|
|
153
132
|
@apply hidden;
|
|
154
133
|
}
|
|
134
|
+
|
|
135
|
+
.nav__subitem &.nav {
|
|
136
|
+
@apply pt-0;
|
|
137
|
+
}
|
|
155
138
|
}
|
|
156
139
|
|
|
157
140
|
&&--narrow {
|
|
@@ -220,7 +203,15 @@ export default defineComponent({
|
|
|
220
203
|
}
|
|
221
204
|
|
|
222
205
|
&__title {
|
|
223
|
-
@apply relative z-1 flex items-center -mb-9 px-3 mt-5;
|
|
206
|
+
@apply relative z-1 flex items-center -mb-9 px-3 mt-5 justify-end;
|
|
207
|
+
|
|
208
|
+
&__caption {
|
|
209
|
+
@apply flex-grow;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
&__action {
|
|
213
|
+
@apply flex-shrink-0;
|
|
214
|
+
}
|
|
224
215
|
|
|
225
216
|
&__collapsible {
|
|
226
217
|
@apply cursor-pointer select-none;
|
|
@@ -25,55 +25,9 @@
|
|
|
25
25
|
<template
|
|
26
26
|
v-for="(item, i) in menu.items?.slice(0, menu.maxLength)"
|
|
27
27
|
:key="i">
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
:text="item.label"
|
|
32
|
-
:collapsible="item.collapsible"
|
|
33
|
-
v-bind="item.attrs">
|
|
34
|
-
<template #icon>
|
|
35
|
-
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
36
|
-
<img
|
|
37
|
-
:src="item.icon"
|
|
38
|
-
alt="icon-menu">
|
|
39
|
-
</template>
|
|
40
|
-
<template v-else-if="item.icon">
|
|
41
|
-
<component :is="item.icon" />
|
|
42
|
-
</template>
|
|
43
|
-
</template>
|
|
44
|
-
<SidebarNav :condensed="menu.condensed">
|
|
45
|
-
<NavItem
|
|
46
|
-
v-for="(submenu, x) in item.submenu"
|
|
47
|
-
:key="x"
|
|
48
|
-
:href="submenu.url"
|
|
49
|
-
:exact="submenu.exact"
|
|
50
|
-
v-bind="submenu.attrs">
|
|
51
|
-
{{ submenu.label }}
|
|
52
|
-
</NavItem>
|
|
53
|
-
</SidebarNav>
|
|
54
|
-
</NavSubItem>
|
|
55
|
-
<NavItem
|
|
56
|
-
v-else
|
|
57
|
-
v-bind="item.attrs"
|
|
58
|
-
:href="item.url"
|
|
59
|
-
:exact="item.exact"
|
|
60
|
-
:class="{
|
|
61
|
-
'nav__item--no-label': !item.label,
|
|
62
|
-
'nav__item--no-icon': !item.icon
|
|
63
|
-
}">
|
|
64
|
-
<template
|
|
65
|
-
#icon>
|
|
66
|
-
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
67
|
-
<img
|
|
68
|
-
:src="item.icon"
|
|
69
|
-
alt="icon-menu">
|
|
70
|
-
</template>
|
|
71
|
-
<template v-else-if="item.icon">
|
|
72
|
-
<component :is="item.icon" />
|
|
73
|
-
</template>
|
|
74
|
-
</template>
|
|
75
|
-
{{ item.label }}
|
|
76
|
-
</NavItem>
|
|
28
|
+
<SidebarMenuItem
|
|
29
|
+
:item="item"
|
|
30
|
+
:menu="menu" />
|
|
77
31
|
</template>
|
|
78
32
|
<NavCollapse
|
|
79
33
|
v-if="menu.maxLength"
|
|
@@ -83,54 +37,9 @@
|
|
|
83
37
|
<template
|
|
84
38
|
v-for="(item, i) in menu.items?.slice(menu.maxLength, menu.items.length)"
|
|
85
39
|
:key="i">
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
:text="item.label"
|
|
90
|
-
:collapsible="item.collapsible">
|
|
91
|
-
<template #icon>
|
|
92
|
-
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
93
|
-
<img
|
|
94
|
-
:src="item.icon"
|
|
95
|
-
alt="icon-menu">
|
|
96
|
-
</template>
|
|
97
|
-
<template v-else-if="item.icon">
|
|
98
|
-
<component :is="item.icon" />
|
|
99
|
-
</template>
|
|
100
|
-
</template>
|
|
101
|
-
<SidebarNav :condensed="menu.condensed">
|
|
102
|
-
<NavItem
|
|
103
|
-
v-for="(submenu, x) in item.submenu"
|
|
104
|
-
:key="x"
|
|
105
|
-
:href="submenu.url"
|
|
106
|
-
:exact="submenu.exact"
|
|
107
|
-
v-bind="submenu.attrs">
|
|
108
|
-
{{ submenu.label }}
|
|
109
|
-
</NavItem>
|
|
110
|
-
</SidebarNav>
|
|
111
|
-
</NavSubItem>
|
|
112
|
-
<NavItem
|
|
113
|
-
v-else
|
|
114
|
-
v-bind="item.attrs"
|
|
115
|
-
:href="item.url"
|
|
116
|
-
:exact="item.exact"
|
|
117
|
-
:class="{
|
|
118
|
-
'nav__item--no-label': !item.label,
|
|
119
|
-
'nav__item--no-icon' : !item.icon,
|
|
120
|
-
}">
|
|
121
|
-
<template
|
|
122
|
-
#icon>
|
|
123
|
-
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
124
|
-
<img
|
|
125
|
-
:src="item.icon"
|
|
126
|
-
alt="icon-menu">
|
|
127
|
-
</template>
|
|
128
|
-
<template v-else-if="item.icon">
|
|
129
|
-
<component :is="item.icon" />
|
|
130
|
-
</template>
|
|
131
|
-
</template>
|
|
132
|
-
{{ item.label }}
|
|
133
|
-
</NavItem>
|
|
40
|
+
<SidebarMenuItem
|
|
41
|
+
:item="item"
|
|
42
|
+
:menu="menu" />
|
|
134
43
|
</template>
|
|
135
44
|
</NavCollapse>
|
|
136
45
|
</template>
|
|
@@ -140,54 +49,9 @@
|
|
|
140
49
|
<template
|
|
141
50
|
v-for="(item, i) in menu.items"
|
|
142
51
|
:key="i">
|
|
143
|
-
<
|
|
144
|
-
|
|
145
|
-
:
|
|
146
|
-
:collapsible="item.collapsible"
|
|
147
|
-
v-bind="item.attrs">
|
|
148
|
-
<template #icon>
|
|
149
|
-
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
150
|
-
<img
|
|
151
|
-
:src="item.icon"
|
|
152
|
-
alt="icon-menu">
|
|
153
|
-
</template>
|
|
154
|
-
<template v-else-if="item.icon">
|
|
155
|
-
<component :is="item.icon" />
|
|
156
|
-
</template>
|
|
157
|
-
</template>
|
|
158
|
-
<SidebarNav :condensed="menu.condensed">
|
|
159
|
-
<NavItem
|
|
160
|
-
v-for="(submenu, x) in item.submenu"
|
|
161
|
-
:key="x"
|
|
162
|
-
:href="submenu.url"
|
|
163
|
-
:exact="submenu.exact"
|
|
164
|
-
v-bind="submenu.attrs">
|
|
165
|
-
{{ submenu.label }}
|
|
166
|
-
</NavItem>
|
|
167
|
-
</SidebarNav>
|
|
168
|
-
</NavSubItem>
|
|
169
|
-
<NavItem
|
|
170
|
-
v-else
|
|
171
|
-
v-bind="item.attrs"
|
|
172
|
-
:href="item.url"
|
|
173
|
-
:exact="item.exact"
|
|
174
|
-
:class="{
|
|
175
|
-
'nav__item--no-label': !item.label,
|
|
176
|
-
'nav__item--no-icon': !item.icon,
|
|
177
|
-
}">
|
|
178
|
-
<template
|
|
179
|
-
#icon>
|
|
180
|
-
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
181
|
-
<img
|
|
182
|
-
:src="item.icon"
|
|
183
|
-
alt="icon-menu">
|
|
184
|
-
</template>
|
|
185
|
-
<template v-else-if="item.icon">
|
|
186
|
-
<component :is="item.icon" />
|
|
187
|
-
</template>
|
|
188
|
-
</template>
|
|
189
|
-
{{ item.label }}
|
|
190
|
-
</NavItem>
|
|
52
|
+
<SidebarMenuItem
|
|
53
|
+
:item="item"
|
|
54
|
+
:menu="menu" />
|
|
191
55
|
</template>
|
|
192
56
|
</template>
|
|
193
57
|
</SidebarNav>
|
|
@@ -199,64 +63,53 @@
|
|
|
199
63
|
</Sidebar>
|
|
200
64
|
</template>
|
|
201
65
|
|
|
202
|
-
<script>
|
|
203
|
-
import {
|
|
204
|
-
|
|
205
|
-
} from
|
|
206
|
-
import
|
|
207
|
-
import
|
|
208
|
-
import
|
|
209
|
-
import
|
|
210
|
-
import NavCollapse from
|
|
211
|
-
import
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
66
|
+
<script lang="ts" setup>
|
|
67
|
+
import { PropType } from 'vue-demi'
|
|
68
|
+
import Sidebar from '../sidebar/Sidebar.vue'
|
|
69
|
+
import { TypeVariant } from '../sidebar'
|
|
70
|
+
import SidebarNav from '../sidebar/SidebarNav.vue'
|
|
71
|
+
import { Menu } from '.'
|
|
72
|
+
import { AlignVariant } from '../nav'
|
|
73
|
+
import { ToggleableVariant } from '../navbar'
|
|
74
|
+
import NavCollapse from '../nav/NavCollapse.vue'
|
|
75
|
+
import SidebarMenuItem from './SidebarMenuItem.vue'
|
|
76
|
+
|
|
77
|
+
defineProps({
|
|
78
|
+
menus: {
|
|
79
|
+
type : Array as PropType<Menu[]>,
|
|
80
|
+
default: () => ([]),
|
|
81
|
+
},
|
|
82
|
+
fixed: {
|
|
83
|
+
type : Boolean,
|
|
84
|
+
default: false,
|
|
85
|
+
},
|
|
86
|
+
sticky: {
|
|
87
|
+
type : Boolean,
|
|
88
|
+
default: false,
|
|
89
|
+
},
|
|
90
|
+
type: {
|
|
91
|
+
type : String as PropType<TypeVariant>,
|
|
92
|
+
default: 'wide',
|
|
93
|
+
},
|
|
94
|
+
align: {
|
|
95
|
+
type : String as PropType<AlignVariant>,
|
|
96
|
+
default: 'left',
|
|
97
|
+
},
|
|
98
|
+
toggleable: {
|
|
99
|
+
type : String as PropType<ToggleableVariant>,
|
|
100
|
+
default: undefined,
|
|
101
|
+
},
|
|
102
|
+
length: {
|
|
103
|
+
type : [Number, String],
|
|
104
|
+
default: undefined,
|
|
105
|
+
},
|
|
106
|
+
showMoreText: {
|
|
107
|
+
type : String,
|
|
108
|
+
default: 'More',
|
|
109
|
+
},
|
|
110
|
+
showLessText: {
|
|
111
|
+
type : String,
|
|
112
|
+
default: 'Less',
|
|
222
113
|
},
|
|
223
|
-
|
|
224
|
-
menus: {
|
|
225
|
-
type: Array,
|
|
226
|
-
default: () => []
|
|
227
|
-
},
|
|
228
|
-
fixed: {
|
|
229
|
-
type: Boolean,
|
|
230
|
-
default: false
|
|
231
|
-
},
|
|
232
|
-
sticky: {
|
|
233
|
-
type: Boolean,
|
|
234
|
-
default: false
|
|
235
|
-
},
|
|
236
|
-
type: {
|
|
237
|
-
type: String,
|
|
238
|
-
default: "wide"
|
|
239
|
-
},
|
|
240
|
-
align: {
|
|
241
|
-
type: String,
|
|
242
|
-
default: "left"
|
|
243
|
-
},
|
|
244
|
-
toggleable: {
|
|
245
|
-
type: String,
|
|
246
|
-
default: void 0
|
|
247
|
-
},
|
|
248
|
-
length: {
|
|
249
|
-
type: [Number, String],
|
|
250
|
-
default: void 0
|
|
251
|
-
},
|
|
252
|
-
showMoreText: {
|
|
253
|
-
type: String,
|
|
254
|
-
default: "More"
|
|
255
|
-
},
|
|
256
|
-
showLessText: {
|
|
257
|
-
type: String,
|
|
258
|
-
default: "Less"
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
});
|
|
114
|
+
})
|
|
262
115
|
</script>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<NavSubItem
|
|
3
|
+
v-if="item.submenu"
|
|
4
|
+
data-testid="sidebar-submenu"
|
|
5
|
+
:text="item.label"
|
|
6
|
+
:collapsible="item.collapsible"
|
|
7
|
+
v-bind="item.attrs">
|
|
8
|
+
<template #icon>
|
|
9
|
+
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
10
|
+
<img
|
|
11
|
+
:src="item.icon"
|
|
12
|
+
alt="icon-menu">
|
|
13
|
+
</template>
|
|
14
|
+
<template v-else-if="item.icon">
|
|
15
|
+
<component :is="item.icon" />
|
|
16
|
+
</template>
|
|
17
|
+
</template>
|
|
18
|
+
<SidebarNav :condensed="menu.condensed">
|
|
19
|
+
<NavItem
|
|
20
|
+
v-for="(submenu, x) in item.submenu"
|
|
21
|
+
:key="x"
|
|
22
|
+
:href="submenu.url"
|
|
23
|
+
:exact="submenu.exact"
|
|
24
|
+
v-bind="submenu.attrs">
|
|
25
|
+
{{ submenu.label }}
|
|
26
|
+
</NavItem>
|
|
27
|
+
</SidebarNav>
|
|
28
|
+
</NavSubItem>
|
|
29
|
+
<NavItem
|
|
30
|
+
v-else
|
|
31
|
+
v-bind="item.attrs"
|
|
32
|
+
:href="item.url"
|
|
33
|
+
:exact="item.exact"
|
|
34
|
+
:class="{
|
|
35
|
+
'nav__item--no-label': !item.label,
|
|
36
|
+
'nav__item--no-icon': !item.icon
|
|
37
|
+
}">
|
|
38
|
+
<template
|
|
39
|
+
#icon>
|
|
40
|
+
<template v-if="item.icon && typeof item.icon === 'string'">
|
|
41
|
+
<img
|
|
42
|
+
:src="item.icon"
|
|
43
|
+
alt="icon-menu">
|
|
44
|
+
</template>
|
|
45
|
+
<template v-else-if="item.icon">
|
|
46
|
+
<component :is="item.icon" />
|
|
47
|
+
</template>
|
|
48
|
+
</template>
|
|
49
|
+
{{ item.label }}
|
|
50
|
+
</NavItem>
|
|
51
|
+
</template>
|
|
52
|
+
|
|
53
|
+
<script lang="ts" setup>
|
|
54
|
+
import { PropType } from 'vue-demi'
|
|
55
|
+
import { Menu, MenuItem } from '.'
|
|
56
|
+
import NavItem from '../nav/NavItem.vue'
|
|
57
|
+
import NavSubItem from '../nav/NavSubItem.vue'
|
|
58
|
+
import SidebarNav from '../sidebar/SidebarNav.vue'
|
|
59
|
+
|
|
60
|
+
defineProps({
|
|
61
|
+
item: {
|
|
62
|
+
type : Object as PropType<MenuItem>,
|
|
63
|
+
default: () => ({} as MenuItem),
|
|
64
|
+
},
|
|
65
|
+
menu: {
|
|
66
|
+
type : Object as PropType<Menu>,
|
|
67
|
+
default: () => ({} as Menu),
|
|
68
|
+
},
|
|
69
|
+
})
|
|
70
|
+
</script>
|
|
@@ -25,11 +25,11 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
25
25
|
default: string;
|
|
26
26
|
};
|
|
27
27
|
maxwords: {
|
|
28
|
-
type: (
|
|
28
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
29
29
|
default: number;
|
|
30
30
|
};
|
|
31
31
|
maxlength: {
|
|
32
|
-
type: (
|
|
32
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
33
33
|
default: number;
|
|
34
34
|
};
|
|
35
35
|
font: {
|
|
@@ -69,11 +69,11 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
69
69
|
default: string;
|
|
70
70
|
};
|
|
71
71
|
maxwords: {
|
|
72
|
-
type: (
|
|
72
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
73
73
|
default: number;
|
|
74
74
|
};
|
|
75
75
|
maxlength: {
|
|
76
|
-
type: (
|
|
76
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
77
77
|
default: number;
|
|
78
78
|
};
|
|
79
79
|
font: {
|
|
@@ -89,9 +89,9 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
89
89
|
text: string;
|
|
90
90
|
modelValue: string | File;
|
|
91
91
|
modelModifiers: ModelModifier;
|
|
92
|
+
font: string;
|
|
92
93
|
width: number;
|
|
93
94
|
height: number;
|
|
94
|
-
font: string;
|
|
95
95
|
maxlength: string | number;
|
|
96
96
|
maxwords: string | number;
|
|
97
97
|
}, {}>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
defineComponent,
|
|
4
4
|
h,
|
|
5
|
-
|
|
5
|
+
resolveComponent,
|
|
6
6
|
Transition
|
|
7
7
|
} from "vue-demi";
|
|
8
8
|
import { findAllChildren } from "../utils/vnode";
|
|
@@ -25,7 +25,7 @@ export default defineComponent({
|
|
|
25
25
|
return () => {
|
|
26
26
|
const step = findAllChildren(slots.default(), "Step").at(props.active);
|
|
27
27
|
const body = () => {
|
|
28
|
-
return props.keepAlive ? h(
|
|
28
|
+
return props.keepAlive ? h(resolveComponent("keep-alive"), () => h(step, { key: props.active })) : h(step, { key: props.active });
|
|
29
29
|
};
|
|
30
30
|
return h(Transition, {
|
|
31
31
|
name: props.transition,
|
|
@@ -73,9 +73,9 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
73
73
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
74
74
|
}, {
|
|
75
75
|
modelValue: number;
|
|
76
|
-
direction: DirectionVariant;
|
|
77
|
-
loop: boolean;
|
|
78
76
|
animation: AnimationVariant;
|
|
77
|
+
loop: boolean;
|
|
78
|
+
direction: DirectionVariant;
|
|
79
79
|
onBeforePrev: TravelHook;
|
|
80
80
|
onBeforeNext: TravelHook;
|
|
81
81
|
keepAlive: boolean;
|