crossnotify 0.0.1 → 0.0.3
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
|
-
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { Modal, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { Toast } from "./Toast.native.js";
|
|
6
6
|
import { store, useToasts } from "./store.js";
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -57,26 +57,40 @@ export function Toaster() {
|
|
|
57
57
|
} = store.getDefaults();
|
|
58
58
|
const topToasts = useMemo(() => groupForPosition(toasts, 'top', maxVisible), [toasts, maxVisible]);
|
|
59
59
|
const bottomToasts = useMemo(() => groupForPosition(toasts, 'bottom', maxVisible), [toasts, maxVisible]);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
|
|
61
|
+
// Rendered in its own native window (via Modal) rather than as a plain
|
|
62
|
+
// absolutely-positioned View in the app's view tree. Bottom sheets, native
|
|
63
|
+
// modals, and similar overlays are typically siblings mounted elsewhere in
|
|
64
|
+
// that same tree, so a plain View can end up painted underneath them
|
|
65
|
+
// regardless of zIndex/elevation. A transparent, box-none Modal always
|
|
66
|
+
// stacks above the app's main content and lets touches pass through to it.
|
|
67
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
68
|
+
transparent: true,
|
|
69
|
+
visible: toasts.length > 0,
|
|
70
|
+
animationType: "none",
|
|
71
|
+
statusBarTranslucent: true,
|
|
72
|
+
onRequestClose: () => {},
|
|
73
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
74
|
+
style: StyleSheet.absoluteFillObject,
|
|
75
75
|
pointerEvents: "box-none",
|
|
76
|
-
children:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
77
|
+
style: [styles.stack, styles.top, {
|
|
78
|
+
paddingTop: insets.top + 12
|
|
79
|
+
}],
|
|
80
|
+
pointerEvents: "box-none",
|
|
81
|
+
children: topToasts.map(toast => /*#__PURE__*/_jsx(ToastSlot, {
|
|
82
|
+
toast: toast
|
|
83
|
+
}, toast.id))
|
|
84
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
85
|
+
style: [styles.stack, styles.bottom, {
|
|
86
|
+
paddingBottom: insets.bottom + 12
|
|
87
|
+
}],
|
|
88
|
+
pointerEvents: "box-none",
|
|
89
|
+
children: bottomToasts.map(toast => /*#__PURE__*/_jsx(ToastSlot, {
|
|
90
|
+
toast: toast
|
|
91
|
+
}, toast.id))
|
|
92
|
+
})]
|
|
93
|
+
})
|
|
80
94
|
});
|
|
81
95
|
}
|
|
82
96
|
function ToastSlot({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","StyleSheet","View","Toast","store","useToasts","jsx","_jsx","jsxs","_jsxs","SafeAreaContext","require","Reanimated","__optionalPeers","FALLBACK_INSETS","top","bottom","useInsets","useSafeAreaInsets","groupForPosition","toasts","position","maxVisible","inPosition","filter","toast","visible","slice","Math","max","length","reverse","Toaster","insets","getDefaults","topToasts","bottomToasts","
|
|
1
|
+
{"version":3,"names":["useMemo","Modal","StyleSheet","View","Toast","store","useToasts","jsx","_jsx","jsxs","_jsxs","SafeAreaContext","require","Reanimated","__optionalPeers","FALLBACK_INSETS","top","bottom","useInsets","useSafeAreaInsets","groupForPosition","toasts","position","maxVisible","inPosition","filter","toast","visible","slice","Math","max","length","reverse","Toaster","insets","getDefaults","topToasts","bottomToasts","transparent","animationType","statusBarTranslucent","onRequestClose","children","style","absoluteFillObject","pointerEvents","styles","stack","paddingTop","map","ToastSlot","id","paddingBottom","AnimatedView","default","layout","LinearTransition","item","onRequestDismiss","remove","create","left","right","alignItems","paddingHorizontal","justifyContent","width","marginBottom"],"sourceRoot":"../../src","sources":["Toaster.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.native.d.ts","sourceRoot":"","sources":["../../../src/Toaster.native.tsx"],"names":[],"mappings":"AAwBA,0FAA0F;AAC1F,eAAO,MAAM,eAAe;;;CAAkC,CAAC;AA4B/D,wBAAgB,OAAO,
|
|
1
|
+
{"version":3,"file":"Toaster.native.d.ts","sourceRoot":"","sources":["../../../src/Toaster.native.tsx"],"names":[],"mappings":"AAwBA,0FAA0F;AAC1F,eAAO,MAAM,eAAe;;;CAAkC,CAAC;AA4B/D,wBAAgB,OAAO,gCAoDtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crossnotify",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "One cross-platform in-app notification API for React Native / Expo apps",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -81,12 +81,24 @@
|
|
|
81
81
|
"sonner": "*"
|
|
82
82
|
},
|
|
83
83
|
"peerDependenciesMeta": {
|
|
84
|
-
"expo-blur": {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
"expo-blur": {
|
|
85
|
+
"optional": true
|
|
86
|
+
},
|
|
87
|
+
"expo-haptics": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"expo-symbols": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"react-native-reanimated": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"react-native-safe-area-context": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"sonner": {
|
|
100
|
+
"optional": true
|
|
101
|
+
}
|
|
90
102
|
},
|
|
91
103
|
"workspaces": [
|
|
92
104
|
"example"
|