@astryxdesign/core 0.7.6-canary.e428366 → 0.7.6-canary.e64b41b

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 (981) hide show
  1. package/dist/AppShell/AppShell.d.ts.map +1 -1
  2. package/dist/AppShell/AppShell.js +0 -6
  3. package/dist/Banner/Banner.d.ts.map +1 -1
  4. package/dist/Banner/Banner.js +4 -4
  5. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  6. package/dist/BottomSheet/BottomSheet.js +37 -6
  7. package/dist/BottomSheet/BottomSheetPanel.d.ts +11 -1
  8. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  9. package/dist/BottomSheet/BottomSheetPanel.js +50 -10
  10. package/dist/BottomSheet/BottomSheetSwitcher.d.ts +11 -8
  11. package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
  12. package/dist/BottomSheet/BottomSheetSwitcher.js +27 -10
  13. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +8 -0
  14. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
  15. package/dist/BottomSheet/useMobileKeyboard.d.ts.map +1 -1
  16. package/dist/BottomSheet/useMobileKeyboard.js +44 -8
  17. package/dist/BottomSheet/useSheetGestures.d.ts +36 -6
  18. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  19. package/dist/BottomSheet/useSheetGestures.js +67 -10
  20. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -2
  21. package/dist/Button/Button.d.ts.map +1 -1
  22. package/dist/Button/Button.js +13 -7
  23. package/dist/Calendar/Calendar.d.ts.map +1 -1
  24. package/dist/Calendar/Calendar.js +6 -8
  25. package/dist/Calendar/hooks/useCalendarNavigation.d.ts.map +1 -1
  26. package/dist/Calendar/hooks/useCalendarNavigation.js +4 -7
  27. package/dist/Center/Center.d.ts +1 -1
  28. package/dist/Center/Center.js +1 -1
  29. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  30. package/dist/Chat/ChatComposer.js +15 -6
  31. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  32. package/dist/Chat/ChatComposerDrawer.js +1 -1
  33. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  34. package/dist/Chat/ChatComposerInput.js +1 -1
  35. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  36. package/dist/Chat/ChatLayout.js +1 -1
  37. package/dist/Chat/ChatMessageList.d.ts.map +1 -1
  38. package/dist/Chat/ChatMessageList.js +3 -1
  39. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  40. package/dist/Chat/ChatPastedTextToken.js +15 -4
  41. package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
  42. package/dist/Chat/ChatSystemMessage.js +2 -1
  43. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  44. package/dist/Chat/useTriggerMenu.d.ts +1 -1
  45. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  46. package/dist/Chat/useTriggerMenu.js +13 -28
  47. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  48. package/dist/CheckboxList/CheckboxList.js +5 -2
  49. package/dist/CheckboxList/CheckboxListContext.d.ts +8 -0
  50. package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
  51. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  52. package/dist/CheckboxList/CheckboxListItem.js +5 -2
  53. package/dist/Code/Code.d.ts +1 -1
  54. package/dist/Code/Code.js +1 -1
  55. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  56. package/dist/CodeBlock/CodeBlock.js +24 -5
  57. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  58. package/dist/Collapsible/Collapsible.js +23 -3
  59. package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
  60. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
  61. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  62. package/dist/CommandPalette/CommandPaletteInput.js +8 -5
  63. package/dist/ComplexSelector/ComplexSelector.d.ts +2 -2
  64. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  65. package/dist/ComplexSelector/ComplexSelector.js +1 -2
  66. package/dist/ContextMenu/ContextMenu.d.ts +6 -0
  67. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  68. package/dist/ContextMenu/ContextMenu.js +31 -7
  69. package/dist/DateInput/DateInput.d.ts +3 -2
  70. package/dist/DateInput/DateInput.d.ts.map +1 -1
  71. package/dist/DateInput/MonthScroller.d.ts.map +1 -1
  72. package/dist/DateInput/MonthScroller.js +4 -3
  73. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  74. package/dist/DateInput/TouchDateField.js +4 -3
  75. package/dist/DateRangeInput/DateRangeInput.d.ts +3 -2
  76. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  77. package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
  78. package/dist/DateTimeInput/TouchDateTimeField.js +4 -3
  79. package/dist/Dialog/Dialog.d.ts +1 -1
  80. package/dist/Dialog/Dialog.d.ts.map +1 -1
  81. package/dist/Dialog/Dialog.js +30 -18
  82. package/dist/Drawer/Drawer.d.ts +2 -2
  83. package/dist/Drawer/Drawer.d.ts.map +1 -1
  84. package/dist/Drawer/Drawer.js +22 -4
  85. package/dist/DropdownMenu/DropdownMenu.d.ts +1 -1
  86. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  87. package/dist/DropdownMenu/DropdownMenu.js +25 -69
  88. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +3 -2
  89. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  90. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +4 -3
  91. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  92. package/dist/DropdownMenu/DropdownMenuItem.js +4 -3
  93. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +4 -3
  94. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  95. package/dist/DropdownMenu/DropdownMenuRadioItem.js +4 -3
  96. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  97. package/dist/DropdownMenu/DropdownMenuSubMenu.js +10 -6
  98. package/dist/DropdownMenu/MenuBottomSheetActionList.d.ts.map +1 -1
  99. package/dist/DropdownMenu/MenuBottomSheetActionList.js +9 -3
  100. package/dist/Field/Field.d.ts +2 -2
  101. package/dist/Field/Field.d.ts.map +1 -1
  102. package/dist/Field/FieldLabel.d.ts.map +1 -1
  103. package/dist/Field/FieldLabel.js +5 -13
  104. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  105. package/dist/Field/PanelSearchInput.js +10 -5
  106. package/dist/Field/fieldStatusPlacement.d.ts +15 -0
  107. package/dist/Field/fieldStatusPlacement.d.ts.map +1 -0
  108. package/dist/Field/fieldStatusPlacement.js +1 -0
  109. package/dist/Field/index.d.ts +1 -0
  110. package/dist/Field/index.d.ts.map +1 -1
  111. package/dist/Field/inputDisabledFocus.d.ts +5 -1
  112. package/dist/Field/inputDisabledFocus.d.ts.map +1 -1
  113. package/dist/Field/inputDisabledFocus.js +6 -1
  114. package/dist/Field/inputStyles.stylex.d.ts +12 -9
  115. package/dist/Field/inputStyles.stylex.d.ts.map +1 -1
  116. package/dist/Field/inputStyles.stylex.js +12 -9
  117. package/dist/FieldStatus/FieldStatus.d.ts +13 -28
  118. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  119. package/dist/FieldStatus/FieldStatus.js +25 -3
  120. package/dist/FieldStatus/index.d.ts +7 -0
  121. package/dist/FieldStatus/index.d.ts.map +1 -1
  122. package/dist/FileInput/FileInput.d.ts +7 -2
  123. package/dist/FileInput/FileInput.d.ts.map +1 -1
  124. package/dist/FileInput/FileInput.js +27 -2
  125. package/dist/Grid/Grid.d.ts +6 -4
  126. package/dist/Grid/Grid.d.ts.map +1 -1
  127. package/dist/Grid/GridSpan.d.ts +2 -0
  128. package/dist/Grid/GridSpan.d.ts.map +1 -1
  129. package/dist/Grid/GridSpan.js +2 -0
  130. package/dist/Heading/Heading.d.ts +5 -3
  131. package/dist/Heading/Heading.d.ts.map +1 -1
  132. package/dist/Heading/Heading.js +5 -3
  133. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  134. package/dist/HoverCard/useHoverCard.js +7 -0
  135. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  136. package/dist/InputGroup/groupStyles.js +12 -6
  137. package/dist/Item/Item.d.ts.map +1 -1
  138. package/dist/Item/Item.js +11 -7
  139. package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
  140. package/dist/Item/ItemSwipeLayer.js +8 -2
  141. package/dist/Layer/layerStructureReset.stylex.d.ts +1 -0
  142. package/dist/Layer/layerStructureReset.stylex.d.ts.map +1 -1
  143. package/dist/Layer/layerStructureReset.stylex.js +1 -0
  144. package/dist/Layer/layerSurfacePress.d.ts +9 -0
  145. package/dist/Layer/layerSurfacePress.d.ts.map +1 -0
  146. package/dist/Layer/layerSurfacePress.js +39 -0
  147. package/dist/Layer/outsidePress.d.ts +25 -0
  148. package/dist/Layer/outsidePress.d.ts.map +1 -0
  149. package/dist/Layer/outsidePress.js +81 -0
  150. package/dist/Layer/useLayer.d.ts +8 -0
  151. package/dist/Layer/useLayer.d.ts.map +1 -1
  152. package/dist/Layer/useLayer.js +6 -4
  153. package/dist/Layer/useTouchTrigger.d.ts +26 -3
  154. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  155. package/dist/Layer/useTouchTrigger.js +79 -10
  156. package/dist/Markdown/Markdown.d.ts.map +1 -1
  157. package/dist/Markdown/Markdown.js +1 -0
  158. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  159. package/dist/MetadataList/MetadataList.js +2 -1
  160. package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
  161. package/dist/MetadataList/MetadataListItem.js +2 -1
  162. package/dist/MultiSelector/MultiSelector.d.ts +2 -2
  163. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  164. package/dist/MultiSelector/MultiSelector.js +16 -16
  165. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  166. package/dist/MultiSelector/hooks.js +4 -2
  167. package/dist/NumberInput/NumberInput.d.ts +3 -2
  168. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  169. package/dist/OverflowList/OverflowList.d.ts.map +1 -1
  170. package/dist/OverflowList/OverflowList.js +2 -1
  171. package/dist/Pagination/Pagination.d.ts.map +1 -1
  172. package/dist/Popover/Popover.js +2 -2
  173. package/dist/Popover/usePopover.d.ts +7 -1
  174. package/dist/Popover/usePopover.d.ts.map +1 -1
  175. package/dist/Popover/usePopover.js +8 -2
  176. package/dist/PowerSearch/PowerSearch.d.ts +3 -2
  177. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  178. package/dist/PowerSearch/PowerSearch.js +4 -2
  179. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  180. package/dist/ProgressBar/ProgressBar.js +3 -1
  181. package/dist/RadioList/RadioList.d.ts.map +1 -1
  182. package/dist/RadioList/RadioList.js +7 -2
  183. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  184. package/dist/RadioList/RadioListItem.js +8 -2
  185. package/dist/RadioList/RadioListReasonContext.d.ts +2 -0
  186. package/dist/RadioList/RadioListReasonContext.d.ts.map +1 -0
  187. package/dist/RadioList/RadioListReasonContext.js +22 -0
  188. package/dist/Resizable/resizableModel.d.ts +64 -0
  189. package/dist/Resizable/resizableModel.d.ts.map +1 -0
  190. package/dist/Resizable/resizableModel.js +287 -0
  191. package/dist/Resizable/useResizable.d.ts +2 -2
  192. package/dist/Resizable/useResizable.d.ts.map +1 -1
  193. package/dist/Resizable/useResizable.js +1 -284
  194. package/dist/SegmentedControl/SegmentedControl.d.ts +7 -5
  195. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  196. package/dist/SegmentedControl/SegmentedControl.js +26 -16
  197. package/dist/SegmentedControl/SegmentedControlContext.d.ts +4 -5
  198. package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  199. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  200. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  201. package/dist/SegmentedControl/SegmentedControlItem.js +16 -13
  202. package/dist/Selector/Selector.d.ts +3 -3
  203. package/dist/Selector/Selector.d.ts.map +1 -1
  204. package/dist/Selector/Selector.js +5 -2
  205. package/dist/Selector/useSelectorPresentation.d.ts +7 -1
  206. package/dist/Selector/useSelectorPresentation.d.ts.map +1 -1
  207. package/dist/Selector/useSelectorPresentation.js +2 -1
  208. package/dist/SideNav/SideNav.d.ts.map +1 -1
  209. package/dist/SideNav/SideNav.js +142 -14
  210. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  211. package/dist/SideNav/SideNavCollapseButton.js +11 -2
  212. package/dist/SideNav/SideNavFocusTargetsContext.d.ts +11 -0
  213. package/dist/SideNav/SideNavFocusTargetsContext.d.ts.map +1 -0
  214. package/dist/SideNav/SideNavFocusTargetsContext.js +16 -0
  215. package/dist/SideNav/SideNavHeading.js +6 -2
  216. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  217. package/dist/SideNav/SideNavItem.js +13 -1
  218. package/dist/SideNav/railMotion.d.ts +5 -5
  219. package/dist/SideNav/railMotion.d.ts.map +1 -1
  220. package/dist/SideNav/railMotion.js +69 -177
  221. package/dist/Slider/Slider.d.ts.map +1 -1
  222. package/dist/Slider/Slider.js +10 -7
  223. package/dist/Table/BaseTable.d.ts.map +1 -1
  224. package/dist/Table/BaseTable.js +7 -6
  225. package/dist/Table/glidingDivider.d.ts +8 -1
  226. package/dist/Table/glidingDivider.d.ts.map +1 -1
  227. package/dist/Table/glidingDivider.js +8 -3
  228. package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  229. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  230. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +1 -2
  231. package/dist/Text/text.stylex.d.ts +2 -0
  232. package/dist/Text/text.stylex.d.ts.map +1 -1
  233. package/dist/Text/text.stylex.js +11 -0
  234. package/dist/TextArea/TextArea.d.ts +2 -2
  235. package/dist/TextArea/TextArea.d.ts.map +1 -1
  236. package/dist/TextInput/TextInput.d.ts +3 -2
  237. package/dist/TextInput/TextInput.d.ts.map +1 -1
  238. package/dist/TimeInput/TimeInput.d.ts +3 -2
  239. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  240. package/dist/Timer/Timer.js +1 -1
  241. package/dist/Toast/Toast.d.ts.map +1 -1
  242. package/dist/Toast/Toast.js +1 -1
  243. package/dist/Toast/useToast.d.ts.map +1 -1
  244. package/dist/Toast/useToast.js +8 -2
  245. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  246. package/dist/ToggleButton/ToggleButton.js +11 -3
  247. package/dist/Token/Token.d.ts.map +1 -1
  248. package/dist/Token/Token.js +8 -1
  249. package/dist/Token/TokenLink.d.ts +9 -2
  250. package/dist/Token/TokenLink.d.ts.map +1 -1
  251. package/dist/Token/TokenLink.js +2 -0
  252. package/dist/Tokenizer/Tokenizer.d.ts +12 -5
  253. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  254. package/dist/Tokenizer/Tokenizer.js +14 -5
  255. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
  256. package/dist/Tokenizer/TokenizerBottomSheet.js +1 -1
  257. package/dist/Tooltip/Tooltip.d.ts +4 -3
  258. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  259. package/dist/Tooltip/useTooltip.d.ts +4 -3
  260. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  261. package/dist/Tooltip/useTooltip.js +40 -8
  262. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  263. package/dist/TopNav/TopNavHeading.js +8 -2
  264. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  265. package/dist/TopNav/TopNavMegaMenu.js +4 -3
  266. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
  267. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +9 -2
  268. package/dist/TreeList/TreeList.d.ts.map +1 -1
  269. package/dist/TreeList/TreeList.js +68 -7
  270. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  271. package/dist/TreeList/TreeListItem.js +4 -3
  272. package/dist/Typeahead/BaseTypeahead.d.ts +8 -5
  273. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  274. package/dist/Typeahead/BaseTypeahead.js +321 -56
  275. package/dist/Typeahead/Typeahead.d.ts +13 -8
  276. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  277. package/dist/Typeahead/Typeahead.disabled.a11y.chromium.spec.d.ts.map +1 -0
  278. package/dist/Typeahead/Typeahead.js +9 -7
  279. package/dist/Typeahead/index.d.ts +1 -1
  280. package/dist/Typeahead/index.d.ts.map +1 -1
  281. package/dist/Typeahead/types.d.ts +26 -3
  282. package/dist/Typeahead/types.d.ts.map +1 -1
  283. package/dist/astryx.css +15 -6
  284. package/dist/gestures/GestureArena.d.ts +17 -3
  285. package/dist/gestures/GestureArena.d.ts.map +1 -1
  286. package/dist/gestures/GestureArena.js +70 -38
  287. package/dist/gestures/GestureHost.d.ts +330 -95
  288. package/dist/gestures/GestureHost.d.ts.map +1 -1
  289. package/dist/gestures/GestureHost.js +1304 -475
  290. package/dist/gestures/GestureRecognizer.d.ts +56 -17
  291. package/dist/gestures/GestureRecognizer.d.ts.map +1 -1
  292. package/dist/gestures/GestureRecognizer.js +28 -2
  293. package/dist/gestures/LongPressGestureRecognizer.d.ts +2 -0
  294. package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -1
  295. package/dist/gestures/LongPressGestureRecognizer.js +14 -1
  296. package/dist/gestures/PanGestureRecognizer.d.ts +11 -0
  297. package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -1
  298. package/dist/gestures/PanGestureRecognizer.js +25 -0
  299. package/dist/gestures/PinchGestureRecognizer.d.ts +3 -2
  300. package/dist/gestures/PinchGestureRecognizer.d.ts.map +1 -1
  301. package/dist/gestures/PinchGestureRecognizer.js +10 -8
  302. package/dist/gestures/PressTracker.d.ts +31 -3
  303. package/dist/gestures/PressTracker.d.ts.map +1 -1
  304. package/dist/gestures/PressTracker.js +25 -6
  305. package/dist/gestures/TapGestureRecognizer.d.ts +2 -0
  306. package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -1
  307. package/dist/gestures/TapGestureRecognizer.js +5 -0
  308. package/dist/gestures/VelocityTracker.d.ts +12 -0
  309. package/dist/gestures/VelocityTracker.d.ts.map +1 -1
  310. package/dist/gestures/VelocityTracker.js +38 -0
  311. package/dist/gestures/fingerScroll.d.ts +14 -0
  312. package/dist/gestures/fingerScroll.d.ts.map +1 -0
  313. package/dist/gestures/fingerScroll.js +181 -0
  314. package/dist/gestures/gestureSync.d.ts +12 -0
  315. package/dist/gestures/gestureSync.d.ts.map +1 -0
  316. package/dist/gestures/gestureSync.js +59 -0
  317. package/dist/gestures/haptics.d.ts +6 -3
  318. package/dist/gestures/haptics.d.ts.map +1 -1
  319. package/dist/gestures/haptics.js +9 -10
  320. package/dist/gestures/hostRegistry.d.ts +15 -0
  321. package/dist/gestures/hostRegistry.d.ts.map +1 -0
  322. package/dist/gestures/hostRegistry.js +16 -0
  323. package/dist/gestures/index.d.ts +6 -2
  324. package/dist/gestures/index.d.ts.map +1 -1
  325. package/dist/gestures/index.js +3 -1
  326. package/dist/gestures/nativeScroll.d.ts +2 -32
  327. package/dist/gestures/nativeScroll.d.ts.map +1 -1
  328. package/dist/gestures/nativeScroll.js +5 -17
  329. package/dist/gestures/pageHold.d.ts +21 -0
  330. package/dist/gestures/pageHold.d.ts.map +1 -0
  331. package/dist/gestures/pageHold.js +216 -0
  332. package/dist/gestures/recognizerInternals.d.ts +52 -0
  333. package/dist/gestures/recognizerInternals.d.ts.map +1 -0
  334. package/dist/gestures/recognizerInternals.js +33 -0
  335. package/dist/gestures/selectionLock.d.ts +10 -0
  336. package/dist/gestures/selectionLock.d.ts.map +1 -0
  337. package/dist/gestures/selectionLock.js +12 -0
  338. package/dist/gestures/touchAction.d.ts +10 -12
  339. package/dist/gestures/touchAction.d.ts.map +1 -1
  340. package/dist/gestures/touchAction.js +13 -21
  341. package/dist/gestures/types.d.ts +17 -0
  342. package/dist/gestures/types.d.ts.map +1 -1
  343. package/dist/gestures/useFingerScroll.d.ts +35 -0
  344. package/dist/gestures/useFingerScroll.d.ts.map +1 -0
  345. package/dist/gestures/useFingerScroll.js +70 -0
  346. package/dist/gestures/useGestureRecognizer.d.ts +23 -15
  347. package/dist/gestures/useGestureRecognizer.d.ts.map +1 -1
  348. package/dist/gestures/useGestureRecognizer.js +51 -160
  349. package/dist/gestures/usePressTracker.d.ts +34 -0
  350. package/dist/gestures/usePressTracker.d.ts.map +1 -0
  351. package/dist/gestures/usePressTracker.js +168 -0
  352. package/dist/hooks/ModalAnnounceProvider.d.ts +2 -2
  353. package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
  354. package/dist/hooks/ModalAnnounceProvider.js +9 -7
  355. package/dist/hooks/menuPressMarker.d.ts +13 -0
  356. package/dist/hooks/menuPressMarker.d.ts.map +1 -0
  357. package/dist/hooks/menuPressMarker.js +15 -0
  358. package/dist/hooks/useAttachment.d.ts +22 -0
  359. package/dist/hooks/useAttachment.d.ts.map +1 -0
  360. package/dist/hooks/useAttachment.js +50 -0
  361. package/dist/hooks/useClickableContainer.d.ts +27 -4
  362. package/dist/hooks/useClickableContainer.d.ts.map +1 -1
  363. package/dist/hooks/useClickableContainer.js +51 -14
  364. package/dist/hooks/useFocusReturnVisibility.d.ts +8 -1
  365. package/dist/hooks/useFocusReturnVisibility.d.ts.map +1 -1
  366. package/dist/hooks/useFocusReturnVisibility.js +14 -8
  367. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  368. package/dist/hooks/useFocusTrap.js +2 -3
  369. package/dist/hooks/useInputStatusIcon.d.ts +2 -2
  370. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  371. package/dist/hooks/useInputStatusIcon.js +1 -2
  372. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  373. package/dist/hooks/useKeyboardHint.js +7 -1
  374. package/dist/hooks/useListFocus.d.ts +30 -0
  375. package/dist/hooks/useListFocus.d.ts.map +1 -1
  376. package/dist/hooks/useListFocus.js +53 -10
  377. package/dist/hooks/useLongPress.d.ts +21 -0
  378. package/dist/hooks/useLongPress.d.ts.map +1 -1
  379. package/dist/hooks/useLongPress.js +48 -7
  380. package/dist/hooks/useMenuPress.d.ts +14 -4
  381. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  382. package/dist/hooks/useMenuPress.js +76 -97
  383. package/dist/hooks/useSettledOpen.d.ts +16 -0
  384. package/dist/hooks/useSettledOpen.d.ts.map +1 -0
  385. package/dist/hooks/useSettledOpen.js +44 -0
  386. package/dist/hooks/useTreeFocus.d.ts +11 -1
  387. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  388. package/dist/hooks/useTreeFocus.js +32 -8
  389. package/dist/hooks/useTypeahead.d.ts +3 -1
  390. package/dist/hooks/useTypeahead.d.ts.map +1 -1
  391. package/dist/hooks/useTypeahead.js +21 -15
  392. package/dist/i18n/generated-locales/af-ZA.generated.d.ts.map +1 -1
  393. package/dist/i18n/generated-locales/af-ZA.generated.js +2 -2
  394. package/dist/i18n/generated-locales/ar-SA.generated.d.ts.map +1 -1
  395. package/dist/i18n/generated-locales/ar-SA.generated.js +2 -2
  396. package/dist/i18n/generated-locales/ca-ES.generated.d.ts.map +1 -1
  397. package/dist/i18n/generated-locales/ca-ES.generated.js +2 -2
  398. package/dist/i18n/generated-locales/cs-CZ.generated.d.ts.map +1 -1
  399. package/dist/i18n/generated-locales/cs-CZ.generated.js +2 -2
  400. package/dist/i18n/generated-locales/da-DK.generated.d.ts.map +1 -1
  401. package/dist/i18n/generated-locales/da-DK.generated.js +2 -2
  402. package/dist/i18n/generated-locales/de-DE.generated.d.ts.map +1 -1
  403. package/dist/i18n/generated-locales/de-DE.generated.js +2 -2
  404. package/dist/i18n/generated-locales/el-GR.generated.d.ts.map +1 -1
  405. package/dist/i18n/generated-locales/el-GR.generated.js +2 -2
  406. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  407. package/dist/i18n/generated-locales/en.generated.js +8 -2
  408. package/dist/i18n/generated-locales/es-ES.generated.d.ts.map +1 -1
  409. package/dist/i18n/generated-locales/es-ES.generated.js +2 -2
  410. package/dist/i18n/generated-locales/fi-FI.generated.d.ts.map +1 -1
  411. package/dist/i18n/generated-locales/fi-FI.generated.js +2 -2
  412. package/dist/i18n/generated-locales/fr-FR.generated.d.ts.map +1 -1
  413. package/dist/i18n/generated-locales/fr-FR.generated.js +2 -2
  414. package/dist/i18n/generated-locales/he-IL.generated.d.ts.map +1 -1
  415. package/dist/i18n/generated-locales/he-IL.generated.js +2 -2
  416. package/dist/i18n/generated-locales/hu-HU.generated.d.ts.map +1 -1
  417. package/dist/i18n/generated-locales/hu-HU.generated.js +2 -2
  418. package/dist/i18n/generated-locales/it-IT.generated.d.ts.map +1 -1
  419. package/dist/i18n/generated-locales/it-IT.generated.js +2 -2
  420. package/dist/i18n/generated-locales/ja-JP.generated.d.ts.map +1 -1
  421. package/dist/i18n/generated-locales/ja-JP.generated.js +2 -2
  422. package/dist/i18n/generated-locales/ko-KR.generated.d.ts.map +1 -1
  423. package/dist/i18n/generated-locales/ko-KR.generated.js +2 -2
  424. package/dist/i18n/generated-locales/nl-NL.generated.d.ts.map +1 -1
  425. package/dist/i18n/generated-locales/nl-NL.generated.js +2 -2
  426. package/dist/i18n/generated-locales/no-NO.generated.d.ts.map +1 -1
  427. package/dist/i18n/generated-locales/no-NO.generated.js +2 -2
  428. package/dist/i18n/generated-locales/pl-PL.generated.d.ts.map +1 -1
  429. package/dist/i18n/generated-locales/pl-PL.generated.js +2 -2
  430. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  431. package/dist/i18n/generated-locales/pseudo.generated.js +8 -2
  432. package/dist/i18n/generated-locales/pt-BR.generated.d.ts.map +1 -1
  433. package/dist/i18n/generated-locales/pt-BR.generated.js +2 -2
  434. package/dist/i18n/generated-locales/pt-PT.generated.d.ts.map +1 -1
  435. package/dist/i18n/generated-locales/pt-PT.generated.js +2 -2
  436. package/dist/i18n/generated-locales/ro-RO.generated.d.ts.map +1 -1
  437. package/dist/i18n/generated-locales/ro-RO.generated.js +2 -2
  438. package/dist/i18n/generated-locales/ru-RU.generated.d.ts.map +1 -1
  439. package/dist/i18n/generated-locales/ru-RU.generated.js +2 -2
  440. package/dist/i18n/generated-locales/sr-SP.generated.d.ts.map +1 -1
  441. package/dist/i18n/generated-locales/sr-SP.generated.js +2 -2
  442. package/dist/i18n/generated-locales/sv-SE.generated.d.ts.map +1 -1
  443. package/dist/i18n/generated-locales/sv-SE.generated.js +2 -2
  444. package/dist/i18n/generated-locales/tr-TR.generated.d.ts.map +1 -1
  445. package/dist/i18n/generated-locales/tr-TR.generated.js +2 -2
  446. package/dist/i18n/generated-locales/uk-UA.generated.d.ts.map +1 -1
  447. package/dist/i18n/generated-locales/uk-UA.generated.js +2 -2
  448. package/dist/i18n/generated-locales/vi-VN.generated.d.ts.map +1 -1
  449. package/dist/i18n/generated-locales/vi-VN.generated.js +2 -2
  450. package/dist/i18n/generated-locales/zh-CN.generated.d.ts.map +1 -1
  451. package/dist/i18n/generated-locales/zh-CN.generated.js +2 -2
  452. package/dist/i18n/generated-locales/zh-TW.generated.d.ts.map +1 -1
  453. package/dist/i18n/generated-locales/zh-TW.generated.js +2 -2
  454. package/dist/motion/animatedLayout.d.ts +130 -5
  455. package/dist/motion/animatedLayout.d.ts.map +1 -1
  456. package/dist/motion/animatedLayout.js +867 -47
  457. package/dist/motion/animator.d.ts.map +1 -1
  458. package/dist/motion/animator.js +197 -5
  459. package/dist/motion/presentation.d.ts +44 -0
  460. package/dist/motion/presentation.d.ts.map +1 -0
  461. package/dist/motion/presentation.js +127 -0
  462. package/dist/motion/uikit/gestures.d.ts +9 -18
  463. package/dist/motion/uikit/gestures.d.ts.map +1 -1
  464. package/dist/motion/uikit/gestures.js +14 -9
  465. package/dist/motion/uikit/longPress.d.ts +26 -0
  466. package/dist/motion/uikit/longPress.d.ts.map +1 -0
  467. package/dist/motion/uikit/longPress.js +29 -0
  468. package/dist/privateAttributes/hapticSwitch.stylex.d.ts +5 -0
  469. package/dist/privateAttributes/hapticSwitch.stylex.d.ts.map +1 -0
  470. package/dist/privateAttributes/hapticSwitch.stylex.js +27 -0
  471. package/dist/privateAttributes/segmentDisabled.stylex.d.ts +5 -0
  472. package/dist/privateAttributes/segmentDisabled.stylex.d.ts.map +1 -0
  473. package/dist/privateAttributes/segmentDisabled.stylex.js +28 -0
  474. package/dist/theme/Theme.d.ts +10 -0
  475. package/dist/theme/Theme.d.ts.map +1 -1
  476. package/dist/theme/Theme.js +8 -4
  477. package/dist/theme/useTheme.d.ts.map +1 -1
  478. package/dist/theme/useTheme.js +7 -1
  479. package/dist/utils/accessibleName.d.ts +8 -0
  480. package/dist/utils/accessibleName.d.ts.map +1 -0
  481. package/dist/utils/accessibleName.js +72 -0
  482. package/dist/utils/clickGuard.d.ts +34 -0
  483. package/dist/utils/clickGuard.d.ts.map +1 -0
  484. package/dist/utils/clickGuard.js +150 -0
  485. package/dist/utils/coarsePointer.d.ts +8 -0
  486. package/dist/utils/coarsePointer.d.ts.map +1 -0
  487. package/dist/utils/coarsePointer.js +47 -0
  488. package/dist/utils/flatTree.d.ts +17 -0
  489. package/dist/utils/flatTree.d.ts.map +1 -0
  490. package/dist/utils/flatTree.js +38 -0
  491. package/dist/utils/focusReturn.d.ts +40 -5
  492. package/dist/utils/focusReturn.d.ts.map +1 -1
  493. package/dist/utils/focusReturn.js +59 -6
  494. package/dist/utils/getNodeText.d.ts.map +1 -1
  495. package/dist/utils/getNodeText.js +2 -1
  496. package/dist/utils/inputStream.d.ts +17 -0
  497. package/dist/utils/inputStream.d.ts.map +1 -0
  498. package/dist/utils/inputStream.js +149 -0
  499. package/dist/utils/interactionModality.d.ts +78 -7
  500. package/dist/utils/interactionModality.d.ts.map +1 -1
  501. package/dist/utils/interactionModality.js +125 -42
  502. package/dist/utils/plainDate.d.ts +9 -0
  503. package/dist/utils/plainDate.d.ts.map +1 -1
  504. package/dist/utils/plainDate.js +25 -0
  505. package/dist/utils/pressDisabled.d.ts +21 -0
  506. package/dist/utils/pressDisabled.d.ts.map +1 -0
  507. package/dist/utils/pressDisabled.js +32 -0
  508. package/dist/utils/pressFeedback.d.ts.map +1 -1
  509. package/dist/utils/pressFeedback.js +77 -30
  510. package/dist/utils/selectionLock.d.ts +14 -0
  511. package/dist/utils/selectionLock.d.ts.map +1 -0
  512. package/dist/utils/selectionLock.js +164 -0
  513. package/dist/utils/sharedMutationObserver.d.ts +2 -2
  514. package/dist/utils/sharedMutationObserver.js +2 -2
  515. package/dist/utils/standaloneMonthCapitals.generated.d.ts +7 -0
  516. package/dist/utils/standaloneMonthCapitals.generated.d.ts.map +1 -0
  517. package/dist/utils/standaloneMonthCapitals.generated.js +9 -0
  518. package/dist/utils/touchPresentation.d.ts +2 -7
  519. package/dist/utils/touchPresentation.d.ts.map +1 -1
  520. package/dist/utils/touchPresentation.js +4 -7
  521. package/dist/utils/touchQueries.d.ts +17 -1
  522. package/dist/utils/touchQueries.d.ts.map +1 -1
  523. package/dist/utils/touchQueries.js +20 -2
  524. package/dist/utils/typeaheadMatch.d.ts +24 -0
  525. package/dist/utils/typeaheadMatch.d.ts.map +1 -0
  526. package/dist/utils/typeaheadMatch.js +112 -0
  527. package/dist/utils/useFocusLeavingChange.d.ts +13 -0
  528. package/dist/utils/useFocusLeavingChange.d.ts.map +1 -0
  529. package/dist/utils/useFocusLeavingChange.js +48 -0
  530. package/locales/af-ZA.json +2 -2
  531. package/locales/ar-SA.json +2 -2
  532. package/locales/ca-ES.json +2 -2
  533. package/locales/cs-CZ.json +2 -2
  534. package/locales/da-DK.json +2 -2
  535. package/locales/de-DE.json +2 -2
  536. package/locales/el-GR.json +2 -2
  537. package/locales/en.json +29 -5
  538. package/locales/es-ES.json +2 -2
  539. package/locales/fi-FI.json +2 -2
  540. package/locales/fr-FR.json +2 -2
  541. package/locales/he-IL.json +2 -2
  542. package/locales/hu-HU.json +2 -2
  543. package/locales/it-IT.json +2 -2
  544. package/locales/ja-JP.json +2 -2
  545. package/locales/ko-KR.json +2 -2
  546. package/locales/nl-NL.json +2 -2
  547. package/locales/no-NO.json +2 -2
  548. package/locales/pl-PL.json +2 -2
  549. package/locales/pseudo.json +20 -2
  550. package/locales/pt-BR.json +2 -2
  551. package/locales/pt-PT.json +2 -2
  552. package/locales/ro-RO.json +2 -2
  553. package/locales/ru-RU.json +2 -2
  554. package/locales/sr-SP.json +2 -2
  555. package/locales/sv-SE.json +2 -2
  556. package/locales/tr-TR.json +2 -2
  557. package/locales/uk-UA.json +2 -2
  558. package/locales/vi-VN.json +2 -2
  559. package/locales/zh-CN.json +2 -2
  560. package/locales/zh-TW.json +2 -2
  561. package/package.json +5 -4
  562. package/src/AppShell/AppShell.tsx +0 -9
  563. package/src/Banner/Banner.tsx +4 -0
  564. package/src/BottomSheet/BottomSheet.tsx +42 -3
  565. package/src/BottomSheet/BottomSheetPanel.tsx +64 -8
  566. package/src/BottomSheet/BottomSheetSwitcher.tsx +32 -9
  567. package/src/BottomSheet/BottomSheetSwitcherContext.ts +8 -0
  568. package/src/BottomSheet/useMobileKeyboard.ts +51 -10
  569. package/src/BottomSheet/useSheetGestures.ts +92 -15
  570. package/src/Breadcrumbs/BreadcrumbItem.tsx +2 -1
  571. package/src/Button/Button.tsx +10 -3
  572. package/src/Calendar/Calendar.tsx +11 -10
  573. package/src/Calendar/hooks/useCalendarNavigation.ts +9 -10
  574. package/src/Center/Center.tsx +1 -1
  575. package/src/Chat/ChatComposer.tsx +13 -11
  576. package/src/Chat/ChatComposerDrawer.tsx +1 -1
  577. package/src/Chat/ChatComposerInput.tsx +1 -1
  578. package/src/Chat/ChatLayout.tsx +1 -6
  579. package/src/Chat/ChatMessageList.tsx +1 -0
  580. package/src/Chat/ChatPastedTextToken.tsx +14 -4
  581. package/src/Chat/ChatSystemMessage.tsx +4 -1
  582. package/src/Chat/ChatToolCalls.tsx +5 -0
  583. package/src/Chat/useTriggerMenu.tsx +17 -27
  584. package/src/CheckboxList/CheckboxList.tsx +7 -1
  585. package/src/CheckboxList/CheckboxListContext.tsx +8 -0
  586. package/src/CheckboxList/CheckboxListItem.tsx +8 -2
  587. package/src/Code/Code.tsx +1 -1
  588. package/src/CodeBlock/CodeBlock.tsx +6 -2
  589. package/src/Collapsible/Collapsible.tsx +33 -4
  590. package/src/CommandPalette/CommandPaletteEmpty.tsx +2 -0
  591. package/src/CommandPalette/CommandPaletteInput.tsx +5 -8
  592. package/src/ComplexSelector/ComplexSelector.tsx +3 -2
  593. package/src/ContextMenu/ContextMenu.tsx +30 -6
  594. package/src/DateInput/DateInput.tsx +2 -2
  595. package/src/DateInput/MonthScroller.tsx +2 -3
  596. package/src/DateInput/TouchDateField.tsx +2 -3
  597. package/src/DateRangeInput/DateRangeInput.tsx +2 -2
  598. package/src/DateTimeInput/TouchDateTimeField.tsx +2 -3
  599. package/src/Dialog/Dialog.tsx +29 -27
  600. package/src/Drawer/Drawer.tsx +25 -3
  601. package/src/DropdownMenu/DropdownMenu.doc.mjs +2 -2
  602. package/src/DropdownMenu/DropdownMenu.tsx +29 -84
  603. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +2 -2
  604. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +15 -5
  605. package/src/DropdownMenu/DropdownMenuItem.tsx +7 -1
  606. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +2 -2
  607. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +16 -6
  608. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +11 -4
  609. package/src/DropdownMenu/MenuBottomSheetActionList.tsx +6 -3
  610. package/src/Field/Field.tsx +2 -2
  611. package/src/Field/FieldLabel.tsx +4 -22
  612. package/src/Field/PanelSearchInput.tsx +7 -8
  613. package/src/Field/fieldStatusPlacement.ts +18 -0
  614. package/src/Field/index.ts +1 -0
  615. package/src/Field/inputDisabledFocus.ts +15 -1
  616. package/src/Field/inputStyles.stylex.ts +46 -9
  617. package/src/FieldStatus/FieldStatus.tsx +28 -3
  618. package/src/FieldStatus/index.ts +7 -0
  619. package/src/FileInput/FileInput.doc.mjs +3 -3
  620. package/src/FileInput/FileInput.tsx +34 -8
  621. package/src/Grid/Grid.doc.mjs +4 -4
  622. package/src/Grid/Grid.tsx +6 -4
  623. package/src/Grid/GridSpan.doc.mjs +51 -2
  624. package/src/Grid/GridSpan.tsx +2 -0
  625. package/src/Heading/Heading.tsx +5 -3
  626. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  627. package/src/HoverCard/useHoverCard.doc.mjs +1 -1
  628. package/src/HoverCard/useHoverCard.tsx +7 -0
  629. package/src/InputGroup/groupStyles.ts +9 -2
  630. package/src/Item/Item.tsx +16 -7
  631. package/src/Item/ItemSwipeLayer.tsx +8 -1
  632. package/src/Layer/layerStructureReset.stylex.ts +5 -0
  633. package/src/Layer/layerSurfacePress.ts +39 -0
  634. package/src/Layer/outsidePress.ts +99 -0
  635. package/src/Layer/useLayer.tsx +23 -4
  636. package/src/Layer/useTouchTrigger.ts +106 -17
  637. package/src/Markdown/Markdown.tsx +1 -0
  638. package/src/MetadataList/MetadataList.tsx +4 -2
  639. package/src/MetadataList/MetadataListItem.tsx +2 -1
  640. package/src/MultiSelector/MultiSelector.tsx +38 -31
  641. package/src/MultiSelector/hooks.ts +7 -5
  642. package/src/NumberInput/NumberInput.tsx +2 -2
  643. package/src/OverflowList/OverflowList.tsx +2 -1
  644. package/src/Pagination/Pagination.tsx +1 -0
  645. package/src/Popover/Popover.tsx +2 -2
  646. package/src/Popover/usePopover.tsx +7 -2
  647. package/src/PowerSearch/PowerSearch.tsx +4 -2
  648. package/src/ProgressBar/ProgressBar.tsx +3 -1
  649. package/src/RadioList/RadioList.tsx +13 -2
  650. package/src/RadioList/RadioListItem.tsx +9 -1
  651. package/src/RadioList/RadioListReasonContext.ts +25 -0
  652. package/src/Resizable/resizableModel.ts +364 -0
  653. package/src/Resizable/useResizable.ts +17 -348
  654. package/src/SegmentedControl/SegmentedControl.doc.mjs +5 -5
  655. package/src/SegmentedControl/SegmentedControl.tsx +58 -30
  656. package/src/SegmentedControl/SegmentedControlContext.ts +4 -5
  657. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  658. package/src/SegmentedControl/SegmentedControlItem.tsx +12 -14
  659. package/src/Selector/Selector.tsx +7 -3
  660. package/src/Selector/useSelectorPresentation.ts +8 -1
  661. package/src/SideNav/SideNav.tsx +213 -25
  662. package/src/SideNav/SideNavCollapseButton.tsx +18 -2
  663. package/src/SideNav/SideNavFocusTargetsContext.ts +29 -0
  664. package/src/SideNav/SideNavHeading.tsx +2 -2
  665. package/src/SideNav/SideNavItem.tsx +19 -3
  666. package/src/SideNav/railMotion.ts +73 -179
  667. package/src/Slider/Slider.tsx +7 -10
  668. package/src/Table/BaseTable.tsx +10 -6
  669. package/src/Table/glidingDivider.ts +8 -3
  670. package/src/Table/plugins/sortable/useTableSortable.tsx +2 -0
  671. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
  672. package/src/Text/Heading.doc.mjs +52 -3
  673. package/src/Text/Text.doc.mjs +1 -1
  674. package/src/Text/text.stylex.ts +12 -0
  675. package/src/TextArea/TextArea.tsx +3 -2
  676. package/src/TextInput/TextInput.tsx +2 -2
  677. package/src/TimeInput/TimeInput.tsx +2 -2
  678. package/src/Timer/Timer.tsx +1 -1
  679. package/src/Toast/Toast.tsx +2 -0
  680. package/src/Toast/useToast.tsx +8 -3
  681. package/src/ToggleButton/ToggleButton.tsx +10 -3
  682. package/src/Token/Token.tsx +10 -1
  683. package/src/Token/TokenLink.tsx +16 -1
  684. package/src/Tokenizer/Tokenizer.doc.mjs +16 -11
  685. package/src/Tokenizer/Tokenizer.tsx +34 -9
  686. package/src/Tokenizer/TokenizerBottomSheet.tsx +1 -1
  687. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  688. package/src/Tooltip/Tooltip.tsx +4 -3
  689. package/src/Tooltip/useTooltip.doc.mjs +3 -3
  690. package/src/Tooltip/useTooltip.tsx +58 -15
  691. package/src/TopNav/TopNavHeading.tsx +8 -2
  692. package/src/TopNav/TopNavMegaMenu.tsx +4 -3
  693. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
  694. package/src/TreeList/TreeList.tsx +91 -11
  695. package/src/TreeList/TreeListItem.tsx +5 -3
  696. package/src/Typeahead/BaseTypeahead.doc.mjs +7 -4
  697. package/src/Typeahead/BaseTypeahead.tsx +375 -57
  698. package/src/Typeahead/Typeahead.doc.mjs +24 -6
  699. package/src/Typeahead/Typeahead.tsx +19 -13
  700. package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
  701. package/src/Typeahead/index.ts +1 -1
  702. package/src/Typeahead/types.ts +27 -3
  703. package/src/gestures/GestureArena.ts +91 -38
  704. package/src/gestures/GestureHost.ts +1561 -561
  705. package/src/gestures/GestureRecognizer.ts +69 -18
  706. package/src/gestures/LongPressGestureRecognizer.ts +20 -1
  707. package/src/gestures/PanGestureRecognizer.ts +35 -0
  708. package/src/gestures/PinchGestureRecognizer.ts +13 -8
  709. package/src/gestures/PressTracker.ts +55 -8
  710. package/src/gestures/README.md +313 -51
  711. package/src/gestures/TapGestureRecognizer.ts +5 -0
  712. package/src/gestures/VelocityTracker.ts +35 -0
  713. package/src/gestures/fingerScroll.ts +208 -0
  714. package/src/gestures/gestureSync.ts +60 -0
  715. package/src/gestures/haptics.ts +9 -13
  716. package/src/gestures/hostRegistry.ts +18 -0
  717. package/src/gestures/index.ts +6 -5
  718. package/src/gestures/nativeScroll.ts +6 -20
  719. package/src/gestures/pageHold.ts +265 -0
  720. package/src/gestures/recognizerInternals.ts +77 -0
  721. package/src/gestures/selectionLock.ts +12 -0
  722. package/src/gestures/touchAction.ts +12 -24
  723. package/src/gestures/types.ts +18 -0
  724. package/src/gestures/useFingerScroll.ts +78 -0
  725. package/src/gestures/useGestureRecognizer.ts +70 -209
  726. package/src/gestures/usePressTracker.ts +212 -0
  727. package/src/hooks/ModalAnnounceProvider.tsx +12 -9
  728. package/src/hooks/menuPressMarker.ts +15 -0
  729. package/src/hooks/useAttachment.ts +59 -0
  730. package/src/hooks/useClickableContainer.ts +58 -17
  731. package/src/hooks/useFocusReturnVisibility.ts +15 -12
  732. package/src/hooks/useFocusTrap.ts +2 -8
  733. package/src/hooks/useInputStatusIcon.tsx +2 -2
  734. package/src/hooks/useKeyboardHint.tsx +7 -1
  735. package/src/hooks/useListFocus.ts +88 -8
  736. package/src/hooks/useLongPress.ts +62 -8
  737. package/src/hooks/useMenuPress.ts +85 -107
  738. package/src/hooks/useSettledOpen.ts +51 -0
  739. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  740. package/src/hooks/useTreeFocus.ts +49 -13
  741. package/src/hooks/useTypeahead.doc.mjs +2 -2
  742. package/src/hooks/useTypeahead.ts +21 -20
  743. package/src/i18n/generated-locales/af-ZA.generated.ts +3 -2
  744. package/src/i18n/generated-locales/ar-SA.generated.ts +3 -2
  745. package/src/i18n/generated-locales/ca-ES.generated.ts +3 -2
  746. package/src/i18n/generated-locales/cs-CZ.generated.ts +3 -2
  747. package/src/i18n/generated-locales/da-DK.generated.ts +3 -2
  748. package/src/i18n/generated-locales/de-DE.generated.ts +3 -2
  749. package/src/i18n/generated-locales/el-GR.generated.ts +3 -2
  750. package/src/i18n/generated-locales/en.generated.ts +11 -2
  751. package/src/i18n/generated-locales/es-ES.generated.ts +3 -2
  752. package/src/i18n/generated-locales/fi-FI.generated.ts +3 -2
  753. package/src/i18n/generated-locales/fr-FR.generated.ts +3 -2
  754. package/src/i18n/generated-locales/he-IL.generated.ts +3 -2
  755. package/src/i18n/generated-locales/hu-HU.generated.ts +3 -2
  756. package/src/i18n/generated-locales/it-IT.generated.ts +3 -2
  757. package/src/i18n/generated-locales/ja-JP.generated.ts +3 -2
  758. package/src/i18n/generated-locales/ko-KR.generated.ts +3 -2
  759. package/src/i18n/generated-locales/nl-NL.generated.ts +3 -2
  760. package/src/i18n/generated-locales/no-NO.generated.ts +3 -2
  761. package/src/i18n/generated-locales/pl-PL.generated.ts +3 -2
  762. package/src/i18n/generated-locales/pseudo.generated.ts +11 -2
  763. package/src/i18n/generated-locales/pt-BR.generated.ts +3 -2
  764. package/src/i18n/generated-locales/pt-PT.generated.ts +3 -2
  765. package/src/i18n/generated-locales/ro-RO.generated.ts +3 -2
  766. package/src/i18n/generated-locales/ru-RU.generated.ts +3 -2
  767. package/src/i18n/generated-locales/sr-SP.generated.ts +3 -2
  768. package/src/i18n/generated-locales/sv-SE.generated.ts +3 -2
  769. package/src/i18n/generated-locales/tr-TR.generated.ts +3 -2
  770. package/src/i18n/generated-locales/uk-UA.generated.ts +3 -2
  771. package/src/i18n/generated-locales/vi-VN.generated.ts +3 -2
  772. package/src/i18n/generated-locales/zh-CN.generated.ts +3 -2
  773. package/src/i18n/generated-locales/zh-TW.generated.ts +3 -2
  774. package/src/motion/MEASUREMENTS.md +1 -1
  775. package/src/motion/README.md +11 -0
  776. package/src/motion/animatedLayout.ts +1079 -48
  777. package/src/motion/animator.ts +225 -13
  778. package/src/motion/presentation.ts +149 -0
  779. package/src/motion/uikit/gestures.ts +15 -8
  780. package/src/motion/uikit/longPress.ts +29 -0
  781. package/src/privateAttributes/hapticSwitch.stylex.ts +27 -0
  782. package/src/privateAttributes/segmentDisabled.stylex.ts +28 -0
  783. package/src/theme/Theme.tsx +8 -4
  784. package/src/theme/useTheme.ts +6 -1
  785. package/src/utils/accessibleName.ts +87 -0
  786. package/src/utils/clickGuard.ts +167 -0
  787. package/src/utils/coarsePointer.ts +53 -0
  788. package/src/utils/flatTree.ts +40 -0
  789. package/src/utils/focusReturn.ts +73 -6
  790. package/src/utils/getNodeText.ts +2 -1
  791. package/src/utils/inputStream.ts +168 -0
  792. package/src/utils/interactionModality.ts +165 -44
  793. package/src/utils/plainDate.ts +28 -0
  794. package/src/utils/pressDisabled.ts +32 -0
  795. package/src/utils/pressFeedback.ts +78 -25
  796. package/src/utils/selectionLock.ts +193 -0
  797. package/src/utils/sharedMutationObserver.ts +2 -2
  798. package/src/utils/standaloneMonthCapitals.generated.ts +17 -0
  799. package/src/utils/touchPresentation.ts +4 -7
  800. package/src/utils/touchQueries.ts +24 -1
  801. package/src/utils/typeaheadMatch.ts +141 -0
  802. package/src/utils/useFocusLeavingChange.ts +53 -0
  803. package/src/AlertDialog/AlertDialog.spec.md +0 -259
  804. package/src/AppShell/AppShell.spec.md +0 -331
  805. package/src/AspectRatio/AspectRatio.spec.md +0 -179
  806. package/src/Avatar/Avatar.spec.md +0 -253
  807. package/src/Avatar/AvatarStatusDot.spec.md +0 -208
  808. package/src/AvatarGroup/AvatarGroup.spec.md +0 -205
  809. package/src/AvatarGroup/AvatarGroupOverflow.spec.md +0 -210
  810. package/src/Badge/Badge.spec.md +0 -207
  811. package/src/Banner/Banner.spec.md +0 -282
  812. package/src/Blockquote/Blockquote.spec.md +0 -171
  813. package/src/BottomSheet/BottomSheet.spec.md +0 -457
  814. package/src/BottomSheet/BottomSheetSwitcher.spec.md +0 -367
  815. package/src/Breadcrumbs/BreadcrumbItem.spec.md +0 -269
  816. package/src/Breadcrumbs/Breadcrumbs.spec.md +0 -165
  817. package/src/Button/Button.spec.md +0 -322
  818. package/src/ButtonGroup/ButtonGroup.spec.md +0 -220
  819. package/src/Calendar/Calendar.spec.md +0 -248
  820. package/src/Card/Card.spec.md +0 -205
  821. package/src/Carousel/Carousel.spec.md +0 -146
  822. package/src/Center/Center.spec.md +0 -205
  823. package/src/Chat/ChatComposer.spec.md +0 -246
  824. package/src/Chat/ChatComposerDrawer.spec.md +0 -267
  825. package/src/Chat/ChatComposerInput.spec.md +0 -224
  826. package/src/Chat/ChatComposerTokenElement.spec.md +0 -164
  827. package/src/Chat/ChatDictationButton.spec.md +0 -205
  828. package/src/Chat/ChatLayout.spec.md +0 -276
  829. package/src/Chat/ChatLayoutScrollButton.spec.md +0 -322
  830. package/src/Chat/ChatMessage.spec.md +0 -264
  831. package/src/Chat/ChatMessageBubble.spec.md +0 -263
  832. package/src/Chat/ChatMessageList.spec.md +0 -222
  833. package/src/Chat/ChatMessageMetadata.spec.md +0 -220
  834. package/src/Chat/ChatSendButton.spec.md +0 -238
  835. package/src/Chat/ChatSystemMessage.spec.md +0 -224
  836. package/src/Chat/ChatTokenizedText.spec.md +0 -190
  837. package/src/Chat/ChatToolCalls.spec.md +0 -194
  838. package/src/CheckboxInput/CheckboxInput.spec.md +0 -218
  839. package/src/CheckboxList/CheckboxList.spec.md +0 -332
  840. package/src/CheckboxList/CheckboxListItem.spec.md +0 -302
  841. package/src/Citation/Citation.spec.md +0 -192
  842. package/src/ClickableCard/ClickableCard.spec.md +0 -241
  843. package/src/Code/Code.spec.md +0 -170
  844. package/src/CodeBlock/CodeBlock.spec.md +0 -243
  845. package/src/Collapsible/Collapsible.spec.md +0 -247
  846. package/src/Collapsible/CollapsibleGroup.spec.md +0 -229
  847. package/src/CommandPalette/CommandPalette.spec.md +0 -278
  848. package/src/CommandPalette/CommandPaletteEmpty.spec.md +0 -190
  849. package/src/CommandPalette/CommandPaletteInput.spec.md +0 -215
  850. package/src/CommandPalette/CommandPaletteItem.spec.md +0 -223
  851. package/src/CommandPalette/CommandPaletteList.spec.md +0 -194
  852. package/src/ComplexSelector/ComplexSelector.spec.md +0 -266
  853. package/src/ContextMenu/ContextMenu.spec.md +0 -279
  854. package/src/ContextMenu/ContextMenuItem.spec.md +0 -132
  855. package/src/DateInput/DateInput.spec.md +0 -336
  856. package/src/DateRangeInput/DateRangeInput.spec.md +0 -203
  857. package/src/DateTimeInput/DateTimeInput.spec.md +0 -270
  858. package/src/Dialog/Dialog.spec.md +0 -189
  859. package/src/Dialog/modules/DialogHeader.spec.md +0 -211
  860. package/src/Divider/Divider.spec.md +0 -252
  861. package/src/Drawer/Drawer.spec.md +0 -388
  862. package/src/Drawer/DrawerHeader.spec.md +0 -181
  863. package/src/DropdownMenu/DropdownMenu.spec.md +0 -562
  864. package/src/DropdownMenu/DropdownMenuCheckboxItem.spec.md +0 -192
  865. package/src/DropdownMenu/DropdownMenuDivider.spec.md +0 -186
  866. package/src/DropdownMenu/DropdownMenuGroup.spec.md +0 -145
  867. package/src/DropdownMenu/DropdownMenuItem.spec.md +0 -215
  868. package/src/DropdownMenu/DropdownMenuRadioGroup.spec.md +0 -187
  869. package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +0 -227
  870. package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +0 -231
  871. package/src/DropdownMenu/modules/useMenuHover.spec.md +0 -283
  872. package/src/DropdownMenu/modules/useMenuPress.spec.md +0 -348
  873. package/src/EmptyState/EmptyState.spec.md +0 -203
  874. package/src/Field/Field.spec.md +0 -226
  875. package/src/Field/FieldLabel.spec.md +0 -192
  876. package/src/FieldStatus/FieldStatus.spec.md +0 -224
  877. package/src/FileInput/FileInput.spec.md +0 -199
  878. package/src/FormLayout/FormLayout.spec.md +0 -201
  879. package/src/Grid/Grid.spec.md +0 -193
  880. package/src/Grid/GridSpan.spec.md +0 -158
  881. package/src/Heading/Heading.spec.md +0 -198
  882. package/src/HoverCard/HoverCard.spec.md +0 -244
  883. package/src/Icon/Icon.spec.md +0 -244
  884. package/src/IconButton/IconButton.spec.md +0 -197
  885. package/src/Indicator/CheckIndicator.spec.md +0 -164
  886. package/src/Indicator/CheckboxIndicator.spec.md +0 -164
  887. package/src/Indicator/Indicator.spec.md +0 -188
  888. package/src/InputGroup/InputGroup.spec.md +0 -199
  889. package/src/InputGroup/InputGroupText.spec.md +0 -139
  890. package/src/Item/Item.spec.md +0 -226
  891. package/src/Kbd/Kbd.spec.md +0 -185
  892. package/src/Layer/LayerProvider.spec.md +0 -149
  893. package/src/Layout/Layout.spec.md +0 -243
  894. package/src/Layout/LayoutContent.spec.md +0 -205
  895. package/src/Layout/LayoutFooter.spec.md +0 -190
  896. package/src/Layout/LayoutHeader.spec.md +0 -193
  897. package/src/Layout/LayoutPanel.spec.md +0 -194
  898. package/src/Lightbox/Lightbox.spec.md +0 -387
  899. package/src/Link/Link.spec.md +0 -230
  900. package/src/Link/LinkProvider.spec.md +0 -167
  901. package/src/List/List.spec.md +0 -336
  902. package/src/List/ListItem.spec.md +0 -205
  903. package/src/Markdown/Markdown.spec.md +0 -595
  904. package/src/Markdown/modules/headingLinks.spec.md +0 -262
  905. package/src/Markdown/modules/remark.spec.md +0 -269
  906. package/src/Markdown/modules/softBreaks.spec.md +0 -137
  907. package/src/Markdown/modules/sourceLines.spec.md +0 -162
  908. package/src/MetadataList/MetadataList.spec.md +0 -187
  909. package/src/MetadataList/MetadataListItem.spec.md +0 -165
  910. package/src/MobileNav/MobileNav.spec.md +0 -306
  911. package/src/MoreMenu/MoreMenu.spec.md +0 -268
  912. package/src/MultiSelector/MultiSelector.spec.md +0 -364
  913. package/src/NavIcon/NavIcon.spec.md +0 -158
  914. package/src/NavMenu/NavHeadingMenu.spec.md +0 -264
  915. package/src/NumberInput/NumberInput.spec.md +0 -270
  916. package/src/Outline/Outline.spec.md +0 -258
  917. package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +0 -150
  918. package/src/OverflowList/OverflowList.spec.md +0 -204
  919. package/src/Overlay/Overlay.spec.md +0 -304
  920. package/src/Pagination/Pagination.spec.md +0 -300
  921. package/src/Popover/Popover.spec.md +0 -525
  922. package/src/PowerSearch/PowerSearch.spec.md +0 -661
  923. package/src/ProgressBar/ProgressBar.spec.md +0 -285
  924. package/src/RadioList/RadioList.spec.md +0 -227
  925. package/src/RadioList/RadioListItem.spec.md +0 -223
  926. package/src/Resizable/Resizable.spec.md +0 -298
  927. package/src/ScrollableArea/ScrollableArea.spec.md +0 -190
  928. package/src/ScrollableArea/modules/useScrollableArea.spec.md +0 -149
  929. package/src/Section/Section.spec.md +0 -197
  930. package/src/SegmentedControl/SegmentedControl.spec.md +0 -261
  931. package/src/SegmentedControl/SegmentedControlItem.spec.md +0 -206
  932. package/src/SelectableCard/SelectableCard.spec.md +0 -230
  933. package/src/Selector/Selector.spec.md +0 -379
  934. package/src/SideNav/SideNav.spec.md +0 -247
  935. package/src/SideNav/SideNavCollapseButton.spec.md +0 -161
  936. package/src/SideNav/SideNavHeading.spec.md +0 -226
  937. package/src/SideNav/SideNavItem.spec.md +0 -236
  938. package/src/SideNav/SideNavSection.spec.md +0 -153
  939. package/src/Skeleton/Skeleton.spec.md +0 -184
  940. package/src/Slider/Slider.spec.md +0 -287
  941. package/src/Spinner/Spinner.spec.md +0 -231
  942. package/src/Stack/Stack.spec.md +0 -203
  943. package/src/StatusDot/StatusDot.spec.md +0 -224
  944. package/src/Stepper/Step.spec.md +0 -200
  945. package/src/Stepper/Stepper.spec.md +0 -327
  946. package/src/Switch/Switch.spec.md +0 -277
  947. package/src/TabList/Tab.spec.md +0 -201
  948. package/src/TabList/TabList.spec.md +0 -217
  949. package/src/TabList/TabMenu.spec.md +0 -198
  950. package/src/Table/Table.spec.md +0 -395
  951. package/src/Table/plugins/activation/useTableActivation.spec.md +0 -254
  952. package/src/Table/plugins/columnResize/useTableColumnResize.spec.md +0 -373
  953. package/src/Table/plugins/infiniteScroll/useTableInfiniteScroll.spec.md +0 -244
  954. package/src/Table/plugins/rowStatus/useTableRowStatus.spec.md +0 -355
  955. package/src/Table/plugins/virtualization/useTableVirtualization.spec.md +0 -266
  956. package/src/Text/Text.spec.md +0 -193
  957. package/src/TextArea/TextArea.spec.md +0 -300
  958. package/src/TextInput/TextInput.spec.md +0 -260
  959. package/src/Thumbnail/Thumbnail.spec.md +0 -244
  960. package/src/TimeInput/TimeInput.spec.md +0 -270
  961. package/src/Timer/Timer.spec.md +0 -215
  962. package/src/Timestamp/Timestamp.spec.md +0 -246
  963. package/src/Toast/Toast.spec.md +0 -291
  964. package/src/ToggleButton/ToggleButton.spec.md +0 -256
  965. package/src/ToggleButton/ToggleButtonGroup.spec.md +0 -195
  966. package/src/Token/Token.spec.md +0 -262
  967. package/src/Tokenizer/Tokenizer.spec.md +0 -615
  968. package/src/Toolbar/Toolbar.spec.md +0 -227
  969. package/src/Tooltip/Tooltip.spec.md +0 -267
  970. package/src/TopNav/TopNav.spec.md +0 -190
  971. package/src/TopNav/TopNavHeading.spec.md +0 -211
  972. package/src/TopNav/TopNavItem.spec.md +0 -189
  973. package/src/TopNav/TopNavMegaMenu.spec.md +0 -190
  974. package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +0 -150
  975. package/src/TopNav/TopNavMegaMenuItem.spec.md +0 -155
  976. package/src/TopNav/TopNavMenu.spec.md +0 -202
  977. package/src/TreeList/TreeList.spec.md +0 -328
  978. package/src/Typeahead/BaseTypeahead.spec.md +0 -270
  979. package/src/Typeahead/Typeahead.spec.md +0 -257
  980. package/src/VisuallyHidden/VisuallyHidden.spec.md +0 -170
  981. package/src/i18n/InternationalizationProvider.spec.md +0 -252
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAiCf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAwChD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE9D;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAuOD,wBAAgB,QAAQ,CAAC,EACvB,OAAoB,EACpB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EAAE,UAAU,EACzB,MAAe,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,qBA6wBf;yBA5xBe,QAAQ"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../src/AppShell/AppShell.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAiCf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAwChD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAE9D;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAuOD,wBAAgB,QAAQ,CAAC,EACvB,OAAoB,EACpB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EAAE,UAAU,EACzB,MAAe,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,aAAa,qBAowBf;yBAnxBe,QAAQ"}
@@ -416,12 +416,6 @@ export function AppShell({
416
416
  isMainScrollRegionRef.current = isMainScrollRegion;
417
417
  syncMainDelegation();
418
418
  }, [isMainScrollRegion, syncMainDelegation]);
419
- useEffect(() => () => {
420
- mainOverflowRef.current?.stop();
421
- mainOverflowRef.current = null;
422
- mainDelegationRef.current?.release();
423
- mainDelegationRef.current = null;
424
- }, []);
425
419
 
426
420
  // Nav style derived values
427
421
  const hasBanner = isRenderable(banner);
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,EAA0B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgB5C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAMjE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA4QD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAqB,EACrB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAkB,EAClB,SAAkB,EAClB,WAAkB,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,cAAc,EACd,oBAAoB,EACpB,GAAG,IAAI,EACR,EAAE,WAAW,sCAqQb;yBAzRe,MAAM"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,EAA0B,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgB5C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAI9C,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAMjE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAgRD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAqB,EACrB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAkB,EAClB,SAAkB,EAClB,WAAkB,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,cAAc,EACd,oBAAoB,EACpB,GAAG,IAAI,EACR,EAAE,WAAW,sCAqQb;yBAzRe,MAAM"}
@@ -471,20 +471,20 @@ export function Banner({
471
471
  children: [/*#__PURE__*/_jsx("div", {
472
472
  ...{
473
473
  0: {
474
- className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0 xj0a0fe"
474
+ className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0 xj0a0fe x5ujdhh"
475
475
  },
476
476
  1: {
477
- className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og xj0a0fe x1heor9g"
477
+ className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og xj0a0fe x5ujdhh x1heor9g"
478
478
  }
479
479
  }[!!hasStatusStyle(status) << 0],
480
480
  children: title
481
481
  }), isRenderable(description) && /*#__PURE__*/_jsx("div", {
482
482
  ...mergeProps(themeProps('banner-description'), {
483
483
  0: {
484
- className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4 xj0a0fe"
484
+ className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4 xj0a0fe x5ujdhh"
485
485
  },
486
486
  1: {
487
- className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xj0a0fe x1heor9g"
487
+ className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xj0a0fe x5ujdhh x1heor9g"
488
488
  }
489
489
  }[!!hasStatusStyle(status) << 0]),
490
490
  children: description
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAsDhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAsJhF,UAAU,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,wGAAwG;IACxG,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAC1B,0BAA0B,GAAG,wBAAwB,CAAC;AAm0BxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAuDhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AA6JhF,UAAU,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,wGAAwG;IACxG,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAC1B,0BAA0B,GAAG,wBAAwB,CAAC;AAg2BxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}
@@ -77,11 +77,14 @@
77
77
  * - /packages/cli/assets/templates/blocks/components/BottomSheet/BottomSheetShowcase.tsx
78
78
  */
79
79
  import { use, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
80
+ import { useIsHydrating } from "../hooks/useIsHydrating.js";
81
+ import { useSettledOpen } from "../hooks/useSettledOpen.js";
80
82
  import * as stylex from '@stylexjs/stylex';
81
83
  import "../theme/tokens.stylex.js";
82
84
  import { colorVars, durationVars, easeVars, spacingVars } from "../theme/tokens.stylex.js";
83
85
  import { useDevWarning } from "../hooks/useDevWarning.js";
84
86
  import { useScrollLock } from "../hooks/useScrollLock.js";
87
+ import { useMergedRefs } from "../hooks/useMergedRefs.js";
85
88
  import { mergeProps } from "../utils/mergeProps.js";
86
89
  import { LayerDepthProvider } from "../Layer/LayerDepthContext.js";
87
90
  import { ModalAnnounceProvider } from "../hooks/ModalAnnounceProvider.js";
@@ -150,6 +153,10 @@ const styles = {
150
153
  k4oj2o: "x15l12jy",
151
154
  $$css: true
152
155
  },
156
+ scrimSettled: {
157
+ k9an0g: "x108qnu8",
158
+ $$css: true
159
+ },
153
160
  scrimClosing: {
154
161
  kb4ib: "x1cz9k3x",
155
162
  $$css: true
@@ -271,7 +278,20 @@ function StandaloneBottomSheet({
271
278
  // state stays the consumer's; nothing here writes it.
272
279
  const host = use(BottomSheetHostContext);
273
280
  const isHostOpen = host?.isOpen ?? true;
274
- const isOpen = isOpenProp && isHostOpen;
281
+ // A sheet open on the server renders closed until hydration, and opens in
282
+ // the render after it, the first one that can enter its native host: a
283
+ // <dialog> painted open with aria-modal before it is modal claims a state it
284
+ // does not have (FR17).
285
+ const isHydrating = useIsHydrating();
286
+ const isOpen = isOpenProp && isHostOpen && !isHydrating;
287
+ // A sheet open on the server was present on page load, so it opens settled,
288
+ // with no rise or fade-in; its later opens and closes animate as usual
289
+ // (spec:AST-013 FR13). It latches on its own request, not its host's state:
290
+ // a host sheet hydrating reads as closed to the sheets inside it.
291
+ // The latch is released when the settled entry's transition ends, so a
292
+ // drag's settle later in the same open glides as usual.
293
+ const [settledOpen, releaseSettledOpen] = useSettledOpen(isOpenProp, isOpen, false);
294
+ const isEntrySettled = settledOpen && isOpen;
275
295
  // Presentation outlives the controlled prop: a closing sheet stays mounted
276
296
  // and in its native host through its exit, and only its motion completion
277
297
  // (or a replace finishing) clears it. The open flip is derived during
@@ -523,7 +543,10 @@ function StandaloneBottomSheet({
523
543
  }
524
544
  triggerRef.current = null;
525
545
  }, [finalFocusRef, hasScrim, isOpen]);
526
- useInteractionModalityTracking();
546
+ const {
547
+ ref: modalityRef
548
+ } = useInteractionModalityTracking();
549
+ const dialogComposedRef = useMergedRefs(dialogRef, modalityRef);
527
550
  useScrollLock(shouldPresent && hasScrim);
528
551
  useDevWarning('BottomSheet', 'requires a non-empty `label` for an accessible name; the open sheet ' + 'has no built-in heading to derive one from.', isOpen && !label);
529
552
 
@@ -585,8 +608,8 @@ function StandaloneBottomSheet({
585
608
  // The dialog is the panel's positioner, so the stack's recede
586
609
  // transforms the dialog: panel, grabber and all shrink and lift as
587
610
  // one. The backdrop is not a descendant and stays put.
588
- ...stackPositionerStyles(stackView), hasScrim && styles.scrim, hasScrim && isExiting && styles.scrimClosing, !hasScrim && styles.dialogNonModal),
589
- ref: dialogRef
611
+ ...stackPositionerStyles(stackView), hasScrim && styles.scrim, hasScrim && isEntrySettled && styles.scrimSettled, hasScrim && isExiting && styles.scrimClosing, !hasScrim && styles.dialogNonModal),
612
+ ref: dialogComposedRef
590
613
  // A non-modal sheet is hosted in the top layer as a manual popover
591
614
  // (no light dismiss, no backdrop), so sheets order by presentation
592
615
  // without a page-level z-index. Below the Popover API floor the
@@ -607,6 +630,8 @@ function StandaloneBottomSheet({
607
630
  ...props,
608
631
  ref: ref,
609
632
  state: panelState,
633
+ isEntrySettled: isEntrySettled,
634
+ onEntrySettled: releaseSettledOpen,
610
635
  isOpenRequested: isOpen,
611
636
  height: height,
612
637
  label: label,
@@ -668,7 +693,9 @@ function SwitcherBottomSheetItem({
668
693
  dialogProps,
669
694
  onDialogCancel,
670
695
  onDialogClick,
671
- onDialogKeyDown
696
+ onDialogKeyDown,
697
+ settledSheet,
698
+ releaseSettledSheet
672
699
  } = switcher;
673
700
  const hasValidSheetId = typeof sheetId === 'string' && sheetId.length > 0;
674
701
  const phase = hasValidSheetId ? getSheetPhase(sheetId) : 'hidden';
@@ -677,6 +704,8 @@ function SwitcherBottomSheetItem({
677
704
  const isInteractive = phase === 'active' || phase === 'entering';
678
705
  const isInactive = phase === 'covered' || phase === 'aligning' || phase === 'fading' || phase === 'exiting';
679
706
  const isPresented = phase !== 'hidden';
707
+ // The step open on the server opens settled (spec:AST-013 FR13).
708
+ const isEntrySettled = hasValidSheetId && isPresented && settledSheet === sheetId;
680
709
  const isTopSheet = phase === 'active' || phase === 'entering';
681
710
  const ownsScrim = hasValidSheetId && isScrimOwner(sheetId);
682
711
  // The flow is one level of the bottom-sheet stack; a sheet outside the flow
@@ -829,7 +858,7 @@ function SwitcherBottomSheetItem({
829
858
  'data-testid': switcherTestId,
830
859
  ...switcherDialogProps
831
860
  } = dialogProps;
832
- const dialogPresentationProps = mergeProps(stylex.props(styles.dialog, isPresented && styles.dialogOpen, hasScrim && styles.scrim, hasScrim && ownsScrim && isFlowClosing && styles.scrimClosing, !hasScrim && styles.dialogNonModalItem, !hasScrim && isTopSheet && styles.dialogNonModalItemTop, switcherXstyle), switcherClassName, switcherStyle);
861
+ const dialogPresentationProps = mergeProps(stylex.props(styles.dialog, isPresented && styles.dialogOpen, hasScrim && styles.scrim, hasScrim && isEntrySettled && styles.scrimSettled, hasScrim && ownsScrim && isFlowClosing && styles.scrimClosing, !hasScrim && styles.dialogNonModalItem, !hasScrim && isTopSheet && styles.dialogNonModalItemTop, switcherXstyle), switcherClassName, switcherStyle);
833
862
  return /*#__PURE__*/_jsxs("dialog", {
834
863
  ...switcherDialogProps,
835
864
  ...dialogPresentationProps,
@@ -856,6 +885,8 @@ function SwitcherBottomSheetItem({
856
885
  ...props,
857
886
  ref: ref,
858
887
  state: panelState,
888
+ isEntrySettled: isEntrySettled,
889
+ onEntrySettled: releaseSettledSheet,
859
890
  isOpenRequested: hasValidSheetId && activeSheet === sheetId,
860
891
  height: height,
861
892
  label: label,
@@ -47,6 +47,16 @@ interface BottomSheetPanelProps extends BaseProps<HTMLDivElement> {
47
47
  /** Ref forwarded to the visual sheet panel. */
48
48
  ref?: React.Ref<HTMLDivElement>;
49
49
  state: BottomSheetPanelState;
50
+ /**
51
+ * Whether the sheet was open on page load: it then opens where it rests,
52
+ * with no entry motion (spec:AST-013 FR13).
53
+ */
54
+ isEntrySettled?: boolean;
55
+ /**
56
+ * Called when the settled entry's transition ends, so the host can release
57
+ * it and later motion in the same open (a drag's settle) animates as usual.
58
+ */
59
+ onEntrySettled?: () => void;
50
60
  /**
51
61
  * The host's controlled open state — false as soon as the host has taken
52
62
  * a close, true while it is open or has refused one — distinct from
@@ -74,7 +84,7 @@ interface BottomSheetPanelProps extends BaseProps<HTMLDivElement> {
74
84
  onMotionComplete?: (motion: BottomSheetPanelMotion) => void;
75
85
  }
76
86
  /** Internal visual and gesture surface shared by every BottomSheet host. */
77
- export declare function BottomSheetPanel({ ref, state, isOpenRequested, height, label, children, padding, snapPoints, className, style, tabIndex, xstyle, isSwipeDismissAllowed, isPageScrollLocked, onDismiss, onScrimOpacity, onElementChange, onMotionStart, onMotionComplete, ...props }: BottomSheetPanelProps): import("react").JSX.Element;
87
+ export declare function BottomSheetPanel({ ref, state, isOpenRequested, height, label, children, padding, snapPoints, className, style, tabIndex, xstyle, isEntrySettled, onEntrySettled, onTransitionEnd, isSwipeDismissAllowed, isPageScrollLocked, onDismiss, onScrimOpacity, onElementChange, onMotionStart, onMotionComplete, ...props }: BottomSheetPanelProps): import("react").JSX.Element;
78
88
  export declare namespace BottomSheetPanel {
79
89
  var displayName: string;
80
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetPanel.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetPanel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA+B5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAIvB,QAAA,MAAM,cAAc;;;;CAIV,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC;AAC5D,YAAY,EAAC,oBAAoB,EAAC,CAAC;AA+CnC,eAAO,MAAM,2BAA2B,2DACkB,CAAC;AAiN3D,MAAM,MAAM,sBAAsB,GAChC,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAC7B;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GAChB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,GACjC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IAAC,IAAI,EAAE,SAAS,CAAA;CAAC,CAAC;AAEtB,UAAU,qBAAsB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC7D;AA4HD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,eAAe,EACf,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,qBAA4B,EAC5B,kBAA0B,EAC1B,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,qBAAqB,+BAyXvB;yBA9Ye,gBAAgB"}
1
+ {"version":3,"file":"BottomSheetPanel.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetPanel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA+B5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAQvB,QAAA,MAAM,cAAc;;;;CAIV,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC;AAC5D,YAAY,EAAC,oBAAoB,EAAC,CAAC;AA+CnC,eAAO,MAAM,2BAA2B,2DACkB,CAAC;AAsN3D,MAAM,MAAM,sBAAsB,GAChC,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAC7B;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GAChB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,GACjC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IAAC,IAAI,EAAE,SAAS,CAAA;CAAC,CAAC;AAEtB,UAAU,qBAAsB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC7D;AA4HD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,eAAe,EACf,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,cAAsB,EACtB,cAAc,EACd,eAAe,EACf,qBAA4B,EAC5B,kBAA0B,EAC1B,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,qBAAqB,+BA2ZvB;yBAnbe,gBAAgB"}
@@ -39,7 +39,7 @@ import { container } from "../Layout/container.stylex.js";
39
39
  import { containerPaddingBlockEndVarStyles, containerPaddingBlockStartVarStyles, containerPaddingInlineVarStyles, overlayPaddingReset, paddingStyles, spacingStepToToken } from "../Layout/padding.stylex.js";
40
40
  import { isValidSnapPoint, resolveSnapPoints } from "./snapOffsets.js";
41
41
  import { useMobileKeyboard } from "./useMobileKeyboard.js";
42
- import { useSheetGestures } from "./useSheetGestures.js";
42
+ import { scrollPreservationPadding, sheetLayoutHeight, useSheetGestures } from "./useSheetGestures.js";
43
43
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
44
44
  const HEIGHT_BUDGETS = {
45
45
  hug: '92dvh',
@@ -125,6 +125,10 @@ const styles = {
125
125
  k6sLGO: "x1q1rmc8",
126
126
  $$css: true
127
127
  },
128
+ sheetSettled: {
129
+ kIyJzY: "xpvlhck",
130
+ $$css: true
131
+ },
128
132
  sheetClosing: {
129
133
  k3aq6I: "x1weeur4 x1oe9tb1",
130
134
  kSiTet: "x1m67veq",
@@ -293,6 +297,9 @@ export function BottomSheetPanel({
293
297
  style,
294
298
  tabIndex,
295
299
  xstyle,
300
+ isEntrySettled = false,
301
+ onEntrySettled,
302
+ onTransitionEnd,
296
303
  isSwipeDismissAllowed = true,
297
304
  isPageScrollLocked = false,
298
305
  onDismiss,
@@ -359,6 +366,9 @@ export function BottomSheetPanel({
359
366
  };
360
367
  }, [snapPointsKey]);
361
368
  useDevWarning('BottomSheet', ignoredSnapPointsMessage, ignoredSnapPointsMessage !== '');
369
+
370
+ // A caller's height owns the element's height: the drag never writes it.
371
+ const consumerHeight = style?.height;
362
372
  const {
363
373
  contentProps,
364
374
  handleProps,
@@ -382,7 +392,8 @@ export function BottomSheetPanel({
382
392
  offscreenBlockEndInset: OVERSCROLL_PADDING,
383
393
  onDismiss,
384
394
  snapHeights,
385
- onScrimOpacity
395
+ onScrimOpacity,
396
+ hasFixedHeight: consumerHeight != null
386
397
  });
387
398
  const {
388
399
  getViewportProps,
@@ -512,6 +523,8 @@ export function BottomSheetPanel({
512
523
  // transform — the layout height changes at rest, in one reconciling render
513
524
  // whose visible geometry is identical (see useSheetGestures).
514
525
  // - dragging above the base restores the full height below the viewport
526
+ // (the move that crosses writes that height to the element itself,
527
+ // so this render only catches up to it)
515
528
  // - a peek settles with layout 0, so it slides rather than reflowing
516
529
  const layoutOffset = isDragging ? dragOffset < settledOffset ? 0 : settledLayoutOffset : settlingLayoutOffset ?? settledLayoutOffset;
517
530
  const activeOffset = isDragging ? dragOffset : settledOffset;
@@ -522,12 +535,14 @@ export function BottomSheetPanel({
522
535
  // pinned in px instead: content reflowing mid-gesture would move the
523
536
  // surface out from under the finger, or under the snap.
524
537
  const isTraveling = isDragging || settlingLayoutOffset != null;
525
- resizedHeight = layoutOffset > 0 || isTraveling ? `${Math.max(0, sheetHeight - Math.max(0, layoutOffset))}px` : undefined;
538
+ resizedHeight = layoutOffset > 0 || isTraveling ? sheetLayoutHeight(sheetHeight, layoutOffset) : undefined;
526
539
  gestureTransform = translation !== 0 ? `translateY(${translation}px)` : undefined;
527
540
  }
528
541
  const retainedTransform = alignmentOffset > 0 ? [gestureTransform, `translateY(${alignmentOffset}px)`].filter(Boolean).join(' ') : gestureTransform;
529
542
  const sheetTransform = isInteractive ? gestureTransform : isRetained ? retainedTransform : undefined;
530
543
  const consumerTransform = style?.transform;
544
+ const hostHeight = isInteractive || isRetained || isClosing ? resizedHeight : undefined;
545
+ const bodyEndPadding = scrollPreservationPadding(scrollPreservationInset);
531
546
  // The transform is written to the element here, not rendered through the
532
547
  // style prop. A drag writes it straight to the element once per input
533
548
  // sample (useSheetGestures) and renders nothing in between, so React never
@@ -536,29 +551,54 @@ export function BottomSheetPanel({
536
551
  // the finger left it. Written after every commit instead, outside a drag,
537
552
  // the resting value lands in the same style update as the restored
538
553
  // transition, so a settle or a dismissal animates from the live position.
554
+ //
555
+ // The height and the scrolling area's end inset are rendered through props,
556
+ // but a drag that crosses its base detent writes them to the elements too.
557
+ // When the release is processed before that move's render commits, React
558
+ // compares the resting values with the ones it committed before the drag,
559
+ // finds them unchanged and writes nothing, so the sheet would stay drawn at
560
+ // the drag's height. They are written here after every commit, outside a
561
+ // drag, for the same reason as the transform. A caller's height is left to
562
+ // the style prop: the drag does not write over it, so there is nothing to
563
+ // restore.
539
564
  useLayoutEffect(() => {
540
- if (isDragging || consumerTransform != null) {
565
+ if (isDragging) {
541
566
  return;
542
567
  }
543
568
  const element = elementRef.current;
544
569
  if (element != null) {
545
- element.style.transform = sheetTransform ?? '';
570
+ if (consumerTransform == null) {
571
+ element.style.transform = sheetTransform ?? '';
572
+ }
573
+ if (consumerHeight == null) {
574
+ element.style.height = hostHeight ?? '';
575
+ }
576
+ }
577
+ const body = bodyElementRef.current;
578
+ if (body != null) {
579
+ body.style.paddingBlockEnd = bodyEndPadding ?? '';
546
580
  }
547
581
  });
548
582
  const gestureStyle = {
549
583
  transition: contentProps.style.transition,
550
584
  touchAction: contentProps.style.touchAction,
551
585
  overscrollBehavior: contentProps.style.overscrollBehavior,
552
- height: resizedHeight
586
+ height: hostHeight
553
587
  };
554
588
  return /*#__PURE__*/_jsxs("div", {
555
589
  ...props,
556
590
  ref: setElement,
557
591
  tabIndex: tabIndex ?? -1,
558
- ...mergeProps(themeProps('bottom-sheet'), stylex.props(layerTextReset.reset, layerStructureReset.reset, styles.sheet, overlayPaddingReset.reset, height === 'hug' ? styles.hugHeight : styles.budget, isClosing && styles.sheetClosing, isClosing && isCrossFade && styles.sheetClosingCrossFade, isFading && styles.sheetFading, isInactive && styles.sheetInactive, xstyle), className, {
592
+ onTransitionEnd: event => {
593
+ onTransitionEnd?.(event);
594
+ if (isEntrySettled && event.target === event.currentTarget) {
595
+ onEntrySettled?.();
596
+ }
597
+ },
598
+ ...mergeProps(themeProps('bottom-sheet'), stylex.props(layerTextReset.reset, layerStructureReset.reset, styles.sheet, overlayPaddingReset.reset, height === 'hug' ? styles.hugHeight : styles.budget, isClosing && styles.sheetClosing, isClosing && isCrossFade && styles.sheetClosingCrossFade, isFading && styles.sheetFading, isInactive && styles.sheetInactive, isEntrySettled && styles.sheetSettled, xstyle), className, {
559
599
  ['--_sheet-budget']: budget,
560
600
  ...(isInteractive ? gestureStyle : isRetained || isClosing ? {
561
- height: resizedHeight
601
+ height: hostHeight
562
602
  } : {}),
563
603
  ...style
564
604
  }),
@@ -571,9 +611,9 @@ export function BottomSheetPanel({
571
611
  }), /*#__PURE__*/_jsx("div", {
572
612
  ...whilePresented(isPresented, getViewportProps({
573
613
  ...bodyProps,
574
- ...mergeProps(stylex.props(focusOutlineStyles.focusVisible, styles.body, height === 'tall' && styles.tallKeyboardBody), scrollPreservationInset > 0 ? {
614
+ ...mergeProps(stylex.props(focusOutlineStyles.focusVisible, styles.body, height === 'tall' && styles.tallKeyboardBody), bodyEndPadding != null ? {
575
615
  style: {
576
- paddingBlockEnd: `${scrollPreservationInset}px`
616
+ paddingBlockEnd: bodyEndPadding
577
617
  }
578
618
  } : {})
579
619
  })),
@@ -63,7 +63,7 @@
63
63
  * - /packages/core/src/BottomSheet/BottomSheetStacking.test.tsx
64
64
  * - /packages/core/src/BottomSheet/BottomSheetSwitcherContext.ts
65
65
  * - /packages/core/src/BottomSheet/BottomSheetSwitcher.doc.mjs
66
- * - /packages/core/src/BottomSheet/BottomSheetSwitcher.spec.md
66
+ * - /docs/specs/components/BottomSheet/BottomSheetSwitcher.spec.md
67
67
  * - /packages/core/src/BottomSheet/BottomSheetSwitcher.test.tsx
68
68
  * - /packages/core/src/BottomSheet/index.ts
69
69
  * - /apps/storybook/stories/BottomSheetSwitcher.stories.tsx
@@ -76,9 +76,11 @@ import type { BaseProps } from '../BaseProps.js';
76
76
  * by one state value that names the open step; closing the top sheet and
77
77
  * opening the next in the same update, from inside the open step, runs the
78
78
  * same replace handoff (see BottomSheet, "Replacing a sheet"). Keeps working until a future minor
79
- * release removes it: on its own as released (plus two fixes: a toast raised
80
- * from a step now renders above the flow and can be pressed, and reduced motion
81
- * follows design:reduced-motion), as one stack level when stacked.
79
+ * release removes it: on its own as released (plus three fixes: a toast raised
80
+ * from a step now renders above the flow and can be pressed, reduced motion
81
+ * follows design:reduced-motion, and a flow whose active sheet is set on the
82
+ * server renders closed until hydration, then opens that sheet settled), as
83
+ * one stack level when stacked.
82
84
  */
83
85
  export interface BottomSheetSwitcherProps extends BaseProps<HTMLDialogElement> {
84
86
  /**
@@ -129,10 +131,11 @@ export interface BottomSheetSwitcherProps extends BaseProps<HTMLDialogElement> {
129
131
  * `sheetId` and no switcher, for modal and `hasScrim={false}` flows alike; a
130
132
  * step changed from outside the flow's sheets closes and opens with the
131
133
  * sheets' own motion. The switcher keeps working until a future
132
- * minor release removes it: on its own as released (plus two fixes: a toast
133
- * raised from a step now renders above the flow and can be pressed, and reduced
134
- * motion follows design:reduced-motion), and as one level of the stack when
135
- * stacked with other sheets.
134
+ * minor release removes it: on its own as released (plus three fixes: a toast
135
+ * raised from a step now renders above the flow and can be pressed, reduced
136
+ * motion follows design:reduced-motion, and a flow whose active sheet is set
137
+ * on the server renders closed until hydration, then opens that sheet
138
+ * settled), and as one level of the stack when stacked with other sheets.
136
139
  */
137
140
  export declare function BottomSheetSwitcher({ activeSheet: activeSheetProp, onActiveSheetChange, hasScrim, children, ref, onCancel, onClick, onKeyDown, className, style, xstyle, ...restDialogProps }: BottomSheetSwitcherProps): import("react").JSX.Element;
138
141
  export declare namespace BottomSheetSwitcher {
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetSwitcher.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetSwitcher.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,OAAO,EAUL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6J5C;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAyB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC5E;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEnC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,iEAAiE;IACjE,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEtD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EAAE,eAAe,EAC5B,mBAAmB,EACnB,QAAe,EACf,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,eAAe,EACnB,EAAE,wBAAwB,+BA4vB1B;yBAzwBe,mBAAmB"}
1
+ {"version":3,"file":"BottomSheetSwitcher.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetSwitcher.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAEH,OAAO,EAUL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA6J5C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAyB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC5E;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEnC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,iEAAiE;IACjE,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEtD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EAAE,eAAe,EAC5B,mBAAmB,EACnB,QAAe,EACf,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,eAAe,EACnB,EAAE,wBAAwB,+BA8wB1B;yBA3xBe,mBAAmB"}
@@ -67,13 +67,15 @@
67
67
  * - /packages/core/src/BottomSheet/BottomSheetStacking.test.tsx
68
68
  * - /packages/core/src/BottomSheet/BottomSheetSwitcherContext.ts
69
69
  * - /packages/core/src/BottomSheet/BottomSheetSwitcher.doc.mjs
70
- * - /packages/core/src/BottomSheet/BottomSheetSwitcher.spec.md
70
+ * - /docs/specs/components/BottomSheet/BottomSheetSwitcher.spec.md
71
71
  * - /packages/core/src/BottomSheet/BottomSheetSwitcher.test.tsx
72
72
  * - /packages/core/src/BottomSheet/index.ts
73
73
  * - /apps/storybook/stories/BottomSheetSwitcher.stories.tsx
74
74
  * - /packages/cli/assets/templates/blocks/components/BottomSheet/BottomSheetSwitcherShowcase.tsx
75
75
  */
76
76
  import { use, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
77
+ import { useIsHydrating } from "../hooks/useIsHydrating.js";
78
+ import { useSettledOpen } from "../hooks/useSettledOpen.js";
77
79
  import * as stylex from '@stylexjs/stylex';
78
80
  import { useScrollLock } from "../hooks/useScrollLock.js";
79
81
  import { useFocusTrapEscapeCompatibilitySignal } from "../hooks/useFocusTrap.js";
@@ -164,9 +166,11 @@ function takeOverScrim(dialog, opacity) {
164
166
  * by one state value that names the open step; closing the top sheet and
165
167
  * opening the next in the same update, from inside the open step, runs the
166
168
  * same replace handoff (see BottomSheet, "Replacing a sheet"). Keeps working until a future minor
167
- * release removes it: on its own as released (plus two fixes: a toast raised
168
- * from a step now renders above the flow and can be pressed, and reduced motion
169
- * follows design:reduced-motion), as one stack level when stacked.
169
+ * release removes it: on its own as released (plus three fixes: a toast raised
170
+ * from a step now renders above the flow and can be pressed, reduced motion
171
+ * follows design:reduced-motion, and a flow whose active sheet is set on the
172
+ * server renders closed until hydration, then opens that sheet settled), as
173
+ * one stack level when stacked.
170
174
  */
171
175
 
172
176
  /**
@@ -189,10 +193,11 @@ function takeOverScrim(dialog, opacity) {
189
193
  * `sheetId` and no switcher, for modal and `hasScrim={false}` flows alike; a
190
194
  * step changed from outside the flow's sheets closes and opens with the
191
195
  * sheets' own motion. The switcher keeps working until a future
192
- * minor release removes it: on its own as released (plus two fixes: a toast
193
- * raised from a step now renders above the flow and can be pressed, and reduced
194
- * motion follows design:reduced-motion), and as one level of the stack when
195
- * stacked with other sheets.
196
+ * minor release removes it: on its own as released (plus three fixes: a toast
197
+ * raised from a step now renders above the flow and can be pressed, reduced
198
+ * motion follows design:reduced-motion, and a flow whose active sheet is set
199
+ * on the server renders closed until hydration, then opens that sheet
200
+ * settled), and as one level of the stack when stacked with other sheets.
196
201
  */
197
202
  export function BottomSheetSwitcher({
198
203
  activeSheet: activeSheetProp,
@@ -215,7 +220,17 @@ export function BottomSheetSwitcher({
215
220
  // for it; with the host closed the flow simply reads as closed.
216
221
  const host = use(BottomSheetHostContext);
217
222
  const isHostOpen = host?.isOpen ?? true;
218
- const activeSheet = isHostOpen ? activeSheetProp : null;
223
+ // A flow with an active sheet on the server reads as closed until
224
+ // hydration, and opens in the render after it, the first one that can enter
225
+ // its native host: a <dialog> painted open with aria-modal before it is
226
+ // modal claims a state it does not have (`component:BottomSheet` FR17).
227
+ const isHydrating = useIsHydrating();
228
+ const activeSheet = isHostOpen && !isHydrating ? activeSheetProp : null;
229
+ // The step active on the server was present on page load, so it opens
230
+ // settled, with no entry motion; the first change of step animates as
231
+ // usual (spec:AST-013 FR13). It latches on the flow's own request: a host
232
+ // sheet hydrating reads as closed to a flow inside it.
233
+ const [settledSheet, releaseSettledSheet] = useSettledOpen(activeSheetProp, activeSheet, null);
219
234
  // Every sheet host applies the switcher's dialog surface to its own dialog.
220
235
  const dialogProps = useShallowStable({
221
236
  ...restDialogProps,
@@ -746,6 +761,8 @@ export function BottomSheetSwitcher({
746
761
  const onDialogKeyDown = useMemo(() => composeEventHandlers(onKeyDown, handleKeyDown), [handleKeyDown, onKeyDown]);
747
762
  const contextValue = useMemo(() => ({
748
763
  activeSheet,
764
+ settledSheet,
765
+ releaseSettledSheet,
749
766
  hasScrim,
750
767
  onActiveSheetChange,
751
768
  getSheetPhase,
@@ -766,7 +783,7 @@ export function BottomSheetSwitcher({
766
783
  onDialogCancel,
767
784
  onDialogClick,
768
785
  onDialogKeyDown
769
- }), [activeSheet, dialogProps, getSheetAlignmentOffset, getSheetPhase, hasScrim, hostSheet, isCoveredInTopLayer, isFlowClosing, isScrimOwner, onActiveSheetChange, onBeforeSheetPresent, onDialogCancel, onDialogClick, onDialogKeyDown, onSheetEnterStart, onSheetScrimOpacityChange, onSheetTransitionComplete, registerSheetDialog, registerSheetElement, registerSheetPurpose, stackView]);
786
+ }), [activeSheet, dialogProps, getSheetAlignmentOffset, getSheetPhase, hasScrim, hostSheet, isCoveredInTopLayer, isFlowClosing, isScrimOwner, onActiveSheetChange, onBeforeSheetPresent, onDialogCancel, onDialogClick, onDialogKeyDown, onSheetEnterStart, onSheetScrimOpacityChange, onSheetTransitionComplete, registerSheetDialog, registerSheetElement, registerSheetPurpose, releaseSettledSheet, settledSheet, stackView]);
770
787
  return /*#__PURE__*/_jsx(BottomSheetSwitcherContext, {
771
788
  value: contextValue,
772
789
  children: /*#__PURE__*/_jsx("div", {
@@ -26,6 +26,14 @@ export interface BottomSheetSwitcherTransitionEvent {
26
26
  export type BottomSheetSwitcherDialogProps = Omit<BaseProps<HTMLDialogElement>, 'onClick' | 'onKeyDown'>;
27
27
  export interface BottomSheetSwitcherContextValue {
28
28
  activeSheet: string | null;
29
+ /**
30
+ * The sheet that was active on page load, until the active sheet first
31
+ * changes: it opens where it rests, with no entry motion
32
+ * (spec:AST-013 FR13).
33
+ */
34
+ settledSheet: string | null;
35
+ /** Releases `settledSheet` once its settled entry's transition ends. */
36
+ releaseSettledSheet: () => void;
29
37
  hasScrim: boolean;
30
38
  onActiveSheetChange: (sheetId: string | null) => void;
31
39
  getSheetPhase: (sheetId: string) => BottomSheetSwitcherPhase;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetSwitcherContext.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetSwitcherContext.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,aAAa,IAAI,kBAAkB,EACnC,UAAU,IAAI,eAAe,EAC7B,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,wBAAwB,GAChC,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvD;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,SAAS,CAAC,iBAAiB,CAAC,EAC5B,SAAS,GAAG,WAAW,CACxB,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,wBAAwB,CAAC;IAC7D,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD;;;;;OAKG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7E,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,iBAAiB,GAAG,IAAI,KAC7B,IAAI,CAAC;IACV,oBAAoB,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GAAG,IAAI,KAC1B,IAAI,CAAC;IACV;;;OAGG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,yBAAyB,EAAE,CACzB,KAAK,EAAE,kCAAkC,KACtC,IAAI,CAAC;IACV,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC,yEAAyE;IACzE,WAAW,EAAE,8BAA8B,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,eAAe,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACzE;AAED,eAAO,MAAM,0BAA0B,iEACsB,CAAC"}
1
+ {"version":3,"file":"BottomSheetSwitcherContext.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetSwitcherContext.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,aAAa,IAAI,kBAAkB,EACnC,UAAU,IAAI,eAAe,EAC7B,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,wBAAwB,GAChC,UAAU,GACV,QAAQ,GACR,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvD;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,SAAS,CAAC,iBAAiB,CAAC,EAC5B,SAAS,GAAG,WAAW,CACxB,CAAC;AAEF,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,wBAAwB,CAAC;IAC7D,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD;;;;;OAKG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7E,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,iBAAiB,GAAG,IAAI,KAC7B,IAAI,CAAC;IACV,oBAAoB,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,GAAG,IAAI,KAC1B,IAAI,CAAC;IACV;;;OAGG;IACH,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,yBAAyB,EAAE,CACzB,KAAK,EAAE,kCAAkC,KACtC,IAAI,CAAC;IACV,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC,yEAAyE;IACzE,WAAW,EAAE,8BAA8B,CAAC;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,eAAe,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACzE;AAED,eAAO,MAAM,0BAA0B,iEACsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMobileKeyboard.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/useMobileKeyboard.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAgBxD,UAAU,wBAAwB;IAChC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC5C;AA8DD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,eAAe,EACf,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,QAAQ,GACT,EAAE,wBAAwB,GAAG,IAAI,CAuXjC"}
1
+ {"version":3,"file":"useMobileKeyboard.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/useMobileKeyboard.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAgBxD,UAAU,wBAAwB;IAChC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC5C;AA8DD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,eAAe,EACf,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,QAAQ,GACT,EAAE,wBAAwB,GAAG,IAAI,CAgajC"}