@astryxdesign/core 0.7.6-canary.b735ef0 → 0.7.6-canary.b7c2ce8

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 (779) 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 +6 -2
  7. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  8. package/dist/BottomSheet/BottomSheetPanel.js +36 -9
  9. package/dist/BottomSheet/BottomSheetSwitcher.d.ts +1 -1
  10. package/dist/BottomSheet/BottomSheetSwitcher.js +1 -1
  11. package/dist/BottomSheet/useMobileKeyboard.d.ts.map +1 -1
  12. package/dist/BottomSheet/useMobileKeyboard.js +44 -8
  13. package/dist/BottomSheet/useSheetGestures.d.ts +36 -6
  14. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  15. package/dist/BottomSheet/useSheetGestures.js +67 -10
  16. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -2
  17. package/dist/Center/Center.d.ts +1 -1
  18. package/dist/Center/Center.js +1 -1
  19. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  20. package/dist/Chat/ChatComposer.js +15 -6
  21. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  22. package/dist/Chat/ChatComposerDrawer.js +1 -1
  23. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  24. package/dist/Chat/ChatComposerInput.js +1 -1
  25. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  26. package/dist/Chat/ChatLayout.js +1 -1
  27. package/dist/Chat/ChatMessageList.d.ts.map +1 -1
  28. package/dist/Chat/ChatMessageList.js +3 -1
  29. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  30. package/dist/Chat/ChatPastedTextToken.js +15 -4
  31. package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
  32. package/dist/Chat/ChatSystemMessage.js +2 -1
  33. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  34. package/dist/Chat/useTriggerMenu.d.ts +1 -1
  35. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  36. package/dist/Chat/useTriggerMenu.js +13 -28
  37. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  38. package/dist/CheckboxList/CheckboxList.js +5 -2
  39. package/dist/CheckboxList/CheckboxListContext.d.ts +8 -0
  40. package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
  41. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  42. package/dist/CheckboxList/CheckboxListItem.js +5 -2
  43. package/dist/Code/Code.d.ts +1 -1
  44. package/dist/Code/Code.js +1 -1
  45. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  46. package/dist/CodeBlock/CodeBlock.js +24 -5
  47. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  48. package/dist/Collapsible/Collapsible.js +23 -3
  49. package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
  50. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
  51. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  52. package/dist/CommandPalette/CommandPaletteInput.js +8 -5
  53. package/dist/ComplexSelector/ComplexSelector.d.ts +2 -2
  54. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  55. package/dist/ComplexSelector/ComplexSelector.js +1 -2
  56. package/dist/ContextMenu/ContextMenu.d.ts +6 -0
  57. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  58. package/dist/ContextMenu/ContextMenu.js +31 -7
  59. package/dist/DateInput/DateInput.d.ts +3 -2
  60. package/dist/DateInput/DateInput.d.ts.map +1 -1
  61. package/dist/DateRangeInput/DateRangeInput.d.ts +3 -2
  62. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  63. package/dist/Dialog/Dialog.d.ts.map +1 -1
  64. package/dist/Dialog/Dialog.js +10 -15
  65. package/dist/Drawer/Drawer.d.ts +1 -1
  66. package/dist/Drawer/Drawer.js +1 -1
  67. package/dist/DropdownMenu/DropdownMenu.d.ts +1 -1
  68. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  69. package/dist/DropdownMenu/DropdownMenu.js +25 -69
  70. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +3 -2
  71. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  72. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +4 -3
  73. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  74. package/dist/DropdownMenu/DropdownMenuItem.js +4 -3
  75. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +4 -3
  76. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  77. package/dist/DropdownMenu/DropdownMenuRadioItem.js +4 -3
  78. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  79. package/dist/DropdownMenu/DropdownMenuSubMenu.js +10 -6
  80. package/dist/DropdownMenu/MenuBottomSheetActionList.d.ts.map +1 -1
  81. package/dist/DropdownMenu/MenuBottomSheetActionList.js +9 -3
  82. package/dist/Field/Field.d.ts +2 -2
  83. package/dist/Field/Field.d.ts.map +1 -1
  84. package/dist/Field/FieldLabel.d.ts.map +1 -1
  85. package/dist/Field/FieldLabel.js +5 -13
  86. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  87. package/dist/Field/PanelSearchInput.js +10 -5
  88. package/dist/Field/fieldStatusPlacement.d.ts +15 -0
  89. package/dist/Field/fieldStatusPlacement.d.ts.map +1 -0
  90. package/dist/Field/fieldStatusPlacement.js +1 -0
  91. package/dist/Field/inputDisabledFocus.d.ts +5 -1
  92. package/dist/Field/inputDisabledFocus.d.ts.map +1 -1
  93. package/dist/Field/inputDisabledFocus.js +6 -1
  94. package/dist/FieldStatus/FieldStatus.d.ts +13 -28
  95. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  96. package/dist/FieldStatus/FieldStatus.js +25 -3
  97. package/dist/FieldStatus/index.d.ts +7 -0
  98. package/dist/FieldStatus/index.d.ts.map +1 -1
  99. package/dist/FileInput/FileInput.d.ts +7 -2
  100. package/dist/FileInput/FileInput.d.ts.map +1 -1
  101. package/dist/FileInput/FileInput.js +27 -2
  102. package/dist/Grid/GridSpan.d.ts +2 -0
  103. package/dist/Grid/GridSpan.d.ts.map +1 -1
  104. package/dist/Grid/GridSpan.js +2 -0
  105. package/dist/Heading/Heading.d.ts +5 -3
  106. package/dist/Heading/Heading.d.ts.map +1 -1
  107. package/dist/Heading/Heading.js +5 -3
  108. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  109. package/dist/HoverCard/useHoverCard.js +7 -0
  110. package/dist/Item/Item.d.ts.map +1 -1
  111. package/dist/Item/Item.js +11 -7
  112. package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
  113. package/dist/Item/ItemSwipeLayer.js +8 -2
  114. package/dist/Layer/layerStructureReset.stylex.d.ts +1 -0
  115. package/dist/Layer/layerStructureReset.stylex.d.ts.map +1 -1
  116. package/dist/Layer/layerStructureReset.stylex.js +1 -0
  117. package/dist/Layer/layerSurfacePress.d.ts +9 -0
  118. package/dist/Layer/layerSurfacePress.d.ts.map +1 -0
  119. package/dist/Layer/layerSurfacePress.js +39 -0
  120. package/dist/Layer/useLayer.d.ts +8 -0
  121. package/dist/Layer/useLayer.d.ts.map +1 -1
  122. package/dist/Layer/useLayer.js +6 -4
  123. package/dist/Layer/useTouchTrigger.d.ts +26 -3
  124. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  125. package/dist/Layer/useTouchTrigger.js +79 -10
  126. package/dist/Markdown/Markdown.d.ts.map +1 -1
  127. package/dist/Markdown/Markdown.js +1 -0
  128. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  129. package/dist/MetadataList/MetadataList.js +2 -1
  130. package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
  131. package/dist/MetadataList/MetadataListItem.js +2 -1
  132. package/dist/MultiSelector/MultiSelector.d.ts +2 -2
  133. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  134. package/dist/MultiSelector/MultiSelector.js +16 -16
  135. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  136. package/dist/MultiSelector/hooks.js +4 -2
  137. package/dist/NumberInput/NumberInput.d.ts +3 -2
  138. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  139. package/dist/OverflowList/OverflowList.d.ts.map +1 -1
  140. package/dist/OverflowList/OverflowList.js +2 -1
  141. package/dist/Pagination/Pagination.d.ts.map +1 -1
  142. package/dist/Popover/Popover.js +2 -2
  143. package/dist/Popover/usePopover.d.ts +7 -1
  144. package/dist/Popover/usePopover.d.ts.map +1 -1
  145. package/dist/Popover/usePopover.js +8 -2
  146. package/dist/PowerSearch/PowerSearch.d.ts +3 -2
  147. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  148. package/dist/PowerSearch/PowerSearch.js +4 -2
  149. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  150. package/dist/ProgressBar/ProgressBar.js +3 -1
  151. package/dist/RadioList/RadioList.d.ts.map +1 -1
  152. package/dist/RadioList/RadioList.js +7 -2
  153. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  154. package/dist/RadioList/RadioListItem.js +8 -2
  155. package/dist/RadioList/RadioListReasonContext.d.ts +2 -0
  156. package/dist/RadioList/RadioListReasonContext.d.ts.map +1 -0
  157. package/dist/RadioList/RadioListReasonContext.js +22 -0
  158. package/dist/Resizable/resizableModel.d.ts +64 -0
  159. package/dist/Resizable/resizableModel.d.ts.map +1 -0
  160. package/dist/Resizable/resizableModel.js +287 -0
  161. package/dist/Resizable/useResizable.d.ts +2 -2
  162. package/dist/Resizable/useResizable.d.ts.map +1 -1
  163. package/dist/Resizable/useResizable.js +1 -284
  164. package/dist/SegmentedControl/SegmentedControl.d.ts +7 -5
  165. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  166. package/dist/SegmentedControl/SegmentedControl.js +26 -16
  167. package/dist/SegmentedControl/SegmentedControlContext.d.ts +4 -5
  168. package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  169. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  170. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  171. package/dist/SegmentedControl/SegmentedControlItem.js +16 -13
  172. package/dist/Selector/Selector.d.ts +3 -3
  173. package/dist/Selector/Selector.d.ts.map +1 -1
  174. package/dist/Selector/Selector.js +5 -2
  175. package/dist/Selector/useSelectorPresentation.d.ts +7 -1
  176. package/dist/Selector/useSelectorPresentation.d.ts.map +1 -1
  177. package/dist/Selector/useSelectorPresentation.js +2 -1
  178. package/dist/SideNav/SideNav.d.ts.map +1 -1
  179. package/dist/SideNav/SideNav.js +142 -14
  180. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  181. package/dist/SideNav/SideNavCollapseButton.js +11 -2
  182. package/dist/SideNav/SideNavFocusTargetsContext.d.ts +11 -0
  183. package/dist/SideNav/SideNavFocusTargetsContext.d.ts.map +1 -0
  184. package/dist/SideNav/SideNavFocusTargetsContext.js +16 -0
  185. package/dist/SideNav/SideNavHeading.js +6 -2
  186. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  187. package/dist/SideNav/SideNavItem.js +13 -1
  188. package/dist/SideNav/railMotion.d.ts +5 -5
  189. package/dist/SideNav/railMotion.d.ts.map +1 -1
  190. package/dist/SideNav/railMotion.js +69 -177
  191. package/dist/Slider/Slider.d.ts.map +1 -1
  192. package/dist/Slider/Slider.js +10 -7
  193. package/dist/Table/BaseTable.d.ts.map +1 -1
  194. package/dist/Table/BaseTable.js +7 -6
  195. package/dist/Table/glidingDivider.d.ts +8 -1
  196. package/dist/Table/glidingDivider.d.ts.map +1 -1
  197. package/dist/Table/glidingDivider.js +8 -3
  198. package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
  199. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  200. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +1 -2
  201. package/dist/Text/text.stylex.d.ts +2 -0
  202. package/dist/Text/text.stylex.d.ts.map +1 -1
  203. package/dist/Text/text.stylex.js +11 -0
  204. package/dist/TextArea/TextArea.d.ts +2 -2
  205. package/dist/TextArea/TextArea.d.ts.map +1 -1
  206. package/dist/TextInput/TextInput.d.ts +3 -2
  207. package/dist/TextInput/TextInput.d.ts.map +1 -1
  208. package/dist/TimeInput/TimeInput.d.ts +3 -2
  209. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  210. package/dist/Timer/Timer.js +1 -1
  211. package/dist/Toast/Toast.d.ts.map +1 -1
  212. package/dist/Toast/Toast.js +1 -1
  213. package/dist/Toast/useToast.d.ts.map +1 -1
  214. package/dist/Toast/useToast.js +8 -2
  215. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  216. package/dist/ToggleButton/ToggleButton.js +11 -3
  217. package/dist/Token/Token.d.ts.map +1 -1
  218. package/dist/Token/Token.js +8 -1
  219. package/dist/Token/TokenLink.d.ts +9 -2
  220. package/dist/Token/TokenLink.d.ts.map +1 -1
  221. package/dist/Token/TokenLink.js +2 -0
  222. package/dist/Tokenizer/Tokenizer.d.ts +12 -5
  223. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  224. package/dist/Tokenizer/Tokenizer.js +14 -5
  225. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
  226. package/dist/Tokenizer/TokenizerBottomSheet.js +1 -1
  227. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  228. package/dist/Tooltip/useTooltip.js +11 -1
  229. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  230. package/dist/TopNav/TopNavHeading.js +8 -2
  231. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  232. package/dist/TopNav/TopNavMegaMenu.js +4 -3
  233. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
  234. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +9 -2
  235. package/dist/TreeList/TreeList.d.ts.map +1 -1
  236. package/dist/TreeList/TreeList.js +68 -7
  237. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  238. package/dist/TreeList/TreeListItem.js +4 -3
  239. package/dist/Typeahead/BaseTypeahead.d.ts +8 -5
  240. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  241. package/dist/Typeahead/BaseTypeahead.js +281 -41
  242. package/dist/Typeahead/Typeahead.d.ts +13 -8
  243. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  244. package/dist/Typeahead/Typeahead.disabled.a11y.chromium.spec.d.ts.map +1 -0
  245. package/dist/Typeahead/Typeahead.js +9 -7
  246. package/dist/Typeahead/index.d.ts +1 -1
  247. package/dist/Typeahead/index.d.ts.map +1 -1
  248. package/dist/Typeahead/types.d.ts +26 -3
  249. package/dist/Typeahead/types.d.ts.map +1 -1
  250. package/dist/astryx.css +6 -1
  251. package/dist/gestures/haptics.d.ts.map +1 -1
  252. package/dist/gestures/haptics.js +1 -5
  253. package/dist/hooks/ModalAnnounceProvider.d.ts +2 -2
  254. package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
  255. package/dist/hooks/ModalAnnounceProvider.js +9 -7
  256. package/dist/hooks/menuPressMarker.d.ts +13 -0
  257. package/dist/hooks/menuPressMarker.d.ts.map +1 -0
  258. package/dist/hooks/menuPressMarker.js +15 -0
  259. package/dist/hooks/useClickableContainer.d.ts +27 -4
  260. package/dist/hooks/useClickableContainer.d.ts.map +1 -1
  261. package/dist/hooks/useClickableContainer.js +51 -14
  262. package/dist/hooks/useFocusReturnVisibility.d.ts +8 -1
  263. package/dist/hooks/useFocusReturnVisibility.d.ts.map +1 -1
  264. package/dist/hooks/useFocusReturnVisibility.js +14 -8
  265. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  266. package/dist/hooks/useFocusTrap.js +2 -3
  267. package/dist/hooks/useInputStatusIcon.d.ts +2 -2
  268. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  269. package/dist/hooks/useInputStatusIcon.js +1 -2
  270. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  271. package/dist/hooks/useKeyboardHint.js +7 -1
  272. package/dist/hooks/useListFocus.d.ts +30 -0
  273. package/dist/hooks/useListFocus.d.ts.map +1 -1
  274. package/dist/hooks/useListFocus.js +53 -10
  275. package/dist/hooks/useMenuPress.d.ts +2 -2
  276. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  277. package/dist/hooks/useMenuPress.js +5 -6
  278. package/dist/hooks/useTreeFocus.d.ts +11 -1
  279. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  280. package/dist/hooks/useTreeFocus.js +32 -8
  281. package/dist/hooks/useTypeahead.d.ts +3 -1
  282. package/dist/hooks/useTypeahead.d.ts.map +1 -1
  283. package/dist/hooks/useTypeahead.js +21 -15
  284. package/dist/i18n/generated-locales/af-ZA.generated.d.ts.map +1 -1
  285. package/dist/i18n/generated-locales/af-ZA.generated.js +2 -2
  286. package/dist/i18n/generated-locales/ar-SA.generated.d.ts.map +1 -1
  287. package/dist/i18n/generated-locales/ar-SA.generated.js +2 -2
  288. package/dist/i18n/generated-locales/ca-ES.generated.d.ts.map +1 -1
  289. package/dist/i18n/generated-locales/ca-ES.generated.js +2 -2
  290. package/dist/i18n/generated-locales/cs-CZ.generated.d.ts.map +1 -1
  291. package/dist/i18n/generated-locales/cs-CZ.generated.js +2 -2
  292. package/dist/i18n/generated-locales/da-DK.generated.d.ts.map +1 -1
  293. package/dist/i18n/generated-locales/da-DK.generated.js +2 -2
  294. package/dist/i18n/generated-locales/de-DE.generated.d.ts.map +1 -1
  295. package/dist/i18n/generated-locales/de-DE.generated.js +2 -2
  296. package/dist/i18n/generated-locales/el-GR.generated.d.ts.map +1 -1
  297. package/dist/i18n/generated-locales/el-GR.generated.js +2 -2
  298. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  299. package/dist/i18n/generated-locales/en.generated.js +8 -2
  300. package/dist/i18n/generated-locales/es-ES.generated.d.ts.map +1 -1
  301. package/dist/i18n/generated-locales/es-ES.generated.js +2 -2
  302. package/dist/i18n/generated-locales/fi-FI.generated.d.ts.map +1 -1
  303. package/dist/i18n/generated-locales/fi-FI.generated.js +2 -2
  304. package/dist/i18n/generated-locales/fr-FR.generated.d.ts.map +1 -1
  305. package/dist/i18n/generated-locales/fr-FR.generated.js +2 -2
  306. package/dist/i18n/generated-locales/he-IL.generated.d.ts.map +1 -1
  307. package/dist/i18n/generated-locales/he-IL.generated.js +2 -2
  308. package/dist/i18n/generated-locales/hu-HU.generated.d.ts.map +1 -1
  309. package/dist/i18n/generated-locales/hu-HU.generated.js +2 -2
  310. package/dist/i18n/generated-locales/it-IT.generated.d.ts.map +1 -1
  311. package/dist/i18n/generated-locales/it-IT.generated.js +2 -2
  312. package/dist/i18n/generated-locales/ja-JP.generated.d.ts.map +1 -1
  313. package/dist/i18n/generated-locales/ja-JP.generated.js +2 -2
  314. package/dist/i18n/generated-locales/ko-KR.generated.d.ts.map +1 -1
  315. package/dist/i18n/generated-locales/ko-KR.generated.js +2 -2
  316. package/dist/i18n/generated-locales/nl-NL.generated.d.ts.map +1 -1
  317. package/dist/i18n/generated-locales/nl-NL.generated.js +2 -2
  318. package/dist/i18n/generated-locales/no-NO.generated.d.ts.map +1 -1
  319. package/dist/i18n/generated-locales/no-NO.generated.js +2 -2
  320. package/dist/i18n/generated-locales/pl-PL.generated.d.ts.map +1 -1
  321. package/dist/i18n/generated-locales/pl-PL.generated.js +2 -2
  322. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  323. package/dist/i18n/generated-locales/pseudo.generated.js +8 -2
  324. package/dist/i18n/generated-locales/pt-BR.generated.d.ts.map +1 -1
  325. package/dist/i18n/generated-locales/pt-BR.generated.js +2 -2
  326. package/dist/i18n/generated-locales/pt-PT.generated.d.ts.map +1 -1
  327. package/dist/i18n/generated-locales/pt-PT.generated.js +2 -2
  328. package/dist/i18n/generated-locales/ro-RO.generated.d.ts.map +1 -1
  329. package/dist/i18n/generated-locales/ro-RO.generated.js +2 -2
  330. package/dist/i18n/generated-locales/ru-RU.generated.d.ts.map +1 -1
  331. package/dist/i18n/generated-locales/ru-RU.generated.js +2 -2
  332. package/dist/i18n/generated-locales/sr-SP.generated.d.ts.map +1 -1
  333. package/dist/i18n/generated-locales/sr-SP.generated.js +2 -2
  334. package/dist/i18n/generated-locales/sv-SE.generated.d.ts.map +1 -1
  335. package/dist/i18n/generated-locales/sv-SE.generated.js +2 -2
  336. package/dist/i18n/generated-locales/tr-TR.generated.d.ts.map +1 -1
  337. package/dist/i18n/generated-locales/tr-TR.generated.js +2 -2
  338. package/dist/i18n/generated-locales/uk-UA.generated.d.ts.map +1 -1
  339. package/dist/i18n/generated-locales/uk-UA.generated.js +2 -2
  340. package/dist/i18n/generated-locales/vi-VN.generated.d.ts.map +1 -1
  341. package/dist/i18n/generated-locales/vi-VN.generated.js +2 -2
  342. package/dist/i18n/generated-locales/zh-CN.generated.d.ts.map +1 -1
  343. package/dist/i18n/generated-locales/zh-CN.generated.js +2 -2
  344. package/dist/i18n/generated-locales/zh-TW.generated.d.ts.map +1 -1
  345. package/dist/i18n/generated-locales/zh-TW.generated.js +2 -2
  346. package/dist/motion/animatedLayout.d.ts +130 -5
  347. package/dist/motion/animatedLayout.d.ts.map +1 -1
  348. package/dist/motion/animatedLayout.js +771 -44
  349. package/dist/motion/animator.d.ts.map +1 -1
  350. package/dist/motion/animator.js +107 -5
  351. package/dist/privateAttributes/segmentDisabled.stylex.d.ts +5 -0
  352. package/dist/privateAttributes/segmentDisabled.stylex.d.ts.map +1 -0
  353. package/dist/privateAttributes/segmentDisabled.stylex.js +28 -0
  354. package/dist/theme/Theme.d.ts +10 -0
  355. package/dist/theme/Theme.d.ts.map +1 -1
  356. package/dist/theme/Theme.js +8 -4
  357. package/dist/theme/useTheme.d.ts.map +1 -1
  358. package/dist/theme/useTheme.js +7 -1
  359. package/dist/utils/accessibleName.d.ts +8 -0
  360. package/dist/utils/accessibleName.d.ts.map +1 -0
  361. package/dist/utils/accessibleName.js +72 -0
  362. package/dist/utils/focusReturn.d.ts +40 -5
  363. package/dist/utils/focusReturn.d.ts.map +1 -1
  364. package/dist/utils/focusReturn.js +59 -6
  365. package/dist/utils/getNodeText.d.ts.map +1 -1
  366. package/dist/utils/getNodeText.js +2 -1
  367. package/dist/utils/interactionModality.d.ts +78 -7
  368. package/dist/utils/interactionModality.d.ts.map +1 -1
  369. package/dist/utils/interactionModality.js +125 -42
  370. package/dist/utils/pressDisabled.d.ts +21 -0
  371. package/dist/utils/pressDisabled.d.ts.map +1 -0
  372. package/dist/utils/pressDisabled.js +32 -0
  373. package/dist/utils/pressFeedback.d.ts.map +1 -1
  374. package/dist/utils/pressFeedback.js +5 -3
  375. package/dist/utils/sharedMutationObserver.d.ts +2 -2
  376. package/dist/utils/sharedMutationObserver.js +2 -2
  377. package/dist/utils/typeaheadMatch.d.ts +24 -0
  378. package/dist/utils/typeaheadMatch.d.ts.map +1 -0
  379. package/dist/utils/typeaheadMatch.js +112 -0
  380. package/dist/utils/useFocusLeavingChange.d.ts +13 -0
  381. package/dist/utils/useFocusLeavingChange.d.ts.map +1 -0
  382. package/dist/utils/useFocusLeavingChange.js +48 -0
  383. package/locales/af-ZA.json +2 -2
  384. package/locales/ar-SA.json +2 -2
  385. package/locales/ca-ES.json +2 -2
  386. package/locales/cs-CZ.json +2 -2
  387. package/locales/da-DK.json +2 -2
  388. package/locales/de-DE.json +2 -2
  389. package/locales/el-GR.json +2 -2
  390. package/locales/en.json +29 -5
  391. package/locales/es-ES.json +2 -2
  392. package/locales/fi-FI.json +2 -2
  393. package/locales/fr-FR.json +2 -2
  394. package/locales/he-IL.json +2 -2
  395. package/locales/hu-HU.json +2 -2
  396. package/locales/it-IT.json +2 -2
  397. package/locales/ja-JP.json +2 -2
  398. package/locales/ko-KR.json +2 -2
  399. package/locales/nl-NL.json +2 -2
  400. package/locales/no-NO.json +2 -2
  401. package/locales/pl-PL.json +2 -2
  402. package/locales/pseudo.json +20 -2
  403. package/locales/pt-BR.json +2 -2
  404. package/locales/pt-PT.json +2 -2
  405. package/locales/ro-RO.json +2 -2
  406. package/locales/ru-RU.json +2 -2
  407. package/locales/sr-SP.json +2 -2
  408. package/locales/sv-SE.json +2 -2
  409. package/locales/tr-TR.json +2 -2
  410. package/locales/uk-UA.json +2 -2
  411. package/locales/vi-VN.json +2 -2
  412. package/locales/zh-CN.json +2 -2
  413. package/locales/zh-TW.json +2 -2
  414. package/package.json +5 -4
  415. package/src/AppShell/AppShell.tsx +0 -9
  416. package/src/Banner/Banner.tsx +4 -0
  417. package/src/BottomSheet/BottomSheet.tsx +4 -2
  418. package/src/BottomSheet/BottomSheetPanel.tsx +39 -8
  419. package/src/BottomSheet/BottomSheetSwitcher.tsx +1 -1
  420. package/src/BottomSheet/useMobileKeyboard.ts +51 -10
  421. package/src/BottomSheet/useSheetGestures.ts +92 -15
  422. package/src/Breadcrumbs/BreadcrumbItem.tsx +2 -1
  423. package/src/Center/Center.tsx +1 -1
  424. package/src/Chat/ChatComposer.tsx +13 -11
  425. package/src/Chat/ChatComposerDrawer.tsx +1 -1
  426. package/src/Chat/ChatComposerInput.tsx +1 -1
  427. package/src/Chat/ChatLayout.tsx +1 -6
  428. package/src/Chat/ChatMessageList.tsx +1 -0
  429. package/src/Chat/ChatPastedTextToken.tsx +14 -4
  430. package/src/Chat/ChatSystemMessage.tsx +4 -1
  431. package/src/Chat/ChatToolCalls.tsx +5 -0
  432. package/src/Chat/useTriggerMenu.tsx +17 -27
  433. package/src/CheckboxList/CheckboxList.tsx +7 -1
  434. package/src/CheckboxList/CheckboxListContext.tsx +8 -0
  435. package/src/CheckboxList/CheckboxListItem.tsx +8 -2
  436. package/src/Code/Code.tsx +1 -1
  437. package/src/CodeBlock/CodeBlock.tsx +6 -2
  438. package/src/Collapsible/Collapsible.tsx +33 -4
  439. package/src/CommandPalette/CommandPaletteEmpty.tsx +2 -0
  440. package/src/CommandPalette/CommandPaletteInput.tsx +5 -8
  441. package/src/ComplexSelector/ComplexSelector.tsx +3 -2
  442. package/src/ContextMenu/ContextMenu.tsx +30 -6
  443. package/src/DateInput/DateInput.tsx +2 -2
  444. package/src/DateRangeInput/DateRangeInput.tsx +2 -2
  445. package/src/Dialog/Dialog.tsx +9 -25
  446. package/src/Drawer/Drawer.tsx +1 -1
  447. package/src/DropdownMenu/DropdownMenu.doc.mjs +2 -2
  448. package/src/DropdownMenu/DropdownMenu.tsx +29 -84
  449. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +2 -2
  450. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +15 -5
  451. package/src/DropdownMenu/DropdownMenuItem.tsx +7 -1
  452. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +2 -2
  453. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +16 -6
  454. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +11 -4
  455. package/src/DropdownMenu/MenuBottomSheetActionList.tsx +6 -3
  456. package/src/Field/Field.tsx +2 -2
  457. package/src/Field/FieldLabel.tsx +4 -22
  458. package/src/Field/PanelSearchInput.tsx +7 -8
  459. package/src/Field/fieldStatusPlacement.ts +18 -0
  460. package/src/Field/inputDisabledFocus.ts +15 -1
  461. package/src/FieldStatus/FieldStatus.tsx +28 -3
  462. package/src/FieldStatus/index.ts +7 -0
  463. package/src/FileInput/FileInput.doc.mjs +3 -3
  464. package/src/FileInput/FileInput.tsx +34 -8
  465. package/src/Grid/GridSpan.doc.mjs +51 -2
  466. package/src/Grid/GridSpan.tsx +2 -0
  467. package/src/Heading/Heading.tsx +5 -3
  468. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  469. package/src/HoverCard/useHoverCard.doc.mjs +1 -1
  470. package/src/HoverCard/useHoverCard.tsx +7 -0
  471. package/src/Item/Item.tsx +16 -7
  472. package/src/Item/ItemSwipeLayer.tsx +8 -1
  473. package/src/Layer/layerStructureReset.stylex.ts +5 -0
  474. package/src/Layer/layerSurfacePress.ts +39 -0
  475. package/src/Layer/useLayer.tsx +23 -4
  476. package/src/Layer/useTouchTrigger.ts +106 -17
  477. package/src/Markdown/Markdown.tsx +1 -0
  478. package/src/MetadataList/MetadataList.tsx +4 -2
  479. package/src/MetadataList/MetadataListItem.tsx +2 -1
  480. package/src/MultiSelector/MultiSelector.tsx +38 -31
  481. package/src/MultiSelector/hooks.ts +7 -5
  482. package/src/NumberInput/NumberInput.tsx +2 -2
  483. package/src/OverflowList/OverflowList.tsx +2 -1
  484. package/src/Pagination/Pagination.tsx +1 -0
  485. package/src/Popover/Popover.tsx +2 -2
  486. package/src/Popover/usePopover.tsx +7 -2
  487. package/src/PowerSearch/PowerSearch.tsx +4 -2
  488. package/src/ProgressBar/ProgressBar.tsx +3 -1
  489. package/src/RadioList/RadioList.tsx +13 -2
  490. package/src/RadioList/RadioListItem.tsx +9 -1
  491. package/src/RadioList/RadioListReasonContext.ts +25 -0
  492. package/src/Resizable/resizableModel.ts +364 -0
  493. package/src/Resizable/useResizable.ts +17 -348
  494. package/src/SegmentedControl/SegmentedControl.doc.mjs +5 -5
  495. package/src/SegmentedControl/SegmentedControl.tsx +58 -30
  496. package/src/SegmentedControl/SegmentedControlContext.ts +4 -5
  497. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  498. package/src/SegmentedControl/SegmentedControlItem.tsx +12 -14
  499. package/src/Selector/Selector.tsx +7 -3
  500. package/src/Selector/useSelectorPresentation.ts +8 -1
  501. package/src/SideNav/SideNav.tsx +213 -25
  502. package/src/SideNav/SideNavCollapseButton.tsx +18 -2
  503. package/src/SideNav/SideNavFocusTargetsContext.ts +29 -0
  504. package/src/SideNav/SideNavHeading.tsx +2 -2
  505. package/src/SideNav/SideNavItem.tsx +19 -3
  506. package/src/SideNav/railMotion.ts +73 -179
  507. package/src/Slider/Slider.tsx +7 -10
  508. package/src/Table/BaseTable.tsx +10 -6
  509. package/src/Table/glidingDivider.ts +8 -3
  510. package/src/Table/plugins/sortable/useTableSortable.tsx +2 -0
  511. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
  512. package/src/Text/Heading.doc.mjs +52 -3
  513. package/src/Text/Text.doc.mjs +1 -1
  514. package/src/Text/text.stylex.ts +12 -0
  515. package/src/TextArea/TextArea.tsx +3 -2
  516. package/src/TextInput/TextInput.tsx +2 -2
  517. package/src/TimeInput/TimeInput.tsx +2 -2
  518. package/src/Timer/Timer.tsx +1 -1
  519. package/src/Toast/Toast.tsx +2 -0
  520. package/src/Toast/useToast.tsx +8 -3
  521. package/src/ToggleButton/ToggleButton.tsx +10 -3
  522. package/src/Token/Token.tsx +10 -1
  523. package/src/Token/TokenLink.tsx +16 -1
  524. package/src/Tokenizer/Tokenizer.doc.mjs +16 -11
  525. package/src/Tokenizer/Tokenizer.tsx +34 -9
  526. package/src/Tokenizer/TokenizerBottomSheet.tsx +1 -1
  527. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  528. package/src/Tooltip/useTooltip.doc.mjs +1 -1
  529. package/src/Tooltip/useTooltip.tsx +10 -1
  530. package/src/TopNav/TopNavHeading.tsx +8 -2
  531. package/src/TopNav/TopNavMegaMenu.tsx +4 -3
  532. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
  533. package/src/TreeList/TreeList.tsx +91 -11
  534. package/src/TreeList/TreeListItem.tsx +5 -3
  535. package/src/Typeahead/BaseTypeahead.doc.mjs +7 -4
  536. package/src/Typeahead/BaseTypeahead.tsx +328 -42
  537. package/src/Typeahead/Typeahead.doc.mjs +24 -6
  538. package/src/Typeahead/Typeahead.tsx +19 -13
  539. package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
  540. package/src/Typeahead/index.ts +1 -1
  541. package/src/Typeahead/types.ts +27 -3
  542. package/src/gestures/haptics.ts +1 -8
  543. package/src/hooks/ModalAnnounceProvider.tsx +12 -9
  544. package/src/hooks/menuPressMarker.ts +15 -0
  545. package/src/hooks/useClickableContainer.ts +58 -17
  546. package/src/hooks/useFocusReturnVisibility.ts +15 -12
  547. package/src/hooks/useFocusTrap.ts +2 -8
  548. package/src/hooks/useInputStatusIcon.tsx +2 -2
  549. package/src/hooks/useKeyboardHint.tsx +7 -1
  550. package/src/hooks/useListFocus.ts +88 -8
  551. package/src/hooks/useMenuPress.ts +5 -5
  552. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  553. package/src/hooks/useTreeFocus.ts +49 -13
  554. package/src/hooks/useTypeahead.doc.mjs +2 -2
  555. package/src/hooks/useTypeahead.ts +21 -20
  556. package/src/i18n/generated-locales/af-ZA.generated.ts +3 -2
  557. package/src/i18n/generated-locales/ar-SA.generated.ts +3 -2
  558. package/src/i18n/generated-locales/ca-ES.generated.ts +3 -2
  559. package/src/i18n/generated-locales/cs-CZ.generated.ts +3 -2
  560. package/src/i18n/generated-locales/da-DK.generated.ts +3 -2
  561. package/src/i18n/generated-locales/de-DE.generated.ts +3 -2
  562. package/src/i18n/generated-locales/el-GR.generated.ts +3 -2
  563. package/src/i18n/generated-locales/en.generated.ts +11 -2
  564. package/src/i18n/generated-locales/es-ES.generated.ts +3 -2
  565. package/src/i18n/generated-locales/fi-FI.generated.ts +3 -2
  566. package/src/i18n/generated-locales/fr-FR.generated.ts +3 -2
  567. package/src/i18n/generated-locales/he-IL.generated.ts +3 -2
  568. package/src/i18n/generated-locales/hu-HU.generated.ts +3 -2
  569. package/src/i18n/generated-locales/it-IT.generated.ts +3 -2
  570. package/src/i18n/generated-locales/ja-JP.generated.ts +3 -2
  571. package/src/i18n/generated-locales/ko-KR.generated.ts +3 -2
  572. package/src/i18n/generated-locales/nl-NL.generated.ts +3 -2
  573. package/src/i18n/generated-locales/no-NO.generated.ts +3 -2
  574. package/src/i18n/generated-locales/pl-PL.generated.ts +3 -2
  575. package/src/i18n/generated-locales/pseudo.generated.ts +11 -2
  576. package/src/i18n/generated-locales/pt-BR.generated.ts +3 -2
  577. package/src/i18n/generated-locales/pt-PT.generated.ts +3 -2
  578. package/src/i18n/generated-locales/ro-RO.generated.ts +3 -2
  579. package/src/i18n/generated-locales/ru-RU.generated.ts +3 -2
  580. package/src/i18n/generated-locales/sr-SP.generated.ts +3 -2
  581. package/src/i18n/generated-locales/sv-SE.generated.ts +3 -2
  582. package/src/i18n/generated-locales/tr-TR.generated.ts +3 -2
  583. package/src/i18n/generated-locales/uk-UA.generated.ts +3 -2
  584. package/src/i18n/generated-locales/vi-VN.generated.ts +3 -2
  585. package/src/i18n/generated-locales/zh-CN.generated.ts +3 -2
  586. package/src/i18n/generated-locales/zh-TW.generated.ts +3 -2
  587. package/src/motion/animatedLayout.ts +977 -45
  588. package/src/motion/animator.ts +136 -13
  589. package/src/privateAttributes/segmentDisabled.stylex.ts +28 -0
  590. package/src/theme/Theme.tsx +8 -4
  591. package/src/theme/useTheme.ts +6 -1
  592. package/src/utils/accessibleName.ts +87 -0
  593. package/src/utils/focusReturn.ts +73 -6
  594. package/src/utils/getNodeText.ts +2 -1
  595. package/src/utils/interactionModality.ts +165 -44
  596. package/src/utils/pressDisabled.ts +32 -0
  597. package/src/utils/pressFeedback.ts +5 -3
  598. package/src/utils/sharedMutationObserver.ts +2 -2
  599. package/src/utils/typeaheadMatch.ts +141 -0
  600. package/src/utils/useFocusLeavingChange.ts +53 -0
  601. package/src/AlertDialog/AlertDialog.spec.md +0 -259
  602. package/src/AppShell/AppShell.spec.md +0 -331
  603. package/src/AspectRatio/AspectRatio.spec.md +0 -179
  604. package/src/Avatar/Avatar.spec.md +0 -253
  605. package/src/Avatar/AvatarStatusDot.spec.md +0 -208
  606. package/src/AvatarGroup/AvatarGroup.spec.md +0 -205
  607. package/src/AvatarGroup/AvatarGroupOverflow.spec.md +0 -210
  608. package/src/Badge/Badge.spec.md +0 -207
  609. package/src/Banner/Banner.spec.md +0 -282
  610. package/src/Blockquote/Blockquote.spec.md +0 -171
  611. package/src/BottomSheet/BottomSheet.spec.md +0 -457
  612. package/src/BottomSheet/BottomSheetSwitcher.spec.md +0 -367
  613. package/src/Breadcrumbs/BreadcrumbItem.spec.md +0 -269
  614. package/src/Breadcrumbs/Breadcrumbs.spec.md +0 -165
  615. package/src/Button/Button.spec.md +0 -322
  616. package/src/ButtonGroup/ButtonGroup.spec.md +0 -220
  617. package/src/Calendar/Calendar.spec.md +0 -248
  618. package/src/Card/Card.spec.md +0 -205
  619. package/src/Carousel/Carousel.spec.md +0 -146
  620. package/src/Center/Center.spec.md +0 -205
  621. package/src/Chat/ChatComposer.spec.md +0 -246
  622. package/src/Chat/ChatComposerDrawer.spec.md +0 -267
  623. package/src/Chat/ChatComposerInput.spec.md +0 -224
  624. package/src/Chat/ChatComposerTokenElement.spec.md +0 -164
  625. package/src/Chat/ChatDictationButton.spec.md +0 -205
  626. package/src/Chat/ChatLayout.spec.md +0 -276
  627. package/src/Chat/ChatLayoutScrollButton.spec.md +0 -322
  628. package/src/Chat/ChatMessage.spec.md +0 -264
  629. package/src/Chat/ChatMessageBubble.spec.md +0 -263
  630. package/src/Chat/ChatMessageList.spec.md +0 -222
  631. package/src/Chat/ChatMessageMetadata.spec.md +0 -220
  632. package/src/Chat/ChatSendButton.spec.md +0 -238
  633. package/src/Chat/ChatSystemMessage.spec.md +0 -224
  634. package/src/Chat/ChatTokenizedText.spec.md +0 -190
  635. package/src/Chat/ChatToolCalls.spec.md +0 -194
  636. package/src/CheckboxInput/CheckboxInput.spec.md +0 -218
  637. package/src/CheckboxList/CheckboxList.spec.md +0 -332
  638. package/src/CheckboxList/CheckboxListItem.spec.md +0 -302
  639. package/src/Citation/Citation.spec.md +0 -192
  640. package/src/ClickableCard/ClickableCard.spec.md +0 -241
  641. package/src/Code/Code.spec.md +0 -170
  642. package/src/CodeBlock/CodeBlock.spec.md +0 -243
  643. package/src/Collapsible/Collapsible.spec.md +0 -247
  644. package/src/Collapsible/CollapsibleGroup.spec.md +0 -229
  645. package/src/CommandPalette/CommandPalette.spec.md +0 -278
  646. package/src/CommandPalette/CommandPaletteEmpty.spec.md +0 -190
  647. package/src/CommandPalette/CommandPaletteInput.spec.md +0 -215
  648. package/src/CommandPalette/CommandPaletteItem.spec.md +0 -223
  649. package/src/CommandPalette/CommandPaletteList.spec.md +0 -194
  650. package/src/ComplexSelector/ComplexSelector.spec.md +0 -266
  651. package/src/ContextMenu/ContextMenu.spec.md +0 -279
  652. package/src/ContextMenu/ContextMenuItem.spec.md +0 -132
  653. package/src/DateInput/DateInput.spec.md +0 -336
  654. package/src/DateRangeInput/DateRangeInput.spec.md +0 -203
  655. package/src/DateTimeInput/DateTimeInput.spec.md +0 -270
  656. package/src/Dialog/Dialog.spec.md +0 -189
  657. package/src/Dialog/modules/DialogHeader.spec.md +0 -211
  658. package/src/Divider/Divider.spec.md +0 -252
  659. package/src/Drawer/Drawer.spec.md +0 -388
  660. package/src/Drawer/DrawerHeader.spec.md +0 -181
  661. package/src/DropdownMenu/DropdownMenu.spec.md +0 -562
  662. package/src/DropdownMenu/DropdownMenuCheckboxItem.spec.md +0 -192
  663. package/src/DropdownMenu/DropdownMenuDivider.spec.md +0 -186
  664. package/src/DropdownMenu/DropdownMenuGroup.spec.md +0 -145
  665. package/src/DropdownMenu/DropdownMenuItem.spec.md +0 -215
  666. package/src/DropdownMenu/DropdownMenuRadioGroup.spec.md +0 -187
  667. package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +0 -227
  668. package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +0 -231
  669. package/src/DropdownMenu/modules/useMenuHover.spec.md +0 -283
  670. package/src/DropdownMenu/modules/useMenuPress.spec.md +0 -348
  671. package/src/EmptyState/EmptyState.spec.md +0 -203
  672. package/src/Field/Field.spec.md +0 -226
  673. package/src/Field/FieldLabel.spec.md +0 -192
  674. package/src/FieldStatus/FieldStatus.spec.md +0 -224
  675. package/src/FileInput/FileInput.spec.md +0 -199
  676. package/src/FormLayout/FormLayout.spec.md +0 -201
  677. package/src/Grid/Grid.spec.md +0 -193
  678. package/src/Grid/GridSpan.spec.md +0 -158
  679. package/src/Heading/Heading.spec.md +0 -198
  680. package/src/HoverCard/HoverCard.spec.md +0 -244
  681. package/src/Icon/Icon.spec.md +0 -244
  682. package/src/IconButton/IconButton.spec.md +0 -197
  683. package/src/Indicator/CheckIndicator.spec.md +0 -164
  684. package/src/Indicator/CheckboxIndicator.spec.md +0 -164
  685. package/src/Indicator/Indicator.spec.md +0 -188
  686. package/src/InputGroup/InputGroup.spec.md +0 -199
  687. package/src/InputGroup/InputGroupText.spec.md +0 -139
  688. package/src/Item/Item.spec.md +0 -226
  689. package/src/Kbd/Kbd.spec.md +0 -185
  690. package/src/Layer/LayerProvider.spec.md +0 -149
  691. package/src/Layout/Layout.spec.md +0 -243
  692. package/src/Layout/LayoutContent.spec.md +0 -205
  693. package/src/Layout/LayoutFooter.spec.md +0 -190
  694. package/src/Layout/LayoutHeader.spec.md +0 -193
  695. package/src/Layout/LayoutPanel.spec.md +0 -194
  696. package/src/Lightbox/Lightbox.spec.md +0 -387
  697. package/src/Link/Link.spec.md +0 -230
  698. package/src/Link/LinkProvider.spec.md +0 -167
  699. package/src/List/List.spec.md +0 -336
  700. package/src/List/ListItem.spec.md +0 -205
  701. package/src/Markdown/Markdown.spec.md +0 -595
  702. package/src/Markdown/modules/headingLinks.spec.md +0 -262
  703. package/src/Markdown/modules/remark.spec.md +0 -269
  704. package/src/Markdown/modules/softBreaks.spec.md +0 -137
  705. package/src/Markdown/modules/sourceLines.spec.md +0 -162
  706. package/src/MetadataList/MetadataList.spec.md +0 -187
  707. package/src/MetadataList/MetadataListItem.spec.md +0 -165
  708. package/src/MobileNav/MobileNav.spec.md +0 -306
  709. package/src/MoreMenu/MoreMenu.spec.md +0 -268
  710. package/src/MultiSelector/MultiSelector.spec.md +0 -364
  711. package/src/NavIcon/NavIcon.spec.md +0 -158
  712. package/src/NavMenu/NavHeadingMenu.spec.md +0 -264
  713. package/src/NumberInput/NumberInput.spec.md +0 -270
  714. package/src/Outline/Outline.spec.md +0 -258
  715. package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +0 -150
  716. package/src/OverflowList/OverflowList.spec.md +0 -204
  717. package/src/Overlay/Overlay.spec.md +0 -304
  718. package/src/Pagination/Pagination.spec.md +0 -300
  719. package/src/Popover/Popover.spec.md +0 -525
  720. package/src/PowerSearch/PowerSearch.spec.md +0 -661
  721. package/src/ProgressBar/ProgressBar.spec.md +0 -285
  722. package/src/RadioList/RadioList.spec.md +0 -227
  723. package/src/RadioList/RadioListItem.spec.md +0 -223
  724. package/src/Resizable/Resizable.spec.md +0 -298
  725. package/src/ScrollableArea/ScrollableArea.spec.md +0 -190
  726. package/src/ScrollableArea/modules/useScrollableArea.spec.md +0 -149
  727. package/src/Section/Section.spec.md +0 -197
  728. package/src/SegmentedControl/SegmentedControl.spec.md +0 -261
  729. package/src/SegmentedControl/SegmentedControlItem.spec.md +0 -206
  730. package/src/SelectableCard/SelectableCard.spec.md +0 -230
  731. package/src/Selector/Selector.spec.md +0 -379
  732. package/src/SideNav/SideNav.spec.md +0 -247
  733. package/src/SideNav/SideNavCollapseButton.spec.md +0 -161
  734. package/src/SideNav/SideNavHeading.spec.md +0 -226
  735. package/src/SideNav/SideNavItem.spec.md +0 -236
  736. package/src/SideNav/SideNavSection.spec.md +0 -153
  737. package/src/Skeleton/Skeleton.spec.md +0 -184
  738. package/src/Slider/Slider.spec.md +0 -287
  739. package/src/Spinner/Spinner.spec.md +0 -231
  740. package/src/Stack/Stack.spec.md +0 -203
  741. package/src/StatusDot/StatusDot.spec.md +0 -224
  742. package/src/Stepper/Step.spec.md +0 -200
  743. package/src/Stepper/Stepper.spec.md +0 -327
  744. package/src/Switch/Switch.spec.md +0 -277
  745. package/src/TabList/Tab.spec.md +0 -201
  746. package/src/TabList/TabList.spec.md +0 -217
  747. package/src/TabList/TabMenu.spec.md +0 -198
  748. package/src/Table/Table.spec.md +0 -395
  749. package/src/Table/plugins/activation/useTableActivation.spec.md +0 -254
  750. package/src/Table/plugins/columnResize/useTableColumnResize.spec.md +0 -373
  751. package/src/Table/plugins/infiniteScroll/useTableInfiniteScroll.spec.md +0 -244
  752. package/src/Table/plugins/rowStatus/useTableRowStatus.spec.md +0 -355
  753. package/src/Table/plugins/virtualization/useTableVirtualization.spec.md +0 -266
  754. package/src/Text/Text.spec.md +0 -193
  755. package/src/TextArea/TextArea.spec.md +0 -300
  756. package/src/TextInput/TextInput.spec.md +0 -260
  757. package/src/Thumbnail/Thumbnail.spec.md +0 -244
  758. package/src/TimeInput/TimeInput.spec.md +0 -270
  759. package/src/Timer/Timer.spec.md +0 -215
  760. package/src/Timestamp/Timestamp.spec.md +0 -246
  761. package/src/Toast/Toast.spec.md +0 -291
  762. package/src/ToggleButton/ToggleButton.spec.md +0 -256
  763. package/src/ToggleButton/ToggleButtonGroup.spec.md +0 -195
  764. package/src/Token/Token.spec.md +0 -262
  765. package/src/Tokenizer/Tokenizer.spec.md +0 -615
  766. package/src/Toolbar/Toolbar.spec.md +0 -227
  767. package/src/Tooltip/Tooltip.spec.md +0 -267
  768. package/src/TopNav/TopNav.spec.md +0 -190
  769. package/src/TopNav/TopNavHeading.spec.md +0 -211
  770. package/src/TopNav/TopNavItem.spec.md +0 -189
  771. package/src/TopNav/TopNavMegaMenu.spec.md +0 -190
  772. package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +0 -150
  773. package/src/TopNav/TopNavMegaMenuItem.spec.md +0 -155
  774. package/src/TopNav/TopNavMenu.spec.md +0 -202
  775. package/src/TreeList/TreeList.spec.md +0 -328
  776. package/src/Typeahead/BaseTypeahead.spec.md +0 -270
  777. package/src/Typeahead/Typeahead.spec.md +0 -257
  778. package/src/VisuallyHidden/VisuallyHidden.spec.md +0 -170
  779. 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;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;AAuDhD,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;AAo0BxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}
@@ -82,6 +82,7 @@ import "../theme/tokens.stylex.js";
82
82
  import { colorVars, durationVars, easeVars, spacingVars } from "../theme/tokens.stylex.js";
83
83
  import { useDevWarning } from "../hooks/useDevWarning.js";
84
84
  import { useScrollLock } from "../hooks/useScrollLock.js";
85
+ import { useMergedRefs } from "../hooks/useMergedRefs.js";
85
86
  import { mergeProps } from "../utils/mergeProps.js";
86
87
  import { LayerDepthProvider } from "../Layer/LayerDepthContext.js";
87
88
  import { ModalAnnounceProvider } from "../hooks/ModalAnnounceProvider.js";
@@ -523,7 +524,10 @@ function StandaloneBottomSheet({
523
524
  }
524
525
  triggerRef.current = null;
525
526
  }, [finalFocusRef, hasScrim, isOpen]);
526
- useInteractionModalityTracking();
527
+ const {
528
+ ref: modalityRef
529
+ } = useInteractionModalityTracking();
530
+ const dialogComposedRef = useMergedRefs(dialogRef, modalityRef);
527
531
  useScrollLock(shouldPresent && hasScrim);
528
532
  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
533
 
@@ -586,7 +590,7 @@ function StandaloneBottomSheet({
586
590
  // transforms the dialog: panel, grabber and all shrink and lift as
587
591
  // one. The backdrop is not a descendant and stays put.
588
592
  ...stackPositionerStyles(stackView), hasScrim && styles.scrim, hasScrim && isExiting && styles.scrimClosing, !hasScrim && styles.dialogNonModal),
589
- ref: dialogRef
593
+ ref: dialogComposedRef
590
594
  // A non-modal sheet is hosted in the top layer as a manual popover
591
595
  // (no light dismiss, no backdrop), so sheets order by presentation
592
596
  // without a page-level z-index. Below the Popover API floor the
@@ -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;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,+BAoZvB;yBAzae,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',
@@ -359,6 +359,9 @@ export function BottomSheetPanel({
359
359
  };
360
360
  }, [snapPointsKey]);
361
361
  useDevWarning('BottomSheet', ignoredSnapPointsMessage, ignoredSnapPointsMessage !== '');
362
+
363
+ // A caller's height owns the element's height: the drag never writes it.
364
+ const consumerHeight = style?.height;
362
365
  const {
363
366
  contentProps,
364
367
  handleProps,
@@ -382,7 +385,8 @@ export function BottomSheetPanel({
382
385
  offscreenBlockEndInset: OVERSCROLL_PADDING,
383
386
  onDismiss,
384
387
  snapHeights,
385
- onScrimOpacity
388
+ onScrimOpacity,
389
+ hasFixedHeight: consumerHeight != null
386
390
  });
387
391
  const {
388
392
  getViewportProps,
@@ -512,6 +516,8 @@ export function BottomSheetPanel({
512
516
  // transform — the layout height changes at rest, in one reconciling render
513
517
  // whose visible geometry is identical (see useSheetGestures).
514
518
  // - dragging above the base restores the full height below the viewport
519
+ // (the move that crosses writes that height to the element itself,
520
+ // so this render only catches up to it)
515
521
  // - a peek settles with layout 0, so it slides rather than reflowing
516
522
  const layoutOffset = isDragging ? dragOffset < settledOffset ? 0 : settledLayoutOffset : settlingLayoutOffset ?? settledLayoutOffset;
517
523
  const activeOffset = isDragging ? dragOffset : settledOffset;
@@ -522,12 +528,14 @@ export function BottomSheetPanel({
522
528
  // pinned in px instead: content reflowing mid-gesture would move the
523
529
  // surface out from under the finger, or under the snap.
524
530
  const isTraveling = isDragging || settlingLayoutOffset != null;
525
- resizedHeight = layoutOffset > 0 || isTraveling ? `${Math.max(0, sheetHeight - Math.max(0, layoutOffset))}px` : undefined;
531
+ resizedHeight = layoutOffset > 0 || isTraveling ? sheetLayoutHeight(sheetHeight, layoutOffset) : undefined;
526
532
  gestureTransform = translation !== 0 ? `translateY(${translation}px)` : undefined;
527
533
  }
528
534
  const retainedTransform = alignmentOffset > 0 ? [gestureTransform, `translateY(${alignmentOffset}px)`].filter(Boolean).join(' ') : gestureTransform;
529
535
  const sheetTransform = isInteractive ? gestureTransform : isRetained ? retainedTransform : undefined;
530
536
  const consumerTransform = style?.transform;
537
+ const hostHeight = isInteractive || isRetained || isClosing ? resizedHeight : undefined;
538
+ const bodyEndPadding = scrollPreservationPadding(scrollPreservationInset);
531
539
  // The transform is written to the element here, not rendered through the
532
540
  // style prop. A drag writes it straight to the element once per input
533
541
  // sample (useSheetGestures) and renders nothing in between, so React never
@@ -536,20 +544,39 @@ export function BottomSheetPanel({
536
544
  // the finger left it. Written after every commit instead, outside a drag,
537
545
  // the resting value lands in the same style update as the restored
538
546
  // transition, so a settle or a dismissal animates from the live position.
547
+ //
548
+ // The height and the scrolling area's end inset are rendered through props,
549
+ // but a drag that crosses its base detent writes them to the elements too.
550
+ // When the release is processed before that move's render commits, React
551
+ // compares the resting values with the ones it committed before the drag,
552
+ // finds them unchanged and writes nothing, so the sheet would stay drawn at
553
+ // the drag's height. They are written here after every commit, outside a
554
+ // drag, for the same reason as the transform. A caller's height is left to
555
+ // the style prop: the drag does not write over it, so there is nothing to
556
+ // restore.
539
557
  useLayoutEffect(() => {
540
- if (isDragging || consumerTransform != null) {
558
+ if (isDragging) {
541
559
  return;
542
560
  }
543
561
  const element = elementRef.current;
544
562
  if (element != null) {
545
- element.style.transform = sheetTransform ?? '';
563
+ if (consumerTransform == null) {
564
+ element.style.transform = sheetTransform ?? '';
565
+ }
566
+ if (consumerHeight == null) {
567
+ element.style.height = hostHeight ?? '';
568
+ }
569
+ }
570
+ const body = bodyElementRef.current;
571
+ if (body != null) {
572
+ body.style.paddingBlockEnd = bodyEndPadding ?? '';
546
573
  }
547
574
  });
548
575
  const gestureStyle = {
549
576
  transition: contentProps.style.transition,
550
577
  touchAction: contentProps.style.touchAction,
551
578
  overscrollBehavior: contentProps.style.overscrollBehavior,
552
- height: resizedHeight
579
+ height: hostHeight
553
580
  };
554
581
  return /*#__PURE__*/_jsxs("div", {
555
582
  ...props,
@@ -558,7 +585,7 @@ export function BottomSheetPanel({
558
585
  ...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, {
559
586
  ['--_sheet-budget']: budget,
560
587
  ...(isInteractive ? gestureStyle : isRetained || isClosing ? {
561
- height: resizedHeight
588
+ height: hostHeight
562
589
  } : {}),
563
590
  ...style
564
591
  }),
@@ -571,9 +598,9 @@ export function BottomSheetPanel({
571
598
  }), /*#__PURE__*/_jsx("div", {
572
599
  ...whilePresented(isPresented, getViewportProps({
573
600
  ...bodyProps,
574
- ...mergeProps(stylex.props(focusOutlineStyles.focusVisible, styles.body, height === 'tall' && styles.tallKeyboardBody), scrollPreservationInset > 0 ? {
601
+ ...mergeProps(stylex.props(focusOutlineStyles.focusVisible, styles.body, height === 'tall' && styles.tallKeyboardBody), bodyEndPadding != null ? {
575
602
  style: {
576
- paddingBlockEnd: `${scrollPreservationInset}px`
603
+ paddingBlockEnd: bodyEndPadding
577
604
  }
578
605
  } : {})
579
606
  })),
@@ -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
@@ -67,7 +67,7 @@
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
@@ -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"}
@@ -110,11 +110,18 @@ export function useMobileKeyboard({
110
110
  return;
111
111
  }
112
112
  let keyboardGeometry = null;
113
+ let keyboardObstructionTop = null;
114
+ let bodyScrollTopAtKeyboard = null;
113
115
  let documentScrollAtKeyboard = null;
114
116
  const ownsFocusTransitions = isIOSWebKit();
115
117
  const clearKeyboardLayout = () => {
116
118
  body.style.setProperty(MOBILE_KEYBOARD_INSET_VAR, '0px');
119
+ if (bodyScrollTopAtKeyboard != null) {
120
+ body.scrollTop = bodyScrollTopAtKeyboard;
121
+ }
117
122
  keyboardGeometry = null;
123
+ keyboardObstructionTop = null;
124
+ bodyScrollTopAtKeyboard = null;
118
125
  documentScrollAtKeyboard = null;
119
126
  hasKeyboardLayoutRef.current = false;
120
127
  retainKeyboardLayoutRef.current = false;
@@ -214,8 +221,23 @@ export function useMobileKeyboard({
214
221
  }
215
222
  };
216
223
  const revealFocusedControl = () => {
224
+ const obstructionTop = getObstructionTop();
217
225
  const activeElement = document.activeElement;
218
- if (!isFullyExpandedRef.current || !(activeElement instanceof HTMLElement) || !body.contains(activeElement) || !isTextEntryControl(activeElement)) {
226
+ const focusedControl = activeElement instanceof HTMLElement && body.contains(activeElement) && isTextEntryControl(activeElement) ? activeElement : null;
227
+ // The keyboard may close while the text field remains focused (for
228
+ // example, a downward keyboard dismissal gesture on iOS). Run the full
229
+ // cleanup path so the temporary spacer and the body scroll it enabled
230
+ // are both restored. Then reveal the still-focused control against the
231
+ // recovered sheet, because it may not be the field that opened the
232
+ // keyboard and therefore may sit outside the restored scroll position.
233
+ if (hasKeyboardLayoutRef.current && isVisualViewportRecovered()) {
234
+ clearKeyboardLayout();
235
+ if (isFullyExpandedRef.current && focusedControl) {
236
+ scrollControlIntoSafeArea(focusedControl, false);
237
+ }
238
+ return;
239
+ }
240
+ if (!isFullyExpandedRef.current || focusedControl == null) {
219
241
  if (retainKeyboardLayoutRef.current && keyboardGeometry) {
220
242
  applyKeyboardGeometry(keyboardGeometry);
221
243
  return;
@@ -223,9 +245,19 @@ export function useMobileKeyboard({
223
245
  clearKeyboardLayout();
224
246
  return;
225
247
  }
248
+
249
+ // An interactively dismissed iOS keyboard can leave the accessory bar
250
+ // visible, so the visual viewport grows without reaching full height.
251
+ // Restore the pre-keyboard body position as soon as that recovery starts;
252
+ // the ordinary safe-area pass below may still scroll a low focused field
253
+ // just enough for whatever obstruction remains. Advance the remembered
254
+ // obstruction so later content mutations do not repeat this recovery.
255
+ if (hasKeyboardLayoutRef.current && keyboardObstructionTop != null && obstructionTop > keyboardObstructionTop + 0.5 && bodyScrollTopAtKeyboard != null) {
256
+ body.scrollTop = bodyScrollTopAtKeyboard;
257
+ keyboardObstructionTop = obstructionTop;
258
+ }
226
259
  retainKeyboardLayoutRef.current = false;
227
260
  const measuredBodyRect = body.getBoundingClientRect();
228
- const obstructionTop = getObstructionTop();
229
261
  const overlap = Math.max(0, measuredBodyRect.bottom - obstructionTop);
230
262
  // The extra clearance leaves room for mobile suggestion UI, but only
231
263
  // while the visual viewport actually overlaps the sheet. With no
@@ -239,16 +271,20 @@ export function useMobileKeyboard({
239
271
  // the position handleDocumentScroll returns to. Captured on the
240
272
  // transition only — a reveal that runs after the browser has already
241
273
  // scrolled would otherwise record the shifted position as correct.
242
- if (isPageScrollLocked && overlap > 0 && !hasKeyboardLayoutRef.current) {
243
- documentScrollAtKeyboard = {
244
- x: window.scrollX,
245
- y: window.scrollY
246
- };
274
+ if (overlap > 0 && !hasKeyboardLayoutRef.current) {
275
+ keyboardObstructionTop = obstructionTop;
276
+ bodyScrollTopAtKeyboard = body.scrollTop;
277
+ if (isPageScrollLocked) {
278
+ documentScrollAtKeyboard = {
279
+ x: window.scrollX,
280
+ y: window.scrollY
281
+ };
282
+ }
247
283
  }
248
284
  hasKeyboardLayoutRef.current = overlap > 0;
249
285
  const inset = overlap > 0 ? Math.max(0, measuredBodyRect.bottom - (obstructionTop - clearance)) : 0;
250
286
  body.style.setProperty(MOBILE_KEYBOARD_INSET_VAR, `${inset}px`);
251
- scrollControlIntoSafeArea(activeElement, overlap > 0);
287
+ scrollControlIntoSafeArea(focusedControl, overlap > 0);
252
288
  };
253
289
  let animationFrame = 0;
254
290
  const scheduleReveal = () => {
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * @file useSheetGestures.ts
3
3
  * @input Uses React (useCallback, useEffect, useMemo, useRef, useState)
4
- * @output Exports useSheetGestures hook and its option/result types
4
+ * @output Exports useSheetGestures hook, its option/result types, and the
5
+ * height and end-inset formats a host renders for the layout split
5
6
  * @position Internal to BottomSheet; not exported from the core entry point
6
7
  *
7
8
  * Drag + snap machinery for the bottom sheet. Tracks a pointer drag down the
@@ -22,10 +23,18 @@
22
23
  * A live drag writes that transform straight to the sheet element, once per
23
24
  * input sample, and renders nothing: React state changes when the drag begins
24
25
  * and ends, and in between only when the layout split changes (a drag that
25
- * crosses above its base detent restores the full height). The live offset
26
- * is readable through `activeOffsetRef`. The host owns the element's
27
- * transform outside a drag and writes the resting value after each commit,
28
- * so a settle animates from wherever the finger left the sheet.
26
+ * crosses above its base detent restores the full height). That crossing
27
+ * changes three things that only look right together: the transform, the
28
+ * sheet's height and the scrolling area's end inset. The move writes all
29
+ * three to the elements in the same task, so the browser paints them in one
30
+ * frame, and the render it schedules catches the host up to the same values
31
+ * whenever it commits; it never decides what the next frame shows. The live
32
+ * offset is readable through `activeOffsetRef`. The host owns the element's
33
+ * transform, height and end inset outside a drag and writes their resting
34
+ * values after each commit (a host with a fixed height of its own keeps that
35
+ * height, and the drag never writes it), so a settle animates from wherever the finger
36
+ * left the sheet, and a release processed before the crossing move's render
37
+ * commits still leaves the sheet drawn at its resting detent.
29
38
  *
30
39
  * Those are pixels, and the stops behind them are relative to the viewport, so
31
40
  * a sheet at rest re-resolves its detent on `resize` / `orientationchange`,
@@ -66,6 +75,19 @@
66
75
  * - /packages/core/src/BottomSheet/useSheetGestures.test.ts
67
76
  */
68
77
  import { type CSSProperties, type MouseEvent as ReactMouseEvent, type PointerEvent as ReactPointerEvent, type RefObject, type TouchEvent as ReactTouchEvent, type UIEvent as ReactUIEvent } from 'react';
78
+ /**
79
+ * The sheet's height, in px, while it is in motion or rests with a layout
80
+ * split: the fully open height less the part the scrolling area gives up.
81
+ * The host renders it and a live drag writes it; one format keeps the two
82
+ * identical, so the render that follows a written value changes nothing.
83
+ */
84
+ export declare function sheetLayoutHeight(sheetHeight: number, layoutOffset: number): string;
85
+ /**
86
+ * The scrolling area's end padding that preserves its scroll position across
87
+ * a height change, or nothing when there is none to add. Shared by the host's
88
+ * render and a live drag's write for the same reason as sheetLayoutHeight.
89
+ */
90
+ export declare function scrollPreservationPadding(inset: number): string | undefined;
69
91
  /**
70
92
  * Whether a gesture that lands on `target` began inside another layer
71
93
  * rendered in this sheet's content — a `<dialog>` between the target and the
@@ -141,6 +163,14 @@ export interface UseSheetGesturesOptions {
141
163
  * on the dismiss overshoot. Lets the owner mirror it onto the scrim.
142
164
  */
143
165
  onScrimOpacity?: (opacity: number) => void;
166
+ /**
167
+ * Whether the host draws the sheet at a fixed height of its own (a caller's
168
+ * height) rather than the layout-split height. A drag across the base
169
+ * detent then writes only the transform and the end inset, and leaves the
170
+ * element's height to the host.
171
+ * @default false
172
+ */
173
+ hasFixedHeight?: boolean;
144
174
  }
145
175
  export interface SheetContentProps {
146
176
  style: CSSProperties;
@@ -260,5 +290,5 @@ export interface UseSheetGesturesResult {
260
290
  * </div>
261
291
  * ```
262
292
  */
263
- export declare function useSheetGestures({ isOpen, isOpenRequested, canDismiss, offscreenBlockEndInset, onDismiss, snapHeights, onSnap, onScrimOpacity, }: UseSheetGesturesOptions): UseSheetGesturesResult;
293
+ export declare function useSheetGestures({ isOpen, isOpenRequested, canDismiss, offscreenBlockEndInset, onDismiss, snapHeights, onSnap, onScrimOpacity, hasFixedHeight, }: UseSheetGesturesOptions): UseSheetGesturesResult;
264
294
  //# sourceMappingURL=useSheetGestures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSheetGestures.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/useSheetGestures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSheetGestures.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/useSheetGestures.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,8 @@
5
5
  /**
6
6
  * @file useSheetGestures.ts
7
7
  * @input Uses React (useCallback, useEffect, useMemo, useRef, useState)
8
- * @output Exports useSheetGestures hook and its option/result types
8
+ * @output Exports useSheetGestures hook, its option/result types, and the
9
+ * height and end-inset formats a host renders for the layout split
9
10
  * @position Internal to BottomSheet; not exported from the core entry point
10
11
  *
11
12
  * Drag + snap machinery for the bottom sheet. Tracks a pointer drag down the
@@ -26,10 +27,18 @@
26
27
  * A live drag writes that transform straight to the sheet element, once per
27
28
  * input sample, and renders nothing: React state changes when the drag begins
28
29
  * and ends, and in between only when the layout split changes (a drag that
29
- * crosses above its base detent restores the full height). The live offset
30
- * is readable through `activeOffsetRef`. The host owns the element's
31
- * transform outside a drag and writes the resting value after each commit,
32
- * so a settle animates from wherever the finger left the sheet.
30
+ * crosses above its base detent restores the full height). That crossing
31
+ * changes three things that only look right together: the transform, the
32
+ * sheet's height and the scrolling area's end inset. The move writes all
33
+ * three to the elements in the same task, so the browser paints them in one
34
+ * frame, and the render it schedules catches the host up to the same values
35
+ * whenever it commits; it never decides what the next frame shows. The live
36
+ * offset is readable through `activeOffsetRef`. The host owns the element's
37
+ * transform, height and end inset outside a drag and writes their resting
38
+ * values after each commit (a host with a fixed height of its own keeps that
39
+ * height, and the drag never writes it), so a settle animates from wherever the finger
40
+ * left the sheet, and a release processed before the crossing move's render
41
+ * commits still leaves the sheet drawn at its resting detent.
33
42
  *
34
43
  * Those are pixels, and the stops behind them are relative to the viewport, so
35
44
  * a sheet at rest re-resolves its detent on `resize` / `orientationchange`,
@@ -172,6 +181,25 @@ function magnetize(value, targets) {
172
181
  function preservationInsetForOffset(baseOffset, targetOffset, naturalEndGap) {
173
182
  return Math.max(0, baseOffset - targetOffset - naturalEndGap);
174
183
  }
184
+
185
+ /**
186
+ * The sheet's height, in px, while it is in motion or rests with a layout
187
+ * split: the fully open height less the part the scrolling area gives up.
188
+ * The host renders it and a live drag writes it; one format keeps the two
189
+ * identical, so the render that follows a written value changes nothing.
190
+ */
191
+ export function sheetLayoutHeight(sheetHeight, layoutOffset) {
192
+ return `${Math.max(0, sheetHeight - Math.max(0, layoutOffset))}px`;
193
+ }
194
+
195
+ /**
196
+ * The scrolling area's end padding that preserves its scroll position across
197
+ * a height change, or nothing when there is none to add. Shared by the host's
198
+ * render and a live drag's write for the same reason as sheetLayoutHeight.
199
+ */
200
+ export function scrollPreservationPadding(inset) {
201
+ return inset > 0 ? `${inset}px` : undefined;
202
+ }
175
203
  function renderedBlockEndPadding(element) {
176
204
  const value = Number.parseFloat(getComputedStyle(element).paddingBlockEnd);
177
205
  return Number.isFinite(value) ? value : 0;
@@ -299,7 +327,8 @@ export function useSheetGestures({
299
327
  onDismiss,
300
328
  snapHeights,
301
329
  onSnap,
302
- onScrimOpacity
330
+ onScrimOpacity,
331
+ hasFixedHeight = false
303
332
  }) {
304
333
  const [dragOffset, setDragOffset] = useState(0);
305
334
  const [settledOffset, setSettledOffset] = useState(0);
@@ -416,11 +445,13 @@ export function useSheetGestures({
416
445
  const canDismissRef = useRef(canDismiss);
417
446
  const onSnapRef = useRef(onSnap);
418
447
  const onScrimOpacityRef = useRef(onScrimOpacity);
448
+ const hasFixedHeightRef = useRef(hasFixedHeight);
419
449
  useEffect(() => {
420
450
  onDismissRef.current = onDismiss;
421
451
  canDismissRef.current = canDismiss;
422
452
  onSnapRef.current = onSnap;
423
453
  onScrimOpacityRef.current = onScrimOpacity;
454
+ hasFixedHeightRef.current = hasFixedHeight;
424
455
  });
425
456
 
426
457
  // Live drag bookkeeping (refs so pointermove doesn't churn renders).
@@ -642,6 +673,27 @@ export function useSheetGestures({
642
673
  const translation = offset - layoutOffset;
643
674
  element.style.transform = translation !== 0 ? `translateY(${translation}px)` : '';
644
675
  }, []);
676
+
677
+ // A live drag's layout split moved. The transform written beside this call
678
+ // is only correct on the new split, so the height and end inset that pair
679
+ // with it go to the elements in the same task. They are the values the host
680
+ // renders from the state this move also sets, in the same format, so its
681
+ // commit, whenever it lands, leaves them as they are. If the drag ends
682
+ // before that commit, the host's post-commit write puts the resting values
683
+ // back, since React sees no change from what it committed before the drag.
684
+ // A host with a fixed height of its own renders that height throughout and
685
+ // never restores a written one, so its height is not written.
686
+ const writeLiveLayout = useCallback((sheetHeight, layoutOffset) => {
687
+ const element = sheetElRef.current;
688
+ // Unmeasured, the host renders no height to pair with.
689
+ if (element != null && sheetHeight > 0 && !hasFixedHeightRef.current) {
690
+ element.style.height = sheetLayoutHeight(sheetHeight, layoutOffset);
691
+ }
692
+ const body = bodyNodeRef.current;
693
+ if (body != null) {
694
+ body.style.paddingBlockEnd = scrollPreservationPadding(scrollPreservationInsetRef.current) ?? '';
695
+ }
696
+ }, []);
645
697
  const cancelDrag = useCallback(target => {
646
698
  const state = dragStateRef.current;
647
699
  if (state == null) {
@@ -863,17 +915,22 @@ export function useSheetGestures({
863
915
  state.renderedOffset = next;
864
916
  state.layoutOffset = layoutOffset;
865
917
  activeOffsetRef.current = next;
918
+ updateScrollPreservationInset(preservationInsetForOffset(state.baseLayoutOffset, layoutOffset, state.naturalEndGap));
866
919
  writeLiveTransform(next, layoutOffset);
867
920
  if (hasLayoutChanged) {
868
- // The layout split moved: the host renders the new height, reading
869
- // the offset it has to pair with it from state.
921
+ // The layout split moved. The new height and end inset are written
922
+ // with the transform, in this task: a render scheduled normally can
923
+ // commit after the next paint, and the transform alone on the old
924
+ // height would put the sheet the whole split away from the finger
925
+ // for that frame. The host still renders them from state, reading
926
+ // the offset it has to pair with the height from here.
927
+ writeLiveLayout(state.height, layoutOffset);
870
928
  setDragOffset(next);
871
929
  }
872
930
  if (!state.hasTraveled && next !== state.baseOffset) {
873
931
  state.hasTraveled = true;
874
932
  setIsTraveling(true);
875
933
  }
876
- updateScrollPreservationInset(preservationInsetForOffset(state.baseLayoutOffset, layoutOffset, state.naturalEndGap));
877
934
 
878
935
  // Mirror the scrim to the live drag: full at/above the mid detent,
879
936
  // fading to hidden as it collapses onto the peek detent and through the
@@ -882,7 +939,7 @@ export function useSheetGestures({
882
939
  const shortestDetentHeight = visibleHeightForOffset(state.height, floorOffset, offscreenBlockEndInsetRef.current);
883
940
  const dismissOffset = floorOffset + shortestDetentHeight * DISMISS_OVERSHOOT_RATIO;
884
941
  onScrimOpacityRef.current?.(scrimOpacityForOffset(next, offsets, dismissOffset, peekOffset));
885
- }, [resolveDetents, updateScrollPreservationInset, writeLiveTransform]);
942
+ }, [resolveDetents, updateScrollPreservationInset, writeLiveLayout, writeLiveTransform]);
886
943
  const endDrag = useCallback(event => {
887
944
  const state = dragStateRef.current;
888
945
  if (!state || state.pointerId !== event.pointerId) {
@@ -356,7 +356,9 @@ function BreadcrumbMenuTrigger({
356
356
  // The menu's rows move focus with the last input
357
357
  // (`architecture:interaction-modality` INV1); this menu has no press model
358
358
  // to activate the tracking they read, so it activates it itself.
359
- useInteractionModalityTracking();
359
+ const {
360
+ ref: modalityRef
361
+ } = useInteractionModalityTracking();
360
362
  const popover = usePopover({
361
363
  hasLightDismiss: true,
362
364
  hasCloseButton: false,
@@ -447,7 +449,7 @@ function BreadcrumbMenuTrigger({
447
449
  const hasOverflow = useMenuOverflow(listRef, menuContent, popover.isOpen);
448
450
  return /*#__PURE__*/_jsxs(_Fragment, {
449
451
  children: [/*#__PURE__*/_jsxs("button", {
450
- ref: useMergedRefs(ref, buttonRef, popover.triggerRef),
452
+ ref: useMergedRefs(ref, buttonRef, modalityRef, popover.triggerRef),
451
453
  type: "button",
452
454
  onClick: handleClick,
453
455
  onKeyDown: handleKeyDown,
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * SYNC: When modified, update these files to stay in sync:
8
8
  * - /packages/core/src/Center/Center.doc.mjs
9
- * - /packages/core/src/Center/Center.spec.md
9
+ * - /docs/specs/components/Center/Center.spec.md
10
10
  * - /packages/core/src/Center/Center.test.tsx
11
11
  * - /apps/storybook/stories/Center.stories.tsx
12
12
  * - /packages/cli/assets/templates/blocks/components/Center/ (showcase blocks)
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * SYNC: When modified, update these files to stay in sync:
10
10
  * - /packages/core/src/Center/Center.doc.mjs
11
- * - /packages/core/src/Center/Center.spec.md
11
+ * - /docs/specs/components/Center/Center.spec.md
12
12
  * - /packages/core/src/Center/Center.test.tsx
13
13
  * - /apps/storybook/stories/Center.stories.tsx
14
14
  * - /packages/cli/assets/templates/blocks/components/Center/ (showcase blocks)