UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

50 lines (45 loc) 2.16 kB
import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import React, { memo, useContext, useMemo } from 'react'; import { getContext, Symbols } from 'choerodon-ui/shared'; import ConfigContext from '../../../es/config-provider/ConfigContext'; import { getConfig, getCustomizable, getPrefixCls, getProPrefixCls } from '../../../es/configure/utils'; import { getTooltip, getTooltipTheme, getTooltipPlacement } from '../../../es/_util/TooltipUtils'; var FormContext = getContext(Symbols.ProFormContext, { getConfig: getConfig, getPrefixCls: getPrefixCls, getProPrefixCls: getProPrefixCls, getCustomizable: getCustomizable, getTooltip: getTooltip, getTooltipTheme: getTooltipTheme, getTooltipPlacement: getTooltipPlacement }); var BaseFormProvider = function FormProvider(props) { var children = props.children, value = props.value; var _useContext = useContext(ConfigContext), getGlobalConfig = _useContext.getConfig, getGlobalPrefixCls = _useContext.getPrefixCls, getGlobalProPrefixCls = _useContext.getProPrefixCls, getGlobalCustomizable = _useContext.getCustomizable, getGlobalTooltip = _useContext.getTooltip, getGlobalTooltipTheme = _useContext.getTooltipTheme, getGlobalTooltipPlacement = _useContext.getTooltipPlacement; var newValue = useMemo(function () { return _objectSpread(_objectSpread({}, value), {}, { getConfig: getGlobalConfig, getPrefixCls: getGlobalPrefixCls, getProPrefixCls: getGlobalProPrefixCls, getCustomizable: getGlobalCustomizable, getTooltip: getGlobalTooltip, getTooltipTheme: getGlobalTooltipTheme, getTooltipPlacement: getGlobalTooltipPlacement }); }, [value, getGlobalConfig, getGlobalPrefixCls, getGlobalProPrefixCls, getGlobalCustomizable, getGlobalTooltip, getGlobalTooltipTheme, getGlobalTooltipPlacement]); return /*#__PURE__*/React.createElement(FormContext.Provider, { value: newValue }, children); }; BaseFormProvider.displayName = 'FormProvider'; export var FormProvider = /*#__PURE__*/memo(BaseFormProvider); export default FormContext; //# sourceMappingURL=FormContext.js.map