UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

18 lines (17 loc) 1.28 kB
import { TranslationFlatToObject, TranslationObjectToFlat } from '../../../shared/Context'; import { AdditionalReturnUtils } from '../../../shared/useTranslation'; import { DeepPartial } from '../../../shared/types'; import formsLocales from '../constants/locales'; export type FormsTranslationDefaultLocales = typeof formsLocales; export type FormsTranslationLocale = keyof FormsTranslationDefaultLocales; export type FormsTranslationKeys = keyof FormsTranslationDefaultLocales[FormsTranslationLocale]; export type FormsTranslationValues = FormsTranslationDefaultLocales[FormsTranslationLocale]; export type FormsTranslation = DeepPartial<FormsTranslationDefaultLocales[FormsTranslationLocale]>; export type FormsTranslationFlat = TranslationObjectToFlat<FormsTranslation>; type CustomLocales = Partial<Record<FormsTranslationLocale, FormsTranslation>>; export type UseTranslationArgs<T = FormsTranslation> = { messages?: FormsTranslation | CustomLocales | Record<FormsTranslationLocale, T>; fallbackLocale?: FormsTranslationLocale; }; export default function useTranslation<T = FormsTranslation>(messagesOrArgs?: UseTranslationArgs<T> | FormsTranslation | CustomLocales | Record<FormsTranslationLocale, T>): TranslationFlatToObject<T> & AdditionalReturnUtils; export {};