@alfalab/core-components-universal-modal 3.0.2 → 3.0.3-alfasans
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/Component.responsive.js +1 -2
- package/Component.responsive.js.map +1 -1
- package/Context.d.ts +3 -0
- package/Context.js +3 -0
- package/Context.js.map +1 -1
- package/components/content/base-content/index.css +1 -1
- package/components/content/base-content/index.module.css.js +1 -1
- package/components/content/desktop/Component.desktop.js +2 -2
- package/components/content/desktop/Component.desktop.js.map +1 -1
- package/components/content/desktop/desktop.css +2 -2
- package/components/content/desktop/desktop.module.css.js +1 -1
- package/components/content/mobile/mobile.css +3 -3
- package/components/content/mobile/mobile.module.css.js +1 -1
- package/components/footer/base-footer/index.css +3 -3
- package/components/footer/base-footer/index.module.css.js +1 -1
- package/components/footer/desktop/Component.desktop.js +6 -4
- package/components/footer/desktop/Component.desktop.js.map +1 -1
- package/components/footer/desktop/desktop.css +1 -1
- package/components/footer/desktop/desktop.module.css.js +1 -1
- package/components/footer/desktop/layout.css +9 -9
- package/components/footer/desktop/layout.module.css.js +1 -1
- package/components/footer/mobile/layout.mobile.css +8 -8
- package/components/footer/mobile/layout.mobile.module.css.js +1 -1
- package/components/footer/mobile/mobile.css +2 -2
- package/components/footer/mobile/mobile.module.css.js +1 -1
- package/components/header/base-header/index.css +4 -4
- package/components/header/base-header/index.module.css.js +1 -1
- package/components/header/base-header/useBaseHeader.d.ts +10 -0
- package/components/header/base-header/useBaseHeader.js +33 -0
- package/components/header/base-header/useBaseHeader.js.map +1 -0
- package/components/header/desktop/Component.desktop.js +9 -17
- package/components/header/desktop/Component.desktop.js.map +1 -1
- package/components/header/desktop/desktop.css +16 -11
- package/components/header/desktop/desktop.module.css.js +1 -1
- package/components/header/mobile/Component.mobile.js +16 -28
- package/components/header/mobile/Component.mobile.js.map +1 -1
- package/components/header/mobile/mobile.css +12 -9
- package/components/header/mobile/mobile.module.css.js +1 -1
- package/cssm/Component.responsive.js +1 -2
- package/cssm/Component.responsive.js.map +1 -1
- package/cssm/Context.d.ts +3 -0
- package/cssm/Context.js +3 -0
- package/cssm/Context.js.map +1 -1
- package/cssm/components/content/desktop/Component.desktop.js +2 -2
- package/cssm/components/content/desktop/Component.desktop.js.map +1 -1
- package/cssm/components/footer/desktop/Component.desktop.js +6 -4
- package/cssm/components/footer/desktop/Component.desktop.js.map +1 -1
- package/cssm/components/header/base-header/useBaseHeader.d.ts +11 -0
- package/cssm/components/header/base-header/useBaseHeader.js +33 -0
- package/cssm/components/header/base-header/useBaseHeader.js.map +1 -0
- package/cssm/components/header/desktop/Component.desktop.js +9 -17
- package/cssm/components/header/desktop/Component.desktop.js.map +1 -1
- package/cssm/components/header/desktop/desktop.module.css +11 -6
- package/cssm/components/header/mobile/Component.mobile.js +16 -28
- package/cssm/components/header/mobile/Component.mobile.js.map +1 -1
- package/cssm/components/header/mobile/mobile.module.css +9 -6
- package/cssm/desktop/Component.desktop.js +7 -16
- package/cssm/desktop/Component.desktop.js.map +1 -1
- package/{context/universal-modal-context.d.ts → cssm/desktop/context/index.d.ts} +1 -2
- package/cssm/{context/universal-modal-context.js → desktop/context/index.js} +2 -4
- package/cssm/desktop/context/index.js.map +1 -0
- package/cssm/desktop/hooks/use-modal-highlighted.js +2 -2
- package/cssm/desktop/hooks/use-modal-highlighted.js.map +1 -1
- package/cssm/desktop/types/context.d.ts +2 -0
- package/cssm/desktop/types/context.js +3 -0
- package/cssm/desktop/types/context.js.map +1 -0
- package/cssm/index.js +1 -2
- package/cssm/index.js.map +1 -1
- package/cssm/mobile/Component.mobile.js +0 -1
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/cssm/mobile/index.js +1 -2
- package/cssm/mobile/index.js.map +1 -1
- package/cssm/typings/index.d.ts +0 -9
- package/desktop/Component.desktop.js +7 -16
- package/desktop/Component.desktop.js.map +1 -1
- package/desktop/components/center-modal/index.css +521 -521
- package/desktop/components/center-modal/index.module.css.js +1 -1
- package/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
- package/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
- package/desktop/components/center-modal/transitions/transitions.css +7 -7
- package/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
- package/desktop/components/modal-content/modal-content.css +4 -4
- package/desktop/components/modal-content/modal-content.module.css.js +1 -1
- package/desktop/components/side-modal/index.css +523 -523
- package/desktop/components/side-modal/index.module.css.js +1 -1
- package/desktop/components/side-modal/transitions/transitions.css +71 -71
- package/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
- package/{esm/context/universal-modal-context.d.ts → desktop/context/index.d.ts} +1 -2
- package/{context/universal-modal-context.js → desktop/context/index.js} +2 -4
- package/desktop/context/index.js.map +1 -0
- package/desktop/hooks/use-modal-highlighted.js +2 -2
- package/desktop/hooks/use-modal-highlighted.js.map +1 -1
- package/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
- package/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
- package/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
- package/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
- package/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
- package/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
- package/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
- package/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
- package/desktop/types/context.d.ts +2 -0
- package/desktop/types/context.js +3 -0
- package/desktop/types/context.js.map +1 -0
- package/esm/Component.responsive.js +1 -2
- package/esm/Component.responsive.js.map +1 -1
- package/esm/Context.d.ts +3 -0
- package/esm/Context.js +3 -0
- package/esm/Context.js.map +1 -1
- package/esm/components/content/base-content/index.css +1 -1
- package/esm/components/content/base-content/index.module.css.js +1 -1
- package/esm/components/content/desktop/Component.desktop.js +2 -2
- package/esm/components/content/desktop/Component.desktop.js.map +1 -1
- package/esm/components/content/desktop/desktop.css +2 -2
- package/esm/components/content/desktop/desktop.module.css.js +1 -1
- package/esm/components/content/mobile/mobile.css +3 -3
- package/esm/components/content/mobile/mobile.module.css.js +1 -1
- package/esm/components/footer/base-footer/index.css +3 -3
- package/esm/components/footer/base-footer/index.module.css.js +1 -1
- package/esm/components/footer/desktop/Component.desktop.js +4 -2
- package/esm/components/footer/desktop/Component.desktop.js.map +1 -1
- package/esm/components/footer/desktop/desktop.css +1 -1
- package/esm/components/footer/desktop/desktop.module.css.js +1 -1
- package/esm/components/footer/desktop/layout.css +9 -9
- package/esm/components/footer/desktop/layout.module.css.js +1 -1
- package/esm/components/footer/mobile/layout.mobile.css +8 -8
- package/esm/components/footer/mobile/layout.mobile.module.css.js +1 -1
- package/esm/components/footer/mobile/mobile.css +2 -2
- package/esm/components/footer/mobile/mobile.module.css.js +1 -1
- package/esm/components/header/base-header/index.css +4 -4
- package/esm/components/header/base-header/index.module.css.js +1 -1
- package/esm/components/header/base-header/useBaseHeader.d.ts +11 -0
- package/esm/components/header/base-header/useBaseHeader.js +29 -0
- package/esm/components/header/base-header/useBaseHeader.js.map +1 -0
- package/esm/components/header/desktop/Component.desktop.js +10 -18
- package/esm/components/header/desktop/Component.desktop.js.map +1 -1
- package/esm/components/header/desktop/desktop.css +16 -11
- package/esm/components/header/desktop/desktop.module.css.js +1 -1
- package/esm/components/header/mobile/Component.mobile.js +17 -29
- package/esm/components/header/mobile/Component.mobile.js.map +1 -1
- package/esm/components/header/mobile/mobile.css +12 -9
- package/esm/components/header/mobile/mobile.module.css.js +1 -1
- package/esm/desktop/Component.desktop.js +7 -16
- package/esm/desktop/Component.desktop.js.map +1 -1
- package/esm/desktop/components/center-modal/index.css +521 -521
- package/esm/desktop/components/center-modal/index.module.css.js +1 -1
- package/esm/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
- package/esm/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
- package/esm/desktop/components/center-modal/transitions/transitions.css +7 -7
- package/esm/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
- package/esm/desktop/components/modal-content/modal-content.css +4 -4
- package/esm/desktop/components/modal-content/modal-content.module.css.js +1 -1
- package/esm/desktop/components/side-modal/index.css +523 -523
- package/esm/desktop/components/side-modal/index.module.css.js +1 -1
- package/esm/desktop/components/side-modal/transitions/transitions.css +71 -71
- package/esm/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
- package/{modern/context/universal-modal-context.d.ts → esm/desktop/context/index.d.ts} +1 -2
- package/esm/{context/universal-modal-context.js → desktop/context/index.js} +2 -4
- package/esm/desktop/context/index.js.map +1 -0
- package/esm/desktop/hooks/use-modal-highlighted.js +2 -2
- package/esm/desktop/hooks/use-modal-highlighted.js.map +1 -1
- package/esm/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
- package/esm/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
- package/esm/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
- package/esm/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
- package/esm/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
- package/esm/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
- package/esm/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
- package/esm/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
- package/esm/desktop/types/context.d.ts +2 -0
- package/esm/desktop/types/context.js +2 -0
- package/esm/desktop/types/context.js.map +1 -0
- package/esm/index.js +1 -2
- package/esm/index.js.map +1 -1
- package/esm/mobile/Component.mobile.js +0 -1
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/mobile/index.js +1 -2
- package/esm/mobile/index.js.map +1 -1
- package/esm/mobile/mobile.css +3 -3
- package/esm/mobile/mobile.module.css.js +1 -1
- package/esm/mobile/transitions/right-side-transitions.mobile.css +7 -7
- package/esm/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
- package/esm/mobile/transitions/transitions.mobile.css +7 -7
- package/esm/mobile/transitions/transitions.mobile.module.css.js +1 -1
- package/esm/typings/index.d.ts +0 -9
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/mobile/Component.mobile.js +0 -1
- package/mobile/Component.mobile.js.map +1 -1
- package/mobile/index.js +1 -2
- package/mobile/index.js.map +1 -1
- package/mobile/mobile.css +3 -3
- package/mobile/mobile.module.css.js +1 -1
- package/mobile/transitions/right-side-transitions.mobile.css +7 -7
- package/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
- package/mobile/transitions/transitions.mobile.css +7 -7
- package/mobile/transitions/transitions.mobile.module.css.js +1 -1
- package/modern/Component.responsive.js +1 -2
- package/modern/Component.responsive.js.map +1 -1
- package/modern/Context.d.ts +3 -0
- package/modern/Context.js +3 -0
- package/modern/Context.js.map +1 -1
- package/modern/components/content/base-content/index.css +1 -1
- package/modern/components/content/base-content/index.module.css.js +1 -1
- package/modern/components/content/desktop/Component.desktop.js +2 -2
- package/modern/components/content/desktop/Component.desktop.js.map +1 -1
- package/modern/components/content/desktop/desktop.css +2 -2
- package/modern/components/content/desktop/desktop.module.css.js +1 -1
- package/modern/components/content/mobile/mobile.css +3 -3
- package/modern/components/content/mobile/mobile.module.css.js +1 -1
- package/modern/components/footer/base-footer/index.css +3 -3
- package/modern/components/footer/base-footer/index.module.css.js +1 -1
- package/modern/components/footer/desktop/Component.desktop.js +4 -2
- package/modern/components/footer/desktop/Component.desktop.js.map +1 -1
- package/modern/components/footer/desktop/desktop.css +1 -1
- package/modern/components/footer/desktop/desktop.module.css.js +1 -1
- package/modern/components/footer/desktop/layout.css +9 -9
- package/modern/components/footer/desktop/layout.module.css.js +1 -1
- package/modern/components/footer/mobile/layout.mobile.css +8 -8
- package/modern/components/footer/mobile/layout.mobile.module.css.js +1 -1
- package/modern/components/footer/mobile/mobile.css +2 -2
- package/modern/components/footer/mobile/mobile.module.css.js +1 -1
- package/modern/components/header/base-header/index.css +4 -4
- package/modern/components/header/base-header/index.module.css.js +1 -1
- package/modern/components/header/base-header/useBaseHeader.d.ts +11 -0
- package/modern/components/header/base-header/useBaseHeader.js +25 -0
- package/modern/components/header/base-header/useBaseHeader.js.map +1 -0
- package/modern/components/header/desktop/Component.desktop.js +10 -14
- package/modern/components/header/desktop/Component.desktop.js.map +1 -1
- package/modern/components/header/desktop/desktop.css +16 -11
- package/modern/components/header/desktop/desktop.module.css.js +1 -1
- package/modern/components/header/mobile/Component.mobile.js +11 -18
- package/modern/components/header/mobile/Component.mobile.js.map +1 -1
- package/modern/components/header/mobile/mobile.css +12 -9
- package/modern/components/header/mobile/mobile.module.css.js +1 -1
- package/modern/desktop/Component.desktop.js +7 -15
- package/modern/desktop/Component.desktop.js.map +1 -1
- package/modern/desktop/components/center-modal/index.css +521 -521
- package/modern/desktop/components/center-modal/index.module.css.js +1 -1
- package/modern/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
- package/modern/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
- package/modern/desktop/components/center-modal/transitions/transitions.css +7 -7
- package/modern/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
- package/modern/desktop/components/modal-content/modal-content.css +4 -4
- package/modern/desktop/components/modal-content/modal-content.module.css.js +1 -1
- package/modern/desktop/components/side-modal/index.css +523 -523
- package/modern/desktop/components/side-modal/index.module.css.js +1 -1
- package/modern/desktop/components/side-modal/transitions/transitions.css +71 -71
- package/modern/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
- package/{cssm/context/universal-modal-context.d.ts → modern/desktop/context/index.d.ts} +1 -2
- package/{moderncssm/context/universal-modal-context.js → modern/desktop/context/index.js} +2 -4
- package/modern/desktop/context/index.js.map +1 -0
- package/modern/desktop/hooks/use-modal-highlighted.js +2 -2
- package/modern/desktop/hooks/use-modal-highlighted.js.map +1 -1
- package/modern/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
- package/modern/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
- package/modern/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
- package/modern/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
- package/modern/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
- package/modern/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
- package/modern/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
- package/modern/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
- package/modern/desktop/types/context.d.ts +2 -0
- package/modern/desktop/types/context.js +2 -0
- package/modern/desktop/types/context.js.map +1 -0
- package/modern/index.js +1 -2
- package/modern/index.js.map +1 -1
- package/modern/mobile/Component.mobile.js +0 -1
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/mobile/index.js +1 -2
- package/modern/mobile/index.js.map +1 -1
- package/modern/mobile/mobile.css +3 -3
- package/modern/mobile/mobile.module.css.js +1 -1
- package/modern/mobile/transitions/right-side-transitions.mobile.css +7 -7
- package/modern/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
- package/modern/mobile/transitions/transitions.mobile.css +7 -7
- package/modern/mobile/transitions/transitions.mobile.module.css.js +1 -1
- package/modern/typings/index.d.ts +0 -9
- package/moderncssm/Component.responsive.js +1 -2
- package/moderncssm/Component.responsive.js.map +1 -1
- package/moderncssm/Context.d.ts +3 -0
- package/moderncssm/Context.js +3 -0
- package/moderncssm/Context.js.map +1 -1
- package/moderncssm/components/content/desktop/Component.desktop.js +2 -2
- package/moderncssm/components/content/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/components/footer/desktop/Component.desktop.js +4 -2
- package/moderncssm/components/footer/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/components/header/base-header/useBaseHeader.d.ts +11 -0
- package/moderncssm/components/header/base-header/useBaseHeader.js +25 -0
- package/moderncssm/components/header/base-header/useBaseHeader.js.map +1 -0
- package/moderncssm/components/header/desktop/Component.desktop.js +10 -14
- package/moderncssm/components/header/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/components/header/desktop/desktop.module.css +8 -4
- package/moderncssm/components/header/mobile/Component.mobile.js +11 -18
- package/moderncssm/components/header/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/components/header/mobile/mobile.module.css +6 -4
- package/moderncssm/desktop/Component.desktop.js +7 -15
- package/moderncssm/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/desktop/context/index.d.ts +2 -0
- package/{modern/context/universal-modal-context.js → moderncssm/desktop/context/index.js} +2 -4
- package/moderncssm/desktop/context/index.js.map +1 -0
- package/moderncssm/desktop/hooks/use-modal-highlighted.js +2 -2
- package/moderncssm/desktop/hooks/use-modal-highlighted.js.map +1 -1
- package/moderncssm/desktop/types/context.d.ts +2 -0
- package/moderncssm/desktop/types/context.js +2 -0
- package/moderncssm/desktop/types/context.js.map +1 -0
- package/moderncssm/index.js +1 -2
- package/moderncssm/index.js.map +1 -1
- package/moderncssm/mobile/Component.mobile.js +0 -1
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/mobile/index.js +1 -2
- package/moderncssm/mobile/index.js.map +1 -1
- package/moderncssm/typings/index.d.ts +0 -9
- package/package.json +9 -9
- package/src/Context.ts +3 -0
- package/src/components/content/desktop/Component.desktop.tsx +2 -2
- package/src/components/footer/desktop/Component.desktop.tsx +4 -2
- package/src/components/header/base-header/useBaseHeader.ts +40 -0
- package/src/components/header/desktop/Component.desktop.tsx +10 -17
- package/src/components/header/mobile/Component.mobile.tsx +22 -38
- package/src/desktop/Component.desktop.tsx +8 -17
- package/src/desktop/context/index.ts +7 -0
- package/src/desktop/hooks/use-modal-highlighted.ts +5 -3
- package/src/desktop/types/context.ts +3 -0
- package/src/typings/index.ts +0 -10
- package/typings/index.d.ts +0 -9
- package/context/universal-modal-context.js.map +0 -1
- package/cssm/context/universal-modal-context.js.map +0 -1
- package/cssm/desktop/utils/check-header-and-footer.d.ts +0 -5
- package/cssm/desktop/utils/check-header-and-footer.js +0 -27
- package/cssm/desktop/utils/check-header-and-footer.js.map +0 -1
- package/desktop/utils/check-header-and-footer.d.ts +0 -5
- package/desktop/utils/check-header-and-footer.js +0 -27
- package/desktop/utils/check-header-and-footer.js.map +0 -1
- package/esm/context/universal-modal-context.js.map +0 -1
- package/esm/desktop/utils/check-header-and-footer.d.ts +0 -5
- package/esm/desktop/utils/check-header-and-footer.js +0 -23
- package/esm/desktop/utils/check-header-and-footer.js.map +0 -1
- package/modern/context/universal-modal-context.js.map +0 -1
- package/modern/desktop/utils/check-header-and-footer.d.ts +0 -5
- package/modern/desktop/utils/check-header-and-footer.js +0 -23
- package/modern/desktop/utils/check-header-and-footer.js.map +0 -1
- package/moderncssm/context/universal-modal-context.d.ts +0 -3
- package/moderncssm/context/universal-modal-context.js.map +0 -1
- package/moderncssm/desktop/utils/check-header-and-footer.d.ts +0 -5
- package/moderncssm/desktop/utils/check-header-and-footer.js +0 -23
- package/moderncssm/desktop/utils/check-header-and-footer.js.map +0 -1
- package/src/context/universal-modal-context.ts +0 -9
- package/src/desktop/utils/check-header-and-footer.ts +0 -30
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
import React, { forwardRef
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { NavigationBarPrivate } from '@alfalab/core-components-navigation-bar-private/moderncssm';
|
|
4
4
|
import { getDataTestId } from '@alfalab/core-components-shared/moderncssm';
|
|
5
|
-
import {
|
|
6
|
-
import { UniversalModalContext } from '../../../context/universal-modal-context.js';
|
|
5
|
+
import { useBaseHeader } from '../base-header/useBaseHeader.js';
|
|
7
6
|
import styles from '../base-header/index.module.css';
|
|
8
7
|
import desktopStyles from './desktop.module.css';
|
|
9
8
|
|
|
10
9
|
const HeaderDesktop = forwardRef((props, ref) => {
|
|
11
10
|
const { className, children, title, sticky, bigTitle = false, titleClassName, dataTestId, bottomAddonsClassName, onClose, ...restProps } = props;
|
|
12
|
-
const {
|
|
13
|
-
const {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
return handleCloseByContext(...args);
|
|
21
|
-
};
|
|
11
|
+
const { bottomAddons } = restProps;
|
|
12
|
+
const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({
|
|
13
|
+
title,
|
|
14
|
+
children,
|
|
15
|
+
bottomAddons,
|
|
16
|
+
onClose,
|
|
17
|
+
});
|
|
22
18
|
return (React.createElement(NavigationBarPrivate, { ...restProps, ref: ref, view: 'desktop', dataTestId: getDataTestId(dataTestId, 'header'), dataName: 'modalHeaderDesktop', sticky: sticky, title: title, className: cn(styles.header, desktopStyles.header, className, {
|
|
23
|
-
[styles.highlighted]: sticky &&
|
|
19
|
+
[styles.highlighted]: sticky && headerHighlighted && hasContent,
|
|
24
20
|
[styles.sticky]: sticky,
|
|
25
21
|
[styles.hasContent]: hasContent,
|
|
26
22
|
[desktopStyles.medium]: bigTitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../../../src/components/header/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../../../src/components/header/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { useBaseHeader } from '../base-header/useBaseHeader';\n\nimport styles from '../base-header/index.module.css';\nimport desktopStyles from './desktop.module.css';\n\nexport interface HeaderDesktopProps\n extends Omit<\n NavigationBarPrivateProps,\n 'size' | 'view' | 'parentRef' | 'titleSize' | 'subtitle'\n > {\n /**\n * Заголовок в шапке крупного размера\n * @default false\n */\n bigTitle?: boolean;\n}\n\nexport const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((props, ref) => {\n const {\n className,\n children,\n title,\n sticky,\n bigTitle = false,\n titleClassName,\n dataTestId,\n bottomAddonsClassName,\n onClose,\n ...restProps\n } = props;\n\n const { bottomAddons } = restProps;\n\n const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({\n title,\n children,\n bottomAddons,\n onClose,\n });\n\n return (\n <NavigationBarPrivate\n {...restProps}\n ref={ref}\n view='desktop'\n dataTestId={getDataTestId(dataTestId, 'header')}\n dataName='modalHeaderDesktop'\n sticky={sticky}\n title={title}\n className={cn(styles.header, desktopStyles.header, className, {\n [styles.highlighted]: sticky && headerHighlighted && hasContent,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.medium]: bigTitle,\n })}\n bottomAddonsClassName={cn(desktopStyles.bottomAddons, bottomAddonsClassName)}\n scrollableParentRef={componentRef}\n titleClassName={cn(desktopStyles.headerTitle, titleClassName)}\n titleRef={titleRef}\n onClose={handleClose}\n >\n {children}\n </NavigationBarPrivate>\n );\n});\n\nHeaderDesktop.displayName = 'HeaderDesktop';\n"],"names":[],"mappings":";;;;;;;;AA0Ba,MAAA,aAAa,GAAG,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,KAAI;IACvF,MAAM,EACF,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,GAAG,SAAS,EACf,GAAG,KAAK;AAET,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS;AAElC,IAAA,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QACzF,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;AACV,KAAA,CAAC;IAEF,QACI,oBAAC,oBAAoB,EAAA,EAAA,GACb,SAAS,EACb,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,SAAS,EACd,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,QAAQ,EAAC,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE;YAC1D,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,iBAAiB,IAAI,UAAU;AAC/D,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU;AAC/B,YAAA,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ;AACnC,SAAA,CAAC,EACF,qBAAqB,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAC5E,mBAAmB,EAAE,YAAY,EACjC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,EAC7D,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACU;AAE/B,CAAC;AAED,aAAa,CAAC,WAAW,GAAG,eAAe;;;;"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
font-size: 22px;
|
|
9
9
|
line-height: 26px;
|
|
10
10
|
font-weight: 700;
|
|
11
|
-
|
|
11
|
+
letter-spacing: 0.2px;
|
|
12
|
+
font-family: var(--font-family-alfasans);
|
|
12
13
|
padding: 11px var(--gap-12);
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -16,7 +17,8 @@
|
|
|
16
17
|
font-size: 22px;
|
|
17
18
|
line-height: 26px;
|
|
18
19
|
font-weight: 700;
|
|
19
|
-
|
|
20
|
+
letter-spacing: 0.2px;
|
|
21
|
+
font-family: var(--font-family-alfasans);
|
|
20
22
|
padding: var(--gap-6) var(--gap-12) var(--gap-16);
|
|
21
23
|
}
|
|
22
24
|
|
|
@@ -24,7 +26,8 @@
|
|
|
24
26
|
font-size: 30px;
|
|
25
27
|
line-height: 36px;
|
|
26
28
|
font-weight: 700;
|
|
27
|
-
|
|
29
|
+
letter-spacing: 0.1px;
|
|
30
|
+
font-family: var(--font-family-alfasans);
|
|
28
31
|
padding: var(--gap-6) var(--gap-12) var(--gap-16);
|
|
29
32
|
}
|
|
30
33
|
|
|
@@ -32,5 +35,6 @@
|
|
|
32
35
|
font-size: 30px;
|
|
33
36
|
line-height: 36px;
|
|
34
37
|
font-weight: 700;
|
|
35
|
-
|
|
38
|
+
letter-spacing: 0.1px;
|
|
39
|
+
font-family: var(--font-family-alfasans);
|
|
36
40
|
}
|
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { NavigationBarPrivate } from '@alfalab/core-components-navigation-bar-private/moderncssm';
|
|
4
4
|
import { getDataTestId } from '@alfalab/core-components-shared/moderncssm';
|
|
5
|
-
import {
|
|
5
|
+
import { useBaseHeader } from '../base-header/useBaseHeader.js';
|
|
6
6
|
import styles from '../base-header/index.module.css';
|
|
7
7
|
import mobileStyles from './mobile.module.css';
|
|
8
8
|
|
|
9
|
-
const HeaderMobile = (
|
|
10
|
-
const {
|
|
11
|
-
const
|
|
12
|
-
const hasContent
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
setHasHeader(true);
|
|
21
|
-
return () => {
|
|
22
|
-
setHasHeader(false);
|
|
23
|
-
};
|
|
24
|
-
}, [setHasHeader]);
|
|
9
|
+
const HeaderMobile = (props) => {
|
|
10
|
+
const { className, children, contentClassName, title, sticky, dataTestId, bottomAddonsClassName, onClose, ...restProps } = props;
|
|
11
|
+
const { bottomAddons } = restProps;
|
|
12
|
+
const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({
|
|
13
|
+
title,
|
|
14
|
+
children,
|
|
15
|
+
bottomAddons,
|
|
16
|
+
onClose,
|
|
17
|
+
});
|
|
25
18
|
return (React.createElement(NavigationBarPrivate, { ...restProps, view: 'mobile', dataTestId: getDataTestId(dataTestId, 'header'), sticky: sticky, title: title, className: cn(styles.header, mobileStyles.header, className, {
|
|
26
19
|
[styles.highlighted]: sticky && headerHighlighted && hasContent,
|
|
27
20
|
[styles.sticky]: sticky,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../../../src/components/header/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type FC
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../../../src/components/header/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { useBaseHeader } from '../base-header/useBaseHeader';\n\nimport styles from '../base-header/index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderMobileProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const HeaderMobile: FC<HeaderMobileProps> = (props) => {\n const {\n className,\n children,\n contentClassName,\n title,\n sticky,\n dataTestId,\n bottomAddonsClassName,\n onClose,\n ...restProps\n } = props;\n\n const { bottomAddons } = restProps;\n\n const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({\n title,\n children,\n bottomAddons,\n onClose,\n });\n\n return (\n <NavigationBarPrivate\n {...restProps}\n view='mobile'\n dataTestId={getDataTestId(dataTestId, 'header')}\n sticky={sticky}\n title={title}\n className={cn(styles.header, mobileStyles.header, className, {\n [styles.highlighted]: sticky && headerHighlighted && hasContent,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n })}\n contentClassName={cn(mobileStyles.content, contentClassName)}\n bottomAddonsClassName={cn(mobileStyles.bottomAddons, bottomAddonsClassName)}\n scrollableParentRef={componentRef}\n titleRef={titleRef}\n onClose={handleClose}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAgBa,MAAA,YAAY,GAA0B,CAAC,KAAK,KAAI;IACzD,MAAM,EACF,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,GAAG,SAAS,EACf,GAAG,KAAK;AAET,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS;AAElC,IAAA,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QACzF,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;AACV,KAAA,CAAC;AAEF,IAAA,QACI,KAAC,CAAA,aAAA,CAAA,oBAAoB,OACb,SAAS,EACb,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE;YACzD,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,iBAAiB,IAAI,UAAU;AAC/D,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU;AAClC,SAAA,CAAC,EACF,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAC5D,qBAAqB,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAC3E,mBAAmB,EAAE,YAAY,EACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACU;AAE/B;;;;"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
.content {
|
|
8
8
|
font-size: 20px;
|
|
9
9
|
line-height: 28px;
|
|
10
|
-
font-weight:
|
|
11
|
-
|
|
10
|
+
font-weight: 500;
|
|
11
|
+
letter-spacing: -0.15px;
|
|
12
|
+
font-family: var(--font-family-alfasans);
|
|
12
13
|
padding: 0 var(--gap-12);
|
|
13
14
|
min-height: 40px;
|
|
14
15
|
justify-content: center;
|
|
@@ -17,7 +18,8 @@
|
|
|
17
18
|
.bottomAddons {
|
|
18
19
|
font-size: 20px;
|
|
19
20
|
line-height: 28px;
|
|
20
|
-
font-weight:
|
|
21
|
-
|
|
21
|
+
font-weight: 500;
|
|
22
|
+
letter-spacing: -0.15px;
|
|
23
|
+
font-family: var(--font-family-alfasans);
|
|
22
24
|
padding: var(--gap-6) var(--gap-16);
|
|
23
25
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { forwardRef,
|
|
1
|
+
import React, { forwardRef, useMemo } from 'react';
|
|
2
2
|
import '@alfalab/core-components-mq/moderncssm';
|
|
3
3
|
import { ContentDesktop } from '../components/content/desktop/Component.desktop.js';
|
|
4
4
|
import 'classnames';
|
|
@@ -16,24 +16,16 @@ import { HeaderDesktop } from '../components/header/desktop/Component.desktop.js
|
|
|
16
16
|
import '@alfalab/core-components-navigation-bar-private/moderncssm';
|
|
17
17
|
import '../components/header/base-header/index.module.css';
|
|
18
18
|
import '../components/header/mobile/mobile.module.css';
|
|
19
|
-
import { UniversalModalContext } from '../context/universal-modal-context.js';
|
|
20
19
|
import { CenterModal } from './components/center-modal/center-modal.js';
|
|
21
20
|
import { SideModal } from './components/side-modal/side-modal.js';
|
|
22
|
-
import {
|
|
21
|
+
import { UniversalModalContext } from './context/index.js';
|
|
23
22
|
|
|
24
|
-
const UniversalModalDesktopComponent = forwardRef((
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const { hasHeader, hasFooter } = checkHeaderAndFooter(children);
|
|
23
|
+
const UniversalModalDesktopComponent = forwardRef((props, ref) => {
|
|
24
|
+
const { children, horizontalAlign = 'center', ...restProps } = props;
|
|
25
|
+
const { width = 500 } = restProps;
|
|
28
26
|
const contextValue = useMemo(() => ({
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
modalFooterHighlighted,
|
|
32
|
-
hasHeader,
|
|
33
|
-
hasFooter,
|
|
34
|
-
setModalHeaderHighlighted,
|
|
35
|
-
setModalFooterHighlighted,
|
|
36
|
-
}), [restProps.width, modalHeaderHighlighted, modalFooterHighlighted, hasHeader, hasFooter]);
|
|
27
|
+
width,
|
|
28
|
+
}), [width]);
|
|
37
29
|
const renderModal = () => {
|
|
38
30
|
if (horizontalAlign === 'center') {
|
|
39
31
|
return (React.createElement(CenterModal, { ...restProps, ref: ref, horizontalAlign: horizontalAlign }, children));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef, useMemo
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\n\nimport { ContentDesktop } from '../components/content';\nimport { FooterDesktop } from '../components/footer';\nimport { HeaderDesktop } from '../components/header';\n\nimport { CenterModal } from './components/center-modal';\nimport { SideModal } from './components/side-modal';\nimport { type UniversalModalContextType } from './types/context';\nimport { type UniversalModalDesktopProps } from './types/props';\nimport { UniversalModalContext } from './context';\n\nexport const UniversalModalDesktopComponent = forwardRef<\n HTMLDivElement,\n UniversalModalDesktopProps\n>((props, ref) => {\n const { children, horizontalAlign = 'center', ...restProps } = props;\n const { width = 500 } = restProps;\n\n const contextValue = useMemo<UniversalModalContextType>(\n () => ({\n width,\n }),\n [width],\n );\n\n const renderModal = () => {\n if (horizontalAlign === 'center') {\n return (\n <CenterModal {...restProps} ref={ref} horizontalAlign={horizontalAlign}>\n {children}\n </CenterModal>\n );\n }\n\n return (\n <SideModal {...restProps} ref={ref} horizontalAlign={horizontalAlign}>\n {children}\n </SideModal>\n );\n };\n\n return (\n <UniversalModalContext.Provider value={contextValue}>\n {renderModal()}\n </UniversalModalContext.Provider>\n );\n});\n\nexport const UniversalModalDesktop = Object.assign(UniversalModalDesktopComponent, {\n Header: HeaderDesktop,\n Content: ContentDesktop,\n Footer: FooterDesktop,\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,8BAA8B,GAAG,UAAU,CAGtD,CAAC,KAAK,EAAE,GAAG,KAAI;AACb,IAAA,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AACpE,IAAA,MAAM,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,SAAS;AAEjC,IAAA,MAAM,YAAY,GAAG,OAAO,CACxB,OAAO;QACH,KAAK;AACR,KAAA,CAAC,EACF,CAAC,KAAK,CAAC,CACV;IAED,MAAM,WAAW,GAAG,MAAK;QACrB,IAAI,eAAe,KAAK,QAAQ,EAAE;AAC9B,YAAA,QACI,KAAC,CAAA,aAAA,CAAA,WAAW,EAAK,EAAA,GAAA,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,IACjE,QAAQ,CACC;AAErB;AAED,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,SAAS,EAAK,EAAA,GAAA,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,IAC/D,QAAQ,CACD;AAEpB,KAAC;AAED,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,qBAAqB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAC9C,EAAA,WAAW,EAAE,CACe;AAEzC,CAAC;MAEY,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE;AAC/E,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,MAAM,EAAE,aAAa;AACxB,CAAA;;;;"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { createContext } from 'react';
|
|
2
2
|
|
|
3
3
|
const UniversalModalContext = createContext({
|
|
4
|
-
|
|
5
|
-
hasFooter: false,
|
|
6
|
-
hasHeader: false,
|
|
4
|
+
width: 500,
|
|
7
5
|
});
|
|
8
6
|
|
|
9
7
|
export { UniversalModalContext };
|
|
10
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/desktop/context/index.ts"],"sourcesContent":["import { createContext } from 'react';\n\nimport { type UniversalModalContextType } from '../types/context';\n\nexport const UniversalModalContext = createContext<UniversalModalContextType>({\n width: 500,\n});\n"],"names":[],"mappings":";;AAIO,MAAM,qBAAqB,GAAG,aAAa,CAA4B;AAC1E,IAAA,KAAK,EAAE,GAAG;AACb,CAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useContext, useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ModalContext } from '../../Context.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Расчет overlap состояния
|
|
@@ -7,7 +7,7 @@ import { UniversalModalContext } from '../../context/universal-modal-context.js'
|
|
|
7
7
|
*/
|
|
8
8
|
const useModalHighlighted = (params) => {
|
|
9
9
|
const { scrollbarContentNodeRef, scrollableNodeRef } = params;
|
|
10
|
-
const { setModalHeaderHighlighted, setModalFooterHighlighted } = useContext(
|
|
10
|
+
const { setHeaderHighlighted: setModalHeaderHighlighted, setFooterHighlighted: setModalFooterHighlighted, } = useContext(ModalContext);
|
|
11
11
|
const handleScroll = (e) => {
|
|
12
12
|
const target = e.target;
|
|
13
13
|
const { scrollTop, scrollHeight, clientHeight } = target;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-modal-highlighted.js","sources":["../../../src/desktop/hooks/use-modal-highlighted.ts"],"sourcesContent":["import { type RefObject, useContext, useEffect } from 'react';\n\nimport { type ScrollbarProps } from '@alfalab/core-components-scrollbar';\n\nimport {
|
|
1
|
+
{"version":3,"file":"use-modal-highlighted.js","sources":["../../../src/desktop/hooks/use-modal-highlighted.ts"],"sourcesContent":["import { type RefObject, useContext, useEffect } from 'react';\n\nimport { type ScrollbarProps } from '@alfalab/core-components-scrollbar';\n\nimport { ModalContext } from '../../Context';\n\ninterface Params {\n scrollbarContentNodeRef: RefObject<HTMLDivElement>;\n scrollableNodeRef: RefObject<HTMLDivElement>;\n}\n\n/**\n * Расчет overlap состояния\n * Этот функционал есть в base-modal, но так как в desktop версии используется кастомный scroll необходимо обрабатывать это в ручную\n */\nexport const useModalHighlighted = (params: Params) => {\n const { scrollbarContentNodeRef, scrollableNodeRef } = params;\n\n const {\n setHeaderHighlighted: setModalHeaderHighlighted,\n setFooterHighlighted: setModalFooterHighlighted,\n } = useContext(ModalContext);\n\n const handleScroll: ScrollbarProps['onContentScroll'] = (e) => {\n const target = e.target as HTMLDivElement;\n const { scrollTop, scrollHeight, clientHeight } = target;\n\n const isElementFullScrolled = scrollHeight - scrollTop === clientHeight;\n\n if (setModalHeaderHighlighted) {\n setModalHeaderHighlighted(scrollTop > 0);\n }\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(!isElementFullScrolled);\n }\n };\n\n // Очищаем overlap значения в контексте\n useEffect(\n () => () => {\n if (setModalHeaderHighlighted) {\n setModalHeaderHighlighted(false);\n }\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(false);\n }\n },\n [setModalHeaderHighlighted, setModalFooterHighlighted],\n );\n\n // Расчет overlap футера при resize событии\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n const contentHeight = scrollbarContentNodeRef.current?.clientHeight || 0;\n const wrapperHeight = scrollableNodeRef.current?.clientHeight || 0;\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(contentHeight > wrapperHeight);\n }\n });\n\n if (scrollbarContentNodeRef.current) {\n resizeObserver.observe(scrollbarContentNodeRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setModalFooterHighlighted]);\n\n return { handleScroll };\n};\n"],"names":[],"mappings":";;;AAWA;;;AAGG;AACU,MAAA,mBAAmB,GAAG,CAAC,MAAc,KAAI;AAClD,IAAA,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,MAAM;AAE7D,IAAA,MAAM,EACF,oBAAoB,EAAE,yBAAyB,EAC/C,oBAAoB,EAAE,yBAAyB,GAClD,GAAG,UAAU,CAAC,YAAY,CAAC;AAE5B,IAAA,MAAM,YAAY,GAAsC,CAAC,CAAC,KAAI;AAC1D,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QACzC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM;AAExD,QAAA,MAAM,qBAAqB,GAAG,YAAY,GAAG,SAAS,KAAK,YAAY;AAEvE,QAAA,IAAI,yBAAyB,EAAE;AAC3B,YAAA,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3C;AAED,QAAA,IAAI,yBAAyB,EAAE;AAC3B,YAAA,yBAAyB,CAAC,CAAC,qBAAqB,CAAC;AACpD;AACL,KAAC;;AAGD,IAAA,SAAS,CACL,MAAM,MAAK;AACP,QAAA,IAAI,yBAAyB,EAAE;YAC3B,yBAAyB,CAAC,KAAK,CAAC;AACnC;AAED,QAAA,IAAI,yBAAyB,EAAE;YAC3B,yBAAyB,CAAC,KAAK,CAAC;AACnC;AACL,KAAC,EACD,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CACzD;;IAGD,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;YAC3C,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;YACxE,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;AAElE,YAAA,IAAI,yBAAyB,EAAE;AAC3B,gBAAA,yBAAyB,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3D;AACL,SAAC,CAAC;QAEF,IAAI,uBAAuB,CAAC,OAAO,EAAE;AACjC,YAAA,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC;AAC1D;AAED,QAAA,OAAO,MAAK;YACR,cAAc,CAAC,UAAU,EAAE;AAC/B,SAAC;;AAEL,KAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAE/B,OAAO,EAAE,YAAY,EAAE;AAC3B;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/moderncssm/index.js
CHANGED
|
@@ -2,9 +2,8 @@ export { UniversalModal, UniversalModalResponsive } from './Component.responsive
|
|
|
2
2
|
export { ContentResponsive } from './components/content/responsive/Component.responsive.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'classnames';
|
|
5
|
-
import './context/universal-modal-context.js';
|
|
6
|
-
import '@alfalab/core-components-shared/moderncssm';
|
|
7
5
|
import '@alfalab/core-components-base-modal/moderncssm';
|
|
6
|
+
import '@alfalab/core-components-shared/moderncssm';
|
|
8
7
|
import './components/content/base-content/index.module.css';
|
|
9
8
|
import './components/content/desktop/desktop.module.css';
|
|
10
9
|
import './components/content/mobile/mobile.module.css';
|
package/moderncssm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,6 @@ import React, { forwardRef } from 'react';
|
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { BaseModal } from '@alfalab/core-components-base-modal/moderncssm';
|
|
4
4
|
import '@alfalab/core-components-mq/moderncssm';
|
|
5
|
-
import '../context/universal-modal-context.js';
|
|
6
5
|
import '@alfalab/core-components-shared/moderncssm';
|
|
7
6
|
import '../components/content/base-content/index.module.css';
|
|
8
7
|
import '../components/content/desktop/desktop.module.css';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { ContentMobile } from '../components/content';\nimport { FooterMobile } from '../components/footer';\nimport { HeaderMobile } from '../components/header';\n\nimport { type UniversalModalMobileProps } from './types/props';\n\nimport styles from './mobile.module.css';\nimport rightSideTransitions from './transitions/right-side-transitions.mobile.module.css';\nimport transitions from './transitions/transitions.mobile.module.css';\n\nexport const UniversalModalMobileComponent = forwardRef<HTMLDivElement, UniversalModalMobileProps>(\n (props, ref) => {\n const { children, className, dataTestId, appearance = 'bottom', ...restProps } = props;\n\n return (\n <BaseModal\n {...restProps}\n dataTestId={dataTestId}\n ref={ref}\n transitionProps={{\n timeout: appearance === 'right' ? 360 : 200,\n classNames: appearance === 'right' ? rightSideTransitions : transitions,\n ...restProps.transitionProps,\n }}\n className={cn(className, styles.component)}\n scrollHandler='content'\n contentClassName={styles.content}\n >\n {children}\n </BaseModal>\n );\n },\n);\n\nexport const UniversalModalMobile = Object.assign(UniversalModalMobileComponent, {\n Header: HeaderMobile,\n Content: ContentMobile,\n Footer: FooterMobile,\n});\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { ContentMobile } from '../components/content';\nimport { FooterMobile } from '../components/footer';\nimport { HeaderMobile } from '../components/header';\n\nimport { type UniversalModalMobileProps } from './types/props';\n\nimport styles from './mobile.module.css';\nimport rightSideTransitions from './transitions/right-side-transitions.mobile.module.css';\nimport transitions from './transitions/transitions.mobile.module.css';\n\nexport const UniversalModalMobileComponent = forwardRef<HTMLDivElement, UniversalModalMobileProps>(\n (props, ref) => {\n const { children, className, dataTestId, appearance = 'bottom', ...restProps } = props;\n\n return (\n <BaseModal\n {...restProps}\n dataTestId={dataTestId}\n ref={ref}\n transitionProps={{\n timeout: appearance === 'right' ? 360 : 200,\n classNames: appearance === 'right' ? rightSideTransitions : transitions,\n ...restProps.transitionProps,\n }}\n className={cn(className, styles.component)}\n scrollHandler='content'\n contentClassName={styles.content}\n >\n {children}\n </BaseModal>\n );\n },\n);\n\nexport const UniversalModalMobile = Object.assign(UniversalModalMobileComponent, {\n Header: HeaderMobile,\n Content: ContentMobile,\n Footer: FooterMobile,\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAea,MAAA,6BAA6B,GAAG,UAAU,CACnD,CAAC,KAAK,EAAE,GAAG,KAAI;AACX,IAAA,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEtF,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAA,GACF,SAAS,EACb,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,EACR,eAAe,EAAE;YACb,OAAO,EAAE,UAAU,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG;YAC3C,UAAU,EAAE,UAAU,KAAK,OAAO,GAAG,oBAAoB,GAAG,WAAW;YACvE,GAAG,SAAS,CAAC,eAAe;SAC/B,EACD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAC1C,aAAa,EAAC,SAAS,EACvB,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAE/B,EAAA,QAAQ,CACD;AAEpB,CAAC;MAGQ,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE;AAC7E,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,MAAM,EAAE,YAAY;AACvB,CAAA;;;;"}
|
|
@@ -8,9 +8,8 @@ export { FooterMobile } from '../components/footer/mobile/Component.mobile.js';
|
|
|
8
8
|
import 'react';
|
|
9
9
|
import '@alfalab/core-components-mq/moderncssm';
|
|
10
10
|
import 'classnames';
|
|
11
|
-
import '../context/universal-modal-context.js';
|
|
12
|
-
import '@alfalab/core-components-shared/moderncssm';
|
|
13
11
|
import '@alfalab/core-components-base-modal/moderncssm';
|
|
12
|
+
import '@alfalab/core-components-shared/moderncssm';
|
|
14
13
|
import '../components/content/base-content/index.module.css';
|
|
15
14
|
import '../components/content/desktop/desktop.module.css';
|
|
16
15
|
export { ContentMobile } from '../components/content/mobile/Component.mobile.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { type UniversalModalDesktopProps } from '../desktop';
|
|
2
2
|
import { type UniversalModalMobileProps } from '../mobile';
|
|
3
|
-
export interface UniversalModalContextType {
|
|
4
|
-
modalWidth: UniversalModalDesktopProps['width'];
|
|
5
|
-
modalHeaderHighlighted?: boolean;
|
|
6
|
-
modalFooterHighlighted?: boolean;
|
|
7
|
-
hasHeader: boolean;
|
|
8
|
-
hasFooter: boolean;
|
|
9
|
-
setModalHeaderHighlighted?: (value: boolean) => void;
|
|
10
|
-
setModalFooterHighlighted?: (value: boolean) => void;
|
|
11
|
-
}
|
|
12
3
|
export interface UniversalModalResponsiveProps extends UniversalModalDesktopProps, UniversalModalMobileProps {
|
|
13
4
|
/**
|
|
14
5
|
* Контрольная точка, с нее начинается desktop версия
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-universal-modal",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3-alfasans",
|
|
4
4
|
"description": "UniversalModal component",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
"main": "index.js",
|
|
11
11
|
"module": "./esm/index.js",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@alfalab/core-components-backdrop": "
|
|
14
|
-
"@alfalab/core-components-base-modal": "
|
|
15
|
-
"@alfalab/core-components-mq": "
|
|
16
|
-
"@alfalab/core-components-navigation-bar-private": "
|
|
17
|
-
"@alfalab/core-components-scrollbar": "
|
|
18
|
-
"@alfalab/core-components-shared": "
|
|
13
|
+
"@alfalab/core-components-backdrop": "5.0.1-alfasans",
|
|
14
|
+
"@alfalab/core-components-base-modal": "7.1.0-alfasans",
|
|
15
|
+
"@alfalab/core-components-mq": "6.0.1-alfasans",
|
|
16
|
+
"@alfalab/core-components-navigation-bar-private": "2.0.2-alfasans",
|
|
17
|
+
"@alfalab/core-components-scrollbar": "5.0.1-alfasans",
|
|
18
|
+
"@alfalab/core-components-shared": "2.0.1-alfasans",
|
|
19
19
|
"@types/react-transition-group": "^4.4.12",
|
|
20
20
|
"classnames": "^2.5.1",
|
|
21
21
|
"react-merge-refs": "^1.1.0",
|
|
@@ -30,6 +30,6 @@
|
|
|
30
30
|
"access": "public",
|
|
31
31
|
"directory": "dist"
|
|
32
32
|
},
|
|
33
|
-
"themesVersion": "15.0.1",
|
|
34
|
-
"varsVersion": "11.0.1"
|
|
33
|
+
"themesVersion": "15.0.1-alfasans",
|
|
34
|
+
"varsVersion": "11.0.1-alfasans"
|
|
35
35
|
}
|
package/src/Context.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { type FC, useContext } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { ModalContext } from '../../../Context';
|
|
5
5
|
import { BaseContent, type ContentProps } from '../base-content/base-content';
|
|
6
6
|
|
|
7
7
|
import styles from './desktop.module.css';
|
|
@@ -14,7 +14,7 @@ export interface ContentDesktopProps extends ContentProps {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export const ContentDesktop: FC<ContentDesktopProps> = ({ className, ...restProps }) => {
|
|
17
|
-
const { hasHeader, hasFooter } = useContext(
|
|
17
|
+
const { hasHeader, hasFooter } = useContext(ModalContext);
|
|
18
18
|
|
|
19
19
|
return (
|
|
20
20
|
<BaseContent
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React, { forwardRef, useContext } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { ModalContext } from '../../../Context';
|
|
5
5
|
import { FOOTER_MEDIUM_BREAKPOINT } from '../../../desktop/constants';
|
|
6
|
+
import { UniversalModalContext } from '../../../desktop/context';
|
|
6
7
|
import { BaseFooter, type FooterProps } from '../base-footer/base-footer';
|
|
7
8
|
|
|
8
9
|
import styles from './desktop.module.css';
|
|
@@ -17,7 +18,8 @@ export interface FooterDesktopProps extends FooterProps {
|
|
|
17
18
|
|
|
18
19
|
export const FooterDesktop = forwardRef<HTMLDivElement, FooterDesktopProps>((props, ref) => {
|
|
19
20
|
const { className, sticky, layout = 'start', ...restProps } = props;
|
|
20
|
-
const { modalWidth
|
|
21
|
+
const { width: modalWidth } = useContext(UniversalModalContext);
|
|
22
|
+
const { footerHighlighted: modalFooterHighlighted } = useContext(ModalContext);
|
|
21
23
|
|
|
22
24
|
const isMiddle = modalWidth === 'fullWidth' || modalWidth >= FOOTER_MEDIUM_BREAKPOINT;
|
|
23
25
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { useContext, useEffect, useRef } from 'react';
|
|
2
|
+
|
|
3
|
+
import { type NavigationBarPrivateProps } from '@alfalab/core-components-navigation-bar-private';
|
|
4
|
+
|
|
5
|
+
import { ModalContext } from '../../../Context';
|
|
6
|
+
|
|
7
|
+
type Params = Pick<NavigationBarPrivateProps, 'title' | 'children' | 'bottomAddons' | 'onClose'>;
|
|
8
|
+
|
|
9
|
+
export const useBaseHeader = (params: Params) => {
|
|
10
|
+
const { title, children, bottomAddons, onClose } = params;
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
componentRef,
|
|
14
|
+
headerHighlighted,
|
|
15
|
+
onClose: handleCloseByContext,
|
|
16
|
+
setHasHeader,
|
|
17
|
+
} = useContext(ModalContext);
|
|
18
|
+
|
|
19
|
+
const titleRef = useRef<HTMLDivElement>(null);
|
|
20
|
+
|
|
21
|
+
const hasContent = Boolean(title || children || bottomAddons);
|
|
22
|
+
|
|
23
|
+
const handleClose: NavigationBarPrivateProps['onClose'] = (...args) => {
|
|
24
|
+
if (onClose) {
|
|
25
|
+
return onClose(...args);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return handleCloseByContext(...args);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
setHasHeader(true);
|
|
33
|
+
|
|
34
|
+
return () => {
|
|
35
|
+
setHasHeader(false);
|
|
36
|
+
};
|
|
37
|
+
}, [setHasHeader]);
|
|
38
|
+
|
|
39
|
+
return { headerHighlighted, hasContent, componentRef, titleRef, handleClose };
|
|
40
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { forwardRef
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
|
|
4
4
|
import {
|
|
@@ -7,8 +7,7 @@ import {
|
|
|
7
7
|
} from '@alfalab/core-components-navigation-bar-private';
|
|
8
8
|
import { getDataTestId } from '@alfalab/core-components-shared';
|
|
9
9
|
|
|
10
|
-
import {
|
|
11
|
-
import { UniversalModalContext } from '../../../context/universal-modal-context';
|
|
10
|
+
import { useBaseHeader } from '../base-header/useBaseHeader';
|
|
12
11
|
|
|
13
12
|
import styles from '../base-header/index.module.css';
|
|
14
13
|
import desktopStyles from './desktop.module.css';
|
|
@@ -39,20 +38,14 @@ export const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((pro
|
|
|
39
38
|
...restProps
|
|
40
39
|
} = props;
|
|
41
40
|
|
|
42
|
-
const {
|
|
43
|
-
const { modalHeaderHighlighted } = useContext(UniversalModalContext);
|
|
41
|
+
const { bottomAddons } = restProps;
|
|
44
42
|
|
|
45
|
-
const titleRef =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return onClose(...args);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return handleCloseByContext(...args);
|
|
55
|
-
};
|
|
43
|
+
const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({
|
|
44
|
+
title,
|
|
45
|
+
children,
|
|
46
|
+
bottomAddons,
|
|
47
|
+
onClose,
|
|
48
|
+
});
|
|
56
49
|
|
|
57
50
|
return (
|
|
58
51
|
<NavigationBarPrivate
|
|
@@ -64,7 +57,7 @@ export const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((pro
|
|
|
64
57
|
sticky={sticky}
|
|
65
58
|
title={title}
|
|
66
59
|
className={cn(styles.header, desktopStyles.header, className, {
|
|
67
|
-
[styles.highlighted]: sticky &&
|
|
60
|
+
[styles.highlighted]: sticky && headerHighlighted && hasContent,
|
|
68
61
|
[styles.sticky]: sticky,
|
|
69
62
|
[styles.hasContent]: hasContent,
|
|
70
63
|
[desktopStyles.medium]: bigTitle,
|