fomantic-ui-react
Version:
Fomantic-UI React -- A React Component Library.
110 lines (88 loc) • 4.47 kB
JavaScript
/**
* fomantic-ui-react v0.0.1-alpha.10
* (c) 2022 FireLoong <fireloong@foxmail.com>
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../_chunks/dep-6ab59a61.js');
var slicedToArray = require('../_chunks/dep-640599ea.js');
var objectWithoutProperties = require('../_chunks/dep-03754121.js');
var React = require('react');
var transition_index = require('./index.js');
var _ = require('lodash');
require('./Transition.js');
require('classnames');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
var _excluded = ["as", "animation", "duration", "className", "children"];
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty._defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var TransitionGroup = function TransitionGroup(_ref) {
var _ref$as = _ref.as,
as = _ref$as === void 0 ? "div" : _ref$as,
_ref$animation = _ref.animation,
animation = _ref$animation === void 0 ? "fade" : _ref$animation,
_ref$duration = _ref.duration,
duration = _ref$duration === void 0 ? 500 : _ref$duration,
className = _ref.className,
children = _ref.children,
props = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
var _useState = React.useState(children),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
preChildren = _useState2[0],
setPreChildren = _useState2[1];
var _useState3 = React.useState(React.Children.count(preChildren)),
_useState4 = slicedToArray._slicedToArray(_useState3, 2),
count = _useState4[0],
setCount = _useState4[1];
React.useEffect(function () {
if (count !== React.Children.count(children)) {
setPreChildren(children);
setCount(React.Children.count(children));
}
});
if (children) {
if (count <= React.Children.count(children)) {
children = React.Children.map(children, function (child) {
if ( /*#__PURE__*/React.isValidElement(child)) {
var visibleCurrent = true;
if (count < React.Children.count(children) && ___default["default"].last(___default["default"].toArray(children)) === child) {
visibleCurrent = false;
}
return /* @__PURE__ */React__default["default"].createElement(transition_index.Transition, _objectSpread({
key: child.key,
as: child.type,
animation: animation,
duration: duration,
visible: visibleCurrent
}, child.props));
}
});
} else {
children = React.Children.map(preChildren, function (child) {
if ( /*#__PURE__*/React.isValidElement(child)) {
var visibleCurrent = true;
if (count > React.Children.count(children) && ___default["default"].last(___default["default"].toArray(preChildren)) === child) {
visibleCurrent = false;
}
return /* @__PURE__ */React__default["default"].createElement(transition_index.Transition, _objectSpread({
key: child.key,
as: child.type,
animation: animation,
duration: duration,
visible: visibleCurrent
}, child.props));
}
});
}
console.log(children);
}
return /*#__PURE__*/React.createElement(as, _objectSpread({
className: className
}, props), children);
};
TransitionGroup.displayName = "TransitionGroup";
exports["default"] = TransitionGroup;
//# sourceMappingURL=TransitionGroup copy.js.map