{"version":3,"file":"locale.mjs","names":["computed","inject","provide","ref","createVuetifyAdapter","LocaleSymbol","Symbol","for","isLocaleInstance","obj","name","createLocale","options","i18n","adapter","rtl","createRtl","useLocale","locale","Error","provideLocale","props","provideRtl","data","RtlSymbol","genDefaults","af","ar","bg","ca","ckb","cs","de","el","en","es","et","fa","fi","fr","hr","hu","he","id","it","ja","km","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","isRtl","value","current","rtlClasses","useRtl"],"sources":["../../src/composables/locale.ts"],"sourcesContent":["// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { createVuetifyAdapter } from '@/locale/adapters/vuetify'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\n\nexport interface LocaleMessages {\n  [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n  messages?: LocaleMessages\n  locale?: string\n  fallback?: string\n  adapter?: LocaleInstance\n}\n\nexport interface LocaleInstance {\n  name: string\n  messages: Ref<LocaleMessages>\n  current: Ref<string>\n  fallback: Ref<string>\n  t: (key: string, ...params: unknown[]) => string\n  n: (value: number) => string\n  provide: (props: LocaleOptions) => LocaleInstance\n}\n\nexport const LocaleSymbol: InjectionKey<LocaleInstance & RtlInstance> = Symbol.for('vuetify:locale')\n\nfunction isLocaleInstance (obj: any): obj is LocaleInstance {\n  return obj.name != null\n}\n\nexport function createLocale (options?: LocaleOptions & RtlOptions) {\n  const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options)\n  const rtl = createRtl(i18n, options)\n\n  return { ...i18n, ...rtl }\n}\n\nexport function useLocale () {\n  const locale = inject(LocaleSymbol)\n\n  if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n  return locale\n}\n\nexport function provideLocale (props: LocaleOptions & RtlProps) {\n  const locale = inject(LocaleSymbol)\n\n  if (!locale) throw new Error('[Vuetify] Could not find injected locale instance')\n\n  const i18n = locale.provide(props)\n  const rtl = provideRtl(i18n, locale.rtl, props)\n\n  const data = { ...i18n, ...rtl }\n\n  provide(LocaleSymbol, data)\n\n  return data\n}\n\n// RTL\n\nexport interface RtlOptions {\n  rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n  rtl?: boolean\n}\n\nexport interface RtlInstance {\n  isRtl: Ref<boolean>\n  rtl: Ref<Record<string, boolean>>\n  rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nfunction genDefaults () {\n  return {\n    af: false,\n    ar: true,\n    bg: false,\n    ca: false,\n    ckb: false,\n    cs: false,\n    de: false,\n    el: false,\n    en: false,\n    es: false,\n    et: false,\n    fa: true,\n    fi: false,\n    fr: false,\n    hr: false,\n    hu: false,\n    he: true,\n    id: false,\n    it: false,\n    ja: false,\n    km: false,\n    ko: false,\n    lv: false,\n    lt: false,\n    nl: false,\n    no: false,\n    pl: false,\n    pt: false,\n    ro: false,\n    ru: false,\n    sk: false,\n    sl: false,\n    srCyrl: false,\n    srLatn: false,\n    sv: false,\n    th: false,\n    tr: false,\n    az: false,\n    uk: false,\n    vi: false,\n    zhHans: false,\n    zhHant: false,\n  }\n}\n\nexport function createRtl (i18n: LocaleInstance, options?: RtlOptions): RtlInstance {\n  const rtl = ref<Record<string, boolean>>(options?.rtl ?? genDefaults())\n  const isRtl = computed(() => rtl.value[i18n.current.value] ?? false)\n\n  return {\n    isRtl,\n    rtl,\n    rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n  }\n}\n\nexport function provideRtl (locale: LocaleInstance, rtl: RtlInstance['rtl'], props: RtlProps): RtlInstance {\n  const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false)\n\n  return {\n    isRtl,\n    rtl,\n    rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n  }\n}\n\nexport function useRtl () {\n  const locale = inject(LocaleSymbol)\n\n  if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n  return { isRtl: locale.isRtl, rtlClasses: locale.rtlClasses }\n}\n"],"mappings":"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","ignoreList":[]}