@yahoo/uds-mobile 2.8.0 → 2.9.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 (320) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +12 -22
  2. package/dist/_virtual/_rolldown/runtime.js +6 -11
  3. package/dist/bin/fixtures/dist/index.mjs +17 -20
  4. package/dist/bin/fonts/dist/index.mjs +22 -13
  5. package/dist/bin/generateTheme.mjs +2 -5
  6. package/dist/bin/mobile/scripts/utils/configToRNMappings.mjs +1 -2
  7. package/dist/bin/modes/dist/index.mjs +1 -2
  8. package/dist/bin/palette/dist/index.mjs +15 -4
  9. package/dist/bin/uds-mobile.mjs +1 -3
  10. package/dist/components/AndroidBackHandler.cjs +3 -5
  11. package/dist/components/AndroidBackHandler.js +1 -2
  12. package/dist/components/AndroidBackHandler.js.map +1 -1
  13. package/dist/components/Avatar.cjs +6 -8
  14. package/dist/components/Avatar.d.cts +2 -2
  15. package/dist/components/Avatar.d.cts.map +1 -1
  16. package/dist/components/Avatar.d.ts +2 -2
  17. package/dist/components/Avatar.d.ts.map +1 -1
  18. package/dist/components/Avatar.js +1 -2
  19. package/dist/components/Avatar.js.map +1 -1
  20. package/dist/components/Badge.cjs +6 -8
  21. package/dist/components/Badge.d.cts +2 -2
  22. package/dist/components/Badge.d.cts.map +1 -1
  23. package/dist/components/Badge.d.ts +2 -2
  24. package/dist/components/Badge.d.ts.map +1 -1
  25. package/dist/components/Badge.js +1 -2
  26. package/dist/components/Badge.js.map +1 -1
  27. package/dist/components/Banner/Banner.cjs +7 -9
  28. package/dist/components/Banner/Banner.d.cts +2 -2
  29. package/dist/components/Banner/Banner.d.cts.map +1 -1
  30. package/dist/components/Banner/Banner.d.ts +2 -2
  31. package/dist/components/Banner/Banner.d.ts.map +1 -1
  32. package/dist/components/Banner/Banner.js +1 -2
  33. package/dist/components/Banner/Banner.js.map +1 -1
  34. package/dist/components/Banner/BannerContent.cjs +3 -5
  35. package/dist/components/Banner/BannerContent.d.cts +2 -2
  36. package/dist/components/Banner/BannerContent.d.cts.map +1 -1
  37. package/dist/components/Banner/BannerContent.d.ts +2 -2
  38. package/dist/components/Banner/BannerContent.d.ts.map +1 -1
  39. package/dist/components/Banner/BannerContent.js +1 -2
  40. package/dist/components/Banner/BannerContent.js.map +1 -1
  41. package/dist/components/Banner/BannerDescription.cjs +4 -6
  42. package/dist/components/Banner/BannerDescription.d.cts +2 -2
  43. package/dist/components/Banner/BannerDescription.d.cts.map +1 -1
  44. package/dist/components/Banner/BannerDescription.d.ts +2 -2
  45. package/dist/components/Banner/BannerDescription.d.ts.map +1 -1
  46. package/dist/components/Banner/BannerDescription.js +1 -2
  47. package/dist/components/Banner/BannerDescription.js.map +1 -1
  48. package/dist/components/Banner/BannerTitle.cjs +4 -6
  49. package/dist/components/Banner/BannerTitle.d.cts +2 -2
  50. package/dist/components/Banner/BannerTitle.d.cts.map +1 -1
  51. package/dist/components/Banner/BannerTitle.d.ts +2 -2
  52. package/dist/components/Banner/BannerTitle.d.ts.map +1 -1
  53. package/dist/components/Banner/BannerTitle.js +1 -2
  54. package/dist/components/Banner/BannerTitle.js.map +1 -1
  55. package/dist/components/Banner/index.cjs +6 -7
  56. package/dist/components/Banner/index.js +1 -2
  57. package/dist/components/Banner/utils.cjs +3 -5
  58. package/dist/components/Banner/utils.js +1 -2
  59. package/dist/components/Banner/utils.js.map +1 -1
  60. package/dist/components/BlurTarget.cjs +3 -5
  61. package/dist/components/BlurTarget.d.cts +2 -2
  62. package/dist/components/BlurTarget.d.cts.map +1 -1
  63. package/dist/components/BlurTarget.d.ts +2 -2
  64. package/dist/components/BlurTarget.d.ts.map +1 -1
  65. package/dist/components/BlurTarget.js +1 -2
  66. package/dist/components/BlurTarget.js.map +1 -1
  67. package/dist/components/BottomSheet/BottomSheet.cjs +16 -18
  68. package/dist/components/BottomSheet/BottomSheet.d.cts +2 -2
  69. package/dist/components/BottomSheet/BottomSheet.d.cts.map +1 -1
  70. package/dist/components/BottomSheet/BottomSheet.d.ts +2 -2
  71. package/dist/components/BottomSheet/BottomSheet.d.ts.map +1 -1
  72. package/dist/components/BottomSheet/BottomSheet.js +1 -2
  73. package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
  74. package/dist/components/BottomSheet/BottomSheetContent.cjs +4 -6
  75. package/dist/components/BottomSheet/BottomSheetContent.d.cts +2 -2
  76. package/dist/components/BottomSheet/BottomSheetContent.d.cts.map +1 -1
  77. package/dist/components/BottomSheet/BottomSheetContent.d.ts +2 -2
  78. package/dist/components/BottomSheet/BottomSheetContent.d.ts.map +1 -1
  79. package/dist/components/BottomSheet/BottomSheetContent.js +1 -2
  80. package/dist/components/BottomSheet/BottomSheetContent.js.map +1 -1
  81. package/dist/components/BottomSheet/BottomSheetDismiss.cjs +4 -6
  82. package/dist/components/BottomSheet/BottomSheetDismiss.d.cts +2 -2
  83. package/dist/components/BottomSheet/BottomSheetDismiss.d.cts.map +1 -1
  84. package/dist/components/BottomSheet/BottomSheetDismiss.d.ts +2 -2
  85. package/dist/components/BottomSheet/BottomSheetDismiss.d.ts.map +1 -1
  86. package/dist/components/BottomSheet/BottomSheetDismiss.js +1 -2
  87. package/dist/components/BottomSheet/BottomSheetDismiss.js.map +1 -1
  88. package/dist/components/BottomSheet/BottomSheetHandle.cjs +5 -7
  89. package/dist/components/BottomSheet/BottomSheetHandle.d.cts +2 -2
  90. package/dist/components/BottomSheet/BottomSheetHandle.d.cts.map +1 -1
  91. package/dist/components/BottomSheet/BottomSheetHandle.d.ts +2 -2
  92. package/dist/components/BottomSheet/BottomSheetHandle.d.ts.map +1 -1
  93. package/dist/components/BottomSheet/BottomSheetHandle.js +1 -2
  94. package/dist/components/BottomSheet/BottomSheetHandle.js.map +1 -1
  95. package/dist/components/BottomSheet/BottomSheetHeader.cjs +4 -6
  96. package/dist/components/BottomSheet/BottomSheetHeader.d.cts +2 -2
  97. package/dist/components/BottomSheet/BottomSheetHeader.d.cts.map +1 -1
  98. package/dist/components/BottomSheet/BottomSheetHeader.d.ts +2 -2
  99. package/dist/components/BottomSheet/BottomSheetHeader.d.ts.map +1 -1
  100. package/dist/components/BottomSheet/BottomSheetHeader.js +1 -2
  101. package/dist/components/BottomSheet/BottomSheetHeader.js.map +1 -1
  102. package/dist/components/BottomSheet/BottomSheetInternalProvider.cjs +3 -5
  103. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.cts +2 -2
  104. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.cts.map +1 -1
  105. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.ts +2 -2
  106. package/dist/components/BottomSheet/BottomSheetInternalProvider.d.ts.map +1 -1
  107. package/dist/components/BottomSheet/BottomSheetInternalProvider.js +1 -2
  108. package/dist/components/BottomSheet/BottomSheetInternalProvider.js.map +1 -1
  109. package/dist/components/BottomSheet/BottomSheetProvider.cjs +4 -6
  110. package/dist/components/BottomSheet/BottomSheetProvider.d.cts +2 -2
  111. package/dist/components/BottomSheet/BottomSheetProvider.d.cts.map +1 -1
  112. package/dist/components/BottomSheet/BottomSheetProvider.d.ts +2 -2
  113. package/dist/components/BottomSheet/BottomSheetProvider.d.ts.map +1 -1
  114. package/dist/components/BottomSheet/BottomSheetProvider.js +1 -2
  115. package/dist/components/BottomSheet/BottomSheetProvider.js.map +1 -1
  116. package/dist/components/BottomSheet/BottomSheetTrigger.cjs +4 -6
  117. package/dist/components/BottomSheet/BottomSheetTrigger.d.cts +2 -2
  118. package/dist/components/BottomSheet/BottomSheetTrigger.d.cts.map +1 -1
  119. package/dist/components/BottomSheet/BottomSheetTrigger.d.ts +2 -2
  120. package/dist/components/BottomSheet/BottomSheetTrigger.d.ts.map +1 -1
  121. package/dist/components/BottomSheet/BottomSheetTrigger.js +1 -2
  122. package/dist/components/BottomSheet/BottomSheetTrigger.js.map +1 -1
  123. package/dist/components/BottomSheet/index.cjs +10 -11
  124. package/dist/components/BottomSheet/index.js +1 -2
  125. package/dist/components/BottomSheet/useBottomSheetDrag.cjs +4 -6
  126. package/dist/components/BottomSheet/useBottomSheetDrag.js +1 -2
  127. package/dist/components/BottomSheet/useBottomSheetDrag.js.map +1 -1
  128. package/dist/components/BottomSheet/useBottomSheetScroll.cjs +4 -6
  129. package/dist/components/BottomSheet/useBottomSheetScroll.d.cts +5 -5
  130. package/dist/components/BottomSheet/useBottomSheetScroll.d.ts +5 -5
  131. package/dist/components/BottomSheet/useBottomSheetScroll.js +1 -2
  132. package/dist/components/BottomSheet/useBottomSheetScroll.js.map +1 -1
  133. package/dist/components/BottomSheet/useBottomSheetSnapModel.cjs +6 -8
  134. package/dist/components/BottomSheet/useBottomSheetSnapModel.js +3 -4
  135. package/dist/components/BottomSheet/useBottomSheetSnapModel.js.map +1 -1
  136. package/dist/components/BottomSheet/useBottomSheetStore.cjs +3 -5
  137. package/dist/components/BottomSheet/useBottomSheetStore.js +1 -2
  138. package/dist/components/BottomSheet/useBottomSheetStore.js.map +1 -1
  139. package/dist/components/BottomSheet/useExpansionMargins.cjs +4 -6
  140. package/dist/components/BottomSheet/useExpansionMargins.js +1 -2
  141. package/dist/components/BottomSheet/useExpansionMargins.js.map +1 -1
  142. package/dist/components/BottomSheet/useKeyboardAvoidance.cjs +3 -5
  143. package/dist/components/BottomSheet/useKeyboardAvoidance.js +1 -2
  144. package/dist/components/BottomSheet/useKeyboardAvoidance.js.map +1 -1
  145. package/dist/components/BottomSheet/utils.cjs +2 -4
  146. package/dist/components/BottomSheet/utils.js +1 -1
  147. package/dist/components/BottomSheet/utils.js.map +1 -1
  148. package/dist/components/Box.cjs +3 -5
  149. package/dist/components/Box.d.cts +2 -2
  150. package/dist/components/Box.d.cts.map +1 -1
  151. package/dist/components/Box.d.ts +2 -2
  152. package/dist/components/Box.d.ts.map +1 -1
  153. package/dist/components/Box.js +1 -2
  154. package/dist/components/Box.js.map +1 -1
  155. package/dist/components/Button.cjs +8 -10
  156. package/dist/components/Button.d.cts +2 -2
  157. package/dist/components/Button.d.cts.map +1 -1
  158. package/dist/components/Button.d.ts +2 -2
  159. package/dist/components/Button.d.ts.map +1 -1
  160. package/dist/components/Button.js +1 -2
  161. package/dist/components/Button.js.map +1 -1
  162. package/dist/components/Checkbox.cjs +9 -11
  163. package/dist/components/Checkbox.d.cts +2 -2
  164. package/dist/components/Checkbox.d.cts.map +1 -1
  165. package/dist/components/Checkbox.d.ts +2 -2
  166. package/dist/components/Checkbox.d.ts.map +1 -1
  167. package/dist/components/Checkbox.js +1 -2
  168. package/dist/components/Checkbox.js.map +1 -1
  169. package/dist/components/Chip.cjs +7 -9
  170. package/dist/components/Chip.d.cts +2 -2
  171. package/dist/components/Chip.d.cts.map +1 -1
  172. package/dist/components/Chip.d.ts +2 -2
  173. package/dist/components/Chip.d.ts.map +1 -1
  174. package/dist/components/Chip.js +1 -2
  175. package/dist/components/Chip.js.map +1 -1
  176. package/dist/components/HStack.cjs +4 -6
  177. package/dist/components/HStack.d.cts +2 -2
  178. package/dist/components/HStack.d.cts.map +1 -1
  179. package/dist/components/HStack.d.ts +2 -2
  180. package/dist/components/HStack.d.ts.map +1 -1
  181. package/dist/components/HStack.js +1 -2
  182. package/dist/components/HStack.js.map +1 -1
  183. package/dist/components/Icon.cjs +3 -5
  184. package/dist/components/Icon.d.cts +2 -2
  185. package/dist/components/Icon.d.cts.map +1 -1
  186. package/dist/components/Icon.d.ts +2 -2
  187. package/dist/components/Icon.d.ts.map +1 -1
  188. package/dist/components/Icon.js +1 -2
  189. package/dist/components/Icon.js.map +1 -1
  190. package/dist/components/IconButton.cjs +7 -9
  191. package/dist/components/IconButton.d.cts +2 -2
  192. package/dist/components/IconButton.d.cts.map +1 -1
  193. package/dist/components/IconButton.d.ts +2 -2
  194. package/dist/components/IconButton.d.ts.map +1 -1
  195. package/dist/components/IconButton.js +1 -2
  196. package/dist/components/IconButton.js.map +1 -1
  197. package/dist/components/IconSlot.cjs +4 -6
  198. package/dist/components/IconSlot.d.cts +2 -2
  199. package/dist/components/IconSlot.d.cts.map +1 -1
  200. package/dist/components/IconSlot.d.ts +2 -2
  201. package/dist/components/IconSlot.d.ts.map +1 -1
  202. package/dist/components/IconSlot.js +1 -2
  203. package/dist/components/IconSlot.js.map +1 -1
  204. package/dist/components/Image.cjs +3 -5
  205. package/dist/components/Image.d.cts +2 -2
  206. package/dist/components/Image.d.cts.map +1 -1
  207. package/dist/components/Image.d.ts +2 -2
  208. package/dist/components/Image.d.ts.map +1 -1
  209. package/dist/components/Image.js +1 -2
  210. package/dist/components/Image.js.map +1 -1
  211. package/dist/components/Input.cjs +7 -9
  212. package/dist/components/Input.d.cts +2 -2
  213. package/dist/components/Input.d.cts.map +1 -1
  214. package/dist/components/Input.d.ts +2 -2
  215. package/dist/components/Input.d.ts.map +1 -1
  216. package/dist/components/Input.js +1 -2
  217. package/dist/components/Input.js.map +1 -1
  218. package/dist/components/Link.cjs +4 -6
  219. package/dist/components/Link.d.cts +2 -2
  220. package/dist/components/Link.d.cts.map +1 -1
  221. package/dist/components/Link.d.ts +2 -2
  222. package/dist/components/Link.d.ts.map +1 -1
  223. package/dist/components/Link.js +1 -2
  224. package/dist/components/Link.js.map +1 -1
  225. package/dist/components/Pressable.cjs +3 -5
  226. package/dist/components/Pressable.d.cts +4 -4
  227. package/dist/components/Pressable.d.cts.map +1 -1
  228. package/dist/components/Pressable.d.ts +4 -4
  229. package/dist/components/Pressable.d.ts.map +1 -1
  230. package/dist/components/Pressable.js +1 -2
  231. package/dist/components/Pressable.js.map +1 -1
  232. package/dist/components/Radio.cjs +8 -10
  233. package/dist/components/Radio.d.cts +2 -2
  234. package/dist/components/Radio.d.cts.map +1 -1
  235. package/dist/components/Radio.d.ts +2 -2
  236. package/dist/components/Radio.d.ts.map +1 -1
  237. package/dist/components/Radio.js +1 -2
  238. package/dist/components/Radio.js.map +1 -1
  239. package/dist/components/Screen.cjs +5 -7
  240. package/dist/components/Screen.d.cts +2 -2
  241. package/dist/components/Screen.d.cts.map +1 -1
  242. package/dist/components/Screen.d.ts +2 -2
  243. package/dist/components/Screen.d.ts.map +1 -1
  244. package/dist/components/Screen.js +1 -2
  245. package/dist/components/Screen.js.map +1 -1
  246. package/dist/components/Scrim.cjs +4 -6
  247. package/dist/components/Scrim.d.cts +2 -2
  248. package/dist/components/Scrim.d.cts.map +1 -1
  249. package/dist/components/Scrim.d.ts +2 -2
  250. package/dist/components/Scrim.d.ts.map +1 -1
  251. package/dist/components/Scrim.js +1 -2
  252. package/dist/components/Scrim.js.map +1 -1
  253. package/dist/components/Switch.cjs +6 -8
  254. package/dist/components/Switch.d.cts +2 -2
  255. package/dist/components/Switch.d.cts.map +1 -1
  256. package/dist/components/Switch.d.ts +2 -2
  257. package/dist/components/Switch.d.ts.map +1 -1
  258. package/dist/components/Switch.js +1 -2
  259. package/dist/components/Switch.js.map +1 -1
  260. package/dist/components/Text.cjs +3 -5
  261. package/dist/components/Text.d.cts +2 -2
  262. package/dist/components/Text.d.cts.map +1 -1
  263. package/dist/components/Text.d.ts +2 -2
  264. package/dist/components/Text.d.ts.map +1 -1
  265. package/dist/components/Text.js +1 -2
  266. package/dist/components/Text.js.map +1 -1
  267. package/dist/components/UDSProvider.cjs +4 -6
  268. package/dist/components/UDSProvider.d.cts +2 -2
  269. package/dist/components/UDSProvider.d.cts.map +1 -1
  270. package/dist/components/UDSProvider.d.ts +2 -2
  271. package/dist/components/UDSProvider.d.ts.map +1 -1
  272. package/dist/components/UDSProvider.js +1 -2
  273. package/dist/components/UDSProvider.js.map +1 -1
  274. package/dist/components/VStack.cjs +4 -6
  275. package/dist/components/VStack.d.cts +2 -2
  276. package/dist/components/VStack.d.cts.map +1 -1
  277. package/dist/components/VStack.d.ts +2 -2
  278. package/dist/components/VStack.d.ts.map +1 -1
  279. package/dist/components/VStack.js +1 -2
  280. package/dist/components/VStack.js.map +1 -1
  281. package/dist/jest/index.cjs +8 -10
  282. package/dist/jest/index.js +1 -2
  283. package/dist/jest/index.js.map +1 -1
  284. package/dist/jest/mocks/icons.cjs +8 -11
  285. package/dist/jest/mocks/icons.js +1 -2
  286. package/dist/jest/mocks/icons.js.map +1 -1
  287. package/dist/jest/mocks/react-native.cjs +6 -5
  288. package/dist/jest/mocks/react-native.js +1 -2
  289. package/dist/jest/mocks/react-native.js.map +1 -1
  290. package/dist/jest/mocks/reanimated.cjs +11 -10
  291. package/dist/jest/mocks/reanimated.js +1 -2
  292. package/dist/jest/mocks/reanimated.js.map +1 -1
  293. package/dist/jest/mocks/styles.cjs +8 -11
  294. package/dist/jest/mocks/styles.js +1 -2
  295. package/dist/jest/mocks/styles.js.map +1 -1
  296. package/dist/jest/mocks/svg.cjs +11 -10
  297. package/dist/jest/mocks/svg.js +2 -3
  298. package/dist/jest/mocks/svg.js.map +1 -1
  299. package/dist/jest/mocks/unistyles.cjs +8 -11
  300. package/dist/jest/mocks/unistyles.js +1 -2
  301. package/dist/jest/mocks/unistyles.js.map +1 -1
  302. package/dist/jest/setup.cjs +6 -8
  303. package/dist/jest/setup.js +1 -2
  304. package/dist/jest/setup.js.map +1 -1
  305. package/dist/motion-tokens/dist/index.cjs +1 -3
  306. package/dist/motion-tokens/dist/index.js +1 -1
  307. package/dist/motion-tokens/dist/index.js.map +1 -1
  308. package/dist/motion.cjs +3 -5
  309. package/dist/motion.js +1 -2
  310. package/dist/motion.js.map +1 -1
  311. package/dist/native/UDSScreenCornerRadiusModule.cjs +2 -4
  312. package/dist/native/UDSScreenCornerRadiusModule.js +1 -1
  313. package/dist/portal.cjs +3 -5
  314. package/dist/portal.d.cts +2 -2
  315. package/dist/portal.d.cts.map +1 -1
  316. package/dist/portal.d.ts +2 -2
  317. package/dist/portal.d.ts.map +1 -1
  318. package/dist/portal.js +1 -2
  319. package/dist/portal.js.map +1 -1
  320. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetHandle.js","names":["RNStyleSheet"],"sources":["../../../src/components/BottomSheet/BottomSheetHandle.tsx"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { StyleSheet as RNStyleSheet, View } from 'react-native';\n\nimport { bottomSheetStyles } from '../../../generated/styles';\nimport { useBottomSheetInternalContext } from './BottomSheetInternalProvider';\nimport { useBottomSheetContext } from './BottomSheetProvider';\n\n/**\n * Visual drag-affordance bar displayed at the top of the sheet.\n *\n * Accessible as `role=\"adjustable\"` with increment (expand) and decrement\n * (collapse / dismiss) actions that map to snap-point navigation.\n */\nconst BottomSheetHandle = memo(function BottomSheetHandle() {\n bottomSheetStyles.useVariants({});\n const handleTokens = RNStyleSheet.flatten(bottomSheetStyles.handleIndicator) as {\n backgroundColor?: string;\n };\n\n const internalCtx = useBottomSheetInternalContext();\n const controller = useBottomSheetContext();\n\n const handleAccessibilityAction = useCallback(\n (event: { nativeEvent: { actionName: string } }) => {\n if (!internalCtx || !controller) {\n return;\n }\n\n const { activeSnapIndex, snapCount } = internalCtx;\n const current = activeSnapIndex.value;\n\n if (event.nativeEvent.actionName === 'increment' && current < snapCount - 1) {\n // Expand to next snap.\n // We can't call animateToSnap directly from here — use controller-level API\n // or set activeSnapIndex. For now, this is a best-effort accessibility hook.\n activeSnapIndex.value = current + 1;\n } else if (event.nativeEvent.actionName === 'decrement') {\n if (current > 0) {\n activeSnapIndex.value = current - 1;\n } else {\n // At lowest snap — dismiss.\n controller.close();\n }\n }\n },\n [internalCtx, controller],\n );\n\n return (\n <View\n style={[internalStyles.handle, { backgroundColor: handleTokens.backgroundColor }]}\n accessible\n accessibilityRole=\"adjustable\"\n accessibilityLabel=\"Sheet handle\"\n accessibilityHint=\"Swipe up to expand, swipe down to collapse\"\n accessibilityActions={[\n { name: 'increment', label: 'Expand' },\n { name: 'decrement', label: 'Collapse' },\n ]}\n onAccessibilityAction={handleAccessibilityAction}\n />\n );\n});\n\nconst internalStyles = RNStyleSheet.create({\n handle: {\n alignSelf: 'center',\n width: 36,\n height: 4,\n borderRadius: 2,\n marginBottom: 8,\n },\n});\n\nexport { BottomSheetHandle };\n"],"mappings":";;;;;;;;;;;;;;;AAaA,MAAM,oBAAoB,KAAK,SAAS,oBAAoB;AAC1D,mBAAkB,YAAY,EAAE,CAAC;CACjC,MAAM,eAAeA,WAAa,QAAQ,kBAAkB,gBAAgB;CAI5E,MAAM,cAAc,+BAA+B;CACnD,MAAM,aAAa,uBAAuB;CAE1C,MAAM,4BAA4B,aAC/B,UAAmD;AAClD,MAAI,CAAC,eAAe,CAAC,WACnB;EAGF,MAAM,EAAE,iBAAiB,cAAc;EACvC,MAAM,UAAU,gBAAgB;AAEhC,MAAI,MAAM,YAAY,eAAe,eAAe,UAAU,YAAY,EAIxE,iBAAgB,QAAQ,UAAU;WACzB,MAAM,YAAY,eAAe,YAC1C,KAAI,UAAU,EACZ,iBAAgB,QAAQ,UAAU;MAGlC,YAAW,OAAO;IAIxB,CAAC,aAAa,WAAW,CAC1B;AAED,QACE,oBAAC;EACC,OAAO,CAAC,eAAe,QAAQ,EAAE,iBAAiB,aAAa,iBAAiB,CAAC;EACjF;EACA,mBAAkB;EAClB,oBAAmB;EACnB,mBAAkB;EAClB,sBAAsB,CACpB;GAAE,MAAM;GAAa,OAAO;GAAU,EACtC;GAAE,MAAM;GAAa,OAAO;GAAY,CACzC;EACD,uBAAuB;GACvB;EAEJ;AAEF,MAAM,iBAAiBA,WAAa,OAAO,EACzC,QAAQ;CACN,WAAW;CACX,OAAO;CACP,QAAQ;CACR,cAAc;CACd,cAAc;CACf,EACF,CAAC"}
1
+ {"version":3,"file":"BottomSheetHandle.js","names":["RNStyleSheet"],"sources":["../../../src/components/BottomSheet/BottomSheetHandle.tsx"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { StyleSheet as RNStyleSheet, View } from 'react-native';\n\nimport { bottomSheetStyles } from '../../../generated/styles';\nimport { useBottomSheetInternalContext } from './BottomSheetInternalProvider';\nimport { useBottomSheetContext } from './BottomSheetProvider';\n\n/**\n * Visual drag-affordance bar displayed at the top of the sheet.\n *\n * Accessible as `role=\"adjustable\"` with increment (expand) and decrement\n * (collapse / dismiss) actions that map to snap-point navigation.\n */\nconst BottomSheetHandle = memo(function BottomSheetHandle() {\n bottomSheetStyles.useVariants({});\n const handleTokens = RNStyleSheet.flatten(bottomSheetStyles.handleIndicator) as {\n backgroundColor?: string;\n };\n\n const internalCtx = useBottomSheetInternalContext();\n const controller = useBottomSheetContext();\n\n const handleAccessibilityAction = useCallback(\n (event: { nativeEvent: { actionName: string } }) => {\n if (!internalCtx || !controller) {\n return;\n }\n\n const { activeSnapIndex, snapCount } = internalCtx;\n const current = activeSnapIndex.value;\n\n if (event.nativeEvent.actionName === 'increment' && current < snapCount - 1) {\n // Expand to next snap.\n // We can't call animateToSnap directly from here — use controller-level API\n // or set activeSnapIndex. For now, this is a best-effort accessibility hook.\n activeSnapIndex.value = current + 1;\n } else if (event.nativeEvent.actionName === 'decrement') {\n if (current > 0) {\n activeSnapIndex.value = current - 1;\n } else {\n // At lowest snap — dismiss.\n controller.close();\n }\n }\n },\n [internalCtx, controller],\n );\n\n return (\n <View\n style={[internalStyles.handle, { backgroundColor: handleTokens.backgroundColor }]}\n accessible\n accessibilityRole=\"adjustable\"\n accessibilityLabel=\"Sheet handle\"\n accessibilityHint=\"Swipe up to expand, swipe down to collapse\"\n accessibilityActions={[\n { name: 'increment', label: 'Expand' },\n { name: 'decrement', label: 'Collapse' },\n ]}\n onAccessibilityAction={handleAccessibilityAction}\n />\n );\n});\n\nconst internalStyles = RNStyleSheet.create({\n handle: {\n alignSelf: 'center',\n width: 36,\n height: 4,\n borderRadius: 2,\n marginBottom: 8,\n },\n});\n\nexport { BottomSheetHandle };\n"],"mappings":";;;;;;;;;;;;;;AAaA,MAAM,oBAAoB,KAAK,SAAS,oBAAoB;AAC1D,mBAAkB,YAAY,EAAE,CAAC;CACjC,MAAM,eAAeA,WAAa,QAAQ,kBAAkB,gBAAgB;CAI5E,MAAM,cAAc,+BAA+B;CACnD,MAAM,aAAa,uBAAuB;CAE1C,MAAM,4BAA4B,aAC/B,UAAmD;AAClD,MAAI,CAAC,eAAe,CAAC,WACnB;EAGF,MAAM,EAAE,iBAAiB,cAAc;EACvC,MAAM,UAAU,gBAAgB;AAEhC,MAAI,MAAM,YAAY,eAAe,eAAe,UAAU,YAAY,EAIxE,iBAAgB,QAAQ,UAAU;WACzB,MAAM,YAAY,eAAe,YAC1C,KAAI,UAAU,EACZ,iBAAgB,QAAQ,UAAU;MAGlC,YAAW,OAAO;IAIxB,CAAC,aAAa,WAAW,CAC1B;AAED,QACE,oBAAC,MAAD;EACE,OAAO,CAAC,eAAe,QAAQ,EAAE,iBAAiB,aAAa,iBAAiB,CAAC;EACjF,YAAA;EACA,mBAAkB;EAClB,oBAAmB;EACnB,mBAAkB;EAClB,sBAAsB,CACpB;GAAE,MAAM;GAAa,OAAO;GAAU,EACtC;GAAE,MAAM;GAAa,OAAO;GAAY,CACzC;EACD,uBAAuB;EACvB,CAAA;EAEJ;AAEF,MAAM,iBAAiBA,WAAa,OAAO,EACzC,QAAQ;CACN,WAAW;CACX,OAAO;CACP,QAAQ;CACR,cAAc;CACd,cAAc;CACf,EACF,CAAC"}
@@ -1,12 +1,11 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
- const require_components_Text = require('../Text.cjs');
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../_virtual/_rolldown/runtime.cjs");
4
+ const require_components_Text = require("../Text.cjs");
5
5
  let react = require("react");
6
6
  let react_native = require("react-native");
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  let generated_styles = require("../../../generated/styles");
9
-
10
9
  //#region src/components/BottomSheet/BottomSheetHeader.tsx
11
10
  /** Width of the leading/trailing action slots in pixels. */
12
11
  const SLOT_WIDTH = 40;
@@ -64,6 +63,5 @@ const internalStyles = react_native.StyleSheet.create({
64
63
  justifyContent: "center"
65
64
  }
66
65
  });
67
-
68
66
  //#endregion
69
- exports.BottomSheetHeader = BottomSheetHeader;
67
+ exports.BottomSheetHeader = BottomSheetHeader;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { BottomSheetHeaderProps } from "./types.cjs";
3
- import * as react from "react";
3
+ import * as _$react from "react";
4
4
 
5
5
  //#region src/components/BottomSheet/BottomSheetHeader.d.ts
6
6
  /**
@@ -10,7 +10,7 @@ import * as react from "react";
10
10
  * Empty slots render as invisible spacers to keep the title centered.
11
11
  * Typography is read from the configurator's `bottomSheetStyles.header` tokens.
12
12
  */
13
- declare const BottomSheetHeader: react.NamedExoticComponent<BottomSheetHeaderProps>;
13
+ declare const BottomSheetHeader: _$react.NamedExoticComponent<BottomSheetHeaderProps>;
14
14
  //#endregion
15
15
  export { BottomSheetHeader };
16
16
  //# sourceMappingURL=BottomSheetHeader.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetHeader.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetHeader.tsx"],"mappings":";;;;;;;;AAK+E;;;;cAYzE,iBAAA,EAAiB,KAAA,CAAA,oBAAA,CAAA,sBAAA"}
1
+ {"version":3,"file":"BottomSheetHeader.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetHeader.tsx"],"mappings":";;;;;;;;AAK+E;;;;cAYzE,iBAAA,EAAiB,OAAA,CAAA,oBAAA,CAAA,sBAAA"}
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { BottomSheetHeaderProps } from "./types.js";
3
- import * as react from "react";
3
+ import * as _$react from "react";
4
4
 
5
5
  //#region src/components/BottomSheet/BottomSheetHeader.d.ts
6
6
  /**
@@ -10,7 +10,7 @@ import * as react from "react";
10
10
  * Empty slots render as invisible spacers to keep the title centered.
11
11
  * Typography is read from the configurator's `bottomSheetStyles.header` tokens.
12
12
  */
13
- declare const BottomSheetHeader: react.NamedExoticComponent<BottomSheetHeaderProps>;
13
+ declare const BottomSheetHeader: _$react.NamedExoticComponent<BottomSheetHeaderProps>;
14
14
  //#endregion
15
15
  export { BottomSheetHeader };
16
16
  //# sourceMappingURL=BottomSheetHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetHeader.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetHeader.tsx"],"mappings":";;;;;;;;AAK+E;;;;cAYzE,iBAAA,EAAiB,KAAA,CAAA,oBAAA,CAAA,sBAAA"}
1
+ {"version":3,"file":"BottomSheetHeader.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetHeader.tsx"],"mappings":";;;;;;;;AAK+E;;;;cAYzE,iBAAA,EAAiB,OAAA,CAAA,oBAAA,CAAA,sBAAA"}
@@ -4,7 +4,6 @@ import { memo } from "react";
4
4
  import { StyleSheet, View } from "react-native";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { bottomSheetStyles } from "../../../generated/styles";
7
-
8
7
  //#region src/components/BottomSheet/BottomSheetHeader.tsx
9
8
  /** Width of the leading/trailing action slots in pixels. */
10
9
  const SLOT_WIDTH = 40;
@@ -62,7 +61,7 @@ const internalStyles = StyleSheet.create({
62
61
  justifyContent: "center"
63
62
  }
64
63
  });
65
-
66
64
  //#endregion
67
65
  export { BottomSheetHeader };
66
+
68
67
  //# sourceMappingURL=BottomSheetHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetHeader.js","names":["Text"],"sources":["../../../src/components/BottomSheet/BottomSheetHeader.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { bottomSheetStyles } from '../../../generated/styles';\nimport { Text } from '../Text';\nimport type { BottomSheetHeaderProps, BottomSheetHeaderTokens } from './types';\n\n/** Width of the leading/trailing action slots in pixels. */\nconst SLOT_WIDTH = 40;\n\n/**\n * Three-column header for the bottom sheet.\n *\n * Layout: `[40px start slot] [1fr center title] [40px end slot]`.\n * Empty slots render as invisible spacers to keep the title centered.\n * Typography is read from the configurator's `bottomSheetStyles.header` tokens.\n */\nconst BottomSheetHeader = memo(function BottomSheetHeader({\n children,\n start,\n end,\n}: BottomSheetHeaderProps) {\n const headerTokens = StyleSheet.flatten(bottomSheetStyles.header) as BottomSheetHeaderTokens;\n\n return (\n <View style={internalStyles.container}>\n <View style={internalStyles.slot}>{start}</View>\n <View style={internalStyles.title}>\n <Text\n style={{\n fontFamily: headerTokens.fontFamily,\n fontSize: headerTokens.fontSize,\n letterSpacing: headerTokens.letterSpacing,\n lineHeight: headerTokens.lineHeight,\n color: headerTokens.color,\n }}\n numberOfLines={1}\n >\n {children}\n </Text>\n </View>\n <View style={internalStyles.slot}>{end}</View>\n </View>\n );\n});\n\nconst internalStyles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n slot: {\n width: SLOT_WIDTH,\n alignItems: 'center',\n justifyContent: 'center',\n },\n title: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport { BottomSheetHeader };\n"],"mappings":";;;;;;;;;AAQA,MAAM,aAAa;;;;;;;;AASnB,MAAM,oBAAoB,KAAK,SAAS,kBAAkB,EACxD,UACA,OACA,OACyB;CACzB,MAAM,eAAe,WAAW,QAAQ,kBAAkB,OAAO;AAEjE,QACE,qBAAC;EAAK,OAAO,eAAe;;GAC1B,oBAAC;IAAK,OAAO,eAAe;cAAO;KAAa;GAChD,oBAAC;IAAK,OAAO,eAAe;cAC1B,oBAACA;KACC,OAAO;MACL,YAAY,aAAa;MACzB,UAAU,aAAa;MACvB,eAAe,aAAa;MAC5B,YAAY,aAAa;MACzB,OAAO,aAAa;MACrB;KACD,eAAe;KAEd;MACI;KACF;GACP,oBAAC;IAAK,OAAO,eAAe;cAAO;KAAW;;GACzC;EAET;AAEF,MAAM,iBAAiB,WAAW,OAAO;CACvC,WAAW;EACT,eAAe;EACf,YAAY;EACZ,gBAAgB;EACjB;CACD,MAAM;EACJ,OAAO;EACP,YAAY;EACZ,gBAAgB;EACjB;CACD,OAAO;EACL,MAAM;EACN,YAAY;EACZ,gBAAgB;EACjB;CACF,CAAC"}
1
+ {"version":3,"file":"BottomSheetHeader.js","names":["Text"],"sources":["../../../src/components/BottomSheet/BottomSheetHeader.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { bottomSheetStyles } from '../../../generated/styles';\nimport { Text } from '../Text';\nimport type { BottomSheetHeaderProps, BottomSheetHeaderTokens } from './types';\n\n/** Width of the leading/trailing action slots in pixels. */\nconst SLOT_WIDTH = 40;\n\n/**\n * Three-column header for the bottom sheet.\n *\n * Layout: `[40px start slot] [1fr center title] [40px end slot]`.\n * Empty slots render as invisible spacers to keep the title centered.\n * Typography is read from the configurator's `bottomSheetStyles.header` tokens.\n */\nconst BottomSheetHeader = memo(function BottomSheetHeader({\n children,\n start,\n end,\n}: BottomSheetHeaderProps) {\n const headerTokens = StyleSheet.flatten(bottomSheetStyles.header) as BottomSheetHeaderTokens;\n\n return (\n <View style={internalStyles.container}>\n <View style={internalStyles.slot}>{start}</View>\n <View style={internalStyles.title}>\n <Text\n style={{\n fontFamily: headerTokens.fontFamily,\n fontSize: headerTokens.fontSize,\n letterSpacing: headerTokens.letterSpacing,\n lineHeight: headerTokens.lineHeight,\n color: headerTokens.color,\n }}\n numberOfLines={1}\n >\n {children}\n </Text>\n </View>\n <View style={internalStyles.slot}>{end}</View>\n </View>\n );\n});\n\nconst internalStyles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n slot: {\n width: SLOT_WIDTH,\n alignItems: 'center',\n justifyContent: 'center',\n },\n title: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport { BottomSheetHeader };\n"],"mappings":";;;;;;;;AAQA,MAAM,aAAa;;;;;;;;AASnB,MAAM,oBAAoB,KAAK,SAAS,kBAAkB,EACxD,UACA,OACA,OACyB;CACzB,MAAM,eAAe,WAAW,QAAQ,kBAAkB,OAAO;AAEjE,QACE,qBAAC,MAAD;EAAM,OAAO,eAAe;YAA5B;GACE,oBAAC,MAAD;IAAM,OAAO,eAAe;cAAO;IAAa,CAAA;GAChD,oBAAC,MAAD;IAAM,OAAO,eAAe;cAC1B,oBAACA,QAAD;KACE,OAAO;MACL,YAAY,aAAa;MACzB,UAAU,aAAa;MACvB,eAAe,aAAa;MAC5B,YAAY,aAAa;MACzB,OAAO,aAAa;MACrB;KACD,eAAe;KAEd;KACI,CAAA;IACF,CAAA;GACP,oBAAC,MAAD;IAAM,OAAO,eAAe;cAAO;IAAW,CAAA;GACzC;;EAET;AAEF,MAAM,iBAAiB,WAAW,OAAO;CACvC,WAAW;EACT,eAAe;EACf,YAAY;EACZ,gBAAgB;EACjB;CACD,MAAM;EACJ,OAAO;EACP,YAAY;EACZ,gBAAgB;EACjB;CACD,OAAO;EACL,MAAM;EACN,YAAY;EACZ,gBAAgB;EACjB;CACF,CAAC"}
@@ -1,9 +1,8 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../_virtual/_rolldown/runtime.cjs");
4
4
  let react = require("react");
5
5
  let react_jsx_runtime = require("react/jsx-runtime");
6
-
7
6
  //#region src/components/BottomSheet/BottomSheetInternalProvider.tsx
8
7
  const BottomSheetInternalContext = (0, react.createContext)(null);
9
8
  function BottomSheetInternalProvider({ children, value }) {
@@ -20,7 +19,6 @@ function BottomSheetInternalProvider({ children, value }) {
20
19
  function useBottomSheetInternalContext() {
21
20
  return (0, react.useContext)(BottomSheetInternalContext);
22
21
  }
23
-
24
22
  //#endregion
25
23
  exports.BottomSheetInternalProvider = BottomSheetInternalProvider;
26
- exports.useBottomSheetInternalContext = useBottomSheetInternalContext;
24
+ exports.useBottomSheetInternalContext = useBottomSheetInternalContext;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { BottomSheetInternalContextValue } from "./types.cjs";
3
- import * as react from "react";
3
+ import * as _$react from "react";
4
4
  import { ReactNode } from "react";
5
5
 
6
6
  //#region src/components/BottomSheet/BottomSheetInternalProvider.d.ts
@@ -11,7 +11,7 @@ interface Props {
11
11
  declare function BottomSheetInternalProvider({
12
12
  children,
13
13
  value
14
- }: Props): react.JSX.Element;
14
+ }: Props): _$react.JSX.Element;
15
15
  /**
16
16
  * Reads the internal scroll/gesture coordination context.
17
17
  * Returns `null` when rendered outside a `<BottomSheet>`.
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetInternalProvider.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetInternalProvider.tsx"],"mappings":";;;;;;UAOU,KAAA;EACR,QAAA,EAAU,SAAA;EACV,KAAA,EAAO,+BAAA;AAAA;AAAA,iBAGA,2BAAA,CAAA;EAA8B,QAAA;EAAU;AAAA,GAAS,KAAA,GAAK,KAAA,CAAA,GAAA,CAAA,OAAA;;;;;;iBAatD,6BAAA,CAAA,GAAiC,+BAAA"}
1
+ {"version":3,"file":"BottomSheetInternalProvider.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetInternalProvider.tsx"],"mappings":";;;;;;UAOU,KAAA;EACR,QAAA,EAAU,SAAA;EACV,KAAA,EAAO,+BAAA;AAAA;AAAA,iBAGA,2BAAA,CAAA;EAA8B,QAAA;EAAU;AAAA,GAAS,KAAA,GAAK,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;iBAatD,6BAAA,CAAA,GAAiC,+BAAA"}
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { BottomSheetInternalContextValue } from "./types.js";
3
- import * as react from "react";
3
+ import * as _$react from "react";
4
4
  import { ReactNode } from "react";
5
5
 
6
6
  //#region src/components/BottomSheet/BottomSheetInternalProvider.d.ts
@@ -11,7 +11,7 @@ interface Props {
11
11
  declare function BottomSheetInternalProvider({
12
12
  children,
13
13
  value
14
- }: Props): react.JSX.Element;
14
+ }: Props): _$react.JSX.Element;
15
15
  /**
16
16
  * Reads the internal scroll/gesture coordination context.
17
17
  * Returns `null` when rendered outside a `<BottomSheet>`.
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetInternalProvider.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetInternalProvider.tsx"],"mappings":";;;;;;UAOU,KAAA;EACR,QAAA,EAAU,SAAA;EACV,KAAA,EAAO,+BAAA;AAAA;AAAA,iBAGA,2BAAA,CAAA;EAA8B,QAAA;EAAU;AAAA,GAAS,KAAA,GAAK,KAAA,CAAA,GAAA,CAAA,OAAA;;;;;;iBAatD,6BAAA,CAAA,GAAiC,+BAAA"}
1
+ {"version":3,"file":"BottomSheetInternalProvider.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetInternalProvider.tsx"],"mappings":";;;;;;UAOU,KAAA;EACR,QAAA,EAAU,SAAA;EACV,KAAA,EAAO,+BAAA;AAAA;AAAA,iBAGA,2BAAA,CAAA;EAA8B,QAAA;EAAU;AAAA,GAAS,KAAA,GAAK,OAAA,CAAA,GAAA,CAAA,OAAA;;;;;;iBAatD,6BAAA,CAAA,GAAiC,+BAAA"}
@@ -1,7 +1,6 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
2
  import { createContext, useContext } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
-
5
4
  //#region src/components/BottomSheet/BottomSheetInternalProvider.tsx
6
5
  const BottomSheetInternalContext = createContext(null);
7
6
  function BottomSheetInternalProvider({ children, value }) {
@@ -18,7 +17,7 @@ function BottomSheetInternalProvider({ children, value }) {
18
17
  function useBottomSheetInternalContext() {
19
18
  return useContext(BottomSheetInternalContext);
20
19
  }
21
-
22
20
  //#endregion
23
21
  export { BottomSheetInternalProvider, useBottomSheetInternalContext };
22
+
24
23
  //# sourceMappingURL=BottomSheetInternalProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetInternalProvider.js","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetInternalProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\nimport type { BottomSheetInternalContextValue } from './types';\n\nconst BottomSheetInternalContext = createContext<BottomSheetInternalContextValue | null>(null);\n\ninterface Props {\n children: ReactNode;\n value: BottomSheetInternalContextValue;\n}\n\nfunction BottomSheetInternalProvider({ children, value }: Props) {\n return (\n <BottomSheetInternalContext.Provider value={value}>\n {children}\n </BottomSheetInternalContext.Provider>\n );\n}\n\n/**\n * Reads the internal scroll/gesture coordination context.\n * Returns `null` when rendered outside a `<BottomSheet>`.\n * @internal\n */\nfunction useBottomSheetInternalContext(): BottomSheetInternalContextValue | null {\n return useContext(BottomSheetInternalContext);\n}\n\nexport { BottomSheetInternalProvider, useBottomSheetInternalContext };\n"],"mappings":";;;;;AAKA,MAAM,6BAA6B,cAAsD,KAAK;AAO9F,SAAS,4BAA4B,EAAE,UAAU,SAAgB;AAC/D,QACE,oBAAC,2BAA2B;EAAgB;EACzC;GACmC;;;;;;;AAS1C,SAAS,gCAAwE;AAC/E,QAAO,WAAW,2BAA2B"}
1
+ {"version":3,"file":"BottomSheetInternalProvider.js","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetInternalProvider.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\nimport type { BottomSheetInternalContextValue } from './types';\n\nconst BottomSheetInternalContext = createContext<BottomSheetInternalContextValue | null>(null);\n\ninterface Props {\n children: ReactNode;\n value: BottomSheetInternalContextValue;\n}\n\nfunction BottomSheetInternalProvider({ children, value }: Props) {\n return (\n <BottomSheetInternalContext.Provider value={value}>\n {children}\n </BottomSheetInternalContext.Provider>\n );\n}\n\n/**\n * Reads the internal scroll/gesture coordination context.\n * Returns `null` when rendered outside a `<BottomSheet>`.\n * @internal\n */\nfunction useBottomSheetInternalContext(): BottomSheetInternalContextValue | null {\n return useContext(BottomSheetInternalContext);\n}\n\nexport { BottomSheetInternalProvider, useBottomSheetInternalContext };\n"],"mappings":";;;;AAKA,MAAM,6BAA6B,cAAsD,KAAK;AAO9F,SAAS,4BAA4B,EAAE,UAAU,SAAgB;AAC/D,QACE,oBAAC,2BAA2B,UAA5B;EAA4C;EACzC;EACmC,CAAA;;;;;;;AAS1C,SAAS,gCAAwE;AAC/E,QAAO,WAAW,2BAA2B"}
@@ -1,10 +1,9 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
- const require_components_BottomSheet_useBottomSheetStore = require('./useBottomSheetStore.cjs');
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../_virtual/_rolldown/runtime.cjs");
4
+ const require_components_BottomSheet_useBottomSheetStore = require("./useBottomSheetStore.cjs");
5
5
  let react = require("react");
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
7
-
8
7
  //#region src/components/BottomSheet/BottomSheetProvider.tsx
9
8
  const BottomSheetContext = (0, react.createContext)(null);
10
9
  /**
@@ -27,7 +26,6 @@ BottomSheetProvider.displayName = "BottomSheetProvider";
27
26
  function useBottomSheetContext() {
28
27
  return (0, react.useContext)(BottomSheetContext);
29
28
  }
30
-
31
29
  //#endregion
32
30
  exports.BottomSheetProvider = BottomSheetProvider;
33
- exports.useBottomSheetContext = useBottomSheetContext;
31
+ exports.useBottomSheetContext = useBottomSheetContext;
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { BottomSheetController, BottomSheetProviderProps } from "./types.cjs";
3
- import * as react from "react";
3
+ import * as _$react from "react";
4
4
 
5
5
  //#region src/components/BottomSheet/BottomSheetProvider.d.ts
6
6
  /**
@@ -13,7 +13,7 @@ import * as react from "react";
13
13
  declare function BottomSheetProvider({
14
14
  children,
15
15
  controller
16
- }: BottomSheetProviderProps): react.JSX.Element;
16
+ }: BottomSheetProviderProps): _$react.JSX.Element;
17
17
  declare namespace BottomSheetProvider {
18
18
  var displayName: string;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetProvider.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetProvider.tsx"],"mappings":";;;;;;;;AAE+E;;;;iBAYtE,mBAAA,CAAA;EAAsB,QAAA;EAAU;AAAA,GAAc,wBAAA,GAAwB,KAAA,CAAA,GAAA,CAAA,OAAA;AAAA,kBAAtE,mBAAA;EAAA,IAAmB,WAAA;AAAA;;iBAUnB,qBAAA,CAAA,GAAyB,qBAAA"}
1
+ {"version":3,"file":"BottomSheetProvider.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetProvider.tsx"],"mappings":";;;;;;;;AAE+E;;;;iBAYtE,mBAAA,CAAA;EAAsB,QAAA;EAAU;AAAA,GAAc,wBAAA,GAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;AAAA,kBAAtE,mBAAA;EAAA,IAAmB,WAAA;AAAA;;iBAUnB,qBAAA,CAAA,GAAyB,qBAAA"}
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { BottomSheetController, BottomSheetProviderProps } from "./types.js";
3
- import * as react from "react";
3
+ import * as _$react from "react";
4
4
 
5
5
  //#region src/components/BottomSheet/BottomSheetProvider.d.ts
6
6
  /**
@@ -13,7 +13,7 @@ import * as react from "react";
13
13
  declare function BottomSheetProvider({
14
14
  children,
15
15
  controller
16
- }: BottomSheetProviderProps): react.JSX.Element;
16
+ }: BottomSheetProviderProps): _$react.JSX.Element;
17
17
  declare namespace BottomSheetProvider {
18
18
  var displayName: string;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetProvider.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetProvider.tsx"],"mappings":";;;;;;;;AAE+E;;;;iBAYtE,mBAAA,CAAA;EAAsB,QAAA;EAAU;AAAA,GAAc,wBAAA,GAAwB,KAAA,CAAA,GAAA,CAAA,OAAA;AAAA,kBAAtE,mBAAA;EAAA,IAAmB,WAAA;AAAA;;iBAUnB,qBAAA,CAAA,GAAyB,qBAAA"}
1
+ {"version":3,"file":"BottomSheetProvider.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetProvider.tsx"],"mappings":";;;;;;;;AAE+E;;;;iBAYtE,mBAAA,CAAA;EAAsB,QAAA;EAAU;AAAA,GAAc,wBAAA,GAAwB,OAAA,CAAA,GAAA,CAAA,OAAA;AAAA,kBAAtE,mBAAA;EAAA,IAAmB,WAAA;AAAA;;iBAUnB,qBAAA,CAAA,GAAyB,qBAAA"}
@@ -2,7 +2,6 @@
2
2
  import { useBottomSheetStore } from "./useBottomSheetStore.js";
3
3
  import { createContext, useContext } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
-
6
5
  //#region src/components/BottomSheet/BottomSheetProvider.tsx
7
6
  const BottomSheetContext = createContext(null);
8
7
  /**
@@ -25,7 +24,7 @@ BottomSheetProvider.displayName = "BottomSheetProvider";
25
24
  function useBottomSheetContext() {
26
25
  return useContext(BottomSheetContext);
27
26
  }
28
-
29
27
  //#endregion
30
28
  export { BottomSheetProvider, useBottomSheetContext };
29
+
31
30
  //# sourceMappingURL=BottomSheetProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetProvider.js","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetProvider.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { BottomSheetController, BottomSheetProviderProps } from './types';\nimport { useBottomSheetStore } from './useBottomSheetStore';\n\nconst BottomSheetContext = createContext<BottomSheetController | null>(null);\n\n/**\n * Provides a BottomSheetController to all descendants via React context.\n *\n * Accepts an optional `controller` prop. If omitted, creates an internal store.\n * All descendants (BottomSheet, BottomSheetTrigger, BottomSheetDismiss) resolve\n * the same store from this context.\n */\nfunction BottomSheetProvider({ children, controller }: BottomSheetProviderProps) {\n const fallbackStore = useBottomSheetStore();\n const store = controller ?? fallbackStore;\n\n return <BottomSheetContext.Provider value={store}>{children}</BottomSheetContext.Provider>;\n}\n\nBottomSheetProvider.displayName = 'BottomSheetProvider';\n\n/** @internal — read the controller from context. Returns null if no provider. */\nfunction useBottomSheetContext(): BottomSheetController | null {\n return useContext(BottomSheetContext);\n}\n\nexport { BottomSheetProvider, useBottomSheetContext };\n"],"mappings":";;;;;;AAKA,MAAM,qBAAqB,cAA4C,KAAK;;;;;;;;AAS5E,SAAS,oBAAoB,EAAE,UAAU,cAAwC;CAC/E,MAAM,gBAAgB,qBAAqB;CAC3C,MAAM,QAAQ,cAAc;AAE5B,QAAO,oBAAC,mBAAmB;EAAS,OAAO;EAAQ;GAAuC;;AAG5F,oBAAoB,cAAc;;AAGlC,SAAS,wBAAsD;AAC7D,QAAO,WAAW,mBAAmB"}
1
+ {"version":3,"file":"BottomSheetProvider.js","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetProvider.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { BottomSheetController, BottomSheetProviderProps } from './types';\nimport { useBottomSheetStore } from './useBottomSheetStore';\n\nconst BottomSheetContext = createContext<BottomSheetController | null>(null);\n\n/**\n * Provides a BottomSheetController to all descendants via React context.\n *\n * Accepts an optional `controller` prop. If omitted, creates an internal store.\n * All descendants (BottomSheet, BottomSheetTrigger, BottomSheetDismiss) resolve\n * the same store from this context.\n */\nfunction BottomSheetProvider({ children, controller }: BottomSheetProviderProps) {\n const fallbackStore = useBottomSheetStore();\n const store = controller ?? fallbackStore;\n\n return <BottomSheetContext.Provider value={store}>{children}</BottomSheetContext.Provider>;\n}\n\nBottomSheetProvider.displayName = 'BottomSheetProvider';\n\n/** @internal — read the controller from context. Returns null if no provider. */\nfunction useBottomSheetContext(): BottomSheetController | null {\n return useContext(BottomSheetContext);\n}\n\nexport { BottomSheetProvider, useBottomSheetContext };\n"],"mappings":";;;;;AAKA,MAAM,qBAAqB,cAA4C,KAAK;;;;;;;;AAS5E,SAAS,oBAAoB,EAAE,UAAU,cAAwC;CAC/E,MAAM,gBAAgB,qBAAqB;CAC3C,MAAM,QAAQ,cAAc;AAE5B,QAAO,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;EAAQ;EAAuC,CAAA;;AAG5F,oBAAoB,cAAc;;AAGlC,SAAS,wBAAsD;AAC7D,QAAO,WAAW,mBAAmB"}
@@ -1,9 +1,8 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
- const require_components_BottomSheet_BottomSheetProvider = require('./BottomSheetProvider.cjs');
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../_virtual/_rolldown/runtime.cjs");
4
+ const require_components_BottomSheet_BottomSheetProvider = require("./BottomSheetProvider.cjs");
5
5
  let react = require("react");
6
-
7
6
  //#region src/components/BottomSheet/BottomSheetTrigger.tsx
8
7
  /**
9
8
  * Clones the `render` element and injects an `onPress` handler that opens
@@ -23,6 +22,5 @@ const BottomSheetTrigger = (0, react.memo)(function BottomSheetTrigger({ render
23
22
  controller.open();
24
23
  }, [controller]) });
25
24
  });
26
-
27
25
  //#endregion
28
- exports.BottomSheetTrigger = BottomSheetTrigger;
26
+ exports.BottomSheetTrigger = BottomSheetTrigger;
@@ -1,5 +1,5 @@
1
1
 
2
- import * as react from "react";
2
+ import * as _$react from "react";
3
3
  import { ReactElement } from "react";
4
4
 
5
5
  //#region src/components/BottomSheet/BottomSheetTrigger.d.ts
@@ -19,7 +19,7 @@ interface Props {
19
19
  * <BottomSheetTrigger render={<Button>Open Sheet</Button>} />
20
20
  * ```
21
21
  */
22
- declare const BottomSheetTrigger: react.NamedExoticComponent<Props>;
22
+ declare const BottomSheetTrigger: _$react.NamedExoticComponent<Props>;
23
23
  //#endregion
24
24
  export { BottomSheetTrigger };
25
25
  //# sourceMappingURL=BottomSheetTrigger.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetTrigger.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetTrigger.tsx"],"mappings":";;;;;UAKU,KAAA;EACR,MAAA,EAAQ,YAAA;IAAe,OAAA;EAAA;AAAA;;;;;;;;AAAO;;;;cAe1B,kBAAA,EAAkB,KAAA,CAAA,oBAAA,CAAA,KAAA"}
1
+ {"version":3,"file":"BottomSheetTrigger.d.cts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetTrigger.tsx"],"mappings":";;;;;UAKU,KAAA;EACR,MAAA,EAAQ,YAAA;IAAe,OAAA;EAAA;AAAA;;;;;;;;AAAO;;;;cAe1B,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAAA,KAAA"}
@@ -1,5 +1,5 @@
1
1
 
2
- import * as react from "react";
2
+ import * as _$react from "react";
3
3
  import { ReactElement } from "react";
4
4
 
5
5
  //#region src/components/BottomSheet/BottomSheetTrigger.d.ts
@@ -19,7 +19,7 @@ interface Props {
19
19
  * <BottomSheetTrigger render={<Button>Open Sheet</Button>} />
20
20
  * ```
21
21
  */
22
- declare const BottomSheetTrigger: react.NamedExoticComponent<Props>;
22
+ declare const BottomSheetTrigger: _$react.NamedExoticComponent<Props>;
23
23
  //#endregion
24
24
  export { BottomSheetTrigger };
25
25
  //# sourceMappingURL=BottomSheetTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetTrigger.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetTrigger.tsx"],"mappings":";;;;;UAKU,KAAA;EACR,MAAA,EAAQ,YAAA;IAAe,OAAA;EAAA;AAAA;;;;;;;;AAAO;;;;cAe1B,kBAAA,EAAkB,KAAA,CAAA,oBAAA,CAAA,KAAA"}
1
+ {"version":3,"file":"BottomSheetTrigger.d.ts","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetTrigger.tsx"],"mappings":";;;;;UAKU,KAAA;EACR,MAAA,EAAQ,YAAA;IAAe,OAAA;EAAA;AAAA;;;;;;;;AAAO;;;;cAe1B,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAAA,KAAA"}
@@ -1,7 +1,6 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
2
  import { useBottomSheetContext } from "./BottomSheetProvider.js";
3
3
  import { cloneElement, memo, useCallback } from "react";
4
-
5
4
  //#region src/components/BottomSheet/BottomSheetTrigger.tsx
6
5
  /**
7
6
  * Clones the `render` element and injects an `onPress` handler that opens
@@ -21,7 +20,7 @@ const BottomSheetTrigger = memo(function BottomSheetTrigger({ render }) {
21
20
  controller.open();
22
21
  }, [controller]) });
23
22
  });
24
-
25
23
  //#endregion
26
24
  export { BottomSheetTrigger };
25
+
27
26
  //# sourceMappingURL=BottomSheetTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetTrigger.js","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetTrigger.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { cloneElement, memo, useCallback } from 'react';\n\nimport { useBottomSheetContext } from './BottomSheetProvider';\n\ninterface Props {\n render: ReactElement<{ onPress?: () => void }>;\n}\n\n/**\n * Clones the `render` element and injects an `onPress` handler that opens\n * the nearest bottom sheet.\n *\n * Uses the `render` prop pattern to avoid nested pressable wrappers.\n *\n * @example\n * ```tsx\n * <BottomSheetTrigger render={<Button>Open Sheet</Button>} />\n * ```\n */\n// eslint-disable-next-line react/prop-types -- TypeScript validates props via Props interface\nconst BottomSheetTrigger = memo(function BottomSheetTrigger({ render }: Props) {\n const controller = useBottomSheetContext();\n\n if (!controller) {\n throw new Error('BottomSheetTrigger must be used inside a BottomSheetProvider.');\n }\n\n const handlePress = useCallback(() => {\n controller.open();\n }, [controller]);\n\n return cloneElement(render, {\n onPress: handlePress,\n });\n});\n\nexport { BottomSheetTrigger };\n"],"mappings":";;;;;;;;;;;;;;;;AAqBA,MAAM,qBAAqB,KAAK,SAAS,mBAAmB,EAAE,UAAiB;CAC7E,MAAM,aAAa,uBAAuB;AAE1C,KAAI,CAAC,WACH,OAAM,IAAI,MAAM,gEAAgE;AAOlF,QAAO,aAAa,QAAQ,EAC1B,SALkB,kBAAkB;AACpC,aAAW,MAAM;IAChB,CAAC,WAAW,CAAC,EAIf,CAAC;EACF"}
1
+ {"version":3,"file":"BottomSheetTrigger.js","names":[],"sources":["../../../src/components/BottomSheet/BottomSheetTrigger.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { cloneElement, memo, useCallback } from 'react';\n\nimport { useBottomSheetContext } from './BottomSheetProvider';\n\ninterface Props {\n render: ReactElement<{ onPress?: () => void }>;\n}\n\n/**\n * Clones the `render` element and injects an `onPress` handler that opens\n * the nearest bottom sheet.\n *\n * Uses the `render` prop pattern to avoid nested pressable wrappers.\n *\n * @example\n * ```tsx\n * <BottomSheetTrigger render={<Button>Open Sheet</Button>} />\n * ```\n */\n// eslint-disable-next-line react/prop-types -- TypeScript validates props via Props interface\nconst BottomSheetTrigger = memo(function BottomSheetTrigger({ render }: Props) {\n const controller = useBottomSheetContext();\n\n if (!controller) {\n throw new Error('BottomSheetTrigger must be used inside a BottomSheetProvider.');\n }\n\n const handlePress = useCallback(() => {\n controller.open();\n }, [controller]);\n\n return cloneElement(render, {\n onPress: handlePress,\n });\n});\n\nexport { BottomSheetTrigger };\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,MAAM,qBAAqB,KAAK,SAAS,mBAAmB,EAAE,UAAiB;CAC7E,MAAM,aAAa,uBAAuB;AAE1C,KAAI,CAAC,WACH,OAAM,IAAI,MAAM,gEAAgE;AAOlF,QAAO,aAAa,QAAQ,EAC1B,SALkB,kBAAkB;AACpC,aAAW,MAAM;IAChB,CAAC,WAAW,CAGO,EACrB,CAAC;EACF"}
@@ -1,14 +1,13 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_components_BottomSheet_useBottomSheetStore = require('./useBottomSheetStore.cjs');
4
- const require_components_BottomSheet_BottomSheetProvider = require('./BottomSheetProvider.cjs');
5
- const require_components_BottomSheet_BottomSheet = require('./BottomSheet.cjs');
6
- const require_components_BottomSheet_BottomSheetContent = require('./BottomSheetContent.cjs');
7
- const require_components_BottomSheet_BottomSheetDismiss = require('./BottomSheetDismiss.cjs');
8
- const require_components_BottomSheet_BottomSheetHeader = require('./BottomSheetHeader.cjs');
9
- const require_components_BottomSheet_BottomSheetTrigger = require('./BottomSheetTrigger.cjs');
10
- const require_components_BottomSheet_useBottomSheetScroll = require('./useBottomSheetScroll.cjs');
11
-
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_components_BottomSheet_useBottomSheetStore = require("./useBottomSheetStore.cjs");
4
+ const require_components_BottomSheet_BottomSheetProvider = require("./BottomSheetProvider.cjs");
5
+ const require_components_BottomSheet_BottomSheet = require("./BottomSheet.cjs");
6
+ const require_components_BottomSheet_BottomSheetContent = require("./BottomSheetContent.cjs");
7
+ const require_components_BottomSheet_BottomSheetDismiss = require("./BottomSheetDismiss.cjs");
8
+ const require_components_BottomSheet_BottomSheetHeader = require("./BottomSheetHeader.cjs");
9
+ const require_components_BottomSheet_BottomSheetTrigger = require("./BottomSheetTrigger.cjs");
10
+ const require_components_BottomSheet_useBottomSheetScroll = require("./useBottomSheetScroll.cjs");
12
11
  exports.BottomSheet = require_components_BottomSheet_BottomSheet.BottomSheet;
13
12
  exports.BottomSheetContent = require_components_BottomSheet_BottomSheetContent.BottomSheetContent;
14
13
  exports.BottomSheetDismiss = require_components_BottomSheet_BottomSheetDismiss.BottomSheetDismiss;
@@ -16,4 +15,4 @@ exports.BottomSheetHeader = require_components_BottomSheet_BottomSheetHeader.Bot
16
15
  exports.BottomSheetProvider = require_components_BottomSheet_BottomSheetProvider.BottomSheetProvider;
17
16
  exports.BottomSheetTrigger = require_components_BottomSheet_BottomSheetTrigger.BottomSheetTrigger;
18
17
  exports.useBottomSheetScroll = require_components_BottomSheet_useBottomSheetScroll.useBottomSheetScroll;
19
- exports.useBottomSheetStore = require_components_BottomSheet_useBottomSheetStore.useBottomSheetStore;
18
+ exports.useBottomSheetStore = require_components_BottomSheet_useBottomSheetStore.useBottomSheetStore;
@@ -7,5 +7,4 @@ import { BottomSheetDismiss } from "./BottomSheetDismiss.js";
7
7
  import { BottomSheetHeader } from "./BottomSheetHeader.js";
8
8
  import { BottomSheetTrigger } from "./BottomSheetTrigger.js";
9
9
  import { useBottomSheetScroll } from "./useBottomSheetScroll.js";
10
-
11
- export { BottomSheet, BottomSheetContent, BottomSheetDismiss, BottomSheetHeader, BottomSheetProvider, BottomSheetTrigger, useBottomSheetScroll, useBottomSheetStore };
10
+ export { BottomSheet, BottomSheetContent, BottomSheetDismiss, BottomSheetHeader, BottomSheetProvider, BottomSheetTrigger, useBottomSheetScroll, useBottomSheetStore };
@@ -1,12 +1,11 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
- const require_components_BottomSheet_utils = require('./utils.cjs');
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../_virtual/_rolldown/runtime.cjs");
4
+ const require_components_BottomSheet_utils = require("./utils.cjs");
5
5
  let react = require("react");
6
6
  let react_native = require("react-native");
7
7
  let react_native_reanimated = require("react-native-reanimated");
8
8
  let react_native_gesture_handler = require("react-native-gesture-handler");
9
-
10
9
  //#region src/components/BottomSheet/useBottomSheetDrag.ts
11
10
  /**
12
11
  * Velocity threshold (px/s) above which a downward fling dismisses the sheet.
@@ -186,6 +185,5 @@ function useBottomSheetDrag({ enableDrag, dismissible, enableOverstretch, resolv
186
185
  openTimeSV
187
186
  };
188
187
  }
189
-
190
188
  //#endregion
191
- exports.useBottomSheetDrag = useBottomSheetDrag;
189
+ exports.useBottomSheetDrag = useBottomSheetDrag;
@@ -4,7 +4,6 @@ import { useCallback, useRef } from "react";
4
4
  import { Platform } from "react-native";
5
5
  import { runOnJS, useSharedValue } from "react-native-reanimated";
6
6
  import { Gesture } from "react-native-gesture-handler";
7
-
8
7
  //#region src/components/BottomSheet/useBottomSheetDrag.ts
9
8
  /**
10
9
  * Velocity threshold (px/s) above which a downward fling dismisses the sheet.
@@ -184,7 +183,7 @@ function useBottomSheetDrag({ enableDrag, dismissible, enableOverstretch, resolv
184
183
  openTimeSV
185
184
  };
186
185
  }
187
-
188
186
  //#endregion
189
187
  export { useBottomSheetDrag };
188
+
190
189
  //# sourceMappingURL=useBottomSheetDrag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBottomSheetDrag.js","names":[],"sources":["../../../src/components/BottomSheet/useBottomSheetDrag.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\nimport { Platform } from 'react-native';\nimport type { GestureType } from 'react-native-gesture-handler';\nimport { Gesture } from 'react-native-gesture-handler';\nimport type { SharedValue } from 'react-native-reanimated';\nimport { runOnJS, useSharedValue } from 'react-native-reanimated';\n\nimport type { BottomSheetHeight } from './types';\nimport { clamp, clampIndex, resolveHeightToPx } from './utils';\n\n/**\n * Velocity threshold (px/s) above which a downward fling dismisses the sheet.\n */\nconst DRAG_DISMISS_VELOCITY = 500;\n\n/**\n * Duration (ms) after opening during which drag is blocked to prevent\n * accidentally stealing scroll intent.\n */\nconst OPEN_LOCK_TIMEOUT_MS = 250;\n\n/**\n * Horizontal movement (px) that causes the pan gesture to fail,\n * handing control to horizontal scrolling or other gestures.\n */\nconst HORIZONTAL_FAIL_THRESHOLD = 20;\n\n/**\n * Minimum vertical movement (px) required before deciding whether to\n * activate the pan gesture or let the scroll view handle the touch.\n */\nconst VERTICAL_ACTIVATION_THRESHOLD = 10;\n\n/**\n * Approximate height (px) of the header area (paddingTop + handle + header row).\n * Touches above this threshold always activate the pan for sheet collapse.\n * Touches below it may defer to the scroll view on Android.\n */\nconst HEADER_AREA_HEIGHT = 64;\n\n/** How much drag past max snap is visible (0–1). Lower = more resistance. */\nconst RUBBER_BAND_FACTOR = 0.2;\n\n/** Max enableOverstretch distance (px) past the max snap point. */\nconst MAX_OVERSTRETCH_PX = 30;\n\ninterface UseBottomSheetDragParams {\n enableDrag: boolean;\n dismissible: boolean;\n enableOverstretch: boolean;\n resolvedSnapPoints: BottomSheetHeight[];\n containerHeight: SharedValue<number>;\n bottomInsetPx: number;\n translateY: SharedValue<number>;\n activeSnapIndex: SharedValue<number>;\n isAnimating: SharedValue<boolean>;\n animateToSnapWorklet: (index: number) => void;\n animateToCloseWorklet: () => void;\n onDismiss: () => void;\n /** Scroll lock — written here, read by BottomSheetContent. */\n scrollLocked: SharedValue<boolean>;\n /** Current content scroll offset (UI-thread shared value). */\n scrollOffsetY: SharedValue<number>;\n /** Compute translateY for a given snap index (worklet). Provided by the snap model. */\n getTranslateYForSnap: (index: number) => number;\n}\n\ninterface UseBottomSheetDragResult {\n /** The pan gesture to attach to GestureDetector. */\n panGesture: GestureType;\n /** Ref to the pan gesture — for simultaneousWithExternalGesture in scroll. */\n panGestureRef: React.RefObject<GestureType | undefined>;\n /** Shared value — set to Date.now() when sheet opens, for fresh-open lock. */\n openTimeSV: SharedValue<number>;\n}\n\n/**\n * Builds the pan gesture that drives sheet dragging.\n *\n * Handles:\n * - Drag-to-snap (nearest or velocity-based)\n * - Drag-to-dismiss (past lowest snap threshold or fast fling)\n * - Fresh-open lock (prevents accidental drag right after opening)\n * - Scroll coordination (gates between sheet drag and content scroll)\n *\n * Scroll is only unlocked at the max snap point. At non-max snaps, dragging\n * anywhere on the sheet expands or collapses it. At max snap, content is\n * scrollable; dragging down from scroll-top collapses the sheet.\n *\n * All gesture callbacks run on the UI thread via Reanimated worklets.\n */\nfunction useBottomSheetDrag({\n enableDrag,\n dismissible,\n enableOverstretch,\n resolvedSnapPoints,\n containerHeight,\n bottomInsetPx,\n translateY,\n activeSnapIndex,\n isAnimating,\n animateToSnapWorklet,\n animateToCloseWorklet,\n onDismiss,\n scrollLocked,\n scrollOffsetY,\n getTranslateYForSnap,\n}: UseBottomSheetDragParams): UseBottomSheetDragResult {\n // Shared values for drag state (UI thread).\n const isDragActive = useSharedValue(false);\n const touchStartX = useSharedValue(0);\n const touchStartY = useSharedValue(0);\n const dragStartTranslateY = useSharedValue(0);\n const dragStartIndex = useSharedValue(0);\n const openTimeSV = useSharedValue(0);\n\n // Ref for the pan gesture — passed to BottomSheetContent for gesture composition.\n const panGestureRef = useRef<GestureType | undefined>(undefined);\n\n const snapCount = resolvedSnapPoints.length;\n const maxSnapIndex = snapCount - 1;\n\n /** Compute all snap translateY positions — worklet. */\n const getSnapTranslateYs = useCallback((): number[] => {\n 'worklet';\n const result: number[] = [];\n for (let i = 0; i < snapCount; i++) {\n result.push(getTranslateYForSnap(i));\n }\n return result;\n }, [snapCount, getTranslateYForSnap]);\n\n /** Dismiss threshold: 25% of the lowest snap height. */\n const getDismissThreshold = useCallback((): number => {\n 'worklet';\n if (snapCount === 0) {\n return 50;\n }\n const lowestSnapHeight = resolveHeightToPx(resolvedSnapPoints[0]!, containerHeight.value);\n return lowestSnapHeight * 0.25;\n }, [resolvedSnapPoints, snapCount, containerHeight]);\n\n const handleDismissJS = useCallback(() => {\n onDismiss();\n }, [onDismiss]);\n\n const panGesture = Gesture.Pan()\n .withRef(panGestureRef)\n .manualActivation(true)\n .onTouchesDown((e, _stateManager) => {\n 'worklet';\n const touch = e.allTouches[0];\n if (touch) {\n touchStartX.value = touch.absoluteX;\n touchStartY.value = touch.absoluteY;\n }\n })\n .onTouchesMove((e, stateManager) => {\n 'worklet';\n const touch = e.allTouches[0];\n if (!touch) {\n return;\n }\n\n const dx = touch.absoluteX - touchStartX.value;\n const dy = touch.absoluteY - touchStartY.value;\n\n // Fail on horizontal movement (replaces failOffsetX).\n if (Math.abs(dx) > HORIZONTAL_FAIL_THRESHOLD) {\n stateManager.fail();\n return;\n }\n\n // Wait for sufficient vertical movement (replaces activeOffsetY).\n if (Math.abs(dy) < VERTICAL_ACTIVATION_THRESHOLD) {\n return;\n }\n\n // Fresh-open lock.\n const now = Date.now();\n if (openTimeSV.value > 0 && now - openTimeSV.value < OPEN_LOCK_TIMEOUT_MS) {\n stateManager.fail();\n return;\n }\n\n // Don't activate during animation.\n if (isAnimating.value) {\n stateManager.fail();\n return;\n }\n\n const isAtMaxSnap = activeSnapIndex.value === maxSnapIndex;\n\n if (isAtMaxSnap) {\n if (dy < 0) {\n if (!enableOverstretch) {\n // No enableOverstretch — let the scroll view handle all upward drags.\n stateManager.fail();\n return;\n }\n // Header/handle: allow rubber-band enableOverstretch.\n // Content area: defer to scroll view (always on Android,\n // only when scrolled on iOS).\n const localY = touchStartY.value - translateY.value;\n const isInContentArea = localY > HEADER_AREA_HEIGHT;\n if (isInContentArea && (Platform.OS === 'android' || scrollOffsetY.value > 1)) {\n stateManager.fail();\n return;\n }\n } else {\n // Dragging down on Android: defer to scroll view in content\n // area when scrolled. Header drags always collapse.\n if (Platform.OS === 'android' && scrollOffsetY.value > 1) {\n const localY = touchStartY.value - translateY.value;\n if (localY > HEADER_AREA_HEIGHT) {\n stateManager.fail();\n return;\n }\n }\n }\n }\n\n stateManager.activate();\n })\n .onStart(() => {\n 'worklet';\n isDragActive.value = true;\n dragStartTranslateY.value = translateY.value;\n dragStartIndex.value = activeSnapIndex.value;\n scrollLocked.value = true;\n })\n .onUpdate((event) => {\n 'worklet';\n if (!isDragActive.value) {\n return;\n }\n\n const maxSnapTranslateY = snapCount > 0 ? getTranslateYForSnap(snapCount - 1) : 0;\n const closedTranslateY = containerHeight.value + bottomInsetPx;\n\n const nextY = dragStartTranslateY.value + event.translationY;\n\n if (enableOverstretch && nextY < maxSnapTranslateY) {\n // Rubber-band enableOverstretch past max snap.\n const overflow = maxSnapTranslateY - nextY;\n const dampedOverflow = Math.min(overflow * RUBBER_BAND_FACTOR, MAX_OVERSTRETCH_PX);\n translateY.value = maxSnapTranslateY - dampedOverflow;\n } else {\n translateY.value = clamp(nextY, maxSnapTranslateY, closedTranslateY);\n }\n })\n .onEnd((event) => {\n 'worklet';\n if (!isDragActive.value) {\n return;\n }\n isDragActive.value = false;\n\n const currentY = translateY.value;\n const startIndex = dragStartIndex.value;\n const snapTranslateYs = getSnapTranslateYs();\n\n // Compute drag metrics.\n const startSnapY = snapTranslateYs[startIndex] ?? containerHeight.value;\n const draggedDistance = dragStartTranslateY.value - currentY;\n const draggedDown = draggedDistance < 0;\n const draggedUp = draggedDistance > 0;\n const velocityPxPerSec = Math.abs(event.velocityY);\n\n // 1. Dismiss check: at lowest snap, dragged down, meets threshold.\n const isAtLowestSnap = startIndex === 0;\n const dismissThreshold = getDismissThreshold();\n const draggedDownAmount = currentY - startSnapY;\n\n if (\n dismissible &&\n isAtLowestSnap &&\n draggedDown &&\n (velocityPxPerSec >= DRAG_DISMISS_VELOCITY || draggedDownAmount >= dismissThreshold)\n ) {\n scrollLocked.value = true;\n animateToCloseWorklet();\n runOnJS(handleDismissJS)();\n return;\n }\n\n // 2. Velocity snap: fast enough → move one snap in drag direction.\n if (velocityPxPerSec >= DRAG_DISMISS_VELOCITY && (draggedUp || draggedDown)) {\n const direction = draggedUp ? 1 : -1;\n const nextIndex = clampIndex(startIndex + direction, snapCount);\n scrollLocked.value = nextIndex !== maxSnapIndex;\n animateToSnapWorklet(nextIndex);\n return;\n }\n\n // 3. Direction-aware snap: if the user dragged past 25% of the distance\n // to the next snap in their drag direction, move to that snap.\n // Otherwise snap back to the starting snap.\n const nextIndexInDirection = draggedUp\n ? Math.min(startIndex + 1, maxSnapIndex)\n : Math.max(startIndex - 1, 0);\n const nextSnapY = snapTranslateYs[nextIndexInDirection] ?? startSnapY;\n const distBetweenSnaps = Math.abs(nextSnapY - startSnapY);\n const dragDist = Math.abs(currentY - startSnapY);\n\n const targetIndex =\n distBetweenSnaps > 0 && dragDist > distBetweenSnaps * 0.25\n ? nextIndexInDirection\n : startIndex;\n\n scrollLocked.value = targetIndex !== maxSnapIndex;\n animateToSnapWorklet(targetIndex);\n })\n .onFinalize(() => {\n 'worklet';\n if (isDragActive.value) {\n isDragActive.value = false;\n }\n })\n .enabled(enableDrag);\n\n return {\n panGesture,\n panGestureRef,\n openTimeSV,\n };\n}\n\nexport { useBottomSheetDrag };\n"],"mappings":"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"}
1
+ {"version":3,"file":"useBottomSheetDrag.js","names":[],"sources":["../../../src/components/BottomSheet/useBottomSheetDrag.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\nimport { Platform } from 'react-native';\nimport type { GestureType } from 'react-native-gesture-handler';\nimport { Gesture } from 'react-native-gesture-handler';\nimport type { SharedValue } from 'react-native-reanimated';\nimport { runOnJS, useSharedValue } from 'react-native-reanimated';\n\nimport type { BottomSheetHeight } from './types';\nimport { clamp, clampIndex, resolveHeightToPx } from './utils';\n\n/**\n * Velocity threshold (px/s) above which a downward fling dismisses the sheet.\n */\nconst DRAG_DISMISS_VELOCITY = 500;\n\n/**\n * Duration (ms) after opening during which drag is blocked to prevent\n * accidentally stealing scroll intent.\n */\nconst OPEN_LOCK_TIMEOUT_MS = 250;\n\n/**\n * Horizontal movement (px) that causes the pan gesture to fail,\n * handing control to horizontal scrolling or other gestures.\n */\nconst HORIZONTAL_FAIL_THRESHOLD = 20;\n\n/**\n * Minimum vertical movement (px) required before deciding whether to\n * activate the pan gesture or let the scroll view handle the touch.\n */\nconst VERTICAL_ACTIVATION_THRESHOLD = 10;\n\n/**\n * Approximate height (px) of the header area (paddingTop + handle + header row).\n * Touches above this threshold always activate the pan for sheet collapse.\n * Touches below it may defer to the scroll view on Android.\n */\nconst HEADER_AREA_HEIGHT = 64;\n\n/** How much drag past max snap is visible (0–1). Lower = more resistance. */\nconst RUBBER_BAND_FACTOR = 0.2;\n\n/** Max enableOverstretch distance (px) past the max snap point. */\nconst MAX_OVERSTRETCH_PX = 30;\n\ninterface UseBottomSheetDragParams {\n enableDrag: boolean;\n dismissible: boolean;\n enableOverstretch: boolean;\n resolvedSnapPoints: BottomSheetHeight[];\n containerHeight: SharedValue<number>;\n bottomInsetPx: number;\n translateY: SharedValue<number>;\n activeSnapIndex: SharedValue<number>;\n isAnimating: SharedValue<boolean>;\n animateToSnapWorklet: (index: number) => void;\n animateToCloseWorklet: () => void;\n onDismiss: () => void;\n /** Scroll lock — written here, read by BottomSheetContent. */\n scrollLocked: SharedValue<boolean>;\n /** Current content scroll offset (UI-thread shared value). */\n scrollOffsetY: SharedValue<number>;\n /** Compute translateY for a given snap index (worklet). Provided by the snap model. */\n getTranslateYForSnap: (index: number) => number;\n}\n\ninterface UseBottomSheetDragResult {\n /** The pan gesture to attach to GestureDetector. */\n panGesture: GestureType;\n /** Ref to the pan gesture — for simultaneousWithExternalGesture in scroll. */\n panGestureRef: React.RefObject<GestureType | undefined>;\n /** Shared value — set to Date.now() when sheet opens, for fresh-open lock. */\n openTimeSV: SharedValue<number>;\n}\n\n/**\n * Builds the pan gesture that drives sheet dragging.\n *\n * Handles:\n * - Drag-to-snap (nearest or velocity-based)\n * - Drag-to-dismiss (past lowest snap threshold or fast fling)\n * - Fresh-open lock (prevents accidental drag right after opening)\n * - Scroll coordination (gates between sheet drag and content scroll)\n *\n * Scroll is only unlocked at the max snap point. At non-max snaps, dragging\n * anywhere on the sheet expands or collapses it. At max snap, content is\n * scrollable; dragging down from scroll-top collapses the sheet.\n *\n * All gesture callbacks run on the UI thread via Reanimated worklets.\n */\nfunction useBottomSheetDrag({\n enableDrag,\n dismissible,\n enableOverstretch,\n resolvedSnapPoints,\n containerHeight,\n bottomInsetPx,\n translateY,\n activeSnapIndex,\n isAnimating,\n animateToSnapWorklet,\n animateToCloseWorklet,\n onDismiss,\n scrollLocked,\n scrollOffsetY,\n getTranslateYForSnap,\n}: UseBottomSheetDragParams): UseBottomSheetDragResult {\n // Shared values for drag state (UI thread).\n const isDragActive = useSharedValue(false);\n const touchStartX = useSharedValue(0);\n const touchStartY = useSharedValue(0);\n const dragStartTranslateY = useSharedValue(0);\n const dragStartIndex = useSharedValue(0);\n const openTimeSV = useSharedValue(0);\n\n // Ref for the pan gesture — passed to BottomSheetContent for gesture composition.\n const panGestureRef = useRef<GestureType | undefined>(undefined);\n\n const snapCount = resolvedSnapPoints.length;\n const maxSnapIndex = snapCount - 1;\n\n /** Compute all snap translateY positions — worklet. */\n const getSnapTranslateYs = useCallback((): number[] => {\n 'worklet';\n const result: number[] = [];\n for (let i = 0; i < snapCount; i++) {\n result.push(getTranslateYForSnap(i));\n }\n return result;\n }, [snapCount, getTranslateYForSnap]);\n\n /** Dismiss threshold: 25% of the lowest snap height. */\n const getDismissThreshold = useCallback((): number => {\n 'worklet';\n if (snapCount === 0) {\n return 50;\n }\n const lowestSnapHeight = resolveHeightToPx(resolvedSnapPoints[0]!, containerHeight.value);\n return lowestSnapHeight * 0.25;\n }, [resolvedSnapPoints, snapCount, containerHeight]);\n\n const handleDismissJS = useCallback(() => {\n onDismiss();\n }, [onDismiss]);\n\n const panGesture = Gesture.Pan()\n .withRef(panGestureRef)\n .manualActivation(true)\n .onTouchesDown((e, _stateManager) => {\n 'worklet';\n const touch = e.allTouches[0];\n if (touch) {\n touchStartX.value = touch.absoluteX;\n touchStartY.value = touch.absoluteY;\n }\n })\n .onTouchesMove((e, stateManager) => {\n 'worklet';\n const touch = e.allTouches[0];\n if (!touch) {\n return;\n }\n\n const dx = touch.absoluteX - touchStartX.value;\n const dy = touch.absoluteY - touchStartY.value;\n\n // Fail on horizontal movement (replaces failOffsetX).\n if (Math.abs(dx) > HORIZONTAL_FAIL_THRESHOLD) {\n stateManager.fail();\n return;\n }\n\n // Wait for sufficient vertical movement (replaces activeOffsetY).\n if (Math.abs(dy) < VERTICAL_ACTIVATION_THRESHOLD) {\n return;\n }\n\n // Fresh-open lock.\n const now = Date.now();\n if (openTimeSV.value > 0 && now - openTimeSV.value < OPEN_LOCK_TIMEOUT_MS) {\n stateManager.fail();\n return;\n }\n\n // Don't activate during animation.\n if (isAnimating.value) {\n stateManager.fail();\n return;\n }\n\n const isAtMaxSnap = activeSnapIndex.value === maxSnapIndex;\n\n if (isAtMaxSnap) {\n if (dy < 0) {\n if (!enableOverstretch) {\n // No enableOverstretch — let the scroll view handle all upward drags.\n stateManager.fail();\n return;\n }\n // Header/handle: allow rubber-band enableOverstretch.\n // Content area: defer to scroll view (always on Android,\n // only when scrolled on iOS).\n const localY = touchStartY.value - translateY.value;\n const isInContentArea = localY > HEADER_AREA_HEIGHT;\n if (isInContentArea && (Platform.OS === 'android' || scrollOffsetY.value > 1)) {\n stateManager.fail();\n return;\n }\n } else {\n // Dragging down on Android: defer to scroll view in content\n // area when scrolled. Header drags always collapse.\n if (Platform.OS === 'android' && scrollOffsetY.value > 1) {\n const localY = touchStartY.value - translateY.value;\n if (localY > HEADER_AREA_HEIGHT) {\n stateManager.fail();\n return;\n }\n }\n }\n }\n\n stateManager.activate();\n })\n .onStart(() => {\n 'worklet';\n isDragActive.value = true;\n dragStartTranslateY.value = translateY.value;\n dragStartIndex.value = activeSnapIndex.value;\n scrollLocked.value = true;\n })\n .onUpdate((event) => {\n 'worklet';\n if (!isDragActive.value) {\n return;\n }\n\n const maxSnapTranslateY = snapCount > 0 ? getTranslateYForSnap(snapCount - 1) : 0;\n const closedTranslateY = containerHeight.value + bottomInsetPx;\n\n const nextY = dragStartTranslateY.value + event.translationY;\n\n if (enableOverstretch && nextY < maxSnapTranslateY) {\n // Rubber-band enableOverstretch past max snap.\n const overflow = maxSnapTranslateY - nextY;\n const dampedOverflow = Math.min(overflow * RUBBER_BAND_FACTOR, MAX_OVERSTRETCH_PX);\n translateY.value = maxSnapTranslateY - dampedOverflow;\n } else {\n translateY.value = clamp(nextY, maxSnapTranslateY, closedTranslateY);\n }\n })\n .onEnd((event) => {\n 'worklet';\n if (!isDragActive.value) {\n return;\n }\n isDragActive.value = false;\n\n const currentY = translateY.value;\n const startIndex = dragStartIndex.value;\n const snapTranslateYs = getSnapTranslateYs();\n\n // Compute drag metrics.\n const startSnapY = snapTranslateYs[startIndex] ?? containerHeight.value;\n const draggedDistance = dragStartTranslateY.value - currentY;\n const draggedDown = draggedDistance < 0;\n const draggedUp = draggedDistance > 0;\n const velocityPxPerSec = Math.abs(event.velocityY);\n\n // 1. Dismiss check: at lowest snap, dragged down, meets threshold.\n const isAtLowestSnap = startIndex === 0;\n const dismissThreshold = getDismissThreshold();\n const draggedDownAmount = currentY - startSnapY;\n\n if (\n dismissible &&\n isAtLowestSnap &&\n draggedDown &&\n (velocityPxPerSec >= DRAG_DISMISS_VELOCITY || draggedDownAmount >= dismissThreshold)\n ) {\n scrollLocked.value = true;\n animateToCloseWorklet();\n runOnJS(handleDismissJS)();\n return;\n }\n\n // 2. Velocity snap: fast enough → move one snap in drag direction.\n if (velocityPxPerSec >= DRAG_DISMISS_VELOCITY && (draggedUp || draggedDown)) {\n const direction = draggedUp ? 1 : -1;\n const nextIndex = clampIndex(startIndex + direction, snapCount);\n scrollLocked.value = nextIndex !== maxSnapIndex;\n animateToSnapWorklet(nextIndex);\n return;\n }\n\n // 3. Direction-aware snap: if the user dragged past 25% of the distance\n // to the next snap in their drag direction, move to that snap.\n // Otherwise snap back to the starting snap.\n const nextIndexInDirection = draggedUp\n ? Math.min(startIndex + 1, maxSnapIndex)\n : Math.max(startIndex - 1, 0);\n const nextSnapY = snapTranslateYs[nextIndexInDirection] ?? startSnapY;\n const distBetweenSnaps = Math.abs(nextSnapY - startSnapY);\n const dragDist = Math.abs(currentY - startSnapY);\n\n const targetIndex =\n distBetweenSnaps > 0 && dragDist > distBetweenSnaps * 0.25\n ? nextIndexInDirection\n : startIndex;\n\n scrollLocked.value = targetIndex !== maxSnapIndex;\n animateToSnapWorklet(targetIndex);\n })\n .onFinalize(() => {\n 'worklet';\n if (isDragActive.value) {\n isDragActive.value = false;\n }\n })\n .enabled(enableDrag);\n\n return {\n panGesture,\n panGestureRef,\n openTimeSV,\n };\n}\n\nexport { useBottomSheetDrag };\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
- const require_components_BottomSheet_BottomSheetInternalProvider = require('./BottomSheetInternalProvider.cjs');
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../../_virtual/_rolldown/runtime.cjs");
4
+ const require_components_BottomSheet_BottomSheetInternalProvider = require("./BottomSheetInternalProvider.cjs");
5
5
  let react_native_reanimated = require("react-native-reanimated");
6
6
  let react_native_gesture_handler = require("react-native-gesture-handler");
7
-
8
7
  //#region src/components/BottomSheet/useBottomSheetScroll.ts
9
8
  /**
10
9
  * Low-level hook for consumers who need a custom scrollable (e.g. `FlatList`,
@@ -56,6 +55,5 @@ function useBottomSheetScroll() {
56
55
  animatedProps
57
56
  };
58
57
  }
59
-
60
58
  //#endregion
61
- exports.useBottomSheetScroll = useBottomSheetScroll;
59
+ exports.useBottomSheetScroll = useBottomSheetScroll;