UNPKG

@pisell/layout

Version:

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

49 lines (48 loc) 2.14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = require("react"); var _classnames = _interopRequireDefault(require("classnames")); var _lodashEs = require("lodash-es"); var _context = _interopRequireDefault(require("./common/context")); var _utils = require("./utils"); var _excluded = ["className", "size", "direction", "children", "style"]; /** * 间距 */ var Space = function Space(props) { var _classNames; var className = props.className, size = props.size, direction = props.direction, children = props.children, style = props.style, others = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded); var _useContext = (0, _react.useContext)(_context["default"]), prefix = _useContext.prefix; var clsPrefix = prefix + "space"; var isVertical = direction === 'ver'; var spaceCls = (0, _classnames["default"])(clsPrefix, (_classNames = {}, _classNames[clsPrefix + "--" + size] = (0, _utils.isPresetSize)(size), _classNames[clsPrefix + "--" + direction] = true, _classNames)); var newStyle = (0, _react.useMemo)(function () { var isCustomSize = (0, _lodashEs.isNumber)(size) || (0, _lodashEs.isString)(size) && size !== '' && !(0, _utils.isPresetSize)(size); return (0, _extends2["default"])({}, style, isCustomSize && direction === 'hoz' ? { height: (0, _utils.wrapUnit)(size) } : null, isCustomSize && direction === 'ver' ? { width: (0, _utils.wrapUnit)(size) } : null); }, [size, style, direction]); return /*#__PURE__*/(0, _react.createElement)(isVertical ? 'span' : 'div', (0, _extends2["default"])({}, others, { className: spaceCls, style: newStyle }), children); }; Space.displayName = 'Space'; Space.defaultProps = { size: 'medium', direction: 'hoz' }; var _default = Space; exports["default"] = _default;