@oxyhq/bloom 0.49.1 → 0.50.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.
@@ -3,8 +3,14 @@
3
3
  import React, { createContext, memo, useContext, useLayoutEffect, useMemo, useSyncExternalStore } from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import Animated, { Extrapolation, interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
6
- import { ChevronLeft_Stroke2_Corner0_Rounded, TimesLarge_Stroke2_Corner0_Rounded } from "../icons/index.js";
6
+ import { ChevronLeft_Stroke2_Corner0_Rounded, DotGrid3x1_Stroke2_Corner0_Rounded, TimesLarge_Stroke2_Corner0_Rounded } from "../icons/index.js";
7
7
  import { FrostedIconButton } from '../frosted-icon-button';
8
+ import { Button } from '../button';
9
+ import { Search } from "../search/index.js";
10
+ import { SegmentedControl, SegmentedControlItem, SegmentedControlItemText } from "../segmented-control/index.js";
11
+ import { Popover, PopoverContent, PopoverTrigger } from '../popover';
12
+ import { Item } from "../item/index.js";
13
+ import { useDialogControl } from "./context.js";
8
14
  import { useTheme } from "../theme/use-theme.js";
9
15
  import { H1, Text } from "../typography/index.js";
10
16
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
@@ -44,6 +50,17 @@ const HEADER_H_PADDING = 20;
44
50
  /** Circular icon-button diameter for the default back / close affordances. */
45
51
  const NAV_BUTTON_SIZE = 36;
46
52
 
53
+ /**
54
+ * Trailing icon `actions` shown inline before they collapse into a "more"
55
+ * overflow menu (Material overflow pattern). Kept small so the nav row never
56
+ * crowds the title.
57
+ */
58
+ export const DIALOG_HEADER_MAX_INLINE_ACTIONS = 3;
59
+
60
+ /** Light content color for `tone: 'onImage'` (legible over any media). */
61
+ const ON_IMAGE_TEXT = '#FFFFFF';
62
+ const ON_IMAGE_SUBTEXT = 'rgba(255,255,255,0.82)';
63
+
47
64
  // --- Runtime override store (child screen → nav bar / large title) ----------
48
65
  //
49
66
  // The nav bar overlay and the in-content large title live in DIFFERENT subtrees
@@ -57,7 +74,10 @@ const NAV_BUTTON_SIZE = 36;
57
74
  function configsEqual(a, b) {
58
75
  if (a === b) return true;
59
76
  if (!a || !b) return false;
60
- return a.title === b.title && a.titleContent === b.titleContent && a.subtitle === b.subtitle && a.largeTitle === b.largeTitle && a.left === b.left && a.right === b.right && a.onBack === b.onBack && a.showClose === b.showClose;
77
+ return a.title === b.title && a.titleContent === b.titleContent && a.subtitle === b.subtitle && a.largeTitle === b.largeTitle && a.left === b.left && a.right === b.right && a.onBack === b.onBack && a.showClose === b.showClose &&
78
+ // Rich fields — object fields compared by identity (callers memoize them);
79
+ // `tone` is a plain value.
80
+ a.primaryAction === b.primaryAction && a.actions === b.actions && a.search === b.search && a.segments === b.segments && a.tone === b.tone && a.progress === b.progress;
61
81
  }
62
82
  function createHeaderStore() {
63
83
  let override = null;
@@ -130,7 +150,7 @@ export function useDialogHeader(config) {
130
150
  store.setOverride(config ?? null);
131
151
  return () => store.setOverride(null);
132
152
  // Slot nodes are compared by identity; callers memoize them.
133
- }, [store, config?.title, config?.titleContent, config?.subtitle, config?.largeTitle, config?.left, config?.right, config?.onBack, config?.showClose]);
153
+ }, [store, config?.title, config?.titleContent, config?.subtitle, config?.largeTitle, config?.left, config?.right, config?.onBack, config?.showClose, config?.primaryAction, config?.actions, config?.search, config?.segments, config?.tone, config?.progress]);
134
154
  }
135
155
 
136
156
  /** Read the merged (base + runtime-override) header config, reactively. */
@@ -142,6 +162,108 @@ function useMergedHeaderConfig(base, store) {
142
162
  } : base, [base, override]);
143
163
  }
144
164
 
165
+ // --- Rich header sub-parts --------------------------------------------------
166
+
167
+ /**
168
+ * The "more" overflow: a Bloom `Popover` that DROPS from the ⋯ trigger — anchored
169
+ * under the button on web (measured trigger + `bottom-end` placement) and a bottom
170
+ * sheet on native, matching how top libraries present a toolbar overflow (Radix
171
+ * DropdownMenu / Material Menu on desktop, an action sheet on mobile). Items are
172
+ * Bloom `Item` rows; pressing one closes the popover before firing.
173
+ */
174
+ function HeaderOverflowMenu({
175
+ items,
176
+ onImage
177
+ }) {
178
+ // Own the control so an item press can close the popover before acting.
179
+ const control = useDialogControl();
180
+ return /*#__PURE__*/_jsxs(Popover, {
181
+ control: control,
182
+ children: [/*#__PURE__*/_jsx(PopoverTrigger, {
183
+ label: "More",
184
+ children: ({
185
+ props
186
+ }) => /*#__PURE__*/_jsx(FrostedIconButton, {
187
+ size: "sm",
188
+ onPress: props.onPress,
189
+ accessibilityLabel: props.accessibilityLabel,
190
+ icon: /*#__PURE__*/_jsx(DotGrid3x1_Stroke2_Corner0_Rounded, {
191
+ size: "md",
192
+ fill: onImage ? ON_IMAGE_TEXT : undefined
193
+ })
194
+ })
195
+ }), /*#__PURE__*/_jsx(PopoverContent, {
196
+ label: "More actions",
197
+ placement: "bottom-end",
198
+ children: items.map(action => /*#__PURE__*/_jsx(Item, {
199
+ title: action.accessibilityLabel,
200
+ leading: action.icon,
201
+ density: "compact",
202
+ disabled: action.disabled,
203
+ onPress: () => control.close(() => action.onPress())
204
+ }, action.accessibilityLabel))
205
+ })]
206
+ });
207
+ }
208
+
209
+ /**
210
+ * Trailing icon `actions`: the first {@link DIALOG_HEADER_MAX_INLINE_ACTIONS}
211
+ * render inline as frosted circles; any surplus collapses into a "more" overflow
212
+ * that drops from the ⋯ ({@link HeaderOverflowMenu}) — never hand-rolled.
213
+ */
214
+ function HeaderTrailingActions({
215
+ actions,
216
+ onImage
217
+ }) {
218
+ if (actions.length === 0) return null;
219
+ const overflows = actions.length > DIALOG_HEADER_MAX_INLINE_ACTIONS;
220
+ // Keep room for the "more" trigger when collapsing.
221
+ const inline = overflows ? actions.slice(0, DIALOG_HEADER_MAX_INLINE_ACTIONS - 1) : actions;
222
+ const overflow = overflows ? actions.slice(DIALOG_HEADER_MAX_INLINE_ACTIONS - 1) : [];
223
+ return /*#__PURE__*/_jsxs(_Fragment, {
224
+ children: [inline.map(action => /*#__PURE__*/_jsx(FrostedIconButton, {
225
+ size: "sm",
226
+ icon: action.icon,
227
+ onPress: action.onPress,
228
+ disabled: action.disabled,
229
+ accessibilityLabel: action.accessibilityLabel
230
+ }, action.accessibilityLabel)), overflow.length > 0 ? /*#__PURE__*/_jsx(HeaderOverflowMenu, {
231
+ items: overflow,
232
+ onImage: onImage
233
+ }) : null]
234
+ });
235
+ }
236
+
237
+ /**
238
+ * A thin wizard step/progress indicator for the large-title zone. `step` is
239
+ * 1-based; the bar fills `step / total`, clamped to [0, 1].
240
+ */
241
+ function HeaderProgressBar({
242
+ step,
243
+ total,
244
+ onImage
245
+ }) {
246
+ const theme = useTheme();
247
+ const fraction = total > 0 ? Math.min(1, Math.max(0, step / total)) : 0;
248
+ return /*#__PURE__*/_jsx(View, {
249
+ accessibilityRole: "progressbar",
250
+ accessibilityValue: {
251
+ min: 0,
252
+ max: total,
253
+ now: step
254
+ },
255
+ style: [styles.progressTrack, {
256
+ backgroundColor: onImage ? 'rgba(255,255,255,0.25)' : theme.colors.border
257
+ }],
258
+ children: /*#__PURE__*/_jsx(View, {
259
+ style: [styles.progressFill, {
260
+ width: `${Math.round(fraction * 100)}%`,
261
+ backgroundColor: theme.colors.primary
262
+ }]
263
+ })
264
+ });
265
+ }
266
+
145
267
  // --- Nav bar overlay --------------------------------------------------------
146
268
 
147
269
  /**
@@ -194,26 +316,58 @@ export const DialogNavHeader = /*#__PURE__*/memo(function DialogNavHeader({
194
316
  // Reanimated on RN-Web has no worklets plugin: every shared value the mapper
195
317
  // reads MUST be in the deps array or it freezes on the first frame.
196
318
  }, [scrollY, largeTitleHeight, hasLargeTitle]);
319
+
320
+ // Over media (`tone: 'onImage'`) the scrim strengthens and the default title +
321
+ // icon buttons flip to light content so they stay legible.
322
+ const onImage = config.tone === 'onImage';
323
+ const iconFill = onImage ? ON_IMAGE_TEXT : undefined;
324
+ const titleColor = onImage ? ON_IMAGE_TEXT : theme.colors.text;
325
+ const subtitleColor = onImage ? ON_IMAGE_SUBTEXT : theme.colors.textSecondary;
326
+ const closeButton = /*#__PURE__*/_jsx(FrostedIconButton, {
327
+ onPress: onDismiss,
328
+ accessibilityLabel: "Close",
329
+ icon: /*#__PURE__*/_jsx(TimesLarge_Stroke2_Corner0_Rounded, {
330
+ size: "md",
331
+ fill: iconFill
332
+ })
333
+ });
334
+
335
+ // Trailing edge: a custom `right` wins; else the rich trailing (icon actions +
336
+ // the single primary CTA); else the default close affordance.
337
+ const hasRichTrailing = !config.right && !!(config.actions?.length || config.primaryAction);
338
+ const right = config.right ?? (hasRichTrailing ? /*#__PURE__*/_jsxs(View, {
339
+ style: styles.trailing,
340
+ children: [config.actions?.length ? /*#__PURE__*/_jsx(HeaderTrailingActions, {
341
+ actions: config.actions,
342
+ onImage: onImage
343
+ }) : null, config.primaryAction ? /*#__PURE__*/_jsx(Button, {
344
+ variant: "primary",
345
+ size: "small",
346
+ onPress: config.primaryAction.onPress,
347
+ disabled: config.primaryAction.disabled || config.primaryAction.loading,
348
+ loading: config.primaryAction.loading,
349
+ accessibilityLabel: config.primaryAction.label,
350
+ children: config.primaryAction.label
351
+ }) : null]
352
+ }) : config.showClose !== false ? closeButton : null);
353
+
354
+ // Leading edge: a custom `left` wins; else the back button; else — when the
355
+ // trailing edge is taken by the rich CTA and there is no back — the close
356
+ // affordance moves here so there is always exactly one dismiss control.
197
357
  const left = config.left ?? (config.onBack ? /*#__PURE__*/_jsx(FrostedIconButton, {
198
358
  onPress: config.onBack,
199
359
  accessibilityLabel: "Go back",
200
360
  icon: /*#__PURE__*/_jsx(ChevronLeft_Stroke2_Corner0_Rounded, {
201
- size: "md"
202
- })
203
- }) : null);
204
- const right = config.right ?? (config.showClose !== false ? /*#__PURE__*/_jsx(FrostedIconButton, {
205
- onPress: onDismiss,
206
- accessibilityLabel: "Close",
207
- icon: /*#__PURE__*/_jsx(TimesLarge_Stroke2_Corner0_Rounded, {
208
- size: "md"
361
+ size: "md",
362
+ fill: iconFill
209
363
  })
210
- }) : null);
364
+ }) : hasRichTrailing && config.showClose !== false ? closeButton : null);
211
365
  return /*#__PURE__*/_jsxs(View, {
212
366
  pointerEvents: "box-none",
213
367
  style: [styles.overlay, style],
214
368
  children: [/*#__PURE__*/_jsx(View, {
215
369
  pointerEvents: "none",
216
- className: "bg-gradient-to-b from-bg to-transparent",
370
+ className: onImage ? 'bg-gradient-to-b from-black/60 to-transparent' : 'bg-gradient-to-b from-bg to-transparent',
217
371
  style: [StyleSheet.absoluteFill, {
218
372
  height: DIALOG_HEADER_OVERLAY_HEIGHT
219
373
  }]
@@ -230,13 +384,13 @@ export const DialogNavHeader = /*#__PURE__*/memo(function DialogNavHeader({
230
384
  children: [config.titleContent ?? null, !config.titleContent && config.title ? /*#__PURE__*/_jsx(Text, {
231
385
  numberOfLines: 1,
232
386
  style: [styles.smallTitle, {
233
- color: theme.colors.text
387
+ color: titleColor
234
388
  }],
235
389
  children: config.title
236
390
  }) : null, !hasLargeTitle && !config.titleContent && config.subtitle ? /*#__PURE__*/_jsx(Text, {
237
391
  numberOfLines: 1,
238
392
  style: [styles.smallSubtitle, {
239
- color: theme.colors.textSecondary
393
+ color: subtitleColor
240
394
  }],
241
395
  children: config.subtitle
242
396
  }) : null]
@@ -269,12 +423,21 @@ export const DialogLargeTitle = /*#__PURE__*/memo(function DialogLargeTitle({
269
423
  // A branded `titleContent` lives in the bar and never collapses, so the
270
424
  // surface starts flush under the bar with no large title above it.
271
425
  const hasLargeTitle = !config.titleContent && (config.largeTitle ?? true) && !!config.title;
426
+ // The large-title zone also hosts search / segments / progress. These require a
427
+ // scrolling surface (they live here, not in the fixed bar) and collapse with the
428
+ // title on scroll (iOS `.searchable` style).
429
+ const hasExtras = !!(config.search || config.segments || config.progress);
430
+ const onImage = config.tone === 'onImage';
272
431
  const onLayout = e => {
273
432
  largeTitleHeight.value = e.nativeEvent.layout.height;
274
433
  };
275
- if (!hasLargeTitle) {
276
- // No large title: just inset the content below the nav bar.
277
- return /*#__PURE__*/_jsx(View, {
434
+ if (!hasLargeTitle && !hasExtras) {
435
+ // Pure content (no header chrome to render in-flow). Under `tone: 'onImage'`
436
+ // the content is media (a banner / photo canvas), so it slides UP under the
437
+ // translucent nav bar — the bar FLOATS over the media, immersive at rest (the
438
+ // standard iOS large-title-over-photo / Material collapsing-toolbar pattern).
439
+ // Default tone keeps the nav-bar-height inset so content clears the bar.
440
+ return onImage ? null : /*#__PURE__*/_jsx(View, {
278
441
  style: {
279
442
  height: DIALOG_NAV_BAR_HEIGHT
280
443
  }
@@ -289,16 +452,49 @@ export const DialogLargeTitle = /*#__PURE__*/memo(function DialogLargeTitle({
289
452
  onLayout: onLayout,
290
453
  testID: "dialog-large-title",
291
454
  style: styles.largeTitleBlock,
292
- children: [/*#__PURE__*/_jsx(H1, {
293
- style: [styles.largeTitle, {
294
- color: theme.colors.text
295
- }],
296
- children: config.title
297
- }), config.subtitle ? /*#__PURE__*/_jsx(Text, {
298
- style: [styles.largeSubtitle, {
299
- color: theme.colors.textSecondary
300
- }],
301
- children: config.subtitle
455
+ children: [hasLargeTitle ? /*#__PURE__*/_jsxs(_Fragment, {
456
+ children: [/*#__PURE__*/_jsx(H1, {
457
+ style: [styles.largeTitle, {
458
+ color: onImage ? ON_IMAGE_TEXT : theme.colors.text
459
+ }],
460
+ children: config.title
461
+ }), config.subtitle ? /*#__PURE__*/_jsx(Text, {
462
+ style: [styles.largeSubtitle, {
463
+ color: onImage ? ON_IMAGE_SUBTEXT : theme.colors.textSecondary
464
+ }],
465
+ children: config.subtitle
466
+ }) : null]
467
+ }) : null, config.search ? /*#__PURE__*/_jsx(View, {
468
+ style: hasLargeTitle ? styles.extraRow : undefined,
469
+ children: /*#__PURE__*/_jsx(Search, {
470
+ value: config.search.value,
471
+ onChangeText: config.search.onChangeText,
472
+ label: config.search.placeholder ?? 'Search',
473
+ onSubmitEditing: config.search.onSubmit,
474
+ onClearText: () => config.search?.onChangeText('')
475
+ })
476
+ }) : null, config.segments ? /*#__PURE__*/_jsx(View, {
477
+ style: hasLargeTitle || config.search ? styles.extraRow : undefined,
478
+ children: /*#__PURE__*/_jsx(SegmentedControl, {
479
+ label: config.title ?? 'View',
480
+ type: "tabs",
481
+ size: "small",
482
+ value: config.segments.value,
483
+ onChange: config.segments.onChange,
484
+ children: config.segments.items.map(item => /*#__PURE__*/_jsx(SegmentedControlItem, {
485
+ value: item.key,
486
+ children: /*#__PURE__*/_jsx(SegmentedControlItemText, {
487
+ children: item.label
488
+ })
489
+ }, item.key))
490
+ })
491
+ }) : null, config.progress ? /*#__PURE__*/_jsx(View, {
492
+ style: hasLargeTitle || config.search || config.segments ? styles.extraRow : undefined,
493
+ children: /*#__PURE__*/_jsx(HeaderProgressBar, {
494
+ step: config.progress.step,
495
+ total: config.progress.total,
496
+ onImage: onImage
497
+ })
302
498
  }) : null]
303
499
  })]
304
500
  });
@@ -326,6 +522,12 @@ const styles = StyleSheet.create({
326
522
  sideRight: {
327
523
  justifyContent: 'flex-end'
328
524
  },
525
+ /** Trailing row: icon actions + the primary CTA, right-aligned. */
526
+ trailing: {
527
+ flexDirection: 'row',
528
+ alignItems: 'center',
529
+ gap: 8
530
+ },
329
531
  centerTitle: {
330
532
  flex: 1,
331
533
  alignItems: 'center',
@@ -357,6 +559,21 @@ const styles = StyleSheet.create({
357
559
  fontSize: 16,
358
560
  lineHeight: 22,
359
561
  marginTop: 4
562
+ },
563
+ /** Spacing between the large title and each large-title-zone extra. */
564
+ extraRow: {
565
+ marginTop: 12
566
+ },
567
+ /** Thin wizard progress bar in the large-title zone. */
568
+ progressTrack: {
569
+ height: 4,
570
+ width: '100%',
571
+ borderRadius: 2,
572
+ overflow: 'hidden'
573
+ },
574
+ progressFill: {
575
+ height: '100%',
576
+ borderRadius: 2
360
577
  }
361
578
  });
362
579
  //# sourceMappingURL=DialogHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","memo","useContext","useLayoutEffect","useMemo","useSyncExternalStore","StyleSheet","View","Animated","Extrapolation","interpolate","useAnimatedStyle","useSharedValue","ChevronLeft_Stroke2_Corner0_Rounded","TimesLarge_Stroke2_Corner0_Rounded","FrostedIconButton","useTheme","H1","Text","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DIALOG_NAV_BAR_HEIGHT","GRADIENT_FADE","DIALOG_HEADER_OVERLAY_HEIGHT","DIALOG_HEADER_CONTENT_TOP","HEADER_H_PADDING","NAV_BUTTON_SIZE","configsEqual","a","b","title","titleContent","subtitle","largeTitle","left","right","onBack","showClose","createHeaderStore","override","listeners","Set","getSnapshot","setOverride","next","l","subscribe","listener","add","delete","useDialogHeaderController","scrollY","largeTitleHeight","store","DialogHeaderContext","DialogHeaderProvider","controller","children","Provider","value","useDialogHeader","config","useMergedHeaderConfig","base","DialogNavHeader","header","onDismiss","collapse","style","theme","hasLargeTitle","titleStyle","opacity","transform","translateY","threshold","start","end","CLAMP","onPress","accessibilityLabel","icon","size","pointerEvents","styles","overlay","className","absoluteFill","height","navRow","side","testID","centerTitle","numberOfLines","smallTitle","color","colors","text","smallSubtitle","textSecondary","sideRight","DialogLargeTitle","onLayout","e","nativeEvent","layout","largeTitleBlock","largeSubtitle","create","position","top","zIndex","flexDirection","alignItems","paddingHorizontal","minWidth","justifyContent","flex","fontSize","fontWeight","letterSpacing","lineHeight","paddingBottom","marginTop"],"sourceRoot":"../../../src","sources":["dialog/DialogHeader.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","memo","useContext","useLayoutEffect","useMemo","useSyncExternalStore","StyleSheet","View","Animated","Extrapolation","interpolate","useAnimatedStyle","useSharedValue","ChevronLeft_Stroke2_Corner0_Rounded","DotGrid3x1_Stroke2_Corner0_Rounded","TimesLarge_Stroke2_Corner0_Rounded","FrostedIconButton","Button","Search","SegmentedControl","SegmentedControlItem","SegmentedControlItemText","Popover","PopoverContent","PopoverTrigger","Item","useDialogControl","useTheme","H1","Text","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DIALOG_NAV_BAR_HEIGHT","GRADIENT_FADE","DIALOG_HEADER_OVERLAY_HEIGHT","DIALOG_HEADER_CONTENT_TOP","HEADER_H_PADDING","NAV_BUTTON_SIZE","DIALOG_HEADER_MAX_INLINE_ACTIONS","ON_IMAGE_TEXT","ON_IMAGE_SUBTEXT","configsEqual","a","b","title","titleContent","subtitle","largeTitle","left","right","onBack","showClose","primaryAction","actions","search","segments","tone","progress","createHeaderStore","override","listeners","Set","getSnapshot","setOverride","next","l","subscribe","listener","add","delete","useDialogHeaderController","scrollY","largeTitleHeight","store","DialogHeaderContext","DialogHeaderProvider","controller","children","Provider","value","useDialogHeader","config","useMergedHeaderConfig","base","HeaderOverflowMenu","items","onImage","control","label","props","size","onPress","accessibilityLabel","icon","fill","undefined","placement","map","action","leading","density","disabled","close","HeaderTrailingActions","length","overflows","inline","slice","overflow","HeaderProgressBar","step","total","theme","fraction","Math","min","max","accessibilityRole","accessibilityValue","now","style","styles","progressTrack","backgroundColor","colors","border","progressFill","width","round","primary","DialogNavHeader","header","onDismiss","collapse","hasLargeTitle","titleStyle","opacity","transform","translateY","threshold","start","end","CLAMP","iconFill","titleColor","text","subtitleColor","textSecondary","closeButton","hasRichTrailing","trailing","variant","loading","pointerEvents","overlay","className","absoluteFill","height","navRow","side","testID","centerTitle","numberOfLines","smallTitle","color","smallSubtitle","sideRight","DialogLargeTitle","hasExtras","onLayout","e","nativeEvent","layout","largeTitleBlock","largeSubtitle","extraRow","onChangeText","placeholder","onSubmitEditing","onSubmit","onClearText","type","onChange","item","key","create","position","top","zIndex","flexDirection","alignItems","paddingHorizontal","minWidth","justifyContent","gap","flex","fontSize","fontWeight","letterSpacing","lineHeight","paddingBottom","marginTop","borderRadius"],"sourceRoot":"../../../src","sources":["dialog/DialogHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,12 @@ export declare const DIALOG_HEADER_OVERLAY_HEIGHT: number;
12
12
  * BELOW the whole gradient overlay (fully clear at rest, then scrolls under it).
13
13
  */
14
14
  export declare const DIALOG_HEADER_CONTENT_TOP: number;
15
+ /**
16
+ * Trailing icon `actions` shown inline before they collapse into a "more"
17
+ * overflow menu (Material overflow pattern). Kept small so the nav row never
18
+ * crowds the title.
19
+ */
20
+ export declare const DIALOG_HEADER_MAX_INLINE_ACTIONS = 3;
15
21
  interface HeaderStore {
16
22
  getSnapshot: () => DialogHeaderConfig | null;
17
23
  setOverride: (next: DialogHeaderConfig | null) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"DialogHeader.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAiB,EAKf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiBlD,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAKxC,uDAAuD;AACvD,eAAO,MAAM,4BAA4B,QAAwC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAA+B,CAAC;AAkBtE,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD;AAkCD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,IAAI,sBAAsB,CAQlE;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,sBAAsB,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,KAAK,CAAC,YAAY,CAMrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAqBnF;AAaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;gBAOd,sBAAsB;YAC1B,kBAAkB;eACf,MAAM,IAAI;IACrB;;;;;OAKG;eACQ,OAAO;YACV,SAAS,CAAC,SAAS,CAAC;EA2F5B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;gBAIf,sBAAsB;YAC1B,kBAAkB;EAgC1B,CAAC"}
1
+ {"version":3,"file":"DialogHeader.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAiB,EAKf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAoBjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiBlD,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAKxC,uDAAuD;AACvD,eAAO,MAAM,4BAA4B,QAAwC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAA+B,CAAC;AAQtE;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAgBlD,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD;AA0CD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,IAAI,sBAAsB,CAQlE;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,sBAAsB,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,KAAK,CAAC,YAAY,CAMrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CA2BnF;AAoID;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;gBAOd,sBAAsB;YAC1B,kBAAkB;eACf,MAAM,IAAI;IACrB;;;;;OAKG;eACQ,OAAO;YACV,SAAS,CAAC,SAAS,CAAC;EAmI5B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;gBAIf,sBAAsB;YAC1B,kBAAkB;EA0F1B,CAAC"}
@@ -50,6 +50,73 @@ export interface DialogHeaderConfig {
50
50
  * affordance entirely (e.g. a blocking surface).
51
51
  */
52
52
  showClose?: boolean;
53
+ /**
54
+ * The ONE trailing call-to-action (Upload / Use photo / Save / Done) — a
55
+ * proper Bloom `Button` rendered at the trailing edge of the nav row, AFTER
56
+ * any `actions`. Standardizes what screens used to cram into `right`; supports
57
+ * `disabled` and a `loading` spinner (async submit). When set (and no explicit
58
+ * `right`), the default close affordance moves to the leading edge if the
59
+ * screen has no `onBack`, so there is always exactly one dismiss control.
60
+ */
61
+ primaryAction?: {
62
+ label: string;
63
+ onPress: () => void;
64
+ disabled?: boolean;
65
+ loading?: boolean;
66
+ };
67
+ /**
68
+ * Trailing icon buttons (share / more / sort), rendered as frosted circles
69
+ * BEFORE `primaryAction`. Past {@link DIALOG_HEADER_MAX_INLINE_ACTIONS} the
70
+ * surplus collapses into a "more" overflow menu (Material pattern) built on
71
+ * Bloom's `Menu` — never hand-rolled. Each item's `accessibilityLabel` is also
72
+ * its overflow-menu row text.
73
+ */
74
+ actions?: Array<{
75
+ icon: ReactNode;
76
+ accessibilityLabel: string;
77
+ onPress: () => void;
78
+ disabled?: boolean;
79
+ }>;
80
+ /**
81
+ * A search field in the collapsing large-title zone (iOS `.searchable` style:
82
+ * sits under the title and scrolls away with it). Requires a scrolling surface
83
+ * (`scrollable !== false`) — it lives in the same in-content block as the large
84
+ * title. Built on Bloom's `Search`.
85
+ */
86
+ search?: {
87
+ value: string;
88
+ onChangeText: (text: string) => void;
89
+ placeholder?: string;
90
+ onSubmit?: () => void;
91
+ };
92
+ /**
93
+ * A segmented control row UNDER the title (Material secondary row) for view
94
+ * switching. Requires a scrolling surface (lives in the large-title zone).
95
+ * Built on Bloom's `SegmentedControl` (`type="tabs"`).
96
+ */
97
+ segments?: {
98
+ items: Array<{
99
+ key: string;
100
+ label: string;
101
+ }>;
102
+ value: string;
103
+ onChange: (key: string) => void;
104
+ };
105
+ /**
106
+ * Over a banner / dark media canvas, `'onImage'` strengthens the gradient
107
+ * scrim and forces light-content title + default icon buttons so the chrome
108
+ * stays legible over the media. `'default'` (the default) is unchanged.
109
+ */
110
+ tone?: 'default' | 'onImage';
111
+ /**
112
+ * A thin step/progress indicator for wizards, rendered in the large-title zone
113
+ * below any title/search/segments. `step` is 1-based; the bar fills
114
+ * `step / total`.
115
+ */
116
+ progress?: {
117
+ step: number;
118
+ total: number;
119
+ };
53
120
  }
54
121
  /**
55
122
  * Side-sheet inset (px) from the root overlay's edges. Lets a host place a
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/types.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,12 @@ export declare const DIALOG_HEADER_OVERLAY_HEIGHT: number;
12
12
  * BELOW the whole gradient overlay (fully clear at rest, then scrolls under it).
13
13
  */
14
14
  export declare const DIALOG_HEADER_CONTENT_TOP: number;
15
+ /**
16
+ * Trailing icon `actions` shown inline before they collapse into a "more"
17
+ * overflow menu (Material overflow pattern). Kept small so the nav row never
18
+ * crowds the title.
19
+ */
20
+ export declare const DIALOG_HEADER_MAX_INLINE_ACTIONS = 3;
15
21
  interface HeaderStore {
16
22
  getSnapshot: () => DialogHeaderConfig | null;
17
23
  setOverride: (next: DialogHeaderConfig | null) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"DialogHeader.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAiB,EAKf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiBlD,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAKxC,uDAAuD;AACvD,eAAO,MAAM,4BAA4B,QAAwC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAA+B,CAAC;AAkBtE,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD;AAkCD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,IAAI,sBAAsB,CAQlE;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,sBAAsB,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,KAAK,CAAC,YAAY,CAMrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAqBnF;AAaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;gBAOd,sBAAsB;YAC1B,kBAAkB;eACf,MAAM,IAAI;IACrB;;;;;OAKG;eACQ,OAAO;YACV,SAAS,CAAC,SAAS,CAAC;EA2F5B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;gBAIf,sBAAsB;YAC1B,kBAAkB;EAgC1B,CAAC"}
1
+ {"version":3,"file":"DialogHeader.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAiB,EAKf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAoBjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiBlD,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAKxC,uDAAuD;AACvD,eAAO,MAAM,4BAA4B,QAAwC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAA+B,CAAC;AAQtE;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAgBlD,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACjD;AA0CD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,iFAAiF;AACjF,wBAAgB,yBAAyB,IAAI,sBAAsB,CAQlE;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,sBAAsB,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,KAAK,CAAC,YAAY,CAMrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CA2BnF;AAoID;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;gBAOd,sBAAsB;YAC1B,kBAAkB;eACf,MAAM,IAAI;IACrB;;;;;OAKG;eACQ,OAAO;YACV,SAAS,CAAC,SAAS,CAAC;EAmI5B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;gBAIf,sBAAsB;YAC1B,kBAAkB;EA0F1B,CAAC"}
@@ -50,6 +50,73 @@ export interface DialogHeaderConfig {
50
50
  * affordance entirely (e.g. a blocking surface).
51
51
  */
52
52
  showClose?: boolean;
53
+ /**
54
+ * The ONE trailing call-to-action (Upload / Use photo / Save / Done) — a
55
+ * proper Bloom `Button` rendered at the trailing edge of the nav row, AFTER
56
+ * any `actions`. Standardizes what screens used to cram into `right`; supports
57
+ * `disabled` and a `loading` spinner (async submit). When set (and no explicit
58
+ * `right`), the default close affordance moves to the leading edge if the
59
+ * screen has no `onBack`, so there is always exactly one dismiss control.
60
+ */
61
+ primaryAction?: {
62
+ label: string;
63
+ onPress: () => void;
64
+ disabled?: boolean;
65
+ loading?: boolean;
66
+ };
67
+ /**
68
+ * Trailing icon buttons (share / more / sort), rendered as frosted circles
69
+ * BEFORE `primaryAction`. Past {@link DIALOG_HEADER_MAX_INLINE_ACTIONS} the
70
+ * surplus collapses into a "more" overflow menu (Material pattern) built on
71
+ * Bloom's `Menu` — never hand-rolled. Each item's `accessibilityLabel` is also
72
+ * its overflow-menu row text.
73
+ */
74
+ actions?: Array<{
75
+ icon: ReactNode;
76
+ accessibilityLabel: string;
77
+ onPress: () => void;
78
+ disabled?: boolean;
79
+ }>;
80
+ /**
81
+ * A search field in the collapsing large-title zone (iOS `.searchable` style:
82
+ * sits under the title and scrolls away with it). Requires a scrolling surface
83
+ * (`scrollable !== false`) — it lives in the same in-content block as the large
84
+ * title. Built on Bloom's `Search`.
85
+ */
86
+ search?: {
87
+ value: string;
88
+ onChangeText: (text: string) => void;
89
+ placeholder?: string;
90
+ onSubmit?: () => void;
91
+ };
92
+ /**
93
+ * A segmented control row UNDER the title (Material secondary row) for view
94
+ * switching. Requires a scrolling surface (lives in the large-title zone).
95
+ * Built on Bloom's `SegmentedControl` (`type="tabs"`).
96
+ */
97
+ segments?: {
98
+ items: Array<{
99
+ key: string;
100
+ label: string;
101
+ }>;
102
+ value: string;
103
+ onChange: (key: string) => void;
104
+ };
105
+ /**
106
+ * Over a banner / dark media canvas, `'onImage'` strengthens the gradient
107
+ * scrim and forces light-content title + default icon buttons so the chrome
108
+ * stays legible over the media. `'default'` (the default) is unchanged.
109
+ */
110
+ tone?: 'default' | 'onImage';
111
+ /**
112
+ * A thin step/progress indicator for wizards, rendered in the large-title zone
113
+ * below any title/search/segments. `step` is 1-based; the bar fills
114
+ * `step / total`.
115
+ */
116
+ progress?: {
117
+ step: number;
118
+ total: number;
119
+ };
53
120
  }
54
121
  /**
55
122
  * Side-sheet inset (px) from the root overlay's edges. Lets a host place a