@@ -190,7 +190,7 @@ import { watch } from 'vue'
190190import NcIconSvgWrapper from ' ../NcIconSvgWrapper/NcIconSvgWrapper.vue'
191191import NcTimezonePicker from ' ../NcTimezonePicker/NcTimezonePicker.vue'
192192import { t } from ' ../../l10n.ts'
193- import { logger } from ' ../../utils/logger .ts'
193+ import { loadDateFnsLocale } from ' ../../utils/date-fns .ts'
194194import NcButton from ' ../NcButton/index.ts'
195195
196196type VueDatePickerProps = InstanceType <typeof VueDatePicker >[' $props' ]
@@ -333,7 +333,9 @@ const targetElement = useTemplateRef('target')
333333const pickerInstance = useTemplateRef (' picker' )
334334
335335const localeObject = ref <Locale >()
336- watch (() => props .locale , loadLocale , { immediate: true })
336+ watch (() => props .locale , async () => {
337+ localeObject .value = await loadDateFnsLocale (props .locale )
338+ }, { immediate: true })
337339
338340/**
339341 * Mapping of the model-value prop to the format expected by the library.
@@ -602,26 +604,6 @@ function selectDate() {
602604function cancelSelection() {
603605 pickerInstance .value ! .closeMenu ()
604606}
605-
606- /**
607- * Load the locale object from date-fns dynamically.
608- *
609- * @param locale - The locale to load
610- */
611- async function loadLocale(locale : string ) {
612- try {
613- const { default : dateFnLocale } = await import (` date-fns/locale/${locale } ` )
614- localeObject .value = dateFnLocale
615- } catch (error ) {
616- if (locale .includes (' -' )) {
617- locale = locale .split (' -' )[0 ]!
618- logger .debug (' Try loading fallback locale for NcDateTimePicker' , { locale })
619- await loadLocale (locale )
620- } else {
621- logger .error (' Failed to load locale for NcDateTimePicker' , { locale , error })
622- }
623- }
624- }
625607 </script >
626608
627609<template >
0 commit comments