UNPKG

@pisell/layout

Version:

基于 Fusion 设计系统的自然布局体系

38 lines (37 loc) 1.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _react = require("react"); var _classnames = _interopRequireDefault(require("classnames")); var _lodashEs = require("lodash-es"); var _context = _interopRequireDefault(require("../common/context")); // 通过判断容器 props 值,给容器设置class,由 class 控制容器 flex 样式 var useFlexClassNames = function useFlexClassNames(props) { var _classNames; var autoFit = props.autoFit, width = props.width, height = props.height, style = props.style; var _useContext = (0, _react.useContext)(_context["default"]), prefix = _useContext.prefix; var clsPrefix = prefix + "flex-item"; var validWidth = width || (style === null || style === void 0 ? void 0 : style.width); var validHeight = (0, _lodashEs.isNumber)(height) || (0, _lodashEs.isString)(height) && height !== '' ? height : undefined; var validMinHeight = style === null || style === void 0 ? void 0 : style.minHeight; var isDefault = false; var isAutoFit = false; var isValidWidth = false; var isValidHeight = false; if (autoFit) { isAutoFit = true; } else if (validHeight || validMinHeight || validWidth) { isValidHeight = validHeight || validMinHeight; isValidWidth = validWidth; } else { isDefault = true; } return (0, _classnames["default"])((_classNames = {}, _classNames[clsPrefix + "-default"] = isDefault, _classNames[clsPrefix + "-auto-fit"] = isAutoFit, _classNames[clsPrefix + "-valid-width"] = isValidWidth, _classNames[clsPrefix + "-valid-height"] = isValidHeight, _classNames)); }; var _default = useFlexClassNames; exports["default"] = _default;