UNPKG

@i-novus/ui-core

Version:

Базовые UI компоненты

35 lines (34 loc) 1.16 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useContext, useMemo } from 'react'; export const DEFAULT_PREFIX = 'zireael'; export const DEFAULT_ICON_PREFIX = 'zireael-icon'; export const DEFAULT_ROOT = 'ROOT'; // Имя рутового класса для кита, куда вешаются рутовые стили const contextConfig = { locale: 'ru', prefix: DEFAULT_PREFIX, iconPrefix: DEFAULT_ICON_PREFIX, root: DEFAULT_ROOT, }; export const ConfigProviderContext = createContext(contextConfig); export const useConfigProvider = () => { const context = useContext(ConfigProviderContext); return { ...context, getPrefix: (prefix) => { if (prefix) { return prefix; } return context.prefix; }, }; }; export const ConfigProvider = (config) => { const { value, children } = config; const contextValue = useMemo(() => { return { ...contextConfig, ...value, }; }, [value]); return (_jsx(ConfigProviderContext.Provider, { value: contextValue, children: children })); };