UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

40 lines (39 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useMergedMask = exports.normalizeMaskConfig = void 0; var _react = require("react"); const normalizeMaskConfig = (mask, maskClosable) => { let maskConfig = {}; if (mask && typeof mask === 'object') { maskConfig = mask; } if (typeof mask === 'boolean') { maskConfig = { enabled: mask }; } if (maskConfig.closable === undefined && maskClosable !== undefined) { maskConfig.closable = maskClosable; } return maskConfig; }; exports.normalizeMaskConfig = normalizeMaskConfig; const useMergedMask = (mask, contextMask, prefixCls, maskClosable) => { return (0, _react.useMemo)(() => { const maskConfig = normalizeMaskConfig(mask, maskClosable); const contextMaskConfig = normalizeMaskConfig(contextMask); const mergedConfig = { blur: false, ...contextMaskConfig, ...maskConfig, closable: maskConfig.closable ?? maskClosable ?? contextMaskConfig.closable ?? true }; const className = mergedConfig.blur ? `${prefixCls}-mask-blur` : undefined; return [mergedConfig.enabled !== false, { mask: className }, !!mergedConfig.closable]; }, [mask, contextMask, prefixCls, maskClosable]); }; exports.useMergedMask = useMergedMask;