@gravity-ui/navigation 6.6.0 → 7.0.0-beta.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/components/AsideHeader/AsideHeader.css +9 -1
- package/build/cjs/components/AsideHeader/AsideHeader.js +2 -2
- package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -1
- package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +5 -0
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js +2 -0
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -1
- package/build/cjs/components/AsideHeader/__playwright__/AsideTransitionExample.d.ts +8 -0
- package/build/cjs/components/AsideHeader/__playwright__/CollapseButtonExample.d.ts +14 -0
- package/build/cjs/components/AsideHeader/__playwright__/CompactTransitionExample.d.ts +12 -0
- package/build/cjs/components/AsideHeader/__playwright__/CurrentIndicatorExample.d.ts +20 -0
- package/build/cjs/components/AsideHeader/__playwright__/QuickAccessOverflowExample.d.ts +8 -0
- package/build/cjs/components/AsideHeader/__playwright__/currentIndicatorPaint.d.ts +21 -0
- package/build/cjs/components/AsideHeader/__playwright__/transitionTestUtils.d.ts +4 -0
- package/build/cjs/components/AsideHeader/__stories__/fullNavigationMoc.d.ts +6 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +2 -4
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -3
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +2 -4
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AsideDivider.d.ts +7 -0
- package/build/cjs/components/AsideHeader/components/AsideDivider.js +13 -0
- package/build/cjs/components/AsideHeader/components/AsideDivider.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +3 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +12 -8
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/useCollapseAnchor.d.ts +20 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js +170 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.css +3 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +13 -2
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +53 -39
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +4 -2
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.css +33 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +158 -43
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +22 -4
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +19 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +137 -20
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.d.ts +7 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js +25 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +5 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +4 -6
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +14 -5
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.d.ts +8 -8
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js +68 -33
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js +2 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/presentationCurrent.d.ts +24 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/presentationCurrent.js +39 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/presentationCurrent.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +12 -7
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +42 -35
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FirstPanel.js +129 -10
- package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +18 -2
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/Header.js +7 -3
- package/build/cjs/components/AsideHeader/components/Header.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.css +9 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +13 -6
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideLayoutTransition.d.ts +80 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js +600 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.d.ts +14 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js +164 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.d.ts +14 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js +94 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.css +9 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +14 -5
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.css +9 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +5 -2
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorDom.d.ts +7 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorDom.js +25 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorDom.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorModel.d.ts +25 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorModel.js +89 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/currentIndicatorModel.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/Panels.js +2 -2
- package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
- package/build/cjs/components/AsideHeader/density.d.ts +21 -0
- package/build/cjs/components/AsideHeader/density.js +61 -0
- package/build/cjs/components/AsideHeader/density.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/__mocks__/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/i18n/en.json.js +10 -1
- package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +4 -4
- package/build/cjs/components/AsideHeader/i18n/ru.json.js +10 -1
- package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/quickAccess.d.ts +9 -0
- package/build/cjs/components/AsideHeader/quickAccess.js +31 -0
- package/build/cjs/components/AsideHeader/quickAccess.js.map +1 -0
- package/build/cjs/components/AsideHeader/types.d.ts +50 -5
- package/build/cjs/components/AsideHeader/types.js.map +1 -1
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +18 -3
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
- package/build/cjs/components/AsideHeader/utils.d.ts +1 -0
- package/build/cjs/components/AsideHeader/utils.js +2 -0
- package/build/cjs/components/AsideHeader/utils.js.map +1 -1
- package/build/cjs/components/Footer/desktop/Footer.css +1 -1
- package/build/cjs/components/Footer/mobile/Footer.css +1 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.css +1 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +1 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.module.scss.js +1 -1
- package/build/cjs/components/Logo/Logo.css +1 -1
- package/build/cjs/components/Logo/Logo.d.ts +1 -0
- package/build/cjs/components/Logo/Logo.js +4 -4
- package/build/cjs/components/Logo/Logo.js.map +1 -1
- package/build/cjs/components/constants.d.ts +5 -0
- package/build/cjs/components/constants.js +6 -0
- package/build/cjs/components/constants.js.map +1 -1
- package/build/cjs/components/types.d.ts +4 -4
- package/build/docs/components/AsideHeader.md +234 -42
- package/build/esm/components/AsideHeader/AsideHeader.css +9 -1
- package/build/esm/components/AsideHeader/AsideHeader.js +2 -2
- package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -1
- package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +5 -0
- package/build/esm/components/AsideHeader/AsideHeaderContext.js +2 -0
- package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -1
- package/build/esm/components/AsideHeader/__playwright__/AsideTransitionExample.d.ts +8 -0
- package/build/esm/components/AsideHeader/__playwright__/CollapseButtonExample.d.ts +14 -0
- package/build/esm/components/AsideHeader/__playwright__/CompactTransitionExample.d.ts +12 -0
- package/build/esm/components/AsideHeader/__playwright__/CurrentIndicatorExample.d.ts +20 -0
- package/build/esm/components/AsideHeader/__playwright__/QuickAccessOverflowExample.d.ts +8 -0
- package/build/esm/components/AsideHeader/__playwright__/currentIndicatorPaint.d.ts +21 -0
- package/build/esm/components/AsideHeader/__playwright__/transitionTestUtils.d.ts +4 -0
- package/build/esm/components/AsideHeader/__stories__/fullNavigationMoc.d.ts +6 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +3 -5
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -3
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +2 -4
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AsideDivider.d.ts +7 -0
- package/build/esm/components/AsideHeader/components/AsideDivider.js +11 -0
- package/build/esm/components/AsideHeader/components/AsideDivider.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +3 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +12 -8
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/useCollapseAnchor.d.ts +20 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js +167 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/useCollapseAnchor.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +3 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +13 -2
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +54 -40
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +4 -2
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +33 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +161 -46
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +22 -4
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +19 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +139 -23
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.d.ts +7 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js +23 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemQuickAccessPin.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +5 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +4 -6
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +15 -6
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.d.ts +8 -8
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js +68 -33
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollableScrollbarSync.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.js +2 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/presentationCurrent.d.ts +24 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/presentationCurrent.js +36 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/presentationCurrent.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +12 -7
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +44 -35
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FirstPanel.js +131 -12
- package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +18 -2
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/Header.js +8 -4
- package/build/esm/components/AsideHeader/components/Header.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.css +9 -1
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +14 -7
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/AsideLayoutTransition.d.ts +80 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js +598 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideLayoutTransition.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.d.ts +14 -0
- package/build/esm/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js +162 -0
- package/build/esm/components/AsideHeader/components/PageLayout/CurrentIndicatorTransition.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.d.ts +14 -0
- package/build/esm/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js +92 -0
- package/build/esm/components/AsideHeader/components/PageLayout/CurrentPresentationObserver.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.css +9 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +15 -6
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.css +9 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +5 -2
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorDom.d.ts +7 -0
- package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorDom.js +17 -0
- package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorDom.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorModel.d.ts +25 -0
- package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorModel.js +84 -0
- package/build/esm/components/AsideHeader/components/PageLayout/currentIndicatorModel.js.map +1 -0
- package/build/esm/components/AsideHeader/components/Panels.js +3 -3
- package/build/esm/components/AsideHeader/components/Panels.js.map +1 -1
- package/build/esm/components/AsideHeader/density.d.ts +21 -0
- package/build/esm/components/AsideHeader/density.js +58 -0
- package/build/esm/components/AsideHeader/density.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/__mocks__/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/i18n/en.json.js +8 -2
- package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -1
- package/build/esm/components/AsideHeader/i18n/index.d.ts +4 -4
- package/build/esm/components/AsideHeader/i18n/ru.json.js +8 -2
- package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -1
- package/build/esm/components/AsideHeader/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/quickAccess.d.ts +9 -0
- package/build/esm/components/AsideHeader/quickAccess.js +27 -0
- package/build/esm/components/AsideHeader/quickAccess.js.map +1 -0
- package/build/esm/components/AsideHeader/types.d.ts +50 -5
- package/build/esm/components/AsideHeader/types.js.map +1 -1
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +18 -3
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
- package/build/esm/components/AsideHeader/utils.d.ts +1 -0
- package/build/esm/components/AsideHeader/utils.js +2 -1
- package/build/esm/components/AsideHeader/utils.js.map +1 -1
- package/build/esm/components/Footer/desktop/Footer.css +1 -1
- package/build/esm/components/Footer/mobile/Footer.css +1 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.css +1 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js +1 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.module.scss.js +1 -1
- package/build/esm/components/Logo/Logo.css +1 -1
- package/build/esm/components/Logo/Logo.d.ts +1 -0
- package/build/esm/components/Logo/Logo.js +4 -4
- package/build/esm/components/Logo/Logo.js.map +1 -1
- package/build/esm/components/constants.d.ts +5 -0
- package/build/esm/components/constants.js +6 -1
- package/build/esm/components/constants.js.map +1 -1
- package/build/esm/components/types.d.ts +4 -4
- package/package.json +1 -1
- package/build/cjs/assets/icons/control-menu-button.svg.js +0 -41
- package/build/cjs/assets/icons/control-menu-button.svg.js.map +0 -1
- package/build/esm/assets/icons/control-menu-button.svg.js +0 -18
- package/build/esm/assets/icons/control-menu-button.svg.js.map +0 -1
|
@@ -4,13 +4,19 @@ import './Item.css';
|
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var icons = require('@gravity-ui/icons');
|
|
6
6
|
var uikit = require('@gravity-ui/uikit');
|
|
7
|
-
var constants$1 = require('../../../../constants.js');
|
|
8
7
|
var cn = require('../../../../utils/cn.js');
|
|
8
|
+
var AsideHeaderContext = require('../../../AsideHeaderContext.js');
|
|
9
|
+
var density = require('../../../density.js');
|
|
9
10
|
var index = require('../../../i18n/index.js');
|
|
11
|
+
var quickAccess = require('../../../quickAccess.js');
|
|
12
|
+
var AsideDivider = require('../../AsideDivider.js');
|
|
13
|
+
var currentIndicatorDom = require('../../PageLayout/currentIndicatorDom.js');
|
|
10
14
|
var HighlightedItem = require('../HighlightedItem/HighlightedItem.js');
|
|
11
15
|
var constants = require('../constants.js');
|
|
16
|
+
var presentationCurrent = require('../presentationCurrent.js');
|
|
12
17
|
var ItemPopup = require('./ItemPopup.js');
|
|
13
18
|
var ItemPopupNestContext = require('./ItemPopupNestContext.js');
|
|
19
|
+
var ItemQuickAccessPin = require('./ItemQuickAccessPin.js');
|
|
14
20
|
var renderItemTitle = require('./renderItemTitle.js');
|
|
15
21
|
var Item_module = require('./Item.module.scss.js');
|
|
16
22
|
|
|
@@ -18,7 +24,33 @@ const b = cn.createBlock('composite-bar-item', Item_module.default);
|
|
|
18
24
|
const defaultPopupPlacement = ['right-end'];
|
|
19
25
|
const defaultPopupOffset = { mainAxis: 14 };
|
|
20
26
|
const CHEVRON_SIZE = 16;
|
|
21
|
-
|
|
27
|
+
function shouldShowMenuPopup({ type, popupItems, collapsedItem, inlineGroupHeader, groupHeaderExpanded, }) {
|
|
28
|
+
return (type !== 'divider' &&
|
|
29
|
+
Boolean(popupItems === null || popupItems === undefined ? undefined : popupItems.length) &&
|
|
30
|
+
(collapsedItem || !inlineGroupHeader || !groupHeaderExpanded));
|
|
31
|
+
}
|
|
32
|
+
function shouldShowLabelPopup({ isDivider, compact, hasPopupItems, disabled, }) {
|
|
33
|
+
return !isDivider && Boolean(compact) && !hasPopupItems && !disabled;
|
|
34
|
+
}
|
|
35
|
+
function shouldShowChevron({ compact, inlineGroupHeader, hasPopupItems, }) {
|
|
36
|
+
if (inlineGroupHeader) {
|
|
37
|
+
return !compact;
|
|
38
|
+
}
|
|
39
|
+
return !compact && hasPopupItems;
|
|
40
|
+
}
|
|
41
|
+
function getExpandedTitleLines({ type, compact, menuPopupRow, titleLines, }) {
|
|
42
|
+
if (type !== constants.ITEM_TYPE_REGULAR || compact || menuPopupRow) {
|
|
43
|
+
return 1;
|
|
44
|
+
}
|
|
45
|
+
return titleLines;
|
|
46
|
+
}
|
|
47
|
+
function shouldShowQuickAccessPin({ enabled, compact, popupItems, item, onToggle, }) {
|
|
48
|
+
return (Boolean(enabled) &&
|
|
49
|
+
!compact &&
|
|
50
|
+
!(popupItems === null || popupItems === undefined ? undefined : popupItems.length) &&
|
|
51
|
+
quickAccess.isQuickAccessPinEligible(item) &&
|
|
52
|
+
typeof onToggle === 'function');
|
|
53
|
+
}
|
|
22
54
|
function getChevronFallbackLabel(expanded) {
|
|
23
55
|
return expanded ? index.default('button_collapse') : index.default('button_expand');
|
|
24
56
|
}
|
|
@@ -29,24 +61,54 @@ function resolveItemAriaLabel(ariaProps, titleLabel) {
|
|
|
29
61
|
function resolveAnchorRef(anchorRef, fallback) {
|
|
30
62
|
return (anchorRef === null || anchorRef === undefined ? undefined : anchorRef.current) ? anchorRef : fallback;
|
|
31
63
|
}
|
|
32
|
-
function shouldShowFlyoutChevron(hasPopupItems, compact, hideCompactChevron) {
|
|
33
|
-
return hasPopupItems && !(compact && hideCompactChevron);
|
|
34
|
-
}
|
|
35
64
|
const Item = (props) => {
|
|
36
|
-
const { className, popupItemClassName, menuPopupItems, menuPopupTitle, groupHeaderExpanded, compact, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupRef: anchoreRefProp, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onOpenChangePopup, onItemClick, onPopupItemClick, onItemClickCapture, itemWrapper, bringForward, rightAdornment, title, href, qa, hideIcon = false, stopClickPropagation = false, menuGroupNestedTreeConnector, menuItemAriaProps,
|
|
37
|
-
const [
|
|
65
|
+
const { className, popupItemClassName, menuPopupItems, menuPopupTitle, groupHeaderExpanded, compact, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupRef: anchoreRefProp, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onOpenChangePopup, onItemClick, onPopupItemClick, onItemClickCapture, itemWrapper, bringForward, rightAdornment, title, href, qa, hideIcon = false, menuPopupHideIcon, menuPopupNestedHideIcon, stopClickPropagation = false, menuGroupNestedTreeConnector, menuGroupNested, menuItemAriaProps, menuPopupRow, suppressCurrentHighlight = false, suppressCurrentItemIds, enableQuickAccessPin, quickAccessPinItem: quickAccessPinItemProp, onToggleQuickAccess, onGroupHeaderChevronClick, } = props;
|
|
66
|
+
const [labelPopupOpen, setLabelPopupOpen] = React.useState(false);
|
|
67
|
+
const [menuPopupOpen, setMenuPopupOpen] = React.useState(false);
|
|
38
68
|
const ref = React.useRef(null);
|
|
69
|
+
const mergedRowRef = React.useCallback((element) => {
|
|
70
|
+
uikit.setRef(ref, element);
|
|
71
|
+
uikit.setRef(props.rowRef, element);
|
|
72
|
+
}, [props.rowRef]);
|
|
39
73
|
const anchorRef = resolveAnchorRef(anchoreRefProp, ref);
|
|
40
74
|
const highlightedRef = React.useRef(null);
|
|
75
|
+
const interactiveRowRef = React.useRef(null);
|
|
41
76
|
const type = props.type || constants.ITEM_TYPE_REGULAR;
|
|
42
77
|
const icon = props.icon;
|
|
43
|
-
const
|
|
78
|
+
const asideHeaderContext = AsideHeaderContext.useSafeAsideHeaderContext();
|
|
79
|
+
const defaultIconSize = density.getAsideHeaderDensityConfig(asideHeaderContext === null || asideHeaderContext === undefined ? undefined : asideHeaderContext.menuDensity).iconSize;
|
|
80
|
+
const iconSize = props.iconSize || defaultIconSize;
|
|
44
81
|
const iconQa = props.iconQa;
|
|
45
82
|
const collapsedItem = props.id === constants.COLLAPSE_ITEM_ID;
|
|
46
83
|
const inlineGroupHeader = groupHeaderExpanded !== undefined;
|
|
47
84
|
const resolvedMenuPopupItems = menuPopupItems !== null && menuPopupItems !== undefined ? menuPopupItems : props.compositeBarMenuPopupItems;
|
|
48
85
|
const resolvedMenuPopupTitle = menuPopupTitle !== null && menuPopupTitle !== undefined ? menuPopupTitle : props.compositeBarMenuPopupTitle;
|
|
49
|
-
const
|
|
86
|
+
const currentIds = suppressCurrentHighlight
|
|
87
|
+
? []
|
|
88
|
+
: presentationCurrent.getItemPresentationCurrentIds(props, {
|
|
89
|
+
suppressCurrentItemIds,
|
|
90
|
+
popupItems: resolvedMenuPopupItems,
|
|
91
|
+
});
|
|
92
|
+
const current = currentIds.length > 0;
|
|
93
|
+
const currentIdsMetadata = !menuPopupRow && currentIds.length ? JSON.stringify(currentIds) : undefined;
|
|
94
|
+
const quickAccessPinItem = quickAccessPinItemProp !== null && quickAccessPinItemProp !== undefined ? quickAccessPinItemProp : props;
|
|
95
|
+
const showQuickAccessPin = shouldShowQuickAccessPin({
|
|
96
|
+
enabled: enableQuickAccessPin,
|
|
97
|
+
compact,
|
|
98
|
+
popupItems: resolvedMenuPopupItems,
|
|
99
|
+
item: quickAccessPinItem,
|
|
100
|
+
onToggle: onToggleQuickAccess,
|
|
101
|
+
});
|
|
102
|
+
const [quickAccessPinSuppressed, setQuickAccessPinSuppressed] = React.useState(false);
|
|
103
|
+
const handleToggleQuickAccess = React.useCallback((event) => {
|
|
104
|
+
onToggleQuickAccess === null || onToggleQuickAccess === undefined ? undefined : onToggleQuickAccess(quickAccessPinItem, event);
|
|
105
|
+
// Pointer clicks should not leave the control under the cursor after the row moves.
|
|
106
|
+
// Keep keyboard-triggered controls visible and focused.
|
|
107
|
+
if (event.detail > 0) {
|
|
108
|
+
setQuickAccessPinSuppressed(true);
|
|
109
|
+
event.currentTarget.blur();
|
|
110
|
+
}
|
|
111
|
+
}, [onToggleQuickAccess, quickAccessPinItem]);
|
|
50
112
|
const handleOpenChangePopup = React.useCallback((newOpen, event, reason) => {
|
|
51
113
|
var _a;
|
|
52
114
|
if (event instanceof MouseEvent &&
|
|
@@ -55,29 +117,51 @@ const Item = (props) => {
|
|
|
55
117
|
return;
|
|
56
118
|
}
|
|
57
119
|
if (newOpen) {
|
|
58
|
-
|
|
120
|
+
setLabelPopupOpen(false);
|
|
121
|
+
setMenuPopupOpen(false);
|
|
59
122
|
}
|
|
60
123
|
onOpenChangePopup === null || onOpenChangePopup === undefined ? undefined : onOpenChangePopup(newOpen, event, reason);
|
|
61
124
|
}, [onOpenChangePopup]);
|
|
62
125
|
const isDivider = type === 'divider';
|
|
63
|
-
const showMenuPopup =
|
|
64
|
-
|
|
65
|
-
|
|
126
|
+
const showMenuPopup = shouldShowMenuPopup({
|
|
127
|
+
type,
|
|
128
|
+
popupItems: resolvedMenuPopupItems,
|
|
129
|
+
collapsedItem,
|
|
130
|
+
inlineGroupHeader,
|
|
131
|
+
groupHeaderExpanded,
|
|
132
|
+
});
|
|
133
|
+
const compactPopoverDisabled = !enableTooltip || popupVisible || type === 'action';
|
|
134
|
+
const labelPopupAvailable = shouldShowLabelPopup({
|
|
135
|
+
isDivider,
|
|
136
|
+
compact,
|
|
137
|
+
hasPopupItems: Boolean(resolvedMenuPopupItems === null || resolvedMenuPopupItems === undefined ? undefined : resolvedMenuPopupItems.length),
|
|
138
|
+
disabled: compactPopoverDisabled,
|
|
139
|
+
});
|
|
140
|
+
React.useEffect(() => {
|
|
141
|
+
if (!showMenuPopup)
|
|
142
|
+
setMenuPopupOpen(false);
|
|
143
|
+
if (!labelPopupAvailable)
|
|
144
|
+
setLabelPopupOpen(false);
|
|
145
|
+
}, [showMenuPopup, labelPopupAvailable]);
|
|
66
146
|
const submenuNest = React.useContext(ItemPopupNestContext.ItemPopupNestContext);
|
|
67
147
|
React.useEffect(() => {
|
|
68
|
-
if (!submenuNest || !showMenuPopup || !
|
|
148
|
+
if (!submenuNest || !showMenuPopup || !menuPopupOpen) {
|
|
69
149
|
return undefined;
|
|
70
150
|
}
|
|
71
151
|
submenuNest.registerNestedOpen(1);
|
|
72
152
|
return () => {
|
|
73
153
|
submenuNest.registerNestedOpen(-1);
|
|
74
154
|
};
|
|
75
|
-
}, [submenuNest, showMenuPopup,
|
|
155
|
+
}, [submenuNest, showMenuPopup, menuPopupOpen]);
|
|
76
156
|
if (isDivider) {
|
|
77
|
-
return React.createElement("div",
|
|
157
|
+
return (React.createElement(AsideDivider.AsideDivider, { as: "div", className: b('menu-divider'), transitionId: `item/${props.id}` }));
|
|
78
158
|
}
|
|
79
|
-
const
|
|
80
|
-
|
|
159
|
+
const expandedTitleLines = getExpandedTitleLines({
|
|
160
|
+
type,
|
|
161
|
+
compact,
|
|
162
|
+
menuPopupRow,
|
|
163
|
+
titleLines: props.titleLines,
|
|
164
|
+
});
|
|
81
165
|
const makeIconNode = (iconEl, withCompactPopover = true) => {
|
|
82
166
|
if (!compact) {
|
|
83
167
|
return iconEl;
|
|
@@ -86,10 +170,10 @@ const Item = (props) => {
|
|
|
86
170
|
if (!withCompactPopover || (resolvedMenuPopupItems === null || resolvedMenuPopupItems === undefined ? undefined : resolvedMenuPopupItems.length)) {
|
|
87
171
|
return iconButton;
|
|
88
172
|
}
|
|
89
|
-
return (React.createElement(ItemPopup.ItemPopup, { items: [
|
|
173
|
+
return (React.createElement(ItemPopup.ItemPopup, { items: [quickAccessPinItem], variant: "label", highlightCurrentItem: false, open: labelPopupOpen, onOpenChange: (nextOpen) => {
|
|
90
174
|
if (nextOpen && compactPopoverDisabled)
|
|
91
175
|
return;
|
|
92
|
-
|
|
176
|
+
setLabelPopupOpen(nextOpen);
|
|
93
177
|
}, hideIcon: true, itemClassName: popupItemClassName, disabled: compactPopoverDisabled, type: type, collapsed: compact,
|
|
94
178
|
/**
|
|
95
179
|
* No `onPopupItemClick` here on purpose: this popup renders the item itself
|
|
@@ -98,14 +182,20 @@ const Item = (props) => {
|
|
|
98
182
|
* the AsideHeader handler; the direct path would pass the wrapper as
|
|
99
183
|
* `item.onItemClick` and trigger the handler twice (toggling All pages back).
|
|
100
184
|
*/
|
|
101
|
-
onItemClick: onItemClick }, iconButton));
|
|
185
|
+
onItemClick: onItemClick, suppressCurrentItemIds: suppressCurrentItemIds }, iconButton));
|
|
102
186
|
};
|
|
103
187
|
const ariaLabel = typeof title === 'string' ? title : undefined;
|
|
104
188
|
const resolvedAriaLabel = resolveItemAriaLabel(menuItemAriaProps, ariaLabel);
|
|
189
|
+
const showSurface = !menuPopupRow && [constants.ITEM_TYPE_REGULAR, 'action'].includes(type);
|
|
105
190
|
const makeNode = ({ icon: iconEl, title: titleEl }) => {
|
|
106
191
|
var _a;
|
|
107
192
|
const wrappedByItemWrapper = typeof itemWrapper === 'function';
|
|
108
|
-
const
|
|
193
|
+
const showChevron = shouldShowChevron({
|
|
194
|
+
compact,
|
|
195
|
+
inlineGroupHeader,
|
|
196
|
+
hasPopupItems: Boolean(resolvedMenuPopupItems === null || resolvedMenuPopupItems === undefined ? undefined : resolvedMenuPopupItems.length),
|
|
197
|
+
});
|
|
198
|
+
const chevronClick = showChevron && inlineGroupHeader ? onGroupHeaderChevronClick : undefined;
|
|
109
199
|
/* With a sibling chevron control, the wrapper becomes the outer box of the row,
|
|
110
200
|
so the external className (outer layout) is applied to it instead of the row. */
|
|
111
201
|
const rowClassName = b({
|
|
@@ -113,41 +203,51 @@ const Item = (props) => {
|
|
|
113
203
|
current,
|
|
114
204
|
compact,
|
|
115
205
|
'hide-icon': hideIcon,
|
|
206
|
+
'menu-group-nested': menuGroupNested,
|
|
207
|
+
'menu-popup-row': menuPopupRow,
|
|
208
|
+
'with-quick-access-pin': showQuickAccessPin,
|
|
209
|
+
'title-lines': expandedTitleLines === null || expandedTitleLines === undefined ? undefined : expandedTitleLines.toString(),
|
|
116
210
|
'with-chevron-control': Boolean(chevronClick),
|
|
117
211
|
}, chevronClick ? undefined : className);
|
|
118
212
|
const handleRowClick = (event) => {
|
|
213
|
+
var _a;
|
|
119
214
|
if (compact && !collapsedItem && !showMenuPopup && !current) {
|
|
120
|
-
|
|
215
|
+
setLabelPopupOpen(false);
|
|
216
|
+
}
|
|
217
|
+
if (event.detail > 0) {
|
|
218
|
+
const activeElement = event.currentTarget.ownerDocument.activeElement;
|
|
219
|
+
if (activeElement instanceof HTMLElement &&
|
|
220
|
+
((_a = interactiveRowRef.current) === null || _a === undefined ? undefined : _a.contains(activeElement))) {
|
|
221
|
+
activeElement.blur();
|
|
222
|
+
}
|
|
121
223
|
}
|
|
122
224
|
onItemClick === null || onItemClick === undefined ? undefined : onItemClick(props, collapsedItem, event);
|
|
123
225
|
if (stopClickPropagation) {
|
|
124
226
|
event.stopPropagation();
|
|
125
227
|
}
|
|
126
228
|
};
|
|
127
|
-
const chevronSize = compact ? CHEVRON_SIZE_COMPACT : CHEVRON_SIZE;
|
|
128
229
|
let chevronNode = null;
|
|
129
230
|
let chevronControl = null;
|
|
130
231
|
if (chevronClick) {
|
|
131
|
-
chevronControl = (React.createElement("button", { type: "button", className: b('chevron', { interactive: true }), "aria-label":
|
|
232
|
+
chevronControl = (React.createElement("button", { type: "button", className: b('chevron', { interactive: true }), "aria-label": [getChevronFallbackLabel(groupHeaderExpanded), resolvedAriaLabel]
|
|
233
|
+
.filter(Boolean)
|
|
234
|
+
.join(' '), "aria-expanded": groupHeaderExpanded, onClick: (event) => {
|
|
132
235
|
event.stopPropagation();
|
|
133
236
|
chevronClick(event);
|
|
134
237
|
} },
|
|
135
|
-
React.createElement(uikit.Icon, { data: groupHeaderExpanded ? icons.
|
|
238
|
+
React.createElement(uikit.Icon, { data: groupHeaderExpanded ? icons.ChevronDown : icons.ChevronRight, size: CHEVRON_SIZE })));
|
|
136
239
|
}
|
|
137
|
-
else if (
|
|
240
|
+
else if (showChevron) {
|
|
138
241
|
chevronNode = (React.createElement("div", { className: b('chevron') },
|
|
139
|
-
React.createElement(uikit.Icon, { data: groupHeaderExpanded ? icons.
|
|
140
|
-
}
|
|
141
|
-
else if (showFlyoutChevron) {
|
|
142
|
-
chevronNode = (React.createElement("div", { className: b('chevron') },
|
|
143
|
-
React.createElement(uikit.Icon, { data: icons.ChevronRight, size: chevronSize })));
|
|
242
|
+
React.createElement(uikit.Icon, { data: groupHeaderExpanded ? icons.ChevronDown : icons.ChevronRight, size: CHEVRON_SIZE })));
|
|
144
243
|
}
|
|
145
244
|
const rowChildren = (React.createElement(React.Fragment, null,
|
|
245
|
+
showSurface && (React.createElement("span", { className: b('surface'), "data-gn-aside-part": "surface", "aria-hidden": true })),
|
|
146
246
|
menuGroupNestedTreeConnector,
|
|
147
|
-
React.createElement("div", { className: b('icon-place'), ref: highlightedRef }, makeIconNode(iconEl)),
|
|
148
|
-
React.createElement("div", { className: b('title'), title: ariaLabel }, titleEl),
|
|
247
|
+
React.createElement("div", { className: b('icon-place'), ref: highlightedRef, "data-gn-aside-part": "icon" }, makeIconNode(iconEl)),
|
|
248
|
+
React.createElement("div", { className: b('title'), "data-gn-aside-part": "title", title: ariaLabel }, titleEl),
|
|
149
249
|
chevronNode));
|
|
150
|
-
const rowEventProps = Object.assign(Object.assign({}, (menuItemAriaProps !== null && menuItemAriaProps !== undefined ? menuItemAriaProps : {})), { className: rowClassName, 'data-type': type, 'data-qa': qa, 'aria-label': resolvedAriaLabel, onClick: handleRowClick, onClickCapture: onItemClickCapture, onMouseEnter: () => {
|
|
250
|
+
const rowEventProps = Object.assign(Object.assign({}, (menuItemAriaProps !== null && menuItemAriaProps !== undefined ? menuItemAriaProps : {})), { className: rowClassName, 'data-type': type, 'data-qa': qa, [constants.COMPOSITE_BAR_ITEM_ID_ATTRIBUTE]: props.id, [currentIndicatorDom.CURRENT_IDS_ATTRIBUTE]: currentIdsMetadata, 'data-gn-aside-nested': menuGroupNested ? '' : undefined, 'aria-label': resolvedAriaLabel, onClick: handleRowClick, onClickCapture: onItemClickCapture, onMouseEnter: () => {
|
|
151
251
|
if (!compact) {
|
|
152
252
|
onMouseEnter === null || onMouseEnter === undefined ? undefined : onMouseEnter();
|
|
153
253
|
}
|
|
@@ -158,40 +258,55 @@ const Item = (props) => {
|
|
|
158
258
|
} });
|
|
159
259
|
let tagNode;
|
|
160
260
|
if (href) {
|
|
161
|
-
tagNode = (React.createElement("a", Object.assign({}, rowEventProps, { href: href, ref:
|
|
261
|
+
tagNode = (React.createElement("a", Object.assign({}, rowEventProps, { href: href, ref: mergedRowRef }), rowChildren));
|
|
162
262
|
}
|
|
163
263
|
else if (wrappedByItemWrapper) {
|
|
164
|
-
tagNode = (React.createElement("div", Object.assign({}, rowEventProps, { role: (_a = menuItemAriaProps === null || menuItemAriaProps === undefined ? undefined : menuItemAriaProps.role) !== null && _a !== undefined ? _a : 'button', ref:
|
|
264
|
+
tagNode = (React.createElement("div", Object.assign({}, rowEventProps, { role: (_a = menuItemAriaProps === null || menuItemAriaProps === undefined ? undefined : menuItemAriaProps.role) !== null && _a !== undefined ? _a : 'button', ref: mergedRowRef }), rowChildren));
|
|
165
265
|
}
|
|
166
266
|
else {
|
|
167
|
-
tagNode = (React.createElement("button", Object.assign({}, rowEventProps, { ref:
|
|
267
|
+
tagNode = (React.createElement("button", Object.assign({}, rowEventProps, { ref: mergedRowRef }), rowChildren));
|
|
168
268
|
}
|
|
169
269
|
if (chevronControl) {
|
|
170
|
-
tagNode = (React.createElement("div", { className: b('group-header-row', className) },
|
|
270
|
+
tagNode = (React.createElement("div", { className: b('group-header-row', { current }, className) },
|
|
171
271
|
tagNode,
|
|
172
272
|
chevronControl));
|
|
173
273
|
}
|
|
174
274
|
const expandedMenuRows = resolvedMenuPopupItems;
|
|
175
|
-
const wrappedTagNode = showMenuPopup && expandedMenuRows ? (React.createElement(ItemPopup.ItemPopup, { items: expandedMenuRows, title: resolvedMenuPopupTitle, open:
|
|
275
|
+
const wrappedTagNode = showMenuPopup && expandedMenuRows ? (React.createElement(ItemPopup.ItemPopup, { items: expandedMenuRows, title: resolvedMenuPopupTitle, open: menuPopupOpen, itemClassName: popupItemClassName, hideIcon: menuPopupHideIcon, nestedPopupHideIcon: menuPopupNestedHideIcon, onOpenChange: setMenuPopupOpen, collapsed: collapsedItem ? true : compact, onPopupItemClick: onPopupItemClick, onItemClick: onItemClick, enableQuickAccessPin: enableQuickAccessPin, onToggleQuickAccess: onToggleQuickAccess, suppressCurrentItemIds: suppressCurrentItemIds }, tagNode)) : (tagNode);
|
|
176
276
|
const createdNode = (React.createElement(React.Fragment, null,
|
|
177
277
|
wrappedTagNode,
|
|
178
278
|
renderPopupContent && Boolean(anchorRef === null || anchorRef === undefined ? undefined : anchorRef.current) && (React.createElement(uikit.Popup, { strategy: "fixed", open: popupVisible, keepMounted: popupKeepMounted, placement: popupPlacement, offset: popupOffset, anchorElement: anchorRef.current, onOpenChange: handleOpenChangePopup }, renderPopupContent()))));
|
|
179
279
|
return createdNode;
|
|
180
280
|
};
|
|
281
|
+
const wrapWithQuickAccessPin = (rowNode) => {
|
|
282
|
+
if (!showQuickAccessPin) {
|
|
283
|
+
return rowNode;
|
|
284
|
+
}
|
|
285
|
+
return (React.createElement("div", { ref: interactiveRowRef, className: b('interactive-row', { 'menu-popup': menuPopupRow }), onMouseLeave: () => setQuickAccessPinSuppressed(false) },
|
|
286
|
+
rowNode,
|
|
287
|
+
React.createElement("span", { className: b('quick-access-pin-slot', {
|
|
288
|
+
suppressed: quickAccessPinSuppressed,
|
|
289
|
+
}) },
|
|
290
|
+
React.createElement(ItemQuickAccessPin.ItemQuickAccessPin, { quickAccess: quickAccessPinItem.quickAccess, onToggle: handleToggleQuickAccess }))));
|
|
291
|
+
};
|
|
181
292
|
const iconNode = hideIcon || !icon ? null : (React.createElement(uikit.Icon, { qa: iconQa, data: icon, size: iconSize, className: b('icon') }));
|
|
182
|
-
const titleNode = renderItemTitle.renderItemTitle({
|
|
293
|
+
const titleNode = renderItemTitle.renderItemTitle({
|
|
294
|
+
title,
|
|
295
|
+
rightAdornment,
|
|
296
|
+
titleLines: expandedTitleLines,
|
|
297
|
+
});
|
|
183
298
|
const params = { icon: iconNode, title: titleNode };
|
|
184
299
|
let highlightedNode = null;
|
|
185
300
|
let node;
|
|
186
301
|
const opts = { compact: Boolean(compact), collapsed: false, item: props, ref };
|
|
187
302
|
if (typeof itemWrapper === 'function') {
|
|
188
|
-
node = itemWrapper(params, makeNode, opts);
|
|
303
|
+
node = wrapWithQuickAccessPin(itemWrapper(params, makeNode, opts));
|
|
189
304
|
highlightedNode =
|
|
190
305
|
bringForward &&
|
|
191
306
|
itemWrapper(params, ({ icon: iconEl }) => makeIconNode(iconEl, false), opts);
|
|
192
307
|
}
|
|
193
308
|
else {
|
|
194
|
-
node = makeNode(params);
|
|
309
|
+
node = wrapWithQuickAccessPin(makeNode(params));
|
|
195
310
|
highlightedNode = bringForward && makeIconNode(iconNode, false);
|
|
196
311
|
}
|
|
197
312
|
return (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/AsideHeader/components/CompositeBar/Item/Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport {ChevronDown, ChevronRight, ChevronUp} from '@gravity-ui/icons';\nimport {Icon, Popup, PopupPlacement, PopupProps} from '@gravity-ui/uikit';\n\nimport {ASIDE_HEADER_ICON_SIZE} from '../../../../constants';\nimport {MakeItemParams} from '../../../../types';\nimport {createBlock} from '../../../../utils/cn';\nimport i18n from '../../../i18n';\nimport {HighlightedItem} from '../HighlightedItem/HighlightedItem';\nimport {COLLAPSE_ITEM_ID, ITEM_TYPE_REGULAR} from '../constants';\n\nimport {ItemInnerProps, ItemProps} from './Item.types';\nimport {ItemPopup} from './ItemPopup';\nimport {ItemPopupNestContext} from './ItemPopupNestContext';\nimport {renderItemTitle} from './renderItemTitle';\n\nimport styles from './Item.module.scss';\n\nconst b = createBlock('composite-bar-item', styles);\n\nconst defaultPopupPlacement: PopupPlacement = ['right-end'];\nconst defaultPopupOffset: NonNullable<PopupProps['offset']> = {mainAxis: 14};\nconst CHEVRON_SIZE = 16;\nconst CHEVRON_SIZE_COMPACT = 10;\n\nfunction getChevronFallbackLabel(expanded: boolean | undefined): string {\n return expanded ? i18n('button_collapse') : i18n('button_expand');\n}\n\nfunction resolveItemAriaLabel(\n ariaProps: ItemInnerProps['menuItemAriaProps'],\n titleLabel: string | undefined,\n): string | undefined {\n return ariaProps?.['aria-label'] ?? titleLabel;\n}\n\nfunction resolveAnchorRef(\n anchorRef: React.RefObject<HTMLElement> | undefined,\n fallback: React.RefObject<HTMLElement>,\n): React.RefObject<HTMLElement> {\n return anchorRef?.current ? anchorRef : fallback;\n}\n\nfunction shouldShowFlyoutChevron(\n hasPopupItems: boolean,\n compact?: boolean,\n hideCompactChevron?: boolean,\n): boolean {\n return hasPopupItems && !(compact && hideCompactChevron);\n}\n\nexport const Item: React.FC<ItemInnerProps> = (props) => {\n const {\n className,\n popupItemClassName,\n menuPopupItems,\n menuPopupTitle,\n groupHeaderExpanded,\n compact,\n onMouseLeave,\n onMouseEnter,\n enableTooltip = true,\n popupVisible = false,\n popupRef: anchoreRefProp,\n popupPlacement = defaultPopupPlacement,\n popupOffset = defaultPopupOffset,\n popupKeepMounted,\n renderPopupContent,\n onOpenChangePopup,\n onItemClick,\n onPopupItemClick,\n onItemClickCapture,\n itemWrapper,\n bringForward,\n rightAdornment,\n title,\n href,\n qa,\n hideIcon = false,\n stopClickPropagation = false,\n menuGroupNestedTreeConnector,\n menuItemAriaProps,\n onGroupHeaderChevronClick,\n hideCompactChevron,\n } = props;\n\n const [compactNavPopoverOpen, setCompactNavPopoverOpen] = React.useState(false);\n\n const ref = React.useRef<HTMLElement>(null);\n const anchorRef = resolveAnchorRef(anchoreRefProp, ref);\n const highlightedRef = React.useRef<HTMLDivElement>(null);\n\n const type = props.type || ITEM_TYPE_REGULAR;\n const icon = props.icon;\n const iconSize = props.iconSize || ASIDE_HEADER_ICON_SIZE;\n const iconQa = props.iconQa;\n const collapsedItem = props.id === COLLAPSE_ITEM_ID;\n const inlineGroupHeader = groupHeaderExpanded !== undefined;\n const resolvedMenuPopupItems = menuPopupItems ?? props.compositeBarMenuPopupItems;\n const resolvedMenuPopupTitle = menuPopupTitle ?? props.compositeBarMenuPopupTitle;\n\n const current = props.current || resolvedMenuPopupItems?.some((item) => item.current) || false;\n\n const handleOpenChangePopup = React.useCallback<NonNullable<ItemProps['onOpenChangePopup']>>(\n (newOpen, event, reason) => {\n if (\n event instanceof MouseEvent &&\n event.target &&\n ref.current?.contains(event.target as Node)\n ) {\n return;\n }\n\n if (newOpen) {\n setCompactNavPopoverOpen(false);\n }\n\n onOpenChangePopup?.(newOpen, event, reason);\n },\n [onOpenChangePopup],\n );\n\n const isDivider = type === 'divider';\n const showMenuPopup =\n !isDivider &&\n Boolean(resolvedMenuPopupItems?.length) &&\n (collapsedItem || !inlineGroupHeader);\n\n const submenuNest = React.useContext(ItemPopupNestContext);\n\n React.useEffect(() => {\n if (!submenuNest || !showMenuPopup || !compactNavPopoverOpen) {\n return undefined;\n }\n\n submenuNest.registerNestedOpen(1);\n\n return () => {\n submenuNest.registerNestedOpen(-1);\n };\n }, [submenuNest, showMenuPopup, compactNavPopoverOpen]);\n\n if (isDivider) {\n return <div className={b('menu-divider')} />;\n }\n\n const compactPopoverDisabled = !enableTooltip || popupVisible || type === 'action';\n\n const showFlyoutChevron = shouldShowFlyoutChevron(\n Boolean(resolvedMenuPopupItems?.length),\n compact,\n hideCompactChevron,\n );\n\n const makeIconNode = (iconEl: React.ReactNode, withCompactPopover = true): React.ReactNode => {\n if (!compact) {\n return iconEl;\n }\n\n const iconButton = (\n <div\n onMouseEnter={() => onMouseEnter?.()}\n onMouseLeave={() => onMouseLeave?.()}\n className={b('btn-icon')}\n >\n {iconEl}\n </div>\n );\n\n if (!withCompactPopover || resolvedMenuPopupItems?.length) {\n return iconButton;\n }\n\n return (\n <ItemPopup\n items={[props]}\n open={compactNavPopoverOpen}\n onOpenChange={(nextOpen) => {\n if (nextOpen && compactPopoverDisabled) return;\n setCompactNavPopoverOpen(nextOpen);\n }}\n hideIcon\n itemClassName={popupItemClassName}\n disabled={compactPopoverDisabled}\n type={type}\n collapsed={compact}\n /**\n * No `onPopupItemClick` here on purpose: this popup renders the item itself\n * (`items={[props]}`), whose `onItemClick` is already the row-level wrapper.\n * Going through the wrapper keeps the original `item.onItemClick` intact for\n * the AsideHeader handler; the direct path would pass the wrapper as\n * `item.onItemClick` and trigger the handler twice (toggling All pages back).\n */\n onItemClick={onItemClick}\n >\n {iconButton}\n </ItemPopup>\n );\n };\n\n const ariaLabel = typeof title === 'string' ? title : undefined;\n const resolvedAriaLabel = resolveItemAriaLabel(menuItemAriaProps, ariaLabel);\n\n const makeNode = ({icon: iconEl, title: titleEl}: MakeItemParams) => {\n const wrappedByItemWrapper = typeof itemWrapper === 'function';\n const chevronClick = inlineGroupHeader ? onGroupHeaderChevronClick : undefined;\n /* With a sibling chevron control, the wrapper becomes the outer box of the row,\n so the external className (outer layout) is applied to it instead of the row. */\n const rowClassName = b(\n {\n type,\n current,\n compact,\n 'hide-icon': hideIcon,\n 'with-chevron-control': Boolean(chevronClick),\n },\n chevronClick ? undefined : className,\n );\n\n const handleRowClick = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (compact && !collapsedItem && !showMenuPopup && !current) {\n setCompactNavPopoverOpen(false);\n }\n\n onItemClick?.(props, collapsedItem, event);\n\n if (stopClickPropagation) {\n event.stopPropagation();\n }\n };\n\n const chevronSize = compact ? CHEVRON_SIZE_COMPACT : CHEVRON_SIZE;\n\n let chevronNode: React.ReactNode = null;\n let chevronControl: React.ReactNode = null;\n\n if (chevronClick) {\n chevronControl = (\n <button\n type=\"button\"\n className={b('chevron', {interactive: true})}\n aria-label={resolvedAriaLabel ?? getChevronFallbackLabel(groupHeaderExpanded)}\n aria-expanded={groupHeaderExpanded}\n onClick={(event) => {\n event.stopPropagation();\n chevronClick(event);\n }}\n >\n <Icon data={groupHeaderExpanded ? ChevronUp : ChevronDown} size={chevronSize} />\n </button>\n );\n } else if (inlineGroupHeader) {\n chevronNode = (\n <div className={b('chevron')}>\n <Icon data={groupHeaderExpanded ? ChevronUp : ChevronDown} size={chevronSize} />\n </div>\n );\n } else if (showFlyoutChevron) {\n chevronNode = (\n <div className={b('chevron')}>\n <Icon data={ChevronRight} size={chevronSize} />\n </div>\n );\n }\n\n const rowChildren = (\n <>\n {menuGroupNestedTreeConnector}\n <div className={b('icon-place')} ref={highlightedRef}>\n {makeIconNode(iconEl)}\n </div>\n\n <div className={b('title')} title={ariaLabel}>\n {titleEl}\n </div>\n\n {chevronNode}\n </>\n );\n\n const rowEventProps = {\n ...(menuItemAriaProps ?? {}),\n className: rowClassName,\n 'data-type': type,\n 'data-qa': qa,\n 'aria-label': resolvedAriaLabel,\n onClick: handleRowClick,\n onClickCapture: onItemClickCapture,\n onMouseEnter: () => {\n if (!compact) {\n onMouseEnter?.();\n }\n },\n onMouseLeave: () => {\n if (!compact) {\n onMouseLeave?.();\n }\n },\n };\n\n let tagNode: React.ReactNode;\n\n if (href) {\n tagNode = (\n <a {...rowEventProps} href={href} ref={ref as React.RefObject<HTMLAnchorElement>}>\n {rowChildren}\n </a>\n );\n } else if (wrappedByItemWrapper) {\n tagNode = (\n <div\n {...rowEventProps}\n role={menuItemAriaProps?.role ?? 'button'}\n ref={ref as React.RefObject<HTMLDivElement>}\n >\n {rowChildren}\n </div>\n );\n } else {\n tagNode = (\n <button {...rowEventProps} ref={ref as React.RefObject<HTMLButtonElement>}>\n {rowChildren}\n </button>\n );\n }\n\n if (chevronControl) {\n tagNode = (\n <div className={b('group-header-row', className)}>\n {tagNode}\n {chevronControl}\n </div>\n );\n }\n\n const expandedMenuRows = resolvedMenuPopupItems;\n\n const wrappedTagNode =\n showMenuPopup && expandedMenuRows ? (\n <ItemPopup\n items={expandedMenuRows}\n title={resolvedMenuPopupTitle}\n open={compactNavPopoverOpen}\n itemClassName={popupItemClassName}\n onOpenChange={setCompactNavPopoverOpen}\n collapsed={collapsedItem ? true : compact}\n onPopupItemClick={onPopupItemClick}\n onItemClick={onItemClick}\n >\n {tagNode}\n </ItemPopup>\n ) : (\n tagNode\n );\n\n const createdNode = (\n <React.Fragment>\n {wrappedTagNode}\n {renderPopupContent && Boolean(anchorRef?.current) && (\n <Popup\n strategy=\"fixed\"\n open={popupVisible}\n keepMounted={popupKeepMounted}\n placement={popupPlacement}\n offset={popupOffset}\n anchorElement={anchorRef.current}\n onOpenChange={handleOpenChangePopup}\n >\n {renderPopupContent()}\n </Popup>\n )}\n </React.Fragment>\n );\n\n return createdNode;\n };\n\n const iconNode =\n hideIcon || !icon ? null : (\n <Icon qa={iconQa} data={icon} size={iconSize} className={b('icon')} />\n );\n const titleNode = renderItemTitle({title, rightAdornment});\n const params = {icon: iconNode, title: titleNode};\n let highlightedNode = null;\n let node;\n\n const opts = {compact: Boolean(compact), collapsed: false, item: props, ref};\n\n if (typeof itemWrapper === 'function') {\n node = itemWrapper(params, makeNode, opts) as React.ReactElement;\n highlightedNode =\n bringForward &&\n (itemWrapper(\n params,\n ({icon: iconEl}) => makeIconNode(iconEl, false),\n opts,\n ) as React.ReactElement);\n } else {\n node = makeNode(params);\n highlightedNode = bringForward && makeIconNode(iconNode, false);\n }\n\n return (\n <React.Fragment>\n {bringForward && (\n <HighlightedItem\n iconNode={highlightedNode}\n iconRef={highlightedRef}\n onClick={(event: React.MouseEvent<HTMLElement, MouseEvent>) =>\n onItemClick?.(props, false, event)\n }\n onClickCapture={onItemClickCapture}\n />\n )}\n {node}\n </React.Fragment>\n );\n};\n\nItem.displayName = 'Item';\n"],"names":["createBlock","styles","i18n","ITEM_TYPE_REGULAR","ASIDE_HEADER_ICON_SIZE","COLLAPSE_ITEM_ID","ItemPopupNestContext","ItemPopup","Icon","ChevronUp","ChevronDown","ChevronRight","Popup","renderItemTitle","HighlightedItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/AsideHeader/components/CompositeBar/Item/Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport {ChevronDown, ChevronRight} from '@gravity-ui/icons';\nimport {Icon, Popup, PopupPlacement, PopupProps, setRef} from '@gravity-ui/uikit';\n\nimport {MakeItemParams} from '../../../../types';\nimport {createBlock} from '../../../../utils/cn';\nimport {useSafeAsideHeaderContext} from '../../../AsideHeaderContext';\nimport {getAsideHeaderDensityConfig} from '../../../density';\nimport i18n from '../../../i18n';\nimport {isQuickAccessPinEligible} from '../../../quickAccess';\nimport {AsideHeaderItem} from '../../../types';\nimport {AsideDivider} from '../../AsideDivider';\nimport {CURRENT_IDS_ATTRIBUTE} from '../../PageLayout/currentIndicatorDom';\nimport {HighlightedItem} from '../HighlightedItem/HighlightedItem';\nimport {COLLAPSE_ITEM_ID, COMPOSITE_BAR_ITEM_ID_ATTRIBUTE, ITEM_TYPE_REGULAR} from '../constants';\nimport {getItemPresentationCurrentIds} from '../presentationCurrent';\n\nimport {ItemInnerProps, ItemProps, QuickAccessToggleHandler} from './Item.types';\nimport {ItemPopup} from './ItemPopup';\nimport {ItemPopupNestContext} from './ItemPopupNestContext';\nimport {ItemQuickAccessPin} from './ItemQuickAccessPin';\nimport {renderItemTitle} from './renderItemTitle';\n\nimport styles from './Item.module.scss';\n\nconst b = createBlock('composite-bar-item', styles);\n\nconst defaultPopupPlacement: PopupPlacement = ['right-end'];\nconst defaultPopupOffset: NonNullable<PopupProps['offset']> = {mainAxis: 14};\nconst CHEVRON_SIZE = 16;\n\nfunction shouldShowMenuPopup({\n type,\n popupItems,\n collapsedItem,\n inlineGroupHeader,\n groupHeaderExpanded,\n}: {\n type: string;\n popupItems?: ItemInnerProps['menuPopupItems'];\n collapsedItem: boolean;\n inlineGroupHeader: boolean;\n groupHeaderExpanded?: boolean;\n}) {\n return (\n type !== 'divider' &&\n Boolean(popupItems?.length) &&\n (collapsedItem || !inlineGroupHeader || !groupHeaderExpanded)\n );\n}\n\nfunction shouldShowLabelPopup({\n isDivider,\n compact,\n hasPopupItems,\n disabled,\n}: {\n isDivider: boolean;\n compact?: boolean;\n hasPopupItems: boolean;\n disabled: boolean;\n}) {\n return !isDivider && Boolean(compact) && !hasPopupItems && !disabled;\n}\n\nfunction shouldShowChevron({\n compact,\n inlineGroupHeader,\n hasPopupItems,\n}: {\n compact?: boolean;\n inlineGroupHeader: boolean;\n hasPopupItems: boolean;\n}) {\n if (inlineGroupHeader) {\n return !compact;\n }\n\n return !compact && hasPopupItems;\n}\n\nfunction getExpandedTitleLines({\n type,\n compact,\n menuPopupRow,\n titleLines,\n}: {\n type: string;\n compact?: boolean;\n menuPopupRow?: boolean;\n titleLines?: ItemInnerProps['titleLines'];\n}) {\n if (type !== ITEM_TYPE_REGULAR || compact || menuPopupRow) {\n return 1;\n }\n\n return titleLines;\n}\n\nfunction shouldShowQuickAccessPin({\n enabled,\n compact,\n popupItems,\n item,\n onToggle,\n}: {\n enabled?: boolean;\n compact?: boolean;\n popupItems?: AsideHeaderItem[];\n item: AsideHeaderItem;\n onToggle?: QuickAccessToggleHandler;\n}) {\n return (\n Boolean(enabled) &&\n !compact &&\n !popupItems?.length &&\n isQuickAccessPinEligible(item) &&\n typeof onToggle === 'function'\n );\n}\n\nfunction getChevronFallbackLabel(expanded: boolean | undefined): string {\n return expanded ? i18n('button_collapse') : i18n('button_expand');\n}\n\nfunction resolveItemAriaLabel(\n ariaProps: ItemInnerProps['menuItemAriaProps'],\n titleLabel: string | undefined,\n): string | undefined {\n return ariaProps?.['aria-label'] ?? titleLabel;\n}\n\nfunction resolveAnchorRef(\n anchorRef: React.RefObject<HTMLElement> | undefined,\n fallback: React.RefObject<HTMLElement>,\n): React.RefObject<HTMLElement> {\n return anchorRef?.current ? anchorRef : fallback;\n}\n\nexport const Item: React.FC<ItemInnerProps> = (props) => {\n const {\n className,\n popupItemClassName,\n menuPopupItems,\n menuPopupTitle,\n groupHeaderExpanded,\n compact,\n onMouseLeave,\n onMouseEnter,\n enableTooltip = true,\n popupVisible = false,\n popupRef: anchoreRefProp,\n popupPlacement = defaultPopupPlacement,\n popupOffset = defaultPopupOffset,\n popupKeepMounted,\n renderPopupContent,\n onOpenChangePopup,\n onItemClick,\n onPopupItemClick,\n onItemClickCapture,\n itemWrapper,\n bringForward,\n rightAdornment,\n title,\n href,\n qa,\n hideIcon = false,\n menuPopupHideIcon,\n menuPopupNestedHideIcon,\n stopClickPropagation = false,\n menuGroupNestedTreeConnector,\n menuGroupNested,\n menuItemAriaProps,\n menuPopupRow,\n suppressCurrentHighlight = false,\n suppressCurrentItemIds,\n enableQuickAccessPin,\n quickAccessPinItem: quickAccessPinItemProp,\n onToggleQuickAccess,\n onGroupHeaderChevronClick,\n } = props;\n\n const [labelPopupOpen, setLabelPopupOpen] = React.useState(false);\n const [menuPopupOpen, setMenuPopupOpen] = React.useState(false);\n\n const ref = React.useRef<HTMLElement>(null);\n const mergedRowRef = React.useCallback(\n (element: HTMLElement | null) => {\n setRef(ref, element);\n setRef(props.rowRef, element);\n },\n [props.rowRef],\n );\n const anchorRef = resolveAnchorRef(anchoreRefProp, ref);\n const highlightedRef = React.useRef<HTMLDivElement>(null);\n const interactiveRowRef = React.useRef<HTMLDivElement>(null);\n\n const type = props.type || ITEM_TYPE_REGULAR;\n const icon = props.icon;\n const asideHeaderContext = useSafeAsideHeaderContext();\n const defaultIconSize = getAsideHeaderDensityConfig(asideHeaderContext?.menuDensity).iconSize;\n const iconSize = props.iconSize || defaultIconSize;\n const iconQa = props.iconQa;\n const collapsedItem = props.id === COLLAPSE_ITEM_ID;\n const inlineGroupHeader = groupHeaderExpanded !== undefined;\n const resolvedMenuPopupItems = menuPopupItems ?? props.compositeBarMenuPopupItems;\n const resolvedMenuPopupTitle = menuPopupTitle ?? props.compositeBarMenuPopupTitle;\n\n const currentIds = suppressCurrentHighlight\n ? []\n : getItemPresentationCurrentIds(props, {\n suppressCurrentItemIds,\n popupItems: resolvedMenuPopupItems,\n });\n const current = currentIds.length > 0;\n const currentIdsMetadata =\n !menuPopupRow && currentIds.length ? JSON.stringify(currentIds) : undefined;\n const quickAccessPinItem = quickAccessPinItemProp ?? props;\n const showQuickAccessPin = shouldShowQuickAccessPin({\n enabled: enableQuickAccessPin,\n compact,\n popupItems: resolvedMenuPopupItems,\n item: quickAccessPinItem,\n onToggle: onToggleQuickAccess,\n });\n const [quickAccessPinSuppressed, setQuickAccessPinSuppressed] = React.useState(false);\n\n const handleToggleQuickAccess = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onToggleQuickAccess?.(quickAccessPinItem, event);\n\n // Pointer clicks should not leave the control under the cursor after the row moves.\n // Keep keyboard-triggered controls visible and focused.\n if (event.detail > 0) {\n setQuickAccessPinSuppressed(true);\n event.currentTarget.blur();\n }\n },\n [onToggleQuickAccess, quickAccessPinItem],\n );\n\n const handleOpenChangePopup = React.useCallback<NonNullable<ItemProps['onOpenChangePopup']>>(\n (newOpen, event, reason) => {\n if (\n event instanceof MouseEvent &&\n event.target &&\n ref.current?.contains(event.target as Node)\n ) {\n return;\n }\n\n if (newOpen) {\n setLabelPopupOpen(false);\n setMenuPopupOpen(false);\n }\n\n onOpenChangePopup?.(newOpen, event, reason);\n },\n [onOpenChangePopup],\n );\n\n const isDivider = type === 'divider';\n const showMenuPopup = shouldShowMenuPopup({\n type,\n popupItems: resolvedMenuPopupItems,\n collapsedItem,\n inlineGroupHeader,\n groupHeaderExpanded,\n });\n\n const compactPopoverDisabled = !enableTooltip || popupVisible || type === 'action';\n const labelPopupAvailable = shouldShowLabelPopup({\n isDivider,\n compact,\n hasPopupItems: Boolean(resolvedMenuPopupItems?.length),\n disabled: compactPopoverDisabled,\n });\n\n React.useEffect(() => {\n if (!showMenuPopup) setMenuPopupOpen(false);\n if (!labelPopupAvailable) setLabelPopupOpen(false);\n }, [showMenuPopup, labelPopupAvailable]);\n\n const submenuNest = React.useContext(ItemPopupNestContext);\n\n React.useEffect(() => {\n if (!submenuNest || !showMenuPopup || !menuPopupOpen) {\n return undefined;\n }\n\n submenuNest.registerNestedOpen(1);\n\n return () => {\n submenuNest.registerNestedOpen(-1);\n };\n }, [submenuNest, showMenuPopup, menuPopupOpen]);\n\n if (isDivider) {\n return (\n <AsideDivider\n as=\"div\"\n className={b('menu-divider')}\n transitionId={`item/${props.id}`}\n />\n );\n }\n\n const expandedTitleLines = getExpandedTitleLines({\n type,\n compact,\n menuPopupRow,\n titleLines: props.titleLines,\n });\n\n const makeIconNode = (iconEl: React.ReactNode, withCompactPopover = true): React.ReactNode => {\n if (!compact) {\n return iconEl;\n }\n\n const iconButton = (\n <div\n onMouseEnter={() => onMouseEnter?.()}\n onMouseLeave={() => onMouseLeave?.()}\n className={b('btn-icon')}\n >\n {iconEl}\n </div>\n );\n\n if (!withCompactPopover || resolvedMenuPopupItems?.length) {\n return iconButton;\n }\n\n return (\n <ItemPopup\n items={[quickAccessPinItem]}\n variant=\"label\"\n highlightCurrentItem={false}\n open={labelPopupOpen}\n onOpenChange={(nextOpen) => {\n if (nextOpen && compactPopoverDisabled) return;\n setLabelPopupOpen(nextOpen);\n }}\n hideIcon\n itemClassName={popupItemClassName}\n disabled={compactPopoverDisabled}\n type={type}\n collapsed={compact}\n /**\n * No `onPopupItemClick` here on purpose: this popup renders the item itself\n * (`items={[props]}`), whose `onItemClick` is already the row-level wrapper.\n * Going through the wrapper keeps the original `item.onItemClick` intact for\n * the AsideHeader handler; the direct path would pass the wrapper as\n * `item.onItemClick` and trigger the handler twice (toggling All pages back).\n */\n onItemClick={onItemClick}\n suppressCurrentItemIds={suppressCurrentItemIds}\n >\n {iconButton}\n </ItemPopup>\n );\n };\n\n const ariaLabel = typeof title === 'string' ? title : undefined;\n const resolvedAriaLabel = resolveItemAriaLabel(menuItemAriaProps, ariaLabel);\n const showSurface = !menuPopupRow && [ITEM_TYPE_REGULAR, 'action'].includes(type);\n\n const makeNode = ({icon: iconEl, title: titleEl}: MakeItemParams) => {\n const wrappedByItemWrapper = typeof itemWrapper === 'function';\n const showChevron = shouldShowChevron({\n compact,\n inlineGroupHeader,\n hasPopupItems: Boolean(resolvedMenuPopupItems?.length),\n });\n const chevronClick =\n showChevron && inlineGroupHeader ? onGroupHeaderChevronClick : undefined;\n /* With a sibling chevron control, the wrapper becomes the outer box of the row,\n so the external className (outer layout) is applied to it instead of the row. */\n const rowClassName = b(\n {\n type,\n current,\n compact,\n 'hide-icon': hideIcon,\n 'menu-group-nested': menuGroupNested,\n 'menu-popup-row': menuPopupRow,\n 'with-quick-access-pin': showQuickAccessPin,\n 'title-lines': expandedTitleLines?.toString(),\n 'with-chevron-control': Boolean(chevronClick),\n },\n chevronClick ? undefined : className,\n );\n\n const handleRowClick = (event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (compact && !collapsedItem && !showMenuPopup && !current) {\n setLabelPopupOpen(false);\n }\n\n if (event.detail > 0) {\n const activeElement = event.currentTarget.ownerDocument.activeElement;\n\n if (\n activeElement instanceof HTMLElement &&\n interactiveRowRef.current?.contains(activeElement)\n ) {\n activeElement.blur();\n }\n }\n\n onItemClick?.(props, collapsedItem, event);\n\n if (stopClickPropagation) {\n event.stopPropagation();\n }\n };\n\n let chevronNode: React.ReactNode = null;\n let chevronControl: React.ReactNode = null;\n\n if (chevronClick) {\n chevronControl = (\n <button\n type=\"button\"\n className={b('chevron', {interactive: true})}\n aria-label={[getChevronFallbackLabel(groupHeaderExpanded), resolvedAriaLabel]\n .filter(Boolean)\n .join(' ')}\n aria-expanded={groupHeaderExpanded}\n onClick={(event) => {\n event.stopPropagation();\n chevronClick(event);\n }}\n >\n <Icon\n data={groupHeaderExpanded ? ChevronDown : ChevronRight}\n size={CHEVRON_SIZE}\n />\n </button>\n );\n } else if (showChevron) {\n chevronNode = (\n <div className={b('chevron')}>\n <Icon\n data={groupHeaderExpanded ? ChevronDown : ChevronRight}\n size={CHEVRON_SIZE}\n />\n </div>\n );\n }\n\n const rowChildren = (\n <>\n {showSurface && (\n <span className={b('surface')} data-gn-aside-part=\"surface\" aria-hidden />\n )}\n {menuGroupNestedTreeConnector}\n <div className={b('icon-place')} ref={highlightedRef} data-gn-aside-part=\"icon\">\n {makeIconNode(iconEl)}\n </div>\n\n <div className={b('title')} data-gn-aside-part=\"title\" title={ariaLabel}>\n {titleEl}\n </div>\n\n {chevronNode}\n </>\n );\n\n const rowEventProps = {\n ...(menuItemAriaProps ?? {}),\n className: rowClassName,\n 'data-type': type,\n 'data-qa': qa,\n [COMPOSITE_BAR_ITEM_ID_ATTRIBUTE]: props.id,\n [CURRENT_IDS_ATTRIBUTE]: currentIdsMetadata,\n 'data-gn-aside-nested': menuGroupNested ? '' : undefined,\n 'aria-label': resolvedAriaLabel,\n onClick: handleRowClick,\n onClickCapture: onItemClickCapture,\n onMouseEnter: () => {\n if (!compact) {\n onMouseEnter?.();\n }\n },\n onMouseLeave: () => {\n if (!compact) {\n onMouseLeave?.();\n }\n },\n };\n\n let tagNode: React.ReactNode;\n\n if (href) {\n tagNode = (\n <a {...rowEventProps} href={href} ref={mergedRowRef}>\n {rowChildren}\n </a>\n );\n } else if (wrappedByItemWrapper) {\n tagNode = (\n <div\n {...rowEventProps}\n role={menuItemAriaProps?.role ?? 'button'}\n ref={mergedRowRef}\n >\n {rowChildren}\n </div>\n );\n } else {\n tagNode = (\n <button {...rowEventProps} ref={mergedRowRef}>\n {rowChildren}\n </button>\n );\n }\n\n if (chevronControl) {\n tagNode = (\n <div className={b('group-header-row', {current}, className)}>\n {tagNode}\n {chevronControl}\n </div>\n );\n }\n\n const expandedMenuRows = resolvedMenuPopupItems;\n\n const wrappedTagNode =\n showMenuPopup && expandedMenuRows ? (\n <ItemPopup\n items={expandedMenuRows}\n title={resolvedMenuPopupTitle}\n open={menuPopupOpen}\n itemClassName={popupItemClassName}\n hideIcon={menuPopupHideIcon}\n nestedPopupHideIcon={menuPopupNestedHideIcon}\n onOpenChange={setMenuPopupOpen}\n collapsed={collapsedItem ? true : compact}\n onPopupItemClick={onPopupItemClick}\n onItemClick={onItemClick}\n enableQuickAccessPin={enableQuickAccessPin}\n onToggleQuickAccess={onToggleQuickAccess}\n suppressCurrentItemIds={suppressCurrentItemIds}\n >\n {tagNode}\n </ItemPopup>\n ) : (\n tagNode\n );\n\n const createdNode = (\n <React.Fragment>\n {wrappedTagNode}\n {renderPopupContent && Boolean(anchorRef?.current) && (\n <Popup\n strategy=\"fixed\"\n open={popupVisible}\n keepMounted={popupKeepMounted}\n placement={popupPlacement}\n offset={popupOffset}\n anchorElement={anchorRef.current}\n onOpenChange={handleOpenChangePopup}\n >\n {renderPopupContent()}\n </Popup>\n )}\n </React.Fragment>\n );\n\n return createdNode;\n };\n\n const wrapWithQuickAccessPin = (rowNode: React.ReactNode) => {\n if (!showQuickAccessPin) {\n return rowNode;\n }\n\n return (\n <div\n ref={interactiveRowRef}\n className={b('interactive-row', {'menu-popup': menuPopupRow})}\n onMouseLeave={() => setQuickAccessPinSuppressed(false)}\n >\n {rowNode}\n <span\n className={b('quick-access-pin-slot', {\n suppressed: quickAccessPinSuppressed,\n })}\n >\n <ItemQuickAccessPin\n quickAccess={quickAccessPinItem.quickAccess}\n onToggle={handleToggleQuickAccess}\n />\n </span>\n </div>\n );\n };\n\n const iconNode =\n hideIcon || !icon ? null : (\n <Icon qa={iconQa} data={icon} size={iconSize} className={b('icon')} />\n );\n const titleNode = renderItemTitle({\n title,\n rightAdornment,\n titleLines: expandedTitleLines,\n });\n const params = {icon: iconNode, title: titleNode};\n let highlightedNode = null;\n let node;\n\n const opts = {compact: Boolean(compact), collapsed: false, item: props, ref};\n\n if (typeof itemWrapper === 'function') {\n node = wrapWithQuickAccessPin(itemWrapper(params, makeNode, opts) as React.ReactElement);\n highlightedNode =\n bringForward &&\n (itemWrapper(\n params,\n ({icon: iconEl}) => makeIconNode(iconEl, false),\n opts,\n ) as React.ReactElement);\n } else {\n node = wrapWithQuickAccessPin(makeNode(params));\n highlightedNode = bringForward && makeIconNode(iconNode, false);\n }\n\n return (\n <React.Fragment>\n {bringForward && (\n <HighlightedItem\n iconNode={highlightedNode}\n iconRef={highlightedRef}\n onClick={(event: React.MouseEvent<HTMLElement, MouseEvent>) =>\n onItemClick?.(props, false, event)\n }\n onClickCapture={onItemClickCapture}\n />\n )}\n {node}\n </React.Fragment>\n );\n};\n\nItem.displayName = 'Item';\n"],"names":["createBlock","styles","ITEM_TYPE_REGULAR","isQuickAccessPinEligible","i18n","setRef","useSafeAsideHeaderContext","getAsideHeaderDensityConfig","COLLAPSE_ITEM_ID","getItemPresentationCurrentIds","ItemPopupNestContext","AsideDivider","ItemPopup","Icon","ChevronDown","ChevronRight","COMPOSITE_BAR_ITEM_ID_ATTRIBUTE","CURRENT_IDS_ATTRIBUTE","Popup","ItemQuickAccessPin","renderItemTitle","HighlightedItem"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var styles = {"gn-composite-bar-item":"Item-module__gn-composite-bar-item___-pkx5","gnCompositeBarItem":"Item-module__gn-composite-bar-item___-pkx5","gn-composite-bar-item_type_regular":"Item-module__gn-composite-bar-item_type_regular___wkhsT","gnCompositeBarItemTypeRegular":"Item-module__gn-composite-bar-item_type_regular___wkhsT","gn-composite-bar-item__icon":"Item-module__gn-composite-bar-item__icon___ORFNf","gnCompositeBarItemIcon":"Item-module__gn-composite-bar-item__icon___ORFNf","gn-composite-bar-item_current":"Item-module__gn-composite-bar-item_current___NT2hB","gnCompositeBarItemCurrent":"Item-module__gn-composite-bar-item_current___NT2hB","gn-composite-bar-item__icon-tooltip":"Item-module__gn-composite-bar-item__icon-tooltip___PxU2i","gnCompositeBarItemIconTooltip":"Item-module__gn-composite-bar-item__icon-tooltip___PxU2i","g-action-tooltip__description":"Item-module__g-action-tooltip__description___UsHcG","gActionTooltipDescription":"Item-module__g-action-tooltip__description___UsHcG","gn-composite-bar-item__icon-place":"Item-module__gn-composite-bar-item__icon-place___jPKRh","gnCompositeBarItemIconPlace":"Item-module__gn-composite-bar-item__icon-place___jPKRh","gn-composite-bar-item__title":"Item-module__gn-composite-bar-item__title___wj5L5","gnCompositeBarItemTitle":"Item-module__gn-composite-bar-item__title___wj5L5","gn-composite-bar-item__title-text":"Item-module__gn-composite-bar-item__title-text___cILJo","gnCompositeBarItemTitleText":"Item-module__gn-composite-bar-item__title-text___cILJo","gn-composite-bar-item__title-adornment":"Item-module__gn-composite-bar-item__title-adornment___Xcopn","gnCompositeBarItemTitleAdornment":"Item-module__gn-composite-bar-item__title-adornment___Xcopn","gn-composite-bar-item__collapse-item":"Item-module__gn-composite-bar-item__collapse-item___Up6IX","gnCompositeBarItemCollapseItem":"Item-module__gn-composite-bar-item__collapse-item___Up6IX","gn-composite-bar-item__collapse-item-icon":"Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao","gnCompositeBarItemCollapseItemIcon":"Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao","gn-composite-bar-item__menu-divider":"Item-module__gn-composite-bar-item__menu-divider___hkm-Z","gnCompositeBarItemMenuDivider":"Item-module__gn-composite-bar-item__menu-divider___hkm-Z","gn-composite-bar-item__collapse-items-popup-content":"Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to","gnCompositeBarItemCollapseItemsPopupContent":"Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to","gn-composite-bar-item__link":"Item-module__gn-composite-bar-item__link___McAVN","gnCompositeBarItemLink":"Item-module__gn-composite-bar-item__link___McAVN","gn-composite-bar-item__btn-icon":"Item-module__gn-composite-bar-item__btn-icon___SwT65","gnCompositeBarItemBtnIcon":"Item-module__gn-composite-bar-item__btn-icon___SwT65","gn-composite-bar-item_type_action":"Item-module__gn-composite-bar-item_type_action___2jxO8","gnCompositeBarItemTypeAction":"Item-module__gn-composite-bar-item_type_action___2jxO8","gn-composite-bar-item__icon-tooltip_item-type_action":"Item-module__gn-composite-bar-item__icon-tooltip_item-type_action___HUhUR","gnCompositeBarItemIconTooltipItemTypeAction":"Item-module__gn-composite-bar-item__icon-tooltip_item-type_action___HUhUR","gn-composite-bar-item__icon-popover":"Item-module__gn-composite-bar-item__icon-popover___euq-P","gnCompositeBarItemIconPopover":"Item-module__gn-composite-bar-item__icon-popover___euq-P","gn-composite-bar-item__icon-popover_item-type_action":"Item-module__gn-composite-bar-item__icon-popover_item-type_action___ep-D3","gnCompositeBarItemIconPopoverItemTypeAction":"Item-module__gn-composite-bar-item__icon-popover_item-type_action___ep-D3","gn-composite-bar-item__popup-content":"Item-module__gn-composite-bar-item__popup-content___oys3t","gnCompositeBarItemPopupContent":"Item-module__gn-composite-bar-item__popup-content___oys3t","gn-composite-bar-item__root-menu-item":"Item-module__gn-composite-bar-item__root-menu-item___nlpvH","gnCompositeBarItemRootMenuItem":"Item-module__gn-composite-bar-item__root-menu-item___nlpvH","gn-composite-bar-item__popup-title":"Item-module__gn-composite-bar-item__popup-title___2-tGd","gnCompositeBarItemPopupTitle":"Item-module__gn-composite-bar-item__popup-title___2-tGd","gn-composite-bar-item__popup-item":"Item-module__gn-composite-bar-item__popup-item___MPgm3","gnCompositeBarItemPopupItem":"Item-module__gn-composite-bar-item__popup-item___MPgm3","gn-composite-bar-item_hide-icon":"Item-module__gn-composite-bar-item_hide-icon___bf5h3","gnCompositeBarItemHideIcon":"Item-module__gn-composite-bar-item_hide-icon___bf5h3","gn-composite-bar-
|
|
5
|
+
var styles = {"gn-composite-bar-item":"Item-module__gn-composite-bar-item___-pkx5","gnCompositeBarItem":"Item-module__gn-composite-bar-item___-pkx5","gn-composite-bar-item_type_regular":"Item-module__gn-composite-bar-item_type_regular___wkhsT","gnCompositeBarItemTypeRegular":"Item-module__gn-composite-bar-item_type_regular___wkhsT","gn-composite-bar-item__surface":"Item-module__gn-composite-bar-item__surface___iqsAp","gnCompositeBarItemSurface":"Item-module__gn-composite-bar-item__surface___iqsAp","gn-composite-bar-item_menu-popup-row":"Item-module__gn-composite-bar-item_menu-popup-row___pX55k","gnCompositeBarItemMenuPopupRow":"Item-module__gn-composite-bar-item_menu-popup-row___pX55k","gn-composite-bar-item_compact":"Item-module__gn-composite-bar-item_compact___PVTeM","gnCompositeBarItemCompact":"Item-module__gn-composite-bar-item_compact___PVTeM","gn-composite-bar-item__icon":"Item-module__gn-composite-bar-item__icon___ORFNf","gnCompositeBarItemIcon":"Item-module__gn-composite-bar-item__icon___ORFNf","gn-composite-bar-item_current":"Item-module__gn-composite-bar-item_current___NT2hB","gnCompositeBarItemCurrent":"Item-module__gn-composite-bar-item_current___NT2hB","gn-composite-bar-item__icon-tooltip":"Item-module__gn-composite-bar-item__icon-tooltip___PxU2i","gnCompositeBarItemIconTooltip":"Item-module__gn-composite-bar-item__icon-tooltip___PxU2i","g-action-tooltip__description":"Item-module__g-action-tooltip__description___UsHcG","gActionTooltipDescription":"Item-module__g-action-tooltip__description___UsHcG","gn-composite-bar-item__icon-place":"Item-module__gn-composite-bar-item__icon-place___jPKRh","gnCompositeBarItemIconPlace":"Item-module__gn-composite-bar-item__icon-place___jPKRh","gn-composite-bar-item__title":"Item-module__gn-composite-bar-item__title___wj5L5","gnCompositeBarItemTitle":"Item-module__gn-composite-bar-item__title___wj5L5","gn-composite-bar-item__title-text":"Item-module__gn-composite-bar-item__title-text___cILJo","gnCompositeBarItemTitleText":"Item-module__gn-composite-bar-item__title-text___cILJo","gn-composite-bar-item__title-text_lines_2":"Item-module__gn-composite-bar-item__title-text_lines_2___iBySH","gnCompositeBarItemTitleTextLines2":"Item-module__gn-composite-bar-item__title-text_lines_2___iBySH","gn-composite-bar-item__title-adornment":"Item-module__gn-composite-bar-item__title-adornment___Xcopn","gnCompositeBarItemTitleAdornment":"Item-module__gn-composite-bar-item__title-adornment___Xcopn","gn-composite-bar-item__interactive-row":"Item-module__gn-composite-bar-item__interactive-row___JXbmT","gnCompositeBarItemInteractiveRow":"Item-module__gn-composite-bar-item__interactive-row___JXbmT","gn-composite-bar-item__quick-access-pin-slot":"Item-module__gn-composite-bar-item__quick-access-pin-slot___j9wtv","gnCompositeBarItemQuickAccessPinSlot":"Item-module__gn-composite-bar-item__quick-access-pin-slot___j9wtv","gn-composite-bar-item__quick-access-pin-slot_suppressed":"Item-module__gn-composite-bar-item__quick-access-pin-slot_suppressed___3yKbX","gnCompositeBarItemQuickAccessPinSlotSuppressed":"Item-module__gn-composite-bar-item__quick-access-pin-slot_suppressed___3yKbX","gn-composite-bar-item_with-quick-access-pin":"Item-module__gn-composite-bar-item_with-quick-access-pin___yPnvd","gnCompositeBarItemWithQuickAccessPin":"Item-module__gn-composite-bar-item_with-quick-access-pin___yPnvd","gn-composite-bar-item__quick-access-pin":"Item-module__gn-composite-bar-item__quick-access-pin___WLaB0","gnCompositeBarItemQuickAccessPin":"Item-module__gn-composite-bar-item__quick-access-pin___WLaB0","gn-composite-bar-item__quick-access-pin_pinned":"Item-module__gn-composite-bar-item__quick-access-pin_pinned___Q9mQK","gnCompositeBarItemQuickAccessPinPinned":"Item-module__gn-composite-bar-item__quick-access-pin_pinned___Q9mQK","gn-composite-bar-item__collapse-item":"Item-module__gn-composite-bar-item__collapse-item___Up6IX","gnCompositeBarItemCollapseItem":"Item-module__gn-composite-bar-item__collapse-item___Up6IX","gn-composite-bar-item__collapse-item-icon":"Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao","gnCompositeBarItemCollapseItemIcon":"Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao","gn-composite-bar-item__menu-divider":"Item-module__gn-composite-bar-item__menu-divider___hkm-Z","gnCompositeBarItemMenuDivider":"Item-module__gn-composite-bar-item__menu-divider___hkm-Z","gn-composite-bar-item__collapse-items-popup-content":"Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to","gnCompositeBarItemCollapseItemsPopupContent":"Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to","gn-composite-bar-item__link":"Item-module__gn-composite-bar-item__link___McAVN","gnCompositeBarItemLink":"Item-module__gn-composite-bar-item__link___McAVN","gn-composite-bar-item_title-lines_2":"Item-module__gn-composite-bar-item_title-lines_2___u8Dcn","gnCompositeBarItemTitleLines2":"Item-module__gn-composite-bar-item_title-lines_2___u8Dcn","gn-composite-bar-item__chevron":"Item-module__gn-composite-bar-item__chevron___ZZ-vf","gnCompositeBarItemChevron":"Item-module__gn-composite-bar-item__chevron___ZZ-vf","gn-composite-bar-item__btn-icon":"Item-module__gn-composite-bar-item__btn-icon___SwT65","gnCompositeBarItemBtnIcon":"Item-module__gn-composite-bar-item__btn-icon___SwT65","gn-composite-bar-item_type_action":"Item-module__gn-composite-bar-item_type_action___2jxO8","gnCompositeBarItemTypeAction":"Item-module__gn-composite-bar-item_type_action___2jxO8","gn-composite-bar-item__icon-tooltip_item-type_action":"Item-module__gn-composite-bar-item__icon-tooltip_item-type_action___HUhUR","gnCompositeBarItemIconTooltipItemTypeAction":"Item-module__gn-composite-bar-item__icon-tooltip_item-type_action___HUhUR","gn-composite-bar-item__icon-popover":"Item-module__gn-composite-bar-item__icon-popover___euq-P","gnCompositeBarItemIconPopover":"Item-module__gn-composite-bar-item__icon-popover___euq-P","gn-composite-bar-item__icon-popover_single-label":"Item-module__gn-composite-bar-item__icon-popover_single-label___mc-tU","gnCompositeBarItemIconPopoverSingleLabel":"Item-module__gn-composite-bar-item__icon-popover_single-label___mc-tU","gn-composite-bar-item__icon-popover_item-type_action":"Item-module__gn-composite-bar-item__icon-popover_item-type_action___ep-D3","gnCompositeBarItemIconPopoverItemTypeAction":"Item-module__gn-composite-bar-item__icon-popover_item-type_action___ep-D3","gn-composite-bar-item__popup-content":"Item-module__gn-composite-bar-item__popup-content___oys3t","gnCompositeBarItemPopupContent":"Item-module__gn-composite-bar-item__popup-content___oys3t","gn-composite-bar-item__popup-content_single-label":"Item-module__gn-composite-bar-item__popup-content_single-label___done-","gnCompositeBarItemPopupContentSingleLabel":"Item-module__gn-composite-bar-item__popup-content_single-label___done-","gn-composite-bar-item__root-menu-item":"Item-module__gn-composite-bar-item__root-menu-item___nlpvH","gnCompositeBarItemRootMenuItem":"Item-module__gn-composite-bar-item__root-menu-item___nlpvH","gn-composite-bar-item__popup-title":"Item-module__gn-composite-bar-item__popup-title___2-tGd","gnCompositeBarItemPopupTitle":"Item-module__gn-composite-bar-item__popup-title___2-tGd","gn-composite-bar-item__popup-item":"Item-module__gn-composite-bar-item__popup-item___MPgm3","gnCompositeBarItemPopupItem":"Item-module__gn-composite-bar-item__popup-item___MPgm3","gn-composite-bar-item_hide-icon":"Item-module__gn-composite-bar-item_hide-icon___bf5h3","gnCompositeBarItemHideIcon":"Item-module__gn-composite-bar-item_hide-icon___bf5h3","gn-composite-bar-item_menu-group-nested":"Item-module__gn-composite-bar-item_menu-group-nested___CVzJD","gnCompositeBarItemMenuGroupNested":"Item-module__gn-composite-bar-item_menu-group-nested___CVzJD","gn-composite-bar-item__group-header-row":"Item-module__gn-composite-bar-item__group-header-row___m-4WB","gnCompositeBarItemGroupHeaderRow":"Item-module__gn-composite-bar-item__group-header-row___m-4WB","gn-composite-bar-item__group-header-row_current":"Item-module__gn-composite-bar-item__group-header-row_current___YYm8y","gnCompositeBarItemGroupHeaderRowCurrent":"Item-module__gn-composite-bar-item__group-header-row_current___YYm8y","gn-composite-bar-item_with-chevron-control":"Item-module__gn-composite-bar-item_with-chevron-control___5F9O3","gnCompositeBarItemWithChevronControl":"Item-module__gn-composite-bar-item_with-chevron-control___5F9O3","gn-composite-bar-item__chevron_interactive":"Item-module__gn-composite-bar-item__chevron_interactive___jmUhC","gnCompositeBarItemChevronInteractive":"Item-module__gn-composite-bar-item__chevron_interactive___jmUhC"};
|
|
6
6
|
|
|
7
7
|
exports.default = styles;
|
|
8
8
|
//# sourceMappingURL=Item.module.scss.js.map
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { AsideHeaderItem } from 'src/components/AsideHeader/types';
|
|
3
|
+
export type QuickAccessToggleHandler = (item: AsideHeaderItem, event?: React.MouseEvent<HTMLButtonElement>) => void;
|
|
3
4
|
export interface ItemProps extends AsideHeaderItem {
|
|
4
5
|
}
|
|
5
6
|
export interface ItemInnerProps extends ItemProps {
|
|
7
|
+
/** Internal registration of the original DOM row (never a popup or highlighted copy). */
|
|
8
|
+
rowRef?: React.Ref<HTMLElement>;
|
|
6
9
|
className?: string;
|
|
7
10
|
popupItemClassName?: string;
|
|
8
11
|
/** Items shown in the compact (or expanded overflow) popover: group children or overflow list. */
|
|
@@ -10,14 +13,24 @@ export interface ItemInnerProps extends ItemProps {
|
|
|
10
13
|
/** Optional title rendered at the top of the popup listing `menuPopupItems`. */
|
|
11
14
|
menuPopupTitle?: string;
|
|
12
15
|
/**
|
|
13
|
-
* When set, the row is an inline (expanded sidebar) group header: chevron
|
|
14
|
-
* instead of a flyout chevron
|
|
16
|
+
* When set, the row is an inline (expanded sidebar) group header: chevron right/down
|
|
17
|
+
* instead of a flyout chevron. A collapsed header may still open its children in a popup.
|
|
15
18
|
*/
|
|
16
19
|
groupHeaderExpanded?: boolean;
|
|
17
20
|
onMouseEnter?: () => void;
|
|
18
21
|
onMouseLeave?: () => void;
|
|
19
22
|
/** When true, the icon slot is not rendered (e.g. compact popover: icon stays in the bar). */
|
|
20
23
|
hideIcon?: boolean;
|
|
24
|
+
/** Controls icon visibility for the rows rendered in this item's popup. */
|
|
25
|
+
menuPopupHideIcon?: boolean;
|
|
26
|
+
/** Controls icon visibility one popup level deeper (a group nested inside `More`). */
|
|
27
|
+
menuPopupNestedHideIcon?: boolean;
|
|
28
|
+
/** Row rendered inside ItemPopup; always uses a single-line title. */
|
|
29
|
+
menuPopupRow?: boolean;
|
|
30
|
+
/** Suppresses selected styling without changing the source item's `current` value. */
|
|
31
|
+
suppressCurrentHighlight?: boolean;
|
|
32
|
+
/** Item ids whose current state is visually suppressed in this item's popup. */
|
|
33
|
+
suppressCurrentItemIds?: ReadonlySet<string>;
|
|
21
34
|
/**
|
|
22
35
|
* Stops click bubbling so portaled popup rows do not trigger the parent Item's onClick.
|
|
23
36
|
* Off when `itemWrapper` is set so the wrapper (e.g. react-router Link) receives the click.
|
|
@@ -31,8 +44,13 @@ export interface ItemInnerProps extends ItemProps {
|
|
|
31
44
|
* itself can carry the group's own main action.
|
|
32
45
|
*/
|
|
33
46
|
onGroupHeaderChevronClick?: (event: React.SyntheticEvent) => void;
|
|
34
|
-
/** When `true`, the chevron is not rendered in the compact (collapsed) sidebar. */
|
|
35
|
-
hideCompactChevron?: boolean;
|
|
36
47
|
/** Inline menu-group tree (L-connector) rendered inside the row, before the icon slot. */
|
|
37
48
|
menuGroupNestedTreeConnector?: React.ReactNode;
|
|
49
|
+
/** Inline expanded menu-group child row. */
|
|
50
|
+
menuGroupNested?: boolean;
|
|
51
|
+
/** Enables pin/unpin controls for eligible leaf items. */
|
|
52
|
+
enableQuickAccessPin?: boolean;
|
|
53
|
+
/** Original public item used by the quick access callback. */
|
|
54
|
+
quickAccessPinItem?: AsideHeaderItem;
|
|
55
|
+
onToggleQuickAccess?: QuickAccessToggleHandler;
|
|
38
56
|
}
|