choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
72 lines (54 loc) • 2.79 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _noop = _interopRequireDefault(require("lodash/noop"));
var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
var _excluded = ["prefixCls", "className", "selected", "onSelectChange", "cornerPlacement"];
var Grid = function Grid(props) {
var _useState = (0, _react.useState)('xl'),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
size = _useState2[0],
setSize = _useState2[1];
var gridRef = (0, _react.useRef)(null);
(0, _react.useEffect)(function () {
if (gridRef && gridRef.current && gridRef.current.offsetHeight <= 50) {
setSize('xs');
}
}, []);
var customizePrefixCls = props.prefixCls,
className = props.className,
selected = props.selected,
_props$onSelectChange = props.onSelectChange,
onSelectChange = _props$onSelectChange === void 0 ? _noop["default"] : _props$onSelectChange,
cornerPlacement = props.cornerPlacement,
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
var _useContext = (0, _react.useContext)(_ConfigContext["default"]),
getPrefixCls = _useContext.getPrefixCls;
var prefixCls = getPrefixCls('card', customizePrefixCls);
var selectedPrefixCls = "".concat(prefixCls, "-grid-selected");
var classString = (0, _classnames["default"])("".concat(prefixCls, "-grid"), className, (0, _defineProperty2["default"])({}, "".concat(selectedPrefixCls, " ").concat(selectedPrefixCls, "-").concat(cornerPlacement, " ").concat(selectedPrefixCls, "-").concat(size), selected));
return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, others, {
className: classString,
ref: gridRef,
onClick: function onClick() {
return onSelectChange(!selected);
}
}));
};
Grid.displayName = 'CardGrid';
Grid.defaultProps = {
cornerPlacement: 'bottomRight'
};
var _default = Grid;
exports["default"] = _default;
//# sourceMappingURL=Grid.js.map
;