@gravity-ui/navigation 2.32.0 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/cjs/{ActionBar-3c6cdf57.js → ActionBar-_qjZ9IMA.js} +10 -14
- package/build/cjs/{ActionBar-3c6cdf57.js.map → ActionBar-_qjZ9IMA.js.map} +1 -1
- package/build/cjs/AsideFallback.js +10 -16
- package/build/cjs/AsideFallback.js.map +1 -1
- package/build/cjs/AsideHeader.js +15 -20
- package/build/cjs/AsideHeader.js.map +1 -1
- package/build/cjs/AsideHeaderContext.js +4 -10
- package/build/cjs/AsideHeaderContext.js.map +1 -1
- package/build/cjs/Content-Dy2XkiRi.js +16 -0
- package/build/cjs/{Content-64d5738a.js.map → Content-Dy2XkiRi.js.map} +1 -1
- package/build/cjs/Drawer.js +122 -823
- package/build/cjs/Drawer.js.map +1 -1
- package/build/cjs/{FooterItem-de603636.js → FooterItem-Bl_XrJ67.js} +77 -81
- package/build/cjs/FooterItem-Bl_XrJ67.js.map +1 -0
- package/build/cjs/FooterItem.js +8 -13
- package/build/cjs/FooterItem.js.map +1 -1
- package/build/cjs/{HotkeysPanel-1ed9fc32.js → HotkeysPanel-D1wI7tZj.js} +12 -16
- package/build/cjs/{HotkeysPanel-1ed9fc32.js.map → HotkeysPanel-D1wI7tZj.js.map} +1 -1
- package/build/cjs/Item-B_-IH1_h.js +295 -0
- package/build/cjs/Item-B_-IH1_h.js.map +1 -0
- package/build/cjs/PageLayout.js +13 -19
- package/build/cjs/PageLayout.js.map +1 -1
- package/build/cjs/{PageLayoutAside-30f2015c.js → PageLayoutAside-BzYF9W7M.js} +110 -165
- package/build/cjs/PageLayoutAside-BzYF9W7M.js.map +1 -0
- package/build/cjs/PageLayoutAside.js +10 -11
- package/build/cjs/PageLayoutAside.js.map +1 -1
- package/build/cjs/{Settings-8dc2a8ee.js → Settings-D6-a2hgE.js} +110 -102
- package/build/cjs/{Settings-8dc2a8ee.js.map → Settings-D6-a2hgE.js.map} +1 -1
- package/build/cjs/{Title-54580605.js → Title-CzxcSMoP.js} +7 -13
- package/build/cjs/Title-CzxcSMoP.js.map +1 -0
- package/build/cjs/_commonjsHelpers-BJu3ubxk.js +11 -0
- package/build/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
- package/build/cjs/{cn-9933321a.js → cn-DSlPZbcs.js} +1 -1
- package/build/cjs/{cn-9933321a.js.map → cn-DSlPZbcs.js.map} +1 -1
- package/build/cjs/components/ActionBar/ActionBar.d.ts +3 -3
- package/build/cjs/components/ActionBar/__stories__/ActionBar.stories.d.ts +17 -0
- package/build/cjs/components/ActionBar/__stories__/ActionBarShowcase.d.ts +2 -0
- package/build/cjs/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +2 -0
- package/build/cjs/components/ActionBar/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/ActionBar/types.d.ts +1 -1
- package/build/cjs/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +0 -3
- package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +5 -1
- package/build/cjs/components/AsideHeader/AsideHeaderContext.d.ts +1 -2
- package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +18 -0
- package/build/cjs/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +14 -0
- package/build/cjs/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +3 -0
- package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +6 -0
- package/build/cjs/components/AsideHeader/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/AsideHeader/components/index.d.ts +0 -1
- package/build/cjs/components/AsideHeader/i18n/index.d.ts +5 -1
- package/build/cjs/components/AsideHeader/types.d.ts +3 -7
- package/build/cjs/components/CompositeBar/CompositeBar.d.ts +1 -1
- package/build/cjs/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +1 -1
- package/build/cjs/components/CompositeBar/Item/Item.d.ts +15 -2
- package/build/cjs/components/Drawer/__stories__/DisablePortal.d.ts +3 -0
- package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +7 -0
- package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +3 -0
- package/build/cjs/components/Drawer/__stories__/HideVeil.d.ts +3 -0
- package/build/cjs/components/Drawer/__stories__/ResizableItem.d.ts +3 -0
- package/build/cjs/components/Drawer/__stories__/moc.d.ts +2 -0
- package/build/cjs/components/Drawer/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/Drawer/utils.d.ts +2 -2
- package/build/cjs/components/Footer/desktop/__stories__/Footer.stories.d.ts +8 -0
- package/build/cjs/components/Footer/desktop/__stories__/FooterShowcase.d.ts +4 -0
- package/build/cjs/components/Footer/desktop/__stories__/moc.d.ts +3 -0
- package/build/cjs/components/Footer/desktop/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/Footer/mobile/__stories__/MobileFooter.stories.d.ts +8 -0
- package/build/cjs/components/Footer/mobile/__stories__/MobileFooterShowcase.d.ts +4 -0
- package/build/cjs/components/Footer/mobile/__stories__/moc.d.ts +3 -0
- package/build/cjs/components/Footer/mobile/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/FooterItem/__stories__/FooterItem.stories.d.ts +6 -0
- package/build/cjs/components/FooterItem/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +5 -0
- package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +6 -0
- package/build/cjs/components/HotkeysPanel/__stories__/moc.d.ts +2 -0
- package/build/cjs/components/HotkeysPanel/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/Logo/Logo.d.ts +1 -1
- package/build/cjs/components/Logo/__stories__/Logo.stories.d.ts +6 -0
- package/build/cjs/components/Logo/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +6 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +2 -0
- package/build/cjs/components/MobileHeader/BurgerMenu/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/MobileHeader/MobileHeader.d.ts +2 -1
- package/build/cjs/components/MobileHeader/OverlapPanel/__stories__/OverlapPanel.stories.d.ts +6 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/__stories__/moc.d.ts +2 -0
- package/build/cjs/components/MobileHeader/OverlapPanel/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +4 -0
- package/build/cjs/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +3 -0
- package/build/cjs/components/MobileHeader/__stories__/moc.d.ts +1 -0
- package/build/cjs/components/MobileHeader/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/MobileHeader/i18n/index.d.ts +5 -1
- package/build/cjs/components/MobileHeader/types.d.ts +0 -1
- package/build/cjs/components/MobileLogo/__stories__/MobileLogo.stories.d.ts +6 -0
- package/build/cjs/components/MobileLogo/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/Settings/__stories__/Settings.stories.d.ts +5 -0
- package/build/cjs/components/Settings/__stories__/SettingsDemo.d.ts +14 -0
- package/build/cjs/components/Settings/__stories__/SettingsMobileDemo.d.ts +8 -0
- package/build/cjs/components/Settings/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/cjs/components/Settings/i18n/index.d.ts +5 -1
- package/build/cjs/components/Title/i18n/index.d.ts +5 -1
- package/build/cjs/components/TopAlert/TopAlert.d.ts +10 -0
- package/build/cjs/components/TopAlert/index.d.ts +1 -0
- package/build/cjs/components/TopAlert/useTopAlertHeight.d.ts +10 -0
- package/build/cjs/components/types.d.ts +4 -4
- package/build/cjs/{constants-d81c3867.js → constants-B0DLAQY9.js} +1 -1
- package/build/{esm/constants-b1604ff5.js.map → cjs/constants-B0DLAQY9.js.map} +1 -1
- package/build/cjs/debounce-RFF04eVR.js +660 -0
- package/build/{esm/debounce-64cd2b4c.js.map → cjs/debounce-RFF04eVR.js.map} +1 -1
- package/build/cjs/{divider-collapsed-b743122e.js → divider-collapsed-BLSp99lJ.js} +7 -9
- package/build/cjs/divider-collapsed-BLSp99lJ.js.map +1 -0
- package/build/cjs/hooks/useForwardRef.d.ts +1 -1
- package/build/cjs/index-B6c8DVdr.js +68 -0
- package/build/cjs/index-B6c8DVdr.js.map +1 -0
- package/build/cjs/index.js +4 -191
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index2.js +7 -6
- package/build/cjs/index2.js.map +1 -1
- package/build/cjs/index3.js +8 -8
- package/build/cjs/index4.js +12 -9
- package/build/cjs/index4.js.map +1 -1
- package/build/cjs/index5.js +12 -12
- package/build/cjs/index6.js +186 -15
- package/build/cjs/index6.js.map +1 -1
- package/build/cjs/{style-inject.es-dcee06b6.js → style-inject.es-CsU6UJbw.js} +2 -2
- package/build/cjs/style-inject.es-CsU6UJbw.js.map +1 -0
- package/build/cjs/{tslib.es6-705c6589.js → tslib.es6-D25eJ2i9.js} +33 -31
- package/build/cjs/tslib.es6-D25eJ2i9.js.map +1 -0
- package/build/cjs/utils-BrRoop7o.js +8 -0
- package/build/cjs/{utils-db3e03c2.js.map → utils-BrRoop7o.js.map} +1 -1
- package/build/esm/{ActionBar-834b178a.js → ActionBar-BD_roj92.js} +5 -5
- package/build/esm/{ActionBar-834b178a.js.map → ActionBar-BD_roj92.js.map} +1 -1
- package/build/esm/AsideFallback.js +5 -5
- package/build/esm/AsideFallback.js.map +1 -1
- package/build/esm/AsideHeader.js +11 -10
- package/build/esm/AsideHeader.js.map +1 -1
- package/build/esm/AsideHeaderContext.js.map +1 -1
- package/build/esm/{Content-f94ba85d.js → Content-c3e3OunO.js} +1 -1
- package/build/esm/{Content-f94ba85d.js.map → Content-c3e3OunO.js.map} +1 -1
- package/build/esm/Drawer.js +90 -784
- package/build/esm/Drawer.js.map +1 -1
- package/build/esm/{FooterItem-3cc816a3.js → FooterItem-BP7Ya02G.js} +43 -43
- package/build/esm/FooterItem-BP7Ya02G.js.map +1 -0
- package/build/esm/FooterItem.js +7 -6
- package/build/esm/FooterItem.js.map +1 -1
- package/build/esm/{HotkeysPanel-0576deee.js → HotkeysPanel-BiJ8VcX-.js} +4 -4
- package/build/esm/{HotkeysPanel-0576deee.js.map → HotkeysPanel-BiJ8VcX-.js.map} +1 -1
- package/build/esm/{Item-55899ec8.js → Item-BnjbUb88.js} +40 -44
- package/build/esm/Item-BnjbUb88.js.map +1 -0
- package/build/esm/PageLayout.js +8 -8
- package/build/esm/PageLayout.js.map +1 -1
- package/build/esm/{PageLayoutAside-5d010e96.js → PageLayoutAside-DQVfkCeA.js} +57 -108
- package/build/esm/PageLayoutAside-DQVfkCeA.js.map +1 -0
- package/build/esm/PageLayoutAside.js +10 -9
- package/build/esm/PageLayoutAside.js.map +1 -1
- package/build/esm/{Settings-e660a4c5.js → Settings-BPE0n6i2.js} +36 -24
- package/build/esm/{Settings-e660a4c5.js.map → Settings-BPE0n6i2.js.map} +1 -1
- package/build/esm/{Title-03b4255a.js → Title-CRlzgg4r.js} +4 -6
- package/build/esm/Title-CRlzgg4r.js.map +1 -0
- package/build/esm/_commonjsHelpers-BFTU3MAI.js +8 -0
- package/build/esm/_commonjsHelpers-BFTU3MAI.js.map +1 -0
- package/build/esm/{cn-ffe5e9f5.js → cn-CgiqTV3v.js} +1 -1
- package/build/esm/{cn-ffe5e9f5.js.map → cn-CgiqTV3v.js.map} +1 -1
- package/build/esm/components/ActionBar/ActionBar.d.ts +3 -3
- package/build/esm/components/ActionBar/__stories__/ActionBar.stories.d.ts +17 -0
- package/build/esm/components/ActionBar/__stories__/ActionBarShowcase.d.ts +2 -0
- package/build/esm/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +2 -0
- package/build/esm/components/ActionBar/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/ActionBar/types.d.ts +1 -1
- package/build/esm/components/AllPagesPanel/AllPagesListItem/AllPagesListItem.d.ts +0 -3
- package/build/esm/components/AllPagesPanel/i18n/index.d.ts +5 -1
- package/build/esm/components/AsideHeader/AsideHeaderContext.d.ts +1 -2
- package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +18 -0
- package/build/esm/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +14 -0
- package/build/esm/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +3 -0
- package/build/esm/components/AsideHeader/__stories__/moc.d.ts +6 -0
- package/build/esm/components/AsideHeader/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/AsideHeader/components/index.d.ts +0 -1
- package/build/esm/components/AsideHeader/i18n/index.d.ts +5 -1
- package/build/esm/components/AsideHeader/types.d.ts +3 -7
- package/build/esm/components/CompositeBar/CompositeBar.d.ts +1 -1
- package/build/esm/components/CompositeBar/HighlightedItem/HighlightedItem.d.ts +1 -1
- package/build/esm/components/CompositeBar/Item/Item.d.ts +15 -2
- package/build/esm/components/Drawer/__stories__/DisablePortal.d.ts +3 -0
- package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +7 -0
- package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +3 -0
- package/build/esm/components/Drawer/__stories__/HideVeil.d.ts +3 -0
- package/build/esm/components/Drawer/__stories__/ResizableItem.d.ts +3 -0
- package/build/esm/components/Drawer/__stories__/moc.d.ts +2 -0
- package/build/esm/components/Drawer/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/Drawer/utils.d.ts +2 -2
- package/build/esm/components/Footer/desktop/__stories__/Footer.stories.d.ts +8 -0
- package/build/esm/components/Footer/desktop/__stories__/FooterShowcase.d.ts +4 -0
- package/build/esm/components/Footer/desktop/__stories__/moc.d.ts +3 -0
- package/build/esm/components/Footer/desktop/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/Footer/mobile/__stories__/MobileFooter.stories.d.ts +8 -0
- package/build/esm/components/Footer/mobile/__stories__/MobileFooterShowcase.d.ts +4 -0
- package/build/esm/components/Footer/mobile/__stories__/moc.d.ts +3 -0
- package/build/esm/components/Footer/mobile/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/FooterItem/__stories__/FooterItem.stories.d.ts +6 -0
- package/build/esm/components/FooterItem/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +5 -0
- package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +6 -0
- package/build/esm/components/HotkeysPanel/__stories__/moc.d.ts +2 -0
- package/build/esm/components/HotkeysPanel/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/Logo/Logo.d.ts +1 -1
- package/build/esm/components/Logo/__stories__/Logo.stories.d.ts +6 -0
- package/build/esm/components/Logo/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +6 -0
- package/build/esm/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +2 -0
- package/build/esm/components/MobileHeader/BurgerMenu/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/MobileHeader/MobileHeader.d.ts +2 -1
- package/build/esm/components/MobileHeader/OverlapPanel/__stories__/OverlapPanel.stories.d.ts +6 -0
- package/build/esm/components/MobileHeader/OverlapPanel/__stories__/moc.d.ts +2 -0
- package/build/esm/components/MobileHeader/OverlapPanel/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +4 -0
- package/build/esm/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +3 -0
- package/build/esm/components/MobileHeader/__stories__/moc.d.ts +1 -0
- package/build/esm/components/MobileHeader/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/MobileHeader/i18n/index.d.ts +5 -1
- package/build/esm/components/MobileHeader/types.d.ts +0 -1
- package/build/esm/components/MobileLogo/__stories__/MobileLogo.stories.d.ts +6 -0
- package/build/esm/components/MobileLogo/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/Settings/__stories__/Settings.stories.d.ts +5 -0
- package/build/esm/components/Settings/__stories__/SettingsDemo.d.ts +14 -0
- package/build/esm/components/Settings/__stories__/SettingsMobileDemo.d.ts +8 -0
- package/build/esm/components/Settings/__tests__/helpersPlaywright.d.ts +1 -1
- package/build/esm/components/Settings/i18n/index.d.ts +5 -1
- package/build/esm/components/Title/i18n/index.d.ts +5 -1
- package/build/esm/components/TopAlert/TopAlert.d.ts +10 -0
- package/build/esm/components/TopAlert/index.d.ts +1 -0
- package/build/esm/components/TopAlert/useTopAlertHeight.d.ts +10 -0
- package/build/esm/components/types.d.ts +4 -4
- package/build/esm/{constants-b1604ff5.js → constants-ChYDZ5F2.js} +2 -2
- package/build/{cjs/constants-d81c3867.js.map → esm/constants-ChYDZ5F2.js.map} +1 -1
- package/build/esm/debounce-DW3XyyUs.js +658 -0
- package/build/{cjs/debounce-8772fd80.js.map → esm/debounce-DW3XyyUs.js.map} +1 -1
- package/build/esm/{divider-collapsed-a0ef54c3.js → divider-collapsed-BgKmR8h9.js} +4 -5
- package/build/esm/divider-collapsed-BgKmR8h9.js.map +1 -0
- package/build/esm/hooks/useForwardRef.d.ts +1 -1
- package/build/esm/index-BLdwsphX.js +66 -0
- package/build/esm/index-BLdwsphX.js.map +1 -0
- package/build/esm/index.js +4 -168
- package/build/esm/index.js.map +1 -1
- package/build/esm/index2.js +6 -3
- package/build/esm/index2.js.map +1 -1
- package/build/esm/index3.js +7 -5
- package/build/esm/index3.js.map +1 -1
- package/build/esm/index4.js +9 -6
- package/build/esm/index4.js.map +1 -1
- package/build/esm/index5.js +8 -7
- package/build/esm/index5.js.map +1 -1
- package/build/esm/index6.js +168 -9
- package/build/esm/index6.js.map +1 -1
- package/build/esm/{style-inject.es-1f59c1d0.js → style-inject.es-Bff-fD1R.js} +2 -2
- package/build/esm/style-inject.es-Bff-fD1R.js.map +1 -0
- package/build/esm/{tslib.es6-3cd4e99f.js → tslib.es6-BCqiemNI.js} +33 -31
- package/build/esm/tslib.es6-BCqiemNI.js.map +1 -0
- package/build/esm/utils-D0s6YtvW.js +6 -0
- package/build/esm/{utils-117463a5.js.map → utils-D0s6YtvW.js.map} +1 -1
- package/package.json +48 -45
- package/build/cjs/Content-64d5738a.js +0 -20
- package/build/cjs/FooterItem-de603636.js.map +0 -1
- package/build/cjs/Item-ff6bc440.js +0 -303
- package/build/cjs/Item-ff6bc440.js.map +0 -1
- package/build/cjs/PageLayoutAside-30f2015c.js.map +0 -1
- package/build/cjs/Title-54580605.js.map +0 -1
- package/build/cjs/TopPanel-c6b83157.js +0 -82
- package/build/cjs/TopPanel-c6b83157.js.map +0 -1
- package/build/cjs/components/AsideHeader/components/TopPanel.d.ts +0 -7
- package/build/cjs/components/AsideHeader/useAsideHeaderTopPanel.d.ts +0 -10
- package/build/cjs/debounce-8772fd80.js +0 -545
- package/build/cjs/divider-collapsed-b743122e.js.map +0 -1
- package/build/cjs/style-inject.es-dcee06b6.js.map +0 -1
- package/build/cjs/tslib.es6-705c6589.js.map +0 -1
- package/build/cjs/utils-db3e03c2.js +0 -8
- package/build/esm/FooterItem-3cc816a3.js.map +0 -1
- package/build/esm/Item-55899ec8.js.map +0 -1
- package/build/esm/PageLayoutAside-5d010e96.js.map +0 -1
- package/build/esm/Title-03b4255a.js.map +0 -1
- package/build/esm/TopPanel-cd270f27.js +0 -76
- package/build/esm/TopPanel-cd270f27.js.map +0 -1
- package/build/esm/components/AsideHeader/components/TopPanel.d.ts +0 -7
- package/build/esm/components/AsideHeader/useAsideHeaderTopPanel.d.ts +0 -10
- package/build/esm/debounce-64cd2b4c.js +0 -543
- package/build/esm/divider-collapsed-a0ef54c3.js.map +0 -1
- package/build/esm/style-inject.es-1f59c1d0.js.map +0 -1
- package/build/esm/tslib.es6-3cd4e99f.js.map +0 -1
- package/build/esm/utils-117463a5.js +0 -6
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-D25eJ2i9.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var uikit = require('@gravity-ui/uikit');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
6
|
+
var _commonjsHelpers = require('./_commonjsHelpers-BJu3ubxk.js');
|
|
7
|
+
var Title = require('./Title-CzxcSMoP.js');
|
|
8
|
+
var cn = require('./cn-DSlPZbcs.js');
|
|
9
|
+
var styleInject_es = require('./style-inject.es-CsU6UJbw.js');
|
|
10
|
+
var debounce = require('./debounce-RFF04eVR.js');
|
|
9
11
|
var i18n$1 = require('@gravity-ui/uikit/i18n');
|
|
10
|
-
var Title = require('./Title-54580605.js');
|
|
11
12
|
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
function _interopNamespace(e) {
|
|
15
|
-
if (e && e.__esModule) return e;
|
|
13
|
+
function _interopNamespaceDefault(e) {
|
|
16
14
|
var n = Object.create(null);
|
|
17
15
|
if (e) {
|
|
18
16
|
Object.keys(e).forEach(function (k) {
|
|
@@ -25,12 +23,11 @@ function _interopNamespace(e) {
|
|
|
25
23
|
}
|
|
26
24
|
});
|
|
27
25
|
}
|
|
28
|
-
n
|
|
26
|
+
n.default = e;
|
|
29
27
|
return Object.freeze(n);
|
|
30
28
|
}
|
|
31
29
|
|
|
32
|
-
var React__namespace = /*#__PURE__*/
|
|
33
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
30
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
34
31
|
|
|
35
32
|
function useStableCallback(func) {
|
|
36
33
|
const funcRef = React__namespace.useRef();
|
|
@@ -72,13 +69,13 @@ function getSettingsFromChildrenRecursive(children, basepath = '', filterRe) {
|
|
|
72
69
|
const pages = {};
|
|
73
70
|
let hasGroup = false;
|
|
74
71
|
let hasItems = false;
|
|
75
|
-
|
|
72
|
+
React.Children.forEach(children, (element) => {
|
|
76
73
|
var _a, _b;
|
|
77
|
-
if (!
|
|
74
|
+
if (!React.isValidElement(element)) {
|
|
78
75
|
// Ignore non-elements.
|
|
79
76
|
return;
|
|
80
77
|
}
|
|
81
|
-
if (element.type ===
|
|
78
|
+
if (element.type === React.Fragment) {
|
|
82
79
|
// Transparently support React.Fragment and its children.
|
|
83
80
|
const { menu: menuFragment, pages: pagesFragment } = getSettingsFromChildrenRecursive(element.props.children, basepath, filterRe);
|
|
84
81
|
menu.push(...menuFragment);
|
|
@@ -88,7 +85,7 @@ function getSettingsFromChildrenRecursive(children, basepath = '', filterRe) {
|
|
|
88
85
|
if (process.env.NODE_ENV === 'development') {
|
|
89
86
|
invariant(!hasItems, 'Setting menu must not mix groups and pages on one level');
|
|
90
87
|
}
|
|
91
|
-
const pageId = `${basepath}/${(_a = element.props.id) !== null && _a !==
|
|
88
|
+
const pageId = `${basepath}/${(_a = element.props.id) !== null && _a !== undefined ? _a : element.props.groupTitle}`;
|
|
92
89
|
hasGroup = true;
|
|
93
90
|
const { menu: menuFragment, pages: pagesFragment } = getSettingsFromChildrenRecursive(element.props.children, pageId, filterRe);
|
|
94
91
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -104,7 +101,7 @@ function getSettingsFromChildrenRecursive(children, basepath = '', filterRe) {
|
|
|
104
101
|
}
|
|
105
102
|
else {
|
|
106
103
|
hasItems = true;
|
|
107
|
-
const pageId = `${basepath}/${(_b = element.props.id) !== null && _b !==
|
|
104
|
+
const pageId = `${basepath}/${(_b = element.props.id) !== null && _b !== undefined ? _b : element.props.title}`;
|
|
108
105
|
if (process.env.NODE_ENV === 'development') {
|
|
109
106
|
invariant(Boolean(element.props.title), 'Component must include title prop');
|
|
110
107
|
invariant(!hasGroup, 'Setting menu must not mix groups and pages on one level');
|
|
@@ -125,12 +122,12 @@ function getSettingsFromChildrenRecursive(children, basepath = '', filterRe) {
|
|
|
125
122
|
}
|
|
126
123
|
function getSettingsPageFromChildren(children, filterRe) {
|
|
127
124
|
const page = { id: '', sections: [], hidden: true };
|
|
128
|
-
|
|
129
|
-
if (!
|
|
125
|
+
React.Children.forEach(children, (element) => {
|
|
126
|
+
if (!React.isValidElement(element)) {
|
|
130
127
|
// Ignore non-elements.
|
|
131
128
|
return;
|
|
132
129
|
}
|
|
133
|
-
if (element.type ===
|
|
130
|
+
if (element.type === React.Fragment) {
|
|
134
131
|
// Transparently support React.Fragment and its children.
|
|
135
132
|
const { sections, withBadge, hidden } = getSettingsPageFromChildren(element.props.children, filterRe);
|
|
136
133
|
page.sections.push(...sections);
|
|
@@ -153,12 +150,12 @@ function getSettingsPageFromChildren(children, filterRe) {
|
|
|
153
150
|
function getSettingsItemsFromChildren(children, filterRe) {
|
|
154
151
|
let hidden = true;
|
|
155
152
|
const items = [];
|
|
156
|
-
|
|
157
|
-
if (!
|
|
153
|
+
React.Children.forEach(children, (element) => {
|
|
154
|
+
if (!React.isValidElement(element)) {
|
|
158
155
|
// Ignore non-elements.
|
|
159
156
|
return;
|
|
160
157
|
}
|
|
161
|
-
if (element.type ===
|
|
158
|
+
if (element.type === React.Fragment) {
|
|
162
159
|
// Transparently support React.Fragment and its children.
|
|
163
160
|
const fragmentItems = getSettingsItemsFromChildren(element.props.children, filterRe);
|
|
164
161
|
items.push(...fragmentItems.items);
|
|
@@ -202,11 +199,11 @@ function getSelectedSettingsPart(pages, selection) {
|
|
|
202
199
|
}
|
|
203
200
|
|
|
204
201
|
const defaultValue = {};
|
|
205
|
-
const context =
|
|
202
|
+
const context = React.createContext(defaultValue);
|
|
206
203
|
context.displayName = 'SettingsSelectionContext';
|
|
207
204
|
function useSettingsSelectionProviderValue(pages, selection) {
|
|
208
|
-
const selectedRef =
|
|
209
|
-
const contextValue =
|
|
205
|
+
const selectedRef = React.useRef(null);
|
|
206
|
+
const contextValue = React.useMemo(() => {
|
|
210
207
|
if (!selection)
|
|
211
208
|
return { selectedRef };
|
|
212
209
|
return Object.assign({ selectedRef }, getSelectedSettingsPart(pages, selection));
|
|
@@ -215,7 +212,7 @@ function useSettingsSelectionProviderValue(pages, selection) {
|
|
|
215
212
|
}
|
|
216
213
|
const SettingsSelectionContextProvider = context.Provider;
|
|
217
214
|
function useSettingsSelectionContext() {
|
|
218
|
-
return
|
|
215
|
+
return React.useContext(context);
|
|
219
216
|
}
|
|
220
217
|
|
|
221
218
|
/**
|
|
@@ -235,11 +232,22 @@ function useSettingsSelectionContext() {
|
|
|
235
232
|
* // => true
|
|
236
233
|
*/
|
|
237
234
|
|
|
238
|
-
|
|
239
|
-
|
|
235
|
+
var identity_1;
|
|
236
|
+
var hasRequiredIdentity;
|
|
237
|
+
|
|
238
|
+
function requireIdentity () {
|
|
239
|
+
if (hasRequiredIdentity) return identity_1;
|
|
240
|
+
hasRequiredIdentity = 1;
|
|
241
|
+
function identity(value) {
|
|
242
|
+
return value;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
identity_1 = identity;
|
|
246
|
+
return identity_1;
|
|
240
247
|
}
|
|
241
248
|
|
|
242
|
-
var
|
|
249
|
+
var identityExports = requireIdentity();
|
|
250
|
+
var identity = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(identityExports);
|
|
243
251
|
|
|
244
252
|
function isSectionSelected(selected, pageId, section) {
|
|
245
253
|
var _a;
|
|
@@ -249,7 +257,7 @@ function isSectionSelected(selected, pageId, section) {
|
|
|
249
257
|
else if (selected.section.id && selected.section.id === section.id) {
|
|
250
258
|
return true;
|
|
251
259
|
}
|
|
252
|
-
else if (((_a = selected.page) === null || _a ===
|
|
260
|
+
else if (((_a = selected.page) === null || _a === undefined ? undefined : _a.id) === pageId &&
|
|
253
261
|
selected.section.title &&
|
|
254
262
|
selected.section.title === section.title) {
|
|
255
263
|
return true;
|
|
@@ -263,14 +271,14 @@ var css_248z$2 = ".gn-settings-menu__group-heading{display:inline-block;font-wei
|
|
|
263
271
|
styleInject_es.styleInject(css_248z$2);
|
|
264
272
|
|
|
265
273
|
const b$3 = cn.block('settings-menu');
|
|
266
|
-
const SettingsMenu =
|
|
274
|
+
const SettingsMenu = React.forwardRef(
|
|
267
275
|
// eslint-disable-next-line prefer-arrow-callback
|
|
268
276
|
function SettingsMenu({ items, onChange, activeItemId }, ref) {
|
|
269
|
-
const [focusItemId, setFocusId] =
|
|
270
|
-
const containerRef =
|
|
277
|
+
const [focusItemId, setFocusId] = React.useState();
|
|
278
|
+
const containerRef = React.useRef(null);
|
|
271
279
|
const handleChange = useStableCallback(onChange);
|
|
272
280
|
const getFocused = useCurrent(focusItemId);
|
|
273
|
-
|
|
281
|
+
React.useImperativeHandle(ref, () => ({
|
|
274
282
|
handleKeyDown(event) {
|
|
275
283
|
if (!containerRef.current) {
|
|
276
284
|
return false;
|
|
@@ -294,10 +302,10 @@ function SettingsMenu({ items, onChange, activeItemId }, ref) {
|
|
|
294
302
|
setFocusId(undefined);
|
|
295
303
|
},
|
|
296
304
|
}), [getFocused, handleChange]);
|
|
297
|
-
return (
|
|
305
|
+
return (React.createElement("div", { ref: containerRef, className: b$3() }, items.map((firstLevelItem) => {
|
|
298
306
|
if ('groupTitle' in firstLevelItem) {
|
|
299
|
-
return (
|
|
300
|
-
|
|
307
|
+
return (React.createElement("div", { key: firstLevelItem.groupTitle, className: b$3('group') },
|
|
308
|
+
React.createElement("span", { className: b$3('group-heading') }, firstLevelItem.groupTitle),
|
|
301
309
|
firstLevelItem.items.map((item) => {
|
|
302
310
|
return renderMenuItem(item, onChange, activeItemId, focusItemId);
|
|
303
311
|
})));
|
|
@@ -306,7 +314,7 @@ function SettingsMenu({ items, onChange, activeItemId }, ref) {
|
|
|
306
314
|
})));
|
|
307
315
|
});
|
|
308
316
|
function renderMenuItem(item, onChange, activeItemId, focusItemId) {
|
|
309
|
-
return (
|
|
317
|
+
return (React.createElement("span", { key: item.title, className: b$3('item', {
|
|
310
318
|
selected: activeItemId === item.id,
|
|
311
319
|
disabled: item.disabled,
|
|
312
320
|
focused: focusItemId === item.id,
|
|
@@ -316,8 +324,8 @@ function renderMenuItem(item, onChange, activeItemId, focusItemId) {
|
|
|
316
324
|
onChange(item.id);
|
|
317
325
|
}
|
|
318
326
|
}, "data-id": item.id },
|
|
319
|
-
item.icon ?
|
|
320
|
-
|
|
327
|
+
item.icon ? React.createElement(uikit.Icon, Object.assign({ size: 16 }, item.icon, { className: b$3('item-icon') })) : undefined,
|
|
328
|
+
React.createElement("span", null, item.title)));
|
|
321
329
|
}
|
|
322
330
|
function focusNext(container, focused, direction) {
|
|
323
331
|
var _a;
|
|
@@ -330,7 +338,7 @@ function focusNext(container, focused, direction) {
|
|
|
330
338
|
currentIndex = Array.prototype.findIndex.call(elements, (element) => element.getAttribute('data-id') === focused);
|
|
331
339
|
}
|
|
332
340
|
currentIndex = (elements.length + currentIndex + direction) % elements.length;
|
|
333
|
-
return (_a = elements[currentIndex].getAttribute('data-id')) !== null && _a !==
|
|
341
|
+
return (_a = elements[currentIndex].getAttribute('data-id')) !== null && _a !== undefined ? _a : undefined;
|
|
334
342
|
}
|
|
335
343
|
|
|
336
344
|
var css_248z$1 = ".gn-settings-menu-mobile.g-tabs_direction_horizontal{-ms-overflow-style:none;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:none;scrollbar-width:none}.gn-settings-menu-mobile.g-tabs_direction_horizontal::-webkit-scrollbar{display:none}.gn-settings-menu-mobile__item_badge{position:relative}.gn-settings-menu-mobile__item_badge:after{background-color:var(--g-color-text-danger);border-radius:50%;content:\"\";display:block;height:6px;position:absolute;right:-8px;top:11px;width:6px}";
|
|
@@ -338,8 +346,8 @@ styleInject_es.styleInject(css_248z$1);
|
|
|
338
346
|
|
|
339
347
|
const b$2 = cn.block('settings-menu-mobile');
|
|
340
348
|
const SettingsMenuMobile = ({ items, onChange, activeItemId, className, }) => {
|
|
341
|
-
const ref =
|
|
342
|
-
const tabItems =
|
|
349
|
+
const ref = React.useRef(null);
|
|
350
|
+
const tabItems = React.useMemo(() => {
|
|
343
351
|
const tabItems = [];
|
|
344
352
|
items.forEach((firstLevelItem) => {
|
|
345
353
|
if ('groupTitle' in firstLevelItem) {
|
|
@@ -360,8 +368,8 @@ const SettingsMenuMobile = ({ items, onChange, activeItemId, className, }) => {
|
|
|
360
368
|
const handleTouchMove = (e) => {
|
|
361
369
|
e.stopPropagation();
|
|
362
370
|
};
|
|
363
|
-
return (
|
|
364
|
-
|
|
371
|
+
return (React.createElement("div", { ref: ref, onTouchMove: handleTouchMove },
|
|
372
|
+
React.createElement(uikit.Tabs, { items: tabItems, className: b$2(null, className), size: "l", activeTab: activeItemId, onSelectTab: onChange })));
|
|
365
373
|
};
|
|
366
374
|
|
|
367
375
|
var label_title$1 = "Settings";
|
|
@@ -387,31 +395,31 @@ var i18n = i18n$1.addComponentKeysets({ en, ru }, `${cn.NAMESPACE}${COMPONENT}`)
|
|
|
387
395
|
|
|
388
396
|
const b$1 = cn.block('settings-search');
|
|
389
397
|
function SettingsSearch({ className, initialValue, onChange, debounce: debounce$1 = 200, inputRef, inputSize, placeholder, autoFocus = true, }) {
|
|
390
|
-
const [value, setValue] =
|
|
391
|
-
const onChangeDebounced = useStableCallback(debounce.
|
|
398
|
+
const [value, setValue] = React.useState(initialValue !== null && initialValue !== undefined ? initialValue : '');
|
|
399
|
+
const onChangeDebounced = useStableCallback(debounce.debounceFn(onChange, debounce$1));
|
|
392
400
|
const handleUpdate = useStableCallback((updated) => {
|
|
393
401
|
setValue(updated);
|
|
394
402
|
onChangeDebounced(updated);
|
|
395
403
|
});
|
|
396
|
-
return (
|
|
397
|
-
|
|
404
|
+
return (React.createElement("div", { className: b$1(null, className) },
|
|
405
|
+
React.createElement(uikit.TextInput, { value: value, controlRef: inputRef, hasClear: true, autoFocus: autoFocus, size: inputSize, placeholder: placeholder, onUpdate: handleUpdate, controlProps: {
|
|
398
406
|
'aria-label': i18n('label_search'),
|
|
399
407
|
} })));
|
|
400
408
|
}
|
|
401
409
|
|
|
402
|
-
var css_248z = ".gn-settings{display:grid;grid-template-columns:216px 1fr;height:100%;width:834px}.gn-settings_view_mobile{display:block;height:calc(80vh - 56px);overflow-x:hidden;width:auto}@supports (height:90dvh){.gn-settings_view_mobile{height:calc(90dvh - 56px)}}.gn-settings_view_mobile.gn-settings_loading{text-align:center}.gn-settings_view_mobile .gn-settings__loader{margin-top:20px}.gn-settings_view_mobile .gn-settings__search{margin:4px 0 16px;padding:0 20px}.gn-settings_view_mobile .gn-settings__page{overflow-y:visible}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:first-child{margin-left:20px}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:last-child{margin-right:20px}.gn-settings_view_mobile .gn-settings__section-heading{font-size:var(--g-text-subheader-3-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-3-line-height)}.gn-settings_view_mobile .gn-settings__section-subheader{color:var(--g-color-text-secondary)}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings-subheader{margin-top:8px}.gn-settings_view_mobile .gn-settings__section-item{margin-top:0}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings__section-item,.gn-settings_view_mobile .gn-settings__section-subheader+.gn-settings__section-item{margin-top:30px}.gn-settings_view_mobile .gn-settings__section-item+.gn-settings__section-item{margin-top:22px}.gn-settings_view_mobile .gn-settings__item:not(.gn-settings_view_mobile .gn-settings__item_mode_row){gap:8px;grid-template-columns:1fr}.gn-settings_view_mobile .gn-settings__item-heading{font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-2-line-height)}.gn-settings_view_mobile .gn-settings__item-description{font-size:var(--g-text-body-1-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-1-line-height)}.gn-settings_view_mobile .gn-settings__item_mode_row{grid-template-columns:1fr auto}.gn-settings_view_mobile .gn-settings__item_mode_row .gn-settings__item-heading{padding-right:20px}.gn-settings_view_mobile .gn-settings__item-content{width:100%}.gn-settings_view_mobile .gn-settings__not-found{color:var(--g-color-text-hint);font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);justify-items:start;line-height:var(--g-text-body-2-line-height);margin:20px 0 0 20px}.gn-settings_loading{grid-template-columns:auto}.gn-settings__loader{place-self:center}.gn-settings__not-found{display:grid;height:100%;place-items:center}.gn-settings__menu{border-right:1px solid var(--g-color-line-generic)}.gn-settings__heading{font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:20px 20px 0}.gn-settings__search{margin:0 20px 16px}.gn-settings__page{overflow-y:auto}.gn-settings__content{padding:20px}.gn-settings__section-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__section-heading:hover .gn-settings__section-right-adornment_hidden{opacity:1}.gn-settings__section-heading{font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:0}.gn-settings__section-item{margin-top:24px}.gn-settings__section+.gn-settings__section{margin-top:32px}.gn-settings__section_only-child:only-child .gn-settings__section-item:first-of-type{margin-top:0}.gn-settings__section_only-child:only-child .gn-settings__section-heading{display:none}.gn-settings__item{display:grid;grid-template-columns:216px 1fr;justify-items:start}.gn-settings__item_align_top{align-items:start}.gn-settings__item_align_center{align-items:center}.gn-settings__item-title_badge{position:relative}.gn-settings__item-title_badge:after{background-color:var(--g-color-text-danger);border-radius:50%;content:\"\";display:block;height:6px;position:absolute;right:-8px;top:1px;width:6px}.gn-settings__item-description{color:var(--g-color-text-secondary);display:block;font-size:var(--g-text-caption-2-font-size);font-weight:var(--g-text-caption-font-weight);line-height:var(--g-text-caption-2-line-height);margin-top:2px;padding-right:20px}.gn-settings__item-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__item:hover .gn-settings__item-right-adornment_hidden{opacity:1}.gn-settings__item_selected,.gn-settings__section_selected{background:var(--g-color-base-selection);border-radius:8px;margin-left:-8px;padding:8px}.gn-settings__found{background:var(--g-color-base-selection);font-weight:var(--g-text-accent-font-weight)}";
|
|
410
|
+
var css_248z = ".gn-settings{display:grid;grid-template-columns:216px 1fr;height:100%;width:834px}.gn-settings_view_mobile{display:block;height:calc(80vh - 56px);overflow-x:hidden;width:auto}@supports (height:90dvh){.gn-settings_view_mobile{height:calc(90dvh - 56px)}}.gn-settings_view_mobile.gn-settings_loading{text-align:center}.gn-settings_view_mobile .gn-settings__loader{margin-top:20px}.gn-settings_view_mobile .gn-settings__search{margin:4px 0 16px;padding:0 20px}.gn-settings_view_mobile .gn-settings__page{overflow-y:visible}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:first-child{margin-left:20px}.gn-settings_view_mobile .gn-settings__tabs .g-tabs__item:last-child{margin-right:20px}.gn-settings_view_mobile .gn-settings__section-heading{font-family:var(--g-text-subheader-font-family);font-size:var(--g-text-subheader-3-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-3-line-height)}.gn-settings_view_mobile .gn-settings__section-subheader{color:var(--g-color-text-secondary)}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings-subheader{margin-top:8px}.gn-settings_view_mobile .gn-settings__section-item{margin-top:0}.gn-settings_view_mobile .gn-settings__section-heading+.gn-settings__section-item,.gn-settings_view_mobile .gn-settings__section-subheader+.gn-settings__section-item{margin-top:30px}.gn-settings_view_mobile .gn-settings__section-item+.gn-settings__section-item{margin-top:22px}.gn-settings_view_mobile .gn-settings__item:not(.gn-settings_view_mobile .gn-settings__item_mode_row){gap:8px;grid-template-columns:1fr}.gn-settings_view_mobile .gn-settings__item-heading{font-family:var(--g-text-body-font-family);font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-2-line-height)}.gn-settings_view_mobile .gn-settings__item-description{font-family:var(--g-text-body-font-family);font-size:var(--g-text-body-1-font-size);font-weight:var(--g-text-body-font-weight);line-height:var(--g-text-body-1-line-height)}.gn-settings_view_mobile .gn-settings__item_mode_row{grid-template-columns:1fr auto}.gn-settings_view_mobile .gn-settings__item_mode_row .gn-settings__item-heading{padding-right:20px}.gn-settings_view_mobile .gn-settings__item-content{width:100%}.gn-settings_view_mobile .gn-settings__not-found{color:var(--g-color-text-hint);font-family:var(--g-text-body-font-family);font-size:var(--g-text-body-2-font-size);font-weight:var(--g-text-body-font-weight);justify-items:start;line-height:var(--g-text-body-2-line-height);margin:20px 0 0 20px}.gn-settings_loading{grid-template-columns:auto}.gn-settings__loader{place-self:center}.gn-settings__not-found{display:grid;height:100%;place-items:center}.gn-settings__menu{border-right:1px solid var(--g-color-line-generic)}.gn-settings__heading{font-family:var(--g-text-subheader-font-family);font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:20px 20px 0}.gn-settings__search{margin:0 20px 16px}.gn-settings__page{overflow-y:auto}.gn-settings__content{padding:20px}.gn-settings__section-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__section-heading:hover .gn-settings__section-right-adornment_hidden{opacity:1}.gn-settings__section-heading{font-family:var(--g-text-subheader-font-family);font-size:var(--g-text-subheader-2-font-size);font-weight:var(--g-text-subheader-font-weight);line-height:var(--g-text-subheader-2-line-height);margin:0}.gn-settings__section-item{margin-top:24px}.gn-settings__section+.gn-settings__section{margin-top:32px}.gn-settings__section_only-child:only-child .gn-settings__section-item:first-of-type{margin-top:0}.gn-settings__section_only-child:only-child .gn-settings__section-heading{display:none}.gn-settings__item{display:grid;grid-template-columns:216px 1fr;justify-items:start}.gn-settings__item_align_top{align-items:start}.gn-settings__item_align_center{align-items:center}.gn-settings__item-title_badge{position:relative}.gn-settings__item-title_badge:after{background-color:var(--g-color-text-danger);border-radius:50%;content:\"\";display:block;height:6px;position:absolute;right:-8px;top:1px;width:6px}.gn-settings__item-description{color:var(--g-color-text-secondary);display:block;font-family:var(--g-text-caption-font-family);font-size:var(--g-text-caption-2-font-size);font-weight:var(--g-text-caption-font-weight);line-height:var(--g-text-caption-2-line-height);margin-top:2px;padding-right:20px}.gn-settings__item-right-adornment_hidden{opacity:0;transition:opacity .2s}.gn-settings__item:hover .gn-settings__item-right-adornment_hidden{opacity:1}.gn-settings__item_selected,.gn-settings__section_selected{background:var(--g-color-base-selection);border-radius:8px;margin-left:-8px;padding:8px}.gn-settings__found{background:var(--g-color-base-selection);font-weight:var(--g-text-accent-font-weight)}";
|
|
403
411
|
styleInject_es.styleInject(css_248z);
|
|
404
412
|
|
|
405
413
|
const b = cn.block('settings');
|
|
406
|
-
const SettingsContext =
|
|
407
|
-
const useSettingsContext = () =>
|
|
414
|
+
const SettingsContext = React.createContext({});
|
|
415
|
+
const useSettingsContext = () => React.useContext(SettingsContext);
|
|
408
416
|
function Settings(_a) {
|
|
409
417
|
var { loading, renderLoading, children, view = 'normal', renderRightAdornment, renderSectionRightAdornment, showRightAdornmentOnHover = true } = _a, props = tslib_es6.__rest(_a, ["loading", "renderLoading", "children", "view", "renderRightAdornment", "renderSectionRightAdornment", "showRightAdornmentOnHover"]);
|
|
410
418
|
if (loading) {
|
|
411
|
-
return (
|
|
419
|
+
return (React.createElement("div", { className: b({ loading: true, view }) }, typeof renderLoading === 'function' ? (renderLoading()) : (React.createElement(uikit.Loader, { className: b('loader'), size: "m" }))));
|
|
412
420
|
}
|
|
413
|
-
return (
|
|
414
|
-
|
|
421
|
+
return (React.createElement(SettingsContext.Provider, { value: { renderRightAdornment, renderSectionRightAdornment, showRightAdornmentOnHover } },
|
|
422
|
+
React.createElement(SettingsContent, Object.assign({ view: view }, props), children)));
|
|
415
423
|
}
|
|
416
424
|
const getPageTitleById = (menu, activePage) => {
|
|
417
425
|
for (const firstLevel of menu) {
|
|
@@ -428,24 +436,24 @@ const getPageTitleById = (menu, activePage) => {
|
|
|
428
436
|
function SettingsContent({ initialPage, initialSearch, selection, children, renderNotFound, title = i18n('label_title'), filterPlaceholder = i18n('label_filter-placeholder'), emptyPlaceholder = i18n('label_empty-placeholder'), view, onPageChange, onClose, }) {
|
|
429
437
|
var _a, _b;
|
|
430
438
|
const { renderSectionRightAdornment, showRightAdornmentOnHover } = useSettingsContext();
|
|
431
|
-
const [search, setSearch] =
|
|
439
|
+
const [search, setSearch] = React.useState(initialSearch !== null && initialSearch !== undefined ? initialSearch : '');
|
|
432
440
|
const { menu, pages } = getSettingsFromChildren(children, search);
|
|
433
441
|
const selected = useSettingsSelectionProviderValue(pages, selection);
|
|
434
442
|
const pageKeys = Object.keys(pages);
|
|
435
443
|
const selectionInitialPage = selected.page && pageKeys.includes(selected.page.id) ? selected.page.id : undefined;
|
|
436
|
-
const [selectedPage, setCurrentPage] =
|
|
444
|
+
const [selectedPage, setCurrentPage] = React.useState(selectionInitialPage ||
|
|
437
445
|
(initialPage && pageKeys.includes(initialPage) ? initialPage : undefined));
|
|
438
|
-
const searchInputRef =
|
|
439
|
-
const menuRef =
|
|
446
|
+
const searchInputRef = React.useRef(null);
|
|
447
|
+
const menuRef = React.useRef(null);
|
|
440
448
|
const isMobile = view === 'mobile';
|
|
441
|
-
|
|
449
|
+
React.useEffect(() => {
|
|
442
450
|
var _a;
|
|
443
|
-
(_a = menuRef.current) === null || _a ===
|
|
451
|
+
(_a = menuRef.current) === null || _a === undefined ? undefined : _a.clearFocus();
|
|
444
452
|
}, [search]);
|
|
445
|
-
|
|
453
|
+
React.useEffect(() => {
|
|
446
454
|
const handler = () => {
|
|
447
455
|
var _a;
|
|
448
|
-
(_a = menuRef.current) === null || _a ===
|
|
456
|
+
(_a = menuRef.current) === null || _a === undefined ? undefined : _a.clearFocus();
|
|
449
457
|
};
|
|
450
458
|
window.addEventListener('click', handler);
|
|
451
459
|
return () => {
|
|
@@ -453,62 +461,62 @@ function SettingsContent({ initialPage, initialSearch, selection, children, rend
|
|
|
453
461
|
};
|
|
454
462
|
}, []);
|
|
455
463
|
let activePage = selectedPage;
|
|
456
|
-
if (!activePage || ((_a = pages[activePage]) === null || _a ===
|
|
457
|
-
activePage = (_b = Object.values(pages).find(({ hidden }) => !hidden)) === null || _b ===
|
|
464
|
+
if (!activePage || ((_a = pages[activePage]) === null || _a === undefined ? undefined : _a.hidden)) {
|
|
465
|
+
activePage = (_b = Object.values(pages).find(({ hidden }) => !hidden)) === null || _b === undefined ? undefined : _b.id;
|
|
458
466
|
}
|
|
459
467
|
const handlePageChange = (newPage) => {
|
|
460
468
|
setCurrentPage((prevPage) => {
|
|
461
469
|
if (prevPage !== newPage) {
|
|
462
|
-
onPageChange === null || onPageChange ===
|
|
470
|
+
onPageChange === null || onPageChange === undefined ? undefined : onPageChange(newPage);
|
|
463
471
|
}
|
|
464
472
|
return newPage;
|
|
465
473
|
});
|
|
466
474
|
};
|
|
467
|
-
|
|
475
|
+
React.useEffect(() => {
|
|
468
476
|
if (activePage !== selectedPage) {
|
|
469
477
|
handlePageChange(activePage);
|
|
470
478
|
}
|
|
471
479
|
});
|
|
472
|
-
|
|
480
|
+
React.useEffect(() => {
|
|
473
481
|
if (!selectionInitialPage)
|
|
474
482
|
return;
|
|
475
483
|
setCurrentPage(selectionInitialPage);
|
|
476
484
|
}, [selectionInitialPage]);
|
|
477
|
-
|
|
485
|
+
React.useEffect(() => {
|
|
478
486
|
var _a;
|
|
479
|
-
if ((_a = selected.selectedRef) === null || _a ===
|
|
487
|
+
if ((_a = selected.selectedRef) === null || _a === undefined ? undefined : _a.current) {
|
|
480
488
|
selected.selectedRef.current.scrollIntoView();
|
|
481
489
|
}
|
|
482
490
|
}, [selected.selectedRef]);
|
|
483
491
|
const renderSetting = ({ title: settingTitle, element }) => {
|
|
484
|
-
return (
|
|
492
|
+
return (React.createElement("div", { key: settingTitle, className: b('section-item') }, React.cloneElement(element, Object.assign(Object.assign({}, element.props), { highlightedTitle: search && settingTitle ? prepareTitle(settingTitle, search) : settingTitle }))));
|
|
485
493
|
};
|
|
486
494
|
const renderSection = (page, section) => {
|
|
487
495
|
const isSelected = isSectionSelected(selected, page, section);
|
|
488
|
-
return (
|
|
489
|
-
section.showTitle && (
|
|
496
|
+
return (React.createElement("div", { key: section.title, className: b('section', { selected: isSelected, 'only-child': section.onlyChild }), ref: isSelected ? selected.selectedRef : undefined },
|
|
497
|
+
section.showTitle && (React.createElement("h3", { className: b('section-heading') }, renderSectionRightAdornment ? (React.createElement(uikit.Flex, { gap: 2, alignItems: 'center' },
|
|
490
498
|
section.title,
|
|
491
|
-
|
|
499
|
+
React.createElement("div", { className: b('section-right-adornment', {
|
|
492
500
|
hidden: showRightAdornmentOnHover,
|
|
493
501
|
}) }, renderSectionRightAdornment(section)))) : (section.title))),
|
|
494
502
|
section.header &&
|
|
495
|
-
(isMobile ? (
|
|
503
|
+
(isMobile ? (React.createElement("div", { className: b('section-subheader') }, section.header)) : (section.header)),
|
|
496
504
|
section.items.map((setting) => (setting.hidden ? null : renderSetting(setting)))));
|
|
497
505
|
};
|
|
498
506
|
const renderPageContent = (page) => {
|
|
499
507
|
if (!page) {
|
|
500
|
-
return typeof renderNotFound === 'function' ? (renderNotFound()) : (
|
|
508
|
+
return typeof renderNotFound === 'function' ? (renderNotFound()) : (React.createElement("div", { className: b('not-found') }, emptyPlaceholder));
|
|
501
509
|
}
|
|
502
510
|
const filteredSections = pages[page].sections.filter((section) => !section.hidden);
|
|
503
|
-
return (
|
|
504
|
-
!isMobile && (
|
|
505
|
-
|
|
511
|
+
return (React.createElement(React.Fragment, null,
|
|
512
|
+
!isMobile && (React.createElement(Title.Title, { hasSeparator: true, onClose: onClose }, getPageTitleById(menu, page))),
|
|
513
|
+
React.createElement("div", { className: b('content') }, filteredSections.map((section) => renderSection(page, section)))));
|
|
506
514
|
};
|
|
507
|
-
return (
|
|
508
|
-
|
|
509
|
-
isMobile ? (
|
|
510
|
-
|
|
511
|
-
|
|
515
|
+
return (React.createElement(SettingsSelectionContextProvider, { value: selected },
|
|
516
|
+
React.createElement("div", { className: b({ view }) },
|
|
517
|
+
isMobile ? (React.createElement(React.Fragment, null,
|
|
518
|
+
React.createElement(SettingsSearch, { inputRef: searchInputRef, className: b('search'), initialValue: initialSearch, onChange: setSearch, autoFocus: false, inputSize: 'xl' }),
|
|
519
|
+
React.createElement(SettingsMenuMobile, { items: menu, onChange: handlePageChange, activeItemId: activePage, className: b('tabs') }))) : (React.createElement("div", { className: b('menu'), onClick: () => {
|
|
512
520
|
if (searchInputRef.current) {
|
|
513
521
|
searchInputRef.current.focus();
|
|
514
522
|
}
|
|
@@ -519,35 +527,35 @@ function SettingsContent({ initialPage, initialSearch, selection, children, rend
|
|
|
519
527
|
}
|
|
520
528
|
}
|
|
521
529
|
} },
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
530
|
+
React.createElement(Title.Title, null, title),
|
|
531
|
+
React.createElement(SettingsSearch, { inputRef: searchInputRef, className: b('search'), initialValue: initialSearch, onChange: setSearch, placeholder: filterPlaceholder, autoFocus: true }),
|
|
532
|
+
React.createElement(SettingsMenu, { ref: menuRef, items: menu, onChange: handlePageChange, activeItemId: activePage }))),
|
|
533
|
+
React.createElement("div", { className: b('page') }, renderPageContent(activePage)))));
|
|
526
534
|
}
|
|
527
535
|
Settings.Group = function SettingsGroup({ children }) {
|
|
528
|
-
return
|
|
536
|
+
return React.createElement(React.Fragment, null, children);
|
|
529
537
|
};
|
|
530
538
|
Settings.Page = function SettingsPage({ children }) {
|
|
531
|
-
return
|
|
539
|
+
return React.createElement(React.Fragment, null, children);
|
|
532
540
|
};
|
|
533
541
|
Settings.Section = function SettingsSection({ children }) {
|
|
534
|
-
return
|
|
542
|
+
return React.createElement(React.Fragment, null, children);
|
|
535
543
|
};
|
|
536
544
|
Settings.Item = function SettingsItem(setting) {
|
|
537
|
-
const { id, labelId, highlightedTitle, children, align = 'center', withBadge, renderTitleComponent =
|
|
545
|
+
const { id, labelId, highlightedTitle, children, align = 'center', withBadge, renderTitleComponent = identity, mode, description, } = setting;
|
|
538
546
|
const selected = useSettingsSelectionContext();
|
|
539
547
|
const isSettingSelected = selected.setting && selected.setting.id === id;
|
|
540
548
|
const { renderRightAdornment, showRightAdornmentOnHover } = useSettingsContext();
|
|
541
|
-
const titleNode = (
|
|
542
|
-
return (
|
|
543
|
-
|
|
544
|
-
renderRightAdornment ? (
|
|
549
|
+
const titleNode = (React.createElement("span", { className: b('item-title', { badge: withBadge }) }, renderTitleComponent(highlightedTitle)));
|
|
550
|
+
return (React.createElement("div", { className: b('item', { align, mode, selected: isSettingSelected }), ref: isSettingSelected ? selected.selectedRef : undefined },
|
|
551
|
+
React.createElement("label", { className: b('item-heading'), id: labelId },
|
|
552
|
+
renderRightAdornment ? (React.createElement(uikit.Flex, { className: b('item-title-wrapper'), gap: 3 },
|
|
545
553
|
titleNode,
|
|
546
|
-
|
|
554
|
+
React.createElement("div", { className: b('item-right-adornment', {
|
|
547
555
|
hidden: showRightAdornmentOnHover,
|
|
548
556
|
}) }, renderRightAdornment(setting)))) : (titleNode),
|
|
549
|
-
description ?
|
|
550
|
-
|
|
557
|
+
description ? React.createElement("span", { className: b('item-description') }, description) : null),
|
|
558
|
+
React.createElement("div", { className: b('item-content') }, children)));
|
|
551
559
|
};
|
|
552
560
|
function prepareTitle(string, search) {
|
|
553
561
|
let temp = string.slice(0);
|
|
@@ -563,7 +571,7 @@ function prepareTitle(string, search) {
|
|
|
563
571
|
if (i > 0) {
|
|
564
572
|
title.push(temp.slice(0, i));
|
|
565
573
|
}
|
|
566
|
-
title.push(
|
|
574
|
+
title.push(React.createElement("strong", { key: key++, className: b('found') }, m));
|
|
567
575
|
temp = temp.slice(i + m.length);
|
|
568
576
|
}
|
|
569
577
|
}
|
|
@@ -576,4 +584,4 @@ function prepareTitle(string, search) {
|
|
|
576
584
|
exports.Settings = Settings;
|
|
577
585
|
exports.useSettingsContext = useSettingsContext;
|
|
578
586
|
exports.useSettingsSelectionContext = useSettingsSelectionContext;
|
|
579
|
-
//# sourceMappingURL=Settings-
|
|
587
|
+
//# sourceMappingURL=Settings-D6-a2hgE.js.map
|