fomantic-ui-react
Version:
Fomantic-UI React -- A React Component Library.
52 lines (43 loc) • 2.45 kB
JavaScript
/**
* fomantic-ui-react v0.0.1-alpha.10
* (c) 2022 FireLoong <fireloong@foxmail.com>
* @license MIT
*/
import { _ as _defineProperty, a as _objectWithoutProperties } from '../_chunks/dep-9f1126c1.js';
import React, { useRef, useMemo, Children, isValidElement, createElement } from 'react';
import Transition from './Transition.js';
import '../_chunks/dep-dc9b74a1.js';
import 'classnames';
import 'lodash';
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(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(_ref, _excluded);
var childRefs = useRef();
return useMemo(function () {
var childrenToRender = Children.map(children, function (child) {
if ( /*#__PURE__*/isValidElement(child)) {
return /* @__PURE__ */React.createElement(Transition, _objectSpread({
ref: childRefs,
as: child.type,
key: child.key
}, child.props));
}
});
return /*#__PURE__*/createElement(as, _objectSpread({
className: className
}, props), childrenToRender);
}, [children]);
};
TransitionGroup.displayName = "TransitionGroup";
export { TransitionGroup as default };
//# sourceMappingURL=TransitionGroup.js.map