@tamagui/v2-toast 2.0.0-1769464493958
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/dist/cjs/Toast.cjs +170 -0
- package/dist/cjs/Toast.js +119 -0
- package/dist/cjs/Toast.js.map +6 -0
- package/dist/cjs/Toast.native.js +174 -0
- package/dist/cjs/Toast.native.js.map +1 -0
- package/dist/cjs/ToastAnnounce.cjs +97 -0
- package/dist/cjs/ToastAnnounce.js +72 -0
- package/dist/cjs/ToastAnnounce.js.map +6 -0
- package/dist/cjs/ToastAnnounce.native.js +105 -0
- package/dist/cjs/ToastAnnounce.native.js.map +1 -0
- package/dist/cjs/ToastImperative.cjs +100 -0
- package/dist/cjs/ToastImperative.js +71 -0
- package/dist/cjs/ToastImperative.js.map +6 -0
- package/dist/cjs/ToastImperative.native.js +122 -0
- package/dist/cjs/ToastImperative.native.js.map +1 -0
- package/dist/cjs/ToastImpl.cjs +292 -0
- package/dist/cjs/ToastImpl.js +227 -0
- package/dist/cjs/ToastImpl.js.map +6 -0
- package/dist/cjs/ToastImpl.native.js +327 -0
- package/dist/cjs/ToastImpl.native.js.map +1 -0
- package/dist/cjs/ToastItem.cjs +466 -0
- package/dist/cjs/ToastItem.js +356 -0
- package/dist/cjs/ToastItem.js.map +6 -0
- package/dist/cjs/ToastItem.native.js +547 -0
- package/dist/cjs/ToastItem.native.js.map +1 -0
- package/dist/cjs/ToastPortal.cjs +44 -0
- package/dist/cjs/ToastPortal.js +26 -0
- package/dist/cjs/ToastPortal.js.map +6 -0
- package/dist/cjs/ToastPortal.native.js +47 -0
- package/dist/cjs/ToastPortal.native.js.map +1 -0
- package/dist/cjs/ToastProvider.cjs +146 -0
- package/dist/cjs/ToastProvider.js +105 -0
- package/dist/cjs/ToastProvider.js.map +6 -0
- package/dist/cjs/ToastProvider.native.js +159 -0
- package/dist/cjs/ToastProvider.native.js.map +1 -0
- package/dist/cjs/ToastState.cjs +248 -0
- package/dist/cjs/ToastState.js +160 -0
- package/dist/cjs/ToastState.js.map +6 -0
- package/dist/cjs/ToastState.native.js +257 -0
- package/dist/cjs/ToastState.native.js.map +1 -0
- package/dist/cjs/ToastViewport.cjs +278 -0
- package/dist/cjs/ToastViewport.js +263 -0
- package/dist/cjs/ToastViewport.js.map +6 -0
- package/dist/cjs/ToastViewport.native.js +316 -0
- package/dist/cjs/ToastViewport.native.js.map +1 -0
- package/dist/cjs/Toaster.cjs +219 -0
- package/dist/cjs/Toaster.js +177 -0
- package/dist/cjs/Toaster.js.map +6 -0
- package/dist/cjs/Toaster.native.js +279 -0
- package/dist/cjs/Toaster.native.js.map +1 -0
- package/dist/cjs/constants.cjs +28 -0
- package/dist/cjs/constants.js +22 -0
- package/dist/cjs/constants.js.map +6 -0
- package/dist/cjs/constants.native.js +31 -0
- package/dist/cjs/constants.native.js.map +1 -0
- package/dist/cjs/createNativeToast.cjs +51 -0
- package/dist/cjs/createNativeToast.js +44 -0
- package/dist/cjs/createNativeToast.js.map +6 -0
- package/dist/cjs/createNativeToast.native.js +47 -0
- package/dist/cjs/createNativeToast.native.js.map +1 -0
- package/dist/cjs/index.cjs +28 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +31 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +19 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/useDragGesture.cjs +129 -0
- package/dist/cjs/useDragGesture.js +100 -0
- package/dist/cjs/useDragGesture.js.map +6 -0
- package/dist/cjs/useDragGesture.native.js +146 -0
- package/dist/cjs/useDragGesture.native.js.map +1 -0
- package/dist/esm/Toast.js +107 -0
- package/dist/esm/Toast.js.map +6 -0
- package/dist/esm/Toast.mjs +131 -0
- package/dist/esm/Toast.mjs.map +1 -0
- package/dist/esm/Toast.native.js +132 -0
- package/dist/esm/Toast.native.js.map +1 -0
- package/dist/esm/ToastAnnounce.js +55 -0
- package/dist/esm/ToastAnnounce.js.map +6 -0
- package/dist/esm/ToastAnnounce.mjs +62 -0
- package/dist/esm/ToastAnnounce.mjs.map +1 -0
- package/dist/esm/ToastAnnounce.native.js +67 -0
- package/dist/esm/ToastAnnounce.native.js.map +1 -0
- package/dist/esm/ToastImperative.js +50 -0
- package/dist/esm/ToastImperative.js.map +6 -0
- package/dist/esm/ToastImperative.mjs +63 -0
- package/dist/esm/ToastImperative.mjs.map +1 -0
- package/dist/esm/ToastImperative.native.js +82 -0
- package/dist/esm/ToastImperative.native.js.map +1 -0
- package/dist/esm/ToastImpl.js +225 -0
- package/dist/esm/ToastImpl.js.map +6 -0
- package/dist/esm/ToastImpl.mjs +256 -0
- package/dist/esm/ToastImpl.mjs.map +1 -0
- package/dist/esm/ToastImpl.native.js +288 -0
- package/dist/esm/ToastImpl.native.js.map +1 -0
- package/dist/esm/ToastItem.js +339 -0
- package/dist/esm/ToastItem.js.map +6 -0
- package/dist/esm/ToastItem.mjs +432 -0
- package/dist/esm/ToastItem.mjs.map +1 -0
- package/dist/esm/ToastItem.native.js +510 -0
- package/dist/esm/ToastItem.native.js.map +1 -0
- package/dist/esm/ToastPortal.js +13 -0
- package/dist/esm/ToastPortal.js.map +6 -0
- package/dist/esm/ToastPortal.mjs +21 -0
- package/dist/esm/ToastPortal.mjs.map +1 -0
- package/dist/esm/ToastPortal.native.js +21 -0
- package/dist/esm/ToastPortal.native.js.map +1 -0
- package/dist/esm/ToastProvider.js +87 -0
- package/dist/esm/ToastProvider.js.map +6 -0
- package/dist/esm/ToastProvider.mjs +108 -0
- package/dist/esm/ToastProvider.mjs.map +1 -0
- package/dist/esm/ToastProvider.native.js +118 -0
- package/dist/esm/ToastProvider.native.js.map +1 -0
- package/dist/esm/ToastState.js +144 -0
- package/dist/esm/ToastState.js.map +6 -0
- package/dist/esm/ToastState.mjs +224 -0
- package/dist/esm/ToastState.mjs.map +1 -0
- package/dist/esm/ToastState.native.js +230 -0
- package/dist/esm/ToastState.native.js.map +1 -0
- package/dist/esm/ToastViewport.js +250 -0
- package/dist/esm/ToastViewport.js.map +6 -0
- package/dist/esm/ToastViewport.mjs +241 -0
- package/dist/esm/ToastViewport.mjs.map +1 -0
- package/dist/esm/ToastViewport.native.js +276 -0
- package/dist/esm/ToastViewport.native.js.map +1 -0
- package/dist/esm/Toaster.js +160 -0
- package/dist/esm/Toaster.js.map +6 -0
- package/dist/esm/Toaster.mjs +185 -0
- package/dist/esm/Toaster.mjs.map +1 -0
- package/dist/esm/Toaster.native.js +242 -0
- package/dist/esm/Toaster.native.js.map +1 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +6 -0
- package/dist/esm/constants.mjs +4 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +4 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/createNativeToast.js +28 -0
- package/dist/esm/createNativeToast.js.map +6 -0
- package/dist/esm/createNativeToast.mjs +27 -0
- package/dist/esm/createNativeToast.mjs.map +1 -0
- package/dist/esm/createNativeToast.native.js +20 -0
- package/dist/esm/createNativeToast.native.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +4 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/useDragGesture.js +76 -0
- package/dist/esm/useDragGesture.js.map +6 -0
- package/dist/esm/useDragGesture.mjs +95 -0
- package/dist/esm/useDragGesture.mjs.map +1 -0
- package/dist/esm/useDragGesture.native.js +109 -0
- package/dist/esm/useDragGesture.native.js.map +1 -0
- package/dist/jsx/Toast.js +107 -0
- package/dist/jsx/Toast.js.map +6 -0
- package/dist/jsx/Toast.mjs +131 -0
- package/dist/jsx/Toast.mjs.map +1 -0
- package/dist/jsx/Toast.native.js +174 -0
- package/dist/jsx/Toast.native.js.map +1 -0
- package/dist/jsx/ToastAnnounce.js +55 -0
- package/dist/jsx/ToastAnnounce.js.map +6 -0
- package/dist/jsx/ToastAnnounce.mjs +62 -0
- package/dist/jsx/ToastAnnounce.mjs.map +1 -0
- package/dist/jsx/ToastAnnounce.native.js +105 -0
- package/dist/jsx/ToastAnnounce.native.js.map +1 -0
- package/dist/jsx/ToastImperative.js +50 -0
- package/dist/jsx/ToastImperative.js.map +6 -0
- package/dist/jsx/ToastImperative.mjs +63 -0
- package/dist/jsx/ToastImperative.mjs.map +1 -0
- package/dist/jsx/ToastImperative.native.js +122 -0
- package/dist/jsx/ToastImperative.native.js.map +1 -0
- package/dist/jsx/ToastImpl.js +225 -0
- package/dist/jsx/ToastImpl.js.map +6 -0
- package/dist/jsx/ToastImpl.mjs +256 -0
- package/dist/jsx/ToastImpl.mjs.map +1 -0
- package/dist/jsx/ToastImpl.native.js +327 -0
- package/dist/jsx/ToastImpl.native.js.map +1 -0
- package/dist/jsx/ToastItem.js +339 -0
- package/dist/jsx/ToastItem.js.map +6 -0
- package/dist/jsx/ToastItem.mjs +432 -0
- package/dist/jsx/ToastItem.mjs.map +1 -0
- package/dist/jsx/ToastItem.native.js +547 -0
- package/dist/jsx/ToastItem.native.js.map +1 -0
- package/dist/jsx/ToastPortal.js +13 -0
- package/dist/jsx/ToastPortal.js.map +6 -0
- package/dist/jsx/ToastPortal.mjs +21 -0
- package/dist/jsx/ToastPortal.mjs.map +1 -0
- package/dist/jsx/ToastPortal.native.js +47 -0
- package/dist/jsx/ToastPortal.native.js.map +1 -0
- package/dist/jsx/ToastProvider.js +87 -0
- package/dist/jsx/ToastProvider.js.map +6 -0
- package/dist/jsx/ToastProvider.mjs +108 -0
- package/dist/jsx/ToastProvider.mjs.map +1 -0
- package/dist/jsx/ToastProvider.native.js +159 -0
- package/dist/jsx/ToastProvider.native.js.map +1 -0
- package/dist/jsx/ToastState.js +144 -0
- package/dist/jsx/ToastState.js.map +6 -0
- package/dist/jsx/ToastState.mjs +224 -0
- package/dist/jsx/ToastState.mjs.map +1 -0
- package/dist/jsx/ToastState.native.js +257 -0
- package/dist/jsx/ToastState.native.js.map +1 -0
- package/dist/jsx/ToastViewport.js +250 -0
- package/dist/jsx/ToastViewport.js.map +6 -0
- package/dist/jsx/ToastViewport.mjs +241 -0
- package/dist/jsx/ToastViewport.mjs.map +1 -0
- package/dist/jsx/ToastViewport.native.js +316 -0
- package/dist/jsx/ToastViewport.native.js.map +1 -0
- package/dist/jsx/Toaster.js +160 -0
- package/dist/jsx/Toaster.js.map +6 -0
- package/dist/jsx/Toaster.mjs +185 -0
- package/dist/jsx/Toaster.mjs.map +1 -0
- package/dist/jsx/Toaster.native.js +279 -0
- package/dist/jsx/Toaster.native.js.map +1 -0
- package/dist/jsx/constants.js +6 -0
- package/dist/jsx/constants.js.map +6 -0
- package/dist/jsx/constants.mjs +4 -0
- package/dist/jsx/constants.mjs.map +1 -0
- package/dist/jsx/constants.native.js +31 -0
- package/dist/jsx/constants.native.js.map +1 -0
- package/dist/jsx/createNativeToast.js +28 -0
- package/dist/jsx/createNativeToast.js.map +6 -0
- package/dist/jsx/createNativeToast.mjs +27 -0
- package/dist/jsx/createNativeToast.mjs.map +1 -0
- package/dist/jsx/createNativeToast.native.js +47 -0
- package/dist/jsx/createNativeToast.native.js.map +1 -0
- package/dist/jsx/index.js +7 -0
- package/dist/jsx/index.js.map +6 -0
- package/dist/jsx/index.mjs +4 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +31 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/types.js +1 -0
- package/dist/jsx/types.js.map +6 -0
- package/dist/jsx/types.mjs +2 -0
- package/dist/jsx/types.mjs.map +1 -0
- package/dist/jsx/types.native.js +19 -0
- package/dist/jsx/types.native.js.map +1 -0
- package/dist/jsx/useDragGesture.js +76 -0
- package/dist/jsx/useDragGesture.js.map +6 -0
- package/dist/jsx/useDragGesture.mjs +95 -0
- package/dist/jsx/useDragGesture.mjs.map +1 -0
- package/dist/jsx/useDragGesture.native.js +146 -0
- package/dist/jsx/useDragGesture.native.js.map +1 -0
- package/package.json +77 -0
- package/src/Toast.tsx +219 -0
- package/src/ToastAnnounce.tsx +102 -0
- package/src/ToastImperative.tsx +190 -0
- package/src/ToastImpl.tsx +503 -0
- package/src/ToastItem.tsx +694 -0
- package/src/ToastPortal.tsx +19 -0
- package/src/ToastProvider.tsx +197 -0
- package/src/ToastState.ts +397 -0
- package/src/ToastViewport.tsx +430 -0
- package/src/Toaster.tsx +445 -0
- package/src/constants.ts +2 -0
- package/src/createNativeToast.native.tsx +22 -0
- package/src/createNativeToast.tsx +48 -0
- package/src/index.ts +17 -0
- package/src/types.ts +71 -0
- package/src/useDragGesture.native.ts +199 -0
- package/src/useDragGesture.ts +218 -0
- package/types/Toast.d.ts +84 -0
- package/types/Toast.d.ts.map +1 -0
- package/types/ToastAnnounce.d.ts +18 -0
- package/types/ToastAnnounce.d.ts.map +1 -0
- package/types/ToastImperative.d.ts +95 -0
- package/types/ToastImperative.d.ts.map +1 -0
- package/types/ToastImpl.d.ts +109 -0
- package/types/ToastImpl.d.ts.map +1 -0
- package/types/ToastItem.d.ts +34 -0
- package/types/ToastItem.d.ts.map +1 -0
- package/types/ToastPortal.d.ts +8 -0
- package/types/ToastPortal.d.ts.map +1 -0
- package/types/ToastProvider.d.ts +92 -0
- package/types/ToastProvider.d.ts.map +1 -0
- package/types/ToastState.d.ts +177 -0
- package/types/ToastState.d.ts.map +1 -0
- package/types/ToastViewport.d.ts +75 -0
- package/types/ToastViewport.d.ts.map +1 -0
- package/types/Toaster.d.ts +120 -0
- package/types/Toaster.d.ts.map +1 -0
- package/types/constants.d.ts +3 -0
- package/types/constants.d.ts.map +1 -0
- package/types/createNativeToast.d.ts +4 -0
- package/types/createNativeToast.d.ts.map +1 -0
- package/types/createNativeToast.native.d.ts +4 -0
- package/types/createNativeToast.native.d.ts.map +1 -0
- package/types/index.d.ts +7 -0
- package/types/index.d.ts.map +1 -0
- package/types/types.d.ts +61 -0
- package/types/types.d.ts.map +1 -0
- package/types/useDragGesture.d.ts +32 -0
- package/types/useDragGesture.d.ts.map +1 -0
- package/types/useDragGesture.native.d.ts +26 -0
- package/types/useDragGesture.native.d.ts.map +1 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const VELOCITY_THRESHOLD = 0.11;
|
|
3
|
+
function resisted(delta, maxResist = 25) {
|
|
4
|
+
if (delta >= 0) return delta;
|
|
5
|
+
const pastBoundary = Math.abs(delta),
|
|
6
|
+
resistedDistance = Math.sqrt(pastBoundary) * 2;
|
|
7
|
+
return -Math.min(resistedDistance, maxResist);
|
|
8
|
+
}
|
|
9
|
+
function useDragGesture(options) {
|
|
10
|
+
const {
|
|
11
|
+
direction,
|
|
12
|
+
threshold,
|
|
13
|
+
onDragStart,
|
|
14
|
+
onDragEnd,
|
|
15
|
+
onDragCancel,
|
|
16
|
+
disabled
|
|
17
|
+
} = options,
|
|
18
|
+
[dragState, setDragState] = React.useState({
|
|
19
|
+
isDragging: !1,
|
|
20
|
+
offsetX: 0,
|
|
21
|
+
offsetY: 0,
|
|
22
|
+
velocityX: 0,
|
|
23
|
+
velocityY: 0
|
|
24
|
+
}),
|
|
25
|
+
dragStartRef = React.useRef(null),
|
|
26
|
+
lockedDirectionRef = React.useRef(null),
|
|
27
|
+
isHorizontal = direction === "left" || direction === "right" || direction === "horizontal",
|
|
28
|
+
isVertical = direction === "up" || direction === "down" || direction === "vertical",
|
|
29
|
+
handlePointerDown = React.useCallback(event => {
|
|
30
|
+
disabled || event.button === 0 && (event.target.setPointerCapture(event.pointerId), dragStartRef.current = {
|
|
31
|
+
startX: event.clientX,
|
|
32
|
+
startY: event.clientY,
|
|
33
|
+
startTime: Date.now()
|
|
34
|
+
}, setDragState(prev => ({
|
|
35
|
+
...prev,
|
|
36
|
+
isDragging: !0
|
|
37
|
+
})), onDragStart?.());
|
|
38
|
+
}, [disabled, onDragStart]),
|
|
39
|
+
handlePointerMove = React.useCallback(event => {
|
|
40
|
+
if (!dragStartRef.current || disabled) return;
|
|
41
|
+
const deltaX = event.clientX - dragStartRef.current.startX,
|
|
42
|
+
deltaY = event.clientY - dragStartRef.current.startY;
|
|
43
|
+
!lockedDirectionRef.current && (Math.abs(deltaX) > 1 || Math.abs(deltaY) > 1) && (lockedDirectionRef.current = Math.abs(deltaX) > Math.abs(deltaY) ? "x" : "y");
|
|
44
|
+
let offsetX = 0,
|
|
45
|
+
offsetY = 0;
|
|
46
|
+
lockedDirectionRef.current === "x" && isHorizontal ? direction === "right" ? offsetX = deltaX > 0 ? deltaX : resisted(deltaX) : direction === "left" ? offsetX = deltaX < 0 ? deltaX : -resisted(-deltaX) : offsetX = deltaX : lockedDirectionRef.current === "y" && isVertical && (direction === "down" ? offsetY = deltaY > 0 ? deltaY : resisted(deltaY) : direction === "up" ? offsetY = deltaY < 0 ? deltaY : -resisted(-deltaY) : offsetY = deltaY), setDragState(prev => ({
|
|
47
|
+
...prev,
|
|
48
|
+
offsetX,
|
|
49
|
+
offsetY
|
|
50
|
+
}));
|
|
51
|
+
}, [disabled, direction, isHorizontal, isVertical]),
|
|
52
|
+
handlePointerUp = React.useCallback(event => {
|
|
53
|
+
if (!dragStartRef.current || disabled) return;
|
|
54
|
+
const deltaX = event.clientX - dragStartRef.current.startX,
|
|
55
|
+
deltaY = event.clientY - dragStartRef.current.startY,
|
|
56
|
+
timeTaken = Date.now() - dragStartRef.current.startTime,
|
|
57
|
+
velocityX = Math.abs(deltaX) / timeTaken,
|
|
58
|
+
velocityY = Math.abs(deltaY) / timeTaken,
|
|
59
|
+
relevantDelta = isHorizontal ? deltaX : deltaY,
|
|
60
|
+
relevantVelocity = isHorizontal ? velocityX : velocityY,
|
|
61
|
+
passedThreshold = Math.abs(relevantDelta) >= threshold,
|
|
62
|
+
hasVelocity = relevantVelocity > VELOCITY_THRESHOLD;
|
|
63
|
+
let isCorrectDirection = !1;
|
|
64
|
+
(direction === "right" && deltaX > 0 || direction === "left" && deltaX < 0 || direction === "horizontal" && Math.abs(deltaX) > Math.abs(deltaY) || direction === "down" && deltaY > 0 || direction === "up" && deltaY < 0 || direction === "vertical" && Math.abs(deltaY) > Math.abs(deltaX)) && (isCorrectDirection = !0);
|
|
65
|
+
const shouldDismiss = isCorrectDirection && (passedThreshold || hasVelocity);
|
|
66
|
+
dragStartRef.current = null, lockedDirectionRef.current = null, shouldDismiss ? onDragEnd?.(!0) : (setDragState({
|
|
67
|
+
isDragging: !1,
|
|
68
|
+
offsetX: 0,
|
|
69
|
+
offsetY: 0,
|
|
70
|
+
velocityX: 0,
|
|
71
|
+
velocityY: 0
|
|
72
|
+
}), onDragCancel?.());
|
|
73
|
+
}, [disabled, direction, threshold, isHorizontal, onDragEnd, onDragCancel]),
|
|
74
|
+
handlePointerCancel = React.useCallback(() => {
|
|
75
|
+
dragStartRef.current = null, lockedDirectionRef.current = null, setDragState({
|
|
76
|
+
isDragging: !1,
|
|
77
|
+
offsetX: 0,
|
|
78
|
+
offsetY: 0,
|
|
79
|
+
velocityX: 0,
|
|
80
|
+
velocityY: 0
|
|
81
|
+
}), onDragCancel?.();
|
|
82
|
+
}, [onDragCancel]);
|
|
83
|
+
return {
|
|
84
|
+
dragState,
|
|
85
|
+
gestureHandlers: {
|
|
86
|
+
onPointerDown: handlePointerDown,
|
|
87
|
+
onPointerMove: handlePointerMove,
|
|
88
|
+
onPointerUp: handlePointerUp,
|
|
89
|
+
onPointerCancel: handlePointerCancel
|
|
90
|
+
},
|
|
91
|
+
resetDrag: handlePointerCancel
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export { useDragGesture };
|
|
95
|
+
//# sourceMappingURL=useDragGesture.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","VELOCITY_THRESHOLD","resisted","delta","maxResist","pastBoundary","Math","abs","resistedDistance","sqrt","min","useDragGesture","options","direction","threshold","onDragStart","onDragEnd","onDragCancel","disabled","dragState","setDragState","useState","isDragging","offsetX","offsetY","velocityX","velocityY","dragStartRef","useRef","lockedDirectionRef","isHorizontal","isVertical","handlePointerDown","useCallback","event","button","target","setPointerCapture","pointerId","current","startX","clientX","startY","clientY","startTime","Date","now","prev","handlePointerMove","deltaX","deltaY","handlePointerUp","timeTaken","relevantDelta","relevantVelocity","passedThreshold","hasVelocity","isCorrectDirection","shouldDismiss","handlePointerCancel","gestureHandlers","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","resetDrag"],"sources":["../../src/useDragGesture.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { PanResponder } from "react-native";
|
|
3
|
+
var GESTURE_GRANT_THRESHOLD = 10,
|
|
4
|
+
VELOCITY_THRESHOLD = 0.11;
|
|
5
|
+
function getDampening(delta) {
|
|
6
|
+
var factor = Math.abs(delta) / 20;
|
|
7
|
+
return 1 / (1.5 + factor);
|
|
8
|
+
}
|
|
9
|
+
function shouldGrantGestureMove(dir, dx, dy) {
|
|
10
|
+
return (dir === "horizontal" || dir === "left") && dx < -GESTURE_GRANT_THRESHOLD || (dir === "horizontal" || dir === "right") && dx > GESTURE_GRANT_THRESHOLD || (dir === "vertical" || dir === "up") && dy < -GESTURE_GRANT_THRESHOLD || (dir === "vertical" || dir === "down") && dy > GESTURE_GRANT_THRESHOLD;
|
|
11
|
+
}
|
|
12
|
+
function useDragGesture(options) {
|
|
13
|
+
var {
|
|
14
|
+
direction,
|
|
15
|
+
threshold,
|
|
16
|
+
onDragStart,
|
|
17
|
+
onDragEnd,
|
|
18
|
+
onDragCancel,
|
|
19
|
+
disabled
|
|
20
|
+
} = options,
|
|
21
|
+
[dragState, setDragState] = React.useState({
|
|
22
|
+
isDragging: !1,
|
|
23
|
+
offsetX: 0,
|
|
24
|
+
offsetY: 0,
|
|
25
|
+
velocityX: 0,
|
|
26
|
+
velocityY: 0
|
|
27
|
+
}),
|
|
28
|
+
dragStartTimeRef = React.useRef(0),
|
|
29
|
+
isHorizontal = direction === "left" || direction === "right" || direction === "horizontal",
|
|
30
|
+
isVertical = direction === "up" || direction === "down" || direction === "vertical",
|
|
31
|
+
panResponder = React.useMemo(function () {
|
|
32
|
+
return disabled ? null : PanResponder.create({
|
|
33
|
+
onMoveShouldSetPanResponder: function (_e, gesture) {
|
|
34
|
+
return shouldGrantGestureMove(direction, gesture.dx, gesture.dy);
|
|
35
|
+
},
|
|
36
|
+
onPanResponderGrant: function () {
|
|
37
|
+
dragStartTimeRef.current = Date.now(), setDragState(function (prev) {
|
|
38
|
+
return {
|
|
39
|
+
...prev,
|
|
40
|
+
isDragging: !0
|
|
41
|
+
};
|
|
42
|
+
}), onDragStart?.();
|
|
43
|
+
},
|
|
44
|
+
onPanResponderMove: function (_e, gesture) {
|
|
45
|
+
var {
|
|
46
|
+
dx,
|
|
47
|
+
dy
|
|
48
|
+
} = gesture,
|
|
49
|
+
offsetX = 0,
|
|
50
|
+
offsetY = 0;
|
|
51
|
+
isHorizontal && (direction === "right" && dx > 0 || direction === "left" && dx < 0 || direction === "horizontal" ? offsetX = dx : offsetX = dx * getDampening(dx)), isVertical && (direction === "down" && dy > 0 || direction === "up" && dy < 0 || direction === "vertical" ? offsetY = dy : offsetY = dy * getDampening(dy)), setDragState(function (prev) {
|
|
52
|
+
return {
|
|
53
|
+
...prev,
|
|
54
|
+
offsetX,
|
|
55
|
+
offsetY
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
onPanResponderRelease: function (_e, gesture) {
|
|
60
|
+
var {
|
|
61
|
+
dx,
|
|
62
|
+
dy,
|
|
63
|
+
vx,
|
|
64
|
+
vy
|
|
65
|
+
} = gesture,
|
|
66
|
+
relevantDelta = isHorizontal ? dx : dy,
|
|
67
|
+
relevantVelocity = Math.abs(isHorizontal ? vx : vy),
|
|
68
|
+
passedThreshold = Math.abs(relevantDelta) >= threshold,
|
|
69
|
+
hasVelocity = relevantVelocity > VELOCITY_THRESHOLD,
|
|
70
|
+
isCorrectDirection = !1;
|
|
71
|
+
(direction === "right" && dx > 0 || direction === "left" && dx < 0 || direction === "horizontal" && Math.abs(dx) > Math.abs(dy) || direction === "down" && dy > 0 || direction === "up" && dy < 0 || direction === "vertical" && Math.abs(dy) > Math.abs(dx)) && (isCorrectDirection = !0);
|
|
72
|
+
var shouldDismiss = isCorrectDirection && (passedThreshold || hasVelocity);
|
|
73
|
+
shouldDismiss ? onDragEnd?.(!0) : (setDragState({
|
|
74
|
+
isDragging: !1,
|
|
75
|
+
offsetX: 0,
|
|
76
|
+
offsetY: 0,
|
|
77
|
+
velocityX: 0,
|
|
78
|
+
velocityY: 0
|
|
79
|
+
}), onDragCancel?.());
|
|
80
|
+
},
|
|
81
|
+
onPanResponderTerminate: function () {
|
|
82
|
+
setDragState({
|
|
83
|
+
isDragging: !1,
|
|
84
|
+
offsetX: 0,
|
|
85
|
+
offsetY: 0,
|
|
86
|
+
velocityX: 0,
|
|
87
|
+
velocityY: 0
|
|
88
|
+
}), onDragCancel?.();
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}, [disabled, direction, threshold, isHorizontal, isVertical, onDragStart, onDragEnd, onDragCancel]),
|
|
92
|
+
resetDrag = React.useCallback(function () {
|
|
93
|
+
setDragState({
|
|
94
|
+
isDragging: !1,
|
|
95
|
+
offsetX: 0,
|
|
96
|
+
offsetY: 0,
|
|
97
|
+
velocityX: 0,
|
|
98
|
+
velocityY: 0
|
|
99
|
+
});
|
|
100
|
+
}, []),
|
|
101
|
+
_panResponder_panHandlers;
|
|
102
|
+
return {
|
|
103
|
+
dragState,
|
|
104
|
+
gestureHandlers: (_panResponder_panHandlers = panResponder?.panHandlers) !== null && _panResponder_panHandlers !== void 0 ? _panResponder_panHandlers : {},
|
|
105
|
+
resetDrag
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export { useDragGesture };
|
|
109
|
+
//# sourceMappingURL=useDragGesture.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","PanResponder","GESTURE_GRANT_THRESHOLD","VELOCITY_THRESHOLD","getDampening","delta","factor","Math","abs","shouldGrantGestureMove","dir","dx","dy","useDragGesture","options","direction","threshold","onDragStart","onDragEnd","onDragCancel","disabled","dragState","setDragState","useState","isDragging","offsetX","offsetY","velocityX","velocityY","dragStartTimeRef","useRef","isHorizontal","isVertical","panResponder","useMemo","create","onMoveShouldSetPanResponder","_e","gesture","onPanResponderGrant","current","Date","now","prev","onPanResponderMove","onPanResponderRelease","vx","vy","relevantDelta","relevantVelocity","passedThreshold","hasVelocity","isCorrectDirection","shouldDismiss","onPanResponderTerminate","resetDrag","useCallback","_panResponder_panHandlers","gestureHandlers","panHandlers"],"sources":["../../src/useDragGesture.native.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { AnimatePresence } from "@tamagui/animate-presence";
|
|
2
|
+
import { styled, useEvent } from "@tamagui/core";
|
|
3
|
+
import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
|
|
4
|
+
import { YStack } from "@tamagui/stacks";
|
|
5
|
+
import { SizableText } from "@tamagui/text";
|
|
6
|
+
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { ToastAnnounceExclude } from "./ToastAnnounce";
|
|
9
|
+
import { useToast, useToastController, useToastState } from "./ToastImperative";
|
|
10
|
+
import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl";
|
|
11
|
+
import { ToastProvider } from "./ToastProvider";
|
|
12
|
+
import { ToastViewport } from "./ToastViewport";
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
const TITLE_NAME = "ToastTitle", ToastTitle = styled(SizableText, {
|
|
15
|
+
name: TITLE_NAME,
|
|
16
|
+
variants: {
|
|
17
|
+
unstyled: {
|
|
18
|
+
false: {
|
|
19
|
+
color: "$color",
|
|
20
|
+
size: "$4"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
26
|
+
}
|
|
27
|
+
}), DESCRIPTION_NAME = "ToastDescription", ToastDescription = styled(SizableText, {
|
|
28
|
+
name: DESCRIPTION_NAME,
|
|
29
|
+
variants: {
|
|
30
|
+
unstyled: {
|
|
31
|
+
false: {
|
|
32
|
+
color: "$color11",
|
|
33
|
+
size: "$1"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
39
|
+
}
|
|
40
|
+
}), ACTION_NAME = "ToastAction", ToastAction = React.forwardRef(
|
|
41
|
+
function(props, forwardedRef) {
|
|
42
|
+
const { altText, ...actionProps } = props;
|
|
43
|
+
return altText ? /* @__PURE__ */ jsx(ToastAnnounceExclude, { altText, asChild: !0, children: /* @__PURE__ */ jsx(ToastClose, { ...actionProps, ref: forwardedRef }) }) : null;
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
ToastAction.propTypes = {
|
|
47
|
+
altText(props) {
|
|
48
|
+
return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const CLOSE_NAME = "ToastClose", ToastCloseFrame = styled(YStack, {
|
|
52
|
+
name: CLOSE_NAME,
|
|
53
|
+
render: "button"
|
|
54
|
+
}), ToastClose = React.forwardRef(
|
|
55
|
+
function(props, forwardedRef) {
|
|
56
|
+
const { scope, ...closeProps } = props, interactiveContext = useToastInteractiveContext(scope);
|
|
57
|
+
return /* @__PURE__ */ jsx(ToastAnnounceExclude, { asChild: !0, children: /* @__PURE__ */ jsx(
|
|
58
|
+
ToastCloseFrame,
|
|
59
|
+
{
|
|
60
|
+
"aria-label": "Close",
|
|
61
|
+
...closeProps,
|
|
62
|
+
ref: forwardedRef,
|
|
63
|
+
onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
|
|
64
|
+
}
|
|
65
|
+
) });
|
|
66
|
+
}
|
|
67
|
+
), ToastComponent = ToastImplFrame.styleable(
|
|
68
|
+
function(props, forwardedRef) {
|
|
69
|
+
const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props, [open, setOpen] = useControllableState({
|
|
70
|
+
prop: openProp,
|
|
71
|
+
defaultProp: defaultOpen ?? !0,
|
|
72
|
+
onChange: onOpenChange,
|
|
73
|
+
strategy: "most-recent-wins"
|
|
74
|
+
}), currentToast = useToastState(), { hide } = useToastController(), id = React.useId(), onPause = useEvent(props.onPause), onResume = useEvent(props.onResume), isHide = currentToast?.hide === !0;
|
|
75
|
+
return /* @__PURE__ */ jsx(AnimatePresence, { children: (forceMount || open) && !isHide ? /* @__PURE__ */ jsx(
|
|
76
|
+
ToastImpl,
|
|
77
|
+
{
|
|
78
|
+
id,
|
|
79
|
+
open,
|
|
80
|
+
...toastProps,
|
|
81
|
+
ref: forwardedRef,
|
|
82
|
+
onClose: () => {
|
|
83
|
+
setOpen(!1), hide();
|
|
84
|
+
},
|
|
85
|
+
onPause,
|
|
86
|
+
onResume,
|
|
87
|
+
onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {
|
|
88
|
+
setOpen(!1);
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
) : null }, id);
|
|
92
|
+
}
|
|
93
|
+
), Toast2 = withStaticProperties(ToastComponent, {
|
|
94
|
+
Title: ToastTitle,
|
|
95
|
+
Description: ToastDescription,
|
|
96
|
+
Action: ToastAction,
|
|
97
|
+
Close: ToastClose
|
|
98
|
+
});
|
|
99
|
+
export {
|
|
100
|
+
Toast2 as Toast,
|
|
101
|
+
ToastProvider,
|
|
102
|
+
ToastViewport,
|
|
103
|
+
useToast,
|
|
104
|
+
useToastController,
|
|
105
|
+
useToastState
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Toast.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["Toast"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { AnimatePresence } from "@tamagui/animate-presence";
|
|
2
|
+
import { styled, useEvent } from "@tamagui/core";
|
|
3
|
+
import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
|
|
4
|
+
import { YStack } from "@tamagui/stacks";
|
|
5
|
+
import { SizableText } from "@tamagui/text";
|
|
6
|
+
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { ToastAnnounceExclude } from "./ToastAnnounce.mjs";
|
|
9
|
+
import { useToast, useToastController, useToastState } from "./ToastImperative.mjs";
|
|
10
|
+
import { ToastImpl, ToastImplFrame, useToastInteractiveContext } from "./ToastImpl.mjs";
|
|
11
|
+
import { ToastProvider } from "./ToastProvider.mjs";
|
|
12
|
+
import { ToastViewport } from "./ToastViewport.mjs";
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
const TITLE_NAME = "ToastTitle",
|
|
15
|
+
ToastTitle = styled(SizableText, {
|
|
16
|
+
name: TITLE_NAME,
|
|
17
|
+
variants: {
|
|
18
|
+
unstyled: {
|
|
19
|
+
false: {
|
|
20
|
+
color: "$color",
|
|
21
|
+
size: "$4"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
27
|
+
}
|
|
28
|
+
}),
|
|
29
|
+
DESCRIPTION_NAME = "ToastDescription",
|
|
30
|
+
ToastDescription = styled(SizableText, {
|
|
31
|
+
name: DESCRIPTION_NAME,
|
|
32
|
+
variants: {
|
|
33
|
+
unstyled: {
|
|
34
|
+
false: {
|
|
35
|
+
color: "$color11",
|
|
36
|
+
size: "$1"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
42
|
+
}
|
|
43
|
+
}),
|
|
44
|
+
ACTION_NAME = "ToastAction",
|
|
45
|
+
ToastAction = React.forwardRef(function (props, forwardedRef) {
|
|
46
|
+
const {
|
|
47
|
+
altText,
|
|
48
|
+
...actionProps
|
|
49
|
+
} = props;
|
|
50
|
+
return altText ? /* @__PURE__ */jsx(ToastAnnounceExclude, {
|
|
51
|
+
altText,
|
|
52
|
+
asChild: !0,
|
|
53
|
+
children: /* @__PURE__ */jsx(ToastClose, {
|
|
54
|
+
...actionProps,
|
|
55
|
+
ref: forwardedRef
|
|
56
|
+
})
|
|
57
|
+
}) : null;
|
|
58
|
+
});
|
|
59
|
+
ToastAction.propTypes = {
|
|
60
|
+
altText(props) {
|
|
61
|
+
return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const CLOSE_NAME = "ToastClose",
|
|
65
|
+
ToastCloseFrame = styled(YStack, {
|
|
66
|
+
name: CLOSE_NAME,
|
|
67
|
+
render: "button"
|
|
68
|
+
}),
|
|
69
|
+
ToastClose = React.forwardRef(function (props, forwardedRef) {
|
|
70
|
+
const {
|
|
71
|
+
scope,
|
|
72
|
+
...closeProps
|
|
73
|
+
} = props,
|
|
74
|
+
interactiveContext = useToastInteractiveContext(scope);
|
|
75
|
+
return /* @__PURE__ */jsx(ToastAnnounceExclude, {
|
|
76
|
+
asChild: !0,
|
|
77
|
+
children: /* @__PURE__ */jsx(ToastCloseFrame, {
|
|
78
|
+
"aria-label": "Close",
|
|
79
|
+
...closeProps,
|
|
80
|
+
ref: forwardedRef,
|
|
81
|
+
onPress: composeEventHandlers(props.onPress, interactiveContext.onClose)
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}),
|
|
85
|
+
ToastComponent = ToastImplFrame.styleable(function (props, forwardedRef) {
|
|
86
|
+
const {
|
|
87
|
+
forceMount,
|
|
88
|
+
open: openProp,
|
|
89
|
+
defaultOpen,
|
|
90
|
+
onOpenChange,
|
|
91
|
+
...toastProps
|
|
92
|
+
} = props,
|
|
93
|
+
[open, setOpen] = useControllableState({
|
|
94
|
+
prop: openProp,
|
|
95
|
+
defaultProp: defaultOpen ?? !0,
|
|
96
|
+
onChange: onOpenChange,
|
|
97
|
+
strategy: "most-recent-wins"
|
|
98
|
+
}),
|
|
99
|
+
currentToast = useToastState(),
|
|
100
|
+
{
|
|
101
|
+
hide
|
|
102
|
+
} = useToastController(),
|
|
103
|
+
id = React.useId(),
|
|
104
|
+
onPause = useEvent(props.onPause),
|
|
105
|
+
onResume = useEvent(props.onResume),
|
|
106
|
+
isHide = currentToast?.hide === !0;
|
|
107
|
+
return /* @__PURE__ */jsx(AnimatePresence, {
|
|
108
|
+
children: (forceMount || open) && !isHide ? /* @__PURE__ */jsx(ToastImpl, {
|
|
109
|
+
id,
|
|
110
|
+
open,
|
|
111
|
+
...toastProps,
|
|
112
|
+
ref: forwardedRef,
|
|
113
|
+
onClose: () => {
|
|
114
|
+
setOpen(!1), hide();
|
|
115
|
+
},
|
|
116
|
+
onPause,
|
|
117
|
+
onResume,
|
|
118
|
+
onSwipeEnd: composeEventHandlers(props.onSwipeEnd, event => {
|
|
119
|
+
setOpen(!1);
|
|
120
|
+
})
|
|
121
|
+
}) : null
|
|
122
|
+
}, id);
|
|
123
|
+
}),
|
|
124
|
+
Toast2 = withStaticProperties(ToastComponent, {
|
|
125
|
+
Title: ToastTitle,
|
|
126
|
+
Description: ToastDescription,
|
|
127
|
+
Action: ToastAction,
|
|
128
|
+
Close: ToastClose
|
|
129
|
+
});
|
|
130
|
+
export { Toast2 as Toast, ToastProvider, ToastViewport, useToast, useToastController, useToastState };
|
|
131
|
+
//# sourceMappingURL=Toast.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AnimatePresence","styled","useEvent","composeEventHandlers","withStaticProperties","YStack","SizableText","useControllableState","React","ToastAnnounceExclude","useToast","useToastController","useToastState","ToastImpl","ToastImplFrame","useToastInteractiveContext","ToastProvider","ToastViewport","jsx","TITLE_NAME","ToastTitle","name","variants","unstyled","false","color","size","defaultVariants","process","env","TAMAGUI_HEADLESS","DESCRIPTION_NAME","ToastDescription","ACTION_NAME","ToastAction","forwardRef","props","forwardedRef","altText","actionProps","asChild","children","ToastClose","ref","propTypes","Error","CLOSE_NAME","ToastCloseFrame","render","scope","closeProps","interactiveContext","onPress","onClose","ToastComponent","styleable","forceMount","open","openProp","defaultOpen","onOpenChange","toastProps","setOpen","prop","defaultProp","onChange","strategy","currentToast","hide","id","useId","onPause","onResume","isHide","onSwipeEnd","event","Toast2","Title","Description","Action","Close"],"sources":["../../src/Toast.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
8
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: !0
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
__copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: !0
|
|
30
|
+
}) : target, mod)),
|
|
31
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: !0
|
|
33
|
+
}), mod);
|
|
34
|
+
var Toast_exports = {};
|
|
35
|
+
__export(Toast_exports, {
|
|
36
|
+
Toast: () => Toast2,
|
|
37
|
+
ToastProvider: () => import_ToastProvider.ToastProvider,
|
|
38
|
+
ToastViewport: () => import_ToastViewport.ToastViewport,
|
|
39
|
+
useToast: () => import_ToastImperative.useToast,
|
|
40
|
+
useToastController: () => import_ToastImperative.useToastController,
|
|
41
|
+
useToastState: () => import_ToastImperative.useToastState
|
|
42
|
+
});
|
|
43
|
+
module.exports = __toCommonJS(Toast_exports);
|
|
44
|
+
var import_jsx_runtime = require("react/jsx-runtime"),
|
|
45
|
+
import_animate_presence = require("@tamagui/animate-presence"),
|
|
46
|
+
import_core = require("@tamagui/core"),
|
|
47
|
+
import_helpers = require("@tamagui/helpers"),
|
|
48
|
+
import_stacks = require("@tamagui/stacks"),
|
|
49
|
+
import_text = require("@tamagui/text"),
|
|
50
|
+
import_use_controllable_state = require("@tamagui/use-controllable-state"),
|
|
51
|
+
React = __toESM(require("react"), 1),
|
|
52
|
+
import_ToastAnnounce = require("./ToastAnnounce.native.js"),
|
|
53
|
+
import_ToastImperative = require("./ToastImperative.native.js"),
|
|
54
|
+
import_ToastImpl = require("./ToastImpl.native.js"),
|
|
55
|
+
import_ToastProvider = require("./ToastProvider.native.js"),
|
|
56
|
+
import_ToastViewport = require("./ToastViewport.native.js"),
|
|
57
|
+
TITLE_NAME = "ToastTitle",
|
|
58
|
+
ToastTitle = (0, import_core.styled)(import_text.SizableText, {
|
|
59
|
+
name: TITLE_NAME,
|
|
60
|
+
variants: {
|
|
61
|
+
unstyled: {
|
|
62
|
+
false: {
|
|
63
|
+
color: "$color",
|
|
64
|
+
size: "$4"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
defaultVariants: {
|
|
69
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
70
|
+
}
|
|
71
|
+
}),
|
|
72
|
+
DESCRIPTION_NAME = "ToastDescription",
|
|
73
|
+
ToastDescription = (0, import_core.styled)(import_text.SizableText, {
|
|
74
|
+
name: DESCRIPTION_NAME,
|
|
75
|
+
variants: {
|
|
76
|
+
unstyled: {
|
|
77
|
+
false: {
|
|
78
|
+
color: "$color11",
|
|
79
|
+
size: "$1"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
defaultVariants: {
|
|
84
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
ACTION_NAME = "ToastAction",
|
|
88
|
+
ToastAction = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
89
|
+
var {
|
|
90
|
+
altText,
|
|
91
|
+
...actionProps
|
|
92
|
+
} = props;
|
|
93
|
+
return altText ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
|
|
94
|
+
altText,
|
|
95
|
+
asChild: !0,
|
|
96
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastClose, {
|
|
97
|
+
...actionProps,
|
|
98
|
+
ref: forwardedRef
|
|
99
|
+
})
|
|
100
|
+
}) : null;
|
|
101
|
+
});
|
|
102
|
+
ToastAction.propTypes = {
|
|
103
|
+
altText(props) {
|
|
104
|
+
return props.altText ? null : new Error(`Missing prop \`altText\` expected on \`${ACTION_NAME}\``);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
var CLOSE_NAME = "ToastClose",
|
|
108
|
+
ToastCloseFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
109
|
+
name: CLOSE_NAME,
|
|
110
|
+
render: "button"
|
|
111
|
+
}),
|
|
112
|
+
ToastClose = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
113
|
+
var {
|
|
114
|
+
scope,
|
|
115
|
+
...closeProps
|
|
116
|
+
} = props,
|
|
117
|
+
interactiveContext = (0, import_ToastImpl.useToastInteractiveContext)(scope);
|
|
118
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastAnnounce.ToastAnnounceExclude, {
|
|
119
|
+
asChild: !0,
|
|
120
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastCloseFrame, {
|
|
121
|
+
"aria-label": "Close",
|
|
122
|
+
...closeProps,
|
|
123
|
+
ref: forwardedRef,
|
|
124
|
+
onPress: (0, import_helpers.composeEventHandlers)(props.onPress, interactiveContext.onClose)
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
}),
|
|
128
|
+
ToastComponent = import_ToastImpl.ToastImplFrame.styleable(function (props, forwardedRef) {
|
|
129
|
+
var {
|
|
130
|
+
forceMount,
|
|
131
|
+
open: openProp,
|
|
132
|
+
defaultOpen,
|
|
133
|
+
onOpenChange,
|
|
134
|
+
...toastProps
|
|
135
|
+
} = props,
|
|
136
|
+
[open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
137
|
+
prop: openProp,
|
|
138
|
+
defaultProp: defaultOpen ?? !0,
|
|
139
|
+
onChange: onOpenChange,
|
|
140
|
+
strategy: "most-recent-wins"
|
|
141
|
+
}),
|
|
142
|
+
currentToast = (0, import_ToastImperative.useToastState)(),
|
|
143
|
+
{
|
|
144
|
+
hide
|
|
145
|
+
} = (0, import_ToastImperative.useToastController)(),
|
|
146
|
+
id = React.useId(),
|
|
147
|
+
onPause = (0, import_core.useEvent)(props.onPause),
|
|
148
|
+
onResume = (0, import_core.useEvent)(props.onResume),
|
|
149
|
+
isHide = currentToast?.hide === !0,
|
|
150
|
+
shouldShow = (forceMount || open) && !isHide;
|
|
151
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_animate_presence.AnimatePresence, {
|
|
152
|
+
children: shouldShow ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImpl.ToastImpl, {
|
|
153
|
+
id,
|
|
154
|
+
open,
|
|
155
|
+
...toastProps,
|
|
156
|
+
ref: forwardedRef,
|
|
157
|
+
onClose: function () {
|
|
158
|
+
setOpen(!1), hide();
|
|
159
|
+
},
|
|
160
|
+
onPause,
|
|
161
|
+
onResume,
|
|
162
|
+
onSwipeEnd: (0, import_helpers.composeEventHandlers)(props.onSwipeEnd, function (event) {
|
|
163
|
+
setOpen(!1);
|
|
164
|
+
})
|
|
165
|
+
}) : null
|
|
166
|
+
}, id);
|
|
167
|
+
}),
|
|
168
|
+
Toast2 = (0, import_helpers.withStaticProperties)(ToastComponent, {
|
|
169
|
+
Title: ToastTitle,
|
|
170
|
+
Description: ToastDescription,
|
|
171
|
+
Action: ToastAction,
|
|
172
|
+
Close: ToastClose
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=Toast.native.js.map
|