@tamagui/sheet 3.0.0-beta.831.1 → 3.0.0-beta.889.1

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.
Files changed (30) hide show
  1. package/dist/cjs/SheetScrollView.cjs +7 -9
  2. package/dist/cjs/SheetScrollView.native.cjs +7 -9
  3. package/dist/cjs/SheetScrollView.native.js +7 -9
  4. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  5. package/dist/cjs/useKeyboardControllerSheet.native.cjs +1 -27
  6. package/dist/cjs/useKeyboardControllerSheet.native.js +1 -27
  7. package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -1
  8. package/dist/esm/SheetScrollView.mjs +8 -10
  9. package/dist/esm/SheetScrollView.mjs.map +1 -1
  10. package/dist/esm/SheetScrollView.native.js +8 -10
  11. package/dist/esm/SheetScrollView.native.js.map +1 -1
  12. package/dist/esm/useKeyboardControllerSheet.native.js +1 -27
  13. package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -1
  14. package/dist/jsx/SheetScrollView.mjs +8 -10
  15. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  16. package/dist/jsx/SheetScrollView.native.cjs +7 -9
  17. package/dist/jsx/SheetScrollView.native.js +7 -9
  18. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  19. package/dist/jsx/useKeyboardControllerSheet.native.cjs +1 -27
  20. package/dist/jsx/useKeyboardControllerSheet.native.js +1 -27
  21. package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -1
  22. package/package.json +18 -18
  23. package/src/SheetScrollView.tsx +6 -5
  24. package/src/useKeyboardControllerSheet.native.ts +10 -44
  25. package/types/Sheet.d.ts +58 -211
  26. package/types/Sheet.d.ts.map +1 -1
  27. package/types/SheetScrollView.d.ts +3 -54
  28. package/types/SheetScrollView.d.ts.map +1 -1
  29. package/types/useKeyboardControllerSheet.native.d.ts +6 -6
  30. package/types/useKeyboardControllerSheet.native.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardControllerSheet.native.js","names":[],"sources":["jsx/useKeyboardControllerSheet.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useKeyboardControllerSheet_native_exports = {};\n__export(useKeyboardControllerSheet_native_exports, {\n useKeyboardControllerSheet: () => useKeyboardControllerSheet\n});\nmodule.exports = __toCommonJS(useKeyboardControllerSheet_native_exports);\nvar import_react = require(\"react\");\nvar import_react_native = require(\"react-native\");\nvar isKeyboardControllerEnabled = function() {\n return false;\n};\nvar getKeyboardControllerState = function() {\n return {};\n};\ntry {\n var nativeModule = require(\"@tamagui/native\");\n isKeyboardControllerEnabled = nativeModule.isKeyboardControllerEnabled;\n getKeyboardControllerState = nativeModule.getKeyboardControllerState;\n} catch (e) {\n}\nfunction useKeyboardControllerSheet(options) {\n var { enabled } = options;\n var [keyboardHeight, setKeyboardHeight] = (0, import_react.useState)(0);\n var [isKeyboardVisible, setIsKeyboardVisible] = (0, import_react.useState)(false);\n var keyboardControllerEnabled = isKeyboardControllerEnabled();\n var pauseKeyboardHandler = (0, import_react.useRef)(false);\n var pendingHide = (0, import_react.useRef)(false);\n var dismissKeyboard = (0, import_react.useCallback)(\n function() {\n import_react_native.Keyboard.dismiss();\n if (keyboardControllerEnabled) {\n try {\n var _KeyboardController_dismiss;\n var { KeyboardController } = getKeyboardControllerState();\n KeyboardController === null || KeyboardController === void 0 ? void 0 : (_KeyboardController_dismiss = KeyboardController.dismiss) === null || _KeyboardController_dismiss === void 0 ? void 0 : _KeyboardController_dismiss.call(KeyboardController);\n } catch (e) {\n }\n }\n },\n // ignore errors from keyboard-controller\n [\n keyboardControllerEnabled\n ]\n );\n var flushPendingHide = (0, import_react.useCallback)(function() {\n if (pendingHide.current) {\n pendingHide.current = false;\n setIsKeyboardVisible(false);\n setKeyboardHeight(0);\n }\n }, []);\n (0, import_react.useEffect)(function() {\n if (!enabled || !keyboardControllerEnabled) return;\n var { KeyboardEvents } = getKeyboardControllerState();\n if (!(KeyboardEvents === null || KeyboardEvents === void 0 ? void 0 : KeyboardEvents.addListener)) return;\n var showSub = KeyboardEvents.addListener(\"keyboardWillShow\", function(e) {\n var _e_height;\n var height = (_e_height = e === null || e === void 0 ? void 0 : e.height) !== null && _e_height !== void 0 ? _e_height : 0;\n if (height > 0) {\n setKeyboardHeight(height);\n }\n setIsKeyboardVisible(true);\n });\n var hideSub = KeyboardEvents.addListener(\"keyboardWillHide\", function() {\n if (pauseKeyboardHandler.current) {\n pendingHide.current = true;\n return;\n }\n setIsKeyboardVisible(false);\n setKeyboardHeight(0);\n });\n return function() {\n var _showSub_remove, _hideSub_remove;\n showSub === null || showSub === void 0 ? void 0 : (_showSub_remove = showSub.remove) === null || _showSub_remove === void 0 ? void 0 : _showSub_remove.call(showSub);\n hideSub === null || hideSub === void 0 ? void 0 : (_hideSub_remove = hideSub.remove) === null || _hideSub_remove === void 0 ? void 0 : _hideSub_remove.call(hideSub);\n };\n }, [\n enabled,\n keyboardControllerEnabled\n ]);\n (0, import_react.useEffect)(function() {\n if (!enabled) return;\n var showEvent = import_react_native.Platform.OS === \"ios\" ? \"keyboardWillShow\" : \"keyboardDidShow\";\n var hideEvent = import_react_native.Platform.OS === \"ios\" ? \"keyboardWillHide\" : \"keyboardDidHide\";\n var showListener = import_react_native.Keyboard.addListener(showEvent, function(e) {\n setKeyboardHeight(e.endCoordinates.height);\n setIsKeyboardVisible(true);\n });\n var hideListener = import_react_native.Keyboard.addListener(hideEvent, function() {\n if (pauseKeyboardHandler.current) {\n pendingHide.current = true;\n return;\n }\n setIsKeyboardVisible(false);\n setKeyboardHeight(0);\n });\n return function() {\n showListener.remove();\n hideListener.remove();\n };\n }, [\n enabled,\n keyboardControllerEnabled\n ]);\n return {\n keyboardControllerEnabled,\n keyboardHeight,\n isKeyboardVisible,\n dismissKeyboard,\n pauseKeyboardHandler,\n flushPendingHide\n };\n}\n//# sourceMappingURL=useKeyboardControllerSheet.native.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardControllerSheet.native.js","names":[],"sources":["jsx/useKeyboardControllerSheet.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useKeyboardControllerSheet_native_exports = {};\n__export(useKeyboardControllerSheet_native_exports, {\n useKeyboardControllerSheet: () => useKeyboardControllerSheet\n});\nmodule.exports = __toCommonJS(useKeyboardControllerSheet_native_exports);\nvar import_react = require(\"react\");\nvar import_react_native = require(\"react-native\");\nvar isKeyboardControllerEnabled = function() {\n return false;\n};\nvar getKeyboardControllerState = function() {\n return {};\n};\ntry {\n var nativeModule = require(\"@tamagui/native\");\n isKeyboardControllerEnabled = nativeModule.isKeyboardControllerEnabled;\n getKeyboardControllerState = nativeModule.getKeyboardControllerState;\n} catch (e) {\n}\nfunction useKeyboardControllerSheet(options) {\n var { enabled } = options;\n var [keyboardHeight, setKeyboardHeight] = (0, import_react.useState)(0);\n var [isKeyboardVisible, setIsKeyboardVisible] = (0, import_react.useState)(false);\n var keyboardControllerEnabled = isKeyboardControllerEnabled();\n var pauseKeyboardHandler = (0, import_react.useRef)(false);\n var pendingHide = (0, import_react.useRef)(false);\n var dismissKeyboard = (0, import_react.useCallback)(\n function() {\n import_react_native.Keyboard.dismiss();\n if (keyboardControllerEnabled) {\n try {\n var _KeyboardController_dismiss;\n var { KeyboardController } = getKeyboardControllerState();\n KeyboardController === null || KeyboardController === void 0 ? void 0 : (_KeyboardController_dismiss = KeyboardController.dismiss) === null || _KeyboardController_dismiss === void 0 ? void 0 : _KeyboardController_dismiss.call(KeyboardController);\n } catch (e) {\n }\n }\n },\n // ignore errors from keyboard-controller\n [\n keyboardControllerEnabled\n ]\n );\n var flushPendingHide = (0, import_react.useCallback)(function() {\n if (pendingHide.current) {\n pendingHide.current = false;\n setIsKeyboardVisible(false);\n setKeyboardHeight(0);\n }\n }, []);\n (0, import_react.useEffect)(function() {\n if (!enabled) return;\n var showEvent = import_react_native.Platform.OS === \"ios\" ? \"keyboardWillShow\" : \"keyboardDidShow\";\n var hideEvent = import_react_native.Platform.OS === \"ios\" ? \"keyboardWillHide\" : \"keyboardDidHide\";\n var showListener = import_react_native.Keyboard.addListener(showEvent, function(e) {\n setKeyboardHeight(e.endCoordinates.height);\n setIsKeyboardVisible(true);\n });\n var hideListener = import_react_native.Keyboard.addListener(hideEvent, function() {\n if (pauseKeyboardHandler.current) {\n pendingHide.current = true;\n return;\n }\n setIsKeyboardVisible(false);\n setKeyboardHeight(0);\n });\n return function() {\n showListener.remove();\n hideListener.remove();\n };\n }, [\n enabled\n ]);\n return {\n keyboardControllerEnabled,\n keyboardHeight,\n isKeyboardVisible,\n dismissKeyboard,\n pauseKeyboardHandler,\n flushPendingHide\n };\n}\n//# sourceMappingURL=useKeyboardControllerSheet.native.js.map\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/sheet",
3
- "version": "3.0.0-beta.831.1",
3
+ "version": "3.0.0-beta.889.1",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -43,25 +43,25 @@
43
43
  "clean": "tamagui-build clean"
44
44
  },
45
45
  "dependencies": {
46
- "@tamagui/adapt": "3.0.0-beta.831.1",
47
- "@tamagui/animate-presence": "3.0.0-beta.831.1",
48
- "@tamagui/animations-react-native": "3.0.0-beta.831.1",
49
- "@tamagui/compose-refs": "3.0.0-beta.831.1",
50
- "@tamagui/constants": "3.0.0-beta.831.1",
51
- "@tamagui/core": "3.0.0-beta.831.1",
52
- "@tamagui/helpers": "3.0.0-beta.831.1",
53
- "@tamagui/native": "3.0.0-beta.831.1",
54
- "@tamagui/portal": "3.0.0-beta.831.1",
55
- "@tamagui/remove-scroll": "3.0.0-beta.831.1",
56
- "@tamagui/scroll-view": "3.0.0-beta.831.1",
57
- "@tamagui/stacks": "3.0.0-beta.831.1",
58
- "@tamagui/use-constant": "3.0.0-beta.831.1",
59
- "@tamagui/use-controllable-state": "3.0.0-beta.831.1",
60
- "@tamagui/use-did-finish-ssr": "3.0.0-beta.831.1",
61
- "@tamagui/z-index-stack": "3.0.0-beta.831.1"
46
+ "@tamagui/adapt": "3.0.0-beta.889.1",
47
+ "@tamagui/animate-presence": "3.0.0-beta.889.1",
48
+ "@tamagui/animations-react-native": "3.0.0-beta.889.1",
49
+ "@tamagui/compose-refs": "3.0.0-beta.889.1",
50
+ "@tamagui/constants": "3.0.0-beta.889.1",
51
+ "@tamagui/core": "3.0.0-beta.889.1",
52
+ "@tamagui/helpers": "3.0.0-beta.889.1",
53
+ "@tamagui/native": "3.0.0-beta.889.1",
54
+ "@tamagui/portal": "3.0.0-beta.889.1",
55
+ "@tamagui/remove-scroll": "3.0.0-beta.889.1",
56
+ "@tamagui/scroll-view": "3.0.0-beta.889.1",
57
+ "@tamagui/stacks": "3.0.0-beta.889.1",
58
+ "@tamagui/use-constant": "3.0.0-beta.889.1",
59
+ "@tamagui/use-controllable-state": "3.0.0-beta.889.1",
60
+ "@tamagui/use-did-finish-ssr": "3.0.0-beta.889.1",
61
+ "@tamagui/z-index-stack": "3.0.0-beta.889.1"
62
62
  },
63
63
  "devDependencies": {
64
- "@tamagui/build": "3.0.0-beta.831.1",
64
+ "@tamagui/build": "3.0.0-beta.889.1",
65
65
  "react": "19.2.3",
66
66
  "react-native": "0.86.2",
67
67
  "react-native-gesture-handler": "~2.32.0",
@@ -1,5 +1,5 @@
1
1
  import { composeRefs } from '@tamagui/compose-refs'
2
- import { createStyledHOC, isWeb, View, type GetProps } from '@tamagui/core'
2
+ import { createStyledHOC, isWeb, style, View, type GetProps } from '@tamagui/core'
3
3
  import type { ScrollViewRef } from '@tamagui/scroll-view'
4
4
  import { ScrollView } from '@tamagui/scroll-view'
5
5
  import { useControllableState } from '@tamagui/use-controllable-state'
@@ -18,6 +18,7 @@ import {
18
18
  } from './webViewport'
19
19
 
20
20
  const SHEET_SCROLL_VIEW_NAME = 'SheetScrollView'
21
+ const sheetContentStyle = style({ minHeight: '100%' })
21
22
 
22
23
  type SheetScrollViewBaseProps = GetProps<typeof ScrollView>
23
24
 
@@ -73,14 +74,14 @@ export const SheetScrollView = createStyledHOC(
73
74
  // a flex: 1 child can't grow inside a content-sized parent, so the ScrollView (and the Container
74
75
  // around it) collapse to 0 height. instead, let the ScrollView size to its content and cap it
75
76
  // at the available viewport (screenSize / maxContentSize) so scrolling kicks in for tall content.
76
- const fitSizingStyle = hasFit
77
+ const fitSizingProps = hasFit
77
78
  ? {
78
79
  flex: undefined as undefined,
79
80
  height: undefined as undefined,
80
81
  maxHeight: screenSize || undefined,
81
82
  }
82
83
  : { flex: 1 }
83
- const contentContainerStyle = hasFit ? undefined : { minHeight: '100%' as const }
84
+ const contentContainerStyle = hasFit ? undefined : sheetContentStyle
84
85
 
85
86
  // when the keyboard is open, pin the scroll view to the sheet's pre-keyboard
86
87
  // frame height (frozenFrameHeight), overriding any consumer maxHeight. on web
@@ -93,7 +94,6 @@ export const SheetScrollView = createStyledHOC(
93
94
  ? { height: frozenFrameHeight, maxHeight: frozenFrameHeight }
94
95
  : null
95
96
  const scrollViewStyle = [
96
- fitSizingStyle,
97
97
  ...(Array.isArray(style) ? style : [style]),
98
98
  keyboardFrozenOverride,
99
99
  ]
@@ -294,7 +294,7 @@ export const SheetScrollView = createStyledHOC(
294
294
  return (
295
295
  <RNGHComponent
296
296
  ref={composeRefs(scrollRef as any, ref)}
297
- style={scrollViewStyle}
297
+ style={[fitSizingProps, ...scrollViewStyle]}
298
298
  scrollEventThrottle={1}
299
299
  scrollEnabled={scrollEnabled}
300
300
  simultaneousHandlers={[panGestureRef]}
@@ -351,6 +351,7 @@ export const SheetScrollView = createStyledHOC(
351
351
  // fallback ScrollView with platform-specific gesture props
352
352
  return (
353
353
  <ScrollView
354
+ {...fitSizingProps}
354
355
  onLayout={(e) => {
355
356
  recordFitHeight(Math.ceil(e.nativeEvent.layout.height))
356
357
  updateScrollable()
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Native implementation of keyboard controller sheet hook.
2
+ * native implementation of keyboard controller sheet hook.
3
3
  *
4
- * Simplified to just track keyboard state (height, visibility).
5
- * Position animation is handled by SheetImplementationCustom via
6
- * keyboard-adjusted positions — matching the react-native-actions-sheet pattern.
4
+ * simplified to just track keyboard state (height, visibility).
5
+ * position animation is handled by SheetImplementationCustom via
6
+ * keyboard-adjusted positions, matching the react-native-actions-sheet pattern.
7
7
  *
8
- * Uses react-native-keyboard-controller events when available,
9
- * falls back to basic Keyboard API otherwise.
8
+ * uses React Native keyboard events for state. The optional keyboard-controller
9
+ * integration is only used for imperative dismissal.
10
10
  */
11
11
 
12
12
  import { useCallback, useEffect, useRef, useState } from 'react'
@@ -67,43 +67,9 @@ export function useKeyboardControllerSheet(
67
67
  }
68
68
  }, [])
69
69
 
70
- // keyboard-controller event listeners (preferred when available)
71
- useEffect(() => {
72
- if (!enabled || !keyboardControllerEnabled) return
73
-
74
- const { KeyboardEvents } = getKeyboardControllerState()
75
- if (!KeyboardEvents?.addListener) return
76
-
77
- const showSub = KeyboardEvents.addListener('keyboardWillShow', (e: any) => {
78
- const height = e?.height ?? 0
79
- if (height > 0) {
80
- setKeyboardHeight(height)
81
- }
82
- setIsKeyboardVisible(true)
83
- })
84
-
85
- const hideSub = KeyboardEvents.addListener('keyboardWillHide', () => {
86
- if (pauseKeyboardHandler.current) {
87
- pendingHide.current = true
88
- return
89
- }
90
- setIsKeyboardVisible(false)
91
- setKeyboardHeight(0)
92
- })
93
-
94
- return () => {
95
- showSub?.remove?.()
96
- hideSub?.remove?.()
97
- }
98
- }, [enabled, keyboardControllerEnabled])
99
-
100
- // basic Keyboard API listeners, always on: keyboard-controller's events only
101
- // fire when the app mounts its KeyboardProvider, and `enabled` above only
102
- // proves the module is linked. an app (or the detox harness, which launches
103
- // with disableKeyboardController) that skips the provider would otherwise get
104
- // silently dead keyboard tracking - the sheet never moves and the scroll
105
- // occlusion padding never applies. RN's Keyboard events always fire, so they
106
- // are the baseline; when both fire the extra setState is a same-value no-op.
70
+ // module availability does not prove that KeyboardProvider is mounted. Its
71
+ // event emitter is silent without the provider, while React Native's keyboard
72
+ // notifications are available in both configurations.
107
73
  useEffect(() => {
108
74
  if (!enabled) return
109
75
 
@@ -128,7 +94,7 @@ export function useKeyboardControllerSheet(
128
94
  showListener.remove()
129
95
  hideListener.remove()
130
96
  }
131
- }, [enabled, keyboardControllerEnabled])
97
+ }, [enabled])
132
98
 
133
99
  return {
134
100
  keyboardControllerEnabled,