@lumx/react 3.13.3-alpha.1 → 3.13.3-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js
CHANGED
|
@@ -523,7 +523,6 @@ const CSS_PREFIX = 'lumx';
|
|
|
523
523
|
* you need to update their scss counterpart as well
|
|
524
524
|
*/
|
|
525
525
|
const DIALOG_TRANSITION_DURATION = 400;
|
|
526
|
-
const EXPANSION_PANEL_TRANSITION_DURATION = 400;
|
|
527
526
|
const NOTIFICATION_TRANSITION_DURATION = 200;
|
|
528
527
|
|
|
529
528
|
/**
|
|
@@ -7157,13 +7156,13 @@ const ExpansionPanel = forwardRef((props, ref) => {
|
|
|
7157
7156
|
}, label);
|
|
7158
7157
|
const toggleOpen = event => {
|
|
7159
7158
|
const shouldOpen = !isOpen;
|
|
7160
|
-
if (
|
|
7159
|
+
if (onOpen && shouldOpen) {
|
|
7161
7160
|
onOpen(event);
|
|
7162
7161
|
}
|
|
7163
|
-
if (
|
|
7162
|
+
if (onClose && !shouldOpen) {
|
|
7164
7163
|
onClose(event);
|
|
7165
7164
|
}
|
|
7166
|
-
if (
|
|
7165
|
+
if (onToggleOpen) {
|
|
7167
7166
|
onToggleOpen(shouldOpen, event);
|
|
7168
7167
|
}
|
|
7169
7168
|
};
|
|
@@ -7180,17 +7179,32 @@ const ExpansionPanel = forwardRef((props, ref) => {
|
|
|
7180
7179
|
}));
|
|
7181
7180
|
const wrapperRef = useRef(null);
|
|
7182
7181
|
|
|
7183
|
-
|
|
7184
|
-
const isChildrenVisible =
|
|
7185
|
-
|
|
7186
|
-
|
|
7187
|
-
|
|
7188
|
-
|
|
7189
|
-
|
|
7190
|
-
|
|
7182
|
+
// Children visible while the open/close transition is running
|
|
7183
|
+
const [isChildrenVisible, setChildrenVisible] = React__default.useState(isOpen);
|
|
7184
|
+
const isOpenRef = React__default.useRef(isOpen);
|
|
7185
|
+
React__default.useEffect(() => {
|
|
7186
|
+
if (isOpen) {
|
|
7187
|
+
setChildrenVisible(true);
|
|
7188
|
+
} else if (!IS_BROWSER) {
|
|
7189
|
+
// Outside a browser we can't wait for the transition
|
|
7190
|
+
setChildrenVisible(false);
|
|
7191
|
+
}
|
|
7192
|
+
isOpenRef.current = isOpen;
|
|
7191
7193
|
}, [isOpen]);
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
+
|
|
7195
|
+
// Change children visibility on transition end
|
|
7196
|
+
React__default.useEffect(() => {
|
|
7197
|
+
const {
|
|
7198
|
+
current: wrapper
|
|
7199
|
+
} = wrapperRef;
|
|
7200
|
+
if (!IS_BROWSER || !wrapper) {
|
|
7201
|
+
return undefined;
|
|
7202
|
+
}
|
|
7203
|
+
const onTransitionEnd = () => {
|
|
7204
|
+
setChildrenVisible(isOpenRef.current);
|
|
7205
|
+
};
|
|
7206
|
+
wrapper.addEventListener('transitionend', onTransitionEnd);
|
|
7207
|
+
return () => wrapper.removeEventListener('transitionend', onTransitionEnd);
|
|
7194
7208
|
}, []);
|
|
7195
7209
|
return /*#__PURE__*/React__default.createElement("section", _extends({
|
|
7196
7210
|
ref: ref
|
|
@@ -7210,15 +7224,11 @@ const ExpansionPanel = forwardRef((props, ref) => {
|
|
|
7210
7224
|
emphasis: Emphasis.low,
|
|
7211
7225
|
icon: isOpen ? mdiChevronUp : mdiChevronDown,
|
|
7212
7226
|
"aria-expanded": isOpen || 'false'
|
|
7213
|
-
})))),
|
|
7227
|
+
})))), /*#__PURE__*/React__default.createElement("div", {
|
|
7214
7228
|
className: `${CLASSNAME$Z}__wrapper`,
|
|
7215
|
-
style: {
|
|
7216
|
-
maxHeight
|
|
7217
|
-
},
|
|
7218
|
-
onTransitionEnd: onTransitionEnd
|
|
7219
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7220
|
-
className: `${CLASSNAME$Z}__container`,
|
|
7221
7229
|
ref: wrapperRef
|
|
7230
|
+
}, (isOpen || isChildrenVisible) && /*#__PURE__*/React__default.createElement("div", {
|
|
7231
|
+
className: `${CLASSNAME$Z}__container`
|
|
7222
7232
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7223
7233
|
className: `${CLASSNAME$Z}__content`
|
|
7224
7234
|
}, content), footer && /*#__PURE__*/React__default.createElement("div", {
|