@tamagui/sheet 3.1.5 → 3.1.7

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.
@@ -35,6 +35,7 @@ var import_animate_presence = require("@tamagui/animate-presence");
35
35
  var import_transitionResolver = require("@tamagui/animation-helpers/transitionResolver");
36
36
  var import_compose_refs = require("@tamagui/compose-refs");
37
37
  var import_constants = require("@tamagui/constants");
38
+ var import_focus_scope = require("@tamagui/focus-scope");
38
39
  var import_core = require("@tamagui/core");
39
40
  var import_portal = require("@tamagui/portal");
40
41
  var import_react = __toESM(require("react"), 1);
@@ -68,7 +69,7 @@ const sheetEscapeLayers = [];
68
69
  const SheetImplementationCustom = (0, import_core.createRefComponent)(function SheetImplementationCustom2(props, forwardedRef) {
69
70
  const parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);
70
71
  const safeAreaTopInset = (0, import_useSafeAreaInsets.useSafeAreaInsets)()?.top ?? 0;
71
- const { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition } = props;
72
+ const { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby } = props;
72
73
  const state = (0, import_useSheetOpenState.useSheetOpenState)(props);
73
74
  const providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);
74
75
  const { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;
@@ -612,6 +613,10 @@ const SheetImplementationCustom = (0, import_core.createRefComponent)(function S
612
613
  }),
613
614
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {
614
615
  ref,
616
+ role: import_constants.isWeb && modal ? "dialog" : void 0,
617
+ "aria-modal": import_constants.isWeb && modal ? true : void 0,
618
+ "aria-label": import_constants.isWeb && modal ? ariaLabel : void 0,
619
+ "aria-labelledby": import_constants.isWeb && modal ? ariaLabelledby : void 0,
615
620
  onLayout: handleAnimationViewLayout,
616
621
  transition: isDragging || disableAnimation ? null : transition,
617
622
  disableClassName: true,
@@ -642,14 +647,21 @@ const SheetImplementationCustom = (0, import_core.createRefComponent)(function S
642
647
  if (!shouldMountChildren) return null;
643
648
  const RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;
644
649
  const mountedContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents });
650
+ const gestureContents = RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {
651
+ style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
652
+ children: mountedContents
653
+ }) : mountedContents;
645
654
  const modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {
646
655
  stackZIndex: zIndex,
647
656
  hidden: !isVisuallyActive,
648
657
  ...portalProps,
649
- children: RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {
650
- style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
651
- children: mountedContents
652
- }) : mountedContents
658
+ children: import_constants.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_focus_scope.FocusScope, {
659
+ loop: true,
660
+ enabled: open && !shouldHideParentSheet,
661
+ trapped: open && !shouldHideParentSheet,
662
+ forceUnmount: !open,
663
+ children: gestureContents
664
+ }) : gestureContents
653
665
  });
654
666
  if (import_constants.isWeb) return modalContents;
655
667
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {
@@ -38,6 +38,7 @@ var import_animate_presence = require("@tamagui/animate-presence");
38
38
  var import_transitionResolver = require("@tamagui/animation-helpers/transitionResolver");
39
39
  var import_compose_refs = require("@tamagui/compose-refs");
40
40
  var import_constants = require("@tamagui/constants");
41
+ var import_focus_scope = require("@tamagui/focus-scope");
41
42
  var import_core = require("@tamagui/core");
42
43
  var import_portal = require("@tamagui/portal");
43
44
  var import_react = __toESM(require("react"), 1);
@@ -71,7 +72,7 @@ var SheetImplementationCustom = (0, import_core.createRefComponent)(function She
71
72
  var parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);
72
73
  var safeAreaInsets = (0, import_useSafeAreaInsets.useSafeAreaInsets)();
73
74
  var safeAreaTopInset = (_ref = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _ref !== void 0 ? _ref : 0;
74
- var { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition } = props;
75
+ var { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby } = props;
75
76
  var state = (0, import_useSheetOpenState.useSheetOpenState)(props);
76
77
  var providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);
77
78
  var { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;
@@ -641,6 +642,10 @@ var SheetImplementationCustom = (0, import_core.createRefComponent)(function She
641
642
  }),
642
643
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {
643
644
  ref,
645
+ role: import_constants.isWeb && modal ? "dialog" : void 0,
646
+ "aria-modal": import_constants.isWeb && modal ? true : void 0,
647
+ "aria-label": import_constants.isWeb && modal ? ariaLabel : void 0,
648
+ "aria-labelledby": import_constants.isWeb && modal ? ariaLabelledby : void 0,
644
649
  onLayout: handleAnimationViewLayout,
645
650
  transition: isDragging || disableAnimation ? null : transition,
646
651
  disableClassName: true,
@@ -681,14 +686,21 @@ var SheetImplementationCustom = (0, import_core.createRefComponent)(function She
681
686
  if (!shouldMountChildren) return null;
682
687
  var RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;
683
688
  var mountedContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents });
689
+ var gestureContents = RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {
690
+ style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
691
+ children: mountedContents
692
+ }) : mountedContents;
684
693
  var modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {
685
694
  stackZIndex: zIndex,
686
695
  hidden: !isVisuallyActive,
687
696
  ...portalProps,
688
- children: RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {
689
- style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
690
- children: mountedContents
691
- }) : mountedContents
697
+ children: import_constants.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_focus_scope.FocusScope, {
698
+ loop: true,
699
+ enabled: open && !shouldHideParentSheet,
700
+ trapped: open && !shouldHideParentSheet,
701
+ forceUnmount: !open,
702
+ children: gestureContents
703
+ }) : gestureContents
692
704
  });
693
705
  if (import_constants.isWeb) return modalContents;
694
706
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {
@@ -38,6 +38,7 @@ var import_animate_presence = require("@tamagui/animate-presence");
38
38
  var import_transitionResolver = require("@tamagui/animation-helpers/transitionResolver");
39
39
  var import_compose_refs = require("@tamagui/compose-refs");
40
40
  var import_constants = require("@tamagui/constants");
41
+ var import_focus_scope = require("@tamagui/focus-scope");
41
42
  var import_core = require("@tamagui/core");
42
43
  var import_portal = require("@tamagui/portal");
43
44
  var import_react = __toESM(require("react"), 1);
@@ -71,7 +72,7 @@ var SheetImplementationCustom = (0, import_core.createRefComponent)(function She
71
72
  var parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);
72
73
  var safeAreaInsets = (0, import_useSafeAreaInsets.useSafeAreaInsets)();
73
74
  var safeAreaTopInset = (_ref = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _ref !== void 0 ? _ref : 0;
74
- var { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition } = props;
75
+ var { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby } = props;
75
76
  var state = (0, import_useSheetOpenState.useSheetOpenState)(props);
76
77
  var providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);
77
78
  var { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;
@@ -641,6 +642,10 @@ var SheetImplementationCustom = (0, import_core.createRefComponent)(function She
641
642
  }),
642
643
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {
643
644
  ref,
645
+ role: import_constants.isWeb && modal ? "dialog" : void 0,
646
+ "aria-modal": import_constants.isWeb && modal ? true : void 0,
647
+ "aria-label": import_constants.isWeb && modal ? ariaLabel : void 0,
648
+ "aria-labelledby": import_constants.isWeb && modal ? ariaLabelledby : void 0,
644
649
  onLayout: handleAnimationViewLayout,
645
650
  transition: isDragging || disableAnimation ? null : transition,
646
651
  disableClassName: true,
@@ -681,14 +686,21 @@ var SheetImplementationCustom = (0, import_core.createRefComponent)(function She
681
686
  if (!shouldMountChildren) return null;
682
687
  var RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;
683
688
  var mountedContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents });
689
+ var gestureContents = RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {
690
+ style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
691
+ children: mountedContents
692
+ }) : mountedContents;
684
693
  var modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {
685
694
  stackZIndex: zIndex,
686
695
  hidden: !isVisuallyActive,
687
696
  ...portalProps,
688
- children: RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {
689
- style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
690
- children: mountedContents
691
- }) : mountedContents
697
+ children: import_constants.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_focus_scope.FocusScope, {
698
+ loop: true,
699
+ enabled: open && !shouldHideParentSheet,
700
+ trapped: open && !shouldHideParentSheet,
701
+ forceUnmount: !open,
702
+ children: gestureContents
703
+ }) : gestureContents
692
704
  });
693
705
  if (import_constants.isWeb) return modalContents;
694
706
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"SheetImplementationCustom.native.js","names":[],"sources":["cjs/SheetImplementationCustom.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SheetImplementationCustom_exports = {};\n__export(SheetImplementationCustom_exports, {\n\tSheetImplementationCustom: () => SheetImplementationCustom,\n\tisSheetOverlayComponent: () => isSheetOverlayComponent\n});\nmodule.exports = __toCommonJS(SheetImplementationCustom_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_animate_presence = require(\"@tamagui/animate-presence\");\nvar import_transitionResolver = require(\"@tamagui/animation-helpers/transitionResolver\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_core = require(\"@tamagui/core\");\nvar import_portal = require(\"@tamagui/portal\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_contexts = require(\"./contexts\");\nvar import_constants2 = require(\"./constants\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_SheetDragSurface = require(\"./SheetDragSurface\");\nvar import_stableViewportHeight = require(\"./stableViewportHeight\");\nvar import_GestureSheetContext = require(\"./GestureSheetContext\");\nvar import_helpers = require(\"./helpers\");\nvar import_keyboardAvoidance = require(\"./keyboardAvoidance\");\nvar import_webViewport = require(\"./webViewport\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useGestureHandlerPan = require(\"./useGestureHandlerPan\");\nvar import_useKeyboardControllerSheet = require(\"./useKeyboardControllerSheet\");\nvar import_useSafeAreaInsets = require(\"./useSafeAreaInsets\");\nvar import_useSheetOpenState = require(\"./useSheetOpenState\");\nvar import_useSheetProviderProps = require(\"./useSheetProviderProps\");\nvar hiddenSize = 10000.1;\nvar rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nvar rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nvar sheetEscapeLayers = [];\nvar SheetImplementationCustom = (0, import_core.createRefComponent)(function SheetImplementationCustom2(props, forwardedRef) {\n\tvar _ref, _animationDriver_View, _props_disableDrag;\n\tvar parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);\n\tvar safeAreaInsets = (0, import_useSafeAreaInsets.useSafeAreaInsets)();\n\tvar safeAreaTopInset = (_ref = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _ref !== void 0 ? _ref : 0;\n\tvar { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition } = props;\n\tvar state = (0, import_useSheetOpenState.useSheetOpenState)(props);\n\tvar providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);\n\tvar { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tvar { open, controller, isHidden } = state;\n\tvar openRef = import_react.default.useRef(open);\n\topenRef.current = open;\n\tvar sheetRef = import_react.default.useRef(void 0);\n\tvar ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef, providerProps.contentRef);\n\tvar animationDriver = (0, import_core.useAnimationDriver)();\n\tvar transitionConfig = (function() {\n\t\tvar _getTransitionResolver, _resolved_all;\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tvar resolved = transition ? (_getTransitionResolver = (0, import_transitionResolver.getTransitionResolver)()) === null || _getTransitionResolver === void 0 ? void 0 : _getTransitionResolver.resolve(transition, { animations: animationDriver.animations }) : null;\n\t\tvar timing = resolved === null || resolved === void 0 ? void 0 : (_resolved_all = resolved.all) === null || _resolved_all === void 0 ? void 0 : _resolved_all.timing;\n\t\tif (!timing) return null;\n\t\tif (timing.kind === \"timing\") return {\n\t\t\ttype: \"timing\",\n\t\t\tduration: timing.durationMs\n\t\t};\n\t\treturn {\n\t\t\ttype: \"spring\",\n\t\t\tstiffness: timing.stiffness,\n\t\t\tdamping: timing.damping,\n\t\t\tmass: timing.mass\n\t\t};\n\t})();\n\tvar [isShowingInnerSheet, setIsShowingInnerSheet] = import_react.default.useState(false);\n\tvar shouldHideParentSheet = !import_constants.isWeb && modal && isShowingInnerSheet && (0, import_portal.needsPortalRepropagation)();\n\tvar sheetInsideSheet = import_react.default.useContext(import_contexts.SheetInsideSheetContext);\n\tvar onInnerSheet = import_react.default.useCallback(function(hasChild) {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tvar { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({ enabled: Boolean(moveOnKeyboardChange) });\n\tvar stableFrameSize = import_react.default.useRef(frameSize);\n\timport_react.default.useEffect(function() {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tvar isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;\n\tvar isNativeKbFitSheet = !import_constants.isWeb && hasFit && Boolean(moveOnKeyboardChange);\n\tvar preKeyboardFrameSize = import_react.default.useRef(0);\n\timport_react.default.useEffect(function() {\n\t\tif (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;\n\t}, [\n\t\tisNativeKbFitSheet,\n\t\topen,\n\t\tisKeyboardVisible,\n\t\tframeSize\n\t]);\n\tvar effScreenSize = isWebKbSheet ? (0, import_stableViewportHeight.getStableViewportHeight)() : screenSize;\n\tvar effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tvar positions = import_react.default.useMemo(function() {\n\t\treturn snapPoints.map(function(point) {\n\t\t\treturn getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);\n\t\t});\n\t}, [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tvar [isDragging, setIsDragging_] = import_react.default.useState(false);\n\tvar isDraggingRef = import_react.default.useRef(false);\n\tvar setIsDragging = import_react.default.useCallback(function(val) {\n\t\tisDraggingRef.current = val;\n\t\tpauseKeyboardHandler.current = val;\n\t\tsetIsDragging_(val);\n\t\tif (!val) flushPendingHide();\n\t}, [pauseKeyboardHandler, flushPendingHide]);\n\tvar activePositionsRef = import_react.default.useRef(positions);\n\tvar activePositions = import_react.default.useMemo(function() {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tvar result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map(function(p) {\n\t\t\treturn (0, import_keyboardAvoidance.getKeyboardAdjustedSheetY)({\n\t\t\t\tsheetY: p,\n\t\t\t\tscreenSize: effScreenSize,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardHeight,\n\t\t\t\tshouldTranslate: true,\n\t\t\t\tsafeAreaTop: import_constants.isWeb ? (0, import_webViewport.getWebVisualViewportOffsetTop)() : safeAreaTopInset\n\t\t\t});\n\t\t});\n\t\tactivePositionsRef.current = result;\n\t\treturn result;\n\t}, [\n\t\tpositions,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\teffScreenSize,\n\t\tisDragging,\n\t\tsafeAreaTopInset\n\t]);\n\tvar keyboardOccludedHeight = (0, import_keyboardAvoidance.getKeyboardOccludedHeight)({\n\t\tframeSize: effectiveFrameSize,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\tscreenSize: effScreenSize,\n\t\tsheetY: position >= 0 ? activePositions[position] : void 0\n\t});\n\tvar keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;\n\tvar AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : import_core.View;\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn function() {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tvar nextParentContext = import_react.default.useMemo(function() {\n\t\treturn { zIndex };\n\t}, [zIndex]);\n\tvar startPosition = (0, import_core.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize;\n\tvar animatedNumber = (0, import_core.useAnimatedNumber)(startPosition);\n\tvar at = import_react.default.useRef(startPosition);\n\tvar hasntMeasured = at.current === hiddenSize;\n\tvar [disableAnimation, setDisableAnimation] = (0, import_react.useState)(hasntMeasured);\n\tvar skipAdaptAnimation = import_react.default.useRef(false);\n\tif (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;\n\tvar hasScrollView = import_react.default.useRef(false);\n\tvar lastPositionIndexRef = import_react.default.useRef(-1);\n\tvar pendingTransitionRef = import_react.default.useRef(null);\n\tvar emitTransition = (0, import_core.useEvent)(function(phase, event, finished) {\n\t\tvar _controller_onTransition;\n\t\tvar e = {\n\t\t\tphase,\n\t\t\tcause: event.cause,\n\t\t\tposition: event.position\n\t\t};\n\t\tif (phase === \"end\") e.finished = finished;\n\t\tonTransition === null || onTransition === void 0 || onTransition(e);\n\t\tcontroller === null || controller === void 0 || (_controller_onTransition = controller.onTransition) == null || _controller_onTransition.call(controller, e);\n\t});\n\tvar isParkedClosedRef = import_react.default.useRef(false);\n\tvar syncAnimatedPosition = (0, import_core.useEvent)(function(value) {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tvar minY = activePositions[0];\n\t\tvar wasAtTop = scrollBridge.isAtTop;\n\t\tvar nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop === nowAtTop) return;\n\t\tscrollBridge.isAtTop = nowAtTop;\n\t\tif (nowAtTop) {\n\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\tif (scrollBridge.lockScrollAtTop) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tvar _scrollBridge_forceScrollTo;\n\t\t\t\t\t(_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 0);\n\t\t\t\t\tscrollBridge.y = 0;\n\t\t\t\t}\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false, 0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\tvar _scrollBridge_forceScrollTo1;\n\t\t\t\t(_scrollBridge_forceScrollTo1 = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo1 === void 0 || _scrollBridge_forceScrollTo1.call(scrollBridge, 0);\n\t\t\t\tscrollBridge.y = 0;\n\t\t\t}\n\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t} else {\n\t\t\tvar _scrollBridge_setScrollEnabled2;\n\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t(_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 || _scrollBridge_setScrollEnabled2.call(scrollBridge, false);\n\t\t}\n\t});\n\tvar setAnimatedPositionDirect = (0, import_core.useEvent)(function(value) {\n\t\tsyncAnimatedPosition(value);\n\t\tanimatedNumber.setValue(value, { type: \"direct\" });\n\t});\n\tvar getAnimatedPosition = (0, import_core.useEvent)(function() {\n\t\tvar value = animatedNumber.getValue();\n\t\tsyncAnimatedPosition(value);\n\t\treturn value;\n\t});\n\tfunction stopSpring() {\n\t\tanimatedNumber.stop();\n\t\tif (scrollBridge.onFinishAnimate) {\n\t\t\tscrollBridge.onFinishAnimate();\n\t\t\tscrollBridge.onFinishAnimate = void 0;\n\t\t}\n\t}\n\tvar animateTo = (0, import_core.useEvent)(function(position2, animationOverride) {\n\t\tif (frameSize === 0) return;\n\t\tvar closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;\n\t\tvar isDismissPosition = dismissOnSnapToBottom && position2 === activePositions.length - 1;\n\t\tvar isOpenAnimation = position2 !== -1 && !isHidden && !isDismissPosition;\n\t\tvar toValue = isOpenAnimation ? activePositions[position2] : closeTarget;\n\t\tif (at.current === toValue) {\n\t\t\tif (isDismissPosition) {\n\t\t\t\tif (pendingTransitionRef.current) {\n\t\t\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\t\t\tpendingTransitionRef.current = null;\n\t\t\t\t}\n\t\t\t\tstopSpring();\n\t\t\t\tvar event = {\n\t\t\t\t\tcause: \"close\",\n\t\t\t\t\tposition: toValue\n\t\t\t\t};\n\t\t\t\tlastPositionIndexRef.current = -1;\n\t\t\t\temitTransition(\"start\", event);\n\t\t\t\tsyncAnimatedPosition(toValue);\n\t\t\t\tisParkedClosedRef.current = true;\n\t\t\t\tsetIsFullyClosed(true);\n\t\t\t\temitTransition(\"end\", event, true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tvar from = at.current;\n\t\tat.current = toValue;\n\t\tvar cause = !isOpenAnimation ? \"close\" : lastPositionIndexRef.current < 0 ? \"open\" : \"snap\";\n\t\tlastPositionIndexRef.current = isOpenAnimation ? position2 : -1;\n\t\tvar event1 = {\n\t\t\tcause,\n\t\t\tposition: toValue\n\t\t};\n\t\tif (pendingTransitionRef.current) {\n\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\tpendingTransitionRef.current = null;\n\t\t}\n\t\tstopSpring();\n\t\tvar wasParkedClosed = isParkedClosedRef.current;\n\t\tisParkedClosedRef.current = false;\n\t\tif (import_constants.isWeb && isOpenAnimation && wasParkedClosed) {\n\t\t\tvar visibleEdge = (0, import_webViewport.getVisibleViewportHeight)();\n\t\t\tif (from > visibleEdge) animatedNumber.setValue(visibleEdge, { type: \"direct\" });\n\t\t}\n\t\tvar animationCompleteCallback = function animationCompleteCallback2() {\n\t\t\tif (at.current !== toValue) return;\n\t\t\tsyncAnimatedPosition(toValue);\n\t\t\tpendingTransitionRef.current = null;\n\t\t\tif (!isOpenAnimation && !openRef.current) {\n\t\t\t\tisParkedClosedRef.current = true;\n\t\t\t\tsetIsFullyClosed(true);\n\t\t\t}\n\t\t\temitTransition(\"end\", event1, true);\n\t\t};\n\t\tpendingTransitionRef.current = event1;\n\t\temitTransition(\"start\", event1);\n\t\tif (skipAdaptAnimation.current) {\n\t\t\tskipAdaptAnimation.current = false;\n\t\t\tanimatedNumber.setValue(toValue, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, animationCompleteCallback);\n\t\t\treturn;\n\t\t}\n\t\tvar resolvedConfig = animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t};\n\t\tvar springConfig = !resolvedConfig.type || resolvedConfig.type === \"spring\" ? {\n\t\t\trestDisplacementThreshold: 1,\n\t\t\trestSpeedThreshold: 10,\n\t\t\tenergyThreshold: 1e-5,\n\t\t\t...resolvedConfig\n\t\t} : resolvedConfig;\n\t\tanimatedNumber.setValue(toValue, springConfig, animationCompleteCallback);\n\t});\n\t(0, import_constants.useIsomorphicLayoutEffect)(\n\t\tfunction() {\n\t\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\t\tat.current = screenSize;\n\t\t\t\tanimatedNumber.setValue(screenSize, { type: \"direct\" });\n\t\t\t\tsyncAnimatedPosition(screenSize);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t}, 10);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (disableAnimation) return;\n\t\t\tif (isDraggingRef.current) return;\n\t\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\t\tanimateTo(position);\n\t\t\tif (position === -1) {\n\t\t\t\tscrollBridge.scrollLock = false;\n\t\t\t\tscrollBridge.scrollStartY = -1;\n\t\t\t}\n\t\t\tif (open && position >= 0) {\n\t\t\t\tvar isTopPosition = position === 0;\n\t\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\t\tif (isTopPosition) {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t\t} else {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// NOTE: effScreenSize/effectiveFrameSize are intentionally NOT deps. With the\n\t\t// spacer approach the frame's position target is frozen across keyboard\n\t\t// open/close (same stable baseline), so it must NOT re-animate — keyboard\n\t\t// avoidance is the bottom spacer + scroll, not a frame move.\n\t\t[\n\t\t\thasntMeasured,\n\t\t\tdisableAnimation,\n\t\t\tisHidden,\n\t\t\tframeSize,\n\t\t\tscreenSize,\n\t\t\topen,\n\t\t\tposition\n\t\t]\n\t);\n\tvar disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller === null || controller === void 0 ? void 0 : controller.disableDrag;\n\t(0, import_core.useThemeName)();\n\tvar [blockPan, setBlockPan] = import_react.default.useState(false);\n\tvar panConfig = import_react.default.useMemo(function() {\n\t\tif (disableDrag) return null;\n\t\tif (!frameSize) return null;\n\t\tif (isShowingInnerSheet) return null;\n\t\tvar minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tvar startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t}\n\t\tvar release = function release2(param) {\n\t\t\tvar { vy } = param;\n\t\t\tscrollBridge.setParentDragging(false);\n\t\t\tif (scrollBridge.scrollLock) return;\n\t\t\tisExternalDrag = false;\n\t\t\tpreviouslyScrolling = false;\n\t\t\tsetPanning(false);\n\t\t\tvar currentPos = at.current;\n\t\t\tvar end = currentPos + frameSize * vy * .2;\n\t\t\tvar closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: end,\n\t\t\t\tcurrentPosition: currentPos,\n\t\t\t\tframeSize,\n\t\t\t\tdismissOnSnapToBottom,\n\t\t\t\tsnapPointsMode,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tisWeb: import_constants.isWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tvar finish = function finish2(_e, state2) {\n\t\t\trelease({\n\t\t\t\tvy: state2.vy,\n\t\t\t\tdragAt: state2.dy\n\t\t\t});\n\t\t};\n\t\tvar previouslyScrolling = false;\n\t\tvar onMoveShouldSet = function onMoveShouldSet2(e, param) {\n\t\t\tvar { dy } = param;\n\t\t\tfunction getShouldSet() {\n\t\t\t\tif (e.target === providerProps.handleRef.current) return true;\n\t\t\t\tif (scrollBridge.scrollNodeTouched) return false;\n\t\t\t\tif (scrollBridge.hasScrollableContent === true) {\n\t\t\t\t\tif (scrollBridge.scrollLock) return false;\n\t\t\t\t\tvar isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tvar isDraggingUp = dy < 0;\n\t\t\t\t\tvar isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;\n\t\t\t\t\tif (isScrolled) return false;\n\t\t\t\t\tif (isNearTop) {\n\t\t\t\t\t\tif (hasScrollView.current && isDraggingUp) return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn Math.abs(dy) > 10;\n\t\t\t}\n\t\t\tvar granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tvar grant = function grant2() {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = getAnimatedPosition();\n\t\t};\n\t\tvar isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = function() {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = function(dy) {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tvar to = dy + startY;\n\t\t\tsetAnimatedPositionDirect((0, import_helpers.resisted)(to, minY));\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = function(positionIndex) {\n\t\t\tisExternalDrag = false;\n\t\t\tsetPanning(false);\n\t\t\tsetPosition(positionIndex);\n\t\t\tanimateTo(positionIndex);\n\t\t};\n\t\treturn {\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: function onPanResponderTerminationRequest() {\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: function onPanResponderMove(_e, param) {\n\t\t\t\tvar { dy } = param;\n\t\t\t\tvar toFull = dy + startY;\n\t\t\t\tvar to = (0, import_helpers.resisted)(toFull, minY);\n\t\t\t\tif (to <= minY) scrollBridge.setParentDragging(false);\n\t\t\t\telse scrollBridge.setParentDragging(true);\n\t\t\t\tsetAnimatedPositionDirect(to);\n\t\t\t},\n\t\t\tonPanResponderEnd: finish,\n\t\t\tonPanResponderTerminate: finish,\n\t\t\tonPanResponderRelease: finish\n\t\t};\n\t}, [\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tanimateTo,\n\t\tframeSize,\n\t\tactivePositions,\n\t\tsetPosition,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode\n\t]);\n\timport_react.default.useEffect(function() {\n\t\tif (isDragging || isHidden || !open || disableAnimation) return;\n\t\tif (!frameSize || !screenSize) return;\n\t\tanimateTo(position, {\n\t\t\ttype: \"timing\",\n\t\t\tduration: 250\n\t\t});\n\t}, [isKeyboardVisible, keyboardHeight]);\n\tvar wasDragging = import_react.default.useRef(false);\n\timport_react.default.useEffect(function() {\n\t\tif (isDragging) {\n\t\t\twasDragging.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif (!wasDragging.current) return;\n\t\twasDragging.current = false;\n\t\tif (!frameSize || !screenSize || isHidden || !open) return;\n\t\tanimateTo(position);\n\t}, [isDragging]);\n\timport_react.default.useEffect(function() {\n\t\tif (!open && isKeyboardVisible) {\n\t\t\tdismissKeyboard();\n\t\t\tpauseKeyboardHandler.current = false;\n\t\t\tflushPendingHide();\n\t\t}\n\t}, [open]);\n\timport_react.default.useEffect(function() {\n\t\tif (!import_constants.isWeb || !modal || !open || shouldHideParentSheet) return;\n\t\tvar layer = {};\n\t\tsheetEscapeLayers.push(layer);\n\t\tvar onKeyDown = function onKeyDown2(event) {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tif (sheetEscapeLayers[sheetEscapeLayers.length - 1] === layer) state.setOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"keydown\", onKeyDown);\n\t\treturn function() {\n\t\t\tvar index = sheetEscapeLayers.indexOf(layer);\n\t\t\tif (index > -1) sheetEscapeLayers.splice(index, 1);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeyDown);\n\t\t};\n\t}, [\n\t\tmodal,\n\t\topen,\n\t\tshouldHideParentSheet,\n\t\tstate.setOpen\n\t]);\n\tvar { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({\n\t\tpositions: activePositions,\n\t\tframeSize,\n\t\tsetPosition,\n\t\tanimateTo,\n\t\tstopSpring,\n\t\tscrollBridge,\n\t\tsetIsDragging,\n\t\tgetCurrentPosition: getAnimatedPosition,\n\t\tresisted: import_helpers.resisted,\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tsetAnimatedPosition: setAnimatedPositionDirect,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode,\n\t\tisKeyboardVisible,\n\t\tpauseKeyboardHandler\n\t});\n\tvar ignoreLayoutForKeyboard = (0, import_core.useEvent)(function() {\n\t\treturn import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;\n\t});\n\tvar handleAnimationViewLayout = (0, import_core.useEvent)(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tvar layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tvar next = modal ? Math.min(layoutHeight, (0, import_stableViewportHeight.getStableViewportHeight)()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tvar handleMaxContentViewLayout = import_react.default.useCallback(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tvar next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, (0, import_stableViewportHeight.getStableViewportHeight)());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tvar getAnimatedNumberStyle = import_react.default.useCallback(function(val) {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]);\n\tvar animatedStyle = (0, import_core.useAnimatedNumberStyle)(animatedNumber, getAnimatedNumberStyle);\n\tvar [isFullyClosed, setIsFullyClosed] = import_react.default.useState(false);\n\tif (open && isFullyClosed) setIsFullyClosed(false);\n\tvar hasEverOpened = import_react.default.useRef(open);\n\tif (open) hasEverOpened.current = true;\n\tvar isVisuallyActive = open || hasEverOpened.current && !isFullyClosed;\n\tvar applyHidden = shouldHideParentSheet || isFullyClosed && !disableHideWhenClosed;\n\tvar forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${import_constants.isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = import_react.default.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar animatedPositionValue = import_react.default.useMemo(function() {\n\t\tvar _activePositions_;\n\t\treturn {\n\t\t\tvalue: animatedNumber,\n\t\t\tscreenSize: effScreenSize,\n\t\t\tframeSize,\n\t\t\tsnapOffsets: activePositions,\n\t\t\tminY: (_activePositions_ = activePositions[0]) !== null && _activePositions_ !== void 0 ? _activePositions_ : 0\n\t\t};\n\t}, [\n\t\tanimatedNumber,\n\t\teffScreenSize,\n\t\tframeSize,\n\t\tactivePositions\n\t]);\n\tvar { overlayChildren, animatedChildren } = import_react.default.useMemo(function() {\n\t\treturn partitionSheetChildren(props.children);\n\t}, [props.children]);\n\tvar contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {\n\t\t\t\t...providerProps,\n\t\t\t\tkeyboardOccludedHeight,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardStableFrameHeight,\n\t\t\t\tsetHasScrollView,\n\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GestureSheetContext.GestureSheetProvider, {\n\t\t\t\t\tisDragging,\n\t\t\t\t\tblockPan,\n\t\t\t\t\tsetBlockPan,\n\t\t\t\t\tpanGesture,\n\t\t\t\t\tpanGestureRef,\n\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetAnimatedPositionContext.Provider, {\n\t\t\t\t\t\tvalue: animatedPositionValue,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetOverlayLayerContext.Provider, {\n\t\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {\n\t\t\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayChildren\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tinset: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\t...applyHidden && { display: \"none\" },\n\t\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetDragSurface.SheetDragSurface, {\n\t\t\t\t\t\t\t\t\tgestureHandlerEnabled,\n\t\t\t\t\t\t\t\t\tpanGesture,\n\t\t\t\t\t\t\t\t\tpanConfig,\n\t\t\t\t\t\t\t\t\tchildren: animatedChildren\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n\tif ((0, import_portal.needsPortalRepropagation)()) {\n\t\tvar adaptContext = (0, import_adapt.useAdaptContext)();\n\t\tcontents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.ProvideAdaptContext, {\n\t\t\t...adaptContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_useSafeAreaInsets.SafeAreaInsetsContext.Provider, {\n\t\t\t\tvalue: safeAreaInsets,\n\t\t\t\tchildren: contents\n\t\t\t})\n\t\t});\n\t}\n\tvar shouldMountChildren = unmountChildrenWhenHidden ? !isFullyClosed : true;\n\tif (modal) {\n\t\tif (!shouldMountChildren) return null;\n\t\tvar RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;\n\t\tvar mountedContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents });\n\t\tvar modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\thidden: !isVisuallyActive,\n\t\t\t...portalProps,\n\t\t\tchildren: RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {\n\t\t\t\tstyle: open ? rnghRootStyleOpen : rnghRootStyleClosed,\n\t\t\t\tchildren: mountedContents\n\t\t\t}) : mountedContents\n\t\t});\n\t\tif (import_constants.isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction isSheetOverlayComponent(type) {\n\tvar staticConfig = type === null || type === void 0 ? void 0 : type.staticConfig;\n\twhile (staticConfig) {\n\t\tif (staticConfig[import_constants2.SHEET_OVERLAY_MARKER]) return true;\n\t\tstaticConfig = staticConfig.parentStaticConfig;\n\t}\n\treturn false;\n}\nfunction partitionSheetChildren(children) {\n\tvar overlayChildren = [];\n\tvar animatedChildren = [];\n\timport_react.default.Children.forEach(children, function(child) {\n\t\tif (!/* @__PURE__ */ import_react.default.isValidElement(child)) {\n\t\t\tanimatedChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tif (isSheetOverlayComponent(child.type)) {\n\t\t\toverlayChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tanimatedChildren.push(child);\n\t});\n\treturn {\n\t\toverlayChildren,\n\t\tanimatedChildren\n\t};\n}\nfunction getYPositions(mode, point, screenSize, frameSize) {\n\tif (!screenSize || !frameSize) return 0;\n\tif (mode === \"mixed\") {\n\t\tif (typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\t\tif (point === \"fit\") return screenSize - Math.min(screenSize, frameSize);\n\t\tif (point.endsWith(\"%\")) {\n\t\t\tvar pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct)) {\n\t\t\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an invalid percentage string\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct * screenSize);\n\t\t}\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an unsupported mixed-mode value\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\n\t\treturn 0;\n\t}\n\tif (mode === \"fit\") {\n\t\tif (point === 0) return screenSize;\n\t\treturn screenSize - Math.min(screenSize, frameSize);\n\t}\n\tif (mode === \"constant\" && typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\tvar pct1 = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct1)) {\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains a value that cannot be converted to a percentage\", \"Use a numeric percentage such as 50\", \"snapPoint\", point));\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct1 * screenSize);\n}\n//# sourceMappingURL=SheetImplementationCustom.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"SheetImplementationCustom.native.js","names":[],"sources":["cjs/SheetImplementationCustom.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SheetImplementationCustom_exports = {};\n__export(SheetImplementationCustom_exports, {\n\tSheetImplementationCustom: () => SheetImplementationCustom,\n\tisSheetOverlayComponent: () => isSheetOverlayComponent\n});\nmodule.exports = __toCommonJS(SheetImplementationCustom_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_adapt = require(\"@tamagui/adapt\");\nvar import_animate_presence = require(\"@tamagui/animate-presence\");\nvar import_transitionResolver = require(\"@tamagui/animation-helpers/transitionResolver\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_focus_scope = require(\"@tamagui/focus-scope\");\nvar import_core = require(\"@tamagui/core\");\nvar import_portal = require(\"@tamagui/portal\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_contexts = require(\"./contexts\");\nvar import_constants2 = require(\"./constants\");\nvar import_gestureState = require(\"./gestureState\");\nvar import_SheetDragSurface = require(\"./SheetDragSurface\");\nvar import_stableViewportHeight = require(\"./stableViewportHeight\");\nvar import_GestureSheetContext = require(\"./GestureSheetContext\");\nvar import_helpers = require(\"./helpers\");\nvar import_keyboardAvoidance = require(\"./keyboardAvoidance\");\nvar import_webViewport = require(\"./webViewport\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useGestureHandlerPan = require(\"./useGestureHandlerPan\");\nvar import_useKeyboardControllerSheet = require(\"./useKeyboardControllerSheet\");\nvar import_useSafeAreaInsets = require(\"./useSafeAreaInsets\");\nvar import_useSheetOpenState = require(\"./useSheetOpenState\");\nvar import_useSheetProviderProps = require(\"./useSheetProviderProps\");\nvar hiddenSize = 10000.1;\nvar rnghRootStyleOpen = {\n\twidth: \"100%\",\n\theight: \"100%\"\n};\nvar rnghRootStyleClosed = {\n\twidth: \"100%\",\n\theight: 0\n};\nvar sheetEscapeLayers = [];\nvar SheetImplementationCustom = (0, import_core.createRefComponent)(function SheetImplementationCustom2(props, forwardedRef) {\n\tvar _ref, _animationDriver_View, _props_disableDrag;\n\tvar parentSheet = import_react.default.useContext(import_contexts.ParentSheetContext);\n\tvar safeAreaInsets = (0, import_useSafeAreaInsets.useSafeAreaInsets)();\n\tvar safeAreaTopInset = (_ref = safeAreaInsets === null || safeAreaInsets === void 0 ? void 0 : safeAreaInsets.top) !== null && _ref !== void 0 ? _ref : 0;\n\tvar { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = import_react.default.Fragment, onTransition, \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledby } = props;\n\tvar state = (0, import_useSheetOpenState.useSheetOpenState)(props);\n\tvar providerProps = (0, import_useSheetProviderProps.useSheetProviderProps)(props, state);\n\tvar { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;\n\tvar { open, controller, isHidden } = state;\n\tvar openRef = import_react.default.useRef(open);\n\topenRef.current = open;\n\tvar sheetRef = import_react.default.useRef(void 0);\n\tvar ref = (0, import_compose_refs.useComposedRefs)(forwardedRef, sheetRef, providerProps.contentRef);\n\tvar animationDriver = (0, import_core.useAnimationDriver)();\n\tvar transitionConfig = (function() {\n\t\tvar _getTransitionResolver, _resolved_all;\n\t\tif (transitionConfigProp) return transitionConfigProp;\n\t\tvar resolved = transition ? (_getTransitionResolver = (0, import_transitionResolver.getTransitionResolver)()) === null || _getTransitionResolver === void 0 ? void 0 : _getTransitionResolver.resolve(transition, { animations: animationDriver.animations }) : null;\n\t\tvar timing = resolved === null || resolved === void 0 ? void 0 : (_resolved_all = resolved.all) === null || _resolved_all === void 0 ? void 0 : _resolved_all.timing;\n\t\tif (!timing) return null;\n\t\tif (timing.kind === \"timing\") return {\n\t\t\ttype: \"timing\",\n\t\t\tduration: timing.durationMs\n\t\t};\n\t\treturn {\n\t\t\ttype: \"spring\",\n\t\t\tstiffness: timing.stiffness,\n\t\t\tdamping: timing.damping,\n\t\t\tmass: timing.mass\n\t\t};\n\t})();\n\tvar [isShowingInnerSheet, setIsShowingInnerSheet] = import_react.default.useState(false);\n\tvar shouldHideParentSheet = !import_constants.isWeb && modal && isShowingInnerSheet && (0, import_portal.needsPortalRepropagation)();\n\tvar sheetInsideSheet = import_react.default.useContext(import_contexts.SheetInsideSheetContext);\n\tvar onInnerSheet = import_react.default.useCallback(function(hasChild) {\n\t\tsetIsShowingInnerSheet(hasChild);\n\t}, []);\n\tvar { keyboardHeight, isKeyboardVisible, dismissKeyboard, pauseKeyboardHandler, flushPendingHide } = (0, import_useKeyboardControllerSheet.useKeyboardControllerSheet)({ enabled: Boolean(moveOnKeyboardChange) });\n\tvar stableFrameSize = import_react.default.useRef(frameSize);\n\timport_react.default.useEffect(function() {\n\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t}, [open, frameSize]);\n\tvar isWebKbSheet = import_constants.isWeb && hasFit && moveOnKeyboardChange;\n\tvar isNativeKbFitSheet = !import_constants.isWeb && hasFit && Boolean(moveOnKeyboardChange);\n\tvar preKeyboardFrameSize = import_react.default.useRef(0);\n\timport_react.default.useEffect(function() {\n\t\tif (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;\n\t}, [\n\t\tisNativeKbFitSheet,\n\t\topen,\n\t\tisKeyboardVisible,\n\t\tframeSize\n\t]);\n\tvar effScreenSize = isWebKbSheet ? (0, import_stableViewportHeight.getStableViewportHeight)() : screenSize;\n\tvar effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;\n\tvar positions = import_react.default.useMemo(function() {\n\t\treturn snapPoints.map(function(point) {\n\t\t\treturn getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize);\n\t\t});\n\t}, [\n\t\teffScreenSize,\n\t\teffectiveFrameSize,\n\t\tsnapPoints,\n\t\tsnapPointsMode\n\t]);\n\tvar [isDragging, setIsDragging_] = import_react.default.useState(false);\n\tvar isDraggingRef = import_react.default.useRef(false);\n\tvar setIsDragging = import_react.default.useCallback(function(val) {\n\t\tisDraggingRef.current = val;\n\t\tpauseKeyboardHandler.current = val;\n\t\tsetIsDragging_(val);\n\t\tif (!val) flushPendingHide();\n\t}, [pauseKeyboardHandler, flushPendingHide]);\n\tvar activePositionsRef = import_react.default.useRef(positions);\n\tvar activePositions = import_react.default.useMemo(function() {\n\t\tif (isDragging || isDraggingRef.current) return activePositionsRef.current;\n\t\tvar result;\n\t\tif (!isKeyboardVisible || keyboardHeight <= 0) result = positions;\n\t\telse result = positions.map(function(p) {\n\t\t\treturn (0, import_keyboardAvoidance.getKeyboardAdjustedSheetY)({\n\t\t\t\tsheetY: p,\n\t\t\t\tscreenSize: effScreenSize,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardHeight,\n\t\t\t\tshouldTranslate: true,\n\t\t\t\tsafeAreaTop: import_constants.isWeb ? (0, import_webViewport.getWebVisualViewportOffsetTop)() : safeAreaTopInset\n\t\t\t});\n\t\t});\n\t\tactivePositionsRef.current = result;\n\t\treturn result;\n\t}, [\n\t\tpositions,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\teffScreenSize,\n\t\tisDragging,\n\t\tsafeAreaTopInset\n\t]);\n\tvar keyboardOccludedHeight = (0, import_keyboardAvoidance.getKeyboardOccludedHeight)({\n\t\tframeSize: effectiveFrameSize,\n\t\tisKeyboardVisible,\n\t\tkeyboardHeight,\n\t\tscreenSize: effScreenSize,\n\t\tsheetY: position >= 0 ? activePositions[position] : void 0\n\t});\n\tvar keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;\n\tvar AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : import_core.View;\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tif (!(sheetInsideSheet && open)) return;\n\t\tsheetInsideSheet(true);\n\t\treturn function() {\n\t\t\tsheetInsideSheet(false);\n\t\t};\n\t}, [sheetInsideSheet, open]);\n\tvar nextParentContext = import_react.default.useMemo(function() {\n\t\treturn { zIndex };\n\t}, [zIndex]);\n\tvar startPosition = (0, import_core.useDidFinishSSR)() && screenSize ? screenSize : hiddenSize;\n\tvar animatedNumber = (0, import_core.useAnimatedNumber)(startPosition);\n\tvar at = import_react.default.useRef(startPosition);\n\tvar hasntMeasured = at.current === hiddenSize;\n\tvar [disableAnimation, setDisableAnimation] = (0, import_react.useState)(hasntMeasured);\n\tvar skipAdaptAnimation = import_react.default.useRef(false);\n\tif (controller === null || controller === void 0 ? void 0 : controller.skipNextAnimation) skipAdaptAnimation.current = true;\n\tvar hasScrollView = import_react.default.useRef(false);\n\tvar lastPositionIndexRef = import_react.default.useRef(-1);\n\tvar pendingTransitionRef = import_react.default.useRef(null);\n\tvar emitTransition = (0, import_core.useEvent)(function(phase, event, finished) {\n\t\tvar _controller_onTransition;\n\t\tvar e = {\n\t\t\tphase,\n\t\t\tcause: event.cause,\n\t\t\tposition: event.position\n\t\t};\n\t\tif (phase === \"end\") e.finished = finished;\n\t\tonTransition === null || onTransition === void 0 || onTransition(e);\n\t\tcontroller === null || controller === void 0 || (_controller_onTransition = controller.onTransition) == null || _controller_onTransition.call(controller, e);\n\t});\n\tvar isParkedClosedRef = import_react.default.useRef(false);\n\tvar syncAnimatedPosition = (0, import_core.useEvent)(function(value) {\n\t\tat.current = value;\n\t\tscrollBridge.paneY = value;\n\t\tvar minY = activePositions[0];\n\t\tvar wasAtTop = scrollBridge.isAtTop;\n\t\tvar nowAtTop = value <= minY + 5;\n\t\tif (wasAtTop === nowAtTop) return;\n\t\tscrollBridge.isAtTop = nowAtTop;\n\t\tif (nowAtTop) {\n\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\tif (scrollBridge.lockScrollAtTop) {\n\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\t\tvar _scrollBridge_forceScrollTo;\n\t\t\t\t\t(_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 0);\n\t\t\t\t\tscrollBridge.y = 0;\n\t\t\t\t}\n\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false, 0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scrollBridge.y > 0) {\n\t\t\t\tvar _scrollBridge_forceScrollTo1;\n\t\t\t\t(_scrollBridge_forceScrollTo1 = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo1 === void 0 || _scrollBridge_forceScrollTo1.call(scrollBridge, 0);\n\t\t\t\tscrollBridge.y = 0;\n\t\t\t}\n\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t} else {\n\t\t\tvar _scrollBridge_setScrollEnabled2;\n\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t(_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 || _scrollBridge_setScrollEnabled2.call(scrollBridge, false);\n\t\t}\n\t});\n\tvar setAnimatedPositionDirect = (0, import_core.useEvent)(function(value) {\n\t\tsyncAnimatedPosition(value);\n\t\tanimatedNumber.setValue(value, { type: \"direct\" });\n\t});\n\tvar getAnimatedPosition = (0, import_core.useEvent)(function() {\n\t\tvar value = animatedNumber.getValue();\n\t\tsyncAnimatedPosition(value);\n\t\treturn value;\n\t});\n\tfunction stopSpring() {\n\t\tanimatedNumber.stop();\n\t\tif (scrollBridge.onFinishAnimate) {\n\t\t\tscrollBridge.onFinishAnimate();\n\t\t\tscrollBridge.onFinishAnimate = void 0;\n\t\t}\n\t}\n\tvar animateTo = (0, import_core.useEvent)(function(position2, animationOverride) {\n\t\tif (frameSize === 0) return;\n\t\tvar closeTarget = import_constants.isWeb ? Math.max(effScreenSize, (0, import_webViewport.getMaxViewportHeight)()) : effScreenSize;\n\t\tvar isDismissPosition = dismissOnSnapToBottom && position2 === activePositions.length - 1;\n\t\tvar isOpenAnimation = position2 !== -1 && !isHidden && !isDismissPosition;\n\t\tvar toValue = isOpenAnimation ? activePositions[position2] : closeTarget;\n\t\tif (at.current === toValue) {\n\t\t\tif (isDismissPosition) {\n\t\t\t\tif (pendingTransitionRef.current) {\n\t\t\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\t\t\tpendingTransitionRef.current = null;\n\t\t\t\t}\n\t\t\t\tstopSpring();\n\t\t\t\tvar event = {\n\t\t\t\t\tcause: \"close\",\n\t\t\t\t\tposition: toValue\n\t\t\t\t};\n\t\t\t\tlastPositionIndexRef.current = -1;\n\t\t\t\temitTransition(\"start\", event);\n\t\t\t\tsyncAnimatedPosition(toValue);\n\t\t\t\tisParkedClosedRef.current = true;\n\t\t\t\tsetIsFullyClosed(true);\n\t\t\t\temitTransition(\"end\", event, true);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tvar from = at.current;\n\t\tat.current = toValue;\n\t\tvar cause = !isOpenAnimation ? \"close\" : lastPositionIndexRef.current < 0 ? \"open\" : \"snap\";\n\t\tlastPositionIndexRef.current = isOpenAnimation ? position2 : -1;\n\t\tvar event1 = {\n\t\t\tcause,\n\t\t\tposition: toValue\n\t\t};\n\t\tif (pendingTransitionRef.current) {\n\t\t\temitTransition(\"end\", pendingTransitionRef.current, false);\n\t\t\tpendingTransitionRef.current = null;\n\t\t}\n\t\tstopSpring();\n\t\tvar wasParkedClosed = isParkedClosedRef.current;\n\t\tisParkedClosedRef.current = false;\n\t\tif (import_constants.isWeb && isOpenAnimation && wasParkedClosed) {\n\t\t\tvar visibleEdge = (0, import_webViewport.getVisibleViewportHeight)();\n\t\t\tif (from > visibleEdge) animatedNumber.setValue(visibleEdge, { type: \"direct\" });\n\t\t}\n\t\tvar animationCompleteCallback = function animationCompleteCallback2() {\n\t\t\tif (at.current !== toValue) return;\n\t\t\tsyncAnimatedPosition(toValue);\n\t\t\tpendingTransitionRef.current = null;\n\t\t\tif (!isOpenAnimation && !openRef.current) {\n\t\t\t\tisParkedClosedRef.current = true;\n\t\t\t\tsetIsFullyClosed(true);\n\t\t\t}\n\t\t\temitTransition(\"end\", event1, true);\n\t\t};\n\t\tpendingTransitionRef.current = event1;\n\t\temitTransition(\"start\", event1);\n\t\tif (skipAdaptAnimation.current) {\n\t\t\tskipAdaptAnimation.current = false;\n\t\t\tanimatedNumber.setValue(toValue, {\n\t\t\t\ttype: \"timing\",\n\t\t\t\tduration: 0\n\t\t\t}, animationCompleteCallback);\n\t\t\treturn;\n\t\t}\n\t\tvar resolvedConfig = animationOverride || {\n\t\t\ttype: \"spring\",\n\t\t\t...transitionConfig\n\t\t};\n\t\tvar springConfig = !resolvedConfig.type || resolvedConfig.type === \"spring\" ? {\n\t\t\trestDisplacementThreshold: 1,\n\t\t\trestSpeedThreshold: 10,\n\t\t\tenergyThreshold: 1e-5,\n\t\t\t...resolvedConfig\n\t\t} : resolvedConfig;\n\t\tanimatedNumber.setValue(toValue, springConfig, animationCompleteCallback);\n\t});\n\t(0, import_constants.useIsomorphicLayoutEffect)(\n\t\tfunction() {\n\t\t\tif (hasntMeasured && screenSize && frameSize) {\n\t\t\t\tat.current = screenSize;\n\t\t\t\tanimatedNumber.setValue(screenSize, { type: \"direct\" });\n\t\t\t\tsyncAnimatedPosition(screenSize);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsetDisableAnimation(false);\n\t\t\t\t}, 10);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (disableAnimation) return;\n\t\t\tif (isDraggingRef.current) return;\n\t\t\tif (!frameSize || !screenSize || isHidden || hasntMeasured && !open) return;\n\t\t\tanimateTo(position);\n\t\t\tif (position === -1) {\n\t\t\t\tscrollBridge.scrollLock = false;\n\t\t\t\tscrollBridge.scrollStartY = -1;\n\t\t\t}\n\t\t\tif (open && position >= 0) {\n\t\t\t\tvar isTopPosition = position === 0;\n\t\t\t\tscrollBridge.isAtTop = isTopPosition;\n\t\t\t\tif (isTopPosition) {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled;\n\t\t\t\t\tscrollBridge.scrollLockY = void 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, true);\n\t\t\t\t} else {\n\t\t\t\t\tvar _scrollBridge_setScrollEnabled1;\n\t\t\t\t\tscrollBridge.scrollLockY = 0;\n\t\t\t\t\t(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, false);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// NOTE: effScreenSize/effectiveFrameSize are intentionally NOT deps. With the\n\t\t// spacer approach the frame's position target is frozen across keyboard\n\t\t// open/close (same stable baseline), so it must NOT re-animate — keyboard\n\t\t// avoidance is the bottom spacer + scroll, not a frame move.\n\t\t[\n\t\t\thasntMeasured,\n\t\t\tdisableAnimation,\n\t\t\tisHidden,\n\t\t\tframeSize,\n\t\t\tscreenSize,\n\t\t\topen,\n\t\t\tposition\n\t\t]\n\t);\n\tvar disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller === null || controller === void 0 ? void 0 : controller.disableDrag;\n\t(0, import_core.useThemeName)();\n\tvar [blockPan, setBlockPan] = import_react.default.useState(false);\n\tvar panConfig = import_react.default.useMemo(function() {\n\t\tif (disableDrag) return null;\n\t\tif (!frameSize) return null;\n\t\tif (isShowingInnerSheet) return null;\n\t\tvar minY = activePositions[0];\n\t\tscrollBridge.paneMinY = minY;\n\t\tvar startY = at.current;\n\t\tfunction setPanning(val) {\n\t\t\tsetIsDragging(val);\n\t\t}\n\t\tvar release = function release2(param) {\n\t\t\tvar { vy } = param;\n\t\t\tscrollBridge.setParentDragging(false);\n\t\t\tif (scrollBridge.scrollLock) return;\n\t\t\tisExternalDrag = false;\n\t\t\tpreviouslyScrolling = false;\n\t\t\tsetPanning(false);\n\t\t\tvar currentPos = at.current;\n\t\t\tvar end = currentPos + frameSize * vy * .2;\n\t\t\tvar closestPoint = (0, import_keyboardAvoidance.getSheetReleasePosition)({\n\t\t\t\tpositions: activePositions,\n\t\t\t\tprojectedEnd: end,\n\t\t\t\tcurrentPosition: currentPos,\n\t\t\t\tframeSize,\n\t\t\t\tdismissOnSnapToBottom,\n\t\t\t\tsnapPointsMode,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tisWeb: import_constants.isWeb\n\t\t\t});\n\t\t\tsetPosition(closestPoint);\n\t\t\tanimateTo(closestPoint);\n\t\t};\n\t\tvar finish = function finish2(_e, state2) {\n\t\t\trelease({\n\t\t\t\tvy: state2.vy,\n\t\t\t\tdragAt: state2.dy\n\t\t\t});\n\t\t};\n\t\tvar previouslyScrolling = false;\n\t\tvar onMoveShouldSet = function onMoveShouldSet2(e, param) {\n\t\t\tvar { dy } = param;\n\t\t\tfunction getShouldSet() {\n\t\t\t\tif (e.target === providerProps.handleRef.current) return true;\n\t\t\t\tif (scrollBridge.scrollNodeTouched) return false;\n\t\t\t\tif (scrollBridge.hasScrollableContent === true) {\n\t\t\t\t\tif (scrollBridge.scrollLock) return false;\n\t\t\t\t\tvar isScrolled = scrollBridge.y !== 0;\n\t\t\t\t\tvar isDraggingUp = dy < 0;\n\t\t\t\t\tvar isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;\n\t\t\t\t\tif (isScrolled) return false;\n\t\t\t\t\tif (isNearTop) {\n\t\t\t\t\t\tif (hasScrollView.current && isDraggingUp) return false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn Math.abs(dy) > 10;\n\t\t\t}\n\t\t\tvar granted = getShouldSet();\n\t\t\tif (granted) scrollBridge.setParentDragging(true);\n\t\t\treturn granted;\n\t\t};\n\t\tvar grant = function grant2() {\n\t\t\tsetPanning(true);\n\t\t\tstopSpring();\n\t\t\tstartY = getAnimatedPosition();\n\t\t};\n\t\tvar isExternalDrag = false;\n\t\tscrollBridge.startPanDrag = function() {\n\t\t\tisExternalDrag = true;\n\t\t\tgrant();\n\t\t};\n\t\tscrollBridge.drag = function(dy) {\n\t\t\tif (!isExternalDrag) {\n\t\t\t\tisExternalDrag = true;\n\t\t\t\tgrant();\n\t\t\t}\n\t\t\tvar to = dy + startY;\n\t\t\tsetAnimatedPositionDirect((0, import_helpers.resisted)(to, minY));\n\t\t};\n\t\tscrollBridge.release = release;\n\t\tscrollBridge.snapToPosition = function(positionIndex) {\n\t\t\tisExternalDrag = false;\n\t\t\tsetPanning(false);\n\t\t\tsetPosition(positionIndex);\n\t\t\tanimateTo(positionIndex);\n\t\t};\n\t\treturn {\n\t\t\tonMoveShouldSetPanResponder: onMoveShouldSet,\n\t\t\tonPanResponderTerminationRequest: function onPanResponderTerminationRequest() {\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tonPanResponderGrant: grant,\n\t\t\tonPanResponderMove: function onPanResponderMove(_e, param) {\n\t\t\t\tvar { dy } = param;\n\t\t\t\tvar toFull = dy + startY;\n\t\t\t\tvar to = (0, import_helpers.resisted)(toFull, minY);\n\t\t\t\tif (to <= minY) scrollBridge.setParentDragging(false);\n\t\t\t\telse scrollBridge.setParentDragging(true);\n\t\t\t\tsetAnimatedPositionDirect(to);\n\t\t\t},\n\t\t\tonPanResponderEnd: finish,\n\t\t\tonPanResponderTerminate: finish,\n\t\t\tonPanResponderRelease: finish\n\t\t};\n\t}, [\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tanimateTo,\n\t\tframeSize,\n\t\tactivePositions,\n\t\tsetPosition,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode\n\t]);\n\timport_react.default.useEffect(function() {\n\t\tif (isDragging || isHidden || !open || disableAnimation) return;\n\t\tif (!frameSize || !screenSize) return;\n\t\tanimateTo(position, {\n\t\t\ttype: \"timing\",\n\t\t\tduration: 250\n\t\t});\n\t}, [isKeyboardVisible, keyboardHeight]);\n\tvar wasDragging = import_react.default.useRef(false);\n\timport_react.default.useEffect(function() {\n\t\tif (isDragging) {\n\t\t\twasDragging.current = true;\n\t\t\treturn;\n\t\t}\n\t\tif (!wasDragging.current) return;\n\t\twasDragging.current = false;\n\t\tif (!frameSize || !screenSize || isHidden || !open) return;\n\t\tanimateTo(position);\n\t}, [isDragging]);\n\timport_react.default.useEffect(function() {\n\t\tif (!open && isKeyboardVisible) {\n\t\t\tdismissKeyboard();\n\t\t\tpauseKeyboardHandler.current = false;\n\t\t\tflushPendingHide();\n\t\t}\n\t}, [open]);\n\timport_react.default.useEffect(function() {\n\t\tif (!import_constants.isWeb || !modal || !open || shouldHideParentSheet) return;\n\t\tvar layer = {};\n\t\tsheetEscapeLayers.push(layer);\n\t\tvar onKeyDown = function onKeyDown2(event) {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tif (sheetEscapeLayers[sheetEscapeLayers.length - 1] === layer) state.setOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener(\"keydown\", onKeyDown);\n\t\treturn function() {\n\t\t\tvar index = sheetEscapeLayers.indexOf(layer);\n\t\t\tif (index > -1) sheetEscapeLayers.splice(index, 1);\n\t\t\tdocument.removeEventListener(\"keydown\", onKeyDown);\n\t\t};\n\t}, [\n\t\tmodal,\n\t\topen,\n\t\tshouldHideParentSheet,\n\t\tstate.setOpen\n\t]);\n\tvar { panGesture, panGestureRef, gestureHandlerEnabled } = (0, import_useGestureHandlerPan.useGestureHandlerPan)({\n\t\tpositions: activePositions,\n\t\tframeSize,\n\t\tsetPosition,\n\t\tanimateTo,\n\t\tstopSpring,\n\t\tscrollBridge,\n\t\tsetIsDragging,\n\t\tgetCurrentPosition: getAnimatedPosition,\n\t\tresisted: import_helpers.resisted,\n\t\tdisableDrag,\n\t\tisShowingInnerSheet,\n\t\tsetAnimatedPosition: setAnimatedPositionDirect,\n\t\tdismissOnSnapToBottom,\n\t\tsnapPointsMode,\n\t\tisKeyboardVisible,\n\t\tpauseKeyboardHandler\n\t});\n\tvar ignoreLayoutForKeyboard = (0, import_core.useEvent)(function() {\n\t\treturn import_constants.isWeb && moveOnKeyboardChange && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;\n\t});\n\tvar handleAnimationViewLayout = (0, import_core.useEvent)(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (!open && stableFrameSize.current !== 0) return;\n\t\tvar layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height;\n\t\tif (ignoreLayoutForKeyboard() && frameSize > 0) return;\n\t\tvar next = modal ? Math.min(layoutHeight, (0, import_stableViewportHeight.getStableViewportHeight)()) : layoutHeight;\n\t\tif (!next) return;\n\t\tsetFrameSize(Math.round(next));\n\t});\n\tvar handleMaxContentViewLayout = import_react.default.useCallback(function(e) {\n\t\tvar _e_nativeEvent;\n\t\tif (ignoreLayoutForKeyboard() && screenSize > 0) return;\n\t\tvar next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, (0, import_stableViewportHeight.getStableViewportHeight)());\n\t\tif (!next) return;\n\t\tsetMaxContentSize(Math.round(next));\n\t}, [ignoreLayoutForKeyboard, screenSize]);\n\tvar getAnimatedNumberStyle = import_react.default.useCallback(function(val) {\n\t\t\"worklet\";\n\t\treturn { transform: [{ translateY: frameSize === 0 ? hiddenSize : val }] };\n\t}, [frameSize]);\n\tvar animatedStyle = (0, import_core.useAnimatedNumberStyle)(animatedNumber, getAnimatedNumberStyle);\n\tvar [isFullyClosed, setIsFullyClosed] = import_react.default.useState(false);\n\tif (open && isFullyClosed) setIsFullyClosed(false);\n\tvar hasEverOpened = import_react.default.useRef(open);\n\tif (open) hasEverOpened.current = true;\n\tvar isVisuallyActive = open || hasEverOpened.current && !isFullyClosed;\n\tvar applyHidden = shouldHideParentSheet || isFullyClosed && !disableHideWhenClosed;\n\tvar forcedContentHeight = hasFit ? void 0 : snapPointsMode === \"percent\" ? `${maxSnapPoint}${import_constants.isWeb ? modal ? \"dvh\" : \"%\" : \"%\"}` : maxSnapPoint;\n\tvar setHasScrollView = import_react.default.useCallback(function(val) {\n\t\thasScrollView.current = val;\n\t}, []);\n\tvar animatedPositionValue = import_react.default.useMemo(function() {\n\t\tvar _activePositions_;\n\t\treturn {\n\t\t\tvalue: animatedNumber,\n\t\t\tscreenSize: effScreenSize,\n\t\t\tframeSize,\n\t\t\tsnapOffsets: activePositions,\n\t\t\tminY: (_activePositions_ = activePositions[0]) !== null && _activePositions_ !== void 0 ? _activePositions_ : 0\n\t\t};\n\t}, [\n\t\tanimatedNumber,\n\t\teffScreenSize,\n\t\tframeSize,\n\t\tactivePositions\n\t]);\n\tvar { overlayChildren, animatedChildren } = import_react.default.useMemo(function() {\n\t\treturn partitionSheetChildren(props.children);\n\t}, [props.children]);\n\tvar contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.LayoutMeasurementController, {\n\t\tdisable: !open,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.ParentSheetContext.Provider, {\n\t\t\tvalue: nextParentContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {\n\t\t\t\t...providerProps,\n\t\t\t\tkeyboardOccludedHeight,\n\t\t\t\tisKeyboardVisible,\n\t\t\t\tkeyboardStableFrameHeight,\n\t\t\t\tsetHasScrollView,\n\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GestureSheetContext.GestureSheetProvider, {\n\t\t\t\t\tisDragging,\n\t\t\t\t\tblockPan,\n\t\t\t\t\tsetBlockPan,\n\t\t\t\t\tpanGesture,\n\t\t\t\t\tpanGestureRef,\n\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetAnimatedPositionContext.Provider, {\n\t\t\t\t\t\tvalue: animatedPositionValue,\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetOverlayLayerContext.Provider, {\n\t\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {\n\t\t\t\t\t\t\t\t\tcustom: { open },\n\t\t\t\t\t\t\t\t\tchildren: shouldHideParentSheet || !open ? null : overlayChildren\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsnapPointsMode !== \"percent\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\tinset: 0,\n\t\t\t\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\t\t\t\tonLayout: handleMaxContentViewLayout\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ (0, import_jsx_runtime.jsx)(AnimatedView, {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\trole: import_constants.isWeb && modal ? \"dialog\" : void 0,\n\t\t\t\t\t\t\t\t\"aria-modal\": import_constants.isWeb && modal ? true : void 0,\n\t\t\t\t\t\t\t\t\"aria-label\": import_constants.isWeb && modal ? ariaLabel : void 0,\n\t\t\t\t\t\t\t\t\"aria-labelledby\": import_constants.isWeb && modal ? ariaLabelledby : void 0,\n\t\t\t\t\t\t\t\tonLayout: handleAnimationViewLayout,\n\t\t\t\t\t\t\t\ttransition: isDragging || disableAnimation ? null : transition,\n\t\t\t\t\t\t\t\tdisableClassName: true,\n\t\t\t\t\t\t\t\tstyle: [{\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tzIndex,\n\t\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\t\theight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\tminHeight: forcedContentHeight,\n\t\t\t\t\t\t\t\t\t...applyHidden && { display: \"none\" },\n\t\t\t\t\t\t\t\t\t...(shouldHideParentSheet || !open) && { pointerEvents: \"none\" }\n\t\t\t\t\t\t\t\t}, animatedStyle],\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetDragSurface.SheetDragSurface, {\n\t\t\t\t\t\t\t\t\tgestureHandlerEnabled,\n\t\t\t\t\t\t\t\t\tpanGesture,\n\t\t\t\t\t\t\t\t\tpanConfig,\n\t\t\t\t\t\t\t\t\tchildren: animatedChildren\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t});\n\tif ((0, import_portal.needsPortalRepropagation)()) {\n\t\tvar adaptContext = (0, import_adapt.useAdaptContext)();\n\t\tcontents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_adapt.ProvideAdaptContext, {\n\t\t\t...adaptContext,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_useSafeAreaInsets.SafeAreaInsetsContext.Provider, {\n\t\t\t\tvalue: safeAreaInsets,\n\t\t\t\tchildren: contents\n\t\t\t})\n\t\t});\n\t}\n\tvar shouldMountChildren = unmountChildrenWhenHidden ? !isFullyClosed : true;\n\tif (modal) {\n\t\tif (!shouldMountChildren) return null;\n\t\tvar RNGHRoot = (0, import_gestureState.getGestureHandlerState)().RootView;\n\t\tvar mountedContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ContainerComponent, { children: contents });\n\t\tvar gestureContents = RNGHRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RNGHRoot, {\n\t\t\tstyle: open ? rnghRootStyleOpen : rnghRootStyleClosed,\n\t\t\tchildren: mountedContents\n\t\t}) : mountedContents;\n\t\tvar modalContents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.Portal, {\n\t\t\tstackZIndex: zIndex,\n\t\t\thidden: !isVisuallyActive,\n\t\t\t...portalProps,\n\t\t\tchildren: import_constants.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_focus_scope.FocusScope, {\n\t\t\t\tloop: true,\n\t\t\t\tenabled: open && !shouldHideParentSheet,\n\t\t\t\ttrapped: open && !shouldHideParentSheet,\n\t\t\t\tforceUnmount: !open,\n\t\t\t\tchildren: gestureContents\n\t\t\t}) : gestureContents\n\t\t});\n\t\tif (import_constants.isWeb) return modalContents;\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_contexts.SheetInsideSheetContext.Provider, {\n\t\t\tvalue: onInnerSheet,\n\t\t\tchildren: modalContents\n\t\t});\n\t}\n\treturn contents;\n});\nfunction isSheetOverlayComponent(type) {\n\tvar staticConfig = type === null || type === void 0 ? void 0 : type.staticConfig;\n\twhile (staticConfig) {\n\t\tif (staticConfig[import_constants2.SHEET_OVERLAY_MARKER]) return true;\n\t\tstaticConfig = staticConfig.parentStaticConfig;\n\t}\n\treturn false;\n}\nfunction partitionSheetChildren(children) {\n\tvar overlayChildren = [];\n\tvar animatedChildren = [];\n\timport_react.default.Children.forEach(children, function(child) {\n\t\tif (!/* @__PURE__ */ import_react.default.isValidElement(child)) {\n\t\t\tanimatedChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tif (isSheetOverlayComponent(child.type)) {\n\t\t\toverlayChildren.push(child);\n\t\t\treturn;\n\t\t}\n\t\tanimatedChildren.push(child);\n\t});\n\treturn {\n\t\toverlayChildren,\n\t\tanimatedChildren\n\t};\n}\nfunction getYPositions(mode, point, screenSize, frameSize) {\n\tif (!screenSize || !frameSize) return 0;\n\tif (mode === \"mixed\") {\n\t\tif (typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\t\tif (point === \"fit\") return screenSize - Math.min(screenSize, frameSize);\n\t\tif (point.endsWith(\"%\")) {\n\t\t\tvar pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;\n\t\t\tif (Number.isNaN(pct)) {\n\t\t\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an invalid percentage string\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn Math.round(screenSize - pct * screenSize);\n\t\t}\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains an unsupported mixed-mode value\", \"Use \\\"fit\\\", a pixel number, or a percentage such as \\\"50%\\\"\", \"snapPoint\", point));\n\t\treturn 0;\n\t}\n\tif (mode === \"fit\") {\n\t\tif (point === 0) return screenSize;\n\t\treturn screenSize - Math.min(screenSize, frameSize);\n\t}\n\tif (mode === \"constant\" && typeof point === \"number\") return screenSize - Math.min(screenSize, Math.max(0, point));\n\tvar pct1 = Math.min(100, Math.max(0, Number(point))) / 100;\n\tif (Number.isNaN(pct1)) {\n\t\tconsole.warn((0, import_core.formatDiagnostic)(\"TAMAGUI_SHEET_SNAP_POINT\", \"Sheet\", \"snapPoints contains a value that cannot be converted to a percentage\", \"Use a numeric percentage such as 50\", \"snapPoint\", point));\n\t\treturn 0;\n\t}\n\treturn Math.round(screenSize - pct1 * screenSize);\n}\n//# sourceMappingURL=SheetImplementationCustom.js.map\n"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { AnimatePresence } from "@tamagui/animate-presence";
2
2
  import { getTransitionResolver } from "@tamagui/animation-helpers/transitionResolver";
3
3
  import { useComposedRefs } from "@tamagui/compose-refs";
4
4
  import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
5
+ import { FocusScope } from "@tamagui/focus-scope";
5
6
  import { LayoutMeasurementController, View, createRefComponent, formatDiagnostic, useAnimatedNumber, useAnimatedNumberStyle, useAnimationDriver, useDidFinishSSR, useEvent, useThemeName } from "@tamagui/core";
6
7
  import { Portal, needsPortalRepropagation } from "@tamagui/portal";
7
8
  import React, { useState } from "react";
@@ -36,7 +37,7 @@ const sheetEscapeLayers = [];
36
37
  const SheetImplementationCustom = createRefComponent(function SheetImplementationCustom2(props, forwardedRef) {
37
38
  const parentSheet = React.useContext(ParentSheetContext);
38
39
  const safeAreaTopInset = useSafeAreaInsets()?.top ?? 0;
39
- const { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onTransition } = props;
40
+ const { transition, transitionConfig: transitionConfigProp, modal = false, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = false, unmountChildrenWhenHidden = false, disableHideWhenClosed = false, portalProps, containerComponent: ContainerComponent = React.Fragment, onTransition, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby } = props;
40
41
  const state = useSheetOpenState(props);
41
42
  const providerProps = useSheetProviderProps(props, state);
42
43
  const { frameSize, setFrameSize, dismissOnSnapToBottom, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps;
@@ -575,6 +576,10 @@ const SheetImplementationCustom = createRefComponent(function SheetImplementatio
575
576
  }),
576
577
  /* @__PURE__ */ jsx(AnimatedView, {
577
578
  ref,
579
+ role: isWeb && modal ? "dialog" : void 0,
580
+ "aria-modal": isWeb && modal ? true : void 0,
581
+ "aria-label": isWeb && modal ? ariaLabel : void 0,
582
+ "aria-labelledby": isWeb && modal ? ariaLabelledby : void 0,
578
583
  onLayout: handleAnimationViewLayout,
579
584
  transition: isDragging || disableAnimation ? null : transition,
580
585
  disableClassName: true,
@@ -605,14 +610,21 @@ const SheetImplementationCustom = createRefComponent(function SheetImplementatio
605
610
  if (!shouldMountChildren) return null;
606
611
  const RNGHRoot = getGestureHandlerState().RootView;
607
612
  const mountedContents = /* @__PURE__ */ jsx(ContainerComponent, { children: contents });
613
+ const gestureContents = RNGHRoot ? /* @__PURE__ */ jsx(RNGHRoot, {
614
+ style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
615
+ children: mountedContents
616
+ }) : mountedContents;
608
617
  const modalContents = /* @__PURE__ */ jsx(Portal, {
609
618
  stackZIndex: zIndex,
610
619
  hidden: !isVisuallyActive,
611
620
  ...portalProps,
612
- children: RNGHRoot ? /* @__PURE__ */ jsx(RNGHRoot, {
613
- style: open ? rnghRootStyleOpen : rnghRootStyleClosed,
614
- children: mountedContents
615
- }) : mountedContents
621
+ children: isWeb ? /* @__PURE__ */ jsx(FocusScope, {
622
+ loop: true,
623
+ enabled: open && !shouldHideParentSheet,
624
+ trapped: open && !shouldHideParentSheet,
625
+ forceUnmount: !open,
626
+ children: gestureContents
627
+ }) : gestureContents
616
628
  });
617
629
  if (isWeb) return modalContents;
618
630
  return /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, {