@hh.ru/magritte-ui-modal 8.1.16 → 8.1.18

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/Modal.js CHANGED
@@ -12,7 +12,7 @@ import { useNoBubbling } from '@hh.ru/magritte-common-use-no-bubbling';
12
12
  import { isActionBarComponent } from '@hh.ru/magritte-ui-action-bar';
13
13
  import { Breakpoint, useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';
14
14
  import { Layer } from '@hh.ru/magritte-ui-layer';
15
- import { s as styles, M as ModalContentWithHeader } from './ModalContentWithHeader-B5JCyOXm.js';
15
+ import { s as styles, M as ModalContentWithHeader } from './ModalContentWithHeader-BhEtbsmQ.js';
16
16
  import { useModalOrder } from './useModalOrder.js';
17
17
  import { isValidTreeSelectorWrapper } from '@hh.ru/magritte-ui-tree-selector';
18
18
  import '@hh.ru/magritte-common-func-utils';
@@ -6,7 +6,7 @@ import { requestAnimation } from '@hh.ru/magritte-common-func-utils';
6
6
  import { Divider } from '@hh.ru/magritte-ui-divider';
7
7
  import { ModalHeader } from './ModalHeader.js';
8
8
 
9
- var styles = {"modal-overlay":"magritte-modal-overlay___lK22l_8-1-16","modalOverlay":"magritte-modal-overlay___lK22l_8-1-16","overlay-left":"magritte-overlay-left___JtHK4_8-1-16","overlayLeft":"magritte-overlay-left___JtHK4_8-1-16","overlay-right":"magritte-overlay-right___uKTDt_8-1-16","overlayRight":"magritte-overlay-right___uKTDt_8-1-16","modal":"magritte-modal___RAW6S_8-1-16","size-small":"magritte-size-small___2JTM2_8-1-16","sizeSmall":"magritte-size-small___2JTM2_8-1-16","size-medium":"magritte-size-medium___cWCe7_8-1-16","sizeMedium":"magritte-size-medium___cWCe7_8-1-16","no-vertical-paddings":"magritte-no-vertical-paddings___Z3-oM_8-1-16","noVerticalPaddings":"magritte-no-vertical-paddings___Z3-oM_8-1-16","no-horizontal-paddings":"magritte-no-horizontal-paddings___aT95Y_8-1-16","noHorizontalPaddings":"magritte-no-horizontal-paddings___aT95Y_8-1-16","modal-full-height":"magritte-modal-full-height___gIM4E_8-1-16","modalFullHeight":"magritte-modal-full-height___gIM4E_8-1-16","modal-content":"magritte-modal-content___46QFS_8-1-16","modalContent":"magritte-modal-content___46QFS_8-1-16","modal-content-wrapper":"magritte-modal-content-wrapper___23XFT_8-1-16","modalContentWrapper":"magritte-modal-content-wrapper___23XFT_8-1-16","modal-content-wrapper__one-line":"magritte-modal-content-wrapper__one-line___tYg8d_8-1-16","modalContentWrapperOneLine":"magritte-modal-content-wrapper__one-line___tYg8d_8-1-16","divider-container":"magritte-divider-container___qP3VK_8-1-16","dividerContainer":"magritte-divider-container___qP3VK_8-1-16","divider-container-hidden":"magritte-divider-container-hidden___EIxB-_8-1-16","dividerContainerHidden":"magritte-divider-container-hidden___EIxB-_8-1-16","modal-footer":"magritte-modal-footer___8xPqQ_8-1-16","modalFooter":"magritte-modal-footer___8xPqQ_8-1-16","modal-buttons-container":"magritte-modal-buttons-container___1O1Nr_8-1-16","modalButtonsContainer":"magritte-modal-buttons-container___1O1Nr_8-1-16","animation-timeout":"magritte-animation-timeout___w-j7K_8-1-16","animationTimeout":"magritte-animation-timeout___w-j7K_8-1-16","animation-enter-center":"magritte-animation-enter-center___7jogC_8-1-16","animationEnterCenter":"magritte-animation-enter-center___7jogC_8-1-16","animation-enter-center-active":"magritte-animation-enter-center-active___fywwW_8-1-16","animationEnterCenterActive":"magritte-animation-enter-center-active___fywwW_8-1-16","animation-exit-center":"magritte-animation-exit-center___3Fa6x_8-1-16","animationExitCenter":"magritte-animation-exit-center___3Fa6x_8-1-16","animation-exit-center-active":"magritte-animation-exit-center-active___tY0UA_8-1-16","animationExitCenterActive":"magritte-animation-exit-center-active___tY0UA_8-1-16","animation-enter-left":"magritte-animation-enter-left___5YB8B_8-1-16","animationEnterLeft":"magritte-animation-enter-left___5YB8B_8-1-16","animation-enter-left-active":"magritte-animation-enter-left-active___5GK8s_8-1-16","animationEnterLeftActive":"magritte-animation-enter-left-active___5GK8s_8-1-16","animation-exit-left":"magritte-animation-exit-left___OnkQE_8-1-16","animationExitLeft":"magritte-animation-exit-left___OnkQE_8-1-16","animation-exit-left-active":"magritte-animation-exit-left-active___AEGxY_8-1-16","animationExitLeftActive":"magritte-animation-exit-left-active___AEGxY_8-1-16","animation-enter-right":"magritte-animation-enter-right___2aXOm_8-1-16","animationEnterRight":"magritte-animation-enter-right___2aXOm_8-1-16","animation-enter-right-active":"magritte-animation-enter-right-active___8wX4-_8-1-16","animationEnterRightActive":"magritte-animation-enter-right-active___8wX4-_8-1-16","animation-exit-right":"magritte-animation-exit-right___iczoc_8-1-16","animationExitRight":"magritte-animation-exit-right___iczoc_8-1-16","animation-exit-right-active":"magritte-animation-exit-right-active___eFS4O_8-1-16","animationExitRightActive":"magritte-animation-exit-right-active___eFS4O_8-1-16","content-scroll-preserver":"magritte-content-scroll-preserver___Tw5Px_8-1-16","contentScrollPreserver":"magritte-content-scroll-preserver___Tw5Px_8-1-16","content-sticky-container":"magritte-content-sticky-container___nqEXj_8-1-16","contentStickyContainer":"magritte-content-sticky-container___nqEXj_8-1-16","content-sticky-container_full-height":"magritte-content-sticky-container_full-height___Gl9x8_8-1-16","contentStickyContainerFullHeight":"magritte-content-sticky-container_full-height___Gl9x8_8-1-16"};
9
+ var styles = {"modal-overlay":"magritte-modal-overlay___lK22l_8-1-18","modalOverlay":"magritte-modal-overlay___lK22l_8-1-18","overlay-left":"magritte-overlay-left___JtHK4_8-1-18","overlayLeft":"magritte-overlay-left___JtHK4_8-1-18","overlay-right":"magritte-overlay-right___uKTDt_8-1-18","overlayRight":"magritte-overlay-right___uKTDt_8-1-18","modal":"magritte-modal___RAW6S_8-1-18","size-small":"magritte-size-small___2JTM2_8-1-18","sizeSmall":"magritte-size-small___2JTM2_8-1-18","size-medium":"magritte-size-medium___cWCe7_8-1-18","sizeMedium":"magritte-size-medium___cWCe7_8-1-18","no-vertical-paddings":"magritte-no-vertical-paddings___Z3-oM_8-1-18","noVerticalPaddings":"magritte-no-vertical-paddings___Z3-oM_8-1-18","no-horizontal-paddings":"magritte-no-horizontal-paddings___aT95Y_8-1-18","noHorizontalPaddings":"magritte-no-horizontal-paddings___aT95Y_8-1-18","modal-full-height":"magritte-modal-full-height___gIM4E_8-1-18","modalFullHeight":"magritte-modal-full-height___gIM4E_8-1-18","modal-content":"magritte-modal-content___46QFS_8-1-18","modalContent":"magritte-modal-content___46QFS_8-1-18","modal-content-wrapper":"magritte-modal-content-wrapper___23XFT_8-1-18","modalContentWrapper":"magritte-modal-content-wrapper___23XFT_8-1-18","modal-content-wrapper__one-line":"magritte-modal-content-wrapper__one-line___tYg8d_8-1-18","modalContentWrapperOneLine":"magritte-modal-content-wrapper__one-line___tYg8d_8-1-18","divider-container":"magritte-divider-container___qP3VK_8-1-18","dividerContainer":"magritte-divider-container___qP3VK_8-1-18","divider-container-hidden":"magritte-divider-container-hidden___EIxB-_8-1-18","dividerContainerHidden":"magritte-divider-container-hidden___EIxB-_8-1-18","modal-footer":"magritte-modal-footer___8xPqQ_8-1-18","modalFooter":"magritte-modal-footer___8xPqQ_8-1-18","modal-buttons-container":"magritte-modal-buttons-container___1O1Nr_8-1-18","modalButtonsContainer":"magritte-modal-buttons-container___1O1Nr_8-1-18","animation-timeout":"magritte-animation-timeout___w-j7K_8-1-18","animationTimeout":"magritte-animation-timeout___w-j7K_8-1-18","animation-enter-center":"magritte-animation-enter-center___7jogC_8-1-18","animationEnterCenter":"magritte-animation-enter-center___7jogC_8-1-18","animation-enter-center-active":"magritte-animation-enter-center-active___fywwW_8-1-18","animationEnterCenterActive":"magritte-animation-enter-center-active___fywwW_8-1-18","animation-exit-center":"magritte-animation-exit-center___3Fa6x_8-1-18","animationExitCenter":"magritte-animation-exit-center___3Fa6x_8-1-18","animation-exit-center-active":"magritte-animation-exit-center-active___tY0UA_8-1-18","animationExitCenterActive":"magritte-animation-exit-center-active___tY0UA_8-1-18","animation-enter-left":"magritte-animation-enter-left___5YB8B_8-1-18","animationEnterLeft":"magritte-animation-enter-left___5YB8B_8-1-18","animation-enter-left-active":"magritte-animation-enter-left-active___5GK8s_8-1-18","animationEnterLeftActive":"magritte-animation-enter-left-active___5GK8s_8-1-18","animation-exit-left":"magritte-animation-exit-left___OnkQE_8-1-18","animationExitLeft":"magritte-animation-exit-left___OnkQE_8-1-18","animation-exit-left-active":"magritte-animation-exit-left-active___AEGxY_8-1-18","animationExitLeftActive":"magritte-animation-exit-left-active___AEGxY_8-1-18","animation-enter-right":"magritte-animation-enter-right___2aXOm_8-1-18","animationEnterRight":"magritte-animation-enter-right___2aXOm_8-1-18","animation-enter-right-active":"magritte-animation-enter-right-active___8wX4-_8-1-18","animationEnterRightActive":"magritte-animation-enter-right-active___8wX4-_8-1-18","animation-exit-right":"magritte-animation-exit-right___iczoc_8-1-18","animationExitRight":"magritte-animation-exit-right___iczoc_8-1-18","animation-exit-right-active":"magritte-animation-exit-right-active___eFS4O_8-1-18","animationExitRightActive":"magritte-animation-exit-right-active___eFS4O_8-1-18","content-scroll-preserver":"magritte-content-scroll-preserver___Tw5Px_8-1-18","contentScrollPreserver":"magritte-content-scroll-preserver___Tw5Px_8-1-18","content-sticky-container":"magritte-content-sticky-container___nqEXj_8-1-18","contentStickyContainer":"magritte-content-sticky-container___nqEXj_8-1-18","content-sticky-container_full-height":"magritte-content-sticky-container_full-height___Gl9x8_8-1-18","contentStickyContainerFullHeight":"magritte-content-sticky-container_full-height___Gl9x8_8-1-18"};
10
10
 
11
11
  const checkIsScrolledToBottom = (el) => {
12
12
  return Math.abs(el.scrollHeight - el.scrollTop - el.clientHeight) < 1;
@@ -131,4 +131,4 @@ const ModalContentWithHeader = ({ labelId, children, headerHeight: _headerHeight
131
131
  };
132
132
 
133
133
  export { ModalContentWithHeader as M, styles as s };
134
- //# sourceMappingURL=ModalContentWithHeader-B5JCyOXm.js.map
134
+ //# sourceMappingURL=ModalContentWithHeader-BhEtbsmQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContentWithHeader-B5JCyOXm.js","sources":["../src/ModalContentWithHeader.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useCallback, useLayoutEffect, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { requestAnimation } from '@hh.ru/magritte-common-func-utils';\nimport { Divider } from '@hh.ru/magritte-ui-divider';\nimport { ModalHeader } from '@hh.ru/magritte-ui-modal/ModalHeader';\nimport { ModalHeaderProps, ModalHeight } from '@hh.ru/magritte-ui-modal/types';\n\nimport styles from './modal.less';\n\nconst checkIsScrolledToBottom = (el: HTMLElement) => {\n return Math.abs(el.scrollHeight - el.scrollTop - el.clientHeight) < 1;\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// Минимальная высота до которой может сжаться хедер\nconst HEADER_SHRINK_MIN_HEIGHT = 148;\n// Минимальная высота отступа между хедером и контентом\nconst HEADER_MARGIN_MIN_HEIGHT = 12;\n// Максимальная высота отступа между хедером и контентом\nconst HEADER_MARGIN_MAX_HEIGHT = 24;\nconst HEADER_MARGIN_HEIGHT_DELTA = HEADER_MARGIN_MAX_HEIGHT - HEADER_MARGIN_MIN_HEIGHT;\n\n// Вычисляет минимальную высоту до которой может сжаться хедер с учетом высоты контента, чтобы не спровоцировать\n// изменение размера модалки\nconst calcHeaderShrinkLimit = (\n headerHeight: number,\n headerMaxHeight: number,\n contentHeight: number,\n contentScrollHeight: number,\n marginHeight: number\n) => {\n // Высота контента скрытого под скроллом когда хедер и марджин под ним имеет максимальную допустимую высоту\n const contentScrollDelta =\n contentScrollHeight - // Высота контента скрытого под скроллом в текущем состоянии\n contentHeight + // Высота контейнера содержащего контент\n (HEADER_MARGIN_MAX_HEIGHT - marginHeight) + // Дельта между текущей высотой марджина и максимальной допустимой\n (headerMaxHeight - headerHeight); // Дельта между текущей высотой хедера и максимальной допустимой\n\n const headerShrinkMinHeight = headerMaxHeight - (contentScrollDelta - HEADER_MARGIN_HEIGHT_DELTA);\n\n return Math.max(headerShrinkMinHeight, HEADER_SHRINK_MIN_HEIGHT);\n};\n\nconst shrinkByDelta = (\n headerImageContainer: HTMLDivElement | null,\n headerWrapper: HTMLDivElement | null,\n headerMinHeight: number,\n headerMaxHeight: number,\n scrollDeltaY: number\n) => {\n if (!headerImageContainer || !headerWrapper) {\n return;\n }\n\n const marginHeight = clamp(\n HEADER_MARGIN_MAX_HEIGHT - scrollDeltaY,\n HEADER_MARGIN_MIN_HEIGHT,\n HEADER_MARGIN_MAX_HEIGHT\n );\n headerWrapper.style.marginBottom = `${marginHeight}px`;\n\n const headerHeight = clamp(\n // Тут прибаляем дельту марджина потому что сначала должен сжаться отступ\n Math.floor(headerMaxHeight - scrollDeltaY + HEADER_MARGIN_HEIGHT_DELTA),\n headerMinHeight,\n headerMaxHeight\n );\n headerImageContainer.style.height = `${headerHeight}px`;\n};\n\nexport const ModalContentWithHeader: FC<\n PropsWithChildren<ModalHeaderProps & { labelId: string; isTreeSelectorChild: boolean; height?: ModalHeight }>\n> = ({ labelId, children, headerHeight: _headerHeight = 0, isTreeSelectorChild, height, ...modalHeaderProps }) => {\n const { title, headerImageUrl, headerImage, actions, actionLink, options } = modalHeaderProps;\n\n const bottomDividerVisibleRef = useRef(false);\n const contentContainerRef = useRef<HTMLDivElement>(null);\n const headerImageContainerRef = useRef<HTMLDivElement>(null);\n const headerWrapperRef = useRef<HTMLDivElement>(null);\n const spacePreserverRef = useRef<HTMLDivElement>(null);\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const hasHeaderImageRef = useRef(!!headerImageUrl || !!headerImage);\n hasHeaderImageRef.current = !!headerImageUrl || !!headerImage;\n const headerHeightRef = useRef(0);\n headerHeightRef.current = hasHeaderImageRef.current ? Math.max(_headerHeight, 200) : 0;\n const minHeaderHeightRef = useRef(0);\n\n const bottomDividerContainerRef = useRef<HTMLDivElement>(null);\n const topDividerContainerRef = useRef<HTMLDivElement>(null);\n\n const withoutHeader = !title && !hasHeaderImageRef.current && !actions && !actionLink && !options;\n const onlyActions = !title && !hasHeaderImageRef.current && !options && (actions || actionLink);\n\n const isTopDividerVisible = () => {\n if (!contentContainerRef.current) {\n return false;\n }\n\n const topDividerVisible = hasHeaderImageRef.current\n ? contentContainerRef.current.scrollTop >\n headerHeightRef.current - minHeaderHeightRef.current + HEADER_MARGIN_HEIGHT_DELTA\n : contentContainerRef.current.scrollTop !== 0;\n\n return topDividerVisible && (options || !hasHeaderImageRef.current) && !onlyActions && !withoutHeader;\n };\n\n const updateHeaderDimensions = useCallback(() => {\n if (\n !headerImageContainerRef.current ||\n !headerWrapperRef.current ||\n !stickyContainerRef.current ||\n !spacePreserverRef.current ||\n !contentContainerRef.current\n ) {\n return;\n }\n\n if (!hasHeaderImageRef.current) {\n spacePreserverRef.current.style.height = '0';\n return;\n }\n\n minHeaderHeightRef.current = calcHeaderShrinkLimit(\n headerImageContainerRef.current.clientHeight,\n headerHeightRef.current,\n contentContainerRef.current.clientHeight,\n stickyContainerRef.current.scrollHeight,\n parseInt(headerWrapperRef.current.style.marginBottom || '0', 10)\n );\n\n shrinkByDelta(\n headerImageContainerRef.current,\n headerWrapperRef.current,\n minHeaderHeightRef.current,\n headerHeightRef.current,\n contentContainerRef.current.scrollTop\n );\n const preserverSize = headerHeightRef.current - minHeaderHeightRef.current + HEADER_MARGIN_HEIGHT_DELTA;\n spacePreserverRef.current.style.height = `${preserverSize}px`;\n }, []);\n\n useLayoutEffect(() => {\n if (contentContainerRef.current) {\n const observer = new ResizeObserver(\n requestAnimation(() => {\n if (!contentContainerRef.current) {\n return;\n }\n const isScrollable =\n contentContainerRef.current.scrollHeight > contentContainerRef.current.clientHeight;\n const hasScroll = isScrollable && !checkIsScrolledToBottom(contentContainerRef.current);\n bottomDividerVisibleRef.current = hasScroll;\n bottomDividerContainerRef.current?.classList.toggle(\n styles.dividerContainerHidden,\n !bottomDividerVisibleRef.current\n );\n updateHeaderDimensions();\n })\n );\n observer.observe(contentContainerRef.current);\n return () => observer.disconnect();\n }\n\n return undefined;\n }, [updateHeaderDimensions]);\n\n useLayoutEffect(() => {\n updateHeaderDimensions();\n if (!options && (headerImageUrl || headerImage)) {\n topDividerContainerRef.current?.classList.toggle(styles.dividerContainerHidden, true);\n }\n }, [headerImageUrl, headerImage, updateHeaderDimensions, options]);\n\n const handleScroll = () => {\n if (!contentContainerRef.current) {\n return;\n }\n\n bottomDividerVisibleRef.current = !checkIsScrolledToBottom(contentContainerRef.current);\n bottomDividerContainerRef.current?.classList.toggle(\n styles.dividerContainerHidden,\n !bottomDividerVisibleRef.current\n );\n topDividerContainerRef.current?.classList.toggle(styles.dividerContainerHidden, !isTopDividerVisible());\n if (hasHeaderImageRef.current) {\n shrinkByDelta(\n headerImageContainerRef.current,\n headerWrapperRef.current,\n minHeaderHeightRef.current,\n headerHeightRef.current,\n contentContainerRef.current.scrollTop\n );\n }\n };\n\n return (\n <>\n <div\n className={classnames(styles.modalContentWrapper, {\n [styles.modalContentWrapperOneLine]: onlyActions,\n })}\n >\n <ModalHeader\n {...modalHeaderProps}\n headerHeight={headerHeightRef.current}\n labelId={labelId}\n wrapperRef={headerWrapperRef}\n ref={headerImageContainerRef}\n />\n <div\n className={classnames(styles.dividerContainer, {\n [styles.dividerContainerHidden]: !isTopDividerVisible(),\n })}\n ref={topDividerContainerRef}\n >\n <Divider />\n </div>\n <div\n className={classnames(styles.modalContent)}\n ref={contentContainerRef}\n onScroll={handleScroll}\n data-qa=\"modal-content-scroll-container\"\n >\n {isTreeSelectorChild ? (\n children\n ) : (\n <>\n <div\n className={classnames(styles.contentStickyContainer, {\n [styles.contentStickyContainerFullHeight]: height === 'full-screen',\n })}\n ref={stickyContainerRef}\n >\n {children}\n </div>\n <div ref={spacePreserverRef} />\n </>\n )}\n </div>\n </div>\n <div\n className={classnames(styles.dividerContainer, {\n [styles.dividerContainerHidden]: !bottomDividerVisibleRef.current,\n })}\n ref={bottomDividerContainerRef}\n >\n <Divider />\n </div>\n </>\n );\n};\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ModalContentWithHeader-BhEtbsmQ.js","sources":["../src/ModalContentWithHeader.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useCallback, useLayoutEffect, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { requestAnimation } from '@hh.ru/magritte-common-func-utils';\nimport { Divider } from '@hh.ru/magritte-ui-divider';\nimport { ModalHeader } from '@hh.ru/magritte-ui-modal/ModalHeader';\nimport { ModalHeaderProps, ModalHeight } from '@hh.ru/magritte-ui-modal/types';\n\nimport styles from './modal.less';\n\nconst checkIsScrolledToBottom = (el: HTMLElement) => {\n return Math.abs(el.scrollHeight - el.scrollTop - el.clientHeight) < 1;\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// Минимальная высота до которой может сжаться хедер\nconst HEADER_SHRINK_MIN_HEIGHT = 148;\n// Минимальная высота отступа между хедером и контентом\nconst HEADER_MARGIN_MIN_HEIGHT = 12;\n// Максимальная высота отступа между хедером и контентом\nconst HEADER_MARGIN_MAX_HEIGHT = 24;\nconst HEADER_MARGIN_HEIGHT_DELTA = HEADER_MARGIN_MAX_HEIGHT - HEADER_MARGIN_MIN_HEIGHT;\n\n// Вычисляет минимальную высоту до которой может сжаться хедер с учетом высоты контента, чтобы не спровоцировать\n// изменение размера модалки\nconst calcHeaderShrinkLimit = (\n headerHeight: number,\n headerMaxHeight: number,\n contentHeight: number,\n contentScrollHeight: number,\n marginHeight: number\n) => {\n // Высота контента скрытого под скроллом когда хедер и марджин под ним имеет максимальную допустимую высоту\n const contentScrollDelta =\n contentScrollHeight - // Высота контента скрытого под скроллом в текущем состоянии\n contentHeight + // Высота контейнера содержащего контент\n (HEADER_MARGIN_MAX_HEIGHT - marginHeight) + // Дельта между текущей высотой марджина и максимальной допустимой\n (headerMaxHeight - headerHeight); // Дельта между текущей высотой хедера и максимальной допустимой\n\n const headerShrinkMinHeight = headerMaxHeight - (contentScrollDelta - HEADER_MARGIN_HEIGHT_DELTA);\n\n return Math.max(headerShrinkMinHeight, HEADER_SHRINK_MIN_HEIGHT);\n};\n\nconst shrinkByDelta = (\n headerImageContainer: HTMLDivElement | null,\n headerWrapper: HTMLDivElement | null,\n headerMinHeight: number,\n headerMaxHeight: number,\n scrollDeltaY: number\n) => {\n if (!headerImageContainer || !headerWrapper) {\n return;\n }\n\n const marginHeight = clamp(\n HEADER_MARGIN_MAX_HEIGHT - scrollDeltaY,\n HEADER_MARGIN_MIN_HEIGHT,\n HEADER_MARGIN_MAX_HEIGHT\n );\n headerWrapper.style.marginBottom = `${marginHeight}px`;\n\n const headerHeight = clamp(\n // Тут прибаляем дельту марджина потому что сначала должен сжаться отступ\n Math.floor(headerMaxHeight - scrollDeltaY + HEADER_MARGIN_HEIGHT_DELTA),\n headerMinHeight,\n headerMaxHeight\n );\n headerImageContainer.style.height = `${headerHeight}px`;\n};\n\nexport const ModalContentWithHeader: FC<\n PropsWithChildren<ModalHeaderProps & { labelId: string; isTreeSelectorChild: boolean; height?: ModalHeight }>\n> = ({ labelId, children, headerHeight: _headerHeight = 0, isTreeSelectorChild, height, ...modalHeaderProps }) => {\n const { title, headerImageUrl, headerImage, actions, actionLink, options } = modalHeaderProps;\n\n const bottomDividerVisibleRef = useRef(false);\n const contentContainerRef = useRef<HTMLDivElement>(null);\n const headerImageContainerRef = useRef<HTMLDivElement>(null);\n const headerWrapperRef = useRef<HTMLDivElement>(null);\n const spacePreserverRef = useRef<HTMLDivElement>(null);\n const stickyContainerRef = useRef<HTMLDivElement>(null);\n const hasHeaderImageRef = useRef(!!headerImageUrl || !!headerImage);\n hasHeaderImageRef.current = !!headerImageUrl || !!headerImage;\n const headerHeightRef = useRef(0);\n headerHeightRef.current = hasHeaderImageRef.current ? Math.max(_headerHeight, 200) : 0;\n const minHeaderHeightRef = useRef(0);\n\n const bottomDividerContainerRef = useRef<HTMLDivElement>(null);\n const topDividerContainerRef = useRef<HTMLDivElement>(null);\n\n const withoutHeader = !title && !hasHeaderImageRef.current && !actions && !actionLink && !options;\n const onlyActions = !title && !hasHeaderImageRef.current && !options && (actions || actionLink);\n\n const isTopDividerVisible = () => {\n if (!contentContainerRef.current) {\n return false;\n }\n\n const topDividerVisible = hasHeaderImageRef.current\n ? contentContainerRef.current.scrollTop >\n headerHeightRef.current - minHeaderHeightRef.current + HEADER_MARGIN_HEIGHT_DELTA\n : contentContainerRef.current.scrollTop !== 0;\n\n return topDividerVisible && (options || !hasHeaderImageRef.current) && !onlyActions && !withoutHeader;\n };\n\n const updateHeaderDimensions = useCallback(() => {\n if (\n !headerImageContainerRef.current ||\n !headerWrapperRef.current ||\n !stickyContainerRef.current ||\n !spacePreserverRef.current ||\n !contentContainerRef.current\n ) {\n return;\n }\n\n if (!hasHeaderImageRef.current) {\n spacePreserverRef.current.style.height = '0';\n return;\n }\n\n minHeaderHeightRef.current = calcHeaderShrinkLimit(\n headerImageContainerRef.current.clientHeight,\n headerHeightRef.current,\n contentContainerRef.current.clientHeight,\n stickyContainerRef.current.scrollHeight,\n parseInt(headerWrapperRef.current.style.marginBottom || '0', 10)\n );\n\n shrinkByDelta(\n headerImageContainerRef.current,\n headerWrapperRef.current,\n minHeaderHeightRef.current,\n headerHeightRef.current,\n contentContainerRef.current.scrollTop\n );\n const preserverSize = headerHeightRef.current - minHeaderHeightRef.current + HEADER_MARGIN_HEIGHT_DELTA;\n spacePreserverRef.current.style.height = `${preserverSize}px`;\n }, []);\n\n useLayoutEffect(() => {\n if (contentContainerRef.current) {\n const observer = new ResizeObserver(\n requestAnimation(() => {\n if (!contentContainerRef.current) {\n return;\n }\n const isScrollable =\n contentContainerRef.current.scrollHeight > contentContainerRef.current.clientHeight;\n const hasScroll = isScrollable && !checkIsScrolledToBottom(contentContainerRef.current);\n bottomDividerVisibleRef.current = hasScroll;\n bottomDividerContainerRef.current?.classList.toggle(\n styles.dividerContainerHidden,\n !bottomDividerVisibleRef.current\n );\n updateHeaderDimensions();\n })\n );\n observer.observe(contentContainerRef.current);\n return () => observer.disconnect();\n }\n\n return undefined;\n }, [updateHeaderDimensions]);\n\n useLayoutEffect(() => {\n updateHeaderDimensions();\n if (!options && (headerImageUrl || headerImage)) {\n topDividerContainerRef.current?.classList.toggle(styles.dividerContainerHidden, true);\n }\n }, [headerImageUrl, headerImage, updateHeaderDimensions, options]);\n\n const handleScroll = () => {\n if (!contentContainerRef.current) {\n return;\n }\n\n bottomDividerVisibleRef.current = !checkIsScrolledToBottom(contentContainerRef.current);\n bottomDividerContainerRef.current?.classList.toggle(\n styles.dividerContainerHidden,\n !bottomDividerVisibleRef.current\n );\n topDividerContainerRef.current?.classList.toggle(styles.dividerContainerHidden, !isTopDividerVisible());\n if (hasHeaderImageRef.current) {\n shrinkByDelta(\n headerImageContainerRef.current,\n headerWrapperRef.current,\n minHeaderHeightRef.current,\n headerHeightRef.current,\n contentContainerRef.current.scrollTop\n );\n }\n };\n\n return (\n <>\n <div\n className={classnames(styles.modalContentWrapper, {\n [styles.modalContentWrapperOneLine]: onlyActions,\n })}\n >\n <ModalHeader\n {...modalHeaderProps}\n headerHeight={headerHeightRef.current}\n labelId={labelId}\n wrapperRef={headerWrapperRef}\n ref={headerImageContainerRef}\n />\n <div\n className={classnames(styles.dividerContainer, {\n [styles.dividerContainerHidden]: !isTopDividerVisible(),\n })}\n ref={topDividerContainerRef}\n >\n <Divider />\n </div>\n <div\n className={classnames(styles.modalContent)}\n ref={contentContainerRef}\n onScroll={handleScroll}\n data-qa=\"modal-content-scroll-container\"\n >\n {isTreeSelectorChild ? (\n children\n ) : (\n <>\n <div\n className={classnames(styles.contentStickyContainer, {\n [styles.contentStickyContainerFullHeight]: height === 'full-screen',\n })}\n ref={stickyContainerRef}\n >\n {children}\n </div>\n <div ref={spacePreserverRef} />\n </>\n )}\n </div>\n </div>\n <div\n className={classnames(styles.dividerContainer, {\n [styles.dividerContainerHidden]: !bottomDividerVisibleRef.current,\n })}\n ref={bottomDividerContainerRef}\n >\n <Divider />\n </div>\n </>\n );\n};\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -5,7 +5,7 @@ import 'classnames';
5
5
  import '@hh.ru/magritte-common-func-utils';
6
6
  import '@hh.ru/magritte-ui-divider';
7
7
  import './ModalHeader.js';
8
- export { M as ModalContentWithHeader } from './ModalContentWithHeader-B5JCyOXm.js';
8
+ export { M as ModalContentWithHeader } from './ModalContentWithHeader-BhEtbsmQ.js';
9
9
  import '@hh.ru/magritte-ui-icon';
10
10
  import '@hh.ru/magritte-ui-title';
11
11
  //# sourceMappingURL=ModalContentWithHeader.js.map
package/ModalHeader.js CHANGED
@@ -5,12 +5,12 @@ import classnames from 'classnames';
5
5
  import { isIconComponent } from '@hh.ru/magritte-ui-icon';
6
6
  import { Title } from '@hh.ru/magritte-ui-title';
7
7
 
8
- var styles = {"content":"magritte-content___o6ktq_8-1-16","options":"magritte-options___qfErQ_8-1-16","actions":"magritte-actions___nQILV_8-1-16","actions-with-link":"magritte-actions-with-link___hnDux_8-1-16","actionsWithLink":"magritte-actions-with-link___hnDux_8-1-16","content-with-image":"magritte-content-with-image___YarBO_8-1-16","contentWithImage":"magritte-content-with-image___YarBO_8-1-16","actions-single":"magritte-actions-single___usfKu_8-1-16","actionsSingle":"magritte-actions-single___usfKu_8-1-16","image-container":"magritte-image-container___ioL3y_8-1-16","imageContainer":"magritte-image-container___ioL3y_8-1-16","title-wrapper":"magritte-title-wrapper___O--QR_8-1-16","titleWrapper":"magritte-title-wrapper___O--QR_8-1-16","wrapper":"magritte-wrapper___zH8vB_8-1-16"};
8
+ var styles = {"content":"magritte-content___o6ktq_8-1-18","options":"magritte-options___qfErQ_8-1-18","actions":"magritte-actions___nQILV_8-1-18","actions-with-link":"magritte-actions-with-link___hnDux_8-1-18","actionsWithLink":"magritte-actions-with-link___hnDux_8-1-18","content-with-image":"magritte-content-with-image___YarBO_8-1-18","contentWithImage":"magritte-content-with-image___YarBO_8-1-18","actions-single":"magritte-actions-single___usfKu_8-1-18","actionsSingle":"magritte-actions-single___usfKu_8-1-18","image-container":"magritte-image-container___ioL3y_8-1-18","imageContainer":"magritte-image-container___ioL3y_8-1-18","title-wrapper":"magritte-title-wrapper___O--QR_8-1-18","titleWrapper":"magritte-title-wrapper___O--QR_8-1-18","wrapper":"magritte-wrapper___zH8vB_8-1-18"};
9
9
 
10
10
  const ModalHeader = forwardRef(({ title, headerImageUrl, headerImage, headerHeight, titleAlignment, titleElement, titleMaxLines, titleSize, titleDescription, titleDescriptionMaxLines, titleStyle, titleDescriptionStyle, options, actions: _actions, actionLink, labelId, wrapperRef, }, ref) => {
11
11
  const actions = Array.isArray(_actions) ? _actions.slice(0, 5) : _actions;
12
12
  const hasHeaderImage = !!headerImageUrl || !!headerImage;
13
- if (!title && !headerImageUrl && !actions && !actionLink && !options) {
13
+ if (!title && !hasHeaderImage && !actions && !actionLink && !options) {
14
14
  return null;
15
15
  }
16
16
  const withTitle = title && titleElement;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","sources":["../src/ModalHeader.tsx"],"sourcesContent":["import { forwardRef, RefObject, cloneElement, Children } from 'react';\nimport classnames from 'classnames';\n\nimport { isIconComponent } from '@hh.ru/magritte-ui-icon';\nimport { ModalHeaderProps } from '@hh.ru/magritte-ui-modal/types';\nimport { Title } from '@hh.ru/magritte-ui-title';\n\nimport styles from './modal-header.less';\n\nexport const ModalHeader = forwardRef<\n HTMLDivElement,\n ModalHeaderProps & { labelId: string; wrapperRef: RefObject<HTMLDivElement> }\n>(\n (\n {\n title,\n headerImageUrl,\n headerImage,\n headerHeight,\n titleAlignment,\n titleElement,\n titleMaxLines,\n titleSize,\n titleDescription,\n titleDescriptionMaxLines,\n titleStyle,\n titleDescriptionStyle,\n options,\n actions: _actions,\n actionLink,\n labelId,\n wrapperRef,\n },\n ref\n ) => {\n const actions = Array.isArray(_actions) ? _actions.slice(0, 5) : _actions;\n const hasHeaderImage = !!headerImageUrl || !!headerImage;\n if (!title && !headerImageUrl && !actions && !actionLink && !options) {\n return null;\n }\n const withTitle = title && titleElement;\n const withActions = !!actions || !!actionLink;\n const currentTitleStyle = titleStyle || (hasHeaderImage ? 'contrast' : 'primary');\n const currentTitleDescriptionStyle = titleDescriptionStyle || (hasHeaderImage ? 'contrast' : 'primary');\n const withContent = title || hasHeaderImage || actionLink || actions;\n\n return (\n <div\n data-qa=\"modal-header\"\n ref={wrapperRef}\n className={styles.wrapper}\n style={hasHeaderImage ? { marginBottom: 24 } : {}}\n >\n {withContent && (\n <div\n className={classnames(styles.content, {\n [styles.contentWithImage]: !!hasHeaderImage,\n })}\n style={hasHeaderImage ? { height: headerHeight } : {}}\n ref={ref}\n data-qa=\"modal-header-image\"\n >\n {headerImage ? (\n <div\n className={styles.imageContainer}\n style={{\n backgroundImage: title ? 'var(--modal-header-gradient)' : '',\n height: headerHeight,\n }}\n >\n {headerImage}\n </div>\n ) : (\n headerImageUrl && (\n <div\n className={styles.imageContainer}\n style={{\n backgroundImage: `${\n title ? 'var(--modal-header-gradient), ' : ''\n }url(${headerImageUrl})`,\n height: headerHeight,\n }}\n />\n )\n )}\n {withTitle && (\n <div className={styles.titleWrapper}>\n <Title\n id={labelId}\n Element={titleElement}\n alignment={titleAlignment}\n maxLines={titleMaxLines}\n size={titleSize}\n style={currentTitleStyle}\n description={titleDescription}\n descriptionMaxLines={titleDescriptionMaxLines}\n descriptionStyle={currentTitleDescriptionStyle}\n >\n {title}\n </Title>\n </div>\n )}\n {withActions && (\n <div\n className={classnames(styles.actions, {\n [styles.actionsWithLink]: !actions && !!actionLink,\n [styles.actionsSingle]: Array.isArray(actions) ? actions.length === 1 : !!actions,\n })}\n >\n {actions\n ? Children.toArray(actions).map((item) =>\n isIconComponent(item)\n ? cloneElement(item, {\n padding: 8,\n borderRadius: 'halfHeight',\n backgroundStyle: undefined,\n })\n : item\n )\n : actionLink}\n </div>\n )}\n </div>\n )}\n {options && <div className={styles.options}>{options}</div>}\n </div>\n );\n }\n);\n\nModalHeader.displayName = 'ModalHeader';\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ModalHeader.js","sources":["../src/ModalHeader.tsx"],"sourcesContent":["import { forwardRef, RefObject, cloneElement, Children } from 'react';\nimport classnames from 'classnames';\n\nimport { isIconComponent } from '@hh.ru/magritte-ui-icon';\nimport { ModalHeaderProps } from '@hh.ru/magritte-ui-modal/types';\nimport { Title } from '@hh.ru/magritte-ui-title';\n\nimport styles from './modal-header.less';\n\nexport const ModalHeader = forwardRef<\n HTMLDivElement,\n ModalHeaderProps & { labelId: string; wrapperRef: RefObject<HTMLDivElement> }\n>(\n (\n {\n title,\n headerImageUrl,\n headerImage,\n headerHeight,\n titleAlignment,\n titleElement,\n titleMaxLines,\n titleSize,\n titleDescription,\n titleDescriptionMaxLines,\n titleStyle,\n titleDescriptionStyle,\n options,\n actions: _actions,\n actionLink,\n labelId,\n wrapperRef,\n },\n ref\n ) => {\n const actions = Array.isArray(_actions) ? _actions.slice(0, 5) : _actions;\n const hasHeaderImage = !!headerImageUrl || !!headerImage;\n if (!title && !hasHeaderImage && !actions && !actionLink && !options) {\n return null;\n }\n const withTitle = title && titleElement;\n const withActions = !!actions || !!actionLink;\n const currentTitleStyle = titleStyle || (hasHeaderImage ? 'contrast' : 'primary');\n const currentTitleDescriptionStyle = titleDescriptionStyle || (hasHeaderImage ? 'contrast' : 'primary');\n const withContent = title || hasHeaderImage || actionLink || actions;\n\n return (\n <div\n data-qa=\"modal-header\"\n ref={wrapperRef}\n className={styles.wrapper}\n style={hasHeaderImage ? { marginBottom: 24 } : {}}\n >\n {withContent && (\n <div\n className={classnames(styles.content, {\n [styles.contentWithImage]: !!hasHeaderImage,\n })}\n style={hasHeaderImage ? { height: headerHeight } : {}}\n ref={ref}\n data-qa=\"modal-header-image\"\n >\n {headerImage ? (\n <div\n className={styles.imageContainer}\n style={{\n backgroundImage: title ? 'var(--modal-header-gradient)' : '',\n height: headerHeight,\n }}\n >\n {headerImage}\n </div>\n ) : (\n headerImageUrl && (\n <div\n className={styles.imageContainer}\n style={{\n backgroundImage: `${\n title ? 'var(--modal-header-gradient), ' : ''\n }url(${headerImageUrl})`,\n height: headerHeight,\n }}\n />\n )\n )}\n {withTitle && (\n <div className={styles.titleWrapper}>\n <Title\n id={labelId}\n Element={titleElement}\n alignment={titleAlignment}\n maxLines={titleMaxLines}\n size={titleSize}\n style={currentTitleStyle}\n description={titleDescription}\n descriptionMaxLines={titleDescriptionMaxLines}\n descriptionStyle={currentTitleDescriptionStyle}\n >\n {title}\n </Title>\n </div>\n )}\n {withActions && (\n <div\n className={classnames(styles.actions, {\n [styles.actionsWithLink]: !actions && !!actionLink,\n [styles.actionsSingle]: Array.isArray(actions) ? actions.length === 1 : !!actions,\n })}\n >\n {actions\n ? Children.toArray(actions).map((item) =>\n isIconComponent(item)\n ? cloneElement(item, {\n padding: 8,\n borderRadius: 'halfHeight',\n backgroundStyle: undefined,\n })\n : item\n )\n : actionLink}\n </div>\n )}\n </div>\n )}\n {options && <div className={styles.options}>{options}</div>}\n </div>\n );\n }\n);\n\nModalHeader.displayName = 'ModalHeader';\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
package/index.css CHANGED
@@ -10,14 +10,14 @@
10
10
  --magritte-color-component-modal-background-action-v21-4-6:#20262b99;
11
11
  --magritte-gradient-component-modal-background-fade-v21-4-6:linear-gradient(180deg, #00000000 0%, #0000007a 100%);
12
12
  }
13
- .magritte-content___o6ktq_8-1-16{
13
+ .magritte-content___o6ktq_8-1-18{
14
14
  display:flex;
15
15
  align-items:flex-start;
16
16
  }
17
- .magritte-content___o6ktq_8-1-16 + .magritte-options___qfErQ_8-1-16{
17
+ .magritte-content___o6ktq_8-1-18 + .magritte-options___qfErQ_8-1-18{
18
18
  margin-top:24px;
19
19
  }
20
- .magritte-actions___nQILV_8-1-16{
20
+ .magritte-actions___nQILV_8-1-18{
21
21
  position:relative;
22
22
  z-index:1;
23
23
  display:flex;
@@ -26,10 +26,10 @@
26
26
  margin-left:auto;
27
27
  --magritte-ui-link-padding-override:9px;
28
28
  }
29
- .magritte-actions-with-link___hnDux_8-1-16{
29
+ .magritte-actions-with-link___hnDux_8-1-18{
30
30
  padding:0 8px 0 28px;
31
31
  }
32
- .magritte-content-with-image___YarBO_8-1-16{
32
+ .magritte-content-with-image___YarBO_8-1-18{
33
33
  position:relative;
34
34
  flex-direction:column;
35
35
  justify-content:flex-end;
@@ -39,22 +39,22 @@
39
39
  padding:12px 24px 24px;
40
40
  box-sizing:border-box;
41
41
  }
42
- .magritte-content-with-image___YarBO_8-1-16 .magritte-actions___nQILV_8-1-16{
42
+ .magritte-content-with-image___YarBO_8-1-18 .magritte-actions___nQILV_8-1-18{
43
43
  order:-1;
44
44
  gap:0;
45
45
  margin-right:-16px;
46
46
  margin-top:-4px;
47
47
  margin-bottom:auto;
48
48
  }
49
- .magritte-content-with-image___YarBO_8-1-16 .magritte-actions___nQILV_8-1-16:not(.magritte-actions-with-link___hnDux_8-1-16){
49
+ .magritte-content-with-image___YarBO_8-1-18 .magritte-actions___nQILV_8-1-18:not(.magritte-actions-with-link___hnDux_8-1-18){
50
50
  padding:0 4px;
51
51
  background-color:var(--magritte-color-component-modal-background-action-v21-4-6);
52
52
  border-radius:var(--magritte-static-border-radius-300-v21-4-6);
53
53
  }
54
- .magritte-content-with-image___YarBO_8-1-16 .magritte-actions___nQILV_8-1-16.magritte-actions-single___usfKu_8-1-16:not(.magritte-actions-with-link___hnDux_8-1-16){
54
+ .magritte-content-with-image___YarBO_8-1-18 .magritte-actions___nQILV_8-1-18.magritte-actions-single___usfKu_8-1-18:not(.magritte-actions-with-link___hnDux_8-1-18){
55
55
  padding:0;
56
56
  }
57
- .magritte-image-container___ioL3y_8-1-16{
57
+ .magritte-image-container___ioL3y_8-1-18{
58
58
  position:absolute;
59
59
  left:0;
60
60
  bottom:0;
@@ -62,11 +62,11 @@
62
62
  background-size:cover;
63
63
  --modal-header-gradient:var(--magritte-gradient-component-modal-background-fade-v21-4-6);
64
64
  }
65
- .magritte-title-wrapper___O--QR_8-1-16{
65
+ .magritte-title-wrapper___O--QR_8-1-18{
66
66
  position:relative;
67
67
  width:100%;
68
68
  }
69
- .magritte-wrapper___zH8vB_8-1-16{
69
+ .magritte-wrapper___zH8vB_8-1-18{
70
70
  margin-bottom:24px;
71
71
  }
72
72
 
@@ -85,7 +85,7 @@
85
85
  --magritte-color-background-overlay-v21-4-6:#20262b99;
86
86
  --magritte-color-component-modal-background-content-v21-4-6:#1B1B1B;
87
87
  }
88
- .magritte-modal-overlay___lK22l_8-1-16{
88
+ .magritte-modal-overlay___lK22l_8-1-18{
89
89
  position:fixed;
90
90
  top:0;
91
91
  right:0;
@@ -99,13 +99,13 @@
99
99
  user-select:text;
100
100
  transition-property:opacity, transform;
101
101
  }
102
- .magritte-overlay-left___JtHK4_8-1-16{
102
+ .magritte-overlay-left___JtHK4_8-1-18{
103
103
  justify-content:flex-start;
104
104
  }
105
- .magritte-overlay-right___uKTDt_8-1-16{
105
+ .magritte-overlay-right___uKTDt_8-1-18{
106
106
  justify-content:flex-end;
107
107
  }
108
- .magritte-modal___RAW6S_8-1-16{
108
+ .magritte-modal___RAW6S_8-1-18{
109
109
  display:flex;
110
110
  box-sizing:border-box;
111
111
  margin:0 12px;
@@ -120,233 +120,233 @@
120
120
  width:800px;
121
121
  transition-property:opacity, transform;
122
122
  }
123
- .magritte-modal___RAW6S_8-1-16.magritte-size-small___2JTM2_8-1-16{
123
+ .magritte-modal___RAW6S_8-1-18.magritte-size-small___2JTM2_8-1-18{
124
124
  width:480px;
125
125
  }
126
- .magritte-modal___RAW6S_8-1-16.magritte-size-medium___cWCe7_8-1-16{
126
+ .magritte-modal___RAW6S_8-1-18.magritte-size-medium___cWCe7_8-1-18{
127
127
  width:620px;
128
128
  }
129
- .magritte-no-vertical-paddings___Z3-oM_8-1-16{
129
+ .magritte-no-vertical-paddings___Z3-oM_8-1-18{
130
130
  padding-top:0;
131
131
  padding-bottom:0;
132
132
  }
133
- .magritte-no-horizontal-paddings___aT95Y_8-1-16{
133
+ .magritte-no-horizontal-paddings___aT95Y_8-1-18{
134
134
  padding-left:0;
135
135
  padding-right:0;
136
136
  }
137
- .magritte-modal-full-height___gIM4E_8-1-16{
137
+ .magritte-modal-full-height___gIM4E_8-1-18{
138
138
  height:100%;
139
139
  }
140
- .magritte-modal-content___46QFS_8-1-16{
140
+ .magritte-modal-content___46QFS_8-1-18{
141
141
  flex:1 1;
142
142
  overflow-y:auto;
143
143
  padding:0 5px;
144
144
  margin:0 -5px;
145
145
  overscroll-behavior:none;
146
146
  }
147
- .magritte-modal-content-wrapper___23XFT_8-1-16{
147
+ .magritte-modal-content-wrapper___23XFT_8-1-18{
148
148
  display:flex;
149
149
  flex-direction:column;
150
150
  min-height:0;
151
151
  flex:1 1;
152
152
  }
153
- .magritte-modal-content-wrapper__one-line___tYg8d_8-1-16{
153
+ .magritte-modal-content-wrapper__one-line___tYg8d_8-1-18{
154
154
  flex-direction:row-reverse;
155
155
  }
156
- .magritte-divider-container___qP3VK_8-1-16{
156
+ .magritte-divider-container___qP3VK_8-1-18{
157
157
  margin:0 -24px;
158
158
  }
159
- .magritte-divider-container___qP3VK_8-1-16.magritte-divider-container-hidden___EIxB-_8-1-16{
159
+ .magritte-divider-container___qP3VK_8-1-18.magritte-divider-container-hidden___EIxB-_8-1-18{
160
160
  display:none;
161
161
  }
162
- .magritte-modal-footer___8xPqQ_8-1-16{
162
+ .magritte-modal-footer___8xPqQ_8-1-18{
163
163
  margin:0 -24px -24px;
164
164
  background-color:var(--magritte-color-component-modal-background-content-v21-4-6);
165
165
  z-index:1;
166
166
  }
167
- .magritte-modal-buttons-container___1O1Nr_8-1-16{
167
+ .magritte-modal-buttons-container___1O1Nr_8-1-18{
168
168
  display:flex;
169
169
  gap:12px;
170
170
  }
171
- .magritte-animation-timeout___w-j7K_8-1-16{
171
+ .magritte-animation-timeout___w-j7K_8-1-18{
172
172
  --enter-animation-duration:0;
173
173
  --exit-animation-duration:0;
174
174
  }
175
175
  @media (prefers-reduced-motion: no-preference){
176
- .magritte-animation-timeout___w-j7K_8-1-16{
176
+ .magritte-animation-timeout___w-j7K_8-1-18{
177
177
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
178
178
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
179
179
  }
180
180
  }
181
- .magritte-animation-enter-center___7jogC_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
181
+ .magritte-animation-enter-center___7jogC_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
182
182
  opacity:0;
183
183
  }
184
- .magritte-animation-enter-center___7jogC_8-1-16 .magritte-modal___RAW6S_8-1-16{
184
+ .magritte-animation-enter-center___7jogC_8-1-18 .magritte-modal___RAW6S_8-1-18{
185
185
  opacity:0;
186
186
  transform:scale(0.96);
187
187
  }
188
- .magritte-animation-enter-center-active___fywwW_8-1-16{
188
+ .magritte-animation-enter-center-active___fywwW_8-1-18{
189
189
  --enter-animation-duration:0;
190
190
  --exit-animation-duration:0;
191
191
  }
192
192
  @media (prefers-reduced-motion: no-preference){
193
- .magritte-animation-enter-center-active___fywwW_8-1-16{
193
+ .magritte-animation-enter-center-active___fywwW_8-1-18{
194
194
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
195
195
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
196
196
  }
197
197
  }
198
- .magritte-animation-enter-center-active___fywwW_8-1-16 .magritte-modal___RAW6S_8-1-16,
199
- .magritte-animation-enter-center-active___fywwW_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
198
+ .magritte-animation-enter-center-active___fywwW_8-1-18 .magritte-modal___RAW6S_8-1-18,
199
+ .magritte-animation-enter-center-active___fywwW_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
200
200
  opacity:1;
201
201
  transition-duration:var(--enter-animation-duration);
202
202
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-300-timing-function-v21-4-6);
203
203
  transform:scale(1);
204
204
  }
205
- .magritte-animation-exit-center___3Fa6x_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
205
+ .magritte-animation-exit-center___3Fa6x_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
206
206
  opacity:1;
207
207
  }
208
- .magritte-animation-exit-center___3Fa6x_8-1-16 .magritte-modal___RAW6S_8-1-16{
208
+ .magritte-animation-exit-center___3Fa6x_8-1-18 .magritte-modal___RAW6S_8-1-18{
209
209
  opacity:1;
210
210
  transform:scale(1);
211
211
  }
212
- .magritte-animation-exit-center-active___tY0UA_8-1-16{
212
+ .magritte-animation-exit-center-active___tY0UA_8-1-18{
213
213
  --enter-animation-duration:0;
214
214
  --exit-animation-duration:0;
215
215
  }
216
216
  @media (prefers-reduced-motion: no-preference){
217
- .magritte-animation-exit-center-active___tY0UA_8-1-16{
217
+ .magritte-animation-exit-center-active___tY0UA_8-1-18{
218
218
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
219
219
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
220
220
  }
221
221
  }
222
- .magritte-animation-exit-center-active___tY0UA_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
222
+ .magritte-animation-exit-center-active___tY0UA_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
223
223
  opacity:0;
224
224
  }
225
- .magritte-animation-exit-center-active___tY0UA_8-1-16 .magritte-modal___RAW6S_8-1-16{
225
+ .magritte-animation-exit-center-active___tY0UA_8-1-18 .magritte-modal___RAW6S_8-1-18{
226
226
  opacity:0;
227
227
  transform:scale(0.96);
228
228
  }
229
- .magritte-animation-exit-center-active___tY0UA_8-1-16 .magritte-modal___RAW6S_8-1-16,
230
- .magritte-animation-exit-center-active___tY0UA_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
229
+ .magritte-animation-exit-center-active___tY0UA_8-1-18 .magritte-modal___RAW6S_8-1-18,
230
+ .magritte-animation-exit-center-active___tY0UA_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
231
231
  transition-duration:var(--exit-animation-duration);
232
232
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v21-4-6);
233
233
  }
234
- .magritte-animation-enter-left___5YB8B_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
234
+ .magritte-animation-enter-left___5YB8B_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
235
235
  opacity:0;
236
236
  }
237
- .magritte-animation-enter-left___5YB8B_8-1-16 .magritte-modal___RAW6S_8-1-16{
237
+ .magritte-animation-enter-left___5YB8B_8-1-18 .magritte-modal___RAW6S_8-1-18{
238
238
  opacity:0;
239
239
  transform:translateX(-100%);
240
240
  }
241
- .magritte-animation-enter-left-active___5GK8s_8-1-16{
241
+ .magritte-animation-enter-left-active___5GK8s_8-1-18{
242
242
  --enter-animation-duration:0;
243
243
  --exit-animation-duration:0;
244
244
  }
245
245
  @media (prefers-reduced-motion: no-preference){
246
- .magritte-animation-enter-left-active___5GK8s_8-1-16{
246
+ .magritte-animation-enter-left-active___5GK8s_8-1-18{
247
247
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
248
248
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
249
249
  }
250
250
  }
251
- .magritte-animation-enter-left-active___5GK8s_8-1-16 .magritte-modal___RAW6S_8-1-16,
252
- .magritte-animation-enter-left-active___5GK8s_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
251
+ .magritte-animation-enter-left-active___5GK8s_8-1-18 .magritte-modal___RAW6S_8-1-18,
252
+ .magritte-animation-enter-left-active___5GK8s_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
253
253
  opacity:1;
254
254
  transition-duration:var(--enter-animation-duration);
255
255
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-300-timing-function-v21-4-6);
256
256
  transform:translateX(0);
257
257
  }
258
- .magritte-animation-exit-left___OnkQE_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
258
+ .magritte-animation-exit-left___OnkQE_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
259
259
  opacity:1;
260
260
  }
261
- .magritte-animation-exit-left___OnkQE_8-1-16 .magritte-modal___RAW6S_8-1-16{
261
+ .magritte-animation-exit-left___OnkQE_8-1-18 .magritte-modal___RAW6S_8-1-18{
262
262
  opacity:1;
263
263
  transform:translateX(0);
264
264
  }
265
- .magritte-animation-exit-left-active___AEGxY_8-1-16{
265
+ .magritte-animation-exit-left-active___AEGxY_8-1-18{
266
266
  --enter-animation-duration:0;
267
267
  --exit-animation-duration:0;
268
268
  }
269
269
  @media (prefers-reduced-motion: no-preference){
270
- .magritte-animation-exit-left-active___AEGxY_8-1-16{
270
+ .magritte-animation-exit-left-active___AEGxY_8-1-18{
271
271
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
272
272
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
273
273
  }
274
274
  }
275
- .magritte-animation-exit-left-active___AEGxY_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
275
+ .magritte-animation-exit-left-active___AEGxY_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
276
276
  opacity:0;
277
277
  }
278
- .magritte-animation-exit-left-active___AEGxY_8-1-16 .magritte-modal___RAW6S_8-1-16{
278
+ .magritte-animation-exit-left-active___AEGxY_8-1-18 .magritte-modal___RAW6S_8-1-18{
279
279
  opacity:0;
280
280
  transform:translateX(-100%);
281
281
  }
282
- .magritte-animation-exit-left-active___AEGxY_8-1-16 .magritte-modal___RAW6S_8-1-16,
283
- .magritte-animation-exit-left-active___AEGxY_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
282
+ .magritte-animation-exit-left-active___AEGxY_8-1-18 .magritte-modal___RAW6S_8-1-18,
283
+ .magritte-animation-exit-left-active___AEGxY_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
284
284
  transition-duration:var(--exit-animation-duration);
285
285
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v21-4-6);
286
286
  }
287
- .magritte-animation-enter-right___2aXOm_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
287
+ .magritte-animation-enter-right___2aXOm_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
288
288
  opacity:0;
289
289
  }
290
- .magritte-animation-enter-right___2aXOm_8-1-16 .magritte-modal___RAW6S_8-1-16{
290
+ .magritte-animation-enter-right___2aXOm_8-1-18 .magritte-modal___RAW6S_8-1-18{
291
291
  opacity:0;
292
292
  transform:translateX(100%);
293
293
  }
294
- .magritte-animation-enter-right-active___8wX4-_8-1-16{
294
+ .magritte-animation-enter-right-active___8wX4-_8-1-18{
295
295
  --enter-animation-duration:0;
296
296
  --exit-animation-duration:0;
297
297
  }
298
298
  @media (prefers-reduced-motion: no-preference){
299
- .magritte-animation-enter-right-active___8wX4-_8-1-16{
299
+ .magritte-animation-enter-right-active___8wX4-_8-1-18{
300
300
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
301
301
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
302
302
  }
303
303
  }
304
- .magritte-animation-enter-right-active___8wX4-_8-1-16 .magritte-modal___RAW6S_8-1-16,
305
- .magritte-animation-enter-right-active___8wX4-_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
304
+ .magritte-animation-enter-right-active___8wX4-_8-1-18 .magritte-modal___RAW6S_8-1-18,
305
+ .magritte-animation-enter-right-active___8wX4-_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
306
306
  opacity:1;
307
307
  transition-duration:var(--enter-animation-duration);
308
308
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-300-timing-function-v21-4-6);
309
309
  transform:translateX(0);
310
310
  }
311
- .magritte-animation-exit-right___iczoc_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
311
+ .magritte-animation-exit-right___iczoc_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
312
312
  opacity:1;
313
313
  }
314
- .magritte-animation-exit-right___iczoc_8-1-16 .magritte-modal___RAW6S_8-1-16{
314
+ .magritte-animation-exit-right___iczoc_8-1-18 .magritte-modal___RAW6S_8-1-18{
315
315
  opacity:1;
316
316
  transform:translateX(0);
317
317
  }
318
- .magritte-animation-exit-right-active___eFS4O_8-1-16{
318
+ .magritte-animation-exit-right-active___eFS4O_8-1-18{
319
319
  --enter-animation-duration:0;
320
320
  --exit-animation-duration:0;
321
321
  }
322
322
  @media (prefers-reduced-motion: no-preference){
323
- .magritte-animation-exit-right-active___eFS4O_8-1-16{
323
+ .magritte-animation-exit-right-active___eFS4O_8-1-18{
324
324
  --enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v21-4-6);
325
325
  --exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v21-4-6);
326
326
  }
327
327
  }
328
- .magritte-animation-exit-right-active___eFS4O_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
328
+ .magritte-animation-exit-right-active___eFS4O_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
329
329
  opacity:0;
330
330
  }
331
- .magritte-animation-exit-right-active___eFS4O_8-1-16 .magritte-modal___RAW6S_8-1-16{
331
+ .magritte-animation-exit-right-active___eFS4O_8-1-18 .magritte-modal___RAW6S_8-1-18{
332
332
  opacity:0;
333
333
  transform:translateX(100%);
334
334
  }
335
- .magritte-animation-exit-right-active___eFS4O_8-1-16 .magritte-modal___RAW6S_8-1-16,
336
- .magritte-animation-exit-right-active___eFS4O_8-1-16.magritte-modal-overlay___lK22l_8-1-16{
335
+ .magritte-animation-exit-right-active___eFS4O_8-1-18 .magritte-modal___RAW6S_8-1-18,
336
+ .magritte-animation-exit-right-active___eFS4O_8-1-18.magritte-modal-overlay___lK22l_8-1-18{
337
337
  transition-duration:var(--exit-animation-duration);
338
338
  transition-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v21-4-6);
339
339
  }
340
- .magritte-content-scroll-preserver___Tw5Px_8-1-16{
340
+ .magritte-content-scroll-preserver___Tw5Px_8-1-18{
341
341
  width:100%;
342
342
  height:0;
343
343
  }
344
- .magritte-content-sticky-container___nqEXj_8-1-16{
344
+ .magritte-content-sticky-container___nqEXj_8-1-18{
345
345
  position:sticky;
346
346
  top:0;
347
347
  min-height:100%;
348
348
  }
349
- .magritte-content-sticky-container_full-height___Gl9x8_8-1-16{
349
+ .magritte-content-sticky-container_full-height___Gl9x8_8-1-18{
350
350
  display:flex;
351
351
  flex-direction:column;
352
352
  }
package/index.js CHANGED
@@ -14,7 +14,7 @@ import '@hh.ru/magritte-common-use-no-bubbling';
14
14
  import '@hh.ru/magritte-ui-action-bar';
15
15
  import '@hh.ru/magritte-ui-breakpoint';
16
16
  import '@hh.ru/magritte-ui-layer';
17
- import './ModalContentWithHeader-B5JCyOXm.js';
17
+ import './ModalContentWithHeader-BhEtbsmQ.js';
18
18
  import '@hh.ru/magritte-common-func-utils';
19
19
  import '@hh.ru/magritte-ui-divider';
20
20
  import './ModalHeader.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-modal",
3
- "version": "8.1.16",
3
+ "version": "8.1.18",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -35,8 +35,8 @@
35
35
  "@hh.ru/magritte-ui-layer": "3.0.2",
36
36
  "@hh.ru/magritte-ui-mock-component": "1.1.4",
37
37
  "@hh.ru/magritte-ui-theme-provider": "1.1.48",
38
- "@hh.ru/magritte-ui-title": "6.1.16",
39
- "@hh.ru/magritte-ui-tree-selector": "4.6.55"
38
+ "@hh.ru/magritte-ui-title": "6.1.17",
39
+ "@hh.ru/magritte-ui-tree-selector": "4.6.57"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "classnames": ">=2.3.2",
@@ -47,5 +47,5 @@
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
50
- "gitHead": "fd604c1be8a7af9fe6b04eb309317bd1d20235b6"
50
+ "gitHead": "f62241d4f94205ecb15b45144ec9450267e1939a"
51
51
  }