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