@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
@@ -4,52 +4,87 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.AutoMountedDialog = AutoMountedDialog;
7
+ Object.defineProperty(exports, "DIALOG_SHEET_BACKDROP_TESTID", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _placement.DIALOG_SHEET_BACKDROP_TESTID;
11
+ }
12
+ });
7
13
  exports.Dialog = Dialog;
8
14
  var _react = _interopRequireWildcard(require("react"));
9
15
  var _reactNative = require("react-native");
16
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
17
  var _index = require("../bottom-sheet/index.js");
18
+ var _zIndex = require("../styles/z-index.js");
11
19
  var _useTheme = require("../theme/use-theme.js");
12
20
  var _context = require("./context.js");
21
+ var _placement = require("./placement.js");
13
22
  var _jsxRuntime = require("react/jsx-runtime");
14
23
  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); }
15
24
  /**
16
25
  * Native variant of `<Dialog>`.
17
26
  *
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).
27
+ * Open/close is driven by EITHER the imperative `control` (legacy) OR the
28
+ * controlled `open` prop. When `open` is provided it wins.
22
29
  *
23
- * The component accepts three rendering modes simultaneously:
30
+ * `placement` selects the surface:
24
31
  *
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 childrenno `title`/`description`/`actions`; caller owns
30
- * every pixel.
32
+ * - `'center'` (default) / `'bottom'` bloom's `BottomSheet` (`detached`
33
+ * for center: a floating, content-hugging card that degrades from sheet to
34
+ * centered card via the 500px cap; flush for bottom: a full-width sheet
35
+ * with a drag handle). Default behavior is unchanged.
36
+ * - `'left'` / `'right'` an anchored side-sheet/drawer driven by
37
+ * reanimated. Exit animations are safe on native.
38
+ *
39
+ * The component accepts three rendering modes simultaneously:
31
40
  *
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.
41
+ * 1. Declarative `title`, `description`, `actions`.
42
+ * 2. Custom children caller passes JSX, bloom renders the chrome.
43
+ * 3. Pure children no `title`/`description`/`actions`.
35
44
  */
36
45
  function Dialog({
37
46
  control,
47
+ open: controlledOpen,
38
48
  onClose,
39
49
  testID,
40
50
  title,
41
51
  description,
42
52
  actions,
53
+ placement,
54
+ width = _placement.DEFAULT_SIDE_WIDTH,
55
+ maxHeightRatio = _placement.DEFAULT_MAX_HEIGHT_RATIO,
56
+ inset,
57
+ showHandle = true,
58
+ dismissOnBackdrop = true,
43
59
  style,
60
+ panelStyle,
61
+ panelClassName,
62
+ containerStyle,
63
+ containerClassName,
44
64
  label,
45
65
  children
46
66
  }) {
67
+ const isControlled = controlledOpen !== undefined;
68
+ const resolvedPlacement = (0, _placement.useResolvedPlacement)(placement);
69
+ const isSide = resolvedPlacement === 'left' || resolvedPlacement === 'right';
70
+
71
+ // Imperative open state for the side placement (the BottomSheet path owns its
72
+ // own visibility via its ref instead).
73
+ const [sideOpen, setSideOpen] = (0, _react.useState)(false);
47
74
  const theme = (0, _useTheme.useTheme)();
48
75
  const ref = (0, _react.useRef)(null);
49
76
  const closeCallbacks = (0, _react.useRef)([]);
50
77
  const titleId = (0, _react.useId)();
51
78
  const descriptionId = (0, _react.useId)();
52
79
 
80
+ // Read the latest controlled flag / `onClose` inside stable callbacks
81
+ // without re-binding them (the context + imperative handle depend on `close`
82
+ // staying referentially stable).
83
+ const isControlledRef = (0, _react.useRef)(isControlled);
84
+ isControlledRef.current = isControlled;
85
+ const onCloseRef = (0, _react.useRef)(onClose);
86
+ onCloseRef.current = onClose;
87
+
53
88
  // Drain queued close callbacks atomically — capturing the list and
54
89
  // resetting it before invocation ensures a callback that synchronously
55
90
  // re-opens the dialog (and queues fresh callbacks) does not see the old
@@ -68,19 +103,49 @@ function Dialog({
68
103
  }
69
104
  }, []);
70
105
  const open = (0, _react.useCallback)(() => {
106
+ setSideOpen(true);
71
107
  ref.current?.present();
72
108
  }, []);
109
+
110
+ // A dismissal request (backdrop, pan-to-close, action button). In controlled
111
+ // mode it asks the host to close via `onClose` (the host flips `open`); in
112
+ // imperative mode it dismisses the surface directly. The optional callback
113
+ // runs once the dialog has finished closing.
73
114
  const close = (0, _react.useCallback)(cb => {
74
115
  if (typeof cb === 'function') {
75
116
  closeCallbacks.current.push(cb);
76
117
  }
118
+ if (isControlledRef.current) {
119
+ onCloseRef.current?.();
120
+ return;
121
+ }
122
+ setSideOpen(false);
77
123
  ref.current?.dismiss();
78
124
  }, []);
125
+
126
+ // Fired when the underlying surface has finished closing. Drains queued
127
+ // callbacks, then fires `onClose` ONLY in imperative mode — controlled mode
128
+ // already requested the close through `onClose` (the host then flipped
129
+ // `open`), so firing it again here would double-call it.
79
130
  const handleDismiss = (0, _react.useCallback)(() => {
80
131
  callQueuedCallbacks();
81
- onClose?.();
82
- }, [callQueuedCallbacks, onClose]);
83
- (0, _react.useImperativeHandle)(control.ref, () => ({
132
+ if (!isControlledRef.current) onCloseRef.current?.();
133
+ }, [callQueuedCallbacks]);
134
+
135
+ // In controlled mode, mirror the `open` prop onto the underlying surface so
136
+ // both modes share one lifecycle. The BottomSheet path presents/dismisses by
137
+ // ref; the side path flips `sideOpen`.
138
+ (0, _react.useEffect)(() => {
139
+ if (!isControlled) return;
140
+ if (controlledOpen) {
141
+ setSideOpen(true);
142
+ ref.current?.present();
143
+ } else {
144
+ setSideOpen(false);
145
+ ref.current?.dismiss();
146
+ }
147
+ }, [isControlled, controlledOpen]);
148
+ (0, _react.useImperativeHandle)(control?.ref, () => ({
84
149
  open,
85
150
  close
86
151
  }), [open, close]);
@@ -96,23 +161,61 @@ function Dialog({
96
161
  // floating and rounded uniformly.
97
162
  borderRadius: 20
98
163
  }), [theme.colors.background]);
164
+ const bodyNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogBody, {
165
+ titleId: titleId,
166
+ descriptionId: descriptionId,
167
+ title: title,
168
+ description: description,
169
+ actions: actions,
170
+ children: children
171
+ });
172
+ if (isSide) {
173
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.Context.Provider, {
174
+ value: context,
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SideSheet, {
176
+ open: sideOpen,
177
+ onDismiss: handleDismiss,
178
+ side: resolvedPlacement,
179
+ width: width,
180
+ inset: inset,
181
+ dismissOnBackdrop: dismissOnBackdrop,
182
+ testID: testID,
183
+ label: label,
184
+ title: title,
185
+ description: description,
186
+ titleId: titleId,
187
+ descriptionId: descriptionId,
188
+ panelStyle: panelStyle,
189
+ panelClassName: panelClassName,
190
+ containerStyle: containerStyle,
191
+ containerClassName: containerClassName,
192
+ style: style,
193
+ children: bodyNode
194
+ })
195
+ });
196
+ }
197
+ const isBottom = resolvedPlacement === 'bottom';
99
198
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.BottomSheet, {
100
199
  ref: ref,
101
200
  onDismiss: handleDismiss,
102
201
  enablePanDownToClose: true,
103
- detached: true
202
+ detached: !isBottom,
203
+ showHandle: isBottom ? showHandle : true
104
204
  // Stronger dim when a Dialog is stacked over another sheet so the
105
205
  // underlying sheet's handle/content doesn't bleed through.
106
206
  ,
107
207
  backdropOpacity: 0.7,
108
- style: sheetStyle,
208
+ style: isBottom ? bottomSheetStyle(theme.colors.background, maxHeightRatio) : sheetStyle,
109
209
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.Context.Provider, {
110
210
  value: context,
111
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
211
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
112
212
  testID: testID,
113
213
  accessibilityLabel: label,
114
214
  "aria-labelledby": title ? titleId : undefined,
115
215
  "aria-describedby": description ? descriptionId : undefined,
216
+ ...(panelClassName ? {
217
+ className: panelClassName
218
+ } : {}),
116
219
  style: [
117
220
  // Detached BottomSheet already adds `marginBottom: insets.bottom + 16`
118
221
  // to the sheet container — the floating card sits ABOVE the
@@ -123,33 +226,199 @@ function Dialog({
123
226
  paddingBottom: 20
124
227
  }, {
125
228
  backgroundColor: theme.colors.background
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]
229
+ }, style, panelStyle],
230
+ children: bodyNode
149
231
  })
150
232
  })
151
233
  });
152
234
  }
235
+ function bottomSheetStyle(background, maxHeightRatio) {
236
+ return {
237
+ backgroundColor: background,
238
+ borderTopLeftRadius: _placement.PANEL_RADIUS + 4,
239
+ borderTopRightRadius: _placement.PANEL_RADIUS + 4,
240
+ maxHeight: `${Math.round(maxHeightRatio * 100)}%`
241
+ };
242
+ }
243
+
244
+ /**
245
+ * Renders the dialog's body: optional declarative title + description, any
246
+ * `children`, then the action row. Shared by all placements. The
247
+ * `titleId`/`descriptionId` are wired by the caller for accessibility.
248
+ */
249
+ function DialogBody({
250
+ titleId,
251
+ descriptionId,
252
+ title,
253
+ description,
254
+ actions,
255
+ children
256
+ }) {
257
+ const theme = (0, _useTheme.useTheme)();
258
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
259
+ children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
260
+ nativeID: titleId,
261
+ style: {
262
+ fontSize: 22,
263
+ fontWeight: '600',
264
+ color: theme.colors.text,
265
+ paddingBottom: description ? 4 : 16,
266
+ lineHeight: 30
267
+ },
268
+ children: title
269
+ }) : null, description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
270
+ nativeID: descriptionId,
271
+ style: {
272
+ fontSize: 16,
273
+ color: theme.colors.textSecondary,
274
+ paddingBottom: 16,
275
+ lineHeight: 22
276
+ },
277
+ children: description
278
+ }) : null, children, actions && actions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
279
+ actions: actions
280
+ }) : null]
281
+ });
282
+ }
283
+
284
+ /**
285
+ * Reanimated side-sheet/drawer for the `left`/`right` placements (native).
286
+ *
287
+ * A shared `progress` value times 0 -> 1 on open and 1 -> 0 on close, mapped to
288
+ * the panel translateX and the backdrop opacity. The node stays mounted through
289
+ * the close timing and unmounts from the animation completion callback. Native
290
+ * exit animations are safe (the web `removeChild` crash does not apply).
291
+ */
292
+ function SideSheet({
293
+ open,
294
+ onDismiss,
295
+ side,
296
+ width,
297
+ inset,
298
+ dismissOnBackdrop,
299
+ testID,
300
+ label,
301
+ title,
302
+ description,
303
+ titleId,
304
+ descriptionId,
305
+ panelStyle,
306
+ panelClassName,
307
+ containerStyle,
308
+ containerClassName,
309
+ style,
310
+ children
311
+ }) {
312
+ const theme = (0, _useTheme.useTheme)();
313
+ const {
314
+ width: viewportWidth
315
+ } = (0, _reactNative.useWindowDimensions)();
316
+ const [mounted, setMounted] = (0, _react.useState)(open);
317
+ const progress = (0, _reactNativeReanimated.useSharedValue)(open ? 1 : 0);
318
+ const insetTop = inset?.top ?? 0;
319
+ const insetBottom = inset?.bottom ?? 0;
320
+ const insetLeft = inset?.left ?? 0;
321
+ const insetRight = inset?.right ?? 0;
322
+ const anchorInset = side === 'left' ? insetLeft : insetRight;
323
+ const oppositeInset = side === 'left' ? insetRight : insetLeft;
324
+ const sideWidth = (0, _react.useMemo)(() => {
325
+ const available = viewportWidth - anchorInset - oppositeInset - _placement.SIDE_SHEET_MIN_GUTTER;
326
+ return Math.max(0, Math.min(width, available));
327
+ }, [viewportWidth, anchorInset, oppositeInset, width]);
328
+
329
+ // Travel distance for the hidden state: the panel's measured width, with the
330
+ // geometry target as the pre-measurement fallback.
331
+ const travel = (0, _reactNativeReanimated.useSharedValue)(sideWidth);
332
+ (0, _react.useEffect)(() => {
333
+ travel.value = sideWidth;
334
+ }, [sideWidth, travel]);
335
+ const finishClose = (0, _react.useCallback)(() => {
336
+ setMounted(false);
337
+ onDismiss();
338
+ }, [onDismiss]);
339
+ (0, _react.useEffect)(() => {
340
+ (0, _reactNativeReanimated.cancelAnimation)(progress);
341
+ const timing = {
342
+ duration: _placement.ANIMATION_DURATION,
343
+ easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)
344
+ };
345
+ if (open) {
346
+ setMounted(true);
347
+ progress.value = (0, _reactNativeReanimated.withTiming)(1, timing);
348
+ return;
349
+ }
350
+ if (!mounted) return;
351
+ progress.value = (0, _reactNativeReanimated.withTiming)(0, timing, finished => {
352
+ if (finished) (0, _reactNativeReanimated.runOnJS)(finishClose)();
353
+ });
354
+ }, [open, mounted, progress, finishClose]);
355
+ const handleBackdropPress = (0, _react.useCallback)(() => {
356
+ if (dismissOnBackdrop) onDismiss();
357
+ }, [dismissOnBackdrop, onDismiss]);
358
+ const backdropAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
359
+ opacity: progress.value * _placement.SHEET_BACKDROP_OPACITY
360
+ }));
361
+ const hiddenSign = side === 'left' ? -1 : 1;
362
+ const panelAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
363
+ const hidden = 1 - progress.value;
364
+ return {
365
+ opacity: progress.value,
366
+ transform: [{
367
+ translateX: hidden * travel.value * hiddenSign
368
+ }]
369
+ };
370
+ }, [hiddenSign]);
371
+ const measurePanel = (0, _react.useCallback)(e => {
372
+ const measured = e.nativeEvent.layout.width;
373
+ if (measured > 0) travel.value = measured;
374
+ }, [travel]);
375
+ const panelGeometry = (0, _react.useMemo)(() => ({
376
+ top: insetTop,
377
+ bottom: insetBottom,
378
+ [side]: anchorInset,
379
+ width: sideWidth,
380
+ borderRadius: _placement.PANEL_RADIUS
381
+ }), [insetTop, insetBottom, side, anchorInset, sideWidth]);
382
+ if (!mounted) return null;
383
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
384
+ style: [sideStyles.root, containerStyle],
385
+ ...(containerClassName ? {
386
+ className: containerClassName
387
+ } : {}),
388
+ pointerEvents: "box-none",
389
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
390
+ style: [sideStyles.backdrop, backdropAnimatedStyle],
391
+ pointerEvents: "auto",
392
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
393
+ testID: testID ? `${testID}-backdrop` : _placement.DIALOG_SHEET_BACKDROP_TESTID,
394
+ accessibilityRole: "button",
395
+ accessibilityLabel: label ? `Dismiss ${label}` : 'Dismiss dialog',
396
+ onPress: handleBackdropPress,
397
+ disabled: !dismissOnBackdrop,
398
+ style: _reactNative.StyleSheet.absoluteFill
399
+ })
400
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
401
+ accessibilityViewIsModal: true,
402
+ accessibilityLabel: label,
403
+ "aria-labelledby": title ? titleId : undefined,
404
+ "aria-describedby": description ? descriptionId : undefined,
405
+ testID: testID,
406
+ onLayout: measurePanel,
407
+ ...(panelClassName ? {
408
+ className: panelClassName
409
+ } : {}),
410
+ style: [sideStyles.panel, {
411
+ backgroundColor: theme.colors.background,
412
+ shadowColor: theme.colors.shadow
413
+ }, panelGeometry, panelAnimatedStyle, panelStyle, style],
414
+ pointerEvents: "auto",
415
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
416
+ style: sideStyles.body,
417
+ children: children
418
+ })
419
+ })]
420
+ });
421
+ }
153
422
  function ActionRow({
154
423
  actions
155
424
  }) {
@@ -242,6 +511,30 @@ function getActionPalette(color, colors) {
242
511
  }
243
512
  }
244
513
  }
514
+ const sideStyles = _reactNative.StyleSheet.create({
515
+ root: {
516
+ ..._reactNative.StyleSheet.absoluteFill,
517
+ zIndex: _zIndex.Z_INDEX.fullscreen
518
+ },
519
+ backdrop: {
520
+ ..._reactNative.StyleSheet.absoluteFill,
521
+ backgroundColor: '#000'
522
+ },
523
+ panel: {
524
+ position: 'absolute',
525
+ overflow: 'hidden',
526
+ shadowOpacity: 0.18,
527
+ shadowRadius: 24,
528
+ shadowOffset: {
529
+ width: 0,
530
+ height: 8
531
+ },
532
+ elevation: 12
533
+ },
534
+ body: {
535
+ padding: 20
536
+ }
537
+ });
245
538
 
246
539
  /**
247
540
  * Helper used by the imperative `alert()` API. Mounts a `<Dialog>` against
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Dialog","control","onClose","testID","title","description","actions","style","label","children","theme","useTheme","ref","useRef","closeCallbacks","titleId","useId","descriptionId","callQueuedCallbacks","useCallback","queued","current","cb","console","error","open","present","close","push","dismiss","handleDismiss","useImperativeHandle","context","useMemo","isWithinDialog","sheetStyle","maxWidth","backgroundColor","colors","background","borderRadius","jsx","BottomSheet","onDismiss","enablePanDownToClose","detached","backdropOpacity","Context","Provider","value","jsxs","View","accessibilityLabel","undefined","paddingTop","paddingHorizontal","paddingBottom","Text","nativeID","fontSize","fontWeight","color","text","lineHeight","textSecondary","length","ActionRow","width","gap","justifyContent","map","action","idx","ActionButton","useDialogContext","shouldCloseOnPress","foreground","getActionPalette","handlePress","onPress","TouchableOpacity","alignItems","opacity","disabled","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive","AutoMountedDialog","onResolve","useDialogControl","useEffect"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAwE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAQxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkB,MAAMA,CAAC;EACrBC,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,KAAK;EACLC,WAAW;EACXC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC;AACW,CAAC,EAAE;EACd,MAAMC,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EACxC,MAAMC,cAAc,GAAG,IAAAD,aAAM,EAAiB,EAAE,CAAC;EACjD,MAAME,OAAO,GAAG,IAAAC,YAAK,EAAC,CAAC;EACvB,MAAMC,aAAa,GAAG,IAAAD,YAAK,EAAC,CAAC;;EAE7B;EACA;EACA;EACA;EACA,MAAME,mBAAmB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC5C,MAAMC,MAAM,GAAGN,cAAc,CAACO,OAAO;IACrCP,cAAc,CAACO,OAAO,GAAG,EAAE;IAC3B,KAAK,MAAMC,EAAE,IAAIF,MAAM,EAAE;MACvB,IAAI;QACFE,EAAE,CAAC,CAAC;MACN,CAAC,CAAC,OAAOzC,CAAC,EAAE;QACV,IAAI,OAAO0C,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,KAAK,EAAE;UACnDD,OAAO,CAACC,KAAK,CAAC,8BAA8B,EAAE3C,CAAC,CAAC;QAClD;MACF;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM4C,IAAI,GAAG,IAAAN,kBAAW,EAAC,MAAM;IAC7BP,GAAG,CAACS,OAAO,EAAEK,OAAO,CAAC,CAAC;EACxB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,KAAK,GAAG,IAAAR,kBAAW,EAA+BG,EAAE,IAAK;IAC7D,IAAI,OAAOA,EAAE,KAAK,UAAU,EAAE;MAC5BR,cAAc,CAACO,OAAO,CAACO,IAAI,CAACN,EAAE,CAAC;IACjC;IACAV,GAAG,CAACS,OAAO,EAAEQ,OAAO,CAAC,CAAC;EACxB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,aAAa,GAAG,IAAAX,kBAAW,EAAC,MAAM;IACtCD,mBAAmB,CAAC,CAAC;IACrBhB,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACgB,mBAAmB,EAAEhB,OAAO,CAAC,CAAC;EAElC,IAAA6B,0BAAmB,EACjB9B,OAAO,CAACW,GAAG,EACX,OAAO;IAAEa,IAAI;IAAEE;EAAM,CAAC,CAAC,EACvB,CAACF,IAAI,EAAEE,KAAK,CACd,CAAC;EAED,MAAMK,OAAO,GAAG,IAAAC,cAAO,EACrB,OAAO;IAAEN,KAAK;IAAEO,cAAc,EAAE;EAAK,CAAC,CAAC,EACvC,CAACP,KAAK,CACR,CAAC;EAED,MAAMQ,UAAU,GAAG,IAAAF,cAAO,EACxB,OAAO;IACLG,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAE3B,KAAK,CAAC4B,MAAM,CAACC,UAAU;IACxC;IACA;IACA;IACAC,YAAY,EAAE;EAChB,CAAC,CAAC,EACF,CAAC9B,KAAK,CAAC4B,MAAM,CAACC,UAAU,CAC1B,CAAC;EAED,oBACE,IAAA3D,WAAA,CAAA6D,GAAA,EAAChE,MAAA,CAAAiE,WAAW;IACV9B,GAAG,EAAEA,GAAI;IACT+B,SAAS,EAAEb,aAAc;IACzBc,oBAAoB;IACpBC,QAAQ;IACR;IACA;IAAA;IACAC,eAAe,EAAE,GAAI;IACrBvC,KAAK,EAAE4B,UAAW;IAAA1B,QAAA,eAElB,IAAA7B,WAAA,CAAA6D,GAAA,EAAC9D,QAAA,CAAAoE,OAAO,CAACC,QAAQ;MAACC,KAAK,EAAEjB,OAAQ;MAAAvB,QAAA,eAC/B,IAAA7B,WAAA,CAAAsE,IAAA,EAAC1E,YAAA,CAAA2E,IAAI;QACHhD,MAAM,EAAEA,MAAO;QACfiD,kBAAkB,EAAE5C,KAAM;QAC1B,mBAAiBJ,KAAK,GAAGW,OAAO,GAAGsC,SAAU;QAC7C,oBAAkBhD,WAAW,GAAGY,aAAa,GAAGoC,SAAU;QAC1D9C,KAAK,EAAE;QACL;QACA;QACA;QACA;UAAE+C,UAAU,EAAE,EAAE;UAAEC,iBAAiB,EAAE,EAAE;UAAEC,aAAa,EAAE;QAAG,CAAC,EAC5D;UAAEnB,eAAe,EAAE3B,KAAK,CAAC4B,MAAM,CAACC;QAAW,CAAC,EAC5ChC,KAAK,CACL;QAAAE,QAAA,GAEDL,KAAK,gBACJ,IAAAxB,WAAA,CAAA6D,GAAA,EAACjE,YAAA,CAAAiF,IAAI;UACHC,QAAQ,EAAE3C,OAAQ;UAClBR,KAAK,EAAE;YACLoD,QAAQ,EAAE,EAAE;YACZC,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAEnD,KAAK,CAAC4B,MAAM,CAACwB,IAAI;YACxBN,aAAa,EAAEnD,WAAW,GAAG,CAAC,GAAG,EAAE;YACnC0D,UAAU,EAAE;UACd,CAAE;UAAAtD,QAAA,EAEDL;QAAK,CACF,CAAC,GACL,IAAI,EACPC,WAAW,gBACV,IAAAzB,WAAA,CAAA6D,GAAA,EAACjE,YAAA,CAAAiF,IAAI;UACHC,QAAQ,EAAEzC,aAAc;UACxBV,KAAK,EAAE;YACLoD,QAAQ,EAAE,EAAE;YACZE,KAAK,EAAEnD,KAAK,CAAC4B,MAAM,CAAC0B,aAAa;YACjCR,aAAa,EAAE,EAAE;YACjBO,UAAU,EAAE;UACd,CAAE;UAAAtD,QAAA,EAEDJ;QAAW,CACR,CAAC,GACL,IAAI,EACPI,QAAQ,EACRH,OAAO,IAAIA,OAAO,CAAC2D,MAAM,GAAG,CAAC,gBAC5B,IAAArF,WAAA,CAAA6D,GAAA,EAACyB,SAAS;UAAC5D,OAAO,EAAEA;QAAQ,CAAE,CAAC,GAC7B,IAAI;MAAA,CACJ;IAAC,CACS;EAAC,CACR,CAAC;AAElB;AAEA,SAAS4D,SAASA,CAAC;EAAE5D;AAAqC,CAAC,EAAE;EAC3D,oBACE,IAAA1B,WAAA,CAAA6D,GAAA,EAACjE,YAAA,CAAA2E,IAAI;IAAC5C,KAAK,EAAE;MAAE4D,KAAK,EAAE,MAAM;MAAEC,GAAG,EAAE,CAAC;MAAEC,cAAc,EAAE;IAAW,CAAE;IAAA5D,QAAA,EAChEH,OAAO,CAACgE,GAAG,CAAC,CAACC,MAAM,EAAEC,GAAG,kBACvB,IAAA5F,WAAA,CAAA6D,GAAA,EAACgC,YAAY;MAEXF,MAAM,EAAEA;IAAO,GADV,GAAGA,MAAM,CAAC/D,KAAK,IAAIgE,GAAG,EAE5B,CACF;EAAC,CACE,CAAC;AAEX;AAEA,SAASC,YAAYA,CAAC;EAAEF;AAAiC,CAAC,EAAE;EAC1D,MAAM;IAAE5C;EAAM,CAAC,GAAG,IAAA+C,yBAAgB,EAAC,CAAC;EACpC,MAAMhE,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAMkD,KAAwB,GAAGU,MAAM,CAACV,KAAK,IAAI,SAAS;EAC1D,MAAMc,kBAAkB,GAAGJ,MAAM,CAACI,kBAAkB,IAAI,IAAI;EAE5D,MAAM;IAAEpC,UAAU;IAAEqC;EAAW,CAAC,GAAGC,gBAAgB,CAAChB,KAAK,EAAEnD,KAAK,CAAC4B,MAAM,CAAC;EAExE,MAAMwC,WAAW,GAAG,IAAA3D,kBAAW,EAC5BtC,CAAwB,IAAK;IAC5B,MAAMkG,OAAO,GAAGR,MAAM,CAACQ,OAAO;IAC9B,IAAIlB,KAAK,KAAK,QAAQ,EAAE;MACtB;MACAlC,KAAK,CAACoD,OAAO,GAAG,MAAMA,OAAO,CAAClG,CAAC,CAAC,GAAGwE,SAAS,CAAC;MAC7C;IACF;IACA,IAAIsB,kBAAkB,EAAE;MACtBhD,KAAK,CAACoD,OAAO,GAAG,MAAMA,OAAO,CAAClG,CAAC,CAAC,GAAGwE,SAAS,CAAC;IAC/C,CAAC,MAAM;MACL0B,OAAO,GAAGlG,CAAC,CAAC;IACd;EACF,CAAC,EACD,CAAC0F,MAAM,CAACQ,OAAO,EAAEpD,KAAK,EAAEkC,KAAK,EAAEc,kBAAkB,CACnD,CAAC;EAED,oBACE,IAAA/F,WAAA,CAAA6D,GAAA,EAACjE,YAAA,CAAAwG,gBAAgB;IACfzE,KAAK,EAAE;MACLiC,YAAY,EAAE,IAAI;MAClByC,UAAU,EAAE,QAAQ;MACpBZ,cAAc,EAAE,QAAQ;MACxBhC,eAAe,EAAEE,UAAU;MAC3B2C,OAAO,EAAEX,MAAM,CAACY,QAAQ,GAAG,GAAG,GAAG,CAAC;MAClCC,eAAe,EAAE,EAAE;MACnB7B,iBAAiB,EAAE;IACrB,CAAE;IACFwB,OAAO,EAAED,WAAY;IACrBK,QAAQ,EAAEZ,MAAM,CAACY,QAAS;IAC1BE,aAAa,EAAE,GAAI;IACnBlF,MAAM,EAAEoE,MAAM,CAACpE,MAAO;IAAAM,QAAA,eAEtB,IAAA7B,WAAA,CAAA6D,GAAA,EAACjE,YAAA,CAAAiF,IAAI;MAAClD,KAAK,EAAE;QAAEoD,QAAQ,EAAE,EAAE;QAAEC,UAAU,EAAE,KAAK;QAAEC,KAAK,EAAEe;MAAW,CAAE;MAAAnE,QAAA,EACjE8D,MAAM,CAAC/D;IAAK,CACT;EAAC,CACS,CAAC;AAEvB;AAEA,SAASqE,gBAAgBA,CACvBhB,KAAwB,EACxBvB,MAAmB,EACyB;EAC5C,QAAQuB,KAAK;IACX,KAAK,aAAa;MAChB,OAAO;QACLtB,UAAU,EAAED,MAAM,CAACgD,QAAQ;QAC3BV,UAAU,EAAEtC,MAAM,CAACiD;MACrB,CAAC;IACH,KAAK,QAAQ;MACX,OAAO;QAAEhD,UAAU,EAAED,MAAM,CAACkD,UAAU;QAAEZ,UAAU,EAAEtC,MAAM,CAACwB;MAAK,CAAC;IACnE,KAAK,SAAS;MACZ,OAAO;QAAEvB,UAAU,EAAED,MAAM,CAACmD,OAAO;QAAEb,UAAU,EAAEtC,MAAM,CAACoD;MAAkB,CAAC;IAC7E;IACA;MAAS;QACP,MAAMC,WAAkB,GAAG9B,KAAK;QAChC,OAAO;UAAEtB,UAAU,EAAED,MAAM,CAACmD,OAAO;UAAEb,UAAU,EAAEtC,MAAM,CAACoD;QAAkB,CAAC;MAC7E;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,iBAAiBA,CAAC;EAChCxF,KAAK;EACLC,WAAW;EACXC,OAAO;EACPuF;AAMF,CAAC,EAAE;EACD,MAAM5F,OAAO,GAAG,IAAA6F,yBAAgB,EAAC,CAAC;;EAElC;EACA;EACA;EACA;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd9F,OAAO,CAACwB,IAAI,CAAC,CAAC;EAChB,CAAC,EAAE,CAACxB,OAAO,CAAC,CAAC;EAEb,oBACE,IAAArB,WAAA,CAAA6D,GAAA,EAACzC,MAAM;IACLC,OAAO,EAAEA,OAAQ;IACjBG,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAEA,OAAQ;IACjBJ,OAAO,EAAE2F;EAAU,CACpB,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_index","_zIndex","_useTheme","_context","_placement","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Dialog","control","open","controlledOpen","onClose","testID","title","description","actions","placement","width","DEFAULT_SIDE_WIDTH","maxHeightRatio","DEFAULT_MAX_HEIGHT_RATIO","inset","showHandle","dismissOnBackdrop","style","panelStyle","panelClassName","containerStyle","containerClassName","label","children","isControlled","undefined","resolvedPlacement","useResolvedPlacement","isSide","sideOpen","setSideOpen","useState","theme","useTheme","ref","useRef","closeCallbacks","titleId","useId","descriptionId","isControlledRef","current","onCloseRef","callQueuedCallbacks","useCallback","queued","cb","console","error","present","close","push","dismiss","handleDismiss","useEffect","useImperativeHandle","context","useMemo","isWithinDialog","sheetStyle","maxWidth","backgroundColor","colors","background","borderRadius","bodyNode","jsx","DialogBody","Context","Provider","value","SideSheet","onDismiss","side","isBottom","BottomSheet","enablePanDownToClose","detached","backdropOpacity","bottomSheetStyle","View","accessibilityLabel","className","paddingTop","paddingHorizontal","paddingBottom","borderTopLeftRadius","PANEL_RADIUS","borderTopRightRadius","maxHeight","Math","round","jsxs","Fragment","Text","nativeID","fontSize","fontWeight","color","text","lineHeight","textSecondary","length","ActionRow","viewportWidth","useWindowDimensions","mounted","setMounted","progress","useSharedValue","insetTop","top","insetBottom","bottom","insetLeft","left","insetRight","right","anchorInset","oppositeInset","sideWidth","available","SIDE_SHEET_MIN_GUTTER","max","min","travel","finishClose","cancelAnimation","timing","duration","ANIMATION_DURATION","easing","Easing","out","cubic","withTiming","finished","runOnJS","handleBackdropPress","backdropAnimatedStyle","useAnimatedStyle","opacity","SHEET_BACKDROP_OPACITY","hiddenSign","panelAnimatedStyle","hidden","transform","translateX","measurePanel","measured","nativeEvent","layout","panelGeometry","sideStyles","root","pointerEvents","backdrop","Pressable","DIALOG_SHEET_BACKDROP_TESTID","accessibilityRole","onPress","disabled","StyleSheet","absoluteFill","accessibilityViewIsModal","onLayout","panel","shadowColor","shadow","body","gap","justifyContent","map","action","idx","ActionButton","useDialogContext","shouldCloseOnPress","foreground","getActionPalette","handlePress","TouchableOpacity","alignItems","paddingVertical","activeOpacity","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive","create","zIndex","Z_INDEX","fullscreen","position","overflow","shadowOpacity","shadowRadius","shadowOffset","height","elevation","padding","AutoMountedDialog","onResolve","useDialogControl"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}