@gravity-ui/navigation 2.33.0 → 2.34.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.
- package/build/cjs/AsideHeader.js +1 -1
- package/build/cjs/Drawer.js +41 -24
- package/build/cjs/Drawer.js.map +1 -1
- package/build/cjs/{FooterItem-d34d84ed.js → FooterItem-fef16564.js} +1 -1
- package/build/cjs/{FooterItem-d34d84ed.js.map → FooterItem-fef16564.js.map} +1 -1
- package/build/cjs/{HotkeysPanel-1c05ffa8.js → HotkeysPanel-9c965feb.js} +1 -1
- package/build/cjs/{HotkeysPanel-1c05ffa8.js.map → HotkeysPanel-9c965feb.js.map} +1 -1
- package/build/cjs/{PageLayoutAside-56a441a9.js → PageLayoutAside-122aea8e.js} +1 -1
- package/build/cjs/{PageLayoutAside-56a441a9.js.map → PageLayoutAside-122aea8e.js.map} +1 -1
- package/build/cjs/PageLayoutAside.js +1 -1
- package/build/cjs/components/Drawer/utils.d.ts +3 -2
- 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 +41 -24
- package/build/esm/Drawer.js.map +1 -1
- package/build/esm/{FooterItem-af3c4fa3.js → FooterItem-eea84655.js} +1 -1
- package/build/esm/{FooterItem-af3c4fa3.js.map → FooterItem-eea84655.js.map} +1 -1
- package/build/esm/{HotkeysPanel-c7bf8466.js → HotkeysPanel-4693d73c.js} +1 -1
- package/build/esm/{HotkeysPanel-c7bf8466.js.map → HotkeysPanel-4693d73c.js.map} +1 -1
- package/build/esm/{PageLayoutAside-edd59955.js → PageLayoutAside-d7365bdf.js} +1 -1
- package/build/esm/{PageLayoutAside-edd59955.js.map → PageLayoutAside-d7365bdf.js.map} +1 -1
- package/build/esm/PageLayoutAside.js +1 -1
- package/build/esm/components/Drawer/utils.d.ts +3 -2
- 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/cjs/AsideHeader.js
CHANGED
|
@@ -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-
|
|
8
|
+
var PageLayoutAside = require('./PageLayoutAside-122aea8e.js');
|
|
9
9
|
require('./Content-64d5738a.js');
|
|
10
10
|
require('./constants-d81c3867.js');
|
|
11
11
|
require('./AsideHeaderContext.js');
|
package/build/cjs/Drawer.js
CHANGED
|
@@ -3041,36 +3041,39 @@ SwitchTransition.defaultProps = {
|
|
|
3041
3041
|
const DRAWER_ITEM_MIN_RESIZE_WIDTH = 200;
|
|
3042
3042
|
const DRAWER_ITEM_MAX_RESIZE_WIDTH = 800;
|
|
3043
3043
|
const DRAWER_ITEM_INITIAL_RESIZE_WIDTH = 400;
|
|
3044
|
-
function
|
|
3045
|
-
var _a, _b;
|
|
3046
|
-
|
|
3044
|
+
function getEventClientPosition(e, direction) {
|
|
3045
|
+
var _a, _b, _c, _d;
|
|
3046
|
+
if ('touches' in e) {
|
|
3047
|
+
return direction === 'horizontal' ? (_b = (_a = e.touches[0]) === null || _a === void 0 ? void 0 : _a.clientX) !== null && _b !== void 0 ? _b : 0 : (_d = (_c = e.touches[0]) === null || _c === void 0 ? void 0 : _c.clientY) !== null && _d !== void 0 ? _d : 0;
|
|
3048
|
+
}
|
|
3049
|
+
return direction === 'horizontal' ? e.clientX : e.clientY;
|
|
3047
3050
|
}
|
|
3048
|
-
function useResizeHandlers({ onStart, onMove, onEnd }) {
|
|
3049
|
-
const
|
|
3050
|
-
const
|
|
3051
|
+
function useResizeHandlers({ onStart, onMove, onEnd, direction = 'horizontal', }) {
|
|
3052
|
+
const initialPosition = React__namespace.useRef(0);
|
|
3053
|
+
const currentPosition = React__namespace.useRef(0);
|
|
3051
3054
|
const handleMove = React__namespace.useCallback((e) => {
|
|
3052
|
-
const
|
|
3053
|
-
if (
|
|
3055
|
+
const current = getEventClientPosition(e, direction);
|
|
3056
|
+
if (currentPosition.current === current) {
|
|
3054
3057
|
return;
|
|
3055
3058
|
}
|
|
3056
|
-
|
|
3057
|
-
const delta =
|
|
3059
|
+
currentPosition.current = current;
|
|
3060
|
+
const delta = initialPosition.current - current;
|
|
3058
3061
|
onMove(delta);
|
|
3059
|
-
}, [onMove]);
|
|
3062
|
+
}, [onMove, direction]);
|
|
3060
3063
|
const handleEnd = React__namespace.useCallback((e) => {
|
|
3061
3064
|
window.removeEventListener('mousemove', handleMove);
|
|
3062
3065
|
window.removeEventListener('touchmove', handleMove);
|
|
3063
3066
|
document.body.style.removeProperty('user-select');
|
|
3064
3067
|
document.body.style.removeProperty('-webkit-user-select');
|
|
3065
3068
|
document.body.style.removeProperty('cursor');
|
|
3066
|
-
const
|
|
3067
|
-
const delta =
|
|
3069
|
+
const current = getEventClientPosition(e, direction);
|
|
3070
|
+
const delta = initialPosition.current - current;
|
|
3068
3071
|
onEnd(delta);
|
|
3069
|
-
}, [handleMove, onEnd]);
|
|
3072
|
+
}, [handleMove, onEnd, direction]);
|
|
3070
3073
|
const handleStart = React__namespace.useCallback((e) => {
|
|
3071
|
-
const
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
+
const current = getEventClientPosition(e, direction);
|
|
3075
|
+
initialPosition.current = current;
|
|
3076
|
+
currentPosition.current = current;
|
|
3074
3077
|
window.addEventListener('mouseup', handleEnd, { once: true });
|
|
3075
3078
|
window.addEventListener('touchend', handleEnd, { once: true });
|
|
3076
3079
|
window.addEventListener('touchcancel', handleEnd, { once: true });
|
|
@@ -3080,20 +3083,20 @@ function useResizeHandlers({ onStart, onMove, onEnd }) {
|
|
|
3080
3083
|
document.body.style.setProperty('-webkit-user-select', 'none');
|
|
3081
3084
|
document.body.style.setProperty('cursor', 'col-resize');
|
|
3082
3085
|
onStart();
|
|
3083
|
-
}, [handleEnd, handleMove, onStart]);
|
|
3086
|
+
}, [handleEnd, handleMove, onStart, direction]);
|
|
3084
3087
|
return {
|
|
3085
3088
|
onMouseDown: handleStart,
|
|
3086
3089
|
onTouchStart: handleStart,
|
|
3087
3090
|
};
|
|
3088
3091
|
}
|
|
3089
3092
|
function useResizableDrawerItem(params) {
|
|
3090
|
-
const { direction, width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, } = params;
|
|
3093
|
+
const { direction = 'left', width, minResizeWidth = DRAWER_ITEM_MIN_RESIZE_WIDTH, maxResizeWidth = DRAWER_ITEM_MAX_RESIZE_WIDTH, onResizeStart, onResize, } = params;
|
|
3091
3094
|
const [isResizing, setIsResizing] = React__namespace.useState(false);
|
|
3092
3095
|
const [resizeDelta, setResizeDelta] = React__namespace.useState(0);
|
|
3093
3096
|
const [internalWidth, setInternalWidth] = React__namespace.useState(width !== null && width !== void 0 ? width : DRAWER_ITEM_INITIAL_RESIZE_WIDTH);
|
|
3094
3097
|
const getClampedWidth = React__namespace.useCallback((width) => Math.min(Math.max(width, minResizeWidth), maxResizeWidth), [minResizeWidth, maxResizeWidth]);
|
|
3095
3098
|
const getResizedWidth = React__namespace.useCallback((delta) => {
|
|
3096
|
-
const signedDelta =
|
|
3099
|
+
const signedDelta = ['right', 'bottom'].includes(direction) ? delta : -delta;
|
|
3097
3100
|
const newWidth = (width !== null && width !== void 0 ? width : internalWidth) + signedDelta;
|
|
3098
3101
|
return getClampedWidth(newWidth);
|
|
3099
3102
|
}, [width, internalWidth, direction, getClampedWidth]);
|
|
@@ -3114,11 +3117,16 @@ function useResizableDrawerItem(params) {
|
|
|
3114
3117
|
const displayWidth = isResizing
|
|
3115
3118
|
? getResizedWidth(resizeDelta)
|
|
3116
3119
|
: getClampedWidth(width !== null && width !== void 0 ? width : internalWidth);
|
|
3117
|
-
const handlers = useResizeHandlers({
|
|
3120
|
+
const handlers = useResizeHandlers({
|
|
3121
|
+
onStart,
|
|
3122
|
+
onMove,
|
|
3123
|
+
onEnd,
|
|
3124
|
+
direction: ['left', 'right'].includes(direction) ? 'horizontal' : 'vertical',
|
|
3125
|
+
});
|
|
3118
3126
|
return { resizedWidth: displayWidth, resizerHandlers: handlers, isResizing };
|
|
3119
3127
|
}
|
|
3120
3128
|
|
|
3121
|
-
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-transition-enter{transform:translate(-100%)}.gn-drawer__item-transition_direction_right-enter{transform:translate(100%)}.gn-drawer__item-transition-enter-active,.gn-drawer__item-transition_direction_right-enter-active{transform:translate(0);transition:transform .3s}.gn-drawer__item-transition-enter-done,.gn-drawer__item-transition_direction_right-enter-done{filter:blur(0);transform:translateZ(0)}.gn-drawer__item-transition-exit,.gn-drawer__item-transition_direction_right-exit{transform:translate(0)}.gn-drawer__item-transition-exit-active,.gn-drawer__item-transition_direction_right-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-exit-done,.gn-drawer__item-transition_direction_right-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{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:hover .gn-drawer__resizer-handle{background:var(--gn-drawer-item-resizer-handle-color-hover,var(--_--resizer-handle-color-hover))}";
|
|
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))}";
|
|
3122
3130
|
styleInject_es.styleInject(css_248z);
|
|
3123
3131
|
|
|
3124
3132
|
const b = cn.block('drawer');
|
|
@@ -3137,17 +3145,26 @@ const DrawerItem = React__default["default"].forwardRef(function DrawerItem(prop
|
|
|
3137
3145
|
onResizeStart,
|
|
3138
3146
|
onResize,
|
|
3139
3147
|
});
|
|
3148
|
+
const style = {};
|
|
3149
|
+
if (resizable) {
|
|
3150
|
+
if (['left', 'right'].includes(direction)) {
|
|
3151
|
+
style.width = `${resizedWidth}px`;
|
|
3152
|
+
}
|
|
3153
|
+
else {
|
|
3154
|
+
style.height = `${resizedWidth}px`;
|
|
3155
|
+
}
|
|
3156
|
+
}
|
|
3140
3157
|
React__default["default"].useEffect(() => {
|
|
3141
3158
|
setInitialRender(true);
|
|
3142
3159
|
}, [direction]);
|
|
3143
3160
|
const resizerElement = resizable ? (React__default["default"].createElement("div", Object.assign({ className: b('resizer', { direction }) }, resizerHandlers),
|
|
3144
|
-
React__default["default"].createElement("div", { className: b('resizer-handle') }))) : null;
|
|
3161
|
+
React__default["default"].createElement("div", { className: b('resizer-handle', { direction }) }))) : null;
|
|
3145
3162
|
return (React__default["default"].createElement(CSSTransition, { in: visible, timeout: TIMEOUT, mountOnEnter: !keepMounted, unmountOnExit: !keepMounted, classNames: b('item-transition', { direction: cssDirection }), nodeRef: itemRef, onEnter: () => setInitialRender(false), onExit: () => setInitialRender(false) },
|
|
3146
3163
|
React__default["default"].createElement("div", { ref: handleRef, className: b('item', {
|
|
3147
3164
|
direction: cssDirection,
|
|
3148
3165
|
hidden: isInitialRender && !visible,
|
|
3149
3166
|
resize: isResizing,
|
|
3150
|
-
}, [className]), style:
|
|
3167
|
+
}, [className]), style: style },
|
|
3151
3168
|
resizerElement, children !== null && children !== void 0 ? children : content)));
|
|
3152
3169
|
});
|
|
3153
3170
|
const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEscape, preventScrollBody = true, hideVeil, disablePortal = true, keepMounted = false, }) => {
|