UNPKG

shineout

Version:

Shein 前端组件库

82 lines (61 loc) 2.52 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _events = _interopRequireDefault(require("./events")); var _Image = require("./Image"); var _styles = require("./styles"); var Group = /*#__PURE__*/ function (_PureComponent) { (0, _inheritsLoose2.default)(Group, _PureComponent); function Group() { return _PureComponent.apply(this, arguments) || this; } var _proto = Group.prototype; _proto.handleClick = function handleClick(index) { var children = this.props.children; var images = []; var current = 0; _react.Children.toArray(children).forEach(function (child, i) { if (child && child.type && child.type.symbolType === _Image.IMAGE) { if (index === i) current = images.length; var _child$props = child.props, src = _child$props.src, href = _child$props.href; images.push({ thumb: src, src: href || src, key: i }); } }); (0, _events.default)(images, current); }; _proto.render = function render() { var _this = this; var _this$props = this.props, children = _this$props.children, pile = _this$props.pile, style = _this$props.style, props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children", "pile", "style"]); return _react.default.createElement("div", { className: (0, _styles.imageClass)('group', pile && 'pile'), style: style }, _react.Children.toArray(this.props.children).map(function (child, i) { return (0, _react.cloneElement)(child, (0, _objectSpread2.default)({}, props, { onClick: _this.handleClick.bind(_this, i) })); })); }; return Group; }(_react.PureComponent); (0, _defineProperty2.default)(Group, "displayName", void 0); var _default = Group; exports.default = _default;