UNPKG

@react-awesome-query-builder/antd

Version:
47 lines (45 loc) 2.57 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Provider = void 0; var _react = _interopRequireDefault(require("react")); var _antd = require("antd"); var _CssVarsProvider = require("./CssVarsProvider"); var _theming = require("../../utils/theming"); var Provider = exports.Provider = function Provider(_ref) { var _config$settings$them, _config$settings$loca, _config$settings$desi; var config = _ref.config, children = _ref.children; var themeMode = config.settings.themeMode; var darkMode = themeMode === "dark"; var compactMode = !!config.settings.compactMode; var themeConfig = (_config$settings$them = config.settings.theme) === null || _config$settings$them === void 0 ? void 0 : _config$settings$them.antd; var localeConfig = (_config$settings$loca = config.settings.locale) === null || _config$settings$loca === void 0 ? void 0 : _config$settings$loca.antd; var canCreateAlgorithms = darkMode || compactMode; var canCreateTheme = !!themeConfig || localeConfig || canCreateAlgorithms; var _antdTheme$useToken = _antd.theme.useToken(), existingOuterToken = _antdTheme$useToken.token, existingTheme = _antdTheme$useToken.theme; var existingToken = (_config$settings$desi = config.settings.designSettings) !== null && _config$settings$desi !== void 0 && _config$settings$desi.canInheritThemeFromOuterProvider ? existingOuterToken : undefined; var _React$useMemo = _react["default"].useMemo(function () { return (0, _theming.buildAlgorithms)(darkMode, compactMode); }, [darkMode, compactMode]), algorithms = _React$useMemo.algorithms; var customThemeConfig = _react["default"].useMemo(function () { return canCreateTheme ? (0, _theming.mergeThemes)(themeMode, existingToken, themeConfig, algorithms) : undefined; }, [algorithms, themeConfig, existingTheme.id, themeMode, canCreateTheme]); var withCssVarsProvider = /*#__PURE__*/_react["default"].createElement(_CssVarsProvider.CssVarsProvider, { config: config }, children); // https://ant.design/components/config-provider var withTheme = canCreateTheme ? /*#__PURE__*/ // @ts-ignore error TS2786: 'ConfigProvider' cannot be used as a JSX component. Its return type 'ReactNode | Promise<ReactNode>' is not a valid JSX element. _react["default"].createElement(_antd.ConfigProvider, { locale: localeConfig, theme: customThemeConfig }, withCssVarsProvider) : withCssVarsProvider; return withTheme; };