@gravity-ui/navigation 2.25.0 → 2.26.0

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.
Files changed (29) hide show
  1. package/build/cjs/AsideHeader.js +1 -1
  2. package/build/cjs/Drawer.js +5 -5
  3. package/build/cjs/Drawer.js.map +1 -1
  4. package/build/cjs/{FooterItem-003eb137.js → FooterItem-7491de3b.js} +1 -1
  5. package/build/cjs/{FooterItem-003eb137.js.map → FooterItem-7491de3b.js.map} +1 -1
  6. package/build/cjs/{HotkeysPanel-d971b094.js → HotkeysPanel-c3315c0b.js} +1 -1
  7. package/build/cjs/{HotkeysPanel-d971b094.js.map → HotkeysPanel-c3315c0b.js.map} +1 -1
  8. package/build/cjs/{PageLayoutAside-e729d911.js → PageLayoutAside-946fbebf.js} +1 -1
  9. package/build/cjs/{PageLayoutAside-e729d911.js.map → PageLayoutAside-946fbebf.js.map} +1 -1
  10. package/build/cjs/PageLayoutAside.js +1 -1
  11. package/build/cjs/components/Drawer/Drawer.d.ts +10 -0
  12. package/build/cjs/index.js +3 -3
  13. package/build/cjs/index4.js +1 -1
  14. package/build/cjs/index6.js +1 -1
  15. package/build/esm/AsideHeader.js +1 -1
  16. package/build/esm/Drawer.js +5 -5
  17. package/build/esm/Drawer.js.map +1 -1
  18. package/build/esm/{FooterItem-42f3ac69.js → FooterItem-f9f2cf2b.js} +1 -1
  19. package/build/esm/{FooterItem-42f3ac69.js.map → FooterItem-f9f2cf2b.js.map} +1 -1
  20. package/build/esm/{HotkeysPanel-f0e2a06c.js → HotkeysPanel-c6beeaf4.js} +1 -1
  21. package/build/esm/{HotkeysPanel-f0e2a06c.js.map → HotkeysPanel-c6beeaf4.js.map} +1 -1
  22. package/build/esm/{PageLayoutAside-5f020459.js → PageLayoutAside-d78babcb.js} +1 -1
  23. package/build/esm/{PageLayoutAside-5f020459.js.map → PageLayoutAside-d78babcb.js.map} +1 -1
  24. package/build/esm/PageLayoutAside.js +1 -1
  25. package/build/esm/components/Drawer/Drawer.d.ts +10 -0
  26. package/build/esm/index.js +4 -4
  27. package/build/esm/index4.js +1 -1
  28. package/build/esm/index6.js +1 -1
  29. package/package.json +1 -1
@@ -3096,7 +3096,7 @@ styleInject(css_248z);
3096
3096
  const b = block('drawer');
3097
3097
  const TIMEOUT = 300;
3098
3098
  const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
3099
- const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResize, } = props;
3099
+ const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResize, keepMounted = false, } = props;
3100
3100
  const itemRef = React__default.useRef(null);
3101
3101
  const handleRef = useForkRef(ref, itemRef);
3102
3102
  const cssDirection = direction === 'left' ? undefined : direction;
@@ -3109,11 +3109,11 @@ const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
3109
3109
  });
3110
3110
  const resizerElement = resizable ? (React__default.createElement("div", Object.assign({ className: b('resizer', { direction }) }, resizerHandlers),
3111
3111
  React__default.createElement("div", { className: b('resizer-handle') }))) : null;
3112
- return (React__default.createElement(CSSTransition, { in: visible, timeout: TIMEOUT, unmountOnExit: true, classNames: b('item-transition', { direction: cssDirection }), nodeRef: itemRef },
3112
+ return (React__default.createElement(CSSTransition, { in: visible, timeout: TIMEOUT, mountOnEnter: !keepMounted, unmountOnExit: !keepMounted, classNames: b('item-transition', { direction: cssDirection }), nodeRef: itemRef },
3113
3113
  React__default.createElement("div", { ref: handleRef, className: b('item', { direction: cssDirection }, className), style: { width: resizable ? `${resizedWidth}px` : undefined } },
3114
3114
  resizerElement, children !== null && children !== void 0 ? children : content)));
3115
3115
  });
3116
- const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEscape, preventScrollBody = true, hideVeil, disablePortal = true, }) => {
3116
+ const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEscape, preventScrollBody = true, hideVeil, disablePortal = true, keepMounted = false, }) => {
3117
3117
  let someItemVisible = false;
3118
3118
  React__default.Children.forEach(children, (child) => {
3119
3119
  if (React__default.isValidElement(child) && child.type === DrawerItem) {
@@ -3139,7 +3139,7 @@ const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEsca
3139
3139
  useBodyScrollLock({ enabled: preventScrollBody && someItemVisible });
3140
3140
  const containerRef = React__default.useRef(null);
3141
3141
  const veilRef = React__default.useRef(null);
3142
- const drawer = (React__default.createElement(Transition, { in: someItemVisible, timeout: { enter: 0, exit: TIMEOUT }, mountOnEnter: true, unmountOnExit: true, nodeRef: containerRef }, (state) => {
3142
+ const drawer = (React__default.createElement(Transition, { in: someItemVisible, timeout: { enter: 0, exit: TIMEOUT }, mountOnEnter: !keepMounted, unmountOnExit: !keepMounted, nodeRef: containerRef }, (state) => {
3143
3143
  const childrenVisible = someItemVisible && state === 'entered';
3144
3144
  return (React__default.createElement("div", { ref: containerRef, className: b({ hideVeil }, className), style: style },
3145
3145
  React__default.createElement(CSSTransition, { in: childrenVisible, timeout: TIMEOUT, unmountOnExit: true, classNames: b('veil-transition'), nodeRef: veilRef },
@@ -3148,7 +3148,7 @@ const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEsca
3148
3148
  if (React__default.isValidElement(child) &&
3149
3149
  child.type === DrawerItem) {
3150
3150
  const childVisible = Boolean(child.props.visible);
3151
- return React__default.cloneElement(child, Object.assign(Object.assign({}, child.props), { visible: childVisible && childrenVisible }));
3151
+ return React__default.cloneElement(child, Object.assign(Object.assign({ keepMounted }, child.props), { visible: childVisible && childrenVisible }));
3152
3152
  }
3153
3153
  return child;
3154
3154
  })));