@alfalab/core-components 45.8.0-beta.3 → 45.8.0-beta.4
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/base-modal/Component.d.ts +4 -0
- package/base-modal/Component.js +19 -11
- package/base-modal/cssm/Component.d.ts +4 -0
- package/base-modal/cssm/Component.js +19 -11
- package/base-modal/cssm/helpers/lockScroll.d.ts +4 -0
- package/base-modal/cssm/helpers/lockScroll.js +18 -0
- package/base-modal/cssm/index.module.css +6 -1
- package/base-modal/cssm/utils.d.ts +1 -1
- package/base-modal/cssm/utils.js +5 -2
- package/base-modal/esm/Component.d.ts +4 -0
- package/base-modal/esm/Component.js +20 -12
- package/base-modal/esm/helpers/lockScroll.d.ts +4 -0
- package/base-modal/esm/helpers/lockScroll.js +14 -0
- package/base-modal/esm/index.css +6 -1
- package/base-modal/esm/index.js +1 -0
- package/base-modal/esm/utils.d.ts +1 -1
- package/base-modal/esm/utils.js +5 -2
- package/base-modal/helpers/lockScroll.d.ts +4 -0
- package/base-modal/helpers/lockScroll.js +18 -0
- package/base-modal/index.css +6 -1
- package/base-modal/modern/Component.d.ts +4 -0
- package/base-modal/modern/Component.js +13 -5
- package/base-modal/modern/helpers/lockScroll.d.ts +4 -0
- package/base-modal/modern/helpers/lockScroll.js +14 -0
- package/base-modal/modern/index.css +6 -1
- package/base-modal/modern/index.js +1 -0
- package/base-modal/modern/utils.d.ts +1 -1
- package/base-modal/modern/utils.js +4 -2
- package/base-modal/utils.d.ts +1 -1
- package/base-modal/utils.js +5 -2
- package/calendar-range/esm/Component.js +1 -1
- package/calendar-range/esm/index.js +1 -1
- package/calendar-range/esm/views/popover.js +1 -1
- package/calendar-range/esm/views/static.js +1 -1
- package/calendar-range/modern/Component.js +1 -1
- package/calendar-range/modern/index.js +1 -1
- package/calendar-range/modern/views/popover.js +1 -1
- package/calendar-range/modern/views/static.js +1 -1
- package/calendar-range/utils.js +3 -1
- package/calendar-range/views/popover.js +1 -1
- package/calendar-range/views/static.js +1 -1
- package/dropzone/Component.d.ts +1 -1
- package/dropzone/Component.js +1 -1
- package/dropzone/cssm/Component.d.ts +1 -1
- package/dropzone/cssm/Component.js +1 -1
- package/dropzone/esm/Component.d.ts +1 -1
- package/dropzone/esm/Component.js +1 -1
- package/dropzone/modern/Component.d.ts +1 -1
- package/dropzone/modern/Component.js +1 -1
- package/gallery/components/header/Component.js +1 -1
- package/gallery/components/header/buttons.js +1 -1
- package/gallery/components/image-viewer/component.js +1 -1
- package/gallery/components/image-viewer/slide.js +1 -1
- package/gallery/esm/Component.js +2 -2
- package/gallery/esm/components/header/Component.js +1 -1
- package/gallery/esm/components/header/buttons.js +1 -1
- package/gallery/esm/components/header/index.js +1 -1
- package/gallery/esm/components/image-preview/Component.js +1 -1
- package/gallery/esm/components/image-preview/index.js +1 -1
- package/gallery/esm/components/image-viewer/component.js +1 -1
- package/gallery/esm/components/image-viewer/index.js +1 -1
- package/gallery/esm/components/image-viewer/slide.js +1 -1
- package/gallery/esm/components/index.js +2 -2
- package/gallery/esm/components/navigation-bar/Component.js +1 -1
- package/gallery/esm/components/navigation-bar/index.js +1 -1
- package/gallery/esm/index.js +2 -2
- package/gallery/modern/Component.js +2 -2
- package/gallery/modern/components/header/Component.js +1 -1
- package/gallery/modern/components/header/buttons.js +1 -1
- package/gallery/modern/components/header/index.js +1 -1
- package/gallery/modern/components/image-preview/Component.js +1 -1
- package/gallery/modern/components/image-preview/index.js +1 -1
- package/gallery/modern/components/image-viewer/component.js +1 -1
- package/gallery/modern/components/image-viewer/index.js +1 -1
- package/gallery/modern/components/image-viewer/slide.js +1 -1
- package/gallery/modern/components/index.js +2 -2
- package/gallery/modern/components/navigation-bar/Component.js +1 -1
- package/gallery/modern/components/navigation-bar/index.js +1 -1
- package/gallery/modern/index.js +2 -2
- package/international-phone-input/Component-bdb4c6b9.d.ts +2 -1
- package/international-phone-input/{ResponsiveContext-88b743b5.d.ts → ResponsiveContext-d6bfd5b7.d.ts} +1 -1
- package/international-phone-input/cssm/Component-bdb4c6b9.d.ts +2 -1
- package/international-phone-input/cssm/{ResponsiveContext-88b743b5.d.ts → ResponsiveContext-d6bfd5b7.d.ts} +1 -1
- package/international-phone-input/cssm/index-bdb4c6b9.d.ts +9 -2
- package/international-phone-input/cssm/typings-57569e57.d.ts +6 -5
- package/international-phone-input/{esm/typings-88b743b5.d.ts → cssm/typings-d6bfd5b7.d.ts} +4 -0
- package/international-phone-input/cssm/use-skeleton-1328ead9.d.ts +0 -4
- package/international-phone-input/esm/Component-bdb4c6b9.d.ts +2 -1
- package/international-phone-input/esm/{ResponsiveContext-88b743b5.d.ts → ResponsiveContext-d6bfd5b7.d.ts} +1 -1
- package/international-phone-input/esm/index-bdb4c6b9.d.ts +9 -2
- package/international-phone-input/esm/typings-57569e57.d.ts +6 -5
- package/international-phone-input/{typings-88b743b5.d.ts → esm/typings-d6bfd5b7.d.ts} +4 -0
- package/international-phone-input/esm/use-skeleton-1328ead9.d.ts +0 -4
- package/international-phone-input/index-bdb4c6b9.d.ts +9 -2
- package/international-phone-input/modern/Component-bdb4c6b9.d.ts +2 -1
- package/international-phone-input/modern/{ResponsiveContext-88b743b5.d.ts → ResponsiveContext-d6bfd5b7.d.ts} +1 -1
- package/international-phone-input/modern/index-bdb4c6b9.d.ts +9 -2
- package/international-phone-input/modern/typings-57569e57.d.ts +6 -5
- package/international-phone-input/{cssm/typings-88b743b5.d.ts → modern/typings-d6bfd5b7.d.ts} +4 -0
- package/international-phone-input/modern/use-skeleton-1328ead9.d.ts +0 -4
- package/international-phone-input/typings-57569e57.d.ts +6 -5
- package/international-phone-input/{modern/typings-88b743b5.d.ts → typings-d6bfd5b7.d.ts} +4 -0
- package/international-phone-input/use-skeleton-1328ead9.d.ts +0 -4
- package/modal/Component.d.ts +1 -0
- package/modal/Component.responsive.d.ts +1 -0
- package/modal/components/controls/Component.js +1 -1
- package/modal/components/footer/Component.js +1 -1
- package/modal/cssm/Component.d.ts +1 -0
- package/modal/cssm/Component.responsive.d.ts +1 -0
- package/modal/cssm/desktop/Component.desktop.d.ts +1 -0
- package/modal/cssm/typings.d.ts +4 -0
- package/modal/desktop/Component.desktop.d.ts +1 -0
- package/modal/esm/Component.d.ts +1 -0
- package/modal/esm/Component.responsive.d.ts +1 -0
- package/modal/esm/Component.responsive.js +1 -1
- package/modal/esm/components/controls/Component.js +1 -1
- package/modal/esm/components/controls/index.js +1 -1
- package/modal/esm/components/footer/Component.js +1 -1
- package/modal/esm/desktop/Component.desktop.d.ts +1 -0
- package/modal/esm/desktop/Component.desktop.js +1 -1
- package/modal/esm/desktop/index.js +1 -1
- package/modal/esm/index.js +1 -1
- package/modal/esm/mobile/Component.mobile.js +1 -1
- package/modal/esm/mobile/index.js +1 -1
- package/modal/esm/typings.d.ts +4 -0
- package/modal/modern/Component.d.ts +1 -0
- package/modal/modern/Component.responsive.d.ts +1 -0
- package/modal/modern/Component.responsive.js +1 -1
- package/modal/modern/components/controls/Component.js +1 -1
- package/modal/modern/components/controls/index.js +1 -1
- package/modal/modern/components/footer/Component.js +1 -1
- package/modal/modern/desktop/Component.desktop.d.ts +1 -0
- package/modal/modern/desktop/Component.desktop.js +1 -1
- package/modal/modern/desktop/index.js +1 -1
- package/modal/modern/index.js +1 -1
- package/modal/modern/mobile/Component.mobile.js +1 -1
- package/modal/modern/mobile/index.js +1 -1
- package/modal/modern/typings.d.ts +4 -0
- package/modal/typings.d.ts +4 -0
- package/package.json +1 -1
- package/picker-button/Component-bdb4c6b9.d.ts +2 -1
- package/picker-button/ResponsiveContext-d6bfd5b7.d.ts +5 -0
- package/picker-button/cssm/Component-bdb4c6b9.d.ts +2 -1
- package/picker-button/cssm/ResponsiveContext-d6bfd5b7.d.ts +5 -0
- package/picker-button/cssm/{index-307da6d7.d.ts → index-a5b021bd.d.ts} +1 -2
- package/picker-button/cssm/index-bdb4c6b9.d.ts +9 -2
- package/picker-button/cssm/typings-57569e57.d.ts +5 -4
- package/picker-button/cssm/typings-d6bfd5b7.d.ts +62 -0
- package/picker-button/cssm/use-skeleton-1328ead9.d.ts +0 -4
- package/picker-button/esm/Component-bdb4c6b9.d.ts +2 -1
- package/picker-button/esm/ResponsiveContext-d6bfd5b7.d.ts +5 -0
- package/picker-button/esm/{index-307da6d7.d.ts → index-a5b021bd.d.ts} +1 -2
- package/picker-button/esm/index-bdb4c6b9.d.ts +9 -2
- package/picker-button/esm/typings-57569e57.d.ts +5 -4
- package/picker-button/esm/typings-d6bfd5b7.d.ts +62 -0
- package/picker-button/esm/use-skeleton-1328ead9.d.ts +0 -4
- package/picker-button/{index-307da6d7.d.ts → index-a5b021bd.d.ts} +1 -2
- package/picker-button/index-bdb4c6b9.d.ts +9 -2
- package/picker-button/modern/Component-bdb4c6b9.d.ts +2 -1
- package/picker-button/modern/ResponsiveContext-d6bfd5b7.d.ts +5 -0
- package/picker-button/modern/{index-307da6d7.d.ts → index-a5b021bd.d.ts} +1 -2
- package/picker-button/modern/index-bdb4c6b9.d.ts +9 -2
- package/picker-button/modern/typings-57569e57.d.ts +5 -4
- package/picker-button/modern/typings-d6bfd5b7.d.ts +62 -0
- package/picker-button/modern/use-skeleton-1328ead9.d.ts +0 -4
- package/picker-button/typings-57569e57.d.ts +5 -4
- package/picker-button/typings-d6bfd5b7.d.ts +62 -0
- package/picker-button/use-skeleton-1328ead9.d.ts +0 -4
- package/select/esm/Component.responsive.js +1 -1
- package/select/esm/index.js +1 -1
- package/select/esm/mobile/Component.mobile.js +1 -1
- package/select/esm/mobile/Component.modal.mobile.js +1 -1
- package/select/esm/mobile/index.js +1 -1
- package/select/esm/presets/index.js +1 -1
- package/select/esm/presets/useSelectWithApply/hook.js +1 -1
- package/select/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
- package/select/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/select/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
- package/select/esm/shared/index.js +1 -1
- package/select/mobile/Component.mobile.js +1 -1
- package/select/modern/Component.responsive.js +1 -1
- package/select/modern/index.js +1 -1
- package/select/modern/mobile/Component.mobile.js +1 -1
- package/select/modern/mobile/Component.modal.mobile.js +1 -1
- package/select/modern/mobile/index.js +1 -1
- package/select/modern/presets/index.js +1 -1
- package/select/modern/presets/useSelectWithApply/hook.js +1 -1
- package/select/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
- package/select/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/select/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
- package/select/modern/shared/index.js +1 -1
- package/select/presets/index.js +1 -1
- package/select/presets/useSelectWithApply/hook.js +1 -1
- package/select/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
- package/select/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
- package/select/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
- package/select/shared/index.js +1 -1
- package/shared/cssm/index.d.ts +0 -1
- package/shared/cssm/index.js +0 -2
- package/shared/esm/index.d.ts +0 -1
- package/shared/esm/index.js +0 -1
- package/shared/index.d.ts +0 -1
- package/shared/index.js +0 -2
- package/shared/modern/index.d.ts +0 -1
- package/shared/modern/index.js +0 -1
- package/skeleton/Component.d.ts +0 -4
- package/skeleton/Component.js +3 -6
- package/skeleton/cssm/Component.d.ts +0 -4
- package/skeleton/cssm/Component.js +2 -5
- package/skeleton/cssm/index.module.css +42 -9
- package/skeleton/esm/Component.d.ts +0 -4
- package/skeleton/esm/Component.js +3 -6
- package/skeleton/esm/index.css +42 -9
- package/skeleton/index.css +42 -9
- package/skeleton/modern/Component.d.ts +0 -4
- package/skeleton/modern/Component.js +3 -6
- package/skeleton/modern/index.css +42 -9
- package/status-badge/Component.d.ts +3 -8
- package/status-badge/Component.js +73 -3
- package/status-badge/cssm/Component.d.ts +3 -8
- package/status-badge/cssm/Component.js +73 -3
- package/status-badge/cssm/index.d.ts +0 -1
- package/status-badge/esm/Component.d.ts +3 -8
- package/status-badge/esm/Component.js +73 -18
- package/status-badge/esm/index.d.ts +0 -1
- package/status-badge/esm/index.js +0 -3
- package/status-badge/index.d.ts +0 -1
- package/status-badge/modern/Component.d.ts +3 -8
- package/status-badge/modern/Component.js +73 -17
- package/status-badge/modern/index.d.ts +0 -1
- package/status-badge/modern/index.js +0 -2
- package/tab-bar/Component.js +3 -7
- package/tab-bar/components/tab/Component.js +5 -9
- package/tab-bar/components/tab/index.css +2 -5
- package/tab-bar/cssm/Component.js +2 -6
- package/tab-bar/cssm/components/tab/Component.js +4 -8
- package/tab-bar/cssm/components/tab/index.module.css +2 -5
- package/tab-bar/cssm/index.module.css +7 -9
- package/tab-bar/cssm/types.d.ts +3 -11
- package/tab-bar/esm/Component.js +4 -9
- package/tab-bar/esm/components/tab/Component.js +5 -9
- package/tab-bar/esm/components/tab/index.css +2 -5
- package/tab-bar/esm/components/tab/index.js +1 -2
- package/tab-bar/esm/index.css +7 -9
- package/tab-bar/esm/index.js +1 -2
- package/tab-bar/esm/types.d.ts +3 -11
- package/tab-bar/index.css +7 -9
- package/tab-bar/modern/Component.js +4 -9
- package/tab-bar/modern/components/tab/Component.js +5 -9
- package/tab-bar/modern/components/tab/index.css +2 -5
- package/tab-bar/modern/components/tab/index.js +1 -2
- package/tab-bar/modern/index.css +7 -9
- package/tab-bar/modern/index.js +1 -2
- package/tab-bar/modern/types.d.ts +3 -11
- package/tab-bar/types.d.ts +3 -11
- package/textarea/Component.js +1 -1
- package/textarea/components/PseudoTextArea.js +1 -1
- package/textarea/components/index.d.ts +1 -1
- package/textarea/components/index.js +1 -1
- package/textarea/esm/Component.js +1 -1
- package/textarea/esm/components/PseudoTextArea.js +1 -1
- package/textarea/esm/components/index.d.ts +1 -1
- package/textarea/esm/components/index.js +1 -1
- package/textarea/esm/index.js +1 -1
- package/textarea/modern/Component.js +1 -1
- package/textarea/modern/components/PseudoTextArea.js +1 -1
- package/textarea/modern/components/index.d.ts +1 -1
- package/textarea/modern/components/index.js +1 -1
- package/textarea/modern/index.js +1 -1
- package/themes/click.css +6 -0
- package/themes/compiled/mobile-dark-bluetint.css +75 -65
- package/themes/mixins/click.css +2 -0
- package/themes/mixins/skeleton/click.css +8 -0
- package/themes/skeleton/click.css +8 -0
- package/toast-plate/components/base-toast-plate/component.d.ts +12 -9
- package/toast-plate/components/base-toast-plate/component.js +14 -16
- package/toast-plate/cssm/components/base-toast-plate/component.d.ts +12 -9
- package/toast-plate/cssm/components/base-toast-plate/component.js +14 -16
- package/toast-plate/esm/Component.responsive.js +4 -6
- package/toast-plate/esm/components/base-toast-plate/component.d.ts +12 -9
- package/toast-plate/esm/components/base-toast-plate/component.js +14 -16
- package/toast-plate/esm/components/base-toast-plate/index.js +4 -6
- package/toast-plate/esm/desktop/Component.desktop.js +4 -6
- package/toast-plate/esm/desktop/index.js +4 -6
- package/toast-plate/esm/index.js +4 -6
- package/toast-plate/esm/mobile/Component.mobile.js +4 -6
- package/toast-plate/esm/mobile/index.js +4 -6
- package/toast-plate/modern/Component.responsive.js +4 -6
- package/toast-plate/modern/components/base-toast-plate/component.d.ts +12 -9
- package/toast-plate/modern/components/base-toast-plate/component.js +14 -16
- package/toast-plate/modern/components/base-toast-plate/index.js +4 -6
- package/toast-plate/modern/desktop/Component.desktop.js +4 -6
- package/toast-plate/modern/desktop/index.js +4 -6
- package/toast-plate/modern/index.js +4 -6
- package/toast-plate/modern/mobile/Component.mobile.js +4 -6
- package/toast-plate/modern/mobile/index.js +4 -6
- package/typography/esm/component.js +2 -2
- package/typography/esm/index.js +2 -2
- package/typography/esm/text/component.js +1 -1
- package/typography/esm/text/index.js +1 -1
- package/typography/esm/title/component.js +1 -1
- package/typography/esm/title/index.js +2 -2
- package/typography/esm/title-mobile/component.js +2 -2
- package/typography/esm/title-mobile/index.js +2 -2
- package/typography/esm/title-responsive/component.js +2 -2
- package/typography/esm/title-responsive/index.js +2 -2
- package/typography/modern/component.js +2 -2
- package/typography/modern/index.js +2 -2
- package/typography/modern/text/component.js +1 -1
- package/typography/modern/text/index.js +1 -1
- package/typography/modern/title/component.js +1 -1
- package/typography/modern/title/index.js +2 -2
- package/typography/modern/title-mobile/component.js +2 -2
- package/typography/modern/title-mobile/index.js +2 -2
- package/typography/modern/title-responsive/component.js +2 -2
- package/typography/modern/title-responsive/index.js +2 -2
- package/typography/text/component.js +1 -1
- package/typography/title/component.js +1 -1
- package/typography/title/index.js +1 -1
- package/typography/title-mobile/component.js +1 -1
- package/typography/title-responsive/component.js +1 -1
- package/universal-date-input/cssm/index-5712fce2.d.ts +13 -1
- package/universal-date-input/cssm/use-skeleton-1328ead9.d.ts +0 -4
- package/universal-date-input/esm/index-5712fce2.d.ts +13 -1
- package/universal-date-input/esm/use-skeleton-1328ead9.d.ts +0 -4
- package/universal-date-input/index-5712fce2.d.ts +13 -1
- package/universal-date-input/modern/index-5712fce2.d.ts +13 -1
- package/universal-date-input/modern/use-skeleton-1328ead9.d.ts +0 -4
- package/universal-date-input/use-skeleton-1328ead9.d.ts +0 -4
- package/notification/browser-a216f694.d.ts +0 -6
- package/notification/cssm/browser-a216f694.d.ts +0 -6
- package/notification/cssm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/notification/cssm/utils/getNotificationTestIds.d.ts +0 -5
- package/notification/cssm/utils/getNotificationTestIds.js +0 -18
- package/notification/esm/browser-a216f694.d.ts +0 -6
- package/notification/esm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/notification/esm/utils/getNotificationTestIds.d.ts +0 -5
- package/notification/esm/utils/getNotificationTestIds.js +0 -16
- package/notification/modern/browser-a216f694.d.ts +0 -6
- package/notification/modern/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/notification/modern/utils/getNotificationTestIds.d.ts +0 -5
- package/notification/modern/utils/getNotificationTestIds.js +0 -16
- package/notification/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/notification/utils/getNotificationTestIds.d.ts +0 -5
- package/notification/utils/getNotificationTestIds.js +0 -18
- package/picker-button/ResponsiveContext-88b743b5.d.ts +0 -5
- package/picker-button/cssm/ResponsiveContext-88b743b5.d.ts +0 -5
- package/picker-button/cssm/typings-88b743b5.d.ts +0 -58
- package/picker-button/esm/ResponsiveContext-88b743b5.d.ts +0 -5
- package/picker-button/esm/typings-88b743b5.d.ts +0 -58
- package/picker-button/modern/ResponsiveContext-88b743b5.d.ts +0 -5
- package/picker-button/modern/typings-88b743b5.d.ts +0 -58
- package/picker-button/typings-88b743b5.d.ts +0 -58
- package/shared/cssm/exhaustiveCheck.d.ts +0 -2
- package/shared/cssm/exhaustiveCheck.js +0 -5
- package/shared/esm/exhaustiveCheck.d.ts +0 -2
- package/shared/esm/exhaustiveCheck.js +0 -3
- package/shared/exhaustiveCheck.d.ts +0 -2
- package/shared/exhaustiveCheck.js +0 -5
- package/shared/modern/exhaustiveCheck.d.ts +0 -2
- package/shared/modern/exhaustiveCheck.js +0 -3
- package/status-badge/consts/iconMap.d.ts +0 -4
- package/status-badge/consts/iconMap.js +0 -76
- package/status-badge/cssm/consts/iconMap.d.ts +0 -4
- package/status-badge/cssm/consts/iconMap.js +0 -76
- package/status-badge/cssm/hooks/useStatusBadgeIcon.d.ts +0 -5
- package/status-badge/cssm/hooks/useStatusBadgeIcon.js +0 -21
- package/status-badge/cssm/types/statusBadgePropTypes.d.ts +0 -7
- package/status-badge/cssm/types/statusBadgePropTypes.js +0 -1
- package/status-badge/esm/consts/iconMap.d.ts +0 -4
- package/status-badge/esm/consts/iconMap.js +0 -74
- package/status-badge/esm/hooks/useStatusBadgeIcon.d.ts +0 -5
- package/status-badge/esm/hooks/useStatusBadgeIcon.js +0 -32
- package/status-badge/esm/types/statusBadgePropTypes.d.ts +0 -7
- package/status-badge/esm/types/statusBadgePropTypes.js +0 -1
- package/status-badge/hooks/useStatusBadgeIcon.d.ts +0 -5
- package/status-badge/hooks/useStatusBadgeIcon.js +0 -21
- package/status-badge/modern/consts/iconMap.d.ts +0 -4
- package/status-badge/modern/consts/iconMap.js +0 -74
- package/status-badge/modern/hooks/useStatusBadgeIcon.d.ts +0 -5
- package/status-badge/modern/hooks/useStatusBadgeIcon.js +0 -34
- package/status-badge/modern/types/statusBadgePropTypes.d.ts +0 -7
- package/status-badge/modern/types/statusBadgePropTypes.js +0 -1
- package/status-badge/types/statusBadgePropTypes.d.ts +0 -7
- package/status-badge/types/statusBadgePropTypes.js +0 -1
- package/tab-bar/consts.d.ts +0 -9
- package/tab-bar/consts.js +0 -13
- package/tab-bar/cssm/consts.d.ts +0 -9
- package/tab-bar/cssm/consts.js +0 -13
- package/tab-bar/esm/consts.d.ts +0 -9
- package/tab-bar/esm/consts.js +0 -10
- package/tab-bar/modern/consts.d.ts +0 -9
- package/tab-bar/modern/consts.js +0 -10
- package/toast-plate/browser-a216f694.d.ts +0 -6
- package/toast-plate/components/base-toast-plate/hooks/useCustomIcons.d.ts +0 -6
- package/toast-plate/components/base-toast-plate/hooks/useCustomIcons.js +0 -13
- package/toast-plate/components/base-toast-plate/hooks/useDeprecatedBadge.d.ts +0 -7
- package/toast-plate/components/base-toast-plate/hooks/useDeprecatedBadge.js +0 -26
- package/toast-plate/components/base-toast-plate/types/unsafeBadgeProps.d.ts +0 -6
- package/toast-plate/components/base-toast-plate/types/unsafeBadgeProps.js +0 -1
- package/toast-plate/components/base-toast-plate/utils/getBaseToastPlateTestIds.d.ts +0 -5
- package/toast-plate/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +0 -14
- package/toast-plate/components/base-toast-plate/utils/isUnsafeBadge.d.ts +0 -5
- package/toast-plate/components/base-toast-plate/utils/isUnsafeBadge.js +0 -8
- package/toast-plate/cssm/browser-a216f694.d.ts +0 -6
- package/toast-plate/cssm/components/base-toast-plate/hooks/useCustomIcons.d.ts +0 -6
- package/toast-plate/cssm/components/base-toast-plate/hooks/useCustomIcons.js +0 -13
- package/toast-plate/cssm/components/base-toast-plate/hooks/useDeprecatedBadge.d.ts +0 -7
- package/toast-plate/cssm/components/base-toast-plate/hooks/useDeprecatedBadge.js +0 -26
- package/toast-plate/cssm/components/base-toast-plate/types/unsafeBadgeProps.d.ts +0 -6
- package/toast-plate/cssm/components/base-toast-plate/types/unsafeBadgeProps.js +0 -1
- package/toast-plate/cssm/components/base-toast-plate/utils/getBaseToastPlateTestIds.d.ts +0 -5
- package/toast-plate/cssm/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +0 -14
- package/toast-plate/cssm/components/base-toast-plate/utils/isUnsafeBadge.d.ts +0 -5
- package/toast-plate/cssm/components/base-toast-plate/utils/isUnsafeBadge.js +0 -8
- package/toast-plate/cssm/getDataTestId-73ea38f8.d.ts +0 -3
- package/toast-plate/cssm/getDataTestId-73ea38f8.js +0 -6
- package/toast-plate/cssm/index-307da6d7.d.ts +0 -71
- package/toast-plate/cssm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/toast-plate/esm/browser-a216f694.d.ts +0 -6
- package/toast-plate/esm/components/base-toast-plate/hooks/useCustomIcons.d.ts +0 -6
- package/toast-plate/esm/components/base-toast-plate/hooks/useCustomIcons.js +0 -11
- package/toast-plate/esm/components/base-toast-plate/hooks/useDeprecatedBadge.d.ts +0 -7
- package/toast-plate/esm/components/base-toast-plate/hooks/useDeprecatedBadge.js +0 -24
- package/toast-plate/esm/components/base-toast-plate/types/unsafeBadgeProps.d.ts +0 -6
- package/toast-plate/esm/components/base-toast-plate/types/unsafeBadgeProps.js +0 -1
- package/toast-plate/esm/components/base-toast-plate/utils/getBaseToastPlateTestIds.d.ts +0 -5
- package/toast-plate/esm/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +0 -12
- package/toast-plate/esm/components/base-toast-plate/utils/isUnsafeBadge.d.ts +0 -5
- package/toast-plate/esm/components/base-toast-plate/utils/isUnsafeBadge.js +0 -6
- package/toast-plate/esm/getDataTestId-b3cf0f77.d.ts +0 -3
- package/toast-plate/esm/getDataTestId-b3cf0f77.js +0 -6
- package/toast-plate/esm/index-307da6d7.d.ts +0 -71
- package/toast-plate/esm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/toast-plate/getDataTestId-439ac98c.d.ts +0 -3
- package/toast-plate/getDataTestId-439ac98c.js +0 -6
- package/toast-plate/index-307da6d7.d.ts +0 -71
- package/toast-plate/modern/browser-a216f694.d.ts +0 -6
- package/toast-plate/modern/components/base-toast-plate/hooks/useCustomIcons.d.ts +0 -6
- package/toast-plate/modern/components/base-toast-plate/hooks/useCustomIcons.js +0 -11
- package/toast-plate/modern/components/base-toast-plate/hooks/useDeprecatedBadge.d.ts +0 -7
- package/toast-plate/modern/components/base-toast-plate/hooks/useDeprecatedBadge.js +0 -24
- package/toast-plate/modern/components/base-toast-plate/types/unsafeBadgeProps.d.ts +0 -6
- package/toast-plate/modern/components/base-toast-plate/types/unsafeBadgeProps.js +0 -1
- package/toast-plate/modern/components/base-toast-plate/utils/getBaseToastPlateTestIds.d.ts +0 -5
- package/toast-plate/modern/components/base-toast-plate/utils/getBaseToastPlateTestIds.js +0 -12
- package/toast-plate/modern/components/base-toast-plate/utils/isUnsafeBadge.d.ts +0 -5
- package/toast-plate/modern/components/base-toast-plate/utils/isUnsafeBadge.js +0 -4
- package/toast-plate/modern/getDataTestId-8aa8ef85.d.ts +0 -3
- package/toast-plate/modern/getDataTestId-8aa8ef85.js +0 -6
- package/toast-plate/modern/index-307da6d7.d.ts +0 -71
- package/toast-plate/modern/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- package/toast-plate/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
- /package/calendar-range/esm/{index.module-912e88cf.js → index.module-7ba85cb1.js} +0 -0
- /package/calendar-range/{index.module-bf0591f0.js → index.module-c6ded4a2.js} +0 -0
- /package/calendar-range/modern/{index.module-636e08a2.js → index.module-0604d154.js} +0 -0
- /package/gallery/{buttons-19c30d23.d.ts → buttons-2d6e11d3.d.ts} +0 -0
- /package/gallery/{buttons-19c30d23.js → buttons-2d6e11d3.js} +0 -0
- /package/gallery/esm/{buttons-37ed3ab5.d.ts → buttons-d13012b7.d.ts} +0 -0
- /package/gallery/esm/{buttons-37ed3ab5.js → buttons-d13012b7.js} +0 -0
- /package/gallery/esm/{slide-8d1299a5.d.ts → slide-88bae15c.d.ts} +0 -0
- /package/gallery/esm/{slide-8d1299a5.js → slide-88bae15c.js} +0 -0
- /package/gallery/modern/{buttons-92efe05c.d.ts → buttons-884f9ca9.d.ts} +0 -0
- /package/gallery/modern/{buttons-92efe05c.js → buttons-884f9ca9.js} +0 -0
- /package/gallery/modern/{slide-57aa7661.d.ts → slide-e59a9638.d.ts} +0 -0
- /package/gallery/modern/{slide-57aa7661.js → slide-e59a9638.js} +0 -0
- /package/gallery/{slide-45ca49f1.d.ts → slide-684c0f6f.d.ts} +0 -0
- /package/gallery/{slide-45ca49f1.js → slide-684c0f6f.js} +0 -0
- /package/modal/esm/{layout.module-b635b128.js → layout.module-aa5cb2cc.js} +0 -0
- /package/modal/{layout.module-34149103.js → layout.module-c255bbac.js} +0 -0
- /package/modal/modern/{layout.module-41e8947b.js → layout.module-60771d9c.js} +0 -0
- /package/picker-button/{Component-307da6d7.d.ts → Component-a5b021bd.d.ts} +0 -0
- /package/picker-button/cssm/{Component-307da6d7.d.ts → Component-a5b021bd.d.ts} +0 -0
- /package/picker-button/esm/{Component-307da6d7.d.ts → Component-a5b021bd.d.ts} +0 -0
- /package/picker-button/modern/{Component-307da6d7.d.ts → Component-a5b021bd.d.ts} +0 -0
- /package/select/esm/{hook-c0758dcd.d.ts → hook-086659f0.d.ts} +0 -0
- /package/select/esm/{hook-c0758dcd.js → hook-086659f0.js} +0 -0
- /package/select/{hook-10a14b43.d.ts → hook-b62c1963.d.ts} +0 -0
- /package/select/{hook-10a14b43.js → hook-b62c1963.js} +0 -0
- /package/select/modern/{hook-5ccdb908.d.ts → hook-a746b596.d.ts} +0 -0
- /package/select/modern/{hook-5ccdb908.js → hook-a746b596.js} +0 -0
- /package/textarea/{PseudoTextArea-e22e1b15.d.ts → PseudoTextArea-7aea41b8.d.ts} +0 -0
- /package/textarea/{PseudoTextArea-e22e1b15.js → PseudoTextArea-7aea41b8.js} +0 -0
- /package/textarea/esm/{PseudoTextArea-ebaaf545.d.ts → PseudoTextArea-ba968d63.d.ts} +0 -0
- /package/textarea/esm/{PseudoTextArea-ebaaf545.js → PseudoTextArea-ba968d63.js} +0 -0
- /package/textarea/modern/{PseudoTextArea-df487b32.d.ts → PseudoTextArea-d7134e87.d.ts} +0 -0
- /package/textarea/modern/{PseudoTextArea-df487b32.js → PseudoTextArea-d7134e87.js} +0 -0
- /package/typography/{colors.module-5b90a9cc.js → colors.module-b5f1970b.js} +0 -0
- /package/typography/{common.module-53a00318.js → common.module-8f051b74.js} +0 -0
- /package/typography/esm/{colors.module-f2501c6f.js → colors.module-bf4fcd9a.js} +0 -0
- /package/typography/esm/{common.module-04c7810e.js → common.module-efe4e6e2.js} +0 -0
- /package/typography/modern/{colors.module-83a4b747.js → colors.module-21f32eaa.js} +0 -0
- /package/typography/modern/{common.module-278c339a.js → common.module-086a5ae1.js} +0 -0
|
@@ -134,6 +134,10 @@ type BaseModalProps = {
|
|
|
134
134
|
* Реф, который должен быть установлен компонентной области
|
|
135
135
|
*/
|
|
136
136
|
componentRef?: MutableRefObject<HTMLDivElement | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Блокирует скролл когда модальное окно открыто. Работает только на iOS.
|
|
139
|
+
*/
|
|
140
|
+
iOSLock?: boolean;
|
|
137
141
|
};
|
|
138
142
|
type BaseModalContext = {
|
|
139
143
|
parentRef: React.RefObject<HTMLDivElement>;
|
package/base-modal/Component.js
CHANGED
|
@@ -11,6 +11,7 @@ var coreComponentsBackdrop = require('../backdrop');
|
|
|
11
11
|
var coreComponentsPortal = require('../portal');
|
|
12
12
|
var coreComponentsShared = require('../shared');
|
|
13
13
|
var coreComponentsStack = require('../stack');
|
|
14
|
+
var helpers_lockScroll = require('./helpers/lockScroll.js');
|
|
14
15
|
var utils = require('./utils.js');
|
|
15
16
|
require('./matches-polyfill.js');
|
|
16
17
|
|
|
@@ -41,14 +42,14 @@ var BaseModalContext = React__default.default.createContext({
|
|
|
41
42
|
onClose: function () { return null; },
|
|
42
43
|
});
|
|
43
44
|
var BaseModal = React.forwardRef(function (_a, ref) {
|
|
44
|
-
var open = _a.open, container = _a.container, children = _a.children, _b = _a.scrollHandler, scrollHandler = _b === void 0 ? 'wrapper' : _b, _c = _a.Backdrop, Backdrop = _c === void 0 ? coreComponentsBackdrop.Backdrop : _c, _d = _a.backdropProps, backdropProps = _d === void 0 ? {} : _d, _e = _a.transitionProps, transitionProps = _e === void 0 ? {} : _e, disableBackdropClick = _a.disableBackdropClick, _f = _a.disableAutoFocus, disableAutoFocus = _f === void 0 ? false : _f, _g = _a.disableFocusLock, disableFocusLock = _g === void 0 ? false : _g, _h = _a.disableEscapeKeyDown, disableEscapeKeyDown = _h === void 0 ? false : _h, _j = _a.disableRestoreFocus, disableRestoreFocus = _j === void 0 ? false : _j, _k = _a.disableBlockingScroll, disableBlockingScroll = _k === void 0 ? false : _k, _l = _a.keepMounted, keepMounted = _l === void 0 ? false : _l, className = _a.className, contentClassName = _a.contentClassName, wrapperProps = _a.wrapperProps, contentProps = _a.contentProps, componentDivProps = _a.componentDivProps, wrapperClassName = _a.wrapperClassName, onBackdropClick = _a.onBackdropClick, onClose = _a.onClose, onEscapeKeyDown = _a.onEscapeKeyDown, onMount = _a.onMount, onUnmount = _a.onUnmount, dataTestId = _a.dataTestId, _m = _a.zIndex, zIndex = _m === void 0 ? coreComponentsStack.stackingOrder.MODAL : _m, _o = _a.componentRef, componentRef = _o === void 0 ? null : _o, _p = _a.usePortal, usePortal = _p === void 0 ? true : _p;
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
45
|
+
var open = _a.open, container = _a.container, children = _a.children, _b = _a.scrollHandler, scrollHandler = _b === void 0 ? 'wrapper' : _b, _c = _a.Backdrop, Backdrop = _c === void 0 ? coreComponentsBackdrop.Backdrop : _c, _d = _a.backdropProps, backdropProps = _d === void 0 ? {} : _d, _e = _a.transitionProps, transitionProps = _e === void 0 ? {} : _e, disableBackdropClick = _a.disableBackdropClick, _f = _a.disableAutoFocus, disableAutoFocus = _f === void 0 ? false : _f, _g = _a.disableFocusLock, disableFocusLock = _g === void 0 ? false : _g, _h = _a.disableEscapeKeyDown, disableEscapeKeyDown = _h === void 0 ? false : _h, _j = _a.disableRestoreFocus, disableRestoreFocus = _j === void 0 ? false : _j, _k = _a.disableBlockingScroll, disableBlockingScroll = _k === void 0 ? false : _k, _l = _a.keepMounted, keepMounted = _l === void 0 ? false : _l, className = _a.className, contentClassName = _a.contentClassName, wrapperProps = _a.wrapperProps, contentProps = _a.contentProps, componentDivProps = _a.componentDivProps, wrapperClassName = _a.wrapperClassName, onBackdropClick = _a.onBackdropClick, onClose = _a.onClose, onEscapeKeyDown = _a.onEscapeKeyDown, onMount = _a.onMount, onUnmount = _a.onUnmount, dataTestId = _a.dataTestId, _m = _a.zIndex, zIndex = _m === void 0 ? coreComponentsStack.stackingOrder.MODAL : _m, _o = _a.componentRef, componentRef = _o === void 0 ? null : _o, _p = _a.usePortal, usePortal = _p === void 0 ? true : _p, _q = _a.iOSLock, iOSLock = _q === void 0 ? false : _q;
|
|
46
|
+
var _r = React.useState(null), exited = _r[0], setExited = _r[1];
|
|
47
|
+
var _s = React.useState(false), hasScroll = _s[0], setHasScroll = _s[1];
|
|
48
|
+
var _t = React.useState(false), hasHeader = _t[0], setHasHeader = _t[1];
|
|
49
|
+
var _u = React.useState(false), hasFooter = _u[0], setHasFooter = _u[1];
|
|
50
|
+
var _v = React.useState(false), headerHighlighted = _v[0], setHeaderHighlighted = _v[1];
|
|
51
|
+
var _w = React.useState(false), footerHighlighted = _w[0], setFooterHighlighted = _w[1];
|
|
52
|
+
var _x = React.useState(0), headerOffset = _x[0], setHeaderOffset = _x[1];
|
|
52
53
|
var componentNodeRef = React.useRef(null);
|
|
53
54
|
var wrapperRef = React.useRef(null);
|
|
54
55
|
var scrollableNodeRef = React.useRef(null);
|
|
@@ -100,6 +101,9 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
100
101
|
}
|
|
101
102
|
}, [hasFooter, hasHeader, headerOffset]);
|
|
102
103
|
var handleClose = React.useCallback(function (event, reason) {
|
|
104
|
+
if (iOSLock && coreComponentsShared.os.isIOS()) {
|
|
105
|
+
helpers_lockScroll.unlockScroll();
|
|
106
|
+
}
|
|
103
107
|
if (onClose) {
|
|
104
108
|
onClose(event, reason);
|
|
105
109
|
}
|
|
@@ -110,7 +114,7 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
110
114
|
onEscapeKeyDown(event);
|
|
111
115
|
}
|
|
112
116
|
return null;
|
|
113
|
-
}, [onBackdropClick, onClose, onEscapeKeyDown]);
|
|
117
|
+
}, [onBackdropClick, onClose, onEscapeKeyDown, iOSLock]);
|
|
114
118
|
var handleBackdropMouseDown = function (event) {
|
|
115
119
|
var _a;
|
|
116
120
|
var clickedOnScrollbar = false;
|
|
@@ -185,7 +189,11 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
185
189
|
if (open && isExited) {
|
|
186
190
|
if (!disableBlockingScroll) {
|
|
187
191
|
var el_1 = getContainer();
|
|
188
|
-
utils.handleContainer(el_1);
|
|
192
|
+
utils.handleContainer(el_1, coreComponentsShared.os.isIOS());
|
|
193
|
+
if (iOSLock && coreComponentsShared.os.isIOS()) {
|
|
194
|
+
helpers_lockScroll.syncHeight();
|
|
195
|
+
helpers_lockScroll.lockScroll();
|
|
196
|
+
}
|
|
189
197
|
restoreContainerStylesRef.current = function () {
|
|
190
198
|
restoreContainerStylesRef.current = null;
|
|
191
199
|
utils.restoreContainerStyles(el_1);
|
|
@@ -193,7 +201,7 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
193
201
|
}
|
|
194
202
|
setExited(false);
|
|
195
203
|
}
|
|
196
|
-
}, [getContainer, open, disableBlockingScroll, isExited]);
|
|
204
|
+
}, [getContainer, open, disableBlockingScroll, isExited, iOSLock]);
|
|
197
205
|
React.useEffect(function () {
|
|
198
206
|
var ResizeObserver = window.ResizeObserver || resizeObserver.ResizeObserver;
|
|
199
207
|
resizeObserverRef.current = new ResizeObserver(checkToHasScrollBar);
|
|
@@ -134,6 +134,10 @@ type BaseModalProps = {
|
|
|
134
134
|
* Реф, который должен быть установлен компонентной области
|
|
135
135
|
*/
|
|
136
136
|
componentRef?: MutableRefObject<HTMLDivElement | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Блокирует скролл когда модальное окно открыто. Работает только на iOS.
|
|
139
|
+
*/
|
|
140
|
+
iOSLock?: boolean;
|
|
137
141
|
};
|
|
138
142
|
type BaseModalContext = {
|
|
139
143
|
parentRef: React.RefObject<HTMLDivElement>;
|
|
@@ -11,6 +11,7 @@ var coreComponentsBackdrop = require('../../backdrop/cssm');
|
|
|
11
11
|
var coreComponentsPortal = require('../../portal/cssm');
|
|
12
12
|
var coreComponentsShared = require('../../shared/cssm');
|
|
13
13
|
var coreComponentsStack = require('../../stack/cssm');
|
|
14
|
+
var helpers_lockScroll = require('./helpers/lockScroll.js');
|
|
14
15
|
var utils = require('./utils.js');
|
|
15
16
|
var styles = require('./index.module.css');
|
|
16
17
|
require('./matches-polyfill.js');
|
|
@@ -40,14 +41,14 @@ var BaseModalContext = React__default.default.createContext({
|
|
|
40
41
|
onClose: function () { return null; },
|
|
41
42
|
});
|
|
42
43
|
var BaseModal = React.forwardRef(function (_a, ref) {
|
|
43
|
-
var open = _a.open, container = _a.container, children = _a.children, _b = _a.scrollHandler, scrollHandler = _b === void 0 ? 'wrapper' : _b, _c = _a.Backdrop, Backdrop = _c === void 0 ? coreComponentsBackdrop.Backdrop : _c, _d = _a.backdropProps, backdropProps = _d === void 0 ? {} : _d, _e = _a.transitionProps, transitionProps = _e === void 0 ? {} : _e, disableBackdropClick = _a.disableBackdropClick, _f = _a.disableAutoFocus, disableAutoFocus = _f === void 0 ? false : _f, _g = _a.disableFocusLock, disableFocusLock = _g === void 0 ? false : _g, _h = _a.disableEscapeKeyDown, disableEscapeKeyDown = _h === void 0 ? false : _h, _j = _a.disableRestoreFocus, disableRestoreFocus = _j === void 0 ? false : _j, _k = _a.disableBlockingScroll, disableBlockingScroll = _k === void 0 ? false : _k, _l = _a.keepMounted, keepMounted = _l === void 0 ? false : _l, className = _a.className, contentClassName = _a.contentClassName, wrapperProps = _a.wrapperProps, contentProps = _a.contentProps, componentDivProps = _a.componentDivProps, wrapperClassName = _a.wrapperClassName, onBackdropClick = _a.onBackdropClick, onClose = _a.onClose, onEscapeKeyDown = _a.onEscapeKeyDown, onMount = _a.onMount, onUnmount = _a.onUnmount, dataTestId = _a.dataTestId, _m = _a.zIndex, zIndex = _m === void 0 ? coreComponentsStack.stackingOrder.MODAL : _m, _o = _a.componentRef, componentRef = _o === void 0 ? null : _o, _p = _a.usePortal, usePortal = _p === void 0 ? true : _p;
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
var
|
|
44
|
+
var open = _a.open, container = _a.container, children = _a.children, _b = _a.scrollHandler, scrollHandler = _b === void 0 ? 'wrapper' : _b, _c = _a.Backdrop, Backdrop = _c === void 0 ? coreComponentsBackdrop.Backdrop : _c, _d = _a.backdropProps, backdropProps = _d === void 0 ? {} : _d, _e = _a.transitionProps, transitionProps = _e === void 0 ? {} : _e, disableBackdropClick = _a.disableBackdropClick, _f = _a.disableAutoFocus, disableAutoFocus = _f === void 0 ? false : _f, _g = _a.disableFocusLock, disableFocusLock = _g === void 0 ? false : _g, _h = _a.disableEscapeKeyDown, disableEscapeKeyDown = _h === void 0 ? false : _h, _j = _a.disableRestoreFocus, disableRestoreFocus = _j === void 0 ? false : _j, _k = _a.disableBlockingScroll, disableBlockingScroll = _k === void 0 ? false : _k, _l = _a.keepMounted, keepMounted = _l === void 0 ? false : _l, className = _a.className, contentClassName = _a.contentClassName, wrapperProps = _a.wrapperProps, contentProps = _a.contentProps, componentDivProps = _a.componentDivProps, wrapperClassName = _a.wrapperClassName, onBackdropClick = _a.onBackdropClick, onClose = _a.onClose, onEscapeKeyDown = _a.onEscapeKeyDown, onMount = _a.onMount, onUnmount = _a.onUnmount, dataTestId = _a.dataTestId, _m = _a.zIndex, zIndex = _m === void 0 ? coreComponentsStack.stackingOrder.MODAL : _m, _o = _a.componentRef, componentRef = _o === void 0 ? null : _o, _p = _a.usePortal, usePortal = _p === void 0 ? true : _p, _q = _a.iOSLock, iOSLock = _q === void 0 ? false : _q;
|
|
45
|
+
var _r = React.useState(null), exited = _r[0], setExited = _r[1];
|
|
46
|
+
var _s = React.useState(false), hasScroll = _s[0], setHasScroll = _s[1];
|
|
47
|
+
var _t = React.useState(false), hasHeader = _t[0], setHasHeader = _t[1];
|
|
48
|
+
var _u = React.useState(false), hasFooter = _u[0], setHasFooter = _u[1];
|
|
49
|
+
var _v = React.useState(false), headerHighlighted = _v[0], setHeaderHighlighted = _v[1];
|
|
50
|
+
var _w = React.useState(false), footerHighlighted = _w[0], setFooterHighlighted = _w[1];
|
|
51
|
+
var _x = React.useState(0), headerOffset = _x[0], setHeaderOffset = _x[1];
|
|
51
52
|
var componentNodeRef = React.useRef(null);
|
|
52
53
|
var wrapperRef = React.useRef(null);
|
|
53
54
|
var scrollableNodeRef = React.useRef(null);
|
|
@@ -99,6 +100,9 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
99
100
|
}
|
|
100
101
|
}, [hasFooter, hasHeader, headerOffset]);
|
|
101
102
|
var handleClose = React.useCallback(function (event, reason) {
|
|
103
|
+
if (iOSLock && coreComponentsShared.os.isIOS()) {
|
|
104
|
+
helpers_lockScroll.unlockScroll();
|
|
105
|
+
}
|
|
102
106
|
if (onClose) {
|
|
103
107
|
onClose(event, reason);
|
|
104
108
|
}
|
|
@@ -109,7 +113,7 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
109
113
|
onEscapeKeyDown(event);
|
|
110
114
|
}
|
|
111
115
|
return null;
|
|
112
|
-
}, [onBackdropClick, onClose, onEscapeKeyDown]);
|
|
116
|
+
}, [onBackdropClick, onClose, onEscapeKeyDown, iOSLock]);
|
|
113
117
|
var handleBackdropMouseDown = function (event) {
|
|
114
118
|
var _a;
|
|
115
119
|
var clickedOnScrollbar = false;
|
|
@@ -184,7 +188,11 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
184
188
|
if (open && isExited) {
|
|
185
189
|
if (!disableBlockingScroll) {
|
|
186
190
|
var el_1 = getContainer();
|
|
187
|
-
utils.handleContainer(el_1);
|
|
191
|
+
utils.handleContainer(el_1, coreComponentsShared.os.isIOS());
|
|
192
|
+
if (iOSLock && coreComponentsShared.os.isIOS()) {
|
|
193
|
+
helpers_lockScroll.syncHeight();
|
|
194
|
+
helpers_lockScroll.lockScroll();
|
|
195
|
+
}
|
|
188
196
|
restoreContainerStylesRef.current = function () {
|
|
189
197
|
restoreContainerStylesRef.current = null;
|
|
190
198
|
utils.restoreContainerStyles(el_1);
|
|
@@ -192,7 +200,7 @@ var BaseModal = React.forwardRef(function (_a, ref) {
|
|
|
192
200
|
}
|
|
193
201
|
setExited(false);
|
|
194
202
|
}
|
|
195
|
-
}, [getContainer, open, disableBlockingScroll, isExited]);
|
|
203
|
+
}, [getContainer, open, disableBlockingScroll, isExited, iOSLock]);
|
|
196
204
|
React.useEffect(function () {
|
|
197
205
|
var ResizeObserver = window.ResizeObserver || resizeObserver.ResizeObserver;
|
|
198
206
|
resizeObserverRef.current = new ResizeObserver(checkToHasScrollBar);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
+
|
|
3
|
+
var scrollY;
|
|
4
|
+
var lockScroll = function () {
|
|
5
|
+
scrollY = window.scrollY;
|
|
6
|
+
document.documentElement.classList.add('is-locked');
|
|
7
|
+
};
|
|
8
|
+
var unlockScroll = function () {
|
|
9
|
+
document.documentElement.classList.remove('is-locked');
|
|
10
|
+
window.scrollTo(0, scrollY);
|
|
11
|
+
};
|
|
12
|
+
var syncHeight = function () {
|
|
13
|
+
document.documentElement.style.setProperty('--window-inner-height', "".concat(window.innerHeight, "px"));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.lockScroll = lockScroll;
|
|
17
|
+
exports.syncHeight = syncHeight;
|
|
18
|
+
exports.unlockScroll = unlockScroll;
|
|
@@ -14,7 +14,12 @@
|
|
|
14
14
|
} :root {
|
|
15
15
|
} :root {
|
|
16
16
|
} :root {
|
|
17
|
-
} .
|
|
17
|
+
} html:global(.is-locked),
|
|
18
|
+
html:global(.is-locked) body {
|
|
19
|
+
height: calc(var(--window-inner-height) - 1px);
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
} .component {
|
|
18
23
|
position: relative;
|
|
19
24
|
box-sizing: border-box;
|
|
20
25
|
background: var(--color-light-modal-bg-primary);
|
|
@@ -2,5 +2,5 @@ declare function isScrolledToTop(target: HTMLElement): boolean;
|
|
|
2
2
|
declare function isScrolledToBottom(target: HTMLElement): boolean;
|
|
3
3
|
declare function hasScrollbar(target: HTMLElement): boolean;
|
|
4
4
|
declare const restoreContainerStyles: (container: HTMLElement) => void;
|
|
5
|
-
declare const handleContainer: (container?: HTMLElement) => void;
|
|
5
|
+
declare const handleContainer: (container?: HTMLElement, isIOS?: boolean) => void;
|
|
6
6
|
export { isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer };
|
package/base-modal/cssm/utils.js
CHANGED
|
@@ -41,7 +41,8 @@ var restoreContainerStyles = function (container) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
var handleContainer = function (container) {
|
|
44
|
+
var handleContainer = function (container, isIOS) {
|
|
45
|
+
if (isIOS === void 0) { isIOS = false; }
|
|
45
46
|
if (!container)
|
|
46
47
|
return;
|
|
47
48
|
var modalRestoreStyles = coreComponentsGlobalStore.getModalStore().getRestoreStyles();
|
|
@@ -79,7 +80,9 @@ var handleContainer = function (container) {
|
|
|
79
80
|
el: scrollContainer,
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
+
if (!isIOS) {
|
|
84
|
+
scrollContainer.style.overflow = 'hidden';
|
|
85
|
+
}
|
|
83
86
|
modalRestoreStyles.push({
|
|
84
87
|
container: container,
|
|
85
88
|
modals: 1,
|
|
@@ -134,6 +134,10 @@ type BaseModalProps = {
|
|
|
134
134
|
* Реф, который должен быть установлен компонентной области
|
|
135
135
|
*/
|
|
136
136
|
componentRef?: MutableRefObject<HTMLDivElement | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Блокирует скролл когда модальное окно открыто. Работает только на iOS.
|
|
139
|
+
*/
|
|
140
|
+
iOSLock?: boolean;
|
|
137
141
|
};
|
|
138
142
|
type BaseModalContext = {
|
|
139
143
|
parentRef: React.RefObject<HTMLDivElement>;
|
|
@@ -7,8 +7,9 @@ import { ResizeObserver } from '@juggle/resize-observer';
|
|
|
7
7
|
import cn from 'classnames';
|
|
8
8
|
import { Backdrop } from '../../backdrop/esm';
|
|
9
9
|
import { Portal } from '../../portal/esm';
|
|
10
|
-
import { browser } from '../../shared/esm';
|
|
10
|
+
import { os, browser } from '../../shared/esm';
|
|
11
11
|
import { stackingOrder, Stack } from '../../stack/esm';
|
|
12
|
+
import { unlockScroll, syncHeight, lockScroll } from './helpers/lockScroll.js';
|
|
12
13
|
import { isScrolledToTop, isScrolledToBottom, handleContainer, restoreContainerStyles, hasScrollbar } from './utils.js';
|
|
13
14
|
import './matches-polyfill.js';
|
|
14
15
|
import '../../global-store/esm';
|
|
@@ -33,14 +34,14 @@ var BaseModalContext = React.createContext({
|
|
|
33
34
|
onClose: function () { return null; },
|
|
34
35
|
});
|
|
35
36
|
var BaseModal = forwardRef(function (_a, ref) {
|
|
36
|
-
var open = _a.open, container = _a.container, children = _a.children, _b = _a.scrollHandler, scrollHandler = _b === void 0 ? 'wrapper' : _b, _c = _a.Backdrop, Backdrop$1 = _c === void 0 ? Backdrop : _c, _d = _a.backdropProps, backdropProps = _d === void 0 ? {} : _d, _e = _a.transitionProps, transitionProps = _e === void 0 ? {} : _e, disableBackdropClick = _a.disableBackdropClick, _f = _a.disableAutoFocus, disableAutoFocus = _f === void 0 ? false : _f, _g = _a.disableFocusLock, disableFocusLock = _g === void 0 ? false : _g, _h = _a.disableEscapeKeyDown, disableEscapeKeyDown = _h === void 0 ? false : _h, _j = _a.disableRestoreFocus, disableRestoreFocus = _j === void 0 ? false : _j, _k = _a.disableBlockingScroll, disableBlockingScroll = _k === void 0 ? false : _k, _l = _a.keepMounted, keepMounted = _l === void 0 ? false : _l, className = _a.className, contentClassName = _a.contentClassName, wrapperProps = _a.wrapperProps, contentProps = _a.contentProps, componentDivProps = _a.componentDivProps, wrapperClassName = _a.wrapperClassName, onBackdropClick = _a.onBackdropClick, onClose = _a.onClose, onEscapeKeyDown = _a.onEscapeKeyDown, onMount = _a.onMount, onUnmount = _a.onUnmount, dataTestId = _a.dataTestId, _m = _a.zIndex, zIndex = _m === void 0 ? stackingOrder.MODAL : _m, _o = _a.componentRef, componentRef = _o === void 0 ? null : _o, _p = _a.usePortal, usePortal = _p === void 0 ? true : _p;
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
37
|
+
var open = _a.open, container = _a.container, children = _a.children, _b = _a.scrollHandler, scrollHandler = _b === void 0 ? 'wrapper' : _b, _c = _a.Backdrop, Backdrop$1 = _c === void 0 ? Backdrop : _c, _d = _a.backdropProps, backdropProps = _d === void 0 ? {} : _d, _e = _a.transitionProps, transitionProps = _e === void 0 ? {} : _e, disableBackdropClick = _a.disableBackdropClick, _f = _a.disableAutoFocus, disableAutoFocus = _f === void 0 ? false : _f, _g = _a.disableFocusLock, disableFocusLock = _g === void 0 ? false : _g, _h = _a.disableEscapeKeyDown, disableEscapeKeyDown = _h === void 0 ? false : _h, _j = _a.disableRestoreFocus, disableRestoreFocus = _j === void 0 ? false : _j, _k = _a.disableBlockingScroll, disableBlockingScroll = _k === void 0 ? false : _k, _l = _a.keepMounted, keepMounted = _l === void 0 ? false : _l, className = _a.className, contentClassName = _a.contentClassName, wrapperProps = _a.wrapperProps, contentProps = _a.contentProps, componentDivProps = _a.componentDivProps, wrapperClassName = _a.wrapperClassName, onBackdropClick = _a.onBackdropClick, onClose = _a.onClose, onEscapeKeyDown = _a.onEscapeKeyDown, onMount = _a.onMount, onUnmount = _a.onUnmount, dataTestId = _a.dataTestId, _m = _a.zIndex, zIndex = _m === void 0 ? stackingOrder.MODAL : _m, _o = _a.componentRef, componentRef = _o === void 0 ? null : _o, _p = _a.usePortal, usePortal = _p === void 0 ? true : _p, _q = _a.iOSLock, iOSLock = _q === void 0 ? false : _q;
|
|
38
|
+
var _r = useState(null), exited = _r[0], setExited = _r[1];
|
|
39
|
+
var _s = useState(false), hasScroll = _s[0], setHasScroll = _s[1];
|
|
40
|
+
var _t = useState(false), hasHeader = _t[0], setHasHeader = _t[1];
|
|
41
|
+
var _u = useState(false), hasFooter = _u[0], setHasFooter = _u[1];
|
|
42
|
+
var _v = useState(false), headerHighlighted = _v[0], setHeaderHighlighted = _v[1];
|
|
43
|
+
var _w = useState(false), footerHighlighted = _w[0], setFooterHighlighted = _w[1];
|
|
44
|
+
var _x = useState(0), headerOffset = _x[0], setHeaderOffset = _x[1];
|
|
44
45
|
var componentNodeRef = useRef(null);
|
|
45
46
|
var wrapperRef = useRef(null);
|
|
46
47
|
var scrollableNodeRef = useRef(null);
|
|
@@ -92,6 +93,9 @@ var BaseModal = forwardRef(function (_a, ref) {
|
|
|
92
93
|
}
|
|
93
94
|
}, [hasFooter, hasHeader, headerOffset]);
|
|
94
95
|
var handleClose = useCallback(function (event, reason) {
|
|
96
|
+
if (iOSLock && os.isIOS()) {
|
|
97
|
+
unlockScroll();
|
|
98
|
+
}
|
|
95
99
|
if (onClose) {
|
|
96
100
|
onClose(event, reason);
|
|
97
101
|
}
|
|
@@ -102,7 +106,7 @@ var BaseModal = forwardRef(function (_a, ref) {
|
|
|
102
106
|
onEscapeKeyDown(event);
|
|
103
107
|
}
|
|
104
108
|
return null;
|
|
105
|
-
}, [onBackdropClick, onClose, onEscapeKeyDown]);
|
|
109
|
+
}, [onBackdropClick, onClose, onEscapeKeyDown, iOSLock]);
|
|
106
110
|
var handleBackdropMouseDown = function (event) {
|
|
107
111
|
var _a;
|
|
108
112
|
var clickedOnScrollbar = false;
|
|
@@ -177,7 +181,11 @@ var BaseModal = forwardRef(function (_a, ref) {
|
|
|
177
181
|
if (open && isExited) {
|
|
178
182
|
if (!disableBlockingScroll) {
|
|
179
183
|
var el_1 = getContainer();
|
|
180
|
-
handleContainer(el_1);
|
|
184
|
+
handleContainer(el_1, os.isIOS());
|
|
185
|
+
if (iOSLock && os.isIOS()) {
|
|
186
|
+
syncHeight();
|
|
187
|
+
lockScroll();
|
|
188
|
+
}
|
|
181
189
|
restoreContainerStylesRef.current = function () {
|
|
182
190
|
restoreContainerStylesRef.current = null;
|
|
183
191
|
restoreContainerStyles(el_1);
|
|
@@ -185,7 +193,7 @@ var BaseModal = forwardRef(function (_a, ref) {
|
|
|
185
193
|
}
|
|
186
194
|
setExited(false);
|
|
187
195
|
}
|
|
188
|
-
}, [getContainer, open, disableBlockingScroll, isExited]);
|
|
196
|
+
}, [getContainer, open, disableBlockingScroll, isExited, iOSLock]);
|
|
189
197
|
useEffect(function () {
|
|
190
198
|
var ResizeObserver$1 = window.ResizeObserver || ResizeObserver;
|
|
191
199
|
resizeObserverRef.current = new ResizeObserver$1(checkToHasScrollBar);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var scrollY;
|
|
2
|
+
var lockScroll = function () {
|
|
3
|
+
scrollY = window.scrollY;
|
|
4
|
+
document.documentElement.classList.add('is-locked');
|
|
5
|
+
};
|
|
6
|
+
var unlockScroll = function () {
|
|
7
|
+
document.documentElement.classList.remove('is-locked');
|
|
8
|
+
window.scrollTo(0, scrollY);
|
|
9
|
+
};
|
|
10
|
+
var syncHeight = function () {
|
|
11
|
+
document.documentElement.style.setProperty('--window-inner-height', "".concat(window.innerHeight, "px"));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { lockScroll, syncHeight, unlockScroll };
|
package/base-modal/esm/index.css
CHANGED
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
} :root {
|
|
16
16
|
} :root {
|
|
17
17
|
} :root {
|
|
18
|
-
} .
|
|
18
|
+
} html.is-locked,
|
|
19
|
+
html.is-locked body {
|
|
20
|
+
height: calc(var(--window-inner-height) - 1px);
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
} .base-modal__component_13am9 {
|
|
19
24
|
position: relative;
|
|
20
25
|
box-sizing: border-box;
|
|
21
26
|
background: var(--color-light-modal-bg-primary);
|
package/base-modal/esm/index.js
CHANGED
|
@@ -2,5 +2,5 @@ declare function isScrolledToTop(target: HTMLElement): boolean;
|
|
|
2
2
|
declare function isScrolledToBottom(target: HTMLElement): boolean;
|
|
3
3
|
declare function hasScrollbar(target: HTMLElement): boolean;
|
|
4
4
|
declare const restoreContainerStyles: (container: HTMLElement) => void;
|
|
5
|
-
declare const handleContainer: (container?: HTMLElement) => void;
|
|
5
|
+
declare const handleContainer: (container?: HTMLElement, isIOS?: boolean) => void;
|
|
6
6
|
export { isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer };
|
package/base-modal/esm/utils.js
CHANGED
|
@@ -39,7 +39,8 @@ var restoreContainerStyles = function (container) {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
-
var handleContainer = function (container) {
|
|
42
|
+
var handleContainer = function (container, isIOS) {
|
|
43
|
+
if (isIOS === void 0) { isIOS = false; }
|
|
43
44
|
if (!container)
|
|
44
45
|
return;
|
|
45
46
|
var modalRestoreStyles = getModalStore().getRestoreStyles();
|
|
@@ -77,7 +78,9 @@ var handleContainer = function (container) {
|
|
|
77
78
|
el: scrollContainer,
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
+
if (!isIOS) {
|
|
82
|
+
scrollContainer.style.overflow = 'hidden';
|
|
83
|
+
}
|
|
81
84
|
modalRestoreStyles.push({
|
|
82
85
|
container: container,
|
|
83
86
|
modals: 1,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
+
|
|
3
|
+
var scrollY;
|
|
4
|
+
var lockScroll = function () {
|
|
5
|
+
scrollY = window.scrollY;
|
|
6
|
+
document.documentElement.classList.add('is-locked');
|
|
7
|
+
};
|
|
8
|
+
var unlockScroll = function () {
|
|
9
|
+
document.documentElement.classList.remove('is-locked');
|
|
10
|
+
window.scrollTo(0, scrollY);
|
|
11
|
+
};
|
|
12
|
+
var syncHeight = function () {
|
|
13
|
+
document.documentElement.style.setProperty('--window-inner-height', "".concat(window.innerHeight, "px"));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.lockScroll = lockScroll;
|
|
17
|
+
exports.syncHeight = syncHeight;
|
|
18
|
+
exports.unlockScroll = unlockScroll;
|
package/base-modal/index.css
CHANGED
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
} :root {
|
|
16
16
|
} :root {
|
|
17
17
|
} :root {
|
|
18
|
-
} .
|
|
18
|
+
} html.is-locked,
|
|
19
|
+
html.is-locked body {
|
|
20
|
+
height: calc(var(--window-inner-height) - 1px);
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
} .base-modal__component_13am9 {
|
|
19
24
|
position: relative;
|
|
20
25
|
box-sizing: border-box;
|
|
21
26
|
background: var(--color-light-modal-bg-primary);
|
|
@@ -134,6 +134,10 @@ type BaseModalProps = {
|
|
|
134
134
|
* Реф, который должен быть установлен компонентной области
|
|
135
135
|
*/
|
|
136
136
|
componentRef?: MutableRefObject<HTMLDivElement | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Блокирует скролл когда модальное окно открыто. Работает только на iOS.
|
|
139
|
+
*/
|
|
140
|
+
iOSLock?: boolean;
|
|
137
141
|
};
|
|
138
142
|
type BaseModalContext = {
|
|
139
143
|
parentRef: React.RefObject<HTMLDivElement>;
|
|
@@ -6,8 +6,9 @@ import { ResizeObserver } from '@juggle/resize-observer';
|
|
|
6
6
|
import cn from 'classnames';
|
|
7
7
|
import { Backdrop } from '../../backdrop/modern';
|
|
8
8
|
import { Portal } from '../../portal/modern';
|
|
9
|
-
import { browser } from '../../shared/modern';
|
|
9
|
+
import { os, browser } from '../../shared/modern';
|
|
10
10
|
import { stackingOrder, Stack } from '../../stack/modern';
|
|
11
|
+
import { unlockScroll, syncHeight, lockScroll } from './helpers/lockScroll.js';
|
|
11
12
|
import { isScrolledToTop, isScrolledToBottom, handleContainer, restoreContainerStyles, hasScrollbar } from './utils.js';
|
|
12
13
|
import './matches-polyfill.js';
|
|
13
14
|
import '../../global-store/modern';
|
|
@@ -32,7 +33,7 @@ const BaseModalContext = React.createContext({
|
|
|
32
33
|
setHasFooter: () => null,
|
|
33
34
|
onClose: () => null,
|
|
34
35
|
});
|
|
35
|
-
const BaseModal = forwardRef(({ open, container, children, scrollHandler = 'wrapper', Backdrop: Backdrop$1 = Backdrop, backdropProps = {}, transitionProps = {}, disableBackdropClick, disableAutoFocus = false, disableFocusLock = false, disableEscapeKeyDown = false, disableRestoreFocus = false, disableBlockingScroll = false, keepMounted = false, className, contentClassName, wrapperProps, contentProps, componentDivProps, wrapperClassName, onBackdropClick, onClose, onEscapeKeyDown, onMount, onUnmount, dataTestId, zIndex = stackingOrder.MODAL, componentRef = null, usePortal = true, }, ref) => {
|
|
36
|
+
const BaseModal = forwardRef(({ open, container, children, scrollHandler = 'wrapper', Backdrop: Backdrop$1 = Backdrop, backdropProps = {}, transitionProps = {}, disableBackdropClick, disableAutoFocus = false, disableFocusLock = false, disableEscapeKeyDown = false, disableRestoreFocus = false, disableBlockingScroll = false, keepMounted = false, className, contentClassName, wrapperProps, contentProps, componentDivProps, wrapperClassName, onBackdropClick, onClose, onEscapeKeyDown, onMount, onUnmount, dataTestId, zIndex = stackingOrder.MODAL, componentRef = null, usePortal = true, iOSLock = false, }, ref) => {
|
|
36
37
|
const [exited, setExited] = useState(null);
|
|
37
38
|
const [hasScroll, setHasScroll] = useState(false);
|
|
38
39
|
const [hasHeader, setHasHeader] = useState(false);
|
|
@@ -91,6 +92,9 @@ const BaseModal = forwardRef(({ open, container, children, scrollHandler = 'wrap
|
|
|
91
92
|
}
|
|
92
93
|
}, [hasFooter, hasHeader, headerOffset]);
|
|
93
94
|
const handleClose = useCallback((event, reason) => {
|
|
95
|
+
if (iOSLock && os.isIOS()) {
|
|
96
|
+
unlockScroll();
|
|
97
|
+
}
|
|
94
98
|
if (onClose) {
|
|
95
99
|
onClose(event, reason);
|
|
96
100
|
}
|
|
@@ -101,7 +105,7 @@ const BaseModal = forwardRef(({ open, container, children, scrollHandler = 'wrap
|
|
|
101
105
|
onEscapeKeyDown(event);
|
|
102
106
|
}
|
|
103
107
|
return null;
|
|
104
|
-
}, [onBackdropClick, onClose, onEscapeKeyDown]);
|
|
108
|
+
}, [onBackdropClick, onClose, onEscapeKeyDown, iOSLock]);
|
|
105
109
|
const handleBackdropMouseDown = (event) => {
|
|
106
110
|
let clickedOnScrollbar = false;
|
|
107
111
|
const clientWidth = event.target?.clientWidth;
|
|
@@ -175,7 +179,11 @@ const BaseModal = forwardRef(({ open, container, children, scrollHandler = 'wrap
|
|
|
175
179
|
if (open && isExited) {
|
|
176
180
|
if (!disableBlockingScroll) {
|
|
177
181
|
const el = getContainer();
|
|
178
|
-
handleContainer(el);
|
|
182
|
+
handleContainer(el, os.isIOS());
|
|
183
|
+
if (iOSLock && os.isIOS()) {
|
|
184
|
+
syncHeight();
|
|
185
|
+
lockScroll();
|
|
186
|
+
}
|
|
179
187
|
restoreContainerStylesRef.current = () => {
|
|
180
188
|
restoreContainerStylesRef.current = null;
|
|
181
189
|
restoreContainerStyles(el);
|
|
@@ -183,7 +191,7 @@ const BaseModal = forwardRef(({ open, container, children, scrollHandler = 'wrap
|
|
|
183
191
|
}
|
|
184
192
|
setExited(false);
|
|
185
193
|
}
|
|
186
|
-
}, [getContainer, open, disableBlockingScroll, isExited]);
|
|
194
|
+
}, [getContainer, open, disableBlockingScroll, isExited, iOSLock]);
|
|
187
195
|
useEffect(() => {
|
|
188
196
|
const ResizeObserver$1 = window.ResizeObserver || ResizeObserver;
|
|
189
197
|
resizeObserverRef.current = new ResizeObserver$1(checkToHasScrollBar);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
let scrollY;
|
|
2
|
+
const lockScroll = () => {
|
|
3
|
+
scrollY = window.scrollY;
|
|
4
|
+
document.documentElement.classList.add('is-locked');
|
|
5
|
+
};
|
|
6
|
+
const unlockScroll = () => {
|
|
7
|
+
document.documentElement.classList.remove('is-locked');
|
|
8
|
+
window.scrollTo(0, scrollY);
|
|
9
|
+
};
|
|
10
|
+
const syncHeight = () => {
|
|
11
|
+
document.documentElement.style.setProperty('--window-inner-height', `${window.innerHeight}px`);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { lockScroll, syncHeight, unlockScroll };
|
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
} :root {
|
|
16
16
|
} :root {
|
|
17
17
|
} :root {
|
|
18
|
-
} .
|
|
18
|
+
} html.is-locked,
|
|
19
|
+
html.is-locked body {
|
|
20
|
+
height: calc(var(--window-inner-height) - 1px);
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
} .base-modal__component_13am9 {
|
|
19
24
|
position: relative;
|
|
20
25
|
box-sizing: border-box;
|
|
21
26
|
background: var(--color-light-modal-bg-primary);
|
|
@@ -2,5 +2,5 @@ declare function isScrolledToTop(target: HTMLElement): boolean;
|
|
|
2
2
|
declare function isScrolledToBottom(target: HTMLElement): boolean;
|
|
3
3
|
declare function hasScrollbar(target: HTMLElement): boolean;
|
|
4
4
|
declare const restoreContainerStyles: (container: HTMLElement) => void;
|
|
5
|
-
declare const handleContainer: (container?: HTMLElement) => void;
|
|
5
|
+
declare const handleContainer: (container?: HTMLElement, isIOS?: boolean) => void;
|
|
6
6
|
export { isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer };
|
|
@@ -36,7 +36,7 @@ const restoreContainerStyles = (container) => {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
-
const handleContainer = (container) => {
|
|
39
|
+
const handleContainer = (container, isIOS = false) => {
|
|
40
40
|
if (!container)
|
|
41
41
|
return;
|
|
42
42
|
const modalRestoreStyles = getModalStore().getRestoreStyles();
|
|
@@ -74,7 +74,9 @@ const handleContainer = (container) => {
|
|
|
74
74
|
el: scrollContainer,
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
|
-
|
|
77
|
+
if (!isIOS) {
|
|
78
|
+
scrollContainer.style.overflow = 'hidden';
|
|
79
|
+
}
|
|
78
80
|
modalRestoreStyles.push({
|
|
79
81
|
container,
|
|
80
82
|
modals: 1,
|
package/base-modal/utils.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ declare function isScrolledToTop(target: HTMLElement): boolean;
|
|
|
2
2
|
declare function isScrolledToBottom(target: HTMLElement): boolean;
|
|
3
3
|
declare function hasScrollbar(target: HTMLElement): boolean;
|
|
4
4
|
declare const restoreContainerStyles: (container: HTMLElement) => void;
|
|
5
|
-
declare const handleContainer: (container?: HTMLElement) => void;
|
|
5
|
+
declare const handleContainer: (container?: HTMLElement, isIOS?: boolean) => void;
|
|
6
6
|
export { isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer };
|
package/base-modal/utils.js
CHANGED
|
@@ -41,7 +41,8 @@ var restoreContainerStyles = function (container) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
var handleContainer = function (container) {
|
|
44
|
+
var handleContainer = function (container, isIOS) {
|
|
45
|
+
if (isIOS === void 0) { isIOS = false; }
|
|
45
46
|
if (!container)
|
|
46
47
|
return;
|
|
47
48
|
var modalRestoreStyles = coreComponentsGlobalStore.getModalStore().getRestoreStyles();
|
|
@@ -79,7 +80,9 @@ var handleContainer = function (container) {
|
|
|
79
80
|
el: scrollContainer,
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
+
if (!isIOS) {
|
|
84
|
+
scrollContainer.style.overflow = 'hidden';
|
|
85
|
+
}
|
|
83
86
|
modalRestoreStyles.push({
|
|
84
87
|
container: container,
|
|
85
88
|
modals: 1,
|
|
@@ -15,7 +15,7 @@ import 'date-fns/isEqual';
|
|
|
15
15
|
import 'date-fns/max';
|
|
16
16
|
import 'date-fns/min';
|
|
17
17
|
import 'date-fns/subMonths';
|
|
18
|
-
import './index.module-
|
|
18
|
+
import './index.module-7ba85cb1.js';
|
|
19
19
|
import 'date-fns/endOfMonth';
|
|
20
20
|
import 'date-fns/isSameMonth';
|
|
21
21
|
import '../../calendar/esm/desktop';
|