@gravity-ui/navigation 2.26.0 → 2.27.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 (45) hide show
  1. package/build/cjs/AsideHeader.js +2 -2
  2. package/build/cjs/Drawer.js +7 -3
  3. package/build/cjs/Drawer.js.map +1 -1
  4. package/build/cjs/{FooterItem-7491de3b.js → FooterItem-286094ab.js} +1 -1
  5. package/build/cjs/{FooterItem-7491de3b.js.map → FooterItem-286094ab.js.map} +1 -1
  6. package/build/cjs/FooterItem.js +1 -1
  7. package/build/cjs/{HotkeysPanel-c3315c0b.js → HotkeysPanel-4b97825e.js} +1 -1
  8. package/build/cjs/{HotkeysPanel-c3315c0b.js.map → HotkeysPanel-4b97825e.js.map} +1 -1
  9. package/build/cjs/{Item-7c1b54f5.js → Item-122f7db4.js} +3 -2
  10. package/build/cjs/Item-122f7db4.js.map +1 -0
  11. package/build/cjs/{PageLayoutAside-946fbebf.js → PageLayoutAside-ace87c16.js} +8 -8
  12. package/build/cjs/PageLayoutAside-ace87c16.js.map +1 -0
  13. package/build/cjs/PageLayoutAside.js +2 -2
  14. package/build/cjs/components/AsideHeader/types.d.ts +1 -0
  15. package/build/cjs/components/CompositeBar/CompositeBar.d.ts +1 -0
  16. package/build/cjs/components/CompositeBar/Item/Item.d.ts +1 -0
  17. package/build/cjs/components/types.d.ts +1 -0
  18. package/build/cjs/index.js +4 -4
  19. package/build/cjs/index4.js +1 -1
  20. package/build/cjs/index6.js +1 -1
  21. package/build/esm/AsideHeader.js +2 -2
  22. package/build/esm/Drawer.js +7 -3
  23. package/build/esm/Drawer.js.map +1 -1
  24. package/build/esm/{FooterItem-f9f2cf2b.js → FooterItem-2552f5a6.js} +1 -1
  25. package/build/esm/{FooterItem-f9f2cf2b.js.map → FooterItem-2552f5a6.js.map} +1 -1
  26. package/build/esm/FooterItem.js +1 -1
  27. package/build/esm/{HotkeysPanel-c6beeaf4.js → HotkeysPanel-cab8d5ab.js} +1 -1
  28. package/build/esm/{HotkeysPanel-c6beeaf4.js.map → HotkeysPanel-cab8d5ab.js.map} +1 -1
  29. package/build/esm/{Item-fb2a4efc.js → Item-e9769642.js} +3 -2
  30. package/build/esm/Item-e9769642.js.map +1 -0
  31. package/build/esm/{PageLayoutAside-d78babcb.js → PageLayoutAside-e48dea45.js} +8 -8
  32. package/build/esm/PageLayoutAside-e48dea45.js.map +1 -0
  33. package/build/esm/PageLayoutAside.js +2 -2
  34. package/build/esm/components/AsideHeader/types.d.ts +1 -0
  35. package/build/esm/components/CompositeBar/CompositeBar.d.ts +1 -0
  36. package/build/esm/components/CompositeBar/Item/Item.d.ts +1 -0
  37. package/build/esm/components/types.d.ts +1 -0
  38. package/build/esm/index.js +5 -5
  39. package/build/esm/index4.js +1 -1
  40. package/build/esm/index6.js +1 -1
  41. package/package.json +1 -1
  42. package/build/cjs/Item-7c1b54f5.js.map +0 -1
  43. package/build/cjs/PageLayoutAside-946fbebf.js.map +0 -1
  44. package/build/esm/Item-fb2a4efc.js.map +0 -1
  45. package/build/esm/PageLayoutAside-d78babcb.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageLayoutAside-ace87c16.js","sources":["../../../src/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.tsx","../../../src/components/AllPagesPanel/i18n/index.ts","../../../src/components/AllPagesPanel/constants.ts","../../../src/components/AllPagesPanel/useGroupedMenuItems.ts","../../../src/components/AllPagesPanel/AllPagesPanel.tsx","../../../src/components/AllPagesPanel/useVisibleMenuItems.ts","../../node_modules/react-virtualized-auto-sizer/dist/react-virtualized-auto-sizer.esm.js","../../../src/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.tsx","../../../src/components/CompositeBar/MultipleTooltip/MultipleTooltip.tsx","../../../src/components/CompositeBar/CompositeBar.tsx","../../../src/components/AsideHeader/i18n/index.ts","../../assets/icons/control-menu-button.svg","../../../src/components/AsideHeader/components/CollapseButton/CollapseButton.tsx","../../../src/components/Logo/Logo.tsx","../../../src/components/AsideHeader/components/Header.tsx","../../../src/components/AsideHeader/components/Panels.tsx","../../../src/components/AsideHeader/components/FirstPanel.tsx","../../../src/components/AsideHeader/types.tsx","../../../src/components/AsideHeader/useAsideHeaderInnerContextValue.tsx","../../../src/components/AsideHeader/components/PageLayout/PageLayoutAside.tsx"],"sourcesContent":["import React, {MouseEvent, useCallback} from 'react';\n\nimport {Pin, PinFill} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {MenuItem} from '../../types';\nimport {block} from '../../utils/cn';\n\nimport './AllPagesListItem.scss';\n\nconst b = block('all-pages-list-item');\n\ninterface AllPagesListItemProps {\n item: MenuItem;\n editMode?: boolean;\n onToggle: () => void;\n}\n\nexport const AllPagesListItem: React.FC<AllPagesListItemProps> = (props) => {\n const {item, editMode, onToggle} = props;\n const onPinButtonClick = useCallback(\n (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n e.stopPropagation();\n e.preventDefault();\n onToggle();\n },\n [onToggle],\n );\n\n const onItemClick = (e: MouseEvent<HTMLDivElement>) => {\n if (editMode) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n return (\n <div className={b()} onClick={onItemClick}>\n {item.icon ? (\n <Icon className={b('icon')} data={item.icon} size={item.iconSize} />\n ) : null}\n <span className={b('text')}>{item.title}</span>\n {editMode && !item.preventUserRemoving && (\n <Button\n onClick={onPinButtonClick}\n view={item.hidden ? 'flat-secondary' : 'flat-action'}\n >\n <Button.Icon>{item.hidden ? <Pin /> : <PinFill />}</Button.Icon>\n </Button>\n )}\n </div>\n );\n};\n","import {addComponentKeysets} from '@gravity-ui/uikit/i18n';\n\nimport {NAMESPACE} from '../../utils/cn';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nconst COMPONENT = 'AllPagesPanel';\nexport default addComponentKeysets({en, ru}, `${NAMESPACE}${COMPONENT}`);\n","import {Ellipsis} from '@gravity-ui/icons';\n\nimport {MenuItem} from '../types';\n\nimport i18n from './i18n';\n\nexport const ALL_PAGES_ID = 'all-pages' as const;\n\nexport function getAllPagesMenuItem(): MenuItem {\n return {\n id: ALL_PAGES_ID,\n title: i18n('menu-item.all-pages.title'),\n tooltipText: i18n('menu-item.all-pages.title'),\n icon: Ellipsis,\n };\n}\n","import {useMemo} from 'react';\n\nimport {MenuItem} from '../types';\n\nimport {ALL_PAGES_ID} from './constants';\nimport i18n from './i18n';\n\nexport const useGroupedMenuItems = (items: MenuItem[]) => {\n const allPagesMenuItems = useMemo(() => {\n const filteredItems = items.filter(\n (item) => item.type !== 'divider' && item.id !== ALL_PAGES_ID,\n );\n filteredItems.sort((a, b) => {\n if (a.type === 'action') {\n return 1;\n }\n if (b.type === 'action') {\n return -1;\n }\n return 0;\n });\n const groupedItems = filteredItems.reduce(\n (acc, item) => {\n const category = item.category || i18n('all-panel.menu.category.allOther');\n if (!acc[category]) {\n acc[category] = [];\n }\n acc[category].push(item);\n return acc;\n },\n {} as {[key: string]: MenuItem[]},\n );\n return groupedItems;\n }, [items]);\n\n return allPagesMenuItems;\n};\n","import React, {useCallback, useEffect, useRef, useState} from 'react';\n\nimport {Gear} from '@gravity-ui/icons';\nimport {Button, Flex, Icon, List, ListItemData, Text} from '@gravity-ui/uikit';\n\nimport {useAsideHeaderInnerContext} from '../AsideHeader/AsideHeaderContext';\nimport {MenuItem} from '../types';\nimport {block} from '../utils/cn';\n\nimport {AllPagesListItem} from './AllPagesListItem';\nimport {ALL_PAGES_ID} from './constants';\nimport i18n from './i18n';\nimport {useGroupedMenuItems} from './useGroupedMenuItems';\n\nimport './AllPagesPanel.scss';\n\nconst b = block('all-pages-panel');\n\ninterface AllPagesPanelProps {\n className?: string;\n startEditIcon?: React.ReactNode;\n onEditModeChanged?: (isEditMode: boolean) => void;\n}\n\nexport const AllPagesPanel: React.FC<AllPagesPanelProps> = (props) => {\n const {startEditIcon, onEditModeChanged, className} = props;\n const {menuItems, onMenuItemsChanged, editMenuProps} = useAsideHeaderInnerContext();\n\n const menuItemsRef = useRef(menuItems);\n menuItemsRef.current = menuItems;\n\n const [isEditMode, setIsEditMode] = useState(false);\n const toggleEditMode = useCallback(() => {\n setIsEditMode((prev) => !prev);\n }, []);\n\n const groupedItems = useGroupedMenuItems(menuItems);\n\n useEffect(() => {\n onEditModeChanged?.(isEditMode);\n\n if (isEditMode) {\n editMenuProps?.onOpenEditMode?.();\n }\n }, [isEditMode, onEditModeChanged, editMenuProps]);\n\n const onItemClick = useCallback((item: ListItemData<MenuItem>) => {\n //@ts-ignore TODO fix when @gravity-ui/uikit/List will provide event arg on item click\n item.onItemClick?.(item, false);\n }, []);\n\n const togglePageVisibility = useCallback(\n (item: MenuItem) => {\n if (!onMenuItemsChanged) {\n return;\n }\n const changedItem: MenuItem = {...item, hidden: !item.hidden};\n\n const originItems = menuItemsRef.current.filter(\n (menuItem) => menuItem.id !== ALL_PAGES_ID,\n );\n editMenuProps?.onToggleMenuItem?.(changedItem);\n onMenuItemsChanged(\n originItems.map((menuItem) => {\n if (menuItem.id !== changedItem.id) {\n return menuItem;\n }\n return changedItem;\n }),\n );\n },\n [onMenuItemsChanged, editMenuProps],\n );\n\n const itemRender = useCallback(\n (item: ListItemData<MenuItem>, _isActive: boolean, _itemIndex: number) => (\n <AllPagesListItem\n item={item}\n editMode={isEditMode}\n onToggle={() => togglePageVisibility(item)}\n />\n ),\n [isEditMode, togglePageVisibility],\n );\n\n const onResetToDefaultClick = useCallback(() => {\n if (!onMenuItemsChanged) {\n return;\n }\n editMenuProps?.onResetSettingsToDefault?.();\n const originItems = menuItemsRef.current.filter((item) => item.id !== ALL_PAGES_ID);\n onMenuItemsChanged(\n originItems.map((item) => ({\n ...item,\n hidden: false,\n })),\n );\n }, [onMenuItemsChanged, editMenuProps]);\n return (\n <Flex className={b(null, className)} gap=\"5\" direction=\"column\">\n <Flex gap=\"4\" alignItems=\"center\" justifyContent=\"space-between\">\n <Text variant=\"subheader-2\">\n {isEditMode ? i18n('all-panel.title.editing') : i18n('all-panel.title.main')}\n </Text>\n <Button selected={isEditMode} view=\"normal\" onClick={toggleEditMode}>\n {startEditIcon ? startEditIcon : <Icon data={Gear} />}\n </Button>\n </Flex>\n <Flex className={b('content')} gap=\"5\" direction=\"column\">\n {Object.keys(groupedItems).map((category) => {\n return (\n <Flex key={category} direction=\"column\" gap=\"3\">\n <Text className={b('category')} variant=\"body-1\" color=\"secondary\">\n {category}\n </Text>\n <List\n virtualized={false}\n filterable={false}\n items={groupedItems[category]}\n onItemClick={onItemClick}\n renderItem={itemRender}\n />\n </Flex>\n );\n })}\n </Flex>\n {isEditMode && (\n <Button onClick={onResetToDefaultClick}>{i18n('all-panel.resetToDefault')}</Button>\n )}\n </Flex>\n );\n};\n","import {useMemo} from 'react';\n\nimport {useAsideHeaderInnerContext} from '../AsideHeader/AsideHeaderContext';\nimport {MenuItem} from '../types';\n\nexport const useVisibleMenuItems = (): MenuItem[] => {\n const {menuItems, allPagesIsAvailable} = useAsideHeaderInnerContext();\n return useMemo(() => {\n if (!allPagesIsAvailable) {\n return menuItems;\n }\n let lastVisibleIndex = 0;\n return menuItems.filter((item: MenuItem, index: number, items: MenuItem[]): boolean => {\n if (item.hidden) {\n return false;\n }\n\n if (\n index > 0 &&\n item.type === 'divider' &&\n (items[lastVisibleIndex].type === 'divider' || items[lastVisibleIndex].hidden)\n ) {\n return false;\n }\n lastVisibleIndex = index;\n return true;\n });\n }, [allPagesIsAvailable, menuItems]);\n};\n","import { Component, createElement } from 'react';\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n * 5) Use 'export' statement over 'module.exports' assignment\n **/\n\n// Check `document` and `window` in case of server-side rendering\nlet windowObject;\nif (typeof window !== \"undefined\") {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== \"undefined\") {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\nlet cancelFrame = null;\nlet requestFrame = null;\nconst TIMEOUT_DURATION = 20;\nconst clearTimeoutFn = windowObject.clearTimeout;\nconst setTimeoutFn = windowObject.setTimeout;\nconst cancelAnimationFrameFn = windowObject.cancelAnimationFrame || windowObject.mozCancelAnimationFrame || windowObject.webkitCancelAnimationFrame;\nconst requestAnimationFrameFn = windowObject.requestAnimationFrame || windowObject.mozRequestAnimationFrame || windowObject.webkitRequestAnimationFrame;\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame([animationFrameID, timeoutID]) {\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(callback) {\n const animationFrameID = requestAnimationFrameFn(function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n });\n const timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n return [animationFrameID, timeoutID];\n };\n}\nfunction createDetectElementResize(nonce) {\n let animationKeyframes;\n let animationName;\n let animationStartEvent;\n let animationStyle;\n let checkTriggers;\n let resetTriggers;\n let scrollListener;\n const attachEvent = typeof document !== \"undefined\" && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function (element) {\n const triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + \"px\";\n expandChild.style.height = expand.offsetHeight + 1 + \"px\";\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n checkTriggers = function (element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n };\n scrollListener = function (e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === \"function\" && e.target.className.indexOf(\"contract-trigger\") < 0 && e.target.className.indexOf(\"expand-trigger\") < 0) {\n return;\n }\n const element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n let animation = false;\n let keyframeprefix = \"\";\n animationStartEvent = \"animationstart\";\n const domPrefixes = \"Webkit Moz O ms\".split(\" \");\n let startEvents = \"webkitAnimationStart animationstart oAnimationStart MSAnimationStart\".split(\" \");\n let pfx = \"\";\n {\n const elm = document.createElement(\"fakeelement\");\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n if (animation === false) {\n for (let i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + \"AnimationName\"] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = \"-\" + pfx.toLowerCase() + \"-\";\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n animationName = \"resizeanim\";\n animationKeyframes = \"@\" + keyframeprefix + \"keyframes \" + animationName + \" { from { opacity: 0; } to { opacity: 0; } } \";\n animationStyle = keyframeprefix + \"animation: 1ms \" + animationName + \"; \";\n }\n const createStyles = function (doc) {\n if (!doc.getElementById(\"detectElementResize\")) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n const css = (animationKeyframes ? animationKeyframes : \"\") + \".resize-triggers { \" + (animationStyle ? animationStyle : \"\") + \"visibility: hidden; opacity: 0; } \" + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName(\"head\")[0],\n style = doc.createElement(\"style\");\n style.id = \"detectElementResize\";\n style.type = \"text/css\";\n if (nonce != null) {\n style.setAttribute(\"nonce\", nonce);\n }\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n head.appendChild(style);\n }\n };\n const addResizeListener = function (element, fn) {\n if (attachEvent) {\n element.attachEvent(\"onresize\", fn);\n } else {\n if (!element.__resizeTriggers__) {\n const doc = element.ownerDocument;\n const elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === \"static\") {\n element.style.position = \"relative\";\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement(\"div\")).className = \"resize-triggers\";\n const expandTrigger = doc.createElement(\"div\");\n expandTrigger.className = \"expand-trigger\";\n expandTrigger.appendChild(doc.createElement(\"div\"));\n const contractTrigger = doc.createElement(\"div\");\n contractTrigger.className = \"contract-trigger\";\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener(\"scroll\", scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n const removeResizeListener = function (element, fn) {\n if (attachEvent) {\n element.detachEvent(\"onresize\", fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener(\"scroll\", scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n return {\n addResizeListener,\n removeResizeListener\n };\n}\n\nclass AutoSizer extends Component {\n constructor(...args) {\n super(...args);\n this.state = {\n height: this.props.defaultHeight || 0,\n scaledHeight: this.props.defaultHeight || 0,\n scaledWidth: this.props.defaultWidth || 0,\n width: this.props.defaultWidth || 0\n };\n this._autoSizer = null;\n this._detectElementResize = null;\n this._parentNode = null;\n this._resizeObserver = null;\n this._timeoutId = null;\n this._onResize = () => {\n this._timeoutId = null;\n const {\n disableHeight,\n disableWidth,\n onResize\n } = this.props;\n if (this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n const style = window.getComputedStyle(this._parentNode) || {};\n const paddingLeft = parseFloat(style.paddingLeft || \"0\");\n const paddingRight = parseFloat(style.paddingRight || \"0\");\n const paddingTop = parseFloat(style.paddingTop || \"0\");\n const paddingBottom = parseFloat(style.paddingBottom || \"0\");\n const rect = this._parentNode.getBoundingClientRect();\n const scaledHeight = rect.height - paddingTop - paddingBottom;\n const scaledWidth = rect.width - paddingLeft - paddingRight;\n const height = this._parentNode.offsetHeight - paddingTop - paddingBottom;\n const width = this._parentNode.offsetWidth - paddingLeft - paddingRight;\n if (!disableHeight && (this.state.height !== height || this.state.scaledHeight !== scaledHeight) || !disableWidth && (this.state.width !== width || this.state.scaledWidth !== scaledWidth)) {\n this.setState({\n height,\n width,\n scaledHeight,\n scaledWidth\n });\n if (typeof onResize === \"function\") {\n onResize({\n height,\n scaledHeight,\n scaledWidth,\n width\n });\n }\n }\n }\n };\n this._setRef = autoSizer => {\n this._autoSizer = autoSizer;\n };\n }\n componentDidMount() {\n const {\n nonce\n } = this.props;\n const parentNode = this._autoSizer ? this._autoSizer.parentNode : null;\n if (parentNode != null && parentNode.ownerDocument && parentNode.ownerDocument.defaultView && parentNode instanceof parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = parentNode;\n\n // Use ResizeObserver from the same context where parentNode (which we will observe) was defined\n // Using just global can result into onResize events not being emitted in cases with multiple realms\n const ResizeObserverInstance = parentNode.ownerDocument.defaultView.ResizeObserver;\n if (ResizeObserverInstance != null) {\n this._resizeObserver = new ResizeObserverInstance(() => {\n // Guard against \"ResizeObserver loop limit exceeded\" error;\n // could be triggered if the state update causes the ResizeObserver handler to run long.\n // See https://github.com/bvaughn/react-virtualized-auto-sizer/issues/55\n this._timeoutId = setTimeout(this._onResize, 0);\n });\n this._resizeObserver.observe(parentNode);\n } else {\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n this._detectElementResize = createDetectElementResize(nonce);\n this._detectElementResize.addResizeListener(parentNode, this._onResize);\n }\n this._onResize();\n }\n }\n componentWillUnmount() {\n if (this._parentNode) {\n if (this._detectElementResize) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n if (this._timeoutId !== null) {\n clearTimeout(this._timeoutId);\n }\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n }\n }\n }\n render() {\n const {\n children,\n defaultHeight,\n defaultWidth,\n disableHeight = false,\n disableWidth = false,\n doNotBailOutOnEmptyChildren = false,\n nonce,\n onResize,\n style = {},\n tagName = \"div\",\n ...rest\n } = this.props;\n const {\n height,\n scaledHeight,\n scaledWidth,\n width\n } = this.state;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n const outerStyle = {\n overflow: \"visible\"\n };\n const childParams = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n let bailoutOnChildren = false;\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n childParams.scaledHeight = scaledHeight;\n }\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n childParams.scaledWidth = scaledWidth;\n }\n if (doNotBailOutOnEmptyChildren) {\n bailoutOnChildren = false;\n }\n return createElement(tagName, {\n ref: this._setRef,\n style: {\n ...outerStyle,\n ...style\n },\n ...rest\n }, !bailoutOnChildren && children(childParams));\n }\n}\n\nfunction isHeightAndWidthProps(props) {\n return props && props.disableHeight !== true && props.disableWidth !== true;\n}\nfunction isHeightOnlyProps(props) {\n return props && props.disableHeight !== true && props.disableWidth === true;\n}\nfunction isWidthOnlyProps(props) {\n return props && props.disableHeight === true && props.disableWidth !== true;\n}\n\nexport { AutoSizer as default, isHeightAndWidthProps, isHeightOnlyProps, isWidthOnlyProps };\n","import React from 'react';\n\ninterface MultipleTooltipContextProps {\n active: boolean;\n activeIndex: number | undefined;\n hideCollapseItemTooltip: boolean;\n lastClickedItemIndex: number | undefined;\n setValue<K extends keyof Omit<MultipleTooltipContextProps, 'setValue'>>(\n value:\n | Pick<Omit<MultipleTooltipContextProps, 'setValue'>, K>\n | Omit<MultipleTooltipContextProps, 'setValue'>,\n ): void;\n}\n\nconst multipleTooltipContextDefaults = {\n active: false,\n activeIndex: undefined,\n hideCollapseItemTooltip: false,\n lastClickedItemIndex: undefined,\n setValue: () => {},\n};\n\nexport const MultipleTooltipContext = React.createContext<MultipleTooltipContextProps>(\n multipleTooltipContextDefaults,\n);\n\ntype MultipleTooltipProviderState = Omit<MultipleTooltipContextProps, 'setValue'>;\n\nexport class MultipleTooltipProvider extends React.PureComponent<\n {children: React.ReactNode},\n MultipleTooltipProviderState\n> {\n state = {\n ...multipleTooltipContextDefaults,\n };\n\n setValue: MultipleTooltipContextProps['setValue'] = (value) => {\n this.setState({...value});\n };\n\n render() {\n const {children} = this.props;\n\n return (\n <MultipleTooltipContext.Provider value={{...this.state, setValue: this.setValue}}>\n {children}\n </MultipleTooltipContext.Provider>\n );\n }\n}\n","import React from 'react';\n\nimport {Popup, PopupProps} from '@gravity-ui/uikit';\n\nimport {MenuItem} from '../../types';\nimport {block} from '../../utils/cn';\nimport {COLLAPSE_ITEM_ID} from '../constants';\n\nimport {MultipleTooltipContext} from './MultipleTooltipContext';\n\nimport './MultipleTooltip.scss';\n\nconst b = block('multiple-tooltip');\n\nconst POPUP_OFFSET: PopupProps['offset'] = [-32, 4];\nconst POPUP_MODIFIERS: PopupProps['modifiers'] = [\n {\n name: 'preventOverflow',\n enabled: false,\n },\n];\n\nexport type MultipleTooltipProps = Pick<PopupProps, 'open' | 'anchorRef' | 'placement'> & {\n items: MenuItem[];\n};\n\nexport const MultipleTooltip: React.FC<MultipleTooltipProps> = ({\n items,\n open,\n anchorRef,\n placement,\n}) => {\n const {activeIndex, hideCollapseItemTooltip} = React.useContext(MultipleTooltipContext);\n const activeItem = activeIndex === undefined ? null : items[activeIndex];\n\n return (\n <Popup\n open={open}\n anchorRef={anchorRef}\n placement={placement}\n offset={POPUP_OFFSET}\n contentClassName={b(null)}\n modifiers={POPUP_MODIFIERS}\n disableLayer\n >\n <div className={b('items-container')}>\n {items\n .filter(\n ({type = 'regular', id}) =>\n !hideCollapseItemTooltip ||\n (id !== COLLAPSE_ITEM_ID && type !== 'action'),\n )\n .map((item, idx) => {\n switch (item.type) {\n case 'divider':\n return (\n <div className={b('item', {divider: true})} key={idx}>\n {item.title}\n </div>\n );\n default:\n return (\n <div\n className={b('item', {\n active: item === activeItem,\n })}\n key={idx}\n >\n {item.title}\n </div>\n );\n }\n })}\n </div>\n </Popup>\n );\n};\n","import React, {FC, ReactNode, useCallback, useContext, useRef} from 'react';\n\nimport {List} from '@gravity-ui/uikit';\nimport AutoSizer, {Size} from 'react-virtualized-auto-sizer';\n\nimport {useAsideHeaderContext} from '../AsideHeader/AsideHeaderContext';\nimport {ASIDE_HEADER_COMPACT_WIDTH} from '../constants';\nimport {MenuItem, SubheaderMenuItem} from '../types';\nimport {block} from '../utils/cn';\n\nimport {Item, ItemProps} from './Item/Item';\nimport {MultipleTooltip, MultipleTooltipContext, MultipleTooltipProvider} from './MultipleTooltip';\nimport {COLLAPSE_ITEM_ID} from './constants';\nimport {\n getAutosizeListItems,\n getItemHeight,\n getItemsHeight,\n getItemsMinHeight,\n getMoreButtonItem,\n getSelectedItemIndex,\n isMenuItem,\n} from './utils';\n\nimport './CompositeBar.scss';\n\nconst b = block('composite-bar');\n\nexport type CompositeBarItem = MenuItem | SubheaderMenuItem;\n\ntype CompositeBarItems =\n | {type: 'menu'; items: MenuItem[]}\n | {type: 'subheader'; items: SubheaderMenuItem[]};\n\nexport type CompositeBarProps = CompositeBarItems & {\n onItemClick?: (\n item: MenuItem,\n collapsed: boolean,\n event: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => void;\n multipleTooltip?: boolean;\n menuMoreTitle?: string;\n onMoreClick?: () => void;\n};\n\ntype CompositeBarViewProps = CompositeBarProps & {\n collapseItems?: MenuItem[];\n};\n\nconst CompositeBarView: FC<CompositeBarViewProps> = ({\n type,\n items,\n onItemClick,\n onMoreClick,\n collapseItems,\n multipleTooltip = false,\n}) => {\n const ref = useRef<List<CompositeBarItem>>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n\n const {\n setValue: setMultipleTooltipContextValue,\n active: multipleTooltipActive,\n activeIndex,\n lastClickedItemIndex,\n } = useContext(MultipleTooltipContext);\n const {compact} = useAsideHeaderContext();\n\n React.useEffect(() => {\n function handleBlurWindow() {\n if (multipleTooltip && multipleTooltipActive) {\n setMultipleTooltipContextValue({active: false});\n }\n }\n\n window.addEventListener('blur', handleBlurWindow);\n\n return () => {\n window.removeEventListener('blur', handleBlurWindow);\n };\n }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);\n\n const onTooltipMouseEnter = useCallback(\n (e: {clientX: number}) => {\n if (\n multipleTooltip &&\n compact &&\n !multipleTooltipActive &&\n document.hasFocus() &&\n activeIndex !== lastClickedItemIndex &&\n e.clientX <= ASIDE_HEADER_COMPACT_WIDTH\n ) {\n setMultipleTooltipContextValue?.({\n active: true,\n });\n }\n },\n [\n multipleTooltip,\n compact,\n multipleTooltipActive,\n activeIndex,\n lastClickedItemIndex,\n setMultipleTooltipContextValue,\n ],\n );\n\n const onTooltipMouseLeave = useCallback(() => {\n if (multipleTooltip && multipleTooltipActive && document.hasFocus()) {\n setMultipleTooltipContextValue?.({\n active: false,\n lastClickedItemIndex: undefined,\n });\n }\n }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);\n\n const onMouseEnterByIndex = useCallback(\n (itemIndex: number) => () => {\n if (multipleTooltip && document.hasFocus()) {\n let multipleTooltipActiveValue = multipleTooltipActive;\n if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {\n multipleTooltipActiveValue = true;\n }\n if (\n activeIndex === itemIndex &&\n multipleTooltipActive === multipleTooltipActiveValue\n ) {\n return;\n }\n setMultipleTooltipContextValue({\n activeIndex: itemIndex,\n active: multipleTooltipActiveValue,\n });\n }\n },\n [\n multipleTooltip,\n multipleTooltipActive,\n lastClickedItemIndex,\n activeIndex,\n setMultipleTooltipContextValue,\n ],\n );\n\n const onMouseLeave = useCallback(() => {\n if (compact && document.hasFocus()) {\n ref.current?.activateItem(undefined as unknown as number);\n if (\n multipleTooltip &&\n (activeIndex !== undefined || lastClickedItemIndex !== undefined)\n ) {\n setMultipleTooltipContextValue({\n activeIndex: undefined,\n lastClickedItemIndex: undefined,\n });\n }\n }\n }, [\n activeIndex,\n compact,\n lastClickedItemIndex,\n multipleTooltip,\n setMultipleTooltipContextValue,\n ]);\n\n const onItemClickByIndex = useCallback(\n (itemIndex: number): ItemProps['onItemClick'] =>\n (item, collapsed, event) => {\n if (\n compact &&\n multipleTooltip &&\n itemIndex !== lastClickedItemIndex &&\n item.id !== COLLAPSE_ITEM_ID\n ) {\n setMultipleTooltipContextValue({\n lastClickedItemIndex: itemIndex,\n active: false,\n });\n }\n onItemClick?.(item, collapsed, event);\n },\n [\n compact,\n lastClickedItemIndex,\n multipleTooltip,\n onItemClick,\n setMultipleTooltipContextValue,\n ],\n );\n\n return (\n <React.Fragment>\n <div\n ref={tooltipRef}\n onMouseEnter={onTooltipMouseEnter}\n onMouseLeave={onTooltipMouseLeave}\n >\n <List<CompositeBarItem>\n ref={ref}\n items={items}\n selectedItemIndex={type === 'menu' ? getSelectedItemIndex(items) : undefined}\n itemHeight={getItemHeight}\n itemsHeight={getItemsHeight}\n itemClassName={b('root-menu-item')}\n virtualized={false}\n filterable={false}\n sortable={false}\n renderItem={(item, _isItemActive, itemIndex) => {\n const itemExtraProps = isMenuItem(item) ? {item} : item;\n const enableTooltip = isMenuItem(item)\n ? !multipleTooltip\n : item.enableTooltip;\n\n return (\n <Item\n {...itemExtraProps}\n enableTooltip={enableTooltip}\n onMouseEnter={onMouseEnterByIndex(itemIndex)}\n onMouseLeave={onMouseLeave}\n onItemClick={onItemClickByIndex(itemIndex)}\n onCollapseItemClick={onMoreClick}\n collapseItems={collapseItems}\n />\n );\n }}\n />\n </div>\n {type === 'menu' && multipleTooltip && (\n <MultipleTooltip\n open={compact && multipleTooltipActive}\n anchorRef={tooltipRef}\n placement={['right-start']}\n items={items}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport const CompositeBar: FC<CompositeBarProps> = ({\n type,\n items,\n menuMoreTitle,\n onItemClick,\n onMoreClick,\n multipleTooltip = false,\n}) => {\n if (items.length === 0) {\n return null;\n }\n let node: ReactNode;\n\n if (type === 'menu') {\n const minHeight = getItemsMinHeight(items);\n const collapseItem = getMoreButtonItem(menuMoreTitle);\n node = (\n <div className={b({autosizer: true})} style={{minHeight}}>\n {items.length !== 0 && (\n <AutoSizer>\n {(size: Size) => {\n const width = Number.isNaN(size.width) ? 0 : size.width;\n const height = Number.isNaN(size.height) ? 0 : size.height;\n\n const {listItems, collapseItems} = getAutosizeListItems(\n items,\n height,\n collapseItem,\n );\n return (\n <div style={{width, height}}>\n <CompositeBarView\n type=\"menu\"\n items={listItems}\n onItemClick={onItemClick}\n onMoreClick={onMoreClick}\n collapseItems={collapseItems}\n multipleTooltip={multipleTooltip}\n />\n </div>\n );\n }}\n </AutoSizer>\n )}\n </div>\n );\n } else {\n node = (\n <div className={b({subheader: true})}>\n <CompositeBarView type=\"subheader\" items={items} onItemClick={onItemClick} />\n </div>\n );\n }\n return <MultipleTooltipProvider>{node}</MultipleTooltipProvider>;\n};\n","import {addComponentKeysets} from '@gravity-ui/uikit/i18n';\n\nimport {NAMESPACE} from '../../utils/cn';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nconst COMPONENT = 'AsideHeader';\nexport default addComponentKeysets({en, ru}, `${NAMESPACE}${COMPONENT}`);\n","<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m.72 7.64 6.39-3.2a.5.5 0 0 0 0-.89L.72.36A.5.5 0 0 0 0 .81v6.38c0 .37.4.61.72.45Z\"/></svg>\n","import React, {useCallback} from 'react';\n\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {block} from '../../../utils/cn';\nimport {useAsideHeaderInnerContext} from '../../AsideHeaderContext';\nimport i18n from '../../i18n';\n\nimport controlMenuButtonIcon from '../../../../../assets/icons/control-menu-button.svg';\n\nimport './CollapseButton.scss';\n\nconst b = block('collapse-button');\n\nexport interface CollapseButtonProps {\n className?: string;\n}\n\nexport const CollapseButton = ({className}: CollapseButtonProps) => {\n const {onChangeCompact, compact, expandTitle, collapseTitle} = useAsideHeaderInnerContext();\n\n const onCollapseButtonClick = useCallback(() => {\n onChangeCompact?.(!compact);\n }, [compact, onChangeCompact]);\n\n const buttonTitle = compact\n ? expandTitle || i18n('button_expand')\n : collapseTitle || i18n('button_collapse');\n return (\n <button\n className={b({compact}, className)}\n onClick={onCollapseButtonClick}\n title={buttonTitle}\n >\n <Icon data={controlMenuButtonIcon} className={b('icon')} width=\"16\" height=\"10\" />\n </button>\n );\n};\n","import React from 'react';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {LogoProps} from '../types';\nimport {block} from '../utils/cn';\n\nimport './Logo.scss';\n\nconst b = block('logo');\n\nexport const Logo: React.FC<\n LogoProps & {compact?: boolean; buttonClassName?: string; buttonWrapperClassName?: string}\n> = ({\n text,\n icon,\n iconSrc,\n iconClassName,\n iconSize = 24,\n textSize = 15,\n href,\n target = '_self',\n wrapper,\n onClick,\n compact,\n className,\n buttonWrapperClassName,\n buttonClassName,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n}) => {\n const hasWrapper = typeof wrapper === 'function';\n\n let buttonIcon;\n\n if (iconSrc) {\n buttonIcon = (\n <Button.Icon className={iconClassName}>\n <img alt=\"logo icon\" src={iconSrc} width={iconSize} height={iconSize} />\n </Button.Icon>\n );\n } else if (icon) {\n buttonIcon = <Icon data={icon} size={iconSize} className={iconClassName} />;\n }\n\n const button = (\n <Button\n view=\"flat\"\n size=\"l\"\n className={b('btn-logo', buttonClassName)}\n component={hasWrapper ? 'span' : undefined}\n onClick={onClick}\n target={target}\n rel={target === '_self' ? undefined : 'noreferrer'}\n href={href}\n extraProps={{\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n }}\n >\n {buttonIcon}\n </Button>\n );\n\n let logo: React.ReactNode;\n\n if (typeof text === 'function') {\n logo = text();\n } else {\n logo = (\n <div className={b('logo')} style={{fontSize: textSize}}>\n {text}\n </div>\n );\n }\n\n return (\n <div className={b(null, className)}>\n <div className={b('logo-btn-place', buttonWrapperClassName)}>\n {hasWrapper ? wrapper(button, Boolean(compact)) : button}\n </div>\n {!compact &&\n (hasWrapper ? (\n <div onClick={onClick}>{wrapper(logo, Boolean(compact))}</div>\n ) : (\n <a\n href={href ?? '/'}\n target={target}\n rel={target === '_self' ? undefined : 'noreferrer'}\n className={b('logo-link')}\n onClick={onClick}\n >\n {logo}\n </a>\n ))}\n </div>\n );\n};\n","import React, {useCallback} from 'react';\n\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {CompositeBar} from '../../CompositeBar/CompositeBar';\nimport {Logo} from '../../Logo';\nimport {ASIDE_HEADER_COMPACT_WIDTH, HEADER_DIVIDER_HEIGHT} from '../../constants';\nimport {SubheaderMenuItem} from '../../types';\nimport {useAsideHeaderContext, useAsideHeaderInnerContext} from '../AsideHeaderContext';\nimport {b} from '../utils';\n\nimport headerDividerCollapsedIcon from '../../../../assets/icons/divider-collapsed.svg';\n\nconst DEFAULT_SUBHEADER_ITEMS: SubheaderMenuItem[] = [];\n\nexport const Header = () => {\n const {logo, onItemClick, onClosePanel, headerDecoration, subheaderItems} =\n useAsideHeaderInnerContext();\n const {compact} = useAsideHeaderContext();\n\n const onLogoClick = useCallback(\n (event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onClosePanel?.();\n logo?.onClick?.(event);\n },\n [onClosePanel, logo],\n );\n\n return (\n <div className={b('header', {['with-decoration']: headerDecoration})}>\n {logo && (\n <Logo\n {...logo}\n onClick={onLogoClick}\n compact={compact}\n buttonWrapperClassName={b('logo-button-wrapper')}\n buttonClassName={b('logo-button')}\n />\n )}\n\n <CompositeBar\n type=\"subheader\"\n items={subheaderItems || DEFAULT_SUBHEADER_ITEMS}\n onItemClick={onItemClick}\n />\n\n <Icon\n data={headerDividerCollapsedIcon}\n className={b('header-divider')}\n width={ASIDE_HEADER_COMPACT_WIDTH}\n height={HEADER_DIVIDER_HEIGHT}\n />\n </div>\n );\n};\n","import React from 'react';\n\nimport {Drawer, DrawerItem} from '../../Drawer/Drawer';\nimport {useAsideHeaderInnerContext} from '../AsideHeaderContext';\nimport {b} from '../utils';\n\nexport const Panels = () => {\n const {panelItems, onClosePanel, size} = useAsideHeaderInnerContext();\n\n return panelItems ? (\n <Drawer\n className={b('panels')}\n onVeilClick={onClosePanel}\n onEscape={onClosePanel}\n style={{left: size}}\n >\n {panelItems.map((item) => (\n <DrawerItem key={item.id} {...item} />\n ))}\n </Drawer>\n ) : null;\n};\n","import React, {useRef} from 'react';\n\nimport {setRef} from '@gravity-ui/uikit';\n\nimport {useVisibleMenuItems} from '../../AllPagesPanel';\nimport {CompositeBar} from '../../CompositeBar/CompositeBar';\nimport {useAsideHeaderInnerContext} from '../AsideHeaderContext';\nimport i18n from '../i18n';\nimport {b} from '../utils';\n\nimport {CollapseButton} from './CollapseButton/CollapseButton';\nimport {Header} from './Header';\nimport {Panels} from './Panels';\n\nexport const FirstPanel = React.forwardRef<HTMLDivElement>((_props, ref) => {\n const {\n size,\n onItemClick,\n headerDecoration,\n multipleTooltip,\n menuMoreTitle,\n onMenuMoreClick,\n renderFooter,\n compact,\n customBackground,\n customBackgroundClassName,\n className,\n hideCollapseButton,\n qa,\n } = useAsideHeaderInnerContext();\n const visibleMenuItems = useVisibleMenuItems();\n\n const asideRef = useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n setRef<HTMLDivElement>(ref, asideRef.current);\n }, [ref]);\n\n return (\n <React.Fragment>\n <div className={b('aside', className)} style={{width: size}} data-qa={qa}>\n <div className={b('aside-popup-anchor')} ref={asideRef} />\n\n <div className={b('aside-content', {['with-decoration']: headerDecoration})}>\n {customBackground && (\n <div className={b('aside-custom-background', customBackgroundClassName)}>\n {customBackground}\n </div>\n )}\n <Header />\n {visibleMenuItems?.length ? (\n <CompositeBar\n type=\"menu\"\n items={visibleMenuItems}\n menuMoreTitle={menuMoreTitle ?? i18n('label_more')}\n onItemClick={onItemClick}\n onMoreClick={onMenuMoreClick}\n multipleTooltip={multipleTooltip}\n />\n ) : (\n <div className={b('menu-items')} />\n )}\n <div className={b('footer')}>\n {renderFooter?.({\n size,\n compact: Boolean(compact),\n asideRef,\n })}\n </div>\n {!hideCollapseButton && <CollapseButton />}\n </div>\n </div>\n <Panels />\n </React.Fragment>\n );\n});\n\nFirstPanel.displayName = 'FirstPanel';\n","import {QAProps} from '@gravity-ui/uikit';\n\nimport {RenderContentType} from '../Content';\nimport {DrawerItemProps} from '../Drawer/Drawer';\nimport {\n AsideHeaderTopAlertProps,\n LogoProps,\n MenuItem,\n OpenModalSubscriber,\n SubheaderMenuItem,\n} from '../types';\n\nimport {AsideHeaderContextType} from './AsideHeaderContext';\n\nexport interface LayoutProps {\n compact: boolean;\n className?: string;\n topAlert?: AsideHeaderTopAlertProps;\n}\n\nexport interface EditMenuProps {\n onOpenEditMode?: () => void;\n onToggleMenuItem?: (changedItem: MenuItem) => void;\n onResetSettingsToDefault?: () => void;\n}\n\nexport interface AsideHeaderGeneralProps extends QAProps {\n logo?: LogoProps;\n multipleTooltip?: boolean;\n className?: string;\n collapseTitle?: string;\n expandTitle?: string;\n menuMoreTitle?: string;\n topAlert?: AsideHeaderTopAlertProps;\n customBackground?: React.ReactNode;\n customBackgroundClassName?: string;\n hideCollapseButton?: boolean;\n renderContent?: RenderContentType;\n renderFooter?: (data: {\n size: number;\n compact: boolean;\n asideRef: React.RefObject<HTMLDivElement>;\n }) => React.ReactNode;\n editMenuProps?: EditMenuProps;\n onClosePanel?: () => void;\n onChangeCompact?: (compact: boolean) => void;\n onMenuMoreClick?: () => void;\n openModalSubscriber?: (subscriber: OpenModalSubscriber) => void;\n}\n\nexport interface AsideHeaderDefaultProps {\n panelItems?: DrawerItemProps[];\n subheaderItems?: SubheaderMenuItem[];\n menuItems?: MenuItem[];\n onMenuItemsChanged?: (items: MenuItem[]) => void;\n headerDecoration?: boolean;\n}\n\nexport type AsideHeaderInnerProps = AsideHeaderGeneralProps &\n AsideHeaderDefaultProps &\n AsideHeaderContextType;\n\nexport interface AsideHeaderProps\n extends AsideHeaderGeneralProps,\n LayoutProps,\n Partial<AsideHeaderDefaultProps> {}\n\nexport enum InnerPanels {\n AllPages = 'all-pages',\n}\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {AllPagesPanel, getAllPagesMenuItem} from '../AllPagesPanel';\nimport {MenuItem} from '../types';\n\nimport {AsideHeaderInnerContextType} from './AsideHeaderContext';\nimport {AsideHeaderProps, InnerPanels} from './types';\n\nconst EMPTY_MENU_ITEMS: MenuItem[] = [];\n\nexport const useAsideHeaderInnerContextValue = (\n props: AsideHeaderProps & {size: number},\n): AsideHeaderInnerContextType => {\n const {size, onClosePanel, menuItems, panelItems, onMenuItemsChanged} = props;\n const [innerVisiblePanel, setInnerVisiblePanel] = useState<InnerPanels | undefined>();\n const ALL_PAGES_MENU_ITEM = React.useMemo(() => {\n return getAllPagesMenuItem();\n }, []);\n\n const allPagesIsAvailable =\n Boolean(onMenuItemsChanged) && (!menuItems || menuItems?.length > 0);\n\n useEffect(() => {\n // If any user panel became visible we need to switch off all inner panels\n if (panelItems?.some((x) => x.visible)) {\n setInnerVisiblePanel(undefined);\n }\n }, [panelItems]);\n\n const innerOnClosePanel = useCallback(() => {\n setInnerVisiblePanel(undefined);\n onClosePanel?.();\n }, [onClosePanel]);\n\n const onItemClick = useCallback(\n (\n item: MenuItem,\n collapsed: boolean,\n event: React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n if (item.id === ALL_PAGES_MENU_ITEM.id) {\n onClosePanel?.();\n setInnerVisiblePanel((prev) =>\n prev === InnerPanels.AllPages ? undefined : InnerPanels.AllPages,\n );\n } else {\n innerOnClosePanel();\n }\n item.onItemClick?.(item, collapsed, event);\n },\n [innerOnClosePanel, ALL_PAGES_MENU_ITEM, onClosePanel],\n );\n\n const innerMenuItems = useMemo(\n () =>\n allPagesIsAvailable\n ? [\n ...(menuItems || EMPTY_MENU_ITEMS),\n {\n ...ALL_PAGES_MENU_ITEM,\n current: innerVisiblePanel === InnerPanels.AllPages,\n },\n ]\n : menuItems || EMPTY_MENU_ITEMS,\n [allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM],\n );\n\n const innerPanelItems = useMemo(() => {\n if (!allPagesIsAvailable) {\n return panelItems;\n }\n return [\n ...(panelItems || []),\n {\n id: InnerPanels.AllPages,\n content: <AllPagesPanel />,\n visible: innerVisiblePanel === InnerPanels.AllPages,\n },\n ];\n }, [allPagesIsAvailable, panelItems, innerVisiblePanel]);\n\n return {\n ...props,\n onClosePanel: innerOnClosePanel,\n allPagesIsAvailable,\n menuItems: innerMenuItems,\n panelItems: innerPanelItems,\n size,\n onItemClick,\n };\n};\n","import React from 'react';\n\nimport {FirstPanel} from '..';\nimport {AsideHeaderInnerContextProvider, useAsideHeaderContext} from '../../AsideHeaderContext';\nimport {AsideHeaderProps} from '../../types';\nimport {useAsideHeaderInnerContextValue} from '../../useAsideHeaderInnerContextValue';\n\ntype Props = Omit<AsideHeaderProps, 'compact' | 'size'>;\n\nexport const PageLayoutAside = React.forwardRef<HTMLDivElement, Props>((props, ref) => {\n const {size, compact} = useAsideHeaderContext();\n\n const asideHeaderInnerContextValue = useAsideHeaderInnerContextValue({size, compact, ...props});\n\n return (\n <AsideHeaderInnerContextProvider value={asideHeaderInnerContextValue}>\n <FirstPanel ref={ref} />\n </AsideHeaderInnerContextProvider>\n );\n});\n\nPageLayoutAside.displayName = 'PageLayoutAside';\n"],"names":["b","block","useCallback","React","Icon","Button","Pin","PinFill","COMPONENT","addComponentKeysets","en","ru","NAMESPACE","i18n","Ellipsis","useMemo","useAsideHeaderInnerContext","useRef","useState","useEffect","Flex","Text","Gear","List","Component","createElement","Popup","COLLAPSE_ITEM_ID","useContext","useAsideHeaderContext","ASIDE_HEADER_COMPACT_WIDTH","getSelectedItemIndex","getItemHeight","getItemsHeight","isMenuItem","Item","getItemsMinHeight","getMoreButtonItem","getAutosizeListItems","headerDividerCollapsedIcon","HEADER_DIVIDER_HEIGHT","Drawer","DrawerItem","setRef","AsideHeaderInnerContextProvider"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('react');
6
- var PageLayoutAside = require('./PageLayoutAside-946fbebf.js');
6
+ var PageLayoutAside = require('./PageLayoutAside-ace87c16.js');
7
7
  require('@gravity-ui/uikit');
8
8
  require('./debounce-8772fd80.js');
9
9
  require('./utils-db3e03c2.js');
@@ -14,7 +14,7 @@ require('@bem-react/classname');
14
14
  require('./style-inject.es-dcee06b6.js');
15
15
  require('@gravity-ui/uikit/i18n');
16
16
  require('./constants-d81c3867.js');
17
- require('./Item-7c1b54f5.js');
17
+ require('./Item-122f7db4.js');
18
18
  require('./divider-collapsed-b743122e.js');
19
19
  require('./Drawer.js');
20
20
  require('react-dom');
@@ -34,6 +34,7 @@ export interface AsideHeaderGeneralProps extends QAProps {
34
34
  editMenuProps?: EditMenuProps;
35
35
  onClosePanel?: () => void;
36
36
  onChangeCompact?: (compact: boolean) => void;
37
+ onMenuMoreClick?: () => void;
37
38
  openModalSubscriber?: (subscriber: OpenModalSubscriber) => void;
38
39
  }
39
40
  export interface AsideHeaderDefaultProps {
@@ -13,6 +13,7 @@ export type CompositeBarProps = CompositeBarItems & {
13
13
  onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
14
14
  multipleTooltip?: boolean;
15
15
  menuMoreTitle?: string;
16
+ onMoreClick?: () => void;
16
17
  };
17
18
  export declare const CompositeBar: FC<CompositeBarProps>;
18
19
  export {};
@@ -17,6 +17,7 @@ export interface ItemProps extends ItemPopup {
17
17
  enableTooltip?: boolean;
18
18
  onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
19
19
  onItemClickCapture?: (event: React.SyntheticEvent) => void;
20
+ onCollapseItemClick?: () => void;
20
21
  bringForward?: boolean;
21
22
  }
22
23
  interface ItemInnerProps extends ItemProps {
@@ -19,6 +19,7 @@ export interface MenuItem extends QAProps {
19
19
  pinned?: boolean;
20
20
  onItemClick?: (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
21
21
  onItemClickCapture?: (event: React.SyntheticEvent) => void;
22
+ onCollapseItemClick?: () => void;
22
23
  itemWrapper?: (p: MakeItemParams, makeItem: (p: MakeItemParams) => React.ReactNode, opts: {
23
24
  collapsed: boolean;
24
25
  compact: boolean;
@@ -6,10 +6,10 @@ var AsideHeader = require('./AsideHeader.js');
6
6
  var AsideHeaderContext = require('./AsideHeaderContext.js');
7
7
  var FooterItem = require('./FooterItem.js');
8
8
  var PageLayout = require('./PageLayout.js');
9
- var PageLayoutAside = require('./PageLayoutAside-946fbebf.js');
9
+ var PageLayoutAside = require('./PageLayoutAside-ace87c16.js');
10
10
  var AsideFallback = require('./AsideFallback.js');
11
11
  var Drawer = require('./Drawer.js');
12
- var FooterItem$1 = require('./FooterItem-7491de3b.js');
12
+ var FooterItem$1 = require('./FooterItem-286094ab.js');
13
13
  var React = require('react');
14
14
  var uikit = require('@gravity-ui/uikit');
15
15
  var debounce = require('./debounce-8772fd80.js');
@@ -19,9 +19,9 @@ var styleInject_es = require('./style-inject.es-dcee06b6.js');
19
19
  var icons = require('@gravity-ui/icons');
20
20
  var ActionBar = require('./ActionBar-3c6cdf57.js');
21
21
  var Title = require('./Title-54580605.js');
22
- var HotkeysPanel = require('./HotkeysPanel-c3315c0b.js');
22
+ var HotkeysPanel = require('./HotkeysPanel-4b97825e.js');
23
23
  var Settings = require('./Settings-8dc2a8ee.js');
24
- require('./Item-7c1b54f5.js');
24
+ require('./Item-122f7db4.js');
25
25
  require('./constants-d81c3867.js');
26
26
  require('./Content-64d5738a.js');
27
27
  require('./utils-db3e03c2.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var HotkeysPanel = require('./HotkeysPanel-c3315c0b.js');
5
+ var HotkeysPanel = require('./HotkeysPanel-4b97825e.js');
6
6
  require('./tslib.es6-705c6589.js');
7
7
  require('react');
8
8
  require('@gravity-ui/uikit');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FooterItem = require('./FooterItem-7491de3b.js');
5
+ var FooterItem = require('./FooterItem-286094ab.js');
6
6
  require('react');
7
7
  require('./Content-64d5738a.js');
8
8
  require('./Drawer.js');
@@ -1,7 +1,7 @@
1
1
  import { _ as __rest } from './tslib.es6-3cd4e99f.js';
2
2
  import React__default from 'react';
3
3
  import { PageLayout } from './PageLayout.js';
4
- import { P as PageLayoutAside } from './PageLayoutAside-d78babcb.js';
4
+ import { P as PageLayoutAside } from './PageLayoutAside-e48dea45.js';
5
5
  import './Content-f94ba85d.js';
6
6
  import './constants-b1604ff5.js';
7
7
  import './AsideHeaderContext.js';
@@ -12,7 +12,7 @@ import './style-inject.es-1f59c1d0.js';
12
12
  import '@gravity-ui/uikit';
13
13
  import '@gravity-ui/icons';
14
14
  import '@gravity-ui/uikit/i18n';
15
- import './Item-fb2a4efc.js';
15
+ import './Item-e9769642.js';
16
16
  import './debounce-64cd2b4c.js';
17
17
  import './divider-collapsed-a0ef54c3.js';
18
18
  import './Drawer.js';
@@ -3090,13 +3090,14 @@ function useResizableDrawerItem(params) {
3090
3090
  return { resizedWidth: displayWidth, resizerHandlers: handlers };
3091
3091
  }
3092
3092
 
3093
- 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{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))}";
3093
+ 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))}";
3094
3094
  styleInject(css_248z);
3095
3095
 
3096
3096
  const b = block('drawer');
3097
3097
  const TIMEOUT = 300;
3098
3098
  const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
3099
3099
  const { visible, content, children, direction = 'left', className, resizable, width, minResizeWidth, maxResizeWidth, onResize, keepMounted = false, } = props;
3100
+ const [isInitialRender, setInitialRender] = React__default.useState(true);
3100
3101
  const itemRef = React__default.useRef(null);
3101
3102
  const handleRef = useForkRef(ref, itemRef);
3102
3103
  const cssDirection = direction === 'left' ? undefined : direction;
@@ -3107,10 +3108,13 @@ const DrawerItem = React__default.forwardRef(function DrawerItem(props, ref) {
3107
3108
  maxResizeWidth,
3108
3109
  onResize,
3109
3110
  });
3111
+ React__default.useEffect(() => {
3112
+ setInitialRender(true);
3113
+ }, [direction]);
3110
3114
  const resizerElement = resizable ? (React__default.createElement("div", Object.assign({ className: b('resizer', { direction }) }, resizerHandlers),
3111
3115
  React__default.createElement("div", { className: b('resizer-handle') }))) : null;
3112
- return (React__default.createElement(CSSTransition, { in: visible, timeout: TIMEOUT, mountOnEnter: !keepMounted, unmountOnExit: !keepMounted, classNames: b('item-transition', { direction: cssDirection }), nodeRef: itemRef },
3113
- React__default.createElement("div", { ref: handleRef, className: b('item', { direction: cssDirection }, className), style: { width: resizable ? `${resizedWidth}px` : undefined } },
3116
+ return (React__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) },
3117
+ React__default.createElement("div", { ref: handleRef, className: b('item', { direction: cssDirection, hidden: isInitialRender && !visible }, [className]), style: { width: resizable ? `${resizedWidth}px` : undefined } },
3114
3118
  resizerElement, children !== null && children !== void 0 ? children : content)));
3115
3119
  });
3116
3120
  const Drawer = ({ className, veilClassName, children, style, onVeilClick, onEscape, preventScrollBody = true, hideVeil, disablePortal = true, keepMounted = false, }) => {