@bethinkpl/design-system 34.0.7 → 34.0.9
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/design-system.css +1 -1
- package/dist/design-system.js +6121 -6036
- package/dist/design-system.js.map +1 -1
- package/dist/i18n/en/datePicker.json +4 -0
- package/dist/i18n/pl/datePicker.json +4 -0
- package/dist/lib/js/components/Buttons/IconButton/IconButton.vue.d.ts +1 -0
- package/dist/lib/js/components/Cards/CardExpandable/CardExpandable.vue.d.ts +1 -0
- package/dist/lib/js/components/DatePickers/DateBox/DateBox.vue.d.ts +7 -3
- package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.composables.d.ts +3 -1
- package/dist/lib/js/components/DatePickers/DatePicker/DatePicker.vue.d.ts +10 -3
- package/dist/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue.d.ts +12 -4
- package/dist/lib/js/components/Drawer/DrawerHeader/DrawerHeader.vue.d.ts +2 -0
- package/dist/lib/js/components/Drawer/DrawerListItem/DrawerListItem.vue.d.ts +1 -0
- package/dist/lib/js/components/Drawer/DrawerSection/DrawerSection.vue.d.ts +3 -0
- package/dist/lib/js/components/Form/RadioButton/RadioButton.vue.d.ts +1 -0
- package/dist/lib/js/components/Headers/OverlayHeader/OverlayHeader.vue.d.ts +2 -0
- package/dist/lib/js/components/Headers/SectionHeader/SectionHeader.vue.d.ts +2 -0
- package/dist/lib/js/components/Icons/Icon/Icon.consts.d.ts +1 -0
- package/dist/lib/js/components/Modal/Modal.vue.d.ts +1 -0
- package/dist/lib/js/components/Modals/Modal/Modal.vue.d.ts +2 -0
- package/dist/lib/js/components/Modals/ModalDialog/ModalDialog.vue.d.ts +2 -0
- package/dist/lib/js/components/Pagination/Pagination.vue.d.ts +3 -0
- package/dist/lib/js/components/ProgressBar/ProgressBar.vue.d.ts +1 -0
- package/dist/lib/js/components/ProgressDonutChart/ProgressDonutChart.vue.d.ts +1 -0
- package/dist/lib/js/components/RichList/BasicRichListItem/BasicRichListItem.vue.d.ts +1 -0
- package/dist/lib/js/components/RichList/RichListItem/RichListItem.vue.d.ts +1 -0
- package/dist/lib/js/components/SelectList/SelectListItem/SelectListItem.vue.d.ts +1 -0
- package/dist/lib/js/components/SelectList/SelectListItemToggle/SelectListItemToggle.vue.d.ts +1 -0
- package/dist/lib/js/components/Statuses/AccessStatus/AccessStatus.vue.d.ts +1 -0
- package/dist/lib/js/components/Statuses/BlockadeStatus/BlockadeStatus.vue.d.ts +1 -0
- package/dist/lib/js/components/SurveyQuestions/SurveyQuestionOpenEnded/SurveyQuestionOpenEnded.vue.d.ts +3 -0
- package/dist/lib/js/components/SurveyQuestions/SurveyQuestionScale/SurveyQuestionScale.vue.d.ts +3 -0
- package/dist/lib/js/components/Switch/Switch.vue.d.ts +1 -0
- package/dist/lib/js/components/Tile/Tile.sb.shared.d.ts +1 -0
- package/dist/lib/js/components/Toggles/ToggleButton/ToggleButton.vue.d.ts +1 -0
- package/dist/lib/js/composables/useLegacyI18n.d.ts +3 -1
- package/dist/lib/js/i18n/en.d.ts +2 -0
- package/dist/lib/js/i18n/index.d.ts +6 -0
- package/dist/lib/js/i18n/pl.d.ts +2 -0
- package/dist/lib/js/icons/fontawesome.d.ts +1 -0
- package/lib/js/components/DatePickers/DateBox/DateBox.vue +16 -6
- package/lib/js/components/DatePickers/DatePicker/DatePicker.composables.ts +20 -3
- package/lib/js/components/DatePickers/DatePicker/DatePicker.vue +14 -5
- package/lib/js/components/DatePickers/DateRangePicker/DateRangePicker.vue +13 -2
- package/lib/js/composables/useLegacyI18n.ts +6 -2
- package/lib/js/i18n/en/datePicker.json +4 -0
- package/lib/js/i18n/en.ts +2 -0
- package/lib/js/i18n/index.ts +6 -0
- package/lib/js/i18n/pl/datePicker.json +4 -0
- package/lib/js/i18n/pl.ts +2 -0
- package/lib/js/icons/fontawesome.ts +2 -0
- package/lib/js/vue-custom.d.ts +3 -1
- package/package.json +1 -1
|
@@ -356,6 +356,7 @@ import {
|
|
|
356
356
|
localWeekdayName,
|
|
357
357
|
} from '../../../../../tools/importers/helpers/dates';
|
|
358
358
|
import { capitalizeFirstLetter } from '../../../../../tools/importers/helpers/modifiers';
|
|
359
|
+
import { useLegacyI18n } from '../../../composables/useLegacyI18n';
|
|
359
360
|
|
|
360
361
|
export default defineComponent({
|
|
361
362
|
name: 'DateBox',
|
|
@@ -369,7 +370,7 @@ export default defineComponent({
|
|
|
369
370
|
},
|
|
370
371
|
placeholder: {
|
|
371
372
|
type: String,
|
|
372
|
-
default:
|
|
373
|
+
default: null,
|
|
373
374
|
},
|
|
374
375
|
startDate: {
|
|
375
376
|
type: Date,
|
|
@@ -406,6 +407,10 @@ export default defineComponent({
|
|
|
406
407
|
default: false,
|
|
407
408
|
},
|
|
408
409
|
},
|
|
410
|
+
setup() {
|
|
411
|
+
const { locale, t } = useLegacyI18n();
|
|
412
|
+
return { locale, t };
|
|
413
|
+
},
|
|
409
414
|
data() {
|
|
410
415
|
return {
|
|
411
416
|
ICONS: Object.freeze(ICONS),
|
|
@@ -417,9 +422,9 @@ export default defineComponent({
|
|
|
417
422
|
computed: {
|
|
418
423
|
startDateText() {
|
|
419
424
|
if (this.startDate) {
|
|
420
|
-
return localMonthDayWithShortMonthDay(this.startDate);
|
|
425
|
+
return localMonthDayWithShortMonthDay(this.startDate, this.locale);
|
|
421
426
|
}
|
|
422
|
-
return this.placeholder;
|
|
427
|
+
return this.placeholder ?? this.t('ds.datePicker.set');
|
|
423
428
|
},
|
|
424
429
|
endDateIfDifferentThanStartDate() {
|
|
425
430
|
return this.startDate &&
|
|
@@ -429,19 +434,24 @@ export default defineComponent({
|
|
|
429
434
|
: null;
|
|
430
435
|
},
|
|
431
436
|
endDateText() {
|
|
432
|
-
return localMonthDayWithShortMonthDay(
|
|
437
|
+
return localMonthDayWithShortMonthDay(
|
|
438
|
+
this.endDateIfDifferentThanStartDate,
|
|
439
|
+
this.locale,
|
|
440
|
+
);
|
|
433
441
|
},
|
|
434
442
|
startDateEyebrowText() {
|
|
435
443
|
if (!this.startDate) {
|
|
436
444
|
return '';
|
|
437
445
|
}
|
|
438
|
-
return capitalizeFirstLetter(localWeekdayName(this.startDate));
|
|
446
|
+
return capitalizeFirstLetter(localWeekdayName(this.startDate, this.locale));
|
|
439
447
|
},
|
|
440
448
|
endDateEyebrowText() {
|
|
441
449
|
if (!this.endDateIfDifferentThanStartDate) {
|
|
442
450
|
return '';
|
|
443
451
|
}
|
|
444
|
-
return capitalizeFirstLetter(
|
|
452
|
+
return capitalizeFirstLetter(
|
|
453
|
+
localWeekdayName(this.endDateIfDifferentThanStartDate, this.locale),
|
|
454
|
+
);
|
|
445
455
|
},
|
|
446
456
|
},
|
|
447
457
|
});
|
|
@@ -3,9 +3,10 @@ import { FlatpickrFn, Instance as DatePickerInstance } from 'flatpickr/dist/type
|
|
|
3
3
|
import { CustomLocale } from 'flatpickr/dist/types/locale';
|
|
4
4
|
|
|
5
5
|
import { DatePickerCalendarPositions, FLATPICKR_POSITIONS } from './index';
|
|
6
|
+
import { SUPPORTED_LOCALE, SupportedLocale } from '../../../i18n';
|
|
6
7
|
|
|
7
8
|
let flatpickrFunction: FlatpickrFn | null = null;
|
|
8
|
-
|
|
9
|
+
const localeCache = new Map<string, CustomLocale>();
|
|
9
10
|
|
|
10
11
|
export interface DatePickerComposablesProps {
|
|
11
12
|
disableDates: Array<Date>;
|
|
@@ -23,6 +24,7 @@ interface InitFlatpickrPrams {
|
|
|
23
24
|
onClose: () => void;
|
|
24
25
|
defaultDates: Date | Array<Date>;
|
|
25
26
|
mode: 'single' | 'range';
|
|
27
|
+
locale?: SupportedLocale;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
interface InitFlatpickr {
|
|
@@ -44,6 +46,7 @@ export function initFlatpickr({
|
|
|
44
46
|
onClose,
|
|
45
47
|
defaultDates,
|
|
46
48
|
mode = 'single',
|
|
49
|
+
locale = SUPPORTED_LOCALE.pl,
|
|
47
50
|
}: InitFlatpickrPrams): InitFlatpickr {
|
|
48
51
|
let datePicker: DatePickerInstance | null = null;
|
|
49
52
|
const isOpen = ref(false);
|
|
@@ -65,15 +68,29 @@ export function initFlatpickr({
|
|
|
65
68
|
if (!flatpickrFunction) {
|
|
66
69
|
try {
|
|
67
70
|
flatpickrFunction = (await import('flatpickr')).default;
|
|
68
|
-
locale = (await import('flatpickr/dist/l10n/pl')).Polish;
|
|
69
71
|
} catch (e) {
|
|
70
72
|
console.error('Failed to load flatpickr', e);
|
|
71
73
|
return;
|
|
72
74
|
}
|
|
73
75
|
}
|
|
76
|
+
let flatpickrLocale: CustomLocale | undefined;
|
|
77
|
+
|
|
78
|
+
if (locale === SUPPORTED_LOCALE.pl) {
|
|
79
|
+
if (!localeCache.has(SUPPORTED_LOCALE.pl)) {
|
|
80
|
+
try {
|
|
81
|
+
localeCache.set(
|
|
82
|
+
SUPPORTED_LOCALE.pl,
|
|
83
|
+
(await import('flatpickr/dist/l10n/pl')).Polish,
|
|
84
|
+
);
|
|
85
|
+
} catch (e) {
|
|
86
|
+
console.error('Failed to load flatpickr Polish locale', e);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
flatpickrLocale = localeCache.get(SUPPORTED_LOCALE.pl);
|
|
90
|
+
}
|
|
74
91
|
datePicker = flatpickrFunction(flatpickrInputElement, {
|
|
75
92
|
mode,
|
|
76
|
-
locale,
|
|
93
|
+
locale: flatpickrLocale ?? SUPPORTED_LOCALE.en,
|
|
77
94
|
//disableMobile fixes mobile pickers on platform
|
|
78
95
|
disableMobile: true,
|
|
79
96
|
positionElement: datePickerElement,
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<date-box
|
|
43
43
|
v-else
|
|
44
44
|
:is-interactive="isInteractive"
|
|
45
|
-
:placeholder="
|
|
45
|
+
:placeholder="resolvedPlaceholder"
|
|
46
46
|
:start-date="date"
|
|
47
47
|
:start-icon="icon"
|
|
48
48
|
:are-icons-hidden-on-mobile="isIconHiddenOnMobile"
|
|
@@ -172,6 +172,7 @@ import {
|
|
|
172
172
|
DatePickerStates,
|
|
173
173
|
DatePickerTriggerTypes,
|
|
174
174
|
} from './DatePicker.consts';
|
|
175
|
+
import { useLegacyI18n } from '../../../composables/useLegacyI18n';
|
|
175
176
|
|
|
176
177
|
export default defineComponent({
|
|
177
178
|
name: 'DatePicker',
|
|
@@ -190,7 +191,7 @@ export default defineComponent({
|
|
|
190
191
|
},
|
|
191
192
|
placeholder: {
|
|
192
193
|
type: String,
|
|
193
|
-
default:
|
|
194
|
+
default: null,
|
|
194
195
|
},
|
|
195
196
|
date: {
|
|
196
197
|
type: Date,
|
|
@@ -271,6 +272,8 @@ export default defineComponent({
|
|
|
271
272
|
const flatpickrInputRef = ref<HTMLInputElement>() as Ref<HTMLInputElement>;
|
|
272
273
|
const datePickerRef = ref<HTMLDivElement>() as Ref<HTMLDivElement>;
|
|
273
274
|
|
|
275
|
+
const { locale, t } = useLegacyI18n();
|
|
276
|
+
|
|
274
277
|
const onChange = (event: Array<Date>) => {
|
|
275
278
|
emit('update:date', event[0]);
|
|
276
279
|
};
|
|
@@ -292,6 +295,7 @@ export default defineComponent({
|
|
|
292
295
|
onClose,
|
|
293
296
|
defaultDates: props.date ?? new Date(),
|
|
294
297
|
mode: 'single',
|
|
298
|
+
locale: locale.value,
|
|
295
299
|
});
|
|
296
300
|
|
|
297
301
|
return {
|
|
@@ -302,6 +306,8 @@ export default defineComponent({
|
|
|
302
306
|
toggleDatePicker,
|
|
303
307
|
updateDatePicker,
|
|
304
308
|
createDatePicker,
|
|
309
|
+
locale,
|
|
310
|
+
t,
|
|
305
311
|
DATE_PICKER_CALENDAR_POSITIONS,
|
|
306
312
|
DATE_PICKER_COLORS,
|
|
307
313
|
DATE_PICKER_STATES,
|
|
@@ -327,17 +333,20 @@ export default defineComponent({
|
|
|
327
333
|
: TILE_BORDER_COLORS.WARNING_WEAK,
|
|
328
334
|
}[this.color];
|
|
329
335
|
},
|
|
336
|
+
resolvedPlaceholder() {
|
|
337
|
+
return this.placeholder ?? this.t('ds.datePicker.selectDate');
|
|
338
|
+
},
|
|
330
339
|
eyebrowText() {
|
|
331
340
|
if (!this.date) {
|
|
332
341
|
return '';
|
|
333
342
|
}
|
|
334
|
-
return capitalizeFirstLetter(localWeekdayName(this.date));
|
|
343
|
+
return capitalizeFirstLetter(localWeekdayName(this.date, this.locale));
|
|
335
344
|
},
|
|
336
345
|
text() {
|
|
337
346
|
if (!this.date) {
|
|
338
|
-
return this.
|
|
347
|
+
return this.resolvedPlaceholder;
|
|
339
348
|
}
|
|
340
|
-
return localFullDateWithShortMonthName(this.date);
|
|
349
|
+
return localFullDateWithShortMonthName(this.date, this.locale);
|
|
341
350
|
},
|
|
342
351
|
tileIcon() {
|
|
343
352
|
if (this.additionalText) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div ref="dateRangePickerRef" class="ds-dateRangePicker">
|
|
3
3
|
<date-box
|
|
4
4
|
:is-interactive="isInteractive"
|
|
5
|
-
:placeholder="
|
|
5
|
+
:placeholder="resolvedPlaceholder"
|
|
6
6
|
:start-date="startDate"
|
|
7
7
|
:end-date="endDate"
|
|
8
8
|
:start-icon="startIcon"
|
|
@@ -62,6 +62,7 @@ import {
|
|
|
62
62
|
DatePickerStates,
|
|
63
63
|
} from '../DatePicker';
|
|
64
64
|
import { DatePickerComposablesProps, initFlatpickr } from '../DatePicker/DatePicker.composables';
|
|
65
|
+
import { useLegacyI18n } from '../../../composables/useLegacyI18n';
|
|
65
66
|
|
|
66
67
|
export default defineComponent({
|
|
67
68
|
name: 'DateRangePicker',
|
|
@@ -75,7 +76,7 @@ export default defineComponent({
|
|
|
75
76
|
},
|
|
76
77
|
placeholder: {
|
|
77
78
|
type: String,
|
|
78
|
-
default:
|
|
79
|
+
default: null,
|
|
79
80
|
},
|
|
80
81
|
startDate: {
|
|
81
82
|
type: Date,
|
|
@@ -147,6 +148,8 @@ export default defineComponent({
|
|
|
147
148
|
},
|
|
148
149
|
{ emit },
|
|
149
150
|
) {
|
|
151
|
+
const { locale, t } = useLegacyI18n();
|
|
152
|
+
|
|
150
153
|
const flatpickrInstance = ref<DatePickerInstance | null>(null);
|
|
151
154
|
const dateRangePickerRef = ref() as Ref<HTMLDivElement>;
|
|
152
155
|
const flatpickrInputRef = ref() as Ref<HTMLInputElement>;
|
|
@@ -175,6 +178,7 @@ export default defineComponent({
|
|
|
175
178
|
onClose,
|
|
176
179
|
defaultDates: [props.startDate, props.endDate],
|
|
177
180
|
mode: 'range',
|
|
181
|
+
locale: locale.value,
|
|
178
182
|
});
|
|
179
183
|
|
|
180
184
|
return {
|
|
@@ -186,12 +190,19 @@ export default defineComponent({
|
|
|
186
190
|
createDatePicker,
|
|
187
191
|
destroyDatePicker,
|
|
188
192
|
updateDatePicker,
|
|
193
|
+
locale,
|
|
194
|
+
t,
|
|
189
195
|
DATE_PICKER_CALENDAR_POSITIONS: Object.freeze(DATE_PICKER_CALENDAR_POSITIONS),
|
|
190
196
|
DATE_PICKER_COLORS: Object.freeze(DATE_PICKER_COLORS),
|
|
191
197
|
DATE_PICKER_STATES: Object.freeze(DATE_PICKER_STATES),
|
|
192
198
|
DATE_PICKER_TRIGGER_TYPES: Object.freeze(DATE_PICKER_TRIGGER_TYPES),
|
|
193
199
|
};
|
|
194
200
|
},
|
|
201
|
+
computed: {
|
|
202
|
+
resolvedPlaceholder() {
|
|
203
|
+
return this.placeholder ?? this.t('ds.datePicker.selectDate');
|
|
204
|
+
},
|
|
205
|
+
},
|
|
195
206
|
methods: {
|
|
196
207
|
async bindFlatpickrInstance() {
|
|
197
208
|
this.flatpickrInstance = await this.createDatePicker(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { getCurrentInstance } from 'vue';
|
|
2
|
-
import { TranslateFunction } from '../i18n';
|
|
1
|
+
import { computed, ComputedRef, getCurrentInstance } from 'vue';
|
|
2
|
+
import { SupportedLocale, TranslateFunction } from '../i18n';
|
|
3
3
|
|
|
4
4
|
interface IUseLegacyI18n {
|
|
5
5
|
t: TranslateFunction;
|
|
6
|
+
locale: ComputedRef<SupportedLocale>;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -18,7 +19,10 @@ export const useLegacyI18n = (): IUseLegacyI18n => {
|
|
|
18
19
|
|
|
19
20
|
const t = internalInstance.root.proxy.$t;
|
|
20
21
|
|
|
22
|
+
const locale = computed(() => internalInstance.root.proxy?.$i18n.locale as SupportedLocale);
|
|
23
|
+
|
|
21
24
|
return {
|
|
22
25
|
t,
|
|
26
|
+
locale,
|
|
23
27
|
};
|
|
24
28
|
};
|
package/lib/js/i18n/en.ts
CHANGED
|
@@ -2,10 +2,12 @@ import globals from './en/globals.json';
|
|
|
2
2
|
import accessStatus from './en/accessStatus.json';
|
|
3
3
|
import pagination from './en/pagination.json';
|
|
4
4
|
import statsLayout from './en/statsLayout.json';
|
|
5
|
+
import datePicker from './en/datePicker.json';
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
...globals,
|
|
8
9
|
...accessStatus,
|
|
9
10
|
...pagination,
|
|
10
11
|
...statsLayout,
|
|
12
|
+
...datePicker,
|
|
11
13
|
};
|
package/lib/js/i18n/index.ts
CHANGED
|
@@ -9,6 +9,12 @@ export const messages = {
|
|
|
9
9
|
en,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
+
export type SupportedLocale = keyof typeof messages;
|
|
13
|
+
|
|
14
|
+
export const SUPPORTED_LOCALE = Object.fromEntries(
|
|
15
|
+
Object.keys(messages).map((key) => [key, key]),
|
|
16
|
+
) as Record<SupportedLocale, SupportedLocale>;
|
|
17
|
+
|
|
12
18
|
export type ValidI18nKey = keyof MessageSchema;
|
|
13
19
|
|
|
14
20
|
export interface TranslateFunction {
|
package/lib/js/i18n/pl.ts
CHANGED
|
@@ -2,10 +2,12 @@ import globals from './pl/globals.json';
|
|
|
2
2
|
import accessStatus from './pl/accessStatus.json';
|
|
3
3
|
import pagination from './pl/pagination.json';
|
|
4
4
|
import statsLayout from './pl/statsLayout.json';
|
|
5
|
+
import datePicker from './pl/datePicker.json';
|
|
5
6
|
|
|
6
7
|
export default {
|
|
7
8
|
...globals,
|
|
8
9
|
...accessStatus,
|
|
9
10
|
...pagination,
|
|
10
11
|
...statsLayout,
|
|
12
|
+
...datePicker,
|
|
11
13
|
};
|
|
@@ -108,6 +108,7 @@ import { faHourglassEnd } from '@fortawesome/pro-regular-svg-icons/faHourglassEn
|
|
|
108
108
|
import { faHourglassStart } from '@fortawesome/pro-regular-svg-icons/faHourglassStart';
|
|
109
109
|
import { faHouse } from '@fortawesome/pro-regular-svg-icons/faHouse';
|
|
110
110
|
import { faImage } from '@fortawesome/pro-regular-svg-icons/faImage';
|
|
111
|
+
import { faImageCircleXmark } from '@fortawesome/pro-regular-svg-icons/faImageCircleXmark';
|
|
111
112
|
import { faImage as fasImage } from '@fortawesome/pro-solid-svg-icons/faImage';
|
|
112
113
|
import { faImages } from '@fortawesome/pro-regular-svg-icons/faImages';
|
|
113
114
|
import { faImages as fasImages } from '@fortawesome/pro-solid-svg-icons/faImages';
|
|
@@ -413,6 +414,7 @@ export const FONTAWESOME_ICONS = {
|
|
|
413
414
|
FA_HOURGLASS: faHourglass,
|
|
414
415
|
FA_HOUSE: faHouse,
|
|
415
416
|
FA_IMAGE: faImage,
|
|
417
|
+
FA_IMAGE_CIRCLE_XMARK: faImageCircleXmark,
|
|
416
418
|
FA_IMAGE_SOLID: fasImage,
|
|
417
419
|
FA_IMAGES_SOLID: fasImages,
|
|
418
420
|
FA_IMAGES: faImages,
|
package/lib/js/vue-custom.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { TranslateFunction, ValidI18nKey } from './i18n';
|
|
1
|
+
import { SupportedLocale, TranslateFunction, ValidI18nKey } from './i18n';
|
|
2
|
+
import { VueI18nInstance } from 'vue-i18n';
|
|
2
3
|
|
|
3
4
|
declare module '@vue/runtime-core' {
|
|
4
5
|
interface ComponentCustomProperties {
|
|
5
6
|
$t: TranslateFunction<ValidI18nKey | string>;
|
|
7
|
+
$i18n: VueI18nInstance;
|
|
6
8
|
}
|
|
7
9
|
}
|