@gravity-ui/navigation 2.34.0 → 2.34.1

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 (31) hide show
  1. package/build/cjs/AsideHeader.js +1 -1
  2. package/build/cjs/Drawer.js +14 -10
  3. package/build/cjs/Drawer.js.map +1 -1
  4. package/build/cjs/{FooterItem-fef16564.js → FooterItem-22234c15.js} +1 -1
  5. package/build/cjs/{FooterItem-fef16564.js.map → FooterItem-22234c15.js.map} +1 -1
  6. package/build/cjs/{HotkeysPanel-9c965feb.js → HotkeysPanel-00735b71.js} +1 -1
  7. package/build/cjs/{HotkeysPanel-9c965feb.js.map → HotkeysPanel-00735b71.js.map} +1 -1
  8. package/build/cjs/{PageLayoutAside-122aea8e.js → PageLayoutAside-9fabdd21.js} +1 -1
  9. package/build/cjs/{PageLayoutAside-122aea8e.js.map → PageLayoutAside-9fabdd21.js.map} +1 -1
  10. package/build/cjs/PageLayoutAside.js +1 -1
  11. package/build/cjs/components/Drawer/Drawer.d.ts +6 -0
  12. package/build/cjs/components/Drawer/utils.d.ts +1 -0
  13. package/build/cjs/index.js +3 -3
  14. package/build/cjs/index4.js +1 -1
  15. package/build/cjs/index6.js +1 -1
  16. package/build/esm/AsideHeader.js +1 -1
  17. package/build/esm/Drawer.js +14 -10
  18. package/build/esm/Drawer.js.map +1 -1
  19. package/build/esm/{FooterItem-eea84655.js → FooterItem-e7755a30.js} +1 -1
  20. package/build/esm/{FooterItem-eea84655.js.map → FooterItem-e7755a30.js.map} +1 -1
  21. package/build/esm/{HotkeysPanel-4693d73c.js → HotkeysPanel-c974ca3a.js} +1 -1
  22. package/build/esm/{HotkeysPanel-4693d73c.js.map → HotkeysPanel-c974ca3a.js.map} +1 -1
  23. package/build/esm/{PageLayoutAside-d7365bdf.js → PageLayoutAside-f7f0962e.js} +1 -1
  24. package/build/esm/{PageLayoutAside-d7365bdf.js.map → PageLayoutAside-f7f0962e.js.map} +1 -1
  25. package/build/esm/PageLayoutAside.js +1 -1
  26. package/build/esm/components/Drawer/Drawer.d.ts +6 -0
  27. package/build/esm/components/Drawer/utils.d.ts +1 -0
  28. package/build/esm/index.js +4 -4
  29. package/build/esm/index4.js +1 -1
  30. package/build/esm/index6.js +1 -1
  31. package/package.json +1 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib_es6 = require('./tslib.es6-705c6589.js');
6
6
  var React = require('react');
7
7
  var PageLayout = require('./PageLayout.js');
8
- var PageLayoutAside = require('./PageLayoutAside-122aea8e.js');
8
+ var PageLayoutAside = require('./PageLayoutAside-9fabdd21.js');
9
9
  require('./Content-64d5738a.js');
10
10
  require('./constants-d81c3867.js');
11
11
  require('./AsideHeaderContext.js');
@@ -3060,16 +3060,18 @@ function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }
3060
3060
  const delta = initialPosition.current - current;
3061
3061
  onMove(delta);
3062
3062
  }, [onMove, direction]);
3063
+ const disableSelect = React__namespace.useCallback((e) => {
3064
+ e.preventDefault();
3065
+ }, []);
3063
3066
  const handleEnd = React__namespace.useCallback((e) => {
3064
3067
  window.removeEventListener('mousemove', handleMove);
3065
3068
  window.removeEventListener('touchmove', handleMove);
3066
- document.body.style.removeProperty('user-select');
3067
- document.body.style.removeProperty('-webkit-user-select');
3069
+ window.removeEventListener('selectstart', disableSelect);
3068
3070
  document.body.style.removeProperty('cursor');
3069
3071
  const current = getEventClientPosition(e, direction);
3070
3072
  const delta = initialPosition.current - current;
3071
3073
  onEnd(delta);
3072
- }, [handleMove, onEnd, direction]);
3074
+ }, [handleMove, disableSelect, direction, onEnd]);
3073
3075
  const handleStart = React__namespace.useCallback((e) => {
3074
3076
  const current = getEventClientPosition(e, direction);
3075
3077
  initialPosition.current = current;
@@ -3079,9 +3081,9 @@ function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }
3079
3081
  window.addEventListener('touchcancel', handleEnd, { once: true });
3080
3082
  window.addEventListener('mousemove', handleMove);
3081
3083
  window.addEventListener('touchmove', handleMove);
3082
- document.body.style.setProperty('user-select', 'none');
3083
- document.body.style.setProperty('-webkit-user-select', 'none');
3084
- document.body.style.setProperty('cursor', 'col-resize');
3084
+ // Prevents user from selecting text. Similar to `user-select: none` but with no override issue.
3085
+ window.addEventListener('selectstart', disableSelect, { passive: false });
3086
+ document.body.style.setProperty('cursor', direction === 'horizontal' ? 'col-resize' : 'row-resize');
3085
3087
  onStart();
3086
3088
  }, [handleEnd, handleMove, onStart, direction]);
3087
3089
  return {
@@ -3090,7 +3092,7 @@ function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }
3090
3092
  };
3091
3093
  }
3092
3094
  function useResizableDrawerItem(params) {
3093
- const { direction = 'left', width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, } = params;
3095
+ const { direction = 'left', width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, onResizeContinue, } = params;
3094
3096
  const [isResizing, setIsResizing] = React__namespace.useState(false);
3095
3097
  const [resizeDelta, setResizeDelta] = React__namespace.useState(0);
3096
3098
  const [internalWidth, setInternalWidth] = React__namespace.useState(width !== null && width !== void 0 ? width : DRAWER_ITEM_INITIAL_RESIZE_WIDTH);
@@ -3107,7 +3109,8 @@ function useResizableDrawerItem(params) {
3107
3109
  }, [onResizeStart]);
3108
3110
  const onMove = React__namespace.useCallback((delta) => {
3109
3111
  setResizeDelta(delta);
3110
- }, []);
3112
+ onResizeContinue === null || onResizeContinue === void 0 ? void 0 : onResizeContinue(getResizedWidth(delta));
3113
+ }, [getResizedWidth, onResizeContinue]);
3111
3114
  const onEnd = React__namespace.useCallback((delta) => {
3112
3115
  const newWidth = getResizedWidth(delta);
3113
3116
  setIsResizing(false);
@@ -3126,13 +3129,13 @@ function useResizableDrawerItem(params) {
3126
3129
  return { resizedWidth: displayWidth, resizerHandlers: handlers, isResizing };
3127
3130
  }
3128
3131
 
3129
- var css_248z = ".gn-drawer{--_--item-shadow-default:0 1px 5px 0 var(--g-color-sfx-shadow);--_--resizer-width:8px;--_--resizer-color:var(--g-color-base-generic);--_--resizer-handle-color:var(--g-color-line-generic);--_--resizer-handle-color-hover:var(--g-color-line-generic-hover);--_--resizer-z-index:100;--_--veil-background-color:var(--g-color-sfx-veil);pointer-events:none}.gn-drawer_hideVeil{--_--item-shadow:var(--gn-drawer-item-shadow,var(--_--item-shadow-default))}.gn-drawer__item{background-color:var(--g-color-base-background);bottom:0;box-shadow:var(--_--item-shadow,none);height:100%;left:0;pointer-events:auto;position:absolute;top:0;will-change:transform;z-index:var(--gn-drawer-item-z-index)}.gn-drawer__item_direction_right{left:auto;right:0}.gn-drawer__item_direction_top{bottom:auto;right:0}.gn-drawer__item_direction_bottom{right:0;top:auto}.gn-drawer__item-transition-enter{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-enter{transform:translate(100%)}.gn-drawer__item-transition_direction_top-enter{transform:translateY(-100%)}.gn-drawer__item-transition_direction_bottom-enter{transform:translateY(100%)}.gn-drawer__item-transition-enter-active,.gn-drawer__item-transition_direction_bottom-enter-active,.gn-drawer__item-transition_direction_right-enter-active,.gn-drawer__item-transition_direction_top-enter-active{transform:translate(0);transition:transform .3s}.gn-drawer__item-transition-enter-done,.gn-drawer__item-transition_direction_bottom-enter-done,.gn-drawer__item-transition_direction_right-enter-done,.gn-drawer__item-transition_direction_top-enter-done{filter:blur(0);transform:translateZ(0)}.gn-drawer__item-transition-exit,.gn-drawer__item-transition_direction_bottom-exit,.gn-drawer__item-transition_direction_right-exit,.gn-drawer__item-transition_direction_top-exit{transform:translate(0)}.gn-drawer__item-transition-exit-active,.gn-drawer__item-transition_direction_bottom-exit-active,.gn-drawer__item-transition_direction_right-exit-active,.gn-drawer__item-transition_direction_top-exit-active{transition:transform .3s}.gn-drawer__item-transition-exit-active{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-exit-active{transform:translate(100%)}.gn-drawer__item-transition_direction_top-exit-active{transform:translateY(-100%)}.gn-drawer__item-transition_direction_bottom-exit-active{transform:translateY(100%)}.gn-drawer__item-transition-exit-done,.gn-drawer__item-transition_direction_bottom-exit-done,.gn-drawer__item-transition_direction_right-exit-done,.gn-drawer__item-transition_direction_top-exit-done,.gn-drawer__item_hidden{visibility:hidden}.gn-drawer__veil{background-color:var(--gn-drawer-veil-background-color,var(--_--veil-background-color));inset:0;pointer-events:auto;position:absolute;z-index:var(--gn-drawer-veil-z-index)}.gn-drawer__veil_hidden{display:none}.gn-drawer__veil-transition-enter{opacity:0}.gn-drawer__veil-transition-enter-active{opacity:1;transition:opacity .3s}.gn-drawer__veil-transition-exit{opacity:1}.gn-drawer__veil-transition-exit-active{opacity:0;transition:opacity .3s}.gn-drawer__veil-transition-exit-done{visibility:hidden}.gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color,var(--_--resizer-handle-color));border-radius:2px;height:28px;width:2px}.gn-drawer__resizer-handle_direction_bottom,.gn-drawer__resizer-handle_direction_top{height:2px;width:28px}.gn-drawer__resizer{align-items:center;background:var(--gn-drawer-item-resizer-color,var(--_--resizer-color));cursor:col-resize;display:flex;flex-direction:column;height:100%;justify-content:center;position:absolute;top:0;width:var(--gn-drawer-item-resizer-width,var(--_--resizer-width));z-index:var(--gn-drawer-item-resizer-z-index,var(--_--resizer-z-index))}.gn-drawer__resizer_direction_right{left:0}.gn-drawer__resizer_direction_left{right:0}.gn-drawer__resizer_direction_top{bottom:0;left:0;top:unset}.gn-drawer__resizer_direction_bottom{left:0;top:0}.gn-drawer__resizer_direction_bottom,.gn-drawer__resizer_direction_top{height:var(--gn-drawer-item-resizer-width,var(--_--resizer-width));width:100%}.gn-drawer__resizer:hover .gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color-hover,var(--_--resizer-handle-color-hover))}";
3132
+ var css_248z = ".gn-drawer{--_--item-shadow-default:0 1px 5px 0 var(--g-color-sfx-shadow);--_--resizer-width:8px;--_--resizer-color:var(--g-color-base-generic);--_--resizer-handle-color:var(--g-color-line-generic);--_--resizer-handle-color-hover:var(--g-color-line-generic-hover);--_--resizer-z-index:100;--_--veil-background-color:var(--g-color-sfx-veil);pointer-events:none}.gn-drawer_hideVeil{--_--item-shadow:var(--gn-drawer-item-shadow,var(--_--item-shadow-default))}.gn-drawer__item{background-color:var(--g-color-base-background);bottom:0;box-shadow:var(--_--item-shadow,none);height:100%;left:0;pointer-events:auto;position:absolute;top:0;will-change:transform;z-index:var(--gn-drawer-item-z-index)}.gn-drawer__item_direction_right{left:auto;right:0}.gn-drawer__item_direction_top{bottom:auto;right:0}.gn-drawer__item_direction_bottom{right:0;top:auto}.gn-drawer__item-transition-enter{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-enter{transform:translate(100%)}.gn-drawer__item-transition_direction_top-enter{transform:translateY(-100%)}.gn-drawer__item-transition_direction_bottom-enter{transform:translateY(100%)}.gn-drawer__item-transition-enter-active,.gn-drawer__item-transition_direction_bottom-enter-active,.gn-drawer__item-transition_direction_right-enter-active,.gn-drawer__item-transition_direction_top-enter-active{transform:translate(0);transition:transform .3s}.gn-drawer__item-transition-enter-done,.gn-drawer__item-transition_direction_bottom-enter-done,.gn-drawer__item-transition_direction_right-enter-done,.gn-drawer__item-transition_direction_top-enter-done{filter:blur(0);transform:translateZ(0)}.gn-drawer__item-transition-exit,.gn-drawer__item-transition_direction_bottom-exit,.gn-drawer__item-transition_direction_right-exit,.gn-drawer__item-transition_direction_top-exit{transform:translate(0)}.gn-drawer__item-transition-exit-active,.gn-drawer__item-transition_direction_bottom-exit-active,.gn-drawer__item-transition_direction_right-exit-active,.gn-drawer__item-transition_direction_top-exit-active{transition:transform .3s}.gn-drawer__item-transition-exit-active{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-exit-active{transform:translate(100%)}.gn-drawer__item-transition_direction_top-exit-active{transform:translateY(-100%)}.gn-drawer__item-transition_direction_bottom-exit-active{transform:translateY(100%)}.gn-drawer__item-transition-exit-done,.gn-drawer__item-transition_direction_bottom-exit-done,.gn-drawer__item-transition_direction_right-exit-done,.gn-drawer__item-transition_direction_top-exit-done,.gn-drawer__item_hidden{visibility:hidden}.gn-drawer__veil{background-color:var(--gn-drawer-veil-background-color,var(--_--veil-background-color));inset:0;pointer-events:auto;position:absolute;z-index:var(--gn-drawer-veil-z-index)}.gn-drawer__veil_hidden{display:none}.gn-drawer__veil-transition-enter{opacity:0}.gn-drawer__veil-transition-enter-active{opacity:1;transition:opacity .3s}.gn-drawer__veil-transition-exit{opacity:1}.gn-drawer__veil-transition-exit-active{opacity:0;transition:opacity .3s}.gn-drawer__veil-transition-exit-done{visibility:hidden}.gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color,var(--_--resizer-handle-color));border-radius:2px;height:28px;width:2px}.gn-drawer__resizer-handle_direction_bottom,.gn-drawer__resizer-handle_direction_top{height:2px;width:28px}.gn-drawer__resizer{align-items:center;background:var(--gn-drawer-item-resizer-color,var(--_--resizer-color));cursor:col-resize;display:flex;flex-direction:column;height:100%;justify-content:center;position:absolute;top:0;width:var(--gn-drawer-item-resizer-width,var(--_--resizer-width));z-index:var(--gn-drawer-item-resizer-z-index,var(--_--resizer-z-index))}.gn-drawer__resizer_direction_right{left:0}.gn-drawer__resizer_direction_left{right:0}.gn-drawer__resizer_direction_top{bottom:0;left:0;top:unset}.gn-drawer__resizer_direction_bottom{left:0;top:0}.gn-drawer__resizer_direction_bottom,.gn-drawer__resizer_direction_top{cursor:row-resize;height:var(--gn-drawer-item-resizer-width,var(--_--resizer-width));width:100%}.gn-drawer__resizer:hover .gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color-hover,var(--_--resizer-handle-color-hover))}";
3130
3133
  styleInject_es.styleInject(css_248z);
3131
3134
 
3132
3135
  const b = cn.block('drawer');
3133
3136
  const TIMEOUT = 300;
3134
3137
  const DrawerItem = React__default["default"].forwardRef(function DrawerItem(props, ref) {
3135
- const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResizeStart, onResize, keepMounted = false, } = props;
3138
+ const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResizeStart, onResizeContinue, onResize, keepMounted = false, } = props;
3136
3139
  const [isInitialRender, setInitialRender] = React__default["default"].useState(true);
3137
3140
  const itemRef = React__default["default"].useRef(null);
3138
3141
  const handleRef = uikit.useForkRef(ref, itemRef);
@@ -3144,6 +3147,7 @@ const DrawerItem = React__default["default"].forwardRef(function DrawerItem(prop
3144
3147
  maxResizeWidth,
3145
3148
  onResizeStart,
3146
3149
  onResize,
3150
+ onResizeContinue,
3147
3151
  });
3148
3152
  const style = {};
3149
3153
  if (resizable) {