@oxyhq/bloom 0.31.0 → 0.32.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 (40) hide show
  1. package/lib/commonjs/alert-dialog/AlertDialog.js +69 -21
  2. package/lib/commonjs/alert-dialog/AlertDialog.js.map +1 -1
  3. package/lib/commonjs/button/Button.web.js +6 -29
  4. package/lib/commonjs/button/Button.web.js.map +1 -1
  5. package/lib/commonjs/fab/Fab.web.js +11 -2
  6. package/lib/commonjs/fab/Fab.web.js.map +1 -1
  7. package/lib/commonjs/styles/flatten-web-style.js +49 -0
  8. package/lib/commonjs/styles/flatten-web-style.js.map +1 -0
  9. package/lib/module/alert-dialog/AlertDialog.js +70 -22
  10. package/lib/module/alert-dialog/AlertDialog.js.map +1 -1
  11. package/lib/module/button/Button.web.js +6 -29
  12. package/lib/module/button/Button.web.js.map +1 -1
  13. package/lib/module/fab/Fab.web.js +11 -2
  14. package/lib/module/fab/Fab.web.js.map +1 -1
  15. package/lib/module/styles/flatten-web-style.js +45 -0
  16. package/lib/module/styles/flatten-web-style.js.map +1 -0
  17. package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts +13 -0
  18. package/lib/typescript/commonjs/alert-dialog/AlertDialog.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/alert-dialog/types.d.ts +8 -2
  20. package/lib/typescript/commonjs/alert-dialog/types.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/button/Button.web.d.ts.map +1 -1
  22. package/lib/typescript/commonjs/fab/Fab.web.d.ts.map +1 -1
  23. package/lib/typescript/commonjs/styles/flatten-web-style.d.ts +6 -0
  24. package/lib/typescript/commonjs/styles/flatten-web-style.d.ts.map +1 -0
  25. package/lib/typescript/module/alert-dialog/AlertDialog.d.ts +13 -0
  26. package/lib/typescript/module/alert-dialog/AlertDialog.d.ts.map +1 -1
  27. package/lib/typescript/module/alert-dialog/types.d.ts +8 -2
  28. package/lib/typescript/module/alert-dialog/types.d.ts.map +1 -1
  29. package/lib/typescript/module/button/Button.web.d.ts.map +1 -1
  30. package/lib/typescript/module/fab/Fab.web.d.ts.map +1 -1
  31. package/lib/typescript/module/styles/flatten-web-style.d.ts +6 -0
  32. package/lib/typescript/module/styles/flatten-web-style.d.ts.map +1 -0
  33. package/package.json +1 -1
  34. package/src/__tests__/AlertDialog.test.tsx +72 -0
  35. package/src/__tests__/Fab.web.test.tsx +62 -0
  36. package/src/alert-dialog/AlertDialog.tsx +68 -21
  37. package/src/alert-dialog/types.ts +8 -2
  38. package/src/button/Button.web.tsx +6 -36
  39. package/src/fab/Fab.web.tsx +11 -2
  40. package/src/styles/flatten-web-style.ts +58 -0
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createAlertDialog = createAlertDialog;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
+ var _context = require("../dialog/context.js");
8
9
  var _jsxRuntime = require("react/jsx-runtime");
9
10
  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); }
10
11
  /**
@@ -24,6 +25,19 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
24
25
  * imperative `confirm()` helper + `<AlertDialogHost />` to trigger a confirm
25
26
  * from an event handler without owning visible state.
26
27
  *
28
+ * Control mode — IMPERATIVE, not controlled. `AlertDialog` keeps its public
29
+ * *controlled* API (`visible` boolean + `onClose`) but internally bridges it
30
+ * onto the Dialog's imperative `useDialogControl()` handle, so `confirm()`
31
+ * drives `<Dialog>` through the EXACT uncontrolled/imperative internals
32
+ * Mention's `ConfirmPrompt` uses. That is the code path that actually plays the
33
+ * exit animation on dismiss: imperative `close()` sets `isClosing`, runs the
34
+ * exit animation, and fires `onClose` only once it settles. The controlled path
35
+ * instead fires `onClose` synchronously — and because `<AlertDialogHost />`
36
+ * resolves + drops the queue entry inside `onClose`, the surface would then
37
+ * unmount instantly, skipping the exit animation entirely. Bridging to
38
+ * imperative mode eliminates that fork so `confirm()` and Mention's
39
+ * `ConfirmPrompt` are pixel/timing identical.
40
+ *
27
41
  * The centered card uses the Dialog default `maxWidth` (480px) for full visual
28
42
  * parity with the shared confirm surface.
29
43
  */
@@ -39,31 +53,62 @@ function createAlertDialog(Dialog) {
39
53
  onCancel,
40
54
  destructive = false,
41
55
  hideCancel = false,
42
- dismissible = false,
56
+ dismissible = true,
43
57
  cardStyle,
44
58
  testID
45
59
  }) {
46
- // Confirm resolves + closes SYNCHRONOUSLY, in this order, and must NOT go
47
- // through the Dialog's auto-close (`shouldCloseOnPress: false`). In
48
- // controlled mode `close()` fires `onClose` FIRST, and the `confirm()` host
49
- // wires `onClose` to resolve the promise as *cancelled* (`false`). Running
50
- // `onConfirm` (resolve `true`, which removes the queue entry) before
51
- // `onClose` (now a no-op for that entry) is what makes the confirm button
52
- // resolve `true`.
53
- const handleConfirm = (0, _react.useCallback)(() => {
54
- onConfirm?.();
60
+ const control = (0, _context.useDialogControl)();
61
+
62
+ // Bridge the public *controlled* `visible` prop onto the Dialog's
63
+ // imperative open/close. Opening on mount straight from an effect (no
64
+ // `setTimeout`) mirrors bloom's own `AutoMountedDialog` (which backs
65
+ // `alert()`) the canonical fresh-mount imperative-open pattern:
66
+ // `<AlertDialogHost />` mounts a FRESH `AlertDialog` per confirm
67
+ // (`key={id}`) with the final content already committed, so there is no
68
+ // stale-content window to defer past and the entry animation curve stays
69
+ // identical to Mention's. `control` is referentially stable (memoised on
70
+ // its id), so this effect only re-runs when `visible` actually flips. When
71
+ // a direct consumer flips `visible` to `false`, we imperatively `close()`
72
+ // so the exit animation still plays.
73
+ const closingFromPropRef = (0, _react.useRef)(false);
74
+ (0, _react.useEffect)(() => {
75
+ if (visible) {
76
+ control.open();
77
+ return;
78
+ }
79
+ closingFromPropRef.current = true;
80
+ control.close();
81
+ }, [visible, control]);
82
+
83
+ // The Dialog fires `onClose` after the exit animation settles (imperative
84
+ // mode). Forward ONLY user-initiated dismissals (backdrop / Escape / cancel)
85
+ // to the consumer — a consumer-initiated close (they flipped `visible` to
86
+ // `false`) must not re-enter `onClose`, preserving the previous controlled
87
+ // semantics where a programmatic close does not fire `onClose`.
88
+ const handleClose = (0, _react.useCallback)(() => {
89
+ if (closingFromPropRef.current) {
90
+ closingFromPropRef.current = false;
91
+ return;
92
+ }
55
93
  onClose();
56
- }, [onConfirm, onClose]);
94
+ }, [onClose]);
95
+
96
+ // Confirm/cancel map onto the Dialog's declarative action row. Both keep the
97
+ // default `shouldCloseOnPress` (true): the button runs the exit animation
98
+ // FIRST, then invokes `onPress` as a close-completion callback — so
99
+ // `onConfirm` resolves the `confirm()` promise as the surface animates out,
100
+ // exactly like Mention. `onConfirm` (resolve `true`, drains the entry) runs
101
+ // just BEFORE the Dialog's own post-close `onClose` (→ `handleClose` →
102
+ // resolve `false`, now a no-op for the drained entry), which is what makes
103
+ // the confirm button win the double-resolution guard.
57
104
  const actions = [{
58
105
  label: confirmLabel,
59
- onPress: handleConfirm,
60
- color: destructive ? 'destructive' : 'default',
61
- shouldCloseOnPress: false
106
+ onPress: onConfirm,
107
+ color: destructive ? 'destructive' : 'default'
62
108
  }];
63
109
  if (!hideCancel) {
64
- // The `cancel` color auto-dismisses via the Dialog's `close()`, which in
65
- // controlled mode fires `onClose` (the host resolves `false`). `onCancel`
66
- // runs after the surface finishes closing.
110
+ // The `cancel` color auto-dismisses via the Dialog's `close()` (exit
111
+ // animation), then runs `onCancel` as a close-completion callback.
67
112
  actions.push({
68
113
  label: cancelLabel,
69
114
  onPress: onCancel,
@@ -71,11 +116,14 @@ function createAlertDialog(Dialog) {
71
116
  });
72
117
  }
73
118
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog, {
74
- open: visible,
75
- onClose: onClose,
119
+ control: control,
120
+ onClose: handleClose,
76
121
  placement: "center"
77
- // Alert dialogs are blocking by default the backdrop / Escape only
78
- // dismiss when the caller opts in via `dismissible`.
122
+ // Alert dialogs dismiss on backdrop / Escape by default (matching the
123
+ // shared Dialog default and Mention's `ConfirmPrompt`). A backdrop /
124
+ // Escape dismissal can only ever resolve the confirm as cancelled
125
+ // (`false`), never the destructive action — callers that need a truly
126
+ // blocking confirm opt out with `dismissible={false}`.
79
127
  ,
80
128
  dismissOnBackdrop: dismissible,
81
129
  title: title,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createAlertDialog","Dialog","AlertDialogComponent","AlertDialog","visible","onClose","title","description","confirmLabel","cancelLabel","onConfirm","onCancel","destructive","hideCancel","dismissible","cardStyle","testID","handleConfirm","useCallback","actions","label","onPress","color","shouldCloseOnPress","push","jsx","open","placement","dismissOnBackdrop","style","memo","displayName"],"sourceRoot":"../../../src","sources":["alert-dialog/AlertDialog.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createAlertDialog","Dialog","AlertDialogComponent","AlertDialog","visible","onClose","title","description","confirmLabel","cancelLabel","onConfirm","onCancel","destructive","hideCancel","dismissible","cardStyle","testID","control","useDialogControl","closingFromPropRef","useRef","useEffect","open","current","close","handleClose","useCallback","actions","label","onPress","color","push","jsx","placement","dismissOnBackdrop","style","memo","displayName"],"sourceRoot":"../../../src","sources":["alert-dialog/AlertDialog.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.TextButton = exports.SecondaryButton = exports.PrimaryButton = exports.O
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _useTheme = require("../theme/use-theme.js");
9
9
  var _SpinnerIconWeb = require("../loading/SpinnerIcon.web.js");
10
+ var _flattenWebStyle = require("../styles/flatten-web-style.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  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); }
12
13
  // ---------------------------------------------------------------------------
@@ -214,32 +215,6 @@ function resolveVariantStyle(variant, size, theme) {
214
215
  }
215
216
  }
216
217
 
217
- // ---------------------------------------------------------------------------
218
- // Style normalization
219
- //
220
- // Callers idiomatically pass `style` as a React-Native `StyleProp` — most
221
- // often an ARRAY (`style={[base, cond && override]}`, possibly nested and
222
- // containing falsy holes from `cond && {...}`). The DOM `<button>` below needs
223
- // a SINGLE plain object: spreading a raw array into an object literal produces
224
- // numeric keys (`"0"`, `"1"`, …), which React then assigns onto the real
225
- // `CSSStyleDeclaration`, throwing
226
- // `Failed to set an indexed property [0] on 'CSSStyleDeclaration'`. Flatten the
227
- // StyleProp into one object here, once, before it reaches either merge site.
228
- // Later entries win, mirroring React-Native array-style precedence.
229
- //
230
- // `StyleNode` is a readonly-closed recursion type (RN's own `StyleProp` array
231
- // member yields `readonly` sub-arrays that aren't assignable back to
232
- // `StyleProp`, so it can't be recursed over directly). `ButtonProps['style']`
233
- // is assignable to it, so call sites pass `style` with no cast.
234
- // ---------------------------------------------------------------------------
235
-
236
- function flattenStyle(style) {
237
- if (Array.isArray(style)) {
238
- return style.reduce((merged, entry) => Object.assign(merged, flattenStyle(entry)), {});
239
- }
240
- return style && typeof style === 'object' ? style : {};
241
- }
242
-
243
218
  // ---------------------------------------------------------------------------
244
219
  // Component
245
220
  // ---------------------------------------------------------------------------
@@ -323,9 +298,11 @@ const ButtonWebComponent = ({
323
298
  const composedClassName = ['bloom-btn'].concat(resolvedVariant === 'link' ? ['bloom-btn--link'] : []).concat(className ? [className] : []).join(' ');
324
299
  const spinnerColor = loadingColor ?? variantStyle.textColor;
325
300
 
326
- // Normalize the caller's `style` (single object, array, or falsy) into one
327
- // flat plain object ONCE, so neither merge site below spreads a raw array.
328
- const resolvedStyle = flattenStyle(style);
301
+ // Normalize the caller's `style` (single object, StyleProp array, or falsy)
302
+ // into ONE flat plain object here, once, so neither raw-DOM merge site below
303
+ // spreads a StyleProp array (which would leak numeric keys onto the button's
304
+ // CSSStyleDeclaration). See `flattenWebStyle` for the full rationale.
305
+ const resolvedStyle = (0, _flattenWebStyle.flattenWebStyle)(style);
329
306
  const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
330
307
  children: [iconPosition === 'left' && icon, children != null && (typeof children === 'string' || typeof children === 'number' ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
331
308
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useTheme","_SpinnerIconWeb","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZE_CONFIG","small","paddingVertical","paddingHorizontal","fontSize","minHeight","medium","large","SIZE_ALIAS","sm","md","lg","icon","PILL_RADIUS","ICON_RADIUS","PRESS_SCALE","SCALE_VARIANTS","Set","STYLE_ID","BLOOM_BUTTON_CSS","useButtonCss","useEffect","document","getElementById","style","createElement","id","textContent","head","appendChild","resolveVariantStyle","variant","size","theme","c","colors","sizeConfig","container","backgroundColor","primary","borderRadius","textColor","primaryForeground","ringColor","negative","negativeForeground","borderWidth","borderStyle","borderColor","border","text","background","padding","width","height","flattenStyle","Array","isArray","reduce","merged","entry","assign","ButtonWebComponent","onPress","onClick","children","disabled","sizeProp","iconPosition","loading","loadingColor","accessibilityLabel","ariaLabelProp","accessibilityHint","testID","className","type","asChild","name","value","title","autoFocus","tabIndex","fullWidth","useTheme","reactId","useId","resolvedId","resolvedVariant","isIcon","isInteractionBlocked","variantStyle","useMemo","containerStyle","base","fontWeight","color","undefined","paddingTop","paddingBottom","paddingLeft","paddingRight","handleClick","useCallback","event","preventDefault","ariaLabel","composedClassName","concat","join","spinnerColor","resolvedStyle","content","jsxs","Fragment","jsx","body","display","alignItems","justifyContent","gap","opacity","pointerEvents","position","inset","SpinnerIcon","Math","round","React","isValidElement","child","childProps","props","cloneElement","filter","Boolean","Button","exports","memo","displayName","PrimaryButton","SecondaryButton","IconButton","GhostButton","InverseButton","TextButton","OutlineButton","LinkButton","DestructiveButton"],"sourceRoot":"../../../src","sources":["button/Button.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useTheme","_SpinnerIconWeb","_flattenWebStyle","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZE_CONFIG","small","paddingVertical","paddingHorizontal","fontSize","minHeight","medium","large","SIZE_ALIAS","sm","md","lg","icon","PILL_RADIUS","ICON_RADIUS","PRESS_SCALE","SCALE_VARIANTS","Set","STYLE_ID","BLOOM_BUTTON_CSS","useButtonCss","useEffect","document","getElementById","style","createElement","id","textContent","head","appendChild","resolveVariantStyle","variant","size","theme","c","colors","sizeConfig","container","backgroundColor","primary","borderRadius","textColor","primaryForeground","ringColor","negative","negativeForeground","borderWidth","borderStyle","borderColor","border","text","background","padding","width","height","ButtonWebComponent","onPress","onClick","children","disabled","sizeProp","iconPosition","loading","loadingColor","accessibilityLabel","ariaLabelProp","accessibilityHint","testID","className","type","asChild","name","value","title","autoFocus","tabIndex","fullWidth","useTheme","reactId","useId","resolvedId","resolvedVariant","isIcon","isInteractionBlocked","variantStyle","useMemo","containerStyle","base","fontWeight","color","undefined","paddingTop","paddingBottom","paddingLeft","paddingRight","handleClick","useCallback","event","preventDefault","ariaLabel","composedClassName","concat","join","spinnerColor","resolvedStyle","flattenWebStyle","content","jsxs","Fragment","jsx","body","display","alignItems","justifyContent","gap","opacity","pointerEvents","position","inset","SpinnerIcon","Math","round","React","isValidElement","child","childProps","props","cloneElement","filter","Boolean","Button","exports","memo","displayName","PrimaryButton","SecondaryButton","IconButton","GhostButton","InverseButton","TextButton","OutlineButton","LinkButton","DestructiveButton"],"sourceRoot":"../../../src","sources":["button/Button.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Fab = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _useTheme = require("../theme/use-theme.js");
9
+ var _flattenWebStyle = require("../styles/flatten-web-style.js");
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  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); }
11
12
  // Material-style FAB scale. `small` (40px) keeps a full 24px icon box so the
@@ -244,13 +245,21 @@ const FabWebComponent = ({
244
245
  }, [disabled, onClick, onPress]);
245
246
  const ariaLabel = ariaLabelProp ?? accessibilityLabel ?? label;
246
247
  const composedClassName = ['bloom-fab'].concat(className ? [className] : []).join(' ');
248
+
249
+ // Normalize `style`/`labelStyle` (single object, StyleProp array — the native
250
+ // fork passes `style={[placementStyle(...), {...}, style]}` — or falsy) into
251
+ // ONE flat plain object each, so neither raw-DOM merge site below spreads a
252
+ // StyleProp array (which would leak numeric keys onto the element's
253
+ // CSSStyleDeclaration). See `flattenWebStyle` for the full rationale.
254
+ const resolvedStyle = (0, _flattenWebStyle.flattenWebStyle)(style);
255
+ const resolvedLabelStyle = (0, _flattenWebStyle.flattenWebStyle)(labelStyle);
247
256
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
248
257
  id: resolvedId,
249
258
  type: type,
250
259
  className: composedClassName,
251
260
  style: {
252
261
  ...containerStyle,
253
- ...style
262
+ ...resolvedStyle
254
263
  },
255
264
  onClick: handleClick,
256
265
  disabled: disabled,
@@ -269,7 +278,7 @@ const FabWebComponent = ({
269
278
  },
270
279
  children: content
271
280
  }), isExtended && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
272
- style: labelStyle,
281
+ style: resolvedLabelStyle,
273
282
  children: label
274
283
  })]
275
284
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","PILL_RADIUS","PRESS_SCALE","DEFAULT_OFFSET","DEFAULT_Z_INDEX","STYLE_ID","BLOOM_FAB_CSS","useFabCss","useEffect","document","getElementById","style","createElement","id","textContent","head","appendChild","placementStyle","placement","offset","position","isBottom","bottom","marginTop","top","alignSelf","marginRight","marginLeft","resolveVariant","variant","c","background","card","foreground","text","ring","primary","primaryForeground","FabWebComponent","onPress","onClick","icon","children","label","disabled","accessibilityLabel","ariaLabelProp","accessibilityHint","labelStyle","className","testID","zIndex","title","type","theme","useTheme","reactId","useId","resolvedId","sizeConfig","useMemo","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","base","backgroundColor","color","borderRadius","height","boxShadow","fontWeight","pad","paddingLeft","paddingRight","width","handleClick","useCallback","event","preventDefault","ariaLabel","composedClassName","concat","join","jsxs","undefined","jsx","display","alignItems","justifyContent","Fab","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useTheme","_flattenWebStyle","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","PILL_RADIUS","PRESS_SCALE","DEFAULT_OFFSET","DEFAULT_Z_INDEX","STYLE_ID","BLOOM_FAB_CSS","useFabCss","useEffect","document","getElementById","style","createElement","id","textContent","head","appendChild","placementStyle","placement","offset","position","isBottom","bottom","marginTop","top","alignSelf","marginRight","marginLeft","resolveVariant","variant","c","background","card","foreground","text","ring","primary","primaryForeground","FabWebComponent","onPress","onClick","icon","children","label","disabled","accessibilityLabel","ariaLabelProp","accessibilityHint","labelStyle","className","testID","zIndex","title","type","theme","useTheme","reactId","useId","resolvedId","sizeConfig","useMemo","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","base","backgroundColor","color","borderRadius","height","boxShadow","fontWeight","pad","paddingLeft","paddingRight","width","handleClick","useCallback","event","preventDefault","ariaLabel","composedClassName","concat","join","resolvedStyle","flattenWebStyle","resolvedLabelStyle","jsxs","undefined","jsx","display","alignItems","justifyContent","Fab","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.flattenWebStyle = flattenWebStyle;
7
+ // ---------------------------------------------------------------------------
8
+ // flattenWebStyle — StyleProp → plain CSSProperties, for raw-DOM web forks.
9
+ //
10
+ // A handful of Bloom's `.web.tsx` forks (`Button.web.tsx`, `Fab.web.tsx`)
11
+ // render REAL HTML elements through react-dom (`<button>`, `<span>`), NOT
12
+ // react-native-web components. Their `style` prop is therefore a single plain
13
+ // `CSSProperties` object that React commits straight to a live
14
+ // `CSSStyleDeclaration`.
15
+ //
16
+ // Callers, however, pass `style` as a React-Native `StyleProp` — most often an
17
+ // ARRAY (`style={[base, cond && override]}`, possibly nested, with falsy holes
18
+ // from `cond && {...}`). Spreading a raw array into an object literal produces
19
+ // numeric keys ("0", "1", …), which React then assigns onto the DOM node's
20
+ // `CSSStyleDeclaration`, throwing:
21
+ // `Failed to set an indexed property [0] on 'CSSStyleDeclaration'`.
22
+ //
23
+ // Why NOT `StyleSheet.flatten` (the convention the RNW-component forks such as
24
+ // `list/index.web.tsx` use): these raw-DOM forks have NO other react-native
25
+ // runtime dependency. Reaching for `StyleSheet.flatten` would couple them to
26
+ // the `react-native` → `react-native-web` bundler alias they otherwise never
27
+ // need — a coupling the jsdom test environment does not provide (its
28
+ // `react-native` mock stubs `flatten` as an identity no-op, so an array would
29
+ // pass through unflattened and the raw-DOM render would crash under test). A
30
+ // dependency-free flatten is provably correct in every bundling/test context,
31
+ // so it is the right convention for THIS sub-class of forks specifically.
32
+ //
33
+ // `StyleNode` is a readonly-closed recursion type: RN's own `StyleProp` array
34
+ // members are `readonly` and its `RegisteredStyle` members are branded numbers,
35
+ // neither of which is assignable back to `StyleProp` for direct recursion.
36
+ // `StyleProp<ViewStyle>` / `StyleProp<TextStyle>` ARE assignable to it, so call
37
+ // sites pass `style` / `labelStyle` with no cast. Later entries win, mirroring
38
+ // React-Native array-style precedence; falsy holes and unresolved registered-
39
+ // style ids (bare numbers — not resolvable without the RN runtime, and never
40
+ // passed to a raw-DOM fork in practice) are skipped.
41
+ // ---------------------------------------------------------------------------
42
+
43
+ function flattenWebStyle(style) {
44
+ if (Array.isArray(style)) {
45
+ return style.reduce((merged, entry) => Object.assign(merged, flattenWebStyle(entry)), {});
46
+ }
47
+ return style && typeof style === 'object' ? style : {};
48
+ }
49
+ //# sourceMappingURL=flatten-web-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["flattenWebStyle","style","Array","isArray","reduce","merged","entry","Object","assign"],"sourceRoot":"../../../src","sources":["styles/flatten-web-style.ts"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYO,SAASA,eAAeA,CAACC,KAAgB,EAAiB;EAC/D,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACG,MAAM,CACjB,CAACC,MAAM,EAAEC,KAAK,KAAKC,MAAM,CAACC,MAAM,CAACH,MAAM,EAAEL,eAAe,CAACM,KAAK,CAAC,CAAC,EAChE,CAAC,CACH,CAAC;EACH;EACA,OAAOL,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAAIA,KAAK,GAAqB,CAAC,CAAC;AAC3E","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import React, { memo, useCallback } from 'react';
3
+ import React, { memo, useCallback, useEffect, useRef } from 'react';
4
+ import { useDialogControl } from "../dialog/context.js";
4
5
  import { jsx as _jsx } from "react/jsx-runtime";
5
6
  /**
6
7
  * Build the `AlertDialog` component bound to a platform `Dialog`.
@@ -19,6 +20,19 @@ import { jsx as _jsx } from "react/jsx-runtime";
19
20
  * imperative `confirm()` helper + `<AlertDialogHost />` to trigger a confirm
20
21
  * from an event handler without owning visible state.
21
22
  *
23
+ * Control mode — IMPERATIVE, not controlled. `AlertDialog` keeps its public
24
+ * *controlled* API (`visible` boolean + `onClose`) but internally bridges it
25
+ * onto the Dialog's imperative `useDialogControl()` handle, so `confirm()`
26
+ * drives `<Dialog>` through the EXACT uncontrolled/imperative internals
27
+ * Mention's `ConfirmPrompt` uses. That is the code path that actually plays the
28
+ * exit animation on dismiss: imperative `close()` sets `isClosing`, runs the
29
+ * exit animation, and fires `onClose` only once it settles. The controlled path
30
+ * instead fires `onClose` synchronously — and because `<AlertDialogHost />`
31
+ * resolves + drops the queue entry inside `onClose`, the surface would then
32
+ * unmount instantly, skipping the exit animation entirely. Bridging to
33
+ * imperative mode eliminates that fork so `confirm()` and Mention's
34
+ * `ConfirmPrompt` are pixel/timing identical.
35
+ *
22
36
  * The centered card uses the Dialog default `maxWidth` (480px) for full visual
23
37
  * parity with the shared confirm surface.
24
38
  */
@@ -34,31 +48,62 @@ export function createAlertDialog(Dialog) {
34
48
  onCancel,
35
49
  destructive = false,
36
50
  hideCancel = false,
37
- dismissible = false,
51
+ dismissible = true,
38
52
  cardStyle,
39
53
  testID
40
54
  }) {
41
- // Confirm resolves + closes SYNCHRONOUSLY, in this order, and must NOT go
42
- // through the Dialog's auto-close (`shouldCloseOnPress: false`). In
43
- // controlled mode `close()` fires `onClose` FIRST, and the `confirm()` host
44
- // wires `onClose` to resolve the promise as *cancelled* (`false`). Running
45
- // `onConfirm` (resolve `true`, which removes the queue entry) before
46
- // `onClose` (now a no-op for that entry) is what makes the confirm button
47
- // resolve `true`.
48
- const handleConfirm = useCallback(() => {
49
- onConfirm?.();
55
+ const control = useDialogControl();
56
+
57
+ // Bridge the public *controlled* `visible` prop onto the Dialog's
58
+ // imperative open/close. Opening on mount straight from an effect (no
59
+ // `setTimeout`) mirrors bloom's own `AutoMountedDialog` (which backs
60
+ // `alert()`) the canonical fresh-mount imperative-open pattern:
61
+ // `<AlertDialogHost />` mounts a FRESH `AlertDialog` per confirm
62
+ // (`key={id}`) with the final content already committed, so there is no
63
+ // stale-content window to defer past and the entry animation curve stays
64
+ // identical to Mention's. `control` is referentially stable (memoised on
65
+ // its id), so this effect only re-runs when `visible` actually flips. When
66
+ // a direct consumer flips `visible` to `false`, we imperatively `close()`
67
+ // so the exit animation still plays.
68
+ const closingFromPropRef = useRef(false);
69
+ useEffect(() => {
70
+ if (visible) {
71
+ control.open();
72
+ return;
73
+ }
74
+ closingFromPropRef.current = true;
75
+ control.close();
76
+ }, [visible, control]);
77
+
78
+ // The Dialog fires `onClose` after the exit animation settles (imperative
79
+ // mode). Forward ONLY user-initiated dismissals (backdrop / Escape / cancel)
80
+ // to the consumer — a consumer-initiated close (they flipped `visible` to
81
+ // `false`) must not re-enter `onClose`, preserving the previous controlled
82
+ // semantics where a programmatic close does not fire `onClose`.
83
+ const handleClose = useCallback(() => {
84
+ if (closingFromPropRef.current) {
85
+ closingFromPropRef.current = false;
86
+ return;
87
+ }
50
88
  onClose();
51
- }, [onConfirm, onClose]);
89
+ }, [onClose]);
90
+
91
+ // Confirm/cancel map onto the Dialog's declarative action row. Both keep the
92
+ // default `shouldCloseOnPress` (true): the button runs the exit animation
93
+ // FIRST, then invokes `onPress` as a close-completion callback — so
94
+ // `onConfirm` resolves the `confirm()` promise as the surface animates out,
95
+ // exactly like Mention. `onConfirm` (resolve `true`, drains the entry) runs
96
+ // just BEFORE the Dialog's own post-close `onClose` (→ `handleClose` →
97
+ // resolve `false`, now a no-op for the drained entry), which is what makes
98
+ // the confirm button win the double-resolution guard.
52
99
  const actions = [{
53
100
  label: confirmLabel,
54
- onPress: handleConfirm,
55
- color: destructive ? 'destructive' : 'default',
56
- shouldCloseOnPress: false
101
+ onPress: onConfirm,
102
+ color: destructive ? 'destructive' : 'default'
57
103
  }];
58
104
  if (!hideCancel) {
59
- // The `cancel` color auto-dismisses via the Dialog's `close()`, which in
60
- // controlled mode fires `onClose` (the host resolves `false`). `onCancel`
61
- // runs after the surface finishes closing.
105
+ // The `cancel` color auto-dismisses via the Dialog's `close()` (exit
106
+ // animation), then runs `onCancel` as a close-completion callback.
62
107
  actions.push({
63
108
  label: cancelLabel,
64
109
  onPress: onCancel,
@@ -66,11 +111,14 @@ export function createAlertDialog(Dialog) {
66
111
  });
67
112
  }
68
113
  return /*#__PURE__*/_jsx(Dialog, {
69
- open: visible,
70
- onClose: onClose,
114
+ control: control,
115
+ onClose: handleClose,
71
116
  placement: "center"
72
- // Alert dialogs are blocking by default the backdrop / Escape only
73
- // dismiss when the caller opts in via `dismissible`.
117
+ // Alert dialogs dismiss on backdrop / Escape by default (matching the
118
+ // shared Dialog default and Mention's `ConfirmPrompt`). A backdrop /
119
+ // Escape dismissal can only ever resolve the confirm as cancelled
120
+ // (`false`), never the destructive action — callers that need a truly
121
+ // blocking confirm opt out with `dismissible={false}`.
74
122
  ,
75
123
  dismissOnBackdrop: dismissible,
76
124
  title: title,
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useCallback","jsx","_jsx","createAlertDialog","Dialog","AlertDialogComponent","AlertDialog","visible","onClose","title","description","confirmLabel","cancelLabel","onConfirm","onCancel","destructive","hideCancel","dismissible","cardStyle","testID","handleConfirm","actions","label","onPress","color","shouldCloseOnPress","push","open","placement","dismissOnBackdrop","style","displayName"],"sourceRoot":"../../../src","sources":["alert-dialog/AlertDialog.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAuB,EAAE;EACzD,MAAMC,oBAAoB,GAAG,SAASC,WAAWA,CAAC;IAChDC,OAAO;IACPC,OAAO;IACPC,KAAK;IACLC,WAAW;IACXC,YAAY,GAAG,SAAS;IACxBC,WAAW,GAAG,QAAQ;IACtBC,SAAS;IACTC,QAAQ;IACRC,WAAW,GAAG,KAAK;IACnBC,UAAU,GAAG,KAAK;IAClBC,WAAW,GAAG,KAAK;IACnBC,SAAS;IACTC;EACgB,CAAC,EAAE;IACnB;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,aAAa,GAAGpB,WAAW,CAAC,MAAM;MACtCa,SAAS,GAAG,CAAC;MACbL,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAACK,SAAS,EAAEL,OAAO,CAAC,CAAC;IAExB,MAAMa,OAAuB,GAAG,CAC9B;MACEC,KAAK,EAAEX,YAAY;MACnBY,OAAO,EAAEH,aAAa;MACtBI,KAAK,EAAET,WAAW,GAAG,aAAa,GAAG,SAAS;MAC9CU,kBAAkB,EAAE;IACtB,CAAC,CACF;IACD,IAAI,CAACT,UAAU,EAAE;MACf;MACA;MACA;MACAK,OAAO,CAACK,IAAI,CAAC;QACXJ,KAAK,EAAEV,WAAW;QAClBW,OAAO,EAAET,QAAQ;QACjBU,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IAEA,oBACEtB,IAAA,CAACE,MAAM;MACLuB,IAAI,EAAEpB,OAAQ;MACdC,OAAO,EAAEA,OAAQ;MACjBoB,SAAS,EAAC;MACV;MACA;MAAA;MACAC,iBAAiB,EAAEZ,WAAY;MAC/BR,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBW,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAEb,KAAM;MACbqB,KAAK,EAAEZ,SAAU;MACjBC,MAAM,EAAEA;IAAO,CAChB,CAAC;EAEN,CAAC;EAED,MAAMb,WAAW,gBAAGP,IAAI,CAACM,oBAAoB,CAAC;EAC9CC,WAAW,CAACyB,WAAW,GAAG,aAAa;EACvC,OAAOzB,WAAW;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useCallback","useEffect","useRef","useDialogControl","jsx","_jsx","createAlertDialog","Dialog","AlertDialogComponent","AlertDialog","visible","onClose","title","description","confirmLabel","cancelLabel","onConfirm","onCancel","destructive","hideCancel","dismissible","cardStyle","testID","control","closingFromPropRef","open","current","close","handleClose","actions","label","onPress","color","push","placement","dismissOnBackdrop","style","displayName"],"sourceRoot":"../../../src","sources":["alert-dialog/AlertDialog.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAGnE,SAASC,gBAAgB,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAuB,EAAE;EACzD,MAAMC,oBAAoB,GAAG,SAASC,WAAWA,CAAC;IAChDC,OAAO;IACPC,OAAO;IACPC,KAAK;IACLC,WAAW;IACXC,YAAY,GAAG,SAAS;IACxBC,WAAW,GAAG,QAAQ;IACtBC,SAAS;IACTC,QAAQ;IACRC,WAAW,GAAG,KAAK;IACnBC,UAAU,GAAG,KAAK;IAClBC,WAAW,GAAG,IAAI;IAClBC,SAAS;IACTC;EACgB,CAAC,EAAE;IACnB,MAAMC,OAAO,GAAGpB,gBAAgB,CAAC,CAAC;;IAElC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMqB,kBAAkB,GAAGtB,MAAM,CAAC,KAAK,CAAC;IACxCD,SAAS,CAAC,MAAM;MACd,IAAIS,OAAO,EAAE;QACXa,OAAO,CAACE,IAAI,CAAC,CAAC;QACd;MACF;MACAD,kBAAkB,CAACE,OAAO,GAAG,IAAI;MACjCH,OAAO,CAACI,KAAK,CAAC,CAAC;IACjB,CAAC,EAAE,CAACjB,OAAO,EAAEa,OAAO,CAAC,CAAC;;IAEtB;IACA;IACA;IACA;IACA;IACA,MAAMK,WAAW,GAAG5B,WAAW,CAAC,MAAM;MACpC,IAAIwB,kBAAkB,CAACE,OAAO,EAAE;QAC9BF,kBAAkB,CAACE,OAAO,GAAG,KAAK;QAClC;MACF;MACAf,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;;IAEb;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMkB,OAAuB,GAAG,CAC9B;MACEC,KAAK,EAAEhB,YAAY;MACnBiB,OAAO,EAAEf,SAAS;MAClBgB,KAAK,EAAEd,WAAW,GAAG,aAAa,GAAG;IACvC,CAAC,CACF;IACD,IAAI,CAACC,UAAU,EAAE;MACf;MACA;MACAU,OAAO,CAACI,IAAI,CAAC;QACXH,KAAK,EAAEf,WAAW;QAClBgB,OAAO,EAAEd,QAAQ;QACjBe,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IAEA,oBACE3B,IAAA,CAACE,MAAM;MACLgB,OAAO,EAAEA,OAAQ;MACjBZ,OAAO,EAAEiB,WAAY;MACrBM,SAAS,EAAC;MACV;MACA;MACA;MACA;MACA;MAAA;MACAC,iBAAiB,EAAEf,WAAY;MAC/BR,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBgB,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAElB,KAAM;MACbwB,KAAK,EAAEf,SAAU;MACjBC,MAAM,EAAEA;IAAO,CAChB,CAAC;EAEN,CAAC;EAED,MAAMb,WAAW,gBAAGV,IAAI,CAACS,oBAAoB,CAAC;EAC9CC,WAAW,CAAC4B,WAAW,GAAG,aAAa;EACvC,OAAO5B,WAAW;AACpB","ignoreList":[]}