@gravity-ui/navigation 3.10.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/_virtual/_commonjsHelpers.js +11 -0
- package/build/cjs/_virtual/_commonjsHelpers.js.map +1 -0
- package/build/cjs/_virtual/debounce.js +12 -0
- package/build/cjs/_virtual/debounce.js.map +1 -0
- package/build/cjs/_virtual/identity.js +12 -0
- package/build/cjs/_virtual/identity.js.map +1 -0
- package/build/cjs/_virtual/last.js +12 -0
- package/build/cjs/_virtual/last.js.map +1 -0
- package/build/cjs/assets/icons/control-menu-button.svg.js +41 -0
- package/build/cjs/assets/icons/control-menu-button.svg.js.map +1 -0
- package/build/cjs/assets/icons/divider-collapsed.svg.js +41 -0
- package/build/cjs/assets/icons/divider-collapsed.svg.js.map +1 -0
- package/build/cjs/components/ActionBar/ActionBar.css +1 -0
- package/build/cjs/components/ActionBar/ActionBar.d.ts +0 -1
- package/build/cjs/components/ActionBar/ActionBar.js +25 -0
- package/build/cjs/components/ActionBar/ActionBar.js.map +1 -0
- package/build/cjs/components/ActionBar/ActionBar.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/ActionBar.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.css +1 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.d.ts +0 -1
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.js +15 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.js.map +1 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Group/ActionBarGroup.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.css +1 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.d.ts +0 -1
- package/build/cjs/components/ActionBar/Item/ActionBarItem.js +15 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.js.map +1 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Item/ActionBarItem.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.css +1 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.d.ts +0 -1
- package/build/cjs/components/ActionBar/Section/ActionBarSection.js +15 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.js.map +1 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Section/ActionBarSection.module.scss.js.map +1 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.css +1 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.d.ts +0 -1
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.js +15 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.js.map +1 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.module.scss.js +8 -0
- package/build/cjs/components/ActionBar/Separator/ActionBarSeparator.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.css +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.js +18 -0
- package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/AsideHeader.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +4 -5
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js +36 -0
- package/build/cjs/components/AsideHeader/AsideHeaderContext.js.map +1 -0
- package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
- package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/AllPagesListItem.d.ts +2 -3
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +44 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -0
- package/build/{esm → cjs/components/AsideHeader}/components/AllPagesPanel/AllPagesPanel.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +102 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.d.ts +3 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js +18 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.js +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/index.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +14 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +33 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +29 -0
- package/build/cjs/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js +30 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +14 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js +154 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -0
- package/build/{esm → cjs/components/AsideHeader}/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +57 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +12 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js +150 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +9 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +9 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +34 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +29 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js +12 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/constants.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/index.d.ts +1 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.d.ts +10 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js +101 -0
- package/build/cjs/components/AsideHeader/components/CompositeBar/utils.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FirstPanel.js +43 -0
- package/build/cjs/components/AsideHeader/components/FirstPanel.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.css +2 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.d.ts +5 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js +17 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +8 -0
- package/build/cjs/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/Header.js +29 -0
- package/build/cjs/components/AsideHeader/components/Header.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js +23 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.d.ts +0 -1
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js +59 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js +17 -0
- package/build/cjs/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -0
- package/build/cjs/components/AsideHeader/components/Panels.js +14 -0
- package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/en.json.js +18 -0
- package/build/cjs/components/AsideHeader/i18n/en.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +8 -0
- package/build/cjs/components/AsideHeader/i18n/index.js +14 -0
- package/build/cjs/components/AsideHeader/i18n/index.js.map +1 -0
- package/build/cjs/components/AsideHeader/i18n/ru.json.js +18 -0
- package/build/cjs/components/AsideHeader/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/AsideHeader/index.d.ts +7 -0
- package/build/cjs/components/AsideHeader/types.d.ts +55 -10
- package/build/cjs/components/AsideHeader/types.js +7 -0
- package/build/cjs/components/AsideHeader/types.js.map +1 -0
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +62 -0
- package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -0
- package/build/cjs/components/AsideHeader/utils.d.ts +6 -1
- package/build/cjs/components/AsideHeader/utils.js +9 -0
- package/build/cjs/components/AsideHeader/utils.js.map +1 -0
- package/build/cjs/components/Content/Content.js +16 -0
- package/build/cjs/components/Content/Content.js.map +1 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.css +1 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.d.ts +0 -1
- package/build/cjs/components/Footer/MenuItem/MenuItem.js +17 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.js.map +1 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.module.scss.js +8 -0
- package/build/cjs/components/Footer/MenuItem/MenuItem.module.scss.js.map +1 -0
- package/build/cjs/components/Footer/desktop/Footer.css +1 -0
- package/build/cjs/components/Footer/desktop/Footer.d.ts +0 -1
- package/build/cjs/components/Footer/desktop/Footer.js +40 -0
- package/build/cjs/components/Footer/desktop/Footer.js.map +1 -0
- package/build/cjs/components/Footer/desktop/Footer.module.scss.js +8 -0
- package/build/cjs/components/Footer/desktop/Footer.module.scss.js.map +1 -0
- package/build/cjs/components/Footer/desktop/constants/moreItemsPopupProps.js +8 -0
- package/build/cjs/components/Footer/desktop/constants/moreItemsPopupProps.js.map +1 -0
- package/build/cjs/components/Footer/mobile/Footer.css +1 -0
- package/build/cjs/components/Footer/mobile/Footer.d.ts +0 -1
- package/build/cjs/components/Footer/mobile/Footer.js +47 -0
- package/build/cjs/components/Footer/mobile/Footer.js.map +1 -0
- package/build/cjs/components/Footer/mobile/Footer.module.scss.js +8 -0
- package/build/cjs/components/Footer/mobile/Footer.module.scss.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.css +1 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +0 -1
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +38 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.module.scss.js +8 -0
- package/build/cjs/components/HotkeysPanel/HotkeysPanel.module.scss.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/utils/filterHotkeys.js +19 -0
- package/build/cjs/components/HotkeysPanel/utils/filterHotkeys.js.map +1 -0
- package/build/cjs/components/HotkeysPanel/utils/flattenHotkeyGroups.js +16 -0
- package/build/cjs/components/HotkeysPanel/utils/flattenHotkeyGroups.js.map +1 -0
- package/build/cjs/components/Logo/Logo.css +1 -0
- package/build/cjs/components/Logo/Logo.d.ts +0 -1
- package/build/cjs/components/Logo/Logo.js +45 -0
- package/build/cjs/components/Logo/Logo.js.map +1 -0
- package/build/cjs/components/Logo/Logo.module.scss.js +8 -0
- package/build/cjs/components/Logo/Logo.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.css +1 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.d.ts +0 -1
- package/build/cjs/components/MobileHeader/Burger/Burger.js +15 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.js.map +1 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/Burger/Burger.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.d.ts +0 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js +40 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.css +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.d.ts +0 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.js +21 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.js.map +1 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.css +1 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.d.ts +0 -1
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.js +28 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.js.map +1 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/MobileHeader.css +1 -0
- package/build/cjs/components/MobileHeader/MobileHeader.d.ts +4 -3
- package/build/cjs/components/MobileHeader/MobileHeader.js +157 -0
- package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -0
- package/build/cjs/components/MobileHeader/MobileHeader.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/MobileHeader.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.css +1 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.d.ts +0 -1
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js +27 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +1 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js +8 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js.map +1 -0
- package/build/cjs/components/MobileHeader/constants.js +22 -0
- package/build/cjs/components/MobileHeader/constants.js.map +1 -0
- package/build/cjs/components/MobileHeader/i18n/en.json.js +18 -0
- package/build/cjs/components/MobileHeader/i18n/en.json.js.map +1 -0
- package/build/cjs/components/MobileHeader/i18n/index.d.ts +8 -0
- package/build/cjs/components/MobileHeader/i18n/index.js +14 -0
- package/build/cjs/components/MobileHeader/i18n/index.js.map +1 -0
- package/build/cjs/components/MobileHeader/i18n/ru.json.js +18 -0
- package/build/cjs/components/MobileHeader/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/MobileHeader/types.d.ts +2 -1
- package/build/cjs/components/MobileHeader/utils.js +24 -0
- package/build/cjs/components/MobileHeader/utils.js.map +1 -0
- package/build/cjs/components/MobileLogo/MobileLogo.css +1 -0
- package/build/cjs/components/MobileLogo/MobileLogo.d.ts +0 -1
- package/build/cjs/components/MobileLogo/MobileLogo.js +33 -0
- package/build/cjs/components/MobileLogo/MobileLogo.js.map +1 -0
- package/build/cjs/components/MobileLogo/MobileLogo.module.scss.js +8 -0
- package/build/cjs/components/MobileLogo/MobileLogo.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/Selection/context.js +26 -0
- package/build/cjs/components/Settings/Selection/context.js.map +1 -0
- package/build/cjs/components/Settings/Selection/utils.js +22 -0
- package/build/cjs/components/Settings/Selection/utils.js.map +1 -0
- package/build/cjs/components/Settings/Settings.css +1 -0
- package/build/cjs/components/Settings/Settings.d.ts +0 -1
- package/build/cjs/components/Settings/Settings.js +142 -0
- package/build/cjs/components/Settings/Settings.js.map +1 -0
- package/build/cjs/components/Settings/Settings.module.scss.js +8 -0
- package/build/cjs/components/Settings/Settings.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/SettingsContext/SettingsContext.js +8 -0
- package/build/cjs/components/Settings/SettingsContext/SettingsContext.js.map +1 -0
- package/build/cjs/components/Settings/SettingsContext/useSettingsContext.js +9 -0
- package/build/cjs/components/Settings/SettingsContext/useSettingsContext.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.css +1 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.d.ts +0 -1
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js +82 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.module.scss.js +8 -0
- package/build/cjs/components/Settings/SettingsMenu/SettingsMenu.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.css +1 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.d.ts +0 -1
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js +38 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js.map +1 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js +8 -0
- package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js.map +1 -0
- package/build/cjs/components/Settings/SettingsPage/SettingsPageComponent.js +24 -0
- package/build/cjs/components/Settings/SettingsPage/SettingsPageComponent.js.map +1 -0
- package/build/cjs/components/Settings/SettingsPage/getPageTitleById.js +17 -0
- package/build/cjs/components/Settings/SettingsPage/getPageTitleById.js.map +1 -0
- package/build/cjs/components/Settings/SettingsRow/SettingsRow.js +13 -0
- package/build/cjs/components/Settings/SettingsRow/SettingsRow.js.map +1 -0
- package/build/cjs/components/Settings/SettingsRow/prepareTitle.js +32 -0
- package/build/cjs/components/Settings/SettingsRow/prepareTitle.js.map +1 -0
- package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js +70 -0
- package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js.map +1 -0
- package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js +34 -0
- package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -0
- package/build/cjs/components/Settings/SettingsSection.js +26 -0
- package/build/cjs/components/Settings/SettingsSection.js.map +1 -0
- package/build/cjs/components/Settings/b.d.ts +6 -1
- package/build/cjs/components/Settings/b.js +9 -0
- package/build/cjs/components/Settings/b.js.map +1 -0
- package/build/cjs/components/Settings/collect-settings.js +158 -0
- package/build/cjs/components/Settings/collect-settings.js.map +1 -0
- package/build/cjs/components/Settings/helpers.js +57 -0
- package/build/cjs/components/Settings/helpers.js.map +1 -0
- package/build/cjs/components/Settings/i18n/en.json.js +18 -0
- package/build/cjs/components/Settings/i18n/en.json.js.map +1 -0
- package/build/cjs/components/Settings/i18n/index.d.ts +8 -0
- package/build/cjs/components/Settings/i18n/index.js +14 -0
- package/build/cjs/components/Settings/i18n/index.js.map +1 -0
- package/build/cjs/components/Settings/i18n/ru.json.js +18 -0
- package/build/cjs/components/Settings/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/Title/Title.css +1 -0
- package/build/cjs/components/Title/Title.d.ts +0 -1
- package/build/cjs/components/Title/Title.js +21 -0
- package/build/cjs/components/Title/Title.js.map +1 -0
- package/build/cjs/components/Title/Title.module.scss.js +8 -0
- package/build/cjs/components/Title/Title.module.scss.js.map +1 -0
- package/build/cjs/components/Title/i18n/en.json.js +12 -0
- package/build/cjs/components/Title/i18n/en.json.js.map +1 -0
- package/build/cjs/components/Title/i18n/index.d.ts +8 -0
- package/build/cjs/components/Title/i18n/index.js +14 -0
- package/build/cjs/components/Title/i18n/index.js.map +1 -0
- package/build/cjs/components/Title/i18n/ru.json.js +12 -0
- package/build/cjs/components/Title/i18n/ru.json.js.map +1 -0
- package/build/cjs/components/TopAlert/TopAlert.css +1 -0
- package/build/cjs/components/TopAlert/TopAlert.d.ts +0 -1
- package/build/cjs/components/TopAlert/TopAlert.js +40 -0
- package/build/cjs/components/TopAlert/TopAlert.js.map +1 -0
- package/build/cjs/components/TopAlert/TopAlert.module.scss.js +8 -0
- package/build/cjs/components/TopAlert/TopAlert.module.scss.js.map +1 -0
- package/build/cjs/components/TopAlert/index.js +8 -0
- package/build/cjs/components/TopAlert/index.js.map +1 -0
- package/build/cjs/components/TopAlert/useTopAlertHeight.js +38 -0
- package/build/cjs/components/TopAlert/useTopAlertHeight.js.map +1 -0
- package/build/cjs/components/constants.js +14 -0
- package/build/cjs/components/constants.js.map +1 -0
- package/build/cjs/components/index.d.ts +1 -8
- package/build/cjs/components/types.d.ts +6 -4
- package/build/cjs/components/utils/cn.d.ts +7 -0
- package/build/cjs/components/utils/cn.js +77 -0
- package/build/cjs/components/utils/cn.js.map +1 -0
- package/build/cjs/hooks/useForwardRef.js +21 -0
- package/build/cjs/hooks/useForwardRef.js.map +1 -0
- package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +69 -0
- package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -0
- package/build/cjs/index.js +41 -32
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/node_modules/lodash/_Symbol.js +21 -0
- package/build/cjs/node_modules/lodash/_Symbol.js.map +1 -0
- package/build/cjs/node_modules/lodash/_baseGetTag.js +45 -0
- package/build/cjs/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/build/cjs/node_modules/lodash/_baseTrim.js +34 -0
- package/build/cjs/node_modules/lodash/_baseTrim.js.map +1 -0
- package/build/cjs/node_modules/lodash/_freeGlobal.js +20 -0
- package/build/cjs/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/build/cjs/node_modules/lodash/_getRawTag.js +61 -0
- package/build/cjs/node_modules/lodash/_getRawTag.js.map +1 -0
- package/build/cjs/node_modules/lodash/_objectToString.js +36 -0
- package/build/cjs/node_modules/lodash/_objectToString.js.map +1 -0
- package/build/cjs/node_modules/lodash/_root.js +24 -0
- package/build/cjs/node_modules/lodash/_root.js.map +1 -0
- package/build/cjs/node_modules/lodash/_trimmedEndIndex.js +33 -0
- package/build/cjs/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/build/cjs/node_modules/lodash/debounce.js +208 -0
- package/build/cjs/node_modules/lodash/debounce.js.map +1 -0
- package/build/cjs/node_modules/lodash/identity.js +35 -0
- package/build/cjs/node_modules/lodash/identity.js.map +1 -0
- package/build/cjs/node_modules/lodash/isObject.js +45 -0
- package/build/cjs/node_modules/lodash/isObject.js.map +1 -0
- package/build/cjs/node_modules/lodash/isObjectLike.js +43 -0
- package/build/cjs/node_modules/lodash/isObjectLike.js.map +1 -0
- package/build/cjs/node_modules/lodash/isSymbol.js +45 -0
- package/build/cjs/node_modules/lodash/isSymbol.js.map +1 -0
- package/build/cjs/node_modules/lodash/last.js +34 -0
- package/build/cjs/node_modules/lodash/last.js.map +1 -0
- package/build/cjs/node_modules/lodash/now.js +38 -0
- package/build/cjs/node_modules/lodash/now.js.map +1 -0
- package/build/cjs/node_modules/lodash/toNumber.js +81 -0
- package/build/cjs/node_modules/lodash/toNumber.js.map +1 -0
- package/build/cjs/node_modules/tslib/tslib.es6.js +38 -0
- package/build/cjs/node_modules/tslib/tslib.es6.js.map +1 -0
- package/build/esm/_virtual/_commonjsHelpers.js +8 -0
- package/build/esm/_virtual/_commonjsHelpers.js.map +1 -0
- package/build/esm/_virtual/debounce.js +8 -0
- package/build/esm/_virtual/debounce.js.map +1 -0
- package/build/esm/_virtual/identity.js +8 -0
- package/build/esm/_virtual/identity.js.map +1 -0
- package/build/esm/_virtual/last.js +8 -0
- package/build/esm/_virtual/last.js.map +1 -0
- package/build/esm/assets/icons/control-menu-button.svg.js +18 -0
- package/build/esm/assets/icons/control-menu-button.svg.js.map +1 -0
- package/build/esm/assets/icons/divider-collapsed.svg.js +18 -0
- package/build/esm/assets/icons/divider-collapsed.svg.js.map +1 -0
- package/build/esm/components/ActionBar/ActionBar.css +1 -0
- package/build/esm/components/ActionBar/ActionBar.d.ts +0 -1
- package/build/esm/components/ActionBar/ActionBar.js +23 -0
- package/build/esm/components/ActionBar/ActionBar.js.map +1 -0
- package/build/esm/components/ActionBar/ActionBar.module.scss.js +4 -0
- package/build/esm/components/ActionBar/ActionBar.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.css +1 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.d.ts +0 -1
- package/build/esm/components/ActionBar/Group/ActionBarGroup.js +13 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.js.map +1 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Group/ActionBarGroup.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.css +1 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.d.ts +0 -1
- package/build/esm/components/ActionBar/Item/ActionBarItem.js +13 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.js.map +1 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Item/ActionBarItem.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.css +1 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.d.ts +0 -1
- package/build/esm/components/ActionBar/Section/ActionBarSection.js +13 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.js.map +1 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Section/ActionBarSection.module.scss.js.map +1 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.css +1 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.d.ts +0 -1
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.js +13 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.js.map +1 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.module.scss.js +4 -0
- package/build/esm/components/ActionBar/Separator/ActionBarSeparator.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.css +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.js +16 -0
- package/build/esm/components/AsideHeader/AsideHeader.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeader.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/AsideHeader.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +4 -5
- package/build/esm/components/AsideHeader/AsideHeaderContext.js +31 -0
- package/build/esm/components/AsideHeader/AsideHeaderContext.js.map +1 -0
- package/build/esm/components/AsideHeader/__stories__/moc.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.css +1 -0
- package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/AllPagesListItem.d.ts +2 -3
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js +42 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.css +1 -0
- package/build/{cjs → esm/components/AsideHeader}/components/AllPagesPanel/AllPagesPanel.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js +100 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/AllPagesPanel.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.d.ts +3 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js +15 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/constants.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js +10 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/en.json.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.d.ts +14 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.js +10 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/index.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js +10 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/i18n/ru.json.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.d.ts +4 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js +31 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useGroupedMenuItems.js.map +1 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.d.ts +2 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js +27 -0
- package/build/esm/components/AsideHeader/components/AllPagesPanel/useVisibleMenuItems.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.css +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js +28 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CollapseButton/CollapseButton.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.css +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.d.ts +14 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js +152 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/CompositeBar.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.css +1 -0
- package/build/{cjs → esm/components/AsideHeader}/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +55 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.css +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.d.ts +12 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js +148 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/Item/Item.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.css +9 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +9 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js +32 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltip.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js +26 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.js +7 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/constants.js.map +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/index.d.ts +1 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.d.ts +10 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js +94 -0
- package/build/esm/components/AsideHeader/components/CompositeBar/utils.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FirstPanel.js +41 -0
- package/build/esm/components/AsideHeader/components/FirstPanel.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.css +2 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.d.ts +5 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js +15 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.js.map +1 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js +4 -0
- package/build/esm/components/AsideHeader/components/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/esm/components/AsideHeader/components/Header.js +27 -0
- package/build/esm/components/AsideHeader/components/Header.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js +21 -0
- package/build/esm/components/AsideHeader/components/PageLayout/AsideFallback.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.d.ts +0 -1
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js +57 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayout.js.map +1 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js +15 -0
- package/build/esm/components/AsideHeader/components/PageLayout/PageLayoutAside.js.map +1 -0
- package/build/esm/components/AsideHeader/components/Panels.js +12 -0
- package/build/esm/components/AsideHeader/components/Panels.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/en.json.js +11 -0
- package/build/esm/components/AsideHeader/i18n/en.json.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/index.d.ts +8 -0
- package/build/esm/components/AsideHeader/i18n/index.js +10 -0
- package/build/esm/components/AsideHeader/i18n/index.js.map +1 -0
- package/build/esm/components/AsideHeader/i18n/ru.json.js +11 -0
- package/build/esm/components/AsideHeader/i18n/ru.json.js.map +1 -0
- package/build/esm/components/AsideHeader/index.d.ts +7 -0
- package/build/esm/components/AsideHeader/types.d.ts +55 -10
- package/build/esm/components/AsideHeader/types.js +7 -0
- package/build/esm/components/AsideHeader/types.js.map +1 -0
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +60 -0
- package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -0
- package/build/esm/components/AsideHeader/utils.d.ts +6 -1
- package/build/esm/components/AsideHeader/utils.js +7 -0
- package/build/esm/components/AsideHeader/utils.js.map +1 -0
- package/build/esm/components/Content/Content.js +14 -0
- package/build/esm/components/Content/Content.js.map +1 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.css +1 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.d.ts +0 -1
- package/build/esm/components/Footer/MenuItem/MenuItem.js +15 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.js.map +1 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.module.scss.js +4 -0
- package/build/esm/components/Footer/MenuItem/MenuItem.module.scss.js.map +1 -0
- package/build/esm/components/Footer/desktop/Footer.css +1 -0
- package/build/esm/components/Footer/desktop/Footer.d.ts +0 -1
- package/build/esm/components/Footer/desktop/Footer.js +38 -0
- package/build/esm/components/Footer/desktop/Footer.js.map +1 -0
- package/build/esm/components/Footer/desktop/Footer.module.scss.js +4 -0
- package/build/esm/components/Footer/desktop/Footer.module.scss.js.map +1 -0
- package/build/esm/components/Footer/desktop/constants/moreItemsPopupProps.js +6 -0
- package/build/esm/components/Footer/desktop/constants/moreItemsPopupProps.js.map +1 -0
- package/build/esm/components/Footer/mobile/Footer.css +1 -0
- package/build/esm/components/Footer/mobile/Footer.d.ts +0 -1
- package/build/esm/components/Footer/mobile/Footer.js +45 -0
- package/build/esm/components/Footer/mobile/Footer.js.map +1 -0
- package/build/esm/components/Footer/mobile/Footer.module.scss.js +4 -0
- package/build/esm/components/Footer/mobile/Footer.module.scss.js.map +1 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.css +1 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +0 -1
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js +36 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.module.scss.js +4 -0
- package/build/esm/components/HotkeysPanel/HotkeysPanel.module.scss.js.map +1 -0
- package/build/esm/components/HotkeysPanel/utils/filterHotkeys.js +17 -0
- package/build/esm/components/HotkeysPanel/utils/filterHotkeys.js.map +1 -0
- package/build/esm/components/HotkeysPanel/utils/flattenHotkeyGroups.js +14 -0
- package/build/esm/components/HotkeysPanel/utils/flattenHotkeyGroups.js.map +1 -0
- package/build/esm/components/Logo/Logo.css +1 -0
- package/build/esm/components/Logo/Logo.d.ts +0 -1
- package/build/esm/components/Logo/Logo.js +43 -0
- package/build/esm/components/Logo/Logo.js.map +1 -0
- package/build/esm/components/Logo/Logo.module.scss.js +4 -0
- package/build/esm/components/Logo/Logo.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/Burger/Burger.css +1 -0
- package/build/esm/components/MobileHeader/Burger/Burger.d.ts +0 -1
- package/build/esm/components/MobileHeader/Burger/Burger.js +13 -0
- package/build/esm/components/MobileHeader/Burger/Burger.js.map +1 -0
- package/build/esm/components/MobileHeader/Burger/Burger.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/Burger/Burger.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.css +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.d.ts +0 -1
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js +38 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerCompositeBar/BurgerCompositeBar.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.css +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.d.ts +0 -1
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.js +19 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.js.map +1 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/BurgerMenu/BurgerMenu.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.css +1 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.d.ts +0 -1
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.js +26 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.js.map +1 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/FooterItem/FooterItem.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/MobileHeader.css +1 -0
- package/build/esm/components/MobileHeader/MobileHeader.d.ts +4 -3
- package/build/esm/components/MobileHeader/MobileHeader.js +155 -0
- package/build/esm/components/MobileHeader/MobileHeader.js.map +1 -0
- package/build/esm/components/MobileHeader/MobileHeader.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/MobileHeader.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.css +1 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.d.ts +0 -1
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js +25 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.js.map +1 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js +4 -0
- package/build/esm/components/MobileHeader/OverlapPanel/OverlapPanel.module.scss.js.map +1 -0
- package/build/esm/components/MobileHeader/constants.js +14 -0
- package/build/esm/components/MobileHeader/constants.js.map +1 -0
- package/build/esm/components/MobileHeader/i18n/en.json.js +11 -0
- package/build/esm/components/MobileHeader/i18n/en.json.js.map +1 -0
- package/build/esm/components/MobileHeader/i18n/index.d.ts +8 -0
- package/build/esm/components/MobileHeader/i18n/index.js +10 -0
- package/build/esm/components/MobileHeader/i18n/index.js.map +1 -0
- package/build/esm/components/MobileHeader/i18n/ru.json.js +11 -0
- package/build/esm/components/MobileHeader/i18n/ru.json.js.map +1 -0
- package/build/esm/components/MobileHeader/types.d.ts +2 -1
- package/build/esm/components/MobileHeader/utils.js +20 -0
- package/build/esm/components/MobileHeader/utils.js.map +1 -0
- package/build/esm/components/MobileLogo/MobileLogo.css +1 -0
- package/build/esm/components/MobileLogo/MobileLogo.d.ts +0 -1
- package/build/esm/components/MobileLogo/MobileLogo.js +31 -0
- package/build/esm/components/MobileLogo/MobileLogo.js.map +1 -0
- package/build/esm/components/MobileLogo/MobileLogo.module.scss.js +4 -0
- package/build/esm/components/MobileLogo/MobileLogo.module.scss.js.map +1 -0
- package/build/esm/components/Settings/Selection/context.js +22 -0
- package/build/esm/components/Settings/Selection/context.js.map +1 -0
- package/build/esm/components/Settings/Selection/utils.js +20 -0
- package/build/esm/components/Settings/Selection/utils.js.map +1 -0
- package/build/esm/components/Settings/Settings.css +1 -0
- package/build/esm/components/Settings/Settings.d.ts +0 -1
- package/build/esm/components/Settings/Settings.js +140 -0
- package/build/esm/components/Settings/Settings.js.map +1 -0
- package/build/esm/components/Settings/Settings.module.scss.js +4 -0
- package/build/esm/components/Settings/Settings.module.scss.js.map +1 -0
- package/build/esm/components/Settings/SettingsContext/SettingsContext.js +6 -0
- package/build/esm/components/Settings/SettingsContext/SettingsContext.js.map +1 -0
- package/build/esm/components/Settings/SettingsContext/useSettingsContext.js +7 -0
- package/build/esm/components/Settings/SettingsContext/useSettingsContext.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.css +1 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.d.ts +0 -1
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js +80 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.module.scss.js +4 -0
- package/build/esm/components/Settings/SettingsMenu/SettingsMenu.module.scss.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.css +1 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.d.ts +0 -1
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js +36 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.js.map +1 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js +4 -0
- package/build/esm/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js.map +1 -0
- package/build/esm/components/Settings/SettingsPage/SettingsPageComponent.js +22 -0
- package/build/esm/components/Settings/SettingsPage/SettingsPageComponent.js.map +1 -0
- package/build/esm/components/Settings/SettingsPage/getPageTitleById.js +15 -0
- package/build/esm/components/Settings/SettingsPage/getPageTitleById.js.map +1 -0
- package/build/esm/components/Settings/SettingsRow/SettingsRow.js +11 -0
- package/build/esm/components/Settings/SettingsRow/SettingsRow.js.map +1 -0
- package/build/esm/components/Settings/SettingsRow/prepareTitle.js +30 -0
- package/build/esm/components/Settings/SettingsRow/prepareTitle.js.map +1 -0
- package/build/esm/components/Settings/SettingsSearch/AllResultsPage.js +67 -0
- package/build/esm/components/Settings/SettingsSearch/AllResultsPage.js.map +1 -0
- package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js +32 -0
- package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -0
- package/build/esm/components/Settings/SettingsSection.js +24 -0
- package/build/esm/components/Settings/SettingsSection.js.map +1 -0
- package/build/esm/components/Settings/b.d.ts +6 -1
- package/build/esm/components/Settings/b.js +7 -0
- package/build/esm/components/Settings/b.js.map +1 -0
- package/build/esm/components/Settings/collect-settings.js +155 -0
- package/build/esm/components/Settings/collect-settings.js.map +1 -0
- package/build/esm/components/Settings/helpers.js +33 -0
- package/build/esm/components/Settings/helpers.js.map +1 -0
- package/build/esm/components/Settings/i18n/en.json.js +12 -0
- package/build/esm/components/Settings/i18n/en.json.js.map +1 -0
- package/build/esm/components/Settings/i18n/index.d.ts +8 -0
- package/build/esm/components/Settings/i18n/index.js +10 -0
- package/build/esm/components/Settings/i18n/index.js.map +1 -0
- package/build/esm/components/Settings/i18n/ru.json.js +12 -0
- package/build/esm/components/Settings/i18n/ru.json.js.map +1 -0
- package/build/esm/components/Title/Title.css +1 -0
- package/build/esm/components/Title/Title.d.ts +0 -1
- package/build/esm/components/Title/Title.js +19 -0
- package/build/esm/components/Title/Title.js.map +1 -0
- package/build/esm/components/Title/Title.module.scss.js +4 -0
- package/build/esm/components/Title/Title.module.scss.js.map +1 -0
- package/build/esm/components/Title/i18n/en.json.js +7 -0
- package/build/esm/components/Title/i18n/en.json.js.map +1 -0
- package/build/esm/components/Title/i18n/index.d.ts +8 -0
- package/build/esm/components/Title/i18n/index.js +10 -0
- package/build/esm/components/Title/i18n/index.js.map +1 -0
- package/build/esm/components/Title/i18n/ru.json.js +7 -0
- package/build/esm/components/Title/i18n/ru.json.js.map +1 -0
- package/build/esm/components/TopAlert/TopAlert.css +1 -0
- package/build/esm/components/TopAlert/TopAlert.d.ts +0 -1
- package/build/esm/components/TopAlert/TopAlert.js +38 -0
- package/build/esm/components/TopAlert/TopAlert.js.map +1 -0
- package/build/esm/components/TopAlert/TopAlert.module.scss.js +4 -0
- package/build/esm/components/TopAlert/TopAlert.module.scss.js.map +1 -0
- package/build/esm/components/TopAlert/index.js +2 -0
- package/build/esm/components/TopAlert/index.js.map +1 -0
- package/build/esm/components/TopAlert/useTopAlertHeight.js +36 -0
- package/build/esm/components/TopAlert/useTopAlertHeight.js.map +1 -0
- package/build/esm/components/constants.js +8 -0
- package/build/esm/components/constants.js.map +1 -0
- package/build/esm/components/index.d.ts +1 -8
- package/build/esm/components/types.d.ts +6 -4
- package/build/esm/components/utils/cn.d.ts +7 -0
- package/build/esm/components/utils/cn.js +72 -0
- package/build/esm/components/utils/cn.js.map +1 -0
- package/build/esm/hooks/useForwardRef.js +19 -0
- package/build/esm/hooks/useForwardRef.js.map +1 -0
- package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +67 -0
- package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -0
- package/build/esm/index.js +20 -9
- package/build/esm/index.js.map +1 -1
- package/build/esm/node_modules/lodash/_Symbol.js +19 -0
- package/build/esm/node_modules/lodash/_Symbol.js.map +1 -0
- package/build/esm/node_modules/lodash/_baseGetTag.js +43 -0
- package/build/esm/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/build/esm/node_modules/lodash/_baseTrim.js +32 -0
- package/build/esm/node_modules/lodash/_baseTrim.js.map +1 -0
- package/build/esm/node_modules/lodash/_freeGlobal.js +18 -0
- package/build/esm/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/build/esm/node_modules/lodash/_getRawTag.js +59 -0
- package/build/esm/node_modules/lodash/_getRawTag.js.map +1 -0
- package/build/esm/node_modules/lodash/_objectToString.js +34 -0
- package/build/esm/node_modules/lodash/_objectToString.js.map +1 -0
- package/build/esm/node_modules/lodash/_root.js +22 -0
- package/build/esm/node_modules/lodash/_root.js.map +1 -0
- package/build/esm/node_modules/lodash/_trimmedEndIndex.js +31 -0
- package/build/esm/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/build/esm/node_modules/lodash/debounce.js +206 -0
- package/build/esm/node_modules/lodash/debounce.js.map +1 -0
- package/build/esm/node_modules/lodash/identity.js +33 -0
- package/build/esm/node_modules/lodash/identity.js.map +1 -0
- package/build/esm/node_modules/lodash/isObject.js +43 -0
- package/build/esm/node_modules/lodash/isObject.js.map +1 -0
- package/build/esm/node_modules/lodash/isObjectLike.js +41 -0
- package/build/esm/node_modules/lodash/isObjectLike.js.map +1 -0
- package/build/esm/node_modules/lodash/isSymbol.js +43 -0
- package/build/esm/node_modules/lodash/isSymbol.js.map +1 -0
- package/build/esm/node_modules/lodash/last.js +32 -0
- package/build/esm/node_modules/lodash/last.js.map +1 -0
- package/build/esm/node_modules/lodash/now.js +36 -0
- package/build/esm/node_modules/lodash/now.js.map +1 -0
- package/build/esm/node_modules/lodash/toNumber.js +79 -0
- package/build/esm/node_modules/lodash/toNumber.js.map +1 -0
- package/build/esm/node_modules/tslib/tslib.es6.js +36 -0
- package/build/esm/node_modules/tslib/tslib.es6.js.map +1 -0
- package/codemods/bin/cli.js +151 -0
- package/codemods/transforms/linkToHref.ts +143 -0
- package/codemods/transforms/unifyInterfaces.ts +273 -0
- package/codemods/transforms/v4.ts +36 -0
- package/package.json +28 -13
- package/build/cjs/components/AllPagesPanel/constants.d.ts +0 -3
- package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +0 -6
- package/build/cjs/components/AllPagesPanel/useGroupedMenuItems.d.ts +0 -4
- package/build/cjs/components/AllPagesPanel/useVisibleMenuItems.d.ts +0 -2
- package/build/cjs/components/CompositeBar/CompositeBar.d.ts +0 -20
- package/build/cjs/components/CompositeBar/Item/Item.d.ts +0 -43
- package/build/cjs/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
- package/build/cjs/components/CompositeBar/utils.d.ts +0 -12
- package/build/cjs/components/Drawer/Drawer.d.ts +0 -87
- package/build/cjs/components/Drawer/__stories__/DisablePortal.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +0 -9
- package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/HideVeil.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/ResizableItem.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/ScrollLock.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/UsePortal.d.ts +0 -3
- package/build/cjs/components/Drawer/__stories__/moc.d.ts +0 -2
- package/build/cjs/components/Drawer/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/cjs/components/Drawer/index.d.ts +0 -2
- package/build/cjs/components/Drawer/utils.d.ts +0 -23
- package/build/cjs/components/FooterItem/FooterItem.d.ts +0 -7
- package/build/cjs/index-B6LRu9Xk.js +0 -76
- package/build/cjs/index-B6LRu9Xk.js.map +0 -1
- package/build/cjs/index-BTP6Ci-f.js +0 -6049
- package/build/cjs/index-BTP6Ci-f.js.map +0 -1
- package/build/esm/components/AllPagesPanel/constants.d.ts +0 -3
- package/build/esm/components/AllPagesPanel/i18n/index.d.ts +0 -6
- package/build/esm/components/AllPagesPanel/useGroupedMenuItems.d.ts +0 -4
- package/build/esm/components/AllPagesPanel/useVisibleMenuItems.d.ts +0 -2
- package/build/esm/components/CompositeBar/CompositeBar.d.ts +0 -20
- package/build/esm/components/CompositeBar/Item/Item.d.ts +0 -43
- package/build/esm/components/CompositeBar/MultipleTooltip/MultipleTooltip.d.ts +0 -9
- package/build/esm/components/CompositeBar/utils.d.ts +0 -12
- package/build/esm/components/Drawer/Drawer.d.ts +0 -87
- package/build/esm/components/Drawer/__stories__/DisablePortal.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +0 -9
- package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/HideVeil.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/ResizableItem.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/ScrollLock.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/UsePortal.d.ts +0 -3
- package/build/esm/components/Drawer/__stories__/moc.d.ts +0 -2
- package/build/esm/components/Drawer/__tests__/helpersPlaywright.d.ts +0 -2
- package/build/esm/components/Drawer/index.d.ts +0 -2
- package/build/esm/components/Drawer/utils.d.ts +0 -23
- package/build/esm/components/FooterItem/FooterItem.d.ts +0 -7
- package/build/esm/index-B1R-MA0B.js +0 -74
- package/build/esm/index-B1R-MA0B.js.map +0 -1
- package/build/esm/index-D3WICHag.js +0 -6004
- package/build/esm/index-D3WICHag.js.map +0 -1
- package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/index.d.ts +0 -0
- package/build/cjs/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/index.d.ts +0 -0
- package/build/{esm → cjs/components/AsideHeader}/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +1 -1
- package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/MultipleTooltip/index.d.ts +0 -0
- package/build/cjs/components/{CompositeBar → AsideHeader/components/CompositeBar}/constants.d.ts +0 -0
- package/build/cjs/components/{FooterItem → AsideHeader/components/FooterItem}/__stories__/FooterItem.stories.d.ts +0 -0
- package/build/cjs/components/{FooterItem → AsideHeader/components/FooterItem}/__tests__/helpersPlaywright.d.ts +0 -0
- package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/AllPagesListItem/index.d.ts +0 -0
- package/build/esm/components/{AllPagesPanel → AsideHeader/components/AllPagesPanel}/index.d.ts +0 -0
- package/build/{cjs → esm/components/AsideHeader}/components/CompositeBar/MultipleTooltip/MultipleTooltipContext.d.ts +1 -1
- /package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/MultipleTooltip/index.d.ts +0 -0
- /package/build/esm/components/{CompositeBar → AsideHeader/components/CompositeBar}/constants.d.ts +0 -0
- /package/build/esm/components/{FooterItem → AsideHeader/components/FooterItem}/__stories__/FooterItem.stories.d.ts +0 -0
- /package/build/esm/components/{FooterItem → AsideHeader/components/FooterItem}/__tests__/helpersPlaywright.d.ts +0 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import './Settings.css';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var uikit = require('@gravity-ui/uikit');
|
|
7
|
+
var identity = require('../../_virtual/identity.js');
|
|
8
|
+
var Title = require('../Title/Title.js');
|
|
9
|
+
var context = require('./Selection/context.js');
|
|
10
|
+
var SettingsContext = require('./SettingsContext/SettingsContext.js');
|
|
11
|
+
var useSettingsContext = require('./SettingsContext/useSettingsContext.js');
|
|
12
|
+
var SettingsMenu = require('./SettingsMenu/SettingsMenu.js');
|
|
13
|
+
var SettingsMenuMobile = require('./SettingsMenuMobile/SettingsMenuMobile.js');
|
|
14
|
+
var SettingsPageComponent = require('./SettingsPage/SettingsPageComponent.js');
|
|
15
|
+
var AllResultsPage = require('./SettingsSearch/AllResultsPage.js');
|
|
16
|
+
var SettingsSearch = require('./SettingsSearch/SettingsSearch.js');
|
|
17
|
+
var b = require('./b.js');
|
|
18
|
+
var collectSettings = require('./collect-settings.js');
|
|
19
|
+
var index = require('./i18n/index.js');
|
|
20
|
+
|
|
21
|
+
function Settings(_a) {
|
|
22
|
+
var { loading, renderLoading, children, view = 'normal', renderRightAdornment, renderSectionRightAdornment, showRightAdornmentOnHover = true } = _a, props = tslib_es6.__rest(_a, ["loading", "renderLoading", "children", "view", "renderRightAdornment", "renderSectionRightAdornment", "showRightAdornmentOnHover"]);
|
|
23
|
+
if (loading) {
|
|
24
|
+
return (React.createElement("div", { className: b.b({ loading: true, view }) }, typeof renderLoading === 'function' ? (renderLoading()) : (React.createElement(uikit.Loader, { className: b.b('loader'), size: "m" }))));
|
|
25
|
+
}
|
|
26
|
+
return (React.createElement(SettingsContext.SettingsContext.Provider, { value: { renderRightAdornment, renderSectionRightAdornment, showRightAdornmentOnHover } },
|
|
27
|
+
React.createElement(SettingsContent, Object.assign({ view: view }, props), children)));
|
|
28
|
+
}
|
|
29
|
+
function SettingsContent({ initialPage, initialSearch, selection, children, renderNotFound, title = index.default('label_title'), filterPlaceholder = index.default('label_filter-placeholder'), emptyPlaceholder = index.default('label_empty-placeholder'), view, onPageChange, onClose, }) {
|
|
30
|
+
var _a;
|
|
31
|
+
const [search, setSearch] = React.useState(initialSearch !== null && initialSearch !== undefined ? initialSearch : '');
|
|
32
|
+
const { menu, pages } = collectSettings.getSettingsFromChildren(children, search);
|
|
33
|
+
const selected = context.useSettingsSelectionProviderValue(pages, selection);
|
|
34
|
+
const pageKeys = Object.keys(pages);
|
|
35
|
+
const selectionInitialPage = selected.page && pageKeys.includes(selected.page.id) ? selected.page.id : undefined;
|
|
36
|
+
const [selectedPage, setCurrentPage] = React.useState(selectionInitialPage ||
|
|
37
|
+
(initialPage && pageKeys.includes(initialPage) ? initialPage : undefined));
|
|
38
|
+
const searchInputRef = React.useRef(null);
|
|
39
|
+
const menuRef = React.useRef(null);
|
|
40
|
+
const isMobile = view === 'mobile';
|
|
41
|
+
React.useEffect(() => {
|
|
42
|
+
var _a;
|
|
43
|
+
(_a = menuRef.current) === null || _a === undefined ? undefined : _a.clearFocus();
|
|
44
|
+
}, [search]);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
const handler = () => {
|
|
47
|
+
var _a;
|
|
48
|
+
(_a = menuRef.current) === null || _a === undefined ? undefined : _a.clearFocus();
|
|
49
|
+
};
|
|
50
|
+
window.addEventListener('click', handler);
|
|
51
|
+
return () => {
|
|
52
|
+
window.removeEventListener('click', handler);
|
|
53
|
+
};
|
|
54
|
+
}, []);
|
|
55
|
+
let activePage = selectedPage;
|
|
56
|
+
if (!activePage || !pages[activePage] || pages[activePage].hidden) {
|
|
57
|
+
activePage = (_a = Object.values(pages).find(({ hidden }) => !hidden)) === null || _a === undefined ? undefined : _a.id;
|
|
58
|
+
}
|
|
59
|
+
const handlePageChange = (newPage) => {
|
|
60
|
+
setCurrentPage((prevPage) => {
|
|
61
|
+
if (prevPage !== newPage && !isFakePage(newPage)) {
|
|
62
|
+
onPageChange === null || onPageChange === undefined ? undefined : onPageChange(newPage);
|
|
63
|
+
}
|
|
64
|
+
return newPage;
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
const { isAllSearchPage } = AllResultsPage.useAllResultsPage({ pages, handlePageChange });
|
|
68
|
+
function isFakePage(page) {
|
|
69
|
+
return isAllSearchPage(page);
|
|
70
|
+
}
|
|
71
|
+
React.useEffect(() => {
|
|
72
|
+
if (activePage !== selectedPage) {
|
|
73
|
+
handlePageChange(activePage);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
React.useEffect(() => {
|
|
77
|
+
if (!selectionInitialPage)
|
|
78
|
+
return;
|
|
79
|
+
setCurrentPage(selectionInitialPage);
|
|
80
|
+
}, [selectionInitialPage]);
|
|
81
|
+
React.useEffect(() => {
|
|
82
|
+
var _a;
|
|
83
|
+
if ((_a = selected.selectedRef) === null || _a === undefined ? undefined : _a.current) {
|
|
84
|
+
selected.selectedRef.current.scrollIntoView();
|
|
85
|
+
}
|
|
86
|
+
}, [selected.selectedRef]);
|
|
87
|
+
return (React.createElement(context.SettingsSelectionContextProvider, { value: selected },
|
|
88
|
+
React.createElement("div", { className: b.b({ view }) },
|
|
89
|
+
isMobile ? (React.createElement(React.Fragment, null,
|
|
90
|
+
React.createElement(SettingsSearch.SettingsSearch, { inputRef: searchInputRef, className: b.b('search'), initialValue: initialSearch, selection: selection, onChange: setSearch, autoFocus: false, inputSize: 'xl' }),
|
|
91
|
+
React.createElement(SettingsMenuMobile.SettingsMenuMobile, { items: menu, onChange: handlePageChange, activeItemId: activePage, className: b.b('tabs') }))) : (React.createElement("div", { className: b.b('menu'), onClick: () => {
|
|
92
|
+
if (searchInputRef.current) {
|
|
93
|
+
searchInputRef.current.focus();
|
|
94
|
+
}
|
|
95
|
+
}, onKeyDown: (event) => {
|
|
96
|
+
if (menuRef.current) {
|
|
97
|
+
if (menuRef.current.handleKeyDown(event)) {
|
|
98
|
+
event.preventDefault();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
} },
|
|
102
|
+
React.createElement(Title.Title, null, title),
|
|
103
|
+
React.createElement(SettingsSearch.SettingsSearch, { inputRef: searchInputRef, className: b.b('search'), initialValue: initialSearch, selection: selection, onChange: setSearch, placeholder: filterPlaceholder, autoFocus: true }),
|
|
104
|
+
React.createElement(SettingsMenu.SettingsMenu, { ref: menuRef, items: menu, onChange: handlePageChange, activeItemId: activePage }))),
|
|
105
|
+
React.createElement("div", { className: b.b('page') },
|
|
106
|
+
React.createElement(SettingsPageComponent.SettingsPageComponent, { menu: menu, pages: pages, selected: selected, search: search, isMobile: isMobile, page: activePage, emptyPlaceholder: emptyPlaceholder, renderNotFound: renderNotFound, onClose: onClose })))));
|
|
107
|
+
}
|
|
108
|
+
Settings.Group = function SettingsGroup({ children }) {
|
|
109
|
+
return React.createElement(React.Fragment, null, children);
|
|
110
|
+
};
|
|
111
|
+
Settings.Page = function SettingsPage({ children }) {
|
|
112
|
+
return React.createElement(React.Fragment, null, children);
|
|
113
|
+
};
|
|
114
|
+
Settings.Section = function SettingsSection({ children }) {
|
|
115
|
+
return React.createElement(React.Fragment, null, children);
|
|
116
|
+
};
|
|
117
|
+
Settings.Item = function SettingsItem(setting) {
|
|
118
|
+
const { id, labelId, highlightedTitle, children, align = 'center', withBadge, renderTitleComponent = identity.default, mode, description, } = setting;
|
|
119
|
+
const selected = context.useSettingsSelectionContext();
|
|
120
|
+
const isSettingSelected = selected.setting && selected.setting.id === id;
|
|
121
|
+
const { renderRightAdornment, showRightAdornmentOnHover } = useSettingsContext.useSettingsContext();
|
|
122
|
+
const titleComponent = renderTitleComponent(highlightedTitle);
|
|
123
|
+
const titleNode = React.createElement("span", { className: b.b('item-title', { badge: withBadge }) }, titleComponent);
|
|
124
|
+
const showTitle = titleComponent !== null;
|
|
125
|
+
return (React.createElement("div", { className: b.b('item', {
|
|
126
|
+
align,
|
|
127
|
+
mode,
|
|
128
|
+
selected: isSettingSelected,
|
|
129
|
+
title: showTitle ? 'show' : 'hide',
|
|
130
|
+
}), ref: isSettingSelected ? selected.selectedRef : undefined },
|
|
131
|
+
showTitle ? (React.createElement("label", { className: b.b('item-heading'), id: labelId },
|
|
132
|
+
renderRightAdornment ? (React.createElement(uikit.Flex, { className: b.b('item-title-wrapper'), gap: 3 },
|
|
133
|
+
titleNode,
|
|
134
|
+
React.createElement("div", { className: b.b('item-right-adornment', {
|
|
135
|
+
hidden: showRightAdornmentOnHover,
|
|
136
|
+
}) }, renderRightAdornment(setting)))) : (titleNode),
|
|
137
|
+
description ? (React.createElement("span", { className: b.b('item-description') }, description)) : null)) : null,
|
|
138
|
+
React.createElement("div", { className: b.b('item-content') }, children)));
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
exports.Settings = Settings;
|
|
142
|
+
//# sourceMappingURL=Settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../../../../src/components/Settings/Settings.tsx"],"sourcesContent":["import React from 'react';\n\nimport {Flex, Loader} from '@gravity-ui/uikit';\nimport identity from 'lodash/identity';\n\nimport {Title} from '../Title';\n\nimport {\n SettingsSelectionContextProvider,\n useSettingsSelectionContext,\n useSettingsSelectionProviderValue,\n} from './Selection/context';\nimport {SettingsContext} from './SettingsContext/SettingsContext';\nimport {useSettingsContext} from './SettingsContext/useSettingsContext';\nimport {SettingsMenu, SettingsMenuInstance} from './SettingsMenu/SettingsMenu';\nimport {SettingsMenuMobile} from './SettingsMenuMobile/SettingsMenuMobile';\nimport {SettingsPageComponent} from './SettingsPage/SettingsPageComponent';\nimport {useAllResultsPage} from './SettingsSearch/AllResultsPage';\nimport {SettingsSearch} from './SettingsSearch/SettingsSearch';\nimport {b} from './b';\nimport {getSettingsFromChildren} from './collect-settings';\nimport i18n from './i18n';\nimport type {\n SettingsContentProps,\n SettingsGroupProps,\n SettingsItemProps,\n SettingsPageProps,\n SettingsProps,\n SettingsSectionProps,\n} from './types';\n\nexport function Settings({\n loading,\n renderLoading,\n children,\n view = 'normal',\n renderRightAdornment,\n renderSectionRightAdornment,\n showRightAdornmentOnHover = true,\n ...props\n}: SettingsProps) {\n if (loading) {\n return (\n <div className={b({loading: true, view})}>\n {typeof renderLoading === 'function' ? (\n renderLoading()\n ) : (\n <Loader className={b('loader')} size=\"m\" />\n )}\n </div>\n );\n }\n\n return (\n <SettingsContext.Provider\n value={{renderRightAdornment, renderSectionRightAdornment, showRightAdornmentOnHover}}\n >\n <SettingsContent view={view} {...props}>\n {children}\n </SettingsContent>\n </SettingsContext.Provider>\n );\n}\n\nfunction SettingsContent({\n initialPage,\n initialSearch,\n selection,\n children,\n renderNotFound,\n title = i18n('label_title'),\n filterPlaceholder = i18n('label_filter-placeholder'),\n emptyPlaceholder = i18n('label_empty-placeholder'),\n view,\n onPageChange,\n onClose,\n}: SettingsContentProps) {\n const [search, setSearch] = React.useState(initialSearch ?? '');\n const {menu, pages} = getSettingsFromChildren(children, search);\n\n const selected = useSettingsSelectionProviderValue(pages, selection);\n\n const pageKeys = Object.keys(pages);\n const selectionInitialPage =\n selected.page && pageKeys.includes(selected.page.id) ? selected.page.id : undefined;\n const [selectedPage, setCurrentPage] = React.useState<string | undefined>(\n selectionInitialPage ||\n (initialPage && pageKeys.includes(initialPage) ? initialPage : undefined),\n );\n const searchInputRef = React.useRef<HTMLInputElement>(null);\n const menuRef = React.useRef<SettingsMenuInstance>(null);\n const isMobile = view === 'mobile';\n\n React.useEffect(() => {\n menuRef.current?.clearFocus();\n }, [search]);\n\n React.useEffect(() => {\n const handler = () => {\n menuRef.current?.clearFocus();\n };\n window.addEventListener('click', handler);\n return () => {\n window.removeEventListener('click', handler);\n };\n }, []);\n\n let activePage = selectedPage;\n\n if (!activePage || !pages[activePage] || pages[activePage].hidden) {\n activePage = Object.values(pages).find(({hidden}) => !hidden)?.id;\n }\n\n const handlePageChange = (newPage: string | undefined) => {\n setCurrentPage((prevPage) => {\n if (prevPage !== newPage && !isFakePage(newPage)) {\n onPageChange?.(newPage);\n }\n return newPage;\n });\n };\n\n const {isAllSearchPage} = useAllResultsPage({pages, handlePageChange});\n\n function isFakePage(page: string | undefined) {\n return isAllSearchPage(page);\n }\n\n React.useEffect(() => {\n if (activePage !== selectedPage) {\n handlePageChange(activePage);\n }\n });\n\n React.useEffect(() => {\n if (!selectionInitialPage) return;\n setCurrentPage(selectionInitialPage);\n }, [selectionInitialPage]);\n\n React.useEffect(() => {\n if (selected.selectedRef?.current) {\n selected.selectedRef.current.scrollIntoView();\n }\n }, [selected.selectedRef]);\n\n return (\n <SettingsSelectionContextProvider value={selected}>\n <div className={b({view})}>\n {isMobile ? (\n <React.Fragment>\n <SettingsSearch\n inputRef={searchInputRef}\n className={b('search')}\n initialValue={initialSearch}\n selection={selection}\n onChange={setSearch}\n autoFocus={false}\n inputSize={'xl'}\n />\n <SettingsMenuMobile\n items={menu}\n onChange={handlePageChange}\n activeItemId={activePage}\n className={b('tabs')}\n />\n </React.Fragment>\n ) : (\n <div\n className={b('menu')}\n onClick={() => {\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }}\n onKeyDown={(event) => {\n if (menuRef.current) {\n if (menuRef.current.handleKeyDown(event)) {\n event.preventDefault();\n }\n }\n }}\n >\n <Title>{title}</Title>\n <SettingsSearch\n inputRef={searchInputRef}\n className={b('search')}\n initialValue={initialSearch}\n selection={selection}\n onChange={setSearch}\n placeholder={filterPlaceholder}\n autoFocus\n />\n <SettingsMenu\n ref={menuRef}\n items={menu}\n onChange={handlePageChange}\n activeItemId={activePage}\n />\n </div>\n )}\n <div className={b('page')}>\n <SettingsPageComponent\n menu={menu}\n pages={pages}\n selected={selected}\n search={search}\n isMobile={isMobile}\n page={activePage}\n emptyPlaceholder={emptyPlaceholder}\n renderNotFound={renderNotFound}\n onClose={onClose}\n />\n </div>\n </div>\n </SettingsSelectionContextProvider>\n );\n}\n\nSettings.Group = function SettingsGroup({children}: SettingsGroupProps) {\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nSettings.Page = function SettingsPage({children}: SettingsPageProps) {\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nSettings.Section = function SettingsSection({children}: SettingsSectionProps) {\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nSettings.Item = function SettingsItem(setting: SettingsItemProps) {\n const {\n id,\n labelId,\n highlightedTitle,\n children,\n align = 'center',\n withBadge,\n renderTitleComponent = identity,\n mode,\n description,\n } = setting;\n\n const selected = useSettingsSelectionContext();\n const isSettingSelected = selected.setting && selected.setting.id === id;\n\n const {renderRightAdornment, showRightAdornmentOnHover} = useSettingsContext();\n const titleComponent = renderTitleComponent(highlightedTitle);\n const titleNode = <span className={b('item-title', {badge: withBadge})}>{titleComponent}</span>;\n\n const showTitle = titleComponent !== null;\n\n return (\n <div\n className={b('item', {\n align,\n mode,\n selected: isSettingSelected,\n title: showTitle ? 'show' : 'hide',\n })}\n ref={isSettingSelected ? selected.selectedRef : undefined}\n >\n {showTitle ? (\n <label className={b('item-heading')} id={labelId}>\n {renderRightAdornment ? (\n <Flex className={b('item-title-wrapper')} gap={3}>\n {titleNode}\n <div\n className={b('item-right-adornment', {\n hidden: showRightAdornmentOnHover,\n })}\n >\n {renderRightAdornment(setting)}\n </div>\n </Flex>\n ) : (\n titleNode\n )}\n {description ? (\n <span className={b('item-description')}>{description}</span>\n ) : null}\n </label>\n ) : null}\n <div className={b('item-content')}>{children}</div>\n </div>\n );\n};\n"],"names":["__rest","b","Loader","SettingsContext","i18n","getSettingsFromChildren","useSettingsSelectionProviderValue","useAllResultsPage","SettingsSelectionContextProvider","SettingsSearch","SettingsMenuMobile","Title","SettingsMenu","SettingsPageComponent","identity","useSettingsSelectionContext","useSettingsContext","Flex"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var styles = {"gn-settings":"Settings-module__gn-settings___RP-Ow","gnSettings":"Settings-module__gn-settings___RP-Ow","gn-settings_view_mobile":"Settings-module__gn-settings_view_mobile___4DAjN","gnSettingsViewMobile":"Settings-module__gn-settings_view_mobile___4DAjN","gn-settings_loading":"Settings-module__gn-settings_loading___PpULI","gnSettingsLoading":"Settings-module__gn-settings_loading___PpULI","gn-settings__loader":"Settings-module__gn-settings__loader___68JGV","gnSettingsLoader":"Settings-module__gn-settings__loader___68JGV","gn-settings__search":"Settings-module__gn-settings__search___2xBLH","gnSettingsSearch":"Settings-module__gn-settings__search___2xBLH","gn-settings__page":"Settings-module__gn-settings__page___pbx2Y","gnSettingsPage":"Settings-module__gn-settings__page___pbx2Y","gn-settings__tabs":"Settings-module__gn-settings__tabs___-Z5T9","gnSettingsTabs":"Settings-module__gn-settings__tabs___-Z5T9","g-tabs__item":"Settings-module__g-tabs__item___tsOZs","gTabsItem":"Settings-module__g-tabs__item___tsOZs","gn-settings__section-heading":"Settings-module__gn-settings__section-heading___gPmIo","gnSettingsSectionHeading":"Settings-module__gn-settings__section-heading___gPmIo","gn-settings__section-subheader":"Settings-module__gn-settings__section-subheader___fl8WB","gnSettingsSectionSubheader":"Settings-module__gn-settings__section-subheader___fl8WB","gn-settings-subheader":"Settings-module__gn-settings-subheader___WAPMz","gnSettingsSubheader":"Settings-module__gn-settings-subheader___WAPMz","gn-settings__section-item":"Settings-module__gn-settings__section-item___2NG92","gnSettingsSectionItem":"Settings-module__gn-settings__section-item___2NG92","gn-settings__item":"Settings-module__gn-settings__item___rCuSR","gnSettingsItem":"Settings-module__gn-settings__item___rCuSR","gn-settings__item_mode_row":"Settings-module__gn-settings__item_mode_row___k5s8p","gnSettingsItemModeRow":"Settings-module__gn-settings__item_mode_row___k5s8p","gn-settings__item-heading":"Settings-module__gn-settings__item-heading___1zCRl","gnSettingsItemHeading":"Settings-module__gn-settings__item-heading___1zCRl","gn-settings__item-description":"Settings-module__gn-settings__item-description___8rQUz","gnSettingsItemDescription":"Settings-module__gn-settings__item-description___8rQUz","gn-settings__item-content":"Settings-module__gn-settings__item-content___1InnS","gnSettingsItemContent":"Settings-module__gn-settings__item-content___1InnS","gn-settings__not-found":"Settings-module__gn-settings__not-found___eIxBf","gnSettingsNotFound":"Settings-module__gn-settings__not-found___eIxBf","gn-settings__menu":"Settings-module__gn-settings__menu___3XZde","gnSettingsMenu":"Settings-module__gn-settings__menu___3XZde","gn-settings__heading":"Settings-module__gn-settings__heading___mLHq2","gnSettingsHeading":"Settings-module__gn-settings__heading___mLHq2","gn-settings__content":"Settings-module__gn-settings__content___tQ2hC","gnSettingsContent":"Settings-module__gn-settings__content___tQ2hC","gn-settings__section-right-adornment_hidden":"Settings-module__gn-settings__section-right-adornment_hidden___wn9-S","gnSettingsSectionRightAdornmentHidden":"Settings-module__gn-settings__section-right-adornment_hidden___wn9-S","gn-settings__section":"Settings-module__gn-settings__section___c6u3X","gnSettingsSection":"Settings-module__gn-settings__section___c6u3X","gn-settings__item_title_hide":"Settings-module__gn-settings__item_title_hide___w1l3N","gnSettingsItemTitleHide":"Settings-module__gn-settings__item_title_hide___w1l3N","gn-settings__item_align_top":"Settings-module__gn-settings__item_align_top___sPweP","gnSettingsItemAlignTop":"Settings-module__gn-settings__item_align_top___sPweP","gn-settings__item_align_center":"Settings-module__gn-settings__item_align_center___GdjES","gnSettingsItemAlignCenter":"Settings-module__gn-settings__item_align_center___GdjES","gn-settings__item-title_badge":"Settings-module__gn-settings__item-title_badge___pTkg2","gnSettingsItemTitleBadge":"Settings-module__gn-settings__item-title_badge___pTkg2","gn-settings__item-right-adornment_hidden":"Settings-module__gn-settings__item-right-adornment_hidden___9zgNP","gnSettingsItemRightAdornmentHidden":"Settings-module__gn-settings__item-right-adornment_hidden___9zgNP","gn-settings__item_selected":"Settings-module__gn-settings__item_selected___e4r3Y","gnSettingsItemSelected":"Settings-module__gn-settings__item_selected___e4r3Y","gn-settings__section_selected":"Settings-module__gn-settings__section_selected___YOdnN","gnSettingsSectionSelected":"Settings-module__gn-settings__section_selected___YOdnN","gn-settings__found":"Settings-module__gn-settings__found___PDgmI","gnSettingsFound":"Settings-module__gn-settings__found___PDgmI"};
|
|
6
|
+
|
|
7
|
+
exports.default = styles;
|
|
8
|
+
//# sourceMappingURL=Settings.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Settings.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsContext.js","sources":["../../../../../../src/components/Settings/SettingsContext/SettingsContext.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {SettingsContextType} from './types';\n\nexport const SettingsContext = React.createContext<SettingsContextType>({});\n"],"names":[],"mappings":";;;;AAIa,MAAA,eAAe,GAAG,KAAK,CAAC,aAAa,CAAsB,EAAE;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var SettingsContext = require('./SettingsContext.js');
|
|
5
|
+
|
|
6
|
+
const useSettingsContext = () => React.useContext(SettingsContext.SettingsContext);
|
|
7
|
+
|
|
8
|
+
exports.useSettingsContext = useSettingsContext;
|
|
9
|
+
//# sourceMappingURL=useSettingsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSettingsContext.js","sources":["../../../../../../src/components/Settings/SettingsContext/useSettingsContext.tsx"],"sourcesContent":["import React from 'react';\n\nimport {SettingsContext} from './SettingsContext';\n\nexport const useSettingsContext = () => React.useContext(SettingsContext);\n"],"names":["SettingsContext"],"mappings":";;;;;AAIO,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,UAAU,CAACA,+BAAe;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.SettingsMenu-module__gn-settings-menu__group-heading___b3rMA{display:inline-block;font-weight:var(--g-text-accent-font-weight);line-height:18px;margin-bottom:12px;padding:0 20px}.SettingsMenu-module__gn-settings-menu__group___zBrCj+.SettingsMenu-module__gn-settings-menu__group___zBrCj{margin-top:24px}.SettingsMenu-module__gn-settings-menu__item___QGz0Y+.SettingsMenu-module__gn-settings-menu__group___zBrCj{margin-top:8px}.SettingsMenu-module__gn-settings-menu__item___QGz0Y{align-items:center;color:var(--g-color-text-primary);cursor:pointer;display:flex;height:40px;padding:0 20px}.SettingsMenu-module__gn-settings-menu__item-icon___B-h-X{color:var(--g-color-text-misc);margin-right:5px}.SettingsMenu-module__gn-settings-menu__item___QGz0Y:hover, .SettingsMenu-module__gn-settings-menu__item_focused___pKQBC{background:var(--g-color-base-simple-hover)}.SettingsMenu-module__gn-settings-menu__item_selected___Og2Jr{background:var(--g-color-base-selection)}.SettingsMenu-module__gn-settings-menu__item_selected___Og2Jr.SettingsMenu-module__gn-settings-menu__item_focused___pKQBC, .SettingsMenu-module__gn-settings-menu__item_selected___Og2Jr:hover{background:var(--g-color-base-selection-hover)}.SettingsMenu-module__gn-settings-menu__item_disabled___xv9E8{color:var(--g-color-text-secondary);cursor:auto}.SettingsMenu-module__gn-settings-menu__item_disabled___xv9E8:hover{background:none}.SettingsMenu-module__gn-settings-menu__item_disabled___xv9E8 .SettingsMenu-module__gn-settings-menu__item-icon___B-h-X{color:var(--g-color-base-misc-heavy)}.SettingsMenu-module__gn-settings-menu__item_badge___I-O-X{position:relative}.SettingsMenu-module__gn-settings-menu__item_badge___I-O-X:after{background-color:var(--g-color-text-danger);border-radius:50%;content:"";display:block;height:6px;position:absolute;right:9px;top:calc(50% - 3px);width:6px}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import './SettingsMenu.css';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var uikit = require('@gravity-ui/uikit');
|
|
6
|
+
var cn = require('../../utils/cn.js');
|
|
7
|
+
var helpers = require('../helpers.js');
|
|
8
|
+
var SettingsMenu_module = require('./SettingsMenu.module.scss.js');
|
|
9
|
+
|
|
10
|
+
const b = cn.createBlock('settings-menu', SettingsMenu_module.default);
|
|
11
|
+
const SettingsMenu = React.forwardRef(
|
|
12
|
+
// eslint-disable-next-line prefer-arrow-callback
|
|
13
|
+
function SettingsMenu({ items, onChange, activeItemId }, ref) {
|
|
14
|
+
const [focusItemId, setFocusId] = React.useState();
|
|
15
|
+
const containerRef = React.useRef(null);
|
|
16
|
+
const handleChange = helpers.useStableCallback(onChange);
|
|
17
|
+
const getFocused = helpers.useCurrent(focusItemId);
|
|
18
|
+
React.useImperativeHandle(ref, () => ({
|
|
19
|
+
handleKeyDown(event) {
|
|
20
|
+
if (!containerRef.current) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const focused = getFocused();
|
|
24
|
+
if (focused && event.key === 'Enter') {
|
|
25
|
+
handleChange(focused);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
else if (event.key === 'ArrowDown') {
|
|
29
|
+
setFocusId(focusNext(containerRef.current, focused, 1));
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
else if (event.key === 'ArrowUp') {
|
|
33
|
+
setFocusId(focusNext(containerRef.current, focused, -1));
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
},
|
|
38
|
+
clearFocus() {
|
|
39
|
+
setFocusId(undefined);
|
|
40
|
+
},
|
|
41
|
+
}), [getFocused, handleChange]);
|
|
42
|
+
return (React.createElement("div", { ref: containerRef, className: b() }, items.map((firstLevelItem) => {
|
|
43
|
+
if ('groupTitle' in firstLevelItem) {
|
|
44
|
+
return (React.createElement("div", { key: firstLevelItem.groupTitle, className: b('group') },
|
|
45
|
+
React.createElement("span", { className: b('group-heading') }, firstLevelItem.groupTitle),
|
|
46
|
+
firstLevelItem.items.map((item) => {
|
|
47
|
+
return renderMenuItem(item, onChange, activeItemId, focusItemId);
|
|
48
|
+
})));
|
|
49
|
+
}
|
|
50
|
+
return renderMenuItem(firstLevelItem, onChange, activeItemId, focusItemId);
|
|
51
|
+
})));
|
|
52
|
+
});
|
|
53
|
+
function renderMenuItem(item, onChange, activeItemId, focusItemId) {
|
|
54
|
+
return (React.createElement("span", { key: item.title, className: b('item', {
|
|
55
|
+
selected: activeItemId === item.id,
|
|
56
|
+
disabled: item.disabled,
|
|
57
|
+
focused: focusItemId === item.id,
|
|
58
|
+
badge: item.withBadge,
|
|
59
|
+
}), onClick: () => {
|
|
60
|
+
if (!item.disabled) {
|
|
61
|
+
onChange(item.id);
|
|
62
|
+
}
|
|
63
|
+
}, "data-id": item.id },
|
|
64
|
+
item.icon ? React.createElement(uikit.Icon, Object.assign({ size: 16 }, item.icon, { className: b('item-icon') })) : undefined,
|
|
65
|
+
React.createElement("span", null, item.title)));
|
|
66
|
+
}
|
|
67
|
+
function focusNext(container, focused, direction) {
|
|
68
|
+
var _a;
|
|
69
|
+
const elements = container.querySelectorAll(`.${b('item')}:not(.${b('item')}_disabled)`);
|
|
70
|
+
if (elements.length === 0) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
let currentIndex = direction > 0 ? -1 : 0;
|
|
74
|
+
if (focused) {
|
|
75
|
+
currentIndex = Array.prototype.findIndex.call(elements, (element) => element.getAttribute('data-id') === focused);
|
|
76
|
+
}
|
|
77
|
+
currentIndex = (elements.length + currentIndex + direction) % elements.length;
|
|
78
|
+
return (_a = elements[currentIndex].getAttribute('data-id')) !== null && _a !== undefined ? _a : undefined;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
exports.SettingsMenu = SettingsMenu;
|
|
82
|
+
//# sourceMappingURL=SettingsMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsMenu.js","sources":["../../../../../../src/components/Settings/SettingsMenu/SettingsMenu.tsx"],"sourcesContent":["import React from 'react';\n\nimport {Icon} from '@gravity-ui/uikit';\n\nimport {createBlock} from '../../utils/cn';\nimport {useCurrent, useStableCallback} from '../helpers';\nimport {Item, SettingsMenuProps} from '../types';\n\nimport styles from './SettingsMenu.module.scss';\n\nconst b = createBlock('settings-menu', styles);\n\nexport interface SettingsMenuInstance {\n handleKeyDown(event: React.KeyboardEvent): boolean;\n clearFocus(): void;\n}\n\nexport const SettingsMenu = React.forwardRef<SettingsMenuInstance, SettingsMenuProps>(\n // eslint-disable-next-line prefer-arrow-callback\n function SettingsMenu({items, onChange, activeItemId}, ref) {\n const [focusItemId, setFocusId] = React.useState<string>();\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleChange = useStableCallback(onChange);\n const getFocused = useCurrent(focusItemId);\n\n React.useImperativeHandle(\n ref,\n () => ({\n handleKeyDown(event) {\n if (!containerRef.current) {\n return false;\n }\n const focused = getFocused();\n if (focused && event.key === 'Enter') {\n handleChange(focused);\n return true;\n } else if (event.key === 'ArrowDown') {\n setFocusId(focusNext(containerRef.current, focused, 1));\n return true;\n } else if (event.key === 'ArrowUp') {\n setFocusId(focusNext(containerRef.current, focused, -1));\n return true;\n }\n return false;\n },\n clearFocus() {\n setFocusId(undefined);\n },\n }),\n [getFocused, handleChange],\n );\n\n return (\n <div ref={containerRef} className={b()}>\n {items.map((firstLevelItem) => {\n if ('groupTitle' in firstLevelItem) {\n return (\n <div key={firstLevelItem.groupTitle} className={b('group')}>\n <span className={b('group-heading')}>\n {firstLevelItem.groupTitle}\n </span>\n {firstLevelItem.items.map((item) => {\n return renderMenuItem(\n item,\n onChange,\n activeItemId,\n focusItemId,\n );\n })}\n </div>\n );\n }\n return renderMenuItem(firstLevelItem, onChange, activeItemId, focusItemId);\n })}\n </div>\n );\n },\n);\n\nfunction renderMenuItem(\n item: Item,\n onChange: (id: string) => void,\n activeItemId: string | undefined,\n focusItemId: string | undefined,\n) {\n return (\n <span\n key={item.title}\n className={b('item', {\n selected: activeItemId === item.id,\n disabled: item.disabled,\n focused: focusItemId === item.id,\n badge: item.withBadge,\n })}\n onClick={() => {\n if (!item.disabled) {\n onChange(item.id);\n }\n }}\n data-id={item.id}\n >\n {item.icon ? <Icon size={16} {...item.icon} className={b('item-icon')} /> : undefined}\n <span>{item.title}</span>\n </span>\n );\n}\n\nfunction focusNext(container: HTMLElement, focused: string | undefined, direction: number) {\n const elements = container.querySelectorAll(`.${b('item')}:not(.${b('item')}_disabled)`);\n if (elements.length === 0) {\n return undefined;\n }\n\n let currentIndex = direction > 0 ? -1 : 0;\n if (focused) {\n currentIndex = Array.prototype.findIndex.call(\n elements,\n (element) => element.getAttribute('data-id') === focused,\n );\n }\n\n currentIndex = (elements.length + currentIndex + direction) % elements.length;\n return elements[currentIndex].getAttribute('data-id') ?? undefined;\n}\n"],"names":["createBlock","styles","useStableCallback","useCurrent","Icon"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var styles = {"gn-settings-menu__group-heading":"SettingsMenu-module__gn-settings-menu__group-heading___b3rMA","gnSettingsMenuGroupHeading":"SettingsMenu-module__gn-settings-menu__group-heading___b3rMA","gn-settings-menu__group":"SettingsMenu-module__gn-settings-menu__group___zBrCj","gnSettingsMenuGroup":"SettingsMenu-module__gn-settings-menu__group___zBrCj","gn-settings-menu__item":"SettingsMenu-module__gn-settings-menu__item___QGz0Y","gnSettingsMenuItem":"SettingsMenu-module__gn-settings-menu__item___QGz0Y","gn-settings-menu__item-icon":"SettingsMenu-module__gn-settings-menu__item-icon___B-h-X","gnSettingsMenuItemIcon":"SettingsMenu-module__gn-settings-menu__item-icon___B-h-X","gn-settings-menu__item_focused":"SettingsMenu-module__gn-settings-menu__item_focused___pKQBC","gnSettingsMenuItemFocused":"SettingsMenu-module__gn-settings-menu__item_focused___pKQBC","gn-settings-menu__item_selected":"SettingsMenu-module__gn-settings-menu__item_selected___Og2Jr","gnSettingsMenuItemSelected":"SettingsMenu-module__gn-settings-menu__item_selected___Og2Jr","gn-settings-menu__item_disabled":"SettingsMenu-module__gn-settings-menu__item_disabled___xv9E8","gnSettingsMenuItemDisabled":"SettingsMenu-module__gn-settings-menu__item_disabled___xv9E8","gn-settings-menu__item_badge":"SettingsMenu-module__gn-settings-menu__item_badge___I-O-X","gnSettingsMenuItemBadge":"SettingsMenu-module__gn-settings-menu__item_badge___I-O-X"};
|
|
6
|
+
|
|
7
|
+
exports.default = styles;
|
|
8
|
+
//# sourceMappingURL=SettingsMenu.module.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsMenu.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.SettingsMenuMobile-module__gn-settings-menu-mobile___B2EcN.SettingsMenuMobile-module__g-tabs_direction_horizontal___LDcWv{-ms-overflow-style:none;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:none;scrollbar-width:none}.SettingsMenuMobile-module__gn-settings-menu-mobile___B2EcN.SettingsMenuMobile-module__g-tabs_direction_horizontal___LDcWv::-webkit-scrollbar{display:none}.SettingsMenuMobile-module__gn-settings-menu-mobile__item_badge___UIX5Q{position:relative}.SettingsMenuMobile-module__gn-settings-menu-mobile__item_badge___UIX5Q:after{background-color:var(--g-color-text-danger);border-radius:50%;content:"";display:block;height:6px;position:absolute;right:-8px;top:11px;width:6px}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import './SettingsMenuMobile.css';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var legacy = require('@gravity-ui/uikit/legacy');
|
|
6
|
+
var cn = require('../../utils/cn.js');
|
|
7
|
+
var SettingsMenuMobile_module = require('./SettingsMenuMobile.module.scss.js');
|
|
8
|
+
|
|
9
|
+
const b = cn.createBlock('settings-menu-mobile', SettingsMenuMobile_module.default);
|
|
10
|
+
const SettingsMenuMobile = ({ items, onChange, activeItemId, className, }) => {
|
|
11
|
+
const ref = React.useRef(null);
|
|
12
|
+
const tabItems = React.useMemo(() => {
|
|
13
|
+
const result = [];
|
|
14
|
+
items.forEach((firstLevelItem) => {
|
|
15
|
+
if ('groupTitle' in firstLevelItem) {
|
|
16
|
+
result.push(...firstLevelItem.items.map(({ id, title, disabled, withBadge }) => ({
|
|
17
|
+
id,
|
|
18
|
+
title,
|
|
19
|
+
disabled,
|
|
20
|
+
className: b('item', { badge: withBadge }),
|
|
21
|
+
})));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
const { id, title, disabled, withBadge } = firstLevelItem;
|
|
25
|
+
result.push({ id, title, disabled, className: b('item', { badge: withBadge }) });
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return result;
|
|
29
|
+
}, [items]);
|
|
30
|
+
const handleTouchMove = (e) => {
|
|
31
|
+
e.stopPropagation();
|
|
32
|
+
};
|
|
33
|
+
return (React.createElement("div", { ref: ref, onTouchMove: handleTouchMove },
|
|
34
|
+
React.createElement(legacy.Tabs, { items: tabItems, className: b(null, className), size: "l", activeTab: activeItemId, onSelectTab: onChange })));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.SettingsMenuMobile = SettingsMenuMobile;
|
|
38
|
+
//# sourceMappingURL=SettingsMenuMobile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsMenuMobile.js","sources":["../../../../../../src/components/Settings/SettingsMenuMobile/SettingsMenuMobile.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n Tabs as LegacyTabs,\n type TabsItemProps as LegacyTabsItemProps,\n} from '@gravity-ui/uikit/legacy';\n\nimport {createBlock} from '../../utils/cn';\nimport {SettingsMenuProps} from '../types';\n\nimport styles from './SettingsMenuMobile.module.scss';\n\nconst b = createBlock('settings-menu-mobile', styles);\n\nexport const SettingsMenuMobile = ({\n items,\n onChange,\n activeItemId,\n className,\n}: SettingsMenuProps) => {\n const ref = React.useRef<HTMLDivElement>(null);\n\n const tabItems = React.useMemo(() => {\n const result: LegacyTabsItemProps[] = [];\n\n items.forEach((firstLevelItem) => {\n if ('groupTitle' in firstLevelItem) {\n result.push(\n ...firstLevelItem.items.map(({id, title, disabled, withBadge}) => ({\n id,\n title,\n disabled,\n className: b('item', {badge: withBadge}),\n })),\n );\n } else {\n const {id, title, disabled, withBadge} = firstLevelItem;\n result.push({id, title, disabled, className: b('item', {badge: withBadge})});\n }\n });\n return result;\n }, [items]);\n\n const handleTouchMove = (e: React.TouchEvent<HTMLDivElement>) => {\n e.stopPropagation();\n };\n\n return (\n <div ref={ref} onTouchMove={handleTouchMove}>\n <LegacyTabs\n items={tabItems}\n className={b(null, className)}\n size=\"l\"\n activeTab={activeItemId}\n onSelectTab={onChange}\n />\n </div>\n );\n};\n"],"names":["createBlock","styles","LegacyTabs"],"mappings":";;;;;;;AAYA,MAAM,CAAC,GAAGA,cAAW,CAAC,sBAAsB,EAAEC,iCAAM,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,GACO,KAAI;IACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC;AAE9C,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAK;QAChC,MAAM,MAAM,GAA0B,EAAE;AAExC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;AAC7B,YAAA,IAAI,YAAY,IAAI,cAAc,EAAE;gBAChC,MAAM,CAAC,IAAI,CACP,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM;oBAC/D,EAAE;oBACF,KAAK;oBACL,QAAQ;oBACR,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;iBAC3C,CAAC,CAAC,CACN;;iBACE;gBACH,MAAM,EAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAC,GAAG,cAAc;gBACvD,MAAM,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,EAAC,CAAC;;AAEpF,SAAC,CAAC;AACF,QAAA,OAAO,MAAM;AACjB,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,MAAM,eAAe,GAAG,CAAC,CAAmC,KAAI;QAC5D,CAAC,CAAC,eAAe,EAAE;AACvB,KAAC;IAED,QACI,6BAAK,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAA;AACvC,QAAA,KAAA,CAAA,aAAA,CAACC,WAAU,EAAA,EACP,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,YAAY,EACvB,WAAW,EAAE,QAAQ,EACvB,CAAA,CACA;AAEd;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var styles = {"gn-settings-menu-mobile":"SettingsMenuMobile-module__gn-settings-menu-mobile___B2EcN","gnSettingsMenuMobile":"SettingsMenuMobile-module__gn-settings-menu-mobile___B2EcN","g-tabs_direction_horizontal":"SettingsMenuMobile-module__g-tabs_direction_horizontal___LDcWv","gTabsDirectionHorizontal":"SettingsMenuMobile-module__g-tabs_direction_horizontal___LDcWv","gn-settings-menu-mobile__item_badge":"SettingsMenuMobile-module__gn-settings-menu-mobile__item_badge___UIX5Q","gnSettingsMenuMobileItemBadge":"SettingsMenuMobile-module__gn-settings-menu-mobile__item_badge___UIX5Q"};
|
|
6
|
+
|
|
7
|
+
exports.default = styles;
|
|
8
|
+
//# sourceMappingURL=SettingsMenuMobile.module.scss.js.map
|
package/build/cjs/components/Settings/SettingsMenuMobile/SettingsMenuMobile.module.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsMenuMobile.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var Title = require('../../Title/Title.js');
|
|
5
|
+
var utils = require('../Selection/utils.js');
|
|
6
|
+
var SettingsSection = require('../SettingsSection.js');
|
|
7
|
+
var b = require('../b.js');
|
|
8
|
+
var getPageTitleById = require('./getPageTitleById.js');
|
|
9
|
+
|
|
10
|
+
const SettingsPageComponent = ({ menu, pages, selected, isMobile, search, page, renderNotFound, emptyPlaceholder, onClose, }) => {
|
|
11
|
+
if (!page) {
|
|
12
|
+
return typeof renderNotFound === 'function' ? (React.createElement(React.Fragment, null, renderNotFound())) : (React.createElement("div", { className: b.b('not-found') }, emptyPlaceholder));
|
|
13
|
+
}
|
|
14
|
+
const filteredSections = pages[page].sections.filter((section) => !section.hidden);
|
|
15
|
+
return (React.createElement(React.Fragment, null,
|
|
16
|
+
!isMobile && (React.createElement(Title.Title, { hasSeparator: true, onClose: onClose }, getPageTitleById.getPageTitleById(menu, page))),
|
|
17
|
+
React.createElement("div", { className: b.b('content') }, filteredSections.map((section) => {
|
|
18
|
+
const isSelected = utils.isSectionSelected(selected, page, section);
|
|
19
|
+
return (React.createElement(SettingsSection.SettingsSection, Object.assign({ isSelected: isSelected, isMobile: isMobile, search: search }, section, { key: section.title })));
|
|
20
|
+
}))));
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.SettingsPageComponent = SettingsPageComponent;
|
|
24
|
+
//# sourceMappingURL=SettingsPageComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPageComponent.js","sources":["../../../../../../src/components/Settings/SettingsPage/SettingsPageComponent.tsx"],"sourcesContent":["import React from 'react';\n\nimport {Title} from '../../Title';\nimport {SettingsSelectionProviderContextValue} from '../Selection/context';\nimport {isSectionSelected} from '../Selection/utils';\nimport {SettingsSection} from '../SettingsSection';\nimport {b} from '../b';\nimport {SettingsMenu as CollectSettingsSettingsMenu, SettingsPage} from '../collect-settings';\nimport {SettingsContentProps} from '../types';\n\nimport {getPageTitleById} from './getPageTitleById';\n\ntype Props = {\n menu: CollectSettingsSettingsMenu;\n pages: Record<string, SettingsPage>;\n page: string | undefined;\n isMobile: boolean;\n search: string;\n selected: SettingsSelectionProviderContextValue;\n} & Pick<SettingsContentProps, 'renderNotFound' | 'emptyPlaceholder' | 'onClose'>;\n\nexport const SettingsPageComponent = ({\n menu,\n pages,\n selected,\n isMobile,\n search,\n page,\n renderNotFound,\n emptyPlaceholder,\n onClose,\n}: Props): React.ReactElement => {\n if (!page) {\n return typeof renderNotFound === 'function' ? (\n <>{renderNotFound()}</>\n ) : (\n <div className={b('not-found')}>{emptyPlaceholder}</div>\n );\n }\n\n const filteredSections = pages[page].sections.filter((section) => !section.hidden);\n\n return (\n <React.Fragment>\n {!isMobile && (\n <Title hasSeparator onClose={onClose}>\n {getPageTitleById(menu, page)}\n </Title>\n )}\n\n <div className={b('content')}>\n {filteredSections.map((section) => {\n const isSelected = isSectionSelected(selected, page, section);\n\n return (\n <SettingsSection\n isSelected={isSelected}\n isMobile={isMobile}\n search={search}\n {...section}\n key={section.title}\n />\n );\n })}\n </div>\n </React.Fragment>\n );\n};\n"],"names":["b","Title","getPageTitleById","isSectionSelected","SettingsSection"],"mappings":";;;;;;;;;AAqBa,MAAA,qBAAqB,GAAG,CAAC,EAClC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,cAAc,EACd,gBAAgB,EAChB,OAAO,GACH,KAAwB;IAC5B,IAAI,CAAC,IAAI,EAAE;AACP,QAAA,OAAO,OAAO,cAAc,KAAK,UAAU,IACvC,KAAG,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAE,CAAI,KAEvB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEA,GAAC,CAAC,WAAW,CAAC,EAAG,EAAA,gBAAgB,CAAO,CAC3D;;IAGL,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;AAElF,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;AACV,QAAA,CAAC,QAAQ,KACN,oBAACC,WAAK,EAAA,EAAC,YAAY,EAAC,IAAA,EAAA,OAAO,EAAE,OAAO,EAAA,EAC/BC,iCAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CACzB,CACX;AAED,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEF,GAAC,CAAC,SAAS,CAAC,EAAA,EACvB,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;YAC9B,MAAM,UAAU,GAAGG,uBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;YAE7D,QACI,KAAC,CAAA,aAAA,CAAAC,+BAAe,EACZ,MAAA,CAAA,MAAA,CAAA,EAAA,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACV,EAAA,OAAO,EACX,EAAA,GAAG,EAAE,OAAO,CAAC,KAAK,EACpB,CAAA,CAAA;AAEV,SAAC,CAAC,CACA,CACO;AAEzB;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const getPageTitleById = (menu, activePage) => {
|
|
4
|
+
for (const firstLevel of menu) {
|
|
5
|
+
if ('groupTitle' in firstLevel) {
|
|
6
|
+
for (const secondLevel of firstLevel.items)
|
|
7
|
+
if (secondLevel.id === activePage)
|
|
8
|
+
return secondLevel.title;
|
|
9
|
+
}
|
|
10
|
+
else if (firstLevel.id === activePage)
|
|
11
|
+
return firstLevel.title;
|
|
12
|
+
}
|
|
13
|
+
return '';
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.getPageTitleById = getPageTitleById;
|
|
17
|
+
//# sourceMappingURL=getPageTitleById.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPageTitleById.js","sources":["../../../../../../src/components/Settings/SettingsPage/getPageTitleById.tsx"],"sourcesContent":["import type {SettingsMenu as SettingsMenuType} from '../collect-settings';\n\nexport const getPageTitleById = (menu: SettingsMenuType, activePage: string) => {\n for (const firstLevel of menu) {\n if ('groupTitle' in firstLevel) {\n for (const secondLevel of firstLevel.items)\n if (secondLevel.id === activePage) return secondLevel.title;\n } else if (firstLevel.id === activePage) return firstLevel.title;\n }\n\n return '';\n};\n"],"names":[],"mappings":";;MAEa,gBAAgB,GAAG,CAAC,IAAsB,EAAE,UAAkB,KAAI;AAC3E,IAAA,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE;AAC3B,QAAA,IAAI,YAAY,IAAI,UAAU,EAAE;AAC5B,YAAA,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,KAAK;AACtC,gBAAA,IAAI,WAAW,CAAC,EAAE,KAAK,UAAU;oBAAE,OAAO,WAAW,CAAC,KAAK;;AAC5D,aAAA,IAAI,UAAU,CAAC,EAAE,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC,KAAK;;AAGpE,IAAA,OAAO,EAAE;AACb;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var b = require('../b.js');
|
|
5
|
+
var prepareTitle = require('./prepareTitle.js');
|
|
6
|
+
|
|
7
|
+
const SettingRow = ({ title: settingTitle, element, search, }) => {
|
|
8
|
+
return (React.createElement("div", { className: b.b('section-item') }, React.cloneElement(element, Object.assign(Object.assign({}, element.props), { highlightedTitle: search && settingTitle ? prepareTitle.prepareTitle(settingTitle, search) : settingTitle }))));
|
|
9
|
+
};
|
|
10
|
+
SettingRow.displayName = 'SettingRow';
|
|
11
|
+
|
|
12
|
+
exports.SettingRow = SettingRow;
|
|
13
|
+
//# sourceMappingURL=SettingsRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsRow.js","sources":["../../../../../../src/components/Settings/SettingsRow/SettingsRow.tsx"],"sourcesContent":["import React from 'react';\n\nimport {b} from '../b';\nimport type {SettingsItem} from '../collect-settings';\n\nimport {prepareTitle} from './prepareTitle';\n\nexport const SettingRow = ({\n title: settingTitle,\n element,\n search,\n}: SettingsItem & {search: string}): React.ReactElement => {\n return (\n <div className={b('section-item')}>\n {React.cloneElement(element, {\n ...element.props,\n highlightedTitle:\n search && settingTitle ? prepareTitle(settingTitle, search) : settingTitle,\n })}\n </div>\n );\n};\n\nSettingRow.displayName = 'SettingRow';\n"],"names":["b","prepareTitle"],"mappings":";;;;;;AAOO,MAAM,UAAU,GAAG,CAAC,EACvB,KAAK,EAAE,YAAY,EACnB,OAAO,EACP,MAAM,GACwB,KAAwB;AACtD,IAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,GAAC,CAAC,cAAc,CAAC,EAAA,EAC5B,KAAK,CAAC,YAAY,CAAC,OAAO,kCACpB,OAAO,CAAC,KAAK,CAChB,EAAA,EAAA,gBAAgB,EACZ,MAAM,IAAI,YAAY,GAAGC,yBAAY,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,EAChF,CAAA,CAAA,CACA;AAEd;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var b = require('../b.js');
|
|
5
|
+
var helpers = require('../helpers.js');
|
|
6
|
+
|
|
7
|
+
function prepareTitle(string, search) {
|
|
8
|
+
let temp = string.slice(0);
|
|
9
|
+
const title = [];
|
|
10
|
+
const parts = helpers.escapeStringForRegExp(search).split(' ').filter(Boolean);
|
|
11
|
+
let key = 0;
|
|
12
|
+
for (const part of parts) {
|
|
13
|
+
const regex = new RegExp(part, 'ig');
|
|
14
|
+
const match = regex.exec(temp);
|
|
15
|
+
if (match) {
|
|
16
|
+
const m = match[0];
|
|
17
|
+
const i = match.index;
|
|
18
|
+
if (i > 0) {
|
|
19
|
+
title.push(temp.slice(0, i));
|
|
20
|
+
}
|
|
21
|
+
title.push(React.createElement("strong", { key: key++, className: b.b('found') }, m));
|
|
22
|
+
temp = temp.slice(i + m.length);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (temp) {
|
|
26
|
+
title.push(temp);
|
|
27
|
+
}
|
|
28
|
+
return title;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
exports.prepareTitle = prepareTitle;
|
|
32
|
+
//# sourceMappingURL=prepareTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTitle.js","sources":["../../../../../../src/components/Settings/SettingsRow/prepareTitle.tsx"],"sourcesContent":["import React from 'react';\n\nimport {b} from '../b';\nimport {escapeStringForRegExp} from '../helpers';\n\nexport function prepareTitle(string: string, search: string) {\n let temp = string.slice(0);\n const title: React.ReactNode[] = [];\n const parts = escapeStringForRegExp(search).split(' ').filter(Boolean);\n let key = 0;\n for (const part of parts) {\n const regex = new RegExp(part, 'ig');\n const match = regex.exec(temp);\n if (match) {\n const m = match[0];\n const i = match.index;\n if (i > 0) {\n title.push(temp.slice(0, i));\n }\n title.push(\n <strong key={key++} className={b('found')}>\n {m}\n </strong>,\n );\n temp = temp.slice(i + m.length);\n }\n }\n if (temp) {\n title.push(temp);\n }\n return title;\n}\n"],"names":["escapeStringForRegExp","b"],"mappings":";;;;;;AAKgB,SAAA,YAAY,CAAC,MAAc,EAAE,MAAc,EAAA;IACvD,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAsB,EAAE;AACnC,IAAA,MAAM,KAAK,GAAGA,6BAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACtE,IAAI,GAAG,GAAG,CAAC;AACX,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,KAAK,EAAE;AACP,YAAA,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAClB,YAAA,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,EAAE;AACP,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;AAEhC,YAAA,KAAK,CAAC,IAAI,CACN,gCAAQ,GAAG,EAAE,GAAG,EAAE,EAAE,SAAS,EAAEC,GAAC,CAAC,OAAO,CAAC,IACpC,CAAC,CACG,CACZ;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;;;IAGvC,IAAI,IAAI,EAAE;AACN,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEpB,IAAA,OAAO,KAAK;AAChB;;;;"}
|