@oxyhq/bloom 0.15.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 +1 -2
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +9 -6
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/index.js +0 -13
- package/lib/commonjs/dialog/index.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js +0 -19
- package/lib/commonjs/dialog/index.web.js.map +1 -1
- package/lib/commonjs/index.js +0 -29
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +6 -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 +1 -2
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +9 -6
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/index.js +0 -1
- package/lib/module/dialog/index.js.map +1 -1
- package/lib/module/dialog/index.web.js +0 -1
- package/lib/module/dialog/index.web.js.map +1 -1
- 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 +1 -2
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +2 -2
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.d.ts +0 -2
- package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +0 -2
- package/lib/typescript/commonjs/dialog/index.web.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 +1 -2
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts +2 -2
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.d.ts +0 -2
- package/lib/typescript/module/dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +0 -2
- package/lib/typescript/module/dialog/index.web.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/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 +1 -2
- package/src/dialog/Dialog.web.tsx +9 -6
- package/src/dialog/index.ts +0 -2
- package/src/dialog/index.web.ts +0 -6
- package/src/index.ts +0 -11
- package/src/index.web.ts +0 -11
- package/lib/commonjs/dialog/CenteredDialog.js +0 -252
- package/lib/commonjs/dialog/CenteredDialog.js.map +0 -1
- package/lib/commonjs/dialog/CenteredDialog.web.js +0 -330
- 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 -97
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +0 -1
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.web.js +0 -84
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.web.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 -246
- package/lib/module/dialog/CenteredDialog.js.map +0 -1
- package/lib/module/dialog/CenteredDialog.web.js +0 -324
- 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 -90
- package/lib/module/responsive-sheet/ResponsiveSheet.js.map +0 -1
- package/lib/module/responsive-sheet/ResponsiveSheet.web.js +0 -77
- package/lib/module/responsive-sheet/ResponsiveSheet.web.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 -12
- 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 -22
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts.map +0 -1
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts +0 -31
- 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 -74
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +0 -22
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.map +0 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.web.d.ts +0 -16
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.web.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 -58
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +0 -1
- package/lib/typescript/module/dialog/CenteredDialog.d.ts +0 -22
- package/lib/typescript/module/dialog/CenteredDialog.d.ts.map +0 -1
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts +0 -31
- 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 -74
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +0 -22
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts.map +0 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.web.d.ts +0 -16
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.web.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 -58
- 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 -88
- package/src/dialog/CenteredDialog.stories.tsx +0 -125
- package/src/dialog/CenteredDialog.tsx +0 -305
- package/src/dialog/CenteredDialog.web.tsx +0 -374
- package/src/dialog/centered-dialog-tokens.ts +0 -68
- package/src/dialog/centered-dialog-types.ts +0 -74
- package/src/responsive-sheet/ResponsiveSheet.stories.tsx +0 -54
- package/src/responsive-sheet/ResponsiveSheet.tsx +0 -88
- package/src/responsive-sheet/ResponsiveSheet.web.tsx +0 -76
- package/src/responsive-sheet/index.ts +0 -6
- package/src/responsive-sheet/index.web.ts +0 -14
- package/src/responsive-sheet/types.ts +0 -60
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CENTERED_DIALOG_BACKDROP_TESTID = void 0;
|
|
7
|
-
exports.CenteredDialog = CenteredDialog;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _reactNative = require("react-native");
|
|
10
|
-
var _useInteractionState = require("../hooks/useInteractionState.js");
|
|
11
|
-
var _Times = require("../icons/Times.js");
|
|
12
|
-
var _useTheme = require("../theme/use-theme.js");
|
|
13
|
-
var _index = require("../typography/index.js");
|
|
14
|
-
var _centeredDialogTokens = require("./centered-dialog-tokens.js");
|
|
15
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
-
const CLOSE_HIT_SLOP = {
|
|
18
|
-
top: 8,
|
|
19
|
-
bottom: 8,
|
|
20
|
-
left: 8,
|
|
21
|
-
right: 8
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/** Stable testID for the dimmed backdrop. Overridden when a `testID` is set. */
|
|
25
|
-
const CENTERED_DIALOG_BACKDROP_TESTID = exports.CENTERED_DIALOG_BACKDROP_TESTID = 'bloom-centered-dialog-backdrop';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated Use `<Dialog placement="center">` instead.
|
|
29
|
-
*
|
|
30
|
-
* Native variant of `<CenteredDialog>`.
|
|
31
|
-
*
|
|
32
|
-
* A controlled, centered modal: a transparent RN `Modal` (fade animation,
|
|
33
|
-
* own native window) hosting a dimmed full-screen backdrop and a centered,
|
|
34
|
-
* rounded card styled entirely from Bloom theme tokens.
|
|
35
|
-
*
|
|
36
|
-
* The backdrop is a sibling `Pressable` rendered BEHIND the card (absolute
|
|
37
|
-
* filled), never a parent of it — so a tap on the card never bubbles to the
|
|
38
|
-
* backdrop's close handler and the card never ends up nested inside the
|
|
39
|
-
* backdrop's pressable on web.
|
|
40
|
-
*
|
|
41
|
-
* Dismissal: backdrop tap (when `dismissible`), the header close button, and
|
|
42
|
-
* the Android hardware back button (`onRequestClose`) all call `onClose`.
|
|
43
|
-
*/
|
|
44
|
-
function CenteredDialog({
|
|
45
|
-
visible,
|
|
46
|
-
onClose,
|
|
47
|
-
title,
|
|
48
|
-
dismissible = true,
|
|
49
|
-
maxWidth = _centeredDialogTokens.DEFAULT_MAX_WIDTH,
|
|
50
|
-
compact = true,
|
|
51
|
-
showClose,
|
|
52
|
-
children,
|
|
53
|
-
footer,
|
|
54
|
-
accessibilityLabel,
|
|
55
|
-
closeAccessibilityLabel = 'Close dialog',
|
|
56
|
-
backdropAccessibilityLabel = 'Dismiss dialog',
|
|
57
|
-
cardStyle,
|
|
58
|
-
contentStyle,
|
|
59
|
-
testID
|
|
60
|
-
}) {
|
|
61
|
-
const theme = (0, _useTheme.useTheme)();
|
|
62
|
-
const backdropPress = (0, _useInteractionState.useInteractionState)();
|
|
63
|
-
const spacing = (0, _react.useMemo)(() => (0, _centeredDialogTokens.resolveSpacing)(compact), [compact]);
|
|
64
|
-
const resolvedShowClose = showClose ?? Boolean(title);
|
|
65
|
-
const hasHeader = Boolean(title) || resolvedShowClose;
|
|
66
|
-
const handleBackdropPress = dismissible ? onClose : undefined;
|
|
67
|
-
// Android's hardware back must always be answerable; when the dialog is
|
|
68
|
-
// non-dismissible we still need a handler (RN requires one for transparent
|
|
69
|
-
// modals) — make it a no-op so back does nothing rather than crash.
|
|
70
|
-
const handleRequestClose = dismissible ? onClose : noop;
|
|
71
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
72
|
-
visible: visible,
|
|
73
|
-
transparent: true,
|
|
74
|
-
animationType: "fade",
|
|
75
|
-
statusBarTranslucent: true,
|
|
76
|
-
onRequestClose: handleRequestClose,
|
|
77
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
78
|
-
style: [styles.root, {
|
|
79
|
-
padding: _centeredDialogTokens.VIEWPORT_GUTTER
|
|
80
|
-
}],
|
|
81
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
82
|
-
testID: testID ? `${testID}-backdrop` : CENTERED_DIALOG_BACKDROP_TESTID,
|
|
83
|
-
style: [styles.backdrop, {
|
|
84
|
-
backgroundColor: theme.colors.overlay
|
|
85
|
-
}, backdropPress.state && styles.backdropPressed],
|
|
86
|
-
onPress: handleBackdropPress,
|
|
87
|
-
onPressIn: backdropPress.onIn,
|
|
88
|
-
onPressOut: backdropPress.onOut,
|
|
89
|
-
disabled: !dismissible,
|
|
90
|
-
accessibilityRole: "button",
|
|
91
|
-
accessibilityLabel: backdropAccessibilityLabel
|
|
92
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
93
|
-
testID: testID,
|
|
94
|
-
accessibilityLabel: accessibilityLabel ?? title,
|
|
95
|
-
style: [styles.card, {
|
|
96
|
-
maxWidth,
|
|
97
|
-
maxHeight: `${_centeredDialogTokens.MAX_HEIGHT_FRACTION * 100}%`,
|
|
98
|
-
backgroundColor: theme.colors.card,
|
|
99
|
-
borderColor: theme.colors.border,
|
|
100
|
-
shadowColor: theme.colors.shadow
|
|
101
|
-
}, cardStyle],
|
|
102
|
-
children: [hasHeader ? /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogHeader, {
|
|
103
|
-
title: title,
|
|
104
|
-
showClose: resolvedShowClose,
|
|
105
|
-
padding: spacing.pad,
|
|
106
|
-
gap: spacing.headerGap,
|
|
107
|
-
closeAccessibilityLabel: closeAccessibilityLabel,
|
|
108
|
-
onClose: onClose
|
|
109
|
-
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
110
|
-
style: styles.bodyScroll,
|
|
111
|
-
contentContainerStyle: [{
|
|
112
|
-
padding: spacing.pad,
|
|
113
|
-
paddingTop: hasHeader ? spacing.headerGap : spacing.pad,
|
|
114
|
-
gap: spacing.contentGap
|
|
115
|
-
}, contentStyle],
|
|
116
|
-
showsVerticalScrollIndicator: false,
|
|
117
|
-
keyboardShouldPersistTaps: "handled",
|
|
118
|
-
children: children
|
|
119
|
-
}), footer ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
120
|
-
style: [styles.footer, {
|
|
121
|
-
padding: spacing.pad,
|
|
122
|
-
paddingTop: spacing.footerGap,
|
|
123
|
-
borderTopColor: theme.colors.borderLight
|
|
124
|
-
}],
|
|
125
|
-
children: footer
|
|
126
|
-
}) : null]
|
|
127
|
-
})]
|
|
128
|
-
})
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
function DialogHeader({
|
|
132
|
-
title,
|
|
133
|
-
showClose,
|
|
134
|
-
padding,
|
|
135
|
-
gap,
|
|
136
|
-
closeAccessibilityLabel,
|
|
137
|
-
onClose
|
|
138
|
-
}) {
|
|
139
|
-
const theme = (0, _useTheme.useTheme)();
|
|
140
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
141
|
-
style: [styles.header, {
|
|
142
|
-
paddingHorizontal: padding,
|
|
143
|
-
paddingTop: padding,
|
|
144
|
-
gap
|
|
145
|
-
}],
|
|
146
|
-
children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
|
|
147
|
-
accessibilityRole: "header",
|
|
148
|
-
numberOfLines: 2,
|
|
149
|
-
style: [styles.title, {
|
|
150
|
-
color: theme.colors.text
|
|
151
|
-
}],
|
|
152
|
-
children: title
|
|
153
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
154
|
-
style: styles.titleSpacer
|
|
155
|
-
}), showClose ? /*#__PURE__*/(0, _jsxRuntime.jsx)(CloseButton, {
|
|
156
|
-
accessibilityLabel: closeAccessibilityLabel,
|
|
157
|
-
onPress: onClose
|
|
158
|
-
}) : null]
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
function CloseButton({
|
|
162
|
-
accessibilityLabel,
|
|
163
|
-
onPress
|
|
164
|
-
}) {
|
|
165
|
-
const theme = (0, _useTheme.useTheme)();
|
|
166
|
-
const press = (0, _useInteractionState.useInteractionState)();
|
|
167
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
168
|
-
onPress: onPress,
|
|
169
|
-
onPressIn: press.onIn,
|
|
170
|
-
onPressOut: press.onOut,
|
|
171
|
-
hitSlop: CLOSE_HIT_SLOP,
|
|
172
|
-
accessibilityRole: "button",
|
|
173
|
-
accessibilityLabel: accessibilityLabel,
|
|
174
|
-
style: [styles.closeButton, {
|
|
175
|
-
backgroundColor: theme.colors.contrast50
|
|
176
|
-
}, press.state && styles.closeButtonPressed],
|
|
177
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Times.TimesLarge_Stroke2_Corner0_Rounded, {
|
|
178
|
-
size: "sm",
|
|
179
|
-
fill: theme.colors.textSecondary
|
|
180
|
-
})
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
function noop() {
|
|
184
|
-
/* non-dismissible: hardware back is intentionally inert */
|
|
185
|
-
}
|
|
186
|
-
const styles = _reactNative.StyleSheet.create({
|
|
187
|
-
root: {
|
|
188
|
-
flex: 1,
|
|
189
|
-
alignItems: 'center',
|
|
190
|
-
justifyContent: 'center'
|
|
191
|
-
},
|
|
192
|
-
backdrop: {
|
|
193
|
-
// Spell out the absolute-fill rect (matches `Fill`'s canonical style)
|
|
194
|
-
// rather than spreading the deprecated `StyleSheet.absoluteFillObject`,
|
|
195
|
-
// which RN 0.83's generated types no longer surface on the `StyleSheet`
|
|
196
|
-
// namespace and which downstream type-checks reject.
|
|
197
|
-
position: 'absolute',
|
|
198
|
-
top: 0,
|
|
199
|
-
right: 0,
|
|
200
|
-
bottom: 0,
|
|
201
|
-
left: 0
|
|
202
|
-
},
|
|
203
|
-
// A subtle deepening on press confirms the tap-to-dismiss affordance.
|
|
204
|
-
backdropPressed: {
|
|
205
|
-
opacity: 0.92
|
|
206
|
-
},
|
|
207
|
-
card: {
|
|
208
|
-
width: '100%',
|
|
209
|
-
borderRadius: _centeredDialogTokens.CARD_RADIUS,
|
|
210
|
-
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
211
|
-
overflow: 'hidden',
|
|
212
|
-
shadowOpacity: 0.18,
|
|
213
|
-
shadowRadius: 24,
|
|
214
|
-
shadowOffset: {
|
|
215
|
-
width: 0,
|
|
216
|
-
height: 8
|
|
217
|
-
},
|
|
218
|
-
elevation: 12
|
|
219
|
-
},
|
|
220
|
-
header: {
|
|
221
|
-
flexDirection: 'row',
|
|
222
|
-
alignItems: 'flex-start',
|
|
223
|
-
justifyContent: 'space-between'
|
|
224
|
-
},
|
|
225
|
-
title: {
|
|
226
|
-
flex: 1,
|
|
227
|
-
fontSize: 17,
|
|
228
|
-
fontWeight: '700',
|
|
229
|
-
lineHeight: 22
|
|
230
|
-
},
|
|
231
|
-
titleSpacer: {
|
|
232
|
-
flex: 1
|
|
233
|
-
},
|
|
234
|
-
closeButton: {
|
|
235
|
-
width: 28,
|
|
236
|
-
height: 28,
|
|
237
|
-
borderRadius: 14,
|
|
238
|
-
alignItems: 'center',
|
|
239
|
-
justifyContent: 'center'
|
|
240
|
-
},
|
|
241
|
-
closeButtonPressed: {
|
|
242
|
-
opacity: 0.7
|
|
243
|
-
},
|
|
244
|
-
bodyScroll: {
|
|
245
|
-
flexGrow: 0,
|
|
246
|
-
flexShrink: 1
|
|
247
|
-
},
|
|
248
|
-
footer: {
|
|
249
|
-
borderTopWidth: _reactNative.StyleSheet.hairlineWidth
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
//# sourceMappingURL=CenteredDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useInteractionState","_Times","_useTheme","_index","_centeredDialogTokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CLOSE_HIT_SLOP","top","bottom","left","right","CENTERED_DIALOG_BACKDROP_TESTID","exports","CenteredDialog","visible","onClose","title","dismissible","maxWidth","DEFAULT_MAX_WIDTH","compact","showClose","children","footer","accessibilityLabel","closeAccessibilityLabel","backdropAccessibilityLabel","cardStyle","contentStyle","testID","theme","useTheme","backdropPress","useInteractionState","spacing","useMemo","resolveSpacing","resolvedShowClose","Boolean","hasHeader","handleBackdropPress","undefined","handleRequestClose","noop","jsx","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","jsxs","View","style","styles","root","padding","VIEWPORT_GUTTER","Pressable","backdrop","backgroundColor","colors","overlay","state","backdropPressed","onPress","onPressIn","onIn","onPressOut","onOut","disabled","accessibilityRole","card","maxHeight","MAX_HEIGHT_FRACTION","borderColor","border","shadowColor","shadow","DialogHeader","pad","gap","headerGap","ScrollView","bodyScroll","contentContainerStyle","paddingTop","contentGap","showsVerticalScrollIndicator","keyboardShouldPersistTaps","footerGap","borderTopColor","borderLight","header","paddingHorizontal","Text","numberOfLines","color","text","titleSpacer","CloseButton","press","hitSlop","closeButton","contrast50","closeButtonPressed","TimesLarge_Stroke2_Corner0_Rounded","size","fill","textSecondary","StyleSheet","create","flex","alignItems","justifyContent","position","opacity","width","borderRadius","CARD_RADIUS","borderWidth","hairlineWidth","overflow","shadowOpacity","shadowRadius","shadowOffset","height","elevation","flexDirection","fontSize","fontWeight","lineHeight","flexGrow","flexShrink","borderTopWidth"],"sourceRoot":"../../../src","sources":["dialog/CenteredDialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CENTERED_DIALOG_BACKDROP_TESTID = exports.BLOOM_CENTERED_DIALOG_CSS = void 0;
|
|
7
|
-
exports.CenteredDialog = CenteredDialog;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _reactNative = require("react-native");
|
|
10
|
-
var _reactRemoveScrollBar = require("react-remove-scroll-bar");
|
|
11
|
-
var _useInteractionState = require("../hooks/useInteractionState.js");
|
|
12
|
-
var _Times = require("../icons/Times.js");
|
|
13
|
-
var _indexWeb = require("../portal/index.web.js");
|
|
14
|
-
var _zIndex = require("../styles/z-index.js");
|
|
15
|
-
var _useTheme = require("../theme/use-theme.js");
|
|
16
|
-
var _index = require("../typography/index.js");
|
|
17
|
-
var _centeredDialogTokens = require("./centered-dialog-tokens.js");
|
|
18
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
|
-
const FADE_OUT_DURATION = 150;
|
|
21
|
-
const CLOSE_HIT_SLOP = {
|
|
22
|
-
top: 8,
|
|
23
|
-
bottom: 8,
|
|
24
|
-
left: 8,
|
|
25
|
-
right: 8
|
|
26
|
-
};
|
|
27
|
-
const dialogZIndex = (0, _zIndex.createOverlayZIndex)();
|
|
28
|
-
|
|
29
|
-
/** Stable testID for the dimmed backdrop. Overridden when a `testID` is set. */
|
|
30
|
-
const CENTERED_DIALOG_BACKDROP_TESTID = exports.CENTERED_DIALOG_BACKDROP_TESTID = 'bloom-centered-dialog-backdrop';
|
|
31
|
-
const stopPropagation = e => e.stopPropagation();
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* @deprecated Use `<Dialog placement="center">` instead.
|
|
35
|
-
*
|
|
36
|
-
* Web variant of `<CenteredDialog>`.
|
|
37
|
-
*
|
|
38
|
-
* A centered modal card rendered into the Bloom Portal at the end of
|
|
39
|
-
* `document.body`. Identical prop surface to native — `visible`, `onClose`,
|
|
40
|
-
* `title`, `compact`, etc. — so call sites are platform agnostic.
|
|
41
|
-
*
|
|
42
|
-
* Differences from the native fork (necessary, not behavioural):
|
|
43
|
-
* - Portal + `RemoveScrollBar` lock the underlying page while open.
|
|
44
|
-
* - `Escape` dismisses (when `dismissible`).
|
|
45
|
-
* - A `role="dialog"` panel with `aria-label`/`aria-modal` for a11y.
|
|
46
|
-
* - A CSS fade/zoom keyframe matches the native modal's `fade` animation;
|
|
47
|
-
* the keyframes are injected once (idempotent) into `<head>`.
|
|
48
|
-
*
|
|
49
|
-
* The backdrop is a sibling element BEHIND the card, and the card stops
|
|
50
|
-
* click/press propagation so a tap on the card never dismisses.
|
|
51
|
-
*/
|
|
52
|
-
function CenteredDialog({
|
|
53
|
-
visible,
|
|
54
|
-
onClose,
|
|
55
|
-
title,
|
|
56
|
-
dismissible = true,
|
|
57
|
-
maxWidth = _centeredDialogTokens.DEFAULT_MAX_WIDTH,
|
|
58
|
-
compact = true,
|
|
59
|
-
showClose,
|
|
60
|
-
children,
|
|
61
|
-
footer,
|
|
62
|
-
accessibilityLabel,
|
|
63
|
-
closeAccessibilityLabel = 'Close dialog',
|
|
64
|
-
backdropAccessibilityLabel = 'Dismiss dialog',
|
|
65
|
-
cardStyle,
|
|
66
|
-
contentStyle,
|
|
67
|
-
testID
|
|
68
|
-
}) {
|
|
69
|
-
const theme = (0, _useTheme.useTheme)();
|
|
70
|
-
// `rendered` keeps the dialog mounted through its fade-out so a controlled
|
|
71
|
-
// `visible` flip to `false` still plays an exit animation (matching the
|
|
72
|
-
// native `Modal animationType="fade"`, which animates both directions).
|
|
73
|
-
const [rendered, setRendered] = (0, _react.useState)(visible);
|
|
74
|
-
const isClosing = rendered && !visible;
|
|
75
|
-
useKeyframes();
|
|
76
|
-
|
|
77
|
-
// Mount immediately when opened; defer unmount until the exit animation
|
|
78
|
-
// has played when closed.
|
|
79
|
-
(0, _react.useEffect)(() => {
|
|
80
|
-
if (visible) {
|
|
81
|
-
setRendered(true);
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
if (!rendered) return;
|
|
85
|
-
const timer = setTimeout(() => setRendered(false), FADE_OUT_DURATION);
|
|
86
|
-
return () => clearTimeout(timer);
|
|
87
|
-
}, [visible, rendered]);
|
|
88
|
-
|
|
89
|
-
// Escape-to-close while open. Scoped to the open lifetime so stacked
|
|
90
|
-
// dialogs don't fight for the keydown — the top-most one wins via
|
|
91
|
-
// document-level event order.
|
|
92
|
-
(0, _react.useEffect)(() => {
|
|
93
|
-
if (!visible || !dismissible || typeof document === 'undefined') return;
|
|
94
|
-
const handler = e => {
|
|
95
|
-
if (e.key === 'Escape') {
|
|
96
|
-
e.stopPropagation();
|
|
97
|
-
onClose();
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
document.addEventListener('keydown', handler);
|
|
101
|
-
return () => document.removeEventListener('keydown', handler);
|
|
102
|
-
}, [visible, dismissible, onClose]);
|
|
103
|
-
const spacing = (0, _react.useMemo)(() => (0, _centeredDialogTokens.resolveSpacing)(compact), [compact]);
|
|
104
|
-
const resolvedShowClose = showClose ?? Boolean(title);
|
|
105
|
-
const hasHeader = Boolean(title) || resolvedShowClose;
|
|
106
|
-
if (!rendered) return null;
|
|
107
|
-
|
|
108
|
-
// While closing, the backdrop must not re-trigger onClose (it's mid-exit).
|
|
109
|
-
const handleBackdropPress = dismissible && !isClosing ? onClose : undefined;
|
|
110
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_indexWeb.Portal, {
|
|
111
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRemoveScrollBar.RemoveScrollBar, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
112
|
-
style: [styles.root, {
|
|
113
|
-
padding: _centeredDialogTokens.VIEWPORT_GUTTER
|
|
114
|
-
}],
|
|
115
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
116
|
-
testID: testID ? `${testID}-backdrop` : CENTERED_DIALOG_BACKDROP_TESTID,
|
|
117
|
-
onPress: handleBackdropPress,
|
|
118
|
-
disabled: !dismissible,
|
|
119
|
-
accessibilityRole: "button",
|
|
120
|
-
accessibilityLabel: backdropAccessibilityLabel,
|
|
121
|
-
style: [styles.backdrop, {
|
|
122
|
-
backgroundColor: theme.colors.overlay
|
|
123
|
-
}, backdropAnimation(isClosing)]
|
|
124
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
125
|
-
testID: testID,
|
|
126
|
-
role: "dialog",
|
|
127
|
-
"aria-modal": true,
|
|
128
|
-
"aria-label": accessibilityLabel ?? title,
|
|
129
|
-
onStartShouldSetResponder: returnsTrue,
|
|
130
|
-
onResponderRelease: stopPropagation,
|
|
131
|
-
onClick: stopPropagation,
|
|
132
|
-
style: [styles.card, {
|
|
133
|
-
maxWidth,
|
|
134
|
-
maxHeight: `${_centeredDialogTokens.MAX_HEIGHT_FRACTION * 100}%`,
|
|
135
|
-
backgroundColor: theme.colors.card,
|
|
136
|
-
borderColor: theme.colors.border,
|
|
137
|
-
shadowColor: theme.colors.shadow
|
|
138
|
-
}, cardAnimation(isClosing), cardStyle],
|
|
139
|
-
children: [hasHeader ? /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogHeader, {
|
|
140
|
-
title: title,
|
|
141
|
-
showClose: resolvedShowClose,
|
|
142
|
-
padding: spacing.pad,
|
|
143
|
-
gap: spacing.headerGap,
|
|
144
|
-
closeAccessibilityLabel: closeAccessibilityLabel,
|
|
145
|
-
onClose: onClose
|
|
146
|
-
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
147
|
-
style: styles.bodyScroll,
|
|
148
|
-
contentContainerStyle: [{
|
|
149
|
-
padding: spacing.pad,
|
|
150
|
-
paddingTop: hasHeader ? spacing.headerGap : spacing.pad,
|
|
151
|
-
gap: spacing.contentGap
|
|
152
|
-
}, contentStyle],
|
|
153
|
-
showsVerticalScrollIndicator: false,
|
|
154
|
-
keyboardShouldPersistTaps: "handled",
|
|
155
|
-
children: children
|
|
156
|
-
}), footer ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
157
|
-
style: [styles.footer, {
|
|
158
|
-
padding: spacing.pad,
|
|
159
|
-
paddingTop: spacing.footerGap,
|
|
160
|
-
borderTopColor: theme.colors.borderLight
|
|
161
|
-
}],
|
|
162
|
-
children: footer
|
|
163
|
-
}) : null]
|
|
164
|
-
})]
|
|
165
|
-
})]
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
function DialogHeader({
|
|
169
|
-
title,
|
|
170
|
-
showClose,
|
|
171
|
-
padding,
|
|
172
|
-
gap,
|
|
173
|
-
closeAccessibilityLabel,
|
|
174
|
-
onClose
|
|
175
|
-
}) {
|
|
176
|
-
const theme = (0, _useTheme.useTheme)();
|
|
177
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
178
|
-
style: [styles.header, {
|
|
179
|
-
paddingHorizontal: padding,
|
|
180
|
-
paddingTop: padding,
|
|
181
|
-
gap
|
|
182
|
-
}],
|
|
183
|
-
children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
|
|
184
|
-
accessibilityRole: "header",
|
|
185
|
-
numberOfLines: 2,
|
|
186
|
-
style: [styles.title, {
|
|
187
|
-
color: theme.colors.text
|
|
188
|
-
}],
|
|
189
|
-
children: title
|
|
190
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
191
|
-
style: styles.titleSpacer
|
|
192
|
-
}), showClose ? /*#__PURE__*/(0, _jsxRuntime.jsx)(CloseButton, {
|
|
193
|
-
accessibilityLabel: closeAccessibilityLabel,
|
|
194
|
-
onPress: onClose
|
|
195
|
-
}) : null]
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
function CloseButton({
|
|
199
|
-
accessibilityLabel,
|
|
200
|
-
onPress
|
|
201
|
-
}) {
|
|
202
|
-
const theme = (0, _useTheme.useTheme)();
|
|
203
|
-
const {
|
|
204
|
-
hovered,
|
|
205
|
-
pressed,
|
|
206
|
-
hoverHandlers,
|
|
207
|
-
pressHandlers
|
|
208
|
-
} = (0, _useInteractionState.useInteractionStates)();
|
|
209
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
210
|
-
onPress: onPress,
|
|
211
|
-
...hoverHandlers,
|
|
212
|
-
...pressHandlers,
|
|
213
|
-
hitSlop: CLOSE_HIT_SLOP,
|
|
214
|
-
accessibilityRole: "button",
|
|
215
|
-
accessibilityLabel: accessibilityLabel,
|
|
216
|
-
style: [styles.closeButton, {
|
|
217
|
-
backgroundColor: theme.colors.contrast50
|
|
218
|
-
}, (hovered || pressed) && styles.closeButtonActive],
|
|
219
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Times.TimesLarge_Stroke2_Corner0_Rounded, {
|
|
220
|
-
size: "sm",
|
|
221
|
-
fill: theme.colors.textSecondary
|
|
222
|
-
})
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
const returnsTrue = () => true;
|
|
226
|
-
function backdropAnimation(isClosing) {
|
|
227
|
-
return isClosing ? {
|
|
228
|
-
animation: `bloomCenteredDialogFadeOut ease-in ${FADE_OUT_DURATION}ms forwards`
|
|
229
|
-
} : {
|
|
230
|
-
animation: 'bloomCenteredDialogFadeIn ease-out 150ms'
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
function cardAnimation(isClosing) {
|
|
234
|
-
return isClosing ? {
|
|
235
|
-
animation: `bloomCenteredDialogZoomOut ease-in ${FADE_OUT_DURATION}ms forwards`
|
|
236
|
-
} : {
|
|
237
|
-
animation: 'bloomCenteredDialogZoomIn cubic-bezier(0.16, 1, 0.3, 1) 200ms'
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
const KEYFRAMES_ID = 'bloom-centered-dialog-keyframes';
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* CSS keyframes powering the web enter/exit animation. Injected once into
|
|
244
|
-
* `<head>` on first mount (keyed by id so re-mounts and multiple dialogs
|
|
245
|
-
* don't duplicate the rule). Mirrors the native modal's `fade` feel with a
|
|
246
|
-
* subtle zoom on the card.
|
|
247
|
-
*/
|
|
248
|
-
const BLOOM_CENTERED_DIALOG_CSS = exports.BLOOM_CENTERED_DIALOG_CSS = `
|
|
249
|
-
@keyframes bloomCenteredDialogFadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
250
|
-
@keyframes bloomCenteredDialogFadeOut { from { opacity: 1; } to { opacity: 0; } }
|
|
251
|
-
@keyframes bloomCenteredDialogZoomIn { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
|
|
252
|
-
@keyframes bloomCenteredDialogZoomOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.96); } }
|
|
253
|
-
`;
|
|
254
|
-
function useKeyframes() {
|
|
255
|
-
(0, _react.useEffect)(() => {
|
|
256
|
-
if (typeof document === 'undefined') return;
|
|
257
|
-
if (document.getElementById(KEYFRAMES_ID)) return;
|
|
258
|
-
const style = document.createElement('style');
|
|
259
|
-
style.id = KEYFRAMES_ID;
|
|
260
|
-
style.textContent = BLOOM_CENTERED_DIALOG_CSS;
|
|
261
|
-
document.head.appendChild(style);
|
|
262
|
-
}, []);
|
|
263
|
-
}
|
|
264
|
-
const styles = _reactNative.StyleSheet.create({
|
|
265
|
-
root: {
|
|
266
|
-
position: 'fixed',
|
|
267
|
-
top: 0,
|
|
268
|
-
left: 0,
|
|
269
|
-
right: 0,
|
|
270
|
-
bottom: 0,
|
|
271
|
-
zIndex: dialogZIndex.backdrop,
|
|
272
|
-
alignItems: 'center',
|
|
273
|
-
justifyContent: 'center',
|
|
274
|
-
pointerEvents: 'auto'
|
|
275
|
-
},
|
|
276
|
-
backdrop: {
|
|
277
|
-
position: 'fixed',
|
|
278
|
-
top: 0,
|
|
279
|
-
left: 0,
|
|
280
|
-
right: 0,
|
|
281
|
-
bottom: 0
|
|
282
|
-
},
|
|
283
|
-
card: {
|
|
284
|
-
position: 'relative',
|
|
285
|
-
width: '100%',
|
|
286
|
-
borderRadius: _centeredDialogTokens.CARD_RADIUS,
|
|
287
|
-
borderWidth: 1,
|
|
288
|
-
overflow: 'hidden',
|
|
289
|
-
shadowOpacity: 0.18,
|
|
290
|
-
shadowRadius: 24,
|
|
291
|
-
shadowOffset: {
|
|
292
|
-
width: 0,
|
|
293
|
-
height: 8
|
|
294
|
-
},
|
|
295
|
-
zIndex: dialogZIndex.surface
|
|
296
|
-
},
|
|
297
|
-
header: {
|
|
298
|
-
flexDirection: 'row',
|
|
299
|
-
alignItems: 'flex-start',
|
|
300
|
-
justifyContent: 'space-between'
|
|
301
|
-
},
|
|
302
|
-
title: {
|
|
303
|
-
flex: 1,
|
|
304
|
-
fontSize: 17,
|
|
305
|
-
fontWeight: '700',
|
|
306
|
-
lineHeight: 22
|
|
307
|
-
},
|
|
308
|
-
titleSpacer: {
|
|
309
|
-
flex: 1
|
|
310
|
-
},
|
|
311
|
-
closeButton: {
|
|
312
|
-
width: 28,
|
|
313
|
-
height: 28,
|
|
314
|
-
borderRadius: 14,
|
|
315
|
-
alignItems: 'center',
|
|
316
|
-
justifyContent: 'center',
|
|
317
|
-
cursor: 'pointer'
|
|
318
|
-
},
|
|
319
|
-
closeButtonActive: {
|
|
320
|
-
opacity: 0.7
|
|
321
|
-
},
|
|
322
|
-
bodyScroll: {
|
|
323
|
-
flexGrow: 0,
|
|
324
|
-
flexShrink: 1
|
|
325
|
-
},
|
|
326
|
-
footer: {
|
|
327
|
-
borderTopWidth: 1
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
//# sourceMappingURL=CenteredDialog.web.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRemoveScrollBar","_useInteractionState","_Times","_indexWeb","_zIndex","_useTheme","_index","_centeredDialogTokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FADE_OUT_DURATION","CLOSE_HIT_SLOP","top","bottom","left","right","dialogZIndex","createOverlayZIndex","CENTERED_DIALOG_BACKDROP_TESTID","exports","stopPropagation","CenteredDialog","visible","onClose","title","dismissible","maxWidth","DEFAULT_MAX_WIDTH","compact","showClose","children","footer","accessibilityLabel","closeAccessibilityLabel","backdropAccessibilityLabel","cardStyle","contentStyle","testID","theme","useTheme","rendered","setRendered","useState","isClosing","useKeyframes","useEffect","timer","setTimeout","clearTimeout","document","handler","key","addEventListener","removeEventListener","spacing","useMemo","resolveSpacing","resolvedShowClose","Boolean","hasHeader","handleBackdropPress","undefined","jsxs","Portal","jsx","RemoveScrollBar","View","style","styles","root","padding","VIEWPORT_GUTTER","Pressable","onPress","disabled","accessibilityRole","backdrop","backgroundColor","colors","overlay","backdropAnimation","role","onStartShouldSetResponder","returnsTrue","onResponderRelease","onClick","card","maxHeight","MAX_HEIGHT_FRACTION","borderColor","border","shadowColor","shadow","cardAnimation","DialogHeader","pad","gap","headerGap","ScrollView","bodyScroll","contentContainerStyle","paddingTop","contentGap","showsVerticalScrollIndicator","keyboardShouldPersistTaps","footerGap","borderTopColor","borderLight","header","paddingHorizontal","Text","numberOfLines","color","text","titleSpacer","CloseButton","hovered","pressed","hoverHandlers","pressHandlers","useInteractionStates","hitSlop","closeButton","contrast50","closeButtonActive","TimesLarge_Stroke2_Corner0_Rounded","size","fill","textSecondary","animation","KEYFRAMES_ID","BLOOM_CENTERED_DIALOG_CSS","getElementById","createElement","id","textContent","head","appendChild","StyleSheet","create","position","zIndex","alignItems","justifyContent","pointerEvents","width","borderRadius","CARD_RADIUS","borderWidth","overflow","shadowOpacity","shadowRadius","shadowOffset","height","surface","flexDirection","flex","fontSize","fontWeight","lineHeight","cursor","opacity","flexGrow","flexShrink","borderTopWidth"],"sourceRoot":"../../../src","sources":["dialog/CenteredDialog.web.tsx"],"mappings":"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","ignoreList":[]}
|