@foxford/navigation-ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.mdx +115 -0
- package/_virtual/preload-helper.js +57 -0
- package/footer/atoms/accordeon/assets/arrow-down.svg +1 -0
- package/footer/atoms/accordeon/index.d.ts +7 -0
- package/footer/atoms/accordeon/index.d.ts.map +1 -0
- package/footer/atoms/accordeon/index.js +23 -0
- package/footer/atoms/accordeon/styled.d.ts +20 -0
- package/footer/atoms/accordeon/styled.d.ts.map +1 -0
- package/footer/atoms/accordeon/styled.js +73 -0
- package/footer/atoms/license-link/index.d.ts +6 -0
- package/footer/atoms/license-link/index.d.ts.map +1 -0
- package/footer/atoms/license-link/index.js +17 -0
- package/footer/atoms/license-link/styled.d.ts +14 -0
- package/footer/atoms/license-link/styled.d.ts.map +1 -0
- package/footer/atoms/license-link/styled.js +19 -0
- package/footer/atoms/logo-sk/assets/sk_logo.svg +1 -0
- package/footer/atoms/logo-sk/index.d.ts +5 -0
- package/footer/atoms/logo-sk/index.d.ts.map +1 -0
- package/footer/atoms/logo-sk/index.js +16 -0
- package/footer/atoms/logo-sk/styled.d.ts +11 -0
- package/footer/atoms/logo-sk/styled.d.ts.map +1 -0
- package/footer/atoms/logo-sk/styled.js +15 -0
- package/footer/atoms/social-link/index.d.ts +8 -0
- package/footer/atoms/social-link/index.d.ts.map +1 -0
- package/footer/atoms/social-link/index.js +35 -0
- package/footer/contacts-column.d.ts +5 -0
- package/footer/contacts-column.d.ts.map +1 -0
- package/footer/contacts-column.js +105 -0
- package/footer/footer.d.ts +3 -0
- package/footer/footer.d.ts.map +1 -0
- package/footer/footer.js +77 -0
- package/footer/molecules/app-info/assets/fox-logo.svg +1 -0
- package/footer/molecules/app-info/index.d.ts +9 -0
- package/footer/molecules/app-info/index.d.ts.map +1 -0
- package/footer/molecules/app-info/index.js +59 -0
- package/footer/molecules/app-info/styled.d.ts +31 -0
- package/footer/molecules/app-info/styled.d.ts.map +1 -0
- package/footer/molecules/app-info/styled.js +101 -0
- package/footer/molecules/footer-logo/assets/logo-cobranding.svg +1 -0
- package/footer/molecules/footer-logo/assets/logo.svg +1 -0
- package/footer/molecules/footer-logo/index.d.ts +6 -0
- package/footer/molecules/footer-logo/index.d.ts.map +1 -0
- package/footer/molecules/footer-logo/index.js +27 -0
- package/footer/molecules/footer-menu/index.d.ts +12 -0
- package/footer/molecules/footer-menu/index.d.ts.map +1 -0
- package/footer/molecules/footer-menu/index.js +29 -0
- package/footer/molecules/geoposition/city-dialog-styled.d.ts +7 -0
- package/footer/molecules/geoposition/city-dialog-styled.d.ts.map +1 -0
- package/footer/molecules/geoposition/city-dialog-styled.js +30 -0
- package/footer/molecules/geoposition/city-dialog.d.ts +10 -0
- package/footer/molecules/geoposition/city-dialog.d.ts.map +1 -0
- package/footer/molecules/geoposition/city-dialog.js +85 -0
- package/footer/molecules/geoposition/index.d.ts +9 -0
- package/footer/molecules/geoposition/index.d.ts.map +1 -0
- package/footer/molecules/geoposition/index.js +41 -0
- package/footer/molecules/geoposition/styled.d.ts +8 -0
- package/footer/molecules/geoposition/styled.d.ts.map +1 -0
- package/footer/molecules/geoposition/styled.js +21 -0
- package/footer/molecules/geoposition/types.d.ts +5 -0
- package/footer/molecules/geoposition/types.d.ts.map +1 -0
- package/footer/molecules/onboarding-banner/assets/fox-table.svg +1 -0
- package/footer/molecules/onboarding-banner/index.d.ts +5 -0
- package/footer/molecules/onboarding-banner/index.d.ts.map +1 -0
- package/footer/molecules/onboarding-banner/index.js +45 -0
- package/footer/molecules/onboarding-banner/styled.d.ts +11 -0
- package/footer/molecules/onboarding-banner/styled.d.ts.map +1 -0
- package/footer/molecules/onboarding-banner/styled.js +40 -0
- package/footer/styled.d.ts +47 -0
- package/footer/styled.d.ts.map +1 -0
- package/footer/styled.js +121 -0
- package/footer/sub-footer-areas.d.ts +26 -0
- package/footer/sub-footer-areas.d.ts.map +1 -0
- package/footer/sub-footer-areas.js +96 -0
- package/footer/sub-footer-styled.d.ts +6 -0
- package/footer/sub-footer-styled.d.ts.map +1 -0
- package/footer/sub-footer-styled.js +70 -0
- package/footer/sub-footer.d.ts +5 -0
- package/footer/sub-footer.d.ts.map +1 -0
- package/footer/sub-footer.js +57 -0
- package/footer/types.d.ts +45 -0
- package/footer/types.d.ts.map +1 -0
- package/header/atoms/action-button/index.d.ts +16 -0
- package/header/atoms/action-button/index.d.ts.map +1 -0
- package/header/atoms/action-button/index.js +57 -0
- package/header/atoms/action-button/styled.d.ts +16 -0
- package/header/atoms/action-button/styled.d.ts.map +1 -0
- package/header/atoms/action-button/styled.js +75 -0
- package/header/atoms/avatar/index.d.ts +7 -0
- package/header/atoms/avatar/index.d.ts.map +1 -0
- package/header/atoms/avatar/index.js +16 -0
- package/header/atoms/avatar/styled.d.ts +7 -0
- package/header/atoms/avatar/styled.d.ts.map +1 -0
- package/header/atoms/avatar/styled.js +24 -0
- package/header/atoms/back-button/index.d.ts +5 -0
- package/header/atoms/back-button/index.d.ts.map +1 -0
- package/header/atoms/back-button/index.js +19 -0
- package/header/atoms/back-button/styled.d.ts +4 -0
- package/header/atoms/back-button/styled.d.ts.map +1 -0
- package/header/atoms/back-button/styled.js +12 -0
- package/header/atoms/bonus-button/index.d.ts +2 -0
- package/header/atoms/bonus-button/index.d.ts.map +1 -0
- package/header/atoms/bonus-button/index.js +13 -0
- package/header/atoms/close-button/index.d.ts +5 -0
- package/header/atoms/close-button/index.d.ts.map +1 -0
- package/header/atoms/close-button/index.js +13 -0
- package/header/atoms/close-button/styled.d.ts +4 -0
- package/header/atoms/close-button/styled.d.ts.map +1 -0
- package/header/atoms/close-button/styled.js +13 -0
- package/header/atoms/list-item/index.d.ts +12 -0
- package/header/atoms/list-item/index.d.ts.map +1 -0
- package/header/atoms/list-item/index.js +36 -0
- package/header/atoms/list-item/styled.d.ts +25 -0
- package/header/atoms/list-item/styled.d.ts.map +1 -0
- package/header/atoms/list-item/styled.js +51 -0
- package/header/atoms/list-spacer/index.d.ts +5 -0
- package/header/atoms/list-spacer/index.d.ts.map +1 -0
- package/header/atoms/list-spacer/index.js +18 -0
- package/header/atoms/list-title/index.d.ts +7 -0
- package/header/atoms/list-title/index.d.ts.map +1 -0
- package/header/atoms/list-title/index.js +24 -0
- package/header/atoms/list-title/styled.d.ts +11 -0
- package/header/atoms/list-title/styled.d.ts.map +1 -0
- package/header/atoms/list-title/styled.js +31 -0
- package/header/atoms/login-button/index.d.ts +2 -0
- package/header/atoms/login-button/index.d.ts.map +1 -0
- package/header/atoms/login-button/index.js +15 -0
- package/header/atoms/logout-button/index.d.ts +5 -0
- package/header/atoms/logout-button/index.d.ts.map +1 -0
- package/header/atoms/logout-button/index.js +16 -0
- package/header/atoms/onboarding-segment-item/assets/fox.svg +1 -0
- package/header/atoms/onboarding-segment-item/index.d.ts +5 -0
- package/header/atoms/onboarding-segment-item/index.d.ts.map +1 -0
- package/header/atoms/onboarding-segment-item/index.js +22 -0
- package/header/atoms/onboarding-segment-item/styled.d.ts +16 -0
- package/header/atoms/onboarding-segment-item/styled.d.ts.map +1 -0
- package/header/atoms/onboarding-segment-item/styled.js +34 -0
- package/header/atoms/profile-balance/index.d.ts +12 -0
- package/header/atoms/profile-balance/index.d.ts.map +1 -0
- package/header/atoms/profile-balance/index.js +37 -0
- package/header/atoms/profile-balance/styled.d.ts +10 -0
- package/header/atoms/profile-balance/styled.d.ts.map +1 -0
- package/header/atoms/profile-balance/styled.js +19 -0
- package/header/atoms/profile-info/index.d.ts +9 -0
- package/header/atoms/profile-info/index.d.ts.map +1 -0
- package/header/atoms/profile-info/index.js +32 -0
- package/header/atoms/profile-info/styled.d.ts +4 -0
- package/header/atoms/profile-info/styled.d.ts.map +1 -0
- package/header/atoms/profile-info/styled.js +8 -0
- package/header/atoms/profile-menu-item/index.d.ts +13 -0
- package/header/atoms/profile-menu-item/index.d.ts.map +1 -0
- package/header/atoms/profile-menu-item/index.js +52 -0
- package/header/atoms/profile-menu-item/styled.d.ts +15 -0
- package/header/atoms/profile-menu-item/styled.d.ts.map +1 -0
- package/header/atoms/profile-menu-item/styled.js +47 -0
- package/header/atoms/scrollbar/index.d.ts +6 -0
- package/header/atoms/scrollbar/index.d.ts.map +1 -0
- package/header/atoms/scrollbar/index.js +33 -0
- package/header/atoms/scrollbar/styled.d.ts +4 -0
- package/header/atoms/scrollbar/styled.d.ts.map +1 -0
- package/header/atoms/scrollbar/styled.js +15 -0
- package/header/atoms/segment-list-item/index.d.ts +8 -0
- package/header/atoms/segment-list-item/index.d.ts.map +1 -0
- package/header/atoms/segment-list-item/index.js +21 -0
- package/header/atoms/segment-list-item/styled.d.ts +6 -0
- package/header/atoms/segment-list-item/styled.d.ts.map +1 -0
- package/header/atoms/segment-list-item/styled.js +22 -0
- package/header/atoms/segment-title/index.d.ts +8 -0
- package/header/atoms/segment-title/index.d.ts.map +1 -0
- package/header/atoms/segment-title/index.js +18 -0
- package/header/atoms/segment-title/styled.d.ts +8 -0
- package/header/atoms/segment-title/styled.d.ts.map +1 -0
- package/header/atoms/segment-title/styled.js +32 -0
- package/header/atoms/user-profile/index.d.ts +9 -0
- package/header/atoms/user-profile/index.d.ts.map +1 -0
- package/header/atoms/user-profile/index.js +46 -0
- package/header/atoms/user-profile/styled.d.ts +14 -0
- package/header/atoms/user-profile/styled.d.ts.map +1 -0
- package/header/atoms/user-profile/styled.js +41 -0
- package/header/header-desktop.d.ts +5 -0
- package/header/header-desktop.d.ts.map +1 -0
- package/header/header-desktop.js +79 -0
- package/header/header-mobile.d.ts +5 -0
- package/header/header-mobile.d.ts.map +1 -0
- package/header/header-mobile.js +66 -0
- package/header/molecules/adaptive-button/index.d.ts +6 -0
- package/header/molecules/adaptive-button/index.d.ts.map +1 -0
- package/header/molecules/adaptive-button/index.js +16 -0
- package/header/molecules/bonuses/index.d.ts +7 -0
- package/header/molecules/bonuses/index.d.ts.map +1 -0
- package/header/molecules/bonuses/index.js +40 -0
- package/header/molecules/bonuses/styled.d.ts +16 -0
- package/header/molecules/bonuses/styled.d.ts.map +1 -0
- package/header/molecules/bonuses/styled.js +38 -0
- package/header/molecules/cart-button/index.d.ts +9 -0
- package/header/molecules/cart-button/index.d.ts.map +1 -0
- package/header/molecules/cart-button/styled.d.ts +6 -0
- package/header/molecules/cart-button/styled.d.ts.map +1 -0
- package/header/molecules/container/index.d.ts +11 -0
- package/header/molecules/container/index.d.ts.map +1 -0
- package/header/molecules/container/index.js +38 -0
- package/header/molecules/container/styled.d.ts +11 -0
- package/header/molecules/container/styled.d.ts.map +1 -0
- package/header/molecules/container/styled.js +43 -0
- package/header/molecules/entry-panel/index.d.ts +8 -0
- package/header/molecules/entry-panel/index.d.ts.map +1 -0
- package/header/molecules/entry-panel/index.js +27 -0
- package/header/molecules/entry-panel/styled.d.ts +10 -0
- package/header/molecules/entry-panel/styled.d.ts.map +1 -0
- package/header/molecules/entry-panel/styled.js +21 -0
- package/header/molecules/externat-buttons/index.d.ts +8 -0
- package/header/molecules/externat-buttons/index.d.ts.map +1 -0
- package/header/molecules/externat-buttons/index.js +36 -0
- package/header/molecules/externat-buttons/styled.d.ts +30 -0
- package/header/molecules/externat-buttons/styled.d.ts.map +1 -0
- package/header/molecules/externat-buttons/styled.js +94 -0
- package/header/molecules/header-logo/assets/foxford.svg +1 -0
- package/header/molecules/header-logo/assets/foxford_mobile.svg +1 -0
- package/header/molecules/header-logo/assets/logo-cobranding.svg +1 -0
- package/header/molecules/header-logo/base-logo.d.ts +2 -0
- package/header/molecules/header-logo/base-logo.d.ts.map +1 -0
- package/header/molecules/header-logo/base-logo.js +24 -0
- package/header/molecules/header-logo/cobranding-logo.d.ts +2 -0
- package/header/molecules/header-logo/cobranding-logo.d.ts.map +1 -0
- package/header/molecules/header-logo/cobranding-logo.js +29 -0
- package/header/molecules/header-logo/index.d.ts +7 -0
- package/header/molecules/header-logo/index.d.ts.map +1 -0
- package/header/molecules/header-logo/index.js +20 -0
- package/header/molecules/header-logo/styled.d.ts +23 -0
- package/header/molecules/header-logo/styled.d.ts.map +1 -0
- package/header/molecules/header-logo/styled.js +46 -0
- package/header/molecules/list/index.d.ts +7 -0
- package/header/molecules/list/index.d.ts.map +1 -0
- package/header/molecules/list/index.js +45 -0
- package/header/molecules/list/styled.d.ts +4 -0
- package/header/molecules/list/styled.d.ts.map +1 -0
- package/header/molecules/list/styled.js +8 -0
- package/header/molecules/menu/index.d.ts +17 -0
- package/header/molecules/menu/index.d.ts.map +1 -0
- package/header/molecules/menu/index.js +163 -0
- package/header/molecules/menu/panel-styled.d.ts +24 -0
- package/header/molecules/menu/panel-styled.d.ts.map +1 -0
- package/header/molecules/menu/panel-styled.js +105 -0
- package/header/molecules/menu/segment-content-styled.d.ts +13 -0
- package/header/molecules/menu/segment-content-styled.d.ts.map +1 -0
- package/header/molecules/menu/segment-content-styled.js +39 -0
- package/header/molecules/menu/segment-content.d.ts +7 -0
- package/header/molecules/menu/segment-content.d.ts.map +1 -0
- package/header/molecules/menu/segment-content.js +42 -0
- package/header/molecules/menu/styled.d.ts +23 -0
- package/header/molecules/menu/styled.d.ts.map +1 -0
- package/header/molecules/menu/styled.js +81 -0
- package/header/molecules/menu/types.d.ts +32 -0
- package/header/molecules/menu/types.d.ts.map +1 -0
- package/header/molecules/menu-button/index.d.ts +6 -0
- package/header/molecules/menu-button/index.d.ts.map +1 -0
- package/header/molecules/menu-button/index.js +29 -0
- package/header/molecules/menu-button/styled.d.ts +22 -0
- package/header/molecules/menu-button/styled.d.ts.map +1 -0
- package/header/molecules/menu-button/styled.js +74 -0
- package/header/molecules/onboarding-button/index.d.ts +6 -0
- package/header/molecules/onboarding-button/index.d.ts.map +1 -0
- package/header/molecules/onboarding-button/index.js +23 -0
- package/header/molecules/onboarding-button/styled.d.ts +15 -0
- package/header/molecules/onboarding-button/styled.d.ts.map +1 -0
- package/header/molecules/onboarding-button/styled.js +74 -0
- package/header/molecules/oneclick-menu/index.d.ts +14 -0
- package/header/molecules/oneclick-menu/index.d.ts.map +1 -0
- package/header/molecules/oneclick-menu/index.js +28 -0
- package/header/molecules/oneclick-menu/styled.d.ts +19 -0
- package/header/molecules/oneclick-menu/styled.d.ts.map +1 -0
- package/header/molecules/oneclick-menu/styled.js +49 -0
- package/header/molecules/phone-button/index.d.ts +5 -0
- package/header/molecules/phone-button/index.d.ts.map +1 -0
- package/header/molecules/phone-button/index.js +15 -0
- package/header/molecules/profile-menu/index.d.ts +19 -0
- package/header/molecules/profile-menu/index.d.ts.map +1 -0
- package/header/molecules/profile-menu/index.js +74 -0
- package/header/molecules/profile-menu/styled.d.ts +9 -0
- package/header/molecules/profile-menu/styled.d.ts.map +1 -0
- package/header/molecules/profile-menu/styled.js +23 -0
- package/header/molecules/profile-menu-button-tooltip/assets/arrow.svg +1 -0
- package/header/molecules/profile-menu-button-tooltip/index.d.ts +5 -0
- package/header/molecules/profile-menu-button-tooltip/index.d.ts.map +1 -0
- package/header/molecules/profile-menu-button-tooltip/index.js +13 -0
- package/header/molecules/profile-menu-button-tooltip/styled.d.ts +6 -0
- package/header/molecules/profile-menu-button-tooltip/styled.d.ts.map +1 -0
- package/header/molecules/profile-menu-button-tooltip/styled.js +56 -0
- package/header/molecules/pupil-select-button/index.d.ts +8 -0
- package/header/molecules/pupil-select-button/index.d.ts.map +1 -0
- package/header/molecules/pupil-select-button/index.js +54 -0
- package/header/molecules/pupil-select-menu/index.d.ts +15 -0
- package/header/molecules/pupil-select-menu/index.d.ts.map +1 -0
- package/header/molecules/pupil-select-menu/index.js +59 -0
- package/header/molecules/pupil-select-menu/styled.d.ts +7 -0
- package/header/molecules/pupil-select-menu/styled.d.ts.map +1 -0
- package/header/molecules/pupil-select-menu/styled.js +26 -0
- package/header/molecules/segment-list/index.d.ts +8 -0
- package/header/molecules/segment-list/index.d.ts.map +1 -0
- package/header/molecules/segment-list/index.js +32 -0
- package/header/molecules/segment-list/styled.d.ts +14 -0
- package/header/molecules/segment-list/styled.d.ts.map +1 -0
- package/header/molecules/segment-list/styled.js +20 -0
- package/header/molecules/user-panel/index.d.ts +32 -0
- package/header/molecules/user-panel/index.d.ts.map +1 -0
- package/header/molecules/user-panel/index.js +114 -0
- package/header/molecules/user-panel/styled.d.ts +16 -0
- package/header/molecules/user-panel/styled.d.ts.map +1 -0
- package/header/molecules/user-panel/styled.js +41 -0
- package/header/molecules/user-panel-mobile/index.d.ts +3 -0
- package/header/molecules/user-panel-mobile/index.d.ts.map +1 -0
- package/header/molecules/user-panel-mobile/index.js +56 -0
- package/header/molecules/user-panel-mobile/styled.d.ts +6 -0
- package/header/molecules/user-panel-mobile/styled.d.ts.map +1 -0
- package/header/molecules/user-panel-mobile/styled.js +16 -0
- package/header/navigation.d.ts +3 -0
- package/header/navigation.d.ts.map +1 -0
- package/header/navigation.js +64 -0
- package/header/styled.d.ts +31 -0
- package/header/styled.d.ts.map +1 -0
- package/header/styled.js +87 -0
- package/header/types.d.ts +40 -0
- package/header/types.d.ts.map +1 -0
- package/index.d.ts +25 -0
- package/index.d.ts.map +1 -0
- package/index.js +23 -0
- package/package.json +55 -0
- package/shared/constants.d.ts +86 -0
- package/shared/constants.d.ts.map +1 -0
- package/shared/constants.js +69 -0
- package/shared/link.d.ts +9 -0
- package/shared/link.d.ts.map +1 -0
- package/shared/link.js +56 -0
- package/shared/phone.d.ts +3 -0
- package/shared/phone.d.ts.map +1 -0
- package/shared/phone.js +10 -0
- package/shared/theme-provider.d.ts +6 -0
- package/shared/theme-provider.d.ts.map +1 -0
- package/shared/theme-provider.js +27 -0
- package/shared/theme.d.ts +77 -0
- package/shared/theme.d.ts.map +1 -0
- package/shared/theme.js +29 -0
- package/shared/use-outside-click.d.ts +3 -0
- package/shared/use-outside-click.d.ts.map +1 -0
- package/shared/use-outside-click.js +22 -0
- package/shared/use-scroll-direction.d.ts +4 -0
- package/shared/use-scroll-direction.d.ts.map +1 -0
- package/shared/use-scroll-direction.js +22 -0
- package/shared/z-index.d.ts +5 -0
- package/shared/z-index.d.ts.map +1 -0
- package/shared/z-index.js +7 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const Header: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
2
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
3
|
+
}> & string;
|
|
4
|
+
export declare const HeaderInner: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
5
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
6
|
+
}> & string;
|
|
7
|
+
export declare const MobileOnly: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
8
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
9
|
+
}> & string;
|
|
10
|
+
export declare const DesktopOnly: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
11
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
12
|
+
}> & string;
|
|
13
|
+
export declare const HeaderTop: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
14
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
15
|
+
}> & string;
|
|
16
|
+
export declare const UserPanelWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
17
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
18
|
+
}> & string;
|
|
19
|
+
export declare const ExtraButtonsMobileWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
20
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
21
|
+
}> & string;
|
|
22
|
+
export declare const ExtraButtonsDesktopWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
23
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
24
|
+
}> & string;
|
|
25
|
+
export declare const EntryPanelWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
26
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
27
|
+
}> & string;
|
|
28
|
+
export declare const HeaderLeftButtons: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
29
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
30
|
+
}> & string;
|
|
31
|
+
//# sourceMappingURL=styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../src/header/styled.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;WAgBlB,CAAA;AAED,eAAO,MAAM,WAAW;;WAWvB,CAAA;AASD,eAAO,MAAM,UAAU;;WAMtB,CAAA;AAED,eAAO,MAAM,WAAW;;WAMvB,CAAA;AAED,eAAO,MAAM,SAAS;;WAcrB,CAAA;AAED,eAAO,MAAM,gBAAgB;;WAK5B,CAAA;AAED,eAAO,MAAM,yBAAyB;;WAWrC,CAAA;AAED,eAAO,MAAM,0BAA0B;;WAEtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;WAO7B,CAAA;AAED,eAAO,MAAM,iBAAiB;;WAiB7B,CAAA"}
|
package/header/styled.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { styled, css } from "styled-components";
|
|
2
|
+
import { screenMinS, screenMinM, screenMaxM, screenMaxS } from "@foxford/ui";
|
|
3
|
+
import { NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT } from "../shared/constants.js";
|
|
4
|
+
import { BASE_ZINDEX } from "../shared/z-index.js";
|
|
5
|
+
const Header = styled.div.withConfig({
|
|
6
|
+
displayName: "styled__Header",
|
|
7
|
+
componentId: "sc-dceth5-0"
|
|
8
|
+
})(["position:relative;", " padding:12px;box-shadow:0px 2px 4px rgba(0,0,0,0.08);z-index:", ";", " ", ""], ({
|
|
9
|
+
theme
|
|
10
|
+
}) => css`
|
|
11
|
+
background-color: ${theme.colors.white};
|
|
12
|
+
`, BASE_ZINDEX.NAVIGATION + 1, screenMinS()`
|
|
13
|
+
padding: 16px;
|
|
14
|
+
`, screenMinM()`
|
|
15
|
+
padding: 20px 36px;
|
|
16
|
+
`);
|
|
17
|
+
const HeaderInner = styled.div.withConfig({
|
|
18
|
+
displayName: "styled__HeaderInner",
|
|
19
|
+
componentId: "sc-dceth5-1"
|
|
20
|
+
})(["position:relative;display:flex;align-items:center;justify-content:space-between;max-width:1208px;margin:0 auto;", ""], screenMinM()`
|
|
21
|
+
display: block;
|
|
22
|
+
`);
|
|
23
|
+
const MobileOnly = styled.div.withConfig({
|
|
24
|
+
displayName: "styled__MobileOnly",
|
|
25
|
+
componentId: "sc-dceth5-2"
|
|
26
|
+
})(["display:contents;", ""], screenMinM()`
|
|
27
|
+
display: none;
|
|
28
|
+
`);
|
|
29
|
+
const DesktopOnly = styled.div.withConfig({
|
|
30
|
+
displayName: "styled__DesktopOnly",
|
|
31
|
+
componentId: "sc-dceth5-3"
|
|
32
|
+
})(["display:none;", ""], screenMinM()`
|
|
33
|
+
display: contents;
|
|
34
|
+
`);
|
|
35
|
+
const HeaderTop = styled.div.withConfig({
|
|
36
|
+
displayName: "styled__HeaderTop",
|
|
37
|
+
componentId: "sc-dceth5-4"
|
|
38
|
+
})(["display:flex;align-items:center;justify-content:space-between;min-height:", "px;", ""], NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT, screenMinS()`
|
|
39
|
+
position: relative;
|
|
40
|
+
${({
|
|
41
|
+
theme
|
|
42
|
+
}) => css`
|
|
43
|
+
background-color: ${theme.colors.white};
|
|
44
|
+
box-shadow: 0px 10px 15px 2px ${theme.colors.white};
|
|
45
|
+
`}
|
|
46
|
+
z-index: ${BASE_ZINDEX.NAVIGATION + 2};
|
|
47
|
+
`);
|
|
48
|
+
const UserPanelWrapper = styled.div.withConfig({
|
|
49
|
+
displayName: "styled__UserPanelWrapper",
|
|
50
|
+
componentId: "sc-dceth5-5"
|
|
51
|
+
})(["display:flex;align-items:center;margin-left:auto;padding-left:40px;"]);
|
|
52
|
+
const ExtraButtonsMobileWrapper = styled.div.withConfig({
|
|
53
|
+
displayName: "styled__ExtraButtonsMobileWrapper",
|
|
54
|
+
componentId: "sc-dceth5-6"
|
|
55
|
+
})(["position:absolute;top:calc(100% + 12px);right:0;display:flex;z-index:", ";transition:bottom 0.2s ease;", ""], BASE_ZINDEX.NAVIGATION + 3, screenMinS()`
|
|
56
|
+
top: calc(100% + 16px);
|
|
57
|
+
`);
|
|
58
|
+
const ExtraButtonsDesktopWrapper = styled.div.withConfig({
|
|
59
|
+
displayName: "styled__ExtraButtonsDesktopWrapper",
|
|
60
|
+
componentId: "sc-dceth5-7"
|
|
61
|
+
})(["margin-right:24px;"]);
|
|
62
|
+
const EntryPanelWrapper = styled.div.withConfig({
|
|
63
|
+
displayName: "styled__EntryPanelWrapper",
|
|
64
|
+
componentId: "sc-dceth5-8"
|
|
65
|
+
})(["display:flex;align-items:center;& > :not(:last-child){margin-right:12px;}"]);
|
|
66
|
+
const HeaderLeftButtons = styled.div.withConfig({
|
|
67
|
+
displayName: "styled__HeaderLeftButtons",
|
|
68
|
+
componentId: "sc-dceth5-9"
|
|
69
|
+
})(["display:flex;align-items:center;&& > * + *{margin-left:8px;border-radius:48px;padding:10px;", " ", "}"], screenMaxM()`
|
|
70
|
+
background-color: ${({
|
|
71
|
+
theme
|
|
72
|
+
}) => theme.colors["bg-onmain-tertiary"]};
|
|
73
|
+
`, screenMaxS()`
|
|
74
|
+
padding: 8px;
|
|
75
|
+
`);
|
|
76
|
+
export {
|
|
77
|
+
DesktopOnly,
|
|
78
|
+
EntryPanelWrapper,
|
|
79
|
+
ExtraButtonsDesktopWrapper,
|
|
80
|
+
ExtraButtonsMobileWrapper,
|
|
81
|
+
Header,
|
|
82
|
+
HeaderInner,
|
|
83
|
+
HeaderLeftButtons,
|
|
84
|
+
HeaderTop,
|
|
85
|
+
MobileOnly,
|
|
86
|
+
UserPanelWrapper
|
|
87
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { EntryPanelProps } from './molecules/entry-panel';
|
|
2
|
+
import type { MenuProps } from './molecules/menu';
|
|
3
|
+
import type { OneClickMenuItem } from './molecules/oneclick-menu';
|
|
4
|
+
import type { UserPanelProps } from './molecules/user-panel';
|
|
5
|
+
import type { ReactNode } from 'react';
|
|
6
|
+
/**
|
|
7
|
+
* Слоты `Navigation` — именованные точки расширения разметки. Компонент не знает, откуда
|
|
8
|
+
* взялось содержимое: в core это вложенное место федерации (`header:actionsButton`),
|
|
9
|
+
* в виджете — то, что передали в `mount({ slots })`.
|
|
10
|
+
*/
|
|
11
|
+
export interface NavigationSlots {
|
|
12
|
+
/** Место у правого края шапки — рядом с кнопкой меню (mobile) и в HeaderTop (desktop). */
|
|
13
|
+
actionsButton?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export interface NavigationProps {
|
|
16
|
+
/** Кобрендинговый логотип вместо обычного — как в подвале. */
|
|
17
|
+
cobranding?: boolean;
|
|
18
|
+
/** Данные для EntryPanel — рендерится в трёх местах (mobile top, desktop UserPanelWrapper, внутри Menu). */
|
|
19
|
+
entryPanel: EntryPanelProps;
|
|
20
|
+
externatFreeAccessLink?: string;
|
|
21
|
+
hasOneClickMenu?: boolean;
|
|
22
|
+
isLoggedIn: boolean;
|
|
23
|
+
menu: Omit<MenuProps, 'entryPanel' | 'onClose' | 'open' | 'origin' | 'topOffset'>;
|
|
24
|
+
menuOpen: boolean;
|
|
25
|
+
offsetTop?: number;
|
|
26
|
+
oneClickMenuItems?: OneClickMenuItem[];
|
|
27
|
+
onExternatCallbackClick?: () => void;
|
|
28
|
+
onExternatFreeAccessClick?: () => void;
|
|
29
|
+
onMenuToggle: () => void;
|
|
30
|
+
onOnboardingClick?: () => void;
|
|
31
|
+
onSegmentItemClick?: (itemId: string) => void;
|
|
32
|
+
origin?: string;
|
|
33
|
+
selectedOneClickMenuItemId?: string;
|
|
34
|
+
showExternatButtons?: boolean;
|
|
35
|
+
showOnboardingButton?: boolean;
|
|
36
|
+
showOnboardingMobileButton?: boolean;
|
|
37
|
+
slots?: NavigationSlots;
|
|
38
|
+
userPanel?: UserPanelProps;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/header/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,4GAA4G;IAC5G,UAAU,EAAE,eAAe,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAA;IACjF,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACtC,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAA;IACpC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { Footer } from './footer/footer';
|
|
2
|
+
export { Navigation } from './header/navigation';
|
|
3
|
+
export { Link } from './shared/link';
|
|
4
|
+
export { CONTEXT_OF_USE, SELECTOR_IDS } from './shared/constants';
|
|
5
|
+
export { theme } from './shared/theme';
|
|
6
|
+
export { NavigationTheme } from './shared/theme-provider';
|
|
7
|
+
export { Bonuses } from './header/molecules/bonuses';
|
|
8
|
+
export { ProfileInfo } from './header/atoms/profile-info';
|
|
9
|
+
export { ProfileMenuItem } from './header/atoms/profile-menu-item';
|
|
10
|
+
export { PupilSelectButton } from './header/molecules/pupil-select-button';
|
|
11
|
+
export type { FooterMenuItem } from './footer/molecules/footer-menu';
|
|
12
|
+
export type { City } from './footer/molecules/geoposition';
|
|
13
|
+
export type { FooterContacts, FooterProps, FooterSlots, FooterSocialLink } from './footer/types';
|
|
14
|
+
export type { MenuList, MenuListItemData, MenuSegment } from './header/molecules/menu';
|
|
15
|
+
export type { OneClickMenuItem } from './header/molecules/oneclick-menu';
|
|
16
|
+
export type { ProfileMenuProps } from './header/molecules/profile-menu';
|
|
17
|
+
export type { Pupil } from './header/molecules/pupil-select-menu';
|
|
18
|
+
export type { UserPanelProps, UserPanelTopMenuItem } from './header/molecules/user-panel';
|
|
19
|
+
export type { ProfileMenuItemProps } from './header/atoms/profile-menu-item';
|
|
20
|
+
export type { EntryPanelProps } from './header/molecules/entry-panel';
|
|
21
|
+
export type { NavigationProps, NavigationSlots } from './header/types';
|
|
22
|
+
export type { ContextOfUse } from './shared/constants';
|
|
23
|
+
export type { LinkProps } from './shared/link';
|
|
24
|
+
export type { Theme } from './shared/theme';
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIzD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,YAAY,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAChG,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,YAAY,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAA;AACjE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA"}
|
package/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Footer } from "./footer/footer.js";
|
|
2
|
+
import { Navigation } from "./header/navigation.js";
|
|
3
|
+
import { Link } from "./shared/link.js";
|
|
4
|
+
import { CONTEXT_OF_USE, SELECTOR_IDS } from "./shared/constants.js";
|
|
5
|
+
import { theme } from "./shared/theme.js";
|
|
6
|
+
import { NavigationTheme } from "./shared/theme-provider.js";
|
|
7
|
+
import { Bonuses } from "./header/molecules/bonuses/index.js";
|
|
8
|
+
import { ProfileInfo } from "./header/atoms/profile-info/index.js";
|
|
9
|
+
import { ProfileMenuItem } from "./header/atoms/profile-menu-item/index.js";
|
|
10
|
+
import { PupilSelectButton } from "./header/molecules/pupil-select-button/index.js";
|
|
11
|
+
export {
|
|
12
|
+
Bonuses,
|
|
13
|
+
CONTEXT_OF_USE,
|
|
14
|
+
Footer,
|
|
15
|
+
Link,
|
|
16
|
+
Navigation,
|
|
17
|
+
NavigationTheme,
|
|
18
|
+
ProfileInfo,
|
|
19
|
+
ProfileMenuItem,
|
|
20
|
+
PupilSelectButton,
|
|
21
|
+
SELECTOR_IDS,
|
|
22
|
+
theme
|
|
23
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@foxford/navigation-ui",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Презентационная вёрстка шапки и подвала портала Фоксфорда",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"foxford",
|
|
7
|
+
"navigation",
|
|
8
|
+
"header",
|
|
9
|
+
"footer",
|
|
10
|
+
"ui"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"author": "Foxford Co",
|
|
14
|
+
"maintainers": [
|
|
15
|
+
{
|
|
16
|
+
"name": "Roman Olin",
|
|
17
|
+
"email": "r.v.olin@foxford.ru",
|
|
18
|
+
"team": "core-frontend"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"type": "module",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"react-aim-menu": "^1.3.0",
|
|
24
|
+
"@foxford/qr-code": "^1.3.0"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@foxford/ui": "^2",
|
|
28
|
+
"preact": ">=10",
|
|
29
|
+
"react": ">=17",
|
|
30
|
+
"react-dom": ">=17",
|
|
31
|
+
"styled-components": ">=6"
|
|
32
|
+
},
|
|
33
|
+
"main": "./index.js",
|
|
34
|
+
"module": "./index.js",
|
|
35
|
+
"exports": {
|
|
36
|
+
".": {
|
|
37
|
+
"types": "./index.d.ts",
|
|
38
|
+
"import": "./index.js",
|
|
39
|
+
"default": "./index.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"README.mdx",
|
|
44
|
+
"_virtual",
|
|
45
|
+
"footer",
|
|
46
|
+
"header",
|
|
47
|
+
"index.d.ts",
|
|
48
|
+
"index.d.ts.map",
|
|
49
|
+
"index.js",
|
|
50
|
+
"package.json",
|
|
51
|
+
"shared"
|
|
52
|
+
],
|
|
53
|
+
"sha": "7733b66d",
|
|
54
|
+
"scripts": {}
|
|
55
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export declare const CONTEXT_OF_USE: {
|
|
2
|
+
readonly EXTERNAT: "externat";
|
|
3
|
+
readonly MEDIA: "media";
|
|
4
|
+
readonly PORTAL: "portal";
|
|
5
|
+
};
|
|
6
|
+
export type ContextOfUse = (typeof CONTEXT_OF_USE)[keyof typeof CONTEXT_OF_USE];
|
|
7
|
+
export declare const NAVIGATION_KIND: {
|
|
8
|
+
readonly AGENT: "agent";
|
|
9
|
+
readonly BASE: "base";
|
|
10
|
+
readonly ELEMENTARY: "elementary";
|
|
11
|
+
readonly PARENT: "parent";
|
|
12
|
+
};
|
|
13
|
+
export type NavigationKindValue = (typeof NAVIGATION_KIND)[keyof typeof NAVIGATION_KIND];
|
|
14
|
+
export declare const MENU_KIND_TO_HIGHLIGHT: {
|
|
15
|
+
readonly ONE_CLICK_MENU: "oneClickMenu";
|
|
16
|
+
readonly SEGMENT_LIST: "segmentList";
|
|
17
|
+
readonly USER_MENU: "userMenu";
|
|
18
|
+
};
|
|
19
|
+
export declare const GOV_LINK = "https://reestr.digital.gov.ru/reestr/1164547/";
|
|
20
|
+
export declare const NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT = 64;
|
|
21
|
+
export declare const DURATION_MENU_ANIMATION = 100;
|
|
22
|
+
export declare const NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT = 48;
|
|
23
|
+
/**
|
|
24
|
+
* Сколько места шапка занимает в потоке — по брейкпоинтам, в пикселях.
|
|
25
|
+
*
|
|
26
|
+
* Числа не на глаз: это сумма отступов `Header` (12 / 16 / 20 px) и высоты строки, которую
|
|
27
|
+
* задаёт самый высокий её элемент — кнопка меню (32 px до S, 40 px от S) и `HeaderTop`
|
|
28
|
+
* (`min-height` 48 px от M). Одноклик-меню добавляется отдельным слагаемым: 30 px отступа
|
|
29
|
+
* сверху, 16 px строки, 6 px снизу.
|
|
30
|
+
*
|
|
31
|
+
* Нужны затем, что содержимое шапки лежит в `position: fixed` и высоты в потоке не имеет:
|
|
32
|
+
* без этой брони страница до загрузки скриптов начинается под шапкой. Замер по факту
|
|
33
|
+
* (`Container`) уточняет её, но происходит уже на клиенте — до него работает только CSS.
|
|
34
|
+
*/
|
|
35
|
+
export declare const NAVIGATION_HEIGHT: {
|
|
36
|
+
/** До брейкпоинта S. */
|
|
37
|
+
readonly base: 56;
|
|
38
|
+
/** От M. */
|
|
39
|
+
readonly desktop: 88;
|
|
40
|
+
/** Слагаемое к `desktop`, когда включено «меню в один клик». */
|
|
41
|
+
readonly oneClickMenu: 52;
|
|
42
|
+
/** От S до M. */
|
|
43
|
+
readonly tablet: 72;
|
|
44
|
+
};
|
|
45
|
+
export declare const TRANSFORM_NAVIGATION_TIME = 0.2;
|
|
46
|
+
export declare const ALLOWED_PAGES_FOR_ONBOARDING_BUTTONS: string[];
|
|
47
|
+
export declare const SELECTOR_IDS: {
|
|
48
|
+
readonly FOOTER: "foxNavFooter";
|
|
49
|
+
readonly HEADER_TOP: "foxNavHeaderTop";
|
|
50
|
+
readonly LOGIN_BUTTON: "foxNavLoginButton";
|
|
51
|
+
readonly LOGO: "foxNavLogo";
|
|
52
|
+
readonly LOGOUT_BUTTON_MOBILE: "foxNavLogoutButtonMobile";
|
|
53
|
+
readonly MENU_BUTTON: "foxNavMenuButton";
|
|
54
|
+
readonly NAVIGATION: "foxNav";
|
|
55
|
+
readonly ONE_CLICK_MENU: "foxNavOneClickMenu";
|
|
56
|
+
readonly PHONE_BUTTON_MOBILE: "foxNavPhoneButtonMobile";
|
|
57
|
+
readonly PROFILE_MENU: "foxNavProfileMenu";
|
|
58
|
+
readonly PROFILE_MENU_ACHIEVEMENTS: "foxNavProfileMenuAchievements";
|
|
59
|
+
readonly PROFILE_MENU_ATTESTATION: "foxNavProfileMenuAttestation";
|
|
60
|
+
readonly PROFILE_MENU_BONUSES: "foxNavProfileMenuBonuses";
|
|
61
|
+
readonly PROFILE_MENU_CART: "foxNavProfileMenuCart";
|
|
62
|
+
readonly PROFILE_MENU_EXTERNAL_REVIEWS: "foxNavExternalReviews";
|
|
63
|
+
readonly PROFILE_MENU_EXTERNSHIP: "foxNavProfileMenuExternship";
|
|
64
|
+
readonly PROFILE_MENU_EXTERNSHIP_ELEMENTARY: "foxNavProfileMenuExternshipElementary";
|
|
65
|
+
readonly PROFILE_MENU_FAMILY: "foxNavProfileMenuFamily";
|
|
66
|
+
readonly PROFILE_MENU_LOGOUT: "foxNavProfileMenuLogout";
|
|
67
|
+
readonly PROFILE_MENU_MY_TRIAL_EXAMS: "foxNavProfileMenuMyTrialExams";
|
|
68
|
+
readonly PROFILE_MENU_ONBOARDING: "foxNavProfileMenuOnboarding";
|
|
69
|
+
readonly PROFILE_MENU_PAYMENTS: "foxNavProfileMenuPayments";
|
|
70
|
+
readonly PROFILE_MENU_PROGRESS: "foxNavProfileMenuProgress";
|
|
71
|
+
readonly PROFILE_MENU_SETTINGS: "foxNavProfileMenuSettings";
|
|
72
|
+
readonly PROFILE_MENU_SOCIALIZATION: "foxNavProfileMenuSocialization";
|
|
73
|
+
readonly SEGMENT_CONTENT: "foxNavSegmentContent";
|
|
74
|
+
readonly SEGMENT_CONTENT_TITLE: "foxNavSegmentContentTitle";
|
|
75
|
+
readonly SEGMENT_LIST: "foxNavSegmentList";
|
|
76
|
+
readonly SOCIALIZATION_LANDING: "foxNavProfileMenuSocializationLanding";
|
|
77
|
+
readonly TOP_MENU_CALENDAR: "foxNavUserPanelCalendar";
|
|
78
|
+
readonly TOP_MENU_CART: "foxNavUserPanelCart";
|
|
79
|
+
readonly TOP_MENU_DASHBOARD: "foxNavUserPanelDashboard";
|
|
80
|
+
readonly TOP_MENU_PLAN: "foxNavUserPanelPlan";
|
|
81
|
+
readonly TOP_MENU_PROFILE: "foxNavUserPanelProfile";
|
|
82
|
+
readonly TOP_MENU_REFERRALS: "foxNavUserPanelReferrals";
|
|
83
|
+
readonly USER_PANEL: "foxNavUserPanel";
|
|
84
|
+
readonly USER_PANEL_WRAPPER_MOBILE: "foxNavUserPanelWrapperMobile";
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;AAE/E,eAAO,MAAM,eAAe;;;;;CAKlB,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAExF,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAA;AAEV,eAAO,MAAM,QAAQ,kDAAkD,CAAA;AAEvE,eAAO,MAAM,oCAAoC,KAAK,CAAA;AAEtD,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAE1C,eAAO,MAAM,wCAAwC,KAAK,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;IAC5B,wBAAwB;;IAExB,YAAY;;IAEZ,gEAAgE;;IAEhE,iBAAiB;;CAET,CAAA;AAEV,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C,eAAO,MAAM,oCAAoC,UAAc,CAAA;AAE/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCf,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const CONTEXT_OF_USE = {
|
|
2
|
+
EXTERNAT: "externat",
|
|
3
|
+
MEDIA: "media",
|
|
4
|
+
PORTAL: "portal"
|
|
5
|
+
};
|
|
6
|
+
const GOV_LINK = "https://reestr.digital.gov.ru/reestr/1164547/";
|
|
7
|
+
const NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT = 64;
|
|
8
|
+
const DURATION_MENU_ANIMATION = 100;
|
|
9
|
+
const NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT = 48;
|
|
10
|
+
const NAVIGATION_HEIGHT = {
|
|
11
|
+
/** До брейкпоинта S. */
|
|
12
|
+
base: 56,
|
|
13
|
+
/** От M. */
|
|
14
|
+
desktop: 88,
|
|
15
|
+
/** Слагаемое к `desktop`, когда включено «меню в один клик». */
|
|
16
|
+
oneClickMenu: 52,
|
|
17
|
+
/** От S до M. */
|
|
18
|
+
tablet: 72
|
|
19
|
+
};
|
|
20
|
+
const TRANSFORM_NAVIGATION_TIME = 0.2;
|
|
21
|
+
const SELECTOR_IDS = {
|
|
22
|
+
FOOTER: "foxNavFooter",
|
|
23
|
+
HEADER_TOP: "foxNavHeaderTop",
|
|
24
|
+
LOGIN_BUTTON: "foxNavLoginButton",
|
|
25
|
+
LOGO: "foxNavLogo",
|
|
26
|
+
LOGOUT_BUTTON_MOBILE: "foxNavLogoutButtonMobile",
|
|
27
|
+
MENU_BUTTON: "foxNavMenuButton",
|
|
28
|
+
NAVIGATION: "foxNav",
|
|
29
|
+
ONE_CLICK_MENU: "foxNavOneClickMenu",
|
|
30
|
+
PHONE_BUTTON_MOBILE: "foxNavPhoneButtonMobile",
|
|
31
|
+
PROFILE_MENU: "foxNavProfileMenu",
|
|
32
|
+
PROFILE_MENU_ACHIEVEMENTS: "foxNavProfileMenuAchievements",
|
|
33
|
+
PROFILE_MENU_ATTESTATION: "foxNavProfileMenuAttestation",
|
|
34
|
+
PROFILE_MENU_BONUSES: "foxNavProfileMenuBonuses",
|
|
35
|
+
PROFILE_MENU_CART: "foxNavProfileMenuCart",
|
|
36
|
+
PROFILE_MENU_EXTERNAL_REVIEWS: "foxNavExternalReviews",
|
|
37
|
+
PROFILE_MENU_EXTERNSHIP: "foxNavProfileMenuExternship",
|
|
38
|
+
PROFILE_MENU_EXTERNSHIP_ELEMENTARY: "foxNavProfileMenuExternshipElementary",
|
|
39
|
+
PROFILE_MENU_FAMILY: "foxNavProfileMenuFamily",
|
|
40
|
+
PROFILE_MENU_LOGOUT: "foxNavProfileMenuLogout",
|
|
41
|
+
PROFILE_MENU_MY_TRIAL_EXAMS: "foxNavProfileMenuMyTrialExams",
|
|
42
|
+
PROFILE_MENU_ONBOARDING: "foxNavProfileMenuOnboarding",
|
|
43
|
+
PROFILE_MENU_PAYMENTS: "foxNavProfileMenuPayments",
|
|
44
|
+
PROFILE_MENU_PROGRESS: "foxNavProfileMenuProgress",
|
|
45
|
+
PROFILE_MENU_SETTINGS: "foxNavProfileMenuSettings",
|
|
46
|
+
PROFILE_MENU_SOCIALIZATION: "foxNavProfileMenuSocialization",
|
|
47
|
+
SEGMENT_CONTENT: "foxNavSegmentContent",
|
|
48
|
+
SEGMENT_CONTENT_TITLE: "foxNavSegmentContentTitle",
|
|
49
|
+
SEGMENT_LIST: "foxNavSegmentList",
|
|
50
|
+
SOCIALIZATION_LANDING: "foxNavProfileMenuSocializationLanding",
|
|
51
|
+
TOP_MENU_CALENDAR: "foxNavUserPanelCalendar",
|
|
52
|
+
TOP_MENU_CART: "foxNavUserPanelCart",
|
|
53
|
+
TOP_MENU_DASHBOARD: "foxNavUserPanelDashboard",
|
|
54
|
+
TOP_MENU_PLAN: "foxNavUserPanelPlan",
|
|
55
|
+
TOP_MENU_PROFILE: "foxNavUserPanelProfile",
|
|
56
|
+
TOP_MENU_REFERRALS: "foxNavUserPanelReferrals",
|
|
57
|
+
USER_PANEL: "foxNavUserPanel",
|
|
58
|
+
USER_PANEL_WRAPPER_MOBILE: "foxNavUserPanelWrapperMobile"
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
CONTEXT_OF_USE,
|
|
62
|
+
DURATION_MENU_ANIMATION,
|
|
63
|
+
GOV_LINK,
|
|
64
|
+
NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT,
|
|
65
|
+
NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT,
|
|
66
|
+
NAVIGATION_HEIGHT,
|
|
67
|
+
SELECTOR_IDS,
|
|
68
|
+
TRANSFORM_NAVIGATION_TIME
|
|
69
|
+
};
|
package/shared/link.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
href?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const Link: import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<LinkProps> & {
|
|
7
|
+
ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/shared/link.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAU5D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACtF,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAWD,eAAO,MAAM,IAAI;;EAMf,CAAA"}
|
package/shared/link.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
import { forwardRef } from "react";
|
|
33
|
+
import { styled } from "styled-components";
|
|
34
|
+
import { jsx } from "preact/jsx-runtime";
|
|
35
|
+
const StyledLink = styled.a.withConfig({
|
|
36
|
+
displayName: "link__StyledLink",
|
|
37
|
+
componentId: "sc-19sb9ec-0"
|
|
38
|
+
})(["color:inherit;text-decoration:none;"]);
|
|
39
|
+
const Link = forwardRef(function Link2(_a, ref) {
|
|
40
|
+
var _b = _a, {
|
|
41
|
+
children,
|
|
42
|
+
href
|
|
43
|
+
} = _b, rest = __objRest(_b, [
|
|
44
|
+
"children",
|
|
45
|
+
"href"
|
|
46
|
+
]);
|
|
47
|
+
return jsx(StyledLink, __spreadProps(__spreadValues({
|
|
48
|
+
href,
|
|
49
|
+
ref
|
|
50
|
+
}, rest), {
|
|
51
|
+
children
|
|
52
|
+
}));
|
|
53
|
+
});
|
|
54
|
+
export {
|
|
55
|
+
Link
|
|
56
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../src/shared/phone.ts"],"names":[],"mappings":"AASA,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYjD"}
|
package/shared/phone.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const PHONE_GROUPS = /(?:(\d{1,}?))??(?:(\d{1,3}?))??(?:(\d{1,3}?))??(?:(\d{2}))??(\d{2})$/;
|
|
2
|
+
function formatPhone(phone) {
|
|
3
|
+
return phone.replace(PHONE_GROUPS, (_all, country, operator, prefix, pair, tail) => {
|
|
4
|
+
const parts = [country ? `${country} ` : "", operator ? `${operator} ` : "", prefix ? `${prefix}-` : "", pair ? `${pair}-` : "", tail];
|
|
5
|
+
return parts.join("");
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
formatPhone
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../src/shared/theme-provider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBtC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,oBAAoB,gCAKjE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ThemeProvider, MediaProvider, MediaMediator } from "@foxford/ui";
|
|
2
|
+
import { theme } from "./theme.js";
|
|
3
|
+
import { jsx } from "preact/jsx-runtime";
|
|
4
|
+
let mediaMediator = null;
|
|
5
|
+
function getMediaMediator() {
|
|
6
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
mediaMediator != null ? mediaMediator : mediaMediator = MediaMediator.create(theme.breakpoints);
|
|
10
|
+
return mediaMediator;
|
|
11
|
+
}
|
|
12
|
+
function NavigationTheme({
|
|
13
|
+
children
|
|
14
|
+
}) {
|
|
15
|
+
const mediator = getMediaMediator();
|
|
16
|
+
const themed = jsx(ThemeProvider, {
|
|
17
|
+
theme,
|
|
18
|
+
children
|
|
19
|
+
});
|
|
20
|
+
return mediator === null ? themed : jsx(MediaProvider, {
|
|
21
|
+
value: mediator,
|
|
22
|
+
children: themed
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
NavigationTheme
|
|
27
|
+
};
|