@oxyhq/bloom 0.45.0 → 0.48.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.
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js +34 -12
- package/lib/commonjs/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/commonjs/combobox/Combobox.js +3 -3
- package/lib/commonjs/combobox/Combobox.js.map +1 -1
- package/lib/commonjs/command/Command.js +3 -3
- package/lib/commonjs/command/Command.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.js +86 -8
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +176 -18
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/DialogBottomSheet.js +84 -29
- package/lib/commonjs/dialog/DialogBottomSheet.js.map +1 -1
- package/lib/commonjs/dialog/DialogHeader.js +365 -0
- package/lib/commonjs/dialog/DialogHeader.js.map +1 -0
- package/lib/commonjs/dialog/index.js +7 -0
- package/lib/commonjs/dialog/index.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js +7 -0
- package/lib/commonjs/dialog/index.web.js.map +1 -1
- package/lib/commonjs/index.js +40 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +84 -48
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/react-native-className.d.js +6 -0
- package/lib/commonjs/react-native-className.d.js.map +1 -0
- package/lib/commonjs/{search-input → search}/index.js +5 -3
- package/lib/commonjs/search/index.js.map +1 -0
- package/lib/commonjs/settings-list/SettingsList.js +5 -1
- package/lib/commonjs/settings-list/SettingsList.js.map +1 -1
- package/lib/commonjs/surfaces/SurfaceHost.js +202 -0
- package/lib/commonjs/surfaces/SurfaceHost.js.map +1 -0
- package/lib/commonjs/surfaces/api.js +83 -0
- package/lib/commonjs/surfaces/api.js.map +1 -0
- package/lib/commonjs/surfaces/index.js +82 -0
- package/lib/commonjs/surfaces/index.js.map +1 -0
- package/lib/commonjs/surfaces/index.web.js +77 -0
- package/lib/commonjs/surfaces/index.web.js.map +1 -0
- package/lib/commonjs/surfaces/prompts.js +154 -0
- package/lib/commonjs/surfaces/prompts.js.map +1 -0
- package/lib/commonjs/surfaces/surfaceStore.js +172 -0
- package/lib/commonjs/surfaces/surfaceStore.js.map +1 -0
- package/lib/commonjs/surfaces/types.js +6 -0
- package/lib/commonjs/surfaces/types.js.map +1 -0
- package/lib/commonjs/surfaces/useSurface.js +36 -0
- package/lib/commonjs/surfaces/useSurface.js.map +1 -0
- package/lib/commonjs/text-field/index.js +22 -6
- package/lib/commonjs/text-field/index.js.map +1 -1
- package/lib/module/bottom-sheet/BottomSheetBase.js +34 -12
- package/lib/module/bottom-sheet/BottomSheetBase.js.map +1 -1
- package/lib/module/combobox/Combobox.js +3 -3
- package/lib/module/combobox/Combobox.js.map +1 -1
- package/lib/module/command/Command.js +3 -3
- package/lib/module/command/Command.js.map +1 -1
- package/lib/module/dialog/Dialog.js +88 -10
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +179 -21
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/DialogBottomSheet.js +85 -30
- package/lib/module/dialog/DialogBottomSheet.js.map +1 -1
- package/lib/module/dialog/DialogHeader.js +356 -0
- package/lib/module/dialog/DialogHeader.js.map +1 -0
- package/lib/module/dialog/index.js +1 -0
- package/lib/module/dialog/index.js.map +1 -1
- package/lib/module/dialog/index.web.js +1 -0
- package/lib/module/dialog/index.web.js.map +1 -1
- package/lib/module/index.js +7 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +7 -2
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/react-native-className.d.js +20 -0
- package/lib/module/react-native-className.d.js.map +1 -0
- package/lib/module/{search-input → search}/index.js +6 -2
- package/lib/module/search/index.js.map +1 -0
- package/lib/module/settings-list/SettingsList.js +5 -1
- package/lib/module/settings-list/SettingsList.js.map +1 -1
- package/lib/module/surfaces/SurfaceHost.js +197 -0
- package/lib/module/surfaces/SurfaceHost.js.map +1 -0
- package/lib/module/surfaces/api.js +48 -0
- package/lib/module/surfaces/api.js.map +1 -0
- package/lib/module/surfaces/index.js +24 -0
- package/lib/module/surfaces/index.js.map +1 -0
- package/lib/module/surfaces/index.web.js +19 -0
- package/lib/module/surfaces/index.web.js.map +1 -0
- package/lib/module/surfaces/prompts.js +148 -0
- package/lib/module/surfaces/prompts.js.map +1 -0
- package/lib/module/surfaces/surfaceStore.js +159 -0
- package/lib/module/surfaces/surfaceStore.js.map +1 -0
- package/lib/module/surfaces/types.js +4 -0
- package/lib/module/surfaces/types.js.map +1 -0
- package/lib/module/surfaces/useSurface.js +31 -0
- package/lib/module/surfaces/useSurface.js.map +1 -0
- package/lib/module/text-field/index.js +22 -6
- package/lib/module/text-field/index.js.map +1 -1
- package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts +23 -0
- package/lib/typescript/commonjs/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/combobox/Combobox.d.ts +1 -1
- package/lib/typescript/commonjs/command/Command.d.ts +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/DialogBottomSheet.d.ts +2 -2
- package/lib/typescript/commonjs/dialog/DialogBottomSheet.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/DialogHeader.d.ts +86 -0
- package/lib/typescript/commonjs/dialog/DialogHeader.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/index.d.ts +2 -1
- package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/types.d.ts +85 -0
- package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/common.d.ts +1 -0
- package/lib/typescript/commonjs/icons/common.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +5 -3
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +5 -3
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/input-group/types.d.ts +1 -1
- package/lib/typescript/commonjs/{search-input → search}/index.d.ts +1 -1
- package/lib/typescript/commonjs/search/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/SurfaceHost.d.ts +25 -0
- package/lib/typescript/commonjs/surfaces/SurfaceHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/api.d.ts +41 -0
- package/lib/typescript/commonjs/surfaces/api.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/index.d.ts +25 -0
- package/lib/typescript/commonjs/surfaces/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/index.web.d.ts +20 -0
- package/lib/typescript/commonjs/surfaces/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/prompts.d.ts +13 -0
- package/lib/typescript/commonjs/surfaces/prompts.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/surfaceStore.d.ts +51 -0
- package/lib/typescript/commonjs/surfaces/surfaceStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/types.d.ts +161 -0
- package/lib/typescript/commonjs/surfaces/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/surfaces/useSurface.d.ts +21 -0
- package/lib/typescript/commonjs/surfaces/useSurface.d.ts.map +1 -0
- package/lib/typescript/commonjs/text-field/index.d.ts +2 -1
- package/lib/typescript/commonjs/text-field/index.d.ts.map +1 -1
- package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts +23 -0
- package/lib/typescript/module/bottom-sheet/BottomSheetBase.d.ts.map +1 -1
- package/lib/typescript/module/combobox/Combobox.d.ts +1 -1
- package/lib/typescript/module/command/Command.d.ts +1 -1
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/DialogBottomSheet.d.ts +2 -2
- package/lib/typescript/module/dialog/DialogBottomSheet.d.ts.map +1 -1
- package/lib/typescript/module/dialog/DialogHeader.d.ts +86 -0
- package/lib/typescript/module/dialog/DialogHeader.d.ts.map +1 -0
- package/lib/typescript/module/dialog/index.d.ts +2 -1
- package/lib/typescript/module/dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +2 -1
- package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/types.d.ts +85 -0
- package/lib/typescript/module/dialog/types.d.ts.map +1 -1
- package/lib/typescript/module/icons/common.d.ts +1 -0
- package/lib/typescript/module/icons/common.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +5 -3
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +5 -3
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/input-group/types.d.ts +1 -1
- package/lib/typescript/module/{search-input → search}/index.d.ts +1 -1
- package/lib/typescript/module/search/index.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/SurfaceHost.d.ts +25 -0
- package/lib/typescript/module/surfaces/SurfaceHost.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/api.d.ts +41 -0
- package/lib/typescript/module/surfaces/api.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/index.d.ts +25 -0
- package/lib/typescript/module/surfaces/index.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/index.web.d.ts +20 -0
- package/lib/typescript/module/surfaces/index.web.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/prompts.d.ts +13 -0
- package/lib/typescript/module/surfaces/prompts.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/surfaceStore.d.ts +51 -0
- package/lib/typescript/module/surfaces/surfaceStore.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/types.d.ts +161 -0
- package/lib/typescript/module/surfaces/types.d.ts.map +1 -0
- package/lib/typescript/module/surfaces/useSurface.d.ts +21 -0
- package/lib/typescript/module/surfaces/useSurface.d.ts.map +1 -0
- package/lib/typescript/module/text-field/index.d.ts +2 -1
- package/lib/typescript/module/text-field/index.d.ts.map +1 -1
- package/package.json +24 -8
- package/src/__tests__/BottomSheet.test.tsx +47 -0
- package/src/__tests__/DialogBottomSheet.test.tsx +30 -5
- package/src/__tests__/surfaceStore.test.ts +219 -0
- package/src/bottom-sheet/BottomSheetBase.tsx +59 -10
- package/src/combobox/Combobox.tsx +3 -3
- package/src/command/Command.tsx +3 -3
- package/src/dialog/Dialog.tsx +88 -7
- package/src/dialog/Dialog.web.tsx +179 -29
- package/src/dialog/DialogBottomSheet.tsx +90 -28
- package/src/dialog/DialogHeader.tsx +420 -0
- package/src/dialog/index.ts +2 -0
- package/src/dialog/index.web.ts +2 -0
- package/src/dialog/types.ts +86 -0
- package/src/index.ts +18 -1
- package/src/index.web.ts +18 -1
- package/src/input-group/types.ts +1 -1
- package/src/react-native-className.d.ts +38 -0
- package/src/{search-input → search}/index.tsx +8 -5
- package/src/settings-list/SettingsList.tsx +5 -1
- package/src/surfaces/SurfaceHost.tsx +222 -0
- package/src/surfaces/api.ts +55 -0
- package/src/surfaces/index.ts +38 -0
- package/src/surfaces/index.web.ts +33 -0
- package/src/surfaces/prompts.tsx +178 -0
- package/src/surfaces/surfaceStore.ts +168 -0
- package/src/surfaces/types.ts +172 -0
- package/src/surfaces/useSurface.ts +33 -0
- package/src/text-field/index.tsx +24 -5
- package/lib/commonjs/search-input/index.js.map +0 -1
- package/lib/module/search-input/index.js.map +0 -1
- package/lib/typescript/commonjs/search-input/index.d.ts.map +0 -1
- package/lib/typescript/module/search-input/index.d.ts.map +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
import type { DialogHeaderConfig, DialogInset, ResponsiveDialogPlacement } from '../dialog/types';
|
|
4
|
+
/**
|
|
5
|
+
* How a surface renders — the placement + the `Dialog` sizing/chrome options a
|
|
6
|
+
* surface needs. This is the CONTENT-AGNOSTIC presentation config: it never
|
|
7
|
+
* references a route or screen name (Bloom's stack knows nothing about routes;
|
|
8
|
+
* the SDK layers its route registry on top).
|
|
9
|
+
*
|
|
10
|
+
* The values map 1:1 onto the shared {@link ../dialog/types#DialogProps}, so a
|
|
11
|
+
* surface reads/behaves identically to a hand-mounted `<Dialog>` with the same
|
|
12
|
+
* props — only stacked/coordinated by {@link SurfaceHost}.
|
|
13
|
+
*/
|
|
14
|
+
export interface SurfacePresentation {
|
|
15
|
+
/**
|
|
16
|
+
* Surface anchor. Defaults to `{ base: 'bottom', md: 'center' }` — a bottom
|
|
17
|
+
* sheet on narrow viewports that becomes a centered modal on wide ones (the
|
|
18
|
+
* ecosystem's canonical responsive "sheet"). Pass `'center'` for a plain
|
|
19
|
+
* modal, `'left'`/`'right'` for a drawer, or any responsive placement map.
|
|
20
|
+
*/
|
|
21
|
+
placement?: ResponsiveDialogPlacement;
|
|
22
|
+
/** Side-sheet width (px) on wide screens. Forwarded to `Dialog`. */
|
|
23
|
+
width?: number;
|
|
24
|
+
/** Centered-card max width (px). Forwarded to `Dialog`. */
|
|
25
|
+
maxWidth?: number;
|
|
26
|
+
/** Bottom-sheet max height as a fraction of the viewport height. */
|
|
27
|
+
maxHeightRatio?: number;
|
|
28
|
+
/** Side-sheet inset (px) from the root overlay's edges. */
|
|
29
|
+
inset?: DialogInset;
|
|
30
|
+
/** Whether to render the drag handle in bottom-sheet mode. */
|
|
31
|
+
showHandle?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether tapping the backdrop / pressing Escape / Android-back dismisses the
|
|
34
|
+
* surface. Defaults to `true`. Set `false` for a blocking surface that must be
|
|
35
|
+
* dismissed programmatically (e.g. an unanswered required prompt).
|
|
36
|
+
*/
|
|
37
|
+
dismissOnBackdrop?: boolean;
|
|
38
|
+
/** Inner padding (px) of the surface content container. Forwarded to `Dialog`. */
|
|
39
|
+
contentPadding?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Turns on the Dialog's OWN navigation header for this surface (sticky gradient
|
|
42
|
+
* nav bar + large collapsing title over the surface's scroll content). Seeds
|
|
43
|
+
* the header content; a mounted screen refines it at runtime via
|
|
44
|
+
* `useDialogHeader`. Omit for a plain surface (a confirm/alert dialog). Forwarded
|
|
45
|
+
* to `Dialog`.
|
|
46
|
+
*/
|
|
47
|
+
header?: DialogHeaderConfig;
|
|
48
|
+
/**
|
|
49
|
+
* Whether the surface wraps its content in an internal scroll container.
|
|
50
|
+
* Defaults to `true`. Set `false` when the surface's content owns its own
|
|
51
|
+
* scrolling primitive (a `FlatList` / `SectionList` / VirtualizedList, or its
|
|
52
|
+
* own `ScrollView`) so the host does not nest it in a ScrollView. Forwarded
|
|
53
|
+
* to `Dialog`.
|
|
54
|
+
*/
|
|
55
|
+
scrollable?: boolean;
|
|
56
|
+
/** Style overrides applied to the inner content container. */
|
|
57
|
+
style?: StyleProp<ViewStyle>;
|
|
58
|
+
/** Style overrides for the side/bottom placement panel surface. */
|
|
59
|
+
panelStyle?: StyleProp<ViewStyle>;
|
|
60
|
+
/** NativeWind classes for the side/bottom placement panel surface. */
|
|
61
|
+
panelClassName?: string;
|
|
62
|
+
/** Style for the root overlay (theme-var scope, rail offset, etc.). */
|
|
63
|
+
containerStyle?: StyleProp<ViewStyle>;
|
|
64
|
+
/** NativeWind classes for the root overlay. */
|
|
65
|
+
containerClassName?: string;
|
|
66
|
+
/** Accessibility label applied to the surface's dialog role. */
|
|
67
|
+
label?: string;
|
|
68
|
+
/** Stable testID forwarded to the underlying `Dialog`. */
|
|
69
|
+
testID?: string;
|
|
70
|
+
}
|
|
71
|
+
/** Options accepted by `present` / `SurfaceControls.present`. */
|
|
72
|
+
export type PresentOptions = SurfacePresentation;
|
|
73
|
+
/**
|
|
74
|
+
* Controls handed to a presented surface — both as the argument to its render
|
|
75
|
+
* function AND via {@link ../surfaces/useSurface#useSurface}. This is the DEPTH
|
|
76
|
+
* axis only: a surface can dismiss ITSELF (resolving its own `present()`
|
|
77
|
+
* promise) or `present` a CHILD surface stacked above it. Navigation WITHIN a
|
|
78
|
+
* surface (route history / drill-in) is deliberately NOT here — that is the
|
|
79
|
+
* SDK's route layer, which composes on top of this stack.
|
|
80
|
+
*/
|
|
81
|
+
export interface SurfaceControls {
|
|
82
|
+
/**
|
|
83
|
+
* Dismiss THIS surface, resolving the promise returned by the `present` call
|
|
84
|
+
* that created it with `result` (or `undefined`). Resolves immediately; the
|
|
85
|
+
* exit animation is cosmetic.
|
|
86
|
+
*/
|
|
87
|
+
dismiss: (result?: unknown) => void;
|
|
88
|
+
/**
|
|
89
|
+
* Stack a CHILD surface directly above this one. Resolves with the child's
|
|
90
|
+
* dismissal result. The child paints above (higher layer) and captures
|
|
91
|
+
* backdrop/Escape/back until it is dismissed.
|
|
92
|
+
*/
|
|
93
|
+
present: <Result = unknown>(render: SurfaceRenderFn, opts?: PresentOptions) => Promise<Result>;
|
|
94
|
+
}
|
|
95
|
+
/** A surface's content factory — receives its own {@link SurfaceControls}. */
|
|
96
|
+
export type SurfaceRenderFn = (surface: SurfaceControls) => ReactNode;
|
|
97
|
+
/** Lifecycle status of a stacked surface. */
|
|
98
|
+
export type SurfaceStatus = 'open' | 'closing';
|
|
99
|
+
/**
|
|
100
|
+
* One entry in the surface stack. `resolve` fulfils the `present()` promise; the
|
|
101
|
+
* `settled` guard makes resolution idempotent (resolve-once); `generation` is
|
|
102
|
+
* the per-entry stale-callback guard (carried from `BottomSheetBase`'s
|
|
103
|
+
* `closeGenerationRef`, keyed per entry id) so a completion callback from a
|
|
104
|
+
* superseded close cycle can never tear down the wrong state.
|
|
105
|
+
*/
|
|
106
|
+
export interface SurfaceEntry {
|
|
107
|
+
id: string;
|
|
108
|
+
render: SurfaceRenderFn;
|
|
109
|
+
presentation: SurfacePresentation;
|
|
110
|
+
status: SurfaceStatus;
|
|
111
|
+
resolve: (result: unknown) => void;
|
|
112
|
+
settled: boolean;
|
|
113
|
+
generation: number;
|
|
114
|
+
}
|
|
115
|
+
/** Options for the built-in {@link ../surfaces/prompts#confirm} surface. */
|
|
116
|
+
export interface SurfaceConfirmOptions {
|
|
117
|
+
/** Headline. */
|
|
118
|
+
title: string;
|
|
119
|
+
/** Supporting copy. */
|
|
120
|
+
message?: string;
|
|
121
|
+
/** Confirm button label. Defaults to `'Confirm'`. */
|
|
122
|
+
confirmLabel?: string;
|
|
123
|
+
/** Cancel button label. Defaults to `'Cancel'`. */
|
|
124
|
+
cancelLabel?: string;
|
|
125
|
+
/** Style the confirm button as destructive (negative color). */
|
|
126
|
+
destructive?: boolean;
|
|
127
|
+
/** Hide the cancel button (a single-action acknowledgement). */
|
|
128
|
+
hideCancel?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Backdrop / Escape / back dismiss (resolving `false`). Defaults to `true`;
|
|
131
|
+
* pass `false` for a blocking confirm that must be answered by a button.
|
|
132
|
+
*/
|
|
133
|
+
dismissible?: boolean;
|
|
134
|
+
/** Placement override. Defaults to `'center'`. */
|
|
135
|
+
placement?: ResponsiveDialogPlacement;
|
|
136
|
+
}
|
|
137
|
+
/** Options for the built-in {@link ../surfaces/prompts#prompt} surface. */
|
|
138
|
+
export interface SurfacePromptOptions {
|
|
139
|
+
/** Headline. */
|
|
140
|
+
title: string;
|
|
141
|
+
/** Supporting copy. */
|
|
142
|
+
message?: string;
|
|
143
|
+
/** Input placeholder. */
|
|
144
|
+
placeholder?: string;
|
|
145
|
+
/** Initial input value. */
|
|
146
|
+
defaultValue?: string;
|
|
147
|
+
/** Accessibility label for the input. Defaults to the `title`. */
|
|
148
|
+
inputLabel?: string;
|
|
149
|
+
/** Submit button label. Defaults to `'OK'`. */
|
|
150
|
+
confirmLabel?: string;
|
|
151
|
+
/** Cancel button label. Defaults to `'Cancel'`. */
|
|
152
|
+
cancelLabel?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Backdrop / Escape / back dismiss (resolving `null`). Defaults to `true`;
|
|
155
|
+
* pass `false` for a blocking prompt.
|
|
156
|
+
*/
|
|
157
|
+
dismissible?: boolean;
|
|
158
|
+
/** Placement override. Defaults to `'center'`. */
|
|
159
|
+
placement?: ResponsiveDialogPlacement;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SurfaceControls } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Context carrying the CURRENT surface's controls. The host wraps each presented
|
|
4
|
+
* surface's content in a provider bound to that entry's id, so a nested surface
|
|
5
|
+
* reads its OWN controls — `dismiss` targets this surface, `present` stacks a
|
|
6
|
+
* child above it.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SurfaceContext: import("react").Context<SurfaceControls | null>;
|
|
9
|
+
/**
|
|
10
|
+
* Read the current surface's {@link SurfaceControls} from inside a presented
|
|
11
|
+
* surface. Equivalent to the `surface` argument the render function receives —
|
|
12
|
+
* use whichever is convenient (props vs. context).
|
|
13
|
+
*
|
|
14
|
+
* DEPTH only: `dismiss` (resolve this surface's promise + close) and `present`
|
|
15
|
+
* (stack a child). Navigation within a surface is the SDK's route layer, not
|
|
16
|
+
* this hook.
|
|
17
|
+
*
|
|
18
|
+
* @throws if called outside a presented surface.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useSurface(): SurfaceControls;
|
|
21
|
+
//# sourceMappingURL=useSurface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSurface.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/useSurface.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,iDAA8C,CAAC;AAG1E;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAQ5C"}
|
|
@@ -3,8 +3,9 @@ import { type TextStyleProp, type ViewStyleProp } from '../styles';
|
|
|
3
3
|
import { type Props as SVGIconProps } from '../icons/common';
|
|
4
4
|
export type TextFieldProps = React.PropsWithChildren<{
|
|
5
5
|
isInvalid?: boolean;
|
|
6
|
+
radius?: number;
|
|
6
7
|
} & ViewStyleProp>;
|
|
7
|
-
export declare function TextField({ children, isInvalid, style }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function TextField({ children, isInvalid, radius, style }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export declare function useSharedInputStyles(): {
|
|
9
10
|
chromeHover: ViewStyle;
|
|
10
11
|
chromeFocus: ViewStyle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/text-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAIvB,SAAS,EACT,KAAK,cAAc,EAGnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAkB,KAAK,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/text-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAIvB,SAAS,EACT,KAAK,cAAc,EAGnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAkB,KAAK,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAwC7E,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,CAClD;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,aAAa,CACzD,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAiB,EAAE,MAAW,EAAE,KAAK,EAAE,EAAE,cAAc,2CA2C5F;AAED,wBAAgB,oBAAoB;;;;;EA0BnC;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,cAAc,EACd,OAAO,GAAG,cAAc,GAAG,aAAa,CACzC,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC7E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,KAAK,EACL,aAAqB,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,2CA6HrB;AA6KD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,GACT,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,2CAchD;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;CAAE,2CA8BxF;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CACxB,aAAa,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CAC7D,CACF,2CAqBA;AAED,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,2CAkDA"}
|
|
@@ -11,6 +11,16 @@ export interface BottomSheetRef {
|
|
|
11
11
|
}
|
|
12
12
|
export interface BottomSheetProps {
|
|
13
13
|
children: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Controlled open state. When provided, the sheet mounts already-open if
|
|
16
|
+
* `true` (seeding its internal visible/rendered state) instead of relying on
|
|
17
|
+
* an imperative `present()` after mount. This is what makes a responsive
|
|
18
|
+
* `Dialog` survive a placement swap (centered card ↔ bottom sheet on resize):
|
|
19
|
+
* the freshly-mounted sheet is visible on its first commit, with no
|
|
20
|
+
* present()-in-effect race that would otherwise leave it blank. Omit for the
|
|
21
|
+
* purely imperative `present()`/`dismiss()` API.
|
|
22
|
+
*/
|
|
23
|
+
open?: boolean;
|
|
14
24
|
onDismiss?: () => void;
|
|
15
25
|
enablePanDownToClose?: boolean;
|
|
16
26
|
backgroundComponent?: (props: {
|
|
@@ -89,6 +99,19 @@ export interface BottomSheetProps {
|
|
|
89
99
|
* `showHandle` is `true`.
|
|
90
100
|
*/
|
|
91
101
|
handleComponent?: () => React.ReactNode;
|
|
102
|
+
/**
|
|
103
|
+
* External shared value the internal scroll handler mirrors the content
|
|
104
|
+
* offset into (in addition to its own gesture-gating offset). Lets a host —
|
|
105
|
+
* e.g. a Dialog nav-header — drive a collapse from the sheet's OWN scroller
|
|
106
|
+
* without owning the ScrollView. Optional; the standalone sheet ignores it.
|
|
107
|
+
*/
|
|
108
|
+
scrollY?: SharedValue<number>;
|
|
109
|
+
/**
|
|
110
|
+
* Overlay slot rendered absolutely at the TOP of the sheet card, painted
|
|
111
|
+
* above the scrolling body (clipped to the sheet's rounded top). Used by the
|
|
112
|
+
* Dialog to float its sticky nav header over the sheet's scroll content.
|
|
113
|
+
*/
|
|
114
|
+
headerOverlay?: React.ReactNode;
|
|
92
115
|
}
|
|
93
116
|
/**
|
|
94
117
|
* Props consumed by a platform Shell — the outermost wrapper that hosts the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetBase.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/BottomSheetBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAMH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAGb,KAAK,WAAW,EAMnB,MAAM,yBAAyB,CAAC;AAwBjC,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomSheetBase.d.ts","sourceRoot":"","sources":["../../../../src/bottom-sheet/BottomSheetBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAMH,KAAK,SAAS,EACd,KAAK,SAAS,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAGb,KAAK,WAAW,EAMnB,MAAM,yBAAyB,CAAC;AAwBjC,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7F,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACjH;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACxC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IAClC,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,eAAe,6FA+lB1B,CAAC"}
|
|
@@ -21,7 +21,7 @@ interface PopoverModule {
|
|
|
21
21
|
* `.web` resolution. The combobox logic is single-source.
|
|
22
22
|
*
|
|
23
23
|
* `Combobox` is a filterable autocomplete select that delegates its overlay to
|
|
24
|
-
* Bloom's `Popover` and composes `
|
|
24
|
+
* Bloom's `Popover` and composes `Search` + `Item`. The trigger + panel
|
|
25
25
|
* read the overlay control from `Popover` context (via an inner component) so
|
|
26
26
|
* selecting an option reliably closes the overlay on every platform.
|
|
27
27
|
*/
|
|
@@ -9,7 +9,7 @@ type DialogComponent = React.ComponentType<DialogProps>;
|
|
|
9
9
|
* relies on implicit `.web` resolution. The body is single-source.
|
|
10
10
|
*
|
|
11
11
|
* `Command` is a ⌘K command palette built on `<Dialog placement="center">`,
|
|
12
|
-
* `
|
|
12
|
+
* `Search`, an `Item` results list and `Kbd` shortcut hints. Items group
|
|
13
13
|
* by their `group` field (ungrouped first). On web the list is
|
|
14
14
|
* keyboard-navigable (Up/Down/Enter); on native, tap to select.
|
|
15
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAwCA,OAAO,EAIL,4BAA4B,EAK7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,SAAS,EACT,GAAG,IAAI,EACR,EAAE,WAAW,2CAab;AA8dD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,2CAoBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.web.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dialog.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.web.tsx"],"names":[],"mappings":"AAiCA,OAAO,EAML,4BAA4B,EAM7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EAGZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAqCjB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,2CAazD;AAsYD,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAsQxC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB,2CAgBA;AA8BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,mZAK5B,CAAC"}
|
|
@@ -19,11 +19,11 @@ import type { DialogProps } from './types';
|
|
|
19
19
|
* so a host's CSS-var theme scope (`vars()`) still applies to descendants
|
|
20
20
|
* - `title` / `description` / `actions` / `children` → declarative body
|
|
21
21
|
*/
|
|
22
|
-
export declare function DialogBottomSheet({ control, open: controlledOpen, onClose, testID, title, description, actions, maxHeightRatio, showHandle, dismissOnBackdrop, contentPadding, style, panelStyle, panelClassName, containerStyle, containerClassName, label, children, }: DialogBottomSheetProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function DialogBottomSheet({ control, open: controlledOpen, startOpen, onClose, testID, title, description, actions, header, maxHeightRatio, showHandle, dismissOnBackdrop, contentPadding, scrollable, style, panelStyle, panelClassName, containerStyle, containerClassName, label, children, }: DialogBottomSheetProps): import("react/jsx-runtime").JSX.Element;
|
|
23
23
|
/**
|
|
24
24
|
* Props the shared bottom-sheet surface consumes — the `bottom`-relevant subset
|
|
25
25
|
* of `DialogProps`. `width`, `maxWidth`, and `inset` are placement-specific to
|
|
26
26
|
* the side/centered surfaces and intentionally excluded.
|
|
27
27
|
*/
|
|
28
|
-
export type DialogBottomSheetProps = Pick<DialogProps, 'control' | 'open' | 'onClose' | 'testID' | 'title' | 'description' | 'actions' | 'maxHeightRatio' | 'showHandle' | 'dismissOnBackdrop' | 'contentPadding' | 'style' | 'panelStyle' | 'panelClassName' | 'containerStyle' | 'containerClassName' | 'label' | 'children'>;
|
|
28
|
+
export type DialogBottomSheetProps = Pick<DialogProps, 'control' | 'open' | 'startOpen' | 'onClose' | 'testID' | 'title' | 'description' | 'actions' | 'header' | 'maxHeightRatio' | 'showHandle' | 'dismissOnBackdrop' | 'contentPadding' | 'scrollable' | 'style' | 'panelStyle' | 'panelClassName' | 'containerStyle' | 'containerClassName' | 'label' | 'children'>;
|
|
29
29
|
//# sourceMappingURL=DialogBottomSheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogBottomSheet.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogBottomSheet.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DialogBottomSheet.d.ts","sourceRoot":"","sources":["../../../../src/dialog/DialogBottomSheet.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAsB,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,IAAI,EAAE,cAAc,EACpB,SAAS,EACT,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,cAAyC,EACzC,UAAiB,EACjB,iBAAwB,EACxB,cAA+C,EAC/C,UAAU,EACV,KAAK,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,QAAQ,GACT,EAAE,sBAAsB,2CA6NxB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,WAAW,EACT,SAAS,GACT,MAAM,GACN,WAAW,GACX,SAAS,GACT,QAAQ,GACR,OAAO,GACP,aAAa,GACb,SAAS,GACT,QAAQ,GACR,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,OAAO,GACP,UAAU,CACb,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
import { type SharedValue } from 'react-native-reanimated';
|
|
4
|
+
import type { DialogHeaderConfig } from './types';
|
|
5
|
+
export type { DialogHeaderConfig } from './types';
|
|
6
|
+
/** Interactive nav-bar row height (px). Buttons + collapsed title live here. */
|
|
7
|
+
export declare const DIALOG_NAV_BAR_HEIGHT = 52;
|
|
8
|
+
/** Total gradient overlay height (bar + fade tail). */
|
|
9
|
+
export declare const DIALOG_HEADER_OVERLAY_HEIGHT: number;
|
|
10
|
+
/**
|
|
11
|
+
* Top inset applied to the Dialog's scroll content so the large title starts
|
|
12
|
+
* BELOW the whole gradient overlay (fully clear at rest, then scrolls under it).
|
|
13
|
+
*/
|
|
14
|
+
export declare const DIALOG_HEADER_CONTENT_TOP: number;
|
|
15
|
+
interface HeaderStore {
|
|
16
|
+
getSnapshot: () => DialogHeaderConfig | null;
|
|
17
|
+
setOverride: (next: DialogHeaderConfig | null) => void;
|
|
18
|
+
subscribe: (listener: () => void) => () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The per-surface header controller — the scroll offset + measured large-title
|
|
22
|
+
* height shared values plus the runtime-override store. Created once per Dialog
|
|
23
|
+
* (via {@link useDialogHeaderController}) and threaded into the scroller (writes
|
|
24
|
+
* `scrollY`), the nav bar, the large title, and the child provider.
|
|
25
|
+
*/
|
|
26
|
+
export interface DialogHeaderController {
|
|
27
|
+
scrollY: SharedValue<number>;
|
|
28
|
+
largeTitleHeight: SharedValue<number>;
|
|
29
|
+
store: HeaderStore;
|
|
30
|
+
}
|
|
31
|
+
/** Create the header controller for one Dialog. Stable for the Dialog's life. */
|
|
32
|
+
export declare function useDialogHeaderController(): DialogHeaderController;
|
|
33
|
+
/**
|
|
34
|
+
* Wraps the Dialog's scroll content so a mounted screen can contribute header
|
|
35
|
+
* slots via {@link useDialogHeader}. Only the child subtree needs this — the nav
|
|
36
|
+
* bar and large title read the same controller directly.
|
|
37
|
+
*/
|
|
38
|
+
export declare function DialogHeaderProvider({ controller, children, }: {
|
|
39
|
+
controller: DialogHeaderController;
|
|
40
|
+
children: React.ReactNode;
|
|
41
|
+
}): React.ReactElement;
|
|
42
|
+
/**
|
|
43
|
+
* Contribute header content from within a Dialog surface — a dynamic title, a
|
|
44
|
+
* Save action, custom slots. Merges over the surface's static (registry) header
|
|
45
|
+
* config; unmounting clears the contribution. Slot nodes (`left`/`right`) MUST
|
|
46
|
+
* be referentially stable (memoize them) so the effect does not thrash.
|
|
47
|
+
*
|
|
48
|
+
* No-op outside a header-mode Dialog (e.g. a confirm dialog), so a screen can
|
|
49
|
+
* call it unconditionally.
|
|
50
|
+
*/
|
|
51
|
+
export declare function useDialogHeader(config: DialogHeaderConfig | null | undefined): void;
|
|
52
|
+
/**
|
|
53
|
+
* The sticky nav bar: gradient background + left / center (collapsing title) /
|
|
54
|
+
* right slots. Absolutely positioned at the top of the Dialog surface, painted
|
|
55
|
+
* ABOVE the scroll content. Reads the scroll offset to cross-fade the small
|
|
56
|
+
* title in as the large title scrolls under it.
|
|
57
|
+
*
|
|
58
|
+
* `onDismiss` is the Dialog's own close (the default right-slot close button
|
|
59
|
+
* calls it) — passed explicitly rather than read from the dialog context because
|
|
60
|
+
* the bar is rendered as a sibling of the scroller, outside that context on the
|
|
61
|
+
* bottom-sheet path.
|
|
62
|
+
*/
|
|
63
|
+
export declare const DialogNavHeader: React.NamedExoticComponent<{
|
|
64
|
+
controller: DialogHeaderController;
|
|
65
|
+
header: DialogHeaderConfig;
|
|
66
|
+
onDismiss: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the small title cross-fades in on scroll (paired with an in-content
|
|
69
|
+
* {@link DialogLargeTitle}). Defaults to `true`. Set `false` for a surface
|
|
70
|
+
* whose content owns its own scroller (no Dialog scroll offset to drive the
|
|
71
|
+
* collapse): the small title is then always visible — a plain titled nav bar.
|
|
72
|
+
*/
|
|
73
|
+
collapse?: boolean;
|
|
74
|
+
style?: StyleProp<ViewStyle>;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* The large collapsing title, rendered at the TOP of the Dialog's scroll content
|
|
78
|
+
* (before the screen body). Owns the content top inset (so the title starts
|
|
79
|
+
* below the gradient overlay) and measures its own text height into the
|
|
80
|
+
* controller so the nav bar knows when to cross-fade the small title in.
|
|
81
|
+
*/
|
|
82
|
+
export declare const DialogLargeTitle: React.NamedExoticComponent<{
|
|
83
|
+
controller: DialogHeaderController;
|
|
84
|
+
header: DialogHeaderConfig;
|
|
85
|
+
}>;
|
|
86
|
+
//# sourceMappingURL=DialogHeader.d.ts.map
|
|
@@ -0,0 +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;AAiCD;;;;;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,CAoBnF;AAaD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;gBAOd,sBAAsB;YAC1B,kBAAkB;eACf,MAAM,IAAI;IACrB;;;;;OAKG;eACQ,OAAO;YACV,SAAS,CAAC,SAAS,CAAC;EAsF5B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;gBAIf,sBAAsB;YAC1B,kBAAkB;EA8B1B,CAAC"}
|
|
@@ -2,6 +2,7 @@ export { Dialog, DIALOG_SHEET_BACKDROP_TESTID } from './Dialog';
|
|
|
2
2
|
export { BloomDialogProvider } from './BloomDialogProvider';
|
|
3
3
|
export { alert } from './alert';
|
|
4
4
|
export { useDialogContext, useDialogControl } from './context';
|
|
5
|
+
export { useDialogHeader } from './DialogHeader';
|
|
5
6
|
export type { AlertButton, AlertButtonStyle, } from './alert-store';
|
|
6
|
-
export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './types';
|
|
7
|
+
export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogHeaderConfig, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './types';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
@@ -2,6 +2,7 @@ export { Dialog, BLOOM_DIALOG_CSS, DIALOG_SHEET_BACKDROP_TESTID } from './Dialog
|
|
|
2
2
|
export { BloomDialogProvider } from './BloomDialogProvider.web';
|
|
3
3
|
export { alert } from './alert';
|
|
4
4
|
export { useDialogContext, useDialogControl } from './context';
|
|
5
|
+
export { useDialogHeader } from './DialogHeader';
|
|
5
6
|
export type { AlertButton, AlertButtonStyle, } from './alert-store';
|
|
6
|
-
export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './types';
|
|
7
|
+
export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogHeaderConfig, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './types';
|
|
7
8
|
//# sourceMappingURL=index.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.web.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/index.web.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
@@ -1,6 +1,47 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
import type { GestureResponderEvent, StyleProp, ViewStyle } from 'react-native';
|
|
2
3
|
import type { ResponsiveDialogPlacement } from './placement';
|
|
3
4
|
export type { DialogPlacement, ResponsiveDialogPlacement } from './placement';
|
|
5
|
+
/**
|
|
6
|
+
* Config for the Dialog's OWN navigation header — a DISTINCT surface mode from
|
|
7
|
+
* the declarative `title`/`description`/`actions` centered-heading path. When
|
|
8
|
+
* present it turns the Dialog into a scrolling page with a sticky, gradient top
|
|
9
|
+
* bar (left + right slots) and a large collapsing title that lives in the
|
|
10
|
+
* Dialog's own scroll content; as the large title scrolls under the bar a small
|
|
11
|
+
* title cross-fades into the bar center. Screens render NO header of their own.
|
|
12
|
+
*
|
|
13
|
+
* A surface seeds this from its registry config; a mounted screen may override
|
|
14
|
+
* or augment any field at runtime via `useDialogHeader` (a dynamic title, a Save
|
|
15
|
+
* action on the right, etc.).
|
|
16
|
+
*/
|
|
17
|
+
export interface DialogHeaderConfig {
|
|
18
|
+
/** Collapsing title — rendered large in-content and small in the nav bar. */
|
|
19
|
+
title?: string;
|
|
20
|
+
/** Supporting copy under the large title (and, optionally, in the bar). */
|
|
21
|
+
subtitle?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Whether to render the large collapsing title in the scroll content.
|
|
24
|
+
* Defaults to `true`. When `false`, only the small nav-bar title shows (always
|
|
25
|
+
* visible, no collapse) and the content starts flush under the bar.
|
|
26
|
+
*/
|
|
27
|
+
largeTitle?: boolean;
|
|
28
|
+
/** Custom left slot node. Overrides the default back button. */
|
|
29
|
+
left?: ReactNode;
|
|
30
|
+
/** Custom right slot node. Overrides the default close button. */
|
|
31
|
+
right?: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* When set, the default left slot renders a back button that calls this. A
|
|
34
|
+
* custom `left` node still wins. Set by the surface host when the surface can
|
|
35
|
+
* navigate back.
|
|
36
|
+
*/
|
|
37
|
+
onBack?: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the default right slot renders a close button (dismiss). Defaults to
|
|
40
|
+
* `true`. A custom `right` node still wins. `false` suppresses the close
|
|
41
|
+
* affordance entirely (e.g. a blocking surface).
|
|
42
|
+
*/
|
|
43
|
+
showClose?: boolean;
|
|
44
|
+
}
|
|
4
45
|
/**
|
|
5
46
|
* Side-sheet inset (px) from the root overlay's edges. Lets a host place a
|
|
6
47
|
* `left`/`right` placement "inside its own shell" — e.g. offset from the top
|
|
@@ -125,6 +166,40 @@ export type DialogProps = React.PropsWithChildren<{
|
|
|
125
166
|
inset?: DialogInset;
|
|
126
167
|
/** Whether to render the drag handle in bottom-sheet mode. Defaults to `true`. */
|
|
127
168
|
showHandle?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Turns on the Dialog's OWN navigation header (see {@link DialogHeaderConfig}).
|
|
171
|
+
* When present the Dialog renders a sticky gradient nav bar + a large
|
|
172
|
+
* collapsing title over its own scroll content, and its content is inset below
|
|
173
|
+
* the bar — a DISTINCT mode from the declarative
|
|
174
|
+
* `title`/`description`/`actions` centered heading (a confirm/alert dialog
|
|
175
|
+
* passes NO `header` and is unchanged). Screens render no header of their own;
|
|
176
|
+
* the title/slots come from this config, refined at runtime by a mounted
|
|
177
|
+
* screen's `useDialogHeader` contribution.
|
|
178
|
+
*/
|
|
179
|
+
header?: DialogHeaderConfig;
|
|
180
|
+
/**
|
|
181
|
+
* Open-INTENT seed for a freshly-mounted placement branch, distinct from the
|
|
182
|
+
* controlled `open` prop. It ONLY seeds a branch's initial visible state on
|
|
183
|
+
* mount — it never switches the dialog into controlled close semantics, so
|
|
184
|
+
* the imperative `control.close()` still owns the exit animation and fires
|
|
185
|
+
* `onClose` post-exit (no synchronous-`onClose` entry leak). Set by the
|
|
186
|
+
* surface stack so a responsive `Dialog` that swaps its inner component across
|
|
187
|
+
* a breakpoint (centered card ↔ bottom sheet on resize) re-mounts the new
|
|
188
|
+
* branch ALREADY OPEN instead of blank. Ignored when the controlled `open`
|
|
189
|
+
* prop is provided (that path seeds itself).
|
|
190
|
+
*/
|
|
191
|
+
startOpen?: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Whether the dialog wraps its content in an internal scroll container.
|
|
194
|
+
* Defaults to `true`. Set `false` when the content owns its own scrolling
|
|
195
|
+
* primitive (a `FlatList` / `SectionList` / any VirtualizedList, or its own
|
|
196
|
+
* `ScrollView`): the surface then renders children WITHOUT a ScrollView wrap —
|
|
197
|
+
* a bounded, overflow-clipped card on the centered/side placements and a
|
|
198
|
+
* non-scrollable `BottomSheet` body on the bottom placement — so the child
|
|
199
|
+
* gets a bounded height and owns its scroll, and no "VirtualizedList inside a
|
|
200
|
+
* plain ScrollView" warning is emitted.
|
|
201
|
+
*/
|
|
202
|
+
scrollable?: boolean;
|
|
128
203
|
/**
|
|
129
204
|
* Inner padding (px) of the dialog content container, applied uniformly across
|
|
130
205
|
* every placement (centered panel, side-sheet body, bottom-sheet body).
|
|
@@ -154,6 +229,16 @@ export type DialogProps = React.PropsWithChildren<{
|
|
|
154
229
|
containerClassName?: string;
|
|
155
230
|
/** Accessibility label, applied to the dialog role on web. */
|
|
156
231
|
label?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Stacking layer index within a coordinated surface stack. Multiplies
|
|
234
|
+
* `Z_INDEX_LAYER_STEP` onto this dialog's overlay z-indices (backdrop +
|
|
235
|
+
* panel) so a dialog presented on top of another paints above it. Defaults to
|
|
236
|
+
* `0` — the single-dialog case, byte-for-byte unchanged. Set by the shared
|
|
237
|
+
* surface stack (`src/surfaces`); direct consumers rarely need it. No-op for
|
|
238
|
+
* the `bottom` placement, which already stacks in mount order (native RN
|
|
239
|
+
* `<Modal>` / the web portal), so `layer` is harmless there.
|
|
240
|
+
*/
|
|
241
|
+
layer?: number;
|
|
157
242
|
}>;
|
|
158
243
|
/**
|
|
159
244
|
* Web-only options. Native uses bloom's `BottomSheet` underneath which has
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gEAAgE;IAChE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kEAAkE;IAClE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAErE,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAChD;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,mEAAmE;IACnE,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
|
|
@@ -47,6 +47,7 @@ export declare function useCommonSVGProps(props: Props): {
|
|
|
47
47
|
nativeID?: string | undefined | undefined;
|
|
48
48
|
collapsable?: boolean | undefined | undefined;
|
|
49
49
|
collapsableChildren?: boolean | undefined | undefined;
|
|
50
|
+
className?: string | undefined;
|
|
50
51
|
onBlur?: ((e: import("react-native").BlurEvent) => void) | null | undefined | undefined;
|
|
51
52
|
onFocus?: ((e: import("react-native").FocusEvent) => void) | null | undefined | undefined;
|
|
52
53
|
renderToHardwareTextureAndroid?: boolean | undefined | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/icons/common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC;CACnC,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;AAErC,eAAO,MAAM,KAAK;;;;;;;;;CASR,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/icons/common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC;CACnC,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;AAErC,eAAO,MAAM,KAAK;;;;;;;;;CASR,CAAC;AAEX,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC7C"}
|
|
@@ -16,8 +16,10 @@ export { useImagePreload, preloadImage } from './hooks/useImagePreload';
|
|
|
16
16
|
export * as Icons from './icons';
|
|
17
17
|
export { type Props as IconProps, sizes as iconSizes, useCommonSVGProps } from './icons/common';
|
|
18
18
|
export * from './portal';
|
|
19
|
-
export { Dialog, DIALOG_SHEET_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl, } from './dialog';
|
|
20
|
-
export type { AlertButton, AlertButtonStyle, DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './dialog';
|
|
19
|
+
export { Dialog, DIALOG_SHEET_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl, useDialogHeader, } from './dialog';
|
|
20
|
+
export type { AlertButton, AlertButtonStyle, DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogHeaderConfig, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './dialog';
|
|
21
|
+
export { surfaces, SurfaceProvider, SurfaceHost, useSurface } from './surfaces';
|
|
22
|
+
export type { SurfacePresentation, PresentOptions, SurfaceControls, SurfaceRenderFn, SurfaceStatus, SurfaceEntry, SurfaceConfirmOptions, SurfacePromptOptions, } from './surfaces';
|
|
21
23
|
export * from './button';
|
|
22
24
|
export { Fab } from './fab';
|
|
23
25
|
export type { FabProps, FabVariant, FabSize, FabPlacement } from './fab';
|
|
@@ -61,7 +63,7 @@ export { AnimatedCheck } from './animated-check';
|
|
|
61
63
|
export type { AnimatedCheckProps, AnimatedCheckRef } from './animated-check';
|
|
62
64
|
export * from './text-field';
|
|
63
65
|
export * from './segmented-control';
|
|
64
|
-
export {
|
|
66
|
+
export { Search } from './search';
|
|
65
67
|
export { Label } from './label';
|
|
66
68
|
export type { LabelProps } from './label';
|
|
67
69
|
export { Field } from './field';
|