@oxyhq/bloom 0.4.0 → 0.5.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 (186) hide show
  1. package/README.md +105 -90
  2. package/lib/commonjs/bottom-sheet/index.js +2 -2
  3. package/lib/commonjs/context-menu/index.js +18 -19
  4. package/lib/commonjs/context-menu/index.js.map +1 -1
  5. package/lib/commonjs/dialog/BloomDialogProvider.js +61 -0
  6. package/lib/commonjs/dialog/BloomDialogProvider.js.map +1 -0
  7. package/lib/commonjs/dialog/BloomDialogProvider.web.js +45 -0
  8. package/lib/commonjs/dialog/BloomDialogProvider.web.js.map +1 -0
  9. package/lib/commonjs/dialog/Dialog.js +197 -100
  10. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  11. package/lib/commonjs/dialog/Dialog.web.js +194 -84
  12. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  13. package/lib/commonjs/dialog/SheetShell.js +149 -0
  14. package/lib/commonjs/dialog/SheetShell.js.map +1 -0
  15. package/lib/commonjs/dialog/alert-store.js +116 -0
  16. package/lib/commonjs/dialog/alert-store.js.map +1 -0
  17. package/lib/commonjs/dialog/alert.js +38 -0
  18. package/lib/commonjs/dialog/alert.js.map +1 -0
  19. package/lib/commonjs/dialog/context.js +10 -2
  20. package/lib/commonjs/dialog/context.js.map +1 -1
  21. package/lib/commonjs/dialog/index.js +8 -24
  22. package/lib/commonjs/dialog/index.js.map +1 -1
  23. package/lib/commonjs/dialog/index.web.js +10 -20
  24. package/lib/commonjs/dialog/index.web.js.map +1 -1
  25. package/lib/commonjs/index.js +101 -66
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/index.web.js +101 -66
  28. package/lib/commonjs/index.web.js.map +1 -1
  29. package/lib/commonjs/menu/index.js +21 -23
  30. package/lib/commonjs/menu/index.js.map +1 -1
  31. package/lib/commonjs/select/index.js +26 -27
  32. package/lib/commonjs/select/index.js.map +1 -1
  33. package/lib/commonjs/toast/index.js +42 -13
  34. package/lib/commonjs/toast/index.js.map +1 -1
  35. package/lib/commonjs/toast/index.web.js +19 -15
  36. package/lib/commonjs/toast/index.web.js.map +1 -1
  37. package/lib/module/bottom-sheet/index.js +2 -2
  38. package/lib/module/context-menu/index.js +15 -16
  39. package/lib/module/context-menu/index.js.map +1 -1
  40. package/lib/module/dialog/BloomDialogProvider.js +57 -0
  41. package/lib/module/dialog/BloomDialogProvider.js.map +1 -0
  42. package/lib/module/dialog/BloomDialogProvider.web.js +41 -0
  43. package/lib/module/dialog/BloomDialogProvider.web.js.map +1 -0
  44. package/lib/module/dialog/Dialog.js +199 -87
  45. package/lib/module/dialog/Dialog.js.map +1 -1
  46. package/lib/module/dialog/Dialog.web.js +195 -70
  47. package/lib/module/dialog/Dialog.web.js.map +1 -1
  48. package/lib/module/dialog/SheetShell.js +143 -0
  49. package/lib/module/dialog/SheetShell.js.map +1 -0
  50. package/lib/module/dialog/alert-store.js +107 -0
  51. package/lib/module/dialog/alert-store.js.map +1 -0
  52. package/lib/module/dialog/alert.js +35 -0
  53. package/lib/module/dialog/alert.js.map +1 -0
  54. package/lib/module/dialog/context.js +10 -2
  55. package/lib/module/dialog/context.js.map +1 -1
  56. package/lib/module/dialog/index.js +3 -1
  57. package/lib/module/dialog/index.js.map +1 -1
  58. package/lib/module/dialog/index.web.js +9 -7
  59. package/lib/module/dialog/index.web.js.map +1 -1
  60. package/lib/module/index.js +2 -3
  61. package/lib/module/index.js.map +1 -1
  62. package/lib/module/index.web.js +2 -3
  63. package/lib/module/index.web.js.map +1 -1
  64. package/lib/module/menu/index.js +11 -13
  65. package/lib/module/menu/index.js.map +1 -1
  66. package/lib/module/select/index.js +27 -28
  67. package/lib/module/select/index.js.map +1 -1
  68. package/lib/module/toast/index.js +41 -11
  69. package/lib/module/toast/index.js.map +1 -1
  70. package/lib/module/toast/index.web.js +18 -13
  71. package/lib/module/toast/index.web.js.map +1 -1
  72. package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts +2 -0
  73. package/lib/typescript/commonjs/__tests__/Dialog.test.d.ts.map +1 -0
  74. package/lib/typescript/commonjs/bottom-sheet/index.d.ts +1 -1
  75. package/lib/typescript/commonjs/context-menu/index.d.ts +4 -3
  76. package/lib/typescript/commonjs/context-menu/index.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts +27 -0
  78. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts.map +1 -0
  79. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts +15 -0
  80. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/dialog/Dialog.d.ts +37 -10
  82. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +26 -10
  84. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/dialog/SheetShell.d.ts +31 -0
  86. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/dialog/alert-store.d.ts +70 -0
  88. package/lib/typescript/commonjs/dialog/alert-store.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/dialog/alert.d.ts +27 -0
  90. package/lib/typescript/commonjs/dialog/alert.d.ts.map +1 -0
  91. package/lib/typescript/commonjs/dialog/context.d.ts +7 -0
  92. package/lib/typescript/commonjs/dialog/context.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/dialog/index.d.ts +5 -2
  94. package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/dialog/index.web.d.ts +5 -2
  96. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/dialog/types.d.ts +70 -15
  98. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/index.d.ts +3 -3
  100. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/index.web.d.ts +3 -3
  102. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/menu/index.d.ts +4 -4
  104. package/lib/typescript/commonjs/menu/index.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/toast/index.d.ts +32 -3
  107. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/toast/index.web.d.ts +14 -7
  109. package/lib/typescript/commonjs/toast/index.web.d.ts.map +1 -1
  110. package/lib/typescript/module/__tests__/Dialog.test.d.ts +2 -0
  111. package/lib/typescript/module/__tests__/Dialog.test.d.ts.map +1 -0
  112. package/lib/typescript/module/bottom-sheet/index.d.ts +1 -1
  113. package/lib/typescript/module/context-menu/index.d.ts +4 -3
  114. package/lib/typescript/module/context-menu/index.d.ts.map +1 -1
  115. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts +27 -0
  116. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts.map +1 -0
  117. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts +15 -0
  118. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  119. package/lib/typescript/module/dialog/Dialog.d.ts +37 -10
  120. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  121. package/lib/typescript/module/dialog/Dialog.web.d.ts +26 -10
  122. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  123. package/lib/typescript/module/dialog/SheetShell.d.ts +31 -0
  124. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -0
  125. package/lib/typescript/module/dialog/alert-store.d.ts +70 -0
  126. package/lib/typescript/module/dialog/alert-store.d.ts.map +1 -0
  127. package/lib/typescript/module/dialog/alert.d.ts +27 -0
  128. package/lib/typescript/module/dialog/alert.d.ts.map +1 -0
  129. package/lib/typescript/module/dialog/context.d.ts +7 -0
  130. package/lib/typescript/module/dialog/context.d.ts.map +1 -1
  131. package/lib/typescript/module/dialog/index.d.ts +5 -2
  132. package/lib/typescript/module/dialog/index.d.ts.map +1 -1
  133. package/lib/typescript/module/dialog/index.web.d.ts +5 -2
  134. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  135. package/lib/typescript/module/dialog/types.d.ts +70 -15
  136. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  137. package/lib/typescript/module/index.d.ts +3 -3
  138. package/lib/typescript/module/index.d.ts.map +1 -1
  139. package/lib/typescript/module/index.web.d.ts +3 -3
  140. package/lib/typescript/module/index.web.d.ts.map +1 -1
  141. package/lib/typescript/module/menu/index.d.ts +4 -4
  142. package/lib/typescript/module/menu/index.d.ts.map +1 -1
  143. package/lib/typescript/module/select/index.d.ts.map +1 -1
  144. package/lib/typescript/module/toast/index.d.ts +32 -3
  145. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  146. package/lib/typescript/module/toast/index.web.d.ts +14 -7
  147. package/lib/typescript/module/toast/index.web.d.ts.map +1 -1
  148. package/package.json +3 -14
  149. package/src/__tests__/Dialog.test.tsx +177 -0
  150. package/src/bottom-sheet/index.tsx +3 -3
  151. package/src/context-menu/index.tsx +12 -12
  152. package/src/dialog/BloomDialogProvider.tsx +61 -0
  153. package/src/dialog/BloomDialogProvider.web.tsx +46 -0
  154. package/src/dialog/Dialog.tsx +217 -64
  155. package/src/dialog/Dialog.web.tsx +240 -75
  156. package/src/dialog/SheetShell.tsx +154 -0
  157. package/src/dialog/alert-store.ts +126 -0
  158. package/src/dialog/alert.ts +42 -0
  159. package/src/dialog/context.ts +14 -3
  160. package/src/dialog/index.ts +14 -2
  161. package/src/dialog/index.web.ts +20 -8
  162. package/src/dialog/types.ts +73 -16
  163. package/src/index.ts +17 -3
  164. package/src/index.web.ts +17 -3
  165. package/src/menu/index.tsx +13 -17
  166. package/src/select/index.tsx +30 -30
  167. package/src/toast/index.tsx +55 -11
  168. package/src/toast/index.web.tsx +33 -13
  169. package/lib/commonjs/prompt/Prompt.js +0 -267
  170. package/lib/commonjs/prompt/Prompt.js.map +0 -1
  171. package/lib/commonjs/prompt/index.js +0 -61
  172. package/lib/commonjs/prompt/index.js.map +0 -1
  173. package/lib/module/prompt/Prompt.js +0 -250
  174. package/lib/module/prompt/Prompt.js.map +0 -1
  175. package/lib/module/prompt/index.js +0 -4
  176. package/lib/module/prompt/index.js.map +0 -1
  177. package/lib/typescript/commonjs/prompt/Prompt.d.ts +0 -42
  178. package/lib/typescript/commonjs/prompt/Prompt.d.ts.map +0 -1
  179. package/lib/typescript/commonjs/prompt/index.d.ts +0 -3
  180. package/lib/typescript/commonjs/prompt/index.d.ts.map +0 -1
  181. package/lib/typescript/module/prompt/Prompt.d.ts +0 -42
  182. package/lib/typescript/module/prompt/Prompt.d.ts.map +0 -1
  183. package/lib/typescript/module/prompt/index.d.ts +0 -3
  184. package/lib/typescript/module/prompt/index.d.ts.map +0 -1
  185. package/src/prompt/Prompt.tsx +0 -247
  186. package/src/prompt/index.ts +0 -13
@@ -3,42 +3,44 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.AutoMountedDialog = AutoMountedDialog;
6
7
  exports.BLOOM_DIALOG_CSS = void 0;
7
- exports.Backdrop = Backdrop;
8
- exports.Close = Close;
9
- exports.Handle = Handle;
10
- exports.Inner = Inner;
11
- exports.Outer = Outer;
12
- exports.ScrollableInner = ScrollableInner;
13
- Object.defineProperty(exports, "useDialogContext", {
14
- enumerable: true,
15
- get: function () {
16
- return _context.useDialogContext;
17
- }
18
- });
19
- Object.defineProperty(exports, "useDialogControl", {
20
- enumerable: true,
21
- get: function () {
22
- return _context.useDialogControl;
23
- }
24
- });
8
+ exports.Dialog = Dialog;
25
9
  var _react = _interopRequireWildcard(require("react"));
26
10
  var _reactNative = require("react-native");
27
11
  var _reactRemoveScrollBar = require("react-remove-scroll-bar");
28
- var _useTheme = require("../theme/use-theme.js");
29
12
  var _indexWeb = require("../portal/index.web.js");
13
+ var _useTheme = require("../theme/use-theme.js");
30
14
  var _context = require("./context.js");
31
15
  var _jsxRuntime = require("react/jsx-runtime");
32
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); }
33
17
  const FADE_OUT_DURATION = 150;
34
18
  const stopPropagation = e => e.stopPropagation();
35
19
  const ClosingContext = /*#__PURE__*/(0, _react.createContext)(false);
36
- function Outer({
37
- children,
20
+
21
+ /**
22
+ * Web variant of `<Dialog>`.
23
+ *
24
+ * A centered modal card rendered into the bloom Portal at the end of
25
+ * `document.body`. Same prop API as native — `title`, `description`,
26
+ * `actions`, or arbitrary `children` — so call sites are platform
27
+ * agnostic.
28
+ *
29
+ * Accessibility: the panel has `role="dialog"` and the `title`/`description`
30
+ * props (when provided) become the `aria-labelledby` / `aria-describedby`
31
+ * targets. Pressing the backdrop dismisses. Pressing `Escape` dismisses.
32
+ * Focus is locked inside the dialog while it's open.
33
+ */
34
+ function Dialog({
38
35
  control,
39
36
  onClose,
40
37
  testID,
41
- webOptions
38
+ title,
39
+ description,
40
+ actions,
41
+ style,
42
+ label,
43
+ children
42
44
  }) {
43
45
  const [isOpen, setIsOpen] = (0, _react.useState)(false);
44
46
  const [isClosing, setIsClosing] = (0, _react.useState)(false);
@@ -58,18 +60,36 @@ function Outer({
58
60
  const timer = setTimeout(() => {
59
61
  setIsOpen(false);
60
62
  setIsClosing(false);
61
- for (const cb of closeCallbacksRef.current) {
63
+ const queued = closeCallbacksRef.current;
64
+ closeCallbacksRef.current = [];
65
+ for (const cb of queued) {
62
66
  try {
63
67
  cb();
64
68
  } catch (e) {
65
- console.error('Dialog close callback error:', e);
69
+ if (typeof console !== 'undefined' && console.error) {
70
+ console.error('Dialog close callback error:', e);
71
+ }
66
72
  }
67
73
  }
68
- closeCallbacksRef.current = [];
69
74
  onClose?.();
70
75
  }, FADE_OUT_DURATION);
71
76
  return () => clearTimeout(timer);
72
77
  }, [isClosing, onClose]);
78
+
79
+ // Escape-to-close while open. The listener is intentionally scoped to the
80
+ // open lifetime so stacked dialogs don't fight for the keydown — the
81
+ // top-most one wins via document-level event order.
82
+ (0, _react.useEffect)(() => {
83
+ if (!isOpen || typeof document === 'undefined') return;
84
+ const handler = e => {
85
+ if (e.key === 'Escape') {
86
+ e.stopPropagation();
87
+ close();
88
+ }
89
+ };
90
+ document.addEventListener('keydown', handler);
91
+ return () => document.removeEventListener('keydown', handler);
92
+ }, [close, isOpen]);
73
93
  (0, _react.useImperativeHandle)(control.ref, () => ({
74
94
  open,
75
95
  close
@@ -94,23 +114,19 @@ function Outer({
94
114
  bottom: 0,
95
115
  zIndex: 50,
96
116
  alignItems: 'center',
97
- justifyContent: webOptions?.alignCenter ? 'center' : undefined,
98
- paddingHorizontal: 20,
99
- paddingVertical: '10vh',
100
- ...{
101
- overflowY: 'auto'
102
- }
117
+ justifyContent: 'center',
118
+ paddingHorizontal: 20
103
119
  },
104
120
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DialogBackdrop, {
105
121
  isClosing: isClosing
106
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
122
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogPanel, {
107
123
  testID: testID,
108
- style: {
109
- width: '100%',
110
- zIndex: 60,
111
- alignItems: 'center',
112
- minHeight: webOptions?.alignCenter ? undefined : '60%'
113
- },
124
+ label: label,
125
+ title: title,
126
+ description: description,
127
+ actions: actions,
128
+ style: style,
129
+ isClosing: isClosing,
114
130
  children: children
115
131
  })]
116
132
  })]
@@ -118,26 +134,33 @@ function Outer({
118
134
  })
119
135
  });
120
136
  }
121
- function Inner({
122
- children,
123
- style,
137
+ function DialogPanel({
138
+ testID,
124
139
  label,
125
- header,
126
- contentContainerStyle
140
+ title,
141
+ description,
142
+ actions,
143
+ style,
144
+ isClosing,
145
+ children
127
146
  }) {
128
147
  const theme = (0, _useTheme.useTheme)();
129
- const isClosing = (0, _react.useContext)(ClosingContext);
148
+ const titleId = (0, _react.useId)();
149
+ const descriptionId = (0, _react.useId)();
130
150
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
131
151
  role: "dialog",
132
152
  "aria-label": label,
153
+ "aria-labelledby": title ? titleId : undefined,
154
+ "aria-describedby": description ? descriptionId : undefined,
155
+ testID: testID,
133
156
  onStartShouldSetResponder: () => true,
134
157
  onResponderRelease: stopPropagation,
135
158
  onClick: stopPropagation,
136
159
  style: [{
137
160
  position: 'relative',
138
- borderRadius: 10,
161
+ borderRadius: 20,
139
162
  width: '100%',
140
- maxWidth: 600,
163
+ maxWidth: 480,
141
164
  backgroundColor: theme.colors.background,
142
165
  borderWidth: 1,
143
166
  borderColor: theme.isDark ? 'rgba(255,255,255,0.1)' : 'rgba(0,0,0,0.1)',
@@ -148,62 +171,128 @@ function Inner({
148
171
  width: 0,
149
172
  height: 4
150
173
  },
151
- overflow: 'hidden'
174
+ padding: 20,
175
+ zIndex: 60
152
176
  }, isClosing ? {
153
177
  animation: `bloomDialogZoomFadeOut ease-in ${FADE_OUT_DURATION}ms forwards`
154
178
  } : {
155
179
  animation: 'bloomDialogZoomFadeIn cubic-bezier(0.16, 1, 0.3, 1) 0.3s'
156
180
  }, style],
157
- children: [header, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
158
- style: [{
159
- padding: 20
160
- }, contentContainerStyle],
161
- children: children
162
- })]
181
+ children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
182
+ nativeID: titleId,
183
+ style: {
184
+ fontSize: 22,
185
+ fontWeight: '600',
186
+ color: theme.colors.text,
187
+ paddingBottom: description ? 4 : 16,
188
+ lineHeight: 30
189
+ },
190
+ children: title
191
+ }) : null, description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
192
+ nativeID: descriptionId,
193
+ style: {
194
+ fontSize: 16,
195
+ color: theme.colors.textSecondary,
196
+ paddingBottom: 16,
197
+ lineHeight: 22
198
+ },
199
+ children: description
200
+ }) : null, children, actions && actions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
201
+ actions: actions
202
+ }) : null]
163
203
  });
164
204
  }
165
- function ScrollableInner(props) {
166
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Inner, {
167
- ...props
205
+ function ActionRow({
206
+ actions
207
+ }) {
208
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
209
+ style: {
210
+ width: '100%',
211
+ gap: 8,
212
+ justifyContent: 'flex-end'
213
+ },
214
+ children: actions.map((action, idx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionButton, {
215
+ action: action
216
+ }, `${action.label}-${idx}`))
168
217
  });
169
218
  }
170
- function Handle() {
171
- return null;
172
- }
173
- function Close() {
219
+ function ActionButton({
220
+ action
221
+ }) {
174
222
  const {
175
223
  close
176
224
  } = (0, _context.useDialogContext)();
177
225
  const theme = (0, _useTheme.useTheme)();
178
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
226
+ const color = action.color ?? 'default';
227
+ const shouldCloseOnPress = action.shouldCloseOnPress ?? true;
228
+ const {
229
+ background,
230
+ foreground
231
+ } = getActionPalette(color, theme.colors);
232
+ const handlePress = (0, _react.useCallback)(e => {
233
+ const onPress = action.onPress;
234
+ if (color === 'cancel') {
235
+ close(onPress ? () => onPress(e) : undefined);
236
+ return;
237
+ }
238
+ if (shouldCloseOnPress) {
239
+ close(onPress ? () => onPress(e) : undefined);
240
+ } else {
241
+ onPress?.(e);
242
+ }
243
+ }, [action.onPress, close, color, shouldCloseOnPress]);
244
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
179
245
  style: {
180
- position: 'absolute',
181
- top: 10,
182
- right: 10,
183
- zIndex: 10
246
+ borderRadius: 9999,
247
+ alignItems: 'center',
248
+ justifyContent: 'center',
249
+ backgroundColor: background,
250
+ opacity: action.disabled ? 0.5 : 1,
251
+ paddingVertical: 12,
252
+ paddingHorizontal: 24
184
253
  },
185
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
186
- onPress: () => close(),
187
- accessibilityLabel: "Close dialog",
254
+ onPress: handlePress,
255
+ disabled: action.disabled,
256
+ activeOpacity: 0.7,
257
+ testID: action.testID,
258
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
188
259
  style: {
189
- width: 34,
190
- height: 34,
191
- borderRadius: 17,
192
- backgroundColor: theme.isDark ? 'rgba(255,255,255,0.1)' : 'rgba(0,0,0,0.05)',
193
- alignItems: 'center',
194
- justifyContent: 'center'
260
+ fontSize: 16,
261
+ fontWeight: '500',
262
+ color: foreground
195
263
  },
196
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
197
- style: {
198
- fontSize: 18,
199
- color: theme.colors.text,
200
- lineHeight: 20
201
- },
202
- children: '\u00D7'
203
- })
264
+ children: action.label
204
265
  })
205
266
  });
206
267
  }
268
+ function getActionPalette(color, colors) {
269
+ switch (color) {
270
+ case 'destructive':
271
+ return {
272
+ background: colors.negative,
273
+ foreground: colors.negativeForeground
274
+ };
275
+ case 'cancel':
276
+ return {
277
+ background: colors.contrast50,
278
+ foreground: colors.text
279
+ };
280
+ case 'default':
281
+ return {
282
+ background: colors.primary,
283
+ foreground: '#FFFFFF'
284
+ };
285
+ /* c8 ignore next 3 -- TS exhaustiveness guard */
286
+ default:
287
+ {
288
+ const _exhaustive = color;
289
+ return {
290
+ background: colors.primary,
291
+ foreground: '#FFFFFF'
292
+ };
293
+ }
294
+ }
295
+ }
207
296
  function DialogBackdrop({
208
297
  isClosing
209
298
  }) {
@@ -223,8 +312,29 @@ function DialogBackdrop({
223
312
  style: style
224
313
  });
225
314
  }
226
- function Backdrop() {
227
- return null;
315
+
316
+ /**
317
+ * Inline imperative dialog used by `alert()`. Mounts and immediately
318
+ * presents; resolves the host's `onResolve` once the dialog has finished
319
+ * its exit animation.
320
+ */
321
+ function AutoMountedDialog({
322
+ title,
323
+ description,
324
+ actions,
325
+ onResolve
326
+ }) {
327
+ const control = (0, _context.useDialogControl)();
328
+ (0, _react.useEffect)(() => {
329
+ control.open();
330
+ }, [control]);
331
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog, {
332
+ control: control,
333
+ title: title,
334
+ description: description,
335
+ actions: actions,
336
+ onClose: onResolve
337
+ });
228
338
  }
229
339
 
230
340
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRemoveScrollBar","_useTheme","_indexWeb","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FADE_OUT_DURATION","stopPropagation","ClosingContext","createContext","Outer","children","control","onClose","testID","webOptions","isOpen","setIsOpen","useState","isClosing","setIsClosing","closeCallbacksRef","useRef","open","useCallback","close","cb","current","push","useEffect","timer","setTimeout","console","error","clearTimeout","useImperativeHandle","ref","context","useMemo","isWithinDialog","jsx","Portal","Context","Provider","value","jsxs","RemoveScrollBar","Pressable","onPress","style","position","top","left","right","bottom","zIndex","alignItems","justifyContent","alignCenter","undefined","paddingHorizontal","paddingVertical","overflowY","DialogBackdrop","View","width","minHeight","Inner","label","header","contentContainerStyle","theme","useTheme","useContext","role","onStartShouldSetResponder","onResponderRelease","onClick","borderRadius","maxWidth","backgroundColor","colors","background","borderWidth","borderColor","isDark","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","overflow","animation","padding","ScrollableInner","props","Handle","Close","useDialogContext","accessibilityLabel","Text","fontSize","color","text","lineHeight","Backdrop","BLOOM_DIALOG_CSS","exports"],"sourceRoot":"../../../src","sources":["dialog/Dialog.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactRemoveScrollBar","_indexWeb","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FADE_OUT_DURATION","stopPropagation","ClosingContext","createContext","Dialog","control","onClose","testID","title","description","actions","style","label","children","isOpen","setIsOpen","useState","isClosing","setIsClosing","closeCallbacksRef","useRef","open","useCallback","close","cb","current","push","useEffect","timer","setTimeout","queued","console","error","clearTimeout","document","handler","key","addEventListener","removeEventListener","useImperativeHandle","ref","context","useMemo","isWithinDialog","jsx","Portal","Context","Provider","value","jsxs","RemoveScrollBar","Pressable","onPress","position","top","left","right","bottom","zIndex","alignItems","justifyContent","paddingHorizontal","DialogBackdrop","DialogPanel","theme","useTheme","titleId","useId","descriptionId","View","role","undefined","onStartShouldSetResponder","onResponderRelease","onClick","borderRadius","width","maxWidth","backgroundColor","colors","background","borderWidth","borderColor","isDark","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","padding","animation","Text","nativeID","fontSize","fontWeight","color","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","gap","map","action","idx","ActionButton","useDialogContext","shouldCloseOnPress","foreground","getActionPalette","handlePress","TouchableOpacity","opacity","disabled","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","_exhaustive","AutoMountedDialog","onResolve","useDialogControl","BLOOM_DIALOG_CSS","exports"],"sourceRoot":"../../../src","sources":["dialog/Dialog.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SheetShell = SheetShell;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _index = require("../bottom-sheet/index.js");
10
+ var _useTheme = require("../theme/use-theme.js");
11
+ var _context = require("./context.js");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ 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); }
14
+ /**
15
+ * Internal bottom-sheet shell shared by `Menu`, `Select` and `ContextMenu`.
16
+ *
17
+ * Not exported from the public `@oxyhq/bloom` surface — these three
18
+ * components historically used the low-level `Dialog.Outer / Inner /
19
+ * Handle` primitives, which are gone in 0.5.0. This shell captures the
20
+ * shared shape (BottomSheet + drag handle + close-on-tap context) in a
21
+ * single place so the three internal call sites stay symmetrical.
22
+ *
23
+ * Consumers needing the same behaviour for app code should use the public
24
+ * `BottomSheet` primitive directly.
25
+ */
26
+
27
+ /**
28
+ * Bottom-sheet shell with an embedded drag handle. Exposes the bloom
29
+ * dialog `close()` context to descendants — `Menu.Item`, `Select.Item`
30
+ * etc. rely on it to dismiss the sheet after selection.
31
+ */
32
+ function SheetShell({
33
+ control,
34
+ label,
35
+ header,
36
+ onClose,
37
+ contentStyle,
38
+ children
39
+ }) {
40
+ const theme = (0, _useTheme.useTheme)();
41
+ const ref = (0, _react.useRef)(null);
42
+ const closeCallbacks = (0, _react.useRef)([]);
43
+ const callQueuedCallbacks = (0, _react.useCallback)(() => {
44
+ const queued = closeCallbacks.current;
45
+ closeCallbacks.current = [];
46
+ for (const cb of queued) {
47
+ try {
48
+ cb();
49
+ } catch (e) {
50
+ if (typeof console !== 'undefined' && console.error) {
51
+ console.error('SheetShell close callback error:', e);
52
+ }
53
+ }
54
+ }
55
+ }, []);
56
+ const open = (0, _react.useCallback)(() => {
57
+ ref.current?.present();
58
+ }, []);
59
+ const close = (0, _react.useCallback)(cb => {
60
+ if (typeof cb === 'function') {
61
+ closeCallbacks.current.push(cb);
62
+ }
63
+ ref.current?.dismiss();
64
+ }, []);
65
+ const handleDismiss = (0, _react.useCallback)(() => {
66
+ callQueuedCallbacks();
67
+ onClose?.();
68
+ }, [callQueuedCallbacks, onClose]);
69
+ (0, _react.useImperativeHandle)(control.ref, () => ({
70
+ open,
71
+ close
72
+ }), [open, close]);
73
+ const context = (0, _react.useMemo)(() => ({
74
+ close,
75
+ isWithinDialog: true
76
+ }), [close]);
77
+ const sheetStyle = (0, _react.useMemo)(() => ({
78
+ maxWidth: 500,
79
+ backgroundColor: theme.colors.background,
80
+ borderRadius: 20
81
+ }), [theme.colors.background]);
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.BottomSheet, {
83
+ ref: ref,
84
+ onDismiss: handleDismiss,
85
+ enablePanDownToClose: true,
86
+ detached: true,
87
+ backdropOpacity: 0.7,
88
+ style: sheetStyle,
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_context.Context.Provider, {
90
+ value: context,
91
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SheetHandle, {
92
+ onPress: () => close()
93
+ }), header, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
94
+ accessibilityLabel: label,
95
+ style: [styles.body, {
96
+ backgroundColor: theme.colors.background
97
+ }, contentStyle],
98
+ children: children
99
+ })]
100
+ })
101
+ });
102
+ }
103
+ function SheetHandle({
104
+ onPress
105
+ }) {
106
+ const theme = (0, _useTheme.useTheme)();
107
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
108
+ style: styles.handleContainer,
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
110
+ onPress: onPress,
111
+ accessibilityLabel: "Dismiss",
112
+ accessibilityHint: "Tap to close",
113
+ hitSlop: {
114
+ top: 10,
115
+ bottom: 10,
116
+ left: 40,
117
+ right: 40
118
+ },
119
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
120
+ style: [styles.handleBar, {
121
+ backgroundColor: theme.colors.text
122
+ }]
123
+ })
124
+ })
125
+ });
126
+ }
127
+ const styles = _reactNative.StyleSheet.create({
128
+ handleContainer: {
129
+ position: 'absolute',
130
+ width: '100%',
131
+ alignItems: 'center',
132
+ zIndex: 10,
133
+ height: 20
134
+ },
135
+ handleBar: {
136
+ top: 8,
137
+ width: 35,
138
+ height: 5,
139
+ borderRadius: 3,
140
+ alignSelf: 'center',
141
+ opacity: 0.5
142
+ },
143
+ body: {
144
+ paddingTop: 20,
145
+ paddingHorizontal: 20,
146
+ paddingBottom: 20
147
+ }
148
+ });
149
+ //# sourceMappingURL=SheetShell.js.map
@@ -0,0 +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","SheetShell","control","label","header","onClose","contentStyle","children","theme","useTheme","ref","useRef","closeCallbacks","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","style","jsxs","Context","Provider","value","SheetHandle","onPress","View","accessibilityLabel","styles","body","handleContainer","Pressable","accessibilityHint","hitSlop","top","bottom","left","right","handleBar","text","StyleSheet","create","position","width","alignItems","zIndex","height","alignSelf","opacity","paddingTop","paddingHorizontal","paddingBottom"],"sourceRoot":"../../../src","sources":["dialog/SheetShell.tsx"],"mappings":"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","ignoreList":[]}