@diplodoc/components 4.11.2 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/components/BookmarkButton/BookmarkButton.css +1 -1
- package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +3 -3
- package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
- package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
- package/build/cjs/components/Contributors/Contributors.css.map +1 -1
- package/build/cjs/components/Control/Control.css.map +1 -1
- package/build/cjs/components/Control/Control.js +2 -1
- package/build/cjs/components/Control/Control.js.map +2 -2
- package/build/cjs/components/Controls/Controls.css.map +1 -1
- package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
- package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
- package/build/cjs/components/Controls/single-controls/LangControl/LangControl.js +4 -10
- package/build/cjs/components/Controls/single-controls/LangControl/LangControl.js.map +2 -2
- package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
- package/build/cjs/components/DocLayout/DocLayout.css +40 -4
- package/build/cjs/components/DocLayout/DocLayout.css.map +3 -3
- package/build/cjs/components/DocLeadingPage/DocLeadingPage.css +5 -0
- package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +3 -3
- package/build/cjs/components/DocPage/DocPage.css +56 -8
- package/build/cjs/components/DocPage/DocPage.css.map +3 -3
- package/build/cjs/components/DocPage/DocPage.js +43 -23
- package/build/cjs/components/DocPage/DocPage.js.map +2 -2
- package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
- package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
- package/build/cjs/components/Feedback/Feedback.css +17 -11
- package/build/cjs/components/Feedback/Feedback.css.map +3 -3
- package/build/cjs/components/Feedback/Feedback.js +6 -3
- package/build/cjs/components/Feedback/Feedback.js.map +2 -2
- package/build/cjs/components/Feedback/controls/DislikeControl.d.ts +1 -0
- package/build/cjs/components/Feedback/controls/DislikeControl.js +14 -1
- package/build/cjs/components/Feedback/controls/DislikeControl.js.map +2 -2
- package/build/cjs/components/Feedback/controls/LikeControl.d.ts +1 -0
- package/build/cjs/components/Feedback/controls/LikeControl.js +4 -2
- package/build/cjs/components/Feedback/controls/LikeControl.js.map +2 -2
- package/build/cjs/components/Mark/Mark.css.map +1 -1
- package/build/cjs/components/MiniToc/MiniToc.css +34 -3
- package/build/cjs/components/MiniToc/MiniToc.css.map +3 -3
- package/build/cjs/components/MiniToc/MiniToc.d.ts +1 -0
- package/build/cjs/components/MiniToc/MiniToc.js +33 -23
- package/build/cjs/components/MiniToc/MiniToc.js.map +2 -2
- package/build/cjs/components/MobileControls/MobileControl/MobileControl.css +43 -0
- package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +7 -0
- package/build/cjs/components/MobileControls/MobileControl/MobileControl.d.ts +15 -0
- package/build/cjs/components/MobileControls/MobileControl/MobileControl.js +93 -0
- package/build/cjs/components/MobileControls/MobileControl/MobileControl.js.map +7 -0
- package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css +38 -0
- package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +7 -0
- package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.d.ts +13 -0
- package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.js +73 -0
- package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.js.map +7 -0
- package/build/cjs/components/MobileControls/MobileControls.css +21 -0
- package/build/cjs/components/MobileControls/MobileControls.css.map +7 -0
- package/build/cjs/components/MobileControls/MobileControls.d.ts +10 -0
- package/build/cjs/components/MobileControls/MobileControls.js +118 -0
- package/build/cjs/components/MobileControls/MobileControls.js.map +7 -0
- package/build/cjs/components/MobileControls/index.d.ts +2 -0
- package/build/cjs/components/MobileControls/index.js +39 -0
- package/build/cjs/components/MobileControls/index.js.map +7 -0
- package/build/cjs/components/OutsideClick/OutsideClick.d.ts +4 -3
- package/build/cjs/components/OutsideClick/OutsideClick.js +4 -4
- package/build/cjs/components/OutsideClick/OutsideClick.js.map +2 -2
- package/build/cjs/components/Paginator/Paginator.css.map +1 -1
- package/build/cjs/components/Scrollspy/Scrollspy.d.ts +6 -0
- package/build/cjs/components/Scrollspy/Scrollspy.js +32 -0
- package/build/cjs/components/Scrollspy/Scrollspy.js.map +3 -3
- package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
- package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
- package/build/cjs/components/SearchPage/SearchPage.css.map +2 -2
- package/build/cjs/components/SearchSuggest/index.css.map +1 -1
- package/build/cjs/components/ShareButton/ShareButton.d.ts +16 -0
- package/build/cjs/components/ShareButton/ShareButton.js +69 -0
- package/build/cjs/components/ShareButton/ShareButton.js.map +7 -0
- package/build/cjs/components/ShareButton/index.d.ts +1 -0
- package/build/cjs/components/ShareButton/index.js +21 -0
- package/build/cjs/components/ShareButton/index.js.map +7 -0
- package/build/cjs/components/SubNavigation/SubNavigation.css +149 -0
- package/build/cjs/components/SubNavigation/SubNavigation.css.map +7 -0
- package/build/cjs/components/SubNavigation/SubNavigation.d.ts +19 -0
- package/build/cjs/components/SubNavigation/SubNavigation.js +188 -0
- package/build/cjs/components/SubNavigation/SubNavigation.js.map +7 -0
- package/build/cjs/components/SubNavigation/hooks/index.d.ts +2 -0
- package/build/cjs/components/SubNavigation/hooks/index.js +39 -0
- package/build/cjs/components/SubNavigation/hooks/index.js.map +7 -0
- package/build/cjs/components/SubNavigation/hooks/useMiniTocData.d.ts +8 -0
- package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js +53 -0
- package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js.map +7 -0
- package/build/cjs/components/SubNavigation/hooks/useVisibility.d.ts +2 -0
- package/build/cjs/components/SubNavigation/hooks/useVisibility.js +84 -0
- package/build/cjs/components/SubNavigation/hooks/useVisibility.js.map +7 -0
- package/build/cjs/components/SubNavigation/index.d.ts +2 -0
- package/build/cjs/components/SubNavigation/index.js +39 -0
- package/build/cjs/components/SubNavigation/index.js.map +7 -0
- package/build/cjs/components/Subscribe/Subscribe.css.map +2 -2
- package/build/cjs/components/Toc/Toc.css +35 -8
- package/build/cjs/components/Toc/Toc.css.map +3 -3
- package/build/cjs/components/TocItem/TocItem.css +7 -0
- package/build/cjs/components/TocItem/TocItem.css.map +3 -3
- package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
- package/build/cjs/components/TocNavPanel/TocNavPanel.css +27 -16
- package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +3 -3
- package/build/cjs/components/TocNavPanel/TocNavPanel.js +2 -1
- package/build/cjs/components/TocNavPanel/TocNavPanel.js.map +2 -2
- package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
- package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css +12 -0
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +7 -0
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.d.ts +11 -0
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.js +98 -0
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.js.map +7 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/index.d.ts +2 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/index.js +39 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/index.js.map +7 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.d.ts +8 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js +39 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js.map +7 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.d.ts +7 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js +51 -0
- package/build/cjs/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js.map +7 -0
- package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css +38 -0
- package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +7 -0
- package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.d.ts +8 -0
- package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.js +71 -0
- package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.js.map +7 -0
- package/build/cjs/components/navigation/Sidebar/Sidebar.css +51 -0
- package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +7 -0
- package/build/cjs/components/navigation/Sidebar/Sidebar.d.ts +8 -0
- package/build/cjs/components/navigation/Sidebar/Sidebar.js +73 -0
- package/build/cjs/components/navigation/Sidebar/Sidebar.js.map +7 -0
- package/build/cjs/components/navigation/SidebarContent/SidebarContent.css +57 -0
- package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +7 -0
- package/build/cjs/components/navigation/SidebarContent/SidebarContent.d.ts +27 -0
- package/build/cjs/components/navigation/SidebarContent/SidebarContent.js +107 -0
- package/build/cjs/components/navigation/SidebarContent/SidebarContent.js.map +7 -0
- package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css +31 -0
- package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +7 -0
- package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.d.ts +11 -0
- package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.js +61 -0
- package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.js.map +7 -0
- package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css +59 -0
- package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +7 -0
- package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.d.ts +8 -0
- package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.js +55 -0
- package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.js.map +7 -0
- package/build/cjs/components/navigation/hooks/index.d.ts +1 -0
- package/build/cjs/components/navigation/hooks/index.js +37 -0
- package/build/cjs/components/navigation/hooks/index.js.map +7 -0
- package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.d.ts +3 -0
- package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.js +60 -0
- package/build/cjs/components/navigation/hooks/useItemsWithCustomDropdowns.js.map +7 -0
- package/build/cjs/components/navigation/index.d.ts +12 -0
- package/build/cjs/components/navigation/index.js +54 -0
- package/build/cjs/components/navigation/index.js.map +7 -0
- package/build/cjs/constants.d.ts +5 -0
- package/build/cjs/constants.js +9 -1
- package/build/cjs/constants.js.map +2 -2
- package/build/cjs/hooks/index.d.ts +1 -0
- package/build/cjs/hooks/index.js +1 -0
- package/build/cjs/hooks/index.js.map +2 -2
- package/build/cjs/hooks/useShareHandler.d.ts +6 -0
- package/build/cjs/hooks/useShareHandler.js +51 -0
- package/build/cjs/hooks/useShareHandler.js.map +7 -0
- package/build/cjs/i18n/index.d.ts +13 -0
- package/build/cjs/i18n/index.js +9 -2
- package/build/cjs/i18n/index.js.map +2 -2
- package/build/cjs/index.d.ts +5 -1
- package/build/cjs/index.js +5 -1
- package/build/cjs/index.js.map +2 -2
- package/build/cjs/models/index.d.ts +13 -2
- package/build/cjs/models/index.js +1 -0
- package/build/cjs/models/index.js.map +2 -2
- package/build/esm/components/BookmarkButton/BookmarkButton.css +1 -1
- package/build/esm/components/BookmarkButton/BookmarkButton.css.map +3 -3
- package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
- package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
- package/build/esm/components/Contributors/Contributors.css.map +1 -1
- package/build/esm/components/Control/Control.css.map +1 -1
- package/build/esm/components/Control/Control.js +2 -1
- package/build/esm/components/Control/Control.js.map +2 -2
- package/build/esm/components/Controls/Controls.css.map +1 -1
- package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
- package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
- package/build/esm/components/Controls/single-controls/LangControl/LangControl.js +2 -8
- package/build/esm/components/Controls/single-controls/LangControl/LangControl.js.map +2 -2
- package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
- package/build/esm/components/DocLayout/DocLayout.css +40 -4
- package/build/esm/components/DocLayout/DocLayout.css.map +3 -3
- package/build/esm/components/DocLeadingPage/DocLeadingPage.css +5 -0
- package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +3 -3
- package/build/esm/components/DocPage/DocPage.css +56 -8
- package/build/esm/components/DocPage/DocPage.css.map +3 -3
- package/build/esm/components/DocPage/DocPage.js +45 -23
- package/build/esm/components/DocPage/DocPage.js.map +2 -2
- package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
- package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
- package/build/esm/components/Feedback/Feedback.css +17 -11
- package/build/esm/components/Feedback/Feedback.css.map +3 -3
- package/build/esm/components/Feedback/Feedback.js +6 -3
- package/build/esm/components/Feedback/Feedback.js.map +2 -2
- package/build/esm/components/Feedback/controls/DislikeControl.d.ts +1 -0
- package/build/esm/components/Feedback/controls/DislikeControl.js +14 -1
- package/build/esm/components/Feedback/controls/DislikeControl.js.map +2 -2
- package/build/esm/components/Feedback/controls/LikeControl.d.ts +1 -0
- package/build/esm/components/Feedback/controls/LikeControl.js +4 -2
- package/build/esm/components/Feedback/controls/LikeControl.js.map +2 -2
- package/build/esm/components/Mark/Mark.css.map +1 -1
- package/build/esm/components/MiniToc/MiniToc.css +34 -3
- package/build/esm/components/MiniToc/MiniToc.css.map +3 -3
- package/build/esm/components/MiniToc/MiniToc.d.ts +1 -0
- package/build/esm/components/MiniToc/MiniToc.js +33 -23
- package/build/esm/components/MiniToc/MiniToc.js.map +2 -2
- package/build/esm/components/MobileControls/MobileControl/MobileControl.css +43 -0
- package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +7 -0
- package/build/esm/components/MobileControls/MobileControl/MobileControl.d.ts +15 -0
- package/build/esm/components/MobileControls/MobileControl/MobileControl.js +62 -0
- package/build/esm/components/MobileControls/MobileControl/MobileControl.js.map +7 -0
- package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css +38 -0
- package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +7 -0
- package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.d.ts +13 -0
- package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.js +42 -0
- package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.js.map +7 -0
- package/build/esm/components/MobileControls/MobileControls.css +21 -0
- package/build/esm/components/MobileControls/MobileControls.css.map +7 -0
- package/build/esm/components/MobileControls/MobileControls.d.ts +10 -0
- package/build/esm/components/MobileControls/MobileControls.js +92 -0
- package/build/esm/components/MobileControls/MobileControls.js.map +7 -0
- package/build/esm/components/MobileControls/index.d.ts +2 -0
- package/build/esm/components/MobileControls/index.js +7 -0
- package/build/esm/components/MobileControls/index.js.map +7 -0
- package/build/esm/components/OutsideClick/OutsideClick.d.ts +4 -3
- package/build/esm/components/OutsideClick/OutsideClick.js +4 -4
- package/build/esm/components/OutsideClick/OutsideClick.js.map +2 -2
- package/build/esm/components/Paginator/Paginator.css.map +1 -1
- package/build/esm/components/Scrollspy/Scrollspy.d.ts +6 -0
- package/build/esm/components/Scrollspy/Scrollspy.js +32 -0
- package/build/esm/components/Scrollspy/Scrollspy.js.map +3 -3
- package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
- package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
- package/build/esm/components/SearchPage/SearchPage.css.map +2 -2
- package/build/esm/components/SearchSuggest/index.css.map +1 -1
- package/build/esm/components/ShareButton/ShareButton.d.ts +16 -0
- package/build/esm/components/ShareButton/ShareButton.js +41 -0
- package/build/esm/components/ShareButton/ShareButton.js.map +7 -0
- package/build/esm/components/ShareButton/index.d.ts +1 -0
- package/build/esm/components/ShareButton/index.js +3 -0
- package/build/esm/components/ShareButton/index.js.map +7 -0
- package/build/esm/components/SubNavigation/SubNavigation.css +149 -0
- package/build/esm/components/SubNavigation/SubNavigation.css.map +7 -0
- package/build/esm/components/SubNavigation/SubNavigation.d.ts +19 -0
- package/build/esm/components/SubNavigation/SubNavigation.js +160 -0
- package/build/esm/components/SubNavigation/SubNavigation.js.map +7 -0
- package/build/esm/components/SubNavigation/hooks/index.d.ts +2 -0
- package/build/esm/components/SubNavigation/hooks/index.js +8 -0
- package/build/esm/components/SubNavigation/hooks/index.js.map +7 -0
- package/build/esm/components/SubNavigation/hooks/useMiniTocData.d.ts +8 -0
- package/build/esm/components/SubNavigation/hooks/useMiniTocData.js +32 -0
- package/build/esm/components/SubNavigation/hooks/useMiniTocData.js.map +7 -0
- package/build/esm/components/SubNavigation/hooks/useVisibility.d.ts +2 -0
- package/build/esm/components/SubNavigation/hooks/useVisibility.js +63 -0
- package/build/esm/components/SubNavigation/hooks/useVisibility.js.map +7 -0
- package/build/esm/components/SubNavigation/index.d.ts +2 -0
- package/build/esm/components/SubNavigation/index.js +7 -0
- package/build/esm/components/SubNavigation/index.js.map +7 -0
- package/build/esm/components/Subscribe/Subscribe.css.map +2 -2
- package/build/esm/components/Toc/Toc.css +35 -8
- package/build/esm/components/Toc/Toc.css.map +3 -3
- package/build/esm/components/TocItem/TocItem.css +7 -0
- package/build/esm/components/TocItem/TocItem.css.map +3 -3
- package/build/esm/components/TocLable/TocLabel.css.map +1 -1
- package/build/esm/components/TocNavPanel/TocNavPanel.css +27 -16
- package/build/esm/components/TocNavPanel/TocNavPanel.css.map +3 -3
- package/build/esm/components/TocNavPanel/TocNavPanel.js +2 -1
- package/build/esm/components/TocNavPanel/TocNavPanel.js.map +2 -2
- package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
- package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css +12 -0
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +7 -0
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.d.ts +11 -0
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.js +74 -0
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.js.map +7 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/index.d.ts +2 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/index.js +8 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/index.js.map +7 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.d.ts +8 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js +18 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/useMainMenuOpenness.js.map +7 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.d.ts +7 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js +30 -0
- package/build/esm/components/navigation/CustomNavigation/hooks/useSidebarOpenness.js.map +7 -0
- package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css +38 -0
- package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +7 -0
- package/build/esm/components/navigation/MobileDropdown/MobileDropdown.d.ts +8 -0
- package/build/esm/components/navigation/MobileDropdown/MobileDropdown.js +46 -0
- package/build/esm/components/navigation/MobileDropdown/MobileDropdown.js.map +7 -0
- package/build/esm/components/navigation/Sidebar/Sidebar.css +51 -0
- package/build/esm/components/navigation/Sidebar/Sidebar.css.map +7 -0
- package/build/esm/components/navigation/Sidebar/Sidebar.d.ts +8 -0
- package/build/esm/components/navigation/Sidebar/Sidebar.js +42 -0
- package/build/esm/components/navigation/Sidebar/Sidebar.js.map +7 -0
- package/build/esm/components/navigation/SidebarContent/SidebarContent.css +57 -0
- package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +7 -0
- package/build/esm/components/navigation/SidebarContent/SidebarContent.d.ts +27 -0
- package/build/esm/components/navigation/SidebarContent/SidebarContent.js +83 -0
- package/build/esm/components/navigation/SidebarContent/SidebarContent.js.map +7 -0
- package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css +31 -0
- package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +7 -0
- package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.d.ts +11 -0
- package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.js +30 -0
- package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.js.map +7 -0
- package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css +59 -0
- package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +7 -0
- package/build/esm/components/navigation/ToMainMenu/ToMainMenu.d.ts +8 -0
- package/build/esm/components/navigation/ToMainMenu/ToMainMenu.js +24 -0
- package/build/esm/components/navigation/ToMainMenu/ToMainMenu.js.map +7 -0
- package/build/esm/components/navigation/hooks/index.d.ts +1 -0
- package/build/esm/components/navigation/hooks/index.js +6 -0
- package/build/esm/components/navigation/hooks/index.js.map +7 -0
- package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.d.ts +3 -0
- package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.js +42 -0
- package/build/esm/components/navigation/hooks/useItemsWithCustomDropdowns.js.map +7 -0
- package/build/esm/components/navigation/index.d.ts +12 -0
- package/build/esm/components/navigation/index.js +22 -0
- package/build/esm/components/navigation/index.js.map +7 -0
- package/build/esm/constants.d.ts +5 -0
- package/build/esm/constants.js +9 -1
- package/build/esm/constants.js.map +2 -2
- package/build/esm/hooks/index.d.ts +1 -0
- package/build/esm/hooks/index.js +1 -0
- package/build/esm/hooks/index.js.map +2 -2
- package/build/esm/hooks/useShareHandler.d.ts +6 -0
- package/build/esm/hooks/useShareHandler.js +30 -0
- package/build/esm/hooks/useShareHandler.js.map +7 -0
- package/build/esm/i18n/index.d.ts +13 -0
- package/build/esm/i18n/index.js +9 -2
- package/build/esm/i18n/index.js.map +2 -2
- package/build/esm/index.d.ts +5 -1
- package/build/esm/index.js +5 -1
- package/build/esm/index.js.map +2 -2
- package/build/esm/models/index.d.ts +13 -2
- package/build/esm/models/index.js +1 -0
- package/build/esm/models/index.js.map +2 -2
- package/build/index.css.map +2 -2
- package/build/themes/common/index.css +1 -0
- package/build/themes/common/index.css.map +3 -3
- package/package.json +4 -1
- package/src/i18n/en.json +8 -1
- package/src/i18n/ru.json +7 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/* src/components/MobileControls/MobileControlSheet/MobileControlSheet.scss */
|
|
2
|
+
.dc-mobile-control-sheet {
|
|
3
|
+
--g-sheet-content-padding: 0;
|
|
4
|
+
}
|
|
5
|
+
.dc-mobile-control-sheet__list {
|
|
6
|
+
padding: 4px 0;
|
|
7
|
+
padding-bottom: 34px;
|
|
8
|
+
}
|
|
9
|
+
.dc-mobile-control-sheet__list-item {
|
|
10
|
+
--g-focus-border-radius: 4px;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: start;
|
|
14
|
+
gap: 8px;
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
padding: 12px 20px;
|
|
18
|
+
border-radius: 4px;
|
|
19
|
+
border-radius: var(--g-focus-border-radius);
|
|
20
|
+
border: 0;
|
|
21
|
+
color: inherit;
|
|
22
|
+
cursor: inherit;
|
|
23
|
+
background-color: inherit;
|
|
24
|
+
font-family: inherit;
|
|
25
|
+
font-size: var(--g-text-body-2-font-size);
|
|
26
|
+
line-height: var(--g-text-body-2-line-height);
|
|
27
|
+
}
|
|
28
|
+
.dc-mobile-control-sheet__list-item:focus {
|
|
29
|
+
outline: 2px solid var(--g-color-line-focus);
|
|
30
|
+
outline-offset: -2px;
|
|
31
|
+
}
|
|
32
|
+
.dc-mobile-control-sheet__list-item:focus:not(:focus-visible) {
|
|
33
|
+
outline: 0;
|
|
34
|
+
}
|
|
35
|
+
[dir=rtl] .dc-mobile-control-sheet__list-item {
|
|
36
|
+
justify-content: end;
|
|
37
|
+
}
|
|
38
|
+
/*# sourceMappingURL=MobileControlSheet.css.map */
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/components/MobileControls/MobileControlSheet/home/runner/work/components/components/src/components/MobileControls/MobileControlSheet/MobileControlSheet.scss", "../../../../../src/components/MobileControls/MobileControlSheet/%3Cinput%20css%203XcFlj%3E", "../../../../../src/components/MobileControls/MobileControlSheet/home/runner/work/components/components/src/styles/mixins.scss"],
|
|
4
|
+
"sourcesContent": ["@import '../../../styles/mixins';\n@import '../../../styles/variables';\n\n.dc-mobile-control-sheet {\n --g-sheet-content-padding: 0;\n\n &__list {\n padding: 4px 0;\n padding-bottom: 34px;\n }\n\n &__list-item {\n --g-focus-border-radius: 4px;\n\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n\n width: 100%;\n height: 100%;\n padding: 12px 20px;\n\n border-radius: var(--g-focus-border-radius);\n border: 0;\n\n color: inherit;\n cursor: inherit;\n background-color: inherit;\n\n font-family: inherit;\n\n @include text-size(body-2);\n\n @include focusable(-2px);\n\n // fixes a bug where the button text remains at the beginning (left)\n // of the button on both dir='ltr' and dir='rtl'\n // * justify-content: flex-start - doesn't work\n [dir='rtl'] & {\n justify-content: end;\n }\n }\n}\n", ".dc-mobile-control-sheet {\n --g-sheet-content-padding: 0;\n}\n.dc-mobile-control-sheet__list {\n padding: 4px 0;\n padding-bottom: 34px;\n}\n.dc-mobile-control-sheet__list-item {\n --g-focus-border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: start;\n gap: 8px;\n width: 100%;\n height: 100%;\n padding: 12px 20px;\n border-radius: var(--g-focus-border-radius);\n border: 0;\n color: inherit;\n cursor: inherit;\n background-color: inherit;\n font-family: inherit;\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-mobile-control-sheet__list-item:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: -2px;\n}\n.dc-mobile-control-sheet__list-item:focus:not(:focus-visible) {\n outline: 0;\n}\n[dir=rtl] .dc-mobile-control-sheet__list-item {\n justify-content: end;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01vYmlsZUNvbnRyb2xzL01vYmlsZUNvbnRyb2xTaGVldCIsInNvdXJjZXMiOlsiTW9iaWxlQ29udHJvbFNoZWV0LnNjc3MiLCIuLi8uLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VDM0JKO0VBQ0E7O0FBNkJJO0VBQ0k7RUFDQSxnQkREZTs7QUNHbkI7RUFDSTs7QURDSjtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzL21peGlucyc7XG5AaW1wb3J0ICcuLi8uLi8uLi9zdHlsZXMvdmFyaWFibGVzJztcblxuLmRjLW1vYmlsZS1jb250cm9sLXNoZWV0IHtcbiAgICAtLWctc2hlZXQtY29udGVudC1wYWRkaW5nOiAwO1xuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzRweDtcbiAgICB9XG5cbiAgICAmX19saXN0LWl0ZW0ge1xuICAgICAgICAtLWctZm9jdXMtYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGdhcDogOHB4O1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcblxuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0yKTtcblxuICAgICAgICBAaW5jbHVkZSBmb2N1c2FibGUoLTJweCk7XG5cbiAgICAgICAgLy8gZml4ZXMgYSBidWcgd2hlcmUgdGhlIGJ1dHRvbiB0ZXh0IHJlbWFpbnMgYXQgdGhlIGJlZ2lubmluZyAobGVmdClcbiAgICAgICAgLy8gb2YgdGhlIGJ1dHRvbiBvbiBib3RoIGRpcj0nbHRyJyBhbmQgZGlyPSdydGwnXG4gICAgICAgIC8vICoganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0IC0gZG9lc24ndCB3b3JrXG4gICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3skaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7JGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */", "@import './variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n @include islands-focus();\n @include focusable(0, 'box-shadow');\n\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n @include text-size(display-3);\n font-weight: 500;\n\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n @include text-size(display-1);\n font-weight: 500;\n}\n\n@mixin heading3() {\n @include text-size(header-2);\n font-weight: 500;\n}\n\n@mixin heading4() {\n @include text-size(header-1);\n font-weight: 500;\n}\n\n@mixin heading5() {\n @include text-size(body-3);\n font-weight: 500;\n}\n\n@mixin heading6() {\n @include text-size(body-3);\n font-weight: 400;\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map-get($screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map-get($screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,CAAA;AACI,6BAAA;ACFJ;ADII,CAAA;AACI,WAAA,IAAA;AACA,kBAAA;ACFR;ADKI,CAAA;AACI,2BAAA;AAEA,WAAA;AACA,eAAA;AACA,mBAAA;AACA,OAAA;AAEA,SAAA;AACA,UAAA;AACA,WAAA,KAAA;AAEA,iBAAA;AAAA,iBAAA,IAAA;AACA,UAAA;AAEA,SAAA;AACA,UAAA;AACA,oBAAA;AAEA,eAAA;AE3BJ,aAAA,IAAA;AACA,eAAA,IAAA;ADoBJ;ACSQ,CFtBJ,kCEsBI;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;ADPZ;ACSQ,CF1BJ,kCE0BI,MAAA,KAAA;AACI,WAAA;ADPZ;ADQQ,CAAA,SAAA,CA5BJ;AA6BQ,mBAAA;ACNZ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ListItem } from '../../../models';
|
|
3
|
+
import './MobileControlSheet.scss';
|
|
4
|
+
export interface MobileControlSheetProps {
|
|
5
|
+
title: string;
|
|
6
|
+
items: ListItem[];
|
|
7
|
+
onItemClick: (value: string) => void;
|
|
8
|
+
isVisible: boolean;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
selectedItemIndex: number;
|
|
11
|
+
}
|
|
12
|
+
declare const MobileControlSheet: React.MemoExoticComponent<({ title, items, onItemClick, isVisible, onClose, selectedItemIndex, }: MobileControlSheetProps) => React.JSX.Element>;
|
|
13
|
+
export default MobileControlSheet;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/components/MobileControls/MobileControlSheet/MobileControlSheet.tsx
|
|
31
|
+
var MobileControlSheet_exports = {};
|
|
32
|
+
__export(MobileControlSheet_exports, {
|
|
33
|
+
default: () => MobileControlSheet_default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(MobileControlSheet_exports);
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_uikit = require("@gravity-ui/uikit");
|
|
38
|
+
var import_bem_cn_lite = __toESM(require("bem-cn-lite"));
|
|
39
|
+
var import_MobileControlSheet = require("./MobileControlSheet.css");
|
|
40
|
+
var LIST_ITEM_HEIGHT = 44;
|
|
41
|
+
var b = (0, import_bem_cn_lite.default)("dc-mobile-control-sheet");
|
|
42
|
+
var MobileControlSheet = (0, import_react.memo)(
|
|
43
|
+
({
|
|
44
|
+
title,
|
|
45
|
+
items,
|
|
46
|
+
onItemClick,
|
|
47
|
+
isVisible,
|
|
48
|
+
onClose,
|
|
49
|
+
selectedItemIndex
|
|
50
|
+
}) => {
|
|
51
|
+
const renderItem = (0, import_react.useCallback)(
|
|
52
|
+
(item) => /* @__PURE__ */ import_react.default.createElement("button", { className: b("list-item") }, item.text),
|
|
53
|
+
[]
|
|
54
|
+
);
|
|
55
|
+
return /* @__PURE__ */ import_react.default.createElement(import_uikit.Sheet, { title, className: b(), visible: isVisible, onClose }, /* @__PURE__ */ import_react.default.createElement(
|
|
56
|
+
import_uikit.List,
|
|
57
|
+
{
|
|
58
|
+
role: "list",
|
|
59
|
+
className: b("list"),
|
|
60
|
+
filterable: false,
|
|
61
|
+
items,
|
|
62
|
+
onItemClick: (item) => onItemClick(item.value),
|
|
63
|
+
itemHeight: LIST_ITEM_HEIGHT,
|
|
64
|
+
itemsHeight: LIST_ITEM_HEIGHT * items.length,
|
|
65
|
+
renderItem,
|
|
66
|
+
selectedItemIndex
|
|
67
|
+
}
|
|
68
|
+
));
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
MobileControlSheet.displayName = "MobileControlSheet";
|
|
72
|
+
var MobileControlSheet_default = MobileControlSheet;
|
|
73
|
+
//# sourceMappingURL=MobileControlSheet.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/components/MobileControls/MobileControlSheet/MobileControlSheet.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, {memo, useCallback} from 'react';\nimport {List, Sheet} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\n\nimport {ListItem} from '../../../models';\n\nimport './MobileControlSheet.scss';\n\nconst LIST_ITEM_HEIGHT = 44;\n\nconst b = block('dc-mobile-control-sheet');\n\nexport interface MobileControlSheetProps {\n title: string;\n items: ListItem[];\n onItemClick: (value: string) => void;\n isVisible: boolean;\n onClose: () => void;\n selectedItemIndex: number;\n}\n\nconst MobileControlSheet = memo(\n ({\n title,\n items,\n onItemClick,\n isVisible,\n onClose,\n selectedItemIndex,\n }: MobileControlSheetProps) => {\n const renderItem = useCallback(\n (item: ListItem) => <button className={b('list-item')}>{item.text}</button>,\n [],\n );\n\n return (\n <Sheet title={title} className={b()} visible={isVisible} onClose={onClose}>\n <List\n role={'list'}\n className={b('list')}\n filterable={false}\n items={items}\n onItemClick={(item: ListItem) => onItemClick(item.value)}\n itemHeight={LIST_ITEM_HEIGHT}\n itemsHeight={LIST_ITEM_HEIGHT * items.length}\n renderItem={renderItem}\n selectedItemIndex={selectedItemIndex}\n />\n </Sheet>\n );\n },\n);\n\nMobileControlSheet.displayName = 'MobileControlSheet';\n\nexport default MobileControlSheet;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuC;AACvC,mBAA0B;AAC1B,yBAAkB;AAIlB,gCAAO;AAEP,IAAM,mBAAmB;AAEzB,IAAM,QAAI,mBAAAA,SAAM,yBAAyB;AAWzC,IAAM,yBAAqB;AAAA,EACvB,CAAC;AAAA,IACG;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,MAA+B;AAC3B,UAAM,iBAAa;AAAA,MACf,CAAC,SAAmB,6BAAAC,QAAA,cAAC,YAAO,WAAW,EAAE,WAAW,KAAI,KAAK,IAAK;AAAA,MAClE,CAAC;AAAA,IACL;AAEA,WACI,6BAAAA,QAAA,cAAC,sBAAM,OAAc,WAAW,EAAE,GAAG,SAAS,WAAW,WACrD,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG,MAAM;AAAA,QACN,WAAW,EAAE,MAAM;AAAA,QACnB,YAAY;AAAA,QACZ;AAAA,QACA,aAAa,CAAC,SAAmB,YAAY,KAAK,KAAK;AAAA,QACvD,YAAY;AAAA,QACZ,aAAa,mBAAmB,MAAM;AAAA,QACtC;AAAA,QACA;AAAA;AAAA,IACJ,CACJ;AAAA,EAER;AACJ;AAEA,mBAAmB,cAAc;AAEjC,IAAO,6BAAQ;",
|
|
6
|
+
"names": ["block", "React"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* src/components/MobileControls/MobileControls.scss */
|
|
2
|
+
.dc-mobile-controls {
|
|
3
|
+
display: flex;
|
|
4
|
+
justify-content: space-between;
|
|
5
|
+
align-items: center;
|
|
6
|
+
height: 44px;
|
|
7
|
+
width: calc(100% - 2 * 16px);
|
|
8
|
+
box-sizing: content-box;
|
|
9
|
+
padding-top: 4px;
|
|
10
|
+
padding-bottom: 34px;
|
|
11
|
+
padding-left: 16px;
|
|
12
|
+
padding-right: 16px;
|
|
13
|
+
background-color: var(--g-color-base-background);
|
|
14
|
+
border-top: 1px solid var(--g-color-line-generic);
|
|
15
|
+
}
|
|
16
|
+
@media (min-width: 769px) {
|
|
17
|
+
.dc-mobile-controls {
|
|
18
|
+
display: none;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/*# sourceMappingURL=MobileControls.css.map */
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/MobileControls/home/runner/work/components/components/src/components/MobileControls/MobileControls.scss", "../../../../src/components/MobileControls/%3Cinput%20css%20MLFMtn%3E"],
|
|
4
|
+
"sourcesContent": ["@import '../../styles/variables.scss';\n@import '../../styles/mixins.scss';\n\n.dc-mobile-controls {\n $root: &;\n\n $padding-inline: 16px;\n\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n height: 44px;\n\n width: calc(100% - 2 * #{$padding-inline});\n\n box-sizing: content-box;\n padding-top: 4px;\n padding-bottom: 34px;\n padding-inline: $padding-inline;\n\n background-color: var(--g-color-base-background);\n\n border-top: 1px solid var(--g-color-line-generic);\n\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n", ".dc-mobile-controls {\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 44px;\n width: calc(100% - 2 * 16px);\n box-sizing: content-box;\n padding-top: 4px;\n padding-bottom: 34px;\n padding-inline: 16px;\n background-color: var(--g-color-base-background);\n border-top: 1px solid var(--g-color-line-generic);\n}\n@media (min-width: 769px) {\n .dc-mobile-controls {\n display: none;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01vYmlsZUNvbnRyb2xzIiwic291cmNlcyI6WyJNb2JpbGVDb250cm9scy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBS0k7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLGdCQWJpQjtFQWVqQjtFQUVBOztBQUVBO0VBdEJKO0lBdUJRIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlcy9taXhpbnMuc2Nzcyc7XG5cbi5kYy1tb2JpbGUtY29udHJvbHMge1xuICAgICRyb290OiAmO1xuXG4gICAgJHBhZGRpbmctaW5saW5lOiAxNnB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGhlaWdodDogNDRweDtcblxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogI3skcGFkZGluZy1pbmxpbmV9KTtcblxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM0cHg7XG4gICAgcGFkZGluZy1pbmxpbmU6ICRwYWRkaW5nLWlubGluZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIl19 */"],
|
|
5
|
+
"mappings": ";AAGA,CAAA;AAKI,WAAA;AACA,mBAAA;AACA,eAAA;AAEA,UAAA;AAEA,SAAA,KAAA,KAAA,EAAA,EAAA,EAAA;AAEA,cAAA;AACA,eAAA;AACA,kBAAA;AACA,gBAAA;AAAA,iBAAA;AAEA,oBAAA,IAAA;AAEA,cAAA,IAAA,MAAA,IAAA;ACXJ;ADaI,OAAA,CAAA,SAAA,EAAA;AAtBJ,GAAA;AAuBQ,aAAA;ACVN;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ControlSizes, ControlsProps, DocSettings, Lang } from '../..';
|
|
3
|
+
import './MobileControls.scss';
|
|
4
|
+
export interface MobileControlsProps {
|
|
5
|
+
controlSize: ControlSizes;
|
|
6
|
+
lang: Lang;
|
|
7
|
+
userSettings: DocSettings & ControlsProps;
|
|
8
|
+
}
|
|
9
|
+
declare const MobileControls: React.MemoExoticComponent<({ controlSize, lang, userSettings }: MobileControlsProps) => React.JSX.Element | null>;
|
|
10
|
+
export default MobileControls;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/components/MobileControls/MobileControls.tsx
|
|
31
|
+
var MobileControls_exports = {};
|
|
32
|
+
__export(MobileControls_exports, {
|
|
33
|
+
default: () => MobileControls_default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(MobileControls_exports);
|
|
36
|
+
var import_react = __toESM(require("react"));
|
|
37
|
+
var import_icons = require("@gravity-ui/icons");
|
|
38
|
+
var import_bem_cn_lite = __toESM(require("bem-cn-lite"));
|
|
39
|
+
var import_langs = __toESM(require("langs"));
|
|
40
|
+
var import__ = require("../..");
|
|
41
|
+
var import_hooks = require("../../hooks");
|
|
42
|
+
var import_MobileControl = __toESM(require("./MobileControl/MobileControl"));
|
|
43
|
+
var import_MobileControls = require("./MobileControls.css");
|
|
44
|
+
var b = (0, import_bem_cn_lite.default)("dc-mobile-controls");
|
|
45
|
+
var useLangControl = (t, lang, langs, onChangeLang) => {
|
|
46
|
+
const langItems = (0, import_react.useMemo)(() => {
|
|
47
|
+
const preparedLangs = (langs != null ? langs : import__.DEFAULT_LANGS).map((code) => {
|
|
48
|
+
const langData = import_langs.default.where("1", code);
|
|
49
|
+
return langData ? {
|
|
50
|
+
text: langData.local,
|
|
51
|
+
value: langData["1"]
|
|
52
|
+
} : void 0;
|
|
53
|
+
}).filter(Boolean);
|
|
54
|
+
return preparedLangs.length ? preparedLangs : import__.LEGACY_LANG_ITEMS;
|
|
55
|
+
}, [langs]);
|
|
56
|
+
const selectedItemIndex = (0, import_react.useMemo)(() => langs ? langs.indexOf(lang) : -1, [lang, langs]);
|
|
57
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
58
|
+
import_MobileControl.default,
|
|
59
|
+
{
|
|
60
|
+
name: "lang",
|
|
61
|
+
title: t("lang-text"),
|
|
62
|
+
Icon: import_icons.Globe,
|
|
63
|
+
selectedItem: lang,
|
|
64
|
+
selectedItemIndex,
|
|
65
|
+
displayItems: langItems,
|
|
66
|
+
onChangeValue: onChangeLang
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
var themes = [import__.Theme.Light, import__.Theme.Dark];
|
|
71
|
+
var useThemeControl = (t, theme, onChangeTheme) => {
|
|
72
|
+
const themesItems = (0, import_react.useMemo)(
|
|
73
|
+
() => themes.map((value) => {
|
|
74
|
+
const text = t(`label_${value}_theme`);
|
|
75
|
+
return {
|
|
76
|
+
text,
|
|
77
|
+
value
|
|
78
|
+
};
|
|
79
|
+
}),
|
|
80
|
+
[t]
|
|
81
|
+
);
|
|
82
|
+
const buttonLabel = (0, import_react.useMemo)(() => {
|
|
83
|
+
for (const item of themesItems) {
|
|
84
|
+
if (theme !== item.value) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
return t(`full_label_${item.value}_theme`);
|
|
88
|
+
}
|
|
89
|
+
return "";
|
|
90
|
+
}, [t, theme, themesItems]);
|
|
91
|
+
const selectedItemIndex = (0, import_react.useMemo)(() => theme ? themes.indexOf(theme) : -1, [theme]);
|
|
92
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
93
|
+
import_MobileControl.default,
|
|
94
|
+
{
|
|
95
|
+
name: "theme",
|
|
96
|
+
title: t("label_theme"),
|
|
97
|
+
buttonLabel,
|
|
98
|
+
Icon: import_icons.Sun,
|
|
99
|
+
selectedItem: theme,
|
|
100
|
+
selectedItemIndex,
|
|
101
|
+
displayItems: themesItems,
|
|
102
|
+
onChangeValue: onChangeTheme
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
};
|
|
106
|
+
var MobileControls = (0, import_react.memo)(({ controlSize, lang, userSettings }) => {
|
|
107
|
+
const { t } = (0, import_hooks.useTranslation)("controls");
|
|
108
|
+
const { onChangeLang, langs, onChangeTheme, theme } = userSettings;
|
|
109
|
+
const langControl = useLangControl(t, lang, langs, onChangeLang);
|
|
110
|
+
const themeControl = useThemeControl(t, theme != null ? theme : import__.Theme.Light, onChangeTheme);
|
|
111
|
+
if (!onChangeTheme && !onChangeLang) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className: b() }, /* @__PURE__ */ import_react.default.createElement(import__.ControlsLayout, { controlClassName: b("control"), controlSize }, themeControl, langControl));
|
|
115
|
+
});
|
|
116
|
+
MobileControls.displayName = "MobileControls";
|
|
117
|
+
var MobileControls_default = MobileControls;
|
|
118
|
+
//# sourceMappingURL=MobileControls.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/MobileControls/MobileControls.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, {memo, useMemo} from 'react';\nimport {Globe, Sun} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\nimport allLangs from 'langs';\nimport {KeyPrefix, Namespace, TFunction} from 'react-i18next';\n\nimport {\n ControlSizes,\n ControlsLayout,\n ControlsProps,\n DEFAULT_LANGS,\n DocSettings,\n LEGACY_LANG_ITEMS,\n Lang,\n Theme,\n} from '../..';\nimport {useTranslation} from '../../hooks';\nimport {ListItem, OnChangeValue} from '../../models';\n\nimport MobileControl from './MobileControl/MobileControl';\nimport './MobileControls.scss';\n\nconst b = block('dc-mobile-controls');\n\ntype UseTranslationReturnType = TFunction<Namespace<string>, KeyPrefix<Namespace<string>>>;\n\nexport interface MobileControlsProps {\n controlSize: ControlSizes;\n lang: Lang;\n userSettings: DocSettings & ControlsProps;\n}\n\nconst useLangControl = (\n t: UseTranslationReturnType,\n lang: Lang,\n langs?: Lang[],\n onChangeLang?: (lang: Lang) => void,\n) => {\n const langItems = useMemo(() => {\n const preparedLangs = (langs ?? DEFAULT_LANGS)\n .map((code) => {\n const langData = allLangs.where('1', code);\n\n return langData\n ? {\n text: langData.local,\n value: langData['1'],\n }\n : undefined;\n })\n .filter(Boolean) as ListItem[];\n\n return preparedLangs.length ? preparedLangs : LEGACY_LANG_ITEMS;\n }, [langs]);\n\n const selectedItemIndex = useMemo(() => (langs ? langs.indexOf(lang) : -1), [lang, langs]);\n\n return (\n <MobileControl\n name={'lang'}\n title={t('lang-text')}\n Icon={Globe}\n selectedItem={lang}\n selectedItemIndex={selectedItemIndex}\n displayItems={langItems}\n onChangeValue={onChangeLang as OnChangeValue}\n />\n );\n};\nconst themes = [Theme.Light, Theme.Dark];\n\nconst useThemeControl = (\n t: UseTranslationReturnType,\n theme: Theme,\n onChangeTheme?: (theme: Theme) => void,\n) => {\n const themesItems = useMemo(\n () =>\n themes.map((value) => {\n const text = t(`label_${value}_theme`);\n\n return {\n text,\n value,\n };\n }),\n [t],\n );\n\n const buttonLabel = useMemo(() => {\n for (const item of themesItems) {\n if (theme !== item.value) {\n continue;\n }\n\n return t(`full_label_${item.value}_theme`);\n }\n\n return '';\n }, [t, theme, themesItems]);\n\n const selectedItemIndex = useMemo(() => (theme ? themes.indexOf(theme) : -1), [theme]);\n\n return (\n <MobileControl\n name={'theme'}\n title={t('label_theme')}\n buttonLabel={buttonLabel}\n Icon={Sun}\n selectedItem={theme}\n selectedItemIndex={selectedItemIndex}\n displayItems={themesItems}\n onChangeValue={onChangeTheme as OnChangeValue}\n />\n );\n};\n\nconst MobileControls = memo(({controlSize, lang, userSettings}: MobileControlsProps) => {\n const {t} = useTranslation('controls');\n const {onChangeLang, langs, onChangeTheme, theme} = userSettings;\n\n const langControl = useLangControl(t, lang, langs, onChangeLang);\n const themeControl = useThemeControl(t, theme ?? Theme.Light, onChangeTheme);\n\n if (!onChangeTheme && !onChangeLang) {\n return null;\n }\n\n return (\n <div className={b()}>\n <ControlsLayout controlClassName={b('control')} controlSize={controlSize}>\n {themeControl}\n {langControl}\n </ControlsLayout>\n </div>\n );\n});\n\nMobileControls.displayName = 'MobileControls';\n\nexport default MobileControls;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,mBAAyB;AACzB,yBAAkB;AAClB,mBAAqB;AAGrB,eASO;AACP,mBAA6B;AAG7B,2BAA0B;AAC1B,4BAAO;AAEP,IAAM,QAAI,mBAAAA,SAAM,oBAAoB;AAUpC,IAAM,iBAAiB,CACnB,GACA,MACA,OACA,iBACC;AACD,QAAM,gBAAY,sBAAQ,MAAM;AAC5B,UAAM,iBAAiB,wBAAS,wBAC3B,IAAI,CAAC,SAAS;AACX,YAAM,WAAW,aAAAC,QAAS,MAAM,KAAK,IAAI;AAEzC,aAAO,WACD;AAAA,QACI,MAAM,SAAS;AAAA,QACf,OAAO,SAAS,GAAG;AAAA,MACvB,IACA;AAAA,IACV,CAAC,EACA,OAAO,OAAO;AAEnB,WAAO,cAAc,SAAS,gBAAgB;AAAA,EAClD,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,wBAAoB,sBAAQ,MAAO,QAAQ,MAAM,QAAQ,IAAI,IAAI,IAAK,CAAC,MAAM,KAAK,CAAC;AAEzF,SACI,6BAAAC,QAAA;AAAA,IAAC,qBAAAC;AAAA,IAAA;AAAA,MACG,MAAM;AAAA,MACN,OAAO,EAAE,WAAW;AAAA,MACpB,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,eAAe;AAAA;AAAA,EACnB;AAER;AACA,IAAM,SAAS,CAAC,eAAM,OAAO,eAAM,IAAI;AAEvC,IAAM,kBAAkB,CACpB,GACA,OACA,kBACC;AACD,QAAM,kBAAc;AAAA,IAChB,MACI,OAAO,IAAI,CAAC,UAAU;AAClB,YAAM,OAAO,EAAE,SAAS,KAAK,QAAQ;AAErC,aAAO;AAAA,QACH;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,IACL,CAAC,CAAC;AAAA,EACN;AAEA,QAAM,kBAAc,sBAAQ,MAAM;AAC9B,eAAW,QAAQ,aAAa;AAC5B,UAAI,UAAU,KAAK,OAAO;AACtB;AAAA,MACJ;AAEA,aAAO,EAAE,cAAc,KAAK,KAAK,QAAQ;AAAA,IAC7C;AAEA,WAAO;AAAA,EACX,GAAG,CAAC,GAAG,OAAO,WAAW,CAAC;AAE1B,QAAM,wBAAoB,sBAAQ,MAAO,QAAQ,OAAO,QAAQ,KAAK,IAAI,IAAK,CAAC,KAAK,CAAC;AAErF,SACI,6BAAAD,QAAA;AAAA,IAAC,qBAAAC;AAAA,IAAA;AAAA,MACG,MAAM;AAAA,MACN,OAAO,EAAE,aAAa;AAAA,MACtB;AAAA,MACA,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA,cAAc;AAAA,MACd,eAAe;AAAA;AAAA,EACnB;AAER;AAEA,IAAM,qBAAiB,mBAAK,CAAC,EAAC,aAAa,MAAM,aAAY,MAA2B;AACpF,QAAM,EAAC,EAAC,QAAI,6BAAe,UAAU;AACrC,QAAM,EAAC,cAAc,OAAO,eAAe,MAAK,IAAI;AAEpD,QAAM,cAAc,eAAe,GAAG,MAAM,OAAO,YAAY;AAC/D,QAAM,eAAe,gBAAgB,GAAG,wBAAS,eAAM,OAAO,aAAa;AAE3E,MAAI,CAAC,iBAAiB,CAAC,cAAc;AACjC,WAAO;AAAA,EACX;AAEA,SACI,6BAAAD,QAAA,cAAC,SAAI,WAAW,EAAE,KACd,6BAAAA,QAAA,cAAC,2BAAe,kBAAkB,EAAE,SAAS,GAAG,eAC3C,cACA,WACL,CACJ;AAER,CAAC;AAED,eAAe,cAAc;AAE7B,IAAO,yBAAQ;",
|
|
6
|
+
"names": ["block", "allLangs", "React", "MobileControl"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/components/MobileControls/index.ts
|
|
32
|
+
var MobileControls_exports = {};
|
|
33
|
+
__export(MobileControls_exports, {
|
|
34
|
+
MobileControls: () => import_MobileControls.default
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(MobileControls_exports);
|
|
37
|
+
var import_MobileControls = __toESM(require("./MobileControls"));
|
|
38
|
+
__reExport(MobileControls_exports, require("./MobileControls"), module.exports);
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/MobileControls/index.ts"],
|
|
4
|
+
"sourcesContent": ["export {default as MobileControls} from './MobileControls';\nexport * from './MobileControls';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAwC;AACxC,mCAAc,6BADd;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
1
|
+
import React, { PropsWithChildren, RefObject } from 'react';
|
|
2
|
+
import { ClassNameProps } from 'src/models';
|
|
3
|
+
export interface OutsideClickProps extends ClassNameProps {
|
|
3
4
|
onOutsideClick: () => void;
|
|
4
|
-
anchor?: HTMLElement | null;
|
|
5
|
+
anchor?: HTMLElement | RefObject<HTMLElement> | null;
|
|
5
6
|
}
|
|
6
7
|
export default class OutsideClick extends React.Component<PropsWithChildren<OutsideClickProps>> {
|
|
7
8
|
ref: React.RefObject<HTMLDivElement>;
|
|
@@ -44,9 +44,9 @@ var OutsideClick = class extends import_react.default.Component {
|
|
|
44
44
|
super(...arguments);
|
|
45
45
|
__publicField(this, "ref", (0, import_react.createRef)());
|
|
46
46
|
__publicField(this, "handleOutsideClick", (e) => {
|
|
47
|
-
var _a, _b;
|
|
47
|
+
var _a, _b, _c;
|
|
48
48
|
const { onOutsideClick, anchor } = this.props;
|
|
49
|
-
if (e.target && !(((_b = (_a = this.ref) == null ? void 0 : _a.current) == null ? void 0 : _b.contains(e.target)) || (anchor == null ? void 0 :
|
|
49
|
+
if (e.target && !(((_b = (_a = this.ref) == null ? void 0 : _a.current) == null ? void 0 : _b.contains(e.target)) || anchor && "contains" in anchor && anchor.contains(e.target) || anchor && "current" in anchor && ((_c = anchor.current) == null ? void 0 : _c.contains(e.target)))) {
|
|
50
50
|
onOutsideClick();
|
|
51
51
|
}
|
|
52
52
|
});
|
|
@@ -58,8 +58,8 @@ var OutsideClick = class extends import_react.default.Component {
|
|
|
58
58
|
document.removeEventListener("mousedown", this.handleOutsideClick);
|
|
59
59
|
}
|
|
60
60
|
render() {
|
|
61
|
-
const { children } = this.props;
|
|
62
|
-
return /* @__PURE__ */ import_react.default.createElement("div", { ref: this.ref }, children);
|
|
61
|
+
const { children, className } = this.props;
|
|
62
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className, ref: this.ref }, children);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
//# sourceMappingURL=OutsideClick.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/OutsideClick/OutsideClick.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, {PropsWithChildren, createRef} from 'react';\n\nexport interface OutsideClickProps {\n onOutsideClick: () => void;\n anchor?: HTMLElement | null;\n}\n\nexport default class OutsideClick extends React.Component<PropsWithChildren<OutsideClickProps>> {\n ref = createRef<HTMLDivElement>();\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleOutsideClick);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleOutsideClick);\n }\n\n render() {\n const {children} = this.props;\n return <div ref={this.ref}
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import React, {PropsWithChildren, RefObject, createRef} from 'react';\n\nimport {ClassNameProps} from 'src/models';\n\nexport interface OutsideClickProps extends ClassNameProps {\n onOutsideClick: () => void;\n anchor?: HTMLElement | RefObject<HTMLElement> | null;\n}\n\nexport default class OutsideClick extends React.Component<PropsWithChildren<OutsideClickProps>> {\n ref = createRef<HTMLDivElement>();\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleOutsideClick);\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleOutsideClick);\n }\n\n render() {\n const {children, className} = this.props;\n\n return (\n <div className={className} ref={this.ref}>\n {children}\n </div>\n );\n }\n\n handleOutsideClick = (e: MouseEvent) => {\n const {onOutsideClick, anchor} = this.props;\n\n if (\n e.target &&\n !(\n this.ref?.current?.contains(e.target as Node) ||\n (anchor && 'contains' in anchor && anchor.contains(e.target as Node)) ||\n (anchor && 'current' in anchor && anchor.current?.contains(e.target as Node))\n )\n ) {\n onOutsideClick();\n }\n };\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6D;AAS7D,IAAqB,eAArB,cAA0C,aAAAA,QAAM,UAAgD;AAAA,EAAhG;AAAA;AACI,mCAAM,wBAA0B;AAoBhC,8CAAqB,CAAC,MAAkB;AA9B5C;AA+BQ,YAAM,EAAC,gBAAgB,OAAM,IAAI,KAAK;AAEtC,UACI,EAAE,UACF,IACI,gBAAK,QAAL,mBAAU,YAAV,mBAAmB,SAAS,EAAE,YAC7B,UAAU,cAAc,UAAU,OAAO,SAAS,EAAE,MAAc,KAClE,UAAU,aAAa,YAAU,YAAO,YAAP,mBAAgB,SAAS,EAAE,WAEnE;AACE,uBAAe;AAAA,MACnB;AAAA,IACJ;AAAA;AAAA,EA/BA,oBAAoB;AAChB,aAAS,iBAAiB,aAAa,KAAK,kBAAkB;AAAA,EAClE;AAAA,EAEA,uBAAuB;AACnB,aAAS,oBAAoB,aAAa,KAAK,kBAAkB;AAAA,EACrE;AAAA,EAEA,SAAS;AACL,UAAM,EAAC,UAAU,UAAS,IAAI,KAAK;AAEnC,WACI,6BAAAA,QAAA,cAAC,SAAI,WAAsB,KAAK,KAAK,OAChC,QACL;AAAA,EAER;AAgBJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/Paginator/home/runner/work/components/components/src/components/Paginator/Paginator.scss", "../../../../src/components/Paginator/home/runner/work/components/components/src/styles/mixins.scss", "../../../../src/components/Paginator/%3Cinput%20css%
|
|
3
|
+
"sources": ["../../../../src/components/Paginator/home/runner/work/components/components/src/components/Paginator/Paginator.scss", "../../../../src/components/Paginator/home/runner/work/components/components/src/styles/mixins.scss", "../../../../src/components/Paginator/%3Cinput%20css%20K9j4dZ%3E"],
|
|
4
4
|
"sourcesContent": ["@import '../../styles/variables';\n@import '../../styles/mixins';\n\n.Paginator {\n $block: &;\n\n @include reset-list-style();\n\n display: flex;\n align-items: center;\n\n\n &__item {\n $item: &;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n min-width: 28px;\n min-height: 28px;\n margin: 4px;\n\n color: var(--g-color-text-primary);\n @include text-size(body-1);\n\n &_type {\n &_prev {\n margin: 4px 6px 4px 0;\n\n [dir='rtl'] & {\n transform: rotate(180deg);\n }\n }\n\n &_dots {\n min-width: 0;\n color: var(--g-color-text-secondary);\n }\n\n &_page {\n cursor: pointer;\n border-radius: 14px;\n\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n\n &#{$item}_active {\n color: var(--g-color-text-light-primary);\n background: var(--g-color-base-brand);\n cursor: default;\n }\n }\n\n &_next {\n margin: 4px 0 4px 6px;\n\n [dir='rtl'] & {\n transform: rotate(180deg);\n }\n }\n }\n }\n}\n", "@import './variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n @include islands-focus();\n @include focusable(0, 'box-shadow');\n\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n @include text-size(display-3);\n font-weight: 500;\n\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n @include text-size(display-1);\n font-weight: 500;\n}\n\n@mixin heading3() {\n @include text-size(header-2);\n font-weight: 500;\n}\n\n@mixin heading4() {\n @include text-size(header-1);\n font-weight: 500;\n}\n\n@mixin heading5() {\n @include text-size(body-3);\n font-weight: 500;\n}\n\n@mixin heading6() {\n @include text-size(body-3);\n font-weight: 400;\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map-get($screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map-get($screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n", ".Paginator {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n}\n.Paginator__item {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n min-height: 28px;\n margin: 4px;\n color: var(--g-color-text-primary);\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.Paginator__item_type_prev {\n margin: 4px 6px 4px 0;\n}\n[dir=rtl] .Paginator__item_type_prev {\n transform: rotate(180deg);\n}\n.Paginator__item_type_dots {\n min-width: 0;\n color: var(--g-color-text-secondary);\n}\n.Paginator__item_type_page {\n cursor: pointer;\n border-radius: 14px;\n}\n.Paginator__item_type_page:hover {\n background: var(--g-color-base-simple-hover);\n}\n.Paginator__item_type_page.Paginator__item_active {\n color: var(--g-color-text-light-primary);\n background: var(--g-color-base-brand);\n cursor: default;\n}\n.Paginator__item_type_next {\n margin: 4px 0 4px 6px;\n}\n[dir=rtl] .Paginator__item_type_next {\n transform: rotate(180deg);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1BhZ2luYXRvciIsInNvdXJjZXMiOlsiUGFnaW5hdG9yLnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUNLSTtFQUNBO0VBQ0E7RURGQTtFQUNBOztBQUdBO0VBR0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUNwQko7RUFDQTs7QUR1QlE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi9zdHlsZXMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlcy9taXhpbnMnO1xuXG4uUGFnaW5hdG9yIHtcbiAgICAkYmxvY2s6ICY7XG5cbiAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICAkaXRlbTogJjtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICBtYXJnaW46IDRweDtcblxuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0xKTtcblxuICAgICAgICAmX3R5cGUge1xuICAgICAgICAgICAgJl9wcmV2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG5cbiAgICAgICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfZG90cyB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9wYWdlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2Utc2ltcGxlLWhvdmVyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmI3skaXRlbX1fYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saWdodC1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLWJyYW5kKTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9uZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDRweCAwIDRweCA2cHg7XG5cbiAgICAgICAgICAgICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3skaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7JGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */"],
|
|
5
5
|
"mappings": ";AAGA,CAAA;ACKI,UAAA;AACA,WAAA;AACA,cAAA;ADFA,WAAA;AACA,eAAA;AEHJ;AFMI,CAAA;AAGI,WAAA;AACA,eAAA;AACA,mBAAA;AAEA,aAAA;AACA,cAAA;AACA,UAAA;AAEA,SAAA,IAAA;ACpBJ,aAAA,IAAA;AACA,eAAA,IAAA;ACaJ;AFUY,CAAA;AACI,UAAA,IAAA,IAAA,IAAA;AERhB;AFUgB,CAAA,SAAA,CAHJ;AAIQ,aAAA,OAAA;AERpB;AFYY,CAAA;AACI,aAAA;AACA,SAAA,IAAA;AEVhB;AFaY,CAAA;AACI,UAAA;AACA,iBAAA;AEXhB;AFagB,CAJJ,yBAII;AACI,cAAA,IAAA;AEXpB;AFcgB,CARJ,yBAQI,CAAA;AACI,SAAA,IAAA;AACA,cAAA,IAAA;AACA,UAAA;AEZpB;AFgBY,CAAA;AACI,UAAA,IAAA,EAAA,IAAA;AEdhB;AFgBgB,CAAA,SAAA,CAHJ;AAIQ,aAAA,OAAA;AEdpB;",
|
|
6
6
|
"names": []
|
|
@@ -3,15 +3,19 @@ import { Router } from '../../models';
|
|
|
3
3
|
import { InnerProps } from '../../utils';
|
|
4
4
|
interface ScrollspyDefaultProps {
|
|
5
5
|
currentClassName: string;
|
|
6
|
+
overflowedClassName: string;
|
|
6
7
|
sectionOffset: number;
|
|
7
8
|
headerHeight: number;
|
|
8
9
|
}
|
|
9
10
|
export interface ScrollspyProps extends Partial<ScrollspyDefaultProps>, Partial<HTMLProps<HTMLUListElement>> {
|
|
10
11
|
items: string[];
|
|
12
|
+
titles: string[];
|
|
11
13
|
children: ReactElement[];
|
|
12
14
|
router: Router;
|
|
13
15
|
onSectionClick?: (event: MouseEvent) => void;
|
|
16
|
+
onActiveItemTitleChange?: (title: string) => void;
|
|
14
17
|
className?: string;
|
|
18
|
+
overflowedClassName?: string;
|
|
15
19
|
scrollToListItem?: boolean;
|
|
16
20
|
}
|
|
17
21
|
interface ScrollspyState {
|
|
@@ -40,9 +44,11 @@ export declare class Scrollspy extends React.Component<ScrollspyInnerProps, Scro
|
|
|
40
44
|
private initSections;
|
|
41
45
|
private saveActiveItems;
|
|
42
46
|
private getViewState;
|
|
47
|
+
private getActiveItemTitle;
|
|
43
48
|
private handleScroll;
|
|
44
49
|
private handleScrollDebounced;
|
|
45
50
|
private pauseScrollHandler;
|
|
46
51
|
private handleSectionClick;
|
|
52
|
+
private checkListOverflow;
|
|
47
53
|
}
|
|
48
54
|
export {};
|
|
@@ -127,6 +127,22 @@ var Scrollspy = class extends import_react.default.Component {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
|
+
__publicField(this, "checkListOverflow", () => {
|
|
131
|
+
var _a, _b, _c;
|
|
132
|
+
const { containerRef, itemRefs } = this;
|
|
133
|
+
const { overflowedClassName } = this.props;
|
|
134
|
+
const containerHeight = (_b = (_a = containerRef.current) == null ? void 0 : _a.offsetHeight) != null ? _b : 0;
|
|
135
|
+
const itemsHeight = itemRefs.reduce(
|
|
136
|
+
(heightSum, item) => {
|
|
137
|
+
var _a2, _b2;
|
|
138
|
+
return heightSum + ((_b2 = (_a2 = item.current) == null ? void 0 : _a2.offsetHeight) != null ? _b2 : 0);
|
|
139
|
+
},
|
|
140
|
+
0
|
|
141
|
+
);
|
|
142
|
+
if (containerHeight < itemsHeight) {
|
|
143
|
+
(_c = containerRef.current) == null ? void 0 : _c.classList.add(overflowedClassName);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
130
146
|
this.state = {
|
|
131
147
|
targetItems: [],
|
|
132
148
|
inViewState: []
|
|
@@ -142,6 +158,7 @@ var Scrollspy = class extends import_react.default.Component {
|
|
|
142
158
|
if (containerEl) {
|
|
143
159
|
containerEl.addEventListener("scroll", this.updateScrollValues);
|
|
144
160
|
}
|
|
161
|
+
this.checkListOverflow();
|
|
145
162
|
}
|
|
146
163
|
componentDidUpdate(prevProps, prevState) {
|
|
147
164
|
const { items, router } = this.props;
|
|
@@ -236,7 +253,12 @@ var Scrollspy = class extends import_react.default.Component {
|
|
|
236
253
|
this.scrollToListItem();
|
|
237
254
|
}
|
|
238
255
|
saveActiveItems(hash) {
|
|
256
|
+
const { titles, onActiveItemTitleChange } = this.props;
|
|
239
257
|
const visibleItems = this.getViewState(hash);
|
|
258
|
+
const activeItemTitle = this.getActiveItemTitle(titles, visibleItems);
|
|
259
|
+
if (activeItemTitle && onActiveItemTitleChange) {
|
|
260
|
+
onActiveItemTitleChange(activeItemTitle);
|
|
261
|
+
}
|
|
240
262
|
this.setState({ inViewState: visibleItems });
|
|
241
263
|
}
|
|
242
264
|
getViewState(hash) {
|
|
@@ -277,6 +299,15 @@ var Scrollspy = class extends import_react.default.Component {
|
|
|
277
299
|
}
|
|
278
300
|
return isOneActive ? visibleItemOffset : inViewState;
|
|
279
301
|
}
|
|
302
|
+
getActiveItemTitle(titles, inViewState) {
|
|
303
|
+
for (const [index, isActive] of inViewState.entries()) {
|
|
304
|
+
if (!isActive) {
|
|
305
|
+
continue;
|
|
306
|
+
}
|
|
307
|
+
return titles[index];
|
|
308
|
+
}
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
280
311
|
pauseScrollHandler() {
|
|
281
312
|
this.scrollByClick = true;
|
|
282
313
|
window.removeEventListener("scroll", this.handleScroll);
|
|
@@ -285,6 +316,7 @@ var Scrollspy = class extends import_react.default.Component {
|
|
|
285
316
|
};
|
|
286
317
|
__publicField(Scrollspy, "defaultProps", {
|
|
287
318
|
currentClassName: "Scrollspy",
|
|
319
|
+
overflowedClassName: "Overflowed",
|
|
288
320
|
sectionOffset: 20,
|
|
289
321
|
headerHeight: 0
|
|
290
322
|
});
|