@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.
Files changed (138) hide show
  1. package/dist/components/accordion/Accordion.vue +5 -2
  2. package/dist/components/accordion/AccordionItem.vue +9 -7
  3. package/dist/components/avatar/Avatar.vue.d.ts +2 -2
  4. package/dist/components/badge/Badge.vue +21 -3
  5. package/dist/components/badge/Badge.vue.d.ts +1 -1
  6. package/dist/components/banner/Banner.vue +5 -0
  7. package/dist/components/banner/Banner.vue.d.ts +9 -0
  8. package/dist/components/button/Button.vue +18 -18
  9. package/dist/components/calendar/Calendar.vue.d.ts +2 -2
  10. package/dist/components/calendar/adapter/adapter.d.ts +1 -8
  11. package/dist/components/calendar/adapter/adapter.mjs +0 -10
  12. package/dist/components/calendar/adapter/date.mjs +2 -2
  13. package/dist/components/calendar/adapter/month.mjs +2 -2
  14. package/dist/components/camera/Camera.vue.d.ts +3 -3
  15. package/dist/components/card/Card.vue.d.ts +1 -1
  16. package/dist/components/card/CardSection.vue +1 -0
  17. package/dist/components/card/CardSection.vue.d.ts +1 -1
  18. package/dist/components/carousel/Carousel.vue.d.ts +8 -8
  19. package/dist/components/chart/ChartSet.vue.d.ts +2 -2
  20. package/dist/components/chart/ChartVal.vue.d.ts +4 -4
  21. package/dist/components/checkbox/Checkbox.vue +98 -112
  22. package/dist/components/checkbox/icon/IconCheckbox.vue +13 -0
  23. package/dist/components/checkbox/icon/IconInderteminate.vue +12 -0
  24. package/dist/components/contextual-bar/ContextualBar.vue +67 -19
  25. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +4 -4
  26. package/dist/components/contextual-bar/index.d.ts +1 -1
  27. package/dist/components/cropper/Cropper.vue.d.ts +10 -10
  28. package/dist/components/datepicker/Datepicker.vue +2 -0
  29. package/dist/components/datepicker/Datepicker.vue.d.ts +3 -3
  30. package/dist/components/dialog/Dialog.vue +2 -0
  31. package/dist/components/dialog/index.d.ts +2 -0
  32. package/dist/components/divider/Divider.vue +1 -1
  33. package/dist/components/dot/Dot.vue.d.ts +1 -1
  34. package/dist/components/dropdown/Dropdown.vue +303 -222
  35. package/dist/components/dropdown/DropdownItem.vue +8 -8
  36. package/dist/components/dropdown-subitem/DropdownSubitem.vue.d.ts +1 -1
  37. package/dist/components/dropzone/Dropzone.vue.d.ts +5 -5
  38. package/dist/components/filterbar/pinned/PinnedDate.vue +2 -0
  39. package/dist/components/filterbar/pinned/PinnedDate.vue.d.ts +3 -3
  40. package/dist/components/filterbar/pinned/PinnedMultiselect.vue +10 -6
  41. package/dist/components/filterbar/pinned/PinnedMultiselect.vue.d.ts +1 -1
  42. package/dist/components/filterbar/pinned/PinnedSelect.vue +11 -7
  43. package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +4 -4
  44. package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +7 -7
  45. package/dist/components/global/store.d.ts +2 -1
  46. package/dist/components/input/Input.vue +16 -5
  47. package/dist/components/input/Input.vue.d.ts +6 -5
  48. package/dist/components/input/index.d.ts +1 -1
  49. package/dist/components/input-file/InputFile.vue.d.ts +5 -5
  50. package/dist/components/input-pin/InputPin.vue.d.ts +3 -3
  51. package/dist/components/input-range/InputRange.vue.d.ts +8 -8
  52. package/dist/components/label/Label.vue +31 -12
  53. package/dist/components/label/Label.vue.d.ts +2 -2
  54. package/dist/components/list-group/ListGroup.vue.d.ts +1 -1
  55. package/dist/components/list-group/ListGroupItem.vue +2 -2
  56. package/dist/components/main/Main.vue +4 -2
  57. package/dist/components/markdown/index.d.ts +6 -1
  58. package/dist/components/markdown/index.mjs +8 -2
  59. package/dist/components/meta.json +135 -0
  60. package/dist/components/modal/Modal.vue +215 -12
  61. package/dist/components/modal/Modal.vue.d.ts +56 -2
  62. package/dist/components/modal/index.d.ts +1 -1
  63. package/dist/components/nav/Nav.vue +5 -1
  64. package/dist/components/nav/Nav.vue.d.ts +1 -1
  65. package/dist/components/nav/NavItem.vue.d.ts +2 -2
  66. package/dist/components/nav/NavItemDropdown.vue.d.ts +3 -3
  67. package/dist/components/nav/NavSubItem.vue +6 -6
  68. package/dist/components/navbar/Navbar.vue.d.ts +1 -1
  69. package/dist/components/navbar/NavbarBrand.vue +1 -1
  70. package/dist/components/pagination/Pagination.vue +9 -0
  71. package/dist/components/pagination/Pagination.vue.d.ts +10 -0
  72. package/dist/components/pdf-helipad/PdfHelipad.vue +101 -85
  73. package/dist/components/pdf-helipad/utils/use-drag.d.ts +2 -7
  74. package/dist/components/pdf-helipad/utils/use-drag.mjs +1 -1
  75. package/dist/components/pdf-object/PdfObject.vue.d.ts +3 -3
  76. package/dist/components/pdf-object/index.d.ts +7 -0
  77. package/dist/components/pdf-object/utils/use-drag.d.ts +1 -0
  78. package/dist/components/pdf-object/utils/use-drag.mjs +1 -1
  79. package/dist/components/pdf-text/PdfText.vue.d.ts +4 -4
  80. package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +6 -6
  81. package/dist/components/progress-indicator/ProgressIndicator.vue.d.ts +2 -2
  82. package/dist/components/progressbar/Progressbar.vue.d.ts +7 -7
  83. package/dist/components/radio/Radio.vue.d.ts +5 -5
  84. package/dist/components/ringbar/Ringbar.vue.d.ts +6 -6
  85. package/dist/components/select/Select.vue +402 -214
  86. package/dist/components/select/SelectInput.vue +102 -0
  87. package/dist/components/select/SelectTags.vue +57 -0
  88. package/dist/components/select/adapter/adapter.d.ts +1 -0
  89. package/dist/components/select/adapter/async-adapter.d.ts +13 -1
  90. package/dist/components/select/adapter/async-adapter.mjs +8 -15
  91. package/dist/components/select/index.d.ts +2 -0
  92. package/dist/components/select/index.mjs +4 -1
  93. package/dist/components/sheet/Sheet.vue +2 -3
  94. package/dist/components/sidebar/Sidebar.vue +101 -116
  95. package/dist/components/sidebar/SidebarBrand.vue +1 -1
  96. package/dist/components/sidebar/SidebarContent.vue +27 -0
  97. package/dist/components/sidebar/SidebarNav.vue +78 -87
  98. package/dist/components/sidebar-menu/SidebarMenu.vue +57 -204
  99. package/dist/components/sidebar-menu/SidebarMenuItem.vue +70 -0
  100. package/dist/components/signature-text/SignatureText.vue.d.ts +5 -5
  101. package/dist/components/steps/StepSlider.vue +2 -2
  102. package/dist/components/steps/Steps.vue.d.ts +2 -2
  103. package/dist/components/strengthbar/Strengthbar.vue.d.ts +9 -9
  104. package/dist/components/table/index.d.ts +5 -8
  105. package/dist/components/table-flex/TableFlex.vue +14 -11
  106. package/dist/components/table-static/TableStatic.vue +131 -119
  107. package/dist/components/table-static/TableStaticRoot.vue +42 -0
  108. package/dist/components/tabs/Tab.vue +13 -15
  109. package/dist/components/tabs/TabContent.vue +64 -23
  110. package/dist/components/tabs/Tabs.vue +93 -75
  111. package/dist/components/text/Text.vue +15 -7
  112. package/dist/components/text/Text.vue.d.ts +11 -2
  113. package/dist/components/text/index.d.ts +1 -0
  114. package/dist/components/textarea/Textarea.vue.d.ts +5 -5
  115. package/dist/components/toggle/Toggle.vue +12 -1
  116. package/dist/components/toggle/Toggle.vue.d.ts +16 -7
  117. package/dist/components/tooltip/index.mjs +1 -1
  118. package/dist/components/tooltip/utils/create-handler.mjs +1 -1
  119. package/dist/components/tour/TourDialog.vue +6 -0
  120. package/dist/components/truncate/Truncate.vue +1 -1
  121. package/dist/components/truncate/Truncate.vue.d.ts +2 -2
  122. package/dist/components/utils/date.d.ts +21 -0
  123. package/dist/components/utils/date.mjs +15 -0
  124. package/dist/components/utils/vnode.mjs +1 -1
  125. package/dist/core/index.d.ts +1 -0
  126. package/dist/core/index.mjs +4 -0
  127. package/dist/module.json +1 -1
  128. package/package.json +17 -17
  129. package/dist/components/checkbox/Checkbox.vue.d.ts +0 -84
  130. package/dist/components/dropdown/Dropdown.vue.d.ts +0 -147
  131. package/dist/components/pdf-helipad/PdfHelipad.vue.d.ts +0 -45
  132. package/dist/components/select/Select.vue.d.ts +0 -157
  133. package/dist/components/sidebar/Sidebar.vue.d.ts +0 -80
  134. package/dist/components/sidebar/SidebarNav.vue.d.ts +0 -66
  135. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +0 -91
  136. package/dist/components/tabs/Tab.vue.d.ts +0 -23
  137. package/dist/components/tabs/TabContent.vue.d.ts +0 -14
  138. 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="[(!title && titleActionLabel) ? 'justify-end' : 'justify-between', {
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
- <div class="sidebar__bottom">
50
- <Nav
51
- class="sidebar__nav"
52
- data-testid="sidebar-nav"
53
- vertical
54
- :title="title"
55
- :variant="variant"
56
- :condensed="condensed"
57
- :align="align"
58
- :class="classNames">
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 "vue-demi";
72
- import Nav from "../nav/Nav.vue";
73
- import Caption from "../caption/Caption.vue";
74
- import Text from "../text/Text.vue";
75
- import { SIDEBAR_SETTINGS } from ".";
76
- import Collapse from "../collapse/Collapse.vue";
77
- import IconArrow from "@privyid/persona-icon/vue/chevron-down/16.vue";
78
- export default defineComponent({
79
- components: {
80
- Nav,
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
- props: {
88
- title: {
89
- type: String,
90
- default: void 0
91
- },
92
- titleActionLabel: {
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
- setup(props) {
114
- const settings = inject(SIDEBAR_SETTINGS, void 0, true);
115
- const variant = settings?.variant;
116
- const align = settings?.align;
117
- const type = settings?.type;
118
- const isExpand = ref(true);
119
- const classNames = computed(() => {
120
- const result = [""];
121
- if (props.bottom)
122
- result.push("sidebar__nav--bottom");
123
- return result;
124
- });
125
- function toggleExpand() {
126
- if (props.collapsible)
127
- isExpand.value = !isExpand.value;
128
- }
129
- return {
130
- isExpand,
131
- variant,
132
- align,
133
- type,
134
- classNames,
135
- toggleExpand
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
- <NavSubItem
29
- v-if="item.submenu"
30
- data-testid="sidebar-submenu"
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
- <NavSubItem
87
- v-if="item.submenu"
88
- v-bind="item.attrs"
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
- <NavSubItem
144
- v-if="item.submenu"
145
- :text="item.label"
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
- defineComponent
205
- } from "vue-demi";
206
- import Sidebar from "../sidebar/Sidebar.vue";
207
- import SidebarNav from "../sidebar/SidebarNav.vue";
208
- import NavItem from "../nav/NavItem.vue";
209
- import NavSubItem from "../nav/NavSubItem.vue";
210
- import NavCollapse from "../nav/NavCollapse.vue";
211
- import IconMore from "@privyid/persona-icon/vue/chevron-down/16.vue";
212
- import IconLess from "@privyid/persona-icon/vue/chevron-up/16.vue";
213
- export default defineComponent({
214
- components: {
215
- Sidebar,
216
- SidebarNav,
217
- NavItem,
218
- NavSubItem,
219
- NavCollapse,
220
- IconMore,
221
- IconLess
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
- props: {
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: (NumberConstructor | StringConstructor)[];
28
+ type: (StringConstructor | NumberConstructor)[];
29
29
  default: number;
30
30
  };
31
31
  maxlength: {
32
- type: (NumberConstructor | StringConstructor)[];
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: (NumberConstructor | StringConstructor)[];
72
+ type: (StringConstructor | NumberConstructor)[];
73
73
  default: number;
74
74
  };
75
75
  maxlength: {
76
- type: (NumberConstructor | StringConstructor)[];
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
- KeepAlive,
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(KeepAlive, () => h(step, { key: props.active })) : h(step, { key: props.active });
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;