You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
27 KiB

{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements';\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport ModalPresentationContext from \"../../utils/ModalPresentationContext\";\nimport useKeyboardManager from \"../../utils/useKeyboardManager\";\nimport Card from \"./Card\";\nvar EPSILON = 0.1;\nfunction CardContainer(_ref) {\n var interpolationIndex = _ref.interpolationIndex,\n index = _ref.index,\n active = _ref.active,\n closing = _ref.closing,\n gesture = _ref.gesture,\n focused = _ref.focused,\n modal = _ref.modal,\n getPreviousScene = _ref.getPreviousScene,\n getFocusedRoute = _ref.getFocusedRoute,\n headerDarkContent = _ref.headerDarkContent,\n hasAbsoluteFloatHeader = _ref.hasAbsoluteFloatHeader,\n headerHeight = _ref.headerHeight,\n onHeaderHeightChange = _ref.onHeaderHeightChange,\n isParentHeaderShown = _ref.isParentHeaderShown,\n isNextScreenTransparent = _ref.isNextScreenTransparent,\n detachCurrentScreen = _ref.detachCurrentScreen,\n layout = _ref.layout,\n onCloseRoute = _ref.onCloseRoute,\n onOpenRoute = _ref.onOpenRoute,\n onGestureCancel = _ref.onGestureCancel,\n onGestureEnd = _ref.onGestureEnd,\n onGestureStart = _ref.onGestureStart,\n onTransitionEnd = _ref.onTransitionEnd,\n onTransitionStart = _ref.onTransitionStart,\n renderHeader = _ref.renderHeader,\n renderScene = _ref.renderScene,\n safeAreaInsetBottom = _ref.safeAreaInsetBottom,\n safeAreaInsetLeft = _ref.safeAreaInsetLeft,\n safeAreaInsetRight = _ref.safeAreaInsetRight,\n safeAreaInsetTop = _ref.safeAreaInsetTop,\n scene = _ref.scene;\n var parentHeaderHeight = React.useContext(HeaderHeightContext);\n var _useKeyboardManager = useKeyboardManager(React.useCallback(function () {\n var _scene$descriptor = scene.descriptor,\n options = _scene$descriptor.options,\n navigation = _scene$descriptor.navigation;\n return navigation.isFocused() && options.keyboardHandlingEnabled !== false;\n }, [scene.descriptor])),\n onPageChangeStart = _useKeyboardManager.onPageChangeStart,\n onPageChangeCancel = _useKeyboardManager.onPageChangeCancel,\n onPageChangeConfirm = _useKeyboardManager.onPageChangeConfirm;\n var handleOpen = function handleOpen() {\n var route = scene.descriptor.route;\n onTransitionEnd({\n route: route\n }, false);\n onOpenRoute({\n route: route\n });\n };\n var handleClose = function handleClose() {\n var route = scene.descriptor.route;\n onTransitionEnd({\n route: route\n }, true);\n onCloseRoute({\n route: route\n });\n };\n var handleGestureBegin = function handleGestureBegin() {\n var route = scene.descriptor.route;\n onPageChangeStart();\n onGestureStart({\n route: route\n });\n };\n var handleGestureCanceled = function handleGestureCanceled() {\n var route = scene.descriptor.route;\n onPageChangeCancel();\n onGestureCancel({\n route: route\n });\n };\n var handleGestureEnd = function handleGestureEnd() {\n var route = scene.descriptor.route;\n onGestureEnd({\n route: route\n });\n };\n var handleTransition = function handleTransition(_ref2) {\n var closing = _ref2.closing,\n gesture = _ref2.gesture;\n var route = scene.descriptor.route;\n if (!gesture) {\n onPageChangeConfirm === null || onPageChangeConfirm === void 0 ? void 0 : onPageChangeConfirm(true);\n } else if (active && closing) {\n onPageChangeConfirm === null || onPageChangeConfirm === void 0 ? void 0 : onPageChangeConfirm(false);\n } else {\n onPageChangeCancel === null || onPageChangeCancel === void 0 ? void 0 : onPageChangeCancel();\n }\n onTransitionStart === null || onTransitionStart === void 0 ? void 0 : onTransitionStart({\n route: route\n }, closing);\n };\n var insets = {\n top: safeAreaInsetTop,\n right: safeAreaInsetRight,\n bottom: safeAreaInsetBottom,\n left: safeAreaInsetLeft\n };\n var _useTheme = useTheme(),\n colors = _useTheme.colors;\n var _React$useState = React.useState('box-none'),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n pointerEvents = _React$useState2[0],\n setPointerEvents = _React$useState2[1];\n React.useEffect(function () {\n var _scene$progress$next, _scene$progress$next$;\n var listener = (_scene$progress$next = scene.progress.next) === null || _scene$progress$next === void 0 ? void 0 : (_scene$progress$next$ = _scene$progress$next.addListener) === null || _scene$progress$next$ === void 0 ? void 0 : _scene$progress$next$.call(_scene$progress$next, function (_ref3) {\n var value = _ref3.value;\n setPointerEvents(value <= EPSILON ? 'box-none' : 'none');\n });\n return function () {\n if (listener) {\n var _scene$progress$next2, _scene$progress$next3;\n (_scene$progress$next2 = scene.progress.next) === null || _scene$progress$next2 === void 0 ? void 0 : (_scene$progress$next3 = _scene$progress$next2.removeListener) === null || _scene$progress$next3 === void 0 ? void 0 : _scene$progress$next3.call(_scene$progress$next2, listener);\n }\n };\n }, [pointerEvents, scene.progress.next]);\n var _scene$descriptor$opt = scene.descriptor.options,\n presentation = _scene$descriptor$opt.presentation,\n animationEnabled = _scene$descriptor$opt.animationEnabled,\n cardOverlay = _scene$descriptor$opt.cardOverlay,\n cardOverlayEnabled = _scene$descriptor$opt.cardOverlayEnabled,\n cardShadowEnabled = _scene$descriptor$opt.cardShadowEnabled,\n cardStyle = _scene$descriptor$opt.cardStyle,\n cardStyleInterpolator = _scene$descriptor$opt.cardStyleInterpolator,\n gestureDirection = _scene$descriptor$opt.gestureDirection,\n gestureEnabled = _scene$descriptor$opt.gestureEnabled,\n gestureResponseDistance = _scene$descriptor$opt.gestureResponseDistance,\n gestureVelocityImpact = _scene$descriptor$opt.gestureVelocityImpact,\n headerMode = _scene$descriptor$opt.headerMode,\n headerShown = _scene$descriptor$opt.headerShown,\n transitionSpec = _scene$descriptor$opt.transitionSpec;\n var previousScene = getPreviousScene({\n route: scene.descriptor.route\n });\n var backTitle;\n if (previousScene) {\n var _previousScene$descri = previousScene.descriptor,\n options = _previousScene$descri.options,\n route = _previousScene$descri.route;\n backTitle = getHeaderTitle(options, route.name);\n }\n var headerBack = React.useMemo(function () {\n return backTitle !== undefined ? {\n title: backTitle\n } : undefined;\n }, [backTitle]);\n return React.createElement(Card, {\n interpolationIndex: interpolationIndex,\n gestureDirection: gestureDirection,\n layout: layout,\n insets: insets,\n gesture: gesture,\n current: scene.progress.current,\n next: scene.progress.next,\n closing: closing,\n onOpen: handleOpen,\n onClose: handleClose,\n overlay: cardOverlay,\n overlayEnabled: cardOverlayEnabled,\n shadowEnabled: cardShadowEnabled,\n onTransition: handleTransition,\n onGestureBegin: handleGestureBegin,\n onGestureCanceled: handleGestureCanceled,\n onGestureEnd: handleGestureEnd,\n gestureEnabled: index === 0 ? false : gestureEnabled,\n gestureResponseDistance: gestureResponseDistance,\n gestureVelocityImpact: gestureVelocityImpact,\n transitionSpec: transitionSpec,\n styleInterpolator: cardStyleInterpolator,\n accessibilityElementsHidden: !focused,\n importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',\n pointerEvents: active ? 'box-none' : pointerEvents,\n pageOverflowEnabled: headerMode !== 'float' && presentation !== 'modal',\n headerDarkContent: headerDarkContent,\n containerStyle: hasAbsoluteFloatHeader && headerMode !== 'screen' ? {\n marginTop: headerHeight\n } : null,\n contentStyle: [{\n backgroundColor: presentation === 'transparentModal' ? 'transparent' : colors.background\n }, cardStyle],\n style: [{\n overflow: active ? undefined : 'hidden',\n display: animationEnabled === false && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex'\n }, StyleSheet.absoluteFill]\n }, React.createElement(View, {\n style: styles.container\n }, React.createElement(ModalPresentationContext.Provider, {\n value: modal\n }, React.createElement(View, {\n style: styles.scene\n }, React.createElement(HeaderBackContext.Provider, {\n value: headerBack\n }, React.createElement(HeaderShownContext.Provider, {\n value: isParentHeaderShown || headerShown !== false\n }, React.createElement(HeaderHeightContext.Provider, {\n value: headerShown ? headerHeight : parentHeaderHeight != null ? parentHeaderHeight : 0\n }, renderScene({\n route: scene.descriptor.route\n }))))), headerMode !== 'float' ? renderHeader({\n mode: 'screen',\n layout: layout,\n scenes: [previousScene, scene],\n getPreviousScene: getPreviousScene,\n getFocusedRoute: getFocusedRoute,\n onContentHeightChange: onHeaderHeightChange\n }) : null)));\n}\nexport default React.memo(CardContainer);\nvar styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse'\n },\n scene: {\n flex: 1\n }\n});","map":{"version":3,"sources":["CardContainer.tsx"],"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useTheme","React","ModalPresentationContext","useKeyboardManager","Card","EPSILON","CardContainer","interpolationIndex","index","active","closing","gesture","focused","modal","getPreviousScene","getFocusedRoute","headerDarkContent","hasAbsoluteFloatHeader","headerHeight","onHeaderHeightChange","isParentHeaderShown","isNextScreenTransparent","detachCurrentScreen","layout","onCloseRoute","onOpenRoute","onGestureCancel","onGestureEnd","onGestureStart","onTransitionEnd","onTransitionStart","renderHeader","renderScene","safeAreaInsetBottom","safeAreaInsetLeft","safeAreaInsetRight","safeAreaInsetTop","scene","parentHeaderHeight","useContext","onPageChangeStart","onPageChangeCancel","onPageChangeConfirm","useCallback","options","navigation","descriptor","isFocused","keyboardHandlingEnabled","handleOpen","route","handleClose","handleGestureBegin","handleGestureCanceled","handleGestureEnd","handleTransition","insets","top","right","bottom","left","colors","pointerEvents","setPointerEvents","useState","useEffect","listener","progress","next","addListener","value","removeListener","presentation","animationEnabled","cardOverlay","cardOverlayEnabled","cardShadowEnabled","cardStyle","cardStyleInterpolator","gestureDirection","gestureEnabled","gestureResponseDistance","gestureVelocityImpact","headerMode","headerShown","transitionSpec","previousScene","backTitle","name","headerBack","useMemo","undefined","title","current","marginTop","backgroundColor","background","overflow","display","StyleSheet","absoluteFill","styles","container","mode","scenes","onContentHeightChange","memo","create","flex","flexDirection"],"mappings":"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","sourceRoot":"../../src","sourcesContent":["import { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements';\nimport { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport ModalPresentationContext from '../../utils/ModalPresentationContext';\nimport useKeyboardManager from '../../utils/useKeyboardManager';\nimport Card from './Card';\nconst EPSILON = 0.1;\nfunction CardContainer(_ref) {\n let {\n interpolationIndex,\n index,\n active,\n closing,\n gesture,\n focused,\n modal,\n getPreviousScene,\n getFocusedRoute,\n headerDarkContent,\n hasAbsoluteFloatHeader,\n headerHeight,\n onHeaderHeightChange,\n isParentHeaderShown,\n isNextScreenTransparent,\n detachCurrentScreen,\n layout,\n onCloseRoute,\n onOpenRoute,\n onGestureCancel,\n onGestureEnd,\n onGestureStart,\n onTransitionEnd,\n onTransitionStart,\n renderHeader,\n renderScene,\n safeAreaInsetBottom,\n safeAreaInsetLeft,\n safeAreaInsetRight,\n safeAreaInsetTop,\n scene\n } = _ref;\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const {\n onPageChangeStart,\n onPageChangeCancel,\n onPageChangeConfirm\n } = useKeyboardManager(React.useCallback(() => {\n const {\n options,\n navigation\n } = scene.descriptor;\n return navigation.isFocused() && options.keyboardHandlingEnabled !== false;\n }, [scene.descriptor]));\n const handleOpen = () => {\n const {\n route\n } = scene.descriptor;\n onTransitionEnd({\n route\n }, false);\n onOpenRoute({\n route\n });\n };\n const handleClose = () => {\n const {\n route\n } = scene.descriptor;\n onTransitionEnd({\n route\n }, true);\n onCloseRoute({\n route\n });\n };\n const handleGestureBegin = () => {\n const {\n route\n } = scene.descriptor;\n onPageChangeStart();\n onGestureStart({\n route\n });\n };\n const handleGestureCanceled = () => {\n const {\n route\n } = scene.descriptor;\n onPageChangeCancel();\n onGestureCancel({\n route\n });\n };\n const handleGestureEnd = () => {\n const {\n route\n } = scene.descriptor;\n onGestureEnd({\n route\n });\n };\n const handleTransition = _ref2 => {\n let {\n closing,\n gesture\n } = _ref2;\n const {\n route\n } = scene.descriptor;\n if (!gesture) {\n onPageChangeConfirm === null || onPageChangeConfirm === void 0 ? void 0 : onPageChangeConfirm(true);\n } else if (active && closing) {\n onPageChangeConfirm === null || onPageChangeConfirm === void 0 ? void 0 : onPageChangeConfirm(false);\n } else {\n onPageChangeCancel === null || onPageChangeCancel === void 0 ? void 0 : onPageChangeCancel();\n }\n onTransitionStart === null || onTransitionStart === void 0 ? void 0 : onTransitionStart({\n route\n }, closing);\n };\n const insets = {\n top: safeAreaInsetTop,\n right: safeAreaInsetRight,\n bottom: safeAreaInsetBottom,\n left: safeAreaInsetLeft\n };\n const {\n colors\n } = useTheme();\n const [pointerEvents, setPointerEvents] = React.useState('box-none');\n React.useEffect(() => {\n var _scene$progress$next, _scene$progress$next$;\n const listener = (_scene$progress$next = scene.progress.next) === null || _scene$progress$next === void 0 ? void 0 : (_scene$progress$next$ = _scene$progress$next.addListener) === null || _scene$progress$next$ === void 0 ? void 0 : _scene$progress$next$.call(_scene$progress$next, _ref3 => {\n let {\n value\n } = _ref3;\n setPointerEvents(value <= EPSILON ? 'box-none' : 'none');\n });\n return () => {\n if (listener) {\n var _scene$progress$next2, _scene$progress$next3;\n (_scene$progress$next2 = scene.progress.next) === null || _scene$progress$next2 === void 0 ? void 0 : (_scene$progress$next3 = _scene$progress$next2.removeListener) === null || _scene$progress$next3 === void 0 ? void 0 : _scene$progress$next3.call(_scene$progress$next2, listener);\n }\n };\n }, [pointerEvents, scene.progress.next]);\n const {\n presentation,\n animationEnabled,\n cardOverlay,\n cardOverlayEnabled,\n cardShadowEnabled,\n cardStyle,\n cardStyleInterpolator,\n gestureDirection,\n gestureEnabled,\n gestureResponseDistance,\n gestureVelocityImpact,\n headerMode,\n headerShown,\n transitionSpec\n } = scene.descriptor.options;\n const previousScene = getPreviousScene({\n route: scene.descriptor.route\n });\n let backTitle;\n if (previousScene) {\n const {\n options,\n route\n } = previousScene.descriptor;\n backTitle = getHeaderTitle(options, route.name);\n }\n const headerBack = React.useMemo(() => backTitle !== undefined ? {\n title: backTitle\n } : undefined, [backTitle]);\n return /*#__PURE__*/React.createElement(Card, {\n interpolationIndex: interpolationIndex,\n gestureDirection: gestureDirection,\n layout: layout,\n insets: insets,\n gesture: gesture,\n current: scene.progress.current,\n next: scene.progress.next,\n closing: closing,\n onOpen: handleOpen,\n onClose: handleClose,\n overlay: cardOverlay,\n overlayEnabled: cardOverlayEnabled,\n shadowEnabled: cardShadowEnabled,\n onTransition: handleTransition,\n onGestureBegin: handleGestureBegin,\n onGestureCanceled: handleGestureCanceled,\n onGestureEnd: handleGestureEnd,\n gestureEnabled: index === 0 ? false : gestureEnabled,\n gestureResponseDistance: gestureResponseDistance,\n gestureVelocityImpact: gestureVelocityImpact,\n transitionSpec: transitionSpec,\n styleInterpolator: cardStyleInterpolator,\n accessibilityElementsHidden: !focused,\n importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',\n pointerEvents: active ? 'box-none' : pointerEvents,\n pageOverflowEnabled: headerMode !== 'float' && presentation !== 'modal',\n headerDarkContent: headerDarkContent,\n containerStyle: hasAbsoluteFloatHeader && headerMode !== 'screen' ? {\n marginTop: headerHeight\n } : null,\n contentStyle: [{\n backgroundColor: presentation === 'transparentModal' ? 'transparent' : colors.background\n }, cardStyle],\n style: [{\n // This is necessary to avoid unfocused larger pages increasing scroll area\n // The issue can be seen on the web when a smaller screen is pushed over a larger one\n overflow: active ? undefined : 'hidden',\n display:\n // Hide unfocused screens when animation isn't enabled\n // This is also necessary for a11y on web\n animationEnabled === false && isNextScreenTransparent === false && detachCurrentScreen !== false && !focused ? 'none' : 'flex'\n }, StyleSheet.absoluteFill]\n }, /*#__PURE__*/React.createElement(View, {\n style: styles.container\n }, /*#__PURE__*/React.createElement(ModalPresentationContext.Provider, {\n value: modal\n }, /*#__PURE__*/React.createElement(View, {\n style: styles.scene\n }, /*#__PURE__*/React.createElement(HeaderBackContext.Provider, {\n value: headerBack\n }, /*#__PURE__*/React.createElement(HeaderShownContext.Provider, {\n value: isParentHeaderShown || headerShown !== false\n }, /*#__PURE__*/React.createElement(HeaderHeightContext.Provider, {\n value: headerShown ? headerHeight : parentHeaderHeight ?? 0\n }, renderScene({\n route: scene.descriptor.route\n }))))), headerMode !== 'float' ? renderHeader({\n mode: 'screen',\n layout,\n scenes: [previousScene, scene],\n getPreviousScene,\n getFocusedRoute,\n onContentHeightChange: onHeaderHeightChange\n }) : null)));\n}\nexport default /*#__PURE__*/React.memo(CardContainer);\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse'\n },\n scene: {\n flex: 1\n }\n});\n//# sourceMappingURL=CardContainer.js.map"]},"metadata":{},"sourceType":"module"}