@webority-technologies/mobile 0.0.14 → 0.0.15
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.
|
@@ -287,10 +287,15 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
287
287
|
}, [keyboardBehavior, keyboardOffset]);
|
|
288
288
|
|
|
289
289
|
// ───────── Animated styles ─────────
|
|
290
|
+
const safeAreaTop = insets.top;
|
|
290
291
|
const sheetStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
|
|
291
|
-
// Don't push past the screen top — keyboard offset is clamped to minTopY.
|
|
292
292
|
const yWithKb = translateY.value + keyboardOffset.value;
|
|
293
|
-
|
|
293
|
+
// When the keyboard is up, allow the sheet to slide above its natural
|
|
294
|
+
// max-snap-point top (`minTopY`) so the input area stays visible. We still
|
|
295
|
+
// clamp to the safe-area top so the sheet doesn't disappear under the
|
|
296
|
+
// status bar / notch.
|
|
297
|
+
const lowerBound = keyboardOffset.value < 0 ? safeAreaTop : minTopY;
|
|
298
|
+
const clamped = yWithKb < lowerBound ? lowerBound : yWithKb;
|
|
294
299
|
return {
|
|
295
300
|
transform: [{
|
|
296
301
|
translateY: clamped
|
|
@@ -335,8 +340,13 @@ const BottomSheet = exports.BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((p
|
|
|
335
340
|
testID: testID,
|
|
336
341
|
accessibilityViewIsModal: accessibilityViewIsModal ?? isExpanded,
|
|
337
342
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
338
|
-
style: [styles.backdrop,
|
|
339
|
-
|
|
343
|
+
style: [styles.backdrop,
|
|
344
|
+
// Solid scrim — the theme `background.overlay` token bakes in alpha
|
|
345
|
+
// and double-multiplies with `backdropOpacity`, leaving the backdrop
|
|
346
|
+
// looking washed out. Standard modal scrims are solid black so the
|
|
347
|
+
// prop controls the actual final opacity.
|
|
348
|
+
{
|
|
349
|
+
backgroundColor: '#000'
|
|
340
350
|
}, backdropStyle],
|
|
341
351
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
342
352
|
style: _reactNative.StyleSheet.absoluteFill,
|
|
@@ -282,10 +282,15 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
282
282
|
}, [keyboardBehavior, keyboardOffset]);
|
|
283
283
|
|
|
284
284
|
// ───────── Animated styles ─────────
|
|
285
|
+
const safeAreaTop = insets.top;
|
|
285
286
|
const sheetStyle = useAnimatedStyle(() => {
|
|
286
|
-
// Don't push past the screen top — keyboard offset is clamped to minTopY.
|
|
287
287
|
const yWithKb = translateY.value + keyboardOffset.value;
|
|
288
|
-
|
|
288
|
+
// When the keyboard is up, allow the sheet to slide above its natural
|
|
289
|
+
// max-snap-point top (`minTopY`) so the input area stays visible. We still
|
|
290
|
+
// clamp to the safe-area top so the sheet doesn't disappear under the
|
|
291
|
+
// status bar / notch.
|
|
292
|
+
const lowerBound = keyboardOffset.value < 0 ? safeAreaTop : minTopY;
|
|
293
|
+
const clamped = yWithKb < lowerBound ? lowerBound : yWithKb;
|
|
289
294
|
return {
|
|
290
295
|
transform: [{
|
|
291
296
|
translateY: clamped
|
|
@@ -330,8 +335,13 @@ const BottomSheet = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
330
335
|
testID: testID,
|
|
331
336
|
accessibilityViewIsModal: accessibilityViewIsModal ?? isExpanded,
|
|
332
337
|
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
333
|
-
style: [styles.backdrop,
|
|
334
|
-
|
|
338
|
+
style: [styles.backdrop,
|
|
339
|
+
// Solid scrim — the theme `background.overlay` token bakes in alpha
|
|
340
|
+
// and double-multiplies with `backdropOpacity`, leaving the backdrop
|
|
341
|
+
// looking washed out. Standard modal scrims are solid black so the
|
|
342
|
+
// prop controls the actual final opacity.
|
|
343
|
+
{
|
|
344
|
+
backgroundColor: '#000'
|
|
335
345
|
}, backdropStyle],
|
|
336
346
|
children: /*#__PURE__*/_jsx(Pressable, {
|
|
337
347
|
style: StyleSheet.absoluteFill,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority-technologies/mobile",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Beautiful, animated, accessible React Native components plus API/auth/logging/network/storage utilities for Webority projects.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|