{"version":3,"file":"useI18n.mjs","sources":["../../../../src/composables/useI18n.ts"],"sourcesContent":["import { useGlobalConfig } from '../services/global-config'\nimport { computed } from 'vue'\nimport type { I18nConfig } from '../services/i18n'\n\n// Composable for users, not for inner development\n// Name it as useI18nConfig to avoid confusion with useI18n from `vue-i18n`\n\n/**\n * @see https://vuestic.dev/en/services/i18n\n *\n * Composable, that allows user to redefine text values used in Vuestic components.\n *\n * @example\n *\n * Use `mergeIntoConfig` if your i18n locale changed to change text values inside Vuestic components.\n *\n * ```js\n * import { useI18nConfig } from 'vuestic-ui'\n * import { useI18n } from 'vue-i18n'\n *\n * const { locale, messages } = useI18n()\n * const { mergeIntoConfig } = useI18nConfig()\n *\n * watch(locale, (newLocale) => {\n *  mergeIntoConfig(messages[newLocale])\n * })\n * ```\n */\nexport const useI18nConfig = () => {\n  const { globalConfig, mergeGlobalConfig } = useGlobalConfig()\n\n  const config = computed(() => globalConfig.value.i18n)\n\n  const mergeIntoConfig = (newConfig: Partial<I18nConfig>) => {\n    mergeGlobalConfig({\n      i18n: {\n        ...config.value,\n        ...newConfig,\n      },\n    })\n  }\n\n  return {\n    config,\n    mergeIntoConfig,\n  }\n}\n"],"names":[],"mappings":";;AA4BO,MAAM,gBAAgB,MAAM;AACjC,QAAM,EAAE,cAAc,kBAAkB,IAAI,gBAAgB;AAE5D,QAAM,SAAS,SAAS,MAAM,aAAa,MAAM,IAAI;AAE/C,QAAA,kBAAkB,CAAC,cAAmC;AACxC,sBAAA;AAAA,MAChB,MAAM;AAAA,QACJ,GAAG,OAAO;AAAA,QACV,GAAG;AAAA,MACL;AAAA,IAAA,CACD;AAAA,EAAA;AAGI,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;"}