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