@hh.ru/magritte-ui-bottom-sheet 4.1.36 → 4.1.37
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/BottomSheet.js +4 -2
- package/BottomSheet.js.map +1 -1
- package/BottomSheetFooter.js +1 -1
- package/bottom-sheet-tVHu4rnM.js +5 -0
- package/bottom-sheet-tVHu4rnM.js.map +1 -0
- package/index.css +45 -45
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +5 -4
- package/bottom-sheet-BB_-PFgy.js +0 -5
- package/bottom-sheet-BB_-PFgy.js.map +0 -1
package/BottomSheet.js
CHANGED
|
@@ -6,6 +6,7 @@ import { Transition } from 'react-transition-group';
|
|
|
6
6
|
import classnames from 'classnames';
|
|
7
7
|
import { disableOverscroll, disableScroll } from '@hh.ru/magritte-common-modal-helper';
|
|
8
8
|
import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
|
|
9
|
+
import { useNoBubbling } from '@hh.ru/magritte-common-use-no-bubbling';
|
|
9
10
|
import { useSwipe } from '@hh.ru/magritte-common-use-swipe';
|
|
10
11
|
import { InternalLayerName } from '@hh.ru/magritte-internal-layer-name';
|
|
11
12
|
import { BottomSheetContext } from './BottomSheetContext.js';
|
|
@@ -14,7 +15,7 @@ import { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';
|
|
|
14
15
|
import { Divider } from '@hh.ru/magritte-ui-divider';
|
|
15
16
|
import { Layer } from '@hh.ru/magritte-ui-layer';
|
|
16
17
|
import { NavigationBarContext } from '@hh.ru/magritte-ui-navigation-bar';
|
|
17
|
-
import { s as styles } from './bottom-sheet-
|
|
18
|
+
import { s as styles } from './bottom-sheet-tVHu4rnM.js';
|
|
18
19
|
|
|
19
20
|
const CSS_VAR_CONTENT_OVERLAY_TOP = '--content-overlay-top';
|
|
20
21
|
const CSS_VAR_CONTENT_OVERLAY_HEIGHT = '--content-overlay-height';
|
|
@@ -506,10 +507,11 @@ const BottomSheetRenderFunc = ({ allowScrollWhileFocused, children, footer, head
|
|
|
506
507
|
console.error('onClose did not set visible=false', Date.now());
|
|
507
508
|
}
|
|
508
509
|
const contextValue = useMemo(() => ({ contentOverlayRef }), [contentOverlayRef]);
|
|
510
|
+
const eventHandlers = useNoBubbling();
|
|
509
511
|
if (!animationTimeout) {
|
|
510
512
|
return null;
|
|
511
513
|
}
|
|
512
|
-
const renderFunc = (appearTransition, heightTransition) => (jsx(Layer, { layer: InternalLayerName.BottomSheet, children: jsxs("div", { className: classnames(styles.overlay, {
|
|
514
|
+
const renderFunc = (appearTransition, heightTransition) => (jsx(Layer, { layer: InternalLayerName.BottomSheet, children: jsxs("div", { ...eventHandlers, className: classnames(styles.overlay, {
|
|
513
515
|
[styles.overlayInvisible]: !showOverlay || (showOverlay && appearTransition !== 'exiting' && !currentVisible),
|
|
514
516
|
}), "data-qa": "bottom-sheet-overlay", children: [jsx("div", { className: classnames(styles.overlayBackground, {
|
|
515
517
|
[styles.appearAnimation]: appearTransition === 'entering',
|
package/BottomSheet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.js","sources":["../src/BottomSheet.tsx"],"sourcesContent":["import {\n FocusEventHandler,\n ForwardRefRenderFunction,\n RefObject,\n TouchEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { Transition, TransitionStatus } from 'react-transition-group';\nimport classnames from 'classnames';\n\nimport { disableOverscroll, disableScroll } from '@hh.ru/magritte-common-modal-helper';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { useSwipe, SwipeEventHandler } from '@hh.ru/magritte-common-use-swipe';\nimport { InternalLayerName } from '@hh.ru/magritte-internal-layer-name';\nimport { BottomSheetContext } from '@hh.ru/magritte-ui-bottom-sheet/BottomSheetContext';\nimport { ClickInterceptor } from '@hh.ru/magritte-ui-bottom-sheet/ClickInterceptor';\nimport { BottomSheetProps } from '@hh.ru/magritte-ui-bottom-sheet/types';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { Divider } from '@hh.ru/magritte-ui-divider';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { NavigationBarContext, type NavigationBarContextProps } from '@hh.ru/magritte-ui-navigation-bar';\n\nimport styles from './bottom-sheet.less';\n\nconst CSS_VAR_CONTENT_OVERLAY_TOP = '--content-overlay-top';\nconst CSS_VAR_CONTENT_OVERLAY_HEIGHT = '--content-overlay-height';\nconst CSS_VAR_INITIAL_VIEWPORT_HEIGHT = '--initial-viewport-height';\nconst CSS_VAR_ENTER_ANIMATION_DURATION = '--enter-animation-duration';\nconst CSS_VAR_EXIT_ANIMATION_DURATION = '--exit-animation-duration';\nconst CSS_VAR_HEIGHT_ANIMATION_DURATION = '--height-transition-duration';\nconst CSS_VAR_OVERLAY_OPACITY = '--overlay-opacity';\nconst CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET = '--virtual-keyboard-top-offset';\nconst CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET = '--virtual-keyboard-bottom-offset';\n\nconst INITIAL_VIEWPORT_HEIGHT = (typeof window !== 'undefined' ? window.visualViewport?.height : null) ?? 0;\nconst NAVIGATION_BAR_SIZE_OVERRIDE: NavigationBarContextProps = { size: 'standard' };\nconst SWIPE_THRESHOLD_REF = { current: { max: Math.round(INITIAL_VIEWPORT_HEIGHT * 0.8) } };\n\nconst forceRepaint = (node: HTMLElement) => node.scrollTop;\n\nconst isSafari = typeof navigator !== 'undefined' && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nconst toNumber = (value: string) => {\n const result = parseInt(value, 10);\n return Number.isInteger(result) ? result : 0;\n};\n\ntype AnimationTimeout = { [AnimationType in 'appear' | 'height']: { [AnimationStage in 'enter' | 'exit']: number } };\n\ntype LayoutMetrics = {\n documentHeight: number;\n fillHeight: number;\n grabberSpacing: number;\n viewportShift: number;\n};\n\ntype BottomSheetState = {\n grabber: 'sticky' | 'sticky-inside' | 'fake-sticky' | 'fixed';\n hasFocus: boolean;\n isSwipeEnabled: boolean;\n isSwipeInProgress: boolean;\n swipeOffset: number;\n resizeRAFHandle: ReturnType<typeof requestAnimationFrame> | null;\n virtualKeyboardHeight: number;\n};\n\nconst changeSwipeProgressState = (\n state: RefObject<BottomSheetState>,\n scrollContainerRef: RefObject<HTMLDivElement | null>,\n isSwipeInProgress: boolean,\n allowScrollWhileFocused: boolean\n) => {\n if (!state.current) {\n return;\n }\n state.current.isSwipeInProgress = isSwipeInProgress;\n if (!scrollContainerRef.current) {\n return;\n }\n\n scrollContainerRef.current.classList.toggle(\n styles.scrollContainerNoScroll,\n isSwipeInProgress || (!allowScrollWhileFocused && state.current.hasFocus)\n );\n};\n\nconst BottomSheetRenderFunc: ForwardRefRenderFunction<HTMLElement, BottomSheetProps> = (\n {\n allowScrollWhileFocused,\n children,\n footer,\n header,\n height = 'content',\n interceptClickHandlers = true,\n keyboardOverlaysContent = true,\n onAppear,\n onBeforeExit,\n onAfterExit,\n onClose,\n showDivider = 'always-if-has-scroll',\n showOverlay = true,\n visible = false,\n withContentPaddings = true,\n },\n ref\n) => {\n const contentRef = useRef<HTMLDivElement | null>(null);\n const contentOverlayRef = useRef<HTMLDivElement | null>(null);\n const cssVariablesContainerRef = useRef<HTMLDivElement | null>(null);\n const fixedGrabberRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const headerRef = useRef<HTMLDivElement | null>(null);\n const heightTransitionElementRef = useRef<HTMLDivElement | null>(null);\n const scrollContainerRef = useRef<HTMLDivElement | null>(null);\n const stickyGrabberRef = useRef<HTMLDivElement | null>(null);\n const scrollContainerRefMulti = useMultipleRefs(scrollContainerRef, ref);\n const { isMobile } = useBreakpoint();\n const currentVisible = isMobile && visible;\n\n const layoutMetricsRef = useRef<LayoutMetrics>({\n documentHeight: 0,\n fillHeight: 0,\n grabberSpacing: 0,\n viewportShift: 0,\n });\n\n const prevPropsRef = useRef<{\n children: typeof children;\n height: typeof height;\n visible: typeof visible;\n }>({ children, height, visible });\n\n const stateRef = useRef<BottomSheetState>({\n grabber: 'sticky',\n hasFocus: false,\n isSwipeEnabled: false,\n isSwipeInProgress: false,\n swipeOffset: 0,\n resizeRAFHandle: null,\n virtualKeyboardHeight: 0,\n });\n\n const [animationTimeout, setAnimationTimeout] = useState<AnimationTimeout | null>(null);\n const [heightDiff, setHeightDiff] = useState<number | null>(null);\n const [isDividerVisible, setDividerVisible] = useState(false);\n const [onCloseContractCheck, setOnCloseContractCheck] = useState(false);\n\n const setCSSVariable = (name: string, value: string) =>\n cssVariablesContainerRef.current !== null && cssVariablesContainerRef.current.style.setProperty(name, value);\n\n useEffect(() => {\n if (!currentVisible) {\n return void 0;\n }\n\n layoutMetricsRef.current.documentHeight = document.documentElement.clientHeight;\n\n if (!showOverlay) {\n const enableOverscroll = disableOverscroll();\n return enableOverscroll;\n }\n\n const enableScroll = disableScroll();\n return enableScroll;\n }, [showOverlay, currentVisible]);\n\n useEffect(() => {\n const animationTimeoutElement = document.createElement('div');\n animationTimeoutElement.classList.add(styles.animationTimeout);\n document.body.appendChild(animationTimeoutElement);\n const style = window.getComputedStyle(animationTimeoutElement);\n const enter = toNumber(style.getPropertyValue(CSS_VAR_ENTER_ANIMATION_DURATION));\n const exit = toNumber(style.getPropertyValue(CSS_VAR_EXIT_ANIMATION_DURATION));\n const height = toNumber(style.getPropertyValue(CSS_VAR_HEIGHT_ANIMATION_DURATION));\n document.body.removeChild(animationTimeoutElement);\n setAnimationTimeout({ appear: { enter, exit }, height: { enter: height, exit } });\n }, [setAnimationTimeout]);\n\n // Пересчитывает флаги отображения граббера и дивайдера в зависимости от скролла\n const recalcScrollFlags = useCallback(() => {\n // расчет состояния граббера в зависимости от того, проскроллен ли контент до верхней границы вьюпорта\n requestAnimationFrame(() => {\n if (fixedGrabberRef.current !== null && stickyGrabberRef.current !== null) {\n const stickyGrabberDOMRect = stickyGrabberRef.current.getBoundingClientRect();\n const grabberTop = Math.round(stickyGrabberDOMRect.top);\n\n if (grabberTop >= layoutMetricsRef.current.grabberSpacing * 2 || heightDiff !== null) {\n if (stateRef.current.grabber !== 'sticky') {\n stateRef.current.grabber = 'sticky';\n stickyGrabberRef.current.classList.remove(styles.grabberInvisible);\n fixedGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.remove(styles.grabberFixed, styles.grabberFakeSticky);\n fixedGrabberRef.current.style.top = ``;\n }\n } else if (grabberTop > layoutMetricsRef.current.grabberSpacing) {\n if (stateRef.current.grabber !== 'fake-sticky') {\n stateRef.current.grabber = 'fake-sticky';\n stickyGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.add(styles.grabberFakeSticky);\n fixedGrabberRef.current.classList.remove(styles.grabberSticky, styles.grabberInvisible);\n }\n fixedGrabberRef.current.style.top = `${grabberTop + layoutMetricsRef.current.viewportShift}px`;\n } else if (stateRef.current.grabber !== 'fixed') {\n stateRef.current.grabber = 'fixed';\n stickyGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.add(styles.grabberFixed);\n fixedGrabberRef.current.classList.remove(styles.grabberFakeSticky, styles.grabberInvisible);\n fixedGrabberRef.current.style.top = ``;\n }\n }\n });\n\n // расчет того, нужно ли показывать дивайдер, в зависимости от того, проскроллен ли контент до конца\n if (contentRef.current !== null && scrollContainerRef.current !== null) {\n if (footer && (showDivider === 'always-if-has-scroll' || showDivider === 'if-not-scrolled-to-end')) {\n const hasScroll = contentRef.current.clientHeight > scrollContainerRef.current.clientHeight + 1;\n const isScrolledToContentEnd =\n Math.round(scrollContainerRef.current.scrollTop + scrollContainerRef.current.clientHeight) ===\n scrollContainerRef.current.scrollHeight;\n setDividerVisible(\n (showDivider === 'always-if-has-scroll' && hasScroll) ||\n (showDivider === 'if-not-scrolled-to-end' && hasScroll && !isScrolledToContentEnd)\n );\n }\n }\n }, [footer, heightDiff, setDividerVisible, showDivider]);\n\n const resetScrollFlags = useCallback(() => {\n if (fixedGrabberRef.current !== null && stickyGrabberRef.current !== null) {\n stateRef.current.grabber = 'sticky';\n\n fixedGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.remove(styles.grabberTransitionAnimation);\n\n stickyGrabberRef.current.classList.remove(styles.grabberInvisible);\n }\n\n setDividerVisible(false);\n }, [setDividerVisible]);\n\n const resetHeightDiff = useCallback(() => setHeightDiff(null), [setHeightDiff]);\n\n useEffect(() => {\n const meta = document.querySelector('meta[name=\"viewport\"]') ?? document.createElement('meta');\n const attributesStr = meta.getAttribute('content');\n const attributes = (\n attributesStr !== null\n ? Object.fromEntries(attributesStr.split(',').map((keyValuePairStr) => keyValuePairStr.split('=')))\n : {}\n ) as Record<string, string>;\n attributes['interactive-widget'] = keyboardOverlaysContent ? 'resizes-visual' : 'resizes-content';\n const attributesStrUpdated = Object.entries(attributes)\n .map((keyValuePair) => keyValuePair.join('='))\n .join(',');\n meta.setAttribute('name', 'viewport');\n meta.setAttribute('content', attributesStrUpdated);\n }, [keyboardOverlaysContent]);\n\n const recalcKeyboardOffsets = useCallback(() => {\n if (!headerRef.current || !scrollContainerRef.current || !visualViewport) {\n return;\n }\n\n if (stateRef.current.hasFocus) {\n // терминология: https://developer.chrome.com/blog/viewport-resize-behavior/\n //\n // делим браузеры на три группы в зависимости от поведения при открытии виртуальной клавиатуры:\n // 1. Safari — ресайзит Visual Viewport, не меняет Layout Viewport.\n // В нем не нужно ничего корректировать при keyboardOverlaysContent=true,\n // а при keyboardOverlaysContent=false нужно сдвинуть НИЖНИЙ край контейнера ВВЕРХ,\n // чтобы он совпал с границей Visual Viewport\n // 2. Chrome < 108 & Chromium-based — ресайзит и Visual Viewport, и Layout Viewport\n // В нем не нужно ничего корректировать при keyboardOverlaysContent=false,\n // а при keyboardOverlaysContent=true нужно сдвинуть НИЖНИЙ край контейнера ВНИЗ,\n // чтобы футер уехал под клавиатуру\n // 3. Chrome >= 108 — поддерживает Virtual Keyboard API и meta-тег interactive-widget\n // Используем поведение `resizes-visual` (как в Safari) в случае keyboardOverlaysContent=true\n // и `resizes-content` (как в Chrome < 108 & Chromium-based) в случае keyboardOverlaysContent=false\n // Таким образом в нем ничего не нужно корректировать.\n\n const scrollContainerDOMREct = scrollContainerRef.current.getBoundingClientRect();\n\n // любой браузер может сдвинуть Visual Viewport вверх, если фокусируемый инпут находится близко к нижней границе\n // из-за этого может возникнуть проблема, что ВЕРХНИЙ край контента уехал за границу Visual Viewport\n // сдвигаем ВЕРХНИЙ край контейнера ВНИЗ, чтобы он совпал с границей Visual Viewport\n const visualViewportShift = Math.round(\n layoutMetricsRef.current.grabberSpacing - scrollContainerDOMREct.top\n );\n\n // запоминаем сдвиг для коррекции позиции граббера\n layoutMetricsRef.current.viewportShift = visualViewportShift;\n\n // клавиатура ПОВЕРХ контента\n // этот кейс нужно корректировать только в Chrome < 108 & Chromium-based\n if (keyboardOverlaysContent) {\n // браузеры из этой группы меняют Layout Viewport\n const layoutViewportDiff = Math.round(\n layoutMetricsRef.current.documentHeight - document.documentElement.clientHeight\n );\n if (layoutViewportDiff > 0) {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `${visualViewportShift}px`);\n // сдвигаем НИЖНИЙ край контейнера ВНИЗ, чтобы футер уехал под клавиатуру\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `${-layoutViewportDiff}px`);\n\n // при этом может возникнуть проблема, что клавиатура перекрыла хедер\n // проверяем это и компенсируем величину перекрытия при необходимости\n const headerDOMRect = headerRef.current.getBoundingClientRect();\n const headerOutOfViewportHeight = Math.round(\n headerDOMRect.bottom + layoutViewportDiff - layoutMetricsRef.current.documentHeight\n );\n if (headerOutOfViewportHeight > 0) {\n setCSSVariable(\n CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET,\n `${headerOutOfViewportHeight - layoutViewportDiff}px`\n );\n }\n }\n } else {\n // клавиатура ПОД контентом\n // этот кейс нужно корректировать только в Safari\n\n // Safari ресайзит Visual Viewport\n const visualViewportDiff = Math.round(scrollContainerDOMREct.bottom - visualViewport.height);\n if (visualViewportDiff > 0) {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `${visualViewportShift}px`);\n // сдвигаем НИЖНИЙ край контейнера ВВЕРХ, чтобы он совпал с границей Visual Viewport\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `${visualViewportDiff}px`);\n }\n }\n } else {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `0px`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `0px`);\n }\n }, [keyboardOverlaysContent]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n if (!scrollContainerRef.current) {\n return;\n }\n\n const focusedElement = event.target;\n const initialViewportHeight = visualViewport?.height;\n const resizeRAFStart = performance.now();\n\n if (!(focusedElement instanceof HTMLInputElement) || stateRef.current.resizeRAFHandle !== null) {\n return;\n }\n\n const handleResize = () => {\n if (stateRef.current.resizeRAFHandle !== null) {\n cancelAnimationFrame(stateRef.current.resizeRAFHandle);\n stateRef.current.resizeRAFHandle = null;\n }\n recalcKeyboardOffsets();\n };\n\n const waitForResize = () => {\n if (performance.now() - resizeRAFStart > 1000 || visualViewport?.height !== initialViewportHeight) {\n visualViewport?.removeEventListener('resize', handleResize);\n stateRef.current.resizeRAFHandle = null;\n recalcKeyboardOffsets();\n } else {\n stateRef.current.resizeRAFHandle = requestAnimationFrame(waitForResize);\n }\n };\n\n const handleBlur = () => {\n if (!scrollContainerRef.current) {\n return;\n }\n\n focusedElement.removeEventListener('blur', handleBlur);\n stateRef.current.hasFocus = false;\n scrollContainerRef.current.classList.remove(\n styles.scrollContainerNoScroll,\n styles.virtualKeyboardAnimation\n );\n\n if (isSafari) {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `0px`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `0px`);\n }\n\n if (stateRef.current.resizeRAFHandle !== null) {\n cancelAnimationFrame(stateRef.current.resizeRAFHandle);\n stateRef.current.resizeRAFHandle = null;\n }\n visualViewport?.removeEventListener('resize', handleResize);\n };\n\n focusedElement.addEventListener('blur', handleBlur);\n stateRef.current.hasFocus = true;\n if (!allowScrollWhileFocused) {\n scrollContainerRef.current.classList.add(styles.scrollContainerNoScroll);\n }\n scrollContainerRef.current.classList.add(styles.virtualKeyboardAnimation);\n\n stateRef.current.resizeRAFHandle = requestAnimationFrame(waitForResize);\n visualViewport?.addEventListener('resize', handleResize);\n },\n [allowScrollWhileFocused, recalcKeyboardOffsets]\n );\n\n // Запускает анимацию translateY для показа/скрытия боттомшита или изменения высоты контента\n const runTranslateYAnimation = useCallback(() => {\n if (\n !contentRef.current ||\n !contentOverlayRef.current ||\n !footerRef.current ||\n !heightTransitionElementRef.current ||\n !scrollContainerRef.current ||\n !visualViewport\n ) {\n return;\n }\n\n if (heightDiff !== null) {\n if (heightDiff > 0) {\n contentRef.current.style.transform = `translateY(${heightDiff}px)`;\n contentOverlayRef.current.style.transform = `translateY(${heightDiff}px)`;\n footerRef.current.style.transform = `translateY(${-heightDiff}px)`;\n } else {\n heightTransitionElementRef.current.style.flexBasis = `${-heightDiff}px`;\n }\n } else {\n const contentDOMREct = contentRef.current.getBoundingClientRect();\n const translateY =\n scrollContainerRef.current.clientHeight + stateRef.current.swipeOffset - contentDOMREct.top;\n contentRef.current.style.transform = `translateY(${translateY}px)`;\n contentOverlayRef.current.style.transform = `translateY(${translateY}px)`;\n setCSSVariable(CSS_VAR_OVERLAY_OPACITY, `0`);\n }\n\n forceRepaint(scrollContainerRef.current);\n }, [heightDiff]);\n\n const resetTranslateY = useCallback(() => {\n if (\n !contentRef.current ||\n !contentOverlayRef.current ||\n !footerRef.current ||\n !heightTransitionElementRef.current ||\n !scrollContainerRef.current\n ) {\n return;\n }\n\n if (heightDiff !== null) {\n contentRef.current.style.transform = ``;\n contentOverlayRef.current.style.transform = ``;\n footerRef.current.style.transform = ``;\n heightTransitionElementRef.current.style.flexBasis = ``;\n } else {\n contentRef.current.style.transform = `translateY(${stateRef.current.swipeOffset}px)`;\n contentOverlayRef.current.style.transform = `translateY(${stateRef.current.swipeOffset}px)`;\n setCSSVariable(CSS_VAR_OVERLAY_OPACITY, `1`);\n }\n\n forceRepaint(scrollContainerRef.current);\n }, [heightDiff]);\n\n const handleAppearAnimationEnd = useCallback(() => {\n let scrollTop = scrollContainerRef.current?.scrollTop ?? 0;\n let scrollLocked = false;\n\n // Обработчик скролла для блокировки оверскролла в браузерах без поддержки css правила overscroll-behavior\n const handleScroll = (event: Event) => {\n const currentTarget = event.currentTarget as HTMLDivElement;\n const forward = currentTarget.scrollTop > scrollTop;\n const maxScroll = currentTarget.scrollHeight - currentTarget.offsetHeight;\n\n if (!scrollLocked && forward && currentTarget.scrollTop > maxScroll) {\n currentTarget.style.overflow = 'hidden';\n currentTarget.scrollTop = maxScroll;\n scrollLocked = true;\n scrollTop = maxScroll;\n setTimeout(() => {\n currentTarget.style.overflow = 'auto';\n scrollLocked = false;\n }, 1);\n event.preventDefault();\n return;\n }\n\n scrollTop = currentTarget.scrollTop;\n };\n\n // удаления хендлеров нет т.к. установлен флаг unmountOnExit, т.е. элемент удаляется из DOM\n // после завершения анимации\n scrollContainerRef.current?.addEventListener('touchmove', handleScroll, { passive: false });\n scrollContainerRef.current?.addEventListener('scroll', handleScroll, { passive: false });\n\n recalcScrollFlags();\n onAppear?.();\n }, [onAppear, recalcScrollFlags]);\n\n const handleExitAnimationStart = useCallback(() => {\n resetTranslateY();\n onBeforeExit?.();\n }, [resetTranslateY, onBeforeExit]);\n\n const handleExitAnimationEnd = useCallback(() => {\n stateRef.current.grabber = 'sticky';\n stateRef.current.hasFocus = false;\n stateRef.current.isSwipeEnabled = false;\n changeSwipeProgressState(stateRef, scrollContainerRef, false, !!allowScrollWhileFocused);\n stateRef.current.swipeOffset = 0;\n stateRef.current.resizeRAFHandle !== null && cancelAnimationFrame(stateRef.current.resizeRAFHandle);\n stateRef.current.resizeRAFHandle = null;\n\n layoutMetricsRef.current.fillHeight = 0;\n layoutMetricsRef.current.grabberSpacing = 0;\n\n setCSSVariable(CSS_VAR_OVERLAY_OPACITY, `1`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `0px`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `0px`);\n\n if (fixedGrabberRef.current !== null) {\n fixedGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.remove(styles.grabberFixed, styles.grabberFakeSticky);\n fixedGrabberRef.current.style.transform = ``;\n }\n\n if (scrollContainerRef.current !== null) {\n scrollContainerRef.current.classList.remove(\n styles.scrollContainerNoScroll,\n styles.virtualKeyboardAnimation\n );\n }\n\n resetScrollFlags();\n setOnCloseContractCheck(false);\n onAfterExit?.();\n }, [resetScrollFlags, setOnCloseContractCheck, onAfterExit, allowScrollWhileFocused]);\n\n const handleClose = useCallback(() => {\n onClose();\n setOnCloseContractCheck(true);\n }, [onClose, setOnCloseContractCheck]);\n\n const handleSwipeStart: SwipeEventHandler = useCallback(() => {\n if (!scrollContainerRef.current) {\n return;\n }\n\n if (Object.is(Math.round(scrollContainerRef.current.scrollTop), 0)) {\n stateRef.current.isSwipeEnabled = true;\n stateRef.current.swipeOffset = 0;\n }\n }, []);\n\n const handleSwipeMove: SwipeEventHandler = useCallback(\n (event) => {\n if (\n !contentRef.current ||\n !contentOverlayRef.current ||\n !stateRef.current.isSwipeEnabled ||\n !scrollContainerRef.current\n ) {\n return;\n }\n\n const selection = document.getSelection();\n if (selection && !selection.isCollapsed) {\n return;\n }\n\n if (event.distanceY > 0) {\n contentRef.current.style.transform = `translateY(${event.distanceY}px)`;\n contentOverlayRef.current.style.transform = `translateY(${event.distanceY}px)`;\n if (!stateRef.current.isSwipeInProgress) {\n changeSwipeProgressState(stateRef, scrollContainerRef, true, !!allowScrollWhileFocused);\n }\n recalcScrollFlags();\n } else {\n contentRef.current.style.transform = ``;\n contentOverlayRef.current.style.transform = ``;\n stateRef.current.isSwipeEnabled = false;\n changeSwipeProgressState(stateRef, scrollContainerRef, false, !!allowScrollWhileFocused);\n }\n\n stateRef.current.swipeOffset = event.distanceY;\n },\n [recalcScrollFlags, allowScrollWhileFocused]\n );\n\n const handleSwipeCancel: SwipeEventHandler = useCallback(() => {\n if (!contentRef.current || !contentOverlayRef.current || !scrollContainerRef.current) {\n return;\n }\n\n if (stateRef.current.isSwipeEnabled && stateRef.current.isSwipeInProgress) {\n contentRef.current.style.transform = ``;\n contentOverlayRef.current.style.transform = ``;\n }\n\n stateRef.current.isSwipeEnabled = false;\n changeSwipeProgressState(stateRef, scrollContainerRef, false, !!allowScrollWhileFocused);\n stateRef.current.swipeOffset = 0;\n\n recalcScrollFlags();\n }, [recalcScrollFlags, allowScrollWhileFocused]);\n\n const handleSwipeEnd: SwipeEventHandler = useCallback(\n (event) => {\n if (stateRef.current.isSwipeEnabled && stateRef.current.isSwipeInProgress) {\n handleClose();\n } else {\n handleSwipeCancel(event);\n }\n },\n [handleClose, handleSwipeCancel]\n );\n\n const { onTouchStart, onTouchMove, onTouchEnd, onTouchCancel } = useSwipe({\n thresholdYRef: SWIPE_THRESHOLD_REF,\n onSwipeStart: handleSwipeStart,\n onSwipeMove: handleSwipeMove,\n onSwipeEnd: handleSwipeEnd,\n onSwipeCancel: handleSwipeCancel,\n });\n\n const swipeHandlers = useMemo<\n Record<'onTouchStart' | 'onTouchMove' | 'onTouchEnd' | 'onTouchCancel', TouchEventHandler<HTMLElement>>\n >(() => {\n const withStopPropagation =\n (callback?: TouchEventHandler): TouchEventHandler =>\n (event) => {\n event.stopPropagation();\n callback?.(event);\n };\n return {\n onTouchStart: withStopPropagation(onTouchStart),\n onTouchMove: withStopPropagation(onTouchMove),\n onTouchEnd,\n onTouchCancel,\n };\n }, [onTouchStart, onTouchMove, onTouchEnd, onTouchCancel]);\n\n useLayoutEffect(() => {\n if (\n !contentRef.current ||\n !footerRef.current ||\n !headerRef.current ||\n !scrollContainerRef.current ||\n !visualViewport\n ) {\n return;\n }\n\n if (visible) {\n stateRef.current.grabber = contentRef.current.offsetTop > 0 ? 'sticky' : 'sticky-inside';\n if (visible !== prevPropsRef.current.visible) {\n layoutMetricsRef.current.fillHeight = contentRef.current.offsetTop;\n layoutMetricsRef.current.grabberSpacing = scrollContainerRef.current.offsetTop;\n\n setCSSVariable(\n CSS_VAR_CONTENT_OVERLAY_TOP,\n `${contentRef.current.offsetTop + headerRef.current.clientHeight}px`\n );\n setCSSVariable(\n CSS_VAR_CONTENT_OVERLAY_HEIGHT,\n `${footerRef.current.offsetTop - headerRef.current.clientHeight}px`\n );\n setCSSVariable(CSS_VAR_INITIAL_VIEWPORT_HEIGHT, `${INITIAL_VIEWPORT_HEIGHT}px`);\n } else if (children !== prevPropsRef.current.children || height !== prevPropsRef.current.height) {\n const scrollTop = scrollContainerRef.current.scrollTop;\n scrollContainerRef.current.scrollTo({ top: 0 });\n\n const _heightDiff = layoutMetricsRef.current.fillHeight - contentRef.current.offsetTop;\n layoutMetricsRef.current.fillHeight = contentRef.current.offsetTop;\n if (_heightDiff !== 0 && !stateRef.current.hasFocus) {\n setHeightDiff(_heightDiff);\n }\n\n scrollContainerRef.current.scrollTo({ top: scrollTop });\n }\n }\n\n prevPropsRef.current = { ...prevPropsRef.current, children, height, visible };\n }, [children, height, setHeightDiff, visible]);\n\n if (onCloseContractCheck && visible) {\n console.error('onClose did not set visible=false', Date.now());\n }\n\n const contextValue = useMemo(() => ({ contentOverlayRef }), [contentOverlayRef]);\n\n if (!animationTimeout) {\n return null;\n }\n\n const renderFunc = (appearTransition: TransitionStatus, heightTransition: TransitionStatus) => (\n <Layer layer={InternalLayerName.BottomSheet}>\n <div\n className={classnames(styles.overlay, {\n [styles.overlayInvisible]:\n !showOverlay || (showOverlay && appearTransition !== 'exiting' && !currentVisible),\n })}\n data-qa=\"bottom-sheet-overlay\"\n >\n <div\n className={classnames(styles.overlayBackground, {\n [styles.appearAnimation]: appearTransition === 'entering',\n [styles.disappearAnimation]: appearTransition === 'exiting',\n })}\n />\n <div\n className={classnames(styles.grabber, styles.grabberTransitionAnimation, {\n [styles.grabberInvisible]: appearTransition !== 'entered' || heightTransition !== 'exited',\n [styles.grabberFixed]:\n stateRef.current.grabber === 'fixed' || stateRef.current.grabber === 'sticky-inside',\n [styles.grabberFakeSticky]: stateRef.current.grabber === 'fake-sticky',\n })}\n ref={fixedGrabberRef}\n />\n <div\n className={classnames(styles.scrollContainer, {\n [styles.scrollContainerNoScroll]: !allowScrollWhileFocused && stateRef.current.hasFocus,\n [styles.virtualKeyboardAnimation]: stateRef.current.hasFocus,\n })}\n data-qa=\"bottom-sheet-container\"\n onScroll={recalcScrollFlags}\n ref={scrollContainerRefMulti}\n >\n <div\n className={classnames(styles.fill, {\n [styles.fillFullScreen]: height === 'full-screen',\n [styles.fillHalfScreen]: height === 'half-screen',\n })}\n data-qa=\"bottom-sheet-fill\"\n onClick={handleClose}\n />\n <div\n className={classnames(styles.content, {\n [styles.appearAnimation]: appearTransition === 'entering',\n [styles.closeBySwipeAnimation]:\n appearTransition === 'exiting' && stateRef.current.isSwipeInProgress,\n [styles.contentFullScreen]: height === 'full-screen',\n [styles.disappearAnimation]: appearTransition === 'exiting',\n [styles.heightTransitionAnimation]: heightTransition === 'entering',\n })}\n data-qa=\"bottom-sheet-content\"\n ref={contentRef}\n {...swipeHandlers}\n >\n <div\n className={classnames(styles.grabber, styles.grabberSticky, {\n [styles.grabberStickyInside]:\n appearTransition === 'entering' && stateRef.current.grabber === 'sticky-inside',\n })}\n ref={stickyGrabberRef}\n />\n <div className={styles.visualContainer}>\n <div className={styles.header} onFocus={handleFocus} ref={headerRef}>\n <NavigationBarContext.Provider value={NAVIGATION_BAR_SIZE_OVERRIDE}>\n {header}\n </NavigationBarContext.Provider>\n </div>\n <div\n className={classnames(styles.main, {\n [styles.mainWithPaddings]: withContentPaddings,\n [styles.mainWithoutHeader]: !header,\n })}\n >\n <BottomSheetContext.Provider value={contextValue}>\n {children}\n </BottomSheetContext.Provider>\n </div>\n <div\n className={classnames(styles.heightTransitionElement, {\n [styles.heightTransitionAnimation]: heightTransition === 'entering',\n })}\n ref={heightTransitionElementRef}\n />\n <div\n className={classnames(styles.footer, {\n [styles.heightTransitionAnimation]: heightTransition === 'entering',\n })}\n ref={footerRef}\n >\n {isDividerVisible && <Divider />}\n {interceptClickHandlers ? <ClickInterceptor>{footer}</ClickInterceptor> : footer}\n </div>\n </div>\n </div>\n </div>\n <div className={styles.contentOverlay} ref={contentOverlayRef} />\n </div>\n </Layer>\n );\n\n return createPortal(\n <div\n className={styles.cssVariablesContainer}\n data-qa=\"bottom-sheet-css-variables\"\n ref={cssVariablesContainerRef}\n >\n <Transition\n appear\n in={currentVisible}\n mountOnEnter\n onEnter={runTranslateYAnimation}\n onEntering={resetTranslateY}\n onEntered={handleAppearAnimationEnd}\n onExit={handleExitAnimationStart}\n onExiting={runTranslateYAnimation}\n onExited={handleExitAnimationEnd}\n timeout={animationTimeout.appear}\n unmountOnExit\n nodeRef={contentRef}\n >\n {(appearTransition) => (\n <Transition\n in={heightDiff !== null}\n onEnter={runTranslateYAnimation}\n onEntering={resetTranslateY}\n onEntered={resetHeightDiff}\n onExited={recalcScrollFlags}\n timeout={animationTimeout.height}\n nodeRef={contentRef}\n >\n {(heightTransition) => renderFunc(appearTransition, heightTransition)}\n </Transition>\n )}\n </Transition>\n </div>,\n document.body\n );\n};\n\nexport const BottomSheet = forwardRef(BottomSheetRenderFunc);\n\nBottomSheet.displayName = 'BottomSheet';\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;AA+BA,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAC5D,MAAM,8BAA8B,GAAG,0BAA0B,CAAC;AAClE,MAAM,+BAA+B,GAAG,2BAA2B,CAAC;AACpE,MAAM,gCAAgC,GAAG,4BAA4B,CAAC;AACtE,MAAM,+BAA+B,GAAG,2BAA2B,CAAC;AACpE,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AACzE,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AACpD,MAAM,mCAAmC,GAAG,+BAA+B,CAAC;AAC5E,MAAM,sCAAsC,GAAG,kCAAkC,CAAC;AAElF,MAAM,uBAAuB,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC;AAC5G,MAAM,4BAA4B,GAA8B,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACrF,MAAM,mBAAmB,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC;AAE5F,MAAM,YAAY,GAAG,CAAC,IAAiB,KAAK,IAAI,CAAC,SAAS,CAAC;AAE3D,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAEhH,MAAM,QAAQ,GAAG,CAAC,KAAa,KAAI;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,IAAA,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AACjD,CAAC,CAAC;AAqBF,MAAM,wBAAwB,GAAG,CAC7B,KAAkC,EAClC,kBAAoD,EACpD,iBAA0B,EAC1B,uBAAgC,KAChC;AACA,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAChB,OAAO;AACV,KAAA;AACD,IAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AACpD,IAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC7B,OAAO;AACV,KAAA;IAED,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CACvC,MAAM,CAAC,uBAAuB,EAC9B,iBAAiB,KAAK,CAAC,uBAAuB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC5E,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAA4D,CACnF,EACI,uBAAuB,EACvB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,sBAAsB,GAAG,IAAI,EAC7B,uBAAuB,GAAG,IAAI,EAC9B,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,GAAG,sBAAsB,EACpC,WAAW,GAAG,IAAI,EAClB,OAAO,GAAG,KAAK,EACf,mBAAmB,GAAG,IAAI,GAC7B,EACD,GAAG,KACH;AACA,IAAA,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AACvD,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AAC9D,IAAA,MAAM,wBAAwB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AACrE,IAAA,MAAM,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AAC5D,IAAA,MAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AACtD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AACtD,IAAA,MAAM,0BAA0B,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AACvE,IAAA,MAAM,kBAAkB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AAC/D,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACzE,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;AACrC,IAAA,MAAM,cAAc,GAAG,QAAQ,IAAI,OAAO,CAAC;IAE3C,MAAM,gBAAgB,GAAG,MAAM,CAAgB;AAC3C,QAAA,cAAc,EAAE,CAAC;AACjB,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,cAAc,EAAE,CAAC;AACjB,QAAA,aAAa,EAAE,CAAC;AACnB,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,YAAY,GAAG,MAAM,CAIxB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,CAAmB;AACtC,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,qBAAqB,EAAE,CAAC;AAC3B,KAAA,CAAC,CAAC;IAEH,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IACxF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAa,KAC/C,wBAAwB,CAAC,OAAO,KAAK,IAAI,IAAI,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEjH,SAAS,CAAC,MAAK;QACX,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,KAAK,CAAC,CAAC;AACjB,SAAA;QAED,gBAAgB,CAAC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;QAEhF,IAAI,CAAC,WAAW,EAAE;AACd,YAAA,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;AAC7C,YAAA,OAAO,gBAAgB,CAAC;AAC3B,SAAA;AAED,QAAA,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AACrC,QAAA,OAAO,YAAY,CAAC;AACxB,KAAC,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAElC,SAAS,CAAC,MAAK;QACX,MAAM,uBAAuB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9D,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC/D,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC,CAAC;AACnF,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QACnD,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACtF,KAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;;AAG1B,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;;QAEvC,qBAAqB,CAAC,MAAK;YACvB,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,KAAK,IAAI,EAAE;gBACvE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAExD,gBAAA,IAAI,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE;AAClF,oBAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;AACvC,wBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;wBACpC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBACnE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC/D,wBAAA,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;wBACxF,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;AAC1C,qBAAA;AACJ,iBAAA;AAAM,qBAAA,IAAI,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE;AAC7D,oBAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE;AAC5C,wBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC;wBACzC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBAChE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAChE,wBAAA,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC3F,qBAAA;AACD,oBAAA,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA,EAAG,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC;AAClG,iBAAA;AAAM,qBAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE;AAC7C,oBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;oBACnC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAChE,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC3D,oBAAA,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAC5F,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;AAC1C,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;;QAGH,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,kBAAkB,CAAC,OAAO,KAAK,IAAI,EAAE;YACpE,IAAI,MAAM,KAAK,WAAW,KAAK,sBAAsB,IAAI,WAAW,KAAK,wBAAwB,CAAC,EAAE;AAChG,gBAAA,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;AAChG,gBAAA,MAAM,sBAAsB,GACxB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC;AAC1F,oBAAA,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC;AAC5C,gBAAA,iBAAiB,CACb,CAAC,WAAW,KAAK,sBAAsB,IAAI,SAAS;qBAC/C,WAAW,KAAK,wBAAwB,IAAI,SAAS,IAAI,CAAC,sBAAsB,CAAC,CACzF,CAAC;AACL,aAAA;AACJ,SAAA;KACJ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;AAEzD,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAK;QACtC,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,IAAI,gBAAgB,CAAC,OAAO,KAAK,IAAI,EAAE;AACvE,YAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;YAEpC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC/D,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAE5E,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACtE,SAAA;QAED,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAExB,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEhF,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/F,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACnD,QAAA,MAAM,UAAU,IACZ,aAAa,KAAK,IAAI;cAChB,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;cACjG,EAAE,CACe,CAAC;AAC5B,QAAA,UAAU,CAAC,oBAAoB,CAAC,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAClG,QAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AAClD,aAAA,GAAG,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACvD,KAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAE9B,IAAA,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAK;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE;YACtE,OAAO;AACV,SAAA;AAED,QAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;YAiB3B,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;;;;AAKlF,YAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAClC,gBAAgB,CAAC,OAAO,CAAC,cAAc,GAAG,sBAAsB,CAAC,GAAG,CACvE,CAAC;;AAGF,YAAA,gBAAgB,CAAC,OAAO,CAAC,aAAa,GAAG,mBAAmB,CAAC;;;AAI7D,YAAA,IAAI,uBAAuB,EAAE;;AAEzB,gBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACjC,gBAAgB,CAAC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAClF,CAAC;gBACF,IAAI,kBAAkB,GAAG,CAAC,EAAE;AACxB,oBAAA,cAAc,CAAC,mCAAmC,EAAE,GAAG,mBAAmB,CAAA,EAAA,CAAI,CAAC,CAAC;;oBAEhF,cAAc,CAAC,sCAAsC,EAAE,CAAA,EAAG,CAAC,kBAAkB,CAAA,EAAA,CAAI,CAAC,CAAC;;;oBAInF,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAChE,oBAAA,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CACxC,aAAa,CAAC,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,cAAc,CACtF,CAAC;oBACF,IAAI,yBAAyB,GAAG,CAAC,EAAE;wBAC/B,cAAc,CACV,sCAAsC,EACtC,CAAA,EAAG,yBAAyB,GAAG,kBAAkB,CAAI,EAAA,CAAA,CACxD,CAAC;AACL,qBAAA;AACJ,iBAAA;AACJ,aAAA;AAAM,iBAAA;;;;AAKH,gBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC7F,IAAI,kBAAkB,GAAG,CAAC,EAAE;AACxB,oBAAA,cAAc,CAAC,mCAAmC,EAAE,GAAG,mBAAmB,CAAA,EAAA,CAAI,CAAC,CAAC;;AAEhF,oBAAA,cAAc,CAAC,sCAAsC,EAAE,GAAG,kBAAkB,CAAA,EAAA,CAAI,CAAC,CAAC;AACrF,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,cAAc,CAAC,mCAAmC,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AAC3D,YAAA,cAAc,CAAC,sCAAsC,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AACjE,SAAA;AACL,KAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAE9B,IAAA,MAAM,WAAW,GAAsB,WAAW,CAC9C,CAAC,KAAK,KAAI;AACN,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAC7B,OAAO;AACV,SAAA;AAED,QAAA,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;AACpC,QAAA,MAAM,qBAAqB,GAAG,cAAc,EAAE,MAAM,CAAC;AACrD,QAAA,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AAEzC,QAAA,IAAI,EAAE,cAAc,YAAY,gBAAgB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;YAC5F,OAAO;AACV,SAAA;QAED,MAAM,YAAY,GAAG,MAAK;AACtB,YAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;AAC3C,gBAAA,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvD,gBAAA,QAAQ,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;AAC3C,aAAA;AACD,YAAA,qBAAqB,EAAE,CAAC;AAC5B,SAAC,CAAC;QAEF,MAAM,aAAa,GAAG,MAAK;AACvB,YAAA,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,IAAI,IAAI,cAAc,EAAE,MAAM,KAAK,qBAAqB,EAAE;AAC/F,gBAAA,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC5D,gBAAA,QAAQ,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;AACxC,gBAAA,qBAAqB,EAAE,CAAC;AAC3B,aAAA;AAAM,iBAAA;gBACH,QAAQ,CAAC,OAAO,CAAC,eAAe,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC3E,aAAA;AACL,SAAC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAK;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC7B,OAAO;AACV,aAAA;AAED,YAAA,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvD,YAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;AAClC,YAAA,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CACvC,MAAM,CAAC,uBAAuB,EAC9B,MAAM,CAAC,wBAAwB,CAClC,CAAC;AAEF,YAAA,IAAI,QAAQ,EAAE;AACV,gBAAA,cAAc,CAAC,mCAAmC,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AAC3D,gBAAA,cAAc,CAAC,sCAAsC,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AACjE,aAAA;AAED,YAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;AAC3C,gBAAA,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvD,gBAAA,QAAQ,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;AAC3C,aAAA;AACD,YAAA,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAChE,SAAC,CAAC;AAEF,QAAA,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACpD,QAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,uBAAuB,EAAE;YAC1B,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC5E,SAAA;QACD,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE1E,QAAQ,CAAC,OAAO,CAAC,eAAe,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AACxE,QAAA,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC7D,KAAC,EACD,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CACnD,CAAC;;AAGF,IAAA,MAAM,sBAAsB,GAAG,WAAW,CAAC,MAAK;QAC5C,IACI,CAAC,UAAU,CAAC,OAAO;YACnB,CAAC,iBAAiB,CAAC,OAAO;YAC1B,CAAC,SAAS,CAAC,OAAO;YAClB,CAAC,0BAA0B,CAAC,OAAO;YACnC,CAAC,kBAAkB,CAAC,OAAO;AAC3B,YAAA,CAAC,cAAc,EACjB;YACE,OAAO;AACV,SAAA;QAED,IAAI,UAAU,KAAK,IAAI,EAAE;YACrB,IAAI,UAAU,GAAG,CAAC,EAAE;gBAChB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,UAAU,CAAA,GAAA,CAAK,CAAC;gBACnE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,UAAU,CAAA,GAAA,CAAK,CAAC;gBAC1E,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAc,WAAA,EAAA,CAAC,UAAU,CAAA,GAAA,CAAK,CAAC;AACtE,aAAA;AAAM,iBAAA;gBACH,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAG,EAAA,CAAC,UAAU,CAAA,EAAA,CAAI,CAAC;AAC3E,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAClE,YAAA,MAAM,UAAU,GACZ,kBAAkB,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC;YAChG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,UAAU,CAAA,GAAA,CAAK,CAAC;YACnE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,UAAU,CAAA,GAAA,CAAK,CAAC;AAC1E,YAAA,cAAc,CAAC,uBAAuB,EAAE,CAAA,CAAA,CAAG,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC7C,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjB,IAAA,MAAM,eAAe,GAAG,WAAW,CAAC,MAAK;QACrC,IACI,CAAC,UAAU,CAAC,OAAO;YACnB,CAAC,iBAAiB,CAAC,OAAO;YAC1B,CAAC,SAAS,CAAC,OAAO;YAClB,CAAC,0BAA0B,CAAC,OAAO;YACnC,CAAC,kBAAkB,CAAC,OAAO,EAC7B;YACE,OAAO;AACV,SAAA;QAED,IAAI,UAAU,KAAK,IAAI,EAAE;YACrB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACxC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YAC/C,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACvC,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;AAC3D,SAAA;AAAM,aAAA;AACH,YAAA,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAc,WAAA,EAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC;AACrF,YAAA,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAc,WAAA,EAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC;AAC5F,YAAA,cAAc,CAAC,uBAAuB,EAAE,CAAA,CAAA,CAAG,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC7C,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjB,IAAA,MAAM,wBAAwB,GAAG,WAAW,CAAC,MAAK;QAC9C,IAAI,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC;QAC3D,IAAI,YAAY,GAAG,KAAK,CAAC;;AAGzB,QAAA,MAAM,YAAY,GAAG,CAAC,KAAY,KAAI;AAClC,YAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAA+B,CAAC;AAC5D,YAAA,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;YACpD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;YAE1E,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,aAAa,CAAC,SAAS,GAAG,SAAS,EAAE;AACjE,gBAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACxC,gBAAA,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;gBACpC,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS,GAAG,SAAS,CAAC;gBACtB,UAAU,CAAC,MAAK;AACZ,oBAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;oBACtC,YAAY,GAAG,KAAK,CAAC;iBACxB,EAAE,CAAC,CAAC,CAAC;gBACN,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;AACV,aAAA;AAED,YAAA,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;AACxC,SAAC,CAAC;;;AAIF,QAAA,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5F,QAAA,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAEzF,QAAA,iBAAiB,EAAE,CAAC;QACpB,QAAQ,IAAI,CAAC;AACjB,KAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAElC,IAAA,MAAM,wBAAwB,GAAG,WAAW,CAAC,MAAK;AAC9C,QAAA,eAAe,EAAE,CAAC;QAClB,YAAY,IAAI,CAAC;AACrB,KAAC,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;AAEpC,IAAA,MAAM,sBAAsB,GAAG,WAAW,CAAC,MAAK;AAC5C,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;AACpC,QAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;AAClC,QAAA,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;QACxC,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;AACzF,QAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;AACjC,QAAA,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACpG,QAAA,QAAQ,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;AAExC,QAAA,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;AACxC,QAAA,gBAAgB,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;AAE5C,QAAA,cAAc,CAAC,uBAAuB,EAAE,CAAA,CAAA,CAAG,CAAC,CAAC;AAC7C,QAAA,cAAc,CAAC,mCAAmC,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AAC3D,QAAA,cAAc,CAAC,sCAAsC,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AAE9D,QAAA,IAAI,eAAe,CAAC,OAAO,KAAK,IAAI,EAAE;YAClC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC/D,YAAA,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACxF,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,kBAAkB,CAAC,OAAO,KAAK,IAAI,EAAE;AACrC,YAAA,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CACvC,MAAM,CAAC,uBAAuB,EAC9B,MAAM,CAAC,wBAAwB,CAClC,CAAC;AACL,SAAA;AAED,QAAA,gBAAgB,EAAE,CAAC;QACnB,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,WAAW,IAAI,CAAC;KACnB,EAAE,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEtF,IAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAK;AACjC,QAAA,OAAO,EAAE,CAAC;QACV,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAClC,KAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEvC,IAAA,MAAM,gBAAgB,GAAsB,WAAW,CAAC,MAAK;AACzD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAC7B,OAAO;AACV,SAAA;AAED,QAAA,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;AAChE,YAAA,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;AACvC,YAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;AACpC,SAAA;KACJ,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,eAAe,GAAsB,WAAW,CAClD,CAAC,KAAK,KAAI;QACN,IACI,CAAC,UAAU,CAAC,OAAO;YACnB,CAAC,iBAAiB,CAAC,OAAO;AAC1B,YAAA,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc;YAChC,CAAC,kBAAkB,CAAC,OAAO,EAC7B;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;AAC1C,QAAA,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACrC,OAAO;AACV,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;AACrB,YAAA,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,KAAK,CAAC,SAAS,CAAA,GAAA,CAAK,CAAC;AACxE,YAAA,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,KAAK,CAAC,SAAS,CAAA,GAAA,CAAK,CAAC;AAC/E,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACrC,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAC3F,aAAA;AACD,YAAA,iBAAiB,EAAE,CAAC;AACvB,SAAA;AAAM,aAAA;YACH,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACxC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;YACxC,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAC5F,SAAA;QAED,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;AACnD,KAAC,EACD,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAC/C,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAsB,WAAW,CAAC,MAAK;AAC1D,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAClF,OAAO;AACV,SAAA;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACvE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YACxC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;AAClD,SAAA;AAED,QAAA,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;QACxC,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC;AACzF,QAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;AAEjC,QAAA,iBAAiB,EAAE,CAAC;AACxB,KAAC,EAAE,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEjD,IAAA,MAAM,cAAc,GAAsB,WAAW,CACjD,CAAC,KAAK,KAAI;QACN,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE;AACvE,YAAA,WAAW,EAAE,CAAC;AACjB,SAAA;AAAM,aAAA;YACH,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAA;AACL,KAAC,EACD,CAAC,WAAW,EAAE,iBAAiB,CAAC,CACnC,CAAC;IAEF,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;AACtE,QAAA,aAAa,EAAE,mBAAmB;AAClC,QAAA,YAAY,EAAE,gBAAgB;AAC9B,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,UAAU,EAAE,cAAc;AAC1B,QAAA,aAAa,EAAE,iBAAiB;AACnC,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,aAAa,GAAG,OAAO,CAE3B,MAAK;QACH,MAAM,mBAAmB,GACrB,CAAC,QAA4B,KAC7B,CAAC,KAAK,KAAI;YACN,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC;AACtB,SAAC,CAAC;QACN,OAAO;AACH,YAAA,YAAY,EAAE,mBAAmB,CAAC,YAAY,CAAC;AAC/C,YAAA,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC;YAC7C,UAAU;YACV,aAAa;SAChB,CAAC;KACL,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3D,eAAe,CAAC,MAAK;QACjB,IACI,CAAC,UAAU,CAAC,OAAO;YACnB,CAAC,SAAS,CAAC,OAAO;YAClB,CAAC,SAAS,CAAC,OAAO;YAClB,CAAC,kBAAkB,CAAC,OAAO;AAC3B,YAAA,CAAC,cAAc,EACjB;YACE,OAAO;AACV,SAAA;AAED,QAAA,IAAI,OAAO,EAAE;YACT,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,QAAQ,GAAG,eAAe,CAAC;AACzF,YAAA,IAAI,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC1C,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;gBACnE,gBAAgB,CAAC,OAAO,CAAC,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;AAE/E,gBAAA,cAAc,CACV,2BAA2B,EAC3B,CAAG,EAAA,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA,EAAA,CAAI,CACvE,CAAC;AACF,gBAAA,cAAc,CACV,8BAA8B,EAC9B,CAAG,EAAA,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA,EAAA,CAAI,CACtE,CAAC;AACF,gBAAA,cAAc,CAAC,+BAA+B,EAAE,GAAG,uBAAuB,CAAA,EAAA,CAAI,CAAC,CAAC;AACnF,aAAA;AAAM,iBAAA,IAAI,QAAQ,KAAK,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,KAAK,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7F,gBAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC;gBACvD,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAEhD,gBAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;gBACvF,gBAAgB,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;gBACnE,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACjD,aAAa,CAAC,WAAW,CAAC,CAAC;AAC9B,iBAAA;gBAED,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;AAC3D,aAAA;AACJ,SAAA;AAED,QAAA,YAAY,CAAC,OAAO,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KACjF,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,IAAI,oBAAoB,IAAI,OAAO,EAAE;QACjC,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAClE,KAAA;AAED,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,gBAAgB,EAAE;AACnB,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,MAAM,UAAU,GAAG,CAAC,gBAAkC,EAAE,gBAAkC,MACtFA,GAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,EAAA,QAAA,EACvCC,IACI,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE;AAClC,gBAAA,CAAC,MAAM,CAAC,gBAAgB,GACpB,CAAC,WAAW,KAAK,WAAW,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC;aACzF,CAAC,EAAA,SAAA,EACM,sBAAsB,EAAA,QAAA,EAAA,CAE9BD,GACI,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE;AAC5C,wBAAA,CAAC,MAAM,CAAC,eAAe,GAAG,gBAAgB,KAAK,UAAU;AACzD,wBAAA,CAAC,MAAM,CAAC,kBAAkB,GAAG,gBAAgB,KAAK,SAAS;AAC9D,qBAAA,CAAC,EACJ,CAAA,EACFA,GACI,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,0BAA0B,EAAE;wBACrE,CAAC,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,QAAQ;AAC1F,wBAAA,CAAC,MAAM,CAAC,YAAY,GAChB,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,eAAe;wBACxF,CAAC,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,aAAa;AACzE,qBAAA,CAAC,EACF,GAAG,EAAE,eAAe,GACtB,EACFC,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE;AAC1C,wBAAA,CAAC,MAAM,CAAC,uBAAuB,GAAG,CAAC,uBAAuB,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ;wBACvF,CAAC,MAAM,CAAC,wBAAwB,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ;AAC/D,qBAAA,CAAC,aACM,wBAAwB,EAChC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,uBAAuB,EAE5B,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/B,gCAAA,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,KAAK,aAAa;AACjD,gCAAA,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,KAAK,aAAa;AACpD,6BAAA,CAAC,aACM,mBAAmB,EAC3B,OAAO,EAAE,WAAW,EACtB,CAAA,EACFC,IACI,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE;AAClC,gCAAA,CAAC,MAAM,CAAC,eAAe,GAAG,gBAAgB,KAAK,UAAU;AACzD,gCAAA,CAAC,MAAM,CAAC,qBAAqB,GACzB,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,iBAAiB;AACxE,gCAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,MAAM,KAAK,aAAa;AACpD,gCAAA,CAAC,MAAM,CAAC,kBAAkB,GAAG,gBAAgB,KAAK,SAAS;AAC3D,gCAAA,CAAC,MAAM,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,UAAU;6BACtE,CAAC,EAAA,SAAA,EACM,sBAAsB,EAC9B,GAAG,EAAE,UAAU,EAAA,GACX,aAAa,EAEjB,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE;AACxD,wCAAA,CAAC,MAAM,CAAC,mBAAmB,GACvB,gBAAgB,KAAK,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,eAAe;qCACtF,CAAC,EACF,GAAG,EAAE,gBAAgB,GACvB,EACFC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,eAAe,EAClC,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,YAC/DA,GAAC,CAAA,oBAAoB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,4BAA4B,EAAA,QAAA,EAC7D,MAAM,EACqB,CAAA,EAAA,CAC9B,EACNA,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;AAC/B,gDAAA,CAAC,MAAM,CAAC,gBAAgB,GAAG,mBAAmB;AAC9C,gDAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,MAAM;6CACtC,CAAC,EAAA,QAAA,EAEFA,IAAC,kBAAkB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAC3C,QAAA,EAAA,QAAQ,GACiB,EAC5B,CAAA,EACNA,aACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,uBAAuB,EAAE;AAClD,gDAAA,CAAC,MAAM,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,UAAU;AACtE,6CAAA,CAAC,EACF,GAAG,EAAE,0BAA0B,GACjC,EACFC,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,gDAAA,CAAC,MAAM,CAAC,yBAAyB,GAAG,gBAAgB,KAAK,UAAU;AACtE,6CAAA,CAAC,EACF,GAAG,EAAE,SAAS,EAEb,QAAA,EAAA,CAAA,gBAAgB,IAAID,GAAC,CAAA,OAAO,KAAG,EAC/B,sBAAsB,GAAGA,IAAC,gBAAgB,EAAA,EAAA,QAAA,EAAE,MAAM,EAAoB,CAAA,GAAG,MAAM,IAC9E,CACJ,EAAA,CAAA,CAAA,EAAA,CACJ,IACJ,EACNA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAI,CAC/D,EAAA,CAAA,EAAA,CACF,CACX,CAAC;IAEF,OAAO,YAAY,CACfA,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,MAAM,CAAC,qBAAqB,EAAA,SAAA,EAC/B,4BAA4B,EACpC,GAAG,EAAE,wBAAwB,EAAA,QAAA,EAE7BA,GAAC,CAAA,UAAU,EACP,EAAA,MAAM,EACN,IAAA,EAAA,EAAE,EAAE,cAAc,EAClB,YAAY,EACZ,IAAA,EAAA,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,wBAAwB,EACnC,MAAM,EAAE,wBAAwB,EAChC,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EAAE,sBAAsB,EAChC,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAChC,aAAa,EACb,IAAA,EAAA,OAAO,EAAE,UAAU,EAElB,QAAA,EAAA,CAAC,gBAAgB,MACdA,GAAA,CAAC,UAAU,EAAA,EACP,EAAE,EAAE,UAAU,KAAK,IAAI,EACvB,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAChC,OAAO,EAAE,UAAU,EAAA,QAAA,EAElB,CAAC,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAAA,CAC5D,CAChB,EAAA,CACQ,EACX,CAAA,EACN,QAAQ,CAAC,IAAI,CAChB,CAAC;AACN,CAAC,CAAC;MAEW,WAAW,GAAG,UAAU,CAAC,qBAAqB,EAAE;AAE7D,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
|
|
1
|
+
{"version":3,"file":"BottomSheet.js","sources":["../src/BottomSheet.tsx"],"sourcesContent":["import {\n FocusEventHandler,\n ForwardRefRenderFunction,\n RefObject,\n TouchEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { Transition, TransitionStatus } from 'react-transition-group';\nimport classnames from 'classnames';\n\nimport { disableOverscroll, disableScroll } from '@hh.ru/magritte-common-modal-helper';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { useNoBubbling } from '@hh.ru/magritte-common-use-no-bubbling';\nimport { useSwipe, SwipeEventHandler } from '@hh.ru/magritte-common-use-swipe';\nimport { InternalLayerName } from '@hh.ru/magritte-internal-layer-name';\nimport { BottomSheetContext } from '@hh.ru/magritte-ui-bottom-sheet/BottomSheetContext';\nimport { ClickInterceptor } from '@hh.ru/magritte-ui-bottom-sheet/ClickInterceptor';\nimport { BottomSheetProps } from '@hh.ru/magritte-ui-bottom-sheet/types';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { Divider } from '@hh.ru/magritte-ui-divider';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { NavigationBarContext, type NavigationBarContextProps } from '@hh.ru/magritte-ui-navigation-bar';\n\nimport styles from './bottom-sheet.less';\n\nconst CSS_VAR_CONTENT_OVERLAY_TOP = '--content-overlay-top';\nconst CSS_VAR_CONTENT_OVERLAY_HEIGHT = '--content-overlay-height';\nconst CSS_VAR_INITIAL_VIEWPORT_HEIGHT = '--initial-viewport-height';\nconst CSS_VAR_ENTER_ANIMATION_DURATION = '--enter-animation-duration';\nconst CSS_VAR_EXIT_ANIMATION_DURATION = '--exit-animation-duration';\nconst CSS_VAR_HEIGHT_ANIMATION_DURATION = '--height-transition-duration';\nconst CSS_VAR_OVERLAY_OPACITY = '--overlay-opacity';\nconst CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET = '--virtual-keyboard-top-offset';\nconst CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET = '--virtual-keyboard-bottom-offset';\n\nconst INITIAL_VIEWPORT_HEIGHT = (typeof window !== 'undefined' ? window.visualViewport?.height : null) ?? 0;\nconst NAVIGATION_BAR_SIZE_OVERRIDE: NavigationBarContextProps = { size: 'standard' };\nconst SWIPE_THRESHOLD_REF = { current: { max: Math.round(INITIAL_VIEWPORT_HEIGHT * 0.8) } };\n\nconst forceRepaint = (node: HTMLElement) => node.scrollTop;\n\nconst isSafari = typeof navigator !== 'undefined' && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nconst toNumber = (value: string) => {\n const result = parseInt(value, 10);\n return Number.isInteger(result) ? result : 0;\n};\n\ntype AnimationTimeout = { [AnimationType in 'appear' | 'height']: { [AnimationStage in 'enter' | 'exit']: number } };\n\ntype LayoutMetrics = {\n documentHeight: number;\n fillHeight: number;\n grabberSpacing: number;\n viewportShift: number;\n};\n\ntype BottomSheetState = {\n grabber: 'sticky' | 'sticky-inside' | 'fake-sticky' | 'fixed';\n hasFocus: boolean;\n isSwipeEnabled: boolean;\n isSwipeInProgress: boolean;\n swipeOffset: number;\n resizeRAFHandle: ReturnType<typeof requestAnimationFrame> | null;\n virtualKeyboardHeight: number;\n};\n\nconst changeSwipeProgressState = (\n state: RefObject<BottomSheetState>,\n scrollContainerRef: RefObject<HTMLDivElement | null>,\n isSwipeInProgress: boolean,\n allowScrollWhileFocused: boolean\n) => {\n if (!state.current) {\n return;\n }\n state.current.isSwipeInProgress = isSwipeInProgress;\n if (!scrollContainerRef.current) {\n return;\n }\n\n scrollContainerRef.current.classList.toggle(\n styles.scrollContainerNoScroll,\n isSwipeInProgress || (!allowScrollWhileFocused && state.current.hasFocus)\n );\n};\n\nconst BottomSheetRenderFunc: ForwardRefRenderFunction<HTMLElement, BottomSheetProps> = (\n {\n allowScrollWhileFocused,\n children,\n footer,\n header,\n height = 'content',\n interceptClickHandlers = true,\n keyboardOverlaysContent = true,\n onAppear,\n onBeforeExit,\n onAfterExit,\n onClose,\n showDivider = 'always-if-has-scroll',\n showOverlay = true,\n visible = false,\n withContentPaddings = true,\n },\n ref\n) => {\n const contentRef = useRef<HTMLDivElement | null>(null);\n const contentOverlayRef = useRef<HTMLDivElement | null>(null);\n const cssVariablesContainerRef = useRef<HTMLDivElement | null>(null);\n const fixedGrabberRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const headerRef = useRef<HTMLDivElement | null>(null);\n const heightTransitionElementRef = useRef<HTMLDivElement | null>(null);\n const scrollContainerRef = useRef<HTMLDivElement | null>(null);\n const stickyGrabberRef = useRef<HTMLDivElement | null>(null);\n const scrollContainerRefMulti = useMultipleRefs(scrollContainerRef, ref);\n const { isMobile } = useBreakpoint();\n const currentVisible = isMobile && visible;\n\n const layoutMetricsRef = useRef<LayoutMetrics>({\n documentHeight: 0,\n fillHeight: 0,\n grabberSpacing: 0,\n viewportShift: 0,\n });\n\n const prevPropsRef = useRef<{\n children: typeof children;\n height: typeof height;\n visible: typeof visible;\n }>({ children, height, visible });\n\n const stateRef = useRef<BottomSheetState>({\n grabber: 'sticky',\n hasFocus: false,\n isSwipeEnabled: false,\n isSwipeInProgress: false,\n swipeOffset: 0,\n resizeRAFHandle: null,\n virtualKeyboardHeight: 0,\n });\n\n const [animationTimeout, setAnimationTimeout] = useState<AnimationTimeout | null>(null);\n const [heightDiff, setHeightDiff] = useState<number | null>(null);\n const [isDividerVisible, setDividerVisible] = useState(false);\n const [onCloseContractCheck, setOnCloseContractCheck] = useState(false);\n\n const setCSSVariable = (name: string, value: string) =>\n cssVariablesContainerRef.current !== null && cssVariablesContainerRef.current.style.setProperty(name, value);\n\n useEffect(() => {\n if (!currentVisible) {\n return void 0;\n }\n\n layoutMetricsRef.current.documentHeight = document.documentElement.clientHeight;\n\n if (!showOverlay) {\n const enableOverscroll = disableOverscroll();\n return enableOverscroll;\n }\n\n const enableScroll = disableScroll();\n return enableScroll;\n }, [showOverlay, currentVisible]);\n\n useEffect(() => {\n const animationTimeoutElement = document.createElement('div');\n animationTimeoutElement.classList.add(styles.animationTimeout);\n document.body.appendChild(animationTimeoutElement);\n const style = window.getComputedStyle(animationTimeoutElement);\n const enter = toNumber(style.getPropertyValue(CSS_VAR_ENTER_ANIMATION_DURATION));\n const exit = toNumber(style.getPropertyValue(CSS_VAR_EXIT_ANIMATION_DURATION));\n const height = toNumber(style.getPropertyValue(CSS_VAR_HEIGHT_ANIMATION_DURATION));\n document.body.removeChild(animationTimeoutElement);\n setAnimationTimeout({ appear: { enter, exit }, height: { enter: height, exit } });\n }, [setAnimationTimeout]);\n\n // Пересчитывает флаги отображения граббера и дивайдера в зависимости от скролла\n const recalcScrollFlags = useCallback(() => {\n // расчет состояния граббера в зависимости от того, проскроллен ли контент до верхней границы вьюпорта\n requestAnimationFrame(() => {\n if (fixedGrabberRef.current !== null && stickyGrabberRef.current !== null) {\n const stickyGrabberDOMRect = stickyGrabberRef.current.getBoundingClientRect();\n const grabberTop = Math.round(stickyGrabberDOMRect.top);\n\n if (grabberTop >= layoutMetricsRef.current.grabberSpacing * 2 || heightDiff !== null) {\n if (stateRef.current.grabber !== 'sticky') {\n stateRef.current.grabber = 'sticky';\n stickyGrabberRef.current.classList.remove(styles.grabberInvisible);\n fixedGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.remove(styles.grabberFixed, styles.grabberFakeSticky);\n fixedGrabberRef.current.style.top = ``;\n }\n } else if (grabberTop > layoutMetricsRef.current.grabberSpacing) {\n if (stateRef.current.grabber !== 'fake-sticky') {\n stateRef.current.grabber = 'fake-sticky';\n stickyGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.add(styles.grabberFakeSticky);\n fixedGrabberRef.current.classList.remove(styles.grabberSticky, styles.grabberInvisible);\n }\n fixedGrabberRef.current.style.top = `${grabberTop + layoutMetricsRef.current.viewportShift}px`;\n } else if (stateRef.current.grabber !== 'fixed') {\n stateRef.current.grabber = 'fixed';\n stickyGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.add(styles.grabberFixed);\n fixedGrabberRef.current.classList.remove(styles.grabberFakeSticky, styles.grabberInvisible);\n fixedGrabberRef.current.style.top = ``;\n }\n }\n });\n\n // расчет того, нужно ли показывать дивайдер, в зависимости от того, проскроллен ли контент до конца\n if (contentRef.current !== null && scrollContainerRef.current !== null) {\n if (footer && (showDivider === 'always-if-has-scroll' || showDivider === 'if-not-scrolled-to-end')) {\n const hasScroll = contentRef.current.clientHeight > scrollContainerRef.current.clientHeight + 1;\n const isScrolledToContentEnd =\n Math.round(scrollContainerRef.current.scrollTop + scrollContainerRef.current.clientHeight) ===\n scrollContainerRef.current.scrollHeight;\n setDividerVisible(\n (showDivider === 'always-if-has-scroll' && hasScroll) ||\n (showDivider === 'if-not-scrolled-to-end' && hasScroll && !isScrolledToContentEnd)\n );\n }\n }\n }, [footer, heightDiff, setDividerVisible, showDivider]);\n\n const resetScrollFlags = useCallback(() => {\n if (fixedGrabberRef.current !== null && stickyGrabberRef.current !== null) {\n stateRef.current.grabber = 'sticky';\n\n fixedGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.remove(styles.grabberTransitionAnimation);\n\n stickyGrabberRef.current.classList.remove(styles.grabberInvisible);\n }\n\n setDividerVisible(false);\n }, [setDividerVisible]);\n\n const resetHeightDiff = useCallback(() => setHeightDiff(null), [setHeightDiff]);\n\n useEffect(() => {\n const meta = document.querySelector('meta[name=\"viewport\"]') ?? document.createElement('meta');\n const attributesStr = meta.getAttribute('content');\n const attributes = (\n attributesStr !== null\n ? Object.fromEntries(attributesStr.split(',').map((keyValuePairStr) => keyValuePairStr.split('=')))\n : {}\n ) as Record<string, string>;\n attributes['interactive-widget'] = keyboardOverlaysContent ? 'resizes-visual' : 'resizes-content';\n const attributesStrUpdated = Object.entries(attributes)\n .map((keyValuePair) => keyValuePair.join('='))\n .join(',');\n meta.setAttribute('name', 'viewport');\n meta.setAttribute('content', attributesStrUpdated);\n }, [keyboardOverlaysContent]);\n\n const recalcKeyboardOffsets = useCallback(() => {\n if (!headerRef.current || !scrollContainerRef.current || !visualViewport) {\n return;\n }\n\n if (stateRef.current.hasFocus) {\n // терминология: https://developer.chrome.com/blog/viewport-resize-behavior/\n //\n // делим браузеры на три группы в зависимости от поведения при открытии виртуальной клавиатуры:\n // 1. Safari — ресайзит Visual Viewport, не меняет Layout Viewport.\n // В нем не нужно ничего корректировать при keyboardOverlaysContent=true,\n // а при keyboardOverlaysContent=false нужно сдвинуть НИЖНИЙ край контейнера ВВЕРХ,\n // чтобы он совпал с границей Visual Viewport\n // 2. Chrome < 108 & Chromium-based — ресайзит и Visual Viewport, и Layout Viewport\n // В нем не нужно ничего корректировать при keyboardOverlaysContent=false,\n // а при keyboardOverlaysContent=true нужно сдвинуть НИЖНИЙ край контейнера ВНИЗ,\n // чтобы футер уехал под клавиатуру\n // 3. Chrome >= 108 — поддерживает Virtual Keyboard API и meta-тег interactive-widget\n // Используем поведение `resizes-visual` (как в Safari) в случае keyboardOverlaysContent=true\n // и `resizes-content` (как в Chrome < 108 & Chromium-based) в случае keyboardOverlaysContent=false\n // Таким образом в нем ничего не нужно корректировать.\n\n const scrollContainerDOMREct = scrollContainerRef.current.getBoundingClientRect();\n\n // любой браузер может сдвинуть Visual Viewport вверх, если фокусируемый инпут находится близко к нижней границе\n // из-за этого может возникнуть проблема, что ВЕРХНИЙ край контента уехал за границу Visual Viewport\n // сдвигаем ВЕРХНИЙ край контейнера ВНИЗ, чтобы он совпал с границей Visual Viewport\n const visualViewportShift = Math.round(\n layoutMetricsRef.current.grabberSpacing - scrollContainerDOMREct.top\n );\n\n // запоминаем сдвиг для коррекции позиции граббера\n layoutMetricsRef.current.viewportShift = visualViewportShift;\n\n // клавиатура ПОВЕРХ контента\n // этот кейс нужно корректировать только в Chrome < 108 & Chromium-based\n if (keyboardOverlaysContent) {\n // браузеры из этой группы меняют Layout Viewport\n const layoutViewportDiff = Math.round(\n layoutMetricsRef.current.documentHeight - document.documentElement.clientHeight\n );\n if (layoutViewportDiff > 0) {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `${visualViewportShift}px`);\n // сдвигаем НИЖНИЙ край контейнера ВНИЗ, чтобы футер уехал под клавиатуру\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `${-layoutViewportDiff}px`);\n\n // при этом может возникнуть проблема, что клавиатура перекрыла хедер\n // проверяем это и компенсируем величину перекрытия при необходимости\n const headerDOMRect = headerRef.current.getBoundingClientRect();\n const headerOutOfViewportHeight = Math.round(\n headerDOMRect.bottom + layoutViewportDiff - layoutMetricsRef.current.documentHeight\n );\n if (headerOutOfViewportHeight > 0) {\n setCSSVariable(\n CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET,\n `${headerOutOfViewportHeight - layoutViewportDiff}px`\n );\n }\n }\n } else {\n // клавиатура ПОД контентом\n // этот кейс нужно корректировать только в Safari\n\n // Safari ресайзит Visual Viewport\n const visualViewportDiff = Math.round(scrollContainerDOMREct.bottom - visualViewport.height);\n if (visualViewportDiff > 0) {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `${visualViewportShift}px`);\n // сдвигаем НИЖНИЙ край контейнера ВВЕРХ, чтобы он совпал с границей Visual Viewport\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `${visualViewportDiff}px`);\n }\n }\n } else {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `0px`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `0px`);\n }\n }, [keyboardOverlaysContent]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n if (!scrollContainerRef.current) {\n return;\n }\n\n const focusedElement = event.target;\n const initialViewportHeight = visualViewport?.height;\n const resizeRAFStart = performance.now();\n\n if (!(focusedElement instanceof HTMLInputElement) || stateRef.current.resizeRAFHandle !== null) {\n return;\n }\n\n const handleResize = () => {\n if (stateRef.current.resizeRAFHandle !== null) {\n cancelAnimationFrame(stateRef.current.resizeRAFHandle);\n stateRef.current.resizeRAFHandle = null;\n }\n recalcKeyboardOffsets();\n };\n\n const waitForResize = () => {\n if (performance.now() - resizeRAFStart > 1000 || visualViewport?.height !== initialViewportHeight) {\n visualViewport?.removeEventListener('resize', handleResize);\n stateRef.current.resizeRAFHandle = null;\n recalcKeyboardOffsets();\n } else {\n stateRef.current.resizeRAFHandle = requestAnimationFrame(waitForResize);\n }\n };\n\n const handleBlur = () => {\n if (!scrollContainerRef.current) {\n return;\n }\n\n focusedElement.removeEventListener('blur', handleBlur);\n stateRef.current.hasFocus = false;\n scrollContainerRef.current.classList.remove(\n styles.scrollContainerNoScroll,\n styles.virtualKeyboardAnimation\n );\n\n if (isSafari) {\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `0px`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `0px`);\n }\n\n if (stateRef.current.resizeRAFHandle !== null) {\n cancelAnimationFrame(stateRef.current.resizeRAFHandle);\n stateRef.current.resizeRAFHandle = null;\n }\n visualViewport?.removeEventListener('resize', handleResize);\n };\n\n focusedElement.addEventListener('blur', handleBlur);\n stateRef.current.hasFocus = true;\n if (!allowScrollWhileFocused) {\n scrollContainerRef.current.classList.add(styles.scrollContainerNoScroll);\n }\n scrollContainerRef.current.classList.add(styles.virtualKeyboardAnimation);\n\n stateRef.current.resizeRAFHandle = requestAnimationFrame(waitForResize);\n visualViewport?.addEventListener('resize', handleResize);\n },\n [allowScrollWhileFocused, recalcKeyboardOffsets]\n );\n\n // Запускает анимацию translateY для показа/скрытия боттомшита или изменения высоты контента\n const runTranslateYAnimation = useCallback(() => {\n if (\n !contentRef.current ||\n !contentOverlayRef.current ||\n !footerRef.current ||\n !heightTransitionElementRef.current ||\n !scrollContainerRef.current ||\n !visualViewport\n ) {\n return;\n }\n\n if (heightDiff !== null) {\n if (heightDiff > 0) {\n contentRef.current.style.transform = `translateY(${heightDiff}px)`;\n contentOverlayRef.current.style.transform = `translateY(${heightDiff}px)`;\n footerRef.current.style.transform = `translateY(${-heightDiff}px)`;\n } else {\n heightTransitionElementRef.current.style.flexBasis = `${-heightDiff}px`;\n }\n } else {\n const contentDOMREct = contentRef.current.getBoundingClientRect();\n const translateY =\n scrollContainerRef.current.clientHeight + stateRef.current.swipeOffset - contentDOMREct.top;\n contentRef.current.style.transform = `translateY(${translateY}px)`;\n contentOverlayRef.current.style.transform = `translateY(${translateY}px)`;\n setCSSVariable(CSS_VAR_OVERLAY_OPACITY, `0`);\n }\n\n forceRepaint(scrollContainerRef.current);\n }, [heightDiff]);\n\n const resetTranslateY = useCallback(() => {\n if (\n !contentRef.current ||\n !contentOverlayRef.current ||\n !footerRef.current ||\n !heightTransitionElementRef.current ||\n !scrollContainerRef.current\n ) {\n return;\n }\n\n if (heightDiff !== null) {\n contentRef.current.style.transform = ``;\n contentOverlayRef.current.style.transform = ``;\n footerRef.current.style.transform = ``;\n heightTransitionElementRef.current.style.flexBasis = ``;\n } else {\n contentRef.current.style.transform = `translateY(${stateRef.current.swipeOffset}px)`;\n contentOverlayRef.current.style.transform = `translateY(${stateRef.current.swipeOffset}px)`;\n setCSSVariable(CSS_VAR_OVERLAY_OPACITY, `1`);\n }\n\n forceRepaint(scrollContainerRef.current);\n }, [heightDiff]);\n\n const handleAppearAnimationEnd = useCallback(() => {\n let scrollTop = scrollContainerRef.current?.scrollTop ?? 0;\n let scrollLocked = false;\n\n // Обработчик скролла для блокировки оверскролла в браузерах без поддержки css правила overscroll-behavior\n const handleScroll = (event: Event) => {\n const currentTarget = event.currentTarget as HTMLDivElement;\n const forward = currentTarget.scrollTop > scrollTop;\n const maxScroll = currentTarget.scrollHeight - currentTarget.offsetHeight;\n\n if (!scrollLocked && forward && currentTarget.scrollTop > maxScroll) {\n currentTarget.style.overflow = 'hidden';\n currentTarget.scrollTop = maxScroll;\n scrollLocked = true;\n scrollTop = maxScroll;\n setTimeout(() => {\n currentTarget.style.overflow = 'auto';\n scrollLocked = false;\n }, 1);\n event.preventDefault();\n return;\n }\n\n scrollTop = currentTarget.scrollTop;\n };\n\n // удаления хендлеров нет т.к. установлен флаг unmountOnExit, т.е. элемент удаляется из DOM\n // после завершения анимации\n scrollContainerRef.current?.addEventListener('touchmove', handleScroll, { passive: false });\n scrollContainerRef.current?.addEventListener('scroll', handleScroll, { passive: false });\n\n recalcScrollFlags();\n onAppear?.();\n }, [onAppear, recalcScrollFlags]);\n\n const handleExitAnimationStart = useCallback(() => {\n resetTranslateY();\n onBeforeExit?.();\n }, [resetTranslateY, onBeforeExit]);\n\n const handleExitAnimationEnd = useCallback(() => {\n stateRef.current.grabber = 'sticky';\n stateRef.current.hasFocus = false;\n stateRef.current.isSwipeEnabled = false;\n changeSwipeProgressState(stateRef, scrollContainerRef, false, !!allowScrollWhileFocused);\n stateRef.current.swipeOffset = 0;\n stateRef.current.resizeRAFHandle !== null && cancelAnimationFrame(stateRef.current.resizeRAFHandle);\n stateRef.current.resizeRAFHandle = null;\n\n layoutMetricsRef.current.fillHeight = 0;\n layoutMetricsRef.current.grabberSpacing = 0;\n\n setCSSVariable(CSS_VAR_OVERLAY_OPACITY, `1`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_TOP_OFFSET, `0px`);\n setCSSVariable(CSS_VAR_VIRTUAL_KEYBOARD_BOTTOM_OFFSET, `0px`);\n\n if (fixedGrabberRef.current !== null) {\n fixedGrabberRef.current.classList.add(styles.grabberInvisible);\n fixedGrabberRef.current.classList.remove(styles.grabberFixed, styles.grabberFakeSticky);\n fixedGrabberRef.current.style.transform = ``;\n }\n\n if (scrollContainerRef.current !== null) {\n scrollContainerRef.current.classList.remove(\n styles.scrollContainerNoScroll,\n styles.virtualKeyboardAnimation\n );\n }\n\n resetScrollFlags();\n setOnCloseContractCheck(false);\n onAfterExit?.();\n }, [resetScrollFlags, setOnCloseContractCheck, onAfterExit, allowScrollWhileFocused]);\n\n const handleClose = useCallback(() => {\n onClose();\n setOnCloseContractCheck(true);\n }, [onClose, setOnCloseContractCheck]);\n\n const handleSwipeStart: SwipeEventHandler = useCallback(() => {\n if (!scrollContainerRef.current) {\n return;\n }\n\n if (Object.is(Math.round(scrollContainerRef.current.scrollTop), 0)) {\n stateRef.current.isSwipeEnabled = true;\n stateRef.current.swipeOffset = 0;\n }\n }, []);\n\n const handleSwipeMove: SwipeEventHandler = useCallback(\n (event) => {\n if (\n !contentRef.current ||\n !contentOverlayRef.current ||\n !stateRef.current.isSwipeEnabled ||\n !scrollContainerRef.current\n ) {\n return;\n }\n\n const selection = document.getSelection();\n if (selection && !selection.isCollapsed) {\n return;\n }\n\n if (event.distanceY > 0) {\n contentRef.current.style.transform = `translateY(${event.distanceY}px)`;\n contentOverlayRef.current.style.transform = `translateY(${event.distanceY}px)`;\n if (!stateRef.current.isSwipeInProgress) {\n changeSwipeProgressState(stateRef, scrollContainerRef, true, !!allowScrollWhileFocused);\n }\n recalcScrollFlags();\n } else {\n contentRef.current.style.transform = ``;\n contentOverlayRef.current.style.transform = ``;\n stateRef.current.isSwipeEnabled = false;\n changeSwipeProgressState(stateRef, scrollContainerRef, false, !!allowScrollWhileFocused);\n }\n\n stateRef.current.swipeOffset = event.distanceY;\n },\n [recalcScrollFlags, allowScrollWhileFocused]\n );\n\n const handleSwipeCancel: SwipeEventHandler = useCallback(() => {\n if (!contentRef.current || !contentOverlayRef.current || !scrollContainerRef.current) {\n return;\n }\n\n if (stateRef.current.isSwipeEnabled && stateRef.current.isSwipeInProgress) {\n contentRef.current.style.transform = ``;\n contentOverlayRef.current.style.transform = ``;\n }\n\n stateRef.current.isSwipeEnabled = false;\n changeSwipeProgressState(stateRef, scrollContainerRef, false, !!allowScrollWhileFocused);\n stateRef.current.swipeOffset = 0;\n\n recalcScrollFlags();\n }, [recalcScrollFlags, allowScrollWhileFocused]);\n\n const handleSwipeEnd: SwipeEventHandler = useCallback(\n (event) => {\n if (stateRef.current.isSwipeEnabled && stateRef.current.isSwipeInProgress) {\n handleClose();\n } else {\n handleSwipeCancel(event);\n }\n },\n [handleClose, handleSwipeCancel]\n );\n\n const { onTouchStart, onTouchMove, onTouchEnd, onTouchCancel } = useSwipe({\n thresholdYRef: SWIPE_THRESHOLD_REF,\n onSwipeStart: handleSwipeStart,\n onSwipeMove: handleSwipeMove,\n onSwipeEnd: handleSwipeEnd,\n onSwipeCancel: handleSwipeCancel,\n });\n\n const swipeHandlers = useMemo<\n Record<'onTouchStart' | 'onTouchMove' | 'onTouchEnd' | 'onTouchCancel', TouchEventHandler<HTMLElement>>\n >(() => {\n const withStopPropagation =\n (callback?: TouchEventHandler): TouchEventHandler =>\n (event) => {\n event.stopPropagation();\n callback?.(event);\n };\n return {\n onTouchStart: withStopPropagation(onTouchStart),\n onTouchMove: withStopPropagation(onTouchMove),\n onTouchEnd,\n onTouchCancel,\n };\n }, [onTouchStart, onTouchMove, onTouchEnd, onTouchCancel]);\n\n useLayoutEffect(() => {\n if (\n !contentRef.current ||\n !footerRef.current ||\n !headerRef.current ||\n !scrollContainerRef.current ||\n !visualViewport\n ) {\n return;\n }\n\n if (visible) {\n stateRef.current.grabber = contentRef.current.offsetTop > 0 ? 'sticky' : 'sticky-inside';\n if (visible !== prevPropsRef.current.visible) {\n layoutMetricsRef.current.fillHeight = contentRef.current.offsetTop;\n layoutMetricsRef.current.grabberSpacing = scrollContainerRef.current.offsetTop;\n\n setCSSVariable(\n CSS_VAR_CONTENT_OVERLAY_TOP,\n `${contentRef.current.offsetTop + headerRef.current.clientHeight}px`\n );\n setCSSVariable(\n CSS_VAR_CONTENT_OVERLAY_HEIGHT,\n `${footerRef.current.offsetTop - headerRef.current.clientHeight}px`\n );\n setCSSVariable(CSS_VAR_INITIAL_VIEWPORT_HEIGHT, `${INITIAL_VIEWPORT_HEIGHT}px`);\n } else if (children !== prevPropsRef.current.children || height !== prevPropsRef.current.height) {\n const scrollTop = scrollContainerRef.current.scrollTop;\n scrollContainerRef.current.scrollTo({ top: 0 });\n\n const _heightDiff = layoutMetricsRef.current.fillHeight - contentRef.current.offsetTop;\n layoutMetricsRef.current.fillHeight = contentRef.current.offsetTop;\n if (_heightDiff !== 0 && !stateRef.current.hasFocus) {\n setHeightDiff(_heightDiff);\n }\n\n scrollContainerRef.current.scrollTo({ top: scrollTop });\n }\n }\n\n prevPropsRef.current = { ...prevPropsRef.current, children, height, visible };\n }, [children, height, setHeightDiff, visible]);\n\n if (onCloseContractCheck && visible) {\n console.error('onClose did not set visible=false', Date.now());\n }\n\n const contextValue = useMemo(() => ({ contentOverlayRef }), [contentOverlayRef]);\n\n const eventHandlers = useNoBubbling();\n\n if (!animationTimeout) {\n return null;\n }\n\n const renderFunc = (appearTransition: TransitionStatus, heightTransition: TransitionStatus) => (\n <Layer layer={InternalLayerName.BottomSheet}>\n <div\n {...eventHandlers}\n className={classnames(styles.overlay, {\n [styles.overlayInvisible]:\n !showOverlay || (showOverlay && appearTransition !== 'exiting' && !currentVisible),\n })}\n data-qa=\"bottom-sheet-overlay\"\n >\n <div\n className={classnames(styles.overlayBackground, {\n [styles.appearAnimation]: appearTransition === 'entering',\n [styles.disappearAnimation]: appearTransition === 'exiting',\n })}\n />\n <div\n className={classnames(styles.grabber, styles.grabberTransitionAnimation, {\n [styles.grabberInvisible]: appearTransition !== 'entered' || heightTransition !== 'exited',\n [styles.grabberFixed]:\n stateRef.current.grabber === 'fixed' || stateRef.current.grabber === 'sticky-inside',\n [styles.grabberFakeSticky]: stateRef.current.grabber === 'fake-sticky',\n })}\n ref={fixedGrabberRef}\n />\n <div\n className={classnames(styles.scrollContainer, {\n [styles.scrollContainerNoScroll]: !allowScrollWhileFocused && stateRef.current.hasFocus,\n [styles.virtualKeyboardAnimation]: stateRef.current.hasFocus,\n })}\n data-qa=\"bottom-sheet-container\"\n onScroll={recalcScrollFlags}\n ref={scrollContainerRefMulti}\n >\n <div\n className={classnames(styles.fill, {\n [styles.fillFullScreen]: height === 'full-screen',\n [styles.fillHalfScreen]: height === 'half-screen',\n })}\n data-qa=\"bottom-sheet-fill\"\n onClick={handleClose}\n />\n <div\n className={classnames(styles.content, {\n [styles.appearAnimation]: appearTransition === 'entering',\n [styles.closeBySwipeAnimation]:\n appearTransition === 'exiting' && stateRef.current.isSwipeInProgress,\n [styles.contentFullScreen]: height === 'full-screen',\n [styles.disappearAnimation]: appearTransition === 'exiting',\n [styles.heightTransitionAnimation]: heightTransition === 'entering',\n })}\n data-qa=\"bottom-sheet-content\"\n ref={contentRef}\n {...swipeHandlers}\n >\n <div\n className={classnames(styles.grabber, styles.grabberSticky, {\n [styles.grabberStickyInside]:\n appearTransition === 'entering' && stateRef.current.grabber === 'sticky-inside',\n })}\n ref={stickyGrabberRef}\n />\n <div className={styles.visualContainer}>\n <div className={styles.header} onFocus={handleFocus} ref={headerRef}>\n <NavigationBarContext.Provider value={NAVIGATION_BAR_SIZE_OVERRIDE}>\n {header}\n </NavigationBarContext.Provider>\n </div>\n <div\n className={classnames(styles.main, {\n [styles.mainWithPaddings]: withContentPaddings,\n [styles.mainWithoutHeader]: !header,\n })}\n >\n <BottomSheetContext.Provider value={contextValue}>\n {children}\n </BottomSheetContext.Provider>\n </div>\n <div\n className={classnames(styles.heightTransitionElement, {\n [styles.heightTransitionAnimation]: heightTransition === 'entering',\n })}\n ref={heightTransitionElementRef}\n />\n <div\n className={classnames(styles.footer, {\n [styles.heightTransitionAnimation]: heightTransition === 'entering',\n })}\n ref={footerRef}\n >\n {isDividerVisible && <Divider />}\n {interceptClickHandlers ? <ClickInterceptor>{footer}</ClickInterceptor> : footer}\n </div>\n </div>\n </div>\n </div>\n <div className={styles.contentOverlay} ref={contentOverlayRef} />\n </div>\n </Layer>\n );\n\n return createPortal(\n <div\n className={styles.cssVariablesContainer}\n data-qa=\"bottom-sheet-css-variables\"\n ref={cssVariablesContainerRef}\n >\n <Transition\n appear\n in={currentVisible}\n mountOnEnter\n onEnter={runTranslateYAnimation}\n onEntering={resetTranslateY}\n onEntered={handleAppearAnimationEnd}\n onExit={handleExitAnimationStart}\n onExiting={runTranslateYAnimation}\n onExited={handleExitAnimationEnd}\n timeout={animationTimeout.appear}\n unmountOnExit\n nodeRef={contentRef}\n >\n {(appearTransition) => (\n <Transition\n in={heightDiff !== null}\n onEnter={runTranslateYAnimation}\n onEntering={resetTranslateY}\n onEntered={resetHeightDiff}\n onExited={recalcScrollFlags}\n timeout={animationTimeout.height}\n nodeRef={contentRef}\n >\n {(heightTransition) => renderFunc(appearTransition, heightTransition)}\n </Transition>\n )}\n </Transition>\n </div>,\n document.body\n );\n};\n\nexport const BottomSheet = forwardRef(BottomSheetRenderFunc);\n\nBottomSheet.displayName = 'BottomSheet';\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
package/BottomSheetFooter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { s as styles } from './bottom-sheet-
|
|
3
|
+
import { s as styles } from './bottom-sheet-tVHu4rnM.js';
|
|
4
4
|
|
|
5
5
|
const BottomSheetFooter = ({ children }) => (jsx("div", { className: styles.footerWithPadding, children: children }));
|
|
6
6
|
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
var styles = {"animation-timeout":"magritte-animation-timeout___yd-SZ_4-1-37","animationTimeout":"magritte-animation-timeout___yd-SZ_4-1-37","css-variables-container":"magritte-css-variables-container___jBCr9_4-1-37","cssVariablesContainer":"magritte-css-variables-container___jBCr9_4-1-37","appear-animation":"magritte-appear-animation___P84Ln_4-1-37","appearAnimation":"magritte-appear-animation___P84Ln_4-1-37","disappear-animation":"magritte-disappear-animation___Putks_4-1-37","disappearAnimation":"magritte-disappear-animation___Putks_4-1-37","content":"magritte-content___1gAwP_4-1-37","overlay-background":"magritte-overlay-background___8Sd4V_4-1-37","overlayBackground":"magritte-overlay-background___8Sd4V_4-1-37","grabber-transition-animation":"magritte-grabber-transition-animation___s3Oh4_4-1-37","grabberTransitionAnimation":"magritte-grabber-transition-animation___s3Oh4_4-1-37","height-transition-animation":"magritte-height-transition-animation___xNprr_4-1-37","heightTransitionAnimation":"magritte-height-transition-animation___xNprr_4-1-37","footer":"magritte-footer___RWslT_4-1-37","height-transition-element":"magritte-height-transition-element___tyx84_4-1-37","heightTransitionElement":"magritte-height-transition-element___tyx84_4-1-37","close-by-swipe-animation":"magritte-close-by-swipe-animation___wdezY_4-1-37","closeBySwipeAnimation":"magritte-close-by-swipe-animation___wdezY_4-1-37","virtual-keyboard-animation":"magritte-virtual-keyboard-animation___vM9e-_4-1-37","virtualKeyboardAnimation":"magritte-virtual-keyboard-animation___vM9e-_4-1-37","overlay":"magritte-overlay___5a2U-_4-1-37","overlay_invisible":"magritte-overlay_invisible___-YFlP_4-1-37","overlayInvisible":"magritte-overlay_invisible___-YFlP_4-1-37","scroll-container":"magritte-scroll-container___4ngNY_4-1-37","scrollContainer":"magritte-scroll-container___4ngNY_4-1-37","scroll-container_no-scroll":"magritte-scroll-container_no-scroll___9BJP6_4-1-37","scrollContainerNoScroll":"magritte-scroll-container_no-scroll___9BJP6_4-1-37","fill":"magritte-fill___9eVpH_4-1-37","fill_full-screen":"magritte-fill_full-screen___HrIrL_4-1-37","fillFullScreen":"magritte-fill_full-screen___HrIrL_4-1-37","fill_half-screen":"magritte-fill_half-screen___phiVM_4-1-37","fillHalfScreen":"magritte-fill_half-screen___phiVM_4-1-37","content_full-screen":"magritte-content_full-screen___2SFaO_4-1-37","contentFullScreen":"magritte-content_full-screen___2SFaO_4-1-37","visual-container":"magritte-visual-container___-VSuY_4-1-37","visualContainer":"magritte-visual-container___-VSuY_4-1-37","header":"magritte-header___5mMtj_4-1-37","main":"magritte-main___tvGXi_4-1-37","main_with-paddings":"magritte-main_with-paddings___o8gOS_4-1-37","mainWithPaddings":"magritte-main_with-paddings___o8gOS_4-1-37","main_without-header":"magritte-main_without-header___ra86o_4-1-37","mainWithoutHeader":"magritte-main_without-header___ra86o_4-1-37","footer_swipe-in-progress":"magritte-footer_swipe-in-progress___h6f9r_4-1-37","footerSwipeInProgress":"magritte-footer_swipe-in-progress___h6f9r_4-1-37","footer-with-padding":"magritte-footer-with-padding___KwkhC_4-1-37","footerWithPadding":"magritte-footer-with-padding___KwkhC_4-1-37","grabber":"magritte-grabber___A7SB-_4-1-37","grabber_invisible":"magritte-grabber_invisible___Y-Iwm_4-1-37","grabberInvisible":"magritte-grabber_invisible___Y-Iwm_4-1-37","grabber_sticky":"magritte-grabber_sticky___-DE-B_4-1-37","grabberSticky":"magritte-grabber_sticky___-DE-B_4-1-37","grabber_fake-sticky":"magritte-grabber_fake-sticky___DKj2G_4-1-37","grabberFakeSticky":"magritte-grabber_fake-sticky___DKj2G_4-1-37","grabber_fixed":"magritte-grabber_fixed___qv9BU_4-1-37","grabberFixed":"magritte-grabber_fixed___qv9BU_4-1-37","grabber_sticky-inside":"magritte-grabber_sticky-inside___6vQtN_4-1-37","grabberStickyInside":"magritte-grabber_sticky-inside___6vQtN_4-1-37","content-overlay":"magritte-content-overlay___HAyzL_4-1-37","contentOverlay":"magritte-content-overlay___HAyzL_4-1-37"};
|
|
3
|
+
|
|
4
|
+
export { styles as s };
|
|
5
|
+
//# sourceMappingURL=bottom-sheet-tVHu4rnM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bottom-sheet-tVHu4rnM.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/index.css
CHANGED
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
--magritte-color-component-bottom-sheet-grabber-content-v18-2-1:#c6c6c68f;
|
|
21
21
|
--magritte-color-component-_overlay-background-content-v18-2-1:#26262699;
|
|
22
22
|
}
|
|
23
|
-
.magritte-animation-timeout___yd-SZ_4-1-
|
|
24
|
-
.magritte-css-variables-container___jBCr9_4-1-
|
|
23
|
+
.magritte-animation-timeout___yd-SZ_4-1-37,
|
|
24
|
+
.magritte-css-variables-container___jBCr9_4-1-37{
|
|
25
25
|
--initial-viewport-height:100%;
|
|
26
26
|
--overlay-opacity:1;
|
|
27
27
|
--virtual-keyboard-top-offset:0px;
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
--virtual-keyboard-animation-duration:0ms;
|
|
34
34
|
}
|
|
35
35
|
@media (prefers-reduced-motion: no-preference){
|
|
36
|
-
.magritte-animation-timeout___yd-SZ_4-1-
|
|
37
|
-
.magritte-css-variables-container___jBCr9_4-1-
|
|
36
|
+
.magritte-animation-timeout___yd-SZ_4-1-37,
|
|
37
|
+
.magritte-css-variables-container___jBCr9_4-1-37{
|
|
38
38
|
--enter-animation-duration:var(--magritte-semantic-animation-ease-in-out-300-duration-v18-2-1);
|
|
39
39
|
--exit-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v18-2-1);
|
|
40
40
|
--grabber-animation-duration:var(--magritte-semantic-animation-ease-in-out-200-duration-v18-2-1);
|
|
@@ -42,65 +42,65 @@
|
|
|
42
42
|
--virtual-keyboard-animation-duration:var(--magritte-semantic-animation-ease-in-out-100-duration-v18-2-1);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
.magritte-appear-animation___P84Ln_4-1-
|
|
45
|
+
.magritte-appear-animation___P84Ln_4-1-37{
|
|
46
46
|
transition-property:transform;
|
|
47
47
|
transition-duration:var(--enter-animation-duration);
|
|
48
48
|
transition-timing-function:var(--magritte-semantic-animation-ease-in-out-300-timing-function-v18-2-1);
|
|
49
49
|
}
|
|
50
|
-
.magritte-disappear-animation___Putks_4-1-
|
|
50
|
+
.magritte-disappear-animation___Putks_4-1-37{
|
|
51
51
|
transition-duration:var(--exit-animation-duration);
|
|
52
52
|
transition-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v18-2-1);
|
|
53
53
|
}
|
|
54
|
-
.magritte-content___1gAwP_4-1-
|
|
54
|
+
.magritte-content___1gAwP_4-1-37.magritte-disappear-animation___Putks_4-1-37{
|
|
55
55
|
transition-property:transform;
|
|
56
56
|
}
|
|
57
|
-
.magritte-overlay-background___8Sd4V_4-1-
|
|
58
|
-
.magritte-overlay-background___8Sd4V_4-1-
|
|
57
|
+
.magritte-overlay-background___8Sd4V_4-1-37.magritte-appear-animation___P84Ln_4-1-37,
|
|
58
|
+
.magritte-overlay-background___8Sd4V_4-1-37.magritte-disappear-animation___Putks_4-1-37{
|
|
59
59
|
transition-property:opacity;
|
|
60
60
|
}
|
|
61
|
-
.magritte-grabber-transition-animation___s3Oh4_4-1-
|
|
61
|
+
.magritte-grabber-transition-animation___s3Oh4_4-1-37{
|
|
62
62
|
transition-property:transform;
|
|
63
63
|
transition-duration:var(--grabber-animation-duration);
|
|
64
64
|
transition-timing-function:var(--magritte-semantic-animation-ease-in-out-200-timing-function-v18-2-1);
|
|
65
65
|
}
|
|
66
|
-
.magritte-content___1gAwP_4-1-
|
|
67
|
-
.magritte-footer___RWslT_4-1-
|
|
66
|
+
.magritte-content___1gAwP_4-1-37.magritte-height-transition-animation___xNprr_4-1-37,
|
|
67
|
+
.magritte-footer___RWslT_4-1-37.magritte-height-transition-animation___xNprr_4-1-37{
|
|
68
68
|
transition-property:transform;
|
|
69
69
|
}
|
|
70
|
-
.magritte-height-transition-element___tyx84_4-1-
|
|
70
|
+
.magritte-height-transition-element___tyx84_4-1-37.magritte-height-transition-animation___xNprr_4-1-37{
|
|
71
71
|
transition-property:flex-basis;
|
|
72
72
|
}
|
|
73
|
-
.magritte-height-transition-animation___xNprr_4-1-
|
|
73
|
+
.magritte-height-transition-animation___xNprr_4-1-37{
|
|
74
74
|
transition-duration:var(--height-transition-duration);
|
|
75
75
|
transition-timing-function:var(--magritte-semantic-animation-ease-in-out-400-timing-function-v18-2-1);
|
|
76
76
|
}
|
|
77
|
-
.magritte-close-by-swipe-animation___wdezY_4-1-
|
|
77
|
+
.magritte-close-by-swipe-animation___wdezY_4-1-37{
|
|
78
78
|
transition-property:transform;
|
|
79
79
|
transition-duration:var(--exit-animation-duration);
|
|
80
80
|
transition-timing-function:linear;
|
|
81
81
|
}
|
|
82
|
-
.magritte-virtual-keyboard-animation___vM9e-_4-1-
|
|
82
|
+
.magritte-virtual-keyboard-animation___vM9e-_4-1-37{
|
|
83
83
|
transition-property:bottom;
|
|
84
84
|
transition-duration:var(--virtual-keyboard-animation-duration);
|
|
85
85
|
transition-timing-function:var(--magritte-semantic-animation-ease-in-out-100-timing-function-v18-2-1);
|
|
86
86
|
}
|
|
87
|
-
.magritte-overlay___5a2U-_4-1-
|
|
87
|
+
.magritte-overlay___5a2U-_4-1-37{
|
|
88
88
|
position:fixed;
|
|
89
89
|
inset:0;
|
|
90
90
|
}
|
|
91
|
-
.magritte-overlay-background___8Sd4V_4-1-
|
|
91
|
+
.magritte-overlay-background___8Sd4V_4-1-37{
|
|
92
92
|
position:absolute;
|
|
93
93
|
inset:0;
|
|
94
94
|
background-color:var(--magritte-color-component-_overlay-background-content-v18-2-1);
|
|
95
95
|
opacity:var(--overlay-opacity);
|
|
96
96
|
}
|
|
97
|
-
.magritte-overlay_invisible___-YFlP_4-1-
|
|
97
|
+
.magritte-overlay_invisible___-YFlP_4-1-37{
|
|
98
98
|
pointer-events:none;
|
|
99
99
|
}
|
|
100
|
-
.magritte-overlay_invisible___-YFlP_4-1-
|
|
100
|
+
.magritte-overlay_invisible___-YFlP_4-1-37 .magritte-overlay-background___8Sd4V_4-1-37{
|
|
101
101
|
background-color:transparent;
|
|
102
102
|
}
|
|
103
|
-
.magritte-scroll-container___4ngNY_4-1-
|
|
103
|
+
.magritte-scroll-container___4ngNY_4-1-37{
|
|
104
104
|
position:absolute;
|
|
105
105
|
inset:calc(20px + var(--virtual-keyboard-top-offset)) calc(max(50vw, 640px / 2) - 640px / 2) var(--virtual-keyboard-bottom-offset);
|
|
106
106
|
border-radius:var(--magritte-semantic-border-radius-modal-v18-2-1) var(--magritte-semantic-border-radius-modal-v18-2-1) 0 0;
|
|
@@ -113,23 +113,23 @@
|
|
|
113
113
|
user-select:text;
|
|
114
114
|
contain:paint;
|
|
115
115
|
}
|
|
116
|
-
.magritte-scroll-container___4ngNY_4-1-
|
|
116
|
+
.magritte-scroll-container___4ngNY_4-1-37::-webkit-scrollbar{
|
|
117
117
|
display:none;
|
|
118
118
|
}
|
|
119
|
-
.magritte-scroll-container_no-scroll___9BJP6_4-1-
|
|
119
|
+
.magritte-scroll-container_no-scroll___9BJP6_4-1-37{
|
|
120
120
|
touch-action:none;
|
|
121
121
|
overflow-y:hidden;
|
|
122
122
|
}
|
|
123
|
-
.magritte-fill___9eVpH_4-1-
|
|
123
|
+
.magritte-fill___9eVpH_4-1-37{
|
|
124
124
|
flex:1 0 0;
|
|
125
125
|
}
|
|
126
|
-
.magritte-fill_full-screen___HrIrL_4-1-
|
|
126
|
+
.magritte-fill_full-screen___HrIrL_4-1-37{
|
|
127
127
|
flex:0 0 0;
|
|
128
128
|
}
|
|
129
|
-
.magritte-fill_half-screen___phiVM_4-1-
|
|
129
|
+
.magritte-fill_half-screen___phiVM_4-1-37{
|
|
130
130
|
flex:1 0 calc(100% - var(--initial-viewport-height) / 2 - var(--virtual-keyboard-bottom-offset) - 20px);
|
|
131
131
|
}
|
|
132
|
-
.magritte-content___1gAwP_4-1-
|
|
132
|
+
.magritte-content___1gAwP_4-1-37{
|
|
133
133
|
pointer-events:initial;
|
|
134
134
|
position:relative;
|
|
135
135
|
flex:0 0 auto;
|
|
@@ -138,10 +138,10 @@
|
|
|
138
138
|
align-self:center;
|
|
139
139
|
width:100%;
|
|
140
140
|
}
|
|
141
|
-
.magritte-content_full-screen___2SFaO_4-1-
|
|
141
|
+
.magritte-content_full-screen___2SFaO_4-1-37{
|
|
142
142
|
flex:1 0 calc(var(--initial-viewport-height) - var(--virtual-keyboard-bottom-offset) - 20px + 1px);
|
|
143
143
|
}
|
|
144
|
-
.magritte-visual-container___-VSuY_4-1-
|
|
144
|
+
.magritte-visual-container___-VSuY_4-1-37{
|
|
145
145
|
background-color:var(--magritte-color-component-bottom-sheet-background-content-v18-2-1);
|
|
146
146
|
border-radius:var(--magritte-semantic-border-radius-modal-v18-2-1) var(--magritte-semantic-border-radius-modal-v18-2-1) 0 0;
|
|
147
147
|
contain:paint;
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
flex-direction:column;
|
|
150
150
|
height:100%;
|
|
151
151
|
}
|
|
152
|
-
.magritte-header___5mMtj_4-1-
|
|
152
|
+
.magritte-header___5mMtj_4-1-37{
|
|
153
153
|
--magritte-ui-navigation-bar-background-override:var(--magritte-color-component-bottom-sheet-background-content-v18-2-1);
|
|
154
154
|
flex:0 0 auto;
|
|
155
155
|
position:sticky;
|
|
@@ -158,22 +158,22 @@
|
|
|
158
158
|
background-color:var(--magritte-color-component-bottom-sheet-background-content-v18-2-1);
|
|
159
159
|
z-index:2;
|
|
160
160
|
}
|
|
161
|
-
.magritte-main___tvGXi_4-1-
|
|
161
|
+
.magritte-main___tvGXi_4-1-37{
|
|
162
162
|
flex:1 0 auto;
|
|
163
163
|
z-index:1;
|
|
164
164
|
}
|
|
165
|
-
.magritte-main_with-paddings___o8gOS_4-1-
|
|
165
|
+
.magritte-main_with-paddings___o8gOS_4-1-37{
|
|
166
166
|
padding:16px 16px 0;
|
|
167
167
|
}
|
|
168
|
-
.magritte-main_with-paddings___o8gOS_4-1-
|
|
168
|
+
.magritte-main_with-paddings___o8gOS_4-1-37.magritte-main_without-header___ra86o_4-1-37{
|
|
169
169
|
padding:0 16px;
|
|
170
170
|
}
|
|
171
|
-
.magritte-height-transition-element___tyx84_4-1-
|
|
171
|
+
.magritte-height-transition-element___tyx84_4-1-37{
|
|
172
172
|
flex:0 0 0px;
|
|
173
173
|
background-color:var(--magritte-color-component-bottom-sheet-background-content-v18-2-1);
|
|
174
174
|
will-change:flex-basis;
|
|
175
175
|
}
|
|
176
|
-
.magritte-footer___RWslT_4-1-
|
|
176
|
+
.magritte-footer___RWslT_4-1-37{
|
|
177
177
|
flex:0 0 auto;
|
|
178
178
|
position:sticky;
|
|
179
179
|
bottom:0;
|
|
@@ -182,43 +182,43 @@
|
|
|
182
182
|
will-change:transform;
|
|
183
183
|
z-index:2;
|
|
184
184
|
}
|
|
185
|
-
.magritte-footer_swipe-in-progress___h6f9r_4-1-
|
|
185
|
+
.magritte-footer_swipe-in-progress___h6f9r_4-1-37{
|
|
186
186
|
position:absolute;
|
|
187
187
|
left:0;
|
|
188
188
|
right:0;
|
|
189
189
|
}
|
|
190
|
-
.magritte-footer-with-padding___KwkhC_4-1-
|
|
190
|
+
.magritte-footer-with-padding___KwkhC_4-1-37{
|
|
191
191
|
display:flex;
|
|
192
192
|
flex-direction:column;
|
|
193
193
|
gap:12px;
|
|
194
194
|
padding:16px 16px 0;
|
|
195
195
|
}
|
|
196
|
-
.magritte-grabber___A7SB-_4-1-
|
|
196
|
+
.magritte-grabber___A7SB-_4-1-37{
|
|
197
197
|
height:0;
|
|
198
198
|
width:100%;
|
|
199
199
|
z-index:1;
|
|
200
200
|
display:none;
|
|
201
201
|
}
|
|
202
|
-
.magritte-grabber_invisible___Y-Iwm_4-1-
|
|
202
|
+
.magritte-grabber_invisible___Y-Iwm_4-1-37{
|
|
203
203
|
visibility:hidden;
|
|
204
204
|
}
|
|
205
|
-
.magritte-grabber_sticky___-DE-B_4-1-
|
|
205
|
+
.magritte-grabber_sticky___-DE-B_4-1-37{
|
|
206
206
|
position:sticky;
|
|
207
207
|
top:-20px;
|
|
208
208
|
display:block;
|
|
209
209
|
}
|
|
210
|
-
.magritte-grabber_fake-sticky___DKj2G_4-1-
|
|
210
|
+
.magritte-grabber_fake-sticky___DKj2G_4-1-37{
|
|
211
211
|
position:fixed;
|
|
212
212
|
top:0;
|
|
213
213
|
display:block;
|
|
214
214
|
}
|
|
215
|
-
.magritte-grabber_fixed___qv9BU_4-1-
|
|
215
|
+
.magritte-grabber_fixed___qv9BU_4-1-37{
|
|
216
216
|
position:fixed;
|
|
217
217
|
top:20px;
|
|
218
218
|
transform:translateY(calc(20px + var(--virtual-keyboard-top-offset)));
|
|
219
219
|
display:block;
|
|
220
220
|
}
|
|
221
|
-
.magritte-grabber___A7SB-_4-1-
|
|
221
|
+
.magritte-grabber___A7SB-_4-1-37::after{
|
|
222
222
|
content:'';
|
|
223
223
|
position:absolute;
|
|
224
224
|
top:-12px;
|
|
@@ -228,10 +228,10 @@
|
|
|
228
228
|
background-color:var(--magritte-color-component-bottom-sheet-grabber-content-v18-2-1);
|
|
229
229
|
border-radius:var(--magritte-static-border-radius-50-v18-2-1);
|
|
230
230
|
}
|
|
231
|
-
.magritte-grabber_sticky-inside___6vQtN_4-1-
|
|
231
|
+
.magritte-grabber_sticky-inside___6vQtN_4-1-37::after{
|
|
232
232
|
top:8px;
|
|
233
233
|
}
|
|
234
|
-
.magritte-content-overlay___HAyzL_4-1-
|
|
234
|
+
.magritte-content-overlay___HAyzL_4-1-37{
|
|
235
235
|
pointer-events:none;
|
|
236
236
|
position:absolute;
|
|
237
237
|
inset:calc(20px + var(--content-overlay-top, 0px)) 0 auto 0;
|
package/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import 'react-transition-group';
|
|
|
10
10
|
import 'classnames';
|
|
11
11
|
import '@hh.ru/magritte-common-modal-helper';
|
|
12
12
|
import '@hh.ru/magritte-common-use-multiple-refs';
|
|
13
|
+
import '@hh.ru/magritte-common-use-no-bubbling';
|
|
13
14
|
import '@hh.ru/magritte-common-use-swipe';
|
|
14
15
|
import '@hh.ru/magritte-internal-layer-name';
|
|
15
16
|
import './BottomSheetContext.js';
|
|
@@ -18,5 +19,5 @@ import '@hh.ru/magritte-ui-breakpoint';
|
|
|
18
19
|
import '@hh.ru/magritte-ui-divider';
|
|
19
20
|
import '@hh.ru/magritte-ui-layer';
|
|
20
21
|
import '@hh.ru/magritte-ui-navigation-bar';
|
|
21
|
-
import './bottom-sheet-
|
|
22
|
+
import './bottom-sheet-tVHu4rnM.js';
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hh.ru/magritte-ui-bottom-sheet",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.37",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"sideEffects": [
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@hh.ru/magritte-common-func-utils": "1.3.7",
|
|
24
24
|
"@hh.ru/magritte-common-modal-helper": "1.2.7",
|
|
25
|
-
"@hh.ru/magritte-common-use-multiple-refs": "1.1.
|
|
25
|
+
"@hh.ru/magritte-common-use-multiple-refs": "1.1.4",
|
|
26
|
+
"@hh.ru/magritte-common-use-no-bubbling": "1.0.1",
|
|
26
27
|
"@hh.ru/magritte-common-use-swipe": "3.0.2",
|
|
27
28
|
"@hh.ru/magritte-design-tokens": "18.2.1",
|
|
28
29
|
"@hh.ru/magritte-internal-layer-name": "2.1.2",
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
"@hh.ru/magritte-ui-divider": "1.1.28",
|
|
31
32
|
"@hh.ru/magritte-ui-layer": "2.0.5",
|
|
32
33
|
"@hh.ru/magritte-ui-mock-component": "1.0.11",
|
|
33
|
-
"@hh.ru/magritte-ui-navigation-bar": "4.1.
|
|
34
|
+
"@hh.ru/magritte-ui-navigation-bar": "4.1.20",
|
|
34
35
|
"@hh.ru/magritte-ui-theme-provider": "1.1.25"
|
|
35
36
|
},
|
|
36
37
|
"peerDependencies": {
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"publishConfig": {
|
|
43
44
|
"access": "public"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "c97e0bd946a456f07010b6db9fe4b1afca93c44c"
|
|
46
47
|
}
|
package/bottom-sheet-BB_-PFgy.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import './index.css';
|
|
2
|
-
var styles = {"animation-timeout":"magritte-animation-timeout___yd-SZ_4-1-36","animationTimeout":"magritte-animation-timeout___yd-SZ_4-1-36","css-variables-container":"magritte-css-variables-container___jBCr9_4-1-36","cssVariablesContainer":"magritte-css-variables-container___jBCr9_4-1-36","appear-animation":"magritte-appear-animation___P84Ln_4-1-36","appearAnimation":"magritte-appear-animation___P84Ln_4-1-36","disappear-animation":"magritte-disappear-animation___Putks_4-1-36","disappearAnimation":"magritte-disappear-animation___Putks_4-1-36","content":"magritte-content___1gAwP_4-1-36","overlay-background":"magritte-overlay-background___8Sd4V_4-1-36","overlayBackground":"magritte-overlay-background___8Sd4V_4-1-36","grabber-transition-animation":"magritte-grabber-transition-animation___s3Oh4_4-1-36","grabberTransitionAnimation":"magritte-grabber-transition-animation___s3Oh4_4-1-36","height-transition-animation":"magritte-height-transition-animation___xNprr_4-1-36","heightTransitionAnimation":"magritte-height-transition-animation___xNprr_4-1-36","footer":"magritte-footer___RWslT_4-1-36","height-transition-element":"magritte-height-transition-element___tyx84_4-1-36","heightTransitionElement":"magritte-height-transition-element___tyx84_4-1-36","close-by-swipe-animation":"magritte-close-by-swipe-animation___wdezY_4-1-36","closeBySwipeAnimation":"magritte-close-by-swipe-animation___wdezY_4-1-36","virtual-keyboard-animation":"magritte-virtual-keyboard-animation___vM9e-_4-1-36","virtualKeyboardAnimation":"magritte-virtual-keyboard-animation___vM9e-_4-1-36","overlay":"magritte-overlay___5a2U-_4-1-36","overlay_invisible":"magritte-overlay_invisible___-YFlP_4-1-36","overlayInvisible":"magritte-overlay_invisible___-YFlP_4-1-36","scroll-container":"magritte-scroll-container___4ngNY_4-1-36","scrollContainer":"magritte-scroll-container___4ngNY_4-1-36","scroll-container_no-scroll":"magritte-scroll-container_no-scroll___9BJP6_4-1-36","scrollContainerNoScroll":"magritte-scroll-container_no-scroll___9BJP6_4-1-36","fill":"magritte-fill___9eVpH_4-1-36","fill_full-screen":"magritte-fill_full-screen___HrIrL_4-1-36","fillFullScreen":"magritte-fill_full-screen___HrIrL_4-1-36","fill_half-screen":"magritte-fill_half-screen___phiVM_4-1-36","fillHalfScreen":"magritte-fill_half-screen___phiVM_4-1-36","content_full-screen":"magritte-content_full-screen___2SFaO_4-1-36","contentFullScreen":"magritte-content_full-screen___2SFaO_4-1-36","visual-container":"magritte-visual-container___-VSuY_4-1-36","visualContainer":"magritte-visual-container___-VSuY_4-1-36","header":"magritte-header___5mMtj_4-1-36","main":"magritte-main___tvGXi_4-1-36","main_with-paddings":"magritte-main_with-paddings___o8gOS_4-1-36","mainWithPaddings":"magritte-main_with-paddings___o8gOS_4-1-36","main_without-header":"magritte-main_without-header___ra86o_4-1-36","mainWithoutHeader":"magritte-main_without-header___ra86o_4-1-36","footer_swipe-in-progress":"magritte-footer_swipe-in-progress___h6f9r_4-1-36","footerSwipeInProgress":"magritte-footer_swipe-in-progress___h6f9r_4-1-36","footer-with-padding":"magritte-footer-with-padding___KwkhC_4-1-36","footerWithPadding":"magritte-footer-with-padding___KwkhC_4-1-36","grabber":"magritte-grabber___A7SB-_4-1-36","grabber_invisible":"magritte-grabber_invisible___Y-Iwm_4-1-36","grabberInvisible":"magritte-grabber_invisible___Y-Iwm_4-1-36","grabber_sticky":"magritte-grabber_sticky___-DE-B_4-1-36","grabberSticky":"magritte-grabber_sticky___-DE-B_4-1-36","grabber_fake-sticky":"magritte-grabber_fake-sticky___DKj2G_4-1-36","grabberFakeSticky":"magritte-grabber_fake-sticky___DKj2G_4-1-36","grabber_fixed":"magritte-grabber_fixed___qv9BU_4-1-36","grabberFixed":"magritte-grabber_fixed___qv9BU_4-1-36","grabber_sticky-inside":"magritte-grabber_sticky-inside___6vQtN_4-1-36","grabberStickyInside":"magritte-grabber_sticky-inside___6vQtN_4-1-36","content-overlay":"magritte-content-overlay___HAyzL_4-1-36","contentOverlay":"magritte-content-overlay___HAyzL_4-1-36"};
|
|
3
|
-
|
|
4
|
-
export { styles as s };
|
|
5
|
-
//# sourceMappingURL=bottom-sheet-BB_-PFgy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bottom-sheet-BB_-PFgy.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|