@bitrix24/b24ui-nuxt 2.0.9 → 2.1.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/meta.d.mts +77776 -42923
- package/dist/meta.mjs +77776 -42923
- package/dist/module.json +1 -1
- package/dist/module.mjs +3 -3
- package/dist/runtime/components/Advice.d.vue.ts +1 -1
- package/dist/runtime/components/Advice.vue +1 -3
- package/dist/runtime/components/Advice.vue.d.ts +1 -1
- 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/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 +115 -0
- package/dist/runtime/components/InputDate.vue +198 -0
- package/dist/runtime/components/InputDate.vue.d.ts +115 -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 -124
- package/dist/runtime/components/InputNumber.vue +3 -3
- package/dist/runtime/components/InputNumber.vue.d.ts +25 -124
- 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 +99 -0
- package/dist/runtime/components/InputTime.vue +170 -0
- package/dist/runtime/components/InputTime.vue.d.ts +99 -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.CXLCGBie.mjs} +135 -1
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +24 -14
|
@@ -28,6 +28,9 @@ export interface ContentSearchItem extends Omit<LinkProps, 'custom'>, CommandPal
|
|
|
28
28
|
*/
|
|
29
29
|
icon?: IconComponent;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* @memo not use loadingIcon
|
|
33
|
+
*/
|
|
31
34
|
export interface ContentSearchProps<T extends ContentSearchLink = ContentSearchLink> extends Pick<ModalProps, 'title' | 'description' | 'overlay' | 'transition' | 'content' | 'dismissible' | 'fullscreen' | 'modal' | 'portal'> {
|
|
32
35
|
/**
|
|
33
36
|
* The icon displayed in the input.
|
|
@@ -47,12 +50,6 @@ export interface ContentSearchProps<T extends ContentSearchLink = ContentSearchL
|
|
|
47
50
|
autofocus?: boolean;
|
|
48
51
|
/** When `true`, the loading icon will be displayed. */
|
|
49
52
|
loading?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* The icon when the `loading` prop is `true`.
|
|
52
|
-
* @defaultValue icons.loading
|
|
53
|
-
* @IconComponent
|
|
54
|
-
*/
|
|
55
|
-
loadingIcon?: IconComponent;
|
|
56
53
|
/**
|
|
57
54
|
* Display a close button in the input (useful when inside a Modal for example).
|
|
58
55
|
* `{ size: 'sm', color: 'air-tertiary-no-accent' }`{lang="ts-type"}
|
|
@@ -20,7 +20,6 @@ const props = defineProps({
|
|
|
20
20
|
placeholder: { type: String, required: false },
|
|
21
21
|
autofocus: { type: Boolean, required: false },
|
|
22
22
|
loading: { type: Boolean, required: false },
|
|
23
|
-
loadingIcon: { type: [Function, Object], required: false },
|
|
24
23
|
close: { type: [Boolean, Object], required: false, default: true },
|
|
25
24
|
closeIcon: { type: [Function, Object], required: false },
|
|
26
25
|
shortcut: { type: String, required: false, default: "meta_k" },
|
|
@@ -48,7 +47,7 @@ const { t } = useLocale();
|
|
|
48
47
|
const { open } = useContentSearch();
|
|
49
48
|
const colorMode = useColorMode();
|
|
50
49
|
const appConfig = useAppConfig();
|
|
51
|
-
const commandPaletteProps = useForwardProps(reactivePick(props, "icon", "placeholder", "autofocus", "loading", "
|
|
50
|
+
const commandPaletteProps = useForwardProps(reactivePick(props, "icon", "placeholder", "autofocus", "loading", "close", "closeIcon"));
|
|
52
51
|
const modalProps = useForwardProps(reactivePick(props, "overlay", "transition", "content", "dismissible", "fullscreen", "modal", "portal"));
|
|
53
52
|
const getProxySlots = () => omit(slots, ["content"]);
|
|
54
53
|
const fuse = computed(() => defu({}, props.fuse, {
|
|
@@ -59,6 +58,7 @@ const fuse = computed(() => defu({}, props.fuse, {
|
|
|
59
58
|
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.contentSearch || {} })({
|
|
60
59
|
fullscreen: props.fullscreen
|
|
61
60
|
}));
|
|
61
|
+
const commandPaletteRef = useTemplateRef("commandPaletteRef");
|
|
62
62
|
function mapLinksItems(links) {
|
|
63
63
|
return links.flatMap((link) => [{
|
|
64
64
|
...link,
|
|
@@ -158,7 +158,6 @@ defineShortcuts({
|
|
|
158
158
|
handler: () => open.value = !open.value
|
|
159
159
|
}
|
|
160
160
|
});
|
|
161
|
-
const commandPaletteRef = useTemplateRef("commandPaletteRef");
|
|
162
161
|
defineExpose({
|
|
163
162
|
commandPaletteRef
|
|
164
163
|
});
|
|
@@ -28,6 +28,9 @@ export interface ContentSearchItem extends Omit<LinkProps, 'custom'>, CommandPal
|
|
|
28
28
|
*/
|
|
29
29
|
icon?: IconComponent;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* @memo not use loadingIcon
|
|
33
|
+
*/
|
|
31
34
|
export interface ContentSearchProps<T extends ContentSearchLink = ContentSearchLink> extends Pick<ModalProps, 'title' | 'description' | 'overlay' | 'transition' | 'content' | 'dismissible' | 'fullscreen' | 'modal' | 'portal'> {
|
|
32
35
|
/**
|
|
33
36
|
* The icon displayed in the input.
|
|
@@ -47,12 +50,6 @@ export interface ContentSearchProps<T extends ContentSearchLink = ContentSearchL
|
|
|
47
50
|
autofocus?: boolean;
|
|
48
51
|
/** When `true`, the loading icon will be displayed. */
|
|
49
52
|
loading?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* The icon when the `loading` prop is `true`.
|
|
52
|
-
* @defaultValue icons.loading
|
|
53
|
-
* @IconComponent
|
|
54
|
-
*/
|
|
55
|
-
loadingIcon?: IconComponent;
|
|
56
53
|
/**
|
|
57
54
|
* Display a close button in the input (useful when inside a Modal for example).
|
|
58
55
|
* `{ size: 'sm', color: 'air-tertiary-no-accent' }`{lang="ts-type"}
|
|
@@ -3,7 +3,7 @@ import theme from '#build/b24ui/content/content-search-button';
|
|
|
3
3
|
import type { ButtonProps, ButtonSlots, IconComponent, KbdProps, TooltipProps } from '../../types';
|
|
4
4
|
import type { ComponentConfig } from '../../types/tv';
|
|
5
5
|
type ContentSearchButton = ComponentConfig<typeof theme, AppConfig, 'contentSearchButton'>;
|
|
6
|
-
export interface ContentSearchButtonProps {
|
|
6
|
+
export interface ContentSearchButtonProps extends Omit<ButtonProps, 'icon' | 'label' | 'color'> {
|
|
7
7
|
/**
|
|
8
8
|
* The icon displayed in the button.
|
|
9
9
|
* @defaultValue icons.search
|
|
@@ -20,7 +20,6 @@ export interface ContentSearchButtonProps {
|
|
|
20
20
|
* @defaultValue 'air-tertiary-no-accent'
|
|
21
21
|
*/
|
|
22
22
|
color?: ButtonProps['color'];
|
|
23
|
-
size?: ButtonProps['size'];
|
|
24
23
|
/**
|
|
25
24
|
* Whether the button is collapsed.
|
|
26
25
|
* @defaultValue true
|
|
@@ -41,7 +40,7 @@ export interface ContentSearchButtonProps {
|
|
|
41
40
|
class?: any;
|
|
42
41
|
}
|
|
43
42
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContentSearchButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContentSearchButtonProps> & Readonly<{}>, {
|
|
44
|
-
color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "
|
|
43
|
+
color: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
|
|
45
44
|
tooltip: boolean | TooltipProps;
|
|
46
45
|
kbds: KbdProps["value"][] | KbdProps[];
|
|
47
46
|
collapsed: boolean;
|
|
@@ -6,7 +6,7 @@ import theme from "#build/b24ui/content/content-search-button";
|
|
|
6
6
|
import { computed, toRef } from "vue";
|
|
7
7
|
import { useForwardProps } from "reka-ui";
|
|
8
8
|
import { defu } from "defu";
|
|
9
|
-
import {
|
|
9
|
+
import { reactiveOmit, createReusableTemplate } from "@vueuse/core";
|
|
10
10
|
import { useAppConfig } from "#imports";
|
|
11
11
|
import { useContentSearch } from "../../composables/useContentSearch";
|
|
12
12
|
import { useLocale } from "../../composables/useLocale";
|
|
@@ -21,17 +21,55 @@ const props = defineProps({
|
|
|
21
21
|
icon: { type: [Function, Object], required: false },
|
|
22
22
|
label: { type: String, required: false },
|
|
23
23
|
color: { type: null, required: false, default: "air-tertiary-no-accent" },
|
|
24
|
-
size: { type: null, required: false },
|
|
25
24
|
collapsed: { type: Boolean, required: false, default: true },
|
|
26
25
|
tooltip: { type: [Boolean, Object], required: false, default: false },
|
|
27
26
|
kbds: { type: Array, required: false, default: () => ["meta", "k"] },
|
|
28
27
|
b24ui: { type: void 0, required: false },
|
|
29
|
-
class: { type: null, required: false }
|
|
28
|
+
class: { type: null, required: false },
|
|
29
|
+
activeColor: { type: null, required: false },
|
|
30
|
+
depth: { type: null, required: false },
|
|
31
|
+
activeDepth: { type: null, required: false },
|
|
32
|
+
size: { type: null, required: false },
|
|
33
|
+
rounded: { type: Boolean, required: false },
|
|
34
|
+
block: { type: Boolean, required: false },
|
|
35
|
+
loadingAuto: { type: Boolean, required: false },
|
|
36
|
+
normalCase: { type: Boolean, required: false },
|
|
37
|
+
useWait: { type: Boolean, required: false },
|
|
38
|
+
useClock: { type: Boolean, required: false },
|
|
39
|
+
useDropdown: { type: Boolean, required: false },
|
|
40
|
+
onClick: { type: [Function, Array], required: false },
|
|
41
|
+
activeClass: { type: String, required: false },
|
|
42
|
+
inactiveClass: { type: String, required: false },
|
|
43
|
+
avatar: { type: Object, required: false },
|
|
44
|
+
loading: { type: Boolean, required: false },
|
|
45
|
+
as: { type: null, required: false },
|
|
46
|
+
type: { type: null, required: false },
|
|
47
|
+
disabled: { type: Boolean, required: false },
|
|
48
|
+
active: { type: Boolean, required: false },
|
|
49
|
+
exact: { type: Boolean, required: false },
|
|
50
|
+
exactQuery: { type: [Boolean, String], required: false },
|
|
51
|
+
exactHash: { type: Boolean, required: false },
|
|
52
|
+
isAction: { type: Boolean, required: false },
|
|
53
|
+
to: { type: null, required: false },
|
|
54
|
+
href: { type: null, required: false },
|
|
55
|
+
external: { type: Boolean, required: false },
|
|
56
|
+
target: { type: [String, Object, null], required: false },
|
|
57
|
+
rel: { type: [String, Object, null], required: false },
|
|
58
|
+
noRel: { type: Boolean, required: false },
|
|
59
|
+
prefetchedClass: { type: String, required: false },
|
|
60
|
+
prefetch: { type: Boolean, required: false },
|
|
61
|
+
prefetchOn: { type: [String, Object], required: false },
|
|
62
|
+
noPrefetch: { type: Boolean, required: false },
|
|
63
|
+
trailingSlash: { type: String, required: false },
|
|
64
|
+
exactActiveClass: { type: String, required: false },
|
|
65
|
+
ariaCurrentValue: { type: String, required: false },
|
|
66
|
+
viewTransition: { type: Boolean, required: false },
|
|
67
|
+
replace: { type: Boolean, required: false }
|
|
30
68
|
});
|
|
31
69
|
const slots = defineSlots();
|
|
32
70
|
const [DefineButtonTemplate, ReuseButtonTemplate] = createReusableTemplate();
|
|
33
71
|
const getProxySlots = () => omit(slots, ["trailing"]);
|
|
34
|
-
const
|
|
72
|
+
const buttonProps = useForwardProps(reactiveOmit(props, "icon", "label", "collapsed", "tooltip", "kbds", "class", "b24ui"));
|
|
35
73
|
const tooltipProps = toRef(() => defu(typeof props.tooltip === "boolean" ? {} : props.tooltip, { delayDuration: 0, content: { side: "right" } }));
|
|
36
74
|
const { t } = useLocale();
|
|
37
75
|
const { open } = useContentSearch();
|
|
@@ -45,7 +83,7 @@ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.content
|
|
|
45
83
|
:icon="icon || icons.search"
|
|
46
84
|
:label="label || t('contentSearchButton.label')"
|
|
47
85
|
v-bind="{
|
|
48
|
-
...
|
|
86
|
+
...buttonProps,
|
|
49
87
|
...collapsed ? {
|
|
50
88
|
'label': void 0,
|
|
51
89
|
'aria-label': label || t('contentSearchButton.label')
|
|
@@ -3,7 +3,7 @@ import theme from '#build/b24ui/content/content-search-button';
|
|
|
3
3
|
import type { ButtonProps, ButtonSlots, IconComponent, KbdProps, TooltipProps } from '../../types';
|
|
4
4
|
import type { ComponentConfig } from '../../types/tv';
|
|
5
5
|
type ContentSearchButton = ComponentConfig<typeof theme, AppConfig, 'contentSearchButton'>;
|
|
6
|
-
export interface ContentSearchButtonProps {
|
|
6
|
+
export interface ContentSearchButtonProps extends Omit<ButtonProps, 'icon' | 'label' | 'color'> {
|
|
7
7
|
/**
|
|
8
8
|
* The icon displayed in the button.
|
|
9
9
|
* @defaultValue icons.search
|
|
@@ -20,7 +20,6 @@ export interface ContentSearchButtonProps {
|
|
|
20
20
|
* @defaultValue 'air-tertiary-no-accent'
|
|
21
21
|
*/
|
|
22
22
|
color?: ButtonProps['color'];
|
|
23
|
-
size?: ButtonProps['size'];
|
|
24
23
|
/**
|
|
25
24
|
* Whether the button is collapsed.
|
|
26
25
|
* @defaultValue true
|
|
@@ -41,7 +40,7 @@ export interface ContentSearchButtonProps {
|
|
|
41
40
|
class?: any;
|
|
42
41
|
}
|
|
43
42
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ContentSearchButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContentSearchButtonProps> & Readonly<{}>, {
|
|
44
|
-
color: "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "
|
|
43
|
+
color: "default" | "link" | "air-primary" | "air-primary-success" | "air-primary-alert" | "air-primary-copilot" | "air-secondary" | "air-secondary-accent" | "air-secondary-accent-1" | "air-tertiary" | "danger" | "success" | "warning" | "primary" | "secondary" | "collab" | "ai" | "air-secondary-alert" | "air-secondary-accent-2" | "air-secondary-no-accent" | "air-tertiary-accent" | "air-tertiary-no-accent" | "air-selection" | "air-boost";
|
|
45
44
|
tooltip: boolean | TooltipProps;
|
|
46
45
|
kbds: KbdProps["value"][] | KbdProps[];
|
|
47
46
|
collapsed: boolean;
|
|
@@ -21,7 +21,13 @@ const props = defineProps({
|
|
|
21
21
|
});
|
|
22
22
|
defineSlots();
|
|
23
23
|
const appConfig = useAppConfig();
|
|
24
|
-
const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate(
|
|
24
|
+
const [DefineLinkTemplate, ReuseLinkTemplate] = createReusableTemplate({
|
|
25
|
+
props: {
|
|
26
|
+
link: Object,
|
|
27
|
+
icon: [Object, Function],
|
|
28
|
+
direction: String
|
|
29
|
+
}
|
|
30
|
+
});
|
|
25
31
|
const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.contentSurround || {} })());
|
|
26
32
|
</script>
|
|
27
33
|
|
|
@@ -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;
|
|
@@ -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
|