@oxyhq/bloom 0.12.1 → 0.14.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.
Files changed (97) hide show
  1. package/lib/commonjs/fab/Fab.js +25 -6
  2. package/lib/commonjs/fab/Fab.js.map +1 -1
  3. package/lib/commonjs/fab/Fab.web.js +26 -7
  4. package/lib/commonjs/fab/Fab.web.js.map +1 -1
  5. package/lib/commonjs/index.js +15 -0
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/index.web.js +21 -6
  8. package/lib/commonjs/index.web.js.map +1 -1
  9. package/lib/commonjs/responsive-sheet/ResponsiveSheet.js +300 -0
  10. package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +1 -0
  11. package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js +226 -0
  12. package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js.map +1 -0
  13. package/lib/commonjs/responsive-sheet/const.js +60 -0
  14. package/lib/commonjs/responsive-sheet/const.js.map +1 -0
  15. package/lib/commonjs/responsive-sheet/index.js +19 -0
  16. package/lib/commonjs/responsive-sheet/index.js.map +1 -0
  17. package/lib/commonjs/responsive-sheet/index.web.js +19 -0
  18. package/lib/commonjs/responsive-sheet/index.web.js.map +1 -0
  19. package/lib/commonjs/responsive-sheet/types.js +6 -0
  20. package/lib/commonjs/responsive-sheet/types.js.map +1 -0
  21. package/lib/module/fab/Fab.js +25 -6
  22. package/lib/module/fab/Fab.js.map +1 -1
  23. package/lib/module/fab/Fab.web.js +26 -7
  24. package/lib/module/fab/Fab.web.js.map +1 -1
  25. package/lib/module/index.js +2 -0
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/index.web.js +2 -0
  28. package/lib/module/index.web.js.map +1 -1
  29. package/lib/module/responsive-sheet/ResponsiveSheet.js +293 -0
  30. package/lib/module/responsive-sheet/ResponsiveSheet.js.map +1 -0
  31. package/lib/module/responsive-sheet/ResponsiveSheet.native.js +219 -0
  32. package/lib/module/responsive-sheet/ResponsiveSheet.native.js.map +1 -0
  33. package/lib/module/responsive-sheet/const.js +56 -0
  34. package/lib/module/responsive-sheet/const.js.map +1 -0
  35. package/lib/module/responsive-sheet/index.js +4 -0
  36. package/lib/module/responsive-sheet/index.js.map +1 -0
  37. package/lib/module/responsive-sheet/index.web.js +14 -0
  38. package/lib/module/responsive-sheet/index.web.js.map +1 -0
  39. package/lib/module/responsive-sheet/types.js +4 -0
  40. package/lib/module/responsive-sheet/types.js.map +1 -0
  41. package/lib/typescript/commonjs/fab/Fab.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/fab/Fab.web.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/fab/types.d.ts +12 -2
  44. package/lib/typescript/commonjs/fab/types.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/index.d.ts +2 -0
  46. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/index.web.d.ts +2 -0
  48. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +26 -0
  50. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.map +1 -0
  51. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts +20 -0
  52. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts.map +1 -0
  53. package/lib/typescript/commonjs/responsive-sheet/const.d.ts +43 -0
  54. package/lib/typescript/commonjs/responsive-sheet/const.d.ts.map +1 -0
  55. package/lib/typescript/commonjs/responsive-sheet/index.d.ts +3 -0
  56. package/lib/typescript/commonjs/responsive-sheet/index.d.ts.map +1 -0
  57. package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts +3 -0
  58. package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts.map +1 -0
  59. package/lib/typescript/commonjs/responsive-sheet/types.d.ts +55 -0
  60. package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +1 -0
  61. package/lib/typescript/module/fab/Fab.d.ts.map +1 -1
  62. package/lib/typescript/module/fab/Fab.web.d.ts.map +1 -1
  63. package/lib/typescript/module/fab/types.d.ts +12 -2
  64. package/lib/typescript/module/fab/types.d.ts.map +1 -1
  65. package/lib/typescript/module/index.d.ts +2 -0
  66. package/lib/typescript/module/index.d.ts.map +1 -1
  67. package/lib/typescript/module/index.web.d.ts +2 -0
  68. package/lib/typescript/module/index.web.d.ts.map +1 -1
  69. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +26 -0
  70. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts.map +1 -0
  71. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts +20 -0
  72. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts.map +1 -0
  73. package/lib/typescript/module/responsive-sheet/const.d.ts +43 -0
  74. package/lib/typescript/module/responsive-sheet/const.d.ts.map +1 -0
  75. package/lib/typescript/module/responsive-sheet/index.d.ts +3 -0
  76. package/lib/typescript/module/responsive-sheet/index.d.ts.map +1 -0
  77. package/lib/typescript/module/responsive-sheet/index.web.d.ts +3 -0
  78. package/lib/typescript/module/responsive-sheet/index.web.d.ts.map +1 -0
  79. package/lib/typescript/module/responsive-sheet/types.d.ts +55 -0
  80. package/lib/typescript/module/responsive-sheet/types.d.ts.map +1 -0
  81. package/package.json +18 -1
  82. package/src/__tests__/Fab.test.tsx +17 -0
  83. package/src/__tests__/Fab.web.test.tsx +14 -0
  84. package/src/__tests__/ResponsiveSheet.test.tsx +104 -0
  85. package/src/fab/Fab.stories.tsx +9 -0
  86. package/src/fab/Fab.tsx +33 -7
  87. package/src/fab/Fab.web.tsx +33 -8
  88. package/src/fab/types.ts +12 -2
  89. package/src/index.ts +8 -0
  90. package/src/index.web.ts +8 -0
  91. package/src/responsive-sheet/ResponsiveSheet.native.tsx +257 -0
  92. package/src/responsive-sheet/ResponsiveSheet.stories.tsx +54 -0
  93. package/src/responsive-sheet/ResponsiveSheet.tsx +327 -0
  94. package/src/responsive-sheet/const.ts +53 -0
  95. package/src/responsive-sheet/index.ts +6 -0
  96. package/src/responsive-sheet/index.web.ts +16 -0
  97. package/src/responsive-sheet/types.ts +57 -0
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "RESPONSIVE_SHEET_BACKDROP_TESTID", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ResponsiveSheet.RESPONSIVE_SHEET_BACKDROP_TESTID;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ResponsiveSheet", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ResponsiveSheet.ResponsiveSheet;
16
+ }
17
+ });
18
+ var _ResponsiveSheet = require("./ResponsiveSheet");
19
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ResponsiveSheet","require"],"sourceRoot":"../../../src","sources":["responsive-sheet/index.web.ts"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAAA,gBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["responsive-sheet/types.ts"],"mappings":"","ignoreList":[]}
@@ -6,9 +6,9 @@ import { useTheme } from "../theme/use-theme.js";
6
6
  import { usePressAnimation } from "../hooks/usePressAnimation.js";
7
7
  import { useInteractionState } from "../hooks/useInteractionState.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- // Material-style FAB scale. `small` (40px, the compact FAB Mention uses) keeps a
10
- // full 24px icon box so the glyph reads clearly; `medium` (56px) is the
11
- // canonical FAB; `large` (64px) is the high-prominence action.
9
+ // Material-style FAB scale. `small` (40px) keeps a full 24px icon box so the
10
+ // glyph reads clearly; `medium` (56px) is the canonical FAB; `large` (64px) is
11
+ // the high-prominence action.
12
12
  const SIZE_CONFIG = {
13
13
  small: {
14
14
  diameter: 40,
@@ -26,6 +26,25 @@ const SIZE_CONFIG = {
26
26
  fontSize: 16
27
27
  }
28
28
  };
29
+ const MIN_NUMERIC_ICON_BOX = 22;
30
+
31
+ /**
32
+ * Resolve a `size` prop (preset name or raw pixel diameter) to concrete pixel
33
+ * geometry. A numeric size sets the diameter directly, derives the icon box as
34
+ * `round(size * 0.5)` (clamped to a sensible minimum) and lets the circle radius
35
+ * stay `size / 2` (the container uses a full pill radius, so any square stays a
36
+ * perfect circle).
37
+ */
38
+ function resolveSize(size) {
39
+ if (typeof size === 'number') {
40
+ return {
41
+ diameter: size,
42
+ iconBox: Math.max(MIN_NUMERIC_ICON_BOX, Math.round(size * 0.5)),
43
+ fontSize: Math.max(13, Math.round(size * 0.27))
44
+ };
45
+ }
46
+ return SIZE_CONFIG[size];
47
+ }
29
48
  const PILL_RADIUS = 999;
30
49
  const PRESS_SCALE = 0.94;
31
50
  const DEFAULT_OFFSET = 16;
@@ -79,7 +98,7 @@ const FabComponent = ({
79
98
  zIndex = DEFAULT_Z_INDEX
80
99
  }) => {
81
100
  const theme = useTheme();
82
- const sizeConfig = SIZE_CONFIG[size];
101
+ const sizeConfig = useMemo(() => resolveSize(size), [size]);
83
102
  const isExtended = label != null && label.length > 0;
84
103
  const content = icon ?? children;
85
104
  const {
@@ -112,13 +131,13 @@ const FabComponent = ({
112
131
  elevation: 6
113
132
  };
114
133
  if (isExtended) {
115
- base.paddingHorizontal = size === 'small' ? 14 : 20;
134
+ base.paddingHorizontal = sizeConfig.diameter <= 44 ? 14 : 20;
116
135
  base.gap = 8;
117
136
  } else {
118
137
  base.width = sizeConfig.diameter;
119
138
  }
120
139
  return base;
121
- }, [resolvedColors.background, sizeConfig.diameter, theme.colors.shadow, isExtended, size]);
140
+ }, [resolvedColors.background, sizeConfig.diameter, theme.colors.shadow, isExtended]);
122
141
  const labelTextStyle = useMemo(() => ({
123
142
  fontSize: sizeConfig.fontSize,
124
143
  fontWeight: '600',
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","Animated","Pressable","Text","View","useTheme","usePressAnimation","useInteractionState","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","PILL_RADIUS","PRESS_SCALE","DEFAULT_OFFSET","DEFAULT_Z_INDEX","HIT_SLOP","top","bottom","left","right","placementStyle","placement","offset","style","position","FabComponent","onPress","icon","children","label","variant","size","disabled","accessibilityLabel","accessibilityHint","labelStyle","className","testID","zIndex","theme","sizeConfig","isExtended","length","content","scaleAnim","onPressIn","onPressOut","undefined","state","pressed","onIn","onPressedIn","onOut","onPressedOut","resolvedColors","resolveVariant","colors","containerStyle","base","alignItems","justifyContent","flexDirection","backgroundColor","background","borderRadius","height","shadowColor","shadow","shadowOffset","width","shadowOpacity","shadowRadius","elevation","paddingHorizontal","gap","labelTextStyle","fontWeight","color","foreground","handlePressIn","handlePressOut","transform","scale","opacity","hitSlop","accessibilityRole","accessibilityState","numberOfLines","card","text","primary","primaryForeground","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","Animated","Pressable","Text","View","useTheme","usePressAnimation","useInteractionState","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","PILL_RADIUS","PRESS_SCALE","DEFAULT_OFFSET","DEFAULT_Z_INDEX","HIT_SLOP","top","bottom","left","right","placementStyle","placement","offset","style","position","FabComponent","onPress","icon","children","label","variant","disabled","accessibilityLabel","accessibilityHint","labelStyle","className","testID","zIndex","theme","sizeConfig","isExtended","length","content","scaleAnim","onPressIn","onPressOut","undefined","state","pressed","onIn","onPressedIn","onOut","onPressedOut","resolvedColors","resolveVariant","colors","containerStyle","base","alignItems","justifyContent","flexDirection","backgroundColor","background","borderRadius","height","shadowColor","shadow","shadowOffset","width","shadowOpacity","shadowRadius","elevation","paddingHorizontal","gap","labelTextStyle","fontWeight","color","foreground","handlePressIn","handlePressOut","transform","scale","opacity","hitSlop","accessibilityRole","accessibilityState","numberOfLines","card","text","primary","primaryForeground","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,9 @@
3
3
  import React, { memo, useCallback, useEffect, useId, useMemo } from 'react';
4
4
  import { useTheme } from "../theme/use-theme.js";
5
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
- // Material-style FAB scale. `small` (40px, the compact FAB Mention uses) keeps a
7
- // full 24px icon box so the glyph reads clearly; `medium` (56px) is the
8
- // canonical FAB; `large` (64px) is the high-prominence action.
6
+ // Material-style FAB scale. `small` (40px) keeps a full 24px icon box so the
7
+ // glyph reads clearly; `medium` (56px) is the canonical FAB; `large` (64px) is
8
+ // the high-prominence action.
9
9
  const SIZE_CONFIG = {
10
10
  small: {
11
11
  diameter: 40,
@@ -23,6 +23,24 @@ const SIZE_CONFIG = {
23
23
  fontSize: 16
24
24
  }
25
25
  };
26
+ const MIN_NUMERIC_ICON_BOX = 22;
27
+
28
+ /**
29
+ * Resolve a `size` prop (preset name or raw pixel diameter) to concrete pixel
30
+ * geometry. Mirrors the native `resolveSize` exactly so a numeric size renders
31
+ * identically on both platforms. A numeric size sets the diameter directly and
32
+ * derives the icon box as `round(size * 0.5)` (clamped to a sensible minimum).
33
+ */
34
+ function resolveSize(size) {
35
+ if (typeof size === 'number') {
36
+ return {
37
+ diameter: size,
38
+ iconBox: Math.max(MIN_NUMERIC_ICON_BOX, Math.round(size * 0.5)),
39
+ fontSize: Math.max(13, Math.round(size * 0.27))
40
+ };
41
+ }
42
+ return SIZE_CONFIG[size];
43
+ }
26
44
  const PILL_RADIUS = 999;
27
45
  const PRESS_SCALE = 0.94;
28
46
  const DEFAULT_OFFSET = 16;
@@ -178,7 +196,7 @@ const FabWebComponent = ({
178
196
  const theme = useTheme();
179
197
  const reactId = useId();
180
198
  const resolvedId = id ?? `bloom-fab-${reactId}`;
181
- const sizeConfig = SIZE_CONFIG[size];
199
+ const sizeConfig = useMemo(() => resolveSize(size), [size]);
182
200
  const isExtended = label != null && label.length > 0;
183
201
  const content = icon ?? children;
184
202
  const variantColors = useMemo(() => resolveVariant(variant, theme.colors), [variant, theme.colors]);
@@ -203,13 +221,14 @@ const FabWebComponent = ({
203
221
  ...placementStyle(placement, offset)
204
222
  };
205
223
  if (isExtended) {
206
- base.paddingLeft = size === 'small' ? 14 : 20;
207
- base.paddingRight = size === 'small' ? 14 : 20;
224
+ const pad = sizeConfig.diameter <= 44 ? 14 : 20;
225
+ base.paddingLeft = pad;
226
+ base.paddingRight = pad;
208
227
  } else {
209
228
  base.width = sizeConfig.diameter;
210
229
  }
211
230
  return base;
212
- }, [variantColors, sizeConfig.diameter, sizeConfig.fontSize, zIndex, restShadow, hoverShadow, placement, offset, isExtended, size]);
231
+ }, [variantColors, sizeConfig.diameter, sizeConfig.fontSize, zIndex, restShadow, hoverShadow, placement, offset, isExtended]);
213
232
  const handleClick = useCallback(event => {
214
233
  if (disabled) {
215
234
  event.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useCallback","useEffect","useId","useMemo","useTheme","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","PILL_RADIUS","PRESS_SCALE","DEFAULT_OFFSET","DEFAULT_Z_INDEX","STYLE_ID","BLOOM_FAB_CSS","useFabCss","document","getElementById","style","createElement","id","textContent","head","appendChild","placementStyle","placement","offset","position","isBottom","bottom","marginTop","top","alignSelf","marginRight","marginLeft","resolveVariant","variant","c","background","card","foreground","text","ring","primary","primaryForeground","FabWebComponent","onPress","onClick","icon","children","label","size","disabled","accessibilityLabel","ariaLabelProp","accessibilityHint","labelStyle","className","testID","zIndex","title","type","theme","reactId","resolvedId","sizeConfig","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","base","backgroundColor","color","borderRadius","height","boxShadow","fontWeight","paddingLeft","paddingRight","width","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","undefined","display","alignItems","justifyContent","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useCallback","useEffect","useId","useMemo","useTheme","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","diameter","iconBox","fontSize","medium","large","MIN_NUMERIC_ICON_BOX","resolveSize","size","Math","max","round","PILL_RADIUS","PRESS_SCALE","DEFAULT_OFFSET","DEFAULT_Z_INDEX","STYLE_ID","BLOOM_FAB_CSS","useFabCss","document","getElementById","style","createElement","id","textContent","head","appendChild","placementStyle","placement","offset","position","isBottom","bottom","marginTop","top","alignSelf","marginRight","marginLeft","resolveVariant","variant","c","background","card","foreground","text","ring","primary","primaryForeground","FabWebComponent","onPress","onClick","icon","children","label","disabled","accessibilityLabel","ariaLabelProp","accessibilityHint","labelStyle","className","testID","zIndex","title","type","theme","reactId","resolvedId","sizeConfig","isExtended","length","content","variantColors","colors","restShadow","shadow","hoverShadow","containerStyle","base","backgroundColor","color","borderRadius","height","boxShadow","fontWeight","pad","paddingLeft","paddingRight","width","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","undefined","display","alignItems","justifyContent","Fab","displayName"],"sourceRoot":"../../../src","sources":["fab/Fab.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -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";
@@ -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;AAWjB,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,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":[]}
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","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,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAWjB,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":[]}
@@ -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;AAW3B,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,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":[]}
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","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,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAW3B,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,293 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { Pressable, StyleSheet, useWindowDimensions, View } from 'react-native';
5
+ import { Z_INDEX } from "../styles/z-index.js";
6
+ import { useTheme } from "../theme/use-theme.js";
7
+ import { ANIMATION_DURATION, BACKDROP_OPACITY, DEFAULT_BREAKPOINT, DEFAULT_LABEL, DEFAULT_MAX_HEIGHT_RATIO, DEFAULT_SIDE, DEFAULT_WIDTH, EASE_OUT, HANDLE_HEIGHT, HANDLE_RADIUS, HANDLE_WIDTH, PANEL_RADIUS, SIDE_SHEET_MIN_GUTTER } from "./const.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ /** Stable testID for the dimmed backdrop dismiss button. */
10
+ export const RESPONSIVE_SHEET_BACKDROP_TESTID = 'bloom-responsive-sheet-backdrop';
11
+
12
+ /**
13
+ * Default / web variant of `<ResponsiveSheet>`.
14
+ *
15
+ * This file is BOTH the package's default entry (`react-native` export
16
+ * condition resolves it for downstream `tsc`, and non-Metro web bundlers pick
17
+ * it via the `browser` condition through `index.web`) AND the canonical web
18
+ * implementation. It MUST NOT import `react-native-reanimated` — reanimated has
19
+ * no web build and its worklets Babel plugin is native-only, so a static import
20
+ * here would break every web bundler and downstream type-check. The native
21
+ * fork (`ResponsiveSheet.native.tsx`, selected only by Metro) drives the same
22
+ * motion with reanimated.
23
+ *
24
+ * Motion is pure CSS transitions: react-native-web emits `transition-*` style
25
+ * props to the DOM, and the panel/backdrop toggle their transform/opacity by a
26
+ * `shown` flag. Presence is handled with a `mounted` + `shown` pair so both the
27
+ * open AND close directions animate while the node stays mounted through the
28
+ * exit. We deliberately do NOT use reanimated `exiting` on web — concurrent
29
+ * React unmounts there throw `Failed to execute 'removeChild' on 'Node'`, the
30
+ * exact bug this component exists to avoid.
31
+ */
32
+ export function ResponsiveSheet({
33
+ open,
34
+ onClose,
35
+ side = DEFAULT_SIDE,
36
+ breakpoint = DEFAULT_BREAKPOINT,
37
+ width = DEFAULT_WIDTH,
38
+ maxHeightRatio = DEFAULT_MAX_HEIGHT_RATIO,
39
+ inset,
40
+ showHandle = true,
41
+ dismissOnBackdrop = true,
42
+ panelStyle,
43
+ panelClassName,
44
+ containerStyle,
45
+ containerClassName,
46
+ label = DEFAULT_LABEL,
47
+ children
48
+ }) {
49
+ const theme = useTheme();
50
+ const {
51
+ width: viewportWidth,
52
+ height: viewportHeight
53
+ } = useWindowDimensions();
54
+
55
+ // Presence: `mounted` keeps the node in the tree through the exit transition;
56
+ // `shown` drives the enter/exit transform & opacity. On open we mount first,
57
+ // then flip `shown` on the next frame so the browser registers the start
58
+ // state and animates to the end. On close we flip `shown` off, then unmount
59
+ // after the transition duration.
60
+ const [mounted, setMounted] = useState(open);
61
+ const [shown, setShown] = useState(false);
62
+ const closeTimerRef = useRef(null);
63
+ const frameRef = useRef(null);
64
+ useEffect(() => {
65
+ if (open) {
66
+ if (closeTimerRef.current) {
67
+ clearTimeout(closeTimerRef.current);
68
+ closeTimerRef.current = null;
69
+ }
70
+ setMounted(true);
71
+ // Defer to the next frame so the entry start state paints before we
72
+ // transition to the shown state. Two frames guarantees the start
73
+ // transform has committed before the toggle (a single frame can be
74
+ // coalesced with the mount paint in some browsers).
75
+ frameRef.current = scheduleFrame(() => {
76
+ frameRef.current = scheduleFrame(() => setShown(true));
77
+ });
78
+ return () => {
79
+ if (frameRef.current !== null) {
80
+ cancelFrame(frameRef.current);
81
+ frameRef.current = null;
82
+ }
83
+ };
84
+ }
85
+
86
+ // Closing: only run the exit if something is currently mounted.
87
+ setShown(false);
88
+ if (!mounted) return;
89
+ closeTimerRef.current = setTimeout(() => {
90
+ setMounted(false);
91
+ closeTimerRef.current = null;
92
+ }, ANIMATION_DURATION);
93
+ return () => {
94
+ if (closeTimerRef.current) {
95
+ clearTimeout(closeTimerRef.current);
96
+ closeTimerRef.current = null;
97
+ }
98
+ };
99
+ }, [open, mounted]);
100
+
101
+ // Escape-to-close while open (web only; document is undefined elsewhere).
102
+ useEffect(() => {
103
+ if (!open || typeof document === 'undefined') return;
104
+ const handler = e => {
105
+ if (e.key === 'Escape') {
106
+ e.stopPropagation();
107
+ onClose();
108
+ }
109
+ };
110
+ document.addEventListener('keydown', handler);
111
+ return () => document.removeEventListener('keydown', handler);
112
+ }, [open, onClose]);
113
+ const handleBackdropPress = useCallback(() => {
114
+ if (dismissOnBackdrop) onClose();
115
+ }, [dismissOnBackdrop, onClose]);
116
+ const isBottom = viewportWidth < breakpoint;
117
+ const panelBackground = theme.colors.background;
118
+ const panelTransition = useMemo(() => ({
119
+ transitionProperty: 'transform, opacity',
120
+ transitionDuration: `${ANIMATION_DURATION}ms`,
121
+ transitionTimingFunction: EASE_OUT
122
+ }), []);
123
+ const backdropTransition = useMemo(() => ({
124
+ transitionProperty: 'opacity',
125
+ transitionDuration: `${ANIMATION_DURATION}ms`,
126
+ transitionTimingFunction: EASE_OUT
127
+ }), []);
128
+ const panelGeometry = useMemo(() => {
129
+ if (isBottom) {
130
+ return {
131
+ left: 0,
132
+ right: 0,
133
+ bottom: 0,
134
+ maxHeight: Math.round(viewportHeight * maxHeightRatio),
135
+ borderTopLeftRadius: PANEL_RADIUS,
136
+ borderTopRightRadius: PANEL_RADIUS,
137
+ transform: [{
138
+ translateY: shown ? 0 : '100%'
139
+ }],
140
+ opacity: shown ? 1 : 0
141
+ };
142
+ }
143
+
144
+ // Side-sheet: full height minus top/bottom inset, anchored to `side`,
145
+ // offset by the matching horizontal inset. Width is capped so the panel
146
+ // always leaves a gutter on the opposite edge.
147
+ const insetTop = inset?.top ?? 0;
148
+ const insetBottom = inset?.bottom ?? 0;
149
+ const insetLeft = inset?.left ?? 0;
150
+ const insetRight = inset?.right ?? 0;
151
+ const anchorInset = side === 'left' ? insetLeft : insetRight;
152
+ const oppositeInset = side === 'left' ? insetRight : insetLeft;
153
+ const available = viewportWidth - anchorInset - oppositeInset - SIDE_SHEET_MIN_GUTTER;
154
+ const cappedWidth = Math.max(0, Math.min(width, available));
155
+ const hiddenSign = side === 'left' ? '-100%' : '100%';
156
+ return {
157
+ top: insetTop,
158
+ bottom: insetBottom,
159
+ [side]: anchorInset,
160
+ width: cappedWidth,
161
+ borderRadius: PANEL_RADIUS,
162
+ transform: [{
163
+ translateX: shown ? 0 : hiddenSign
164
+ }],
165
+ opacity: shown ? 1 : 0
166
+ };
167
+ }, [isBottom, shown, side, width, inset, viewportWidth, viewportHeight, maxHeightRatio]);
168
+ if (!mounted) return null;
169
+ return /*#__PURE__*/_jsxs(View, {
170
+ style: [styles.root, containerStyle]
171
+ // NativeWind reads `className` at runtime; RN core does not type it on
172
+ // View, so spread it conditionally (matching the Button/Fab pattern).
173
+ ,
174
+ ...(containerClassName ? {
175
+ className: containerClassName
176
+ } : {}),
177
+ pointerEvents: "box-none",
178
+ children: [/*#__PURE__*/_jsx(Pressable, {
179
+ testID: RESPONSIVE_SHEET_BACKDROP_TESTID,
180
+ accessibilityRole: "button",
181
+ accessibilityLabel: `Dismiss ${label}`,
182
+ onPress: handleBackdropPress,
183
+ disabled: !dismissOnBackdrop,
184
+ style: [styles.backdrop, backdropTransition, {
185
+ opacity: shown ? BACKDROP_OPACITY : 0
186
+ }, isWeb ? webBackdropBlur : null]
187
+ }), /*#__PURE__*/_jsxs(View, {
188
+ accessibilityViewIsModal: true,
189
+ "aria-label": label,
190
+ ...(panelClassName ? {
191
+ className: panelClassName
192
+ } : {}),
193
+ style: [styles.panel, {
194
+ backgroundColor: panelBackground,
195
+ shadowColor: theme.colors.shadow
196
+ }, panelGeometry, panelTransition, panelStyle],
197
+ pointerEvents: "auto",
198
+ children: [isBottom && showHandle ? /*#__PURE__*/_jsx(View, {
199
+ style: styles.handleRow,
200
+ pointerEvents: "none",
201
+ children: /*#__PURE__*/_jsx(View, {
202
+ style: [styles.handle, {
203
+ backgroundColor: theme.colors.border
204
+ }]
205
+ })
206
+ }) : null, children]
207
+ })]
208
+ });
209
+ }
210
+
211
+ // This module is the web/default impl, but it is also the fallback resolved by
212
+ // a downstream consumer's `tsc` for the native target, so guard the web-only
213
+ // `backdrop-blur` style behind a runtime check rather than assuming web.
214
+ const isWeb = typeof document !== 'undefined';
215
+
216
+ /**
217
+ * Opaque token returned by `scheduleFrame`. `requestAnimationFrame` returns a
218
+ * number; the `setTimeout` fallback returns a timer handle — both are kept so
219
+ * `cancelFrame` can route to the matching canceller.
220
+ */
221
+
222
+ /**
223
+ * Schedule a callback for the next paint. Uses `requestAnimationFrame` in the
224
+ * browser; degrades to a 0ms timeout when rAF is unavailable (SSR/hydration,
225
+ * non-DOM test envs) so the enter transition's `shown` flip still fires.
226
+ */
227
+ function scheduleFrame(cb) {
228
+ if (typeof requestAnimationFrame === 'function') {
229
+ return {
230
+ raf: requestAnimationFrame(cb)
231
+ };
232
+ }
233
+ return {
234
+ timer: setTimeout(cb, 0)
235
+ };
236
+ }
237
+ function cancelFrame(token) {
238
+ if ('raf' in token) {
239
+ if (typeof cancelAnimationFrame === 'function') cancelAnimationFrame(token.raf);
240
+ return;
241
+ }
242
+ clearTimeout(token.timer);
243
+ }
244
+
245
+ // `backdrop-filter` is web-only; react-native-web passes it through to the DOM.
246
+ const webBackdropBlur = {
247
+ backdropFilter: 'blur(2px)'
248
+ };
249
+ const styles = StyleSheet.create({
250
+ root: {
251
+ // `position: fixed` pins the overlay to the viewport on web; react-native
252
+ // does not type `'fixed'`, so cast to the RN-accepted `'absolute'`. On
253
+ // native the `.native` fork uses `StyleSheet.absoluteFill` instead.
254
+ position: 'fixed',
255
+ top: 0,
256
+ left: 0,
257
+ right: 0,
258
+ bottom: 0,
259
+ zIndex: Z_INDEX.fullscreen
260
+ },
261
+ backdrop: {
262
+ position: 'absolute',
263
+ top: 0,
264
+ left: 0,
265
+ right: 0,
266
+ bottom: 0,
267
+ backgroundColor: '#000'
268
+ },
269
+ panel: {
270
+ position: 'absolute',
271
+ overflow: 'hidden',
272
+ shadowOpacity: 0.18,
273
+ shadowRadius: 24,
274
+ shadowOffset: {
275
+ width: 0,
276
+ height: 8
277
+ }
278
+ },
279
+ handleRow: {
280
+ width: '100%',
281
+ alignItems: 'center',
282
+ paddingTop: 8,
283
+ paddingBottom: 4
284
+ },
285
+ handle: {
286
+ width: HANDLE_WIDTH,
287
+ height: HANDLE_HEIGHT,
288
+ borderRadius: HANDLE_RADIUS,
289
+ opacity: 0.5
290
+ }
291
+ });
292
+ export default ResponsiveSheet;
293
+ //# sourceMappingURL=ResponsiveSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","Pressable","StyleSheet","useWindowDimensions","View","Z_INDEX","useTheme","ANIMATION_DURATION","BACKDROP_OPACITY","DEFAULT_BREAKPOINT","DEFAULT_LABEL","DEFAULT_MAX_HEIGHT_RATIO","DEFAULT_SIDE","DEFAULT_WIDTH","EASE_OUT","HANDLE_HEIGHT","HANDLE_RADIUS","HANDLE_WIDTH","PANEL_RADIUS","SIDE_SHEET_MIN_GUTTER","jsx","_jsx","jsxs","_jsxs","RESPONSIVE_SHEET_BACKDROP_TESTID","ResponsiveSheet","open","onClose","side","breakpoint","width","maxHeightRatio","inset","showHandle","dismissOnBackdrop","panelStyle","panelClassName","containerStyle","containerClassName","label","children","theme","viewportWidth","height","viewportHeight","mounted","setMounted","shown","setShown","closeTimerRef","frameRef","current","clearTimeout","scheduleFrame","cancelFrame","setTimeout","document","handler","e","key","stopPropagation","addEventListener","removeEventListener","handleBackdropPress","isBottom","panelBackground","colors","background","panelTransition","transitionProperty","transitionDuration","transitionTimingFunction","backdropTransition","panelGeometry","left","right","bottom","maxHeight","Math","round","borderTopLeftRadius","borderTopRightRadius","transform","translateY","opacity","insetTop","top","insetBottom","insetLeft","insetRight","anchorInset","oppositeInset","available","cappedWidth","max","min","hiddenSign","borderRadius","translateX","style","styles","root","className","pointerEvents","testID","accessibilityRole","accessibilityLabel","onPress","disabled","backdrop","isWeb","webBackdropBlur","accessibilityViewIsModal","panel","backgroundColor","shadowColor","shadow","handleRow","handle","border","cb","requestAnimationFrame","raf","timer","token","cancelAnimationFrame","backdropFilter","create","position","zIndex","fullscreen","overflow","shadowOpacity","shadowRadius","shadowOffset","alignItems","paddingTop","paddingBottom"],"sourceRoot":"../../../src","sources":["responsive-sheet/ResponsiveSheet.tsx"],"mappings":"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","ignoreList":[]}