@gravity-ui/navigation 5.0.0-beta.3 → 5.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/assets/icons/divider-collapsed-compact.svg.js +41 -0
- package/build/cjs/assets/icons/divider-collapsed-compact.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 +17 -4
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js +10 -8
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -1
- package/build/cjs/components/AsideHeader/FooterLayoutContext.d.ts +7 -0
- package/build/cjs/components/AsideHeader/FooterLayoutContext.js +10 -0
- package/build/cjs/components/AsideHeader/FooterLayoutContext.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +23 -15
- 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/useGroupedMenuItems.js +10 -5
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +9 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +27 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +71 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +122 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +3 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +23 -22
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +2 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +13 -13
- 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 +11 -5
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +63 -165
- 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 +25 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +7 -2
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +26 -8
- 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/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +27 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +21 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +146 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +4 -2
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +57 -7
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FirstPanel.js +29 -9
- package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.css +1 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.d.ts +19 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js +95 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/constants.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/constants.js +6 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/constants.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterBar/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +12 -1
- 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 +9 -6
- package/build/cjs/components/AsideHeader/components/Header.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.css +2 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +4 -3
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.css +2 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +4 -2
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +12 -9
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.css +2 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +5 -3
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
- package/build/cjs/components/AsideHeader/components/Panels.js +6 -3
- package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
- package/build/cjs/components/AsideHeader/hooks/useIsExpanded.d.ts +3 -1
- package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js +34 -11
- package/build/cjs/components/AsideHeader/hooks/useIsExpanded.js.map +1 -1
- package/build/cjs/components/AsideHeader/i18n/en.json.js +4 -1
- package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +4 -4
- package/build/cjs/components/AsideHeader/i18n/ru.json.js +4 -1
- package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -1
- package/build/cjs/components/AsideHeader/index.d.ts +3 -2
- package/build/cjs/components/AsideHeader/types.d.ts +30 -14
- package/build/cjs/components/AsideHeader/types.js.map +1 -1
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +3 -2
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +31 -9
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
- package/build/cjs/components/AsideHeader/utils/getGroupHeight.d.ts +1 -1
- package/build/cjs/components/AsideHeader/utils/getGroupHeight.js +5 -5
- package/build/cjs/components/AsideHeader/utils/getGroupHeight.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 +6 -4
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +4 -7
- 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 +7 -3
- package/build/cjs/components/Logo/Logo.js +9 -6
- 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/MobileHeader.d.ts +4 -8
- package/build/cjs/components/MobileHeader/MobileHeader.js +24 -20
- package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -1
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.d.ts +2 -2
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js +2 -2
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +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/Settings/Settings.css +1 -1
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.css +1 -1
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js +5 -1
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.module.scss.js +1 -1
- package/build/cjs/components/constants.d.ts +6 -2
- package/build/cjs/components/constants.js +11 -3
- package/build/cjs/components/constants.js.map +1 -1
- package/build/cjs/components/types.d.ts +11 -6
- package/build/cjs/components/utils/getCollapsedWidth.d.ts +1 -0
- package/build/cjs/components/utils/getCollapsedWidth.js +10 -0
- package/build/cjs/components/utils/getCollapsedWidth.js.map +1 -0
- package/build/cjs/index.js +4 -0
- package/build/cjs/index.js.map +1 -1
- package/build/esm/assets/icons/divider-collapsed-compact.svg.js +18 -0
- package/build/esm/assets/icons/divider-collapsed-compact.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 +17 -4
- package/build/esm/components/AsideHeader/AsideHeaderContext.js +10 -9
- package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -1
- package/build/esm/components/AsideHeader/FooterLayoutContext.d.ts +7 -0
- package/build/esm/components/AsideHeader/FooterLayoutContext.js +7 -0
- package/build/esm/components/AsideHeader/FooterLayoutContext.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +24 -16
- 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/useGroupedMenuItems.js +10 -5
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.d.ts +9 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js +25 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts +71 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js +117 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.d.ts +3 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js +23 -22
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js.map +1 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +2 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +13 -13
- 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 +11 -5
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +62 -164
- 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 +25 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +7 -2
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +26 -8
- 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/ScrollableWithScrollbar/ScrollableWithScrollbar.css +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.d.ts +8 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js +25 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/ScrollableWithScrollbar.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.d.ts +21 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js +144 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/ScrollableWithScrollbar/useScrollbar.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +4 -2
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +57 -9
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FirstPanel.js +30 -10
- package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -1
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.css +1 -0
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.d.ts +19 -0
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js +93 -0
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/FooterBar/FooterBar.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterBar/constants.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/FooterBar/constants.js +4 -0
- package/build/esm/components/AsideHeader/components/FooterBar/constants.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterBar/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +1 -1
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +12 -1
- 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 +10 -7
- package/build/esm/components/AsideHeader/components/Header.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.css +2 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +5 -4
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.css +2 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +4 -2
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +13 -10
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.css +2 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +5 -3
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -1
- package/build/esm/components/AsideHeader/components/Panels.js +6 -3
- package/build/esm/components/AsideHeader/components/Panels.js.map +1 -1
- package/build/esm/components/AsideHeader/hooks/useIsExpanded.d.ts +3 -1
- package/build/esm/components/AsideHeader/hooks/useIsExpanded.js +35 -12
- package/build/esm/components/AsideHeader/hooks/useIsExpanded.js.map +1 -1
- package/build/esm/components/AsideHeader/i18n/en.json.js +4 -2
- package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -1
- package/build/esm/components/AsideHeader/i18n/index.d.ts +4 -4
- package/build/esm/components/AsideHeader/i18n/ru.json.js +4 -2
- package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -1
- package/build/esm/components/AsideHeader/index.d.ts +3 -2
- package/build/esm/components/AsideHeader/types.d.ts +30 -14
- package/build/esm/components/AsideHeader/types.js.map +1 -1
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.d.ts +3 -2
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +31 -9
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
- package/build/esm/components/AsideHeader/utils/getGroupHeight.d.ts +1 -1
- package/build/esm/components/AsideHeader/utils/getGroupHeight.js +6 -6
- package/build/esm/components/AsideHeader/utils/getGroupHeight.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 +6 -4
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js +4 -7
- 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 +7 -3
- package/build/esm/components/Logo/Logo.js +9 -6
- 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/MobileHeader.d.ts +4 -8
- package/build/esm/components/MobileHeader/MobileHeader.js +25 -21
- package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -1
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.d.ts +2 -2
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js +2 -2
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +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/Settings/Settings.css +1 -1
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.css +1 -1
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js +5 -1
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -1
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.module.scss.js +1 -1
- package/build/esm/components/constants.d.ts +6 -2
- package/build/esm/components/constants.js +7 -3
- package/build/esm/components/constants.js.map +1 -1
- package/build/esm/components/types.d.ts +11 -6
- package/build/esm/components/utils/getCollapsedWidth.d.ts +1 -0
- package/build/esm/components/utils/getCollapsedWidth.js +8 -0
- package/build/esm/components/utils/getCollapsedWidth.js.map +1 -0
- package/build/esm/index.js +2 -1
- package/build/esm/index.js.map +1 -1
- package/codemods/bin/cli.js +19 -6
- package/codemods/transforms/compactToIsExpanded.ts +345 -0
- package/codemods/transforms/compactToPinned.ts +135 -0
- package/codemods/transforms/v5.ts +36 -0
- package/package.json +2 -2
- package/build/cjs/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
- package/build/cjs/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
- package/build/cjs/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
- package/build/cjs/components/ActionBar/__stories__/ActionBarStretchGroupShowcase.d.ts +0 -2
- package/build/cjs/components/ActionBar/__tests__/helpersPlaywright.d.ts +0 -5
- package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -23
- package/build/cjs/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
- package/build/cjs/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
- package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +0 -17
- package/build/cjs/components/AsideHeader/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.d.ts +0 -2
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.js +0 -16
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +0 -9
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +0 -34
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +0 -8
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +0 -24
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +0 -29
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/index.d.ts +0 -2
- package/build/cjs/components/AsideHeader/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -6
- package/build/cjs/components/AsideHeader/components/FooterItem/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/Footer/desktop/__stories__/Footer.stories.d.ts +0 -8
- package/build/cjs/components/Footer/desktop/__stories__/FooterShowcase.d.ts +0 -4
- package/build/cjs/components/Footer/desktop/__stories__/moc.d.ts +0 -3
- package/build/cjs/components/Footer/desktop/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/Footer/mobile/__stories__/MobileFooter.stories.d.ts +0 -8
- package/build/cjs/components/Footer/mobile/__stories__/MobileFooterShowcase.d.ts +0 -4
- package/build/cjs/components/Footer/mobile/__stories__/moc.d.ts +0 -3
- package/build/cjs/components/Footer/mobile/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -5
- package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -6
- package/build/cjs/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/HotkeysPanel/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/Logo/__stories__/Logo.stories.d.ts +0 -7
- package/build/cjs/components/Logo/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -6
- package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/MobileHeader/BurgerMenu/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/MobileHeader/OverlapPanel/__stories__/OverlapPanel.stories.d.ts +0 -6
- package/build/cjs/components/MobileHeader/OverlapPanel/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/MobileHeader/OverlapPanel/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -4
- package/build/cjs/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
- package/build/cjs/components/MobileHeader/__stories__/moc.d.ts +0 -1
- package/build/cjs/components/MobileHeader/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/MobileLogo/__stories__/MobileLogo.stories.d.ts +0 -6
- package/build/cjs/components/MobileLogo/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/Settings/__stories__/Settings.stories.d.ts +0 -5
- package/build/cjs/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
- package/build/cjs/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
- package/build/cjs/components/Settings/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
- package/build/esm/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
- package/build/esm/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
- package/build/esm/components/ActionBar/__stories__/ActionBarStretchGroupShowcase.d.ts +0 -2
- package/build/esm/components/ActionBar/__tests__/helpersPlaywright.d.ts +0 -5
- package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -23
- package/build/esm/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
- package/build/esm/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
- package/build/esm/components/AsideHeader/__stories__/moc.d.ts +0 -17
- package/build/esm/components/AsideHeader/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.d.ts +0 -2
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.js +0 -14
- package/build/esm/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItems.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +0 -9
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +0 -32
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +0 -4
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +0 -24
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +0 -26
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/index.d.ts +0 -2
- package/build/esm/components/AsideHeader/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -6
- package/build/esm/components/AsideHeader/components/FooterItem/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/Footer/desktop/__stories__/Footer.stories.d.ts +0 -8
- package/build/esm/components/Footer/desktop/__stories__/FooterShowcase.d.ts +0 -4
- package/build/esm/components/Footer/desktop/__stories__/moc.d.ts +0 -3
- package/build/esm/components/Footer/desktop/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/Footer/mobile/__stories__/MobileFooter.stories.d.ts +0 -8
- package/build/esm/components/Footer/mobile/__stories__/MobileFooterShowcase.d.ts +0 -4
- package/build/esm/components/Footer/mobile/__stories__/moc.d.ts +0 -3
- package/build/esm/components/Footer/mobile/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -5
- package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -6
- package/build/esm/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
- package/build/esm/components/HotkeysPanel/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/Logo/__stories__/Logo.stories.d.ts +0 -7
- package/build/esm/components/Logo/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -6
- package/build/esm/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
- package/build/esm/components/MobileHeader/BurgerMenu/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/MobileHeader/OverlapPanel/__stories__/OverlapPanel.stories.d.ts +0 -6
- package/build/esm/components/MobileHeader/OverlapPanel/__stories__/moc.d.ts +0 -2
- package/build/esm/components/MobileHeader/OverlapPanel/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -4
- package/build/esm/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
- package/build/esm/components/MobileHeader/__stories__/moc.d.ts +0 -1
- package/build/esm/components/MobileHeader/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/MobileLogo/__stories__/MobileLogo.stories.d.ts +0 -6
- package/build/esm/components/MobileLogo/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/Settings/__stories__/Settings.stories.d.ts +0 -5
- package/build/esm/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
- package/build/esm/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
- package/build/esm/components/Settings/__tests__/helpersPlaywright.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExpandedIndexForSortableIndex.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/getExpandedIndexForSortableIndex.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {getIsMenuItem} from './getIsMenuItem';\nimport {getRealIndexInExpandedMenu} from './getRealIndexInGroup';\n\n/**\n * Returns index in expanded list for the sortableIndex-th sortable item in flatList.\n *\n * @param sortableIndex - Index in the list of sortable (non-divider) items.\n * @param flatList - Flat list with groups and dividers.\n * @returns Index in the expanded (flattened) menu list.\n */\nexport function getExpandedIndexForSortableIndex(\n sortableIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let sortableCount = 0;\n for (let i = 0; i < flatList.length; i++) {\n if (getIsMenuItem(flatList[i])) {\n if (sortableCount === sortableIndex) {\n return getRealIndexInExpandedMenu(i, flatList);\n }\n sortableCount++;\n }\n }\n return 0;\n}\n"],"names":["getIsMenuItem","getRealIndexInExpandedMenu"],"mappings":";;;;;AAKA;;;;;;AAMG;AACa,SAAA,gCAAgC,CAC5C,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAIA,2BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5B,YAAA,IAAI,aAAa,KAAK,aAAa,EAAE;AACjC,gBAAA,OAAOC,8CAA0B,CAAC,CAAC,EAAE,QAAQ,CAAC;;AAElD,YAAA,aAAa,EAAE;;;AAGvB,IAAA,OAAO,CAAC;AACZ;;;;"}
|
package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.d.ts
CHANGED
|
@@ -1,2 +1,73 @@
|
|
|
1
1
|
import { MenuItemsWithGroups } from '../../../types';
|
|
2
|
+
import { buildExpandedFromFlatList } from './buildExpandedFromFlatList';
|
|
3
|
+
/**
|
|
4
|
+
* Returns index in flatList of the sortableIndex-th sortable item (getIsMenuItem).
|
|
5
|
+
* Used when groupIndex from the List is the index in the filtered list without dividers.
|
|
6
|
+
*
|
|
7
|
+
* @param sortableIndex - Index in the list of sortable (non-divider) items.
|
|
8
|
+
* @param flatList - Flat list with groups and dividers.
|
|
9
|
+
* @returns Index in flatList of the sortableIndex-th sortable item.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getFlatListIndexForSortableIndex(sortableIndex: number, flatList: MenuItemsWithGroups[]): number;
|
|
12
|
+
/**
|
|
13
|
+
* Returns index in groupItems array for the sortableIndex-th sortable (non-divider) item.
|
|
14
|
+
* Used when oldIndex/newIndex from sort are indices in the sortable-only list.
|
|
15
|
+
*
|
|
16
|
+
* @param sortableIndex - Index in the list of sortable (non-divider) items.
|
|
17
|
+
* @param groupItems - Items of the group (may contain dividers).
|
|
18
|
+
* @returns Index in groupItems of the sortableIndex-th sortable item.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getIndexInGroupItemsForSortableIndex(sortableIndex: number, groupItems: MenuItemsWithGroups[]): number;
|
|
21
|
+
export declare function getRealIndexInExpandedMenu(flatListIndex: number, flatList: MenuItemsWithGroups[]): number;
|
|
22
|
+
/**
|
|
23
|
+
* Returns index in the expanded menu for an item in a group.
|
|
24
|
+
* itemIndexInGroup is the index in the sortable-only list (dividers are not counted).
|
|
25
|
+
*
|
|
26
|
+
* @param groupIndex - Index of the group in the flat list.
|
|
27
|
+
* @param itemIndexInGroup - Index in the sortable-only list within the group.
|
|
28
|
+
* @param flatList - Flat list with groups and dividers.
|
|
29
|
+
* @returns Index in the expanded (flattened) menu list.
|
|
30
|
+
*/
|
|
2
31
|
export declare function getRealIndexInGroup(groupIndex: number, itemIndexInGroup: number, flatList: MenuItemsWithGroups[]): number;
|
|
32
|
+
type GroupWithItems = MenuItemsWithGroups & {
|
|
33
|
+
items: MenuItemsWithGroups[];
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Returns group item and its index in flat list by sortable index (index in list without dividers).
|
|
37
|
+
*
|
|
38
|
+
* @param sortableIndex - Index in the filtered list (getIsMenuItem).
|
|
39
|
+
* @param flatList - Flat list with groups and dividers.
|
|
40
|
+
* @returns Object with flatListGroupIndex and groupItem, or null if not a group with items.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getGroupAtSortableIndex(sortableIndex: number, flatList: MenuItemsWithGroups[]): {
|
|
43
|
+
flatListGroupIndex: number;
|
|
44
|
+
groupItem: GroupWithItems;
|
|
45
|
+
} | null;
|
|
46
|
+
/**
|
|
47
|
+
* Returns new flat list with group items replaced at the given index.
|
|
48
|
+
*
|
|
49
|
+
* @param flatList - Current flat list.
|
|
50
|
+
* @param flatListGroupIndex - Index of the group in flat list.
|
|
51
|
+
* @param newGroupItems - New items array for the group.
|
|
52
|
+
* @returns New flat list with updated group.
|
|
53
|
+
*/
|
|
54
|
+
export declare function updateGroupItemsInFlatList(flatList: MenuItemsWithGroups[], flatListGroupIndex: number, newGroupItems: MenuItemsWithGroups[]): MenuItemsWithGroups[];
|
|
55
|
+
interface SecondLevelSortResult {
|
|
56
|
+
newFlatList: MenuItemsWithGroups[];
|
|
57
|
+
expandedItems: ReturnType<typeof buildExpandedFromFlatList>;
|
|
58
|
+
realOldIndex: number;
|
|
59
|
+
realNewIndex: number;
|
|
60
|
+
changedItem: ReturnType<typeof buildExpandedFromFlatList>[number] | undefined;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Applies second-level sort (within a group) and returns new flat list, expanded items and indices.
|
|
64
|
+
* Keeps dividers in place inside the group.
|
|
65
|
+
*
|
|
66
|
+
* @param groupIndex - Sortable index of the group (from List, without dividers).
|
|
67
|
+
* @param oldIndex - Sortable index of dragged item in the group.
|
|
68
|
+
* @param newIndex - Sortable index of drop position in the group.
|
|
69
|
+
* @param currentFlatList - Current flat list.
|
|
70
|
+
* @returns Result with newFlatList, expandedItems, indices and changedItem, or null if invalid.
|
|
71
|
+
*/
|
|
72
|
+
export declare function applySecondLevelSort(groupIndex: number, oldIndex: number, newIndex: number, currentFlatList: MenuItemsWithGroups[]): SecondLevelSortResult | null;
|
|
73
|
+
export {};
|
package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var buildExpandedFromFlatList = require('./buildExpandedFromFlatList.js');
|
|
4
|
+
var getIsMenuItem = require('./getIsMenuItem.js');
|
|
5
|
+
var sortMenuItemsWithDividers = require('./sortMenuItemsWithDividers.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Returns index in flatList of the sortableIndex-th sortable item (getIsMenuItem).
|
|
9
|
+
* Used when groupIndex from the List is the index in the filtered list without dividers.
|
|
10
|
+
*
|
|
11
|
+
* @param sortableIndex - Index in the list of sortable (non-divider) items.
|
|
12
|
+
* @param flatList - Flat list with groups and dividers.
|
|
13
|
+
* @returns Index in flatList of the sortableIndex-th sortable item.
|
|
14
|
+
*/
|
|
15
|
+
function getFlatListIndexForSortableIndex(sortableIndex, flatList) {
|
|
16
|
+
let sortableCount = 0;
|
|
17
|
+
for (let i = 0; i < flatList.length; i++) {
|
|
18
|
+
if (getIsMenuItem.getIsMenuItem(flatList[i])) {
|
|
19
|
+
if (sortableCount === sortableIndex) {
|
|
20
|
+
return i;
|
|
21
|
+
}
|
|
22
|
+
sortableCount++;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns index in groupItems array for the sortableIndex-th sortable (non-divider) item.
|
|
29
|
+
* Used when oldIndex/newIndex from sort are indices in the sortable-only list.
|
|
30
|
+
*
|
|
31
|
+
* @param sortableIndex - Index in the list of sortable (non-divider) items.
|
|
32
|
+
* @param groupItems - Items of the group (may contain dividers).
|
|
33
|
+
* @returns Index in groupItems of the sortableIndex-th sortable item.
|
|
34
|
+
*/
|
|
35
|
+
function getIndexInGroupItemsForSortableIndex(sortableIndex, groupItems) {
|
|
36
|
+
let sortableCount = 0;
|
|
37
|
+
for (let i = 0; i < groupItems.length; i++) {
|
|
38
|
+
if (getIsMenuItem.getIsMenuItem(groupItems[i])) {
|
|
39
|
+
if (sortableCount === sortableIndex) {
|
|
40
|
+
return i;
|
|
41
|
+
}
|
|
42
|
+
sortableCount++;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
3
47
|
function getRealIndexInExpandedMenu(flatListIndex, flatList) {
|
|
4
48
|
let realIndex = 0;
|
|
5
49
|
for (let i = 0; i < flatListIndex; i++) {
|
|
@@ -13,10 +57,88 @@ function getRealIndexInExpandedMenu(flatListIndex, flatList) {
|
|
|
13
57
|
}
|
|
14
58
|
return realIndex;
|
|
15
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Returns index in the expanded menu for an item in a group.
|
|
62
|
+
* itemIndexInGroup is the index in the sortable-only list (dividers are not counted).
|
|
63
|
+
*
|
|
64
|
+
* @param groupIndex - Index of the group in the flat list.
|
|
65
|
+
* @param itemIndexInGroup - Index in the sortable-only list within the group.
|
|
66
|
+
* @param flatList - Flat list with groups and dividers.
|
|
67
|
+
* @returns Index in the expanded (flattened) menu list.
|
|
68
|
+
*/
|
|
16
69
|
function getRealIndexInGroup(groupIndex, itemIndexInGroup, flatList) {
|
|
17
70
|
const groupStartIndex = getRealIndexInExpandedMenu(groupIndex, flatList);
|
|
71
|
+
const groupItem = flatList[groupIndex];
|
|
72
|
+
if ('items' in groupItem && groupItem.items && groupItem.items.length > 0) {
|
|
73
|
+
const positionInGroup = getIndexInGroupItemsForSortableIndex(itemIndexInGroup, groupItem.items);
|
|
74
|
+
return groupStartIndex + positionInGroup;
|
|
75
|
+
}
|
|
18
76
|
return groupStartIndex + itemIndexInGroup;
|
|
19
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns group item and its index in flat list by sortable index (index in list without dividers).
|
|
80
|
+
*
|
|
81
|
+
* @param sortableIndex - Index in the filtered list (getIsMenuItem).
|
|
82
|
+
* @param flatList - Flat list with groups and dividers.
|
|
83
|
+
* @returns Object with flatListGroupIndex and groupItem, or null if not a group with items.
|
|
84
|
+
*/
|
|
85
|
+
function getGroupAtSortableIndex(sortableIndex, flatList) {
|
|
86
|
+
var _a;
|
|
87
|
+
const flatListGroupIndex = getFlatListIndexForSortableIndex(sortableIndex, flatList);
|
|
88
|
+
const groupItem = flatList[flatListGroupIndex];
|
|
89
|
+
if (!groupItem || !('items' in groupItem) || !((_a = groupItem.items) === null || _a === undefined ? undefined : _a.length)) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return { flatListGroupIndex, groupItem: groupItem };
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Returns new flat list with group items replaced at the given index.
|
|
96
|
+
*
|
|
97
|
+
* @param flatList - Current flat list.
|
|
98
|
+
* @param flatListGroupIndex - Index of the group in flat list.
|
|
99
|
+
* @param newGroupItems - New items array for the group.
|
|
100
|
+
* @returns New flat list with updated group.
|
|
101
|
+
*/
|
|
102
|
+
function updateGroupItemsInFlatList(flatList, flatListGroupIndex, newGroupItems) {
|
|
103
|
+
return flatList.map((item, i) => i === flatListGroupIndex && 'items' in item ? Object.assign(Object.assign({}, item), { items: newGroupItems }) : item);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Applies second-level sort (within a group) and returns new flat list, expanded items and indices.
|
|
107
|
+
* Keeps dividers in place inside the group.
|
|
108
|
+
*
|
|
109
|
+
* @param groupIndex - Sortable index of the group (from List, without dividers).
|
|
110
|
+
* @param oldIndex - Sortable index of dragged item in the group.
|
|
111
|
+
* @param newIndex - Sortable index of drop position in the group.
|
|
112
|
+
* @param currentFlatList - Current flat list.
|
|
113
|
+
* @returns Result with newFlatList, expandedItems, indices and changedItem, or null if invalid.
|
|
114
|
+
*/
|
|
115
|
+
function applySecondLevelSort(groupIndex, oldIndex, newIndex, currentFlatList) {
|
|
116
|
+
const groupData = getGroupAtSortableIndex(groupIndex, currentFlatList);
|
|
117
|
+
if (!groupData) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
const { flatListGroupIndex, groupItem } = groupData;
|
|
121
|
+
const sortedGroupItems = sortMenuItemsWithDividers.sortMenuItemsWithDividers(oldIndex, newIndex, groupItem.items);
|
|
122
|
+
const newFlatList = updateGroupItemsInFlatList(currentFlatList, flatListGroupIndex, sortedGroupItems);
|
|
123
|
+
const expandedItems = buildExpandedFromFlatList.buildExpandedFromFlatList(newFlatList);
|
|
124
|
+
const expandedItemsOld = buildExpandedFromFlatList.buildExpandedFromFlatList(currentFlatList);
|
|
125
|
+
const realOldIndex = getRealIndexInGroup(flatListGroupIndex, oldIndex, currentFlatList);
|
|
126
|
+
const realNewIndex = getRealIndexInGroup(flatListGroupIndex, newIndex, newFlatList);
|
|
127
|
+
const changedItem = expandedItemsOld[realOldIndex];
|
|
128
|
+
return {
|
|
129
|
+
newFlatList,
|
|
130
|
+
expandedItems,
|
|
131
|
+
realOldIndex,
|
|
132
|
+
realNewIndex,
|
|
133
|
+
changedItem,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
20
136
|
|
|
137
|
+
exports.applySecondLevelSort = applySecondLevelSort;
|
|
138
|
+
exports.getFlatListIndexForSortableIndex = getFlatListIndexForSortableIndex;
|
|
139
|
+
exports.getGroupAtSortableIndex = getGroupAtSortableIndex;
|
|
140
|
+
exports.getIndexInGroupItemsForSortableIndex = getIndexInGroupItemsForSortableIndex;
|
|
141
|
+
exports.getRealIndexInExpandedMenu = getRealIndexInExpandedMenu;
|
|
21
142
|
exports.getRealIndexInGroup = getRealIndexInGroup;
|
|
143
|
+
exports.updateGroupItemsInFlatList = updateGroupItemsInFlatList;
|
|
22
144
|
//# sourceMappingURL=getRealIndexInGroup.js.map
|
package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRealIndexInGroup.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nfunction getRealIndexInExpandedMenu(\n flatListIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let realIndex = 0;\n\n for (let i = 0; i < flatListIndex; i++) {\n const item = flatList[i];\n\n if ('items' in item && item.items && item.items.length > 0) {\n realIndex += item.items.length;\n } else {\n realIndex += 1;\n }\n }\n\n return realIndex;\n}\n\nexport function getRealIndexInGroup(\n groupIndex: number,\n itemIndexInGroup: number,\n flatList: MenuItemsWithGroups[],\n): number {\n const groupStartIndex = getRealIndexInExpandedMenu(groupIndex, flatList);\n\n return groupStartIndex + itemIndexInGroup;\n}\n"],"names":[],"mappings":";;AAEA,SAAS,0BAA0B,CAC/B,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,SAAS,GAAG,CAAC;AAEjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACxD,YAAA,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;;aAC3B;YACH,SAAS,IAAI,CAAC;;;AAItB,IAAA,OAAO,SAAS;AACpB;SAEgB,mBAAmB,CAC/B,UAAkB,EAClB,gBAAwB,EACxB,QAA+B,EAAA;IAE/B,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC;IAExE,OAAO,eAAe,GAAG,gBAAgB;AAC7C;;;;"}
|
|
1
|
+
{"version":3,"file":"getRealIndexInGroup.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/getRealIndexInGroup.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {buildExpandedFromFlatList} from './buildExpandedFromFlatList';\nimport {getIsMenuItem} from './getIsMenuItem';\nimport {sortMenuItemsWithDividers} from './sortMenuItemsWithDividers';\n\n/**\n * Returns index in flatList of the sortableIndex-th sortable item (getIsMenuItem).\n * Used when groupIndex from the List is the index in the filtered list without dividers.\n *\n * @param sortableIndex - Index in the list of sortable (non-divider) items.\n * @param flatList - Flat list with groups and dividers.\n * @returns Index in flatList of the sortableIndex-th sortable item.\n */\nexport function getFlatListIndexForSortableIndex(\n sortableIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let sortableCount = 0;\n for (let i = 0; i < flatList.length; i++) {\n if (getIsMenuItem(flatList[i])) {\n if (sortableCount === sortableIndex) {\n return i;\n }\n sortableCount++;\n }\n }\n return 0;\n}\n\n/**\n * Returns index in groupItems array for the sortableIndex-th sortable (non-divider) item.\n * Used when oldIndex/newIndex from sort are indices in the sortable-only list.\n *\n * @param sortableIndex - Index in the list of sortable (non-divider) items.\n * @param groupItems - Items of the group (may contain dividers).\n * @returns Index in groupItems of the sortableIndex-th sortable item.\n */\nexport function getIndexInGroupItemsForSortableIndex(\n sortableIndex: number,\n groupItems: MenuItemsWithGroups[],\n): number {\n let sortableCount = 0;\n for (let i = 0; i < groupItems.length; i++) {\n if (getIsMenuItem(groupItems[i])) {\n if (sortableCount === sortableIndex) {\n return i;\n }\n sortableCount++;\n }\n }\n return 0;\n}\n\nexport function getRealIndexInExpandedMenu(\n flatListIndex: number,\n flatList: MenuItemsWithGroups[],\n): number {\n let realIndex = 0;\n\n for (let i = 0; i < flatListIndex; i++) {\n const item = flatList[i];\n\n if ('items' in item && item.items && item.items.length > 0) {\n realIndex += item.items.length;\n } else {\n realIndex += 1;\n }\n }\n\n return realIndex;\n}\n\n/**\n * Returns index in the expanded menu for an item in a group.\n * itemIndexInGroup is the index in the sortable-only list (dividers are not counted).\n *\n * @param groupIndex - Index of the group in the flat list.\n * @param itemIndexInGroup - Index in the sortable-only list within the group.\n * @param flatList - Flat list with groups and dividers.\n * @returns Index in the expanded (flattened) menu list.\n */\nexport function getRealIndexInGroup(\n groupIndex: number,\n itemIndexInGroup: number,\n flatList: MenuItemsWithGroups[],\n): number {\n const groupStartIndex = getRealIndexInExpandedMenu(groupIndex, flatList);\n const groupItem = flatList[groupIndex];\n\n if ('items' in groupItem && groupItem.items && groupItem.items.length > 0) {\n const positionInGroup = getIndexInGroupItemsForSortableIndex(\n itemIndexInGroup,\n groupItem.items,\n );\n return groupStartIndex + positionInGroup;\n }\n\n return groupStartIndex + itemIndexInGroup;\n}\n\ntype GroupWithItems = MenuItemsWithGroups & {items: MenuItemsWithGroups[]};\n\n/**\n * Returns group item and its index in flat list by sortable index (index in list without dividers).\n *\n * @param sortableIndex - Index in the filtered list (getIsMenuItem).\n * @param flatList - Flat list with groups and dividers.\n * @returns Object with flatListGroupIndex and groupItem, or null if not a group with items.\n */\nexport function getGroupAtSortableIndex(\n sortableIndex: number,\n flatList: MenuItemsWithGroups[],\n): {flatListGroupIndex: number; groupItem: GroupWithItems} | null {\n const flatListGroupIndex = getFlatListIndexForSortableIndex(sortableIndex, flatList);\n const groupItem = flatList[flatListGroupIndex];\n\n if (!groupItem || !('items' in groupItem) || !(groupItem as GroupWithItems).items?.length) {\n return null;\n }\n\n return {flatListGroupIndex, groupItem: groupItem as GroupWithItems};\n}\n\n/**\n * Returns new flat list with group items replaced at the given index.\n *\n * @param flatList - Current flat list.\n * @param flatListGroupIndex - Index of the group in flat list.\n * @param newGroupItems - New items array for the group.\n * @returns New flat list with updated group.\n */\nexport function updateGroupItemsInFlatList(\n flatList: MenuItemsWithGroups[],\n flatListGroupIndex: number,\n newGroupItems: MenuItemsWithGroups[],\n): MenuItemsWithGroups[] {\n return flatList.map((item, i) =>\n i === flatListGroupIndex && 'items' in item ? {...item, items: newGroupItems} : item,\n );\n}\n\ninterface SecondLevelSortResult {\n newFlatList: MenuItemsWithGroups[];\n expandedItems: ReturnType<typeof buildExpandedFromFlatList>;\n realOldIndex: number;\n realNewIndex: number;\n changedItem: ReturnType<typeof buildExpandedFromFlatList>[number] | undefined;\n}\n\n/**\n * Applies second-level sort (within a group) and returns new flat list, expanded items and indices.\n * Keeps dividers in place inside the group.\n *\n * @param groupIndex - Sortable index of the group (from List, without dividers).\n * @param oldIndex - Sortable index of dragged item in the group.\n * @param newIndex - Sortable index of drop position in the group.\n * @param currentFlatList - Current flat list.\n * @returns Result with newFlatList, expandedItems, indices and changedItem, or null if invalid.\n */\nexport function applySecondLevelSort(\n groupIndex: number,\n oldIndex: number,\n newIndex: number,\n currentFlatList: MenuItemsWithGroups[],\n): SecondLevelSortResult | null {\n const groupData = getGroupAtSortableIndex(groupIndex, currentFlatList);\n\n if (!groupData) {\n return null;\n }\n\n const {flatListGroupIndex, groupItem} = groupData;\n const sortedGroupItems = sortMenuItemsWithDividers(oldIndex, newIndex, groupItem.items);\n const newFlatList = updateGroupItemsInFlatList(\n currentFlatList,\n flatListGroupIndex,\n sortedGroupItems,\n );\n const expandedItems = buildExpandedFromFlatList(newFlatList);\n const expandedItemsOld = buildExpandedFromFlatList(currentFlatList);\n const realOldIndex = getRealIndexInGroup(flatListGroupIndex, oldIndex, currentFlatList);\n const realNewIndex = getRealIndexInGroup(flatListGroupIndex, newIndex, newFlatList);\n const changedItem = expandedItemsOld[realOldIndex];\n\n return {\n newFlatList,\n expandedItems,\n realOldIndex,\n realNewIndex,\n changedItem,\n };\n}\n"],"names":["getIsMenuItem","sortMenuItemsWithDividers","buildExpandedFromFlatList"],"mappings":";;;;;;AAMA;;;;;;;AAOG;AACa,SAAA,gCAAgC,CAC5C,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAIA,2BAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5B,YAAA,IAAI,aAAa,KAAK,aAAa,EAAE;AACjC,gBAAA,OAAO,CAAC;;AAEZ,YAAA,aAAa,EAAE;;;AAGvB,IAAA,OAAO,CAAC;AACZ;AAEA;;;;;;;AAOG;AACa,SAAA,oCAAoC,CAChD,aAAqB,EACrB,UAAiC,EAAA;IAEjC,IAAI,aAAa,GAAG,CAAC;AACrB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAIA,2BAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9B,YAAA,IAAI,aAAa,KAAK,aAAa,EAAE;AACjC,gBAAA,OAAO,CAAC;;AAEZ,YAAA,aAAa,EAAE;;;AAGvB,IAAA,OAAO,CAAC;AACZ;AAEgB,SAAA,0BAA0B,CACtC,aAAqB,EACrB,QAA+B,EAAA;IAE/B,IAAI,SAAS,GAAG,CAAC;AAEjB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;AAExB,QAAA,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACxD,YAAA,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;;aAC3B;YACH,SAAS,IAAI,CAAC;;;AAItB,IAAA,OAAO,SAAS;AACpB;AAEA;;;;;;;;AAQG;SACa,mBAAmB,CAC/B,UAAkB,EAClB,gBAAwB,EACxB,QAA+B,EAAA;IAE/B,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC;AACxE,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;AAEtC,IAAA,IAAI,OAAO,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvE,MAAM,eAAe,GAAG,oCAAoC,CACxD,gBAAgB,EAChB,SAAS,CAAC,KAAK,CAClB;QACD,OAAO,eAAe,GAAG,eAAe;;IAG5C,OAAO,eAAe,GAAG,gBAAgB;AAC7C;AAIA;;;;;;AAMG;AACa,SAAA,uBAAuB,CACnC,aAAqB,EACrB,QAA+B,EAAA;;IAE/B,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,aAAa,EAAE,QAAQ,CAAC;AACpF,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAE9C,IAAI,CAAC,SAAS,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,EAAC,CAAA,EAAA,GAAC,SAA4B,CAAC,KAAK,gDAAE,MAAM,CAAA,EAAE;AACvF,QAAA,OAAO,IAAI;;AAGf,IAAA,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAE,SAA2B,EAAC;AACvE;AAEA;;;;;;;AAOG;SACa,0BAA0B,CACtC,QAA+B,EAC/B,kBAA0B,EAC1B,aAAoC,EAAA;AAEpC,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KACxB,CAAC,KAAK,kBAAkB,IAAI,OAAO,IAAI,IAAI,GAAE,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,IAAI,CAAE,EAAA,EAAA,KAAK,EAAE,aAAa,EAAE,CAAA,GAAE,IAAI,CACvF;AACL;AAUA;;;;;;;;;AASG;AACG,SAAU,oBAAoB,CAChC,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,eAAsC,EAAA;IAEtC,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,EAAE,eAAe,CAAC;IAEtE,IAAI,CAAC,SAAS,EAAE;AACZ,QAAA,OAAO,IAAI;;AAGf,IAAA,MAAM,EAAC,kBAAkB,EAAE,SAAS,EAAC,GAAG,SAAS;AACjD,IAAA,MAAM,gBAAgB,GAAGC,mDAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;IACvF,MAAM,WAAW,GAAG,0BAA0B,CAC1C,eAAe,EACf,kBAAkB,EAClB,gBAAgB,CACnB;AACD,IAAA,MAAM,aAAa,GAAGC,mDAAyB,CAAC,WAAW,CAAC;AAC5D,IAAA,MAAM,gBAAgB,GAAGA,mDAAyB,CAAC,eAAe,CAAC;IACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,eAAe,CAAC;IACvF,MAAM,YAAY,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC;AACnF,IAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAElD,OAAO;QACH,WAAW;QACX,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,WAAW;KACd;AACL;;;;;;;;;;"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { MenuItemsWithGroups } from '../../../types';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Sorts menu items while preserving divider and action positions at their original locations.
|
|
4
|
+
*/
|
|
3
5
|
export declare function sortMenuItemsWithDividers(oldIndex: number, newIndex: number, currentFlatList: MenuItemsWithGroups[]): MenuItemsWithGroups[];
|
package/build/cjs/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.js
CHANGED
|
@@ -2,39 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
var getIsMenuItem = require('./getIsMenuItem.js');
|
|
4
4
|
|
|
5
|
-
/**
|
|
5
|
+
/** Items that stay at their position when sorting (not draggable). */
|
|
6
|
+
function isFixedPositionItem(item) {
|
|
7
|
+
return item.type === 'divider' || item.type === 'action';
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Sorts menu items while preserving divider and action positions at their original locations.
|
|
11
|
+
*/
|
|
6
12
|
function sortMenuItemsWithDividers(oldIndex, newIndex, currentFlatList) {
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const itemsWithoutDividers = [];
|
|
13
|
+
const fixedPositionItems = [];
|
|
14
|
+
const sortableItems = [];
|
|
10
15
|
currentFlatList.forEach((item, index) => {
|
|
11
|
-
if (item
|
|
12
|
-
|
|
16
|
+
if (isFixedPositionItem(item)) {
|
|
17
|
+
fixedPositionItems.push({ index, item });
|
|
13
18
|
}
|
|
14
19
|
else if (getIsMenuItem.getIsMenuItem(item)) {
|
|
15
|
-
|
|
20
|
+
sortableItems.push(item);
|
|
16
21
|
}
|
|
17
22
|
});
|
|
18
|
-
if (
|
|
19
|
-
itemsWithoutDividers[newIndex] === undefined) {
|
|
23
|
+
if (sortableItems[oldIndex] === undefined || sortableItems[newIndex] === undefined) {
|
|
20
24
|
return currentFlatList;
|
|
21
25
|
}
|
|
22
|
-
const
|
|
23
|
-
const [movedElement] =
|
|
24
|
-
|
|
25
|
-
// Insert dividers back at their original positions in currentFlatList
|
|
26
|
+
const sortedItems = [...sortableItems];
|
|
27
|
+
const [movedElement] = sortedItems.splice(oldIndex, 1);
|
|
28
|
+
sortedItems.splice(newIndex, 0, movedElement);
|
|
26
29
|
const result = [];
|
|
27
|
-
const
|
|
28
|
-
let
|
|
30
|
+
const fixedMap = new Map(fixedPositionItems.map((f) => [f.index, f.item]));
|
|
31
|
+
let sortableIndex = 0;
|
|
29
32
|
for (let originalIndex = 0; originalIndex < currentFlatList.length; originalIndex++) {
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
result.push(dividerItem);
|
|
33
|
+
const fixedItem = fixedMap.get(originalIndex);
|
|
34
|
+
if (fixedItem) {
|
|
35
|
+
result.push(fixedItem);
|
|
34
36
|
}
|
|
35
|
-
else if (
|
|
36
|
-
|
|
37
|
-
result.push(sortedItemsWithoutDividers[sortedIndex++]);
|
|
37
|
+
else if (sortableIndex < sortedItems.length) {
|
|
38
|
+
result.push(sortedItems[sortableIndex++]);
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortMenuItemsWithDividers.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {getIsMenuItem} from './getIsMenuItem';\n\n/** Sorts menu items while preserving divider positions at their original locations
|
|
1
|
+
{"version":3,"file":"sortMenuItemsWithDividers.js","sources":["../../../../../../../../src/components/AsideHeader/components/AllPagesPanel/utils/sortMenuItemsWithDividers.ts"],"sourcesContent":["import {MenuItemsWithGroups} from '../../../types';\n\nimport {getIsMenuItem} from './getIsMenuItem';\n\n/** Items that stay at their position when sorting (not draggable). */\nfunction isFixedPositionItem(item: MenuItemsWithGroups): boolean {\n return item.type === 'divider' || item.type === 'action';\n}\n\n/**\n * Sorts menu items while preserving divider and action positions at their original locations.\n */\nexport function sortMenuItemsWithDividers(\n oldIndex: number,\n newIndex: number,\n currentFlatList: MenuItemsWithGroups[],\n): MenuItemsWithGroups[] {\n const fixedPositionItems: Array<{index: number; item: MenuItemsWithGroups}> = [];\n const sortableItems: MenuItemsWithGroups[] = [];\n\n currentFlatList.forEach((item, index) => {\n if (isFixedPositionItem(item)) {\n fixedPositionItems.push({index, item});\n } else if (getIsMenuItem(item)) {\n sortableItems.push(item);\n }\n });\n\n if (sortableItems[oldIndex] === undefined || sortableItems[newIndex] === undefined) {\n return currentFlatList;\n }\n\n const sortedItems = [...sortableItems];\n const [movedElement] = sortedItems.splice(oldIndex, 1);\n sortedItems.splice(newIndex, 0, movedElement);\n\n const result: MenuItemsWithGroups[] = [];\n const fixedMap = new Map(fixedPositionItems.map((f) => [f.index, f.item]));\n let sortableIndex = 0;\n\n for (let originalIndex = 0; originalIndex < currentFlatList.length; originalIndex++) {\n const fixedItem = fixedMap.get(originalIndex);\n\n if (fixedItem) {\n result.push(fixedItem);\n } else if (sortableIndex < sortedItems.length) {\n result.push(sortedItems[sortableIndex++]);\n }\n }\n\n return result;\n}\n"],"names":["getIsMenuItem"],"mappings":";;;;AAIA;AACA,SAAS,mBAAmB,CAAC,IAAyB,EAAA;IAClD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;AAC5D;AAEA;;AAEG;SACa,yBAAyB,CACrC,QAAgB,EAChB,QAAgB,EAChB,eAAsC,EAAA;IAEtC,MAAM,kBAAkB,GAAsD,EAAE;IAChF,MAAM,aAAa,GAA0B,EAAE;IAE/C,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACpC,QAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;YAC3B,kBAAkB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;;AACnC,aAAA,IAAIA,2BAAa,CAAC,IAAI,CAAC,EAAE;AAC5B,YAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEhC,KAAC,CAAC;AAEF,IAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE;AAChF,QAAA,OAAO,eAAe;;AAG1B,IAAA,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC;AACtC,IAAA,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC;IAE7C,MAAM,MAAM,GAA0B,EAAE;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,IAAI,aAAa,GAAG,CAAC;AAErB,IAAA,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;QACjF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QAE7C,IAAI,SAAS,EAAE;AACX,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;;AACnB,aAAA,IAAI,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;;;AAIjD,IAAA,OAAO,MAAM;AACjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.CollapseButton-module__gn-collapse-
|
|
1
|
+
.CollapseButton-module__gn-collapse-button_collapsed___c19gr .CollapseButton-module__gn-collapse-button__icon___iMooT{transform:rotate(180deg)}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
interface CollapseButtonProps {
|
|
3
3
|
className?: string;
|
|
4
|
+
isCompactMode?: boolean;
|
|
4
5
|
}
|
|
5
|
-
export declare const CollapseButton: ({ className }: CollapseButtonProps) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
6
|
+
export declare const CollapseButton: ({ className, isCompactMode }: CollapseButtonProps) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
6
7
|
export {};
|
|
@@ -2,30 +2,30 @@ import './CollapseButton.css';
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var React = require('react');
|
|
5
|
+
var icons = require('@gravity-ui/icons');
|
|
5
6
|
var uikit = require('@gravity-ui/uikit');
|
|
6
7
|
var cn = require('../../../utils/cn.js');
|
|
7
8
|
var AsideHeaderContext = require('../../AsideHeaderContext.js');
|
|
8
9
|
var index = require('../../i18n/index.js');
|
|
9
|
-
var ArrowLeftFromLineIcon = require('@gravity-ui/icons/svgs/arrow-left-from-line.svg');
|
|
10
10
|
var CollapseButton_module = require('./CollapseButton.module.scss.js');
|
|
11
11
|
|
|
12
12
|
const b = cn.createBlock('collapse-button', CollapseButton_module.default);
|
|
13
|
-
const CollapseButton = ({ className }) => {
|
|
14
|
-
const {
|
|
13
|
+
const CollapseButton = ({ className, isCompactMode }) => {
|
|
14
|
+
const { pinned, onChangePinned } = AsideHeaderContext.useAsideHeaderContext();
|
|
15
15
|
const { expandTitle, collapseTitle, collapseButtonWrapper } = AsideHeaderContext.useAsideHeaderInnerContext();
|
|
16
16
|
const onCollapseButtonClick = React.useCallback(() => {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
}, [
|
|
20
|
-
const buttonTitle =
|
|
21
|
-
?
|
|
22
|
-
:
|
|
23
|
-
const defaultButton = (React.createElement(uikit.Button, { view: "flat-secondary", size:
|
|
24
|
-
React.createElement(uikit.Icon, { data:
|
|
17
|
+
const newPinned = !pinned;
|
|
18
|
+
onChangePinned === null || onChangePinned === undefined ? undefined : onChangePinned(newPinned);
|
|
19
|
+
}, [pinned, onChangePinned]);
|
|
20
|
+
const buttonTitle = pinned
|
|
21
|
+
? collapseTitle || index.default('button_collapse')
|
|
22
|
+
: expandTitle || index.default('button_expand');
|
|
23
|
+
const defaultButton = (React.createElement(uikit.Button, { view: "flat-secondary", size: isCompactMode ? 'm' : 'l', className: b({ collapsed: !pinned }, className), onClick: onCollapseButtonClick, "aria-label": buttonTitle, title: buttonTitle },
|
|
24
|
+
React.createElement(uikit.Icon, { data: icons.ArrowLeftFromLine, className: b('icon'), size: 16 })));
|
|
25
25
|
if (collapseButtonWrapper) {
|
|
26
26
|
return collapseButtonWrapper(defaultButton, {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
isExpanded: pinned,
|
|
28
|
+
onChangePinned,
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
31
|
return defaultButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseButton.js","sources":["../../../../../../../src/components/AsideHeader/components/CollapseButton/CollapseButton.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {createBlock} from '../../../utils/cn';\nimport {useAsideHeaderContext, useAsideHeaderInnerContext} from '../../AsideHeaderContext';\nimport i18n from '../../i18n';\n\nimport
|
|
1
|
+
{"version":3,"file":"CollapseButton.js","sources":["../../../../../../../src/components/AsideHeader/components/CollapseButton/CollapseButton.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\n\nimport {ArrowLeftFromLine} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {createBlock} from '../../../utils/cn';\nimport {useAsideHeaderContext, useAsideHeaderInnerContext} from '../../AsideHeaderContext';\nimport i18n from '../../i18n';\n\nimport styles from './CollapseButton.module.scss';\n\nconst b = createBlock('collapse-button', styles);\n\ninterface CollapseButtonProps {\n className?: string;\n isCompactMode?: boolean;\n}\n\nexport const CollapseButton = ({className, isCompactMode}: CollapseButtonProps) => {\n const {pinned, onChangePinned} = useAsideHeaderContext();\n const {expandTitle, collapseTitle, collapseButtonWrapper} = useAsideHeaderInnerContext();\n\n const onCollapseButtonClick = useCallback(() => {\n const newPinned = !pinned;\n\n onChangePinned?.(newPinned);\n }, [pinned, onChangePinned]);\n\n const buttonTitle = pinned\n ? collapseTitle || i18n('button_collapse')\n : expandTitle || i18n('button_expand');\n\n const defaultButton = (\n <Button\n view=\"flat-secondary\"\n size={isCompactMode ? 'm' : 'l'}\n className={b({collapsed: !pinned}, className)}\n onClick={onCollapseButtonClick}\n aria-label={buttonTitle}\n title={buttonTitle}\n >\n <Icon data={ArrowLeftFromLine} className={b('icon')} size={16} />\n </Button>\n );\n\n if (collapseButtonWrapper) {\n return collapseButtonWrapper(defaultButton, {\n isExpanded: pinned,\n onChangePinned,\n });\n }\n\n return defaultButton;\n};\n"],"names":["createBlock","styles","useAsideHeaderContext","useAsideHeaderInnerContext","useCallback","i18n","Button","Icon","ArrowLeftFromLine"],"mappings":";;;;;;;;;;AAWA,MAAM,CAAC,GAAGA,cAAW,CAAC,iBAAiB,EAAEC,6BAAM,CAAC;AAOnC,MAAA,cAAc,GAAG,CAAC,EAAC,SAAS,EAAE,aAAa,EAAsB,KAAI;IAC9E,MAAM,EAAC,MAAM,EAAE,cAAc,EAAC,GAAGC,wCAAqB,EAAE;IACxD,MAAM,EAAC,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAC,GAAGC,6CAA0B,EAAE;AAExF,IAAA,MAAM,qBAAqB,GAAGC,iBAAW,CAAC,MAAK;AAC3C,QAAA,MAAM,SAAS,GAAG,CAAC,MAAM;AAEzB,QAAA,cAAc,aAAd,cAAc,KAAA,SAAA,GAAA,SAAA,GAAd,cAAc,CAAG,SAAS,CAAC;AAC/B,KAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAE5B,MAAM,WAAW,GAAG;AAChB,UAAE,aAAa,IAAIC,aAAI,CAAC,iBAAiB;AACzC,UAAE,WAAW,IAAIA,aAAI,CAAC,eAAe,CAAC;IAE1C,MAAM,aAAa,IACf,KAAA,CAAA,aAAA,CAACC,YAAM,EACH,EAAA,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAE,aAAa,GAAG,GAAG,GAAG,GAAG,EAC/B,SAAS,EAAE,CAAC,CAAC,EAAC,SAAS,EAAE,CAAC,MAAM,EAAC,EAAE,SAAS,CAAC,EAC7C,OAAO,EAAE,qBAAqB,EAAA,YAAA,EAClB,WAAW,EACvB,KAAK,EAAE,WAAW,EAAA;AAElB,QAAA,KAAA,CAAA,aAAA,CAACC,UAAI,EAAC,EAAA,IAAI,EAAEC,uBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAI,CAAA,CAC5D,CACZ;IAED,IAAI,qBAAqB,EAAE;QACvB,OAAO,qBAAqB,CAAC,aAAa,EAAE;AACxC,YAAA,UAAU,EAAE,MAAM;YAClB,cAAc;AACjB,SAAA,CAAC;;AAGN,IAAA,OAAO,aAAa;AACxB;;;;"}
|
package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var styles = {"gn-collapse-
|
|
5
|
+
var styles = {"gn-collapse-button_collapsed":"CollapseButton-module__gn-collapse-button_collapsed___c19gr","gnCollapseButtonCollapsed":"CollapseButton-module__gn-collapse-button_collapsed___c19gr","gn-collapse-button__icon":"CollapseButton-module__gn-collapse-button__icon___iMooT","gnCollapseButtonIcon":"CollapseButton-module__gn-collapse-button__icon___iMooT"};
|
|
6
6
|
|
|
7
7
|
exports.default = styles;
|
|
8
8
|
//# sourceMappingURL=CollapseButton.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.CompositeBar-module__gn-composite-bar___WoCDY{--gn-aside-
|
|
1
|
+
.CompositeBar-module__gn-composite-bar___WoCDY{background-color:var(--gn-aside-main-background-color);display:flex;flex:1 1 auto;flex-direction:column;min-height:40px;width:100%}.CompositeBar-module__gn-composite-bar___WoCDY .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{background-color:transparent}.CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21, .CompositeBar-module__gn-composite-bar__menu-group-item___TLcnI, .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{margin-bottom:2px}.CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21:last-child, .CompositeBar-module__gn-composite-bar__menu-group-item___TLcnI:last-child, .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]:last-child{margin-bottom:0}.CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF:has(.CompositeBar-module__gn-composite-bar__menu-group___3hCzS){align-items:flex-start}.CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF:has(.CompositeBar-module__gn-composite-bar__menu-group___3hCzS)>.g-list__item-sort-icon{position:relative;top:12px}.CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF:has(.CompositeBar-module__gn-composite-bar__menu-group___3hCzS):not(.CompositeBar-module__gn-composite-bar__root-menu-item_compact___vvKTD) .g-list__item-content{overflow:visible}.CompositeBar-module__gn-composite-bar__menu-group___3hCzS{height:100%;position:relative;width:100%}.CompositeBar-module__gn-composite-bar__menu-group___3hCzS:before{background-color:var(--gn-aside-main-group-item-background-color,transparent);border-left:2px solid var(--gn-aside-main-group-border-color,var(--g-color-line-generic));border-radius:0;content:"";height:100%;left:0;position:absolute;top:0;transition:border-radius .15s ease-out;width:100%;z-index:-1}.CompositeBar-module__gn-composite-bar__menu-group___3hCzS:hover:before{border-color:var(--gn-aside-main-group-border-color-hover,var(--g-color-line-generic))}.CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21{height:var(--_--item-height)}.CompositeBar-module__gn-composite-bar__menu-group-item___TLcnI{position:relative}.CompositeBar-module__gn-composite-bar__menu-group-item___TLcnI:last-child .CompositeBar-module__gn-composite-bar__group-item___L1pJ8{border-radius:0 0 var(--gn-aside-header-item-expanded-radius) var(--gn-aside-header-item-expanded-radius)}.CompositeBar-module__gn-composite-bar__menu-group-item_edit___Es8er:not(.CompositeBar-module__gn-composite-bar__menu-group-item_compact___-7tZl){left:-16px;width:calc(100% + 16px)}.CompositeBar-module__gn-composite-bar__menu-group-header___Yvr21:not(.CompositeBar-module__gn-composite-bar__menu-group-header_collapsed___bTXn1){border-radius:var(--gn-aside-header-item-expanded-radius) var(--gn-aside-header-item-expanded-radius) 0 0}.CompositeBar-module__gn-composite-bar__menu-group___3hCzS:hover:before, .CompositeBar-module__gn-composite-bar__menu-group_expanded___GY0oS:before, .CompositeBar-module__gn-composite-bar__menu-item_type_regular___8DHUR, .CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]:hover{border-radius:var(--gn-aside-header-item-expanded-radius)}.CompositeBar-module__gn-composite-bar__root-menu-item___oxCuF[class]{transition:border-radius .15s ease-out}.CompositeBar-module__gn-composite-bar__menu-group-toggle-placeholder___vAqkn, .CompositeBar-module__gn-composite-bar__menu-group-toggle___4--VW{align-items:center;cursor:pointer;display:inline-flex;height:24px;width:24px}.CompositeBar-module__gn-composite-bar__menu-group-toggle___4--VW{margin-left:auto}.CompositeBar-module__gn-composite-bar__menu-group-icon___YVg-C{margin-right:var(--g-spacing-3)}.CompositeBar-module__gn-composite-bar__menu-item___zaw-R[data-type=action]{margin-inline:var(--_--item-margin-inline)}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
|
-
import { AsideHeaderItem, MenuItemsWithGroups } from '../../types';
|
|
2
|
+
import { AsideHeaderItem, MenuItemsWithGroups, SetCollapseBlocker } from '../../types';
|
|
3
3
|
type CompositeBarProps = {
|
|
4
4
|
type: 'menu' | 'subheader';
|
|
5
|
+
setCollapseBlocker?: SetCollapseBlocker;
|
|
5
6
|
items?: MenuItemsWithGroups[];
|
|
6
|
-
onItemClick?: (item: AsideHeaderItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent
|
|
7
|
-
|
|
7
|
+
onItemClick?: (item: AsideHeaderItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>, options: {
|
|
8
|
+
setCollapseBlocker: SetCollapseBlocker | undefined;
|
|
9
|
+
}) => void;
|
|
8
10
|
menuMoreTitle?: string;
|
|
9
11
|
onMoreClick?: () => void;
|
|
10
|
-
|
|
12
|
+
/** When `true`, the navigation is expanded. When `false`, it is collapsed. */
|
|
13
|
+
isExpanded: boolean;
|
|
11
14
|
compositeId?: string;
|
|
12
15
|
className?: string;
|
|
13
|
-
groupClassName?: string;
|
|
14
16
|
menuItemClassName?: string;
|
|
15
17
|
editMode?: boolean;
|
|
16
18
|
onToggleGroupCollapsed?: (groupId: string) => void;
|
|
19
|
+
/** When `true`, menu items use compact height. */
|
|
20
|
+
isCompactMode?: boolean;
|
|
17
21
|
};
|
|
18
22
|
type CompositeBarViewProps = CompositeBarProps & {
|
|
19
23
|
compositeId?: string;
|
|
@@ -32,6 +36,8 @@ type CompositeBarViewProps = CompositeBarProps & {
|
|
|
32
36
|
oldIndex: number;
|
|
33
37
|
newIndex: number;
|
|
34
38
|
}) => void;
|
|
39
|
+
/** When `true`, menu items use compact height. */
|
|
40
|
+
isCompactMode?: boolean;
|
|
35
41
|
};
|
|
36
42
|
export declare const CompositeBarView: FC<CompositeBarViewProps>;
|
|
37
43
|
export declare const CompositeBar: FC<CompositeBarProps>;
|