@oxyhq/bloom 0.13.0 → 0.15.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/dialog/CenteredDialog.js +2 -0
- package/lib/commonjs/dialog/CenteredDialog.js.map +1 -1
- package/lib/commonjs/dialog/CenteredDialog.web.js +2 -0
- package/lib/commonjs/dialog/CenteredDialog.web.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.js +337 -43
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/commonjs/dialog/Dialog.web.js +414 -63
- package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
- package/lib/commonjs/dialog/index.js +6 -0
- package/lib/commonjs/dialog/index.js.map +1 -1
- package/lib/commonjs/dialog/index.web.js +6 -0
- package/lib/commonjs/dialog/index.web.js.map +1 -1
- package/lib/commonjs/dialog/placement.js +104 -0
- package/lib/commonjs/dialog/placement.js.map +1 -0
- package/lib/commonjs/index.js +22 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +28 -6
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js +97 -0
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +1 -0
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.web.js +84 -0
- package/lib/commonjs/responsive-sheet/ResponsiveSheet.web.js.map +1 -0
- package/lib/commonjs/responsive-sheet/index.js +19 -0
- package/lib/commonjs/responsive-sheet/index.js.map +1 -0
- package/lib/commonjs/responsive-sheet/index.web.js +19 -0
- package/lib/commonjs/responsive-sheet/index.web.js.map +1 -0
- package/lib/commonjs/responsive-sheet/types.js +6 -0
- package/lib/commonjs/responsive-sheet/types.js.map +1 -0
- package/lib/module/dialog/CenteredDialog.js +2 -0
- package/lib/module/dialog/CenteredDialog.js.map +1 -1
- package/lib/module/dialog/CenteredDialog.web.js +2 -0
- package/lib/module/dialog/CenteredDialog.web.js.map +1 -1
- package/lib/module/dialog/Dialog.js +336 -46
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.web.js +412 -65
- package/lib/module/dialog/Dialog.web.js.map +1 -1
- package/lib/module/dialog/index.js +1 -1
- package/lib/module/dialog/index.js.map +1 -1
- package/lib/module/dialog/index.web.js +1 -1
- package/lib/module/dialog/index.web.js.map +1 -1
- package/lib/module/dialog/placement.js +100 -0
- package/lib/module/dialog/placement.js.map +1 -0
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +3 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/responsive-sheet/ResponsiveSheet.js +90 -0
- package/lib/module/responsive-sheet/ResponsiveSheet.js.map +1 -0
- package/lib/module/responsive-sheet/ResponsiveSheet.web.js +77 -0
- package/lib/module/responsive-sheet/ResponsiveSheet.web.js.map +1 -0
- package/lib/module/responsive-sheet/index.js +4 -0
- package/lib/module/responsive-sheet/index.js.map +1 -0
- package/lib/module/responsive-sheet/index.web.js +12 -0
- package/lib/module/responsive-sheet/index.web.js.map +1 -0
- package/lib/module/responsive-sheet/types.js +4 -0
- package/lib/module/responsive-sheet/types.js.map +1 -0
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts +2 -0
- package/lib/typescript/commonjs/dialog/CenteredDialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts +2 -0
- package/lib/typescript/commonjs/dialog/CenteredDialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.d.ts +18 -15
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +18 -5
- package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts +4 -0
- package/lib/typescript/commonjs/dialog/centered-dialog-types.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.d.ts +2 -2
- package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/index.web.d.ts +2 -2
- package/lib/typescript/commonjs/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/dialog/placement.d.ts +71 -0
- package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/types.d.ts +66 -3
- package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +4 -2
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +22 -0
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.map +1 -0
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.web.d.ts +16 -0
- package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/responsive-sheet/index.d.ts +3 -0
- package/lib/typescript/commonjs/responsive-sheet/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts +3 -0
- package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts +58 -0
- package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +1 -0
- package/lib/typescript/module/dialog/CenteredDialog.d.ts +2 -0
- package/lib/typescript/module/dialog/CenteredDialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts +2 -0
- package/lib/typescript/module/dialog/CenteredDialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.d.ts +18 -15
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.web.d.ts +18 -5
- package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts +4 -0
- package/lib/typescript/module/dialog/centered-dialog-types.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.d.ts +2 -2
- package/lib/typescript/module/dialog/index.d.ts.map +1 -1
- package/lib/typescript/module/dialog/index.web.d.ts +2 -2
- package/lib/typescript/module/dialog/index.web.d.ts.map +1 -1
- package/lib/typescript/module/dialog/placement.d.ts +71 -0
- package/lib/typescript/module/dialog/placement.d.ts.map +1 -0
- package/lib/typescript/module/dialog/types.d.ts +66 -3
- package/lib/typescript/module/dialog/types.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +4 -2
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +22 -0
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts.map +1 -0
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.web.d.ts +16 -0
- package/lib/typescript/module/responsive-sheet/ResponsiveSheet.web.d.ts.map +1 -0
- package/lib/typescript/module/responsive-sheet/index.d.ts +3 -0
- package/lib/typescript/module/responsive-sheet/index.d.ts.map +1 -0
- package/lib/typescript/module/responsive-sheet/index.web.d.ts +3 -0
- package/lib/typescript/module/responsive-sheet/index.web.d.ts.map +1 -0
- package/lib/typescript/module/responsive-sheet/types.d.ts +58 -0
- package/lib/typescript/module/responsive-sheet/types.d.ts.map +1 -0
- package/package.json +18 -1
- package/src/__tests__/DialogPlacement.test.tsx +144 -0
- package/src/__tests__/ResponsiveSheet.test.tsx +88 -0
- package/src/dialog/CenteredDialog.tsx +2 -0
- package/src/dialog/CenteredDialog.web.tsx +2 -0
- package/src/dialog/Dialog.tsx +407 -50
- package/src/dialog/Dialog.web.tsx +490 -75
- package/src/dialog/centered-dialog-types.ts +4 -0
- package/src/dialog/index.ts +4 -1
- package/src/dialog/index.web.ts +4 -1
- package/src/dialog/placement.ts +113 -0
- package/src/dialog/types.ts +69 -3
- package/src/index.ts +12 -0
- package/src/index.web.ts +12 -0
- package/src/responsive-sheet/ResponsiveSheet.stories.tsx +54 -0
- package/src/responsive-sheet/ResponsiveSheet.tsx +88 -0
- package/src/responsive-sheet/ResponsiveSheet.web.tsx +76 -0
- package/src/responsive-sheet/index.ts +6 -0
- package/src/responsive-sheet/index.web.ts +14 -0
- package/src/responsive-sheet/types.ts +60 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { Dialog } from './Dialog';
|
|
3
|
+
export { Dialog, DIALOG_SHEET_BACKDROP_TESTID } from './Dialog';
|
|
4
4
|
export { CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID } from './CenteredDialog';
|
|
5
5
|
export { BloomDialogProvider } from './BloomDialogProvider';
|
|
6
6
|
export { alert } from "./alert.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl"],"sourceRoot":"../../../src","sources":["dialog/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;
|
|
1
|
+
{"version":3,"names":["Dialog","DIALOG_SHEET_BACKDROP_TESTID","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl"],"sourceRoot":"../../../src","sources":["dialog/index.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,4BAA4B,QAAQ,UAAU;AAC/D,SAASC,cAAc,EAAEC,+BAA+B,QAAQ,kBAAkB;AAClF,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,cAAW","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// Web bundlers select this file via the `"browser"` export condition in
|
|
11
11
|
// `package.json`'s `exports['./dialog']`; native bundlers fall through to
|
|
12
12
|
// the React Native build above.
|
|
13
|
-
export { Dialog, BLOOM_DIALOG_CSS } from "./Dialog.web.js";
|
|
13
|
+
export { Dialog, BLOOM_DIALOG_CSS, DIALOG_SHEET_BACKDROP_TESTID } from "./Dialog.web.js";
|
|
14
14
|
export { CenteredDialog, BLOOM_CENTERED_DIALOG_CSS, CENTERED_DIALOG_BACKDROP_TESTID } from "./CenteredDialog.web.js";
|
|
15
15
|
export { BloomDialogProvider } from "./BloomDialogProvider.web.js";
|
|
16
16
|
export { alert } from "./alert.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Dialog","BLOOM_DIALOG_CSS","CenteredDialog","BLOOM_CENTERED_DIALOG_CSS","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl"],"sourceRoot":"../../../src","sources":["dialog/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,gBAAgB,QAAQ,iBAAc;
|
|
1
|
+
{"version":3,"names":["Dialog","BLOOM_DIALOG_CSS","DIALOG_SHEET_BACKDROP_TESTID","CenteredDialog","BLOOM_CENTERED_DIALOG_CSS","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl"],"sourceRoot":"../../../src","sources":["dialog/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,gBAAgB,EAAEC,4BAA4B,QAAQ,iBAAc;AACrF,SACEC,cAAc,EACdC,yBAAyB,EACzBC,+BAA+B,QAC1B,yBAAsB;AAC7B,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,cAAW","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { useWindowDimensions } from 'react-native';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Anchor a `<Dialog>` can render against.
|
|
8
|
+
*
|
|
9
|
+
* - `'center'` — the default centered modal card (current behavior).
|
|
10
|
+
* - `'left'` / `'right'` — an anchored side-sheet / drawer.
|
|
11
|
+
* - `'bottom'` — a bottom-sheet (drag handle, slide-up).
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A `<Dialog>` placement that may vary by viewport width.
|
|
16
|
+
*
|
|
17
|
+
* Either a single `DialogPlacement` (applied at every width) or a responsive
|
|
18
|
+
* map whose `base` applies below the first breakpoint and whose `sm`/`md`/`lg`/
|
|
19
|
+
* `xl` keys override it at and above the matching Tailwind breakpoint.
|
|
20
|
+
*
|
|
21
|
+
* The common store-drawer case is `{ base: 'bottom', md: 'left' }`; the common
|
|
22
|
+
* dialog-to-sheet case is `{ base: 'bottom', md: 'center' }`.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Tailwind-default breakpoints (px). A responsive `placement` map resolves to
|
|
27
|
+
* the value for the largest key whose min-width is `<=` the current viewport
|
|
28
|
+
* width, falling back to `base`.
|
|
29
|
+
*/
|
|
30
|
+
export const BREAKPOINT_SM = 640;
|
|
31
|
+
export const BREAKPOINT_MD = 768;
|
|
32
|
+
export const BREAKPOINT_LG = 1024;
|
|
33
|
+
export const BREAKPOINT_XL = 1280;
|
|
34
|
+
|
|
35
|
+
/** Ordered breakpoint table, widest first, so the first match wins. */
|
|
36
|
+
const RESPONSIVE_KEYS = [['xl', BREAKPOINT_XL], ['lg', BREAKPOINT_LG], ['md', BREAKPOINT_MD], ['sm', BREAKPOINT_SM]];
|
|
37
|
+
|
|
38
|
+
/** Default side-sheet width (px) on wide screens. */
|
|
39
|
+
export const DEFAULT_SIDE_WIDTH = 460;
|
|
40
|
+
|
|
41
|
+
/** Default centered-card max width (px). Matches the legacy `maxWidth: 480`. */
|
|
42
|
+
export const DEFAULT_CENTER_MAX_WIDTH = 480;
|
|
43
|
+
|
|
44
|
+
/** Default bottom-sheet max height as a fraction of the viewport height. */
|
|
45
|
+
export const DEFAULT_MAX_HEIGHT_RATIO = 0.9;
|
|
46
|
+
|
|
47
|
+
/** Corner radius shared by the side-sheet panel and the bottom-sheet top. */
|
|
48
|
+
export const PANEL_RADIUS = 20;
|
|
49
|
+
|
|
50
|
+
/** Open/close transition duration (ms). ~280ms ease-out reads smooth. */
|
|
51
|
+
export const ANIMATION_DURATION = 280;
|
|
52
|
+
|
|
53
|
+
/** Centered-card fade-out duration (ms) — preserves the legacy timing. */
|
|
54
|
+
export const CENTER_FADE_OUT_DURATION = 150;
|
|
55
|
+
|
|
56
|
+
/** CSS approximation of reanimated's `Easing.out(Easing.cubic)`. */
|
|
57
|
+
export const EASE_OUT = 'cubic-bezier(0.33, 1, 0.68, 1)';
|
|
58
|
+
|
|
59
|
+
/** Backdrop dim opacity once fully shown (matches `bg-black/40`). */
|
|
60
|
+
export const SHEET_BACKDROP_OPACITY = 0.4;
|
|
61
|
+
|
|
62
|
+
/** Stable testID for the dimmed backdrop of a side/bottom placement dialog. */
|
|
63
|
+
export const DIALOG_SHEET_BACKDROP_TESTID = 'bloom-dialog-sheet-backdrop';
|
|
64
|
+
|
|
65
|
+
/** Drag-handle pill geometry for the bottom-sheet. */
|
|
66
|
+
export const HANDLE_WIDTH = 36;
|
|
67
|
+
export const HANDLE_HEIGHT = 5;
|
|
68
|
+
export const HANDLE_RADIUS = 3;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Minimum gutter kept between a wide side-sheet and the opposite viewport edge
|
|
72
|
+
* when capping its width, so the panel never spans the full screen.
|
|
73
|
+
*/
|
|
74
|
+
export const SIDE_SHEET_MIN_GUTTER = 24;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Resolve a (possibly responsive) `placement` to a concrete `DialogPlacement`
|
|
78
|
+
* for the current viewport width.
|
|
79
|
+
*
|
|
80
|
+
* A plain string placement resolves to itself. A responsive map picks the
|
|
81
|
+
* value for the largest breakpoint key whose min-width is `<=` the viewport
|
|
82
|
+
* width, falling back to `base` below the first breakpoint.
|
|
83
|
+
*/
|
|
84
|
+
export function useResolvedPlacement(placement) {
|
|
85
|
+
const {
|
|
86
|
+
width
|
|
87
|
+
} = useWindowDimensions();
|
|
88
|
+
return useMemo(() => {
|
|
89
|
+
if (placement === undefined) return 'center';
|
|
90
|
+
if (typeof placement === 'string') return placement;
|
|
91
|
+
for (const [key, minWidth] of RESPONSIVE_KEYS) {
|
|
92
|
+
if (width >= minWidth) {
|
|
93
|
+
const value = placement[key];
|
|
94
|
+
if (value !== undefined) return value;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return placement.base;
|
|
98
|
+
}, [placement, width]);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=placement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","BREAKPOINT_SM","BREAKPOINT_MD","BREAKPOINT_LG","BREAKPOINT_XL","RESPONSIVE_KEYS","DEFAULT_SIDE_WIDTH","DEFAULT_CENTER_MAX_WIDTH","DEFAULT_MAX_HEIGHT_RATIO","PANEL_RADIUS","ANIMATION_DURATION","CENTER_FADE_OUT_DURATION","EASE_OUT","SHEET_BACKDROP_OPACITY","DIALOG_SHEET_BACKDROP_TESTID","HANDLE_WIDTH","HANDLE_HEIGHT","HANDLE_RADIUS","SIDE_SHEET_MIN_GUTTER","useResolvedPlacement","placement","width","undefined","key","minWidth","value","base"],"sourceRoot":"../../../src","sources":["dialog/placement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAG,GAAG;AAChC,OAAO,MAAMC,aAAa,GAAG,GAAG;AAChC,OAAO,MAAMC,aAAa,GAAG,IAAI;AACjC,OAAO,MAAMC,aAAa,GAAG,IAAI;;AAEjC;AACA,MAAMC,eAAe,GAAG,CACtB,CAAC,IAAI,EAAED,aAAa,CAAC,EACrB,CAAC,IAAI,EAAED,aAAa,CAAC,EACrB,CAAC,IAAI,EAAED,aAAa,CAAC,EACrB,CAAC,IAAI,EAAED,aAAa,CAAC,CACb;;AAEV;AACA,OAAO,MAAMK,kBAAkB,GAAG,GAAG;;AAErC;AACA,OAAO,MAAMC,wBAAwB,GAAG,GAAG;;AAE3C;AACA,OAAO,MAAMC,wBAAwB,GAAG,GAAG;;AAE3C;AACA,OAAO,MAAMC,YAAY,GAAG,EAAE;;AAE9B;AACA,OAAO,MAAMC,kBAAkB,GAAG,GAAG;;AAErC;AACA,OAAO,MAAMC,wBAAwB,GAAG,GAAG;;AAE3C;AACA,OAAO,MAAMC,QAAQ,GAAG,gCAAgC;;AAExD;AACA,OAAO,MAAMC,sBAAsB,GAAG,GAAG;;AAEzC;AACA,OAAO,MAAMC,4BAA4B,GAAG,6BAA6B;;AAEzE;AACA,OAAO,MAAMC,YAAY,GAAG,EAAE;AAC9B,OAAO,MAAMC,aAAa,GAAG,CAAC;AAC9B,OAAO,MAAMC,aAAa,GAAG,CAAC;;AAE9B;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAG,EAAE;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAClCC,SAAgD,EAC/B;EACjB,MAAM;IAAEC;EAAM,CAAC,GAAGrB,mBAAmB,CAAC,CAAC;EAEvC,OAAOD,OAAO,CAAkB,MAAM;IACpC,IAAIqB,SAAS,KAAKE,SAAS,EAAE,OAAO,QAAQ;IAC5C,IAAI,OAAOF,SAAS,KAAK,QAAQ,EAAE,OAAOA,SAAS;IACnD,KAAK,MAAM,CAACG,GAAG,EAAEC,QAAQ,CAAC,IAAInB,eAAe,EAAE;MAC7C,IAAIgB,KAAK,IAAIG,QAAQ,EAAE;QACrB,MAAMC,KAAK,GAAGL,SAAS,CAACG,GAAG,CAAC;QAC5B,IAAIE,KAAK,KAAKH,SAAS,EAAE,OAAOG,KAAK;MACvC;IACF;IACA,OAAOL,SAAS,CAACM,IAAI;EACvB,CAAC,EAAE,CAACN,SAAS,EAAEC,KAAK,CAAC,CAAC;AACxB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export { sizes as iconSizes, useCommonSVGProps } from "./icons/common.js";
|
|
|
19
19
|
|
|
20
20
|
// Core components
|
|
21
21
|
export * from './portal';
|
|
22
|
-
export { Dialog, CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from './dialog';
|
|
22
|
+
export { Dialog, DIALOG_SHEET_BACKDROP_TESTID, CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from './dialog';
|
|
23
23
|
export * from './button';
|
|
24
24
|
export { Fab } from './fab';
|
|
25
25
|
export * from "./grouped-buttons/index.js";
|
|
@@ -55,6 +55,8 @@ export { Slider } from "./slider/index.js";
|
|
|
55
55
|
export { Combobox } from './combobox';
|
|
56
56
|
// Bottom sheet
|
|
57
57
|
export { BottomSheet } from "./bottom-sheet/index.js";
|
|
58
|
+
// Responsive sheet — side-sheet on wide screens, bottom-sheet on narrow.
|
|
59
|
+
export { ResponsiveSheet, RESPONSIVE_SHEET_BACKDROP_TESTID } from './responsive-sheet';
|
|
58
60
|
// Data display
|
|
59
61
|
export * from "./card/index.js";
|
|
60
62
|
export * from "./badge/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","ResponsiveSheet","RESPONSIVE_SHEET_BACKDROP_TESTID","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAcjB,cAAc,UAAU;AACxB,SAASC,GAAG,QAAQ,OAAO;AAE3B,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,yBAAgB;AAE5C,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,WAAW;AACzB,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,SAAS;;AAE3C;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,YAAY;AAGrC;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,SAASC,eAAe,EAAEC,gCAAgC,QAAQ,oBAAoB;AAOtF;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,WAAW,MAAM,gBAAgB;AAC7C,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,gBAAgB;AAMtE,SAASC,OAAO,QAAQ,WAAW;AAGnC;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -24,7 +24,7 @@ export { sizes as iconSizes, useCommonSVGProps } from "./icons/common.js";
|
|
|
24
24
|
|
|
25
25
|
// Core components
|
|
26
26
|
export * from "./portal/index.web.js";
|
|
27
|
-
export { Dialog, CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from "./dialog/index.web.js";
|
|
27
|
+
export { Dialog, DIALOG_SHEET_BACKDROP_TESTID, CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID, BloomDialogProvider, alert, useDialogContext, useDialogControl } from "./dialog/index.web.js";
|
|
28
28
|
export * from "./button/index.web.js";
|
|
29
29
|
export { Fab } from "./fab/index.web.js";
|
|
30
30
|
export * from "./grouped-buttons/index.js";
|
|
@@ -60,6 +60,8 @@ export { Slider } from "./slider/index.js";
|
|
|
60
60
|
export { Combobox } from "./combobox/index.web.js";
|
|
61
61
|
// Bottom sheet
|
|
62
62
|
export { BottomSheet } from "./bottom-sheet/index.js";
|
|
63
|
+
// Responsive sheet — side-sheet on wide screens, bottom-sheet on narrow.
|
|
64
|
+
export { ResponsiveSheet, RESPONSIVE_SHEET_BACKDROP_TESTID } from "./responsive-sheet/index.web.js";
|
|
63
65
|
// Data display
|
|
64
66
|
export * from "./card/index.js";
|
|
65
67
|
export * from "./badge/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","ResponsiveSheet","RESPONSIVE_SHEET_BACKDROP_TESTID","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAc3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,SAASC,eAAe,EAAEC,gCAAgC,QAAQ,iCAA8B;AAOhG;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,qBAAkB;AACxC,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,OAAO,KAAKC,MAAM,MAAM,uBAAoB;AAC5C,OAAO,KAAKC,WAAW,MAAM,6BAA0B;AACvD,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Dialog } from '../dialog';
|
|
5
|
+
import { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, DIALOG_SHEET_BACKDROP_TESTID } from "../dialog/placement.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `<Dialog placement={{ base: 'bottom', md: 'left' }}>` instead.
|
|
9
|
+
*
|
|
10
|
+
* `ResponsiveSheet` is now a thin wrapper that configures the canonical
|
|
11
|
+
* `<Dialog>` — an anchored side-sheet on wide screens collapsing to a
|
|
12
|
+
* bottom-sheet below the breakpoint. It holds ZERO motion/layout logic of its
|
|
13
|
+
* own; it maps its props onto a responsive `Dialog` `placement`. The
|
|
14
|
+
* `@oxyhq/bloom/responsive-sheet` subpath is retained for the migration window.
|
|
15
|
+
*
|
|
16
|
+
* This file is BOTH the package default entry (resolved by downstream `tsc`
|
|
17
|
+
* and non-Metro web bundlers via the `browser` condition through `index.web`)
|
|
18
|
+
* AND a clean delegation, so it carries no platform-specific imports.
|
|
19
|
+
*/
|
|
20
|
+
export function ResponsiveSheet({
|
|
21
|
+
open,
|
|
22
|
+
onClose,
|
|
23
|
+
side = 'left',
|
|
24
|
+
breakpoint = BREAKPOINT_MD,
|
|
25
|
+
width,
|
|
26
|
+
maxHeightRatio,
|
|
27
|
+
inset,
|
|
28
|
+
showHandle,
|
|
29
|
+
dismissOnBackdrop,
|
|
30
|
+
panelStyle,
|
|
31
|
+
panelClassName,
|
|
32
|
+
containerStyle,
|
|
33
|
+
containerClassName,
|
|
34
|
+
label,
|
|
35
|
+
children
|
|
36
|
+
}) {
|
|
37
|
+
return /*#__PURE__*/_jsx(Dialog, {
|
|
38
|
+
open: open,
|
|
39
|
+
onClose: onClose,
|
|
40
|
+
placement: placementForSide(side, breakpoint),
|
|
41
|
+
width: width,
|
|
42
|
+
maxHeightRatio: maxHeightRatio,
|
|
43
|
+
inset: inset,
|
|
44
|
+
showHandle: showHandle,
|
|
45
|
+
dismissOnBackdrop: dismissOnBackdrop,
|
|
46
|
+
panelStyle: panelStyle,
|
|
47
|
+
panelClassName: panelClassName,
|
|
48
|
+
containerStyle: containerStyle,
|
|
49
|
+
containerClassName: containerClassName,
|
|
50
|
+
label: label,
|
|
51
|
+
children: children
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Build the `Dialog` `placement` map for a `ResponsiveSheet`: a bottom-sheet
|
|
57
|
+
* below `breakpoint`, the anchored `side` at and above it. The `breakpoint`
|
|
58
|
+
* (px) is bucketed to the nearest Tailwind key so the side-sheet engages at the
|
|
59
|
+
* matching width.
|
|
60
|
+
*/
|
|
61
|
+
function placementForSide(side, breakpoint) {
|
|
62
|
+
if (breakpoint <= BREAKPOINT_SM) return {
|
|
63
|
+
base: 'bottom',
|
|
64
|
+
sm: side
|
|
65
|
+
};
|
|
66
|
+
if (breakpoint <= BREAKPOINT_MD) return {
|
|
67
|
+
base: 'bottom',
|
|
68
|
+
md: side
|
|
69
|
+
};
|
|
70
|
+
if (breakpoint <= BREAKPOINT_LG) return {
|
|
71
|
+
base: 'bottom',
|
|
72
|
+
lg: side
|
|
73
|
+
};
|
|
74
|
+
if (breakpoint <= BREAKPOINT_XL) return {
|
|
75
|
+
base: 'bottom',
|
|
76
|
+
xl: side
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
base: 'bottom',
|
|
80
|
+
xl: side
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated Stable testID for the dimmed backdrop dismiss button — now
|
|
86
|
+
* provided by the underlying `<Dialog>`'s side/bottom backdrop.
|
|
87
|
+
*/
|
|
88
|
+
export const RESPONSIVE_SHEET_BACKDROP_TESTID = DIALOG_SHEET_BACKDROP_TESTID;
|
|
89
|
+
export default ResponsiveSheet;
|
|
90
|
+
//# sourceMappingURL=ResponsiveSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Dialog","BREAKPOINT_LG","BREAKPOINT_MD","BREAKPOINT_SM","BREAKPOINT_XL","DIALOG_SHEET_BACKDROP_TESTID","jsx","_jsx","ResponsiveSheet","open","onClose","side","breakpoint","width","maxHeightRatio","inset","showHandle","dismissOnBackdrop","panelStyle","panelClassName","containerStyle","containerClassName","label","children","placement","placementForSide","base","sm","md","lg","xl","RESPONSIVE_SHEET_BACKDROP_TESTID"],"sourceRoot":"../../../src","sources":["responsive-sheet/ResponsiveSheet.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,QAAQ,WAAW;AAClC,SACEC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,4BAA4B,QAEvB,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAC9BC,IAAI;EACJC,OAAO;EACPC,IAAI,GAAG,MAAM;EACbC,UAAU,GAAGV,aAAa;EAC1BW,KAAK;EACLC,cAAc;EACdC,KAAK;EACLC,UAAU;EACVC,iBAAiB;EACjBC,UAAU;EACVC,cAAc;EACdC,cAAc;EACdC,kBAAkB;EAClBC,KAAK;EACLC;AACoB,CAAC,EAAE;EACvB,oBACEhB,IAAA,CAACP,MAAM;IACLS,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBc,SAAS,EAAEC,gBAAgB,CAACd,IAAI,EAAEC,UAAU,CAAE;IAC9CC,KAAK,EAAEA,KAAM;IACbC,cAAc,EAAEA,cAAe;IAC/BC,KAAK,EAAEA,KAAM;IACbC,UAAU,EAAEA,UAAW;IACvBC,iBAAiB,EAAEA,iBAAkB;IACrCC,UAAU,EAAEA,UAAW;IACvBC,cAAc,EAAEA,cAAe;IAC/BC,cAAc,EAAEA,cAAe;IAC/BC,kBAAkB,EAAEA,kBAAmB;IACvCC,KAAK,EAAEA,KAAM;IAAAC,QAAA,EAEZA;EAAQ,CACH,CAAC;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,gBAAgBA,CACvBd,IAAsB,EACtBC,UAAkB,EACS;EAC3B,IAAIA,UAAU,IAAIT,aAAa,EAAE,OAAO;IAAEuB,IAAI,EAAE,QAAQ;IAAEC,EAAE,EAAEhB;EAAK,CAAC;EACpE,IAAIC,UAAU,IAAIV,aAAa,EAAE,OAAO;IAAEwB,IAAI,EAAE,QAAQ;IAAEE,EAAE,EAAEjB;EAAK,CAAC;EACpE,IAAIC,UAAU,IAAIX,aAAa,EAAE,OAAO;IAAEyB,IAAI,EAAE,QAAQ;IAAEG,EAAE,EAAElB;EAAK,CAAC;EACpE,IAAIC,UAAU,IAAIR,aAAa,EAAE,OAAO;IAAEsB,IAAI,EAAE,QAAQ;IAAEI,EAAE,EAAEnB;EAAK,CAAC;EACpE,OAAO;IAAEe,IAAI,EAAE,QAAQ;IAAEI,EAAE,EAAEnB;EAAK,CAAC;AACrC;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMoB,gCAAgC,GAAG1B,4BAA4B;AAE5E,eAAeG,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Dialog } from "../dialog/index.web.js";
|
|
5
|
+
import { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, DIALOG_SHEET_BACKDROP_TESTID } from "../dialog/placement.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `<Dialog placement={{ base: 'bottom', md: 'left' }}>` instead.
|
|
9
|
+
*
|
|
10
|
+
* Web fork of the deprecated `ResponsiveSheet` wrapper. Identical delegation to
|
|
11
|
+
* the default fork, but imports the web `Dialog` explicitly so non-Metro web
|
|
12
|
+
* bundlers never follow the native (reanimated) `Dialog` sibling.
|
|
13
|
+
*/
|
|
14
|
+
export function ResponsiveSheet({
|
|
15
|
+
open,
|
|
16
|
+
onClose,
|
|
17
|
+
side = 'left',
|
|
18
|
+
breakpoint = BREAKPOINT_MD,
|
|
19
|
+
width,
|
|
20
|
+
maxHeightRatio,
|
|
21
|
+
inset,
|
|
22
|
+
showHandle,
|
|
23
|
+
dismissOnBackdrop,
|
|
24
|
+
panelStyle,
|
|
25
|
+
panelClassName,
|
|
26
|
+
containerStyle,
|
|
27
|
+
containerClassName,
|
|
28
|
+
label,
|
|
29
|
+
children
|
|
30
|
+
}) {
|
|
31
|
+
return /*#__PURE__*/_jsx(Dialog, {
|
|
32
|
+
open: open,
|
|
33
|
+
onClose: onClose,
|
|
34
|
+
placement: placementForSide(side, breakpoint),
|
|
35
|
+
width: width,
|
|
36
|
+
maxHeightRatio: maxHeightRatio,
|
|
37
|
+
inset: inset,
|
|
38
|
+
showHandle: showHandle,
|
|
39
|
+
dismissOnBackdrop: dismissOnBackdrop,
|
|
40
|
+
panelStyle: panelStyle,
|
|
41
|
+
panelClassName: panelClassName,
|
|
42
|
+
containerStyle: containerStyle,
|
|
43
|
+
containerClassName: containerClassName,
|
|
44
|
+
label: label,
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function placementForSide(side, breakpoint) {
|
|
49
|
+
if (breakpoint <= BREAKPOINT_SM) return {
|
|
50
|
+
base: 'bottom',
|
|
51
|
+
sm: side
|
|
52
|
+
};
|
|
53
|
+
if (breakpoint <= BREAKPOINT_MD) return {
|
|
54
|
+
base: 'bottom',
|
|
55
|
+
md: side
|
|
56
|
+
};
|
|
57
|
+
if (breakpoint <= BREAKPOINT_LG) return {
|
|
58
|
+
base: 'bottom',
|
|
59
|
+
lg: side
|
|
60
|
+
};
|
|
61
|
+
if (breakpoint <= BREAKPOINT_XL) return {
|
|
62
|
+
base: 'bottom',
|
|
63
|
+
xl: side
|
|
64
|
+
};
|
|
65
|
+
return {
|
|
66
|
+
base: 'bottom',
|
|
67
|
+
xl: side
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated Stable testID for the dimmed backdrop dismiss button — now
|
|
73
|
+
* provided by the underlying `<Dialog>`'s side/bottom backdrop.
|
|
74
|
+
*/
|
|
75
|
+
export const RESPONSIVE_SHEET_BACKDROP_TESTID = DIALOG_SHEET_BACKDROP_TESTID;
|
|
76
|
+
export default ResponsiveSheet;
|
|
77
|
+
//# sourceMappingURL=ResponsiveSheet.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Dialog","BREAKPOINT_LG","BREAKPOINT_MD","BREAKPOINT_SM","BREAKPOINT_XL","DIALOG_SHEET_BACKDROP_TESTID","jsx","_jsx","ResponsiveSheet","open","onClose","side","breakpoint","width","maxHeightRatio","inset","showHandle","dismissOnBackdrop","panelStyle","panelClassName","containerStyle","containerClassName","label","children","placement","placementForSide","base","sm","md","lg","xl","RESPONSIVE_SHEET_BACKDROP_TESTID"],"sourceRoot":"../../../src","sources":["responsive-sheet/ResponsiveSheet.web.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,QAAQ,wBAAqB;AAC5C,SACEC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,4BAA4B,QAEvB,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAC9BC,IAAI;EACJC,OAAO;EACPC,IAAI,GAAG,MAAM;EACbC,UAAU,GAAGV,aAAa;EAC1BW,KAAK;EACLC,cAAc;EACdC,KAAK;EACLC,UAAU;EACVC,iBAAiB;EACjBC,UAAU;EACVC,cAAc;EACdC,cAAc;EACdC,kBAAkB;EAClBC,KAAK;EACLC;AACoB,CAAC,EAAE;EACvB,oBACEhB,IAAA,CAACP,MAAM;IACLS,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBc,SAAS,EAAEC,gBAAgB,CAACd,IAAI,EAAEC,UAAU,CAAE;IAC9CC,KAAK,EAAEA,KAAM;IACbC,cAAc,EAAEA,cAAe;IAC/BC,KAAK,EAAEA,KAAM;IACbC,UAAU,EAAEA,UAAW;IACvBC,iBAAiB,EAAEA,iBAAkB;IACrCC,UAAU,EAAEA,UAAW;IACvBC,cAAc,EAAEA,cAAe;IAC/BC,cAAc,EAAEA,cAAe;IAC/BC,kBAAkB,EAAEA,kBAAmB;IACvCC,KAAK,EAAEA,KAAM;IAAAC,QAAA,EAEZA;EAAQ,CACH,CAAC;AAEb;AAEA,SAASE,gBAAgBA,CACvBd,IAAsB,EACtBC,UAAkB,EACS;EAC3B,IAAIA,UAAU,IAAIT,aAAa,EAAE,OAAO;IAAEuB,IAAI,EAAE,QAAQ;IAAEC,EAAE,EAAEhB;EAAK,CAAC;EACpE,IAAIC,UAAU,IAAIV,aAAa,EAAE,OAAO;IAAEwB,IAAI,EAAE,QAAQ;IAAEE,EAAE,EAAEjB;EAAK,CAAC;EACpE,IAAIC,UAAU,IAAIX,aAAa,EAAE,OAAO;IAAEyB,IAAI,EAAE,QAAQ;IAAEG,EAAE,EAAElB;EAAK,CAAC;EACpE,IAAIC,UAAU,IAAIR,aAAa,EAAE,OAAO;IAAEsB,IAAI,EAAE,QAAQ;IAAEI,EAAE,EAAEnB;EAAK,CAAC;EACpE,OAAO;IAAEe,IAAI,EAAE,QAAQ;IAAEI,EAAE,EAAEnB;EAAK,CAAC;AACrC;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMoB,gCAAgC,GAAG1B,4BAA4B;AAE5E,eAAeG,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ResponsiveSheet","RESPONSIVE_SHEET_BACKDROP_TESTID"],"sourceRoot":"../../../src","sources":["responsive-sheet/index.ts"],"mappings":";;AAAA,SAASA,eAAe,EAAEC,gCAAgC,QAAQ,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Web variant of the `./responsive-sheet` barrel.
|
|
4
|
+
//
|
|
5
|
+
// `ResponsiveSheet` is now a deprecated thin wrapper over `<Dialog>`. The
|
|
6
|
+
// default barrel (`./index.ts`) imports the default `Dialog`; THIS web barrel
|
|
7
|
+
// re-exports from `./ResponsiveSheet.web`, which imports the web `Dialog`
|
|
8
|
+
// explicitly so a non-Metro bundler never follows the native (reanimated)
|
|
9
|
+
// `Dialog` sibling. Web bundlers select this file via the `"browser"` export
|
|
10
|
+
// condition in `package.json`'s `exports['./responsive-sheet']`.
|
|
11
|
+
export { ResponsiveSheet, RESPONSIVE_SHEET_BACKDROP_TESTID } from "./ResponsiveSheet.web.js";
|
|
12
|
+
//# sourceMappingURL=index.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ResponsiveSheet","RESPONSIVE_SHEET_BACKDROP_TESTID"],"sourceRoot":"../../../src","sources":["responsive-sheet/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,eAAe,EAAEC,gCAAgC,QAAQ,0BAAuB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["responsive-sheet/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -2,6 +2,8 @@ import type { CenteredDialogProps } from './centered-dialog-types';
|
|
|
2
2
|
/** Stable testID for the dimmed backdrop. Overridden when a `testID` is set. */
|
|
3
3
|
export declare const CENTERED_DIALOG_BACKDROP_TESTID = "bloom-centered-dialog-backdrop";
|
|
4
4
|
/**
|
|
5
|
+
* @deprecated Use `<Dialog placement="center">` instead.
|
|
6
|
+
*
|
|
5
7
|
* Native variant of `<CenteredDialog>`.
|
|
6
8
|
*
|
|
7
9
|
* A controlled, centered modal: a transparent RN `Modal` (fade animation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CenteredDialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/CenteredDialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWnE,gFAAgF;AAChF,eAAO,MAAM,+BAA+B,mCAAmC,CAAC;AAEhF
|
|
1
|
+
{"version":3,"file":"CenteredDialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/CenteredDialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAWnE,gFAAgF;AAChF,eAAO,MAAM,+BAA+B,mCAAmC,CAAC;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,QAA4B,EAC5B,OAAc,EACd,SAAS,EACT,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,uBAAwC,EACxC,0BAA6C,EAC7C,SAAS,EACT,YAAY,EACZ,MAAM,GACP,EAAE,mBAAmB,2CAsGrB"}
|
|
@@ -2,6 +2,8 @@ import type { CenteredDialogProps } from './centered-dialog-types';
|
|
|
2
2
|
/** Stable testID for the dimmed backdrop. Overridden when a `testID` is set. */
|
|
3
3
|
export declare const CENTERED_DIALOG_BACKDROP_TESTID = "bloom-centered-dialog-backdrop";
|
|
4
4
|
/**
|
|
5
|
+
* @deprecated Use `<Dialog placement="center">` instead.
|
|
6
|
+
*
|
|
5
7
|
* Web variant of `<CenteredDialog>`.
|
|
6
8
|
*
|
|
7
9
|
* A centered modal card rendered into the Bloom Portal at the end of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CenteredDialog.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/CenteredDialog.web.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAanE,gFAAgF;AAChF,eAAO,MAAM,+BAA+B,mCAAmC,CAAC;AAIhF
|
|
1
|
+
{"version":3,"file":"CenteredDialog.web.d.ts","sourceRoot":"","sources":["../../../../src/dialog/CenteredDialog.web.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAanE,gFAAgF;AAChF,eAAO,MAAM,+BAA+B,mCAAmC,CAAC;AAIhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,QAA4B,EAC5B,OAAc,EACd,SAAS,EACT,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,uBAAwC,EACxC,0BAA6C,EAC7C,SAAS,EACT,YAAY,EACZ,MAAM,GACP,EAAE,mBAAmB,kDAoIrB;AA4FD;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,2aAKrC,CAAC"}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
|
+
import { DIALOG_SHEET_BACKDROP_TESTID } from './placement';
|
|
1
2
|
import type { DialogAction, DialogProps } from './types';
|
|
3
|
+
export { DIALOG_SHEET_BACKDROP_TESTID };
|
|
2
4
|
/**
|
|
3
5
|
* Native variant of `<Dialog>`.
|
|
4
6
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* gracefully degrades from sheet (phone) to centered card (tablet, via the
|
|
8
|
-
* 500px max-width cap).
|
|
7
|
+
* Open/close is driven by EITHER the imperative `control` (legacy) OR the
|
|
8
|
+
* controlled `open` prop. When `open` is provided it wins.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* `placement` selects the surface:
|
|
11
|
+
*
|
|
12
|
+
* - `'center'` (default) / `'bottom'` — bloom's `BottomSheet` (`detached`
|
|
13
|
+
* for center: a floating, content-hugging card that degrades from sheet to
|
|
14
|
+
* centered card via the 500px cap; flush for bottom: a full-width sheet
|
|
15
|
+
* with a drag handle). Default behavior is unchanged.
|
|
16
|
+
* - `'left'` / `'right'` — an anchored side-sheet/drawer driven by
|
|
17
|
+
* reanimated (the `responsive-sheet` native technique). Exit animations
|
|
18
|
+
* are safe on native.
|
|
11
19
|
*
|
|
12
|
-
*
|
|
13
|
-
* standard confirm/destructive/cancel layout.
|
|
14
|
-
* 2. Custom children — caller passes JSX, bloom renders the chrome (title
|
|
15
|
-
* + close behaviour) and the children fill the body.
|
|
16
|
-
* 3. Pure children — no `title`/`description`/`actions`; caller owns
|
|
17
|
-
* every pixel.
|
|
20
|
+
* The component accepts three rendering modes simultaneously:
|
|
18
21
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
+
* 1. Declarative — `title`, `description`, `actions`.
|
|
23
|
+
* 2. Custom children — caller passes JSX, bloom renders the chrome.
|
|
24
|
+
* 3. Pure children — no `title`/`description`/`actions`.
|
|
22
25
|
*/
|
|
23
|
-
export declare function Dialog({ control, onClose, testID, title, description, actions, style, label, children, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function Dialog({ control, open: controlledOpen, onClose, testID, title, description, actions, placement, width, maxHeightRatio, inset, showHandle, dismissOnBackdrop, style, panelStyle, panelClassName, containerStyle, containerClassName, label, children, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
24
27
|
/**
|
|
25
28
|
* Helper used by the imperative `alert()` API. Mounts a `<Dialog>` against
|
|
26
29
|
* a fresh control and presents it immediately. `onResolve` is invoked
|
|
@@ -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":"AAkCA,OAAO,EAIL,4BAA4B,EAK7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EAIZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,IAAI,EAAE,cAAc,EACpB,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,EACT,KAA0B,EAC1B,cAAyC,EACzC,KAAK,EACL,UAAiB,EACjB,iBAAwB,EACxB,KAAK,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,QAAQ,GACT,EAAE,WAAW,2CAwLb;AAuVD;;;;;;;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,18 +1,28 @@
|
|
|
1
|
+
import { DIALOG_SHEET_BACKDROP_TESTID } from './placement';
|
|
1
2
|
import type { DialogAction, DialogProps } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* Web variant of `<Dialog>`.
|
|
4
5
|
*
|
|
5
|
-
* A centered modal card rendered into the bloom Portal at the end of
|
|
6
|
-
* `document.body
|
|
7
|
-
*
|
|
8
|
-
* agnostic.
|
|
6
|
+
* A centered modal card (default) rendered into the bloom Portal at the end of
|
|
7
|
+
* `document.body`, or — when `placement` is `left`/`right`/`bottom` — an
|
|
8
|
+
* anchored side-sheet or bottom-sheet. Same prop API as native, so call sites
|
|
9
|
+
* are platform agnostic.
|
|
10
|
+
*
|
|
11
|
+
* Open/close is driven by EITHER the imperative `control` (legacy) OR the
|
|
12
|
+
* controlled `open` prop. When `open` is provided it wins.
|
|
9
13
|
*
|
|
10
14
|
* Accessibility: the panel has `role="dialog"` and the `title`/`description`
|
|
11
15
|
* props (when provided) become the `aria-labelledby` / `aria-describedby`
|
|
12
16
|
* targets. Pressing the backdrop dismisses. Pressing `Escape` dismisses.
|
|
13
17
|
* Focus is locked inside the dialog while it's open.
|
|
18
|
+
*
|
|
19
|
+
* Web motion never uses reanimated `exiting` (which throws `removeChild` on
|
|
20
|
+
* concurrent React unmounts): the centered card uses CSS keyframes and the
|
|
21
|
+
* side/bottom modes use self-contained CSS transitions (the `responsive-sheet`
|
|
22
|
+
* technique) on a mounted-through-exit node.
|
|
14
23
|
*/
|
|
15
|
-
export declare function Dialog({ control, onClose, testID, title, description, actions, style, label, children, }: DialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export declare function Dialog({ control, open: controlledOpen, onClose, testID, title, description, actions, placement, width, maxWidth, maxHeightRatio, inset, showHandle, dismissOnBackdrop, style, panelStyle, panelClassName, containerStyle, containerClassName, label, children, }: DialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
export { DIALOG_SHEET_BACKDROP_TESTID };
|
|
16
26
|
/**
|
|
17
27
|
* Inline imperative dialog used by `alert()`. Mounts and immediately
|
|
18
28
|
* presents; resolves the host's `onResolve` once the dialog has finished
|
|
@@ -34,6 +44,9 @@ export declare function AutoMountedDialog({ title, description, actions, onResol
|
|
|
34
44
|
* @keyframes bloomDialogZoomFadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
|
|
35
45
|
* @keyframes bloomDialogZoomFadeOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.95); } }
|
|
36
46
|
* ```
|
|
47
|
+
*
|
|
48
|
+
* The `left`/`right`/`bottom` placements do NOT depend on this — they animate
|
|
49
|
+
* via self-contained inline CSS transitions and need no keyframe injection.
|
|
37
50
|
*/
|
|
38
51
|
export declare const BLOOM_DIALOG_CSS = "\n@keyframes bloomDialogFadeIn { from { opacity: 0; } to { opacity: 1; } }\n@keyframes bloomDialogFadeOut { from { opacity: 1; } to { opacity: 0; } }\n@keyframes bloomDialogZoomFadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }\n@keyframes bloomDialogZoomFadeOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.95); } }\n";
|
|
39
52
|
//# sourceMappingURL=Dialog.web.d.ts.map
|
|
@@ -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":"AA2BA,OAAO,EAML,4BAA4B,EAU7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EAIZ,WAAW,EACZ,MAAM,SAAS,CAAC;AASjB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,IAAI,EAAE,cAAc,EACpB,OAAO,EACP,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,SAAS,EACT,KAA0B,EAC1B,QAAmC,EACnC,cAAyC,EACzC,KAAK,EACL,UAAiB,EACjB,iBAAwB,EACxB,KAAK,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,QAAQ,GACT,EAAE,WAAW,kDA0Lb;AAkID,OAAO,EAAE,4BAA4B,EAAE,CAAC;AAyTxC;;;;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;AA4CD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,mZAK5B,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
/**
|
|
4
|
+
* @deprecated Use `<Dialog placement="center">` instead. `CenteredDialog` is
|
|
5
|
+
* superseded by the centered placement of the canonical `<Dialog>` and is
|
|
6
|
+
* slated for removal in a future major.
|
|
7
|
+
*
|
|
4
8
|
* Props for the declarative `<CenteredDialog>` primitive.
|
|
5
9
|
*
|
|
6
10
|
* This is the simple, controlled centered-modal surface — distinct from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centered-dialog-types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/centered-dialog-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"centered-dialog-types.d.ts","sourceRoot":"","sources":["../../../../src/dialog/centered-dialog-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,oEAAoE;IACpE,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { Dialog } from './Dialog';
|
|
1
|
+
export { Dialog, DIALOG_SHEET_BACKDROP_TESTID } from './Dialog';
|
|
2
2
|
export { CenteredDialog, CENTERED_DIALOG_BACKDROP_TESTID } from './CenteredDialog';
|
|
3
3
|
export { BloomDialogProvider } from './BloomDialogProvider';
|
|
4
4
|
export { alert } from './alert';
|
|
5
5
|
export { useDialogContext, useDialogControl } from './context';
|
|
6
6
|
export type { AlertButton, AlertButtonStyle, } from './alert-store';
|
|
7
|
-
export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogProps, } from './types';
|
|
7
|
+
export type { DialogAction, DialogActionColor, DialogContextProps, DialogControlProps, DialogInset, DialogPlacement, DialogProps, ResponsiveDialogPlacement, } from './types';
|
|
8
8
|
export type { CenteredDialogProps } from './centered-dialog-types';
|
|
9
9
|
//# 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,MAAM,UAAU,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,cAAc,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnF,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;AACjB,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|