UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

155 lines (122 loc) 6.3 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ConfigConsumer", { enumerable: true, get: function get() { return _context.ConfigConsumer; } }); Object.defineProperty(exports, "ConfigContext", { enumerable: true, get: function get() { return _context.ConfigContext; } }); exports["default"] = exports.configConsumerProps = void 0; var React = _interopRequireWildcard(require("react")); var _rcFieldForm = require("rc-field-form"); var _localeProvider = _interopRequireWildcard(require("../locale-provider")); var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver")); var _context = require("./context"); var _SizeContext = require("./SizeContext"); var _message = _interopRequireDefault(require("../message")); var _notification = _interopRequireDefault(require("../notification")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader']; exports.configConsumerProps = configConsumerProps; var ConfigProvider = function ConfigProvider(props) { React.useEffect(function () { if (props.direction) { _message["default"].config({ rtl: props.direction === 'rtl' }); _notification["default"].config({ rtl: props.direction === 'rtl' }); } }, [props.direction]); var getPrefixClsWrapper = function getPrefixClsWrapper(context) { return function (suffixCls, customizePrefixCls) { var prefixCls = props.prefixCls; if (customizePrefixCls) return customizePrefixCls; var mergedPrefixCls = prefixCls || context.getPrefixCls(''); return suffixCls ? "".concat(mergedPrefixCls, "-").concat(suffixCls) : mergedPrefixCls; }; }; var renderProvider = function renderProvider(context, legacyLocale) { var children = props.children, getTargetContainer = props.getTargetContainer, getPopupContainer = props.getPopupContainer, renderEmpty = props.renderEmpty, csp = props.csp, autoInsertSpaceInButton = props.autoInsertSpaceInButton, form = props.form, input = props.input, locale = props.locale, pageHeader = props.pageHeader, componentSize = props.componentSize, direction = props.direction, space = props.space, virtual = props.virtual, dropdownMatchSelectWidth = props.dropdownMatchSelectWidth; var config = _extends(_extends({}, context), { getPrefixCls: getPrefixClsWrapper(context), csp: csp, autoInsertSpaceInButton: autoInsertSpaceInButton, locale: locale || legacyLocale, direction: direction, space: space, virtual: virtual, dropdownMatchSelectWidth: dropdownMatchSelectWidth }); if (getTargetContainer) { config.getTargetContainer = getTargetContainer; } if (getPopupContainer) { config.getPopupContainer = getPopupContainer; } if (renderEmpty) { config.renderEmpty = renderEmpty; } if (pageHeader) { config.pageHeader = pageHeader; } if (input) { config.input = input; } var childNode = children; // Additional Form provider var validateMessages = {}; if (locale && locale.Form && locale.Form.defaultValidateMessages) { validateMessages = locale.Form.defaultValidateMessages; } if (form && form.validateMessages) { validateMessages = _extends(_extends({}, validateMessages), form.validateMessages); } if (Object.keys(validateMessages).length > 0) { childNode = /*#__PURE__*/React.createElement(_rcFieldForm.FormProvider, { validateMessages: validateMessages }, children); } return /*#__PURE__*/React.createElement(_SizeContext.SizeContextProvider, { size: componentSize }, /*#__PURE__*/React.createElement(_context.ConfigContext.Provider, { value: config }, /*#__PURE__*/React.createElement(_localeProvider["default"], { locale: locale || legacyLocale, _ANT_MARK__: _localeProvider.ANT_MARK }, childNode))); }; return /*#__PURE__*/React.createElement(_LocaleReceiver["default"], null, function (_, __, legacyLocale) { return /*#__PURE__*/React.createElement(_context.ConfigConsumer, null, function (context) { return renderProvider(context, legacyLocale); }); }); }; var _default = ConfigProvider; exports["default"] = _default;