@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.
Files changed (212) hide show
  1. package/lib/commonjs/alert-dialog/AlertDialog.js +35 -27
  2. package/lib/commonjs/alert-dialog/AlertDialog.js.map +1 -1
  3. package/lib/commonjs/alert-dialog/index.js +1 -1
  4. package/lib/commonjs/alert-dialog/index.js.map +1 -1
  5. package/lib/commonjs/alert-dialog/index.web.js +1 -1
  6. package/lib/commonjs/alert-dialog/index.web.js.map +1 -1
  7. package/lib/commonjs/command/Command.js +27 -16
  8. package/lib/commonjs/command/Command.js.map +1 -1
  9. package/lib/commonjs/command/index.js +1 -1
  10. package/lib/commonjs/command/index.js.map +1 -1
  11. package/lib/commonjs/command/index.web.js +1 -1
  12. package/lib/commonjs/command/index.web.js.map +1 -1
  13. package/lib/commonjs/dialog/Dialog.js +336 -43
  14. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  15. package/lib/commonjs/dialog/Dialog.web.js +420 -66
  16. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  17. package/lib/commonjs/dialog/index.js +2 -9
  18. package/lib/commonjs/dialog/index.js.map +1 -1
  19. package/lib/commonjs/dialog/index.web.js +2 -15
  20. package/lib/commonjs/dialog/index.web.js.map +1 -1
  21. package/lib/commonjs/dialog/placement.js +104 -0
  22. package/lib/commonjs/dialog/placement.js.map +1 -0
  23. package/lib/commonjs/index.js +7 -29
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/index.web.js +13 -35
  26. package/lib/commonjs/index.web.js.map +1 -1
  27. package/lib/module/alert-dialog/AlertDialog.js +35 -27
  28. package/lib/module/alert-dialog/AlertDialog.js.map +1 -1
  29. package/lib/module/alert-dialog/index.js +2 -2
  30. package/lib/module/alert-dialog/index.js.map +1 -1
  31. package/lib/module/alert-dialog/index.web.js +2 -2
  32. package/lib/module/alert-dialog/index.web.js.map +1 -1
  33. package/lib/module/command/Command.js +27 -16
  34. package/lib/module/command/Command.js.map +1 -1
  35. package/lib/module/command/index.js +2 -2
  36. package/lib/module/command/index.js.map +1 -1
  37. package/lib/module/command/index.web.js +2 -2
  38. package/lib/module/command/index.web.js.map +1 -1
  39. package/lib/module/dialog/Dialog.js +335 -46
  40. package/lib/module/dialog/Dialog.js.map +1 -1
  41. package/lib/module/dialog/Dialog.web.js +418 -68
  42. package/lib/module/dialog/Dialog.web.js.map +1 -1
  43. package/lib/module/dialog/index.js +1 -2
  44. package/lib/module/dialog/index.js.map +1 -1
  45. package/lib/module/dialog/index.web.js +1 -2
  46. package/lib/module/dialog/index.web.js.map +1 -1
  47. package/lib/module/dialog/placement.js +100 -0
  48. package/lib/module/dialog/placement.js.map +1 -0
  49. package/lib/module/index.js +1 -3
  50. package/lib/module/index.js.map +1 -1
  51. package/lib/module/index.web.js +1 -3
  52. package/lib/module/index.web.js.map +1 -1
  53. package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts +13 -12
  54. package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/alert-dialog/index.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/alert-dialog/index.web.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/command/Command.d.ts +8 -8
  58. package/lib/typescript/commonjs/command/Command.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/command/index.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/command/index.web.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/dialog/Dialog.d.ts +17 -15
  62. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +18 -5
  64. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/dialog/index.d.ts +2 -4
  66. package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -4
  68. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/dialog/placement.d.ts +71 -0
  70. package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -0
  71. package/lib/typescript/commonjs/dialog/types.d.ts +66 -3
  72. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/index.d.ts +2 -4
  74. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/index.web.d.ts +2 -4
  76. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  77. package/lib/typescript/module/alert-dialog/AlertDialog.d.ts +13 -12
  78. package/lib/typescript/module/alert-dialog/AlertDialog.d.ts.map +1 -1
  79. package/lib/typescript/module/alert-dialog/index.d.ts.map +1 -1
  80. package/lib/typescript/module/alert-dialog/index.web.d.ts.map +1 -1
  81. package/lib/typescript/module/command/Command.d.ts +8 -8
  82. package/lib/typescript/module/command/Command.d.ts.map +1 -1
  83. package/lib/typescript/module/command/index.d.ts.map +1 -1
  84. package/lib/typescript/module/command/index.web.d.ts.map +1 -1
  85. package/lib/typescript/module/dialog/Dialog.d.ts +17 -15
  86. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  87. package/lib/typescript/module/dialog/Dialog.web.d.ts +18 -5
  88. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  89. package/lib/typescript/module/dialog/index.d.ts +2 -4
  90. package/lib/typescript/module/dialog/index.d.ts.map +1 -1
  91. package/lib/typescript/module/dialog/index.web.d.ts +2 -4
  92. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  93. package/lib/typescript/module/dialog/placement.d.ts +71 -0
  94. package/lib/typescript/module/dialog/placement.d.ts.map +1 -0
  95. package/lib/typescript/module/dialog/types.d.ts +66 -3
  96. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  97. package/lib/typescript/module/index.d.ts +2 -4
  98. package/lib/typescript/module/index.d.ts.map +1 -1
  99. package/lib/typescript/module/index.web.d.ts +2 -4
  100. package/lib/typescript/module/index.web.d.ts.map +1 -1
  101. package/package.json +1 -18
  102. package/src/__tests__/AlertDialog.test.tsx +122 -0
  103. package/src/__tests__/Command.test.tsx +107 -0
  104. package/src/__tests__/DialogPlacement.test.tsx +144 -0
  105. package/src/alert-dialog/AlertDialog.tsx +46 -36
  106. package/src/alert-dialog/index.ts +2 -2
  107. package/src/alert-dialog/index.web.ts +2 -2
  108. package/src/command/Command.tsx +30 -19
  109. package/src/command/index.ts +2 -2
  110. package/src/command/index.web.ts +2 -2
  111. package/src/dialog/Dialog.tsx +406 -50
  112. package/src/dialog/Dialog.web.tsx +496 -78
  113. package/src/dialog/index.ts +4 -3
  114. package/src/dialog/index.web.ts +4 -7
  115. package/src/dialog/placement.ts +113 -0
  116. package/src/dialog/types.ts +69 -3
  117. package/src/index.ts +4 -11
  118. package/src/index.web.ts +4 -11
  119. package/lib/commonjs/dialog/CenteredDialog.js +0 -250
  120. package/lib/commonjs/dialog/CenteredDialog.js.map +0 -1
  121. package/lib/commonjs/dialog/CenteredDialog.web.js +0 -328
  122. package/lib/commonjs/dialog/CenteredDialog.web.js.map +0 -1
  123. package/lib/commonjs/dialog/centered-dialog-tokens.js +0 -62
  124. package/lib/commonjs/dialog/centered-dialog-tokens.js.map +0 -1
  125. package/lib/commonjs/dialog/centered-dialog-types.js +0 -6
  126. package/lib/commonjs/dialog/centered-dialog-types.js.map +0 -1
  127. package/lib/commonjs/responsive-sheet/ResponsiveSheet.js +0 -300
  128. package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +0 -1
  129. package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js +0 -226
  130. package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js.map +0 -1
  131. package/lib/commonjs/responsive-sheet/const.js +0 -60
  132. package/lib/commonjs/responsive-sheet/const.js.map +0 -1
  133. package/lib/commonjs/responsive-sheet/index.js +0 -19
  134. package/lib/commonjs/responsive-sheet/index.js.map +0 -1
  135. package/lib/commonjs/responsive-sheet/index.web.js +0 -19
  136. package/lib/commonjs/responsive-sheet/index.web.js.map +0 -1
  137. package/lib/commonjs/responsive-sheet/types.js +0 -6
  138. package/lib/commonjs/responsive-sheet/types.js.map +0 -1
  139. package/lib/module/dialog/CenteredDialog.js +0 -244
  140. package/lib/module/dialog/CenteredDialog.js.map +0 -1
  141. package/lib/module/dialog/CenteredDialog.web.js +0 -322
  142. package/lib/module/dialog/CenteredDialog.web.js.map +0 -1
  143. package/lib/module/dialog/centered-dialog-tokens.js +0 -58
  144. package/lib/module/dialog/centered-dialog-tokens.js.map +0 -1
  145. package/lib/module/dialog/centered-dialog-types.js +0 -4
  146. package/lib/module/dialog/centered-dialog-types.js.map +0 -1
  147. package/lib/module/responsive-sheet/ResponsiveSheet.js +0 -293
  148. package/lib/module/responsive-sheet/ResponsiveSheet.js.map +0 -1
  149. package/lib/module/responsive-sheet/ResponsiveSheet.native.js +0 -219
  150. package/lib/module/responsive-sheet/ResponsiveSheet.native.js.map +0 -1
  151. package/lib/module/responsive-sheet/const.js +0 -56
  152. package/lib/module/responsive-sheet/const.js.map +0 -1
  153. package/lib/module/responsive-sheet/index.js +0 -4
  154. package/lib/module/responsive-sheet/index.js.map +0 -1
  155. package/lib/module/responsive-sheet/index.web.js +0 -14
  156. package/lib/module/responsive-sheet/index.web.js.map +0 -1
  157. package/lib/module/responsive-sheet/types.js +0 -4
  158. package/lib/module/responsive-sheet/types.js.map +0 -1
  159. package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts +0 -20
  160. package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts.map +0 -1
  161. package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts +0 -29
  162. package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts.map +0 -1
  163. package/lib/typescript/commonjs/dialog/centered-dialog-tokens.d.ts +0 -47
  164. package/lib/typescript/commonjs/dialog/centered-dialog-tokens.d.ts.map +0 -1
  165. package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts +0 -70
  166. package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts.map +0 -1
  167. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +0 -26
  168. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.map +0 -1
  169. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts +0 -20
  170. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts.map +0 -1
  171. package/lib/typescript/commonjs/responsive-sheet/const.d.ts +0 -43
  172. package/lib/typescript/commonjs/responsive-sheet/const.d.ts.map +0 -1
  173. package/lib/typescript/commonjs/responsive-sheet/index.d.ts +0 -3
  174. package/lib/typescript/commonjs/responsive-sheet/index.d.ts.map +0 -1
  175. package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts +0 -3
  176. package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts.map +0 -1
  177. package/lib/typescript/commonjs/responsive-sheet/types.d.ts +0 -55
  178. package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +0 -1
  179. package/lib/typescript/module/dialog/CenteredDialog.d.ts +0 -20
  180. package/lib/typescript/module/dialog/CenteredDialog.d.ts.map +0 -1
  181. package/lib/typescript/module/dialog/CenteredDialog.web.d.ts +0 -29
  182. package/lib/typescript/module/dialog/CenteredDialog.web.d.ts.map +0 -1
  183. package/lib/typescript/module/dialog/centered-dialog-tokens.d.ts +0 -47
  184. package/lib/typescript/module/dialog/centered-dialog-tokens.d.ts.map +0 -1
  185. package/lib/typescript/module/dialog/centered-dialog-types.d.ts +0 -70
  186. package/lib/typescript/module/dialog/centered-dialog-types.d.ts.map +0 -1
  187. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +0 -26
  188. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts.map +0 -1
  189. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts +0 -20
  190. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts.map +0 -1
  191. package/lib/typescript/module/responsive-sheet/const.d.ts +0 -43
  192. package/lib/typescript/module/responsive-sheet/const.d.ts.map +0 -1
  193. package/lib/typescript/module/responsive-sheet/index.d.ts +0 -3
  194. package/lib/typescript/module/responsive-sheet/index.d.ts.map +0 -1
  195. package/lib/typescript/module/responsive-sheet/index.web.d.ts +0 -3
  196. package/lib/typescript/module/responsive-sheet/index.web.d.ts.map +0 -1
  197. package/lib/typescript/module/responsive-sheet/types.d.ts +0 -55
  198. package/lib/typescript/module/responsive-sheet/types.d.ts.map +0 -1
  199. package/src/__tests__/CenteredDialog.test.tsx +0 -108
  200. package/src/__tests__/ResponsiveSheet.test.tsx +0 -104
  201. package/src/dialog/CenteredDialog.stories.tsx +0 -125
  202. package/src/dialog/CenteredDialog.tsx +0 -303
  203. package/src/dialog/CenteredDialog.web.tsx +0 -372
  204. package/src/dialog/centered-dialog-tokens.ts +0 -68
  205. package/src/dialog/centered-dialog-types.ts +0 -70
  206. package/src/responsive-sheet/ResponsiveSheet.native.tsx +0 -257
  207. package/src/responsive-sheet/ResponsiveSheet.stories.tsx +0 -54
  208. package/src/responsive-sheet/ResponsiveSheet.tsx +0 -327
  209. package/src/responsive-sheet/const.ts +0 -53
  210. package/src/responsive-sheet/index.ts +0 -6
  211. package/src/responsive-sheet/index.web.ts +0 -16
  212. package/src/responsive-sheet/types.ts +0 -57
@@ -1,328 +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
- * Web variant of `<CenteredDialog>`.
35
- *
36
- * A centered modal card rendered into the Bloom Portal at the end of
37
- * `document.body`. Identical prop surface to native — `visible`, `onClose`,
38
- * `title`, `compact`, etc. — so call sites are platform agnostic.
39
- *
40
- * Differences from the native fork (necessary, not behavioural):
41
- * - Portal + `RemoveScrollBar` lock the underlying page while open.
42
- * - `Escape` dismisses (when `dismissible`).
43
- * - A `role="dialog"` panel with `aria-label`/`aria-modal` for a11y.
44
- * - A CSS fade/zoom keyframe matches the native modal's `fade` animation;
45
- * the keyframes are injected once (idempotent) into `<head>`.
46
- *
47
- * The backdrop is a sibling element BEHIND the card, and the card stops
48
- * click/press propagation so a tap on the card never dismisses.
49
- */
50
- function CenteredDialog({
51
- visible,
52
- onClose,
53
- title,
54
- dismissible = true,
55
- maxWidth = _centeredDialogTokens.DEFAULT_MAX_WIDTH,
56
- compact = true,
57
- showClose,
58
- children,
59
- footer,
60
- accessibilityLabel,
61
- closeAccessibilityLabel = 'Close dialog',
62
- backdropAccessibilityLabel = 'Dismiss dialog',
63
- cardStyle,
64
- contentStyle,
65
- testID
66
- }) {
67
- const theme = (0, _useTheme.useTheme)();
68
- // `rendered` keeps the dialog mounted through its fade-out so a controlled
69
- // `visible` flip to `false` still plays an exit animation (matching the
70
- // native `Modal animationType="fade"`, which animates both directions).
71
- const [rendered, setRendered] = (0, _react.useState)(visible);
72
- const isClosing = rendered && !visible;
73
- useKeyframes();
74
-
75
- // Mount immediately when opened; defer unmount until the exit animation
76
- // has played when closed.
77
- (0, _react.useEffect)(() => {
78
- if (visible) {
79
- setRendered(true);
80
- return;
81
- }
82
- if (!rendered) return;
83
- const timer = setTimeout(() => setRendered(false), FADE_OUT_DURATION);
84
- return () => clearTimeout(timer);
85
- }, [visible, rendered]);
86
-
87
- // Escape-to-close while open. Scoped to the open lifetime so stacked
88
- // dialogs don't fight for the keydown — the top-most one wins via
89
- // document-level event order.
90
- (0, _react.useEffect)(() => {
91
- if (!visible || !dismissible || typeof document === 'undefined') return;
92
- const handler = e => {
93
- if (e.key === 'Escape') {
94
- e.stopPropagation();
95
- onClose();
96
- }
97
- };
98
- document.addEventListener('keydown', handler);
99
- return () => document.removeEventListener('keydown', handler);
100
- }, [visible, dismissible, onClose]);
101
- const spacing = (0, _react.useMemo)(() => (0, _centeredDialogTokens.resolveSpacing)(compact), [compact]);
102
- const resolvedShowClose = showClose ?? Boolean(title);
103
- const hasHeader = Boolean(title) || resolvedShowClose;
104
- if (!rendered) return null;
105
-
106
- // While closing, the backdrop must not re-trigger onClose (it's mid-exit).
107
- const handleBackdropPress = dismissible && !isClosing ? onClose : undefined;
108
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_indexWeb.Portal, {
109
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRemoveScrollBar.RemoveScrollBar, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
110
- style: [styles.root, {
111
- padding: _centeredDialogTokens.VIEWPORT_GUTTER
112
- }],
113
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
114
- testID: testID ? `${testID}-backdrop` : CENTERED_DIALOG_BACKDROP_TESTID,
115
- onPress: handleBackdropPress,
116
- disabled: !dismissible,
117
- accessibilityRole: "button",
118
- accessibilityLabel: backdropAccessibilityLabel,
119
- style: [styles.backdrop, {
120
- backgroundColor: theme.colors.overlay
121
- }, backdropAnimation(isClosing)]
122
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
123
- testID: testID,
124
- role: "dialog",
125
- "aria-modal": true,
126
- "aria-label": accessibilityLabel ?? title,
127
- onStartShouldSetResponder: returnsTrue,
128
- onResponderRelease: stopPropagation,
129
- onClick: stopPropagation,
130
- style: [styles.card, {
131
- maxWidth,
132
- maxHeight: `${_centeredDialogTokens.MAX_HEIGHT_FRACTION * 100}%`,
133
- backgroundColor: theme.colors.card,
134
- borderColor: theme.colors.border,
135
- shadowColor: theme.colors.shadow
136
- }, cardAnimation(isClosing), cardStyle],
137
- children: [hasHeader ? /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogHeader, {
138
- title: title,
139
- showClose: resolvedShowClose,
140
- padding: spacing.pad,
141
- gap: spacing.headerGap,
142
- closeAccessibilityLabel: closeAccessibilityLabel,
143
- onClose: onClose
144
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
145
- style: styles.bodyScroll,
146
- contentContainerStyle: [{
147
- padding: spacing.pad,
148
- paddingTop: hasHeader ? spacing.headerGap : spacing.pad,
149
- gap: spacing.contentGap
150
- }, contentStyle],
151
- showsVerticalScrollIndicator: false,
152
- keyboardShouldPersistTaps: "handled",
153
- children: children
154
- }), footer ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
155
- style: [styles.footer, {
156
- padding: spacing.pad,
157
- paddingTop: spacing.footerGap,
158
- borderTopColor: theme.colors.borderLight
159
- }],
160
- children: footer
161
- }) : null]
162
- })]
163
- })]
164
- });
165
- }
166
- function DialogHeader({
167
- title,
168
- showClose,
169
- padding,
170
- gap,
171
- closeAccessibilityLabel,
172
- onClose
173
- }) {
174
- const theme = (0, _useTheme.useTheme)();
175
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
176
- style: [styles.header, {
177
- paddingHorizontal: padding,
178
- paddingTop: padding,
179
- gap
180
- }],
181
- children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
182
- accessibilityRole: "header",
183
- numberOfLines: 2,
184
- style: [styles.title, {
185
- color: theme.colors.text
186
- }],
187
- children: title
188
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
189
- style: styles.titleSpacer
190
- }), showClose ? /*#__PURE__*/(0, _jsxRuntime.jsx)(CloseButton, {
191
- accessibilityLabel: closeAccessibilityLabel,
192
- onPress: onClose
193
- }) : null]
194
- });
195
- }
196
- function CloseButton({
197
- accessibilityLabel,
198
- onPress
199
- }) {
200
- const theme = (0, _useTheme.useTheme)();
201
- const {
202
- hovered,
203
- pressed,
204
- hoverHandlers,
205
- pressHandlers
206
- } = (0, _useInteractionState.useInteractionStates)();
207
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
208
- onPress: onPress,
209
- ...hoverHandlers,
210
- ...pressHandlers,
211
- hitSlop: CLOSE_HIT_SLOP,
212
- accessibilityRole: "button",
213
- accessibilityLabel: accessibilityLabel,
214
- style: [styles.closeButton, {
215
- backgroundColor: theme.colors.contrast50
216
- }, (hovered || pressed) && styles.closeButtonActive],
217
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Times.TimesLarge_Stroke2_Corner0_Rounded, {
218
- size: "sm",
219
- fill: theme.colors.textSecondary
220
- })
221
- });
222
- }
223
- const returnsTrue = () => true;
224
- function backdropAnimation(isClosing) {
225
- return isClosing ? {
226
- animation: `bloomCenteredDialogFadeOut ease-in ${FADE_OUT_DURATION}ms forwards`
227
- } : {
228
- animation: 'bloomCenteredDialogFadeIn ease-out 150ms'
229
- };
230
- }
231
- function cardAnimation(isClosing) {
232
- return isClosing ? {
233
- animation: `bloomCenteredDialogZoomOut ease-in ${FADE_OUT_DURATION}ms forwards`
234
- } : {
235
- animation: 'bloomCenteredDialogZoomIn cubic-bezier(0.16, 1, 0.3, 1) 200ms'
236
- };
237
- }
238
- const KEYFRAMES_ID = 'bloom-centered-dialog-keyframes';
239
-
240
- /**
241
- * CSS keyframes powering the web enter/exit animation. Injected once into
242
- * `<head>` on first mount (keyed by id so re-mounts and multiple dialogs
243
- * don't duplicate the rule). Mirrors the native modal's `fade` feel with a
244
- * subtle zoom on the card.
245
- */
246
- const BLOOM_CENTERED_DIALOG_CSS = exports.BLOOM_CENTERED_DIALOG_CSS = `
247
- @keyframes bloomCenteredDialogFadeIn { from { opacity: 0; } to { opacity: 1; } }
248
- @keyframes bloomCenteredDialogFadeOut { from { opacity: 1; } to { opacity: 0; } }
249
- @keyframes bloomCenteredDialogZoomIn { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
250
- @keyframes bloomCenteredDialogZoomOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.96); } }
251
- `;
252
- function useKeyframes() {
253
- (0, _react.useEffect)(() => {
254
- if (typeof document === 'undefined') return;
255
- if (document.getElementById(KEYFRAMES_ID)) return;
256
- const style = document.createElement('style');
257
- style.id = KEYFRAMES_ID;
258
- style.textContent = BLOOM_CENTERED_DIALOG_CSS;
259
- document.head.appendChild(style);
260
- }, []);
261
- }
262
- const styles = _reactNative.StyleSheet.create({
263
- root: {
264
- position: 'fixed',
265
- top: 0,
266
- left: 0,
267
- right: 0,
268
- bottom: 0,
269
- zIndex: dialogZIndex.backdrop,
270
- alignItems: 'center',
271
- justifyContent: 'center',
272
- pointerEvents: 'auto'
273
- },
274
- backdrop: {
275
- position: 'fixed',
276
- top: 0,
277
- left: 0,
278
- right: 0,
279
- bottom: 0
280
- },
281
- card: {
282
- position: 'relative',
283
- width: '100%',
284
- borderRadius: _centeredDialogTokens.CARD_RADIUS,
285
- borderWidth: 1,
286
- overflow: 'hidden',
287
- shadowOpacity: 0.18,
288
- shadowRadius: 24,
289
- shadowOffset: {
290
- width: 0,
291
- height: 8
292
- },
293
- zIndex: dialogZIndex.surface
294
- },
295
- header: {
296
- flexDirection: 'row',
297
- alignItems: 'flex-start',
298
- justifyContent: 'space-between'
299
- },
300
- title: {
301
- flex: 1,
302
- fontSize: 17,
303
- fontWeight: '700',
304
- lineHeight: 22
305
- },
306
- titleSpacer: {
307
- flex: 1
308
- },
309
- closeButton: {
310
- width: 28,
311
- height: 28,
312
- borderRadius: 14,
313
- alignItems: 'center',
314
- justifyContent: 'center',
315
- cursor: 'pointer'
316
- },
317
- closeButtonActive: {
318
- opacity: 0.7
319
- },
320
- bodyScroll: {
321
- flexGrow: 0,
322
- flexShrink: 1
323
- },
324
- footer: {
325
- borderTopWidth: 1
326
- }
327
- });
328
- //# 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":[]}
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.VIEWPORT_GUTTER = exports.MAX_HEIGHT_FRACTION = exports.DEFAULT_MAX_WIDTH = exports.COZY_SPACING = exports.COMPACT_SPACING = exports.CARD_RADIUS = void 0;
7
- exports.resolveSpacing = resolveSpacing;
8
- var _tokens = require("../styles/tokens.js");
9
- /**
10
- * Shared layout constants for `<CenteredDialog>`, kept in one module so the
11
- * native and web forks render identically. All values are Bloom theme tokens
12
- * (`styles/tokens`) — no ad-hoc magic numbers.
13
- *
14
- * COMPACT is the priority: the `compact` spacing set is the default and is
15
- * deliberately tight (≈`space.md`), so the card reads snug out of the box.
16
- * The `cozy` set is the opt-out (`compact={false}`) for roomier dialogs.
17
- */
18
-
19
- /** Default max card width — comfortable for a compact dialog. */
20
- const DEFAULT_MAX_WIDTH = exports.DEFAULT_MAX_WIDTH = 440;
21
-
22
- /** Card height is capped at this fraction of the viewport; body scrolls. */
23
- const MAX_HEIGHT_FRACTION = exports.MAX_HEIGHT_FRACTION = 0.8;
24
-
25
- /** Card corner radius (token: `borderRadius.lg` = 16). */
26
- const CARD_RADIUS = exports.CARD_RADIUS = _tokens.borderRadius.lg;
27
-
28
- /** Outer gutter between the card edge and the viewport edge (token `space.lg`). */
29
- const VIEWPORT_GUTTER = exports.VIEWPORT_GUTTER = _tokens.space.lg;
30
- /**
31
- * Compact (default) — tight, snug spacing built on `space.md` (12).
32
- *
33
- * pad = space.md (12)
34
- * headerGap = space.sm (8)
35
- * footerGap = space.md (12)
36
- * contentGap = space.sm (8)
37
- */
38
- const COMPACT_SPACING = exports.COMPACT_SPACING = {
39
- pad: _tokens.space.md,
40
- headerGap: _tokens.space.sm,
41
- footerGap: _tokens.space.md,
42
- contentGap: _tokens.space.sm
43
- };
44
-
45
- /**
46
- * Cozy (`compact={false}`) — roomier spacing built on `space.xl` (20).
47
- *
48
- * pad = space.xl (20)
49
- * headerGap = space.md (12)
50
- * footerGap = space.lg (16)
51
- * contentGap = space.md (12)
52
- */
53
- const COZY_SPACING = exports.COZY_SPACING = {
54
- pad: _tokens.space.xl,
55
- headerGap: _tokens.space.md,
56
- footerGap: _tokens.space.lg,
57
- contentGap: _tokens.space.md
58
- };
59
- function resolveSpacing(compact) {
60
- return compact ? COMPACT_SPACING : COZY_SPACING;
61
- }
62
- //# sourceMappingURL=centered-dialog-tokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_tokens","require","DEFAULT_MAX_WIDTH","exports","MAX_HEIGHT_FRACTION","CARD_RADIUS","borderRadius","lg","VIEWPORT_GUTTER","space","COMPACT_SPACING","pad","md","headerGap","sm","footerGap","contentGap","COZY_SPACING","xl","resolveSpacing","compact"],"sourceRoot":"../../../src","sources":["dialog/centered-dialog-tokens.ts"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,GAAG;;AAEpC;AACO,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,GAAG;;AAEtC;AACO,MAAMC,WAAW,GAAAF,OAAA,CAAAE,WAAA,GAAGC,oBAAY,CAACC,EAAE;;AAE1C;AACO,MAAMC,eAAe,GAAAL,OAAA,CAAAK,eAAA,GAAGC,aAAK,CAACF,EAAE;AAavC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,eAA8B,GAAAP,OAAA,CAAAO,eAAA,GAAG;EAC5CC,GAAG,EAAEF,aAAK,CAACG,EAAE;EACbC,SAAS,EAAEJ,aAAK,CAACK,EAAE;EACnBC,SAAS,EAAEN,aAAK,CAACG,EAAE;EACnBI,UAAU,EAAEP,aAAK,CAACK;AACpB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,YAA2B,GAAAd,OAAA,CAAAc,YAAA,GAAG;EACzCN,GAAG,EAAEF,aAAK,CAACS,EAAE;EACbL,SAAS,EAAEJ,aAAK,CAACG,EAAE;EACnBG,SAAS,EAAEN,aAAK,CAACF,EAAE;EACnBS,UAAU,EAAEP,aAAK,CAACG;AACpB,CAAC;AAEM,SAASO,cAAcA,CAACC,OAAgB,EAAiB;EAC9D,OAAOA,OAAO,GAAGV,eAAe,GAAGO,YAAY;AACjD","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=centered-dialog-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["dialog/centered-dialog-types.ts"],"mappings":"","ignoreList":[]}