@lodev09/react-native-true-sheet 3.10.1 → 3.11.0-beta.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.
- package/lib/module/TrueSheet.js +3 -0
- package/lib/module/TrueSheet.js.map +1 -1
- package/lib/module/TrueSheet.web.js +607 -376
- package/lib/module/TrueSheet.web.js.map +1 -1
- package/lib/module/TrueSheetProvider.js.map +1 -1
- package/lib/module/TrueSheetProvider.web.js +141 -100
- package/lib/module/TrueSheetProvider.web.js.map +1 -1
- package/lib/module/mocks/index.js.map +1 -1
- package/lib/module/reanimated/ReanimatedTrueSheet.web.js.map +1 -1
- package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js +2 -3
- package/lib/module/reanimated/useReanimatedPositionChangeHandler.web.js.map +1 -1
- package/lib/module/web/constants.js +16 -0
- package/lib/module/web/constants.js.map +1 -0
- package/lib/module/web/vaul/README.md +9 -0
- package/lib/module/web/vaul/browser.js +30 -0
- package/lib/module/web/vaul/browser.js.map +1 -0
- package/lib/module/web/vaul/constants.js +14 -0
- package/lib/module/web/vaul/constants.js.map +1 -0
- package/lib/module/web/vaul/context.js +57 -0
- package/lib/module/web/vaul/context.js.map +1 -0
- package/lib/module/web/vaul/helpers.js +93 -0
- package/lib/module/web/vaul/helpers.js.map +1 -0
- package/lib/module/web/vaul/index.js +1226 -0
- package/lib/module/web/vaul/index.js.map +1 -0
- package/lib/module/web/vaul/style.css +264 -0
- package/lib/module/web/vaul/types.js +2 -0
- package/lib/module/web/vaul/types.js.map +1 -0
- package/lib/module/web/vaul/use-composed-refs.js +34 -0
- package/lib/module/web/vaul/use-composed-refs.js.map +1 -0
- package/lib/module/web/vaul/use-controllable-state.js +54 -0
- package/lib/module/web/vaul/use-controllable-state.js.map +1 -0
- package/lib/module/web/vaul/use-position-fixed.js +123 -0
- package/lib/module/web/vaul/use-position-fixed.js.map +1 -0
- package/lib/module/web/vaul/use-prevent-scroll.js +258 -0
- package/lib/module/web/vaul/use-prevent-scroll.js.map +1 -0
- package/lib/module/web/vaul/use-scale-background.js +57 -0
- package/lib/module/web/vaul/use-scale-background.js.map +1 -0
- package/lib/module/web/vaul/use-snap-points.js +294 -0
- package/lib/module/web/vaul/use-snap-points.js.map +1 -0
- package/lib/typescript/src/TrueSheet.d.ts +2 -2
- package/lib/typescript/src/TrueSheet.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.types.d.ts +79 -36
- package/lib/typescript/src/TrueSheet.types.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheet.web.d.ts +3 -11
- package/lib/typescript/src/TrueSheet.web.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheetProvider.d.ts +2 -2
- package/lib/typescript/src/TrueSheetProvider.d.ts.map +1 -1
- package/lib/typescript/src/TrueSheetProvider.web.d.ts +17 -14
- package/lib/typescript/src/TrueSheetProvider.web.d.ts.map +1 -1
- package/lib/typescript/src/mocks/index.d.ts +1 -2
- package/lib/typescript/src/mocks/index.d.ts.map +1 -1
- package/lib/typescript/src/navigation/types.d.ts +1 -1
- package/lib/typescript/src/navigation/types.d.ts.map +1 -1
- package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts +0 -1
- package/lib/typescript/src/reanimated/ReanimatedTrueSheet.web.d.ts.map +1 -1
- package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts +2 -3
- package/lib/typescript/src/reanimated/useReanimatedPositionChangeHandler.web.d.ts.map +1 -1
- package/lib/typescript/src/web/constants.d.ts +14 -0
- package/lib/typescript/src/web/constants.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/browser.d.ts +8 -0
- package/lib/typescript/src/web/vaul/browser.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/constants.d.ts +12 -0
- package/lib/typescript/src/web/vaul/constants.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/context.d.ts +45 -0
- package/lib/typescript/src/web/vaul/context.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/helpers.d.ts +17 -0
- package/lib/typescript/src/web/vaul/helpers.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/index.d.ts +210 -0
- package/lib/typescript/src/web/vaul/index.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/types.d.ts +7 -0
- package/lib/typescript/src/web/vaul/types.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-composed-refs.d.ts +14 -0
- package/lib/typescript/src/web/vaul/use-composed-refs.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-controllable-state.d.ts +9 -0
- package/lib/typescript/src/web/vaul/use-controllable-state.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-position-fixed.d.ts +19 -0
- package/lib/typescript/src/web/vaul/use-position-fixed.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts +18 -0
- package/lib/typescript/src/web/vaul/use-prevent-scroll.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-scale-background.d.ts +2 -0
- package/lib/typescript/src/web/vaul/use-scale-background.d.ts.map +1 -0
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts +37 -0
- package/lib/typescript/src/web/vaul/use-snap-points.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/TrueSheet.tsx +9 -1
- package/src/TrueSheet.types.ts +88 -38
- package/src/TrueSheet.web.tsx +677 -450
- package/src/TrueSheetProvider.tsx +2 -4
- package/src/TrueSheetProvider.web.tsx +193 -125
- package/src/mocks/index.ts +1 -2
- package/src/navigation/types.ts +0 -1
- package/src/reanimated/ReanimatedTrueSheet.web.tsx +0 -1
- package/src/reanimated/useReanimatedPositionChangeHandler.web.ts +2 -3
- package/src/web/constants.ts +13 -0
- package/src/web/vaul/README.md +9 -0
- package/src/web/vaul/browser.ts +38 -0
- package/src/web/vaul/constants.ts +18 -0
- package/src/web/vaul/context.ts +87 -0
- package/src/web/vaul/helpers.ts +124 -0
- package/src/web/vaul/index.tsx +1616 -0
- package/src/web/vaul/style.css +264 -0
- package/src/web/vaul/types.ts +7 -0
- package/src/web/vaul/use-composed-refs.ts +35 -0
- package/src/web/vaul/use-controllable-state.ts +66 -0
- package/src/web/vaul/use-position-fixed.ts +147 -0
- package/src/web/vaul/use-prevent-scroll.ts +309 -0
- package/src/web/vaul/use-scale-background.ts +64 -0
- package/src/web/vaul/use-snap-points.ts +433 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","DialogPrimitive","DrawerContext","useDrawerContext","isIOS","isMobileFirefox","BORDER_RADIUS","CLOSE_THRESHOLD","DRAG_CLASS","NESTED_DISPLACEMENT","SCROLL_LOCK_TIMEOUT","TRANSITIONS","VELOCITY_THRESHOLD","WINDOW_TOP_OFFSET","dampenValue","getTranslate","isVertical","reset","set","useComposedRefs","useControllableState","usePositionFixed","isInput","usePreventScroll","useScaleBackground","useSnapPoints","jsx","_jsx","jsxs","_jsxs","Root","open","openProp","onOpenChange","children","onDrag","onDragProp","onRelease","onReleaseProp","snapPoints","shouldScaleBackground","setBackgroundColorOnScale","closeThreshold","scrollLockTimeout","dismissible","draggable","handleOnly","fadeFromIndex","length","activeSnapPoint","activeSnapPointProp","setActiveSnapPoint","setActiveSnapPointProp","fixed","modal","onClose","nested","noBodyStyles","direction","defaultOpen","disablePreventScroll","snapToSequentialPoint","preventScrollRestoration","repositionInputs","onAnimationEnd","onPositionChange","container","autoFocus","detached","detachedOffset","detachedRadius","detachedWrapperStyle","maxContentHeight","initialAnimated","isOpen","setIsOpen","defaultProp","prop","onChange","o","restorePositionSetting","setTimeout","DURATION","window","requestAnimationFrame","document","body","style","pointerEvents","hasBeenOpened","setHasBeenOpened","useState","isDragging","setIsDragging","justReleased","setJustReleased","overlayRef","useRef","openTime","dragStartTime","dragEndTime","lastTimeDragPrevented","isAllowedToDrag","nestedOpenChangeTimer","pointerStart","keyboardIsOpen","shouldAnimate","previousDiffFromInitial","drawerRef","drawerHeightRef","current","getBoundingClientRect","height","drawerWidthRef","width","initialDrawerHeight","contentHeight","setContentHeight","onSnapPointChange","useCallback","activeSnapPointIndex","snapPointsOffset","Date","onReleaseSnapPoints","onDragSnapPoints","shouldFade","getPercentageDragged","getSnapPointsPercentageDragged","isDisabled","getScale","innerWidth","onPress","event","contains","target","addEventListener","once","setPointerCapture","pointerId","pageY","pageX","shouldDrag","el","isDraggingInDirection","element","highlightedText","getSelection","toString","swipeAmount","date","tagName","hasAttribute","closest","getTime","scrollHeight","clientHeight","scrollTop","getAttribute","parentNode","directionMultiplier","draggedDistance","noCloseSnapPointsPreCondition","absDraggedDistance","Math","abs","wrapper","querySelector","drawerDimension","percentageDragged","snapPointPercentageDragged","classList","add","transition","dampenedDraggedDistance","translateValue","min","transform","opacityValue","opacity","scaleValue","borderRadiusValue","max","borderRadius","useEffect","undefined","onPositionChangeRef","isBelowFade","value","id","observer","rafId","startObserving","node","IntersectionObserver","entries","entry","isIntersecting","observe","cancelAnimationFrame","disconnect","onVisualViewportChange","focusedElement","activeElement","visualViewportHeight","visualViewport","totalHeight","innerHeight","diffFromInitial","drawerHeight","isTallEnough","offsetFromTop","top","activeSnapPointHeight","newDrawerHeight","bottom","removeEventListener","closeDrawer","fromWithin","cancelDrag","resetDrawer","currentSwipeAmount","EASE","join","overflow","transformOrigin","transitionProperty","transitionDuration","transitionTimingFunction","remove","Number","isNaN","timeTaken","distMoved","velocity","visibleDrawerHeight","visibleDrawerWidth","isHorizontalSwipe","documentElement","scrollBehavior","onNestedOpenChange","scale","initialTranslate","clearTimeout","onNestedDrag","_event","initialScale","newScale","newTranslate","onNestedRelease","dim","translate","Provider","Overlay","forwardRef","rest","ref","composedRef","hasSnapPoints","delayedSnapPoints","setDelayedSnapPoints","onMouseUp","overlayBelowFadeStyle","displayName","overlayPointerEventsNone","Content","onPointerDownOutside","onOpenAutoFocus","detachedSiblings","detachedWrapperStyleProp","hasAutoSnapPoint","useMemo","some","p","autoRoRef","setAutoSizeNode","measure","offsetHeight","ro","ResizeObserver","pointerStartRef","lastKnownPointerEventRef","wasBeyondThePointRef","isDeltaInDirection","delta","dir","threshold","deltaY","y","deltaX","x","isDeltaX","dFactor","includes","isReverseDirection","positionTrackingRef","drawer","state","movingCount","lastPosition","NaN","start","stop","emit","cb","position","tick","onTransitionRun","e","propertyName","onTransitionDone","onAnimationStart","onAnimationDone","handleOnPointerUp","wrapperStyle","left","right","contain","borderBottomLeftRadius","borderBottomRightRadius","wasOpenRef","viewportH","contentNode","onPointerDown","preventDefault","defaultPrevented","onFocusOutside","onPointerMove","yPosition","xPosition","swipeStartThreshold","pointerType","isAllowedToSwipe","onPointerUp","onPointerOut","onContextMenu","autoSizeWrapperStyle","display","LONG_HANDLE_PRESS_TIMEOUT","DOUBLE_TAP_TIMEOUT","Handle","preventCycle","closeTimeoutIdRef","shouldCancelInteractionRef","handleStartCycle","handleCancelInteraction","handleCycleSnapPoints","isLastSnapPoint","currentSnapIndex","findIndex","point","nextSnapPoint","handleStartInteraction","onClick","onPointerCancel","NestedRoot","nestedIsOpen","Error","Portal","props","context","portalProps","Drawer","Trigger","Close","Title","Description"],"sourceRoot":"../../../../src","sources":["web/vaul/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
[data-vaul-drawer] {
|
|
2
|
+
touch-action: none;
|
|
3
|
+
will-change: transform;
|
|
4
|
+
transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1);
|
|
5
|
+
animation-duration: 0.5s;
|
|
6
|
+
animation-timing-function: cubic-bezier(0.32, 0.72, 0, 1);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='bottom'][data-state='open'] {
|
|
10
|
+
animation-name: slideFromBottom;
|
|
11
|
+
}
|
|
12
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='bottom'][data-state='closed'] {
|
|
13
|
+
animation-name: slideToBottom;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Drawers always dismiss by sliding the wrapper off-screen, so we don't want
|
|
17
|
+
vaul's default `slideTo*` drawer keyframes (they'd stack with the wrapper
|
|
18
|
+
translate and look twice as fast). Override with a no-op animation of
|
|
19
|
+
matching duration so Radix Presence still waits for it before unmounting.
|
|
20
|
+
Specificity needs to beat the 4-attribute `slideTo*` selectors above. */
|
|
21
|
+
[data-vaul-drawer][data-vaul-drawer-direction='bottom'][data-vaul-animate='true'][data-state='closed'] {
|
|
22
|
+
animation-name: vaulHold;
|
|
23
|
+
animation-duration: 0.5s;
|
|
24
|
+
}
|
|
25
|
+
@keyframes vaulHold {
|
|
26
|
+
from {
|
|
27
|
+
opacity: 1;
|
|
28
|
+
}
|
|
29
|
+
to {
|
|
30
|
+
opacity: 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='top'][data-state='open'] {
|
|
35
|
+
animation-name: slideFromTop;
|
|
36
|
+
}
|
|
37
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='top'][data-state='closed'] {
|
|
38
|
+
animation-name: slideToTop;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='left'][data-state='open'] {
|
|
42
|
+
animation-name: slideFromLeft;
|
|
43
|
+
}
|
|
44
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='left'][data-state='closed'] {
|
|
45
|
+
animation-name: slideToLeft;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='right'][data-state='open'] {
|
|
49
|
+
animation-name: slideFromRight;
|
|
50
|
+
}
|
|
51
|
+
[data-vaul-drawer][data-vaul-snap-points='false'][data-vaul-drawer-direction='right'][data-state='closed'] {
|
|
52
|
+
animation-name: slideToRight;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
[data-vaul-drawer][data-vaul-snap-points='true'][data-vaul-drawer-direction='bottom'] {
|
|
56
|
+
transform: translate3d(0, var(--initial-transform, 100%), 0);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[data-vaul-drawer][data-vaul-snap-points='true'][data-vaul-drawer-direction='top'] {
|
|
60
|
+
transform: translate3d(0, calc(var(--initial-transform, 100%) * -1), 0);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
[data-vaul-drawer][data-vaul-snap-points='true'][data-vaul-drawer-direction='left'] {
|
|
64
|
+
transform: translate3d(calc(var(--initial-transform, 100%) * -1), 0, 0);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
[data-vaul-drawer][data-vaul-snap-points='true'][data-vaul-drawer-direction='right'] {
|
|
68
|
+
transform: translate3d(var(--initial-transform, 100%), 0, 0);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
[data-vaul-drawer][data-vaul-delayed-snap-points='true'][data-vaul-drawer-direction='top'] {
|
|
72
|
+
transform: translate3d(0, var(--snap-point-height, 0), 0);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[data-vaul-drawer][data-vaul-delayed-snap-points='true'][data-vaul-drawer-direction='bottom'] {
|
|
76
|
+
transform: translate3d(0, var(--snap-point-height, 0), 0);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
[data-vaul-drawer][data-vaul-delayed-snap-points='true'][data-vaul-drawer-direction='left'] {
|
|
80
|
+
transform: translate3d(var(--snap-point-height, 0), 0, 0);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[data-vaul-drawer][data-vaul-delayed-snap-points='true'][data-vaul-drawer-direction='right'] {
|
|
84
|
+
transform: translate3d(var(--snap-point-height, 0), 0, 0);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
[data-vaul-overlay][data-vaul-snap-points='false'] {
|
|
88
|
+
animation-duration: 0.5s;
|
|
89
|
+
animation-timing-function: cubic-bezier(0.32, 0.72, 0, 1);
|
|
90
|
+
}
|
|
91
|
+
[data-vaul-overlay][data-vaul-snap-points='false'][data-state='open'] {
|
|
92
|
+
animation-name: fadeIn;
|
|
93
|
+
}
|
|
94
|
+
[data-vaul-overlay][data-state='closed'] {
|
|
95
|
+
animation-name: fadeOut;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
[data-vaul-animate='false'] {
|
|
99
|
+
animation: none !important;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
[data-vaul-overlay][data-vaul-snap-points='true'] {
|
|
103
|
+
opacity: 0;
|
|
104
|
+
transition: opacity 0.5s cubic-bezier(0.32, 0.72, 0, 1);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
[data-vaul-drawer]:not([data-vaul-custom-container='true'])::after {
|
|
108
|
+
content: '';
|
|
109
|
+
position: absolute;
|
|
110
|
+
background: inherit;
|
|
111
|
+
background-color: inherit;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
[data-vaul-drawer][data-vaul-drawer-direction='top']::after {
|
|
115
|
+
top: initial;
|
|
116
|
+
bottom: 100%;
|
|
117
|
+
left: 0;
|
|
118
|
+
right: 0;
|
|
119
|
+
height: 200%;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
[data-vaul-drawer][data-vaul-drawer-direction='bottom']::after {
|
|
123
|
+
top: 100%;
|
|
124
|
+
bottom: initial;
|
|
125
|
+
left: 0;
|
|
126
|
+
right: 0;
|
|
127
|
+
height: 200%;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
[data-vaul-drawer][data-vaul-drawer-direction='left']::after {
|
|
131
|
+
left: initial;
|
|
132
|
+
right: 100%;
|
|
133
|
+
top: 0;
|
|
134
|
+
bottom: 0;
|
|
135
|
+
width: 200%;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
[data-vaul-drawer][data-vaul-drawer-direction='right']::after {
|
|
139
|
+
left: 100%;
|
|
140
|
+
right: initial;
|
|
141
|
+
top: 0;
|
|
142
|
+
bottom: 0;
|
|
143
|
+
width: 200%;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
[data-vaul-overlay][data-vaul-snap-points='true'][data-vaul-delayed-snap-points='true'][data-vaul-snap-points-overlay='true'] {
|
|
147
|
+
opacity: 1;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
[data-vaul-handle] {
|
|
151
|
+
display: block;
|
|
152
|
+
position: relative;
|
|
153
|
+
opacity: 0.7;
|
|
154
|
+
background: #e2e2e4;
|
|
155
|
+
margin-left: auto;
|
|
156
|
+
margin-right: auto;
|
|
157
|
+
height: 5px;
|
|
158
|
+
width: 32px;
|
|
159
|
+
border-radius: 1rem;
|
|
160
|
+
touch-action: pan-y;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
[data-vaul-handle]:hover,
|
|
164
|
+
[data-vaul-handle]:active {
|
|
165
|
+
opacity: 1;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
[data-vaul-handle-hitarea] {
|
|
169
|
+
position: absolute;
|
|
170
|
+
left: 50%;
|
|
171
|
+
top: 50%;
|
|
172
|
+
transform: translate(-50%, -50%);
|
|
173
|
+
width: max(100%, 2.75rem); /* 44px */
|
|
174
|
+
height: max(100%, 2.75rem); /* 44px */
|
|
175
|
+
touch-action: inherit;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
@media (hover: hover) and (pointer: fine) {
|
|
179
|
+
[data-vaul-drawer] {
|
|
180
|
+
user-select: none;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
@media (pointer: fine) {
|
|
185
|
+
[data-vaul-handle-hitarea]: {
|
|
186
|
+
width: 100%;
|
|
187
|
+
height: 100%;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
@keyframes fadeIn {
|
|
192
|
+
from {
|
|
193
|
+
opacity: 0;
|
|
194
|
+
}
|
|
195
|
+
to {
|
|
196
|
+
opacity: 1;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
@keyframes fadeOut {
|
|
201
|
+
to {
|
|
202
|
+
opacity: 0;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
@keyframes slideFromBottom {
|
|
207
|
+
from {
|
|
208
|
+
transform: translate3d(0, var(--initial-transform, 100%), 0);
|
|
209
|
+
}
|
|
210
|
+
to {
|
|
211
|
+
transform: translate3d(0, 0, 0);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@keyframes slideToBottom {
|
|
216
|
+
to {
|
|
217
|
+
transform: translate3d(0, var(--initial-transform, 100%), 0);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
@keyframes slideFromTop {
|
|
222
|
+
from {
|
|
223
|
+
transform: translate3d(0, calc(var(--initial-transform, 100%) * -1), 0);
|
|
224
|
+
}
|
|
225
|
+
to {
|
|
226
|
+
transform: translate3d(0, 0, 0);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
@keyframes slideToTop {
|
|
231
|
+
to {
|
|
232
|
+
transform: translate3d(0, calc(var(--initial-transform, 100%) * -1), 0);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
@keyframes slideFromLeft {
|
|
237
|
+
from {
|
|
238
|
+
transform: translate3d(calc(var(--initial-transform, 100%) * -1), 0, 0);
|
|
239
|
+
}
|
|
240
|
+
to {
|
|
241
|
+
transform: translate3d(0, 0, 0);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
@keyframes slideToLeft {
|
|
246
|
+
to {
|
|
247
|
+
transform: translate3d(calc(var(--initial-transform, 100%) * -1), 0, 0);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
@keyframes slideFromRight {
|
|
252
|
+
from {
|
|
253
|
+
transform: translate3d(var(--initial-transform, 100%), 0, 0);
|
|
254
|
+
}
|
|
255
|
+
to {
|
|
256
|
+
transform: translate3d(0, 0, 0);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
@keyframes slideToRight {
|
|
261
|
+
to {
|
|
262
|
+
transform: translate3d(var(--initial-transform, 100%), 0, 0);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["web/vaul/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// This code comes from https://github.com/radix-ui/primitives/tree/main/packages/react/compose-refs
|
|
4
|
+
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
/**
|
|
7
|
+
* Set a given ref to a given value
|
|
8
|
+
* This utility takes care of different types of refs: callback refs and RefObject(s)
|
|
9
|
+
*/
|
|
10
|
+
function setRef(ref, value) {
|
|
11
|
+
if (typeof ref === 'function') {
|
|
12
|
+
ref(value);
|
|
13
|
+
} else if (ref !== null && ref !== undefined) {
|
|
14
|
+
ref.current = value;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A utility to compose multiple refs together
|
|
20
|
+
* Accepts callback refs and RefObject(s)
|
|
21
|
+
*/
|
|
22
|
+
function composeRefs(...refs) {
|
|
23
|
+
return node => refs.forEach(ref => setRef(ref, node));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A custom hook that composes multiple refs
|
|
28
|
+
* Accepts callback refs and RefObject(s)
|
|
29
|
+
*/
|
|
30
|
+
function useComposedRefs(...refs) {
|
|
31
|
+
return React.useCallback(composeRefs(...refs), refs);
|
|
32
|
+
}
|
|
33
|
+
export { composeRefs, useComposedRefs };
|
|
34
|
+
//# sourceMappingURL=use-composed-refs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","setRef","ref","value","undefined","current","composeRefs","refs","node","forEach","useComposedRefs","useCallback"],"sourceRoot":"../../../../src","sources":["web/vaul/use-composed-refs.ts"],"mappings":";;AAAA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAAIC,GAAmB,EAAEC,KAAQ,EAAE;EAChD,IAAI,OAAOD,GAAG,KAAK,UAAU,EAAE;IAC7BA,GAAG,CAACC,KAAK,CAAC;EACZ,CAAC,MAAM,IAAID,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKE,SAAS,EAAE;IAC3CF,GAAG,CAA+BG,OAAO,GAAGF,KAAK;EACpD;AACF;;AAEA;AACA;AACA;AACA;AACA,SAASG,WAAWA,CAAI,GAAGC,IAAsB,EAAE;EACjD,OAAQC,IAAO,IAAKD,IAAI,CAACE,OAAO,CAAEP,GAAG,IAAKD,MAAM,CAACC,GAAG,EAAEM,IAAI,CAAC,CAAC;AAC9D;;AAEA;AACA;AACA;AACA;AACA,SAASE,eAAeA,CAAI,GAAGH,IAAsB,EAAE;EACrD,OAAOP,KAAK,CAACW,WAAW,CAACL,WAAW,CAAC,GAAGC,IAAI,CAAC,EAAEA,IAAI,CAAC;AACtD;AAEA,SAASD,WAAW,EAAEI,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// This code comes from https://github.com/radix-ui/primitives/blob/main/packages/react/use-controllable-state/src/useControllableState.tsx
|
|
4
|
+
|
|
5
|
+
import React from 'react';
|
|
6
|
+
function useCallbackRef(callback) {
|
|
7
|
+
const callbackRef = React.useRef(callback);
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
callbackRef.current = callback;
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
// https://github.com/facebook/react/issues/19240
|
|
13
|
+
return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);
|
|
14
|
+
}
|
|
15
|
+
function useUncontrolledState({
|
|
16
|
+
defaultProp,
|
|
17
|
+
onChange
|
|
18
|
+
}) {
|
|
19
|
+
const uncontrolledState = React.useState(defaultProp);
|
|
20
|
+
const [value] = uncontrolledState;
|
|
21
|
+
const prevValueRef = React.useRef(value);
|
|
22
|
+
const handleChange = useCallbackRef(onChange);
|
|
23
|
+
React.useEffect(() => {
|
|
24
|
+
if (prevValueRef.current !== value) {
|
|
25
|
+
handleChange(value);
|
|
26
|
+
prevValueRef.current = value;
|
|
27
|
+
}
|
|
28
|
+
}, [value, prevValueRef, handleChange]);
|
|
29
|
+
return uncontrolledState;
|
|
30
|
+
}
|
|
31
|
+
export function useControllableState({
|
|
32
|
+
prop,
|
|
33
|
+
defaultProp,
|
|
34
|
+
onChange = () => {}
|
|
35
|
+
}) {
|
|
36
|
+
const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({
|
|
37
|
+
defaultProp,
|
|
38
|
+
onChange
|
|
39
|
+
});
|
|
40
|
+
const isControlled = prop !== undefined;
|
|
41
|
+
const value = isControlled ? prop : uncontrolledProp;
|
|
42
|
+
const handleChange = useCallbackRef(onChange);
|
|
43
|
+
const setValue = React.useCallback(nextValue => {
|
|
44
|
+
if (isControlled) {
|
|
45
|
+
const setter = nextValue;
|
|
46
|
+
const next = typeof nextValue === 'function' ? setter(prop) : nextValue;
|
|
47
|
+
if (next !== prop) handleChange(next);
|
|
48
|
+
} else {
|
|
49
|
+
setUncontrolledProp(nextValue);
|
|
50
|
+
}
|
|
51
|
+
}, [isControlled, prop, setUncontrolledProp, handleChange]);
|
|
52
|
+
return [value, setValue];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=use-controllable-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallbackRef","callback","callbackRef","useRef","useEffect","current","useMemo","args","useUncontrolledState","defaultProp","onChange","uncontrolledState","useState","value","prevValueRef","handleChange","useControllableState","prop","uncontrolledProp","setUncontrolledProp","isControlled","undefined","setValue","useCallback","nextValue","setter","next"],"sourceRoot":"../../../../src","sources":["web/vaul/use-controllable-state.ts"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AAUzB,SAASC,cAAcA,CAAoCC,QAAuB,EAAK;EACrF,MAAMC,WAAW,GAAGH,KAAK,CAACI,MAAM,CAACF,QAAQ,CAAC;EAE1CF,KAAK,CAACK,SAAS,CAAC,MAAM;IACpBF,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,CAAC;;EAEF;EACA,OAAOF,KAAK,CAACO,OAAO,CAAC,MAAO,CAAC,GAAGC,IAAI,KAAKL,WAAW,CAACG,OAAO,GAAG,GAAGE,IAAI,CAAO,EAAE,EAAE,CAAC;AACpF;AAEA,SAASC,oBAAoBA,CAAI;EAC/BC,WAAW;EACXC;AAC2C,CAAC,EAAE;EAC9C,MAAMC,iBAAiB,GAAGZ,KAAK,CAACa,QAAQ,CAAgBH,WAAW,CAAC;EACpE,MAAM,CAACI,KAAK,CAAC,GAAGF,iBAAiB;EACjC,MAAMG,YAAY,GAAGf,KAAK,CAACI,MAAM,CAACU,KAAK,CAAC;EACxC,MAAME,YAAY,GAAGf,cAAc,CAACU,QAAQ,CAAC;EAE7CX,KAAK,CAACK,SAAS,CAAC,MAAM;IACpB,IAAIU,YAAY,CAACT,OAAO,KAAKQ,KAAK,EAAE;MAClCE,YAAY,CAACF,KAAU,CAAC;MACxBC,YAAY,CAACT,OAAO,GAAGQ,KAAK;IAC9B;EACF,CAAC,EAAE,CAACA,KAAK,EAAEC,YAAY,EAAEC,YAAY,CAAC,CAAC;EAEvC,OAAOJ,iBAAiB;AAC1B;AACA,OAAO,SAASK,oBAAoBA,CAAI;EACtCC,IAAI;EACJR,WAAW;EACXC,QAAQ,GAAGA,CAAA,KAAM,CAAC;AACW,CAAC,EAAE;EAChC,MAAM,CAACQ,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGX,oBAAoB,CAAC;IAAEC,WAAW;IAAEC;EAAS,CAAC,CAAC;EAC/F,MAAMU,YAAY,GAAGH,IAAI,KAAKI,SAAS;EACvC,MAAMR,KAAK,GAAGO,YAAY,GAAGH,IAAI,GAAGC,gBAAgB;EACpD,MAAMH,YAAY,GAAGf,cAAc,CAACU,QAAQ,CAAC;EAE7C,MAAMY,QAA6D,GAAGvB,KAAK,CAACwB,WAAW,CACpFC,SAAS,IAAK;IACb,IAAIJ,YAAY,EAAE;MAChB,MAAMK,MAAM,GAAGD,SAA0B;MACzC,MAAME,IAAI,GAAG,OAAOF,SAAS,KAAK,UAAU,GAAGC,MAAM,CAACR,IAAI,CAAC,GAAGO,SAAS;MACvE,IAAIE,IAAI,KAAKT,IAAI,EAAEF,YAAY,CAACW,IAAS,CAAC;IAC5C,CAAC,MAAM;MACLP,mBAAmB,CAACK,SAAS,CAAC;IAChC;EACF,CAAC,EACD,CAACJ,YAAY,EAAEH,IAAI,EAAEE,mBAAmB,EAAEJ,YAAY,CACxD,CAAC;EAED,OAAO,CAACF,KAAK,EAAES,QAAQ,CAAC;AAC1B","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { isSafari } from "./browser.js";
|
|
5
|
+
let previousBodyPosition = null;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This hook is necessary to prevent buggy behavior on iOS devices (need to test on Android).
|
|
9
|
+
* I won't get into too much detail about what bugs it solves, but so far I've found that setting the body to `position: fixed` is the most reliable way to prevent those bugs.
|
|
10
|
+
* Issues that this hook solves:
|
|
11
|
+
* https://github.com/emilkowalski/vaul/issues/435
|
|
12
|
+
* https://github.com/emilkowalski/vaul/issues/433
|
|
13
|
+
* And more that I discovered, but were just not reported.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
export function usePositionFixed({
|
|
17
|
+
isOpen,
|
|
18
|
+
modal,
|
|
19
|
+
nested,
|
|
20
|
+
hasBeenOpened,
|
|
21
|
+
preventScrollRestoration,
|
|
22
|
+
noBodyStyles
|
|
23
|
+
}) {
|
|
24
|
+
const [activeUrl, setActiveUrl] = React.useState(() => typeof window !== 'undefined' ? window.location.href : '');
|
|
25
|
+
const scrollPos = React.useRef(0);
|
|
26
|
+
const setPositionFixed = React.useCallback(() => {
|
|
27
|
+
// All browsers on iOS will return true here.
|
|
28
|
+
if (!isSafari()) return;
|
|
29
|
+
|
|
30
|
+
// If previousBodyPosition is already set, don't set it again.
|
|
31
|
+
if (previousBodyPosition === null && isOpen && !noBodyStyles) {
|
|
32
|
+
previousBodyPosition = {
|
|
33
|
+
position: document.body.style.position,
|
|
34
|
+
top: document.body.style.top,
|
|
35
|
+
left: document.body.style.left,
|
|
36
|
+
height: document.body.style.height,
|
|
37
|
+
right: 'unset'
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// Update the dom inside an animation frame
|
|
41
|
+
const {
|
|
42
|
+
scrollX,
|
|
43
|
+
innerHeight
|
|
44
|
+
} = window;
|
|
45
|
+
document.body.style.setProperty('position', 'fixed', 'important');
|
|
46
|
+
Object.assign(document.body.style, {
|
|
47
|
+
top: `${-scrollPos.current}px`,
|
|
48
|
+
left: `${-scrollX}px`,
|
|
49
|
+
right: '0px',
|
|
50
|
+
height: 'auto'
|
|
51
|
+
});
|
|
52
|
+
window.setTimeout(() => window.requestAnimationFrame(() => {
|
|
53
|
+
// Attempt to check if the bottom bar appeared due to the position change
|
|
54
|
+
const bottomBarHeight = innerHeight - window.innerHeight;
|
|
55
|
+
if (bottomBarHeight && scrollPos.current >= innerHeight) {
|
|
56
|
+
// Move the content further up so that the bottom bar doesn't hide it
|
|
57
|
+
document.body.style.top = `${-(scrollPos.current + bottomBarHeight)}px`;
|
|
58
|
+
}
|
|
59
|
+
}), 300);
|
|
60
|
+
}
|
|
61
|
+
}, [isOpen]);
|
|
62
|
+
const restorePositionSetting = React.useCallback(() => {
|
|
63
|
+
// All browsers on iOS will return true here.
|
|
64
|
+
if (!isSafari()) return;
|
|
65
|
+
if (previousBodyPosition !== null && !noBodyStyles) {
|
|
66
|
+
// Convert the position from "px" to Int
|
|
67
|
+
const y = -parseInt(document.body.style.top, 10);
|
|
68
|
+
const x = -parseInt(document.body.style.left, 10);
|
|
69
|
+
|
|
70
|
+
// Restore styles
|
|
71
|
+
Object.assign(document.body.style, previousBodyPosition);
|
|
72
|
+
window.requestAnimationFrame(() => {
|
|
73
|
+
if (preventScrollRestoration && activeUrl !== window.location.href) {
|
|
74
|
+
setActiveUrl(window.location.href);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
window.scrollTo(x, y);
|
|
78
|
+
});
|
|
79
|
+
previousBodyPosition = null;
|
|
80
|
+
}
|
|
81
|
+
}, [activeUrl]);
|
|
82
|
+
React.useEffect(() => {
|
|
83
|
+
function onScroll() {
|
|
84
|
+
scrollPos.current = window.scrollY;
|
|
85
|
+
}
|
|
86
|
+
onScroll();
|
|
87
|
+
window.addEventListener('scroll', onScroll);
|
|
88
|
+
return () => {
|
|
89
|
+
window.removeEventListener('scroll', onScroll);
|
|
90
|
+
};
|
|
91
|
+
}, []);
|
|
92
|
+
React.useEffect(() => {
|
|
93
|
+
if (!modal) return;
|
|
94
|
+
return () => {
|
|
95
|
+
if (typeof document === 'undefined') return;
|
|
96
|
+
|
|
97
|
+
// Another drawer is opened, safe to ignore the execution
|
|
98
|
+
const hasDrawerOpened = !!document.querySelector('[data-vaul-drawer]');
|
|
99
|
+
if (hasDrawerOpened) return;
|
|
100
|
+
restorePositionSetting();
|
|
101
|
+
};
|
|
102
|
+
}, [modal, restorePositionSetting]);
|
|
103
|
+
React.useEffect(() => {
|
|
104
|
+
if (nested || !hasBeenOpened) return;
|
|
105
|
+
// This is needed to force Safari toolbar to show **before** the drawer starts animating to prevent a gnarly shift from happening
|
|
106
|
+
if (isOpen) {
|
|
107
|
+
// avoid for standalone mode (PWA)
|
|
108
|
+
const isStandalone = window.matchMedia('(display-mode: standalone)').matches;
|
|
109
|
+
!isStandalone && setPositionFixed();
|
|
110
|
+
if (!modal) {
|
|
111
|
+
window.setTimeout(() => {
|
|
112
|
+
restorePositionSetting();
|
|
113
|
+
}, 500);
|
|
114
|
+
}
|
|
115
|
+
} else {
|
|
116
|
+
restorePositionSetting();
|
|
117
|
+
}
|
|
118
|
+
}, [isOpen, hasBeenOpened, activeUrl, modal, nested, setPositionFixed, restorePositionSetting]);
|
|
119
|
+
return {
|
|
120
|
+
restorePositionSetting
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=use-position-fixed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","isSafari","previousBodyPosition","usePositionFixed","isOpen","modal","nested","hasBeenOpened","preventScrollRestoration","noBodyStyles","activeUrl","setActiveUrl","useState","window","location","href","scrollPos","useRef","setPositionFixed","useCallback","position","document","body","style","top","left","height","right","scrollX","innerHeight","setProperty","Object","assign","current","setTimeout","requestAnimationFrame","bottomBarHeight","restorePositionSetting","y","parseInt","x","scrollTo","useEffect","onScroll","scrollY","addEventListener","removeEventListener","hasDrawerOpened","querySelector","isStandalone","matchMedia","matches"],"sourceRoot":"../../../../src","sources":["web/vaul/use-position-fixed.ts"],"mappings":"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","ignoreList":[]}
|