@tamagui/sheet 3.1.4 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/sheet",
3
- "version": "3.1.4",
3
+ "version": "3.1.6",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -43,29 +43,30 @@
43
43
  "clean": "tamagui-build clean"
44
44
  },
45
45
  "dependencies": {
46
- "@tamagui/adapt": "3.1.4",
47
- "@tamagui/animate-presence": "3.1.4",
48
- "@tamagui/animation-helpers": "3.1.4",
49
- "@tamagui/animations-react-native": "3.1.4",
50
- "@tamagui/compose-refs": "3.1.4",
51
- "@tamagui/constants": "3.1.4",
52
- "@tamagui/core": "3.1.4",
53
- "@tamagui/helpers": "3.1.4",
54
- "@tamagui/native": "3.1.4",
55
- "@tamagui/portal": "3.1.4",
56
- "@tamagui/react-native-pan-responder": "3.1.4",
57
- "@tamagui/react-native-types": "3.1.4",
58
- "@tamagui/react-native-use-responder-events": "3.1.4",
59
- "@tamagui/remove-scroll": "3.1.4",
60
- "@tamagui/scroll-view": "3.1.4",
61
- "@tamagui/stacks": "3.1.4",
62
- "@tamagui/use-constant": "3.1.4",
63
- "@tamagui/use-controllable-state": "3.1.4",
64
- "@tamagui/use-did-finish-ssr": "3.1.4",
65
- "@tamagui/z-index-stack": "3.1.4"
46
+ "@tamagui/adapt": "3.1.6",
47
+ "@tamagui/animate-presence": "3.1.6",
48
+ "@tamagui/animation-helpers": "3.1.6",
49
+ "@tamagui/animations-react-native": "3.1.6",
50
+ "@tamagui/compose-refs": "3.1.6",
51
+ "@tamagui/constants": "3.1.6",
52
+ "@tamagui/core": "3.1.6",
53
+ "@tamagui/focus-scope": "3.1.6",
54
+ "@tamagui/helpers": "3.1.6",
55
+ "@tamagui/native": "3.1.6",
56
+ "@tamagui/portal": "3.1.6",
57
+ "@tamagui/react-native-pan-responder": "3.1.6",
58
+ "@tamagui/react-native-types": "3.1.6",
59
+ "@tamagui/react-native-use-responder-events": "3.1.6",
60
+ "@tamagui/remove-scroll": "3.1.6",
61
+ "@tamagui/scroll-view": "3.1.6",
62
+ "@tamagui/stacks": "3.1.6",
63
+ "@tamagui/use-constant": "3.1.6",
64
+ "@tamagui/use-controllable-state": "3.1.6",
65
+ "@tamagui/use-did-finish-ssr": "3.1.6",
66
+ "@tamagui/z-index-stack": "3.1.6"
66
67
  },
67
68
  "devDependencies": {
68
- "@tamagui/build": "3.1.4",
69
+ "@tamagui/build": "3.1.6",
69
70
  "react": "19.3.0",
70
71
  "react-native": "0.88.0",
71
72
  "react-native-gesture-handler": "3.3.0",
@@ -88,5 +89,5 @@
88
89
  "url": "git+https://github.com/tamagui/tamagui.git",
89
90
  "directory": "code/ui/sheet"
90
91
  },
91
- "releaseSourceCommit": "7ea8fdab519a1477311f2d882403e7926aba59df"
92
+ "releaseSourceCommit": "8f24c4faca3fd084bf71e72e24aa304a0266303b"
92
93
  }
@@ -4,6 +4,7 @@ import { AnimatePresence } from '@tamagui/animate-presence'
4
4
  import { getTransitionResolver } from '@tamagui/animation-helpers/transitionResolver'
5
5
  import { useComposedRefs } from '@tamagui/compose-refs'
6
6
  import { isWeb, useIsomorphicLayoutEffect } from '@tamagui/constants'
7
+ import { FocusScope } from '@tamagui/focus-scope'
7
8
  import {
8
9
  LayoutMeasurementController,
9
10
  View as TamaguiView,
@@ -1126,6 +1127,8 @@ export const SheetImplementationCustom = createRefComponent<View, SheetProps>(
1126
1127
 
1127
1128
  <AnimatedView
1128
1129
  ref={ref}
1130
+ role={isWeb && modal ? 'dialog' : undefined}
1131
+ aria-modal={isWeb && modal ? true : undefined}
1129
1132
  onLayout={handleAnimationViewLayout}
1130
1133
  // @ts-ignore for CSS driver this is necessary to attach the transition
1131
1134
  // also motion driver at least though i suspect all drivers?
@@ -1197,14 +1200,26 @@ export const SheetImplementationCustom = createRefComponent<View, SheetProps>(
1197
1200
  // rnghRootStyleOpen/Closed above for why pointerEvents can't be used.
1198
1201
  const RNGHRoot = getGestureHandlerState().RootView
1199
1202
  const mountedContents = <ContainerComponent>{contents}</ContainerComponent>
1203
+ const gestureContents = RNGHRoot ? (
1204
+ <RNGHRoot style={open ? rnghRootStyleOpen : rnghRootStyleClosed}>
1205
+ {mountedContents}
1206
+ </RNGHRoot>
1207
+ ) : (
1208
+ mountedContents
1209
+ )
1200
1210
  const modalContents = (
1201
1211
  <Portal stackZIndex={zIndex} hidden={!isVisuallyActive} {...portalProps}>
1202
- {RNGHRoot ? (
1203
- <RNGHRoot style={open ? rnghRootStyleOpen : rnghRootStyleClosed}>
1204
- {mountedContents}
1205
- </RNGHRoot>
1212
+ {isWeb ? (
1213
+ <FocusScope
1214
+ loop
1215
+ enabled={open && !shouldHideParentSheet}
1216
+ trapped={open && !shouldHideParentSheet}
1217
+ forceUnmount={!open}
1218
+ >
1219
+ {gestureContents}
1220
+ </FocusScope>
1206
1221
  ) : (
1207
- mountedContents
1222
+ gestureContents
1208
1223
  )}
1209
1224
  </Portal>
1210
1225
  )
package/types/Sheet.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type TamaguiElement } from '@tamagui/core';
1
+ import { type TamaguiElement, type ViewProps } from '@tamagui/core';
2
2
  import type { FunctionComponent, Ref } from 'react';
3
3
  import type { ViewInstance as RNView } from '@tamagui/react-native-types';
4
4
  import { useAnimatedPosition } from './SheetContext';
@@ -55,7 +55,8 @@ export declare const SheetControlled: import("@tamagui/helpers").Combined<Functi
55
55
  }, import("@tamagui/core").StackStyleBase, Omit<{
56
56
  open?: boolean | undefined;
57
57
  }, "scope">, import("@tamagui/core").StaticConfigPublic>;
58
- ScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/scroll-view").ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
58
+ ScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/scroll-view").ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "pointerEvents" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
59
+ pointerEvents?: import("@tamagui/web").ViewProps['pointerEvents'];
59
60
  style?: import("@tamagui/core").StackNonStyleProps['style'];
60
61
  contentContainerStyle?: import("@tamagui/core").StylePiece | import("@tamagui/core").StackNonStyleProps['style'];
61
62
  refreshControl?: React.ReactElement<{
@@ -92,7 +93,8 @@ export declare const Sheet: import("@tamagui/helpers").Combined<import("@tamagui
92
93
  }, import("@tamagui/core").StackStyleBase, Omit<{
93
94
  open?: boolean | undefined;
94
95
  }, "scope">, import("@tamagui/core").StaticConfigPublic>;
95
- ScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/scroll-view").ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
96
+ ScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/scroll-view").ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "pointerEvents" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
97
+ pointerEvents?: import("@tamagui/web").ViewProps['pointerEvents'];
96
98
  style?: import("@tamagui/core").StackNonStyleProps['style'];
97
99
  contentContainerStyle?: import("@tamagui/core").StylePiece | import("@tamagui/core").StackNonStyleProps['style'];
98
100
  refreshControl?: React.ReactElement<{
@@ -131,7 +133,8 @@ export declare const Sheet: import("@tamagui/helpers").Combined<import("@tamagui
131
133
  }, import("@tamagui/core").StackStyleBase, Omit<{
132
134
  open?: boolean | undefined;
133
135
  }, "scope">, import("@tamagui/core").StaticConfigPublic>;
134
- ScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/scroll-view").ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
136
+ ScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/scroll-view").ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "pointerEvents" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
137
+ pointerEvents?: import("@tamagui/web").ViewProps['pointerEvents'];
135
138
  style?: import("@tamagui/core").StackNonStyleProps['style'];
136
139
  contentContainerStyle?: import("@tamagui/core").StylePiece | import("@tamagui/core").StackNonStyleProps['style'];
137
140
  refreshControl?: React.ReactElement<{
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAA;AASzE,OAAO,EAEL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,SAAS,CAAA;AAK3D,cAAc,SAAS,CAAA;AAoEvB,eAAO,MAAM,WAAW;;;;wDAyCvB,CAAA;AAED,eAAO,MAAM,YAAY;;;;wDAsCxB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,cAAc;;8IAyF1B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,eAAe;;uIAuB3B,CAAA;AAED,eAAO,MAAM,SAAS,kEAiCrB,CAAA;AAUD,eAAO,MAAM,eAAe;UAE4B,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlE,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cALsC,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjE,CAAA"}
1
+ {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../src/Sheet.tsx"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,eAAe,CAAA;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAA;AASzE,OAAO,EAEL,mBAAmB,EAEpB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,SAAS,CAAA;AAK3D,cAAc,SAAS,CAAA;AAoEvB,eAAO,MAAM,WAAW;;;;wDAyCvB,CAAA;AAED,eAAO,MAAM,YAAY;;;;wDAsCxB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,cAAc;;8IAyF1B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,eAAe;;uIAuB3B,CAAA;AAED,eAAO,MAAM,SAAS,kEAiCrB,CAAA;AAUD,eAAO,MAAM,eAAe;UAE4B,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlE,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cALsC,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAIV,YAAY,IAAI,IAAI,EACrB,MAAM,6BAA6B,CAAA;AAyBpC,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,SAAS,CAAA;AAwBhB,eAAO,MAAM,yBAAyB,gEAynCrC,CAAA;AAOD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,WAYpD"}
1
+ {"version":3,"file":"SheetImplementationCustom.d.ts","sourceRoot":"","sources":["../src/SheetImplementationCustom.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAIV,YAAY,IAAI,IAAI,EACrB,MAAM,6BAA6B,CAAA;AAyBpC,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,SAAS,CAAA;AAwBhB,eAAO,MAAM,yBAAyB,gEAuoCrC,CAAA;AAOD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,WAYpD"}
@@ -1,6 +1,7 @@
1
1
  import type { ScrollViewRef } from '@tamagui/scroll-view';
2
2
  import React from 'react';
3
- export declare const SheetScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types/src").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
3
+ export declare const SheetScrollView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, ScrollViewRef, Omit<import("@tamagui/core").TamaguiComponentPropsBaseBase & Omit<import("@tamagui/core").StackNonStyleProps, "onScroll" | "style"> & import("@tamagui/core").RNViewProps & Omit<import("@tamagui/react-native-types").ScrollViewProps, "contentContainerStyle" | "keyboardShouldPersistTaps" | "onMomentumScrollBegin" | "onMomentumScrollEnd" | "onScrollBeginDrag" | "onScrollEndDrag" | "onScrollToTop" | "pointerEvents" | "refreshControl" | keyof import("@tamagui/core").RNViewProps | keyof import("@tamagui/core").StackNonStyleProps> & {
4
+ pointerEvents?: import("@tamagui/core").ViewProps['pointerEvents'];
4
5
  style?: import("@tamagui/core").StackNonStyleProps['style'];
5
6
  contentContainerStyle?: import("@tamagui/core").StylePiece | import("@tamagui/core").StackNonStyleProps['style'];
6
7
  refreshControl?: React.ReactElement<{
@@ -1 +1 @@
1
- {"version":3,"file":"SheetScrollView.d.ts","sourceRoot":"","sources":["../src/SheetScrollView.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,KAAsC,MAAM,OAAO,CAAA;AA6X1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAe3B,CAAA"}
1
+ {"version":3,"file":"SheetScrollView.d.ts","sourceRoot":"","sources":["../src/SheetScrollView.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,KAAsC,MAAM,OAAO,CAAA;AA6X1D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;EAe3B,CAAA"}