@yahoo/uds 3.116.1 → 3.116.3

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 (33) hide show
  1. package/dist/components/Scrim.cjs +0 -2
  2. package/dist/components/Scrim.js +0 -2
  3. package/dist/components/client/BottomSheet/BottomSheet.cjs +37 -8
  4. package/dist/components/client/BottomSheet/BottomSheet.js +38 -9
  5. package/dist/components/client/BottomSheet/BottomSheetContent.cjs +4 -2
  6. package/dist/components/client/BottomSheet/BottomSheetContent.js +4 -2
  7. package/dist/components/client/BottomSheet/BottomSheetInternalContext.cjs +15 -0
  8. package/dist/components/client/BottomSheet/BottomSheetInternalContext.d.cts +12 -0
  9. package/dist/components/client/BottomSheet/BottomSheetInternalContext.d.ts +12 -0
  10. package/dist/components/client/BottomSheet/BottomSheetInternalContext.js +12 -0
  11. package/dist/styles/styler.d.cts +85 -85
  12. package/dist/styles/styler.d.ts +85 -85
  13. package/dist/tailwind/dist/css/generate.cjs +6 -0
  14. package/dist/tailwind/dist/css/generate.helpers.cjs +5 -1
  15. package/dist/tailwind/dist/css/generate.helpers.js +5 -1
  16. package/dist/tailwind/dist/css/generate.js +6 -0
  17. package/dist/tailwind/dist/css/nodeUtils.cjs +2 -1
  18. package/dist/tailwind/dist/css/nodeUtils.js +2 -1
  19. package/dist/tailwind/dist/purger/optimized/ast/expressions.cjs +103 -1
  20. package/dist/tailwind/dist/purger/optimized/ast/expressions.js +102 -2
  21. package/dist/tailwind/dist/purger/optimized/ast/jsx.cjs +7 -1
  22. package/dist/tailwind/dist/purger/optimized/ast/jsx.js +7 -1
  23. package/dist/tailwind/dist/purger/optimized/purgeFromCode.cjs +18 -13
  24. package/dist/tailwind/dist/purger/optimized/purgeFromCode.js +18 -13
  25. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.cjs +2 -1
  26. package/dist/tailwind/dist/purger/optimized/utils/componentAnalyzer.js +2 -1
  27. package/dist/uds/generated/componentData.cjs +1124 -1105
  28. package/dist/uds/generated/componentData.js +1077 -1064
  29. package/dist/uds/generated/tailwindPurge.cjs +7 -7
  30. package/dist/uds/generated/tailwindPurge.js +7 -7
  31. package/generated/componentData.json +1610 -1595
  32. package/generated/tailwindPurge.ts +2 -2
  33. package/package.json +1 -1
@@ -1,6 +1,4 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- 'use client';
3
-
4
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
3
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
6
4
  const require_styles_styler = require('../styles/styler.cjs');
@@ -1,6 +1,4 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- 'use client';
3
-
4
2
  import { cx, getStyles } from "../styles/styler.js";
5
3
  import { Box } from "./Box.js";
6
4
  import { forwardRef } from "react";
@@ -6,6 +6,7 @@ const require_styles_styler = require('../../../styles/styler.cjs');
6
6
  const require_components_Box = require('../../Box.cjs');
7
7
  const require_components_Scrim = require('../../Scrim.cjs');
8
8
  const require_components_client_BottomSheet_BottomSheetHandle = require('./BottomSheetHandle.cjs');
9
+ const require_components_client_BottomSheet_BottomSheetInternalContext = require('./BottomSheetInternalContext.cjs');
9
10
  const require_components_client_BottomSheet_UDSBottomSheetConfigProvider = require('./UDSBottomSheetConfigProvider.cjs');
10
11
  const require_components_client_BottomSheet_useBottomSheetDrag = require('./useBottomSheetDrag.cjs');
11
12
  const require_components_client_BottomSheet_useBottomSheetSnapModel = require('./useBottomSheetSnapModel.cjs');
@@ -44,7 +45,15 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
44
45
  forceZeroMarginsRef.current = keyboardHeightPx > 0;
45
46
  const sheetRef = (0, react.useRef)(null);
46
47
  const maxSnapPxRef = (0, react.useRef)(0);
48
+ const sheetHeightRef = (0, react.useRef)(void 0);
49
+ const wasOpenRef = (0, react.useRef)(false);
50
+ if (isOpen && !wasOpenRef.current) sheetHeightRef.current = void 0;
51
+ wasOpenRef.current = isOpen;
47
52
  const maxHeightPx = Math.max(viewportHeightPx - SHEET_MAX_HEIGHT_TOP_OFFSET_PX, 0);
53
+ const applySheetHeight = (0, react.useCallback)((el, h) => {
54
+ el.style.height = h;
55
+ sheetHeightRef.current = h;
56
+ }, []);
48
57
  const rootVariantClass = require_styles_styler.getStyles({ bottomsheetVariantRoot: variant });
49
58
  const { applyExpansionMargins, thresholdRef: expansionThresholdRef } = require_components_client_BottomSheet_useExpansionMargins.useExpansionMargins({
50
59
  sheetRef,
@@ -62,9 +71,9 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
62
71
  const setTranslateImmediate = (0, react.useCallback)((nextTranslatePx) => {
63
72
  const el = sheetRef.current;
64
73
  if (!el) return;
65
- el.style.height = `${maxSnapPxRef.current - nextTranslatePx}px`;
74
+ applySheetHeight(el, `${maxSnapPxRef.current - nextTranslatePx}px`);
66
75
  applyExpansionMargins(el, nextTranslatePx);
67
- }, [applyExpansionMargins]);
76
+ }, [applySheetHeight, applyExpansionMargins]);
68
77
  const { resolvedSnapPoints, snapPointsPx, maxSnapPointPx, snapPointTranslatesPx, activeSnapIndex, restTranslatePx, emitSnapPointChange, openTimeRef, lastTimeDragPreventedRef, isEnteringRef } = require_components_client_BottomSheet_useBottomSheetSnapModel.useBottomSheetSnapModel({
69
78
  isOpen,
70
79
  snapPointsProp,
@@ -77,16 +86,16 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
77
86
  setTranslateAnimated: (0, react.useCallback)((nextTranslatePx) => {
78
87
  const el = sheetRef.current;
79
88
  if (!el) return;
80
- const nextHeightPx = maxSnapPxRef.current - nextTranslatePx;
89
+ const h = `${maxSnapPxRef.current - nextTranslatePx}px`;
81
90
  if (!el.style.height) {
82
- el.style.height = `${nextHeightPx}px`;
91
+ applySheetHeight(el, h);
83
92
  applyExpansionMargins(el, nextTranslatePx);
84
93
  } else {
85
94
  const easing = "cubic-bezier(0.32, 0.72, 0, 1)";
86
95
  let transition = `height 500ms ${easing}`;
87
96
  if (expansionThresholdRef.current != null) transition += `, margin-left 500ms ${easing}, margin-right 500ms ${easing}, margin-bottom 500ms ${easing}`;
88
97
  el.style.transition = transition;
89
- el.style.height = `${nextHeightPx}px`;
98
+ applySheetHeight(el, h);
90
99
  applyExpansionMargins(el, nextTranslatePx);
91
100
  const cleanup = () => {
92
101
  el.style.removeProperty("transition");
@@ -94,7 +103,11 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
94
103
  };
95
104
  el.addEventListener("transitionend", cleanup);
96
105
  }
97
- }, [applyExpansionMargins, expansionThresholdRef]),
106
+ }, [
107
+ applySheetHeight,
108
+ applyExpansionMargins,
109
+ expansionThresholdRef
110
+ ]),
98
111
  isDraggingRef
99
112
  });
100
113
  maxSnapPxRef.current = maxSnapPointPx;
@@ -103,6 +116,8 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
103
116
  const resolvedDismissThresholdPx = (snapPointsPx[0] ?? maxSnapPointPx) * DRAG_DISMISS_THRESHOLD_RATIO;
104
117
  const shouldShowHandleIndicator = showHandleIndicator && enableDrag;
105
118
  const isAtMaxSnapPoint = activeSnapIndex === resolvedSnapPoints.length - 1;
119
+ const scrollLocked = !isAtMaxSnapPoint;
120
+ const internalContextValue = (0, react.useMemo)(() => ({ scrollLocked }), [scrollLocked]);
106
121
  const shouldHideEdgeBordersAtMaxSnap = fullWidthAtMaxSnap && resolvedSnapPoints.length >= 2 && isAtMaxSnapPoint;
107
122
  const handleHandleIndicatorKeyDown = (0, react.useCallback)((event) => {
108
123
  if (!shouldShowHandleIndicator || resolvedSnapPoints.length <= 1) return;
@@ -153,6 +168,11 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
153
168
  isOpen,
154
169
  applyExpansionMargins
155
170
  ]);
171
+ (0, react.useLayoutEffect)(() => {
172
+ const el = sheetRef.current;
173
+ if (!el || !sheetHeightRef.current) return;
174
+ if (!el.style.height) el.style.height = sheetHeightRef.current;
175
+ });
156
176
  const dialogBackdrop = modal ? backdrop ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Scrim.Scrim, {
157
177
  className: slotProps?.scrim?.className,
158
178
  animateOpacity: true
@@ -172,8 +192,9 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
172
192
  portalElement,
173
193
  preventBodyScroll: preventBodyScroll ?? (modal ? void 0 : false),
174
194
  "data-testid": "bottom-sheet",
175
- className: require_styles_styler.cx("fixed overflow-hidden inset-x-0 bottom-0 z-50", keyboardHeightPx > 0 ? void 0 : "bottom-0", "[will-change:transform] touch-none", "[transform:translate3d(0,var(--uds-bottomsheet-hidden-translate),0)]", "data-[enter]:[transform:translate3d(0,var(--uds-bottomsheet-visible-translate),0)]", "transition-transform duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]", "motion-reduce:transition-none", sheetClassName, rootVariantClass),
195
+ className: require_styles_styler.cx("fixed overflow-hidden inset-x-0 bottom-0 z-50", keyboardHeightPx > 0 ? void 0 : "bottom-0", scrollLocked ? "[will-change:transform] touch-none" : "[will-change:transform]", "[transform:translate3d(0,var(--uds-bottomsheet-hidden-translate),0)]", "data-[enter]:[transform:translate3d(0,var(--uds-bottomsheet-visible-translate),0)]", "transition-transform duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]", "motion-reduce:transition-none", sheetClassName, rootVariantClass),
176
196
  style: {
197
+ height: sheetHeightRef.current,
177
198
  maxHeight: maxHeightPx ? `${maxHeightPx}px` : void 0,
178
199
  ...shouldHideEdgeBordersAtMaxSnap ? {
179
200
  borderBottomWidth: 0,
@@ -200,7 +221,15 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
200
221
  ariaLabel: "Resize sheet",
201
222
  className: slotProps?.handleIndicator?.className
202
223
  })
203
- }), children]
224
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_BottomSheet_BottomSheetInternalContext.BottomSheetInternalContext.Provider, {
225
+ value: internalContextValue,
226
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Box.Box, {
227
+ display: "flex",
228
+ flexDirection: "column",
229
+ className: "absolute inset-0 min-h-0 p-[inherit]",
230
+ children
231
+ })
232
+ })]
204
233
  });
205
234
  }
206
235
  BottomSheet.displayName = "BottomSheet";
@@ -4,6 +4,7 @@ import { cx, getStyles } from "../../../styles/styler.js";
4
4
  import { Box } from "../../Box.js";
5
5
  import { Scrim } from "../../Scrim.js";
6
6
  import { BottomSheetHandle } from "./BottomSheetHandle.js";
7
+ import { BottomSheetInternalContext } from "./BottomSheetInternalContext.js";
7
8
  import { useBottomSheetConfig } from "./UDSBottomSheetConfigProvider.js";
8
9
  import { useBottomSheetDrag } from "./useBottomSheetDrag.js";
9
10
  import { useBottomSheetSnapModel } from "./useBottomSheetSnapModel.js";
@@ -11,7 +12,7 @@ import { getBottomSheetInternal } from "./useBottomSheetStore.js";
11
12
  import { useExpansionMargins } from "./useExpansionMargins.js";
12
13
  import { useViewportHeight } from "./useViewportHeight.js";
13
14
  import { useVirtualKeyboard } from "./useVirtualKeyboard.js";
14
- import { useCallback, useEffect, useRef } from "react";
15
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from "react";
15
16
  import { jsx, jsxs } from "react/jsx-runtime";
16
17
  import { Dialog, useDialogContext } from "@ariakit/react";
17
18
 
@@ -42,7 +43,15 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
42
43
  forceZeroMarginsRef.current = keyboardHeightPx > 0;
43
44
  const sheetRef = useRef(null);
44
45
  const maxSnapPxRef = useRef(0);
46
+ const sheetHeightRef = useRef(void 0);
47
+ const wasOpenRef = useRef(false);
48
+ if (isOpen && !wasOpenRef.current) sheetHeightRef.current = void 0;
49
+ wasOpenRef.current = isOpen;
45
50
  const maxHeightPx = Math.max(viewportHeightPx - SHEET_MAX_HEIGHT_TOP_OFFSET_PX, 0);
51
+ const applySheetHeight = useCallback((el, h) => {
52
+ el.style.height = h;
53
+ sheetHeightRef.current = h;
54
+ }, []);
46
55
  const rootVariantClass = getStyles({ bottomsheetVariantRoot: variant });
47
56
  const { applyExpansionMargins, thresholdRef: expansionThresholdRef } = useExpansionMargins({
48
57
  sheetRef,
@@ -60,9 +69,9 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
60
69
  const setTranslateImmediate = useCallback((nextTranslatePx) => {
61
70
  const el = sheetRef.current;
62
71
  if (!el) return;
63
- el.style.height = `${maxSnapPxRef.current - nextTranslatePx}px`;
72
+ applySheetHeight(el, `${maxSnapPxRef.current - nextTranslatePx}px`);
64
73
  applyExpansionMargins(el, nextTranslatePx);
65
- }, [applyExpansionMargins]);
74
+ }, [applySheetHeight, applyExpansionMargins]);
66
75
  const { resolvedSnapPoints, snapPointsPx, maxSnapPointPx, snapPointTranslatesPx, activeSnapIndex, restTranslatePx, emitSnapPointChange, openTimeRef, lastTimeDragPreventedRef, isEnteringRef } = useBottomSheetSnapModel({
67
76
  isOpen,
68
77
  snapPointsProp,
@@ -75,16 +84,16 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
75
84
  setTranslateAnimated: useCallback((nextTranslatePx) => {
76
85
  const el = sheetRef.current;
77
86
  if (!el) return;
78
- const nextHeightPx = maxSnapPxRef.current - nextTranslatePx;
87
+ const h = `${maxSnapPxRef.current - nextTranslatePx}px`;
79
88
  if (!el.style.height) {
80
- el.style.height = `${nextHeightPx}px`;
89
+ applySheetHeight(el, h);
81
90
  applyExpansionMargins(el, nextTranslatePx);
82
91
  } else {
83
92
  const easing = "cubic-bezier(0.32, 0.72, 0, 1)";
84
93
  let transition = `height 500ms ${easing}`;
85
94
  if (expansionThresholdRef.current != null) transition += `, margin-left 500ms ${easing}, margin-right 500ms ${easing}, margin-bottom 500ms ${easing}`;
86
95
  el.style.transition = transition;
87
- el.style.height = `${nextHeightPx}px`;
96
+ applySheetHeight(el, h);
88
97
  applyExpansionMargins(el, nextTranslatePx);
89
98
  const cleanup = () => {
90
99
  el.style.removeProperty("transition");
@@ -92,7 +101,11 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
92
101
  };
93
102
  el.addEventListener("transitionend", cleanup);
94
103
  }
95
- }, [applyExpansionMargins, expansionThresholdRef]),
104
+ }, [
105
+ applySheetHeight,
106
+ applyExpansionMargins,
107
+ expansionThresholdRef
108
+ ]),
96
109
  isDraggingRef
97
110
  });
98
111
  maxSnapPxRef.current = maxSnapPointPx;
@@ -101,6 +114,8 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
101
114
  const resolvedDismissThresholdPx = (snapPointsPx[0] ?? maxSnapPointPx) * DRAG_DISMISS_THRESHOLD_RATIO;
102
115
  const shouldShowHandleIndicator = showHandleIndicator && enableDrag;
103
116
  const isAtMaxSnapPoint = activeSnapIndex === resolvedSnapPoints.length - 1;
117
+ const scrollLocked = !isAtMaxSnapPoint;
118
+ const internalContextValue = useMemo(() => ({ scrollLocked }), [scrollLocked]);
104
119
  const shouldHideEdgeBordersAtMaxSnap = fullWidthAtMaxSnap && resolvedSnapPoints.length >= 2 && isAtMaxSnapPoint;
105
120
  const handleHandleIndicatorKeyDown = useCallback((event) => {
106
121
  if (!shouldShowHandleIndicator || resolvedSnapPoints.length <= 1) return;
@@ -151,6 +166,11 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
151
166
  isOpen,
152
167
  applyExpansionMargins
153
168
  ]);
169
+ useLayoutEffect(() => {
170
+ const el = sheetRef.current;
171
+ if (!el || !sheetHeightRef.current) return;
172
+ if (!el.style.height) el.style.height = sheetHeightRef.current;
173
+ });
154
174
  const dialogBackdrop = modal ? backdrop ?? /* @__PURE__ */ jsx(Scrim, {
155
175
  className: slotProps?.scrim?.className,
156
176
  animateOpacity: true
@@ -170,8 +190,9 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
170
190
  portalElement,
171
191
  preventBodyScroll: preventBodyScroll ?? (modal ? void 0 : false),
172
192
  "data-testid": "bottom-sheet",
173
- className: cx("fixed overflow-hidden inset-x-0 bottom-0 z-50", keyboardHeightPx > 0 ? void 0 : "bottom-0", "[will-change:transform] touch-none", "[transform:translate3d(0,var(--uds-bottomsheet-hidden-translate),0)]", "data-[enter]:[transform:translate3d(0,var(--uds-bottomsheet-visible-translate),0)]", "transition-transform duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]", "motion-reduce:transition-none", sheetClassName, rootVariantClass),
193
+ className: cx("fixed overflow-hidden inset-x-0 bottom-0 z-50", keyboardHeightPx > 0 ? void 0 : "bottom-0", scrollLocked ? "[will-change:transform] touch-none" : "[will-change:transform]", "[transform:translate3d(0,var(--uds-bottomsheet-hidden-translate),0)]", "data-[enter]:[transform:translate3d(0,var(--uds-bottomsheet-visible-translate),0)]", "transition-transform duration-500 ease-[cubic-bezier(0.32,0.72,0,1)]", "motion-reduce:transition-none", sheetClassName, rootVariantClass),
174
194
  style: {
195
+ height: sheetHeightRef.current,
175
196
  maxHeight: maxHeightPx ? `${maxHeightPx}px` : void 0,
176
197
  ...shouldHideEdgeBordersAtMaxSnap ? {
177
198
  borderBottomWidth: 0,
@@ -198,7 +219,15 @@ function BottomSheet({ children, className: sheetClassName, controller: controll
198
219
  ariaLabel: "Resize sheet",
199
220
  className: slotProps?.handleIndicator?.className
200
221
  })
201
- }), children]
222
+ }), /* @__PURE__ */ jsx(BottomSheetInternalContext.Provider, {
223
+ value: internalContextValue,
224
+ children: /* @__PURE__ */ jsx(Box, {
225
+ display: "flex",
226
+ flexDirection: "column",
227
+ className: "absolute inset-0 min-h-0 p-[inherit]",
228
+ children
229
+ })
230
+ })]
202
231
  });
203
232
  }
204
233
  BottomSheet.displayName = "BottomSheet";
@@ -5,15 +5,17 @@ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
5
5
  const require_styles_styler = require('../../../styles/styler.cjs');
6
6
  const require_components_Box = require('../../Box.cjs');
7
7
  const require_components_VStack = require('../../VStack.cjs');
8
+ const require_components_client_BottomSheet_BottomSheetInternalContext = require('./BottomSheetInternalContext.cjs');
8
9
  let react_jsx_runtime = require("react/jsx-runtime");
9
10
 
10
11
  //#region src/components/client/BottomSheet/BottomSheetContent.tsx
11
12
  function BottomSheetContent({ children, className }) {
13
+ const scrollLocked = require_components_client_BottomSheet_BottomSheetInternalContext.useBottomSheetInternalContext()?.scrollLocked ?? false;
12
14
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Box.Box, {
13
15
  display: "block",
14
- overflowY: "auto",
16
+ overflowY: scrollLocked ? "hidden" : "auto",
15
17
  flex: "1",
16
- className: require_styles_styler.cx("min-h-0", "touch-pan-y", className),
18
+ className: require_styles_styler.cx("min-h-0", scrollLocked ? void 0 : "touch-pan-y", className),
17
19
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_VStack.VStack, {
18
20
  className: "pb-[calc(env(safe-area-inset-bottom))]",
19
21
  children
@@ -3,15 +3,17 @@
3
3
  import { cx } from "../../../styles/styler.js";
4
4
  import { Box } from "../../Box.js";
5
5
  import { VStack } from "../../VStack.js";
6
+ import { useBottomSheetInternalContext } from "./BottomSheetInternalContext.js";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
 
8
9
  //#region src/components/client/BottomSheet/BottomSheetContent.tsx
9
10
  function BottomSheetContent({ children, className }) {
11
+ const scrollLocked = useBottomSheetInternalContext()?.scrollLocked ?? false;
10
12
  return /* @__PURE__ */ jsx(Box, {
11
13
  display: "block",
12
- overflowY: "auto",
14
+ overflowY: scrollLocked ? "hidden" : "auto",
13
15
  flex: "1",
14
- className: cx("min-h-0", "touch-pan-y", className),
16
+ className: cx("min-h-0", scrollLocked ? void 0 : "touch-pan-y", className),
15
17
  children: /* @__PURE__ */ jsx(VStack, {
16
18
  className: "pb-[calc(env(safe-area-inset-bottom))]",
17
19
  children
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
5
+ let react = require("react");
6
+
7
+ //#region src/components/client/BottomSheet/BottomSheetInternalContext.tsx
8
+ const BottomSheetInternalContext = (0, react.createContext)(null);
9
+ function useBottomSheetInternalContext() {
10
+ return (0, react.useContext)(BottomSheetInternalContext);
11
+ }
12
+
13
+ //#endregion
14
+ exports.BottomSheetInternalContext = BottomSheetInternalContext;
15
+ exports.useBottomSheetInternalContext = useBottomSheetInternalContext;
@@ -0,0 +1,12 @@
1
+
2
+ import * as react from "react";
3
+
4
+ //#region src/components/client/BottomSheet/BottomSheetInternalContext.d.ts
5
+ interface BottomSheetInternalContextValue {
6
+ /** Whether content scrolling is locked (true at non-max snap points). */
7
+ scrollLocked: boolean;
8
+ }
9
+ declare const BottomSheetInternalContext: react.Context<BottomSheetInternalContextValue | null>;
10
+ declare function useBottomSheetInternalContext(): BottomSheetInternalContextValue | null;
11
+ //#endregion
12
+ export { BottomSheetInternalContext, useBottomSheetInternalContext };
@@ -0,0 +1,12 @@
1
+
2
+ import * as react from "react";
3
+
4
+ //#region src/components/client/BottomSheet/BottomSheetInternalContext.d.ts
5
+ interface BottomSheetInternalContextValue {
6
+ /** Whether content scrolling is locked (true at non-max snap points). */
7
+ scrollLocked: boolean;
8
+ }
9
+ declare const BottomSheetInternalContext: react.Context<BottomSheetInternalContextValue | null>;
10
+ declare function useBottomSheetInternalContext(): BottomSheetInternalContextValue | null;
11
+ //#endregion
12
+ export { BottomSheetInternalContext, useBottomSheetInternalContext };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { createContext, useContext } from "react";
4
+
5
+ //#region src/components/client/BottomSheet/BottomSheetInternalContext.tsx
6
+ const BottomSheetInternalContext = createContext(null);
7
+ function useBottomSheetInternalContext() {
8
+ return useContext(BottomSheetInternalContext);
9
+ }
10
+
11
+ //#endregion
12
+ export { BottomSheetInternalContext, useBottomSheetInternalContext };