@oxyhq/bloom 0.14.0 → 0.15.0
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/commonjs/dialog/CenteredDialog.js +2 -0
- package/lib/commonjs/dialog/CenteredDialog.js.map +1 -1
- package/lib/commonjs/dialog/CenteredDialog.web.js +2 -0
- package/lib/commonjs/dialog/CenteredDialog.web.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.js +337 -43
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +414 -63
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/index.js +6 -0
- package/lib/commonjs/dialog/index.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js +6 -0
- package/lib/commonjs/dialog/index.web.js.map +1 -1
- package/lib/commonjs/dialog/placement.js +104 -0
- package/lib/commonjs/dialog/placement.js.map +1 -0
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +7 -0
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js +63 -266
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +1 -1
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.web.js +84 -0
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.web.js.map +1 -0
- package/lib/commonjs/responsive-sheet/index.web.js +3 -3
- package/lib/commonjs/responsive-sheet/index.web.js.map +1 -1
- package/lib/module/dialog/CenteredDialog.js +2 -0
- package/lib/module/dialog/CenteredDialog.js.map +1 -1
- package/lib/module/dialog/CenteredDialog.web.js +2 -0
- package/lib/module/dialog/CenteredDialog.web.js.map +1 -1
- package/lib/module/dialog/Dialog.js +336 -46
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +412 -65
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/index.js +1 -1
- package/lib/module/dialog/index.js.map +1 -1
- package/lib/module/dialog/index.web.js +1 -1
- package/lib/module/dialog/index.web.js.map +1 -1
- package/lib/module/dialog/placement.js +100 -0
- package/lib/module/dialog/placement.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/responsive-sheet/ResponsiveSheet.js +63 -266
- package/lib/module/responsive-sheet/ResponsiveSheet.js.map +1 -1
- package/lib/module/responsive-sheet/ResponsiveSheet.web.js +77 -0
- package/lib/module/responsive-sheet/ResponsiveSheet.web.js.map +1 -0
- package/lib/module/responsive-sheet/index.web.js +7 -9
- package/lib/module/responsive-sheet/index.web.js.map +1 -1
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts +2 -0
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts +2 -0
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.d.ts +18 -15
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +18 -5
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts +4 -0
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.d.ts +2 -2
- package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -2
- package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/placement.d.ts +71 -0
- package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/types.d.ts +66 -3
- package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -2
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +15 -19
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.web.d.ts +16 -0
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts +1 -1
- package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts +5 -2
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +1 -1
- package/lib/typescript/module/dialog/CenteredDialog.d.ts +2 -0
- package/lib/typescript/module/dialog/CenteredDialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts +2 -0
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.d.ts +18 -15
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts +18 -5
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts +4 -0
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.d.ts +2 -2
- package/lib/typescript/module/dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +2 -2
- package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/placement.d.ts +71 -0
- package/lib/typescript/module/dialog/placement.d.ts.map +1 -0
- package/lib/typescript/module/dialog/types.d.ts +66 -3
- package/lib/typescript/module/dialog/types.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -2
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +15 -19
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts.map +1 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.web.d.ts +16 -0
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.web.d.ts.map +1 -0
- package/lib/typescript/module/responsive-sheet/index.web.d.ts +1 -1
- package/lib/typescript/module/responsive-sheet/index.web.d.ts.map +1 -1
- package/lib/typescript/module/responsive-sheet/types.d.ts +5 -2
- package/lib/typescript/module/responsive-sheet/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/DialogPlacement.test.tsx +144 -0
- package/src/__tests__/ResponsiveSheet.test.tsx +36 -52
- package/src/dialog/CenteredDialog.tsx +2 -0
- package/src/dialog/CenteredDialog.web.tsx +2 -0
- package/src/dialog/Dialog.tsx +407 -50
- package/src/dialog/Dialog.web.tsx +490 -75
- package/src/dialog/centered-dialog-types.ts +4 -0
- package/src/dialog/index.ts +4 -1
- package/src/dialog/index.web.ts +4 -1
- package/src/dialog/placement.ts +113 -0
- package/src/dialog/types.ts +69 -3
- package/src/index.ts +4 -0
- package/src/index.web.ts +4 -0
- package/src/responsive-sheet/ResponsiveSheet.tsx +58 -297
- package/src/responsive-sheet/ResponsiveSheet.web.tsx +76 -0
- package/src/responsive-sheet/index.web.ts +7 -9
- package/src/responsive-sheet/types.ts +5 -2
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js +0 -226
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js.map +0 -1
- package/lib/commonjs/responsive-sheet/const.js +0 -60
- package/lib/commonjs/responsive-sheet/const.js.map +0 -1
- package/lib/module/responsive-sheet/ResponsiveSheet.native.js +0 -219
- package/lib/module/responsive-sheet/ResponsiveSheet.native.js.map +0 -1
- package/lib/module/responsive-sheet/const.js +0 -56
- package/lib/module/responsive-sheet/const.js.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts +0 -20
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/const.d.ts +0 -43
- package/lib/typescript/commonjs/responsive-sheet/const.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts +0 -20
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/const.d.ts +0 -43
- package/lib/typescript/module/responsive-sheet/const.d.ts.map +0 -1
- package/src/responsive-sheet/ResponsiveSheet.native.tsx +0 -257
- package/src/responsive-sheet/const.ts +0 -53
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { createContext, useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { Pressable, Text, TouchableOpacity, View } from 'react-native';
|
|
4
|
+
import { Pressable, Text, TouchableOpacity, useWindowDimensions, View } from 'react-native';
|
|
5
5
|
import { RemoveScrollBar } from 'react-remove-scroll-bar';
|
|
6
6
|
import { Portal } from "../portal/index.web.js";
|
|
7
7
|
import { createOverlayZIndex } from "../styles/z-index.js";
|
|
8
8
|
import { useTheme } from "../theme/use-theme.js";
|
|
9
9
|
import { Context, useDialogContext, useDialogControl } from "./context.js";
|
|
10
|
-
import {
|
|
11
|
-
|
|
10
|
+
import { ANIMATION_DURATION, CENTER_FADE_OUT_DURATION, DEFAULT_CENTER_MAX_WIDTH, DEFAULT_MAX_HEIGHT_RATIO, DEFAULT_SIDE_WIDTH, DIALOG_SHEET_BACKDROP_TESTID, EASE_OUT, HANDLE_HEIGHT, HANDLE_RADIUS, HANDLE_WIDTH, PANEL_RADIUS, SHEET_BACKDROP_OPACITY, SIDE_SHEET_MIN_GUTTER, useResolvedPlacement } from "./placement.js";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
12
|
+
const FADE_OUT_DURATION = CENTER_FADE_OUT_DURATION;
|
|
12
13
|
const dialogZIndex = createOverlayZIndex();
|
|
13
14
|
const stopPropagation = e => e.stopPropagation();
|
|
14
15
|
const ClosingContext = /*#__PURE__*/createContext(false);
|
|
@@ -16,40 +17,94 @@ const ClosingContext = /*#__PURE__*/createContext(false);
|
|
|
16
17
|
/**
|
|
17
18
|
* Web variant of `<Dialog>`.
|
|
18
19
|
*
|
|
19
|
-
* A centered modal card rendered into the bloom Portal at the end of
|
|
20
|
-
* `document.body
|
|
21
|
-
*
|
|
22
|
-
* agnostic.
|
|
20
|
+
* A centered modal card (default) rendered into the bloom Portal at the end of
|
|
21
|
+
* `document.body`, or — when `placement` is `left`/`right`/`bottom` — an
|
|
22
|
+
* anchored side-sheet or bottom-sheet. Same prop API as native, so call sites
|
|
23
|
+
* are platform agnostic.
|
|
24
|
+
*
|
|
25
|
+
* Open/close is driven by EITHER the imperative `control` (legacy) OR the
|
|
26
|
+
* controlled `open` prop. When `open` is provided it wins.
|
|
23
27
|
*
|
|
24
28
|
* Accessibility: the panel has `role="dialog"` and the `title`/`description`
|
|
25
29
|
* props (when provided) become the `aria-labelledby` / `aria-describedby`
|
|
26
30
|
* targets. Pressing the backdrop dismisses. Pressing `Escape` dismisses.
|
|
27
31
|
* Focus is locked inside the dialog while it's open.
|
|
32
|
+
*
|
|
33
|
+
* Web motion never uses reanimated `exiting` (which throws `removeChild` on
|
|
34
|
+
* concurrent React unmounts): the centered card uses CSS keyframes and the
|
|
35
|
+
* side/bottom modes use self-contained CSS transitions (the `responsive-sheet`
|
|
36
|
+
* technique) on a mounted-through-exit node.
|
|
28
37
|
*/
|
|
29
38
|
export function Dialog({
|
|
30
39
|
control,
|
|
40
|
+
open: controlledOpen,
|
|
31
41
|
onClose,
|
|
32
42
|
testID,
|
|
33
43
|
title,
|
|
34
44
|
description,
|
|
35
45
|
actions,
|
|
46
|
+
placement,
|
|
47
|
+
width = DEFAULT_SIDE_WIDTH,
|
|
48
|
+
maxWidth = DEFAULT_CENTER_MAX_WIDTH,
|
|
49
|
+
maxHeightRatio = DEFAULT_MAX_HEIGHT_RATIO,
|
|
50
|
+
inset,
|
|
51
|
+
showHandle = true,
|
|
52
|
+
dismissOnBackdrop = true,
|
|
36
53
|
style,
|
|
54
|
+
panelStyle,
|
|
55
|
+
panelClassName,
|
|
56
|
+
containerStyle,
|
|
57
|
+
containerClassName,
|
|
37
58
|
label,
|
|
38
59
|
children
|
|
39
60
|
}) {
|
|
61
|
+
// Controlled mode is opt-in: when `open` is a boolean the host owns the
|
|
62
|
+
// visible state; otherwise the legacy imperative `control` path drives it.
|
|
63
|
+
const isControlled = controlledOpen !== undefined;
|
|
64
|
+
const resolvedPlacement = useResolvedPlacement(placement);
|
|
40
65
|
const [isOpen, setIsOpen] = useState(false);
|
|
41
66
|
const [isClosing, setIsClosing] = useState(false);
|
|
42
67
|
const closeCallbacksRef = useRef([]);
|
|
68
|
+
// Read the latest controlled flag inside stable callbacks without re-binding.
|
|
69
|
+
const isControlledRef = useRef(isControlled);
|
|
70
|
+
isControlledRef.current = isControlled;
|
|
43
71
|
const open = useCallback(() => {
|
|
44
72
|
setIsClosing(false);
|
|
45
73
|
setIsOpen(true);
|
|
46
74
|
}, []);
|
|
75
|
+
|
|
76
|
+
// A dismissal request (backdrop, Escape, action button). In controlled mode
|
|
77
|
+
// it asks the host to close via `onClose` (the host flips `open`); in
|
|
78
|
+
// imperative mode it starts the exit animation directly. Either way an
|
|
79
|
+
// optional callback runs after the dialog has finished closing.
|
|
47
80
|
const close = useCallback(cb => {
|
|
48
81
|
if (typeof cb === 'function') {
|
|
49
82
|
closeCallbacksRef.current.push(cb);
|
|
50
83
|
}
|
|
84
|
+
if (isControlledRef.current) {
|
|
85
|
+
onCloseRef.current?.();
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
51
88
|
setIsClosing(true);
|
|
52
89
|
}, []);
|
|
90
|
+
|
|
91
|
+
// `onClose` mirrored into a ref so `close` stays referentially stable (the
|
|
92
|
+
// dialog context + imperative handle depend on it).
|
|
93
|
+
const onCloseRef = useRef(onClose);
|
|
94
|
+
onCloseRef.current = onClose;
|
|
95
|
+
|
|
96
|
+
// In controlled mode, mirror the `open` prop into the internal open/closing
|
|
97
|
+
// state machine so both modes share the same exit-animation lifecycle.
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
if (!isControlled) return;
|
|
100
|
+
if (controlledOpen) {
|
|
101
|
+
setIsClosing(false);
|
|
102
|
+
setIsOpen(true);
|
|
103
|
+
} else {
|
|
104
|
+
setIsClosing(true);
|
|
105
|
+
}
|
|
106
|
+
}, [isControlled, controlledOpen]);
|
|
107
|
+
const exitDuration = resolvedPlacement === 'center' ? FADE_OUT_DURATION : ANIMATION_DURATION;
|
|
53
108
|
useEffect(() => {
|
|
54
109
|
if (!isClosing) return;
|
|
55
110
|
const timer = setTimeout(() => {
|
|
@@ -66,10 +121,13 @@ export function Dialog({
|
|
|
66
121
|
}
|
|
67
122
|
}
|
|
68
123
|
}
|
|
69
|
-
onClose
|
|
70
|
-
|
|
124
|
+
// Imperative mode fires `onClose` when the exit settles. Controlled mode
|
|
125
|
+
// already requested the close through `onClose` (the host then flipped
|
|
126
|
+
// `open`), so it must NOT fire it a second time here.
|
|
127
|
+
if (!isControlledRef.current) onCloseRef.current?.();
|
|
128
|
+
}, exitDuration);
|
|
71
129
|
return () => clearTimeout(timer);
|
|
72
|
-
}, [isClosing,
|
|
130
|
+
}, [isClosing, exitDuration]);
|
|
73
131
|
|
|
74
132
|
// Escape-to-close while open. The listener is intentionally scoped to the
|
|
75
133
|
// open lifetime so stacked dialogs don't fight for the keydown — the
|
|
@@ -85,7 +143,7 @@ export function Dialog({
|
|
|
85
143
|
document.addEventListener('keydown', handler);
|
|
86
144
|
return () => document.removeEventListener('keydown', handler);
|
|
87
145
|
}, [close, isOpen]);
|
|
88
|
-
useImperativeHandle(control
|
|
146
|
+
useImperativeHandle(control?.ref, () => ({
|
|
89
147
|
open,
|
|
90
148
|
close
|
|
91
149
|
}), [open, close]);
|
|
@@ -94,46 +152,121 @@ export function Dialog({
|
|
|
94
152
|
isWithinDialog: true
|
|
95
153
|
}), [close]);
|
|
96
154
|
if (!isOpen) return null;
|
|
155
|
+
if (resolvedPlacement === 'center') {
|
|
156
|
+
return /*#__PURE__*/_jsx(Portal, {
|
|
157
|
+
children: /*#__PURE__*/_jsx(Context.Provider, {
|
|
158
|
+
value: context,
|
|
159
|
+
children: /*#__PURE__*/_jsxs(ClosingContext.Provider, {
|
|
160
|
+
value: isClosing,
|
|
161
|
+
children: [/*#__PURE__*/_jsx(RemoveScrollBar, {}), /*#__PURE__*/_jsxs(Pressable, {
|
|
162
|
+
onPress: dismissOnBackdrop ? () => close() : undefined,
|
|
163
|
+
disabled: !dismissOnBackdrop
|
|
164
|
+
// `pointerEvents: 'auto'` opts back in from the Portal root's
|
|
165
|
+
// `pointer-events: none`, which is set so the idle portal
|
|
166
|
+
// doesn't intercept clicks on the underlying app.
|
|
167
|
+
,
|
|
168
|
+
style: {
|
|
169
|
+
position: 'fixed',
|
|
170
|
+
top: 0,
|
|
171
|
+
left: 0,
|
|
172
|
+
right: 0,
|
|
173
|
+
bottom: 0,
|
|
174
|
+
zIndex: dialogZIndex.backdrop,
|
|
175
|
+
alignItems: 'center',
|
|
176
|
+
justifyContent: 'center',
|
|
177
|
+
paddingHorizontal: 20,
|
|
178
|
+
pointerEvents: 'auto'
|
|
179
|
+
},
|
|
180
|
+
children: [/*#__PURE__*/_jsx(DialogBackdrop, {
|
|
181
|
+
isClosing: isClosing
|
|
182
|
+
}), /*#__PURE__*/_jsx(DialogPanel, {
|
|
183
|
+
testID: testID,
|
|
184
|
+
label: label,
|
|
185
|
+
title: title,
|
|
186
|
+
description: description,
|
|
187
|
+
actions: actions,
|
|
188
|
+
style: style,
|
|
189
|
+
maxWidth: maxWidth,
|
|
190
|
+
isClosing: isClosing,
|
|
191
|
+
children: children
|
|
192
|
+
})]
|
|
193
|
+
})]
|
|
194
|
+
})
|
|
195
|
+
})
|
|
196
|
+
});
|
|
197
|
+
}
|
|
97
198
|
return /*#__PURE__*/_jsx(Portal, {
|
|
98
199
|
children: /*#__PURE__*/_jsx(Context.Provider, {
|
|
99
200
|
value: context,
|
|
100
201
|
children: /*#__PURE__*/_jsxs(ClosingContext.Provider, {
|
|
101
202
|
value: isClosing,
|
|
102
|
-
children: [/*#__PURE__*/_jsx(RemoveScrollBar, {}), /*#__PURE__*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}), /*#__PURE__*/_jsx(DialogPanel, {
|
|
123
|
-
testID: testID,
|
|
124
|
-
label: label,
|
|
125
|
-
title: title,
|
|
126
|
-
description: description,
|
|
127
|
-
actions: actions,
|
|
128
|
-
style: style,
|
|
129
|
-
isClosing: isClosing,
|
|
130
|
-
children: children
|
|
131
|
-
})]
|
|
203
|
+
children: [/*#__PURE__*/_jsx(RemoveScrollBar, {}), /*#__PURE__*/_jsx(SheetSurface, {
|
|
204
|
+
testID: testID,
|
|
205
|
+
label: label,
|
|
206
|
+
title: title,
|
|
207
|
+
description: description,
|
|
208
|
+
actions: actions,
|
|
209
|
+
placement: resolvedPlacement,
|
|
210
|
+
shown: !isClosing,
|
|
211
|
+
width: width,
|
|
212
|
+
maxHeightRatio: maxHeightRatio,
|
|
213
|
+
inset: inset,
|
|
214
|
+
showHandle: showHandle,
|
|
215
|
+
dismissOnBackdrop: dismissOnBackdrop,
|
|
216
|
+
onDismiss: close,
|
|
217
|
+
panelStyle: panelStyle,
|
|
218
|
+
panelClassName: panelClassName,
|
|
219
|
+
containerStyle: containerStyle,
|
|
220
|
+
containerClassName: containerClassName,
|
|
221
|
+
style: style,
|
|
222
|
+
children: children
|
|
132
223
|
})]
|
|
133
224
|
})
|
|
134
225
|
})
|
|
135
226
|
});
|
|
136
227
|
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Renders the dialog's body: optional declarative title + description, any
|
|
231
|
+
* `children`, then the action row. Shared by the centered panel and the
|
|
232
|
+
* side/bottom sheet so all placements present identical content. The
|
|
233
|
+
* `titleId`/`descriptionId` are wired by the caller onto the `role="dialog"`
|
|
234
|
+
* element for `aria-labelledby` / `aria-describedby`.
|
|
235
|
+
*/
|
|
236
|
+
function DialogBody({
|
|
237
|
+
titleId,
|
|
238
|
+
descriptionId,
|
|
239
|
+
title,
|
|
240
|
+
description,
|
|
241
|
+
actions,
|
|
242
|
+
children
|
|
243
|
+
}) {
|
|
244
|
+
const theme = useTheme();
|
|
245
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
246
|
+
children: [title ? /*#__PURE__*/_jsx(Text, {
|
|
247
|
+
nativeID: titleId,
|
|
248
|
+
style: {
|
|
249
|
+
fontSize: 22,
|
|
250
|
+
fontWeight: '600',
|
|
251
|
+
color: theme.colors.text,
|
|
252
|
+
paddingBottom: description ? 4 : 16,
|
|
253
|
+
lineHeight: 30
|
|
254
|
+
},
|
|
255
|
+
children: title
|
|
256
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
257
|
+
nativeID: descriptionId,
|
|
258
|
+
style: {
|
|
259
|
+
fontSize: 16,
|
|
260
|
+
color: theme.colors.textSecondary,
|
|
261
|
+
paddingBottom: 16,
|
|
262
|
+
lineHeight: 22
|
|
263
|
+
},
|
|
264
|
+
children: description
|
|
265
|
+
}) : null, children, actions && actions.length > 0 ? /*#__PURE__*/_jsx(ActionRow, {
|
|
266
|
+
actions: actions
|
|
267
|
+
}) : null]
|
|
268
|
+
});
|
|
269
|
+
}
|
|
137
270
|
function DialogPanel({
|
|
138
271
|
testID,
|
|
139
272
|
label,
|
|
@@ -141,13 +274,14 @@ function DialogPanel({
|
|
|
141
274
|
description,
|
|
142
275
|
actions,
|
|
143
276
|
style,
|
|
277
|
+
maxWidth,
|
|
144
278
|
isClosing,
|
|
145
279
|
children
|
|
146
280
|
}) {
|
|
147
281
|
const theme = useTheme();
|
|
148
282
|
const titleId = useId();
|
|
149
283
|
const descriptionId = useId();
|
|
150
|
-
return /*#__PURE__*/
|
|
284
|
+
return /*#__PURE__*/_jsx(View, {
|
|
151
285
|
role: "dialog",
|
|
152
286
|
"aria-label": label,
|
|
153
287
|
"aria-labelledby": title ? titleId : undefined,
|
|
@@ -160,7 +294,7 @@ function DialogPanel({
|
|
|
160
294
|
position: 'relative',
|
|
161
295
|
borderRadius: 20,
|
|
162
296
|
width: '100%',
|
|
163
|
-
maxWidth
|
|
297
|
+
maxWidth,
|
|
164
298
|
backgroundColor: theme.colors.background,
|
|
165
299
|
borderWidth: 1,
|
|
166
300
|
borderColor: theme.isDark ? 'rgba(255,255,255,0.1)' : 'rgba(0,0,0,0.1)',
|
|
@@ -178,30 +312,196 @@ function DialogPanel({
|
|
|
178
312
|
} : {
|
|
179
313
|
animation: 'bloomDialogZoomFadeIn cubic-bezier(0.16, 1, 0.3, 1) 0.3s'
|
|
180
314
|
}, style],
|
|
181
|
-
children:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
315
|
+
children: /*#__PURE__*/_jsx(DialogBody, {
|
|
316
|
+
titleId: titleId,
|
|
317
|
+
descriptionId: descriptionId,
|
|
318
|
+
title: title,
|
|
319
|
+
description: description,
|
|
320
|
+
actions: actions,
|
|
321
|
+
children: children
|
|
322
|
+
})
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
export { DIALOG_SHEET_BACKDROP_TESTID };
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Side-sheet / bottom-sheet surface for the `left`/`right`/`bottom`
|
|
329
|
+
* placements. Pure CSS transitions (the `responsive-sheet` technique): the
|
|
330
|
+
* node stays mounted through the exit while a `shown` flag drives the
|
|
331
|
+
* transform/opacity, so both directions animate without reanimated `exiting`.
|
|
332
|
+
*/
|
|
333
|
+
function SheetSurface({
|
|
334
|
+
testID,
|
|
335
|
+
label,
|
|
336
|
+
title,
|
|
337
|
+
description,
|
|
338
|
+
actions,
|
|
339
|
+
placement,
|
|
340
|
+
shown,
|
|
341
|
+
width,
|
|
342
|
+
maxHeightRatio,
|
|
343
|
+
inset,
|
|
344
|
+
showHandle,
|
|
345
|
+
dismissOnBackdrop,
|
|
346
|
+
onDismiss,
|
|
347
|
+
panelStyle,
|
|
348
|
+
panelClassName,
|
|
349
|
+
containerStyle,
|
|
350
|
+
containerClassName,
|
|
351
|
+
style,
|
|
352
|
+
children
|
|
353
|
+
}) {
|
|
354
|
+
const theme = useTheme();
|
|
355
|
+
const titleId = useId();
|
|
356
|
+
const descriptionId = useId();
|
|
357
|
+
const {
|
|
358
|
+
width: viewportWidth,
|
|
359
|
+
height: viewportHeight
|
|
360
|
+
} = useWindowDimensions();
|
|
361
|
+
|
|
362
|
+
// Defer the entry transition by a frame so the start state paints before the
|
|
363
|
+
// browser animates to `shown`. `entered` is false on the first committed
|
|
364
|
+
// frame, then flips true so the CSS transition runs.
|
|
365
|
+
const frameRef = useRef(null);
|
|
366
|
+
const [entered, setEntered] = useState(false);
|
|
367
|
+
useEffect(() => {
|
|
368
|
+
frameRef.current = scheduleFrame(() => {
|
|
369
|
+
frameRef.current = scheduleFrame(() => setEntered(true));
|
|
370
|
+
});
|
|
371
|
+
return () => {
|
|
372
|
+
if (frameRef.current !== null) cancelFrame(frameRef.current);
|
|
373
|
+
frameRef.current = null;
|
|
374
|
+
};
|
|
375
|
+
}, []);
|
|
376
|
+
const visible = shown && entered;
|
|
377
|
+
const isBottom = placement === 'bottom';
|
|
378
|
+
const panelTransition = useMemo(() => ({
|
|
379
|
+
transitionProperty: 'transform, opacity',
|
|
380
|
+
transitionDuration: `${ANIMATION_DURATION}ms`,
|
|
381
|
+
transitionTimingFunction: EASE_OUT
|
|
382
|
+
}), []);
|
|
383
|
+
const backdropTransition = useMemo(() => ({
|
|
384
|
+
transitionProperty: 'opacity',
|
|
385
|
+
transitionDuration: `${ANIMATION_DURATION}ms`,
|
|
386
|
+
transitionTimingFunction: EASE_OUT
|
|
387
|
+
}), []);
|
|
388
|
+
const panelGeometry = useMemo(() => {
|
|
389
|
+
if (isBottom) {
|
|
390
|
+
return {
|
|
391
|
+
left: 0,
|
|
392
|
+
right: 0,
|
|
393
|
+
bottom: 0,
|
|
394
|
+
maxHeight: Math.round(viewportHeight * maxHeightRatio),
|
|
395
|
+
borderTopLeftRadius: PANEL_RADIUS,
|
|
396
|
+
borderTopRightRadius: PANEL_RADIUS,
|
|
397
|
+
transform: [{
|
|
398
|
+
translateY: visible ? 0 : '100%'
|
|
399
|
+
}],
|
|
400
|
+
opacity: visible ? 1 : 0
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
const insetTop = inset?.top ?? 0;
|
|
404
|
+
const insetBottom = inset?.bottom ?? 0;
|
|
405
|
+
const insetLeft = inset?.left ?? 0;
|
|
406
|
+
const insetRight = inset?.right ?? 0;
|
|
407
|
+
const anchorInset = placement === 'left' ? insetLeft : insetRight;
|
|
408
|
+
const oppositeInset = placement === 'left' ? insetRight : insetLeft;
|
|
409
|
+
const available = viewportWidth - anchorInset - oppositeInset - SIDE_SHEET_MIN_GUTTER;
|
|
410
|
+
const cappedWidth = Math.max(0, Math.min(width, available));
|
|
411
|
+
const hiddenSign = placement === 'left' ? '-100%' : '100%';
|
|
412
|
+
return {
|
|
413
|
+
top: insetTop,
|
|
414
|
+
bottom: insetBottom,
|
|
415
|
+
[placement]: anchorInset,
|
|
416
|
+
width: cappedWidth,
|
|
417
|
+
borderRadius: PANEL_RADIUS,
|
|
418
|
+
transform: [{
|
|
419
|
+
translateX: visible ? 0 : hiddenSign
|
|
420
|
+
}],
|
|
421
|
+
opacity: visible ? 1 : 0
|
|
422
|
+
};
|
|
423
|
+
}, [isBottom, visible, placement, width, inset, viewportWidth, viewportHeight, maxHeightRatio]);
|
|
424
|
+
const handleBackdropPress = useCallback(() => {
|
|
425
|
+
if (dismissOnBackdrop) onDismiss();
|
|
426
|
+
}, [dismissOnBackdrop, onDismiss]);
|
|
427
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
428
|
+
style: [sheetStyles.root, containerStyle],
|
|
429
|
+
...(containerClassName ? {
|
|
430
|
+
className: containerClassName
|
|
431
|
+
} : {}),
|
|
432
|
+
pointerEvents: "box-none",
|
|
433
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
434
|
+
testID: testID ? `${testID}-backdrop` : DIALOG_SHEET_BACKDROP_TESTID,
|
|
435
|
+
accessibilityRole: "button",
|
|
436
|
+
accessibilityLabel: label ? `Dismiss ${label}` : 'Dismiss dialog',
|
|
437
|
+
onPress: handleBackdropPress,
|
|
438
|
+
disabled: !dismissOnBackdrop,
|
|
439
|
+
style: [sheetStyles.backdrop, backdropTransition, {
|
|
440
|
+
opacity: visible ? SHEET_BACKDROP_OPACITY : 0
|
|
441
|
+
}]
|
|
442
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
443
|
+
role: "dialog",
|
|
444
|
+
"aria-label": label,
|
|
445
|
+
"aria-labelledby": title ? titleId : undefined,
|
|
446
|
+
"aria-describedby": description ? descriptionId : undefined,
|
|
447
|
+
accessibilityViewIsModal: true,
|
|
448
|
+
testID: testID,
|
|
449
|
+
onStartShouldSetResponder: () => true,
|
|
450
|
+
onResponderRelease: stopPropagation,
|
|
451
|
+
onClick: stopPropagation,
|
|
452
|
+
...(panelClassName ? {
|
|
453
|
+
className: panelClassName
|
|
454
|
+
} : {}),
|
|
455
|
+
style: [sheetStyles.panel, {
|
|
456
|
+
backgroundColor: theme.colors.background,
|
|
457
|
+
shadowColor: theme.colors.shadow
|
|
458
|
+
}, panelGeometry, panelTransition, panelStyle, style],
|
|
459
|
+
pointerEvents: "auto",
|
|
460
|
+
children: [isBottom && showHandle ? /*#__PURE__*/_jsx(View, {
|
|
461
|
+
style: sheetStyles.handleRow,
|
|
462
|
+
pointerEvents: "none",
|
|
463
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
464
|
+
style: [sheetStyles.handle, {
|
|
465
|
+
backgroundColor: theme.colors.border
|
|
466
|
+
}]
|
|
467
|
+
})
|
|
468
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
469
|
+
style: sheetStyles.body,
|
|
470
|
+
children: /*#__PURE__*/_jsx(DialogBody, {
|
|
471
|
+
titleId: titleId,
|
|
472
|
+
descriptionId: descriptionId,
|
|
473
|
+
title: title,
|
|
474
|
+
description: description,
|
|
475
|
+
actions: actions,
|
|
476
|
+
children: children
|
|
477
|
+
})
|
|
478
|
+
})]
|
|
479
|
+
})]
|
|
203
480
|
});
|
|
204
481
|
}
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* Opaque token returned by `scheduleFrame`. `requestAnimationFrame` returns a
|
|
485
|
+
* number; the `setTimeout` fallback returns a timer handle.
|
|
486
|
+
*/
|
|
487
|
+
|
|
488
|
+
function scheduleFrame(cb) {
|
|
489
|
+
if (typeof requestAnimationFrame === 'function') {
|
|
490
|
+
return {
|
|
491
|
+
raf: requestAnimationFrame(cb)
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
return {
|
|
495
|
+
timer: setTimeout(cb, 0)
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
function cancelFrame(token) {
|
|
499
|
+
if ('raf' in token) {
|
|
500
|
+
if (typeof cancelAnimationFrame === 'function') cancelAnimationFrame(token.raf);
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
clearTimeout(token.timer);
|
|
504
|
+
}
|
|
205
505
|
function ActionRow({
|
|
206
506
|
actions
|
|
207
507
|
}) {
|
|
@@ -336,6 +636,50 @@ export function AutoMountedDialog({
|
|
|
336
636
|
onClose: onResolve
|
|
337
637
|
});
|
|
338
638
|
}
|
|
639
|
+
const sheetStyles = {
|
|
640
|
+
root: {
|
|
641
|
+
position: 'fixed',
|
|
642
|
+
top: 0,
|
|
643
|
+
left: 0,
|
|
644
|
+
right: 0,
|
|
645
|
+
bottom: 0,
|
|
646
|
+
zIndex: dialogZIndex.backdrop
|
|
647
|
+
},
|
|
648
|
+
backdrop: {
|
|
649
|
+
position: 'absolute',
|
|
650
|
+
top: 0,
|
|
651
|
+
left: 0,
|
|
652
|
+
right: 0,
|
|
653
|
+
bottom: 0,
|
|
654
|
+
backgroundColor: '#000'
|
|
655
|
+
},
|
|
656
|
+
panel: {
|
|
657
|
+
position: 'absolute',
|
|
658
|
+
overflow: 'hidden',
|
|
659
|
+
shadowOpacity: 0.18,
|
|
660
|
+
shadowRadius: 24,
|
|
661
|
+
shadowOffset: {
|
|
662
|
+
width: 0,
|
|
663
|
+
height: 8
|
|
664
|
+
},
|
|
665
|
+
zIndex: dialogZIndex.surface
|
|
666
|
+
},
|
|
667
|
+
handleRow: {
|
|
668
|
+
width: '100%',
|
|
669
|
+
alignItems: 'center',
|
|
670
|
+
paddingTop: 8,
|
|
671
|
+
paddingBottom: 4
|
|
672
|
+
},
|
|
673
|
+
handle: {
|
|
674
|
+
width: HANDLE_WIDTH,
|
|
675
|
+
height: HANDLE_HEIGHT,
|
|
676
|
+
borderRadius: HANDLE_RADIUS,
|
|
677
|
+
opacity: 0.5
|
|
678
|
+
},
|
|
679
|
+
body: {
|
|
680
|
+
padding: 20
|
|
681
|
+
}
|
|
682
|
+
};
|
|
339
683
|
|
|
340
684
|
/**
|
|
341
685
|
* CSS keyframes required for web dialog animations.
|
|
@@ -347,6 +691,9 @@ export function AutoMountedDialog({
|
|
|
347
691
|
* @keyframes bloomDialogZoomFadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
|
|
348
692
|
* @keyframes bloomDialogZoomFadeOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.95); } }
|
|
349
693
|
* ```
|
|
694
|
+
*
|
|
695
|
+
* The `left`/`right`/`bottom` placements do NOT depend on this — they animate
|
|
696
|
+
* via self-contained inline CSS transitions and need no keyframe injection.
|
|
350
697
|
*/
|
|
351
698
|
export const BLOOM_DIALOG_CSS = `
|
|
352
699
|
@keyframes bloomDialogFadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","Pressable","Text","TouchableOpacity","View","RemoveScrollBar","Portal","createOverlayZIndex","useTheme","Context","useDialogContext","useDialogControl","jsx","_jsx","jsxs","_jsxs","FADE_OUT_DURATION","dialogZIndex","stopPropagation","e","ClosingContext","Dialog","control","onClose","testID","title","description","actions","style","label","children","isOpen","setIsOpen","isClosing","setIsClosing","closeCallbacksRef","open","close","cb","current","push","timer","setTimeout","queued","console","error","clearTimeout","document","handler","key","addEventListener","removeEventListener","ref","context","isWithinDialog","Provider","value","onPress","position","top","left","right","bottom","zIndex","backdrop","alignItems","justifyContent","paddingHorizontal","pointerEvents","DialogBackdrop","DialogPanel","theme","titleId","descriptionId","role","undefined","onStartShouldSetResponder","onResponderRelease","onClick","borderRadius","width","maxWidth","backgroundColor","colors","background","borderWidth","borderColor","isDark","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","padding","surface","animation","nativeID","fontSize","fontWeight","color","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","gap","map","action","idx","ActionButton","shouldCloseOnPress","foreground","getActionPalette","handlePress","opacity","disabled","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive","AutoMountedDialog","onResolve","BLOOM_DIALOG_CSS"],"sourceRoot":"../../../src","sources":["dialog/Dialog.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","Pressable","Text","TouchableOpacity","useWindowDimensions","View","RemoveScrollBar","Portal","createOverlayZIndex","useTheme","Context","useDialogContext","useDialogControl","ANIMATION_DURATION","CENTER_FADE_OUT_DURATION","DEFAULT_CENTER_MAX_WIDTH","DEFAULT_MAX_HEIGHT_RATIO","DEFAULT_SIDE_WIDTH","DIALOG_SHEET_BACKDROP_TESTID","EASE_OUT","HANDLE_HEIGHT","HANDLE_RADIUS","HANDLE_WIDTH","PANEL_RADIUS","SHEET_BACKDROP_OPACITY","SIDE_SHEET_MIN_GUTTER","useResolvedPlacement","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FADE_OUT_DURATION","dialogZIndex","stopPropagation","e","ClosingContext","Dialog","control","open","controlledOpen","onClose","testID","title","description","actions","placement","width","maxWidth","maxHeightRatio","inset","showHandle","dismissOnBackdrop","style","panelStyle","panelClassName","containerStyle","containerClassName","label","children","isControlled","undefined","resolvedPlacement","isOpen","setIsOpen","isClosing","setIsClosing","closeCallbacksRef","isControlledRef","current","close","cb","push","onCloseRef","exitDuration","timer","setTimeout","queued","console","error","clearTimeout","document","handler","key","addEventListener","removeEventListener","ref","context","isWithinDialog","Provider","value","onPress","disabled","position","top","left","right","bottom","zIndex","backdrop","alignItems","justifyContent","paddingHorizontal","pointerEvents","DialogBackdrop","DialogPanel","SheetSurface","shown","onDismiss","DialogBody","titleId","descriptionId","theme","nativeID","fontSize","fontWeight","color","colors","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","role","onStartShouldSetResponder","onResponderRelease","onClick","borderRadius","backgroundColor","background","borderWidth","borderColor","isDark","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","padding","surface","animation","viewportWidth","viewportHeight","frameRef","entered","setEntered","scheduleFrame","cancelFrame","visible","isBottom","panelTransition","transitionProperty","transitionDuration","transitionTimingFunction","backdropTransition","panelGeometry","maxHeight","Math","round","borderTopLeftRadius","borderTopRightRadius","transform","translateY","opacity","insetTop","insetBottom","insetLeft","insetRight","anchorInset","oppositeInset","available","cappedWidth","max","min","hiddenSign","translateX","handleBackdropPress","sheetStyles","root","className","accessibilityRole","accessibilityLabel","accessibilityViewIsModal","panel","shadow","handleRow","handle","border","body","requestAnimationFrame","raf","token","cancelAnimationFrame","gap","map","action","idx","ActionButton","shouldCloseOnPress","foreground","getActionPalette","handlePress","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive","AutoMountedDialog","onResolve","overflow","paddingTop","BLOOM_DIALOG_CSS"],"sourceRoot":"../../../src","sources":["dialog/Dialog.web.tsx"],"mappings":"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","ignoreList":[]}
|