@privyid/persona 0.18.0 → 0.20.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 (85) hide show
  1. package/dist/components/avatar/Avatar.vue.d.ts +2 -2
  2. package/dist/components/avatar/utils/create-image.mjs +1 -1
  3. package/dist/components/breadcrumbs/Breadcrumb.vue +5 -1
  4. package/dist/components/breadcrumbs/Breadcrumb.vue.d.ts +1 -1
  5. package/dist/components/breadcrumbs/BreadcrumbItem.vue +19 -10
  6. package/dist/components/breadcrumbs/BreadcrumbItem.vue.d.ts +3 -0
  7. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue +14 -6
  8. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue.d.ts +3 -0
  9. package/dist/components/button/Button.vue +4 -11
  10. package/dist/components/button/Button.vue.d.ts +7 -7
  11. package/dist/components/caption/Caption.vue +30 -2
  12. package/dist/components/card/Card.vue +9 -1
  13. package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
  14. package/dist/components/collapse/Collapse.vue +13 -31
  15. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +2 -2
  16. package/dist/components/cropper/Cropper.vue.d.ts +2 -2
  17. package/dist/components/dropdown/Dropdown.vue +5 -0
  18. package/dist/components/dropdown/Dropdown.vue.d.ts +8 -8
  19. package/dist/components/dropdown/DropdownItem.vue +1 -1
  20. package/dist/components/dropdown/index.d.ts +1 -1
  21. package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +2 -2
  22. package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +6 -6
  23. package/dist/components/heading/Heading.vue +26 -2
  24. package/dist/components/heading/index.d.ts +1 -1
  25. package/dist/components/input/Input.vue.d.ts +2 -2
  26. package/dist/components/input-file/InputFile.vue.d.ts +1 -1
  27. package/dist/components/input-pin/InputPin.vue.d.ts +1 -1
  28. package/dist/components/label/Label.vue.d.ts +1 -1
  29. package/dist/components/list-group/ListGroupItem.vue +1 -1
  30. package/dist/components/main/Main.vue +47 -44
  31. package/dist/components/modal/Modal.vue.d.ts +1 -1
  32. package/dist/components/nav/Nav.vue +33 -13
  33. package/dist/components/nav/NavCollapse.vue +78 -0
  34. package/dist/components/nav/NavCollapse.vue.d.ts +26 -0
  35. package/dist/components/nav/NavItem.vue +12 -19
  36. package/dist/components/nav/NavItem.vue.d.ts +11 -4
  37. package/dist/components/nav/NavItemDropdown.vue.d.ts +4 -4
  38. package/dist/components/nav/NavSubItem.vue +35 -19
  39. package/dist/components/nav/NavSubItem.vue.d.ts +2 -1
  40. package/dist/components/navbar/NavbarBrand.vue +1 -1
  41. package/dist/components/navbar-menu/NavbarNavMenu.vue +1 -1
  42. package/dist/components/navbar-menu/NavbarNavMenu.vue.d.ts +3 -3
  43. package/dist/components/pagination/index.mjs +3 -1
  44. package/dist/components/pdf-object/PdfObject.vue +1 -1
  45. package/dist/components/pdf-text/PdfText.vue.d.ts +1 -1
  46. package/dist/components/pdf-viewer/utils/use-sticky.mjs +7 -3
  47. package/dist/components/progressbar/Progressbar.vue +110 -0
  48. package/dist/components/progressbar/Progressbar.vue.d.ts +63 -0
  49. package/dist/components/progressbar/index.d.ts +7 -0
  50. package/dist/components/progressbar/index.mjs +11 -0
  51. package/dist/components/radio/Radio.vue.d.ts +4 -4
  52. package/dist/components/ringbar/Ringbar.vue +148 -0
  53. package/dist/components/ringbar/Ringbar.vue.d.ts +66 -0
  54. package/dist/components/select/Select.vue +17 -3
  55. package/dist/components/select/Select.vue.d.ts +13 -3
  56. package/dist/components/sidebar/SidebarBrand.vue +1 -1
  57. package/dist/components/sidebar/SidebarNav.vue +37 -29
  58. package/dist/components/sidebar/SidebarNav.vue.d.ts +2 -1
  59. package/dist/components/sidebar-menu/SidebarMenu.vue +14 -23
  60. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +2 -5
  61. package/dist/components/sidebar-menu/index.d.ts +20 -2
  62. package/dist/components/signature-draw/SignatureDraw.vue +44 -15
  63. package/dist/components/signature-draw/SignatureDraw.vue.d.ts +3 -0
  64. package/dist/components/signature-draw/SignatureDrawMobile.vue +6 -1
  65. package/dist/components/signature-text/SignatureText.vue.d.ts +1 -1
  66. package/dist/components/spinner/Spinner.vue +0 -1
  67. package/dist/components/spinner/SpinnerRing.vue +0 -1
  68. package/dist/components/spread/Spread.vue +1 -1
  69. package/dist/components/spread/Spread.vue.d.ts +2 -2
  70. package/dist/components/subheading/Subheading.vue +36 -2
  71. package/dist/components/table/Table.vue +53 -9
  72. package/dist/components/table/Table.vue.d.ts +21 -3
  73. package/dist/components/table/index.d.ts +23 -6
  74. package/dist/components/table/index.mjs +18 -1
  75. package/dist/components/table-flex/TableFlex.vue +321 -0
  76. package/dist/components/table-static/TableStatic.vue +316 -0
  77. package/dist/components/text/Text.vue +46 -13
  78. package/dist/components/text/Text.vue.d.ts +2 -2
  79. package/dist/components/toggle/Toggle.vue.d.ts +7 -7
  80. package/dist/components/tour/TourDialog.vue.d.ts +1 -1
  81. package/dist/core/index.d.ts +2 -0
  82. package/dist/core/index.mjs +6 -0
  83. package/dist/module.json +1 -1
  84. package/dist/module.mjs +0 -1
  85. package/package.json +21 -19
@@ -2,6 +2,7 @@
2
2
  <component
3
3
  :is="elementNames"
4
4
  data-testid="heading"
5
+ class="heading"
5
6
  :class="classNames">
6
7
  <slot />
7
8
  </component>
@@ -73,16 +74,31 @@ export default defineComponent({
73
74
  * Weight variant
74
75
  * of heading
75
76
  */
76
-
77
- :where(&--normal, &--medium, &--bold) {
77
+ &:not([class^='text-'], [class*='text-']) {
78
78
  @apply text-default;
79
79
  @apply dark:text-dark-default;
80
80
  }
81
81
 
82
+ &--thin {
83
+ @apply font-thin;
84
+ }
85
+
86
+ &--extralight {
87
+ @apply font-extralight;
88
+ }
89
+
90
+ &--light {
91
+ @apply font-light;
92
+ }
93
+
82
94
  &--normal {
83
95
  @apply font-normal;
84
96
  }
85
97
 
98
+ &--semibold {
99
+ @apply font-semibold;
100
+ }
101
+
86
102
  &--medium {
87
103
  @apply font-medium;
88
104
  }
@@ -91,6 +107,14 @@ export default defineComponent({
91
107
  @apply font-bold;
92
108
  }
93
109
 
110
+ &--extrabold {
111
+ @apply font-extrabold;
112
+ }
113
+
114
+ &--black {
115
+ @apply font-black;
116
+ }
117
+
94
118
  /**
95
119
  * Text transform
96
120
  * of heading
@@ -1,3 +1,3 @@
1
1
  export type ElementVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
2
- export type WeightVariant = 'normal' | 'medium' | 'bold';
2
+ export type WeightVariant = 'thin' | 'extralight' | 'light' | 'normal' | 'medium' | 'semibold' | 'bold' | 'extrabold' | 'black';
3
3
  export type TransformVariant = 'normalcase' | 'lowercase' | 'capitalize' | 'uppercase';
@@ -27,7 +27,7 @@ declare const _default: import("vue-demi").DefineComponent<{
27
27
  default: boolean;
28
28
  };
29
29
  containerClass: {
30
- type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
30
+ type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
31
31
  default: undefined;
32
32
  };
33
33
  accept: {
@@ -65,7 +65,7 @@ declare const _default: import("vue-demi").DefineComponent<{
65
65
  default: boolean;
66
66
  };
67
67
  containerClass: {
68
- type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
68
+ type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
69
69
  default: undefined;
70
70
  };
71
71
  accept: {
@@ -124,8 +124,8 @@ declare const _default: import("vue-demi").DefineComponent<{
124
124
  disabled: boolean;
125
125
  readonly: boolean;
126
126
  modelModifiers: ModelModifier;
127
- placeholder: string;
128
127
  multiple: boolean | MultipleType;
128
+ placeholder: string;
129
129
  maxlength: string | number;
130
130
  accept: string;
131
131
  clearOnCancel: boolean;
@@ -72,8 +72,8 @@ declare const _default: import("vue-demi").DefineComponent<{
72
72
  onChange?: ((...args: any[]) => any) | undefined;
73
73
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
74
74
  }, {
75
- error: boolean;
76
75
  length: string | number;
76
+ error: boolean;
77
77
  size: SizeVariant;
78
78
  modelValue: string;
79
79
  disabled: boolean;
@@ -43,8 +43,8 @@ declare const _default: import("vue-demi").DefineComponent<{
43
43
  onDismissed?: ((...args: any[]) => any) | undefined;
44
44
  }, {
45
45
  variant: StyleVariant;
46
- size: SizeVariant;
47
46
  dismissable: boolean;
47
+ size: SizeVariant;
48
48
  color: ColorVariant;
49
49
  }, {}>;
50
50
  export default _default;
@@ -76,7 +76,7 @@ export default defineComponent({
76
76
  }
77
77
 
78
78
  a& {
79
- @apply cursor-pointer text-default hover:bg-default-alpha;
79
+ @apply no-underline hover:no-underline cursor-pointer text-default hover:bg-default-alpha;
80
80
  @apply dark:text-dark-default dark:hover:bg-dark-default-alpha;
81
81
  }
82
82
 
@@ -5,56 +5,59 @@
5
5
  </template>
6
6
 
7
7
  <style lang="postcss">
8
- :root {
8
+ .main {
9
9
  --p-spacer: 1rem;
10
- }
11
10
 
12
- /**
13
- * Heading
14
- */
15
- h1, h2, h3, h4, h5, h6 {
16
- --p-heading-margin-bottom: calc(var(--p-spacer) * .5);
17
- @apply mb-[var(--p-heading-margin-bottom)];
18
- }
11
+ /**
12
+ * Heading
13
+ */
14
+ h1, h2, h3, h4, h5, h6 {
15
+ --p-heading-margin-bottom: calc(var(--p-spacer) * .5);
16
+ @apply mb-[var(--p-heading-margin-bottom)];
17
+ }
19
18
 
20
- /**
21
- * Permalink
22
- */
23
- a {
24
- --p-color-link-hover: darken(theme(textColor.link), 5%);
25
- --p-color-dark-link-hover: darken(theme(textColor.link), 5%);
26
- @apply underline text-link hover:text-[color:var(--p-color-link-hover)];
27
- @apply dark:text-dark-link hover:dark:text-[color:var(--p-color-dark-link-hover)];
28
- }
19
+ /**
20
+ * Permalink
21
+ */
22
+ a {
23
+ &:not(.navbar__brand, .sidebar__brand, .dropdown__item, .list-group__item, .btn, .nav__link, .breadcrumbs__item__link) {
24
+ --p-color-link-hover: darken(theme(textColor.link), 5%);
25
+ --p-color-dark-link-hover: darken(theme(textColor.link), 5%);
26
+ @apply underline text-link hover:text-[color:var(--p-color-link-hover)];
27
+ @apply dark:text-dark-link hover:dark:text-[color:var(--p-color-dark-link-hover)];
28
+ }
29
+ }
29
30
 
30
- /**
31
- * Paragraph
32
- */
33
- p {
34
- --p-paragraph-margin-bottom: var(--p-spacer);
35
- @apply mt-0 mb-[var(--p-paragraph-margin-bottom)] text-base text-default;
36
- @apply dark:text-dark-default;
37
- }
31
+ /**
32
+ * Paragraph
33
+ */
34
+ p {
35
+ --p-paragraph-margin-bottom: var(--p-spacer);
36
+ @apply mt-0 mb-[var(--p-paragraph-margin-bottom)] text-base text-default;
37
+ @apply dark:text-dark-default;
38
+ }
38
39
 
39
- /**
40
- * Small
41
- */
42
- small {
43
- @apply text-tn;
44
- }
40
+ /**
41
+ * Small
42
+ */
43
+ small {
44
+ @apply text-tn;
45
+ }
45
46
 
46
- /**
47
- * Strong
48
- */
49
- strong {
50
- @apply font-bold;
51
- }
47
+ /**
48
+ * Strong
49
+ */
50
+ strong {
51
+ @apply font-bold;
52
+ }
52
53
 
53
- /**
54
- * Caption
55
- */
56
- caption {
57
- @apply text-xs text-muted;
58
- @apply dark:text-dark-muted;
54
+ /**
55
+ * Caption
56
+ */
57
+ caption {
58
+ @apply text-xs text-muted;
59
+ @apply dark:text-dark-muted;
60
+ }
59
61
  }
62
+
60
63
  </style>
@@ -91,9 +91,9 @@ declare const _default: import("vue-demi").DefineComponent<{
91
91
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
92
92
  onClose?: ((...args: any[]) => any) | undefined;
93
93
  }, {
94
- size: SizeVariant;
95
94
  dismissable: boolean;
96
95
  banner: boolean;
96
+ size: SizeVariant;
97
97
  text: string;
98
98
  modelValue: boolean;
99
99
  title: string;
@@ -3,10 +3,12 @@
3
3
  data-testid="nav"
4
4
  :class="classNames">
5
5
  <li
6
- v-if="title"
7
6
  class="nav__title">
8
- <span class="nav__title__item">
7
+ <span
8
+ class="nav__title__item"
9
+ :class="[ (!title && titleActionLabel) ? 'justify-end' : 'justify-between' ]">
9
10
  <Caption
11
+ v-if="title"
10
12
  weight="bold"
11
13
  transform="capitalize">
12
14
  {{ title }}
@@ -84,7 +86,7 @@ export default defineComponent({
84
86
  result.push(`nav--align-${props.align}`);
85
87
  if (props.vertical)
86
88
  result.push("nav--vertical");
87
- if (props.title)
89
+ if (props.title || props.titleActionLabel)
88
90
  result.push("nav--has-title");
89
91
  if (props.condensed)
90
92
  result.push("nav--condensed");
@@ -119,7 +121,9 @@ export default defineComponent({
119
121
  @apply dark:text-dark-subtle;
120
122
 
121
123
  &:hover,
122
- &--active {
124
+ &--active,
125
+ &.router-link-active:not(.nav__link--exact),
126
+ &.router-link-exact-active.nav__link--exact {
123
127
  @apply text-default;
124
128
  @apply dark:text-dark-default;
125
129
  }
@@ -148,7 +152,9 @@ export default defineComponent({
148
152
  * with border-bottom
149
153
  */
150
154
  .nav__link {
151
- &--active {
155
+ &--active,
156
+ &.router-link-active:not(.nav__link--exact),
157
+ &.router-link-exact-active.nav__link--exact {
152
158
  &:not(.nav__link--disabled) {
153
159
  @apply border-b-inverse;
154
160
  @apply dark:border-b-dark-inverse;
@@ -164,7 +170,9 @@ export default defineComponent({
164
170
  .nav__link {
165
171
  @apply border-y-0;
166
172
 
167
- &--active {
173
+ &--active,
174
+ &.router-link-active:not(.nav__link--exact),
175
+ &.router-link-exact-active.nav__link--exact {
168
176
  &:not(.nav__link--disabled) {
169
177
  @apply border-r border-r-inverse rounded-tr-none;
170
178
  @apply dark:border-r-dark-inverse;
@@ -176,7 +184,9 @@ export default defineComponent({
176
184
  .nav__link {
177
185
  @apply border-r-0;
178
186
 
179
- &--active {
187
+ &--active,
188
+ &.router-link-active:not(.nav__link--exact),
189
+ &.router-link-exact-active.nav__link--exact {
180
190
  &:not(.nav__link--disabled) {
181
191
  @apply border-l border-l-inverse rounded-tl-none;
182
192
  @apply dark:border-l-dark-inverse;
@@ -198,7 +208,9 @@ export default defineComponent({
198
208
  * except in bottom-side
199
209
  */
200
210
  .nav__link {
201
- &--active {
211
+ &--active,
212
+ &.router-link-active:not(.nav__link--exact),
213
+ &.router-link-exact-active.nav__link--exact {
202
214
  &:not(.nav__link--disabled) {
203
215
  @apply border-t-default border-x-default bg-base;
204
216
  @apply dark:border-t-dark-default dark:border-x-dark-default dark:bg-dark-base;
@@ -212,7 +224,9 @@ export default defineComponent({
212
224
  */
213
225
  &.nav--vertical {
214
226
  .nav__link {
215
- &--active {
227
+ &--active,
228
+ &.router-link-active:not(.nav__link--exact),
229
+ &.router-link-exact-active.nav__link--exact {
216
230
  &:not(.nav__link--disabled) {
217
231
  @apply border-l-default border-y-default border-r-transparent bg-base rounded-l rounded-r-none;
218
232
  @apply dark:border-l-dark-default dark:border-y-dark-default dark:border-r-transparent dark:bg-dark-base;
@@ -222,7 +236,9 @@ export default defineComponent({
222
236
 
223
237
  &.nav--align-right {
224
238
  .nav__link {
225
- &--active {
239
+ &--active,
240
+ &.router-link-active:not(.nav__link--exact),
241
+ &.router-link-exact-active.nav__link--exact {
226
242
  &:not(.nav__link--disabled) {
227
243
  @apply border-r-default border-y-default border-l-transparent rounded-r rounded-l-none;
228
244
  @apply dark:border-r-dark-default dark:border-y-dark-default dark:border-l-transparent;
@@ -245,7 +261,9 @@ export default defineComponent({
245
261
  * with background
246
262
  */
247
263
  .nav__link {
248
- &--active {
264
+ &--active,
265
+ &.router-link-active:not(.nav__link--exact),
266
+ &.router-link-exact-active.nav__link--exact {
249
267
  &:not(.nav__link--disabled) {
250
268
  @apply bg-base rounded-b;
251
269
  @apply dark:bg-dark-base;
@@ -260,7 +278,9 @@ export default defineComponent({
260
278
  */
261
279
  &.nav--condensed {
262
280
  .nav__link {
263
- &--active {
281
+ &--active,
282
+ &.router-link-active:not(.nav__link--exact),
283
+ &.router-link-exact-active.nav__link--exact {
264
284
  @apply bg-transparent;
265
285
  @apply dark:bg-transparent;
266
286
  }
@@ -367,7 +387,7 @@ export default defineComponent({
367
387
  @apply absolute left-5 top-0 text-base w-[calc(100%-1.75rem)]; /* 1.25rem + 0.75rem (padding) */
368
388
 
369
389
  &__item {
370
- @apply flex items-center w-full justify-between space-x-2;
390
+ @apply flex items-center w-full space-x-2;
371
391
  }
372
392
 
373
393
  .caption {
@@ -0,0 +1,78 @@
1
+ <template>
2
+ <NavItem
3
+ ref="root"
4
+ class="nav__collapse"
5
+ :class="{ 'nav__collapse--expand': isExpand }"
6
+ data-testid="nav-collapse"
7
+ v-bind="$attrs"
8
+ @click.prevent="toggleExpand">
9
+ <template #icon>
10
+ <IconMore class="nav__collapse__icon" />
11
+ </template>
12
+ {{ isExpand ? showLessText : showMoreText }}
13
+ </NavItem>
14
+ <Collapse :model-value="isExpand">
15
+ <slot />
16
+ </Collapse>
17
+ </template>
18
+
19
+ <script>
20
+ import Collapse from "../collapse/Collapse.vue";
21
+ import NavItem from "../nav/NavItem.vue";
22
+ import IconMore from "@privyid/persona-icon/vue/chevron-down/20.vue";
23
+ import {
24
+ defineComponent,
25
+ onMounted,
26
+ ref
27
+ } from "vue-demi";
28
+ import { templateRef } from "@vueuse/core";
29
+ export default defineComponent({
30
+ components: {
31
+ Collapse,
32
+ NavItem,
33
+ IconMore
34
+ },
35
+ props: {
36
+ showMoreText: {
37
+ type: String,
38
+ default: "More"
39
+ },
40
+ showLessText: {
41
+ type: String,
42
+ default: "Less"
43
+ }
44
+ },
45
+ setup() {
46
+ const nav = templateRef("root");
47
+ const isExpand = ref(false);
48
+ function toggleExpand() {
49
+ isExpand.value = !isExpand.value;
50
+ }
51
+ onMounted(() => {
52
+ if (nav.value.$el) {
53
+ isExpand.value = nav.value.$el.querySelectorAll(".router-link-active:not(.nav__link--exact),.router-link-exact-active.nav__link--exact").length > 0;
54
+ }
55
+ });
56
+ return {
57
+ isExpand,
58
+ toggleExpand
59
+ };
60
+ }
61
+ });
62
+ </script>
63
+
64
+ <style lang="postcss">
65
+ .nav__collapse {
66
+ @apply select-none;
67
+
68
+ &__icon {
69
+ @apply transition-transform duration-150 ease-in-out;
70
+ }
71
+
72
+ &--expand {
73
+ .nav__collapse__icon {
74
+ @apply rotate-180;
75
+ }
76
+ }
77
+ }
78
+ </style>
@@ -0,0 +1,26 @@
1
+ declare const _default: import("vue-demi").DefineComponent<{
2
+ showMoreText: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ showLessText: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ }, {
11
+ isExpand: import("vue-demi").Ref<boolean>;
12
+ toggleExpand: () => void;
13
+ }, 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<{
14
+ showMoreText: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ showLessText: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ }>>, {
23
+ showMoreText: string;
24
+ showLessText: string;
25
+ }, {}>;
26
+ export default _default;
@@ -3,11 +3,9 @@
3
3
  data-testid="nav-item"
4
4
  class="nav__item"
5
5
  :class="navItemClass">
6
- <component
7
- :is="tagName"
6
+ <nuxt-link
8
7
  data-testid="nav-link"
9
- :href="isExternalLink ? link : undefined"
10
- :to="isExternalLink ? undefined : href"
8
+ :href="link"
11
9
  :target="target"
12
10
  :class="[classNames, linkClass]">
13
11
  <span
@@ -22,15 +20,14 @@
22
20
  class="nav__link__label">
23
21
  <slot />
24
22
  </span>
25
- </component>
23
+ </nuxt-link>
26
24
  </li>
27
25
  </template>
28
26
 
29
27
  <script>
30
28
  import {
31
29
  computed,
32
- defineComponent,
33
- resolveComponent
30
+ defineComponent
34
31
  } from "vue-demi";
35
32
  export default defineComponent({
36
33
  props: {
@@ -57,6 +54,10 @@ export default defineComponent({
57
54
  Object
58
55
  ],
59
56
  default: void 0
57
+ },
58
+ exact: {
59
+ type: Boolean,
60
+ default: false
60
61
  }
61
62
  },
62
63
  setup(props, { slots }) {
@@ -68,6 +69,8 @@ export default defineComponent({
68
69
  result.push("nav__link--disabled");
69
70
  if (slots.icon)
70
71
  result.push("nav__link--icon");
72
+ if (props.exact)
73
+ result.push("nav__link--exact");
71
74
  return result;
72
75
  });
73
76
  const navItemClass = computed(() => {
@@ -84,20 +87,10 @@ export default defineComponent({
84
87
  permalink = props.href;
85
88
  return permalink;
86
89
  });
87
- const isExternalLink = computed(() => {
88
- return !props.href || typeof props.href === "string" && (props.href.startsWith("http") || props.href.startsWith("#"));
89
- });
90
- const tagName = computed(() => {
91
- if (isExternalLink.value)
92
- return "a";
93
- return resolveComponent("router-link");
94
- });
95
90
  return {
96
91
  classNames,
97
92
  navItemClass,
98
- link,
99
- isExternalLink,
100
- tagName
93
+ link
101
94
  };
102
95
  }
103
96
  });
@@ -125,7 +118,7 @@ export default defineComponent({
125
118
  }
126
119
 
127
120
  &__link {
128
- @apply block relative py-[10px] px-3 -mb-[1px] border border-transparent rounded-t text-base font-normal cursor-pointer hover:no-underline text-subtle hover:text-default;
121
+ @apply block relative py-[10px] px-3 -mb-[1px] border border-transparent rounded-t text-base font-normal cursor-pointer no-underline hover:no-underline text-subtle hover:text-default;
129
122
  @apply dark:text-dark-subtle hover:dark:text-dark-default;
130
123
 
131
124
  &&--active {
@@ -18,15 +18,17 @@ declare const _default: import("vue-demi").DefineComponent<{
18
18
  default: string;
19
19
  };
20
20
  linkClass: {
21
- type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
21
+ type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
22
22
  default: undefined;
23
23
  };
24
+ exact: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
24
28
  }, {
25
29
  classNames: import("vue-demi").ComputedRef<string[]>;
26
30
  navItemClass: import("vue-demi").ComputedRef<string[]>;
27
31
  link: import("vue-demi").ComputedRef<string | undefined>;
28
- isExternalLink: import("vue-demi").ComputedRef<boolean>;
29
- tagName: import("vue-demi").ComputedRef<string | import("vue-demi").ConcreteComponent<{}, any, any, import("vue-demi").ComputedOptions, import("vue-demi").MethodOptions>>;
30
32
  }, 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<{
31
33
  active: {
32
34
  type: BooleanConstructor;
@@ -45,14 +47,19 @@ declare const _default: import("vue-demi").DefineComponent<{
45
47
  default: string;
46
48
  };
47
49
  linkClass: {
48
- type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
50
+ type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
49
51
  default: undefined;
50
52
  };
53
+ exact: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
51
57
  }>>, {
52
58
  href: RouteLocationRaw;
53
59
  active: boolean;
54
60
  disabled: boolean;
55
61
  target: string | undefined;
62
+ exact: boolean;
56
63
  linkClass: string | Record<string, any> | unknown[];
57
64
  }, {}>;
58
65
  export default _default;
@@ -32,7 +32,7 @@ declare const _default: import("vue-demi").DefineComponent<{
32
32
  default: string;
33
33
  };
34
34
  menuClass: {
35
- type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
35
+ type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
36
36
  default: undefined;
37
37
  };
38
38
  menuSize: {
@@ -75,7 +75,7 @@ declare const _default: import("vue-demi").DefineComponent<{
75
75
  default: string;
76
76
  };
77
77
  menuClass: {
78
- type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
78
+ type: (StringConstructor | ObjectConstructor | ArrayConstructor)[];
79
79
  default: undefined;
80
80
  };
81
81
  menuSize: {
@@ -90,13 +90,13 @@ declare const _default: import("vue-demi").DefineComponent<{
90
90
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
91
91
  }, {
92
92
  variant: StyleVariant;
93
- size: SizeVariant;
94
93
  icon: boolean;
94
+ size: SizeVariant;
95
+ divider: boolean;
95
96
  text: string;
96
97
  modelValue: boolean;
97
98
  placement: Placement;
98
99
  noCaret: boolean;
99
- divider: boolean;
100
100
  menuClass: string | Record<string, any> | unknown[];
101
101
  menuSize: MenuSizeVariant;
102
102
  }, {}>;