@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.
- package/build/cjs/AsideHeader.js +1 -1
- package/build/cjs/Drawer.js +14 -10
- package/build/cjs/Drawer.js.map +1 -1
- package/build/cjs/{FooterItem-fef16564.js → FooterItem-22234c15.js} +1 -1
- package/build/cjs/{FooterItem-fef16564.js.map → FooterItem-22234c15.js.map} +1 -1
- package/build/cjs/{HotkeysPanel-9c965feb.js → HotkeysPanel-00735b71.js} +1 -1
- package/build/cjs/{HotkeysPanel-9c965feb.js.map → HotkeysPanel-00735b71.js.map} +1 -1
- package/build/cjs/{PageLayoutAside-122aea8e.js → PageLayoutAside-9fabdd21.js} +1 -1
- package/build/cjs/{PageLayoutAside-122aea8e.js.map → PageLayoutAside-9fabdd21.js.map} +1 -1
- package/build/cjs/PageLayoutAside.js +1 -1
- package/build/cjs/components/Drawer/Drawer.d.ts +6 -0
- package/build/cjs/components/Drawer/utils.d.ts +1 -0
- package/build/cjs/index.js +3 -3
- package/build/cjs/index4.js +1 -1
- package/build/cjs/index6.js +1 -1
- package/build/esm/AsideHeader.js +1 -1
- package/build/esm/Drawer.js +14 -10
- package/build/esm/Drawer.js.map +1 -1
- package/build/esm/{FooterItem-eea84655.js → FooterItem-e7755a30.js} +1 -1
- package/build/esm/{FooterItem-eea84655.js.map → FooterItem-e7755a30.js.map} +1 -1
- package/build/esm/{HotkeysPanel-4693d73c.js → HotkeysPanel-c974ca3a.js} +1 -1
- package/build/esm/{HotkeysPanel-4693d73c.js.map → HotkeysPanel-c974ca3a.js.map} +1 -1
- package/build/esm/{PageLayoutAside-d7365bdf.js → PageLayoutAside-f7f0962e.js} +1 -1
- package/build/esm/{PageLayoutAside-d7365bdf.js.map → PageLayoutAside-f7f0962e.js.map} +1 -1
- package/build/esm/PageLayoutAside.js +1 -1
- package/build/esm/components/Drawer/Drawer.d.ts +6 -0
- package/build/esm/components/Drawer/utils.d.ts +1 -0
- package/build/esm/index.js +4 -4
- package/build/esm/index4.js +1 -1
- package/build/esm/index6.js +1 -1
- package/package.json +1 -1
package/build/esm/Drawer.js
CHANGED
|
@@ -3033,16 +3033,18 @@ function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }
|
|
|
3033
3033
|
const delta = initialPosition.current - current;
|
|
3034
3034
|
onMove(delta);
|
|
3035
3035
|
}, [onMove, direction]);
|
|
3036
|
+
const disableSelect = React.useCallback((e) => {
|
|
3037
|
+
e.preventDefault();
|
|
3038
|
+
}, []);
|
|
3036
3039
|
const handleEnd = React.useCallback((e) => {
|
|
3037
3040
|
window.removeEventListener('mousemove', handleMove);
|
|
3038
3041
|
window.removeEventListener('touchmove', handleMove);
|
|
3039
|
-
|
|
3040
|
-
document.body.style.removeProperty('-webkit-user-select');
|
|
3042
|
+
window.removeEventListener('selectstart', disableSelect);
|
|
3041
3043
|
document.body.style.removeProperty('cursor');
|
|
3042
3044
|
const current = getEventClientPosition(e, direction);
|
|
3043
3045
|
const delta = initialPosition.current - current;
|
|
3044
3046
|
onEnd(delta);
|
|
3045
|
-
}, [handleMove,
|
|
3047
|
+
}, [handleMove, disableSelect, direction, onEnd]);
|
|
3046
3048
|
const handleStart = React.useCallback((e) => {
|
|
3047
3049
|
const current = getEventClientPosition(e, direction);
|
|
3048
3050
|
initialPosition.current = current;
|
|
@@ -3052,9 +3054,9 @@ function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }
|
|
|
3052
3054
|
window.addEventListener('touchcancel', handleEnd, { once: true });
|
|
3053
3055
|
window.addEventListener('mousemove', handleMove);
|
|
3054
3056
|
window.addEventListener('touchmove', handleMove);
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
document.body.style.setProperty('cursor', 'col-resize');
|
|
3057
|
+
// Prevents user from selecting text. Similar to `user-select: none` but with no override issue.
|
|
3058
|
+
window.addEventListener('selectstart', disableSelect, { passive: false });
|
|
3059
|
+
document.body.style.setProperty('cursor', direction === 'horizontal' ? 'col-resize' : 'row-resize');
|
|
3058
3060
|
onStart();
|
|
3059
3061
|
}, [handleEnd, handleMove, onStart, direction]);
|
|
3060
3062
|
return {
|
|
@@ -3063,7 +3065,7 @@ function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }
|
|
|
3063
3065
|
};
|
|
3064
3066
|
}
|
|
3065
3067
|
function useResizableDrawerItem(params) {
|
|
3066
|
-
const { direction = 'left', width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, } = params;
|
|
3068
|
+
const { direction = 'left', width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, onResizeContinue, } = params;
|
|
3067
3069
|
const [isResizing, setIsResizing] = React.useState(false);
|
|
3068
3070
|
const [resizeDelta, setResizeDelta] = React.useState(0);
|
|
3069
3071
|
const [internalWidth, setInternalWidth] = React.useState(width !== null && width !== void 0 ? width : DRAWER_ITEM_INITIAL_RESIZE_WIDTH);
|
|
@@ -3080,7 +3082,8 @@ function useResizableDrawerItem(params) {
|
|
|
3080
3082
|
}, [onResizeStart]);
|
|
3081
3083
|
const onMove = React.useCallback((delta) => {
|
|
3082
3084
|
setResizeDelta(delta);
|
|
3083
|
-
|
|
3085
|
+
onResizeContinue === null || onResizeContinue === void 0 ? void 0 : onResizeContinue(getResizedWidth(delta));
|
|
3086
|
+
}, [getResizedWidth, onResizeContinue]);
|
|
3084
3087
|
const onEnd = React.useCallback((delta) => {
|
|
3085
3088
|
const newWidth = getResizedWidth(delta);
|
|
3086
3089
|
setIsResizing(false);
|
|
@@ -3099,13 +3102,13 @@ function useResizableDrawerItem(params) {
|
|
|
3099
3102
|
return { resizedWidth: displayWidth, resizerHandlers: handlers, isResizing };
|
|
3100
3103
|
}
|
|
3101
3104
|
|
|
3102
|
-
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))}";
|
|
3105
|
+
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))}";
|
|
3103
3106
|
styleInject(css_248z);
|
|
3104
3107
|
|
|
3105
3108
|
const b = block('drawer');
|
|
3106
3109
|
const TIMEOUT = 300;
|
|
3107
3110
|
const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
|
|
3108
|
-
const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResizeStart, onResize, keepMounted = false, } = props;
|
|
3111
|
+
const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResizeStart, onResizeContinue, onResize, keepMounted = false, } = props;
|
|
3109
3112
|
const [isInitialRender, setInitialRender] = React__default.useState(true);
|
|
3110
3113
|
const itemRef = React__default.useRef(null);
|
|
3111
3114
|
const handleRef = useForkRef(ref, itemRef);
|
|
@@ -3117,6 +3120,7 @@ const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
|
|
|
3117
3120
|
maxResizeWidth,
|
|
3118
3121
|
onResizeStart,
|
|
3119
3122
|
onResize,
|
|
3123
|
+
onResizeContinue,
|
|
3120
3124
|
});
|
|
3121
3125
|
const style = {};
|
|
3122
3126
|
if (resizable) {
|