@oxyhq/bloom 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/lib/commonjs/dialog/Dialog.js +45 -157
  2. package/lib/commonjs/dialog/Dialog.js.map +1 -1
  3. package/lib/commonjs/dialog/Dialog.web.js +64 -198
  4. package/lib/commonjs/dialog/Dialog.web.js.map +1 -1
  5. package/lib/commonjs/dialog/DialogBottomSheet.js +216 -0
  6. package/lib/commonjs/dialog/DialogBottomSheet.js.map +1 -0
  7. package/lib/commonjs/dialog/DialogContent.js +155 -0
  8. package/lib/commonjs/dialog/DialogContent.js.map +1 -0
  9. package/lib/commonjs/dialog/placement.js +12 -1
  10. package/lib/commonjs/dialog/placement.js.map +1 -1
  11. package/lib/module/dialog/Dialog.js +48 -160
  12. package/lib/module/dialog/Dialog.js.map +1 -1
  13. package/lib/module/dialog/Dialog.web.js +66 -200
  14. package/lib/module/dialog/Dialog.web.js.map +1 -1
  15. package/lib/module/dialog/DialogBottomSheet.js +211 -0
  16. package/lib/module/dialog/DialogBottomSheet.js.map +1 -0
  17. package/lib/module/dialog/DialogContent.js +148 -0
  18. package/lib/module/dialog/DialogContent.js.map +1 -0
  19. package/lib/module/dialog/placement.js +11 -0
  20. package/lib/module/dialog/placement.js.map +1 -1
  21. package/lib/typescript/commonjs/dialog/Dialog.d.ts +1 -1
  22. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
  23. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +11 -8
  24. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -1
  25. package/lib/typescript/commonjs/dialog/DialogBottomSheet.d.ts +29 -0
  26. package/lib/typescript/commonjs/dialog/DialogBottomSheet.d.ts.map +1 -0
  27. package/lib/typescript/commonjs/dialog/DialogContent.d.ts +32 -0
  28. package/lib/typescript/commonjs/dialog/DialogContent.d.ts.map +1 -0
  29. package/lib/typescript/commonjs/dialog/placement.d.ts +10 -0
  30. package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/dialog/types.d.ts +12 -0
  32. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -1
  33. package/lib/typescript/module/dialog/Dialog.d.ts +1 -1
  34. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
  35. package/lib/typescript/module/dialog/Dialog.web.d.ts +11 -8
  36. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -1
  37. package/lib/typescript/module/dialog/DialogBottomSheet.d.ts +29 -0
  38. package/lib/typescript/module/dialog/DialogBottomSheet.d.ts.map +1 -0
  39. package/lib/typescript/module/dialog/DialogContent.d.ts +32 -0
  40. package/lib/typescript/module/dialog/DialogContent.d.ts.map +1 -0
  41. package/lib/typescript/module/dialog/placement.d.ts +10 -0
  42. package/lib/typescript/module/dialog/placement.d.ts.map +1 -1
  43. package/lib/typescript/module/dialog/types.d.ts +12 -0
  44. package/lib/typescript/module/dialog/types.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/src/__tests__/BottomSheetGesture.test.tsx +135 -0
  47. package/src/__tests__/DialogBottomSheet.test.tsx +259 -0
  48. package/src/dialog/Dialog.tsx +41 -171
  49. package/src/dialog/Dialog.web.tsx +56 -211
  50. package/src/dialog/DialogBottomSheet.tsx +250 -0
  51. package/src/dialog/DialogContent.tsx +157 -0
  52. package/src/dialog/placement.ts +11 -0
  53. package/src/dialog/types.ts +12 -0
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DialogBottomSheet = DialogBottomSheet;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _index = require("../bottom-sheet/index.js");
10
+ var _useTheme = require("../theme/use-theme.js");
11
+ var _context = require("./context.js");
12
+ var _DialogContent = require("./DialogContent.js");
13
+ var _placement = require("./placement.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ /**
17
+ * Shared `BottomSheet`-backed surface for the `bottom` placement, used by BOTH
18
+ * `Dialog.tsx` (native) and `Dialog.web.tsx` (web). `BottomSheet` is itself a
19
+ * single cross-platform implementation (react-native-gesture-handler +
20
+ * reanimated, drag-to-dismiss on web and native alike), so routing the bottom
21
+ * placement through here gives ONE code path with drag working everywhere — no
22
+ * duplicated CSS slide-up sheet.
23
+ *
24
+ * This component owns the entire open↔present/dismiss bridge and the Dialog →
25
+ * BottomSheet prop mapping in one place:
26
+ *
27
+ * - `open` (controlled) / `control` (imperative) → `present()` / `dismiss()`
28
+ * - `onClose` → fired once the sheet settles
29
+ * - `maxHeightRatio` → sheet `maxHeight`
30
+ * - `showHandle` / `dismissOnBackdrop` / `label` → forwarded to the surface
31
+ * - `panelStyle` → paints the sheet surface
32
+ * - `containerStyle` → wraps the content subtree
33
+ * so a host's CSS-var theme scope (`vars()`) still applies to descendants
34
+ * - `title` / `description` / `actions` / `children` → declarative body
35
+ */
36
+ function DialogBottomSheet({
37
+ control,
38
+ open: controlledOpen,
39
+ onClose,
40
+ testID,
41
+ title,
42
+ description,
43
+ actions,
44
+ maxHeightRatio = _placement.DEFAULT_MAX_HEIGHT_RATIO,
45
+ showHandle = true,
46
+ dismissOnBackdrop = true,
47
+ contentPadding = _placement.DEFAULT_DIALOG_CONTENT_PADDING,
48
+ style,
49
+ panelStyle,
50
+ panelClassName,
51
+ containerStyle,
52
+ containerClassName,
53
+ label,
54
+ children
55
+ }) {
56
+ const isControlled = controlledOpen !== undefined;
57
+ const theme = (0, _useTheme.useTheme)();
58
+ const ref = (0, _react.useRef)(null);
59
+ const closeCallbacks = (0, _react.useRef)([]);
60
+ const titleId = (0, _react.useId)();
61
+ const descriptionId = (0, _react.useId)();
62
+
63
+ // Read the latest controlled flag / `onClose` inside stable callbacks without
64
+ // re-binding them (the context + imperative handle depend on `close` staying
65
+ // referentially stable).
66
+ const isControlledRef = (0, _react.useRef)(isControlled);
67
+ isControlledRef.current = isControlled;
68
+ const onCloseRef = (0, _react.useRef)(onClose);
69
+ onCloseRef.current = onClose;
70
+
71
+ // Drain queued close callbacks atomically — capturing the list and resetting
72
+ // it before invocation ensures a callback that synchronously re-opens the
73
+ // dialog (and queues fresh callbacks) does not see the old ones replayed
74
+ // against the new session.
75
+ const callQueuedCallbacks = (0, _react.useCallback)(() => {
76
+ const queued = closeCallbacks.current;
77
+ closeCallbacks.current = [];
78
+ for (const cb of queued) {
79
+ try {
80
+ cb();
81
+ } catch (e) {
82
+ if (typeof console !== 'undefined' && console.error) {
83
+ console.error('Dialog close callback error:', e);
84
+ }
85
+ }
86
+ }
87
+ }, []);
88
+ const open = (0, _react.useCallback)(() => {
89
+ ref.current?.present();
90
+ }, []);
91
+
92
+ // A dismissal request (backdrop, pan-to-close, action button). In controlled
93
+ // mode it asks the host to close via `onClose` (the host flips `open`); in
94
+ // imperative mode it dismisses the surface directly. The optional callback
95
+ // runs once the dialog has finished closing.
96
+ const close = (0, _react.useCallback)(cb => {
97
+ if (typeof cb === 'function') {
98
+ closeCallbacks.current.push(cb);
99
+ }
100
+ if (isControlledRef.current) {
101
+ onCloseRef.current?.();
102
+ return;
103
+ }
104
+ ref.current?.dismiss();
105
+ }, []);
106
+
107
+ // Fired when the sheet has finished closing. Drains queued callbacks, then
108
+ // fires `onClose` ONLY in imperative mode — controlled mode already requested
109
+ // the close through `onClose` (the host then flipped `open`), so firing it
110
+ // again here would double-call it.
111
+ const handleDismiss = (0, _react.useCallback)(() => {
112
+ callQueuedCallbacks();
113
+ if (!isControlledRef.current) onCloseRef.current?.();
114
+ }, [callQueuedCallbacks]);
115
+
116
+ // In controlled mode, mirror the `open` prop onto the underlying sheet so both
117
+ // modes share one lifecycle.
118
+ (0, _react.useEffect)(() => {
119
+ if (!isControlled) return;
120
+ if (controlledOpen) {
121
+ ref.current?.present();
122
+ } else {
123
+ ref.current?.dismiss();
124
+ }
125
+ }, [isControlled, controlledOpen]);
126
+ (0, _react.useImperativeHandle)(control?.ref, () => ({
127
+ open,
128
+ close
129
+ }), [open, close]);
130
+ const context = (0, _react.useMemo)(() => ({
131
+ close,
132
+ isWithinDialog: true
133
+ }), [close]);
134
+
135
+ // Backdrop press → dismiss, unless the host disabled it. Returning `false`
136
+ // from `onDismissAttempt` blocks the BottomSheet's own backdrop/pan dismissal,
137
+ // which is how `dismissOnBackdrop: false` maps onto the single sheet API.
138
+ const onDismissAttempt = (0, _react.useCallback)(() => dismissOnBackdrop, [dismissOnBackdrop]);
139
+
140
+ // `panelStyle` paints the sheet surface (e.g. a brand background). It composes
141
+ // AFTER the BottomSheet's internal background so a host palette wins; the
142
+ // shape (radius, max height) is supplied here and remains overridable.
143
+ const sheetStyle = (0, _react.useMemo)(() => {
144
+ const maxHeightPercent = `${Math.round(maxHeightRatio * 100)}%`;
145
+ return [{
146
+ backgroundColor: theme.colors.background,
147
+ borderTopLeftRadius: _placement.PANEL_RADIUS + 4,
148
+ borderTopRightRadius: _placement.PANEL_RADIUS + 4,
149
+ maxHeight: maxHeightPercent
150
+ }, panelStyle];
151
+ }, [theme.colors.background, maxHeightRatio, panelStyle]);
152
+
153
+ // Does this dialog render bloom's declarative chrome (title / description /
154
+ // actions), or is it pure custom `children`? Pure custom children own their
155
+ // own layout and scrolling, so we render them through a NON-scrollable
156
+ // BottomSheet body — otherwise the sheet's internal ScrollView would wrap a
157
+ // child that already contains its own scroller, producing a scroll-in-scroll
158
+ // (double scroll container). Declarative dialogs are short and keep the
159
+ // sheet's default scrollable body so they degrade gracefully on small
160
+ // viewports. This only changes what `DialogBottomSheet` passes to
161
+ // `BottomSheet`; the standalone `BottomSheet` API and its `scrollable` default
162
+ // are unchanged for direct consumers.
163
+ const hasDeclarativeChrome = title !== undefined || description !== undefined || actions !== undefined && actions.length > 0;
164
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.BottomSheet, {
165
+ ref: ref,
166
+ onDismiss: handleDismiss,
167
+ onDismissAttempt: onDismissAttempt,
168
+ enablePanDownToClose: true,
169
+ showHandle: showHandle
170
+ // Pure custom children own scrolling → opt OUT of BottomSheet's internal
171
+ // ScrollView so there is exactly ONE scroll container (no scroll-in-scroll).
172
+ ,
173
+ scrollable: hasDeclarativeChrome
174
+ // Stronger dim than a lone sheet so an underlying sheet's handle/content
175
+ // doesn't bleed through when a Dialog is stacked over one.
176
+ ,
177
+ backdropOpacity: _placement.SHEET_BACKDROP_OPACITY + 0.3,
178
+ style: sheetStyle,
179
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.Context.Provider, {
180
+ value: context,
181
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
182
+ testID: testID,
183
+ accessibilityLabel: label,
184
+ "aria-labelledby": title ? titleId : undefined,
185
+ "aria-describedby": description ? descriptionId : undefined,
186
+ ...(containerClassName ? {
187
+ className: containerClassName
188
+ } : {}),
189
+ ...(panelClassName ? {
190
+ className: panelClassName
191
+ } : {}),
192
+ style: [{
193
+ padding: contentPadding
194
+ },
195
+ // `containerStyle` carries the host's CSS-var theme scope; it wraps
196
+ // the content subtree so descendants read the scoped palette.
197
+ containerStyle, style, panelStyle],
198
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContent.DialogBody, {
199
+ titleId: titleId,
200
+ descriptionId: descriptionId,
201
+ title: title,
202
+ description: description,
203
+ actions: actions,
204
+ children: children
205
+ })
206
+ })
207
+ })
208
+ });
209
+ }
210
+
211
+ /**
212
+ * Props the shared bottom-sheet surface consumes — the `bottom`-relevant subset
213
+ * of `DialogProps`. `width`, `maxWidth`, and `inset` are placement-specific to
214
+ * the side/centered surfaces and intentionally excluded.
215
+ */
216
+ //# sourceMappingURL=DialogBottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_useTheme","_context","_DialogContent","_placement","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DialogBottomSheet","control","open","controlledOpen","onClose","testID","title","description","actions","maxHeightRatio","DEFAULT_MAX_HEIGHT_RATIO","showHandle","dismissOnBackdrop","contentPadding","DEFAULT_DIALOG_CONTENT_PADDING","style","panelStyle","panelClassName","containerStyle","containerClassName","label","children","isControlled","undefined","theme","useTheme","ref","useRef","closeCallbacks","titleId","useId","descriptionId","isControlledRef","current","onCloseRef","callQueuedCallbacks","useCallback","queued","cb","console","error","present","close","push","dismiss","handleDismiss","useEffect","useImperativeHandle","context","useMemo","isWithinDialog","onDismissAttempt","sheetStyle","maxHeightPercent","Math","round","backgroundColor","colors","background","borderTopLeftRadius","PANEL_RADIUS","borderTopRightRadius","maxHeight","hasDeclarativeChrome","length","jsx","BottomSheet","onDismiss","enablePanDownToClose","scrollable","backdropOpacity","SHEET_BACKDROP_OPACITY","Context","Provider","value","View","accessibilityLabel","className","padding","DialogBody"],"sourceRoot":"../../../src","sources":["dialog/DialogBottomSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ActionRow = ActionRow;
7
+ exports.DialogBody = DialogBody;
8
+ exports.getActionPalette = getActionPalette;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactNative = require("react-native");
11
+ var _useTheme = require("../theme/use-theme.js");
12
+ var _context = require("./context.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ /**
16
+ * Shared dialog content primitives used by every `<Dialog>` placement on both
17
+ * platforms — the centered panel, the side-sheets, and the `BottomSheet`-backed
18
+ * bottom placement. Keeping them here is the single source of truth for the
19
+ * declarative `title` / `description` / `actions` chrome, so the surfaces never
20
+ * drift in spacing, typography, or action-button behaviour.
21
+ */
22
+
23
+ /**
24
+ * Renders the dialog's body: optional declarative title + description, any
25
+ * `children`, then the action row. The `titleId`/`descriptionId` are wired by
26
+ * the caller onto the dialog role element for `aria-labelledby` /
27
+ * `aria-describedby`.
28
+ */
29
+ function DialogBody({
30
+ titleId,
31
+ descriptionId,
32
+ title,
33
+ description,
34
+ actions,
35
+ children
36
+ }) {
37
+ const theme = (0, _useTheme.useTheme)();
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
39
+ children: [title ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
40
+ nativeID: titleId,
41
+ style: {
42
+ fontSize: 22,
43
+ fontWeight: '600',
44
+ color: theme.colors.text,
45
+ paddingBottom: description ? 4 : 16,
46
+ lineHeight: 30
47
+ },
48
+ children: title
49
+ }) : null, description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
50
+ nativeID: descriptionId,
51
+ style: {
52
+ fontSize: 16,
53
+ color: theme.colors.textSecondary,
54
+ paddingBottom: 16,
55
+ lineHeight: 22
56
+ },
57
+ children: description
58
+ }) : null, children, actions && actions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
59
+ actions: actions
60
+ }) : null]
61
+ });
62
+ }
63
+ function ActionRow({
64
+ actions
65
+ }) {
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
67
+ style: {
68
+ width: '100%',
69
+ gap: 8,
70
+ justifyContent: 'flex-end'
71
+ },
72
+ children: actions.map((action, idx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionButton, {
73
+ action: action
74
+ }, `${action.label}-${idx}`))
75
+ });
76
+ }
77
+ function ActionButton({
78
+ action
79
+ }) {
80
+ const {
81
+ close
82
+ } = (0, _context.useDialogContext)();
83
+ const theme = (0, _useTheme.useTheme)();
84
+ const color = action.color ?? 'default';
85
+ const shouldCloseOnPress = action.shouldCloseOnPress ?? true;
86
+ const {
87
+ background,
88
+ foreground
89
+ } = getActionPalette(color, theme.colors);
90
+ const handlePress = (0, _react.useCallback)(e => {
91
+ const onPress = action.onPress;
92
+ if (color === 'cancel') {
93
+ // Cancel always dismisses; consumer's onPress (rare) runs after.
94
+ close(onPress ? () => onPress(e) : undefined);
95
+ return;
96
+ }
97
+ if (shouldCloseOnPress) {
98
+ close(onPress ? () => onPress(e) : undefined);
99
+ } else {
100
+ onPress?.(e);
101
+ }
102
+ }, [action.onPress, close, color, shouldCloseOnPress]);
103
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
104
+ style: {
105
+ borderRadius: 9999,
106
+ alignItems: 'center',
107
+ justifyContent: 'center',
108
+ backgroundColor: background,
109
+ opacity: action.disabled ? 0.5 : 1,
110
+ paddingVertical: 12,
111
+ paddingHorizontal: 24
112
+ },
113
+ onPress: handlePress,
114
+ disabled: action.disabled,
115
+ activeOpacity: 0.7,
116
+ testID: action.testID,
117
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
118
+ style: {
119
+ fontSize: 16,
120
+ fontWeight: '500',
121
+ color: foreground
122
+ },
123
+ children: action.label
124
+ })
125
+ });
126
+ }
127
+ function getActionPalette(color, colors) {
128
+ switch (color) {
129
+ case 'destructive':
130
+ return {
131
+ background: colors.negative,
132
+ foreground: colors.negativeForeground
133
+ };
134
+ case 'cancel':
135
+ return {
136
+ background: colors.contrast50,
137
+ foreground: colors.text
138
+ };
139
+ case 'default':
140
+ return {
141
+ background: colors.primary,
142
+ foreground: colors.primaryForeground
143
+ };
144
+ /* c8 ignore next 3 -- TS exhaustiveness check guards this branch */
145
+ default:
146
+ {
147
+ const _exhaustive = color;
148
+ return {
149
+ background: colors.primary,
150
+ foreground: colors.primaryForeground
151
+ };
152
+ }
153
+ }
154
+ }
155
+ //# sourceMappingURL=DialogContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DialogBody","titleId","descriptionId","title","description","actions","children","theme","useTheme","jsxs","Fragment","jsx","Text","nativeID","style","fontSize","fontWeight","color","colors","text","paddingBottom","lineHeight","textSecondary","length","ActionRow","View","width","gap","justifyContent","map","action","idx","ActionButton","label","close","useDialogContext","shouldCloseOnPress","background","foreground","getActionPalette","handlePress","useCallback","onPress","undefined","TouchableOpacity","borderRadius","alignItems","backgroundColor","opacity","disabled","paddingVertical","paddingHorizontal","activeOpacity","testID","negative","negativeForeground","contrast50","primary","primaryForeground","_exhaustive"],"sourceRoot":"../../../src","sources":["dialog/DialogContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SIDE_SHEET_MIN_GUTTER = exports.SHEET_BACKDROP_OPACITY = exports.PANEL_RADIUS = exports.HANDLE_WIDTH = exports.HANDLE_RADIUS = exports.HANDLE_HEIGHT = exports.EASE_OUT = exports.DIALOG_SHEET_BACKDROP_TESTID = exports.DEFAULT_SIDE_WIDTH = exports.DEFAULT_MAX_HEIGHT_RATIO = exports.DEFAULT_CENTER_MAX_WIDTH = exports.CENTER_FADE_OUT_DURATION = exports.BREAKPOINT_XL = exports.BREAKPOINT_SM = exports.BREAKPOINT_MD = exports.BREAKPOINT_LG = exports.ANIMATION_DURATION = void 0;
6
+ exports.SIDE_SHEET_MIN_GUTTER = exports.SHEET_BACKDROP_OPACITY = exports.PANEL_RADIUS = exports.HANDLE_WIDTH = exports.HANDLE_RADIUS = exports.HANDLE_HEIGHT = exports.EASE_OUT = exports.DIALOG_SHEET_BACKDROP_TESTID = exports.DEFAULT_SIDE_WIDTH = exports.DEFAULT_MAX_HEIGHT_RATIO = exports.DEFAULT_DIALOG_CONTENT_PADDING = exports.DEFAULT_CENTER_MAX_WIDTH = exports.CENTER_FADE_OUT_DURATION = exports.BREAKPOINT_XL = exports.BREAKPOINT_SM = exports.BREAKPOINT_MD = exports.BREAKPOINT_LG = exports.ANIMATION_DURATION = void 0;
7
7
  exports.useResolvedPlacement = useResolvedPlacement;
8
8
  var _react = require("react");
9
9
  var _reactNative = require("react-native");
@@ -51,6 +51,17 @@ const DEFAULT_MAX_HEIGHT_RATIO = exports.DEFAULT_MAX_HEIGHT_RATIO = 0.9;
51
51
  /** Corner radius shared by the side-sheet panel and the bottom-sheet top. */
52
52
  const PANEL_RADIUS = exports.PANEL_RADIUS = 20;
53
53
 
54
+ /**
55
+ * Default inner padding (px) of the dialog content container, applied uniformly
56
+ * across every placement (centered panel, side-sheet body, bottom-sheet body)
57
+ * so the chrome reads identically regardless of which surface resolves. This is
58
+ * the legacy value — omitting the `contentPadding` prop keeps 20px everywhere,
59
+ * byte-for-byte unchanged. A host that owns its own insets (e.g. custom
60
+ * `children` that already manage padding) can override it via
61
+ * `Dialog`'s `contentPadding` prop (e.g. `contentPadding={0}`).
62
+ */
63
+ const DEFAULT_DIALOG_CONTENT_PADDING = exports.DEFAULT_DIALOG_CONTENT_PADDING = 20;
64
+
54
65
  /** Open/close transition duration (ms). ~280ms ease-out reads smooth. */
55
66
  const ANIMATION_DURATION = exports.ANIMATION_DURATION = 280;
56
67
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","BREAKPOINT_SM","exports","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","useWindowDimensions","useMemo","undefined","key","minWidth","value","base"],"sourceRoot":"../../../src","sources":["dialog/placement.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACO,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,GAAG;AACzB,MAAME,aAAa,GAAAD,OAAA,CAAAC,aAAA,GAAG,GAAG;AACzB,MAAMC,aAAa,GAAAF,OAAA,CAAAE,aAAA,GAAG,IAAI;AAC1B,MAAMC,aAAa,GAAAH,OAAA,CAAAG,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,EAAEF,aAAa,CAAC,CACb;;AAEV;AACO,MAAMM,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG,GAAG;;AAErC;AACO,MAAMC,wBAAwB,GAAAN,OAAA,CAAAM,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,wBAAwB,GAAAP,OAAA,CAAAO,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,YAAY,GAAAR,OAAA,CAAAQ,YAAA,GAAG,EAAE;;AAE9B;AACO,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAAG,GAAG;;AAErC;AACO,MAAMC,wBAAwB,GAAAV,OAAA,CAAAU,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,QAAQ,GAAAX,OAAA,CAAAW,QAAA,GAAG,gCAAgC;;AAExD;AACO,MAAMC,sBAAsB,GAAAZ,OAAA,CAAAY,sBAAA,GAAG,GAAG;;AAEzC;AACO,MAAMC,4BAA4B,GAAAb,OAAA,CAAAa,4BAAA,GAAG,6BAA6B;;AAEzE;AACO,MAAMC,YAAY,GAAAd,OAAA,CAAAc,YAAA,GAAG,EAAE;AACvB,MAAMC,aAAa,GAAAf,OAAA,CAAAe,aAAA,GAAG,CAAC;AACvB,MAAMC,aAAa,GAAAhB,OAAA,CAAAgB,aAAA,GAAG,CAAC;;AAE9B;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAjB,OAAA,CAAAiB,qBAAA,GAAG,EAAE;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAClCC,SAAgD,EAC/B;EACjB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAEvC,OAAO,IAAAC,cAAO,EAAkB,MAAM;IACpC,IAAIH,SAAS,KAAKI,SAAS,EAAE,OAAO,QAAQ;IAC5C,IAAI,OAAOJ,SAAS,KAAK,QAAQ,EAAE,OAAOA,SAAS;IACnD,KAAK,MAAM,CAACK,GAAG,EAAEC,QAAQ,CAAC,IAAIrB,eAAe,EAAE;MAC7C,IAAIgB,KAAK,IAAIK,QAAQ,EAAE;QACrB,MAAMC,KAAK,GAAGP,SAAS,CAACK,GAAG,CAAC;QAC5B,IAAIE,KAAK,KAAKH,SAAS,EAAE,OAAOG,KAAK;MACvC;IACF;IACA,OAAOP,SAAS,CAACQ,IAAI;EACvB,CAAC,EAAE,CAACR,SAAS,EAAEC,KAAK,CAAC,CAAC;AACxB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","BREAKPOINT_SM","exports","BREAKPOINT_MD","BREAKPOINT_LG","BREAKPOINT_XL","RESPONSIVE_KEYS","DEFAULT_SIDE_WIDTH","DEFAULT_CENTER_MAX_WIDTH","DEFAULT_MAX_HEIGHT_RATIO","PANEL_RADIUS","DEFAULT_DIALOG_CONTENT_PADDING","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","useWindowDimensions","useMemo","undefined","key","minWidth","value","base"],"sourceRoot":"../../../src","sources":["dialog/placement.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACO,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,GAAG;AACzB,MAAME,aAAa,GAAAD,OAAA,CAAAC,aAAA,GAAG,GAAG;AACzB,MAAMC,aAAa,GAAAF,OAAA,CAAAE,aAAA,GAAG,IAAI;AAC1B,MAAMC,aAAa,GAAAH,OAAA,CAAAG,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,EAAEF,aAAa,CAAC,CACb;;AAEV;AACO,MAAMM,kBAAkB,GAAAL,OAAA,CAAAK,kBAAA,GAAG,GAAG;;AAErC;AACO,MAAMC,wBAAwB,GAAAN,OAAA,CAAAM,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,wBAAwB,GAAAP,OAAA,CAAAO,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,YAAY,GAAAR,OAAA,CAAAQ,YAAA,GAAG,EAAE;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,8BAA8B,GAAAT,OAAA,CAAAS,8BAAA,GAAG,EAAE;;AAEhD;AACO,MAAMC,kBAAkB,GAAAV,OAAA,CAAAU,kBAAA,GAAG,GAAG;;AAErC;AACO,MAAMC,wBAAwB,GAAAX,OAAA,CAAAW,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG,gCAAgC;;AAExD;AACO,MAAMC,sBAAsB,GAAAb,OAAA,CAAAa,sBAAA,GAAG,GAAG;;AAEzC;AACO,MAAMC,4BAA4B,GAAAd,OAAA,CAAAc,4BAAA,GAAG,6BAA6B;;AAEzE;AACO,MAAMC,YAAY,GAAAf,OAAA,CAAAe,YAAA,GAAG,EAAE;AACvB,MAAMC,aAAa,GAAAhB,OAAA,CAAAgB,aAAA,GAAG,CAAC;AACvB,MAAMC,aAAa,GAAAjB,OAAA,CAAAiB,aAAA,GAAG,CAAC;;AAE9B;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAlB,OAAA,CAAAkB,qBAAA,GAAG,EAAE;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAClCC,SAAgD,EAC/B;EACjB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAEvC,OAAO,IAAAC,cAAO,EAAkB,MAAM;IACpC,IAAIH,SAAS,KAAKI,SAAS,EAAE,OAAO,QAAQ;IAC5C,IAAI,OAAOJ,SAAS,KAAK,QAAQ,EAAE,OAAOA,SAAS;IACnD,KAAK,MAAM,CAACK,GAAG,EAAEC,QAAQ,CAAC,IAAItB,eAAe,EAAE;MAC7C,IAAIiB,KAAK,IAAIK,QAAQ,EAAE;QACrB,MAAMC,KAAK,GAAGP,SAAS,CAACK,GAAG,CAAC;QAC5B,IAAIE,KAAK,KAAKH,SAAS,EAAE,OAAOG,KAAK;MACvC;IACF;IACA,OAAOP,SAAS,CAACQ,IAAI;EACvB,CAAC,EAAE,CAACR,SAAS,EAAEC,KAAK,CAAC,CAAC;AACxB","ignoreList":[]}