@oxyhq/bloom 0.4.0 → 0.5.1

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 (275) 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/fonts/FontLoader.js +6 -5
  26. package/lib/commonjs/fonts/FontLoader.js.map +1 -1
  27. package/lib/commonjs/fonts/apply-font-faces.js +4 -4
  28. package/lib/commonjs/fonts/apply-font-faces.web.js +13 -12
  29. package/lib/commonjs/fonts/apply-font-faces.web.js.map +1 -1
  30. package/lib/commonjs/fonts/font-assets.js +2 -2
  31. package/lib/commonjs/fonts/font-data.web.js +22 -0
  32. package/lib/commonjs/fonts/font-data.web.js.map +1 -0
  33. package/lib/commonjs/index.js +101 -66
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/index.web.js +101 -66
  36. package/lib/commonjs/index.web.js.map +1 -1
  37. package/lib/commonjs/menu/index.js +21 -23
  38. package/lib/commonjs/menu/index.js.map +1 -1
  39. package/lib/commonjs/select/index.js +26 -27
  40. package/lib/commonjs/select/index.js.map +1 -1
  41. package/lib/commonjs/toast/index.js +42 -13
  42. package/lib/commonjs/toast/index.js.map +1 -1
  43. package/lib/commonjs/toast/index.web.js +19 -15
  44. package/lib/commonjs/toast/index.web.js.map +1 -1
  45. package/lib/module/bottom-sheet/index.js +2 -2
  46. package/lib/module/context-menu/index.js +15 -16
  47. package/lib/module/context-menu/index.js.map +1 -1
  48. package/lib/module/dialog/BloomDialogProvider.js +57 -0
  49. package/lib/module/dialog/BloomDialogProvider.js.map +1 -0
  50. package/lib/module/dialog/BloomDialogProvider.web.js +41 -0
  51. package/lib/module/dialog/BloomDialogProvider.web.js.map +1 -0
  52. package/lib/module/dialog/Dialog.js +199 -87
  53. package/lib/module/dialog/Dialog.js.map +1 -1
  54. package/lib/module/dialog/Dialog.web.js +195 -70
  55. package/lib/module/dialog/Dialog.web.js.map +1 -1
  56. package/lib/module/dialog/SheetShell.js +143 -0
  57. package/lib/module/dialog/SheetShell.js.map +1 -0
  58. package/lib/module/dialog/alert-store.js +107 -0
  59. package/lib/module/dialog/alert-store.js.map +1 -0
  60. package/lib/module/dialog/alert.js +35 -0
  61. package/lib/module/dialog/alert.js.map +1 -0
  62. package/lib/module/dialog/context.js +10 -2
  63. package/lib/module/dialog/context.js.map +1 -1
  64. package/lib/module/dialog/index.js +3 -1
  65. package/lib/module/dialog/index.js.map +1 -1
  66. package/lib/module/dialog/index.web.js +9 -7
  67. package/lib/module/dialog/index.web.js.map +1 -1
  68. package/lib/module/fonts/FontLoader.js +6 -5
  69. package/lib/module/fonts/FontLoader.js.map +1 -1
  70. package/lib/module/fonts/apply-font-faces.js +4 -4
  71. package/lib/module/fonts/apply-font-faces.web.js +13 -10
  72. package/lib/module/fonts/apply-font-faces.web.js.map +1 -1
  73. package/lib/module/fonts/font-assets.js +2 -2
  74. package/lib/module/fonts/font-data.web.js +18 -0
  75. package/lib/module/fonts/font-data.web.js.map +1 -0
  76. package/lib/module/fonts/index.web.js +4 -4
  77. package/lib/module/index.js +2 -3
  78. package/lib/module/index.js.map +1 -1
  79. package/lib/module/index.web.js +2 -3
  80. package/lib/module/index.web.js.map +1 -1
  81. package/lib/module/menu/index.js +11 -13
  82. package/lib/module/menu/index.js.map +1 -1
  83. package/lib/module/select/index.js +27 -28
  84. package/lib/module/select/index.js.map +1 -1
  85. package/lib/module/toast/index.js +41 -11
  86. package/lib/module/toast/index.js.map +1 -1
  87. package/lib/module/toast/index.web.js +18 -13
  88. package/lib/module/toast/index.web.js.map +1 -1
  89. package/lib/typescript/commonjs/bottom-sheet/index.d.ts +1 -1
  90. package/lib/typescript/commonjs/context-menu/index.d.ts +4 -3
  91. package/lib/typescript/commonjs/context-menu/index.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts +27 -0
  93. package/lib/typescript/commonjs/dialog/BloomDialogProvider.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts +15 -0
  95. package/lib/typescript/commonjs/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/dialog/Dialog.d.ts +37 -10
  97. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +26 -10
  99. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/dialog/SheetShell.d.ts +31 -0
  101. package/lib/typescript/commonjs/dialog/SheetShell.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/dialog/alert-store.d.ts +70 -0
  103. package/lib/typescript/commonjs/dialog/alert-store.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/dialog/alert.d.ts +27 -0
  105. package/lib/typescript/commonjs/dialog/alert.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/dialog/context.d.ts +7 -0
  107. package/lib/typescript/commonjs/dialog/context.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/dialog/index.d.ts +5 -2
  109. package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/dialog/index.web.d.ts +5 -2
  111. package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/dialog/types.d.ts +70 -15
  113. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/fonts/FontLoader.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/fonts/apply-font-faces.web.d.ts +8 -1
  116. package/lib/typescript/commonjs/fonts/apply-font-faces.web.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/fonts/font-data.web.d.ts +5 -0
  118. package/lib/typescript/commonjs/fonts/font-data.web.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/index.d.ts +3 -3
  120. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/index.web.d.ts +3 -3
  122. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/menu/index.d.ts +4 -4
  124. package/lib/typescript/commonjs/menu/index.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/select/index.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/toast/index.d.ts +32 -3
  127. package/lib/typescript/commonjs/toast/index.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/toast/index.web.d.ts +14 -7
  129. package/lib/typescript/commonjs/toast/index.web.d.ts.map +1 -1
  130. package/lib/typescript/module/bottom-sheet/index.d.ts +1 -1
  131. package/lib/typescript/module/context-menu/index.d.ts +4 -3
  132. package/lib/typescript/module/context-menu/index.d.ts.map +1 -1
  133. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts +27 -0
  134. package/lib/typescript/module/dialog/BloomDialogProvider.d.ts.map +1 -0
  135. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts +15 -0
  136. package/lib/typescript/module/dialog/BloomDialogProvider.web.d.ts.map +1 -0
  137. package/lib/typescript/module/dialog/Dialog.d.ts +37 -10
  138. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  139. package/lib/typescript/module/dialog/Dialog.web.d.ts +26 -10
  140. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  141. package/lib/typescript/module/dialog/SheetShell.d.ts +31 -0
  142. package/lib/typescript/module/dialog/SheetShell.d.ts.map +1 -0
  143. package/lib/typescript/module/dialog/alert-store.d.ts +70 -0
  144. package/lib/typescript/module/dialog/alert-store.d.ts.map +1 -0
  145. package/lib/typescript/module/dialog/alert.d.ts +27 -0
  146. package/lib/typescript/module/dialog/alert.d.ts.map +1 -0
  147. package/lib/typescript/module/dialog/context.d.ts +7 -0
  148. package/lib/typescript/module/dialog/context.d.ts.map +1 -1
  149. package/lib/typescript/module/dialog/index.d.ts +5 -2
  150. package/lib/typescript/module/dialog/index.d.ts.map +1 -1
  151. package/lib/typescript/module/dialog/index.web.d.ts +5 -2
  152. package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
  153. package/lib/typescript/module/dialog/types.d.ts +70 -15
  154. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  155. package/lib/typescript/module/fonts/FontLoader.d.ts.map +1 -1
  156. package/lib/typescript/module/fonts/apply-font-faces.web.d.ts +8 -1
  157. package/lib/typescript/module/fonts/apply-font-faces.web.d.ts.map +1 -1
  158. package/lib/typescript/module/fonts/font-data.web.d.ts +5 -0
  159. package/lib/typescript/module/fonts/font-data.web.d.ts.map +1 -0
  160. package/lib/typescript/module/index.d.ts +3 -3
  161. package/lib/typescript/module/index.d.ts.map +1 -1
  162. package/lib/typescript/module/index.web.d.ts +3 -3
  163. package/lib/typescript/module/index.web.d.ts.map +1 -1
  164. package/lib/typescript/module/menu/index.d.ts +4 -4
  165. package/lib/typescript/module/menu/index.d.ts.map +1 -1
  166. package/lib/typescript/module/select/index.d.ts.map +1 -1
  167. package/lib/typescript/module/toast/index.d.ts +32 -3
  168. package/lib/typescript/module/toast/index.d.ts.map +1 -1
  169. package/lib/typescript/module/toast/index.web.d.ts +14 -7
  170. package/lib/typescript/module/toast/index.web.d.ts.map +1 -1
  171. package/package.json +38 -18
  172. package/src/__tests__/Dialog.test.tsx +177 -0
  173. package/src/avatar/Avatar.stories.tsx +69 -0
  174. package/src/bottom-sheet/BottomSheet.stories.tsx +92 -0
  175. package/src/bottom-sheet/index.tsx +3 -3
  176. package/src/button/Button.stories.tsx +94 -0
  177. package/src/context-menu/ContextMenu.stories.tsx +71 -0
  178. package/src/context-menu/index.tsx +12 -12
  179. package/src/dialog/BloomDialogProvider.tsx +61 -0
  180. package/src/dialog/BloomDialogProvider.web.tsx +46 -0
  181. package/src/dialog/Dialog.stories.tsx +112 -0
  182. package/src/dialog/Dialog.tsx +217 -64
  183. package/src/dialog/Dialog.web.tsx +240 -75
  184. package/src/dialog/SheetShell.tsx +154 -0
  185. package/src/dialog/alert-store.ts +126 -0
  186. package/src/dialog/alert.ts +42 -0
  187. package/src/dialog/context.ts +14 -3
  188. package/src/dialog/index.ts +14 -2
  189. package/src/dialog/index.web.ts +20 -8
  190. package/src/dialog/types.ts +73 -16
  191. package/src/fonts/FontLoader.tsx +6 -5
  192. package/src/fonts/apply-font-faces.ts +4 -4
  193. package/src/fonts/apply-font-faces.web.ts +18 -10
  194. package/src/fonts/font-assets.ts +2 -2
  195. package/src/fonts/font-data.web.ts +15 -0
  196. package/src/fonts/index.web.ts +4 -4
  197. package/src/index.ts +17 -3
  198. package/src/index.web.ts +17 -3
  199. package/src/loading/Loading.stories.tsx +60 -0
  200. package/src/menu/Menu.stories.tsx +79 -0
  201. package/src/menu/index.tsx +13 -17
  202. package/src/prompt-input/PromptInput.stories.tsx +82 -0
  203. package/src/select/Select.stories.tsx +84 -0
  204. package/src/select/index.tsx +30 -30
  205. package/src/settings-list/SettingsList.stories.tsx +106 -0
  206. package/src/text-field/TextField.stories.tsx +90 -0
  207. package/src/toast/Toast.stories.tsx +109 -0
  208. package/src/toast/index.tsx +55 -11
  209. package/src/toast/index.web.tsx +33 -13
  210. package/lib/commonjs/fonts/assets/BlomusModernus-Bold.woff2 +0 -0
  211. package/lib/commonjs/fonts/assets/BlomusModernus-Regular.woff2 +0 -0
  212. package/lib/commonjs/fonts/assets/GeistMono-Variable.woff2 +0 -0
  213. package/lib/commonjs/fonts/assets/InterVariable.woff2 +0 -0
  214. package/lib/commonjs/prompt/Prompt.js +0 -267
  215. package/lib/commonjs/prompt/Prompt.js.map +0 -1
  216. package/lib/commonjs/prompt/index.js +0 -61
  217. package/lib/commonjs/prompt/index.js.map +0 -1
  218. package/lib/module/fonts/assets/BlomusModernus-Bold.woff2 +0 -0
  219. package/lib/module/fonts/assets/BlomusModernus-Regular.woff2 +0 -0
  220. package/lib/module/fonts/assets/GeistMono-Variable.woff2 +0 -0
  221. package/lib/module/fonts/assets/InterVariable.woff2 +0 -0
  222. package/lib/module/prompt/Prompt.js +0 -250
  223. package/lib/module/prompt/Prompt.js.map +0 -1
  224. package/lib/module/prompt/index.js +0 -4
  225. package/lib/module/prompt/index.js.map +0 -1
  226. package/lib/typescript/commonjs/__tests__/BloomThemeProvider.fonts-web.test.d.ts +0 -5
  227. package/lib/typescript/commonjs/__tests__/BloomThemeProvider.fonts-web.test.d.ts.map +0 -1
  228. package/lib/typescript/commonjs/__tests__/BloomThemeProvider.test.d.ts +0 -2
  229. package/lib/typescript/commonjs/__tests__/BloomThemeProvider.test.d.ts.map +0 -1
  230. package/lib/typescript/commonjs/__tests__/BottomSheet.test.d.ts +0 -2
  231. package/lib/typescript/commonjs/__tests__/BottomSheet.test.d.ts.map +0 -1
  232. package/lib/typescript/commonjs/__tests__/Button.test.d.ts +0 -2
  233. package/lib/typescript/commonjs/__tests__/Button.test.d.ts.map +0 -1
  234. package/lib/typescript/commonjs/__tests__/Code.test.d.ts +0 -2
  235. package/lib/typescript/commonjs/__tests__/Code.test.d.ts.map +0 -1
  236. package/lib/typescript/commonjs/__tests__/FontLoader.native.test.d.ts +0 -2
  237. package/lib/typescript/commonjs/__tests__/FontLoader.native.test.d.ts.map +0 -1
  238. package/lib/typescript/commonjs/__tests__/Pre.test.d.ts +0 -2
  239. package/lib/typescript/commonjs/__tests__/Pre.test.d.ts.map +0 -1
  240. package/lib/typescript/commonjs/__tests__/SettingsList.test.d.ts +0 -2
  241. package/lib/typescript/commonjs/__tests__/SettingsList.test.d.ts.map +0 -1
  242. package/lib/typescript/commonjs/__tests__/apply-font-faces.test.d.ts +0 -5
  243. package/lib/typescript/commonjs/__tests__/apply-font-faces.test.d.ts.map +0 -1
  244. package/lib/typescript/commonjs/__tests__/theme.test.d.ts +0 -2
  245. package/lib/typescript/commonjs/__tests__/theme.test.d.ts.map +0 -1
  246. package/lib/typescript/commonjs/prompt/Prompt.d.ts +0 -42
  247. package/lib/typescript/commonjs/prompt/Prompt.d.ts.map +0 -1
  248. package/lib/typescript/commonjs/prompt/index.d.ts +0 -3
  249. package/lib/typescript/commonjs/prompt/index.d.ts.map +0 -1
  250. package/lib/typescript/module/__tests__/BloomThemeProvider.fonts-web.test.d.ts +0 -5
  251. package/lib/typescript/module/__tests__/BloomThemeProvider.fonts-web.test.d.ts.map +0 -1
  252. package/lib/typescript/module/__tests__/BloomThemeProvider.test.d.ts +0 -2
  253. package/lib/typescript/module/__tests__/BloomThemeProvider.test.d.ts.map +0 -1
  254. package/lib/typescript/module/__tests__/BottomSheet.test.d.ts +0 -2
  255. package/lib/typescript/module/__tests__/BottomSheet.test.d.ts.map +0 -1
  256. package/lib/typescript/module/__tests__/Button.test.d.ts +0 -2
  257. package/lib/typescript/module/__tests__/Button.test.d.ts.map +0 -1
  258. package/lib/typescript/module/__tests__/Code.test.d.ts +0 -2
  259. package/lib/typescript/module/__tests__/Code.test.d.ts.map +0 -1
  260. package/lib/typescript/module/__tests__/FontLoader.native.test.d.ts +0 -2
  261. package/lib/typescript/module/__tests__/FontLoader.native.test.d.ts.map +0 -1
  262. package/lib/typescript/module/__tests__/Pre.test.d.ts +0 -2
  263. package/lib/typescript/module/__tests__/Pre.test.d.ts.map +0 -1
  264. package/lib/typescript/module/__tests__/SettingsList.test.d.ts +0 -2
  265. package/lib/typescript/module/__tests__/SettingsList.test.d.ts.map +0 -1
  266. package/lib/typescript/module/__tests__/apply-font-faces.test.d.ts +0 -5
  267. package/lib/typescript/module/__tests__/apply-font-faces.test.d.ts.map +0 -1
  268. package/lib/typescript/module/__tests__/theme.test.d.ts +0 -2
  269. package/lib/typescript/module/__tests__/theme.test.d.ts.map +0 -1
  270. package/lib/typescript/module/prompt/Prompt.d.ts +0 -42
  271. package/lib/typescript/module/prompt/Prompt.d.ts.map +0 -1
  272. package/lib/typescript/module/prompt/index.d.ts +0 -3
  273. package/lib/typescript/module/prompt/index.d.ts.map +0 -1
  274. package/src/prompt/Prompt.tsx +0 -247
  275. package/src/prompt/index.ts +0 -13
@@ -3,24 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Backdrop = Backdrop;
7
- exports.Close = Close;
8
- exports.Handle = Handle;
9
- exports.Inner = Inner;
10
- exports.Outer = Outer;
11
- exports.ScrollableInner = ScrollableInner;
12
- Object.defineProperty(exports, "useDialogContext", {
13
- enumerable: true,
14
- get: function () {
15
- return _context.useDialogContext;
16
- }
17
- });
18
- Object.defineProperty(exports, "useDialogControl", {
19
- enumerable: true,
20
- get: function () {
21
- return _context.useDialogControl;
22
- }
23
- });
6
+ exports.AutoMountedDialog = AutoMountedDialog;
7
+ exports.Dialog = Dialog;
24
8
  var _react = _interopRequireWildcard(require("react"));
25
9
  var _reactNative = require("react-native");
26
10
  var _index = require("../bottom-sheet/index.js");
@@ -28,24 +12,60 @@ var _useTheme = require("../theme/use-theme.js");
28
12
  var _context = require("./context.js");
29
13
  var _jsxRuntime = require("react/jsx-runtime");
30
14
  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); }
31
- function Outer({
32
- children,
15
+ /**
16
+ * Native variant of `<Dialog>`.
17
+ *
18
+ * Uses bloom's own `BottomSheet` in `detached` mode as the underlying
19
+ * surface — a floating, dynamically-sized, content-hugging card that
20
+ * gracefully degrades from sheet (phone) to centered card (tablet, via the
21
+ * 500px max-width cap).
22
+ *
23
+ * The component accepts three rendering modes simultaneously:
24
+ *
25
+ * 1. Declarative — `title`, `description`, `actions`. Bloom renders a
26
+ * standard confirm/destructive/cancel layout.
27
+ * 2. Custom children — caller passes JSX, bloom renders the chrome (title
28
+ * + close behaviour) and the children fill the body.
29
+ * 3. Pure children — no `title`/`description`/`actions`; caller owns
30
+ * every pixel.
31
+ *
32
+ * All three share the same dismissal semantics: tapping the backdrop, the
33
+ * drag handle, swiping down, or `control.close()` runs the queued close
34
+ * callbacks once the sheet's exit animation has settled.
35
+ */
36
+ function Dialog({
33
37
  control,
34
38
  onClose,
35
- testID
39
+ testID,
40
+ title,
41
+ description,
42
+ actions,
43
+ style,
44
+ label,
45
+ children
36
46
  }) {
37
47
  const theme = (0, _useTheme.useTheme)();
38
48
  const ref = (0, _react.useRef)(null);
39
49
  const closeCallbacks = (0, _react.useRef)([]);
50
+ const titleId = (0, _react.useId)();
51
+ const descriptionId = (0, _react.useId)();
52
+
53
+ // Drain queued close callbacks atomically — capturing the list and
54
+ // resetting it before invocation ensures a callback that synchronously
55
+ // re-opens the dialog (and queues fresh callbacks) does not see the old
56
+ // ones replayed against the new session.
40
57
  const callQueuedCallbacks = (0, _react.useCallback)(() => {
41
- for (const cb of closeCallbacks.current) {
58
+ const queued = closeCallbacks.current;
59
+ closeCallbacks.current = [];
60
+ for (const cb of queued) {
42
61
  try {
43
62
  cb();
44
63
  } catch (e) {
45
- console.error('Dialog close callback error:', e);
64
+ if (typeof console !== 'undefined' && console.error) {
65
+ console.error('Dialog close callback error:', e);
66
+ }
46
67
  }
47
68
  }
48
- closeCallbacks.current = [];
49
69
  }, []);
50
70
  const open = (0, _react.useCallback)(() => {
51
71
  ref.current?.present();
@@ -56,11 +76,6 @@ function Outer({
56
76
  }
57
77
  ref.current?.dismiss();
58
78
  }, []);
59
-
60
- // onDismiss fires after the BottomSheet's close animation finishes — this is
61
- // the integration point for the closeCallbacks queue. Consumers (e.g.
62
- // Prompt.Action) rely on the queued callback running AFTER the sheet has
63
- // visually closed so the screen transition feels natural.
64
79
  const handleDismiss = (0, _react.useCallback)(() => {
65
80
  callQueuedCallbacks();
66
81
  onClose?.();
@@ -76,9 +91,9 @@ function Outer({
76
91
  const sheetStyle = (0, _react.useMemo)(() => ({
77
92
  maxWidth: 500,
78
93
  backgroundColor: theme.colors.background,
79
- // All four corners rounded — Dialog uses BottomSheet in `detached` mode
80
- // (floating card with safe-area margins), so we round the bottom too
81
- // instead of leaving the default top-only radius.
94
+ // All four corners rounded — bloom's BottomSheet defaults to top-only
95
+ // radius in flush mode, but we use `detached` so the whole card is
96
+ // floating and rounded uniformly.
82
97
  borderRadius: 20
83
98
  }), [theme.colors.background]);
84
99
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.BottomSheet, {
@@ -86,95 +101,177 @@ function Outer({
86
101
  onDismiss: handleDismiss,
87
102
  enablePanDownToClose: true,
88
103
  detached: true
89
- // Stronger dim so the underlying bottom-sheet's handle/content doesn't
90
- // bleed through when a Dialog/Prompt is stacked over another sheet.
104
+ // Stronger dim when a Dialog is stacked over another sheet so the
105
+ // underlying sheet's handle/content doesn't bleed through.
91
106
  ,
92
107
  backdropOpacity: 0.7,
93
108
  style: sheetStyle,
94
109
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.Context.Provider, {
95
110
  value: context,
96
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
97
112
  testID: testID,
98
- style: {
113
+ accessibilityLabel: label,
114
+ "aria-labelledby": title ? titleId : undefined,
115
+ "aria-describedby": description ? descriptionId : undefined,
116
+ style: [
117
+ // Detached BottomSheet already adds `marginBottom: insets.bottom + 16`
118
+ // to the sheet container — the floating card sits ABOVE the
119
+ // system gesture bar, so we don't add `insets.bottom` here.
120
+ {
121
+ paddingTop: 20,
122
+ paddingHorizontal: 20,
123
+ paddingBottom: 20
124
+ }, {
99
125
  backgroundColor: theme.colors.background
100
- },
101
- children: children
126
+ }, style],
127
+ children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
128
+ nativeID: titleId,
129
+ style: {
130
+ fontSize: 22,
131
+ fontWeight: '600',
132
+ color: theme.colors.text,
133
+ paddingBottom: description ? 4 : 16,
134
+ lineHeight: 30
135
+ },
136
+ children: title
137
+ }) : null, description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
138
+ nativeID: descriptionId,
139
+ style: {
140
+ fontSize: 16,
141
+ color: theme.colors.textSecondary,
142
+ paddingBottom: 16,
143
+ lineHeight: 22
144
+ },
145
+ children: description
146
+ }) : null, children, actions && actions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
147
+ actions: actions
148
+ }) : null]
102
149
  })
103
150
  })
104
151
  });
105
152
  }
106
- function Inner({
107
- children,
108
- style,
109
- header,
110
- contentContainerStyle
153
+ function ActionRow({
154
+ actions
111
155
  }) {
112
- // Dialog renders inside a `detached` BottomSheet, which already adds
113
- // `marginBottom: insets.bottom + 16` to the sheet container — the floating
114
- // card sits ABOVE the system gesture bar, so we don't add `insets.bottom`
115
- // here. Doing so double-padded the bottom on Android edge-to-edge displays.
116
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
117
- children: [header, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
118
- style: [{
119
- paddingTop: 20,
120
- paddingHorizontal: 20,
121
- paddingBottom: 20
122
- }, contentContainerStyle, style],
123
- children: children
124
- })]
125
- });
126
- }
127
- function ScrollableInner(props) {
128
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Inner, {
129
- ...props
156
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
157
+ style: {
158
+ width: '100%',
159
+ gap: 8,
160
+ justifyContent: 'flex-end'
161
+ },
162
+ children: actions.map((action, idx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionButton, {
163
+ action: action
164
+ }, `${action.label}-${idx}`))
130
165
  });
131
166
  }
132
- const handleStyles = _reactNative.StyleSheet.create({
133
- container: {
134
- position: 'absolute',
135
- width: '100%',
136
- alignItems: 'center',
137
- zIndex: 10,
138
- height: 20
139
- },
140
- bar: {
141
- top: 8,
142
- width: 35,
143
- height: 5,
144
- borderRadius: 3,
145
- alignSelf: 'center',
146
- opacity: 0.5
147
- }
148
- });
149
- function Handle() {
150
- const theme = (0, _useTheme.useTheme)();
167
+ function ActionButton({
168
+ action
169
+ }) {
151
170
  const {
152
171
  close
153
172
  } = (0, _context.useDialogContext)();
154
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
155
- style: handleStyles.container,
156
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
157
- onPress: () => close(),
158
- accessibilityLabel: "Dismiss",
159
- accessibilityHint: "Tap to close the dialog",
160
- hitSlop: {
161
- top: 10,
162
- bottom: 10,
163
- left: 40,
164
- right: 40
173
+ const theme = (0, _useTheme.useTheme)();
174
+ const color = action.color ?? 'default';
175
+ const shouldCloseOnPress = action.shouldCloseOnPress ?? true;
176
+ const {
177
+ background,
178
+ foreground
179
+ } = getActionPalette(color, theme.colors);
180
+ const handlePress = (0, _react.useCallback)(e => {
181
+ const onPress = action.onPress;
182
+ if (color === 'cancel') {
183
+ // Cancel always dismisses; consumer's onPress (rare) runs after.
184
+ close(onPress ? () => onPress(e) : undefined);
185
+ return;
186
+ }
187
+ if (shouldCloseOnPress) {
188
+ close(onPress ? () => onPress(e) : undefined);
189
+ } else {
190
+ onPress?.(e);
191
+ }
192
+ }, [action.onPress, close, color, shouldCloseOnPress]);
193
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
194
+ style: {
195
+ borderRadius: 9999,
196
+ alignItems: 'center',
197
+ justifyContent: 'center',
198
+ backgroundColor: background,
199
+ opacity: action.disabled ? 0.5 : 1,
200
+ paddingVertical: 12,
201
+ paddingHorizontal: 24
202
+ },
203
+ onPress: handlePress,
204
+ disabled: action.disabled,
205
+ activeOpacity: 0.7,
206
+ testID: action.testID,
207
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
208
+ style: {
209
+ fontSize: 16,
210
+ fontWeight: '500',
211
+ color: foreground
165
212
  },
166
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
167
- style: [handleStyles.bar, {
168
- backgroundColor: theme.colors.text
169
- }]
170
- })
213
+ children: action.label
171
214
  })
172
215
  });
173
216
  }
174
- function Close() {
175
- return null;
217
+ function getActionPalette(color, colors) {
218
+ switch (color) {
219
+ case 'destructive':
220
+ return {
221
+ background: colors.negative,
222
+ foreground: colors.negativeForeground
223
+ };
224
+ case 'cancel':
225
+ return {
226
+ background: colors.contrast50,
227
+ foreground: colors.text
228
+ };
229
+ case 'default':
230
+ return {
231
+ background: colors.primary,
232
+ foreground: '#FFFFFF'
233
+ };
234
+ /* c8 ignore next 2 -- TS exhaustiveness check guards this branch */
235
+ default:
236
+ {
237
+ const _exhaustive = color;
238
+ return {
239
+ background: colors.primary,
240
+ foreground: '#FFFFFF'
241
+ };
242
+ }
243
+ }
176
244
  }
177
- function Backdrop() {
178
- return null;
245
+
246
+ /**
247
+ * Helper used by the imperative `alert()` API. Mounts a `<Dialog>` against
248
+ * a fresh control and presents it immediately. `onResolve` is invoked
249
+ * exactly once when the dialog finishes closing (regardless of how the
250
+ * dismissal happened).
251
+ *
252
+ * Kept private to the dialog module — `alert()` is the public surface.
253
+ */
254
+ function AutoMountedDialog({
255
+ title,
256
+ description,
257
+ actions,
258
+ onResolve
259
+ }) {
260
+ const control = (0, _context.useDialogControl)();
261
+
262
+ // `control` is referentially stable for the lifetime of the component
263
+ // (memoised by `useDialogControl` on `[id]`), so this effect runs exactly
264
+ // once per mount — present-on-mount semantics for an `alert()` call
265
+ // without re-presenting on subsequent renders.
266
+ (0, _react.useEffect)(() => {
267
+ control.open();
268
+ }, [control]);
269
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog, {
270
+ control: control,
271
+ title: title,
272
+ description: description,
273
+ actions: actions,
274
+ onClose: onResolve
275
+ });
179
276
  }
180
277
  //# sourceMappingURL=Dialog.js.map
@@ -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","Outer","children","control","onClose","testID","theme","useTheme","ref","useRef","closeCallbacks","callQueuedCallbacks","useCallback","cb","current","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","Context","Provider","value","View","Inner","header","contentContainerStyle","jsxs","Fragment","paddingTop","paddingHorizontal","paddingBottom","ScrollableInner","props","handleStyles","StyleSheet","create","container","position","width","alignItems","zIndex","height","bar","top","alignSelf","opacity","Handle","useDialogContext","Pressable","onPress","accessibilityLabel","accessibilityHint","hitSlop","bottom","left","right","text","Close","Backdrop"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
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","_exhaustive","AutoMountedDialog","onResolve","useDialogControl","useEffect"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}