import { TLanguage } from '@cainiaofe/cn-i18n'; import { CnLocalizationContextProps, CnLocalizationProviderProps, } from '@/types/localization-context'; import React, { createContext, useContext } from 'react'; export type { CnLocalizationContextProps }; export const CnLocalizationContext = createContext( window?.__CNUI_LOCALIZATION_CONFIG__ || {}, ); export function CnLocalizationProvider({ children, numAdapterLocale, dateAdapterLocale, }: CnLocalizationProviderProps) { return ( {children} ); } export function useLocalization(): CnLocalizationContextProps; export function useLocalization( type: 'numAdapterLocale' | 'dateAdapterLocale', adapterLocale?: boolean | TLanguage, ): boolean | TLanguage; export function useLocalization( type?: 'numAdapterLocale' | 'dateAdapterLocale', adapterLocale?: boolean | TLanguage, ) { const context = useContext(CnLocalizationContext) || {}; if (adapterLocale !== undefined) { return adapterLocale; } if (!type) { return context; } return context[type]; }