@oxyhq/bloom 0.14.0 → 0.16.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/alert-dialog/AlertDialog.js +35 -27
- package/lib/commonjs/alert-dialog/AlertDialog.js.map +1 -1
- package/lib/commonjs/alert-dialog/index.js +1 -1
- package/lib/commonjs/alert-dialog/index.js.map +1 -1
- package/lib/commonjs/alert-dialog/index.web.js +1 -1
- package/lib/commonjs/alert-dialog/index.web.js.map +1 -1
- package/lib/commonjs/command/Command.js +27 -16
- package/lib/commonjs/command/Command.js.map +1 -1
- package/lib/commonjs/command/index.js +1 -1
- package/lib/commonjs/command/index.js.map +1 -1
- package/lib/commonjs/command/index.web.js +1 -1
- package/lib/commonjs/command/index.web.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.js +336 -43
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +420 -66
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/index.js +2 -9
- package/lib/commonjs/dialog/index.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js +2 -15
- 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 -29
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +13 -35
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/module/alert-dialog/AlertDialog.js +35 -27
- package/lib/module/alert-dialog/AlertDialog.js.map +1 -1
- package/lib/module/alert-dialog/index.js +2 -2
- package/lib/module/alert-dialog/index.js.map +1 -1
- package/lib/module/alert-dialog/index.web.js +2 -2
- package/lib/module/alert-dialog/index.web.js.map +1 -1
- package/lib/module/command/Command.js +27 -16
- package/lib/module/command/Command.js.map +1 -1
- package/lib/module/command/index.js +2 -2
- package/lib/module/command/index.js.map +1 -1
- package/lib/module/command/index.web.js +2 -2
- package/lib/module/command/index.web.js.map +1 -1
- package/lib/module/dialog/Dialog.js +335 -46
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +418 -68
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/index.js +1 -2
- package/lib/module/dialog/index.js.map +1 -1
- package/lib/module/dialog/index.web.js +1 -2
- 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 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -3
- package/lib/module/index.web.js.map +1 -1
- package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts +13 -12
- package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/alert-dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/alert-dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/command/Command.d.ts +8 -8
- package/lib/typescript/commonjs/command/Command.d.ts.map +1 -1
- package/lib/typescript/commonjs/command/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/command/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.d.ts +17 -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/index.d.ts +2 -4
- package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -4
- 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 -4
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -4
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/module/alert-dialog/AlertDialog.d.ts +13 -12
- package/lib/typescript/module/alert-dialog/AlertDialog.d.ts.map +1 -1
- package/lib/typescript/module/alert-dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/alert-dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/command/Command.d.ts +8 -8
- package/lib/typescript/module/command/Command.d.ts.map +1 -1
- package/lib/typescript/module/command/index.d.ts.map +1 -1
- package/lib/typescript/module/command/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.d.ts +17 -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/index.d.ts +2 -4
- package/lib/typescript/module/dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +2 -4
- 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 -4
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -4
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/package.json +1 -18
- package/src/__tests__/AlertDialog.test.tsx +122 -0
- package/src/__tests__/Command.test.tsx +107 -0
- package/src/__tests__/DialogPlacement.test.tsx +144 -0
- package/src/alert-dialog/AlertDialog.tsx +46 -36
- package/src/alert-dialog/index.ts +2 -2
- package/src/alert-dialog/index.web.ts +2 -2
- package/src/command/Command.tsx +30 -19
- package/src/command/index.ts +2 -2
- package/src/command/index.web.ts +2 -2
- package/src/dialog/Dialog.tsx +406 -50
- package/src/dialog/Dialog.web.tsx +496 -78
- package/src/dialog/index.ts +4 -3
- package/src/dialog/index.web.ts +4 -7
- package/src/dialog/placement.ts +113 -0
- package/src/dialog/types.ts +69 -3
- package/src/index.ts +4 -11
- package/src/index.web.ts +4 -11
- package/lib/commonjs/dialog/CenteredDialog.js +0 -250
- package/lib/commonjs/dialog/CenteredDialog.js.map +0 -1
- package/lib/commonjs/dialog/CenteredDialog.web.js +0 -328
- package/lib/commonjs/dialog/CenteredDialog.web.js.map +0 -1
- package/lib/commonjs/dialog/centered-dialog-tokens.js +0 -62
- package/lib/commonjs/dialog/centered-dialog-tokens.js.map +0 -1
- package/lib/commonjs/dialog/centered-dialog-types.js +0 -6
- package/lib/commonjs/dialog/centered-dialog-types.js.map +0 -1
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js +0 -300
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +0 -1
- 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/commonjs/responsive-sheet/index.js +0 -19
- package/lib/commonjs/responsive-sheet/index.js.map +0 -1
- package/lib/commonjs/responsive-sheet/index.web.js +0 -19
- package/lib/commonjs/responsive-sheet/index.web.js.map +0 -1
- package/lib/commonjs/responsive-sheet/types.js +0 -6
- package/lib/commonjs/responsive-sheet/types.js.map +0 -1
- package/lib/module/dialog/CenteredDialog.js +0 -244
- package/lib/module/dialog/CenteredDialog.js.map +0 -1
- package/lib/module/dialog/CenteredDialog.web.js +0 -322
- package/lib/module/dialog/CenteredDialog.web.js.map +0 -1
- package/lib/module/dialog/centered-dialog-tokens.js +0 -58
- package/lib/module/dialog/centered-dialog-tokens.js.map +0 -1
- package/lib/module/dialog/centered-dialog-types.js +0 -4
- package/lib/module/dialog/centered-dialog-types.js.map +0 -1
- package/lib/module/responsive-sheet/ResponsiveSheet.js +0 -293
- package/lib/module/responsive-sheet/ResponsiveSheet.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/module/responsive-sheet/index.js +0 -4
- package/lib/module/responsive-sheet/index.js.map +0 -1
- package/lib/module/responsive-sheet/index.web.js +0 -14
- package/lib/module/responsive-sheet/index.web.js.map +0 -1
- package/lib/module/responsive-sheet/types.js +0 -4
- package/lib/module/responsive-sheet/types.js.map +0 -1
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts +0 -20
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts.map +0 -1
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts +0 -29
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/dialog/centered-dialog-tokens.d.ts +0 -47
- package/lib/typescript/commonjs/dialog/centered-dialog-tokens.d.ts.map +0 -1
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts +0 -70
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +0 -26
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.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/commonjs/responsive-sheet/index.d.ts +0 -3
- package/lib/typescript/commonjs/responsive-sheet/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts +0 -3
- package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts +0 -55
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +0 -1
- package/lib/typescript/module/dialog/CenteredDialog.d.ts +0 -20
- package/lib/typescript/module/dialog/CenteredDialog.d.ts.map +0 -1
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts +0 -29
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts.map +0 -1
- package/lib/typescript/module/dialog/centered-dialog-tokens.d.ts +0 -47
- package/lib/typescript/module/dialog/centered-dialog-tokens.d.ts.map +0 -1
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts +0 -70
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +0 -26
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.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/lib/typescript/module/responsive-sheet/index.d.ts +0 -3
- package/lib/typescript/module/responsive-sheet/index.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/index.web.d.ts +0 -3
- package/lib/typescript/module/responsive-sheet/index.web.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/types.d.ts +0 -55
- package/lib/typescript/module/responsive-sheet/types.d.ts.map +0 -1
- package/src/__tests__/CenteredDialog.test.tsx +0 -108
- package/src/__tests__/ResponsiveSheet.test.tsx +0 -104
- package/src/dialog/CenteredDialog.stories.tsx +0 -125
- package/src/dialog/CenteredDialog.tsx +0 -303
- package/src/dialog/CenteredDialog.web.tsx +0 -372
- package/src/dialog/centered-dialog-tokens.ts +0 -68
- package/src/dialog/centered-dialog-types.ts +0 -70
- package/src/responsive-sheet/ResponsiveSheet.native.tsx +0 -257
- package/src/responsive-sheet/ResponsiveSheet.stories.tsx +0 -54
- package/src/responsive-sheet/ResponsiveSheet.tsx +0 -327
- package/src/responsive-sheet/const.ts +0 -53
- package/src/responsive-sheet/index.ts +0 -6
- package/src/responsive-sheet/index.web.ts +0 -16
- package/src/responsive-sheet/types.ts +0 -57
|
@@ -1,49 +1,80 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef } from 'react';
|
|
4
|
-
import { Text, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
import React, { useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { Pressable, StyleSheet, Text, TouchableOpacity, useWindowDimensions, View } from 'react-native';
|
|
5
|
+
import Animated, { cancelAnimation, Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
5
6
|
import { BottomSheet } from "../bottom-sheet/index.js";
|
|
7
|
+
import { Z_INDEX } from "../styles/z-index.js";
|
|
6
8
|
import { useTheme } from "../theme/use-theme.js";
|
|
7
9
|
import { Context, useDialogContext, useDialogControl } from "./context.js";
|
|
8
|
-
import {
|
|
10
|
+
import { ANIMATION_DURATION, DEFAULT_MAX_HEIGHT_RATIO, DEFAULT_SIDE_WIDTH, DIALOG_SHEET_BACKDROP_TESTID, PANEL_RADIUS, SHEET_BACKDROP_OPACITY, SIDE_SHEET_MIN_GUTTER, useResolvedPlacement } from "./placement.js";
|
|
11
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
export { DIALOG_SHEET_BACKDROP_TESTID };
|
|
13
|
+
|
|
9
14
|
/**
|
|
10
15
|
* Native variant of `<Dialog>`.
|
|
11
16
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* gracefully degrades from sheet (phone) to centered card (tablet, via the
|
|
15
|
-
* 500px max-width cap).
|
|
17
|
+
* Open/close is driven by EITHER the imperative `control` (legacy) OR the
|
|
18
|
+
* controlled `open` prop. When `open` is provided it wins.
|
|
16
19
|
*
|
|
17
|
-
*
|
|
20
|
+
* `placement` selects the surface:
|
|
18
21
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
* - `'center'` (default) / `'bottom'` — bloom's `BottomSheet` (`detached`
|
|
23
|
+
* for center: a floating, content-hugging card that degrades from sheet to
|
|
24
|
+
* centered card via the 500px cap; flush for bottom: a full-width sheet
|
|
25
|
+
* with a drag handle). Default behavior is unchanged.
|
|
26
|
+
* - `'left'` / `'right'` — an anchored side-sheet/drawer driven by
|
|
27
|
+
* reanimated. Exit animations are safe on native.
|
|
28
|
+
*
|
|
29
|
+
* The component accepts three rendering modes simultaneously:
|
|
25
30
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
31
|
+
* 1. Declarative — `title`, `description`, `actions`.
|
|
32
|
+
* 2. Custom children — caller passes JSX, bloom renders the chrome.
|
|
33
|
+
* 3. Pure children — no `title`/`description`/`actions`.
|
|
29
34
|
*/
|
|
30
35
|
export function Dialog({
|
|
31
36
|
control,
|
|
37
|
+
open: controlledOpen,
|
|
32
38
|
onClose,
|
|
33
39
|
testID,
|
|
34
40
|
title,
|
|
35
41
|
description,
|
|
36
42
|
actions,
|
|
43
|
+
placement,
|
|
44
|
+
width = DEFAULT_SIDE_WIDTH,
|
|
45
|
+
maxHeightRatio = DEFAULT_MAX_HEIGHT_RATIO,
|
|
46
|
+
inset,
|
|
47
|
+
showHandle = true,
|
|
48
|
+
dismissOnBackdrop = true,
|
|
37
49
|
style,
|
|
50
|
+
panelStyle,
|
|
51
|
+
panelClassName,
|
|
52
|
+
containerStyle,
|
|
53
|
+
containerClassName,
|
|
38
54
|
label,
|
|
39
55
|
children
|
|
40
56
|
}) {
|
|
57
|
+
const isControlled = controlledOpen !== undefined;
|
|
58
|
+
const resolvedPlacement = useResolvedPlacement(placement);
|
|
59
|
+
const isSide = resolvedPlacement === 'left' || resolvedPlacement === 'right';
|
|
60
|
+
|
|
61
|
+
// Imperative open state for the side placement (the BottomSheet path owns its
|
|
62
|
+
// own visibility via its ref instead).
|
|
63
|
+
const [sideOpen, setSideOpen] = useState(false);
|
|
41
64
|
const theme = useTheme();
|
|
42
65
|
const ref = useRef(null);
|
|
43
66
|
const closeCallbacks = useRef([]);
|
|
44
67
|
const titleId = useId();
|
|
45
68
|
const descriptionId = useId();
|
|
46
69
|
|
|
70
|
+
// Read the latest controlled flag / `onClose` inside stable callbacks
|
|
71
|
+
// without re-binding them (the context + imperative handle depend on `close`
|
|
72
|
+
// staying referentially stable).
|
|
73
|
+
const isControlledRef = useRef(isControlled);
|
|
74
|
+
isControlledRef.current = isControlled;
|
|
75
|
+
const onCloseRef = useRef(onClose);
|
|
76
|
+
onCloseRef.current = onClose;
|
|
77
|
+
|
|
47
78
|
// Drain queued close callbacks atomically — capturing the list and
|
|
48
79
|
// resetting it before invocation ensures a callback that synchronously
|
|
49
80
|
// re-opens the dialog (and queues fresh callbacks) does not see the old
|
|
@@ -62,19 +93,49 @@ export function Dialog({
|
|
|
62
93
|
}
|
|
63
94
|
}, []);
|
|
64
95
|
const open = useCallback(() => {
|
|
96
|
+
setSideOpen(true);
|
|
65
97
|
ref.current?.present();
|
|
66
98
|
}, []);
|
|
99
|
+
|
|
100
|
+
// A dismissal request (backdrop, pan-to-close, action button). In controlled
|
|
101
|
+
// mode it asks the host to close via `onClose` (the host flips `open`); in
|
|
102
|
+
// imperative mode it dismisses the surface directly. The optional callback
|
|
103
|
+
// runs once the dialog has finished closing.
|
|
67
104
|
const close = useCallback(cb => {
|
|
68
105
|
if (typeof cb === 'function') {
|
|
69
106
|
closeCallbacks.current.push(cb);
|
|
70
107
|
}
|
|
108
|
+
if (isControlledRef.current) {
|
|
109
|
+
onCloseRef.current?.();
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
setSideOpen(false);
|
|
71
113
|
ref.current?.dismiss();
|
|
72
114
|
}, []);
|
|
115
|
+
|
|
116
|
+
// Fired when the underlying surface has finished closing. Drains queued
|
|
117
|
+
// callbacks, then fires `onClose` ONLY in imperative mode — controlled mode
|
|
118
|
+
// already requested the close through `onClose` (the host then flipped
|
|
119
|
+
// `open`), so firing it again here would double-call it.
|
|
73
120
|
const handleDismiss = useCallback(() => {
|
|
74
121
|
callQueuedCallbacks();
|
|
75
|
-
|
|
76
|
-
}, [callQueuedCallbacks
|
|
77
|
-
|
|
122
|
+
if (!isControlledRef.current) onCloseRef.current?.();
|
|
123
|
+
}, [callQueuedCallbacks]);
|
|
124
|
+
|
|
125
|
+
// In controlled mode, mirror the `open` prop onto the underlying surface so
|
|
126
|
+
// both modes share one lifecycle. The BottomSheet path presents/dismisses by
|
|
127
|
+
// ref; the side path flips `sideOpen`.
|
|
128
|
+
useEffect(() => {
|
|
129
|
+
if (!isControlled) return;
|
|
130
|
+
if (controlledOpen) {
|
|
131
|
+
setSideOpen(true);
|
|
132
|
+
ref.current?.present();
|
|
133
|
+
} else {
|
|
134
|
+
setSideOpen(false);
|
|
135
|
+
ref.current?.dismiss();
|
|
136
|
+
}
|
|
137
|
+
}, [isControlled, controlledOpen]);
|
|
138
|
+
useImperativeHandle(control?.ref, () => ({
|
|
78
139
|
open,
|
|
79
140
|
close
|
|
80
141
|
}), [open, close]);
|
|
@@ -90,23 +151,61 @@ export function Dialog({
|
|
|
90
151
|
// floating and rounded uniformly.
|
|
91
152
|
borderRadius: 20
|
|
92
153
|
}), [theme.colors.background]);
|
|
154
|
+
const bodyNode = /*#__PURE__*/_jsx(DialogBody, {
|
|
155
|
+
titleId: titleId,
|
|
156
|
+
descriptionId: descriptionId,
|
|
157
|
+
title: title,
|
|
158
|
+
description: description,
|
|
159
|
+
actions: actions,
|
|
160
|
+
children: children
|
|
161
|
+
});
|
|
162
|
+
if (isSide) {
|
|
163
|
+
return /*#__PURE__*/_jsx(Context.Provider, {
|
|
164
|
+
value: context,
|
|
165
|
+
children: /*#__PURE__*/_jsx(SideSheet, {
|
|
166
|
+
open: sideOpen,
|
|
167
|
+
onDismiss: handleDismiss,
|
|
168
|
+
side: resolvedPlacement,
|
|
169
|
+
width: width,
|
|
170
|
+
inset: inset,
|
|
171
|
+
dismissOnBackdrop: dismissOnBackdrop,
|
|
172
|
+
testID: testID,
|
|
173
|
+
label: label,
|
|
174
|
+
title: title,
|
|
175
|
+
description: description,
|
|
176
|
+
titleId: titleId,
|
|
177
|
+
descriptionId: descriptionId,
|
|
178
|
+
panelStyle: panelStyle,
|
|
179
|
+
panelClassName: panelClassName,
|
|
180
|
+
containerStyle: containerStyle,
|
|
181
|
+
containerClassName: containerClassName,
|
|
182
|
+
style: style,
|
|
183
|
+
children: bodyNode
|
|
184
|
+
})
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
const isBottom = resolvedPlacement === 'bottom';
|
|
93
188
|
return /*#__PURE__*/_jsx(BottomSheet, {
|
|
94
189
|
ref: ref,
|
|
95
190
|
onDismiss: handleDismiss,
|
|
96
191
|
enablePanDownToClose: true,
|
|
97
|
-
detached:
|
|
192
|
+
detached: !isBottom,
|
|
193
|
+
showHandle: isBottom ? showHandle : true
|
|
98
194
|
// Stronger dim when a Dialog is stacked over another sheet so the
|
|
99
195
|
// underlying sheet's handle/content doesn't bleed through.
|
|
100
196
|
,
|
|
101
197
|
backdropOpacity: 0.7,
|
|
102
|
-
style: sheetStyle,
|
|
198
|
+
style: isBottom ? bottomSheetStyle(theme.colors.background, maxHeightRatio) : sheetStyle,
|
|
103
199
|
children: /*#__PURE__*/_jsx(Context.Provider, {
|
|
104
200
|
value: context,
|
|
105
|
-
children: /*#__PURE__*/
|
|
201
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
106
202
|
testID: testID,
|
|
107
203
|
accessibilityLabel: label,
|
|
108
204
|
"aria-labelledby": title ? titleId : undefined,
|
|
109
205
|
"aria-describedby": description ? descriptionId : undefined,
|
|
206
|
+
...(panelClassName ? {
|
|
207
|
+
className: panelClassName
|
|
208
|
+
} : {}),
|
|
110
209
|
style: [
|
|
111
210
|
// Detached BottomSheet already adds `marginBottom: insets.bottom + 16`
|
|
112
211
|
// to the sheet container — the floating card sits ABOVE the
|
|
@@ -117,33 +216,199 @@ export function Dialog({
|
|
|
117
216
|
paddingBottom: 20
|
|
118
217
|
}, {
|
|
119
218
|
backgroundColor: theme.colors.background
|
|
120
|
-
}, style],
|
|
121
|
-
children:
|
|
122
|
-
nativeID: titleId,
|
|
123
|
-
style: {
|
|
124
|
-
fontSize: 22,
|
|
125
|
-
fontWeight: '600',
|
|
126
|
-
color: theme.colors.text,
|
|
127
|
-
paddingBottom: description ? 4 : 16,
|
|
128
|
-
lineHeight: 30
|
|
129
|
-
},
|
|
130
|
-
children: title
|
|
131
|
-
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
132
|
-
nativeID: descriptionId,
|
|
133
|
-
style: {
|
|
134
|
-
fontSize: 16,
|
|
135
|
-
color: theme.colors.textSecondary,
|
|
136
|
-
paddingBottom: 16,
|
|
137
|
-
lineHeight: 22
|
|
138
|
-
},
|
|
139
|
-
children: description
|
|
140
|
-
}) : null, children, actions && actions.length > 0 ? /*#__PURE__*/_jsx(ActionRow, {
|
|
141
|
-
actions: actions
|
|
142
|
-
}) : null]
|
|
219
|
+
}, style, panelStyle],
|
|
220
|
+
children: bodyNode
|
|
143
221
|
})
|
|
144
222
|
})
|
|
145
223
|
});
|
|
146
224
|
}
|
|
225
|
+
function bottomSheetStyle(background, maxHeightRatio) {
|
|
226
|
+
return {
|
|
227
|
+
backgroundColor: background,
|
|
228
|
+
borderTopLeftRadius: PANEL_RADIUS + 4,
|
|
229
|
+
borderTopRightRadius: PANEL_RADIUS + 4,
|
|
230
|
+
maxHeight: `${Math.round(maxHeightRatio * 100)}%`
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Renders the dialog's body: optional declarative title + description, any
|
|
236
|
+
* `children`, then the action row. Shared by all placements. The
|
|
237
|
+
* `titleId`/`descriptionId` are wired by the caller for accessibility.
|
|
238
|
+
*/
|
|
239
|
+
function DialogBody({
|
|
240
|
+
titleId,
|
|
241
|
+
descriptionId,
|
|
242
|
+
title,
|
|
243
|
+
description,
|
|
244
|
+
actions,
|
|
245
|
+
children
|
|
246
|
+
}) {
|
|
247
|
+
const theme = useTheme();
|
|
248
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
249
|
+
children: [title ? /*#__PURE__*/_jsx(Text, {
|
|
250
|
+
nativeID: titleId,
|
|
251
|
+
style: {
|
|
252
|
+
fontSize: 22,
|
|
253
|
+
fontWeight: '600',
|
|
254
|
+
color: theme.colors.text,
|
|
255
|
+
paddingBottom: description ? 4 : 16,
|
|
256
|
+
lineHeight: 30
|
|
257
|
+
},
|
|
258
|
+
children: title
|
|
259
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
260
|
+
nativeID: descriptionId,
|
|
261
|
+
style: {
|
|
262
|
+
fontSize: 16,
|
|
263
|
+
color: theme.colors.textSecondary,
|
|
264
|
+
paddingBottom: 16,
|
|
265
|
+
lineHeight: 22
|
|
266
|
+
},
|
|
267
|
+
children: description
|
|
268
|
+
}) : null, children, actions && actions.length > 0 ? /*#__PURE__*/_jsx(ActionRow, {
|
|
269
|
+
actions: actions
|
|
270
|
+
}) : null]
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Reanimated side-sheet/drawer for the `left`/`right` placements (native).
|
|
276
|
+
*
|
|
277
|
+
* A shared `progress` value times 0 -> 1 on open and 1 -> 0 on close, mapped to
|
|
278
|
+
* the panel translateX and the backdrop opacity. The node stays mounted through
|
|
279
|
+
* the close timing and unmounts from the animation completion callback. Native
|
|
280
|
+
* exit animations are safe (the web `removeChild` crash does not apply).
|
|
281
|
+
*/
|
|
282
|
+
function SideSheet({
|
|
283
|
+
open,
|
|
284
|
+
onDismiss,
|
|
285
|
+
side,
|
|
286
|
+
width,
|
|
287
|
+
inset,
|
|
288
|
+
dismissOnBackdrop,
|
|
289
|
+
testID,
|
|
290
|
+
label,
|
|
291
|
+
title,
|
|
292
|
+
description,
|
|
293
|
+
titleId,
|
|
294
|
+
descriptionId,
|
|
295
|
+
panelStyle,
|
|
296
|
+
panelClassName,
|
|
297
|
+
containerStyle,
|
|
298
|
+
containerClassName,
|
|
299
|
+
style,
|
|
300
|
+
children
|
|
301
|
+
}) {
|
|
302
|
+
const theme = useTheme();
|
|
303
|
+
const {
|
|
304
|
+
width: viewportWidth
|
|
305
|
+
} = useWindowDimensions();
|
|
306
|
+
const [mounted, setMounted] = useState(open);
|
|
307
|
+
const progress = useSharedValue(open ? 1 : 0);
|
|
308
|
+
const insetTop = inset?.top ?? 0;
|
|
309
|
+
const insetBottom = inset?.bottom ?? 0;
|
|
310
|
+
const insetLeft = inset?.left ?? 0;
|
|
311
|
+
const insetRight = inset?.right ?? 0;
|
|
312
|
+
const anchorInset = side === 'left' ? insetLeft : insetRight;
|
|
313
|
+
const oppositeInset = side === 'left' ? insetRight : insetLeft;
|
|
314
|
+
const sideWidth = useMemo(() => {
|
|
315
|
+
const available = viewportWidth - anchorInset - oppositeInset - SIDE_SHEET_MIN_GUTTER;
|
|
316
|
+
return Math.max(0, Math.min(width, available));
|
|
317
|
+
}, [viewportWidth, anchorInset, oppositeInset, width]);
|
|
318
|
+
|
|
319
|
+
// Travel distance for the hidden state: the panel's measured width, with the
|
|
320
|
+
// geometry target as the pre-measurement fallback.
|
|
321
|
+
const travel = useSharedValue(sideWidth);
|
|
322
|
+
useEffect(() => {
|
|
323
|
+
travel.value = sideWidth;
|
|
324
|
+
}, [sideWidth, travel]);
|
|
325
|
+
const finishClose = useCallback(() => {
|
|
326
|
+
setMounted(false);
|
|
327
|
+
onDismiss();
|
|
328
|
+
}, [onDismiss]);
|
|
329
|
+
useEffect(() => {
|
|
330
|
+
cancelAnimation(progress);
|
|
331
|
+
const timing = {
|
|
332
|
+
duration: ANIMATION_DURATION,
|
|
333
|
+
easing: Easing.out(Easing.cubic)
|
|
334
|
+
};
|
|
335
|
+
if (open) {
|
|
336
|
+
setMounted(true);
|
|
337
|
+
progress.value = withTiming(1, timing);
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
if (!mounted) return;
|
|
341
|
+
progress.value = withTiming(0, timing, finished => {
|
|
342
|
+
if (finished) runOnJS(finishClose)();
|
|
343
|
+
});
|
|
344
|
+
}, [open, mounted, progress, finishClose]);
|
|
345
|
+
const handleBackdropPress = useCallback(() => {
|
|
346
|
+
if (dismissOnBackdrop) onDismiss();
|
|
347
|
+
}, [dismissOnBackdrop, onDismiss]);
|
|
348
|
+
const backdropAnimatedStyle = useAnimatedStyle(() => ({
|
|
349
|
+
opacity: progress.value * SHEET_BACKDROP_OPACITY
|
|
350
|
+
}));
|
|
351
|
+
const hiddenSign = side === 'left' ? -1 : 1;
|
|
352
|
+
const panelAnimatedStyle = useAnimatedStyle(() => {
|
|
353
|
+
const hidden = 1 - progress.value;
|
|
354
|
+
return {
|
|
355
|
+
opacity: progress.value,
|
|
356
|
+
transform: [{
|
|
357
|
+
translateX: hidden * travel.value * hiddenSign
|
|
358
|
+
}]
|
|
359
|
+
};
|
|
360
|
+
}, [hiddenSign]);
|
|
361
|
+
const measurePanel = useCallback(e => {
|
|
362
|
+
const measured = e.nativeEvent.layout.width;
|
|
363
|
+
if (measured > 0) travel.value = measured;
|
|
364
|
+
}, [travel]);
|
|
365
|
+
const panelGeometry = useMemo(() => ({
|
|
366
|
+
top: insetTop,
|
|
367
|
+
bottom: insetBottom,
|
|
368
|
+
[side]: anchorInset,
|
|
369
|
+
width: sideWidth,
|
|
370
|
+
borderRadius: PANEL_RADIUS
|
|
371
|
+
}), [insetTop, insetBottom, side, anchorInset, sideWidth]);
|
|
372
|
+
if (!mounted) return null;
|
|
373
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
374
|
+
style: [sideStyles.root, containerStyle],
|
|
375
|
+
...(containerClassName ? {
|
|
376
|
+
className: containerClassName
|
|
377
|
+
} : {}),
|
|
378
|
+
pointerEvents: "box-none",
|
|
379
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
380
|
+
style: [sideStyles.backdrop, backdropAnimatedStyle],
|
|
381
|
+
pointerEvents: "auto",
|
|
382
|
+
children: /*#__PURE__*/_jsx(Pressable, {
|
|
383
|
+
testID: testID ? `${testID}-backdrop` : DIALOG_SHEET_BACKDROP_TESTID,
|
|
384
|
+
accessibilityRole: "button",
|
|
385
|
+
accessibilityLabel: label ? `Dismiss ${label}` : 'Dismiss dialog',
|
|
386
|
+
onPress: handleBackdropPress,
|
|
387
|
+
disabled: !dismissOnBackdrop,
|
|
388
|
+
style: StyleSheet.absoluteFill
|
|
389
|
+
})
|
|
390
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
391
|
+
accessibilityViewIsModal: true,
|
|
392
|
+
accessibilityLabel: label,
|
|
393
|
+
"aria-labelledby": title ? titleId : undefined,
|
|
394
|
+
"aria-describedby": description ? descriptionId : undefined,
|
|
395
|
+
testID: testID,
|
|
396
|
+
onLayout: measurePanel,
|
|
397
|
+
...(panelClassName ? {
|
|
398
|
+
className: panelClassName
|
|
399
|
+
} : {}),
|
|
400
|
+
style: [sideStyles.panel, {
|
|
401
|
+
backgroundColor: theme.colors.background,
|
|
402
|
+
shadowColor: theme.colors.shadow
|
|
403
|
+
}, panelGeometry, panelAnimatedStyle, panelStyle, style],
|
|
404
|
+
pointerEvents: "auto",
|
|
405
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
406
|
+
style: sideStyles.body,
|
|
407
|
+
children: children
|
|
408
|
+
})
|
|
409
|
+
})]
|
|
410
|
+
});
|
|
411
|
+
}
|
|
147
412
|
function ActionRow({
|
|
148
413
|
actions
|
|
149
414
|
}) {
|
|
@@ -236,6 +501,30 @@ function getActionPalette(color, colors) {
|
|
|
236
501
|
}
|
|
237
502
|
}
|
|
238
503
|
}
|
|
504
|
+
const sideStyles = StyleSheet.create({
|
|
505
|
+
root: {
|
|
506
|
+
...StyleSheet.absoluteFill,
|
|
507
|
+
zIndex: Z_INDEX.fullscreen
|
|
508
|
+
},
|
|
509
|
+
backdrop: {
|
|
510
|
+
...StyleSheet.absoluteFill,
|
|
511
|
+
backgroundColor: '#000'
|
|
512
|
+
},
|
|
513
|
+
panel: {
|
|
514
|
+
position: 'absolute',
|
|
515
|
+
overflow: 'hidden',
|
|
516
|
+
shadowOpacity: 0.18,
|
|
517
|
+
shadowRadius: 24,
|
|
518
|
+
shadowOffset: {
|
|
519
|
+
width: 0,
|
|
520
|
+
height: 8
|
|
521
|
+
},
|
|
522
|
+
elevation: 12
|
|
523
|
+
},
|
|
524
|
+
body: {
|
|
525
|
+
padding: 20
|
|
526
|
+
}
|
|
527
|
+
});
|
|
239
528
|
|
|
240
529
|
/**
|
|
241
530
|
* Helper used by the imperative `alert()` API. Mounts a `<Dialog>` against
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useId","useImperativeHandle","useMemo","useRef","Text","TouchableOpacity","View","BottomSheet","useTheme","Context","useDialogContext","useDialogControl","jsx","_jsx","jsxs","_jsxs","Dialog","control","onClose","testID","title","description","actions","style","label","children","theme","ref","closeCallbacks","titleId","descriptionId","callQueuedCallbacks","queued","current","cb","e","console","error","open","present","close","push","dismiss","handleDismiss","context","isWithinDialog","sheetStyle","maxWidth","backgroundColor","colors","background","borderRadius","onDismiss","enablePanDownToClose","detached","backdropOpacity","Provider","value","accessibilityLabel","undefined","paddingTop","paddingHorizontal","paddingBottom","nativeID","fontSize","fontWeight","color","text","lineHeight","textSecondary","length","ActionRow","width","gap","justifyContent","map","action","idx","ActionButton","shouldCloseOnPress","foreground","getActionPalette","handlePress","onPress","alignItems","opacity","disabled","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive","AutoMountedDialog","onResolve"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","Pressable","StyleSheet","Text","TouchableOpacity","useWindowDimensions","View","Animated","cancelAnimation","Easing","runOnJS","useAnimatedStyle","useSharedValue","withTiming","BottomSheet","Z_INDEX","useTheme","Context","useDialogContext","useDialogControl","ANIMATION_DURATION","DEFAULT_MAX_HEIGHT_RATIO","DEFAULT_SIDE_WIDTH","DIALOG_SHEET_BACKDROP_TESTID","PANEL_RADIUS","SHEET_BACKDROP_OPACITY","SIDE_SHEET_MIN_GUTTER","useResolvedPlacement","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Dialog","control","open","controlledOpen","onClose","testID","title","description","actions","placement","width","maxHeightRatio","inset","showHandle","dismissOnBackdrop","style","panelStyle","panelClassName","containerStyle","containerClassName","label","children","isControlled","undefined","resolvedPlacement","isSide","sideOpen","setSideOpen","theme","ref","closeCallbacks","titleId","descriptionId","isControlledRef","current","onCloseRef","callQueuedCallbacks","queued","cb","e","console","error","present","close","push","dismiss","handleDismiss","context","isWithinDialog","sheetStyle","maxWidth","backgroundColor","colors","background","borderRadius","bodyNode","DialogBody","Provider","value","SideSheet","onDismiss","side","isBottom","enablePanDownToClose","detached","backdropOpacity","bottomSheetStyle","accessibilityLabel","className","paddingTop","paddingHorizontal","paddingBottom","borderTopLeftRadius","borderTopRightRadius","maxHeight","Math","round","nativeID","fontSize","fontWeight","color","text","lineHeight","textSecondary","length","ActionRow","viewportWidth","mounted","setMounted","progress","insetTop","top","insetBottom","bottom","insetLeft","left","insetRight","right","anchorInset","oppositeInset","sideWidth","available","max","min","travel","finishClose","timing","duration","easing","out","cubic","finished","handleBackdropPress","backdropAnimatedStyle","opacity","hiddenSign","panelAnimatedStyle","hidden","transform","translateX","measurePanel","measured","nativeEvent","layout","panelGeometry","sideStyles","root","pointerEvents","backdrop","accessibilityRole","onPress","disabled","absoluteFill","accessibilityViewIsModal","onLayout","panel","shadowColor","shadow","body","gap","justifyContent","map","action","idx","ActionButton","shouldCloseOnPress","foreground","getActionPalette","handlePress","alignItems","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive","create","zIndex","fullscreen","position","overflow","shadowOpacity","shadowRadius","shadowOffset","height","elevation","padding","AutoMountedDialog","onResolve"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
|