@bitrix24/b24ui-nuxt 2.0.8 → 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 +84957 -50082
- package/dist/meta.mjs +84957 -50082
- package/dist/module.d.mts +13 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +8 -7
- package/dist/runtime/air-design-tokens/001_b24_global.css +1 -1
- package/dist/runtime/air-design-tokens/003_b24_context_light.css +1 -1
- package/dist/runtime/air-design-tokens/004_b24_context_dark.css +1 -1
- package/dist/runtime/air-design-tokens/005_b24_context_edge-light.css +1 -1
- package/dist/runtime/air-design-tokens/006_b24_context_edge-dark.css +1 -1
- package/dist/runtime/air-design-tokens/007_b24_global.css +1 -1
- package/dist/runtime/air-design-tokens/008_ui_global.css +1 -1
- package/dist/runtime/air-design-tokens/009_b24_tools.css +1 -1
- package/dist/runtime/air-design-tokens/components/badge-counter.css +1 -1
- package/dist/runtime/air-design-tokens/components/button.css +1 -1
- package/dist/runtime/air-design-tokens/components/navigation-menu.css +1 -1
- package/dist/runtime/air-design-tokens/components/popup.css +1 -1
- package/dist/runtime/air-design-tokens/components/scrollbar.css +1 -2
- package/dist/runtime/air-design-tokens/index.css +1 -1
- 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 +3 -2
- package/dist/runtime/components/Form.vue +3 -4
- package/dist/runtime/components/Form.vue.d.ts +3 -2
- 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 +6 -1
- package/dist/runtime/components/Modal.vue +37 -9
- package/dist/runtime/components/Modal.vue.d.ts +6 -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/index.css +1 -1
- 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/plugins/colors.js +4 -8
- package/dist/runtime/types/html.d.ts +8 -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.CEMVb5Ee.mjs → b24ui-nuxt.CXLCGBie.mjs} +353 -128
- package/dist/unplugin.d.mts +3 -1
- package/dist/unplugin.mjs +4 -3
- package/dist/vite.mjs +3 -3
- package/package.json +27 -17
- /package/dist/runtime/{air-design-tokens/002_b24_context_utility.css → types/html.js} +0 -0
|
@@ -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,
|
package/dist/runtime/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import "#build/b24ui.css";@import "./keyframes.css";@import "./air-design-tokens/tw-style/index.css";@import "./air-design-tokens/index.css";@layer base{.sidebar-layout.--inner,body{--air-theme-background:var(--air-theme-bg-image,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll) var(--air-theme-bg-color,transparent);--air-theme-background-blurred:var(--air-theme-bg-image-blurred,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll)}
|
|
1
|
+
@import "#build/b24ui.css";@import "./keyframes.css";@import "./air-design-tokens/tw-style/index.css";@import "./air-design-tokens/index.css";@variant light (&:where(.light, .light *));@variant edge-dark (&:where(.edge-dark, .edge-dark *));@variant edge-light (&:where(.edge-light, .edge-light *));@variant dark (&:where(.dark, .dark *));@layer base{.sidebar-layout.--inner,body{--air-theme-background:var(--air-theme-bg-image,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll) var(--air-theme-bg-color,transparent);--air-theme-background-blurred:var(--air-theme-bg-image-blurred,none) var(--air-theme-bg-position,0 0) /var(--air-theme-bg-size,auto) var(--air-theme-bg-repeat,repeat) var(--air-theme-bg-attachment,scroll)}}@theme default inline{--text-color-dimmed:var(--ui-color-base-6);--text-color-muted:var(--ui-color-design-plain-na-content-secondary);--text-color-description:var(--b24ui-typography-description-color);--text-color-legend:var(--b24ui-typography-legend-color);--text-color-label:var(--b24ui-typography-label-color)}
|
|
@@ -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
|
};
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { computed } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
defineNuxtPlugin,
|
|
4
|
-
useNuxtApp,
|
|
5
|
-
useHead
|
|
6
|
-
} from "#imports";
|
|
2
|
+
import { defineNuxtPlugin, useNuxtApp, useHead } from "#imports";
|
|
7
3
|
export default defineNuxtPlugin(() => {
|
|
8
4
|
const nuxtApp = useNuxtApp();
|
|
9
5
|
const root = computed(() => {
|
|
10
|
-
return `@layer
|
|
11
|
-
:root {
|
|
6
|
+
return `@layer theme {
|
|
7
|
+
:root, :host {
|
|
12
8
|
${[].join("\n ")}
|
|
13
9
|
}
|
|
14
|
-
:root, .light {
|
|
10
|
+
:root, :host, .light {
|
|
15
11
|
${[].join("\n ")}
|
|
16
12
|
}
|
|
17
13
|
.dark {
|
|
@@ -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'>;
|
|
@@ -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 & {
|