@gravity-ui/navigation 5.0.0 → 6.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/assets/icons/{divider-collapsed-compact.svg.js → control-menu-button.svg.js} +7 -7
- package/build/cjs/assets/icons/control-menu-button.svg.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.css +1 -1
- package/build/cjs/components/AsideHeader/AsideHeader.js +3 -3
- package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -1
- package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +4 -28
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js +8 -9
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +12 -0
- 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/AllPagesListItem/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +45 -103
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js +0 -2
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -3
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +15 -67
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
- 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 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +1 -2
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +11 -16
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +6 -34
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +40 -76
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -25
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +1 -17
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +54 -59
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +20 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +18 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +32 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +3 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +19 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/grouping.d.ts +11 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/grouping.js +68 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/grouping.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +11 -5
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +87 -56
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FirstPanel.js +20 -45
- package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +0 -2
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +1 -12
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
- package/build/cjs/components/AsideHeader/components/Header.js +4 -13
- package/build/cjs/components/AsideHeader/components/Header.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.css +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +3 -3
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.css +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -4
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +6 -18
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.css +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +2 -7
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/Panels.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/Panels.js +3 -17
- package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
- package/build/cjs/components/AsideHeader/i18n/en.json.js +1 -4
- package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +4 -4
- package/build/cjs/components/AsideHeader/i18n/ru.json.js +1 -4
- package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/index.d.ts +3 -3
- package/build/cjs/components/AsideHeader/types.d.ts +8 -39
- package/build/cjs/components/AsideHeader/types.js.map +1 -1
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +1 -6
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +6 -41
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
- package/build/cjs/components/Footer/desktop/Footer.js +1 -1
- package/build/cjs/components/Footer/desktop/Footer.js.map +1 -1
- package/build/cjs/components/Footer/mobile/Footer.js +1 -1
- package/build/cjs/components/Footer/mobile/Footer.js.map +1 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +4 -2
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +13 -2
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
- package/build/cjs/components/Logo/Logo.css +1 -1
- package/build/cjs/components/Logo/Logo.d.ts +3 -7
- package/build/cjs/components/Logo/Logo.js +6 -19
- package/build/cjs/components/Logo/Logo.js.map +1 -1
- package/build/cjs/components/Logo/Logo.module.scss.js +1 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +1 -1
- package/build/cjs/components/MobileHeader/MobileHeader.d.ts +1 -1
- package/build/cjs/components/MobileHeader/MobileHeader.js +7 -7
- package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -1
- package/build/cjs/components/MobileHeader/types.d.ts +1 -1
- package/build/cjs/components/MobileLogo/MobileLogo.d.ts +1 -1
- package/build/cjs/components/MobileLogo/MobileLogo.js +2 -2
- package/build/cjs/components/MobileLogo/MobileLogo.js.map +1 -1
- package/build/cjs/components/constants.d.ts +5 -10
- package/build/cjs/components/constants.js +7 -17
- package/build/cjs/components/constants.js.map +1 -1
- package/build/cjs/components/types.d.ts +19 -15
- package/build/cjs/index.js +0 -4
- package/build/cjs/index.js.map +1 -1
- package/build/esm/assets/icons/{divider-collapsed-compact.svg.js → control-menu-button.svg.js} +7 -7
- package/build/esm/assets/icons/control-menu-button.svg.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.css +1 -1
- package/build/esm/components/AsideHeader/AsideHeader.js +3 -3
- package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -1
- package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +4 -28
- package/build/esm/components/AsideHeader/AsideHeaderContext.js +8 -9
- package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +12 -0
- 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/AllPagesListItem/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +46 -104
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js +1 -2
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +4 -4
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -3
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +15 -67
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
- 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 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +1 -2
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +13 -18
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +6 -34
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +44 -79
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -25
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +1 -17
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +57 -62
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.types.d.ts +20 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.d.ts +18 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js +30 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/ItemPopup.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.d.ts +3 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js +17 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/renderItemTitle.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/grouping.d.ts +11 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/grouping.js +65 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/grouping.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +11 -5
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +84 -56
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FirstPanel.js +21 -46
- package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +0 -2
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +1 -12
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +1 -1
- package/build/esm/components/AsideHeader/components/Header.js +5 -14
- package/build/esm/components/AsideHeader/components/Header.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.css +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +4 -4
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.css +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +1 -4
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +7 -19
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.css +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +2 -7
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
- package/build/esm/components/AsideHeader/components/Panels.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/Panels.js +4 -18
- package/build/esm/components/AsideHeader/components/Panels.js.map +1 -1
- package/build/esm/components/AsideHeader/i18n/en.json.js +2 -4
- package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -1
- package/build/esm/components/AsideHeader/i18n/index.d.ts +4 -4
- package/build/esm/components/AsideHeader/i18n/ru.json.js +2 -4
- package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -1
- package/build/esm/components/AsideHeader/index.d.ts +3 -3
- package/build/esm/components/AsideHeader/types.d.ts +8 -39
- package/build/esm/components/AsideHeader/types.js.map +1 -1
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +1 -6
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +6 -41
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
- package/build/esm/components/Footer/desktop/Footer.js +1 -1
- package/build/esm/components/Footer/desktop/Footer.js.map +1 -1
- package/build/esm/components/Footer/mobile/Footer.js +1 -1
- package/build/esm/components/Footer/mobile/Footer.js.map +1 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +4 -2
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js +13 -2
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
- package/build/esm/components/Logo/Logo.css +1 -1
- package/build/esm/components/Logo/Logo.d.ts +3 -7
- package/build/esm/components/Logo/Logo.js +6 -19
- package/build/esm/components/Logo/Logo.js.map +1 -1
- package/build/esm/components/Logo/Logo.module.scss.js +1 -1
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -1
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +1 -1
- package/build/esm/components/MobileHeader/MobileHeader.d.ts +1 -1
- package/build/esm/components/MobileHeader/MobileHeader.js +8 -8
- package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -1
- package/build/esm/components/MobileHeader/types.d.ts +1 -1
- package/build/esm/components/MobileLogo/MobileLogo.d.ts +1 -1
- package/build/esm/components/MobileLogo/MobileLogo.js +2 -2
- package/build/esm/components/MobileLogo/MobileLogo.js.map +1 -1
- package/build/esm/components/constants.d.ts +5 -10
- package/build/esm/components/constants.js +6 -11
- package/build/esm/components/constants.js.map +1 -1
- package/build/esm/components/types.d.ts +19 -15
- package/build/esm/index.js +1 -2
- package/build/esm/index.js.map +1 -1
- package/codemods/bin/cli.js +6 -19
- package/codemods/transforms/unifyInterfaces.ts +0 -1
- package/package.json +4 -3
- package/build/cjs/assets/icons/divider-collapsed-compact.svg.js.map +0 -1
- package/build/cjs/components/AsideHeader/FooterLayoutContext.d.ts +0 -7
- package/build/cjs/components/AsideHeader/FooterLayoutContext.js +0 -10
- package/build/cjs/components/AsideHeader/FooterLayoutContext.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +0 -3
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js +0 -17
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +0 -9
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +0 -27
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.d.ts +0 -2
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js +0 -13
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +0 -73
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +0 -144
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +0 -5
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +0 -45
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +0 -8
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +0 -27
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +0 -8
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/index.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +0 -21
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +0 -146
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.css +0 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.d.ts +0 -19
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js +0 -95
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +0 -8
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/constants.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/constants.js +0 -6
- package/build/cjs/components/AsideHeader/components/FooterBar/constants.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/index.d.ts +0 -1
- package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.d.ts +0 -6
- package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.js +0 -57
- package/build/cjs/components/AsideHeader/hooks/useDelayedToggle.js.map +0 -1
- package/build/cjs/components/AsideHeader/hooks/useIsExpanded.d.ts +0 -9
- package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js +0 -67
- package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js.map +0 -1
- package/build/cjs/components/AsideHeader/utils/getGroupHeight.d.ts +0 -2
- package/build/cjs/components/AsideHeader/utils/getGroupHeight.js +0 -16
- package/build/cjs/components/AsideHeader/utils/getGroupHeight.js.map +0 -1
- package/build/cjs/components/utils/getCollapsedWidth.d.ts +0 -1
- package/build/cjs/components/utils/getCollapsedWidth.js +0 -10
- package/build/cjs/components/utils/getCollapsedWidth.js.map +0 -1
- package/build/esm/assets/icons/divider-collapsed-compact.svg.js.map +0 -1
- package/build/esm/components/AsideHeader/FooterLayoutContext.d.ts +0 -7
- package/build/esm/components/AsideHeader/FooterLayoutContext.js +0 -7
- package/build/esm/components/AsideHeader/FooterLayoutContext.js.map +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.d.ts +0 -3
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js +0 -15
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/buildExpandedFromFlatList.js.map +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +0 -9
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +0 -25
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.d.ts +0 -2
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js +0 -11
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getIsMenuItem.js.map +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +0 -73
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +0 -136
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +0 -5
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +0 -43
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.css +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +0 -8
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +0 -25
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +0 -4
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/index.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +0 -21
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +0 -144
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +0 -1
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.css +0 -1
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.d.ts +0 -19
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js +0 -93
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js.map +0 -1
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +0 -4
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +0 -1
- package/build/esm/components/AsideHeader/components/FooterBar/constants.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/FooterBar/constants.js +0 -4
- package/build/esm/components/AsideHeader/components/FooterBar/constants.js.map +0 -1
- package/build/esm/components/AsideHeader/components/FooterBar/index.d.ts +0 -1
- package/build/esm/components/AsideHeader/hooks/useDelayedToggle.d.ts +0 -6
- package/build/esm/components/AsideHeader/hooks/useDelayedToggle.js +0 -55
- package/build/esm/components/AsideHeader/hooks/useDelayedToggle.js.map +0 -1
- package/build/esm/components/AsideHeader/hooks/useIsExpanded.d.ts +0 -9
- package/build/esm/components/AsideHeader/hooks/useIsExpanded.js +0 -65
- package/build/esm/components/AsideHeader/hooks/useIsExpanded.js.map +0 -1
- package/build/esm/components/AsideHeader/utils/getGroupHeight.d.ts +0 -2
- package/build/esm/components/AsideHeader/utils/getGroupHeight.js +0 -14
- package/build/esm/components/AsideHeader/utils/getGroupHeight.js.map +0 -1
- package/build/esm/components/utils/getCollapsedWidth.d.ts +0 -1
- package/build/esm/components/utils/getCollapsedWidth.js +0 -8
- package/build/esm/components/utils/getCollapsedWidth.js.map +0 -1
- package/codemods/transforms/compactToIsExpanded.ts +0 -345
- package/codemods/transforms/compactToPinned.ts +0 -135
- package/codemods/transforms/v5.ts +0 -36
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SetCollapseBlocker } from '../../types';
|
|
3
|
-
export interface FooterBarProps {
|
|
4
|
-
/** Array of footer elements (ReactNode[]) */
|
|
5
|
-
children: React.ReactNode[];
|
|
6
|
-
/** Render function for additional content after items (e.g., user profile). Receives options with setCollapseBlocker. */
|
|
7
|
-
renderAfter?: (options?: {
|
|
8
|
-
setCollapseBlocker?: SetCollapseBlocker;
|
|
9
|
-
}) => React.ReactNode;
|
|
10
|
-
/** Registers a temporary block on collapse (e.g. while dropdown is open). Returns release function. */
|
|
11
|
-
setCollapseBlocker?: SetCollapseBlocker;
|
|
12
|
-
/** When `true`, the navigation is pinned (expanded). Items render horizontally. */
|
|
13
|
-
isPinned: boolean;
|
|
14
|
-
/** When `true`, the navigation is expanded (hover or pinned). */
|
|
15
|
-
isExpanded: boolean;
|
|
16
|
-
/** Maximum number of visible items before showing "more" button. Default: 5 */
|
|
17
|
-
maxVisibleItems?: number;
|
|
18
|
-
}
|
|
19
|
-
export declare const FooterBar: React.NamedExoticComponent<FooterBarProps>;
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import './FooterBar.css';
|
|
2
|
-
import React__default, { memo, useCallback, useMemo } from 'react';
|
|
3
|
-
import { Ellipsis } from '@gravity-ui/icons';
|
|
4
|
-
import { Tooltip, DropdownMenu } from '@gravity-ui/uikit';
|
|
5
|
-
import { ASIDE_HEADER_EXPAND_DELAY } from '../../../constants.js';
|
|
6
|
-
import { createBlock } from '../../../utils/cn.js';
|
|
7
|
-
import { FooterLayoutContext } from '../../FooterLayoutContext.js';
|
|
8
|
-
import i18n from '../../i18n/index.js';
|
|
9
|
-
import { FooterItem } from '../FooterItem/FooterItem.js';
|
|
10
|
-
import { MAX_VISIBLE_ITEMS } from './constants.js';
|
|
11
|
-
import styles from './FooterBar.module.scss.js';
|
|
12
|
-
|
|
13
|
-
const isValidFooterElement = (child) => {
|
|
14
|
-
return React__default.isValidElement(child) && child.type === FooterItem;
|
|
15
|
-
};
|
|
16
|
-
const getChildKey = (child, fallbackIndex) => {
|
|
17
|
-
if (React__default.isValidElement(child) && child.key) {
|
|
18
|
-
return child.key;
|
|
19
|
-
}
|
|
20
|
-
return fallbackIndex;
|
|
21
|
-
};
|
|
22
|
-
// Get title from child props for tooltip
|
|
23
|
-
const getChildTitle = (child) => {
|
|
24
|
-
if (React__default.isValidElement(child) && child.props) {
|
|
25
|
-
return child.props.title;
|
|
26
|
-
}
|
|
27
|
-
return undefined;
|
|
28
|
-
};
|
|
29
|
-
const b = createBlock('footer-bar', styles);
|
|
30
|
-
const FooterBar = memo(({ children, renderAfter, setCollapseBlocker, isPinned, isExpanded, maxVisibleItems = MAX_VISIBLE_ITEMS, }) => {
|
|
31
|
-
const childArray = React__default.Children.toArray(children).filter(Boolean);
|
|
32
|
-
// If only 1 element, render in vertical mode regardless of isPinned
|
|
33
|
-
const isHorizontal = isPinned && childArray.length > 1;
|
|
34
|
-
const handleDropdownOpenToggle = useCallback((isOpened) => {
|
|
35
|
-
setCollapseBlocker === null || setCollapseBlocker === undefined ? undefined : setCollapseBlocker(isOpened);
|
|
36
|
-
}, [setCollapseBlocker]);
|
|
37
|
-
const renderDropdownChild = useCallback((child) => {
|
|
38
|
-
if (!isValidFooterElement(child)) {
|
|
39
|
-
return child;
|
|
40
|
-
}
|
|
41
|
-
// In dropdown, always show text
|
|
42
|
-
return React__default.cloneElement(child, {
|
|
43
|
-
isExpanded: true,
|
|
44
|
-
layout: 'vertical',
|
|
45
|
-
});
|
|
46
|
-
}, []);
|
|
47
|
-
const { visibleChildren, hiddenChildren } = useMemo(() => {
|
|
48
|
-
if (childArray.length <= maxVisibleItems) {
|
|
49
|
-
return {
|
|
50
|
-
visibleChildren: childArray,
|
|
51
|
-
hiddenChildren: [],
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
// Reserve one slot for "more" button
|
|
55
|
-
const visibleCount = maxVisibleItems - 1;
|
|
56
|
-
return {
|
|
57
|
-
visibleChildren: childArray.slice(0, visibleCount),
|
|
58
|
-
hiddenChildren: childArray.slice(visibleCount),
|
|
59
|
-
};
|
|
60
|
-
}, [childArray, maxVisibleItems]);
|
|
61
|
-
const value = useMemo(() => ({
|
|
62
|
-
layout: isHorizontal ? 'horizontal' : 'vertical',
|
|
63
|
-
isExpanded,
|
|
64
|
-
}), [isHorizontal, isExpanded]);
|
|
65
|
-
const dropdownItems = useMemo(() => hiddenChildren.map((child) => ({
|
|
66
|
-
text: renderDropdownChild(child),
|
|
67
|
-
action: () => { }, // clicks are handled by the child itself
|
|
68
|
-
})), [hiddenChildren, renderDropdownChild]);
|
|
69
|
-
const afterContent = React__default.useMemo(() => (renderAfter ? renderAfter({ setCollapseBlocker }) : null), [renderAfter, setCollapseBlocker]);
|
|
70
|
-
return (React__default.createElement("div", { className: b() },
|
|
71
|
-
React__default.createElement("div", { className: b('items', { horizontal: isHorizontal }) },
|
|
72
|
-
React__default.createElement(FooterLayoutContext.Provider, { value: value }, visibleChildren.map((child, index) => {
|
|
73
|
-
const title = getChildTitle(child);
|
|
74
|
-
// In horizontal mode, wrap in Tooltip to show title on hover
|
|
75
|
-
if (isHorizontal && title) {
|
|
76
|
-
return (React__default.createElement(Tooltip, { key: getChildKey(child, index), content: title, placement: "top", openDelay: ASIDE_HEADER_EXPAND_DELAY },
|
|
77
|
-
React__default.createElement("div", { className: b('item') }, child)));
|
|
78
|
-
}
|
|
79
|
-
return (React__default.createElement("div", { key: getChildKey(child, index), className: b('item') }, child));
|
|
80
|
-
})),
|
|
81
|
-
hiddenChildren.length > 0 && (React__default.createElement("div", { className: b('item', { more: true }) },
|
|
82
|
-
React__default.createElement(DropdownMenu, { onOpenToggle: handleDropdownOpenToggle, items: dropdownItems, popupProps: {
|
|
83
|
-
placement: isHorizontal ? 'top' : 'right',
|
|
84
|
-
className: b('dropdown-popup'),
|
|
85
|
-
}, switcherWrapperClassName: b('dropdown-switcher'), renderSwitcher: ({ onClick }) => (React__default.createElement(FooterItem, { id: "more", title: i18n('label_others'), icon: Ellipsis, isExpanded: !isHorizontal && isExpanded, layout: isHorizontal ? 'horizontal' : 'vertical', onItemClick: (_, __, event) => {
|
|
86
|
-
onClick(event);
|
|
87
|
-
} })) })))),
|
|
88
|
-
afterContent && (React__default.createElement("div", { className: b('after', { horizontal: isHorizontal }) }, afterContent))));
|
|
89
|
-
});
|
|
90
|
-
FooterBar.displayName = 'FooterBar';
|
|
91
|
-
|
|
92
|
-
export { FooterBar };
|
|
93
|
-
//# sourceMappingURL=FooterBar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FooterBar.js","sources":["../../../../../../../src/components/AsideHeader/components/FooterBar/FooterBar.tsx"],"sourcesContent":["import React, {memo, useCallback, useMemo} from 'react';\n\nimport {Ellipsis} from '@gravity-ui/icons';\nimport type {DropdownMenuItem} from '@gravity-ui/uikit';\nimport {DropdownMenu, Tooltip} from '@gravity-ui/uikit';\n\nimport {ASIDE_HEADER_EXPAND_DELAY} from '../../../constants';\nimport {createBlock} from '../../../utils/cn';\nimport {FooterLayoutContext, FooterLayoutContextValue} from '../../FooterLayoutContext';\nimport i18n from '../../i18n';\nimport {SetCollapseBlocker} from '../../types';\nimport {FooterItem} from '../FooterItem/FooterItem';\n\nimport {MAX_VISIBLE_ITEMS} from './constants';\n\nimport styles from './FooterBar.module.scss';\n\nconst isValidFooterElement = (child: React.ReactNode): child is React.ReactElement => {\n return React.isValidElement(child) && child.type === FooterItem;\n};\n\nconst getChildKey = (child: React.ReactNode, fallbackIndex: number): string | number => {\n if (React.isValidElement(child) && child.key) {\n return child.key;\n }\n return fallbackIndex;\n};\n\n// Get title from child props for tooltip\nconst getChildTitle = (child: React.ReactNode): React.ReactNode => {\n if (React.isValidElement(child) && child.props) {\n return (child.props as {title?: React.ReactNode}).title;\n }\n return undefined;\n};\n\nconst b = createBlock('footer-bar', styles);\n\nexport interface FooterBarProps {\n /** Array of footer elements (ReactNode[]) */\n children: React.ReactNode[];\n /** Render function for additional content after items (e.g., user profile). Receives options with setCollapseBlocker. */\n renderAfter?: (options?: {setCollapseBlocker?: SetCollapseBlocker}) => React.ReactNode;\n /** Registers a temporary block on collapse (e.g. while dropdown is open). Returns release function. */\n setCollapseBlocker?: SetCollapseBlocker;\n /** When `true`, the navigation is pinned (expanded). Items render horizontally. */\n isPinned: boolean;\n /** When `true`, the navigation is expanded (hover or pinned). */\n isExpanded: boolean;\n /** Maximum number of visible items before showing \"more\" button. Default: 5 */\n maxVisibleItems?: number;\n}\n\nexport const FooterBar = memo<FooterBarProps>(\n ({\n children,\n renderAfter,\n setCollapseBlocker,\n isPinned,\n isExpanded,\n maxVisibleItems = MAX_VISIBLE_ITEMS,\n }) => {\n const childArray = React.Children.toArray(children).filter(Boolean);\n\n // If only 1 element, render in vertical mode regardless of isPinned\n const isHorizontal = isPinned && childArray.length > 1;\n\n const handleDropdownOpenToggle = useCallback(\n (isOpened: boolean) => {\n setCollapseBlocker?.(isOpened);\n },\n [setCollapseBlocker],\n );\n\n const renderDropdownChild = useCallback((child: React.ReactNode): React.ReactNode => {\n if (!isValidFooterElement(child)) {\n return child;\n }\n\n // In dropdown, always show text\n return React.cloneElement(child, {\n isExpanded: true,\n layout: 'vertical',\n });\n }, []);\n\n const {visibleChildren, hiddenChildren} = useMemo(() => {\n if (childArray.length <= maxVisibleItems) {\n return {\n visibleChildren: childArray,\n hiddenChildren: [],\n };\n }\n\n // Reserve one slot for \"more\" button\n const visibleCount = maxVisibleItems - 1;\n return {\n visibleChildren: childArray.slice(0, visibleCount),\n hiddenChildren: childArray.slice(visibleCount),\n };\n }, [childArray, maxVisibleItems]);\n\n const value: FooterLayoutContextValue = useMemo(\n () => ({\n layout: isHorizontal ? 'horizontal' : 'vertical',\n isExpanded,\n }),\n [isHorizontal, isExpanded],\n );\n\n const dropdownItems: DropdownMenuItem[] = useMemo(\n () =>\n hiddenChildren.map((child) => ({\n text: renderDropdownChild(child),\n action: () => {}, // clicks are handled by the child itself\n })),\n [hiddenChildren, renderDropdownChild],\n );\n\n const afterContent = React.useMemo(\n () => (renderAfter ? renderAfter({setCollapseBlocker}) : null),\n [renderAfter, setCollapseBlocker],\n );\n\n return (\n <div className={b()}>\n <div className={b('items', {horizontal: isHorizontal})}>\n <FooterLayoutContext.Provider value={value}>\n {visibleChildren.map((child, index) => {\n const title = getChildTitle(child);\n\n // In horizontal mode, wrap in Tooltip to show title on hover\n if (isHorizontal && title) {\n return (\n <Tooltip\n key={getChildKey(child, index)}\n content={title}\n placement=\"top\"\n openDelay={ASIDE_HEADER_EXPAND_DELAY}\n >\n <div className={b('item')}>{child}</div>\n </Tooltip>\n );\n }\n\n return (\n <div key={getChildKey(child, index)} className={b('item')}>\n {child}\n </div>\n );\n })}\n </FooterLayoutContext.Provider>\n\n {hiddenChildren.length > 0 && (\n <div className={b('item', {more: true})}>\n <DropdownMenu\n onOpenToggle={handleDropdownOpenToggle}\n items={dropdownItems}\n popupProps={{\n placement: isHorizontal ? 'top' : 'right',\n className: b('dropdown-popup'),\n }}\n switcherWrapperClassName={b('dropdown-switcher')}\n renderSwitcher={({onClick}) => (\n <FooterItem\n id=\"more\"\n title={i18n('label_others')}\n icon={Ellipsis}\n isExpanded={!isHorizontal && isExpanded}\n layout={isHorizontal ? 'horizontal' : 'vertical'}\n onItemClick={(_, __, event) => {\n onClick(event as React.MouseEvent<HTMLElement>);\n }}\n />\n )}\n />\n </div>\n )}\n </div>\n\n {afterContent && (\n <div className={b('after', {horizontal: isHorizontal})}>{afterContent}</div>\n )}\n </div>\n );\n },\n);\n\nFooterBar.displayName = 'FooterBar';\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var styles = {"gn-footer-bar":"FooterBar-module__gn-footer-bar___dunXC","gnFooterBar":"FooterBar-module__gn-footer-bar___dunXC","gn-footer-bar__items":"FooterBar-module__gn-footer-bar__items___xBsUq","gnFooterBarItems":"FooterBar-module__gn-footer-bar__items___xBsUq","gn-footer-bar__items_horizontal":"FooterBar-module__gn-footer-bar__items_horizontal___DEeK6","gnFooterBarItemsHorizontal":"FooterBar-module__gn-footer-bar__items_horizontal___DEeK6","gn-footer-bar__item":"FooterBar-module__gn-footer-bar__item___KAJSe","gnFooterBarItem":"FooterBar-module__gn-footer-bar__item___KAJSe","gn-footer-bar__items_vertical":"FooterBar-module__gn-footer-bar__items_vertical___3A7jw","gnFooterBarItemsVertical":"FooterBar-module__gn-footer-bar__items_vertical___3A7jw","gn-footer-bar__after":"FooterBar-module__gn-footer-bar__after___yB8To","gnFooterBarAfter":"FooterBar-module__gn-footer-bar__after___yB8To","gn-footer-bar__after_horizontal":"FooterBar-module__gn-footer-bar__after_horizontal___t4KyN","gnFooterBarAfterHorizontal":"FooterBar-module__gn-footer-bar__after_horizontal___t4KyN","gn-footer-bar__dropdown-switcher":"FooterBar-module__gn-footer-bar__dropdown-switcher___Czw-L","gnFooterBarDropdownSwitcher":"FooterBar-module__gn-footer-bar__dropdown-switcher___Czw-L","gn-footer-bar__dropdown-popup":"FooterBar-module__gn-footer-bar__dropdown-popup___nWoMR","gnFooterBarDropdownPopup":"FooterBar-module__gn-footer-bar__dropdown-popup___nWoMR"};
|
|
2
|
-
|
|
3
|
-
export { styles as default };
|
|
4
|
-
//# sourceMappingURL=FooterBar.module.scss.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FooterBar.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const MAX_VISIBLE_ITEMS = 5;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../../../src/components/AsideHeader/components/FooterBar/constants.ts"],"sourcesContent":["export const MAX_VISIBLE_ITEMS = 5;\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB,GAAG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { FooterBar } from './FooterBar';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
interface ToggleDelayConfig {
|
|
2
|
-
enableDelay: number;
|
|
3
|
-
disableDelay: number;
|
|
4
|
-
}
|
|
5
|
-
export declare function useDelayedToggle(currentValue: boolean, config?: ToggleDelayConfig, maybeShouldThrottleFn?: (value: boolean, previousValue: boolean) => boolean): boolean;
|
|
6
|
-
export {};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { useRef, useState, useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
function defaultComparator(value, previousValue) {
|
|
4
|
-
return value !== previousValue;
|
|
5
|
-
}
|
|
6
|
-
function isTogglingOn(currentValue, previousValue) {
|
|
7
|
-
return !previousValue && Boolean(currentValue);
|
|
8
|
-
}
|
|
9
|
-
function isTogglingOff(currentValue, previousValue) {
|
|
10
|
-
return Boolean(previousValue) && !currentValue;
|
|
11
|
-
}
|
|
12
|
-
function useDelayedToggle(currentValue, config, maybeShouldThrottleFn) {
|
|
13
|
-
const shouldThrottleFn = defaultComparator;
|
|
14
|
-
const timerRef = useRef(null);
|
|
15
|
-
const valueCacheRef = useRef(currentValue);
|
|
16
|
-
const [value, setValue] = useState(currentValue);
|
|
17
|
-
const delayConfig = config;
|
|
18
|
-
useEffect(() => {
|
|
19
|
-
function clear() {
|
|
20
|
-
if (timerRef.current) {
|
|
21
|
-
clearTimeout(timerRef.current);
|
|
22
|
-
timerRef.current = null;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (currentValue !== valueCacheRef.current) {
|
|
26
|
-
clear();
|
|
27
|
-
const shouldThrottle = shouldThrottleFn(currentValue, valueCacheRef.current);
|
|
28
|
-
const previousValue = valueCacheRef.current;
|
|
29
|
-
valueCacheRef.current = currentValue;
|
|
30
|
-
if (shouldThrottle) {
|
|
31
|
-
let delay;
|
|
32
|
-
if (isTogglingOn(currentValue, previousValue)) {
|
|
33
|
-
delay = delayConfig.enableDelay;
|
|
34
|
-
}
|
|
35
|
-
else if (isTogglingOff(currentValue, previousValue)) {
|
|
36
|
-
delay = delayConfig.disableDelay;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
delay = delayConfig.enableDelay;
|
|
40
|
-
}
|
|
41
|
-
timerRef.current = setTimeout(() => {
|
|
42
|
-
setValue(currentValue);
|
|
43
|
-
}, delay);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
setValue(currentValue);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return clear;
|
|
50
|
-
}, [currentValue, delayConfig.enableDelay, delayConfig.disableDelay, shouldThrottleFn]);
|
|
51
|
-
return value;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export { useDelayedToggle };
|
|
55
|
-
//# sourceMappingURL=useDelayedToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDelayedToggle.js","sources":["../../../../../../src/components/AsideHeader/hooks/useDelayedToggle.ts"],"sourcesContent":["import {useEffect, useRef, useState} from 'react';\n\ninterface ToggleDelayConfig {\n enableDelay: number;\n disableDelay: number;\n}\n\nconst DEFAULT_CONFIG: ToggleDelayConfig = {\n enableDelay: 500,\n disableDelay: 200,\n};\n\nfunction defaultComparator(value: boolean, previousValue: boolean): boolean {\n return value !== previousValue;\n}\n\nfunction isTogglingOn(currentValue: boolean, previousValue: boolean): boolean {\n return !previousValue && Boolean(currentValue);\n}\n\nfunction isTogglingOff(currentValue: boolean, previousValue: boolean): boolean {\n return Boolean(previousValue) && !currentValue;\n}\n\nexport function useDelayedToggle(\n currentValue: boolean,\n config?: ToggleDelayConfig,\n maybeShouldThrottleFn?: (value: boolean, previousValue: boolean) => boolean,\n): boolean {\n const shouldThrottleFn = maybeShouldThrottleFn || defaultComparator;\n const timerRef = useRef<NodeJS.Timeout | null>(null);\n const valueCacheRef = useRef(currentValue);\n const [value, setValue] = useState(currentValue);\n\n const delayConfig = config || DEFAULT_CONFIG;\n\n useEffect(() => {\n function clear() {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n }\n\n if (currentValue !== valueCacheRef.current) {\n clear();\n\n const shouldThrottle = shouldThrottleFn(currentValue, valueCacheRef.current);\n const previousValue = valueCacheRef.current;\n\n valueCacheRef.current = currentValue;\n\n if (shouldThrottle) {\n let delay: number;\n\n if (isTogglingOn(currentValue, previousValue)) {\n delay = delayConfig.enableDelay;\n } else if (isTogglingOff(currentValue, previousValue)) {\n delay = delayConfig.disableDelay;\n } else {\n delay = delayConfig.enableDelay;\n }\n\n timerRef.current = setTimeout(() => {\n setValue(currentValue);\n }, delay);\n } else {\n setValue(currentValue);\n }\n }\n\n return clear;\n }, [currentValue, delayConfig.enableDelay, delayConfig.disableDelay, shouldThrottleFn]);\n\n return value;\n}\n"],"names":[],"mappings":";;AAYA,SAAS,iBAAiB,CAAC,KAAc,EAAE,aAAsB,EAAA;IAC7D,OAAO,KAAK,KAAK,aAAa;AAClC;AAEA,SAAS,YAAY,CAAC,YAAqB,EAAE,aAAsB,EAAA;AAC/D,IAAA,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;AAClD;AAEA,SAAS,aAAa,CAAC,YAAqB,EAAE,aAAsB,EAAA;AAChE,IAAA,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY;AAClD;SAEgB,gBAAgB,CAC5B,YAAqB,EACrB,MAA0B,EAC1B,qBAA2E,EAAA;AAE3E,IAAA,MAAM,gBAAgB,GAA4B,iBAAiB;AACnE,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC;AACpD,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;AAEhD,IAAA,MAAM,WAAW,GAAG,MAAwB;IAE5C,SAAS,CAAC,MAAK;AACX,QAAA,SAAS,KAAK,GAAA;AACV,YAAA,IAAI,QAAQ,CAAC,OAAO,EAAE;AAClB,gBAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9B,gBAAA,QAAQ,CAAC,OAAO,GAAG,IAAI;;;AAI/B,QAAA,IAAI,YAAY,KAAK,aAAa,CAAC,OAAO,EAAE;AACxC,YAAA,KAAK,EAAE;YAEP,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC;AAC5E,YAAA,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO;AAE3C,YAAA,aAAa,CAAC,OAAO,GAAG,YAAY;YAEpC,IAAI,cAAc,EAAE;AAChB,gBAAA,IAAI,KAAa;AAEjB,gBAAA,IAAI,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;AAC3C,oBAAA,KAAK,GAAG,WAAW,CAAC,WAAW;;AAC5B,qBAAA,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;AACnD,oBAAA,KAAK,GAAG,WAAW,CAAC,YAAY;;qBAC7B;AACH,oBAAA,KAAK,GAAG,WAAW,CAAC,WAAW;;AAGnC,gBAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;oBAC/B,QAAQ,CAAC,YAAY,CAAC;iBACzB,EAAE,KAAK,CAAC;;iBACN;gBACH,QAAQ,CAAC,YAAY,CAAC;;;AAI9B,QAAA,OAAO,KAAK;AAChB,KAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAEvF,IAAA,OAAO,KAAK;AAChB;;;;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SetCollapseBlocker } from '../types';
|
|
2
|
-
interface UseIsExpandedResult {
|
|
3
|
-
isExpanded: boolean;
|
|
4
|
-
onExpand: () => void;
|
|
5
|
-
onFold: () => void;
|
|
6
|
-
setCollapseBlocker: SetCollapseBlocker;
|
|
7
|
-
}
|
|
8
|
-
export declare const useIsExpanded: (externalPinned: boolean) => UseIsExpandedResult;
|
|
9
|
-
export {};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
2
|
-
import { ASIDE_HEADER_EXPAND_DELAY, ASIDE_HEADER_EXPAND_TRANSITION_DELAY } from '../../constants.js';
|
|
3
|
-
import { useDelayedToggle } from './useDelayedToggle.js';
|
|
4
|
-
|
|
5
|
-
const useIsExpanded = (externalPinned) => {
|
|
6
|
-
const [isExpanded, setIsExpanded] = useState(externalPinned);
|
|
7
|
-
const [isMouseInside, setIsMouseInside] = useState(false);
|
|
8
|
-
const collapseBlockerCountRef = useRef(0);
|
|
9
|
-
const pendingFoldRef = useRef(false);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (!externalPinned && isExpanded) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
setIsExpanded(externalPinned);
|
|
15
|
-
// We need to run this effect only when externalPinned changes
|
|
16
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17
|
-
}, [externalPinned]);
|
|
18
|
-
const delayedShouldExpand = useDelayedToggle(isMouseInside, {
|
|
19
|
-
enableDelay: ASIDE_HEADER_EXPAND_DELAY,
|
|
20
|
-
disableDelay: ASIDE_HEADER_EXPAND_TRANSITION_DELAY,
|
|
21
|
-
});
|
|
22
|
-
// Update isExpanded based on hover
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (!externalPinned) {
|
|
25
|
-
setIsExpanded(delayedShouldExpand);
|
|
26
|
-
}
|
|
27
|
-
// Re-run when externalPinned changes so we sync to hover state after pin/unpin
|
|
28
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
-
}, [delayedShouldExpand, externalPinned]);
|
|
30
|
-
const performFold = useCallback(() => {
|
|
31
|
-
setIsMouseInside(false);
|
|
32
|
-
}, []);
|
|
33
|
-
const handleExpand = useCallback(() => {
|
|
34
|
-
pendingFoldRef.current = false;
|
|
35
|
-
setIsMouseInside(true);
|
|
36
|
-
}, []);
|
|
37
|
-
const handleFold = useCallback(() => {
|
|
38
|
-
if (collapseBlockerCountRef.current > 0) {
|
|
39
|
-
pendingFoldRef.current = true;
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
performFold();
|
|
43
|
-
}, [performFold]);
|
|
44
|
-
const setCollapseBlocker = useCallback((isBlocked) => {
|
|
45
|
-
if (isBlocked) {
|
|
46
|
-
collapseBlockerCountRef.current += 1;
|
|
47
|
-
}
|
|
48
|
-
else if (collapseBlockerCountRef.current > 0) {
|
|
49
|
-
collapseBlockerCountRef.current -= 1;
|
|
50
|
-
if (collapseBlockerCountRef.current === 0 && pendingFoldRef.current) {
|
|
51
|
-
pendingFoldRef.current = false;
|
|
52
|
-
performFold();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}, [performFold]);
|
|
56
|
-
return {
|
|
57
|
-
isExpanded,
|
|
58
|
-
onExpand: handleExpand,
|
|
59
|
-
onFold: handleFold,
|
|
60
|
-
setCollapseBlocker,
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export { useIsExpanded };
|
|
65
|
-
//# sourceMappingURL=useIsExpanded.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useIsExpanded.js","sources":["../../../../../../src/components/AsideHeader/hooks/useIsExpanded.ts"],"sourcesContent":["import {useCallback, useEffect, useRef, useState} from 'react';\n\nimport {ASIDE_HEADER_EXPAND_DELAY, ASIDE_HEADER_EXPAND_TRANSITION_DELAY} from '../../constants';\nimport {SetCollapseBlocker} from '../types';\n\nimport {useDelayedToggle} from './useDelayedToggle';\n\ninterface UseIsExpandedResult {\n isExpanded: boolean;\n onExpand: () => void;\n onFold: () => void;\n setCollapseBlocker: SetCollapseBlocker;\n}\n\nexport const useIsExpanded = (externalPinned: boolean): UseIsExpandedResult => {\n const [isExpanded, setIsExpanded] = useState(externalPinned);\n const [isMouseInside, setIsMouseInside] = useState(false);\n const collapseBlockerCountRef = useRef(0);\n const pendingFoldRef = useRef(false);\n\n useEffect(() => {\n if (!externalPinned && isExpanded) {\n return;\n }\n\n setIsExpanded(externalPinned);\n // We need to run this effect only when externalPinned changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [externalPinned]);\n\n const delayedShouldExpand = useDelayedToggle(isMouseInside, {\n enableDelay: ASIDE_HEADER_EXPAND_DELAY,\n disableDelay: ASIDE_HEADER_EXPAND_TRANSITION_DELAY,\n });\n\n // Update isExpanded based on hover\n useEffect(() => {\n if (!externalPinned) {\n setIsExpanded(delayedShouldExpand);\n }\n // Re-run when externalPinned changes so we sync to hover state after pin/unpin\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [delayedShouldExpand, externalPinned]);\n\n const performFold = useCallback(() => {\n setIsMouseInside(false);\n }, []);\n\n const handleExpand = useCallback(() => {\n pendingFoldRef.current = false;\n\n setIsMouseInside(true);\n }, []);\n\n const handleFold = useCallback(() => {\n if (collapseBlockerCountRef.current > 0) {\n pendingFoldRef.current = true;\n\n return;\n }\n\n performFold();\n }, [performFold]);\n\n const setCollapseBlocker = useCallback(\n (isBlocked: boolean) => {\n if (isBlocked) {\n collapseBlockerCountRef.current += 1;\n } else if (collapseBlockerCountRef.current > 0) {\n collapseBlockerCountRef.current -= 1;\n\n if (collapseBlockerCountRef.current === 0 && pendingFoldRef.current) {\n pendingFoldRef.current = false;\n performFold();\n }\n }\n },\n [performFold],\n );\n\n return {\n isExpanded,\n onExpand: handleExpand,\n onFold: handleFold,\n setCollapseBlocker,\n };\n};\n"],"names":[],"mappings":";;;;AAca,MAAA,aAAa,GAAG,CAAC,cAAuB,KAAyB;IAC1E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAA,MAAM,uBAAuB,GAAG,MAAM,CAAC,CAAC,CAAC;AACzC,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;IAEpC,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,cAAc,IAAI,UAAU,EAAE;YAC/B;;QAGJ,aAAa,CAAC,cAAc,CAAC;;;AAGjC,KAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAEpB,IAAA,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,aAAa,EAAE;AACxD,QAAA,WAAW,EAAE,yBAAyB;AACtC,QAAA,YAAY,EAAE,oCAAoC;AACrD,KAAA,CAAC;;IAGF,SAAS,CAAC,MAAK;QACX,IAAI,CAAC,cAAc,EAAE;YACjB,aAAa,CAAC,mBAAmB,CAAC;;;;AAI1C,KAAC,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AAEzC,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;QACjC,gBAAgB,CAAC,KAAK,CAAC;KAC1B,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,MAAK;AAClC,QAAA,cAAc,CAAC,OAAO,GAAG,KAAK;QAE9B,gBAAgB,CAAC,IAAI,CAAC;KACzB,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAChC,QAAA,IAAI,uBAAuB,CAAC,OAAO,GAAG,CAAC,EAAE;AACrC,YAAA,cAAc,CAAC,OAAO,GAAG,IAAI;YAE7B;;AAGJ,QAAA,WAAW,EAAE;AACjB,KAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAEjB,IAAA,MAAM,kBAAkB,GAAG,WAAW,CAClC,CAAC,SAAkB,KAAI;QACnB,IAAI,SAAS,EAAE;AACX,YAAA,uBAAuB,CAAC,OAAO,IAAI,CAAC;;AACjC,aAAA,IAAI,uBAAuB,CAAC,OAAO,GAAG,CAAC,EAAE;AAC5C,YAAA,uBAAuB,CAAC,OAAO,IAAI,CAAC;YAEpC,IAAI,uBAAuB,CAAC,OAAO,KAAK,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE;AACjE,gBAAA,cAAc,CAAC,OAAO,GAAG,KAAK;AAC9B,gBAAA,WAAW,EAAE;;;AAGzB,KAAC,EACD,CAAC,WAAW,CAAC,CAChB;IAED,OAAO;QACH,UAAU;AACV,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,MAAM,EAAE,UAAU;QAClB,kBAAkB;KACrB;AACL;;;;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ITEM_GAP, ITEM_HEIGHT_COMPACT, ITEM_HEIGHT } from '../../constants.js';
|
|
2
|
-
|
|
3
|
-
function getGroupBlockHeight(items, isCompactMode) {
|
|
4
|
-
const itemHeight = isCompactMode ? ITEM_HEIGHT_COMPACT : ITEM_HEIGHT;
|
|
5
|
-
if (items.length === 0) {
|
|
6
|
-
return itemHeight;
|
|
7
|
-
}
|
|
8
|
-
const gaps = items.length * ITEM_GAP;
|
|
9
|
-
// +1 accounts for the group header item in addition to the menu items
|
|
10
|
-
return (items.length + 1) * itemHeight + gaps;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export { getGroupBlockHeight };
|
|
14
|
-
//# sourceMappingURL=getGroupHeight.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupHeight.js","sources":["../../../../../../src/components/AsideHeader/utils/getGroupHeight.ts"],"sourcesContent":["import {ITEM_GAP, ITEM_HEIGHT, ITEM_HEIGHT_COMPACT} from '../../constants';\nimport {MenuItemsWithGroups} from '../types';\n\nexport function getGroupBlockHeight(items: MenuItemsWithGroups[], isCompactMode?: boolean) {\n const itemHeight = isCompactMode ? ITEM_HEIGHT_COMPACT : ITEM_HEIGHT;\n\n if (items.length === 0) {\n return itemHeight;\n }\n\n const gaps = items.length * ITEM_GAP;\n\n // +1 accounts for the group header item in addition to the menu items\n return (items.length + 1) * itemHeight + gaps;\n}\n"],"names":[],"mappings":";;AAGgB,SAAA,mBAAmB,CAAC,KAA4B,EAAE,aAAuB,EAAA;IACrF,MAAM,UAAU,GAAG,aAAa,GAAG,mBAAmB,GAAG,WAAW;AAEpE,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpB,QAAA,OAAO,UAAU;;AAGrB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;;IAGpC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,IAAI;AACjD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getCollapsedWidth(isCompactMode?: boolean): number;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE, ASIDE_HEADER_COLLAPSED_WIDTH } from '../constants.js';
|
|
2
|
-
|
|
3
|
-
function getCollapsedWidth(isCompactMode) {
|
|
4
|
-
return isCompactMode ? ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE : ASIDE_HEADER_COLLAPSED_WIDTH;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export { getCollapsedWidth };
|
|
8
|
-
//# sourceMappingURL=getCollapsedWidth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getCollapsedWidth.js","sources":["../../../../../src/components/utils/getCollapsedWidth.ts"],"sourcesContent":["import {\n ASIDE_HEADER_COLLAPSED_WIDTH,\n ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE,\n} from '../constants';\n\nexport function getCollapsedWidth(isCompactMode?: boolean): number {\n return isCompactMode ? ASIDE_HEADER_COLLAPSED_WIDTH_COMPACT_MODE : ASIDE_HEADER_COLLAPSED_WIDTH;\n}\n"],"names":[],"mappings":";;AAKM,SAAU,iBAAiB,CAAC,aAAuB,EAAA;IACrD,OAAO,aAAa,GAAG,yCAAyC,GAAG,4BAA4B;AACnG;;;;"}
|