@bitrix24/b24ui-nuxt 2.0.9 → 2.1.1
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/meta.d.mts +79556 -44766
- package/dist/meta.mjs +79556 -44766
- package/dist/module.json +1 -1
- package/dist/module.mjs +3 -3
- package/dist/runtime/components/App.d.vue.ts +1 -1
- package/dist/runtime/components/App.vue +2 -1
- package/dist/runtime/components/App.vue.d.ts +1 -1
- package/dist/runtime/components/Avatar.d.vue.ts +2 -1
- package/dist/runtime/components/Avatar.vue.d.ts +2 -1
- package/dist/runtime/components/Button.vue +1 -0
- package/dist/runtime/components/Calendar.vue +1 -3
- package/dist/runtime/components/ChatPrompt.d.vue.ts +2 -2
- package/dist/runtime/components/ChatPrompt.vue +5 -5
- package/dist/runtime/components/ChatPrompt.vue.d.ts +2 -2
- package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +5 -5
- package/dist/runtime/components/ChatPromptSubmit.vue +53 -4
- package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +5 -5
- package/dist/runtime/components/Checkbox.d.vue.ts +2 -1
- package/dist/runtime/components/Checkbox.vue.d.ts +2 -1
- package/dist/runtime/components/CommandPalette.vue +5 -4
- package/dist/runtime/components/DashboardSearch.d.vue.ts +3 -6
- package/dist/runtime/components/DashboardSearch.vue +2 -3
- package/dist/runtime/components/DashboardSearch.vue.d.ts +3 -6
- package/dist/runtime/components/DashboardSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/DashboardSearchButton.vue +44 -6
- package/dist/runtime/components/DashboardSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/Error.d.vue.ts +1 -1
- package/dist/runtime/components/Error.vue.d.ts +1 -1
- package/dist/runtime/components/FileUpload.d.vue.ts +3 -2
- package/dist/runtime/components/FileUpload.vue +9 -9
- package/dist/runtime/components/FileUpload.vue.d.ts +3 -2
- package/dist/runtime/components/Form.d.vue.ts +2 -1
- package/dist/runtime/components/Form.vue.d.ts +2 -1
- package/dist/runtime/components/Input.d.vue.ts +7 -7
- package/dist/runtime/components/Input.vue +2 -2
- package/dist/runtime/components/Input.vue.d.ts +7 -7
- package/dist/runtime/components/InputDate.d.vue.ts +110 -0
- package/dist/runtime/components/InputDate.vue +192 -0
- package/dist/runtime/components/InputDate.vue.d.ts +110 -0
- package/dist/runtime/components/InputMenu.d.vue.ts +7 -128
- package/dist/runtime/components/InputMenu.vue +3 -3
- package/dist/runtime/components/InputMenu.vue.d.ts +7 -128
- package/dist/runtime/components/InputNumber.d.vue.ts +25 -129
- package/dist/runtime/components/InputNumber.vue +4 -7
- package/dist/runtime/components/InputNumber.vue.d.ts +25 -129
- package/dist/runtime/components/InputTags.d.vue.ts +6 -109
- package/dist/runtime/components/InputTags.vue +8 -8
- package/dist/runtime/components/InputTags.vue.d.ts +6 -109
- package/dist/runtime/components/InputTime.d.vue.ts +94 -0
- package/dist/runtime/components/InputTime.vue +164 -0
- package/dist/runtime/components/InputTime.vue.d.ts +94 -0
- package/dist/runtime/components/Link.d.vue.ts +4 -49
- package/dist/runtime/components/Link.vue +1 -0
- package/dist/runtime/components/Link.vue.d.ts +4 -49
- package/dist/runtime/components/Modal.d.vue.ts +1 -1
- package/dist/runtime/components/Modal.vue.d.ts +1 -1
- package/dist/runtime/components/Pagination.d.vue.ts +2 -2
- package/dist/runtime/components/Pagination.vue.d.ts +2 -2
- package/dist/runtime/components/PinInput.d.vue.ts +3 -3
- package/dist/runtime/components/PinInput.vue.d.ts +3 -3
- package/dist/runtime/components/Progress.d.vue.ts +1 -1
- package/dist/runtime/components/Progress.vue.d.ts +1 -1
- package/dist/runtime/components/Select.d.vue.ts +6 -107
- package/dist/runtime/components/Select.vue +3 -3
- package/dist/runtime/components/Select.vue.d.ts +6 -107
- package/dist/runtime/components/SelectMenu.d.vue.ts +7 -106
- package/dist/runtime/components/SelectMenu.vue +3 -3
- package/dist/runtime/components/SelectMenu.vue.d.ts +7 -106
- package/dist/runtime/components/Slideover.d.vue.ts +1 -1
- package/dist/runtime/components/Slideover.vue.d.ts +1 -1
- package/dist/runtime/components/Switch.d.vue.ts +2 -1
- package/dist/runtime/components/Switch.vue.d.ts +2 -1
- package/dist/runtime/components/Table.d.vue.ts +5 -4
- package/dist/runtime/components/Table.vue +4 -3
- package/dist/runtime/components/Table.vue.d.ts +5 -4
- package/dist/runtime/components/Textarea.d.vue.ts +7 -6
- package/dist/runtime/components/Textarea.vue +2 -2
- package/dist/runtime/components/Textarea.vue.d.ts +7 -6
- package/dist/runtime/components/Toast.vue +5 -5
- package/dist/runtime/components/Toaster.d.vue.ts +1 -1
- package/dist/runtime/components/Toaster.vue.d.ts +1 -1
- package/dist/runtime/components/color-mode/ColorModeAvatar.d.vue.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue +16 -4
- package/dist/runtime/components/color-mode/ColorModeAvatar.vue.d.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeButton.d.vue.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeButton.vue +54 -6
- package/dist/runtime/components/color-mode/ColorModeButton.vue.d.ts +3 -3
- package/dist/runtime/components/color-mode/ColorModeImage.d.vue.ts +4 -3
- package/dist/runtime/components/color-mode/ColorModeImage.vue +4 -0
- package/dist/runtime/components/color-mode/ColorModeImage.vue.d.ts +4 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
- package/dist/runtime/components/color-mode/ColorModeSelect.vue +47 -5
- package/dist/runtime/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
- package/dist/runtime/components/color-mode/ColorModeSwitch.d.vue.ts +2 -2
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue +29 -5
- package/dist/runtime/components/color-mode/ColorModeSwitch.vue.d.ts +2 -2
- package/dist/runtime/components/content/ContentSearch.d.vue.ts +3 -6
- package/dist/runtime/components/content/ContentSearch.vue +2 -3
- package/dist/runtime/components/content/ContentSearch.vue.d.ts +3 -6
- package/dist/runtime/components/content/ContentSearchButton.d.vue.ts +2 -3
- package/dist/runtime/components/content/ContentSearchButton.vue +43 -5
- package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +2 -3
- package/dist/runtime/components/content/ContentSurround.vue +7 -1
- package/dist/runtime/components/locale/LocaleSelect.d.vue.ts +11 -7
- package/dist/runtime/components/locale/LocaleSelect.vue +50 -6
- package/dist/runtime/components/locale/LocaleSelect.vue.d.ts +11 -7
- package/dist/runtime/components/prose/Callout.vue +4 -0
- package/dist/runtime/composables/index.d.ts +8 -0
- package/dist/runtime/composables/index.js +8 -0
- package/dist/runtime/composables/useFileUpload.d.ts +2 -1
- package/dist/runtime/composables/useFileUpload.js +13 -4
- package/dist/runtime/inertia/components/Link.d.vue.ts +17 -10
- package/dist/runtime/inertia/components/Link.vue +8 -6
- package/dist/runtime/inertia/components/Link.vue.d.ts +17 -10
- package/dist/runtime/inertia/stubs.d.ts +1 -1
- package/dist/runtime/types/html.d.ts +8 -0
- package/dist/runtime/types/html.js +0 -0
- package/dist/runtime/types/index.d.ts +2 -0
- package/dist/runtime/types/index.js +2 -0
- package/dist/runtime/types/input.d.ts +5 -5
- package/dist/runtime/types/utils.d.ts +2 -0
- package/dist/runtime/utils/content.d.ts +2 -2
- package/dist/runtime/utils/dashboard.d.ts +1 -1
- package/dist/runtime/utils/link.d.ts +1 -0
- package/dist/runtime/utils/link.js +40 -24
- package/dist/runtime/vue/components/Link.d.vue.ts +8 -37
- package/dist/runtime/vue/components/Link.vue +6 -11
- package/dist/runtime/vue/components/Link.vue.d.ts +8 -37
- package/dist/runtime/vue/components/color-mode/ColorModeButton.d.vue.ts +2 -2
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +55 -5
- package/dist/runtime/vue/components/color-mode/ColorModeButton.vue.d.ts +2 -2
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.d.vue.ts +5 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +46 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue.d.ts +5 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.d.vue.ts +1 -1
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +24 -3
- package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue.d.ts +1 -1
- package/dist/runtime/vue/stubs.d.ts +2 -2
- package/dist/runtime/vue/stubs.js +1 -1
- package/dist/shared/{b24ui-nuxt.4XNR9Ysu.mjs → b24ui-nuxt.B13KxxqP.mjs} +137 -3
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +24 -14
|
@@ -3,11 +3,57 @@
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
|
+
import { useForwardProps } from "reka-ui";
|
|
7
|
+
import { reactiveOmit } from "@vueuse/core";
|
|
6
8
|
import B24SelectMenu from "../SelectMenu.vue";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
defineOptions({ inheritAttrs: false });
|
|
10
|
+
const props = defineProps({
|
|
11
|
+
locales: { type: Array, required: false },
|
|
12
|
+
id: { type: String, required: false },
|
|
13
|
+
placeholder: { type: String, required: false },
|
|
14
|
+
searchInput: { type: [Boolean, Object], required: false, default: false },
|
|
15
|
+
color: { type: null, required: false },
|
|
16
|
+
size: { type: null, required: false },
|
|
17
|
+
noPadding: { type: Boolean, required: false },
|
|
18
|
+
noBorder: { type: Boolean, required: false },
|
|
19
|
+
underline: { type: Boolean, required: false },
|
|
20
|
+
rounded: { type: Boolean, required: false },
|
|
21
|
+
tag: { type: String, required: false },
|
|
22
|
+
tagColor: { type: null, required: false },
|
|
23
|
+
required: { type: Boolean, required: false },
|
|
24
|
+
trailingIcon: { type: [Function, Object], required: false },
|
|
25
|
+
selectedIcon: { type: [Function, Object], required: false },
|
|
26
|
+
content: { type: Object, required: false },
|
|
27
|
+
arrow: { type: [Boolean, Object], required: false },
|
|
28
|
+
portal: { type: [Boolean, String], required: false, skipCheck: true },
|
|
29
|
+
virtualize: { type: [Boolean, Object], required: false },
|
|
30
|
+
valueKey: { type: String, required: false, default: "code" },
|
|
31
|
+
labelKey: { type: null, required: false, default: "name" },
|
|
32
|
+
descriptionKey: { type: null, required: false },
|
|
33
|
+
defaultValue: { type: null, required: false },
|
|
34
|
+
multiple: { type: Boolean, required: false },
|
|
35
|
+
highlight: { type: Boolean, required: false },
|
|
36
|
+
createItem: { type: [Boolean, String, Object], required: false },
|
|
37
|
+
filterFields: { type: Array, required: false },
|
|
38
|
+
ignoreFilter: { type: Boolean, required: false },
|
|
39
|
+
autofocus: { type: Boolean, required: false },
|
|
40
|
+
autofocusDelay: { type: Number, required: false },
|
|
41
|
+
class: { type: null, required: false },
|
|
42
|
+
b24ui: { type: null, required: false },
|
|
43
|
+
open: { type: Boolean, required: false },
|
|
44
|
+
defaultOpen: { type: Boolean, required: false },
|
|
45
|
+
disabled: { type: Boolean, required: false },
|
|
46
|
+
name: { type: String, required: false },
|
|
47
|
+
resetSearchTermOnBlur: { type: Boolean, required: false },
|
|
48
|
+
resetSearchTermOnSelect: { type: Boolean, required: false },
|
|
49
|
+
highlightOnHover: { type: Boolean, required: false },
|
|
50
|
+
icon: { type: [Function, Object], required: false },
|
|
51
|
+
avatar: { type: Object, required: false },
|
|
52
|
+
loading: { type: Boolean, required: false },
|
|
53
|
+
trailing: { type: Boolean, required: false }
|
|
9
54
|
});
|
|
10
|
-
const
|
|
55
|
+
const selectMenuProps = useForwardProps(reactiveOmit(props, "locales"));
|
|
56
|
+
const modelValue = defineModel({ type: String, ...{ required: true } });
|
|
11
57
|
function getEmojiFlag(locale) {
|
|
12
58
|
const languageToCountry = {
|
|
13
59
|
en: "us",
|
|
@@ -58,9 +104,7 @@ function getEmojiFlag(locale) {
|
|
|
58
104
|
<template>
|
|
59
105
|
<B24SelectMenu
|
|
60
106
|
v-model="modelValue"
|
|
61
|
-
|
|
62
|
-
value-key="code"
|
|
63
|
-
label-key="name"
|
|
107
|
+
v-bind="{ ...selectMenuProps, ...$attrs }"
|
|
64
108
|
:items="locales"
|
|
65
109
|
>
|
|
66
110
|
<template #leading>
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import type { SelectMenuProps } from '
|
|
1
|
+
import type { SelectMenuProps } from '../SelectMenu.vue';
|
|
2
2
|
import type { Locale } from '../../types/locale';
|
|
3
|
-
export interface LocaleSelectProps extends
|
|
3
|
+
export interface LocaleSelectProps extends Omit<SelectMenuProps<Locale<any>[], 'code', false>, 'items' | 'modelValue'> {
|
|
4
4
|
locales?: Locale<any>[];
|
|
5
5
|
}
|
|
6
6
|
declare const __VLS_export: import("vue").DefineComponent<LocaleSelectProps & {
|
|
7
|
-
modelValue
|
|
7
|
+
modelValue: string;
|
|
8
8
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
9
|
-
"update:modelValue": (value: string
|
|
9
|
+
"update:modelValue": (value: string) => any;
|
|
10
10
|
}, string, import("vue").PublicProps, Readonly<LocaleSelectProps & {
|
|
11
|
-
modelValue
|
|
11
|
+
modelValue: string;
|
|
12
12
|
}> & Readonly<{
|
|
13
|
-
"onUpdate:modelValue"?: ((value: string
|
|
14
|
-
}>, {
|
|
13
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
labelKey: string;
|
|
16
|
+
valueKey: "code";
|
|
17
|
+
searchInput: boolean | import("../Input.vue").InputProps;
|
|
18
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
15
19
|
declare const _default: typeof __VLS_export;
|
|
16
20
|
export default _default;
|
|
@@ -9,6 +9,7 @@ import { tv } from "../../utils/tv";
|
|
|
9
9
|
import icons from "../../dictionary/icons";
|
|
10
10
|
import B24Link from "../Link.vue";
|
|
11
11
|
import GitHubIcon from "@bitrix24/b24icons-vue/social/GitHubIcon";
|
|
12
|
+
import InfoCircleIcon from "@bitrix24/b24icons-vue/outline/InfoCircleIcon";
|
|
12
13
|
defineOptions({ inheritAttrs: false });
|
|
13
14
|
const props = defineProps({
|
|
14
15
|
to: { type: null, required: false },
|
|
@@ -33,6 +34,9 @@ const iconFromIconName = computed(() => {
|
|
|
33
34
|
switch (props.iconName) {
|
|
34
35
|
case "GitHubIcon":
|
|
35
36
|
return GitHubIcon;
|
|
37
|
+
/** @todo change icon */
|
|
38
|
+
case "MdnWebDocIcon":
|
|
39
|
+
return InfoCircleIcon;
|
|
36
40
|
}
|
|
37
41
|
return void 0;
|
|
38
42
|
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./defineLocale.js";
|
|
2
|
+
export * from "./defineShortcuts.js";
|
|
3
|
+
export * from "./useFileUpload.js";
|
|
4
|
+
export * from "./useKbd.js";
|
|
5
|
+
export * from "./useOverlay.js";
|
|
6
|
+
export * from "./useResizable.js";
|
|
7
|
+
export * from "./useScrollspy.js";
|
|
8
|
+
export * from "./useToast.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
1
2
|
import type { MaybeRef } from '@vueuse/core';
|
|
2
3
|
export interface UseFileUploadOptions {
|
|
3
4
|
/**
|
|
@@ -14,6 +15,6 @@ export interface UseFileUploadOptions {
|
|
|
14
15
|
export declare function useFileUpload(options: UseFileUploadOptions): {
|
|
15
16
|
isDragging: import("vue").Ref<boolean, boolean>;
|
|
16
17
|
open: () => void;
|
|
17
|
-
inputRef: import("vue").Ref<
|
|
18
|
+
inputRef: import("vue").Ref<ComponentPublicInstance | undefined, ComponentPublicInstance | undefined>;
|
|
18
19
|
dropzoneRef: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
|
|
19
20
|
};
|
|
@@ -26,7 +26,7 @@ export function useFileUpload(options) {
|
|
|
26
26
|
const inputRef = ref();
|
|
27
27
|
const dropzoneRef = ref();
|
|
28
28
|
const dataTypes = computed(() => parseAcceptToDataTypes(unref(accept)));
|
|
29
|
-
const onDrop = (files) => {
|
|
29
|
+
const onDrop = (files, fromDropZone = false) => {
|
|
30
30
|
if (!files || files.length === 0) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
@@ -36,6 +36,15 @@ export function useFileUpload(options) {
|
|
|
36
36
|
if (files.length > 1 && !multiple) {
|
|
37
37
|
files = [files[0]];
|
|
38
38
|
}
|
|
39
|
+
if (fromDropZone && inputRef.value?.$el) {
|
|
40
|
+
try {
|
|
41
|
+
const dt = new DataTransfer();
|
|
42
|
+
files.forEach((file) => dt.items.add(file));
|
|
43
|
+
inputRef.value.$el.files = dt.files;
|
|
44
|
+
} catch (e) {
|
|
45
|
+
console.warn("Could not sync files to input element:", e);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
39
48
|
onUpdate(files);
|
|
40
49
|
};
|
|
41
50
|
const isDragging = ref(false);
|
|
@@ -47,18 +56,18 @@ export function useFileUpload(options) {
|
|
|
47
56
|
fileDialog.open();
|
|
48
57
|
}
|
|
49
58
|
onMounted(() => {
|
|
50
|
-
const { isOverDropZone } = dropzone ? useDropZone(dropzoneRef, { dataTypes: dataTypes.value, onDrop }) : { isOverDropZone: ref(false) };
|
|
59
|
+
const { isOverDropZone } = dropzone ? useDropZone(dropzoneRef, { dataTypes: dataTypes.value, onDrop: (files) => onDrop(files, true) }) : { isOverDropZone: ref(false) };
|
|
51
60
|
watch(isOverDropZone, (value) => {
|
|
52
61
|
isDragging.value = value;
|
|
53
62
|
});
|
|
54
63
|
const { onChange, open: open2 } = useFileDialog({
|
|
55
64
|
accept: unref(accept),
|
|
56
65
|
multiple,
|
|
57
|
-
input: unref(inputRef),
|
|
66
|
+
input: unref(inputRef)?.$el,
|
|
58
67
|
reset
|
|
59
68
|
});
|
|
60
69
|
fileDialog.open = open2;
|
|
61
|
-
onChange((fileList) => onDrop(fileList));
|
|
70
|
+
onChange((fileList) => onDrop(fileList, false));
|
|
62
71
|
});
|
|
63
72
|
return {
|
|
64
73
|
isDragging,
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
1
|
import type { InertiaLinkProps } from '@inertiajs/vue3';
|
|
3
|
-
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
|
|
3
|
+
export interface LinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
|
+
/**
|
|
5
|
+
* The element or component this component should render as when not a link.
|
|
6
|
+
* @defaultValue 'button'
|
|
7
|
+
*/
|
|
8
|
+
as?: any;
|
|
4
9
|
activeClass?: string;
|
|
5
10
|
/**
|
|
6
11
|
* Route Location the link should navigate to when clicked on.
|
|
@@ -9,7 +14,7 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
9
14
|
/**
|
|
10
15
|
* An alias for `to`. If used with `to`, `href` will be ignored
|
|
11
16
|
*/
|
|
12
|
-
href?:
|
|
17
|
+
href?: LinkProps['to'];
|
|
13
18
|
/**
|
|
14
19
|
* Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
|
|
15
20
|
*/
|
|
@@ -18,14 +23,16 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
18
23
|
* Where to display the linked URL, as the name for a browsing context.
|
|
19
24
|
*/
|
|
20
25
|
target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
|
|
21
|
-
ariaCurrentValue?: string;
|
|
22
|
-
}
|
|
23
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @defaultValue 'button'
|
|
27
|
+
* A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
+
rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
|
|
30
|
+
/**
|
|
31
|
+
* Value passed to the attribute `aria-current` when the link is exact active.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `'page'`
|
|
34
|
+
*/
|
|
35
|
+
ariaCurrentValue?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
29
36
|
/**
|
|
30
37
|
* The type of the button when not a link.
|
|
31
38
|
* @defaultValue 'button'
|
|
@@ -53,8 +60,8 @@ export interface LinkSlots {
|
|
|
53
60
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
54
61
|
as: any;
|
|
55
62
|
type: "reset" | "submit" | "button";
|
|
56
|
-
activeClass: string;
|
|
57
63
|
active: boolean;
|
|
64
|
+
activeClass: string;
|
|
58
65
|
inactiveClass: string;
|
|
59
66
|
isAction: boolean;
|
|
60
67
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
@@ -15,6 +15,13 @@ import B24LinkBase from "./../../components/LinkBase.vue";
|
|
|
15
15
|
defineOptions({ inheritAttrs: false });
|
|
16
16
|
const props = defineProps({
|
|
17
17
|
as: { type: null, required: false, default: "button" },
|
|
18
|
+
activeClass: { type: String, required: false, default: "" },
|
|
19
|
+
to: { type: String, required: false },
|
|
20
|
+
href: { type: String, required: false },
|
|
21
|
+
external: { type: Boolean, required: false },
|
|
22
|
+
target: { type: [String, Object, null], required: false },
|
|
23
|
+
rel: { type: [String, Object, null], required: false },
|
|
24
|
+
ariaCurrentValue: { type: String, required: false },
|
|
18
25
|
type: { type: null, required: false, default: "button" },
|
|
19
26
|
disabled: { type: Boolean, required: false },
|
|
20
27
|
active: { type: Boolean, required: false, default: void 0 },
|
|
@@ -24,12 +31,6 @@ const props = defineProps({
|
|
|
24
31
|
isAction: { type: Boolean, required: false, default: false },
|
|
25
32
|
raw: { type: Boolean, required: false },
|
|
26
33
|
class: { type: null, required: false },
|
|
27
|
-
activeClass: { type: String, required: false, default: "" },
|
|
28
|
-
to: { type: String, required: false },
|
|
29
|
-
href: { type: String, required: false },
|
|
30
|
-
external: { type: Boolean, required: false },
|
|
31
|
-
target: { type: [String, Object, null], required: false },
|
|
32
|
-
ariaCurrentValue: { type: String, required: false },
|
|
33
34
|
data: { type: null, required: false },
|
|
34
35
|
method: { type: String, required: false },
|
|
35
36
|
replace: { type: Boolean, required: false },
|
|
@@ -41,6 +42,7 @@ const props = defineProps({
|
|
|
41
42
|
headers: { type: Object, required: false },
|
|
42
43
|
queryStringArrayFormat: { type: String, required: false },
|
|
43
44
|
async: { type: Boolean, required: false },
|
|
45
|
+
viewTransition: { type: [Boolean, Function], required: false },
|
|
44
46
|
onCancelToken: { type: Function, required: false },
|
|
45
47
|
onBefore: { type: Function, required: false },
|
|
46
48
|
onBeforeUpdate: { type: Function, required: false },
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { ButtonHTMLAttributes } from 'vue';
|
|
2
1
|
import type { InertiaLinkProps } from '@inertiajs/vue3';
|
|
3
|
-
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
|
|
3
|
+
export interface LinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
|
+
/**
|
|
5
|
+
* The element or component this component should render as when not a link.
|
|
6
|
+
* @defaultValue 'button'
|
|
7
|
+
*/
|
|
8
|
+
as?: any;
|
|
4
9
|
activeClass?: string;
|
|
5
10
|
/**
|
|
6
11
|
* Route Location the link should navigate to when clicked on.
|
|
@@ -9,7 +14,7 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
9
14
|
/**
|
|
10
15
|
* An alias for `to`. If used with `to`, `href` will be ignored
|
|
11
16
|
*/
|
|
12
|
-
href?:
|
|
17
|
+
href?: LinkProps['to'];
|
|
13
18
|
/**
|
|
14
19
|
* Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
|
|
15
20
|
*/
|
|
@@ -18,14 +23,16 @@ interface NuxtLinkProps extends Omit<InertiaLinkProps, 'href' | 'onClick'> {
|
|
|
18
23
|
* Where to display the linked URL, as the name for a browsing context.
|
|
19
24
|
*/
|
|
20
25
|
target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
|
|
21
|
-
ariaCurrentValue?: string;
|
|
22
|
-
}
|
|
23
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @defaultValue 'button'
|
|
27
|
+
* A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
+
rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
|
|
30
|
+
/**
|
|
31
|
+
* Value passed to the attribute `aria-current` when the link is exact active.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue `'page'`
|
|
34
|
+
*/
|
|
35
|
+
ariaCurrentValue?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
|
|
29
36
|
/**
|
|
30
37
|
* The type of the button when not a link.
|
|
31
38
|
* @defaultValue 'button'
|
|
@@ -53,8 +60,8 @@ export interface LinkSlots {
|
|
|
53
60
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
54
61
|
as: any;
|
|
55
62
|
type: "reset" | "submit" | "button";
|
|
56
|
-
activeClass: string;
|
|
57
63
|
active: boolean;
|
|
64
|
+
activeClass: string;
|
|
58
65
|
inactiveClass: string;
|
|
59
66
|
isAction: boolean;
|
|
60
67
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
@@ -17,7 +17,7 @@ export declare const useColorMode: () => {
|
|
|
17
17
|
preference?: undefined;
|
|
18
18
|
readonly value?: undefined;
|
|
19
19
|
} | {
|
|
20
|
-
preference:
|
|
20
|
+
preference: import("@vueuse/core").BasicColorMode | "system";
|
|
21
21
|
readonly value: import("@vueuse/core").BasicColorMode;
|
|
22
22
|
forced: boolean;
|
|
23
23
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes as VueAnchorHTMLAttributes, ButtonHTMLAttributes as VueButtonHTMLAttributes, FormHTMLAttributes as VueFormHTMLAttributes, ImgHTMLAttributes as VueImgHTMLAttributes, InputHTMLAttributes as VueInputHTMLAttributes, TableHTMLAttributes as VueTableHTMLAttributes, TextareaHTMLAttributes as VueTextareaHTMLAttributes } from 'vue';
|
|
2
|
+
export type AnchorHTMLAttributes = Pick<VueAnchorHTMLAttributes, 'download' | 'href' | 'hreflang' | 'media' | 'ping' | 'rel' | 'target' | 'type' | 'referrerpolicy'>;
|
|
3
|
+
export type ButtonHTMLAttributes = Pick<VueButtonHTMLAttributes, 'autofocus' | 'disabled' | 'form' | 'formaction' | 'formenctype' | 'formmethod' | 'formnovalidate' | 'formtarget' | 'name' | 'type'>;
|
|
4
|
+
export type FormHTMLAttributes = Pick<VueFormHTMLAttributes, 'acceptcharset' | 'action' | 'autocomplete' | 'enctype' | 'method' | 'name' | 'novalidate' | 'target'>;
|
|
5
|
+
export type ImgHTMLAttributes = Pick<VueImgHTMLAttributes, 'alt' | 'crossorigin' | 'decoding' | 'height' | 'loading' | 'referrerpolicy' | 'sizes' | 'src' | 'srcset' | 'usemap' | 'width'>;
|
|
6
|
+
export type InputHTMLAttributes = Pick<VueInputHTMLAttributes, 'autocomplete' | 'autofocus' | 'disabled' | 'enterKeyHint' | 'form' | 'formaction' | 'formenctype' | 'formmethod' | 'formnovalidate' | 'formtarget' | 'list' | 'max' | 'maxlength' | 'min' | 'minlength' | 'name' | 'pattern' | 'placeholder' | 'readonly' | 'required' | 'size' | 'step' | 'type'>;
|
|
7
|
+
export type TableHTMLAttributes = Pick<VueTableHTMLAttributes, 'cellpadding' | 'cellspacing' | 'summary' | 'width'>;
|
|
8
|
+
export type TextareaHTMLAttributes = Pick<VueTextareaHTMLAttributes, 'autocomplete' | 'autofocus' | 'cols' | 'dirname' | 'disabled' | 'form' | 'maxlength' | 'minlength' | 'name' | 'placeholder' | 'readonly' | 'required' | 'rows' | 'wrap'>;
|
|
File without changes
|
|
@@ -36,9 +36,11 @@ export * from '../components/FileUpload.vue';
|
|
|
36
36
|
export * from '../components/Form.vue';
|
|
37
37
|
export * from '../components/FormField.vue';
|
|
38
38
|
export * from '../components/Input.vue';
|
|
39
|
+
export * from '../components/InputDate.vue';
|
|
39
40
|
export * from '../components/InputMenu.vue';
|
|
40
41
|
export * from '../components/InputNumber.vue';
|
|
41
42
|
export * from '../components/InputTags.vue';
|
|
43
|
+
export * from '../components/InputTime.vue';
|
|
42
44
|
export * from '../components/Kbd.vue';
|
|
43
45
|
export * from '../components/Link.vue';
|
|
44
46
|
export * from '../components/Modal.vue';
|
|
@@ -36,9 +36,11 @@ export * from "../components/FileUpload.vue";
|
|
|
36
36
|
export * from "../components/Form.vue";
|
|
37
37
|
export * from "../components/FormField.vue";
|
|
38
38
|
export * from "../components/Input.vue";
|
|
39
|
+
export * from "../components/InputDate.vue";
|
|
39
40
|
export * from "../components/InputMenu.vue";
|
|
40
41
|
export * from "../components/InputNumber.vue";
|
|
41
42
|
export * from "../components/InputTags.vue";
|
|
43
|
+
export * from "../components/InputTime.vue";
|
|
42
44
|
export * from "../components/Kbd.vue";
|
|
43
45
|
export * from "../components/Link.vue";
|
|
44
46
|
export * from "../components/Modal.vue";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export interface ModelModifiers {
|
|
2
|
-
string?: boolean;
|
|
3
|
-
number?: boolean;
|
|
4
|
-
trim?: boolean;
|
|
1
|
+
export interface ModelModifiers<T = any> {
|
|
2
|
+
string?: string extends T ? boolean : never;
|
|
3
|
+
number?: number extends T ? boolean : never;
|
|
4
|
+
trim?: string extends T ? boolean : never;
|
|
5
5
|
lazy?: boolean;
|
|
6
|
-
nullable?: boolean;
|
|
6
|
+
nullable?: null extends T ? boolean : never;
|
|
7
7
|
optional?: boolean;
|
|
8
8
|
}
|
|
@@ -42,4 +42,6 @@ export type StringOrVNode = string | VNode | (() => VNode);
|
|
|
42
42
|
export type EmitsToProps<T> = {
|
|
43
43
|
[K in keyof T as `on${Capitalize<string & K>}`]: T[K] extends [...args: infer Args] ? (...args: Args) => void : never;
|
|
44
44
|
};
|
|
45
|
+
export type NonUnion<T> = [T] extends [infer U] ? _NonUnion<U, U> : never;
|
|
46
|
+
type _NonUnion<T, U> = U extends any ? [T] extends [U] ? unknown : never : never;
|
|
45
47
|
export {};
|
|
@@ -4,13 +4,13 @@ type MapContentNavigationItemOptions = {
|
|
|
4
4
|
labelAttribute?: string;
|
|
5
5
|
deep?: number;
|
|
6
6
|
};
|
|
7
|
-
export declare function mapContentNavigationItem(item: ContentNavigationItem, options?: MapContentNavigationItemOptions, currentDepth?: number): Omit<ContentNavigationItem, "
|
|
7
|
+
export declare function mapContentNavigationItem(item: ContentNavigationItem, options?: MapContentNavigationItemOptions, currentDepth?: number): Omit<ContentNavigationItem, "path" | "title"> & {
|
|
8
8
|
label?: string;
|
|
9
9
|
to?: string;
|
|
10
10
|
type?: string;
|
|
11
11
|
icon?: IconComponent;
|
|
12
12
|
};
|
|
13
|
-
export declare function mapContentNavigation(navigation: ContentNavigationItem[], options?: MapContentNavigationItemOptions): (Omit<ContentNavigationItem, "
|
|
13
|
+
export declare function mapContentNavigation(navigation: ContentNavigationItem[], options?: MapContentNavigationItemOptions): (Omit<ContentNavigationItem, "path" | "title"> & {
|
|
14
14
|
label?: string;
|
|
15
15
|
to?: string;
|
|
16
16
|
type?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Ref } from 'vue';
|
|
2
2
|
import type { UseLoadingProps } from '../composables/useLoading';
|
|
3
|
-
export interface DashboardContext extends Pick<UseLoadingProps, 'storage' | 'storageKey'> {
|
|
3
|
+
export interface DashboardContext extends /** @vue-ignore */ Pick<UseLoadingProps, 'storage' | 'storageKey'> {
|
|
4
4
|
contextId?: string;
|
|
5
5
|
sidebarOpen?: Ref<boolean>;
|
|
6
6
|
isLoading?: Ref<boolean>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LinkProps } from '../types';
|
|
2
|
+
export declare const linkKeys: readonly ["active", "activeClass", "ariaCurrentValue", "as", "disabled", "download", "exact", "exactActiveClass", "exactHash", "exactQuery", "external", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "href", "hreflang", "inactiveClass", "media", "noPrefetch", "noRel", "onClick", "ping", "prefetch", "prefetchOn", "prefetchedClass", "referrerpolicy", "rel", "replace", "target", "title", "to", "trailingSlash", "type", "viewTransition"];
|
|
2
3
|
export declare function pickLinkProps(link: LinkProps & {
|
|
3
4
|
[key: string]: any;
|
|
4
5
|
}): import("@vueuse/shared").ReactivePickReturn<LinkProps & {
|
|
@@ -1,34 +1,50 @@
|
|
|
1
1
|
import { reactivePick } from "@vueuse/core";
|
|
2
2
|
import { isEqual, diff } from "ohash/utils";
|
|
3
|
+
export const linkKeys = [
|
|
4
|
+
"active",
|
|
5
|
+
"activeClass",
|
|
6
|
+
"ariaCurrentValue",
|
|
7
|
+
"as",
|
|
8
|
+
"disabled",
|
|
9
|
+
"download",
|
|
10
|
+
"exact",
|
|
11
|
+
"exactActiveClass",
|
|
12
|
+
"exactHash",
|
|
13
|
+
"exactQuery",
|
|
14
|
+
"external",
|
|
15
|
+
"form",
|
|
16
|
+
"formaction",
|
|
17
|
+
"formenctype",
|
|
18
|
+
"formmethod",
|
|
19
|
+
"formnovalidate",
|
|
20
|
+
"formtarget",
|
|
21
|
+
"href",
|
|
22
|
+
"hreflang",
|
|
23
|
+
"inactiveClass",
|
|
24
|
+
"media",
|
|
25
|
+
"noPrefetch",
|
|
26
|
+
"noRel",
|
|
27
|
+
"onClick",
|
|
28
|
+
"ping",
|
|
29
|
+
"prefetch",
|
|
30
|
+
"prefetchOn",
|
|
31
|
+
"prefetchedClass",
|
|
32
|
+
"referrerpolicy",
|
|
33
|
+
"rel",
|
|
34
|
+
"replace",
|
|
35
|
+
"target",
|
|
36
|
+
"title",
|
|
37
|
+
"to",
|
|
38
|
+
"trailingSlash",
|
|
39
|
+
"type",
|
|
40
|
+
"viewTransition"
|
|
41
|
+
];
|
|
3
42
|
export function pickLinkProps(link) {
|
|
4
43
|
const keys = Object.keys(link);
|
|
5
44
|
const ariaKeys = keys.filter((key) => key.startsWith("aria-"));
|
|
6
45
|
const dataKeys = keys.filter((key) => key.startsWith("data-"));
|
|
7
46
|
const propsToInclude = [
|
|
8
|
-
|
|
9
|
-
"activeClass",
|
|
10
|
-
"ariaCurrentValue",
|
|
11
|
-
"as",
|
|
12
|
-
"disabled",
|
|
13
|
-
"exact",
|
|
14
|
-
"exactActiveClass",
|
|
15
|
-
"exactHash",
|
|
16
|
-
"exactQuery",
|
|
17
|
-
"external",
|
|
18
|
-
"href",
|
|
19
|
-
"download",
|
|
20
|
-
"inactiveClass",
|
|
21
|
-
"noPrefetch",
|
|
22
|
-
"noRel",
|
|
23
|
-
"prefetch",
|
|
24
|
-
"prefetchedClass",
|
|
25
|
-
"rel",
|
|
26
|
-
"replace",
|
|
27
|
-
"target",
|
|
28
|
-
"to",
|
|
29
|
-
"type",
|
|
30
|
-
"title",
|
|
31
|
-
"onClick",
|
|
47
|
+
...linkKeys,
|
|
32
48
|
...ariaKeys,
|
|
33
49
|
...dataKeys
|
|
34
50
|
];
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
interface
|
|
1
|
+
import type { RouterLinkProps } from 'vue-router';
|
|
2
|
+
import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../../types/html';
|
|
3
|
+
export interface LinkProps extends Omit<RouterLinkProps, 'custom'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* The element or component this component should render as when not a link.
|
|
6
|
+
* @defaultValue 'button'
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
as?: any;
|
|
8
9
|
/**
|
|
9
10
|
* An alias for `to`. If used with `to`, `href` will be ignored
|
|
10
11
|
*/
|
|
11
|
-
href?:
|
|
12
|
+
href?: LinkProps['to'];
|
|
12
13
|
/**
|
|
13
14
|
* Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
|
|
14
15
|
*/
|
|
@@ -21,36 +22,6 @@ interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
|
|
|
21
22
|
* A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
|
|
22
23
|
*/
|
|
23
24
|
rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
|
|
24
|
-
/**
|
|
25
|
-
* If set to true, no rel attribute will be added to the link
|
|
26
|
-
*/
|
|
27
|
-
noRel?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* A class to apply to links that have been prefetched.
|
|
30
|
-
*/
|
|
31
|
-
prefetchedClass?: string;
|
|
32
|
-
/**
|
|
33
|
-
* When enabled will prefetch middleware, layouts and payloads of links in the viewport.
|
|
34
|
-
*/
|
|
35
|
-
prefetch?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Allows controlling when to prefetch links. By default, prefetch is triggered only on visibility.
|
|
38
|
-
*/
|
|
39
|
-
prefetchOn?: 'visibility' | 'interaction' | Partial<{
|
|
40
|
-
visibility: boolean;
|
|
41
|
-
interaction: boolean;
|
|
42
|
-
}>;
|
|
43
|
-
/**
|
|
44
|
-
* Escape hatch to disable `prefetch` attribute.
|
|
45
|
-
*/
|
|
46
|
-
noPrefetch?: boolean;
|
|
47
|
-
}
|
|
48
|
-
export interface LinkProps extends NuxtLinkProps {
|
|
49
|
-
/**
|
|
50
|
-
* The element or component this component should render as when not a link.
|
|
51
|
-
* @defaultValue 'button'
|
|
52
|
-
*/
|
|
53
|
-
as?: any;
|
|
54
25
|
/**
|
|
55
26
|
* The type of the button when not a link.
|
|
56
27
|
* @defaultValue 'button'
|
|
@@ -82,9 +53,9 @@ export interface LinkSlots {
|
|
|
82
53
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
|
|
83
54
|
as: any;
|
|
84
55
|
type: "reset" | "submit" | "button";
|
|
56
|
+
active: boolean;
|
|
85
57
|
activeClass: string;
|
|
86
58
|
ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
|
|
87
|
-
active: boolean;
|
|
88
59
|
inactiveClass: string;
|
|
89
60
|
isAction: boolean;
|
|
90
61
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
|
|
@@ -13,10 +13,14 @@ import { useRoute, RouterLink } from "vue-router";
|
|
|
13
13
|
import { useAppConfig } from "#imports";
|
|
14
14
|
import { tv } from "../../utils/tv";
|
|
15
15
|
import { isPartiallyEqual } from "../../utils/link";
|
|
16
|
-
import B24LinkBase from "
|
|
16
|
+
import B24LinkBase from "../../components/LinkBase.vue";
|
|
17
17
|
defineOptions({ inheritAttrs: false });
|
|
18
18
|
const props = defineProps({
|
|
19
19
|
as: { type: null, required: false, default: "button" },
|
|
20
|
+
href: { type: null, required: false },
|
|
21
|
+
external: { type: Boolean, required: false },
|
|
22
|
+
target: { type: [String, Object, null], required: false },
|
|
23
|
+
rel: { type: [String, Object, null], required: false },
|
|
20
24
|
type: { type: null, required: false, default: "button" },
|
|
21
25
|
disabled: { type: Boolean, required: false },
|
|
22
26
|
active: { type: Boolean, required: false, default: void 0 },
|
|
@@ -28,20 +32,11 @@ const props = defineProps({
|
|
|
28
32
|
isAction: { type: Boolean, required: false, default: false },
|
|
29
33
|
raw: { type: Boolean, required: false },
|
|
30
34
|
class: { type: null, required: false },
|
|
31
|
-
to: { type: null, required: false },
|
|
32
|
-
href: { type: null, required: false },
|
|
33
|
-
external: { type: Boolean, required: false },
|
|
34
|
-
target: { type: [String, Object, null], required: false },
|
|
35
|
-
rel: { type: [String, Object, null], required: false },
|
|
36
|
-
noRel: { type: Boolean, required: false },
|
|
37
|
-
prefetchedClass: { type: String, required: false },
|
|
38
|
-
prefetch: { type: Boolean, required: false },
|
|
39
|
-
prefetchOn: { type: [String, Object], required: false },
|
|
40
|
-
noPrefetch: { type: Boolean, required: false },
|
|
41
35
|
activeClass: { type: String, required: false, default: "" },
|
|
42
36
|
exactActiveClass: { type: String, required: false },
|
|
43
37
|
ariaCurrentValue: { type: String, required: false, default: "page" },
|
|
44
38
|
viewTransition: { type: Boolean, required: false },
|
|
39
|
+
to: { type: null, required: true },
|
|
45
40
|
replace: { type: Boolean, required: false }
|
|
46
41
|
});
|
|
47
42
|
defineSlots();
|