@nuxt/ui 3.1.3 → 3.2.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/.nuxt/ui/avatar.ts +1 -1
- package/.nuxt/ui/card.ts +1 -1
- package/.nuxt/ui/carousel.ts +1 -1
- package/.nuxt/ui/command-palette.ts +1 -0
- package/.nuxt/ui/drawer.ts +1 -1
- package/.nuxt/ui/index.ts +2 -0
- package/.nuxt/ui/input-menu.ts +24 -10
- package/.nuxt/ui/input-tags.ts +310 -0
- package/.nuxt/ui/modal.ts +1 -1
- package/.nuxt/ui/navigation-menu.ts +1 -1
- package/.nuxt/ui/select-menu.ts +11 -6
- package/.nuxt/ui/select.ts +11 -6
- package/.nuxt/ui/table.ts +3 -2
- package/.nuxt/ui/timeline.ts +321 -0
- package/.nuxt/ui/toaster.ts +1 -1
- package/cli/templates.mjs +7 -4
- package/dist/module.json +1 -1
- package/dist/module.mjs +2 -2
- package/dist/runtime/components/Alert.vue +0 -1
- package/dist/runtime/components/Avatar.vue +10 -2
- package/dist/runtime/components/Avatar.vue.d.ts +2 -0
- package/dist/runtime/components/Calendar.vue +4 -1
- package/dist/runtime/components/Carousel.vue +1 -2
- package/dist/runtime/components/Checkbox.vue +1 -1
- package/dist/runtime/components/CommandPalette.vue +80 -16
- package/dist/runtime/components/CommandPalette.vue.d.ts +32 -8
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +4 -20
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +4 -20
- package/dist/runtime/components/Form.vue +6 -6
- package/dist/runtime/components/Form.vue.d.ts +12 -11
- package/dist/runtime/components/InputMenu.vue.d.ts +4 -4
- package/dist/runtime/components/InputNumber.vue +3 -2
- package/dist/runtime/components/InputNumber.vue.d.ts +1 -1
- package/dist/runtime/components/InputTags.vue +159 -0
- package/dist/runtime/components/InputTags.vue.d.ts +183 -0
- package/dist/runtime/components/Modal.vue +14 -13
- package/dist/runtime/components/Modal.vue.d.ts +14 -4
- package/dist/runtime/components/NavigationMenu.vue +16 -15
- package/dist/runtime/components/OverlayProvider.vue +2 -2
- package/dist/runtime/components/Pagination.vue +1 -1
- package/dist/runtime/components/Pagination.vue.d.ts +0 -1
- package/dist/runtime/components/PinInput.vue +4 -3
- package/dist/runtime/components/PinInput.vue.d.ts +22 -19
- package/dist/runtime/components/Progress.vue +2 -1
- package/dist/runtime/components/Progress.vue.d.ts +1 -1
- package/dist/runtime/components/RadioGroup.vue +2 -2
- package/dist/runtime/components/Select.vue +23 -4
- package/dist/runtime/components/Select.vue.d.ts +107 -1
- package/dist/runtime/components/SelectMenu.vue +24 -5
- package/dist/runtime/components/SelectMenu.vue.d.ts +105 -1
- package/dist/runtime/components/Slideover.vue +14 -13
- package/dist/runtime/components/Slideover.vue.d.ts +14 -4
- package/dist/runtime/components/Table.vue +7 -1
- package/dist/runtime/components/Table.vue.d.ts +10 -8
- package/dist/runtime/components/Tabs.vue +13 -2
- package/dist/runtime/components/Tabs.vue.d.ts +4 -1
- package/dist/runtime/components/Textarea.vue.d.ts +4 -3
- package/dist/runtime/components/Timeline.vue +92 -0
- package/dist/runtime/components/Timeline.vue.d.ts +70 -0
- package/dist/runtime/components/Toast.vue +4 -5
- package/dist/runtime/components/Tree.vue +3 -2
- package/dist/runtime/components/Tree.vue.d.ts +1 -1
- package/dist/runtime/composables/defineLocale.d.ts +2 -0
- package/dist/runtime/composables/defineLocale.js +4 -0
- package/dist/runtime/composables/defineShortcuts.js +2 -2
- package/dist/runtime/composables/useOverlay.d.ts +2 -1
- package/dist/runtime/composables/useOverlay.js +7 -6
- package/dist/runtime/locale/ar.js +2 -1
- package/dist/runtime/locale/az.js +2 -1
- package/dist/runtime/locale/bg.js +2 -1
- package/dist/runtime/locale/bn.js +2 -1
- package/dist/runtime/locale/ca.js +2 -1
- package/dist/runtime/locale/ckb.js +2 -1
- package/dist/runtime/locale/cs.js +2 -1
- package/dist/runtime/locale/da.js +2 -1
- package/dist/runtime/locale/de.js +2 -1
- package/dist/runtime/locale/el.js +2 -1
- package/dist/runtime/locale/en.js +2 -1
- package/dist/runtime/locale/es.js +2 -1
- package/dist/runtime/locale/et.js +2 -1
- package/dist/runtime/locale/fa_ir.js +2 -1
- package/dist/runtime/locale/fi.js +2 -1
- package/dist/runtime/locale/fr.js +2 -1
- package/dist/runtime/locale/he.js +2 -1
- package/dist/runtime/locale/hi.js +2 -1
- package/dist/runtime/locale/hu.js +2 -1
- package/dist/runtime/locale/hy.js +2 -1
- package/dist/runtime/locale/id.js +2 -1
- package/dist/runtime/locale/index.d.ts +1 -0
- package/dist/runtime/locale/index.js +1 -0
- package/dist/runtime/locale/it.js +2 -1
- package/dist/runtime/locale/ja.js +2 -1
- package/dist/runtime/locale/kk.js +2 -1
- package/dist/runtime/locale/km.js +2 -1
- package/dist/runtime/locale/ko.js +2 -1
- package/dist/runtime/locale/ky.js +2 -1
- package/dist/runtime/locale/lb.d.ts +3 -0
- package/dist/runtime/locale/lb.js +55 -0
- package/dist/runtime/locale/lt.js +2 -1
- package/dist/runtime/locale/mn.js +2 -1
- package/dist/runtime/locale/ms.js +2 -1
- package/dist/runtime/locale/nb_no.js +2 -1
- package/dist/runtime/locale/nl.js +2 -1
- package/dist/runtime/locale/pl.js +2 -1
- package/dist/runtime/locale/pt.js +2 -1
- package/dist/runtime/locale/pt_br.js +2 -1
- package/dist/runtime/locale/ro.js +2 -1
- package/dist/runtime/locale/ru.js +2 -1
- package/dist/runtime/locale/sk.js +2 -1
- package/dist/runtime/locale/sl.js +2 -1
- package/dist/runtime/locale/sv.js +2 -1
- package/dist/runtime/locale/th.js +2 -1
- package/dist/runtime/locale/tj.js +2 -1
- package/dist/runtime/locale/tr.js +2 -1
- package/dist/runtime/locale/ug_cn.js +2 -1
- package/dist/runtime/locale/uk.js +2 -1
- package/dist/runtime/locale/ur.js +2 -1
- package/dist/runtime/locale/uz.js +2 -1
- package/dist/runtime/locale/vi.js +2 -1
- package/dist/runtime/locale/zh_cn.js +2 -1
- package/dist/runtime/locale/zh_tw.js +2 -1
- package/dist/runtime/types/form.d.ts +11 -10
- package/dist/runtime/types/index.d.ts +2 -0
- package/dist/runtime/types/index.js +2 -0
- package/dist/runtime/types/locale.d.ts +1 -0
- package/dist/runtime/types/utils.d.ts +3 -0
- package/dist/shared/{ui.Bix4DSU4.mjs → ui.BPVxSPGY.mjs} +282 -26
- package/dist/unplugin.mjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +28 -29
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ComponentPublicInstance } from 'vue';
|
|
1
2
|
import type { TabsRootProps, TabsRootEmits } from 'reka-ui';
|
|
2
3
|
import type { AppConfig } from '@nuxt/schema';
|
|
3
4
|
import theme from '#build/ui/tabs';
|
|
@@ -77,7 +78,9 @@ declare const _default: <T extends TabsItem>(__VLS_props: NonNullable<Awaited<ty
|
|
|
77
78
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
78
79
|
readonly "onUpdate:modelValue"?: ((payload: string | number) => any) | undefined;
|
|
79
80
|
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & TabsProps<T> & Partial<{}>> & import("vue").PublicProps;
|
|
80
|
-
expose(exposed: import("vue").ShallowUnwrapRef<{
|
|
81
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{
|
|
82
|
+
triggersRef: import("vue").Ref<ComponentPublicInstance[], ComponentPublicInstance[]>;
|
|
83
|
+
}>): void;
|
|
81
84
|
attrs: any;
|
|
82
85
|
slots: TabsSlots<T>;
|
|
83
86
|
emit: (evt: "update:modelValue", payload: string | number) => void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { AppConfig } from '@nuxt/schema';
|
|
2
2
|
import theme from '#build/ui/textarea';
|
|
3
3
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ComponentConfig } from '../types/utils';
|
|
5
5
|
type Textarea = ComponentConfig<typeof theme, AppConfig, 'textarea'>;
|
|
6
|
+
type TextareaValue = string | number | null;
|
|
6
7
|
export interface TextareaProps extends UseComponentIconsProps {
|
|
7
8
|
/**
|
|
8
9
|
* The element or component this component should render as.
|
|
@@ -44,7 +45,7 @@ export interface TextareaProps extends UseComponentIconsProps {
|
|
|
44
45
|
class?: any;
|
|
45
46
|
ui?: Textarea['slots'];
|
|
46
47
|
}
|
|
47
|
-
export interface TextareaEmits<T extends
|
|
48
|
+
export interface TextareaEmits<T extends TextareaValue = TextareaValue> {
|
|
48
49
|
(e: 'update:modelValue', payload: T): void;
|
|
49
50
|
(e: 'blur', event: FocusEvent): void;
|
|
50
51
|
(e: 'change', event: Event): void;
|
|
@@ -54,7 +55,7 @@ export interface TextareaSlots {
|
|
|
54
55
|
default(props?: {}): any;
|
|
55
56
|
trailing(props?: {}): any;
|
|
56
57
|
}
|
|
57
|
-
declare const _default: <T extends
|
|
58
|
+
declare const _default: <T extends TextareaValue>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
58
59
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
59
60
|
readonly onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
60
61
|
readonly onChange?: ((event: Event) => any) | undefined;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import theme from "#build/ui/timeline";
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
import { computed } from "vue";
|
|
7
|
+
import { Primitive, Separator } from "reka-ui";
|
|
8
|
+
import { useAppConfig } from "#imports";
|
|
9
|
+
import { tv } from "../utils/tv";
|
|
10
|
+
import UAvatar from "./Avatar.vue";
|
|
11
|
+
const props = defineProps({
|
|
12
|
+
as: { type: null, required: false },
|
|
13
|
+
items: { type: Array, required: true },
|
|
14
|
+
size: { type: null, required: false },
|
|
15
|
+
color: { type: null, required: false },
|
|
16
|
+
orientation: { type: null, required: false, default: "vertical" },
|
|
17
|
+
defaultValue: { type: [String, Number], required: false },
|
|
18
|
+
reverse: { type: Boolean, required: false },
|
|
19
|
+
class: { type: null, required: false },
|
|
20
|
+
ui: { type: null, required: false }
|
|
21
|
+
});
|
|
22
|
+
const slots = defineSlots();
|
|
23
|
+
const modelValue = defineModel({ type: [String, Number] });
|
|
24
|
+
const appConfig = useAppConfig();
|
|
25
|
+
const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.timeline || {} })({
|
|
26
|
+
orientation: props.orientation,
|
|
27
|
+
size: props.size,
|
|
28
|
+
color: props.color,
|
|
29
|
+
reverse: props.reverse
|
|
30
|
+
}));
|
|
31
|
+
const currentStepIndex = computed(() => {
|
|
32
|
+
const value = modelValue.value ?? props.defaultValue;
|
|
33
|
+
if (typeof value === "string") {
|
|
34
|
+
return props.items.findIndex((item) => item.value === value) ?? -1;
|
|
35
|
+
}
|
|
36
|
+
if (props.reverse) {
|
|
37
|
+
return value != null ? props.items.length - 1 - value : -1;
|
|
38
|
+
} else {
|
|
39
|
+
return value ?? -1;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
function getItemState(index) {
|
|
43
|
+
if (currentStepIndex.value === -1) return void 0;
|
|
44
|
+
if (index === currentStepIndex.value) return "active";
|
|
45
|
+
if (props.reverse) {
|
|
46
|
+
return index > currentStepIndex.value ? "completed" : void 0;
|
|
47
|
+
} else {
|
|
48
|
+
return index < currentStepIndex.value ? "completed" : void 0;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<template>
|
|
54
|
+
<Primitive :as="as" :data-orientation="orientation" :class="ui.root({ class: [props.ui?.root, props.class] })">
|
|
55
|
+
<div
|
|
56
|
+
v-for="(item, index) in items"
|
|
57
|
+
:key="item.value ?? index"
|
|
58
|
+
:class="ui.item({ class: [props.ui?.item, item.ui?.item, item.class] })"
|
|
59
|
+
:data-state="getItemState(index)"
|
|
60
|
+
>
|
|
61
|
+
<div :class="ui.container({ class: [props.ui?.container, item.ui?.container] })">
|
|
62
|
+
<UAvatar :size="size" :icon="item.icon" v-bind="typeof item.avatar === 'object' ? item.avatar : {}" :class="ui.indicator({ class: [props.ui?.indicator, item.ui?.indicator] })" :ui="{ icon: 'text-inherit', fallback: 'text-inherit' }">
|
|
63
|
+
<slot :name="item.slot ? `${item.slot}-indicator` : 'indicator'" :item="item" />
|
|
64
|
+
</UAvatar>
|
|
65
|
+
|
|
66
|
+
<Separator
|
|
67
|
+
v-if="index < items.length - 1"
|
|
68
|
+
:class="ui.separator({ class: [props.ui?.separator, item.ui?.separator] })"
|
|
69
|
+
:orientation="props.orientation"
|
|
70
|
+
/>
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
<div :class="ui.wrapper({ class: [props.ui?.wrapper, item.ui?.wrapper] })">
|
|
74
|
+
<div v-if="item.date" :class="ui.date({ class: [props.ui?.date, item.ui?.date] })">
|
|
75
|
+
<slot :name="item.slot ? `${item.slot}-date` : 'date'" :item="item">
|
|
76
|
+
{{ item.date }}
|
|
77
|
+
</slot>
|
|
78
|
+
</div>
|
|
79
|
+
<div v-if="item.title || !!slots.title" :class="ui.title({ class: [props.ui?.title, item.ui?.title] })">
|
|
80
|
+
<slot :name="item.slot ? `${item.slot}-title` : 'title'" :item="item">
|
|
81
|
+
{{ item.title }}
|
|
82
|
+
</slot>
|
|
83
|
+
</div>
|
|
84
|
+
<div v-if="item.description || !!slots.description" :class="ui.description({ class: [props.ui?.description, item.ui?.description] })">
|
|
85
|
+
<slot :name="item.slot ? `${item.slot}-description` : 'description'" :item="item">
|
|
86
|
+
{{ item.description }}
|
|
87
|
+
</slot>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</Primitive>
|
|
92
|
+
</template>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { AppConfig } from '@nuxt/schema';
|
|
2
|
+
import theme from '#build/ui/timeline';
|
|
3
|
+
import type { AvatarProps } from '../types';
|
|
4
|
+
import type { DynamicSlots, ComponentConfig } from '../types/utils';
|
|
5
|
+
type Timeline = ComponentConfig<typeof theme, AppConfig, 'timeline'>;
|
|
6
|
+
export interface TimelineItem {
|
|
7
|
+
date?: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
icon?: string;
|
|
11
|
+
avatar?: AvatarProps;
|
|
12
|
+
value?: string | number;
|
|
13
|
+
slot?: string;
|
|
14
|
+
class?: any;
|
|
15
|
+
ui?: Pick<Timeline['slots'], 'item' | 'container' | 'indicator' | 'separator' | 'wrapper' | 'date' | 'title' | 'description'>;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
export interface TimelineProps<T extends TimelineItem = TimelineItem> {
|
|
19
|
+
/**
|
|
20
|
+
* The element or component this component should render as.
|
|
21
|
+
* @defaultValue 'div'
|
|
22
|
+
*/
|
|
23
|
+
as?: any;
|
|
24
|
+
items: T[];
|
|
25
|
+
/**
|
|
26
|
+
* @defaultValue 'md'
|
|
27
|
+
*/
|
|
28
|
+
size?: Timeline['variants']['size'];
|
|
29
|
+
/**
|
|
30
|
+
* @defaultValue 'primary'
|
|
31
|
+
*/
|
|
32
|
+
color?: Timeline['variants']['color'];
|
|
33
|
+
/**
|
|
34
|
+
* The orientation of the Timeline.
|
|
35
|
+
* @defaultValue 'vertical'
|
|
36
|
+
*/
|
|
37
|
+
orientation?: Timeline['variants']['orientation'];
|
|
38
|
+
defaultValue?: string | number;
|
|
39
|
+
reverse?: boolean;
|
|
40
|
+
class?: any;
|
|
41
|
+
ui?: Timeline['slots'];
|
|
42
|
+
}
|
|
43
|
+
type SlotProps<T extends TimelineItem> = (props: {
|
|
44
|
+
item: T;
|
|
45
|
+
}) => any;
|
|
46
|
+
export type TimelineSlots<T extends TimelineItem = TimelineItem> = {
|
|
47
|
+
indicator: SlotProps<T>;
|
|
48
|
+
date: SlotProps<T>;
|
|
49
|
+
title: SlotProps<T>;
|
|
50
|
+
description: SlotProps<T>;
|
|
51
|
+
} & DynamicSlots<T, 'indicator' | 'date' | 'title' | 'description', {
|
|
52
|
+
item: T;
|
|
53
|
+
}>;
|
|
54
|
+
declare const _default: <T extends TimelineItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
55
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
56
|
+
readonly "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
|
|
57
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & (TimelineProps<T> & {
|
|
58
|
+
modelValue?: string | number;
|
|
59
|
+
}) & Partial<{}>> & import("vue").PublicProps;
|
|
60
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
61
|
+
attrs: any;
|
|
62
|
+
slots: TimelineSlots<T>;
|
|
63
|
+
emit: (evt: "update:modelValue", value: string | number | undefined) => void;
|
|
64
|
+
}>) => import("vue").VNode & {
|
|
65
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
66
|
+
};
|
|
67
|
+
export default _default;
|
|
68
|
+
type __VLS_PrettifyLocal<T> = {
|
|
69
|
+
[K in keyof T]: T[K];
|
|
70
|
+
} & {};
|
|
@@ -3,7 +3,7 @@ import theme from "#build/ui/toast";
|
|
|
3
3
|
</script>
|
|
4
4
|
|
|
5
5
|
<script setup>
|
|
6
|
-
import { ref, computed, onMounted } from "vue";
|
|
6
|
+
import { ref, computed, onMounted, nextTick } from "vue";
|
|
7
7
|
import { ToastRoot, ToastTitle, ToastDescription, ToastAction, ToastClose, useForwardPropsEmits } from "reka-ui";
|
|
8
8
|
import { reactivePick } from "@vueuse/core";
|
|
9
9
|
import { useAppConfig } from "#imports";
|
|
@@ -47,9 +47,9 @@ onMounted(() => {
|
|
|
47
47
|
if (!el.value) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
height.value = el.value
|
|
52
|
-
}
|
|
50
|
+
nextTick(() => {
|
|
51
|
+
height.value = el.value?.$el?.getBoundingClientRect()?.height;
|
|
52
|
+
});
|
|
53
53
|
});
|
|
54
54
|
defineExpose({
|
|
55
55
|
height
|
|
@@ -113,7 +113,6 @@ defineExpose({
|
|
|
113
113
|
<UButton
|
|
114
114
|
v-if="close"
|
|
115
115
|
:icon="closeIcon || appConfig.ui.icons.close"
|
|
116
|
-
size="md"
|
|
117
116
|
color="neutral"
|
|
118
117
|
variant="link"
|
|
119
118
|
:aria-label="t('toast.close')"
|
|
@@ -29,12 +29,13 @@ const props = defineProps({
|
|
|
29
29
|
defaultExpanded: { type: Array, required: false },
|
|
30
30
|
selectionBehavior: { type: String, required: false },
|
|
31
31
|
propagateSelect: { type: Boolean, required: false },
|
|
32
|
-
disabled: { type: Boolean, required: false }
|
|
32
|
+
disabled: { type: Boolean, required: false },
|
|
33
|
+
bubbleSelect: { type: Boolean, required: false }
|
|
33
34
|
});
|
|
34
35
|
const emits = defineEmits(["update:expanded", "update:modelValue"]);
|
|
35
36
|
const slots = defineSlots();
|
|
36
37
|
const appConfig = useAppConfig();
|
|
37
|
-
const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "defaultValue", "items", "multiple", "expanded", "disabled", "propagateSelect"), emits);
|
|
38
|
+
const rootProps = useForwardPropsEmits(reactivePick(props, "as", "modelValue", "defaultValue", "items", "multiple", "expanded", "disabled", "propagateSelect", "bubbleSelect"), emits);
|
|
38
39
|
const [DefineTreeTemplate, ReuseTreeTemplate] = createReusableTemplate();
|
|
39
40
|
const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.tree || {} })({
|
|
40
41
|
color: props.color,
|
|
@@ -24,7 +24,7 @@ export type TreeItem = {
|
|
|
24
24
|
ui?: Pick<Tree['slots'], 'item' | 'itemWithChildren' | 'link' | 'linkLeadingIcon' | 'linkLabel' | 'linkTrailing' | 'linkTrailingIcon' | 'listWithChildren'>;
|
|
25
25
|
[key: string]: any;
|
|
26
26
|
};
|
|
27
|
-
export interface TreeProps<T extends TreeItem[] = TreeItem[], VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Pick<TreeRootProps<T>, 'expanded' | 'defaultExpanded' | 'selectionBehavior' | 'propagateSelect' | 'disabled'> {
|
|
27
|
+
export interface TreeProps<T extends TreeItem[] = TreeItem[], VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Pick<TreeRootProps<T>, 'expanded' | 'defaultExpanded' | 'selectionBehavior' | 'propagateSelect' | 'disabled' | 'bubbleSelect'> {
|
|
28
28
|
/**
|
|
29
29
|
* The element or component this component should render as.
|
|
30
30
|
* @defaultValue 'ul'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Locale, Direction } from '../types/locale';
|
|
2
|
+
import type { DeepPartial } from '../types/utils';
|
|
2
3
|
interface DefineLocaleOptions<M> {
|
|
3
4
|
name: string;
|
|
4
5
|
code: string;
|
|
@@ -6,4 +7,5 @@ interface DefineLocaleOptions<M> {
|
|
|
6
7
|
messages: M;
|
|
7
8
|
}
|
|
8
9
|
export declare function defineLocale<M>(options: DefineLocaleOptions<M>): Locale<M>;
|
|
10
|
+
export declare function extendLocale<M>(locale: Locale<M>, options: Partial<DefineLocaleOptions<DeepPartial<M>>>): Locale<M>;
|
|
9
11
|
export {};
|
|
@@ -88,13 +88,13 @@ export function defineShortcuts(config, options = {}) {
|
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
90
90
|
let shortcut;
|
|
91
|
-
if (key.includes("-") && key !== "-" && !key.match(chainedShortcutRegex)?.length) {
|
|
91
|
+
if (key.includes("-") && key !== "-" && !key.includes("_") && !key.match(chainedShortcutRegex)?.length) {
|
|
92
92
|
console.trace(`[Shortcut] Invalid key: "${key}"`);
|
|
93
93
|
}
|
|
94
94
|
if (key.includes("_") && key !== "_" && !key.match(combinedShortcutRegex)?.length) {
|
|
95
95
|
console.trace(`[Shortcut] Invalid key: "${key}"`);
|
|
96
96
|
}
|
|
97
|
-
const chained = key.includes("-") && key !== "-";
|
|
97
|
+
const chained = key.includes("-") && key !== "-" && !key.includes("_");
|
|
98
98
|
if (chained) {
|
|
99
99
|
shortcut = {
|
|
100
100
|
key: key.toLowerCase(),
|
|
@@ -11,6 +11,7 @@ interface ManagedOverlayOptionsPrivate<T extends Component> {
|
|
|
11
11
|
id: symbol;
|
|
12
12
|
isMounted: boolean;
|
|
13
13
|
isOpen: boolean;
|
|
14
|
+
originalProps?: ComponentProps<T>;
|
|
14
15
|
resolvePromise?: (value: any) => void;
|
|
15
16
|
}
|
|
16
17
|
export type Overlay = OverlayOptions<Component> & ManagedOverlayOptionsPrivate<Component>;
|
|
@@ -30,7 +31,7 @@ declare function _useOverlay(): {
|
|
|
30
31
|
closeAll: () => void;
|
|
31
32
|
create: <T extends Component>(component: T, _options?: OverlayOptions<ComponentProps<T>>) => OverlayInstance<T>;
|
|
32
33
|
patch: <T extends Component>(id: symbol, props: Partial<ComponentProps<T>>) => void;
|
|
33
|
-
|
|
34
|
+
unmount: (id: symbol) => void;
|
|
34
35
|
isOpen: (id: symbol) => boolean;
|
|
35
36
|
};
|
|
36
37
|
export declare const useOverlay: typeof _useOverlay;
|
|
@@ -10,7 +10,8 @@ function _useOverlay() {
|
|
|
10
10
|
component: markRaw(component),
|
|
11
11
|
isMounted: !!defaultOpen,
|
|
12
12
|
destroyOnClose: !!destroyOnClose,
|
|
13
|
-
|
|
13
|
+
originalProps: props || {},
|
|
14
|
+
props: { ...props || {} }
|
|
14
15
|
});
|
|
15
16
|
overlays.push(options);
|
|
16
17
|
return {
|
|
@@ -24,6 +25,8 @@ function _useOverlay() {
|
|
|
24
25
|
const overlay = getOverlay(id);
|
|
25
26
|
if (props) {
|
|
26
27
|
patch(overlay.id, props);
|
|
28
|
+
} else {
|
|
29
|
+
patch(overlay.id, overlay.originalProps);
|
|
27
30
|
}
|
|
28
31
|
overlay.isOpen = true;
|
|
29
32
|
overlay.isMounted = true;
|
|
@@ -45,7 +48,7 @@ function _useOverlay() {
|
|
|
45
48
|
const closeAll = () => {
|
|
46
49
|
overlays.forEach((overlay) => close(overlay.id));
|
|
47
50
|
};
|
|
48
|
-
const
|
|
51
|
+
const unmount = (id) => {
|
|
49
52
|
const overlay = getOverlay(id);
|
|
50
53
|
overlay.isMounted = false;
|
|
51
54
|
if (overlay.destroyOnClose) {
|
|
@@ -55,9 +58,7 @@ function _useOverlay() {
|
|
|
55
58
|
};
|
|
56
59
|
const patch = (id, props) => {
|
|
57
60
|
const overlay = getOverlay(id);
|
|
58
|
-
|
|
59
|
-
overlay.props[key] = value;
|
|
60
|
-
});
|
|
61
|
+
overlay.props = { ...props };
|
|
61
62
|
};
|
|
62
63
|
const getOverlay = (id) => {
|
|
63
64
|
const overlay = overlays.find((overlay2) => overlay2.id === id);
|
|
@@ -77,7 +78,7 @@ function _useOverlay() {
|
|
|
77
78
|
closeAll,
|
|
78
79
|
create,
|
|
79
80
|
patch,
|
|
80
|
-
|
|
81
|
+
unmount,
|
|
81
82
|
isOpen
|
|
82
83
|
};
|
|
83
84
|
}
|
|
@@ -23,7 +23,8 @@ export default defineLocale({
|
|
|
23
23
|
placeholder: "\u0627\u0643\u062A\u0628 \u0623\u0645\u0631\u064B\u0627 \u0623\u0648 \u0627\u0628\u062D\u062B...",
|
|
24
24
|
noMatch: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0645\u0637\u0627\u0628\u0642\u0629",
|
|
25
25
|
noData: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A",
|
|
26
|
-
close: "\u0625\u063A\u0644\u0627\u0642"
|
|
26
|
+
close: "\u0625\u063A\u0644\u0627\u0642",
|
|
27
|
+
back: "\u0631\u062C\u0648\u0639"
|
|
27
28
|
},
|
|
28
29
|
selectMenu: {
|
|
29
30
|
noMatch: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0646\u062A\u0627\u0626\u062C \u0645\u0637\u0627\u0628\u0642\u0629",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\u018Fmr daxil edin v\u0259 ya axtar\u0131n...",
|
|
23
23
|
noMatch: "Uy\u011Fun m\u0259lumat tap\u0131lmad\u0131",
|
|
24
24
|
noData: "M\u0259lumat yoxdur",
|
|
25
|
-
close: "Ba\u011Fla"
|
|
25
|
+
close: "Ba\u011Fla",
|
|
26
|
+
back: "Geri"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Uy\u011Fun m\u0259lumat tap\u0131lmad\u0131",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\u0412\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0438\u043B\u0438 \u043F\u043E\u0442\u044A\u0440\u0441\u0435\u0442\u0435...",
|
|
23
23
|
noMatch: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438",
|
|
24
24
|
noData: "\u041D\u044F\u043C\u0430 \u0434\u0430\u043D\u043D\u0438",
|
|
25
|
-
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435"
|
|
25
|
+
close: "\u0417\u0430\u0442\u0432\u043E\u0440\u0435\u0442\u0435",
|
|
26
|
+
back: "\u041D\u0430\u0437\u0430\u0434"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "\u041D\u044F\u043C\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435 \u043D\u0430 \u0434\u0430\u043D\u043D\u0438",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\u0995\u09AE\u09BE\u09A8\u09CD\u09A1 \u099F\u09BE\u0987\u09AA \u0995\u09B0\u09C1\u09A8 \u09AC\u09BE \u0985\u09A8\u09C1\u09B8\u09A8\u09CD\u09A7\u09BE\u09A8 \u0995\u09B0\u09C1\u09A8...",
|
|
23
23
|
noMatch: "\u0995\u09CB\u09A8 \u09AE\u09BF\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",
|
|
24
24
|
noData: "\u0995\u09CB\u09A8 \u09A4\u09A5\u09CD\u09AF \u09A8\u09C7\u0987",
|
|
25
|
-
close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09B0\u09C1\u09A8"
|
|
25
|
+
close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09B0\u09C1\u09A8",
|
|
26
|
+
back: "\u09AA\u09C7\u099B\u09A8\u09C7"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "\u0995\u09CB\u09A8 \u09AE\u09BF\u09B2 \u09AA\u09BE\u0993\u09AF\u09BC\u09BE \u09AF\u09BE\u09AF\u09BC\u09A8\u09BF",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Escriu una ordre o cerca...",
|
|
23
23
|
noMatch: "No hi ha dades coincidents",
|
|
24
24
|
noData: "Sense dades",
|
|
25
|
-
close: "Tancar"
|
|
25
|
+
close: "Tancar",
|
|
26
|
+
back: "Enrere"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "No hi ha dades coincidents",
|
|
@@ -23,7 +23,8 @@ export default defineLocale({
|
|
|
23
23
|
placeholder: "\u0641\u06D5\u0631\u0645\u0627\u0646\u06CE\u06A9 \u0628\u0646\u0648\u0648\u0633\u06D5 \u06CC\u0627\u0646 \u0628\u06AF\u06D5\u0695\u06CE...",
|
|
24
24
|
noMatch: "\u0647\u06CC\u0686 \u0626\u06D5\u0646\u062C\u0627\u0645\u06CE\u06A9 \u0646\u06D5\u062F\u06C6\u0632\u0631\u0627\u06CC\u06D5\u0648\u06D5",
|
|
25
25
|
noData: "\u0647\u06CC\u0686 \u062F\u0627\u062A\u0627\u06CC\u06D5\u06A9 \u0646\u06CC\u06CC\u06D5",
|
|
26
|
-
close: "\u062F\u0627\u062E\u0633\u062A\u0646"
|
|
26
|
+
close: "\u062F\u0627\u062E\u0633\u062A\u0646",
|
|
27
|
+
back: "\u06AF\u06D5\u0695\u0627\u0646\u06D5\u0648\u06D5"
|
|
27
28
|
},
|
|
28
29
|
selectMenu: {
|
|
29
30
|
noMatch: "\u0647\u06CC\u0686 \u0626\u06D5\u0646\u062C\u0627\u0645\u06CE\u06A9 \u0646\u06D5\u062F\u06C6\u0632\u0631\u0627\u06CC\u06D5\u0648\u06D5",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Zadejte p\u0159\xEDkaz nebo hledejte...",
|
|
23
23
|
noMatch: "\u017D\xE1dn\xE1 shoda",
|
|
24
24
|
noData: "\u017D\xE1dn\xE1 data",
|
|
25
|
-
close: "Zav\u0159\xEDt"
|
|
25
|
+
close: "Zav\u0159\xEDt",
|
|
26
|
+
back: "Zp\u011Bt"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "\u017D\xE1dn\xE1 shoda",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Geben Sie einen Befehl ein oder suchen Sie...",
|
|
23
23
|
noMatch: "Nichts gefunden",
|
|
24
24
|
noData: "Keine Daten",
|
|
25
|
-
close: "Schlie\xDFen"
|
|
25
|
+
close: "Schlie\xDFen",
|
|
26
|
+
back: "Zur\xFCck"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Nichts gefunden",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\u03A0\u03BB\u03B7\u03BA\u03C4\u03C1\u03BF\u03BB\u03BF\u03B3\u03AE\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B5\u03BD\u03C4\u03BF\u03BB\u03AE \u03AE \u03B1\u03BD\u03B1\u03B6\u03B7\u03C4\u03AE\u03C3\u03C4\u03B5...",
|
|
23
23
|
noMatch: "\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03B1",
|
|
24
24
|
noData: "\u0394\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03B1",
|
|
25
|
-
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF"
|
|
25
|
+
close: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF",
|
|
26
|
+
back: "\u03A0\u03AF\u03C3\u03C9"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "\u0394\u03B5\u03BD \u03B2\u03C1\u03AD\u03B8\u03B7\u03BA\u03B1\u03BD \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03B1",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Escribe un comando o busca...",
|
|
23
23
|
noMatch: "No hay datos coincidentes",
|
|
24
24
|
noData: "Sin datos",
|
|
25
|
-
close: "Cerrar"
|
|
25
|
+
close: "Cerrar",
|
|
26
|
+
back: "Atr\xE1s"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "No hay datos coincidentes",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Sisesta k\xE4sk v\xF5i otsi...",
|
|
23
23
|
noMatch: "Pole vastavaid andmeid",
|
|
24
24
|
noData: "Pole andmeid",
|
|
25
|
-
close: "Sulge"
|
|
25
|
+
close: "Sulge",
|
|
26
|
+
back: "Tagasi"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Pole vastavaid andmeid",
|
|
@@ -23,7 +23,8 @@ export default defineLocale({
|
|
|
23
23
|
placeholder: "\u06CC\u06A9 \u062F\u0633\u062A\u0648\u0631 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F \u06CC\u0627 \u062C\u0633\u062A\u062C\u0648 \u06A9\u0646\u06CC\u062F...",
|
|
24
24
|
noMatch: "\u062F\u0627\u062F\u0647\u200C\u0627\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",
|
|
25
25
|
noData: "\u062F\u0627\u062F\u0647\u200C\u0627\u06CC \u0645\u0648\u062C\u0648\u062F \u0646\u06CC\u0633\u062A",
|
|
26
|
-
close: "\u0628\u0633\u062A\u0646"
|
|
26
|
+
close: "\u0628\u0633\u062A\u0646",
|
|
27
|
+
back: "\u0628\u0627\u0632\u06AF\u0634\u062A"
|
|
27
28
|
},
|
|
28
29
|
selectMenu: {
|
|
29
30
|
noMatch: "\u062F\u0627\u062F\u0647\u200C\u0627\u06CC \u06CC\u0627\u0641\u062A \u0646\u0634\u062F",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Tapez une commande ou recherchez...",
|
|
23
23
|
noMatch: "Aucune donn\xE9e correspondante",
|
|
24
24
|
noData: "Aucune donn\xE9e",
|
|
25
|
-
close: "Fermer"
|
|
25
|
+
close: "Fermer",
|
|
26
|
+
back: "Retour"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Aucune donn\xE9e correspondante",
|
|
@@ -23,7 +23,8 @@ export default defineLocale({
|
|
|
23
23
|
placeholder: "\u05D4\u05E7\u05DC\u05D3 \u05E4\u05E7\u05D5\u05D3\u05D4...",
|
|
24
24
|
noMatch: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D4 \u05D4\u05EA\u05D0\u05DE\u05D4",
|
|
25
25
|
noData: "\u05D0\u05D9\u05DF \u05E0\u05EA\u05D5\u05E0\u05D9\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD",
|
|
26
|
-
close: "\u05E1\u05D2\u05D5\u05E8"
|
|
26
|
+
close: "\u05E1\u05D2\u05D5\u05E8",
|
|
27
|
+
back: "\u05D7\u05D6\u05D5\u05E8"
|
|
27
28
|
},
|
|
28
29
|
selectMenu: {
|
|
29
30
|
noMatch: "\u05DC\u05D0 \u05E0\u05DE\u05E6\u05D0\u05D4 \u05D4\u05EA\u05D0\u05DE\u05D4",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\u090F\u0915 \u0906\u0926\u0947\u0936 \u092F\u093E \u0916\u094B\u091C \u091F\u093E\u0907\u092A \u0915\u0930\u0947\u0902...",
|
|
23
23
|
noMatch: "\u0915\u094B\u0908 \u092E\u0947\u0932 \u0916\u093E\u0924\u093E \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
|
|
24
24
|
noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
|
|
25
|
-
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
|
|
25
|
+
close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
26
|
+
back: "\u0935\u093E\u092A\u0938"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "\u0915\u094B\u0908 \u092E\u0947\u0932 \u0916\u093E\u0924\u093E \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\xCDrjon be egy parancsot vagy keressen...",
|
|
23
23
|
noMatch: "Nincs tal\xE1lat",
|
|
24
24
|
noData: "Nincs adat",
|
|
25
|
-
close: "Bez\xE1r\xE1s"
|
|
25
|
+
close: "Bez\xE1r\xE1s",
|
|
26
|
+
back: "Vissza"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Nincs tal\xE1lat",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "\u0544\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0565\u0584 \u0570\u0580\u0561\u0574\u0561\u0576 \u056F\u0561\u0574 \u0578\u0580\u0578\u0576\u0565\u0584...",
|
|
23
23
|
noMatch: "\u0540\u0561\u0574\u0568\u0576\u056F\u0576\u0578\u0582\u0574\u0576\u0565\u0580 \u0579\u0565\u0576 \u0563\u057F\u0576\u057E\u0565\u056C",
|
|
24
24
|
noData: "\u054F\u057E\u0575\u0561\u056C\u0576\u0565\u0580 \u0579\u056F\u0561\u0576",
|
|
25
|
-
close: "\u0553\u0561\u056F\u0565\u056C"
|
|
25
|
+
close: "\u0553\u0561\u056F\u0565\u056C",
|
|
26
|
+
back: "\u0540\u0565\u057F"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "\u0540\u0561\u0574\u0568\u0576\u056F\u0576\u0578\u0582\u0574\u0576\u0565\u0580 \u0579\u0565\u0576 \u0563\u057F\u0576\u057E\u0565\u056C",
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Ketik perintah atau cari...",
|
|
23
23
|
noMatch: "Tidak ada data yang cocok",
|
|
24
24
|
noData: "Tidak ada data",
|
|
25
|
-
close: "Tutup"
|
|
25
|
+
close: "Tutup",
|
|
26
|
+
back: "Kembali"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Tidak ada data yang cocok",
|
|
@@ -25,6 +25,7 @@ export { default as kk } from './kk';
|
|
|
25
25
|
export { default as km } from './km';
|
|
26
26
|
export { default as ko } from './ko';
|
|
27
27
|
export { default as ky } from './ky';
|
|
28
|
+
export { default as lb } from './lb';
|
|
28
29
|
export { default as lt } from './lt';
|
|
29
30
|
export { default as mn } from './mn';
|
|
30
31
|
export { default as ms } from './ms';
|
|
@@ -25,6 +25,7 @@ export { default as kk } from "./kk.js";
|
|
|
25
25
|
export { default as km } from "./km.js";
|
|
26
26
|
export { default as ko } from "./ko.js";
|
|
27
27
|
export { default as ky } from "./ky.js";
|
|
28
|
+
export { default as lb } from "./lb.js";
|
|
28
29
|
export { default as lt } from "./lt.js";
|
|
29
30
|
export { default as mn } from "./mn.js";
|
|
30
31
|
export { default as ms } from "./ms.js";
|
|
@@ -22,7 +22,8 @@ export default defineLocale({
|
|
|
22
22
|
placeholder: "Digita un comando o cerca...",
|
|
23
23
|
noMatch: "Nessun dato corrispondente",
|
|
24
24
|
noData: "Nessun dato",
|
|
25
|
-
close: "Chiudi"
|
|
25
|
+
close: "Chiudi",
|
|
26
|
+
back: "Indietro"
|
|
26
27
|
},
|
|
27
28
|
selectMenu: {
|
|
28
29
|
noMatch: "Nessun dato corrispondente",
|