@gravity-ui/navigation 3.11.0 → 4.0.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/_virtual/_commonjsHelpers.js +11 -0
- package/build/cjs/_virtual/_commonjsHelpers.js.map +1 -0
- package/build/cjs/_virtual/debounce.js +12 -0
- package/build/cjs/_virtual/debounce.js.map +1 -0
- package/build/cjs/_virtual/identity.js +12 -0
- package/build/cjs/_virtual/identity.js.map +1 -0
- package/build/cjs/_virtual/last.js +12 -0
- package/build/cjs/_virtual/last.js.map +1 -0
- package/build/cjs/assets/icons/control-menu-button.svg.js +41 -0
- package/build/cjs/assets/icons/control-menu-button.svg.js.map +1 -0
- package/build/cjs/assets/icons/divider-collapsed.svg.js +41 -0
- package/build/cjs/assets/icons/divider-collapsed.svg.js.map +1 -0
- package/build/cjs/components/ActionBar/ActionBar.css +1 -0
- package/build/cjs/components/ActionBar/ActionBar.d.ts +0 -1
- package/build/cjs/components/ActionBar/ActionBar.js +25 -0
- package/build/cjs/components/ActionBar/ActionBar.js.map +1 -0
- package/build/cjs/components/ActionBar/ActionBar.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/ActionBar.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.css +1 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.d.ts +0 -1
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.js +15 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.js.map +1 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.css +1 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.d.ts +0 -1
- package/build/cjs/components/ActionBar/Item/ActionBarItem.js +15 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.js.map +1 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.css +1 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.d.ts +0 -1
- package/build/cjs/components/ActionBar/Section/ActionBarSection.js +15 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.js.map +1 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.css +1 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.d.ts +0 -1
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.js +15 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.js.map +1 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.css +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.js +18 -0
- package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +4 -5
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js +36 -0
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -0
- package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
- package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/AllPagesListItem.d.ts +2 -3
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +44 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -0
- package/build/{esm → cjs/components/AsideHeader}/components/AllPagesPanel/AllPagesPanel.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +102 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.d.ts +3 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js +18 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.js +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +33 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +29 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +30 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +14 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +154 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -0
- package/build/{esm → cjs/components/AsideHeader}/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +57 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +12 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +150 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +9 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +9 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +34 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +29 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js +12 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +10 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +101 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FirstPanel.js +43 -0
- package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +2 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +5 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +17 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/Header.js +29 -0
- package/build/cjs/components/AsideHeader/components/Header.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +23 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +59 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +17 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/Panels.js +14 -0
- package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/en.json.js +18 -0
- package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +8 -0
- package/build/cjs/components/AsideHeader/i18n/index.js +14 -0
- package/build/cjs/components/AsideHeader/i18n/index.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/ru.json.js +18 -0
- package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/index.d.ts +7 -0
- package/build/cjs/components/AsideHeader/types.d.ts +55 -10
- package/build/cjs/components/AsideHeader/types.js +7 -0
- package/build/cjs/components/AsideHeader/types.js.map +1 -0
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +62 -0
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -0
- package/build/cjs/components/AsideHeader/utils.d.ts +6 -1
- package/build/cjs/components/AsideHeader/utils.js +9 -0
- package/build/cjs/components/AsideHeader/utils.js.map +1 -0
- package/build/cjs/components/Content/Content.js +16 -0
- package/build/cjs/components/Content/Content.js.map +1 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.css +1 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.d.ts +0 -1
- package/build/cjs/components/Footer/MenuItem/MenuItem.js +17 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.js.map +1 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.module.scss.js +8 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.module.scss.js.map +1 -0
- package/build/cjs/components/Footer/desktop/Footer.css +1 -0
- package/build/cjs/components/Footer/desktop/Footer.d.ts +0 -1
- package/build/cjs/components/Footer/desktop/Footer.js +40 -0
- package/build/cjs/components/Footer/desktop/Footer.js.map +1 -0
- package/build/cjs/components/Footer/desktop/Footer.module.scss.js +8 -0
- package/build/cjs/components/Footer/desktop/Footer.module.scss.js.map +1 -0
- package/build/cjs/components/Footer/desktop/constants/moreItemsPopupProps.js +8 -0
- package/build/cjs/components/Footer/desktop/constants/moreItemsPopupProps.js.map +1 -0
- package/build/cjs/components/Footer/mobile/Footer.css +1 -0
- package/build/cjs/components/Footer/mobile/Footer.d.ts +0 -1
- package/build/cjs/components/Footer/mobile/Footer.js +47 -0
- package/build/cjs/components/Footer/mobile/Footer.js.map +1 -0
- package/build/cjs/components/Footer/mobile/Footer.module.scss.js +8 -0
- package/build/cjs/components/Footer/mobile/Footer.module.scss.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.css +1 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +0 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +38 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.module.scss.js +8 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.module.scss.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/utils/filterHotkeys.js +19 -0
- package/build/cjs/components/HotkeysPanel/utils/filterHotkeys.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/utils/flattenHotkeyGroups.js +16 -0
- package/build/cjs/components/HotkeysPanel/utils/flattenHotkeyGroups.js.map +1 -0
- package/build/cjs/components/Logo/Logo.css +1 -0
- package/build/cjs/components/Logo/Logo.d.ts +0 -1
- package/build/cjs/components/Logo/Logo.js +45 -0
- package/build/cjs/components/Logo/Logo.js.map +1 -0
- package/build/cjs/components/Logo/Logo.module.scss.js +8 -0
- package/build/cjs/components/Logo/Logo.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.css +1 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.d.ts +0 -1
- package/build/cjs/components/MobileHeader/Burger/Burger.js +15 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.js.map +1 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.d.ts +0 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js +40 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.css +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.d.ts +0 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.js +21 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.css +1 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.d.ts +0 -1
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.js +28 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.js.map +1 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/MobileHeader.css +1 -0
- package/build/cjs/components/MobileHeader/MobileHeader.d.ts +4 -3
- package/build/cjs/components/MobileHeader/MobileHeader.js +157 -0
- package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -0
- package/build/cjs/components/MobileHeader/MobileHeader.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/MobileHeader.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.css +1 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.d.ts +0 -1
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js +27 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +1 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/constants.js +22 -0
- package/build/cjs/components/MobileHeader/constants.js.map +1 -0
- package/build/cjs/components/MobileHeader/i18n/en.json.js +18 -0
- package/build/cjs/components/MobileHeader/i18n/en.json.js.map +1 -0
- package/build/cjs/components/MobileHeader/i18n/index.d.ts +8 -0
- package/build/cjs/components/MobileHeader/i18n/index.js +14 -0
- package/build/cjs/components/MobileHeader/i18n/index.js.map +1 -0
- package/build/cjs/components/MobileHeader/i18n/ru.json.js +18 -0
- package/build/cjs/components/MobileHeader/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/MobileHeader/types.d.ts +2 -1
- package/build/cjs/components/MobileHeader/utils.js +24 -0
- package/build/cjs/components/MobileHeader/utils.js.map +1 -0
- package/build/cjs/components/MobileLogo/MobileLogo.css +1 -0
- package/build/cjs/components/MobileLogo/MobileLogo.d.ts +0 -1
- package/build/cjs/components/MobileLogo/MobileLogo.js +33 -0
- package/build/cjs/components/MobileLogo/MobileLogo.js.map +1 -0
- package/build/cjs/components/MobileLogo/MobileLogo.module.scss.js +8 -0
- package/build/cjs/components/MobileLogo/MobileLogo.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/Selection/context.js +26 -0
- package/build/cjs/components/Settings/Selection/context.js.map +1 -0
- package/build/cjs/components/Settings/Selection/utils.js +22 -0
- package/build/cjs/components/Settings/Selection/utils.js.map +1 -0
- package/build/cjs/components/Settings/Settings.css +1 -0
- package/build/cjs/components/Settings/Settings.d.ts +0 -1
- package/build/cjs/components/Settings/Settings.js +142 -0
- package/build/cjs/components/Settings/Settings.js.map +1 -0
- package/build/cjs/components/Settings/Settings.module.scss.js +8 -0
- package/build/cjs/components/Settings/Settings.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/SettingsContext/SettingsContext.js +8 -0
- package/build/cjs/components/Settings/SettingsContext/SettingsContext.js.map +1 -0
- package/build/cjs/components/Settings/SettingsContext/useSettingsContext.js +9 -0
- package/build/cjs/components/Settings/SettingsContext/useSettingsContext.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.css +1 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.d.ts +0 -1
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js +82 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.module.scss.js +8 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.css +1 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.d.ts +0 -1
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js +38 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js +8 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/SettingsPage/SettingsPageComponent.js +24 -0
- package/build/cjs/components/Settings/SettingsPage/SettingsPageComponent.js.map +1 -0
- package/build/cjs/components/Settings/SettingsPage/getPageTitleById.js +17 -0
- package/build/cjs/components/Settings/SettingsPage/getPageTitleById.js.map +1 -0
- package/build/cjs/components/Settings/SettingsRow/SettingsRow.js +13 -0
- package/build/cjs/components/Settings/SettingsRow/SettingsRow.js.map +1 -0
- package/build/cjs/components/Settings/SettingsRow/prepareTitle.js +32 -0
- package/build/cjs/components/Settings/SettingsRow/prepareTitle.js.map +1 -0
- package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js +70 -0
- package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js.map +1 -0
- package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js +34 -0
- package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -0
- package/build/cjs/components/Settings/SettingsSection.js +26 -0
- package/build/cjs/components/Settings/SettingsSection.js.map +1 -0
- package/build/cjs/components/Settings/b.d.ts +6 -1
- package/build/cjs/components/Settings/b.js +9 -0
- package/build/cjs/components/Settings/b.js.map +1 -0
- package/build/cjs/components/Settings/collect-settings.js +158 -0
- package/build/cjs/components/Settings/collect-settings.js.map +1 -0
- package/build/cjs/components/Settings/helpers.js +57 -0
- package/build/cjs/components/Settings/helpers.js.map +1 -0
- package/build/cjs/components/Settings/i18n/en.json.js +18 -0
- package/build/cjs/components/Settings/i18n/en.json.js.map +1 -0
- package/build/cjs/components/Settings/i18n/index.d.ts +8 -0
- package/build/cjs/components/Settings/i18n/index.js +14 -0
- package/build/cjs/components/Settings/i18n/index.js.map +1 -0
- package/build/cjs/components/Settings/i18n/ru.json.js +18 -0
- package/build/cjs/components/Settings/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/Title/Title.css +1 -0
- package/build/cjs/components/Title/Title.d.ts +0 -1
- package/build/cjs/components/Title/Title.js +21 -0
- package/build/cjs/components/Title/Title.js.map +1 -0
- package/build/cjs/components/Title/Title.module.scss.js +8 -0
- package/build/cjs/components/Title/Title.module.scss.js.map +1 -0
- package/build/cjs/components/Title/i18n/en.json.js +12 -0
- package/build/cjs/components/Title/i18n/en.json.js.map +1 -0
- package/build/cjs/components/Title/i18n/index.d.ts +8 -0
- package/build/cjs/components/Title/i18n/index.js +14 -0
- package/build/cjs/components/Title/i18n/index.js.map +1 -0
- package/build/cjs/components/Title/i18n/ru.json.js +12 -0
- package/build/cjs/components/Title/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/TopAlert/TopAlert.css +1 -0
- package/build/cjs/components/TopAlert/TopAlert.d.ts +0 -1
- package/build/cjs/components/TopAlert/TopAlert.js +40 -0
- package/build/cjs/components/TopAlert/TopAlert.js.map +1 -0
- package/build/cjs/components/TopAlert/TopAlert.module.scss.js +8 -0
- package/build/cjs/components/TopAlert/TopAlert.module.scss.js.map +1 -0
- package/build/cjs/components/TopAlert/index.js +8 -0
- package/build/cjs/components/TopAlert/index.js.map +1 -0
- package/build/cjs/components/TopAlert/useTopAlertHeight.js +38 -0
- package/build/cjs/components/TopAlert/useTopAlertHeight.js.map +1 -0
- package/build/cjs/components/constants.js +14 -0
- package/build/cjs/components/constants.js.map +1 -0
- package/build/cjs/components/index.d.ts +1 -8
- package/build/cjs/components/types.d.ts +6 -4
- package/build/cjs/components/utils/cn.d.ts +7 -0
- package/build/cjs/components/utils/cn.js +77 -0
- package/build/cjs/components/utils/cn.js.map +1 -0
- package/build/cjs/hooks/useForwardRef.js +21 -0
- package/build/cjs/hooks/useForwardRef.js.map +1 -0
- package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +69 -0
- package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -0
- package/build/cjs/index.js +41 -32
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/node_modules/lodash/_Symbol.js +21 -0
- package/build/cjs/node_modules/lodash/_Symbol.js.map +1 -0
- package/build/cjs/node_modules/lodash/_baseGetTag.js +45 -0
- package/build/cjs/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/build/cjs/node_modules/lodash/_baseTrim.js +34 -0
- package/build/cjs/node_modules/lodash/_baseTrim.js.map +1 -0
- package/build/cjs/node_modules/lodash/_freeGlobal.js +20 -0
- package/build/cjs/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/build/cjs/node_modules/lodash/_getRawTag.js +61 -0
- package/build/cjs/node_modules/lodash/_getRawTag.js.map +1 -0
- package/build/cjs/node_modules/lodash/_objectToString.js +36 -0
- package/build/cjs/node_modules/lodash/_objectToString.js.map +1 -0
- package/build/cjs/node_modules/lodash/_root.js +24 -0
- package/build/cjs/node_modules/lodash/_root.js.map +1 -0
- package/build/cjs/node_modules/lodash/_trimmedEndIndex.js +33 -0
- package/build/cjs/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/build/cjs/node_modules/lodash/debounce.js +208 -0
- package/build/cjs/node_modules/lodash/debounce.js.map +1 -0
- package/build/cjs/node_modules/lodash/identity.js +35 -0
- package/build/cjs/node_modules/lodash/identity.js.map +1 -0
- package/build/cjs/node_modules/lodash/isObject.js +45 -0
- package/build/cjs/node_modules/lodash/isObject.js.map +1 -0
- package/build/cjs/node_modules/lodash/isObjectLike.js +43 -0
- package/build/cjs/node_modules/lodash/isObjectLike.js.map +1 -0
- package/build/cjs/node_modules/lodash/isSymbol.js +45 -0
- package/build/cjs/node_modules/lodash/isSymbol.js.map +1 -0
- package/build/cjs/node_modules/lodash/last.js +34 -0
- package/build/cjs/node_modules/lodash/last.js.map +1 -0
- package/build/cjs/node_modules/lodash/now.js +38 -0
- package/build/cjs/node_modules/lodash/now.js.map +1 -0
- package/build/cjs/node_modules/lodash/toNumber.js +81 -0
- package/build/cjs/node_modules/lodash/toNumber.js.map +1 -0
- package/build/cjs/node_modules/tslib/tslib.es6.js +38 -0
- package/build/cjs/node_modules/tslib/tslib.es6.js.map +1 -0
- package/build/esm/_virtual/_commonjsHelpers.js +8 -0
- package/build/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/build/esm/_virtual/debounce.js +8 -0
- package/build/esm/_virtual/debounce.js.map +1 -0
- package/build/esm/_virtual/identity.js +8 -0
- package/build/esm/_virtual/identity.js.map +1 -0
- package/build/esm/_virtual/last.js +8 -0
- package/build/esm/_virtual/last.js.map +1 -0
- package/build/esm/assets/icons/control-menu-button.svg.js +18 -0
- package/build/esm/assets/icons/control-menu-button.svg.js.map +1 -0
- package/build/esm/assets/icons/divider-collapsed.svg.js +18 -0
- package/build/esm/assets/icons/divider-collapsed.svg.js.map +1 -0
- package/build/esm/components/ActionBar/ActionBar.css +1 -0
- package/build/esm/components/ActionBar/ActionBar.d.ts +0 -1
- package/build/esm/components/ActionBar/ActionBar.js +23 -0
- package/build/esm/components/ActionBar/ActionBar.js.map +1 -0
- package/build/esm/components/ActionBar/ActionBar.module.scss.js +4 -0
- package/build/esm/components/ActionBar/ActionBar.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.css +1 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.d.ts +0 -1
- package/build/esm/components/ActionBar/Group/ActionBarGroup.js +13 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.js.map +1 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.css +1 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.d.ts +0 -1
- package/build/esm/components/ActionBar/Item/ActionBarItem.js +13 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.js.map +1 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.css +1 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.d.ts +0 -1
- package/build/esm/components/ActionBar/Section/ActionBarSection.js +13 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.js.map +1 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.css +1 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.d.ts +0 -1
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.js +13 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.js.map +1 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.css +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.js +16 -0
- package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/AsideHeader.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +4 -5
- package/build/esm/components/AsideHeader/AsideHeaderContext.js +31 -0
- package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -0
- package/build/esm/components/AsideHeader/__stories__/moc.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
- package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/AllPagesListItem.d.ts +2 -3
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +42 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -0
- package/build/{cjs → esm/components/AsideHeader}/components/AllPagesPanel/AllPagesPanel.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +100 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.d.ts +3 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js +15 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +10 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +14 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.js +10 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +10 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +31 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +27 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +28 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +14 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +152 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -0
- package/build/{cjs → esm/components/AsideHeader}/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +55 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +12 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +148 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +9 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +9 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +32 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +26 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.js +7 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +10 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +94 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FirstPanel.js +41 -0
- package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +2 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +5 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +15 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/Header.js +27 -0
- package/build/esm/components/AsideHeader/components/Header.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +21 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +57 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +15 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -0
- package/build/esm/components/AsideHeader/components/Panels.js +12 -0
- package/build/esm/components/AsideHeader/components/Panels.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/en.json.js +11 -0
- package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/index.d.ts +8 -0
- package/build/esm/components/AsideHeader/i18n/index.js +10 -0
- package/build/esm/components/AsideHeader/i18n/index.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/ru.json.js +11 -0
- package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -0
- package/build/esm/components/AsideHeader/index.d.ts +7 -0
- package/build/esm/components/AsideHeader/types.d.ts +55 -10
- package/build/esm/components/AsideHeader/types.js +7 -0
- package/build/esm/components/AsideHeader/types.js.map +1 -0
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +60 -0
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -0
- package/build/esm/components/AsideHeader/utils.d.ts +6 -1
- package/build/esm/components/AsideHeader/utils.js +7 -0
- package/build/esm/components/AsideHeader/utils.js.map +1 -0
- package/build/esm/components/Content/Content.js +14 -0
- package/build/esm/components/Content/Content.js.map +1 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.css +1 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.d.ts +0 -1
- package/build/esm/components/Footer/MenuItem/MenuItem.js +15 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.js.map +1 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.module.scss.js +4 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.module.scss.js.map +1 -0
- package/build/esm/components/Footer/desktop/Footer.css +1 -0
- package/build/esm/components/Footer/desktop/Footer.d.ts +0 -1
- package/build/esm/components/Footer/desktop/Footer.js +38 -0
- package/build/esm/components/Footer/desktop/Footer.js.map +1 -0
- package/build/esm/components/Footer/desktop/Footer.module.scss.js +4 -0
- package/build/esm/components/Footer/desktop/Footer.module.scss.js.map +1 -0
- package/build/esm/components/Footer/desktop/constants/moreItemsPopupProps.js +6 -0
- package/build/esm/components/Footer/desktop/constants/moreItemsPopupProps.js.map +1 -0
- package/build/esm/components/Footer/mobile/Footer.css +1 -0
- package/build/esm/components/Footer/mobile/Footer.d.ts +0 -1
- package/build/esm/components/Footer/mobile/Footer.js +45 -0
- package/build/esm/components/Footer/mobile/Footer.js.map +1 -0
- package/build/esm/components/Footer/mobile/Footer.module.scss.js +4 -0
- package/build/esm/components/Footer/mobile/Footer.module.scss.js.map +1 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.css +1 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +0 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js +36 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.module.scss.js +4 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.module.scss.js.map +1 -0
- package/build/esm/components/HotkeysPanel/utils/filterHotkeys.js +17 -0
- package/build/esm/components/HotkeysPanel/utils/filterHotkeys.js.map +1 -0
- package/build/esm/components/HotkeysPanel/utils/flattenHotkeyGroups.js +14 -0
- package/build/esm/components/HotkeysPanel/utils/flattenHotkeyGroups.js.map +1 -0
- package/build/esm/components/Logo/Logo.css +1 -0
- package/build/esm/components/Logo/Logo.d.ts +0 -1
- package/build/esm/components/Logo/Logo.js +43 -0
- package/build/esm/components/Logo/Logo.js.map +1 -0
- package/build/esm/components/Logo/Logo.module.scss.js +4 -0
- package/build/esm/components/Logo/Logo.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/Burger/Burger.css +1 -0
- package/build/esm/components/MobileHeader/Burger/Burger.d.ts +0 -1
- package/build/esm/components/MobileHeader/Burger/Burger.js +13 -0
- package/build/esm/components/MobileHeader/Burger/Burger.js.map +1 -0
- package/build/esm/components/MobileHeader/Burger/Burger.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/Burger/Burger.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.d.ts +0 -1
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js +38 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.css +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.d.ts +0 -1
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.js +19 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.css +1 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.d.ts +0 -1
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.js +26 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.js.map +1 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/MobileHeader.css +1 -0
- package/build/esm/components/MobileHeader/MobileHeader.d.ts +4 -3
- package/build/esm/components/MobileHeader/MobileHeader.js +155 -0
- package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -0
- package/build/esm/components/MobileHeader/MobileHeader.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/MobileHeader.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.css +1 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.d.ts +0 -1
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js +25 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +1 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/constants.js +14 -0
- package/build/esm/components/MobileHeader/constants.js.map +1 -0
- package/build/esm/components/MobileHeader/i18n/en.json.js +11 -0
- package/build/esm/components/MobileHeader/i18n/en.json.js.map +1 -0
- package/build/esm/components/MobileHeader/i18n/index.d.ts +8 -0
- package/build/esm/components/MobileHeader/i18n/index.js +10 -0
- package/build/esm/components/MobileHeader/i18n/index.js.map +1 -0
- package/build/esm/components/MobileHeader/i18n/ru.json.js +11 -0
- package/build/esm/components/MobileHeader/i18n/ru.json.js.map +1 -0
- package/build/esm/components/MobileHeader/types.d.ts +2 -1
- package/build/esm/components/MobileHeader/utils.js +20 -0
- package/build/esm/components/MobileHeader/utils.js.map +1 -0
- package/build/esm/components/MobileLogo/MobileLogo.css +1 -0
- package/build/esm/components/MobileLogo/MobileLogo.d.ts +0 -1
- package/build/esm/components/MobileLogo/MobileLogo.js +31 -0
- package/build/esm/components/MobileLogo/MobileLogo.js.map +1 -0
- package/build/esm/components/MobileLogo/MobileLogo.module.scss.js +4 -0
- package/build/esm/components/MobileLogo/MobileLogo.module.scss.js.map +1 -0
- package/build/esm/components/Settings/Selection/context.js +22 -0
- package/build/esm/components/Settings/Selection/context.js.map +1 -0
- package/build/esm/components/Settings/Selection/utils.js +20 -0
- package/build/esm/components/Settings/Selection/utils.js.map +1 -0
- package/build/esm/components/Settings/Settings.css +1 -0
- package/build/esm/components/Settings/Settings.d.ts +0 -1
- package/build/esm/components/Settings/Settings.js +140 -0
- package/build/esm/components/Settings/Settings.js.map +1 -0
- package/build/esm/components/Settings/Settings.module.scss.js +4 -0
- package/build/esm/components/Settings/Settings.module.scss.js.map +1 -0
- package/build/esm/components/Settings/SettingsContext/SettingsContext.js +6 -0
- package/build/esm/components/Settings/SettingsContext/SettingsContext.js.map +1 -0
- package/build/esm/components/Settings/SettingsContext/useSettingsContext.js +7 -0
- package/build/esm/components/Settings/SettingsContext/useSettingsContext.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.css +1 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.d.ts +0 -1
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js +80 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.module.scss.js +4 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.module.scss.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.css +1 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.d.ts +0 -1
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js +36 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js +4 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js.map +1 -0
- package/build/esm/components/Settings/SettingsPage/SettingsPageComponent.js +22 -0
- package/build/esm/components/Settings/SettingsPage/SettingsPageComponent.js.map +1 -0
- package/build/esm/components/Settings/SettingsPage/getPageTitleById.js +15 -0
- package/build/esm/components/Settings/SettingsPage/getPageTitleById.js.map +1 -0
- package/build/esm/components/Settings/SettingsRow/SettingsRow.js +11 -0
- package/build/esm/components/Settings/SettingsRow/SettingsRow.js.map +1 -0
- package/build/esm/components/Settings/SettingsRow/prepareTitle.js +30 -0
- package/build/esm/components/Settings/SettingsRow/prepareTitle.js.map +1 -0
- package/build/esm/components/Settings/SettingsSearch/AllResultsPage.js +67 -0
- package/build/esm/components/Settings/SettingsSearch/AllResultsPage.js.map +1 -0
- package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js +32 -0
- package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -0
- package/build/esm/components/Settings/SettingsSection.js +24 -0
- package/build/esm/components/Settings/SettingsSection.js.map +1 -0
- package/build/esm/components/Settings/b.d.ts +6 -1
- package/build/esm/components/Settings/b.js +7 -0
- package/build/esm/components/Settings/b.js.map +1 -0
- package/build/esm/components/Settings/collect-settings.js +155 -0
- package/build/esm/components/Settings/collect-settings.js.map +1 -0
- package/build/esm/components/Settings/helpers.js +33 -0
- package/build/esm/components/Settings/helpers.js.map +1 -0
- package/build/esm/components/Settings/i18n/en.json.js +12 -0
- package/build/esm/components/Settings/i18n/en.json.js.map +1 -0
- package/build/esm/components/Settings/i18n/index.d.ts +8 -0
- package/build/esm/components/Settings/i18n/index.js +10 -0
- package/build/esm/components/Settings/i18n/index.js.map +1 -0
- package/build/esm/components/Settings/i18n/ru.json.js +12 -0
- package/build/esm/components/Settings/i18n/ru.json.js.map +1 -0
- package/build/esm/components/Title/Title.css +1 -0
- package/build/esm/components/Title/Title.d.ts +0 -1
- package/build/esm/components/Title/Title.js +19 -0
- package/build/esm/components/Title/Title.js.map +1 -0
- package/build/esm/components/Title/Title.module.scss.js +4 -0
- package/build/esm/components/Title/Title.module.scss.js.map +1 -0
- package/build/esm/components/Title/i18n/en.json.js +7 -0
- package/build/esm/components/Title/i18n/en.json.js.map +1 -0
- package/build/esm/components/Title/i18n/index.d.ts +8 -0
- package/build/esm/components/Title/i18n/index.js +10 -0
- package/build/esm/components/Title/i18n/index.js.map +1 -0
- package/build/esm/components/Title/i18n/ru.json.js +7 -0
- package/build/esm/components/Title/i18n/ru.json.js.map +1 -0
- package/build/esm/components/TopAlert/TopAlert.css +1 -0
- package/build/esm/components/TopAlert/TopAlert.d.ts +0 -1
- package/build/esm/components/TopAlert/TopAlert.js +38 -0
- package/build/esm/components/TopAlert/TopAlert.js.map +1 -0
- package/build/esm/components/TopAlert/TopAlert.module.scss.js +4 -0
- package/build/esm/components/TopAlert/TopAlert.module.scss.js.map +1 -0
- package/build/esm/components/TopAlert/index.js +2 -0
- package/build/esm/components/TopAlert/index.js.map +1 -0
- package/build/esm/components/TopAlert/useTopAlertHeight.js +36 -0
- package/build/esm/components/TopAlert/useTopAlertHeight.js.map +1 -0
- package/build/esm/components/constants.js +8 -0
- package/build/esm/components/constants.js.map +1 -0
- package/build/esm/components/index.d.ts +1 -8
- package/build/esm/components/types.d.ts +6 -4
- package/build/esm/components/utils/cn.d.ts +7 -0
- package/build/esm/components/utils/cn.js +72 -0
- package/build/esm/components/utils/cn.js.map +1 -0
- package/build/esm/hooks/useForwardRef.js +19 -0
- package/build/esm/hooks/useForwardRef.js.map +1 -0
- package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +67 -0
- package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -0
- package/build/esm/index.js +20 -9
- package/build/esm/index.js.map +1 -1
- package/build/esm/node_modules/lodash/_Symbol.js +19 -0
- package/build/esm/node_modules/lodash/_Symbol.js.map +1 -0
- package/build/esm/node_modules/lodash/_baseGetTag.js +43 -0
- package/build/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/build/esm/node_modules/lodash/_baseTrim.js +32 -0
- package/build/esm/node_modules/lodash/_baseTrim.js.map +1 -0
- package/build/esm/node_modules/lodash/_freeGlobal.js +18 -0
- package/build/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/build/esm/node_modules/lodash/_getRawTag.js +59 -0
- package/build/esm/node_modules/lodash/_getRawTag.js.map +1 -0
- package/build/esm/node_modules/lodash/_objectToString.js +34 -0
- package/build/esm/node_modules/lodash/_objectToString.js.map +1 -0
- package/build/esm/node_modules/lodash/_root.js +22 -0
- package/build/esm/node_modules/lodash/_root.js.map +1 -0
- package/build/esm/node_modules/lodash/_trimmedEndIndex.js +31 -0
- package/build/esm/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/build/esm/node_modules/lodash/debounce.js +206 -0
- package/build/esm/node_modules/lodash/debounce.js.map +1 -0
- package/build/esm/node_modules/lodash/identity.js +33 -0
- package/build/esm/node_modules/lodash/identity.js.map +1 -0
- package/build/esm/node_modules/lodash/isObject.js +43 -0
- package/build/esm/node_modules/lodash/isObject.js.map +1 -0
- package/build/esm/node_modules/lodash/isObjectLike.js +41 -0
- package/build/esm/node_modules/lodash/isObjectLike.js.map +1 -0
- package/build/esm/node_modules/lodash/isSymbol.js +43 -0
- package/build/esm/node_modules/lodash/isSymbol.js.map +1 -0
- package/build/esm/node_modules/lodash/last.js +32 -0
- package/build/esm/node_modules/lodash/last.js.map +1 -0
- package/build/esm/node_modules/lodash/now.js +36 -0
- package/build/esm/node_modules/lodash/now.js.map +1 -0
- package/build/esm/node_modules/lodash/toNumber.js +79 -0
- package/build/esm/node_modules/lodash/toNumber.js.map +1 -0
- package/build/esm/node_modules/tslib/tslib.es6.js +36 -0
- package/build/esm/node_modules/tslib/tslib.es6.js.map +1 -0
- package/codemods/bin/cli.js +151 -0
- package/codemods/transforms/linkToHref.ts +143 -0
- package/codemods/transforms/unifyInterfaces.ts +273 -0
- package/codemods/transforms/v4.ts +36 -0
- package/package.json +28 -13
- package/build/cjs/components/AllPagesPanel/constants.d.ts +0 -3
- package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +0 -6
- package/build/cjs/components/AllPagesPanel/useGroupedMenuItems.d.ts +0 -4
- package/build/cjs/components/AllPagesPanel/useVisibleMenuItems.d.ts +0 -2
- package/build/cjs/components/CompositeBar/CompositeBar.d.ts +0 -20
- package/build/cjs/components/CompositeBar/Item/Item.d.ts +0 -43
- package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
- package/build/cjs/components/CompositeBar/utils.d.ts +0 -12
- package/build/cjs/components/Drawer/Drawer.d.ts +0 -87
- package/build/cjs/components/Drawer/__stories__/DisablePortal.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +0 -9
- package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/HideVeil.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/ResizableItem.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/ScrollLock.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/UsePortal.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/Drawer/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/Drawer/index.d.ts +0 -2
- package/build/cjs/components/Drawer/utils.d.ts +0 -23
- package/build/cjs/components/FooterItem/FooterItem.d.ts +0 -7
- package/build/cjs/index-B6LRu9Xk.js +0 -76
- package/build/cjs/index-B6LRu9Xk.js.map +0 -1
- package/build/cjs/index-BTP6Ci-f.js +0 -6049
- package/build/cjs/index-BTP6Ci-f.js.map +0 -1
- package/build/esm/components/AllPagesPanel/constants.d.ts +0 -3
- package/build/esm/components/AllPagesPanel/i18n/index.d.ts +0 -6
- package/build/esm/components/AllPagesPanel/useGroupedMenuItems.d.ts +0 -4
- package/build/esm/components/AllPagesPanel/useVisibleMenuItems.d.ts +0 -2
- package/build/esm/components/CompositeBar/CompositeBar.d.ts +0 -20
- package/build/esm/components/CompositeBar/Item/Item.d.ts +0 -43
- package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
- package/build/esm/components/CompositeBar/utils.d.ts +0 -12
- package/build/esm/components/Drawer/Drawer.d.ts +0 -87
- package/build/esm/components/Drawer/__stories__/DisablePortal.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +0 -9
- package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/HideVeil.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/ResizableItem.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/ScrollLock.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/UsePortal.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/moc.d.ts +0 -2
- package/build/esm/components/Drawer/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/Drawer/index.d.ts +0 -2
- package/build/esm/components/Drawer/utils.d.ts +0 -23
- package/build/esm/components/FooterItem/FooterItem.d.ts +0 -7
- package/build/esm/index-B1R-MA0B.js +0 -74
- package/build/esm/index-B1R-MA0B.js.map +0 -1
- package/build/esm/index-D3WICHag.js +0 -6004
- package/build/esm/index-D3WICHag.js.map +0 -1
- package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/index.d.ts +0 -0
- package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/index.d.ts +0 -0
- package/build/{esm → cjs/components/AsideHeader}/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +1 -1
- package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/MultipleTooltip/index.d.ts +0 -0
- package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/constants.d.ts +0 -0
- package/build/cjs/components/{FooterItem → AsideHeader/components/FooterItem}/__stories__/FooterItem.stories.d.ts +0 -0
- package/build/cjs/components/{FooterItem → AsideHeader/components/FooterItem}/__tests__/helpersPlaywright.d.ts +0 -0
- package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/index.d.ts +0 -0
- package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/index.d.ts +0 -0
- package/build/{cjs → esm/components/AsideHeader}/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +1 -1
- /package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/MultipleTooltip/index.d.ts +0 -0
- /package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/constants.d.ts +0 -0
- /package/build/esm/components/{FooterItem → AsideHeader/components/FooterItem}/__stories__/FooterItem.stories.d.ts +0 -0
- /package/build/esm/components/{FooterItem → AsideHeader/components/FooterItem}/__tests__/helpersPlaywright.d.ts +0 -0
package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapseButton.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.CompositeBar-module__gn-composite-bar___WoCDY{flex:1 0 auto;min-height:40px;width:100%}.CompositeBar-module__gn-composite-bar___WoCDY .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{background-color:transparent}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
|
+
import { AsideHeaderItem } from '../../types';
|
|
3
|
+
type CompositeBarProps = {
|
|
4
|
+
type: 'menu' | 'subheader';
|
|
5
|
+
items: AsideHeaderItem[];
|
|
6
|
+
onItemClick?: (item: AsideHeaderItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
|
|
7
|
+
multipleTooltip?: boolean;
|
|
8
|
+
menuMoreTitle?: string;
|
|
9
|
+
onMoreClick?: () => void;
|
|
10
|
+
compact: boolean;
|
|
11
|
+
compositeId?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const CompositeBar: FC<CompositeBarProps>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import './CompositeBar.css';
|
|
2
|
+
import React__default, { useRef, useContext, useCallback } from 'react';
|
|
3
|
+
import { List } from '@gravity-ui/uikit';
|
|
4
|
+
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
5
|
+
import { ASIDE_HEADER_COMPACT_WIDTH } from '../../../constants.js';
|
|
6
|
+
import { createBlock } from '../../../utils/cn.js';
|
|
7
|
+
import { Item } from './Item/Item.js';
|
|
8
|
+
import { MultipleTooltip } from './MultipleTooltip/MultipleTooltip.js';
|
|
9
|
+
import { MultipleTooltipProvider, MultipleTooltipContext } from './MultipleTooltip/MultipleTooltipContext.js';
|
|
10
|
+
import { COLLAPSE_ITEM_ID } from './constants.js';
|
|
11
|
+
import { getItemsMinHeight, getAutosizeListItems, getSelectedItemIndex, getItemHeight, getItemsHeight, getMoreButtonItem } from './utils.js';
|
|
12
|
+
import styles from './CompositeBar.module.scss.js';
|
|
13
|
+
|
|
14
|
+
const b = createBlock('composite-bar', styles);
|
|
15
|
+
const CompositeBarView = ({ type, items, onItemClick, onMoreClick, collapseItems, multipleTooltip = false, compact, compositeId, }) => {
|
|
16
|
+
const ref = useRef(null);
|
|
17
|
+
const tooltipRef = useRef(null);
|
|
18
|
+
const { setValue: setMultipleTooltipContextValue, active: multipleTooltipActive, activeIndex, lastClickedItemIndex, } = useContext(MultipleTooltipContext);
|
|
19
|
+
React__default.useEffect(() => {
|
|
20
|
+
function handleBlurWindow() {
|
|
21
|
+
if (multipleTooltip && multipleTooltipActive) {
|
|
22
|
+
setMultipleTooltipContextValue({ active: false });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
window.addEventListener('blur', handleBlurWindow);
|
|
26
|
+
return () => {
|
|
27
|
+
window.removeEventListener('blur', handleBlurWindow);
|
|
28
|
+
};
|
|
29
|
+
}, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);
|
|
30
|
+
const onTooltipMouseEnter = useCallback((e) => {
|
|
31
|
+
if (multipleTooltip &&
|
|
32
|
+
compact &&
|
|
33
|
+
!multipleTooltipActive &&
|
|
34
|
+
document.hasFocus() &&
|
|
35
|
+
activeIndex !== lastClickedItemIndex &&
|
|
36
|
+
e.clientX <= ASIDE_HEADER_COMPACT_WIDTH) {
|
|
37
|
+
setMultipleTooltipContextValue === null || setMultipleTooltipContextValue === undefined ? undefined : setMultipleTooltipContextValue({
|
|
38
|
+
active: true,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, [
|
|
42
|
+
multipleTooltip,
|
|
43
|
+
compact,
|
|
44
|
+
multipleTooltipActive,
|
|
45
|
+
activeIndex,
|
|
46
|
+
lastClickedItemIndex,
|
|
47
|
+
setMultipleTooltipContextValue,
|
|
48
|
+
]);
|
|
49
|
+
const onTooltipMouseLeave = useCallback(() => {
|
|
50
|
+
if (multipleTooltip && multipleTooltipActive && document.hasFocus()) {
|
|
51
|
+
setMultipleTooltipContextValue === null || setMultipleTooltipContextValue === undefined ? undefined : setMultipleTooltipContextValue({
|
|
52
|
+
active: false,
|
|
53
|
+
lastClickedItemIndex: undefined,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);
|
|
57
|
+
const onMouseEnterByIndex = useCallback((itemIndex) => () => {
|
|
58
|
+
if (multipleTooltip && document.hasFocus()) {
|
|
59
|
+
let multipleTooltipActiveValue = multipleTooltipActive;
|
|
60
|
+
if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {
|
|
61
|
+
multipleTooltipActiveValue = true;
|
|
62
|
+
}
|
|
63
|
+
if (activeIndex === itemIndex &&
|
|
64
|
+
multipleTooltipActive === multipleTooltipActiveValue) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
setMultipleTooltipContextValue({
|
|
68
|
+
activeIndex: itemIndex,
|
|
69
|
+
active: multipleTooltipActiveValue,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}, [
|
|
73
|
+
multipleTooltip,
|
|
74
|
+
multipleTooltipActive,
|
|
75
|
+
lastClickedItemIndex,
|
|
76
|
+
activeIndex,
|
|
77
|
+
setMultipleTooltipContextValue,
|
|
78
|
+
]);
|
|
79
|
+
const onMouseLeave = useCallback(() => {
|
|
80
|
+
var _a;
|
|
81
|
+
if (compact && document.hasFocus()) {
|
|
82
|
+
(_a = ref.current) === null || _a === undefined ? undefined : _a.activateItem(undefined);
|
|
83
|
+
if (multipleTooltip &&
|
|
84
|
+
(activeIndex !== undefined || lastClickedItemIndex !== undefined)) {
|
|
85
|
+
setMultipleTooltipContextValue({
|
|
86
|
+
activeIndex: undefined,
|
|
87
|
+
lastClickedItemIndex: undefined,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, [
|
|
92
|
+
activeIndex,
|
|
93
|
+
compact,
|
|
94
|
+
lastClickedItemIndex,
|
|
95
|
+
multipleTooltip,
|
|
96
|
+
setMultipleTooltipContextValue,
|
|
97
|
+
]);
|
|
98
|
+
const onItemClickByIndex = useCallback((itemIndex, orginalItemClick) => (item, collapsed, event) => {
|
|
99
|
+
if (compact &&
|
|
100
|
+
multipleTooltip &&
|
|
101
|
+
itemIndex !== lastClickedItemIndex &&
|
|
102
|
+
item.id !== COLLAPSE_ITEM_ID) {
|
|
103
|
+
setMultipleTooltipContextValue({
|
|
104
|
+
lastClickedItemIndex: itemIndex,
|
|
105
|
+
active: false,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
// Handle clicks on the "more" button (collapse item)
|
|
109
|
+
if (item.id === COLLAPSE_ITEM_ID && collapsed) {
|
|
110
|
+
onMoreClick === null || onMoreClick === undefined ? undefined : onMoreClick();
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
onItemClick === null || onItemClick === undefined ? undefined : onItemClick(Object.assign(Object.assign({}, item), { onItemClick: orginalItemClick }), collapsed, event);
|
|
114
|
+
}
|
|
115
|
+
}, [
|
|
116
|
+
compact,
|
|
117
|
+
lastClickedItemIndex,
|
|
118
|
+
multipleTooltip,
|
|
119
|
+
onItemClick,
|
|
120
|
+
onMoreClick,
|
|
121
|
+
setMultipleTooltipContextValue,
|
|
122
|
+
]);
|
|
123
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
124
|
+
React__default.createElement("div", { ref: tooltipRef, onMouseEnter: onTooltipMouseEnter, onMouseLeave: onTooltipMouseLeave },
|
|
125
|
+
React__default.createElement(List, { id: compositeId, ref: ref, items: items, selectedItemIndex: type === 'menu' ? getSelectedItemIndex(items) : undefined, itemHeight: getItemHeight, itemsHeight: getItemsHeight, itemClassName: b('root-menu-item'), virtualized: false, filterable: false, sortable: false, renderItem: (item, _isItemActive, itemIndex) => (React__default.createElement(Item, Object.assign({}, item, { compact: compact, onMouseEnter: onMouseEnterByIndex(itemIndex), onMouseLeave: onMouseLeave, onItemClick: onItemClickByIndex(itemIndex, item.onItemClick), collapseItems: collapseItems }))) })),
|
|
126
|
+
type === 'menu' && multipleTooltip && (React__default.createElement(MultipleTooltip, { open: compact && multipleTooltipActive, anchorRef: tooltipRef, placement: ['right-start'], items: items }))));
|
|
127
|
+
};
|
|
128
|
+
const CompositeBar = ({ type, items, menuMoreTitle, onItemClick, onMoreClick, multipleTooltip = false, compact, compositeId, }) => {
|
|
129
|
+
if (items.length === 0) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
let node;
|
|
133
|
+
if (type === 'menu') {
|
|
134
|
+
const minHeight = getItemsMinHeight(items);
|
|
135
|
+
const collapseItem = getMoreButtonItem(menuMoreTitle);
|
|
136
|
+
node = (React__default.createElement("div", { className: b({ autosizer: true }), style: { minHeight } }, items.length !== 0 && (React__default.createElement(AutoSizer, null, (size) => {
|
|
137
|
+
const width = Number.isNaN(size.width) ? 0 : size.width;
|
|
138
|
+
const height = Number.isNaN(size.height) ? 0 : size.height;
|
|
139
|
+
const { listItems, collapseItems } = getAutosizeListItems(items, height, collapseItem);
|
|
140
|
+
return (React__default.createElement("div", { style: { width, height } },
|
|
141
|
+
React__default.createElement(CompositeBarView, { compositeId: compositeId, type: "menu", compact: compact, items: listItems, onItemClick: onItemClick, onMoreClick: onMoreClick, collapseItems: collapseItems, multipleTooltip: multipleTooltip })));
|
|
142
|
+
}))));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
node = (React__default.createElement("div", { className: b({ subheader: true }) },
|
|
146
|
+
React__default.createElement(CompositeBarView, { type: "subheader", compact: compact, items: items, onItemClick: onItemClick })));
|
|
147
|
+
}
|
|
148
|
+
return React__default.createElement(MultipleTooltipProvider, null, node);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export { CompositeBar };
|
|
152
|
+
//# sourceMappingURL=CompositeBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompositeBar.js","sources":["../../../../../../../src/components/AsideHeader/components/CompositeBar/CompositeBar.tsx"],"sourcesContent":["import React, {FC, ReactNode, useCallback, useContext, useRef} from 'react';\n\nimport {List} from '@gravity-ui/uikit';\nimport AutoSizer, {Size} from 'react-virtualized-auto-sizer';\n\nimport {ASIDE_HEADER_COMPACT_WIDTH} from '../../../constants';\nimport {createBlock} from '../../../utils/cn';\nimport {AsideHeaderItem} from '../../types';\n\nimport {Item, ItemProps} from './Item/Item';\nimport {MultipleTooltip, MultipleTooltipContext, MultipleTooltipProvider} from './MultipleTooltip';\nimport {COLLAPSE_ITEM_ID} from './constants';\nimport {\n getAutosizeListItems,\n getItemHeight,\n getItemsHeight,\n getItemsMinHeight,\n getMoreButtonItem,\n getSelectedItemIndex,\n} from './utils';\n\nimport styles from './CompositeBar.module.scss';\n\nconst b = createBlock('composite-bar', styles);\n\ntype CompositeBarProps = {\n type: 'menu' | 'subheader';\n items: AsideHeaderItem[];\n onItemClick?: (\n item: AsideHeaderItem,\n collapsed: boolean,\n event: React.MouseEvent<HTMLElement, MouseEvent>,\n ) => void;\n multipleTooltip?: boolean;\n menuMoreTitle?: string;\n onMoreClick?: () => void;\n compact: boolean;\n compositeId?: string;\n};\n\ntype CompositeBarViewProps = CompositeBarProps & {\n collapseItems?: AsideHeaderItem[];\n};\n\nconst CompositeBarView: FC<CompositeBarViewProps> = ({\n type,\n items,\n onItemClick,\n onMoreClick,\n collapseItems,\n multipleTooltip = false,\n compact,\n compositeId,\n}) => {\n const ref = useRef<List<AsideHeaderItem>>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n\n const {\n setValue: setMultipleTooltipContextValue,\n active: multipleTooltipActive,\n activeIndex,\n lastClickedItemIndex,\n } = useContext(MultipleTooltipContext);\n\n React.useEffect(() => {\n function handleBlurWindow() {\n if (multipleTooltip && multipleTooltipActive) {\n setMultipleTooltipContextValue({active: false});\n }\n }\n\n window.addEventListener('blur', handleBlurWindow);\n\n return () => {\n window.removeEventListener('blur', handleBlurWindow);\n };\n }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);\n\n const onTooltipMouseEnter = useCallback(\n (e: {clientX: number}) => {\n if (\n multipleTooltip &&\n compact &&\n !multipleTooltipActive &&\n document.hasFocus() &&\n activeIndex !== lastClickedItemIndex &&\n e.clientX <= ASIDE_HEADER_COMPACT_WIDTH\n ) {\n setMultipleTooltipContextValue?.({\n active: true,\n });\n }\n },\n [\n multipleTooltip,\n compact,\n multipleTooltipActive,\n activeIndex,\n lastClickedItemIndex,\n setMultipleTooltipContextValue,\n ],\n );\n\n const onTooltipMouseLeave = useCallback(() => {\n if (multipleTooltip && multipleTooltipActive && document.hasFocus()) {\n setMultipleTooltipContextValue?.({\n active: false,\n lastClickedItemIndex: undefined,\n });\n }\n }, [multipleTooltip, multipleTooltipActive, setMultipleTooltipContextValue]);\n\n const onMouseEnterByIndex = useCallback(\n (itemIndex: number) => () => {\n if (multipleTooltip && document.hasFocus()) {\n let multipleTooltipActiveValue = multipleTooltipActive;\n if (!multipleTooltipActive && itemIndex !== lastClickedItemIndex) {\n multipleTooltipActiveValue = true;\n }\n if (\n activeIndex === itemIndex &&\n multipleTooltipActive === multipleTooltipActiveValue\n ) {\n return;\n }\n setMultipleTooltipContextValue({\n activeIndex: itemIndex,\n active: multipleTooltipActiveValue,\n });\n }\n },\n [\n multipleTooltip,\n multipleTooltipActive,\n lastClickedItemIndex,\n activeIndex,\n setMultipleTooltipContextValue,\n ],\n );\n\n const onMouseLeave = useCallback(() => {\n if (compact && document.hasFocus()) {\n ref.current?.activateItem(undefined as unknown as number);\n if (\n multipleTooltip &&\n (activeIndex !== undefined || lastClickedItemIndex !== undefined)\n ) {\n setMultipleTooltipContextValue({\n activeIndex: undefined,\n lastClickedItemIndex: undefined,\n });\n }\n }\n }, [\n activeIndex,\n compact,\n lastClickedItemIndex,\n multipleTooltip,\n setMultipleTooltipContextValue,\n ]);\n\n const onItemClickByIndex = useCallback(\n (\n itemIndex: number,\n orginalItemClick: AsideHeaderItem['onItemClick'],\n ): ItemProps['onItemClick'] =>\n (item, collapsed, event) => {\n if (\n compact &&\n multipleTooltip &&\n itemIndex !== lastClickedItemIndex &&\n item.id !== COLLAPSE_ITEM_ID\n ) {\n setMultipleTooltipContextValue({\n lastClickedItemIndex: itemIndex,\n active: false,\n });\n }\n\n // Handle clicks on the \"more\" button (collapse item)\n if (item.id === COLLAPSE_ITEM_ID && collapsed) {\n onMoreClick?.();\n } else {\n onItemClick?.({...item, onItemClick: orginalItemClick}, collapsed, event);\n }\n },\n [\n compact,\n lastClickedItemIndex,\n multipleTooltip,\n onItemClick,\n onMoreClick,\n setMultipleTooltipContextValue,\n ],\n );\n\n return (\n <React.Fragment>\n <div\n ref={tooltipRef}\n onMouseEnter={onTooltipMouseEnter}\n onMouseLeave={onTooltipMouseLeave}\n >\n <List<AsideHeaderItem>\n id={compositeId}\n ref={ref}\n items={items}\n selectedItemIndex={type === 'menu' ? getSelectedItemIndex(items) : undefined}\n itemHeight={getItemHeight}\n itemsHeight={getItemsHeight}\n itemClassName={b('root-menu-item')}\n virtualized={false}\n filterable={false}\n sortable={false}\n renderItem={(item, _isItemActive, itemIndex) => (\n <Item\n {...item}\n compact={compact}\n onMouseEnter={onMouseEnterByIndex(itemIndex)}\n onMouseLeave={onMouseLeave}\n onItemClick={onItemClickByIndex(itemIndex, item.onItemClick)}\n collapseItems={collapseItems}\n />\n )}\n />\n </div>\n {type === 'menu' && multipleTooltip && (\n <MultipleTooltip\n open={compact && multipleTooltipActive}\n anchorRef={tooltipRef}\n placement={['right-start']}\n items={items}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport const CompositeBar: FC<CompositeBarProps> = ({\n type,\n items,\n menuMoreTitle,\n onItemClick,\n onMoreClick,\n multipleTooltip = false,\n compact,\n compositeId,\n}) => {\n if (items.length === 0) {\n return null;\n }\n let node: ReactNode;\n\n if (type === 'menu') {\n const minHeight = getItemsMinHeight(items);\n const collapseItem = getMoreButtonItem(menuMoreTitle);\n node = (\n <div className={b({autosizer: true})} style={{minHeight}}>\n {items.length !== 0 && (\n <AutoSizer>\n {(size: Size) => {\n const width = Number.isNaN(size.width) ? 0 : size.width;\n const height = Number.isNaN(size.height) ? 0 : size.height;\n\n const {listItems, collapseItems} = getAutosizeListItems(\n items,\n height,\n collapseItem,\n );\n return (\n <div style={{width, height}}>\n <CompositeBarView\n compositeId={compositeId}\n type=\"menu\"\n compact={compact}\n items={listItems}\n onItemClick={onItemClick}\n onMoreClick={onMoreClick}\n collapseItems={collapseItems}\n multipleTooltip={multipleTooltip}\n />\n </div>\n );\n }}\n </AutoSizer>\n )}\n </div>\n );\n } else {\n node = (\n <div className={b({subheader: true})}>\n <CompositeBarView\n type=\"subheader\"\n compact={compact}\n items={items}\n onItemClick={onItemClick}\n />\n </div>\n );\n }\n return <MultipleTooltipProvider>{node}</MultipleTooltipProvider>;\n};\n"],"names":["React"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var styles = {"gn-composite-bar":"CompositeBar-module__gn-composite-bar___WoCDY","gnCompositeBar":"CompositeBar-module__gn-composite-bar___WoCDY","gn-composite-bar__root-menu-item":"CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF","gnCompositeBarRootMenuItem":"CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=CompositeBar.module.scss.js.map
|
package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompositeBar.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.HighlightedItem-module__gn-composite-bar-highlighted-item___8jg4a{--_--background-color:var(--g-color-base-background);--_--item-icon-background-size:38px;--_--item-background-color-hover:var(--g-color-base-selection-hover);--_--item-selected-background-color-active:var(--g-color-base-selection);display:flex;justify-content:center;position:absolute;z-index:10000}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v{align-items:center;background-color:var(--gn-aside-header-background-color,var(--_--background-color));border-radius:7px;box-shadow:0 8px 20px 0 var(--g-color-sfx-shadow);cursor:pointer;display:flex;height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));justify-content:center;overflow:hidden;position:relative;transform:translateY(1px);width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size))}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v:before{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color-active));content:"";height:100%;position:absolute;width:100%;z-index:-1}.HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v:hover:before{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover))}
|
package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import './HighlightedItem.css';
|
|
2
|
+
import React__default, { useState, useMemo, useCallback, useEffect } from 'react';
|
|
3
|
+
import { Portal } from '@gravity-ui/uikit';
|
|
4
|
+
import debounceFn from '../../../../../_virtual/debounce.js';
|
|
5
|
+
import { createBlock, block } from '../../../../utils/cn.js';
|
|
6
|
+
import { useAsideHeaderInnerContext } from '../../../AsideHeaderContext.js';
|
|
7
|
+
import styles from './HighlightedItem.module.scss.js';
|
|
8
|
+
|
|
9
|
+
const b = createBlock('composite-bar-highlighted-item', styles);
|
|
10
|
+
const bGlobal = block('composite-bar-highlighted-item');
|
|
11
|
+
const DEBOUNCE_TIME = 200;
|
|
12
|
+
const HighlightedItem = ({ iconRef, iconNode, onClick, onClickCapture, }) => {
|
|
13
|
+
const { openModalSubscriber } = useAsideHeaderInnerContext();
|
|
14
|
+
const [position, setPosition] = useState({
|
|
15
|
+
top: 0,
|
|
16
|
+
left: 0,
|
|
17
|
+
width: 0,
|
|
18
|
+
height: 0,
|
|
19
|
+
});
|
|
20
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
21
|
+
const handleResizeDebounced = useMemo(() => debounceFn(() => {
|
|
22
|
+
var _a;
|
|
23
|
+
const { top = 0, left = 0, width = 0, height = 0, } = ((_a = iconRef === null || iconRef === undefined ? undefined : iconRef.current) === null || _a === undefined ? undefined : _a.getBoundingClientRect()) || {};
|
|
24
|
+
setPosition({
|
|
25
|
+
top: top + window.scrollY,
|
|
26
|
+
left: left + window.scrollX,
|
|
27
|
+
width,
|
|
28
|
+
height,
|
|
29
|
+
});
|
|
30
|
+
}, DEBOUNCE_TIME, { leading: true }), [iconRef]);
|
|
31
|
+
const handleResize = useCallback(() => handleResizeDebounced(), [handleResizeDebounced]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!isModalOpen) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
handleResize();
|
|
37
|
+
window.addEventListener('resize', handleResize);
|
|
38
|
+
return () => {
|
|
39
|
+
window.removeEventListener('resize', handleResize);
|
|
40
|
+
};
|
|
41
|
+
}, [handleResize, isModalOpen]);
|
|
42
|
+
openModalSubscriber === null || openModalSubscriber === undefined ? undefined : openModalSubscriber((open) => {
|
|
43
|
+
setIsModalOpen(open);
|
|
44
|
+
});
|
|
45
|
+
if (!iconNode || !isModalOpen) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return (React__default.createElement(Portal, null,
|
|
49
|
+
React__default.createElement("div", { className: `${b()} ${bGlobal()}`, style: position, onClick: onClick, onClickCapture: onClickCapture, "data-toast": true },
|
|
50
|
+
React__default.createElement("div", { className: b('icon') }, iconNode))));
|
|
51
|
+
};
|
|
52
|
+
HighlightedItem.displayName = 'HighlightedItem';
|
|
53
|
+
|
|
54
|
+
export { HighlightedItem };
|
|
55
|
+
//# sourceMappingURL=HighlightedItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HighlightedItem.js","sources":["../../../../../../../../src/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {Portal} from '@gravity-ui/uikit';\nimport debounceFn from 'lodash/debounce';\n\nimport {block, createBlock} from '../../../../utils/cn';\nimport {useAsideHeaderInnerContext} from '../../../AsideHeaderContext';\n\nimport styles from './HighlightedItem.module.scss';\n\nconst b = createBlock('composite-bar-highlighted-item', styles);\nconst bGlobal = block('composite-bar-highlighted-item');\n\ninterface ItemInnerProps {\n iconRef: React.RefObject<HTMLDivElement>;\n iconNode: React.ReactNode;\n onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onClickCapture?: (event: React.SyntheticEvent) => void;\n}\n\nconst DEBOUNCE_TIME = 200;\n\nexport const HighlightedItem: React.FC<ItemInnerProps> = ({\n iconRef,\n iconNode,\n onClick,\n onClickCapture,\n}: ItemInnerProps) => {\n const {openModalSubscriber} = useAsideHeaderInnerContext();\n const [position, setPosition] = useState({\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n });\n const [isModalOpen, setIsModalOpen] = useState<boolean>(false);\n\n const handleResizeDebounced = useMemo(\n () =>\n debounceFn(\n () => {\n const {\n top = 0,\n left = 0,\n width = 0,\n height = 0,\n } = iconRef?.current?.getBoundingClientRect() || {};\n\n setPosition({\n top: top + window.scrollY,\n left: left + window.scrollX,\n width,\n height,\n });\n },\n DEBOUNCE_TIME,\n {leading: true},\n ),\n [iconRef],\n );\n\n const handleResize = useCallback(() => handleResizeDebounced(), [handleResizeDebounced]);\n\n useEffect(() => {\n if (!isModalOpen) {\n return undefined;\n }\n\n handleResize();\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize, isModalOpen]);\n\n openModalSubscriber?.((open: boolean) => {\n setIsModalOpen(open);\n });\n\n if (!iconNode || !isModalOpen) {\n return null;\n }\n\n return (\n <Portal>\n <div\n className={`${b()} ${bGlobal()}`}\n style={position}\n onClick={onClick}\n onClickCapture={onClickCapture}\n data-toast\n >\n <div className={b('icon')}>{iconNode}</div>\n </div>\n </Portal>\n );\n};\n\nHighlightedItem.displayName = 'HighlightedItem';\n"],"names":["React"],"mappings":";;;;;;;AAUA,MAAM,CAAC,GAAG,WAAW,CAAC,gCAAgC,EAAE,MAAM,CAAC;AAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,gCAAgC,CAAC;AASvD,MAAM,aAAa,GAAG,GAAG;AAElB,MAAM,eAAe,GAA6B,CAAC,EACtD,OAAO,EACP,QAAQ,EACR,OAAO,EACP,cAAc,GACD,KAAI;AACjB,IAAA,MAAM,EAAC,mBAAmB,EAAC,GAAG,0BAA0B,EAAE;AAC1D,IAAA,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AACrC,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,EAAE,CAAC;AACZ,KAAA,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IAE9D,MAAM,qBAAqB,GAAG,OAAO,CACjC,MACI,UAAU,CACN,MAAK;;AACD,QAAA,MAAM,EACF,GAAG,GAAG,CAAC,EACP,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,GACb,GAAG,CAAA,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,SAAA,GAAA,SAAA,GAAA,OAAO,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,SAAA,GAAA,EAAA,CAAA,qBAAqB,EAAE,KAAI,EAAE;AAEnD,QAAA,WAAW,CAAC;AACR,YAAA,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,OAAO;AACzB,YAAA,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,OAAO;YAC3B,KAAK;YACL,MAAM;AACT,SAAA,CAAC;AACN,KAAC,EACD,aAAa,EACb,EAAC,OAAO,EAAE,IAAI,EAAC,CAClB,EACL,CAAC,OAAO,CAAC,CACZ;AAED,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAExF,SAAS,CAAC,MAAK;QACX,IAAI,CAAC,WAAW,EAAE;AACd,YAAA,OAAO,SAAS;;AAGpB,QAAA,YAAY,EAAE;AAEd,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;AAE/C,QAAA,OAAO,MAAK;AACR,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;AACtD,SAAC;AACL,KAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE/B,mBAAmB,KAAA,IAAA,IAAnB,mBAAmB,KAAnB,SAAA,GAAA,SAAA,GAAA,mBAAmB,CAAG,CAAC,IAAa,KAAI;QACpC,cAAc,CAAC,IAAI,CAAC;AACxB,KAAC,CAAC;AAEF,IAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC3B,QAAA,OAAO,IAAI;;IAGf,QACIA,6BAAC,MAAM,EAAA,IAAA;QACHA,cACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAG,EAAA,CAAC,EAAE,CAAI,CAAA,EAAA,OAAO,EAAE,CAAE,CAAA,EAChC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA;AAG9B,YAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAG,EAAA,QAAQ,CAAO,CACzC,CACD;AAEjB;AAEA,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var styles = {"gn-composite-bar-highlighted-item":"HighlightedItem-module__gn-composite-bar-highlighted-item___8jg4a","gnCompositeBarHighlightedItem":"HighlightedItem-module__gn-composite-bar-highlighted-item___8jg4a","gn-composite-bar-highlighted-item__icon":"HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v","gnCompositeBarHighlightedItemIcon":"HighlightedItem-module__gn-composite-bar-highlighted-item__icon___zlo6v"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=HighlightedItem.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HighlightedItem.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.Item-module__gn-composite-bar-item___-pkx5{background:none;border:none;color:inherit;font:inherit;outline:inherit;text-decoration:inherit}.Item-module__gn-composite-bar-item___-pkx5:focus-visible{outline:solid var(--g-color-line-misc);outline-offset:-2px}.Item-module__gn-composite-bar-item___-pkx5{--gn-composite-bar-item-action-size:36px;--_--horizontal-divider-line-color:var(--g-color-line-generic);--_--item-background-color-hover:var(--g-color-base-simple-hover);--_--item-general-icon-color:var(--g-color-text-primary);--_--item-icon-color:var(--g-color-text-complementary);--_--item-text-color:var(--g-color-text-primary);--_--item-collapsed-radius:7px;--_--item-selected-text-color:var(--g-color-text-primary);--_--item-selected-background-color:var(--g-color-base-selection);align-items:center;cursor:pointer;display:flex;height:100%;min-width:0;padding:0;width:100%}.Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-item-icon-color,var(--_--item-icon-color))}.Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-item-icon-color,var(--_--item-icon-color)))}.gn-composite-bar-highlighted-item .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-composite-bar_subheader .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-footer-item .Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color))}.gn-composite-bar-highlighted-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-composite-bar_subheader .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf, .gn-footer-item .Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__icon___ORFNf{color:var(--gn-aside-header-item-current-icon-color,var(--gn-aside-header-general-item-icon-color,var(--_--item-general-icon-color)))}.Item-module__gn-composite-bar-item__icon-tooltip___PxU2i .Item-module__g-action-tooltip__description___UsHcG{color:var(--g-color-text-light-primary);margin-block-start:0}.Item-module__gn-composite-bar-item__icon-place___jPKRh{align-items:center;display:flex;flex-shrink:0;height:100%;justify-content:center;width:var(--gn-aside-header-min-width)}.Item-module__gn-composite-bar-item__title___wj5L5{align-items:center;display:flex;margin-right:16px;overflow:hidden}.Item-module__gn-composite-bar-item__title-text___cILJo{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--gn-aside-header-item-text-color,var(--_--item-text-color));display:-webkit-box;overflow:hidden;text-align:start}.Item-module__gn-composite-bar-item_current___NT2hB .Item-module__gn-composite-bar-item__title-text___cILJo{color:var(--gn-aside-header-item-current-text-color,var(--_--item-selected-text-color))}.Item-module__gn-composite-bar-item__title-adornment___Xcopn{margin:0 10px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX{background:none;border:none;color:inherit;font:inherit;outline:inherit;text-decoration:inherit}.Item-module__gn-composite-bar-item__collapse-item___Up6IX:focus-visible{outline:solid var(--g-color-line-misc);outline-offset:-2px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX{--_--item-icon-color:var(--g-color-text-misc);align-items:center;cursor:pointer;display:flex;height:100%;padding:0 16px;width:100%}.Item-module__gn-composite-bar-item__collapse-item-icon___CD-ao{color:var(--gn-aside-header-item-icon-color,var(--_--item-icon-color));margin-right:10px}.Item-module__gn-composite-bar-item__collapse-item___Up6IX .Item-module__gn-composite-bar-item__title-adornment___Xcopn{margin-right:0}.Item-module__gn-composite-bar-item__menu-divider___hkm-Z{border-top:1px solid var(--gn-aside-header-divider-horizontal-color,var(--_--horizontal-divider-line-color));cursor:default;margin:0 8px;width:100%}.Item-module__gn-composite-bar-item__collapse-items-popup-content___a82to{padding:4px 0}.Item-module__gn-composite-bar-item__link___McAVN{align-items:center;display:flex;height:100%;width:100%}.Item-module__gn-composite-bar-item__link___McAVN, .Item-module__gn-composite-bar-item__link___McAVN:active, .Item-module__gn-composite-bar-item__link___McAVN:focus, .Item-module__gn-composite-bar-item__link___McAVN:hover, .Item-module__gn-composite-bar-item__link___McAVN:visited{color:inherit;outline:none;text-decoration:none}.Item-module__gn-composite-bar-item__btn-icon___SwT65{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Item-module__gn-composite-bar-item_type_action___2jxO8{background:var(--g-color-base-float);border-radius:var(--gn-composite-bar-item-action-size);box-shadow:0 0 0 1px rgba(0,0,0,.03),0 5px 6px rgba(0,0,0,.12);height:var(--gn-composite-bar-item-action-size);justify-content:center;margin:0 10px 8px;transition:transform .1s ease-out,background-color .15s linear}.Item-module__gn-composite-bar-item_type_action___2jxO8:focus-visible{box-shadow:0 0 0 2px var(--g-color-line-misc)}.Item-module__gn-composite-bar-item_type_action___2jxO8:hover{background-color:var(--g-color-base-float-hover)}.Item-module__gn-composite-bar-item_type_action___2jxO8:active{box-shadow:0 1px 2px var(--g-color-sfx-shadow);transform:scale(.96);transition:none}.Item-module__gn-composite-bar-item_type_action___2jxO8 .Item-module__gn-composite-bar-item__icon-place___jPKRh{width:var(--gn-composite-bar-item-action-size)}.Item-module__gn-composite-bar-item_type_action___2jxO8.gn-footer-item{width:calc(100% - 20px)}.Item-module__gn-composite-bar-item__icon-tooltip_item-type_action___HUhUR{margin-left:10px}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_compact___PVTeM).Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color));border-radius:var(--gn-aside-header-item-expanded-radius)}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_compact___PVTeM):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--gn-aside-header-item-current-background-color-hover,var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color)));border-radius:var(--gn-aside-header-item-expanded-radius)}.Item-module__gn-composite-bar-item___-pkx5:not(.Item-module__gn-composite-bar-item_compact___PVTeM):not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover));border-radius:var(--gn-aside-header-item-expanded-radius)}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_type_action___2jxO8{width:var(--gn-composite-bar-item-action-size)}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_type_action___2jxO8 .Item-module__gn-composite-bar-item__title___wj5L5{margin:0}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item_compact___PVTeM.Item-module__gn-composite-bar-item_current___NT2hB.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{background-color:var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color));border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));left:50%;margin-left:-19px;margin-top:-19px;position:absolute;top:50%;width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));z-index:-1}.Item-module__gn-composite-bar-item_compact___PVTeM:hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item_compact___PVTeM:hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{background-color:var(--gn-aside-header-item-current-background-color-hover,var(--gn-aside-header-item-current-background-color,var(--_--item-selected-background-color)));border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));left:50%;margin-left:-19px;margin-top:-19px;position:absolute;top:50%;width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));z-index:-1}.Item-module__gn-composite-bar-item_compact___PVTeM:not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65{background-color:transparent;position:relative}.Item-module__gn-composite-bar-item_compact___PVTeM:not(.Item-module__gn-composite-bar-item_current___NT2hB):hover.Item-module__gn-composite-bar-item_type_regular___wkhsT .Item-module__gn-composite-bar-item__btn-icon___SwT65:before{background-color:var(--gn-aside-header-item-background-color-hover,var(--_--item-background-color-hover));border-radius:var(--gn-aside-header-item-collapsed-radius,var(--_--item-collapsed-radius));content:"";height:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));left:50%;margin-left:-19px;margin-top:-19px;position:absolute;top:50%;width:var(--gn-aside-header-item-icon-background-size,var(--_--item-icon-background-size));z-index:-1}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AsideHeaderItem } from 'src/components/AsideHeader/types';
|
|
3
|
+
export interface ItemProps extends AsideHeaderItem {
|
|
4
|
+
}
|
|
5
|
+
interface ItemInnerProps extends ItemProps {
|
|
6
|
+
className?: string;
|
|
7
|
+
collapseItems?: AsideHeaderItem[];
|
|
8
|
+
onMouseEnter?: () => void;
|
|
9
|
+
onMouseLeave?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const Item: React.FC<ItemInnerProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import './Item.css';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { Icon, Popup, List, ActionTooltip } from '@gravity-ui/uikit';
|
|
4
|
+
import { ASIDE_HEADER_ICON_SIZE } from '../../../../constants.js';
|
|
5
|
+
import { createBlock } from '../../../../utils/cn.js';
|
|
6
|
+
import { useAsideHeaderContext } from '../../../AsideHeaderContext.js';
|
|
7
|
+
import { HighlightedItem } from '../HighlightedItem/HighlightedItem.js';
|
|
8
|
+
import { ITEM_TYPE_REGULAR, COLLAPSE_ITEM_ID, POPUP_PLACEMENT, POPUP_ITEM_HEIGHT } from '../constants.js';
|
|
9
|
+
import { getSelectedItemIndex } from '../utils.js';
|
|
10
|
+
import styles from './Item.module.scss.js';
|
|
11
|
+
|
|
12
|
+
const b = createBlock('composite-bar-item', styles);
|
|
13
|
+
function renderItemTitle(params) {
|
|
14
|
+
let titleNode = React__default.createElement("div", { className: b('title-text') }, params.title);
|
|
15
|
+
if (params.rightAdornment) {
|
|
16
|
+
titleNode = (React__default.createElement(React__default.Fragment, null,
|
|
17
|
+
titleNode,
|
|
18
|
+
React__default.createElement("div", { className: b('title-adornment') }, params.rightAdornment)));
|
|
19
|
+
}
|
|
20
|
+
return titleNode;
|
|
21
|
+
}
|
|
22
|
+
const defaultPopupPlacement = ['right-end'];
|
|
23
|
+
const defaultPopupOffset = { mainAxis: 8, crossAxis: -20 };
|
|
24
|
+
const Item = (props) => {
|
|
25
|
+
const { className, collapseItems, compact, onMouseLeave, onMouseEnter, enableTooltip = true, popupVisible = false, popupRef: anchoreRefProp, popupPlacement = defaultPopupPlacement, popupOffset = defaultPopupOffset, popupKeepMounted, renderPopupContent, onOpenChangePopup, onItemClick, onItemClickCapture, itemWrapper, bringForward, rightAdornment, title, href, qa, } = props;
|
|
26
|
+
const [open, toggleOpen] = React__default.useState(false);
|
|
27
|
+
const ref = React__default.useRef(null);
|
|
28
|
+
const anchorRef = (anchoreRefProp === null || anchoreRefProp === undefined ? undefined : anchoreRefProp.current) ? anchoreRefProp : ref;
|
|
29
|
+
const highlightedRef = React__default.useRef(null);
|
|
30
|
+
const type = props.type || ITEM_TYPE_REGULAR;
|
|
31
|
+
const current = props.current || false;
|
|
32
|
+
const tooltipText = props.tooltipText || props.title;
|
|
33
|
+
const icon = props.icon;
|
|
34
|
+
const iconSize = props.iconSize || ASIDE_HEADER_ICON_SIZE;
|
|
35
|
+
const iconQa = props.iconQa;
|
|
36
|
+
const collapsedItem = props.id === COLLAPSE_ITEM_ID;
|
|
37
|
+
const handleOpenChangePopup = React__default.useCallback((newOpen, event, reason) => {
|
|
38
|
+
var _a;
|
|
39
|
+
if (event instanceof MouseEvent &&
|
|
40
|
+
event.target &&
|
|
41
|
+
((_a = ref.current) === null || _a === undefined ? undefined : _a.contains(event.target))) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
onOpenChangePopup === null || onOpenChangePopup === undefined ? undefined : onOpenChangePopup(newOpen, event, reason);
|
|
45
|
+
}, [onOpenChangePopup]);
|
|
46
|
+
if (type === 'divider') {
|
|
47
|
+
return React__default.createElement("div", { className: b('menu-divider') });
|
|
48
|
+
}
|
|
49
|
+
const makeIconNode = (iconEl) => {
|
|
50
|
+
// Ensure icon has the b('icon') class for proper styling
|
|
51
|
+
let processedIconEl = iconEl;
|
|
52
|
+
if (React__default.isValidElement(iconEl)) {
|
|
53
|
+
const existingClassName = iconEl.props.className || '';
|
|
54
|
+
if (!existingClassName.includes(b('icon'))) {
|
|
55
|
+
processedIconEl = React__default.cloneElement(iconEl, {
|
|
56
|
+
className: `${existingClassName} ${b('icon')}`.trim(),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return compact ? (React__default.createElement(ActionTooltip, { title: "", description: tooltipText, disabled: !enableTooltip || (collapsedItem && open) || popupVisible, placement: "right", className: b('icon-tooltip', { 'item-type': type }) },
|
|
61
|
+
React__default.createElement("div", { onMouseEnter: () => onMouseEnter === null || onMouseEnter === undefined ? undefined : onMouseEnter(), onMouseLeave: () => onMouseLeave === null || onMouseLeave === undefined ? undefined : onMouseLeave(), className: b('btn-icon') }, processedIconEl))) : (processedIconEl);
|
|
62
|
+
};
|
|
63
|
+
const makeNode = ({ icon: iconEl, title: titleEl }) => {
|
|
64
|
+
const [Tag, tagProps] = href ? ['a', { href }] : ['button', {}];
|
|
65
|
+
const createdNode = (React__default.createElement(React__default.Fragment, null,
|
|
66
|
+
React__default.createElement(Tag, Object.assign({}, tagProps, { className: b({ type, current, compact }, className), ref: ref, "data-qa": qa, onClick: (event) => {
|
|
67
|
+
if (collapsedItem) {
|
|
68
|
+
/**
|
|
69
|
+
* This is the "more" button (three dots) that shows additional menu items in a popup.
|
|
70
|
+
* We call onItemClick with collapsed=true to indicate this is a collapse action.
|
|
71
|
+
*/
|
|
72
|
+
toggleOpen(!open);
|
|
73
|
+
onItemClick === null || onItemClick === undefined ? undefined : onItemClick(props, true, event);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
onItemClick === null || onItemClick === undefined ? undefined : onItemClick(props, false, event);
|
|
77
|
+
}
|
|
78
|
+
}, onClickCapture: onItemClickCapture, onMouseEnter: () => {
|
|
79
|
+
if (!compact) {
|
|
80
|
+
onMouseEnter === null || onMouseEnter === undefined ? undefined : onMouseEnter();
|
|
81
|
+
}
|
|
82
|
+
}, onMouseLeave: () => {
|
|
83
|
+
if (!compact) {
|
|
84
|
+
onMouseLeave === null || onMouseLeave === undefined ? undefined : onMouseLeave();
|
|
85
|
+
}
|
|
86
|
+
} }),
|
|
87
|
+
React__default.createElement("div", { className: b('icon-place'), ref: highlightedRef }, makeIconNode(iconEl)),
|
|
88
|
+
React__default.createElement("div", { className: b('title'), title: typeof title === 'string' ? title : undefined }, titleEl)),
|
|
89
|
+
renderPopupContent && Boolean(anchorRef === null || anchorRef === undefined ? undefined : anchorRef.current) && (React__default.createElement(Popup, { strategy: "fixed", open: popupVisible, keepMounted: popupKeepMounted, placement: popupPlacement, offset: popupOffset, anchorElement: anchorRef.current, onOpenChange: handleOpenChangePopup }, renderPopupContent()))));
|
|
90
|
+
return createdNode;
|
|
91
|
+
};
|
|
92
|
+
const iconNode = icon ? (React__default.createElement(Icon, { qa: iconQa, data: icon, size: iconSize, className: b('icon') })) : null;
|
|
93
|
+
const titleNode = renderItemTitle({ title, rightAdornment });
|
|
94
|
+
const params = { icon: iconNode, title: titleNode };
|
|
95
|
+
let highlightedNode = null;
|
|
96
|
+
let node;
|
|
97
|
+
const opts = { compact: Boolean(compact), collapsed: false, item: props, ref };
|
|
98
|
+
if (typeof itemWrapper === 'function') {
|
|
99
|
+
node = itemWrapper(params, makeNode, opts);
|
|
100
|
+
highlightedNode =
|
|
101
|
+
bringForward &&
|
|
102
|
+
itemWrapper(params, ({ icon: iconEl }) => makeIconNode(iconEl), opts);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
node = makeNode(params);
|
|
106
|
+
highlightedNode = bringForward && makeIconNode(iconNode);
|
|
107
|
+
}
|
|
108
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
109
|
+
bringForward && (React__default.createElement(HighlightedItem, { iconNode: highlightedNode, iconRef: highlightedRef, onClick: (event) => onItemClick === null || onItemClick === undefined ? undefined : onItemClick(props, false, event), onClickCapture: onItemClickCapture })),
|
|
110
|
+
node,
|
|
111
|
+
open && collapsedItem && (collapseItems === null || collapseItems === undefined ? undefined : collapseItems.length) && Boolean(anchorRef === null || anchorRef === undefined ? undefined : anchorRef.current) && (React__default.createElement(CollapsedPopup, Object.assign({}, props, { anchorRef: anchorRef, onOpenChange: () => toggleOpen(false) })))));
|
|
112
|
+
};
|
|
113
|
+
Item.displayName = 'Item';
|
|
114
|
+
function CollapsedPopup({ onItemClick, collapseItems, anchorRef, onOpenChange, }) {
|
|
115
|
+
const { compact } = useAsideHeaderContext();
|
|
116
|
+
return (collapseItems === null || collapseItems === undefined ? undefined : collapseItems.length) ? (React__default.createElement(Popup, { strategy: "fixed", placement: POPUP_PLACEMENT, open: true, anchorElement: anchorRef.current, onOpenChange: onOpenChange },
|
|
117
|
+
React__default.createElement("div", { className: b('collapse-items-popup-content') },
|
|
118
|
+
React__default.createElement(List, { itemClassName: b('root-collapse-item'), items: collapseItems, selectedItemIndex: getSelectedItemIndex(collapseItems), itemHeight: POPUP_ITEM_HEIGHT, itemsHeight: collapseItems.length * POPUP_ITEM_HEIGHT, virtualized: false, filterable: false, sortable: false, onItemClick: onOpenChange, renderItem: (item) => {
|
|
119
|
+
const makeCollapseNode = ({ title: titleEl, icon: iconEl, }) => {
|
|
120
|
+
const [Tag, tagProps] = item.href
|
|
121
|
+
? ['a', { href: item.href }]
|
|
122
|
+
: ['button', {}];
|
|
123
|
+
return (React__default.createElement(Tag, Object.assign({}, tagProps, { className: b('collapse-item'), onClick: (event) => {
|
|
124
|
+
onItemClick === null || onItemClick === undefined ? undefined : onItemClick(item, true, event);
|
|
125
|
+
} }),
|
|
126
|
+
iconEl,
|
|
127
|
+
titleEl));
|
|
128
|
+
};
|
|
129
|
+
const titleNode = renderItemTitle(item);
|
|
130
|
+
const iconNode = item.icon && (React__default.createElement(Icon, { data: item.icon, size: 14, className: b('collapse-item-icon') }));
|
|
131
|
+
const params = { title: titleNode, icon: iconNode };
|
|
132
|
+
const opts = {
|
|
133
|
+
compact: Boolean(compact),
|
|
134
|
+
collapsed: true,
|
|
135
|
+
item,
|
|
136
|
+
ref: anchorRef,
|
|
137
|
+
};
|
|
138
|
+
if (typeof item.itemWrapper === 'function') {
|
|
139
|
+
return item.itemWrapper(params, makeCollapseNode, opts);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
return makeCollapseNode(params);
|
|
143
|
+
}
|
|
144
|
+
} })))) : null;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export { Item };
|
|
148
|
+
//# sourceMappingURL=Item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Item.js","sources":["../../../../../../../../src/components/AsideHeader/components/CompositeBar/Item/Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport {ActionTooltip, Icon, List, Popup, PopupPlacement, PopupProps} from '@gravity-ui/uikit';\n\nimport {AsideHeaderItem} from 'src/components/AsideHeader/types';\n\nimport {ASIDE_HEADER_ICON_SIZE} from '../../../../constants';\nimport {MakeItemParams} from '../../../../types';\nimport {createBlock} from '../../../../utils/cn';\nimport {useAsideHeaderContext} from '../../../AsideHeaderContext';\nimport {HighlightedItem} from '../HighlightedItem/HighlightedItem';\nimport {\n COLLAPSE_ITEM_ID,\n ITEM_TYPE_REGULAR,\n POPUP_ITEM_HEIGHT,\n POPUP_PLACEMENT,\n} from '../constants';\nimport {getSelectedItemIndex} from '../utils';\n\nimport styles from './Item.module.scss';\n\nconst b = createBlock('composite-bar-item', styles);\n\nexport interface ItemProps extends AsideHeaderItem {}\n\ninterface ItemInnerProps extends ItemProps {\n className?: string;\n collapseItems?: AsideHeaderItem[];\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\nfunction renderItemTitle(params: Pick<AsideHeaderItem, 'title' | 'rightAdornment'>) {\n let titleNode = <div className={b('title-text')}>{params.title}</div>;\n\n if (params.rightAdornment) {\n titleNode = (\n <React.Fragment>\n {titleNode}\n <div className={b('title-adornment')}>{params.rightAdornment}</div>\n </React.Fragment>\n );\n }\n\n return titleNode;\n}\n\nconst defaultPopupPlacement: PopupPlacement = ['right-end'];\nconst defaultPopupOffset: NonNullable<PopupProps['offset']> = {mainAxis: 8, crossAxis: -20};\n\nexport const Item: React.FC<ItemInnerProps> = (props) => {\n const {\n className,\n collapseItems,\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 onItemClickCapture,\n itemWrapper,\n bringForward,\n rightAdornment,\n title,\n href,\n qa,\n } = props;\n\n const [open, toggleOpen] = React.useState<boolean>(false);\n\n const ref = React.useRef<HTMLAnchorElement & HTMLButtonElement>(null);\n const anchorRef = anchoreRefProp?.current ? anchoreRefProp : ref;\n const highlightedRef = React.useRef<HTMLDivElement>(null);\n\n const type = props.type || ITEM_TYPE_REGULAR;\n const current = props.current || false;\n const tooltipText = props.tooltipText || props.title;\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\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 onOpenChangePopup?.(newOpen, event, reason);\n },\n [onOpenChangePopup],\n );\n\n if (type === 'divider') {\n return <div className={b('menu-divider')} />;\n }\n\n const makeIconNode = (iconEl: React.ReactNode): React.ReactNode => {\n // Ensure icon has the b('icon') class for proper styling\n let processedIconEl = iconEl;\n if (React.isValidElement(iconEl)) {\n const existingClassName = (iconEl.props as {className?: string}).className || '';\n if (!existingClassName.includes(b('icon'))) {\n processedIconEl = React.cloneElement(iconEl, {\n className: `${existingClassName} ${b('icon')}`.trim(),\n } as React.Attributes);\n }\n }\n\n return compact ? (\n <ActionTooltip\n title=\"\"\n description={tooltipText}\n disabled={!enableTooltip || (collapsedItem && open) || popupVisible}\n placement=\"right\"\n className={b('icon-tooltip', {'item-type': type})}\n >\n <div\n onMouseEnter={() => onMouseEnter?.()}\n onMouseLeave={() => onMouseLeave?.()}\n className={b('btn-icon')}\n >\n {processedIconEl}\n </div>\n </ActionTooltip>\n ) : (\n processedIconEl\n );\n };\n\n const makeNode = ({icon: iconEl, title: titleEl}: MakeItemParams) => {\n const [Tag, tagProps] = href ? ['a' as const, {href}] : ['button' as const, {}];\n\n const createdNode = (\n <React.Fragment>\n <Tag\n {...tagProps}\n className={b({type, current, compact}, className)}\n ref={ref}\n data-qa={qa}\n onClick={(event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (collapsedItem) {\n /**\n * This is the \"more\" button (three dots) that shows additional menu items in a popup.\n * We call onItemClick with collapsed=true to indicate this is a collapse action.\n */\n toggleOpen(!open);\n onItemClick?.(props, true, event);\n } else {\n onItemClick?.(props, false, event);\n }\n }}\n onClickCapture={onItemClickCapture}\n onMouseEnter={() => {\n if (!compact) {\n onMouseEnter?.();\n }\n }}\n onMouseLeave={() => {\n if (!compact) {\n onMouseLeave?.();\n }\n }}\n >\n <div className={b('icon-place')} ref={highlightedRef}>\n {makeIconNode(iconEl)}\n </div>\n\n <div\n className={b('title')}\n title={typeof title === 'string' ? title : undefined}\n >\n {titleEl}\n </div>\n </Tag>\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 = icon ? (\n <Icon qa={iconQa} data={icon} size={iconSize} className={b('icon')} />\n ) : null;\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),\n opts,\n ) as React.ReactElement);\n } else {\n node = makeNode(params);\n highlightedNode = bringForward && makeIconNode(iconNode);\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 {open && collapsedItem && collapseItems?.length && Boolean(anchorRef?.current) && (\n <CollapsedPopup\n {...props}\n anchorRef={anchorRef}\n onOpenChange={() => toggleOpen(false)}\n />\n )}\n </React.Fragment>\n );\n};\n\nItem.displayName = 'Item';\n\ninterface CollapsedPopupProps {\n anchorRef: React.RefObject<HTMLElement>;\n onOpenChange: () => void;\n}\n\nfunction CollapsedPopup({\n onItemClick,\n collapseItems,\n anchorRef,\n onOpenChange,\n}: ItemInnerProps & CollapsedPopupProps) {\n const {compact} = useAsideHeaderContext();\n return collapseItems?.length ? (\n <Popup\n strategy=\"fixed\"\n placement={POPUP_PLACEMENT}\n open={true}\n anchorElement={anchorRef.current}\n onOpenChange={onOpenChange}\n >\n <div className={b('collapse-items-popup-content')}>\n <List\n itemClassName={b('root-collapse-item')}\n items={collapseItems}\n selectedItemIndex={getSelectedItemIndex(collapseItems)}\n itemHeight={POPUP_ITEM_HEIGHT}\n itemsHeight={collapseItems.length * POPUP_ITEM_HEIGHT}\n virtualized={false}\n filterable={false}\n sortable={false}\n onItemClick={onOpenChange}\n renderItem={(item) => {\n const makeCollapseNode = ({\n title: titleEl,\n icon: iconEl,\n }: MakeItemParams) => {\n const [Tag, tagProps] = item.href\n ? ['a' as const, {href: item.href}]\n : ['button' as const, {}];\n\n return (\n <Tag\n {...tagProps}\n className={b('collapse-item')}\n onClick={(event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onItemClick?.(item, true, event);\n }}\n >\n {iconEl}\n {titleEl}\n </Tag>\n );\n };\n\n const titleNode = renderItemTitle(item);\n const iconNode = item.icon && (\n <Icon data={item.icon} size={14} className={b('collapse-item-icon')} />\n );\n\n const params = {title: titleNode, icon: iconNode};\n const opts = {\n compact: Boolean(compact),\n collapsed: true,\n item,\n ref: anchorRef,\n };\n if (typeof item.itemWrapper === 'function') {\n return item.itemWrapper(params, makeCollapseNode, opts);\n } else {\n return makeCollapseNode(params);\n }\n }}\n />\n </div>\n </Popup>\n ) : null;\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
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__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_compact":"Item-module__gn-composite-bar-item_compact___PVTeM","gnCompositeBarItemCompact":"Item-module__gn-composite-bar-item_compact___PVTeM","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"};
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
4
|
+
//# sourceMappingURL=Item.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Item.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
.MultipleTooltip-module__g-root_theme_dark-hc___sdXJ2 .MultipleTooltip-module__gn-multiple-tooltip___UCYs0, .MultipleTooltip-module__g-root_theme_dark___C5nrp .MultipleTooltip-module__gn-multiple-tooltip___UCYs0{--multiple-tooltip-item-bg-color:var(
|
|
2
|
+
--g-color-base-float-medium,var(--g-color-private-white-100-solid)
|
|
3
|
+
);--multiple-tooltip-item-active-bg-color:var(--g-color-base-float-heavy);--multiple-tooltip-backdrop-background:linear-gradient(90deg,var(--g-color-base-background) 50%,transparent);--multiple-tooltip-backdrop-filter:blur(16px)}.MultipleTooltip-module__g-root_theme_dark-hc___sdXJ2 .MultipleTooltip-module__gn-multiple-tooltip___UCYs0{--multiple-tooltip-item-bg-color:var(
|
|
4
|
+
--g-color-base-float-medium,var(--g-color-private-white-150-solid)
|
|
5
|
+
)}.MultipleTooltip-module__g-root_theme_light-hc___75Wfu .MultipleTooltip-module__gn-multiple-tooltip___UCYs0, .MultipleTooltip-module__g-root_theme_light___B7ecO .MultipleTooltip-module__gn-multiple-tooltip___UCYs0{--multiple-tooltip-item-bg-color:var(
|
|
6
|
+
--g-color-base-float-medium,var(--g-color-private-black-550-solid)
|
|
7
|
+
);--multiple-tooltip-item-active-bg-color:var(--g-color-base-float-heavy);--multiple-tooltip-backdrop-background:linear-gradient(90deg,var(--g-color-base-background) 50%,transparent);--multiple-tooltip-backdrop-filter:blur(12px)}
|
|
8
|
+
.MultipleTooltip-module__gn-multiple-tooltip___UCYs0:before{background:var(--multiple-tooltip-backdrop-background);box-shadow:none;content:"";filter:var(--multiple-tooltip-backdrop-filter);height:100%;opacity:.7;position:absolute;width:100%;z-index:-1}.MultipleTooltip-module__gn-multiple-tooltip__popup___wE4Fl{--g-popup-background-color:transparent;--g-popup-border-color:transparent;--g-popup-border-width:0;background-color:transparent;box-shadow:none}.MultipleTooltip-module__gn-multiple-tooltip__items-container___1N4u-{align-items:flex-start;display:flex;flex-direction:column;padding:32px 40px 32px 12px}.MultipleTooltip-module__gn-multiple-tooltip__item___sz4Q6{align-items:center;background-color:var(--multiple-tooltip-item-bg-color);border-radius:5px;box-sizing:border-box;color:var(--g-color-text-light-primary);display:flex;height:30px;margin-bottom:5px;padding:8px 12px;position:relative;transition:transform .1s ease-in-out}.MultipleTooltip-module__gn-multiple-tooltip__item___sz4Q6:first-child, .MultipleTooltip-module__gn-multiple-tooltip__item___sz4Q6:not(.MultipleTooltip-module__gn-multiple-tooltip__item_divider___vF10S)+.MultipleTooltip-module__gn-multiple-tooltip__item___sz4Q6:not(.MultipleTooltip-module__gn-multiple-tooltip__item_divider___vF10S){margin-top:5px}.MultipleTooltip-module__gn-multiple-tooltip__item_divider___vF10S+.MultipleTooltip-module__gn-multiple-tooltip__item___sz4Q6:not(.MultipleTooltip-module__gn-multiple-tooltip__item_divider___vF10S){margin-top:4px}.MultipleTooltip-module__gn-multiple-tooltip__item_active___CP4PC{background-color:var(--multiple-tooltip-item-active-bg-color);transform:translateX(-12px)}.MultipleTooltip-module__gn-multiple-tooltip__item_divider___vF10S{height:15px;margin:0;visibility:hidden}
|
|
9
|
+
.MultipleTooltip-module__g-popup___GO-A5.MultipleTooltip-module__gn-multiple-tooltip__popup___wE4Fl{--g-popup-background-color:transparent;--g-popup-border-color:transparent;--g-popup-border-width:0;background-color:transparent;box-shadow:none}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PopupProps } from '@gravity-ui/uikit';
|
|
3
|
+
import { AsideHeaderItem } from 'src/components/AsideHeader/types';
|
|
4
|
+
type MultipleTooltipProps = Pick<PopupProps, 'open' | 'placement'> & {
|
|
5
|
+
anchorRef: React.RefObject<HTMLElement>;
|
|
6
|
+
items: AsideHeaderItem[];
|
|
7
|
+
};
|
|
8
|
+
export declare const MultipleTooltip: React.FC<MultipleTooltipProps>;
|
|
9
|
+
export {};
|