{"version":3,"file":"useLocaleReceiver.cjs","sources":["../../../../../../packages/components/locale-provider/src/useLocaleReceiver.ts"],"sourcesContent":["import type { Locale } from '@antdv/locale';\nimport type { ComputedRef, Ref } from 'vue';\nimport type { LocaleComponentName, LocaleReceiverContext } from './interface';\nimport { enUS as defaultLocaleData } from '@antdv/locale';\nimport { computed, inject, unref } from 'vue';\n\nexport function useLocaleReceiver<T extends LocaleComponentName>(\n  componentName: T,\n  defaultLocale?: Locale[T] | Function | ComputedRef<Locale[T] | Function>,\n  propsLocale?: Ref<Locale[T]>,\n): [ComputedRef<Locale[T]>] {\n  const localeData = inject<LocaleReceiverContext>('localeData', {} as LocaleReceiverContext);\n  const componentLocale = computed<Locale[T]>(() => {\n    const { antLocale } = localeData;\n    const locale\n      = unref(defaultLocale) || defaultLocaleData[componentName || 'global'];\n    const localeFromContext = (componentName && antLocale) ? antLocale[componentName] : {};\n\n    return {\n      ...(typeof locale === 'function' ? (locale as Function)() : locale),\n      ...(localeFromContext || {}),\n      ...(unref(propsLocale) || {}),\n    };\n  });\n  return [componentLocale];\n}\n"],"names":["inject","computed","unref","defaultLocaleData"],"mappings":";;;;;;AAMgB,SAAA,iBAAA,CACd,aACA,EAAA,aAAA,EACA,WAC0B,EAAA;AAC1B,EAAA,MAAM,UAAa,GAAAA,UAAA,CAA8B,YAAc,EAAA,EAA2B,CAAA,CAAA;AAC1F,EAAM,MAAA,eAAA,GAAkBC,aAAoB,MAAM;AAChD,IAAM,MAAA,EAAE,WAAc,GAAA,UAAA,CAAA;AACtB,IAAA,MAAM,SACFC,SAAM,CAAA,aAAa,CAAK,IAAAC,aAAA,CAAkB,iBAAiB,QAAQ,CAAA,CAAA;AACvE,IAAA,MAAM,oBAAqB,aAAiB,IAAA,SAAA,GAAa,SAAU,CAAA,aAAa,IAAI,EAAC,CAAA;AAErF,IAAO,OAAA;AAAA,MACL,GAAI,OAAO,MAAW,KAAA,UAAA,GAAc,QAAwB,GAAA,MAAA;AAAA,MAC5D,GAAI,qBAAqB,EAAC;AAAA,MAC1B,GAAID,SAAA,CAAM,WAAW,CAAA,IAAK,EAAC;AAAA,KAC7B,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,OAAO,CAAC,eAAe,CAAA,CAAA;AACzB;;;;"}