react-smooth-collapse
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -53,2 +53,3 @@ 'use strict'; | ||
hasExpandedBefore: props.expanded, | ||
fullyClosed: !props.expanded, | ||
height: props.expanded ? 'auto' : '0px' | ||
@@ -72,7 +73,9 @@ }; | ||
// If this element starts out collapsed, then its children are rendered. | ||
// In order to expand, we need to know the height of the children, so we | ||
// need to setState first so they get rendered before we continue. | ||
var afterContentExists = function afterContentExists() { | ||
this.setState({ | ||
fullyClosed: false, | ||
hasExpandedBefore: true | ||
}, function () { | ||
// Set the collapser to the target height instead of auto so that it | ||
@@ -95,11 +98,3 @@ // animates correctly. Then switch it to 'auto' after the animation so | ||
}); | ||
}; | ||
if (!this.state.hasExpandedBefore) { | ||
this.setState({ | ||
hasExpandedBefore: true | ||
}, afterContentExists); | ||
} else { | ||
afterContentExists(); | ||
} | ||
}); | ||
} else if (this.props.expanded && !nextProps.expanded) { | ||
@@ -117,2 +112,5 @@ this._resetter.emit(null); | ||
_kefir2.default.fromEvents(_this2.refs.main, 'transitionend').takeUntilBy(_this2._resetter).take(1).onValue(function () { | ||
_this2.setState({ | ||
fullyClosed: true | ||
}); | ||
if (_this2.props.onChangeEnd) { | ||
@@ -130,2 +128,3 @@ _this2.props.onChangeEnd(); | ||
var height = _state.height; | ||
var fullyClosed = _state.fullyClosed; | ||
var hasExpandedBefore = _state.hasExpandedBefore; | ||
@@ -145,2 +144,3 @@ | ||
height: height, overflow: 'hidden', | ||
display: fullyClosed ? 'none' : null, | ||
transition: 'height ' + this.props.heightTransition | ||
@@ -166,2 +166,2 @@ } | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,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UixvQ0FBc0IsS0FBSyxLQUFMLENBQVcsZ0JBQVg7V0FGeEI7U0FGRjtRQU9HLE9BUEg7T0FERixDQVJPOzs7U0F0RlU7RUFBdUIsZ0JBQU0sU0FBTjs7QUFBdkIsZUFJWixZQUFZO0FBQ2pCLFlBQVUsaUJBQVUsSUFBVixDQUFlLFVBQWY7QUFDVixlQUFhLGlCQUFVLElBQVY7QUFDYixvQkFBa0IsaUJBQVUsTUFBVjs7QUFQRCxlQVNaLGVBQTZCO0FBQ2xDLG9CQUFrQixXQUFsQjs7a0JBVmlCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgS2VmaXIgZnJvbSAna2VmaXInO1xuaW1wb3J0IGtlZmlyQnVzIGZyb20gJ2tlZmlyLWJ1cyc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGV4cGFuZGVkOiBib29sZWFuO1xuICBvbkNoYW5nZUVuZD86ID8oKSA9PiB2b2lkO1xuICBoZWlnaHRUcmFuc2l0aW9uOiBzdHJpbmc7XG59O1xudHlwZSBTdGF0ZSA9IHtcbiAgaGFzRXhwYW5kZWRCZWZvcmU6IGJvb2xlYW47XG4gIGhlaWdodDogc3RyaW5nO1xufTtcbnR5cGUgRGVmYXVsdFByb3BzID0ge1xuICBoZWlnaHRUcmFuc2l0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbW9vdGhDb2xsYXBzZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIF9yZXNldHRlcjogT2JqZWN0ID0ga2VmaXJCdXMoKTtcbiAgcHJvcHM6IFByb3BzO1xuICBzdGF0ZTogU3RhdGU7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VFbmQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGhlaWdodFRyYW5zaXRpb246IFByb3BUeXBlcy5zdHJpbmdcbiAgfTtcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogRGVmYXVsdFByb3BzID0ge1xuICAgIGhlaWdodFRyYW5zaXRpb246ICcuMjVzIGVhc2UnXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBoYXNFeHBhbmRlZEJlZm9yZTogcHJvcHMuZXhwYW5kZWQsXG4gICAgICBoZWlnaHQ6IHByb3BzLmV4cGFuZGVkID8gJ2F1dG8nIDogJzBweCdcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fcmVzZXR0ZXIuZW1pdChudWxsKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzOiBQcm9wcykge1xuICAgIGlmICghdGhpcy5wcm9wcy5leHBhbmRlZCAmJiBuZXh0UHJvcHMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuX3Jlc2V0dGVyLmVtaXQobnVsbCk7XG5cbiAgICAgIC8vIElmIHRoaXMgZWxlbWVudCBzdGFydHMgb3V0IGNvbGxhcHNlZCwgdGhlbiBpdHMgY2hpbGRyZW4gYXJlIHJlbmRlcmVkLlxuICAgICAgLy8gSW4gb3JkZXIgdG8gZXhwYW5kLCB3ZSBuZWVkIHRvIGtub3cgdGhlIGhlaWdodCBvZiB0aGUgY2hpbGRyZW4sIHNvIHdlXG4gICAgICAvLyBuZWVkIHRvIHNldFN0YXRlIGZpcnN0IHNvIHRoZXkgZ2V0IHJlbmRlcmVkIGJlZm9yZSB3ZSBjb250aW51ZS5cblxuICAgICAgY29uc3QgYWZ0ZXJDb250ZW50RXhpc3RzID0gKCkgPT4ge1xuICAgICAgICAvLyBTZXQgdGhlIGNvbGxhcHNlciB0byB0aGUgdGFyZ2V0IGhlaWdodCBpbnN0ZWFkIG9mIGF1dG8gc28gdGhhdCBpdFxuICAgICAgICAvLyBhbmltYXRlcyBjb3JyZWN0bHkuIFRoZW4gc3dpdGNoIGl0IHRvICdhdXRvJyBhZnRlciB0aGUgYW5pbWF0aW9uIHNvXG4gICAgICAgIC8vIHRoYXQgaXQgZmxvd3MgY29ycmVjdGx5IGlmIHRoZSBwYWdlIGlzIHJlc2l6ZWQuXG4gICAgICAgIGNvbnN0IHRhcmdldEhlaWdodCA9IGAke3RoaXMucmVmcy5pbm5lci5jbGllbnRIZWlnaHR9cHhgO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBoZWlnaHQ6IHRhcmdldEhlaWdodFxuICAgICAgICB9KTtcblxuICAgICAgICBLZWZpci5mcm9tRXZlbnRzKHRoaXMucmVmcy5tYWluLCAndHJhbnNpdGlvbmVuZCcpXG4gICAgICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0dGVyKVxuICAgICAgICAgIC50YWtlKDEpXG4gICAgICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nXG4gICAgICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZUVuZCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIGlmICghdGhpcy5zdGF0ZS5oYXNFeHBhbmRlZEJlZm9yZSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBoYXNFeHBhbmRlZEJlZm9yZTogdHJ1ZVxuICAgICAgICB9LCBhZnRlckNvbnRlbnRFeGlzdHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWZ0ZXJDb250ZW50RXhpc3RzKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmV4cGFuZGVkICYmICFuZXh0UHJvcHMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuX3Jlc2V0dGVyLmVtaXQobnVsbCk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBoZWlnaHQ6IGAke3RoaXMucmVmcy5pbm5lci5jbGllbnRIZWlnaHR9cHhgXG4gICAgICB9LCAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcy5tYWluLmNsaWVudEhlaWdodDsgLy8gZm9yY2UgdGhlIHBhZ2UgbGF5b3V0XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGhlaWdodDogJzBweCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgS2VmaXIuZnJvbUV2ZW50cyh0aGlzLnJlZnMubWFpbiwgJ3RyYW5zaXRpb25lbmQnKVxuICAgICAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldHRlcilcbiAgICAgICAgICAudGFrZSgxKVxuICAgICAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlRW5kKSB7XG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub25DaGFuZ2VFbmQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7aGVpZ2h0LCBoYXNFeHBhbmRlZEJlZm9yZX0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGlubmVyRWwgPSBoYXNFeHBhbmRlZEJlZm9yZSA/XG4gICAgICA8ZGl2IHJlZj1cImlubmVyXCI+XG4gICAgICAgIHsgKHRoaXMucHJvcHM6YW55KS5jaGlsZHJlbiB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDogbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHJlZj1cIm1haW5cIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGhlaWdodCwgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgIHRyYW5zaXRpb246IGBoZWlnaHQgJHt0aGlzLnByb3BzLmhlaWdodFRyYW5zaXRpb259YFxuICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgIHtpbm5lckVsfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,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QUNSLHFCQUFTLGNBQWMsTUFBZCxHQUFzQixJQUF0QjtBQUNULG9DQUFzQixLQUFLLEtBQUwsQ0FBVyxnQkFBWDtXQUh4QjtTQUZGO1FBUUcsT0FSSDtPQURGLENBUk87OztTQXJGVTtFQUF1QixnQkFBTSxTQUFOOztBQUF2QixlQUlaLFlBQVk7QUFDakIsWUFBVSxpQkFBVSxJQUFWLENBQWUsVUFBZjtBQUNWLGVBQWEsaUJBQVUsSUFBVjtBQUNiLG9CQUFrQixpQkFBVSxNQUFWOztBQVBELGVBU1osZUFBNkI7QUFDbEMsb0JBQWtCLFdBQWxCOztrQkFWaUIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBLZWZpciBmcm9tICdrZWZpcic7XG5pbXBvcnQga2VmaXJCdXMgZnJvbSAna2VmaXItYnVzJztcblxudHlwZSBQcm9wcyA9IHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIG9uQ2hhbmdlRW5kPzogPygpID0+IHZvaWQ7XG4gIGhlaWdodFRyYW5zaXRpb246IHN0cmluZztcbn07XG50eXBlIFN0YXRlID0ge1xuICBoYXNFeHBhbmRlZEJlZm9yZTogYm9vbGVhbjtcbiAgZnVsbHlDbG9zZWQ6IGJvb2xlYW47XG4gIGhlaWdodDogc3RyaW5nO1xufTtcbnR5cGUgRGVmYXVsdFByb3BzID0ge1xuICBoZWlnaHRUcmFuc2l0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbW9vdGhDb2xsYXBzZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIF9yZXNldHRlcjogT2JqZWN0ID0ga2VmaXJCdXMoKTtcbiAgcHJvcHM6IFByb3BzO1xuICBzdGF0ZTogU3RhdGU7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VFbmQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGhlaWdodFRyYW5zaXRpb246IFByb3BUeXBlcy5zdHJpbmdcbiAgfTtcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogRGVmYXVsdFByb3BzID0ge1xuICAgIGhlaWdodFRyYW5zaXRpb246ICcuMjVzIGVhc2UnXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBoYXNFeHBhbmRlZEJlZm9yZTogcHJvcHMuZXhwYW5kZWQsXG4gICAgICBmdWxseUNsb3NlZDogIXByb3BzLmV4cGFuZGVkLFxuICAgICAgaGVpZ2h0OiBwcm9wcy5leHBhbmRlZCA/ICdhdXRvJyA6ICcwcHgnXG4gICAgfTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3Jlc2V0dGVyLmVtaXQobnVsbCk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wczogUHJvcHMpIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuZXhwYW5kZWQgJiYgbmV4dFByb3BzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9yZXNldHRlci5lbWl0KG51bGwpO1xuXG4gICAgICAvLyBJbiBvcmRlciB0byBleHBhbmQsIHdlIG5lZWQgdG8ga25vdyB0aGUgaGVpZ2h0IG9mIHRoZSBjaGlsZHJlbiwgc28gd2VcbiAgICAgIC8vIG5lZWQgdG8gc2V0U3RhdGUgZmlyc3Qgc28gdGhleSBnZXQgcmVuZGVyZWQgYmVmb3JlIHdlIGNvbnRpbnVlLlxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZnVsbHlDbG9zZWQ6IGZhbHNlLFxuICAgICAgICBoYXNFeHBhbmRlZEJlZm9yZTogdHJ1ZVxuICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAvLyBTZXQgdGhlIGNvbGxhcHNlciB0byB0aGUgdGFyZ2V0IGhlaWdodCBpbnN0ZWFkIG9mIGF1dG8gc28gdGhhdCBpdFxuICAgICAgICAvLyBhbmltYXRlcyBjb3JyZWN0bHkuIFRoZW4gc3dpdGNoIGl0IHRvICdhdXRvJyBhZnRlciB0aGUgYW5pbWF0aW9uIHNvXG4gICAgICAgIC8vIHRoYXQgaXQgZmxvd3MgY29ycmVjdGx5IGlmIHRoZSBwYWdlIGlzIHJlc2l6ZWQuXG4gICAgICAgIGNvbnN0IHRhcmdldEhlaWdodCA9IGAke3RoaXMucmVmcy5pbm5lci5jbGllbnRIZWlnaHR9cHhgO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBoZWlnaHQ6IHRhcmdldEhlaWdodFxuICAgICAgICB9KTtcblxuICAgICAgICBLZWZpci5mcm9tRXZlbnRzKHRoaXMucmVmcy5tYWluLCAndHJhbnNpdGlvbmVuZCcpXG4gICAgICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3Jlc2V0dGVyKVxuICAgICAgICAgIC50YWtlKDEpXG4gICAgICAgICAgLm9uVmFsdWUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nXG4gICAgICAgICAgICB9LCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkNoYW5nZUVuZCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmV4cGFuZGVkICYmICFuZXh0UHJvcHMuZXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuX3Jlc2V0dGVyLmVtaXQobnVsbCk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBoZWlnaHQ6IGAke3RoaXMucmVmcy5pbm5lci5jbGllbnRIZWlnaHR9cHhgXG4gICAgICB9LCAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcy5tYWluLmNsaWVudEhlaWdodDsgLy8gZm9yY2UgdGhlIHBhZ2UgbGF5b3V0XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIGhlaWdodDogJzBweCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgS2VmaXIuZnJvbUV2ZW50cyh0aGlzLnJlZnMubWFpbiwgJ3RyYW5zaXRpb25lbmQnKVxuICAgICAgICAgIC50YWtlVW50aWxCeSh0aGlzLl9yZXNldHRlcilcbiAgICAgICAgICAudGFrZSgxKVxuICAgICAgICAgIC5vblZhbHVlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICBmdWxseUNsb3NlZDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkNoYW5nZUVuZCkge1xuICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlRW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2hlaWdodCwgZnVsbHlDbG9zZWQsIGhhc0V4cGFuZGVkQmVmb3JlfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgaW5uZXJFbCA9IGhhc0V4cGFuZGVkQmVmb3JlID9cbiAgICAgIDxkaXYgcmVmPVwiaW5uZXJcIj5cbiAgICAgICAgeyAodGhpcy5wcm9wczphbnkpLmNoaWxkcmVuIH1cbiAgICAgIDwvZGl2PlxuICAgICAgOiBudWxsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPVwibWFpblwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgaGVpZ2h0LCBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgZGlzcGxheTogZnVsbHlDbG9zZWQgPyAnbm9uZSc6IG51bGwsXG4gICAgICAgICAgdHJhbnNpdGlvbjogYGhlaWdodCAke3RoaXMucHJvcHMuaGVpZ2h0VHJhbnNpdGlvbn1gXG4gICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAge2lubmVyRWx9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG4iXX0= |
{ | ||
"name": "react-smooth-collapse", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "React component for animating showing or hiding an element.", | ||
@@ -5,0 +5,0 @@ "main": "js/index.js", |
@@ -32,2 +32,22 @@ # react-smooth-collapse | ||
**Q:** Why would I use this when I could set a transition rule for height on an | ||
element, and then change the height from "auto" to "0"? | ||
**A:** You can't animate from "auto". This component has the height set to | ||
"auto" while the element is expanded, and when the element is set to collapse, | ||
the element's height is set to equal its current height, and then set to "0" so | ||
that it animates shrinking correctly. | ||
**Q:** Couldn't I animate shrinking by setting a transition rule for | ||
max-height, setting max-height to a very large value when the element is | ||
expanded, and then set max-height to "0" when the element is collapsed? | ||
**A:** That won't animate with the given duration and won't fully respect your | ||
timing function. For example, if you have an element that currently has a | ||
height of 100px, a max-height of 10000px, and a transition rule of "max-height | ||
1s linear", then it will take 0.99 seconds before the element appears to start | ||
shrinking, and then it will fully shrink in 0.01 seconds. If you use a timing | ||
function like "ease" instead of "linear", then the easing will only be apparent | ||
while the element finishes shrinking to 0 or begins expanding from 0. | ||
## SmoothCollapse | ||
@@ -34,0 +54,0 @@ |
Sorry, the diff of this file is not supported yet
23002
134
81