@astryxdesign/core 0.7.5-canary.b7ea471 → 0.7.5-canary.bb8291b

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 (1099) hide show
  1. package/CHANGELOG.md +10 -10
  2. package/README.md +15 -12
  3. package/dist/AlertDialog/AlertDialog.js +1 -1
  4. package/dist/AppShell/AppShell.d.ts +0 -22
  5. package/dist/AppShell/AppShell.d.ts.map +1 -1
  6. package/dist/AppShell/AppShell.js +155 -1
  7. package/dist/Avatar/AvatarStatusDot.js +2 -2
  8. package/dist/Badge/Badge.d.ts.map +1 -1
  9. package/dist/Badge/Badge.js +18 -2
  10. package/dist/Banner/Banner.d.ts +1 -0
  11. package/dist/Banner/Banner.d.ts.map +1 -1
  12. package/dist/Banner/Banner.js +64 -9
  13. package/dist/BottomSheet/BottomSheet.d.ts +51 -7
  14. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  15. package/dist/BottomSheet/BottomSheet.js +430 -204
  16. package/dist/BottomSheet/BottomSheetHostContext.d.ts +8 -0
  17. package/dist/BottomSheet/BottomSheetHostContext.d.ts.map +1 -0
  18. package/dist/BottomSheet/BottomSheetHostContext.js +35 -0
  19. package/dist/BottomSheet/BottomSheetPanel.d.ts +9 -1
  20. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  21. package/dist/BottomSheet/BottomSheetPanel.js +77 -23
  22. package/dist/BottomSheet/BottomSheetSwitcher.d.ts +53 -14
  23. package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
  24. package/dist/BottomSheet/BottomSheetSwitcher.js +229 -27
  25. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +6 -0
  26. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
  27. package/dist/BottomSheet/bottomSheetEscape.d.ts +3 -0
  28. package/dist/BottomSheet/bottomSheetEscape.d.ts.map +1 -0
  29. package/dist/BottomSheet/bottomSheetEscape.js +20 -0
  30. package/dist/BottomSheet/bottomSheetStack.d.ts +262 -0
  31. package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -0
  32. package/dist/BottomSheet/bottomSheetStack.js +1675 -0
  33. package/dist/BottomSheet/useSheetGestures.d.ts +31 -3
  34. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  35. package/dist/BottomSheet/useSheetGestures.js +73 -17
  36. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  37. package/dist/Breadcrumbs/BreadcrumbItem.js +31 -3
  38. package/dist/Button/Button.d.ts.map +1 -1
  39. package/dist/Button/Button.js +10 -3
  40. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  41. package/dist/Chat/ChatComposer.js +12 -9
  42. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  43. package/dist/Chat/ChatComposerInput.js +55 -16
  44. package/dist/Chat/ChatMessageMetadata.js +2 -2
  45. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  46. package/dist/Chat/ChatPastedTextToken.js +7 -6
  47. package/dist/Chat/ChatToolCalls.js +4 -4
  48. package/dist/CodeBlock/CodeBlock.d.ts +17 -2
  49. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  50. package/dist/CodeBlock/CodeBlock.js +26 -8
  51. package/dist/CodeBlock/grammar.d.ts +134 -0
  52. package/dist/CodeBlock/grammar.d.ts.map +1 -0
  53. package/dist/CodeBlock/grammar.js +219 -0
  54. package/dist/CodeBlock/index.d.ts +2 -0
  55. package/dist/CodeBlock/index.d.ts.map +1 -1
  56. package/dist/CodeBlock/index.js +1 -0
  57. package/dist/CodeBlock/languages/dockerfile.d.ts +3 -0
  58. package/dist/CodeBlock/languages/dockerfile.d.ts.map +1 -0
  59. package/dist/CodeBlock/languages/dockerfile.js +45 -0
  60. package/dist/CodeBlock/languages/graphql.d.ts +3 -0
  61. package/dist/CodeBlock/languages/graphql.d.ts.map +1 -0
  62. package/dist/CodeBlock/languages/graphql.js +27 -0
  63. package/dist/CodeBlock/languages/java.d.ts +3 -0
  64. package/dist/CodeBlock/languages/java.d.ts.map +1 -0
  65. package/dist/CodeBlock/languages/java.js +24 -0
  66. package/dist/CodeBlock/languages/lua.d.ts +3 -0
  67. package/dist/CodeBlock/languages/lua.d.ts.map +1 -0
  68. package/dist/CodeBlock/languages/lua.js +21 -0
  69. package/dist/CodeBlock/languages/objective-c.d.ts +3 -0
  70. package/dist/CodeBlock/languages/objective-c.d.ts.map +1 -0
  71. package/dist/CodeBlock/languages/objective-c.js +27 -0
  72. package/dist/CodeBlock/languages/powershell.d.ts +3 -0
  73. package/dist/CodeBlock/languages/powershell.d.ts.map +1 -0
  74. package/dist/CodeBlock/languages/powershell.js +30 -0
  75. package/dist/CodeBlock/languages/ruby.d.ts +3 -0
  76. package/dist/CodeBlock/languages/ruby.d.ts.map +1 -0
  77. package/dist/CodeBlock/languages/ruby.js +24 -0
  78. package/dist/CodeBlock/languages/thrift.d.ts +3 -0
  79. package/dist/CodeBlock/languages/thrift.d.ts.map +1 -0
  80. package/dist/CodeBlock/languages/thrift.js +18 -0
  81. package/dist/CodeBlock/languages/toml.d.ts +3 -0
  82. package/dist/CodeBlock/languages/toml.d.ts.map +1 -0
  83. package/dist/CodeBlock/languages/toml.js +53 -0
  84. package/dist/CodeBlock/tokenizer.d.ts +8 -4
  85. package/dist/CodeBlock/tokenizer.d.ts.map +1 -1
  86. package/dist/CodeBlock/tokenizer.js +158 -8
  87. package/dist/Collapsible/Collapsible.d.ts +8 -1
  88. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  89. package/dist/Collapsible/Collapsible.js +84 -2
  90. package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
  91. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
  92. package/dist/ComplexSelector/ComplexSelector.d.ts +1 -1
  93. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  94. package/dist/ComplexSelector/ComplexSelector.js +23 -3
  95. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  96. package/dist/ContextMenu/ContextMenu.js +48 -13
  97. package/dist/DateInput/DateInput.d.ts.map +1 -1
  98. package/dist/DateInput/DateInput.js +12 -5
  99. package/dist/DateInput/NativeDateField.d.ts.map +1 -1
  100. package/dist/DateInput/NativeDateField.js +2 -1
  101. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  102. package/dist/DateInput/TouchDateField.js +2 -1
  103. package/dist/Dialog/Dialog.d.ts.map +1 -1
  104. package/dist/Dialog/Dialog.js +41 -11
  105. package/dist/Drawer/Drawer.d.ts.map +1 -1
  106. package/dist/Drawer/Drawer.js +18 -13
  107. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  108. package/dist/DropdownMenu/DropdownMenu.js +34 -30
  109. package/dist/DropdownMenu/DropdownMenuGroup.d.ts +7 -4
  110. package/dist/DropdownMenu/DropdownMenuGroup.d.ts.map +1 -1
  111. package/dist/DropdownMenu/DropdownMenuGroup.js +10 -4
  112. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  113. package/dist/DropdownMenu/MenuBottomSheet.d.ts +11 -4
  114. package/dist/DropdownMenu/MenuBottomSheet.d.ts.map +1 -1
  115. package/dist/DropdownMenu/MenuBottomSheet.js +35 -9
  116. package/dist/DropdownMenu/MenuBottomSheetActionList.js +3 -3
  117. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +11 -0
  118. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -1
  119. package/dist/DropdownMenu/lazyMenuBottomSheet.js +39 -3
  120. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts +23 -0
  121. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts.map +1 -0
  122. package/dist/DropdownMenu/menuBottomSheet.stylex.js +29 -0
  123. package/dist/DropdownMenu/menuTouchAction.stylex.d.ts +25 -0
  124. package/dist/DropdownMenu/menuTouchAction.stylex.d.ts.map +1 -0
  125. package/dist/DropdownMenu/menuTouchAction.stylex.js +29 -0
  126. package/dist/DropdownMenu/useMenuDrillIn.d.ts.map +1 -1
  127. package/dist/DropdownMenu/useMenuDrillIn.js +7 -5
  128. package/dist/Field/Field.js +1 -1
  129. package/dist/Field/FieldLabel.js +1 -1
  130. package/dist/Field/PanelSearchInput.d.ts +9 -1
  131. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  132. package/dist/Field/PanelSearchInput.js +20 -8
  133. package/dist/Field/inputStyles.stylex.d.ts +9 -9
  134. package/dist/Field/inputStyles.stylex.js +9 -9
  135. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  136. package/dist/FieldStatus/FieldStatus.js +7 -3
  137. package/dist/FileInput/FileInput.d.ts.map +1 -1
  138. package/dist/FileInput/FileInput.js +22 -12
  139. package/dist/Icon/Icon.d.ts +37 -5
  140. package/dist/Icon/Icon.d.ts.map +1 -1
  141. package/dist/Icon/Icon.js +65 -11
  142. package/dist/Icon/IconSize.stylex.d.ts +16 -11
  143. package/dist/Icon/IconSize.stylex.d.ts.map +1 -1
  144. package/dist/Icon/IconSize.stylex.js +27 -11
  145. package/dist/Icon/globalIconRegistry.d.ts +71 -4
  146. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  147. package/dist/Icon/globalIconRegistry.js +163 -23
  148. package/dist/Icon/index.d.ts +26 -2
  149. package/dist/Icon/index.d.ts.map +1 -1
  150. package/dist/Icon/index.js +24 -1
  151. package/dist/Icon/useIcon.d.ts +5 -1
  152. package/dist/Icon/useIcon.d.ts.map +1 -1
  153. package/dist/Icon/useIcon.js +5 -1
  154. package/dist/InputGroup/InputGroup.d.ts +1 -1
  155. package/dist/InputGroup/InputGroup.d.ts.map +1 -1
  156. package/dist/InputGroup/InputGroup.js +46 -36
  157. package/dist/InputGroup/InputGroupInternalContext.d.ts +4 -0
  158. package/dist/InputGroup/InputGroupInternalContext.d.ts.map +1 -0
  159. package/dist/InputGroup/InputGroupInternalContext.js +15 -0
  160. package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
  161. package/dist/InputGroup/InputGroupText.js +2 -0
  162. package/dist/InputGroup/groupStyles.d.ts +9 -0
  163. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  164. package/dist/InputGroup/groupStyles.js +28 -14
  165. package/dist/Item/Item.d.ts +5 -1
  166. package/dist/Item/Item.d.ts.map +1 -1
  167. package/dist/Item/Item.js +22 -6
  168. package/dist/Item/ItemMarkerColumns.a11y.chromium.spec.d.ts +2 -0
  169. package/dist/Item/ItemMarkerColumns.a11y.chromium.spec.d.ts.map +1 -0
  170. package/dist/Item/ItemMarkerColumns.a11y.chromium.spec.js +132 -0
  171. package/dist/Item/ItemMarkerColumnsContext.d.ts +14 -0
  172. package/dist/Item/ItemMarkerColumnsContext.d.ts.map +1 -0
  173. package/dist/Item/ItemMarkerColumnsContext.js +18 -0
  174. package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
  175. package/dist/Item/ItemSwipeLayer.js +3 -0
  176. package/dist/Kbd/Kbd.d.ts +2 -2
  177. package/dist/Kbd/Kbd.d.ts.map +1 -1
  178. package/dist/Kbd/Kbd.js +18 -11
  179. package/dist/Layer/modalOutlet.d.ts +43 -5
  180. package/dist/Layer/modalOutlet.d.ts.map +1 -1
  181. package/dist/Layer/modalOutlet.js +149 -13
  182. package/dist/Layer/preserveAnimations.d.ts +11 -0
  183. package/dist/Layer/preserveAnimations.d.ts.map +1 -0
  184. package/dist/Layer/preserveAnimations.js +245 -0
  185. package/dist/Layer/useLayer.d.ts.map +1 -1
  186. package/dist/Layer/useLayer.js +282 -48
  187. package/dist/Layout/Layout.d.ts.map +1 -1
  188. package/dist/Layout/Layout.js +4 -0
  189. package/dist/Layout/LayoutContent.d.ts.map +1 -1
  190. package/dist/Layout/LayoutContent.js +2 -2
  191. package/dist/Layout/LayoutFooter.d.ts.map +1 -1
  192. package/dist/Layout/LayoutFooter.js +2 -1
  193. package/dist/Layout/LayoutHeader.d.ts.map +1 -1
  194. package/dist/Layout/LayoutHeader.js +2 -1
  195. package/dist/Layout/layoutEdges.stylex.d.ts +20 -0
  196. package/dist/Layout/layoutEdges.stylex.d.ts.map +1 -0
  197. package/dist/Layout/layoutEdges.stylex.js +28 -0
  198. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  199. package/dist/Lightbox/Lightbox.js +88 -81
  200. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts +2 -0
  201. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts.map +1 -0
  202. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.js +65 -0
  203. package/dist/List/List.d.ts +2 -1
  204. package/dist/List/List.d.ts.map +1 -1
  205. package/dist/List/List.js +9 -2
  206. package/dist/List/ListContext.d.ts +16 -4
  207. package/dist/List/ListContext.d.ts.map +1 -1
  208. package/dist/List/ListContext.js +10 -5
  209. package/dist/List/ListItem.d.ts +7 -1
  210. package/dist/List/ListItem.d.ts.map +1 -1
  211. package/dist/List/ListItem.js +52 -8
  212. package/dist/List/ListMarkers.a11y.chromium.spec.d.ts +2 -0
  213. package/dist/List/ListMarkers.a11y.chromium.spec.d.ts.map +1 -0
  214. package/dist/List/ListMarkers.a11y.chromium.spec.js +677 -0
  215. package/dist/Markdown/Markdown.d.ts +11 -1
  216. package/dist/Markdown/Markdown.d.ts.map +1 -1
  217. package/dist/Markdown/Markdown.js +41 -14
  218. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  219. package/dist/MobileNav/MobileNav.js +37 -32
  220. package/dist/MobileNav/MobileNavToggle.d.ts +7 -3
  221. package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
  222. package/dist/MobileNav/MobileNavToggle.js +11 -3
  223. package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +52 -6
  224. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  225. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  226. package/dist/MultiSelector/MultiSelector.js +21 -5
  227. package/dist/NavMenu/NavHeadingMenu.d.ts +1 -1
  228. package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
  229. package/dist/NavMenu/NavHeadingMenu.js +29 -5
  230. package/dist/NavMenu/NavHeadingMenuItem.d.ts.map +1 -1
  231. package/dist/NavMenu/NavHeadingMenuItem.js +51 -7
  232. package/dist/NavMenu/NavMenuContext.d.ts +9 -0
  233. package/dist/NavMenu/NavMenuContext.d.ts.map +1 -1
  234. package/dist/NavMenu/NavMenuContext.js +9 -0
  235. package/dist/NumberInput/NumberInput.d.ts +4 -2
  236. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  237. package/dist/NumberInput/NumberInput.js +18 -7
  238. package/dist/Overlay/Overlay.d.ts +3 -3
  239. package/dist/Overlay/Overlay.d.ts.map +1 -1
  240. package/dist/Overlay/Overlay.js +12 -5
  241. package/dist/Popover/Popover.d.ts +41 -2
  242. package/dist/Popover/Popover.d.ts.map +1 -1
  243. package/dist/Popover/Popover.js +276 -44
  244. package/dist/Popover/index.d.ts +1 -1
  245. package/dist/Popover/index.d.ts.map +1 -1
  246. package/dist/Popover/lazyPopoverBottomSheet.d.ts +23 -0
  247. package/dist/Popover/lazyPopoverBottomSheet.d.ts.map +1 -0
  248. package/dist/Popover/lazyPopoverBottomSheet.js +40 -0
  249. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  250. package/dist/PowerSearch/PowerSearch.js +7 -5
  251. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  252. package/dist/ProgressBar/ProgressBar.js +8 -0
  253. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  254. package/dist/RadioList/RadioListItem.js +10 -2
  255. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  256. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  257. package/dist/SegmentedControl/SegmentedControl.js +6 -2
  258. package/dist/SelectableCard/SelectableCard.d.ts +5 -5
  259. package/dist/SelectableCard/SelectableCard.js +5 -5
  260. package/dist/Selector/Selector.d.ts.map +1 -1
  261. package/dist/Selector/Selector.js +27 -8
  262. package/dist/Selector/hooks.d.ts +52 -6
  263. package/dist/Selector/hooks.d.ts.map +1 -1
  264. package/dist/Selector/hooks.js +145 -2
  265. package/dist/SideNav/SideNav.d.ts.map +1 -1
  266. package/dist/SideNav/SideNav.js +58 -2
  267. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  268. package/dist/SideNav/SideNavHeading.js +45 -3
  269. package/dist/SideNav/SideNavItem.d.ts +5 -1
  270. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  271. package/dist/SideNav/SideNavItem.js +36 -13
  272. package/dist/SideNav/railMotion.d.ts +54 -0
  273. package/dist/SideNav/railMotion.d.ts.map +1 -0
  274. package/dist/SideNav/railMotion.js +253 -0
  275. package/dist/Slider/Slider.d.ts.map +1 -1
  276. package/dist/Slider/Slider.js +7 -3
  277. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  278. package/dist/StatusDot/StatusDot.js +12 -0
  279. package/dist/Stepper/Step.d.ts.map +1 -1
  280. package/dist/Stepper/Step.js +7 -3
  281. package/dist/Switch/Switch.d.ts.map +1 -1
  282. package/dist/Switch/Switch.js +5 -5
  283. package/dist/Switch/switch.markers.stylex.d.ts +7 -2
  284. package/dist/Switch/switch.markers.stylex.d.ts.map +1 -1
  285. package/dist/Switch/switch.markers.stylex.js +8 -3
  286. package/dist/TabList/Tab.d.ts.map +1 -1
  287. package/dist/TabList/Tab.js +5 -1
  288. package/dist/TabList/TabMenu.d.ts.map +1 -1
  289. package/dist/TabList/TabMenu.js +25 -3
  290. package/dist/Table/TableCell.d.ts.map +1 -1
  291. package/dist/Table/TableCell.js +5 -1
  292. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  293. package/dist/Table/TableHeaderCell.js +1 -0
  294. package/dist/Table/TableRow.d.ts.map +1 -1
  295. package/dist/Table/TableRow.js +3 -0
  296. package/dist/Table/glidingDivider.d.ts +96 -0
  297. package/dist/Table/glidingDivider.d.ts.map +1 -0
  298. package/dist/Table/glidingDivider.js +275 -0
  299. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  300. package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -2
  301. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +8 -0
  302. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  303. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +374 -13
  304. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  305. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +244 -6
  306. package/dist/Table/rowDivider.d.ts +34 -0
  307. package/dist/Table/rowDivider.d.ts.map +1 -0
  308. package/dist/Table/rowDivider.js +118 -0
  309. package/dist/Text/useTruncation.d.ts.map +1 -1
  310. package/dist/Text/useTruncation.js +23 -5
  311. package/dist/TextArea/TextArea.js +1 -1
  312. package/dist/TextInput/TextInput.d.ts +1 -1
  313. package/dist/TextInput/TextInput.d.ts.map +1 -1
  314. package/dist/TextInput/TextInput.js +16 -5
  315. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  316. package/dist/Thumbnail/Thumbnail.js +35 -5
  317. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  318. package/dist/TimeInput/TimeInput.js +12 -4
  319. package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
  320. package/dist/TimeInput/TouchTimeField.js +2 -1
  321. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  322. package/dist/Toast/ToastViewport.js +62 -6
  323. package/dist/Tokenizer/Tokenizer.d.ts +71 -4
  324. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  325. package/dist/Tokenizer/Tokenizer.js +422 -34
  326. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +98 -0
  327. package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -0
  328. package/dist/Tokenizer/TokenizerBottomSheet.js +721 -0
  329. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  330. package/dist/TopNav/TopNavHeading.js +26 -0
  331. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  332. package/dist/TopNav/TopNavMegaMenu.js +4 -4
  333. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  334. package/dist/TopNav/TopNavMenu.js +32 -4
  335. package/dist/TreeList/TreeList.d.ts +8 -23
  336. package/dist/TreeList/TreeList.d.ts.map +1 -1
  337. package/dist/TreeList/TreeList.js +175 -3
  338. package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
  339. package/dist/TreeList/TreeListBranches.js +7 -5
  340. package/dist/TreeList/TreeListItem.d.ts +7 -1
  341. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  342. package/dist/TreeList/TreeListItem.js +5 -3
  343. package/dist/Typeahead/BaseTypeahead.d.ts +1 -1
  344. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  345. package/dist/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.d.ts +2 -0
  346. package/dist/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.d.ts.map +1 -0
  347. package/dist/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.js +118 -0
  348. package/dist/Typeahead/BaseTypeahead.js +11 -7
  349. package/dist/Typeahead/Typeahead.d.ts +1 -1
  350. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  351. package/dist/Typeahead/Typeahead.js +7 -3
  352. package/dist/astryx.css +149 -38
  353. package/dist/gestures/GestureArena.d.ts +175 -0
  354. package/dist/gestures/GestureArena.d.ts.map +1 -0
  355. package/dist/gestures/GestureArena.js +816 -0
  356. package/dist/gestures/GestureRecognizer.d.ts +239 -0
  357. package/dist/gestures/GestureRecognizer.d.ts.map +1 -0
  358. package/dist/gestures/GestureRecognizer.js +487 -0
  359. package/dist/gestures/LongPressGestureRecognizer.d.ts +32 -0
  360. package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -0
  361. package/dist/gestures/LongPressGestureRecognizer.js +135 -0
  362. package/dist/gestures/PanGestureRecognizer.d.ts +117 -0
  363. package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -0
  364. package/dist/gestures/PanGestureRecognizer.js +349 -0
  365. package/dist/gestures/TapGestureRecognizer.d.ts +39 -0
  366. package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -0
  367. package/dist/gestures/TapGestureRecognizer.js +151 -0
  368. package/dist/gestures/VelocityTracker.d.ts +51 -0
  369. package/dist/gestures/VelocityTracker.d.ts.map +1 -0
  370. package/dist/gestures/VelocityTracker.js +186 -0
  371. package/dist/gestures/geometry.d.ts +17 -0
  372. package/dist/gestures/geometry.d.ts.map +1 -0
  373. package/dist/gestures/geometry.js +55 -0
  374. package/dist/gestures/types.d.ts +139 -0
  375. package/dist/gestures/types.d.ts.map +1 -0
  376. package/dist/gestures/types.js +67 -0
  377. package/dist/hooks/ModalAnnounceProvider.d.ts +41 -0
  378. package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -0
  379. package/dist/hooks/ModalAnnounceProvider.js +133 -0
  380. package/dist/hooks/actionGroupTracker.d.ts +98 -0
  381. package/dist/hooks/actionGroupTracker.d.ts.map +1 -0
  382. package/dist/hooks/actionGroupTracker.js +338 -0
  383. package/dist/hooks/index.d.ts +2 -0
  384. package/dist/hooks/index.d.ts.map +1 -1
  385. package/dist/hooks/index.js +1 -0
  386. package/dist/hooks/menuPressOnItems.d.ts +19 -0
  387. package/dist/hooks/menuPressOnItems.d.ts.map +1 -0
  388. package/dist/hooks/menuPressOnItems.js +32 -0
  389. package/dist/hooks/modalAnnounce.d.ts +18 -0
  390. package/dist/hooks/modalAnnounce.d.ts.map +1 -0
  391. package/dist/hooks/modalAnnounce.js +382 -0
  392. package/dist/hooks/scrollGeometry.d.ts +28 -0
  393. package/dist/hooks/scrollGeometry.d.ts.map +1 -1
  394. package/dist/hooks/scrollGeometry.js +36 -2
  395. package/dist/hooks/useAdaptivePresentation.d.ts +9 -1
  396. package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
  397. package/dist/hooks/useAdaptivePresentation.js +33 -8
  398. package/dist/hooks/useAnimatedLayout.d.ts +42 -0
  399. package/dist/hooks/useAnimatedLayout.d.ts.map +1 -0
  400. package/dist/hooks/useAnimatedLayout.js +46 -0
  401. package/dist/hooks/useAnnounce.d.ts +114 -0
  402. package/dist/hooks/useAnnounce.d.ts.map +1 -1
  403. package/dist/hooks/useAnnounce.js +273 -10
  404. package/dist/hooks/useBusyAnnouncement.d.ts +5 -3
  405. package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
  406. package/dist/hooks/useBusyAnnouncement.js +30 -44
  407. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  408. package/dist/hooks/useFocusTrap.js +15 -8
  409. package/dist/hooks/useMenuHover.d.ts.map +1 -1
  410. package/dist/hooks/useMenuHover.js +6 -2
  411. package/dist/hooks/usePressFeedback.d.ts +5 -2
  412. package/dist/hooks/usePressFeedback.d.ts.map +1 -1
  413. package/dist/hooks/usePressFeedback.js +5 -2
  414. package/dist/hooks/useScrollableArea.d.ts +5 -0
  415. package/dist/hooks/useScrollableArea.d.ts.map +1 -1
  416. package/dist/hooks/useScrollableArea.js +67 -6
  417. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  418. package/dist/i18n/generated-locales/en.generated.js +33 -0
  419. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  420. package/dist/i18n/generated-locales/pseudo.generated.js +33 -0
  421. package/dist/internal/tokenizer-presentation.d.ts +21 -0
  422. package/dist/internal/tokenizer-presentation.d.ts.map +1 -0
  423. package/dist/internal/tokenizer-presentation.js +21 -0
  424. package/dist/internal/touch.d.ts +26 -0
  425. package/dist/internal/touch.d.ts.map +1 -0
  426. package/dist/internal/touch.js +28 -0
  427. package/dist/motion/LayoutChangeSnapshot.d.ts +33 -0
  428. package/dist/motion/LayoutChangeSnapshot.d.ts.map +1 -0
  429. package/dist/motion/LayoutChangeSnapshot.js +37 -0
  430. package/dist/motion/animatedLayout.d.ts +190 -0
  431. package/dist/motion/animatedLayout.d.ts.map +1 -0
  432. package/dist/motion/animatedLayout.js +1502 -0
  433. package/dist/motion/animator.d.ts +240 -0
  434. package/dist/motion/animator.d.ts.map +1 -0
  435. package/dist/motion/animator.js +2203 -0
  436. package/dist/motion/bezier.d.ts +18 -0
  437. package/dist/motion/bezier.d.ts.map +1 -0
  438. package/dist/motion/bezier.js +60 -0
  439. package/dist/motion/coast.d.ts +61 -0
  440. package/dist/motion/coast.d.ts.map +1 -0
  441. package/dist/motion/coast.js +107 -0
  442. package/dist/motion/decay.d.ts +41 -0
  443. package/dist/motion/decay.d.ts.map +1 -0
  444. package/dist/motion/decay.js +90 -0
  445. package/dist/motion/projection.d.ts +36 -0
  446. package/dist/motion/projection.d.ts.map +1 -0
  447. package/dist/motion/projection.js +92 -0
  448. package/dist/motion/reducedMotion.d.ts +25 -0
  449. package/dist/motion/reducedMotion.d.ts.map +1 -0
  450. package/dist/motion/reducedMotion.js +85 -0
  451. package/dist/motion/reducedMotion.stylex.d.ts +19 -0
  452. package/dist/motion/reducedMotion.stylex.d.ts.map +1 -0
  453. package/dist/motion/reducedMotion.stylex.js +37 -0
  454. package/dist/motion/reducedMotionPlan.d.ts +89 -0
  455. package/dist/motion/reducedMotionPlan.d.ts.map +1 -0
  456. package/dist/motion/reducedMotionPlan.js +194 -0
  457. package/dist/motion/resolveSnapPoint.d.ts +52 -0
  458. package/dist/motion/resolveSnapPoint.d.ts.map +1 -0
  459. package/dist/motion/resolveSnapPoint.js +135 -0
  460. package/dist/motion/roleValue.d.ts +33 -0
  461. package/dist/motion/roleValue.d.ts.map +1 -0
  462. package/dist/motion/roleValue.js +84 -0
  463. package/dist/motion/roles.d.ts +79 -0
  464. package/dist/motion/roles.d.ts.map +1 -0
  465. package/dist/motion/roles.js +199 -0
  466. package/dist/motion/rubberBand.d.ts +20 -0
  467. package/dist/motion/rubberBand.d.ts.map +1 -0
  468. package/dist/motion/rubberBand.js +91 -0
  469. package/dist/motion/selectPage.d.ts +26 -0
  470. package/dist/motion/selectPage.d.ts.map +1 -0
  471. package/dist/motion/selectPage.js +55 -0
  472. package/dist/motion/spring.d.ts +193 -0
  473. package/dist/motion/spring.d.ts.map +1 -0
  474. package/dist/motion/spring.js +442 -0
  475. package/dist/motion/transientCopy.d.ts +33 -0
  476. package/dist/motion/transientCopy.d.ts.map +1 -0
  477. package/dist/motion/transientCopy.js +314 -0
  478. package/dist/motion/uikit/gestures.d.ts +642 -0
  479. package/dist/motion/uikit/gestures.d.ts.map +1 -0
  480. package/dist/motion/uikit/gestures.js +428 -0
  481. package/dist/motion/uikit/index.d.ts +24 -0
  482. package/dist/motion/uikit/index.d.ts.map +1 -0
  483. package/dist/motion/uikit/index.js +26 -0
  484. package/dist/motion/uikit/navigation.d.ts +54 -0
  485. package/dist/motion/uikit/navigation.d.ts.map +1 -0
  486. package/dist/motion/uikit/navigation.js +83 -0
  487. package/dist/motion/uikit/scroll.d.ts +116 -0
  488. package/dist/motion/uikit/scroll.d.ts.map +1 -0
  489. package/dist/motion/uikit/scroll.js +146 -0
  490. package/dist/motion/uikit/springs.d.ts +545 -0
  491. package/dist/motion/uikit/springs.d.ts.map +1 -0
  492. package/dist/motion/uikit/springs.js +548 -0
  493. package/dist/motion/uikit/timing.d.ts +202 -0
  494. package/dist/motion/uikit/timing.d.ts.map +1 -0
  495. package/dist/motion/uikit/timing.js +201 -0
  496. package/dist/theme/declarationBoundary.d.ts +13 -0
  497. package/dist/theme/declarationBoundary.d.ts.map +1 -1
  498. package/dist/theme/declarationBoundary.js +264 -1
  499. package/dist/theme/defineTheme.d.ts +111 -11
  500. package/dist/theme/defineTheme.d.ts.map +1 -1
  501. package/dist/theme/defineTheme.js +97 -7
  502. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  503. package/dist/theme/derivedVarRegistry.js +9 -0
  504. package/dist/theme/generateThemeRules.d.ts +6 -2
  505. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  506. package/dist/theme/generateThemeRules.js +468 -24
  507. package/dist/theme/statusColor.d.ts +48 -0
  508. package/dist/theme/statusColor.d.ts.map +1 -0
  509. package/dist/theme/statusColor.js +203 -0
  510. package/dist/theme/statusRoleDerivation.d.ts +11 -0
  511. package/dist/theme/statusRoleDerivation.d.ts.map +1 -0
  512. package/dist/theme/statusRoleDerivation.js +236 -0
  513. package/dist/theme/syntax/SyntaxTheme.d.ts +1 -1
  514. package/dist/theme/syntax/SyntaxTheme.js +1 -1
  515. package/dist/theme/syntax/defineSyntaxTheme.js +1 -1
  516. package/dist/theme/syntax/presets.d.ts +1 -1
  517. package/dist/theme/syntax/presets.js +1 -1
  518. package/dist/theme/syntax/tokens.d.ts +1 -1
  519. package/dist/theme/syntax/tokens.js +1 -1
  520. package/dist/theme/tokens.d.ts.map +1 -1
  521. package/dist/theme/tokens.js +16 -1
  522. package/dist/theme/tokens.stylex.d.ts +42 -2
  523. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  524. package/dist/theme/tokens.stylex.js +54 -3
  525. package/dist/theme/useTheme.d.ts +4 -2
  526. package/dist/theme/useTheme.d.ts.map +1 -1
  527. package/dist/theme/useTheme.js +10 -4
  528. package/dist/utils/focusReturn.d.ts +17 -1
  529. package/dist/utils/focusReturn.d.ts.map +1 -1
  530. package/dist/utils/focusReturn.js +11 -4
  531. package/dist/utils/hitArea.d.ts +72 -0
  532. package/dist/utils/hitArea.d.ts.map +1 -0
  533. package/dist/utils/hitArea.js +681 -0
  534. package/dist/utils/interactionModality.d.ts +11 -2
  535. package/dist/utils/interactionModality.d.ts.map +1 -1
  536. package/dist/utils/interactionModality.js +58 -5
  537. package/dist/utils/interactionOverlay.stylex.d.ts +4 -1
  538. package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
  539. package/dist/utils/interactionOverlay.stylex.js +4 -1
  540. package/dist/utils/pressFeedback.d.ts +5 -1
  541. package/dist/utils/pressFeedback.d.ts.map +1 -1
  542. package/dist/utils/pressFeedback.js +285 -54
  543. package/dist/utils/pressGesture.d.ts +13 -1
  544. package/dist/utils/pressGesture.d.ts.map +1 -1
  545. package/dist/utils/pressGesture.js +40 -1
  546. package/dist/utils/touchPresentation.d.ts +48 -0
  547. package/dist/utils/touchPresentation.d.ts.map +1 -0
  548. package/dist/utils/touchPresentation.js +133 -0
  549. package/locales/af-ZA.json +1 -1
  550. package/locales/ar-SA.json +1 -1
  551. package/locales/ca-ES.json +1 -1
  552. package/locales/cs-CZ.json +1 -1
  553. package/locales/da-DK.json +1 -1
  554. package/locales/de-DE.json +1 -1
  555. package/locales/el-GR.json +1 -1
  556. package/locales/en.json +132 -0
  557. package/locales/es-ES.json +1 -1
  558. package/locales/fi-FI.json +1 -1
  559. package/locales/fr-FR.json +1 -1
  560. package/locales/he-IL.json +1 -1
  561. package/locales/hu-HU.json +1 -1
  562. package/locales/it-IT.json +1 -1
  563. package/locales/ja-JP.json +1 -1
  564. package/locales/ko-KR.json +1 -1
  565. package/locales/nl-NL.json +1 -1
  566. package/locales/no-NO.json +1 -1
  567. package/locales/pl-PL.json +1 -1
  568. package/locales/pseudo.json +99 -0
  569. package/locales/pt-BR.json +1 -1
  570. package/locales/pt-PT.json +1 -1
  571. package/locales/ro-RO.json +1 -1
  572. package/locales/ru-RU.json +1 -1
  573. package/locales/sr-SP.json +1 -1
  574. package/locales/sv-SE.json +1 -1
  575. package/locales/tr-TR.json +1 -1
  576. package/locales/uk-UA.json +1 -1
  577. package/locales/vi-VN.json +1 -1
  578. package/locales/zh-CN.json +1 -1
  579. package/locales/zh-TW.json +1 -1
  580. package/package.json +61 -6
  581. package/src/AlertDialog/AlertDialog.spec.md +85 -31
  582. package/src/AlertDialog/AlertDialog.tsx +1 -1
  583. package/src/AppShell/AppShell.spec.md +49 -44
  584. package/src/AppShell/AppShell.tsx +170 -2
  585. package/src/AspectRatio/AspectRatio.spec.md +179 -0
  586. package/src/Avatar/Avatar.spec.md +253 -0
  587. package/src/Avatar/AvatarStatusDot.spec.md +93 -79
  588. package/src/Avatar/AvatarStatusDot.test.tsx +22 -0
  589. package/src/Avatar/AvatarStatusDot.tsx +2 -2
  590. package/src/AvatarGroup/AvatarGroup.spec.md +205 -0
  591. package/src/AvatarGroup/AvatarGroupOverflow.spec.md +123 -120
  592. package/src/Badge/Badge.spec.md +10 -10
  593. package/src/Badge/Badge.test.tsx +13 -0
  594. package/src/Badge/Badge.tsx +38 -2
  595. package/src/Banner/Banner.spec.md +16 -14
  596. package/src/Banner/Banner.test.tsx +118 -16
  597. package/src/Banner/Banner.tsx +94 -7
  598. package/src/Blockquote/Blockquote.spec.md +171 -0
  599. package/src/BottomSheet/BottomSheet.doc.mjs +106 -24
  600. package/src/BottomSheet/BottomSheet.spec.md +268 -38
  601. package/src/BottomSheet/BottomSheet.test.tsx +537 -5
  602. package/src/BottomSheet/BottomSheet.tsx +540 -152
  603. package/src/BottomSheet/BottomSheetHostContext.ts +44 -0
  604. package/src/BottomSheet/BottomSheetPanel.test.tsx +73 -19
  605. package/src/BottomSheet/BottomSheetPanel.tsx +178 -63
  606. package/src/BottomSheet/BottomSheetReplace.test.tsx +1638 -0
  607. package/src/BottomSheet/BottomSheetStacking.announce.test.tsx +246 -0
  608. package/src/BottomSheet/BottomSheetStacking.test.tsx +3184 -0
  609. package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +27 -31
  610. package/src/BottomSheet/BottomSheetSwitcher.spec.md +131 -40
  611. package/src/BottomSheet/BottomSheetSwitcher.tsx +275 -26
  612. package/src/BottomSheet/BottomSheetSwitcherContext.ts +6 -0
  613. package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +3 -1
  614. package/src/BottomSheet/bottomSheetEscape.ts +21 -0
  615. package/src/BottomSheet/bottomSheetStack.ts +2054 -0
  616. package/src/BottomSheet/useSheetGestures.test.ts +52 -0
  617. package/src/BottomSheet/useSheetGestures.ts +105 -18
  618. package/src/Breadcrumbs/BreadcrumbItem.spec.md +104 -60
  619. package/src/Breadcrumbs/BreadcrumbItem.tsx +25 -1
  620. package/src/Breadcrumbs/Breadcrumbs.spec.md +165 -0
  621. package/src/Breadcrumbs/Breadcrumbs.test.tsx +70 -2
  622. package/src/Button/Button.spec.md +30 -28
  623. package/src/Button/Button.test.tsx +1 -1
  624. package/src/Button/Button.tsx +28 -3
  625. package/src/ButtonGroup/ButtonGroup.spec.md +220 -0
  626. package/src/Card/Card.spec.md +205 -0
  627. package/src/Center/Center.spec.md +104 -124
  628. package/src/Chat/ChatComposer.test.tsx +32 -0
  629. package/src/Chat/ChatComposer.tsx +24 -4
  630. package/src/Chat/ChatComposerInput.test.tsx +165 -21
  631. package/src/Chat/ChatComposerInput.tsx +73 -16
  632. package/src/Chat/ChatMessageMetadata.tsx +1 -1
  633. package/src/Chat/ChatPastedTextToken.test.tsx +71 -0
  634. package/src/Chat/ChatPastedTextToken.tsx +8 -7
  635. package/src/Chat/ChatToolCalls.tsx +5 -5
  636. package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +21 -4
  637. package/src/CheckboxInput/CheckboxInput.spec.md +97 -66
  638. package/src/CheckboxList/CheckboxList.spec.md +92 -78
  639. package/src/CheckboxList/CheckboxListItem.spec.md +86 -60
  640. package/src/ClickableCard/ClickableCard.spec.md +124 -128
  641. package/src/Code/Code.spec.md +30 -32
  642. package/src/CodeBlock/CodeBlock.doc.mjs +5 -4
  643. package/src/CodeBlock/CodeBlock.spec.md +48 -45
  644. package/src/CodeBlock/CodeBlock.tsx +66 -15
  645. package/src/CodeBlock/CodeLanguage.test.tsx +173 -0
  646. package/src/CodeBlock/__tests__/CodeBlockLanguages.a11y.chromium.spec.ts +64 -0
  647. package/src/CodeBlock/grammar.ts +291 -0
  648. package/src/CodeBlock/index.ts +7 -0
  649. package/src/CodeBlock/languages/dockerfile.ts +43 -0
  650. package/src/CodeBlock/languages/graphql.ts +30 -0
  651. package/src/CodeBlock/languages/java.ts +28 -0
  652. package/src/CodeBlock/languages/lua.ts +21 -0
  653. package/src/CodeBlock/languages/objective-c.ts +26 -0
  654. package/src/CodeBlock/languages/powershell.ts +31 -0
  655. package/src/CodeBlock/languages/ruby.ts +29 -0
  656. package/src/CodeBlock/languages/thrift.ts +32 -0
  657. package/src/CodeBlock/languages/toml.ts +36 -0
  658. package/src/CodeBlock/languages.test.ts +402 -0
  659. package/src/CodeBlock/tokenizer.ts +176 -16
  660. package/src/CodeBlock/tokenizerBudget.test.ts +112 -0
  661. package/src/Collapsible/Collapsible.doc.mjs +6 -0
  662. package/src/Collapsible/Collapsible.spec.md +26 -23
  663. package/src/Collapsible/Collapsible.tsx +121 -2
  664. package/src/CommandPalette/CommandPalette.perf.test.ts +8 -4
  665. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +6 -3
  666. package/src/CommandPalette/CommandPaletteEmpty.spec.md +190 -0
  667. package/src/CommandPalette/CommandPaletteEmpty.tsx +4 -0
  668. package/src/CommandPalette/__tests__/CommandPaletteEmptyAudit.a11y.chromium.spec.ts +715 -0
  669. package/src/CommandPalette/__tests__/CommandPaletteFooter.a11y.chromium.spec.ts +2 -2
  670. package/src/ComplexSelector/ComplexSelector.spec.md +1 -1
  671. package/src/ComplexSelector/ComplexSelector.test.tsx +159 -1
  672. package/src/ComplexSelector/ComplexSelector.tsx +25 -2
  673. package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
  674. package/src/ContextMenu/ContextMenu.spec.md +38 -30
  675. package/src/ContextMenu/ContextMenu.test.tsx +189 -11
  676. package/src/ContextMenu/ContextMenu.tsx +75 -17
  677. package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
  678. package/src/DateInput/DateInput.tsx +9 -4
  679. package/src/DateInput/DateInputTouch.test.tsx +1 -1
  680. package/src/DateInput/NativeDateField.tsx +2 -1
  681. package/src/DateInput/TouchDateField.tsx +2 -1
  682. package/src/DateTimeInput/DateTimeInput.spec.md +71 -48
  683. package/src/Dialog/Dialog.spec.md +20 -4
  684. package/src/Dialog/Dialog.test.tsx +216 -2
  685. package/src/Dialog/Dialog.tsx +47 -11
  686. package/src/Dialog/__tests__/Dialog.reduced-motion.a11y.browser.spec.ts +63 -2
  687. package/src/Dialog/__tests__/DialogSecondDocument.a11y.browser.spec.ts +202 -0
  688. package/src/Divider/Divider.spec.md +79 -70
  689. package/src/Drawer/Drawer.spec.md +111 -80
  690. package/src/Drawer/Drawer.tsx +38 -35
  691. package/src/Drawer/DrawerHeader.spec.md +181 -0
  692. package/src/DropdownMenu/DropdownMenu.spec.md +14 -6
  693. package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +44 -8
  694. package/src/DropdownMenu/DropdownMenu.test.tsx +80 -4
  695. package/src/DropdownMenu/DropdownMenu.tsx +51 -34
  696. package/src/DropdownMenu/DropdownMenuGroup.doc.mjs +2 -2
  697. package/src/DropdownMenu/DropdownMenuGroup.tsx +12 -6
  698. package/src/DropdownMenu/DropdownMenuItem.tsx +5 -5
  699. package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +72 -0
  700. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +57 -0
  701. package/src/DropdownMenu/MenuBottomSheet.tsx +42 -7
  702. package/src/DropdownMenu/MenuBottomSheetActionList.tsx +3 -3
  703. package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +21 -9
  704. package/src/DropdownMenu/lazyMenuBottomSheet.test.ts +53 -0
  705. package/src/DropdownMenu/lazyMenuBottomSheet.ts +45 -2
  706. package/src/DropdownMenu/menuBottomSheet.stylex.ts +33 -0
  707. package/src/DropdownMenu/menuTouchAction.stylex.ts +28 -0
  708. package/src/DropdownMenu/modules/useMenuPress.spec.md +90 -62
  709. package/src/DropdownMenu/useMenuDrillIn.tsx +7 -5
  710. package/src/Field/Field.spec.md +57 -48
  711. package/src/Field/Field.tsx +1 -1
  712. package/src/Field/FieldLabel.spec.md +70 -59
  713. package/src/Field/FieldLabel.tsx +1 -1
  714. package/src/Field/PanelSearchInput.tsx +11 -0
  715. package/src/Field/inputStyles.stylex.ts +15 -15
  716. package/src/FieldStatus/FieldStatus.test.tsx +12 -0
  717. package/src/FieldStatus/FieldStatus.tsx +12 -3
  718. package/src/FileInput/FileInput.doc.mjs +1 -1
  719. package/src/FileInput/FileInput.test.tsx +102 -0
  720. package/src/FileInput/FileInput.tsx +18 -12
  721. package/src/FormLayout/FormLayout.spec.md +69 -51
  722. package/src/Grid/Grid.spec.md +72 -69
  723. package/src/Grid/GridSpan.spec.md +158 -0
  724. package/src/Heading/Heading.spec.md +198 -0
  725. package/src/HoverCard/HoverCard.spec.md +244 -0
  726. package/src/Icon/Icon.doc.mjs +67 -5
  727. package/src/Icon/Icon.test.tsx +548 -9
  728. package/src/Icon/Icon.tsx +79 -15
  729. package/src/Icon/IconSize.stylex.ts +27 -11
  730. package/src/Icon/globalIconRegistry.test.tsx +395 -3
  731. package/src/Icon/globalIconRegistry.tsx +184 -36
  732. package/src/Icon/index.ts +29 -1
  733. package/src/Icon/useIcon.ts +5 -1
  734. package/src/IconButton/IconButton.test.tsx +5 -2
  735. package/src/InputGroup/InputGroup.spec.md +199 -0
  736. package/src/InputGroup/InputGroup.test.tsx +120 -0
  737. package/src/InputGroup/InputGroup.tsx +59 -52
  738. package/src/InputGroup/InputGroupInternalContext.ts +15 -0
  739. package/src/InputGroup/InputGroupText.spec.md +139 -0
  740. package/src/InputGroup/InputGroupText.tsx +2 -0
  741. package/src/InputGroup/groupStyles.ts +22 -11
  742. package/src/Item/Item.test.tsx +40 -1
  743. package/src/Item/Item.tsx +37 -4
  744. package/src/Item/ItemMarkerColumns.a11y.chromium.spec.ts +211 -0
  745. package/src/Item/ItemMarkerColumnsContext.tsx +20 -0
  746. package/src/Item/ItemSwipeLayer.tsx +9 -0
  747. package/src/Kbd/Kbd.test.tsx +95 -0
  748. package/src/Kbd/Kbd.tsx +30 -23
  749. package/src/Layer/LayerProvider.spec.md +149 -0
  750. package/src/Layer/layerDismissalInvariants.test.tsx +9 -0
  751. package/src/Layer/modalOutlet.ts +155 -14
  752. package/src/Layer/preserveAnimations.ts +304 -0
  753. package/src/Layer/useLayer.doc.mjs +1 -1
  754. package/src/Layer/useLayer.test.tsx +419 -1
  755. package/src/Layer/useLayer.tsx +324 -55
  756. package/src/Layout/Layout.tsx +18 -0
  757. package/src/Layout/LayoutContent.tsx +5 -14
  758. package/src/Layout/LayoutFooter.tsx +2 -0
  759. package/src/Layout/LayoutHeader.tsx +2 -0
  760. package/src/Layout/layoutEdges.stylex.ts +25 -0
  761. package/src/Lightbox/Lightbox.spec.md +9 -8
  762. package/src/Lightbox/Lightbox.test.tsx +15 -0
  763. package/src/Lightbox/Lightbox.tsx +126 -118
  764. package/src/Lightbox/LightboxViewport.a11y.browser.spec.ts +70 -0
  765. package/src/Link/Link.spec.md +229 -0
  766. package/src/Link/LinkProvider.spec.md +167 -0
  767. package/src/List/List.spec.md +113 -34
  768. package/src/List/List.tsx +13 -1
  769. package/src/List/ListContext.tsx +19 -5
  770. package/src/List/ListItem.tsx +97 -28
  771. package/src/List/ListMarkers.a11y.chromium.spec.ts +904 -0
  772. package/src/Markdown/Markdown.codeLanguages.test.tsx +137 -0
  773. package/src/Markdown/Markdown.doc.mjs +12 -0
  774. package/src/Markdown/Markdown.spec.md +56 -51
  775. package/src/Markdown/Markdown.test.tsx +50 -0
  776. package/src/Markdown/Markdown.tsx +61 -8
  777. package/src/MobileNav/MobileNav.doc.mjs +2 -2
  778. package/src/MobileNav/MobileNav.spec.md +161 -64
  779. package/src/MobileNav/MobileNav.tsx +41 -35
  780. package/src/MobileNav/MobileNavToggle.test.tsx +63 -0
  781. package/src/MobileNav/MobileNavToggle.tsx +13 -5
  782. package/src/MoreMenu/MoreMenu.doc.mjs +2 -2
  783. package/src/MoreMenu/MoreMenu.spec.md +88 -53
  784. package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +66 -9
  785. package/src/MultiSelector/MultiSelector.test.tsx +100 -2
  786. package/src/MultiSelector/MultiSelector.tsx +24 -4
  787. package/src/NavIcon/NavIcon.spec.md +66 -38
  788. package/src/NavMenu/NavHeadingMenu.spec.md +104 -46
  789. package/src/NavMenu/NavHeadingMenu.test.tsx +276 -2
  790. package/src/NavMenu/NavHeadingMenu.tsx +42 -4
  791. package/src/NavMenu/NavHeadingMenuItem.tsx +60 -6
  792. package/src/NavMenu/NavMenuContext.tsx +11 -0
  793. package/src/NavMenu/__tests__/NavMenusSlideSelection.a11y.chromium.spec.ts +137 -0
  794. package/src/NumberInput/NumberInput.doc.mjs +13 -7
  795. package/src/NumberInput/NumberInput.spec.md +270 -0
  796. package/src/NumberInput/NumberInput.test.tsx +43 -0
  797. package/src/NumberInput/NumberInput.tsx +31 -6
  798. package/src/NumberInput/__tests__/NumberInput.coarse-pointer.a11y.chromium.spec.ts +102 -0
  799. package/src/Overlay/Overlay.doc.mjs +2 -2
  800. package/src/Overlay/Overlay.test.tsx +72 -4
  801. package/src/Overlay/Overlay.tsx +18 -8
  802. package/src/Popover/Popover.doc.mjs +38 -2
  803. package/src/Popover/Popover.spec.md +90 -11
  804. package/src/Popover/Popover.test.tsx +95 -0
  805. package/src/Popover/Popover.tsx +401 -35
  806. package/src/Popover/PopoverPresentation.test.tsx +952 -0
  807. package/src/Popover/index.ts +5 -1
  808. package/src/Popover/lazyPopoverBottomSheet.ts +57 -0
  809. package/src/PowerSearch/PowerSearch.spec.md +423 -53
  810. package/src/PowerSearch/PowerSearch.test.tsx +32 -1
  811. package/src/PowerSearch/PowerSearch.tsx +7 -5
  812. package/src/ProgressBar/ProgressBar.test.tsx +12 -0
  813. package/src/ProgressBar/ProgressBar.tsx +18 -0
  814. package/src/RadioList/RadioList.spec.md +227 -0
  815. package/src/RadioList/RadioList.test.tsx +34 -7
  816. package/src/RadioList/RadioListItem.press.source-build.test.mjs +80 -0
  817. package/src/RadioList/RadioListItem.spec.md +223 -0
  818. package/src/RadioList/RadioListItem.tsx +26 -12
  819. package/src/Section/Section.spec.md +102 -44
  820. package/src/SegmentedControl/SegmentedControl.spec.md +162 -53
  821. package/src/SegmentedControl/SegmentedControl.test.tsx +46 -0
  822. package/src/SegmentedControl/SegmentedControl.tsx +7 -3
  823. package/src/SegmentedControl/SegmentedControlItem.spec.md +206 -0
  824. package/src/SelectableCard/SelectableCard.doc.mjs +6 -4
  825. package/src/SelectableCard/SelectableCard.spec.md +230 -0
  826. package/src/SelectableCard/SelectableCard.tsx +5 -5
  827. package/src/Selector/Selector.sheetActiveDescendant.test.tsx +95 -0
  828. package/src/Selector/Selector.spec.md +3 -2
  829. package/src/Selector/Selector.test.tsx +50 -2
  830. package/src/Selector/Selector.tsx +30 -6
  831. package/src/Selector/__tests__/ComboboxField.a11y.chromium.spec.ts +458 -0
  832. package/src/Selector/hooks.ts +234 -10
  833. package/src/Selector/useCombobox.doc.mjs +156 -9
  834. package/src/Selector/useCombobox.public.test.tsx +89 -0
  835. package/src/Selector/useCombobox.test.tsx +444 -0
  836. package/src/SideNav/SideNav.spec.md +50 -30
  837. package/src/SideNav/SideNav.test.tsx +354 -17
  838. package/src/SideNav/SideNav.tsx +85 -1
  839. package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
  840. package/src/SideNav/SideNavHeading.spec.md +226 -0
  841. package/src/SideNav/SideNavHeading.tsx +61 -6
  842. package/src/SideNav/SideNavItem.spec.md +246 -0
  843. package/src/SideNav/SideNavItem.tsx +40 -9
  844. package/src/SideNav/SideNavRailMotion.test.tsx +620 -0
  845. package/src/SideNav/SideNavSection.spec.md +153 -0
  846. package/src/SideNav/__tests__/SideNavRailMotion.interaction.browser.spec.ts +417 -0
  847. package/src/SideNav/railMotion.ts +315 -0
  848. package/src/Skeleton/Skeleton.spec.md +7 -7
  849. package/src/Slider/Slider.fr10.test.tsx +34 -0
  850. package/src/Slider/Slider.tsx +10 -2
  851. package/src/Spinner/Spinner.spec.md +10 -10
  852. package/src/Stack/Stack.spec.md +104 -56
  853. package/src/StatusDot/StatusDot.spec.md +24 -28
  854. package/src/StatusDot/StatusDot.test.tsx +13 -0
  855. package/src/StatusDot/StatusDot.tsx +27 -0
  856. package/src/Stepper/Step.spec.md +206 -0
  857. package/src/Stepper/Step.tsx +12 -3
  858. package/src/Stepper/Stepper.test.tsx +17 -0
  859. package/src/Switch/Switch.focusRing.source-build.test.mjs +81 -0
  860. package/src/Switch/Switch.spec.md +150 -66
  861. package/src/Switch/Switch.tsx +11 -9
  862. package/src/Switch/switch.markers.stylex.ts +7 -2
  863. package/src/TabList/Tab.spec.md +201 -0
  864. package/src/TabList/Tab.tsx +7 -1
  865. package/src/TabList/TabList.test.tsx +27 -0
  866. package/src/TabList/TabMenu.spec.md +198 -0
  867. package/src/TabList/TabMenu.tsx +24 -1
  868. package/src/TabList/__tests__/TabListOverflow.interaction.browser.spec.ts +99 -0
  869. package/src/Table/Table.spec.md +51 -31
  870. package/src/Table/TableCell.tsx +9 -0
  871. package/src/Table/TableHeaderCell.tsx +2 -0
  872. package/src/Table/TableRow.tsx +3 -0
  873. package/src/Table/__tests__/TableRowGlide.a11y.browser.spec.ts +382 -0
  874. package/src/Table/__tests__/TableStickyDividers.a11y.browser.spec.ts +560 -0
  875. package/src/Table/glidingDivider.ts +336 -0
  876. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +23 -8
  877. package/src/Table/plugins/rowExpansion/useTableRowExpansion.glide.test.tsx +280 -0
  878. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +91 -9
  879. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +471 -10
  880. package/src/Table/plugins/rowStatus/useTableRowStatus.spec.md +4 -4
  881. package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.ts +1 -1
  882. package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +51 -1
  883. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +312 -12
  884. package/src/Table/rowDivider.ts +154 -0
  885. package/src/Table/useTableRowExpansion.doc.mjs +8 -0
  886. package/src/Text/Text.spec.md +114 -127
  887. package/src/Text/useTruncation.test.tsx +128 -1
  888. package/src/Text/useTruncation.ts +23 -5
  889. package/src/TextArea/TextArea.spec.md +164 -64
  890. package/src/TextArea/TextArea.tsx +1 -1
  891. package/src/TextInput/TextInput.spec.md +260 -0
  892. package/src/TextInput/TextInput.test.tsx +43 -0
  893. package/src/TextInput/TextInput.tsx +19 -4
  894. package/src/Thumbnail/Thumbnail.spec.md +244 -0
  895. package/src/Thumbnail/Thumbnail.test.tsx +109 -6
  896. package/src/Thumbnail/Thumbnail.tsx +34 -4
  897. package/src/TimeInput/TimeInput.spec.md +273 -0
  898. package/src/TimeInput/TimeInput.tsx +12 -4
  899. package/src/TimeInput/TouchTimeField.tsx +2 -1
  900. package/src/Timestamp/Timestamp.spec.md +252 -0
  901. package/src/Toast/Toast.spec.md +300 -0
  902. package/src/Toast/ToastViewport.modalHost.test.tsx +496 -6
  903. package/src/Toast/ToastViewport.test.tsx +137 -0
  904. package/src/Toast/ToastViewport.tsx +63 -6
  905. package/src/ToggleButton/ToggleButton.spec.md +256 -0
  906. package/src/ToggleButton/ToggleButtonGroup.spec.md +195 -0
  907. package/src/Token/Token.spec.md +1 -1
  908. package/src/Tokenizer/Tokenizer.props-type.test.tsx +126 -0
  909. package/src/Tokenizer/Tokenizer.spec.md +313 -72
  910. package/src/Tokenizer/Tokenizer.ssr.test.tsx +196 -0
  911. package/src/Tokenizer/Tokenizer.test.tsx +48 -0
  912. package/src/Tokenizer/Tokenizer.tsx +575 -27
  913. package/src/Tokenizer/TokenizerBottomSheet.test.tsx +2719 -0
  914. package/src/Tokenizer/TokenizerBottomSheet.tsx +957 -0
  915. package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +60 -27
  916. package/src/Toolbar/Toolbar.spec.md +103 -49
  917. package/src/Tooltip/Tooltip.spec.md +161 -36
  918. package/src/Tooltip/__tests__/TooltipTallContent.a11y.browser.spec.ts +34 -7
  919. package/src/Tooltip/__tests__/TooltipTallContentTracking.a11y.browser.spec.ts +1162 -0
  920. package/src/TopNav/TopNav.spec.md +190 -0
  921. package/src/TopNav/TopNav.test.tsx +89 -0
  922. package/src/TopNav/TopNavHeading.spec.md +211 -0
  923. package/src/TopNav/TopNavHeading.tsx +35 -2
  924. package/src/TopNav/TopNavItem.spec.md +189 -0
  925. package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +83 -0
  926. package/src/TopNav/TopNavMegaMenu.spec.md +190 -0
  927. package/src/TopNav/TopNavMegaMenu.tsx +21 -4
  928. package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +150 -0
  929. package/src/TopNav/TopNavMegaMenuItem.spec.md +155 -0
  930. package/src/TopNav/TopNavMenu.spec.md +202 -0
  931. package/src/TopNav/TopNavMenu.test.tsx +65 -1
  932. package/src/TopNav/TopNavMenu.tsx +30 -1
  933. package/src/TreeList/TreeList.doc.mjs +13 -0
  934. package/src/TreeList/TreeList.spec.md +54 -35
  935. package/src/TreeList/TreeList.tsx +234 -2
  936. package/src/TreeList/TreeListBranches.tsx +8 -6
  937. package/src/TreeList/TreeListItem.tsx +12 -6
  938. package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +18 -6
  939. package/src/TreeList/__tests__/TreeListGuideAlignment.interaction.browser.spec.ts +127 -0
  940. package/src/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.ts +138 -0
  941. package/src/Typeahead/BaseTypeahead.test.tsx +201 -4
  942. package/src/Typeahead/BaseTypeahead.tsx +12 -8
  943. package/src/Typeahead/Typeahead.tsx +7 -2
  944. package/src/VisuallyHidden/VisuallyHidden.spec.md +170 -0
  945. package/src/__tests__/BusyOwnerAnnouncement.test.tsx +7 -5
  946. package/src/__tests__/PressModality.a11y.chromium.spec.ts +392 -0
  947. package/src/__tests__/unthemedLength.ts +34 -0
  948. package/src/gestures/GestureArena.ts +966 -0
  949. package/src/gestures/GestureRecognizer.ts +626 -0
  950. package/src/gestures/LongPressGestureRecognizer.ts +186 -0
  951. package/src/gestures/PanGestureRecognizer.ts +410 -0
  952. package/src/gestures/TapGestureRecognizer.ts +192 -0
  953. package/src/gestures/VelocityTracker.ts +194 -0
  954. package/src/gestures/__tests__/LongPressGestureRecognizer.test.ts +141 -0
  955. package/src/gestures/__tests__/PanGestureRecognizer.test.ts +327 -0
  956. package/src/gestures/__tests__/TapGestureRecognizer.test.ts +154 -0
  957. package/src/gestures/__tests__/VelocityTracker.streams.test.ts +243 -0
  958. package/src/gestures/__tests__/VelocityTracker.test.ts +261 -0
  959. package/src/gestures/__tests__/arena.test.ts +824 -0
  960. package/src/gestures/__tests__/arenaContinuous.test.ts +207 -0
  961. package/src/gestures/__tests__/arenaTapLongPress.test.ts +211 -0
  962. package/src/gestures/__tests__/fixtures/pointer-streams/README.md +82 -0
  963. package/src/gestures/__tests__/fixtures/pointer-streams/android-chromium-fling.json +130 -0
  964. package/src/gestures/__tests__/fixtures/pointer-streams/android-chromium-slow.json +860 -0
  965. package/src/gestures/__tests__/fixtures/pointer-streams/android-chromium-stop-release.json +357 -0
  966. package/src/gestures/__tests__/fixtures/pointer-streams/android-firefox-fling.json +66 -0
  967. package/src/gestures/__tests__/fixtures/pointer-streams/android-firefox-slow.json +268 -0
  968. package/src/gestures/__tests__/fixtures/pointer-streams/android-firefox-stop-release.json +128 -0
  969. package/src/gestures/__tests__/fixtures/pointer-streams/capture.html +123 -0
  970. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-mouse-fling.json +64 -0
  971. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-mouse-slow.json +268 -0
  972. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-mouse-stop-release.json +124 -0
  973. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-pen-fling.json +64 -0
  974. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-pen-slow.json +268 -0
  975. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-pen-stop-release.json +124 -0
  976. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-touch-fling.json +84 -0
  977. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-touch-slow.json +381 -0
  978. package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-touch-stop-release.json +171 -0
  979. package/src/gestures/__tests__/fixtures/pointer-streams/ios-safari-fling.json +45 -0
  980. package/src/gestures/__tests__/fixtures/pointer-streams/ios-safari-slow.json +101 -0
  981. package/src/gestures/__tests__/fixtures/pointer-streams/ios-safari-stop-release.json +130 -0
  982. package/src/gestures/__tests__/harness.ts +204 -0
  983. package/src/gestures/geometry.ts +55 -0
  984. package/src/gestures/types.ts +161 -0
  985. package/src/hooks/ModalAnnounceProvider.tsx +155 -0
  986. package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +97 -4
  987. package/src/hooks/__tests__/menuLinkClicks.ts +71 -0
  988. package/src/hooks/actionGroupTracker.exports.test.ts +28 -0
  989. package/src/hooks/actionGroupTracker.test.ts +510 -0
  990. package/src/hooks/actionGroupTracker.ts +449 -0
  991. package/src/hooks/index.ts +6 -0
  992. package/src/hooks/menuPressOnItems.ts +40 -0
  993. package/src/hooks/modalAnnounce.ts +439 -0
  994. package/src/hooks/scrollGeometry.ts +71 -4
  995. package/src/hooks/useAdaptivePresentation.ts +46 -9
  996. package/src/hooks/useAnimatedLayout.doc.mjs +101 -0
  997. package/src/hooks/useAnimatedLayout.ts +61 -0
  998. package/src/hooks/useAnnounce.doc.mjs +4 -4
  999. package/src/hooks/useAnnounce.modal.test.tsx +1291 -0
  1000. package/src/hooks/useAnnounce.ts +362 -10
  1001. package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +22 -0
  1002. package/src/hooks/useBusyAnnouncement.ts +29 -50
  1003. package/src/hooks/useFocusTrap.doc.mjs +3 -3
  1004. package/src/hooks/useFocusTrap.test.tsx +64 -0
  1005. package/src/hooks/useFocusTrap.ts +15 -8
  1006. package/src/hooks/useMenuHover.ts +6 -2
  1007. package/src/hooks/usePressFeedback.doc.mjs +4 -4
  1008. package/src/hooks/usePressFeedback.ts +5 -2
  1009. package/src/hooks/useScrollableArea.test.tsx +185 -3
  1010. package/src/hooks/useScrollableArea.ts +81 -7
  1011. package/src/i18n/generated-locales/en.generated.ts +35 -0
  1012. package/src/i18n/generated-locales/pseudo.generated.ts +37 -0
  1013. package/src/internal/tokenizer-presentation.test.ts +29 -0
  1014. package/src/internal/tokenizer-presentation.ts +25 -0
  1015. package/src/internal/touch.test.ts +44 -0
  1016. package/src/internal/touch.ts +41 -0
  1017. package/src/motion/LayoutChangeSnapshot.tsx +50 -0
  1018. package/src/motion/MEASUREMENTS.md +271 -0
  1019. package/src/motion/README.md +218 -0
  1020. package/src/motion/__tests__/animatedLayout.interaction.browser.spec.ts +1613 -0
  1021. package/src/motion/__tests__/animatedLayoutAdopters.interaction.browser.spec.ts +217 -0
  1022. package/src/motion/__tests__/animatedLayoutBundle.ts +17 -0
  1023. package/src/motion/animatedLayout.boundary.test.ts +155 -0
  1024. package/src/motion/animatedLayout.swap.test.ts +827 -0
  1025. package/src/motion/animatedLayout.test.ts +1154 -0
  1026. package/src/motion/animatedLayout.ts +1801 -0
  1027. package/src/motion/animatedLayoutAdopters.test.tsx +500 -0
  1028. package/src/motion/animator.test.ts +2653 -0
  1029. package/src/motion/animator.ts +2794 -0
  1030. package/src/motion/bezier.test.ts +52 -0
  1031. package/src/motion/bezier.ts +64 -0
  1032. package/src/motion/coast.test.ts +99 -0
  1033. package/src/motion/coast.ts +150 -0
  1034. package/src/motion/decay.test.ts +120 -0
  1035. package/src/motion/decay.ts +126 -0
  1036. package/src/motion/projection.test.ts +107 -0
  1037. package/src/motion/projection.ts +116 -0
  1038. package/src/motion/reducedMotion.stylex.ts +41 -0
  1039. package/src/motion/reducedMotion.test.ts +129 -0
  1040. package/src/motion/reducedMotion.ts +94 -0
  1041. package/src/motion/reducedMotionPlan.test.ts +182 -0
  1042. package/src/motion/reducedMotionPlan.ts +263 -0
  1043. package/src/motion/resolveSnapPoint.test.ts +189 -0
  1044. package/src/motion/resolveSnapPoint.ts +169 -0
  1045. package/src/motion/roleValue.ts +105 -0
  1046. package/src/motion/roles.test.ts +256 -0
  1047. package/src/motion/roles.ts +262 -0
  1048. package/src/motion/rubberBand.test.ts +88 -0
  1049. package/src/motion/rubberBand.ts +115 -0
  1050. package/src/motion/selectPage.test.ts +31 -0
  1051. package/src/motion/selectPage.ts +55 -0
  1052. package/src/motion/spring.test.ts +650 -0
  1053. package/src/motion/spring.ts +551 -0
  1054. package/src/motion/transientCopy.ts +374 -0
  1055. package/src/motion/uikit/gestures.test.ts +89 -0
  1056. package/src/motion/uikit/gestures.ts +359 -0
  1057. package/src/motion/uikit/index.ts +80 -0
  1058. package/src/motion/uikit/navigation.ts +83 -0
  1059. package/src/motion/uikit/scroll.ts +141 -0
  1060. package/src/motion/uikit/springRows.test.ts +71 -0
  1061. package/src/motion/uikit/springs.ts +514 -0
  1062. package/src/motion/uikit/timing.ts +210 -0
  1063. package/src/motion/uikit/uikit.test.ts +364 -0
  1064. package/src/motion/uikit/values.test.ts +110 -0
  1065. package/src/tailwind-theme.css +51 -1
  1066. package/src/tailwind-theme.test.ts +51 -0
  1067. package/src/theme/Theme.test.tsx +28 -0
  1068. package/src/theme/declarationBoundary.ts +282 -1
  1069. package/src/theme/defineTheme.test.ts +529 -12
  1070. package/src/theme/defineTheme.ts +231 -19
  1071. package/src/theme/derivedVarRegistry.test.ts +30 -0
  1072. package/src/theme/derivedVarRegistry.ts +4 -0
  1073. package/src/theme/expandMotionScale.test.ts +17 -0
  1074. package/src/theme/extensibleAxes.test.ts +74 -29
  1075. package/src/theme/generateThemeRules.ts +772 -35
  1076. package/src/theme/onMediaTokens.test.ts +186 -0
  1077. package/src/theme/statusColor.ts +189 -0
  1078. package/src/theme/statusRoleDerivation.ts +289 -0
  1079. package/src/theme/syntax/SyntaxTheme.tsx +1 -1
  1080. package/src/theme/syntax/defineSyntaxTheme.ts +1 -1
  1081. package/src/theme/syntax/presets.ts +1 -1
  1082. package/src/theme/syntax/tokens.ts +1 -1
  1083. package/src/theme/themeAdaptations.test.ts +375 -0
  1084. package/src/theme/tokens.stylex.ts +36 -2
  1085. package/src/theme/tokens.test.ts +51 -1
  1086. package/src/theme/tokens.ts +23 -1
  1087. package/src/theme/useTheme.ts +10 -4
  1088. package/src/utils/focusReturn.ts +17 -6
  1089. package/src/utils/hitArea.test.ts +628 -0
  1090. package/src/utils/hitArea.ts +770 -0
  1091. package/src/utils/interactionModality.test.ts +45 -1
  1092. package/src/utils/interactionModality.ts +64 -5
  1093. package/src/utils/interactionOverlay.stylex.ts +4 -1
  1094. package/src/utils/pressFeedback.test.ts +310 -2
  1095. package/src/utils/pressFeedback.ts +306 -54
  1096. package/src/utils/pressGesture.test.ts +50 -0
  1097. package/src/utils/pressGesture.ts +40 -2
  1098. package/src/utils/touchPresentation.test.ts +323 -0
  1099. package/src/utils/touchPresentation.ts +153 -0
package/CHANGELOG.md CHANGED
@@ -58,7 +58,7 @@ Thanks to everyone who contributed to this release:
58
58
 
59
59
  #### Fixes
60
60
 
61
- - `TimeInput`'s arrow keys ignore a fractional increment instead of writing a malformed time such as "14:30.5": `adjustTime` returns the time unchanged for a fractional minute delta ([#7823](https://github.com/facebook/astryx/pull/7823)).
61
+ - `TimeInput`'s arrow keys ignore a fractional increment instead of writing a malformed time such as "14:30.5": `adjustTime` returns the time unchanged for a fractional minute delta ([#7823](https://github.com/meta/astryx/pull/7823)).
62
62
  - Screen readers now announce a `Button` that is first rendered with `isLoading` (for example after a remount). Its visually hidden loading live region mounts empty and gets "Loading" on the next frame, because screen readers skip a live region that already holds its text when it appears. A Button that becomes loading after it mounts is unchanged, and a Button mounted idle does no extra render.
63
63
  - `ChatComposer`: screen readers now announce a status message, errors assertively and warnings politely, once per occasion: a rerender does not repeat it, and a status that clears and then returns is announced again. Before, the status bar mounted as a `role="alert"` or `role="status"` region already holding its text, which screen readers often skip. The message now goes through the shared announcement channel, and the visible bar no longer carries a live role. No API changes.
64
64
  - `ChatSystemMessage`: a new chat notice inside a `ChatMessageList` now has one live region announcing it, the list's polite log, instead of also being a second live region nested in it (WCAG 2.2 SC 4.1.3). Its root no longer forces `role="status"`, in either variant, so date and divider rows are no longer presented as status messages, and a `role` passed to the component reaches its root. Tests that found a system message by the `status` role should query it by its text instead.
@@ -67,12 +67,12 @@ Thanks to everyone who contributed to this release:
67
67
  - Keyboard and screen-reader users can now reach a disabled `ComplexSelector` and hear that it is unavailable (WCAG 2.2 SC 2.1.1 and 4.1.2). Before, its trigger rendered the native `disabled` attribute, so Tab skipped it and a focused trigger lost focus when disabled; now it exposes `aria-disabled="true"`, keeps focus, shows its keyboard focus outline, and still opens nothing. A press or key on it reaches no handler: not the toggle, not a caller's `onClick` or `onKeyDown`, and not an ancestor's click handler.
68
68
  - Keyboard and screen-reader users can now reach a disabled `Calendar` day or `Pagination` dot and hear that it is disabled. Disabled `TreeList` rows' expand toggle and action button, disabled `Pagination` dots and disabled `Calendar` days expose `aria-disabled="true"` instead of the native `disabled` attribute, while clicks, Enter and Space still do nothing and arrow keys still skip disabled days as before. No API changes.
69
69
  - `DateInput`: keyboard and screen-reader users can now reach a disabled date field and hear that it is disabled. A disabled or busy field no longer renders native `disabled`: its input and calendar button keep their place in the focus order and expose `aria-disabled`, while typing and opening stay blocked, and a focused disabled field shows its focus ring. Tests that query a disabled DateInput with `toBeDisabled()` or `:disabled` should check `aria-disabled="true"` instead.
70
- - `DateRangeInput`: keyboard and screen-reader users can now reach a disabled field or preset and hear that it is disabled. A disabled or busy field and a disabled preset no longer render native `disabled`: the trigger, calendar button and presets keep their place in the focus order and expose `aria-disabled`, while opening and selecting stay blocked, and a focused disabled field shows its focus ring. Tests that query them with `toBeDisabled()` or `:disabled` should check `aria-disabled="true"` instead ([#7866](https://github.com/facebook/astryx/pull/7866)).
70
+ - `DateRangeInput`: keyboard and screen-reader users can now reach a disabled field or preset and hear that it is disabled. A disabled or busy field and a disabled preset no longer render native `disabled`: the trigger, calendar button and presets keep their place in the focus order and expose `aria-disabled`, while opening and selecting stay blocked, and a focused disabled field shows its focus ring. Tests that query them with `toBeDisabled()` or `:disabled` should check `aria-disabled="true"` instead ([#7866](https://github.com/meta/astryx/pull/7866)).
71
71
  - `DateTimeInput`: keyboard and screen-reader users can now reach a disabled or busy field and hear that it is disabled. It no longer renders native `disabled` on its text, native-picker or touch fields, or on its calendar and clock buttons: they keep their place in the focus order and expose `aria-disabled`, while typing, picking, opening and a caller's `onClick` stay blocked, and a focused disabled field shows its focus ring. `TimeInput`'s native picker button, which shares the time segment and stays out of the tab order, also moves from `disabled` to `aria-disabled` and stays inert. Tests that query a disabled DateTimeInput with `toBeDisabled()` or `:disabled` should check `aria-disabled="true"` instead.
72
72
  - Apps that use Core's prebuilt CSS without a StyleX build step now get the default data colors: the prebuilt CSS defines the canonical `dataVars` defaults, so compiled imports and raw CSS references paint correctly.
73
73
  - `Dialog`, `BottomSheet` and `BottomSheetSwitcher` stay open when a file picker inside them is dismissed. A file input fires a bubbling `cancel` event when its picker closes without a choice, and all three took that event for a close request of their own and closed (a switcher closed its whole flow). They now act only on a `cancel` aimed at their own `<dialog>`, so Escape and platform close requests (the Android back gesture) behave as before. No API changes.
74
74
  - `DropdownMenuRadioGroup` now forwards `ref`, and its docs explain controlled selection, how to name the group, when the menu closes, and how it composes inside a `DropdownMenu`.
75
- - `astryx init` writes the agent docs at the project root, in files the project commits, so Codex, Gemini CLI, Copilot CLI and Claude Code all read the block from the project root or any folder below it ([#7497](https://github.com/facebook/astryx/pull/7497)). It no longer writes agent docs into a project's subfolder, the home folder, or a settings folder in it such as `~/.gemini`.
75
+ - `astryx init` writes the agent docs at the project root, in files the project commits, so Codex, Gemini CLI, Copilot CLI and Claude Code all read the block from the project root or any folder below it ([#7497](https://github.com/meta/astryx/pull/7497)). It no longer writes agent docs into a project's subfolder, the home folder, or a settings folder in it such as `~/.gemini`.
76
76
  - `AGENTS.md` holds the block, created when missing. Before, a project with only `CLAUDE.md` got the block only there, so Codex and Gemini CLI never saw it.
77
77
  - Claude Code skips `AGENTS.md` in a folder that has a `CLAUDE.md` or `.claude/CLAUDE.md`, so the Claude Code file the project already has keeps a full copy: root `CLAUDE.md`, else `.claude/CLAUDE.md`. It keeps the copy even when it imports `AGENTS.md`, because Claude Code does not follow that import in a session started in a subfolder; started at the root, Claude Code then reads two. When both exist, the copy goes in root `CLAUDE.md`, which projects commit even when they ignore `.claude/`, and a block in `.claude/CLAUDE.md` is removed. Init creates no Claude file. `astryx upgrade` refreshes every copy, except in a project at the top of a home settings folder (see the next entry).
78
78
  - Gemini CLI reads only `GEMINI.md`: init adds a one-line import, `@./AGENTS.md`, creating `GEMINI.md` when it is missing. It adds none when `GEMINI.md` already imports `AGENTS.md`, inline or on its own line. It adds the import even when the project's `.gemini/settings.json` has Gemini read `AGENTS.md` through `context.fileName`: Gemini loads those settings only when it starts at the project root, so a session started in a subfolder would otherwise get no copy. Started at the root, Gemini then reads two.
@@ -95,18 +95,18 @@ Thanks to everyone who contributed to this release:
95
95
  - `Selector` options in a narrow list now shrink and truncate a long label with an ellipsis instead of being clipped past the list edge.
96
96
  - `Switch`: a busy switch announces "Loading" once per busy start. Under React StrictMode the announcement used to be made twice.
97
97
  - `TimeInput`: keyboard and screen-reader users can now reach a disabled field, or a busy bottom-sheet field, and hear that it is disabled. It no longer renders native `disabled` on its typed, native-picker or touch input or its picker button: they keep their place in the focus order and expose `aria-disabled`, while typing, arrow-key adjustment, opening, submitting a surrounding form with Enter, and a caller's `onClick` stay blocked, a draft typed before the field became disabled is dropped, and a focused disabled field shows its focus ring. Tests that query a disabled or busy TimeInput with `toBeDisabled()` or `:disabled` should check `aria-disabled="true"` instead.
98
- - Pages that use `Timestamp` with an absolute format (`date`, `time`, `date_time` and the other fixed formats) now prerender in Next.js with `cacheComponents` turned on, where they used to fail the build: `Timestamp` no longer reads the current time while rendering on the server, and absolute formats never read the clock. `relative`, `relative_short` and `auto` read the clock on the client only: a server render or static prerender shows the full date and time in UTC, labelled, and the client switches to the format's normal output right after hydration, so server and client markup now always match. Client-only rendering is unchanged. No API changes ([#7883](https://github.com/facebook/astryx/pull/7883)).
98
+ - Pages that use `Timestamp` with an absolute format (`date`, `time`, `date_time` and the other fixed formats) now prerender in Next.js with `cacheComponents` turned on, where they used to fail the build: `Timestamp` no longer reads the current time while rendering on the server, and absolute formats never read the clock. `relative`, `relative_short` and `auto` read the clock on the client only: a server render or static prerender shows the full date and time in UTC, labelled, and the client switches to the format's normal output right after hydration, so server and client markup now always match. Client-only rendering is unchanged. No API changes ([#7883](https://github.com/meta/astryx/pull/7883)).
99
99
  - `Tooltip`: moving the pointer straight from the trigger onto the tooltip in one step no longer hides it, so it stays open while hovered (WCAG 2.2 SC 1.4.13).
100
- - A `SideNavItem` in a collapsed `SideNav` now shows its tooltip on hover and gets `aria-describedby`, even when the item first appears inside an already-collapsed `SideNav`, the common case for saved collapse state. Before, only an item that collapsed after it appeared got a tooltip. Fixes [#7692](https://github.com/facebook/astryx/issues/7692).
100
+ - A `SideNavItem` in a collapsed `SideNav` now shows its tooltip on hover and gets `aria-describedby`, even when the item first appears inside an already-collapsed `SideNav`, the common case for saved collapse state. Before, only an item that collapsed after it appeared got a tooltip. Fixes [#7692](https://github.com/meta/astryx/issues/7692).
101
101
 
102
102
  A `Tooltip` with an `anchorRef` that renders inside the very element the ref points at, as `SideNavItem` does, now attaches however it mounted. The effect now re-checks the anchor once the commit has finished attaching refs; event listeners and the `aria-describedby` merge and restore are unchanged.
103
103
 
104
104
  - `TopNav` on narrow screens: a long `TopNavHeading` now gives way (it truncates with an ellipsis, or wraps when the heading is a link) instead of pushing the end content and the menu toggle past the edge of the bar, and the mobile drawer's close button is back on screen.
105
- - `Typeahead`: clearing the value while editing it now empties the input and reports `onChangeQuery('')`, instead of leaving the old label in a field with no value. Fixes [#7038](https://github.com/facebook/astryx/issues/7038).
105
+ - `Typeahead`: clearing the value while editing it now empties the input and reports `onChangeQuery('')`, instead of leaving the old label in a field with no value. Fixes [#7038](https://github.com/meta/astryx/issues/7038).
106
106
 
107
107
  #### Performance
108
108
 
109
- - Pages with many code blocks, such as a long Markdown document, paint sooner on first load: `CodeBlock` inserts its syntax-highlight rules before the first layout read instead of after it, which cut first paint by 16–19% in 100–500 KB test documents ([#7875](https://github.com/facebook/astryx/pull/7875)). The rules and the highlighted output are unchanged.
109
+ - Pages with many code blocks, such as a long Markdown document, paint sooner on first load: `CodeBlock` inserts its syntax-highlight rules before the first layout read instead of after it, which cut first paint by 16–19% in 100–500 KB test documents ([#7875](https://github.com/meta/astryx/pull/7875)). The rules and the highlighted output are unchanged.
110
110
  - Pages that update around a long `Markdown` document stay responsive: Markdown skips re-rendering its document when a parent re-renders without changing the text or any rendering prop, and a link handler passed as a new function on each render no longer forces that work. The rendered output is unchanged.
111
111
 
112
112
  #### Documentation
@@ -1362,7 +1362,7 @@ Thanks to everyone who contributed to this release:
1362
1362
 
1363
1363
  **The horizontal clip mirrors under `dir="rtl"`.** `clip-path: inset()` is physical — top/right/bottom/left, no logical form — while the row itself reverses. Left unflipped, the leading segment sits to the _right_ of the node in RTL and still clipped its right edge, so the hole opened at the join between steps instead of at the indicator. Measured before the fix: `con0 x=622, indicator x=606, clips RIGHT edge`. After: `clips LEFT edge`, with LTR unchanged. The block axis needs no handling — `dir` does not reverse it.
1364
1364
 
1365
- **One declaration covers both layers.** The gap has to reach the track (the segment's own background) and the accent fill (an absolutely placed `::before`). Spending it on each separately meant two declarations on two boxes, so a percentage resolved against a different containing block for each and stopped them ~1.2px apart. A single `clip-path: inset(…)` on the segment clips the element and its pseudo-element together against one reference box, so every accepted value behaves identically on both — which is what [#5824](https://github.com/facebook/astryx/pull/5824) requires of a public input across its full value domain. Clipping also cannot change layout, so the node the segment positions cannot move.
1365
+ **One declaration covers both layers.** The gap has to reach the track (the segment's own background) and the accent fill (an absolutely placed `::before`). Spending it on each separately meant two declarations on two boxes, so a percentage resolved against a different containing block for each and stopped them ~1.2px apart. A single `clip-path: inset(…)` on the segment clips the element and its pseudo-element together against one reference box, so every accepted value behaves identically on both — which is what [#5824](https://github.com/meta/astryx/pull/5824) requires of a public input across its full value domain. Clipping also cannot change layout, so the node the segment positions cannot move.
1366
1366
 
1367
1367
  **No indicator, no gap.** `indicator="none"` renders no node, so a gap there is a hole in a track that is meant to be continuous.
1368
1368
 
@@ -1718,7 +1718,7 @@ Thanks to everyone who contributed to this release:
1718
1718
 
1719
1719
  `MetadataListItem` targets its wrapper `<div>` when stacked and its `<dt>` when inline. A `TypeaheadItem` backed by caller-supplied `item.element` remains unchanged and does not receive forwarded props because that value may not be a cloneable element.
1720
1720
 
1721
- This completes [#5254](https://github.com/facebook/astryx/issues/5254) after [#5288](https://github.com/facebook/astryx/pull/5288) by @lexs landed `List` and `Markdown` first, followed by [#5493](https://github.com/facebook/astryx/pull/5493) by @gonzoblasco for `TreeList`.
1721
+ This completes [#5254](https://github.com/meta/astryx/issues/5254) after [#5288](https://github.com/meta/astryx/pull/5288) by @lexs landed `List` and `Markdown` first, followed by [#5493](https://github.com/meta/astryx/pull/5493) by @gonzoblasco for `TreeList`.
1722
1722
 
1723
1723
  - `Button` now reflects `elevation` as a theme target. The prop selected between four StyleX style objects but was missing from the sibling `themeProps('button')` call, so `data-elevation` never reached the DOM and no theme could style the axis — the same defect fixed on `Card` in #5491, and one `ButtonGroup` already had right. A button inside a `ButtonGroup` reports `none`, because the group owns the surface's elevation and the member paints flat. Every wrapper that forwards `ButtonProps` through to `Button` — `IconButton` — picks the reflection up with it. (`ToggleButton` does not: its props extend `BaseProps`, not `ButtonProps`, so it has no `elevation` to forward and keeps reporting `none`.) Nothing about the rendered button changes: 60 of 64 captured frames are byte-identical, and the four that differ do so only inside the loading spinner's own box. (#5552)
1724
1724
  - Calendar: announce a cleared range in the provider locale, wrap the two-month layout instead of overflowing a narrow viewport, keep the selected date visible under forced colors (#5453)
@@ -3459,7 +3459,7 @@ Thanks to everyone who contributed to this release:
3459
3459
  `height: '100%'`. With no sized parent, the skeleton collapsed to a zero-size
3460
3460
  (invisible) element. The doc now sets a `playground.defaults` of
3461
3461
  `width: 320` / `height: 80` so the shimmer placeholder renders visibly.
3462
- - Update stale `facebookexperimental/xds` doc/JSDoc links to the current `facebook/astryx` namespace in source comments (theme/syntax `@see` references). The old org 301-redirects, so these weren't broken — just stale — and this matches the canonical org used elsewhere
3462
+ - Update stale `facebookexperimental/xds` doc/JSDoc links to the then-current `facebook/astryx` namespace in source comments (theme/syntax `@see` references). The old org 301-redirects, so these weren't broken — just stale — and this matches the canonical org used elsewhere
3463
3463
  - Document Table's `verticalAlign` and `textOverflow` props, which were supported by the component but missing from the docsite properties tab
3464
3464
  - Document TabList's `layout` prop ('hug' | 'fill') for tab sizing, which was supported by the component but missing from the docsite properties tab
3465
3465
  - Document Text's `justify` prop, which was supported by the component but missing from the docsite properties tab (same omission previously fixed for Heading) (#2847-adjacent)
package/README.md CHANGED
@@ -63,13 +63,13 @@ astryx gap-report # report a missing capability
63
63
 
64
64
  | Package | Description |
65
65
  | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
66
- | [`@astryxdesign/cli`](https://github.com/facebook/astryx/tree/main/packages/cli) | CLI tooling: component docs, templates, scaffolding, codemods |
67
- | [`@astryxdesign/theme-neutral`](https://github.com/facebook/astryx/tree/main/packages/themes/neutral) | Muted, minimal theme (Lucide icons) |
66
+ | [`@astryxdesign/cli`](https://github.com/meta/astryx/tree/main/packages/cli) | CLI tooling: component docs, templates, scaffolding, codemods |
67
+ | [`@astryxdesign/theme-neutral`](https://github.com/meta/astryx/tree/main/packages/themes/neutral) | Muted, minimal theme (Lucide icons) |
68
68
 
69
69
  ## Resources
70
70
 
71
71
  - [Component Storybook](https://astryx.atmeta.com/storybook/)
72
- - [GitHub Repository](https://github.com/facebook/astryx)
72
+ - [GitHub Repository](https://github.com/meta/astryx)
73
73
 
74
74
  ---
75
75
 
@@ -165,15 +165,18 @@ The `tailwind-theme.css` import maps system tokens to Tailwind utilities via `@t
165
165
 
166
166
  Some useful mappings:
167
167
 
168
- | Tailwind class | Astryx token |
169
- | --------------------------------------------------------- | ------------------------------------------------- |
170
- | `text-primary` / `text-secondary` | `--color-text-primary` / `--color-text-secondary` |
171
- | `bg-surface` / `bg-card` / `bg-body` | `--color-background-surface` / `card` / `body` |
172
- | `border-border` / `border-strong` | `--color-border` / `--color-border-emphasized` |
173
- | `bg-success` / `text-error` / `text-warning` | Status tokens |
174
- | `bg-blue-subtle` / `border-blue-ring` / `text-blue-vivid` | Hue palette (×10 hues) |
175
- | `rounded-sm` / `rounded-md` / `rounded-lg` | `--radius-inner` / `element` / `container` |
176
- | `shadow-sm` / `shadow-md` / `shadow-lg` | `--shadow-low` / `med` / `high` |
168
+ | Tailwind class | Astryx token |
169
+ | ------------------------------------------------------------ | ---------------------------------------------------------------- |
170
+ | `text-primary` / `text-secondary` | `--color-text-primary` / `--color-text-secondary` |
171
+ | `bg-surface` / `bg-card` / `bg-body` | `--color-background-surface` / `card` / `body` |
172
+ | `border-border` / `border-strong` | `--color-border` / `--color-border-emphasized` |
173
+ | `bg-info` / `bg-success` / `bg-warning` / `bg-error` | Strong status fills (`--color-<status>`) |
174
+ | `text-on-info` / `bg-info-muted` / `text-on-info-muted` | Strong-fill content, pale fill, pale-fill content |
175
+ | `text-success` / `text-warning` / `text-error` / `text-info` | Status text on the page (`--color-text-*`; also `text-status-*`) |
176
+ | `border-success` / `border-warning` / `border-error` | Status borders (`--color-border-*`) |
177
+ | `bg-blue-subtle` / `border-blue-ring` / `text-blue-vivid` | Hue palette (×10 hues) |
178
+ | `rounded-sm` / `rounded-md` / `rounded-lg` | `--radius-inner` / `element` / `container` |
179
+ | `shadow-sm` / `shadow-md` / `shadow-lg` | `--shadow-low` / `med` / `high` |
177
180
 
178
181
  Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matching Astryx's `--spacing-4`. Arbitrary values still work as an escape hatch: `bg-[var(--color-background-surface)]`.
179
182
 
@@ -28,7 +28,7 @@ import { Button } from "../Button/index.js";
28
28
  import { mergeProps } from "../utils/index.js";
29
29
  import { themeProps } from "../utils/themeProps.js";
30
30
  import { useTranslator } from "../i18n/index.js";
31
- import { useMediaQuery } from "../hooks/index.js";
31
+ import { useMediaQuery } from "../hooks/useMediaQuery.js";
32
32
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
33
  const SMALL_SCREEN_QUERY = '(max-width: 640px)';
34
34
  const styles = {
@@ -176,28 +176,6 @@ export interface AppShellProps extends BaseProps<HTMLDivElement> {
176
176
  */
177
177
  topNav?: ReactNode;
178
178
  }
179
- /**
180
- * Page shell for an application. Provides the structural frame for an app:
181
- * top navigation, side navigation, and main content area.
182
- *
183
- * Slot-based API with `topNav`, `sideNav`, `banner`, and `children`.
184
- * Supports two height modes (`fill` and `auto`), responsive side nav
185
- * collapse, and mobile overlay with backdrop.
186
- *
187
- * @example
188
- * ```
189
- * <AppShell
190
- * topNav={<TopNav label="Navigation" heading={<TopNavHeading heading="My App" />} />}
191
- * sideNav={<SideNav>{navSections}</SideNav>}
192
- * mobileNav={
193
- * <MobileNav isOpen={mobileOpen} onOpenChange={(open) => setMobileOpen(open)} header="My App">
194
- * {navSections}
195
- * </MobileNav>
196
- * }>
197
- * <Content />
198
- * </AppShell>
199
- * ```
200
- */
201
179
  export declare function AppShell({ variant, banner, children, contentPadding, 'data-testid': dataTestId, height, mobileNav, sideNav, topNav, xstyle, className, style, ref, ...rest }: AppShellProps): React.JSX.Element;
202
180
  export declare namespace AppShell {
203
181
  var displayName: string;
@@ -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;AAoBf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAsChD;;;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;AAkLD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,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,qBA0bf;yBAzce,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;AAgCf,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAsChD;;;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;AAqND,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,qBAykBf;yBAxlBe,QAAQ"}
@@ -31,6 +31,9 @@ import { LayoutContent } from "../Layout/LayoutContent.js";
31
31
  import { MobileNavToggle } from "../MobileNav/MobileNavToggle.js";
32
32
  import { MAX_CLOSE_DELAY_MS as MOBILE_NAV_MAX_CLOSE_DELAY_MS } from "../MobileNav/MobileNav.js";
33
33
  import { SideNavRenderContext } from "../SideNav/SideNavRenderContext.js";
34
+ import { SideNavShellContext } from "../SideNav/railMotion.js";
35
+ import { useAnimatedLayout } from "../hooks/useAnimatedLayout.js";
36
+ import { holdLayoutSwap, landLayoutGlide, layoutMotionFor, playLayoutFrames, playLayoutSwap, reportLayoutChange } from "../motion/animatedLayout.js";
34
37
  import { TopNavRenderContext } from "../TopNav/TopNavRenderContext.js";
35
38
  import { TopNavMobileContentContext } from "../TopNav/TopNavMobileContentContext.js";
36
39
  import { AppShellMobileContext } from "./AppShellMobileContext.js";
@@ -229,6 +232,18 @@ const styles = {
229
232
  * </AppShell>
230
233
  * ```
231
234
  */
235
+
236
+ /**
237
+ * The column beside the rail that holds `main`: its ancestor whose parent
238
+ * also holds the rail. The glide moves it; the rail's edge rides it.
239
+ */
240
+ function columnOf(main, rail) {
241
+ let column = main;
242
+ while (column.parentElement != null && !column.parentElement.contains(rail)) {
243
+ column = column.parentElement;
244
+ }
245
+ return column;
246
+ }
232
247
  export function AppShell({
233
248
  variant = 'elevated',
234
249
  banner,
@@ -437,6 +452,139 @@ export function AppShell({
437
452
  }) : undefined;
438
453
 
439
454
  // =========================================================================
455
+ // While the inline side nav collapses or expands, the content area holds
456
+ // its own animated layout handle (`component:AppShell` FR17): the column
457
+ // beside the rail glides from its old place, and the content swaps its old
458
+ // wrap for its new one in place (`spec:AST-105` FR8), on the rail's clock
459
+ // (`component:SideNav` FR6).
460
+ const railRef = useRef(null);
461
+ const mainRef = useRef(null);
462
+ const backdropRef = useRef(null);
463
+ const contentLayout = useAnimatedLayout({
464
+ containerRef: shellRef
465
+ });
466
+ const pendingContentRef = useRef(null);
467
+ // The running swap: when it started and its wraps' starting opacities, so a
468
+ // change made during it starts its cross-fade from what the content shows.
469
+ const lastSwapRef = useRef(null);
470
+ const sideNavShell = useMemo(() => ({
471
+ animatedLayout: contentLayout,
472
+ rail: () => railRef.current,
473
+ column: () => mainRef.current == null ? null : columnOf(mainRef.current, railRef.current),
474
+ landContent() {
475
+ if (mainRef.current != null) {
476
+ landLayoutGlide(columnOf(mainRef.current, railRef.current));
477
+ }
478
+ },
479
+ beforeRailChange() {
480
+ const main = mainRef.current;
481
+ if (main == null) {
482
+ return;
483
+ }
484
+ const motion = layoutMotionFor(main);
485
+ // Only a spring glides the column; under Reduce Motion the two wraps
486
+ // cross-fade over a steady surface (`design:reduced-motion` DR2).
487
+ let change = null;
488
+ if (motion.kind === 'spring') {
489
+ change = reportLayoutChange(contentLayout, railRef);
490
+ change.measureBefore();
491
+ }
492
+ // At rest the copy (the wrap shown now) starts opaque and the entering
493
+ // wrap unseen; mid-swap the wrap in the DOM is the entering one and
494
+ // the copy's wrap is the one entering next, each at what it shows.
495
+ let held = 1;
496
+ let entering = 0;
497
+ const last = lastSwapRef.current;
498
+ if (last != null && motion.kind === 'spring') {
499
+ const elapsed = Number(main.ownerDocument.timeline?.currentTime ?? 0) - last.startedAt;
500
+ if (elapsed < motion.progress.durationMs) {
501
+ const p = 1 - motion.progress.remaining(elapsed);
502
+ held = last.entering + (1 - last.entering) * p;
503
+ entering = last.held * (1 - p);
504
+ }
505
+ }
506
+ lastSwapRef.current = null;
507
+ pendingContentRef.current = {
508
+ change,
509
+ swap: holdLayoutSwap(contentLayout, main, {
510
+ isVisiblePart: true
511
+ }),
512
+ before: main.getBoundingClientRect(),
513
+ held,
514
+ entering
515
+ };
516
+ },
517
+ afterRailChange() {
518
+ const pending = pendingContentRef.current;
519
+ pendingContentRef.current = null;
520
+ const main = mainRef.current;
521
+ if (pending == null || main == null) {
522
+ return () => {};
523
+ }
524
+ pending.change?.animate();
525
+ // The column beside the rail, which the glide moves: the copy sits
526
+ // beside it, in its parent, and rides its glide.
527
+ const column = columnOf(main, railRef.current);
528
+ const after = main.getBoundingClientRect();
529
+ const isRtl = getComputedStyle(main).direction === 'rtl';
530
+ const travel = isRtl ? pending.before.right - after.right : pending.before.left - after.left;
531
+ // An expand slides the narrower column in from its old start, which
532
+ // opens a gap at its trailing edge: the content surface (the elevated
533
+ // backdrop, or the main element) reaches over it as it closes,
534
+ // whether or not the old wrap is held.
535
+ const cover = [];
536
+ const surface = backdropRef.current ?? main;
537
+ const color = getComputedStyle(surface).backgroundColor;
538
+ const isPainted = !/^rgba\(.*,\s*0\)$|^transparent$/.test(color);
539
+ const glides = layoutMotionFor(main).kind === 'spring';
540
+ if ((isRtl ? travel > 0 : travel < 0) && glides && isPainted) {
541
+ cover.push({
542
+ element: surface,
543
+ frames: p => ({
544
+ boxShadow: `${-travel * (1 - p)}px 0px 0px 0px ${color}`
545
+ })
546
+ });
547
+ }
548
+ if (pending.swap == null || column.parentElement == null) {
549
+ return playLayoutFrames(contentLayout, cover);
550
+ }
551
+ // Under Reduce Motion nothing glides: the old wrap's copy paints the
552
+ // surface it sat on, so that surface fades out with it where it was
553
+ // (`design:reduced-motion` DR2) instead of leaving a bare strip.
554
+ if (!glides && isPainted) {
555
+ pending.swap.copy.style.backgroundColor = color;
556
+ }
557
+ const {
558
+ held,
559
+ entering
560
+ } = pending;
561
+ lastSwapRef.current = {
562
+ startedAt: Number(main.ownerDocument.timeline?.currentTime ?? 0),
563
+ held,
564
+ entering
565
+ };
566
+ return playLayoutSwap(pending.swap, {
567
+ host: column.parentElement,
568
+ copy: p => ({
569
+ opacity: held * (1 - p)
570
+ }),
571
+ rideWith: {
572
+ element: column,
573
+ travel: {
574
+ x: travel,
575
+ y: 0
576
+ }
577
+ },
578
+ incoming: [...Array.from(main.children, element => ({
579
+ element,
580
+ frames: p => ({
581
+ opacity: entering + (1 - entering) * p
582
+ })
583
+ })), ...cover]
584
+ });
585
+ }
586
+ }), [contentLayout]);
587
+
440
588
  // Build sideNav content
441
589
  //
442
590
  // In auto mode, the sideNav panel is not internally scrollable (the page
@@ -445,6 +593,7 @@ export function AppShell({
445
593
  // the sticky behavior since LayoutPanel doesn't accept style/className.
446
594
  // =========================================================================
447
595
  const sideNavPanel = showSideNavInline ? /*#__PURE__*/_jsx(LayoutPanel, {
596
+ ref: railRef,
448
597
  padding: 0,
449
598
  hasDivider: navHasDividers,
450
599
  isScrollable: isFill,
@@ -452,7 +601,10 @@ export function AppShell({
452
601
  variant
453
602
  }),
454
603
  xstyle: [navAreaStyle, isAuto && stickyBgStyle, isAuto && styles.panelAutoFill],
455
- children: sideNav
604
+ children: /*#__PURE__*/_jsx(SideNavShellContext, {
605
+ value: sideNavShell,
606
+ children: sideNav
607
+ })
456
608
  }) : undefined;
457
609
  const sideNavContent = sideNavPanel != null && isAuto ? /*#__PURE__*/_jsx("div", {
458
610
  ...{
@@ -466,6 +618,7 @@ export function AppShell({
466
618
  // =========================================================================
467
619
  const shouldElevateWithCorner = isElevated && hasTopNav && showSideNavInline;
468
620
  const mainInner = /*#__PURE__*/_jsx(LayoutContent, {
621
+ ref: mainRef,
469
622
  padding: contentPadding ?? 0,
470
623
  role: "main",
471
624
  id: MAIN_CONTENT_ID
@@ -490,6 +643,7 @@ export function AppShell({
490
643
  }
491
644
  }[!!shouldElevateWithCorner << 0],
492
645
  children: [shouldElevateWithCorner && /*#__PURE__*/_jsx("div", {
646
+ ref: backdropRef,
493
647
  ...{
494
648
  className: "x10l6tqk x10a8y8t x10xzikg x183tx6i x47corl"
495
649
  }
@@ -92,7 +92,7 @@ const styles = {
92
92
  },
93
93
  success: {
94
94
  kWkggS: "xdsz4j9",
95
- kMwMTN: "xrkvqaz",
95
+ kMwMTN: "xri61p4",
96
96
  $$css: true
97
97
  },
98
98
  neutral: {
@@ -102,7 +102,7 @@ const styles = {
102
102
  },
103
103
  error: {
104
104
  kWkggS: "x1pjz0fi",
105
- kMwMTN: "xrkvqaz",
105
+ kMwMTN: "x1m024r3",
106
106
  $$css: true
107
107
  },
108
108
  icon: {
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AA0G7C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,eAAe,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,UAAU,+BAsCZ;yBA/Ce,KAAK"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAW5C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AA8I7C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,eAAe,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,UAAU,+BAsCZ;yBA/Ce,KAAK"}
@@ -55,23 +55,39 @@ const variants = {
55
55
  $$css: true
56
56
  },
57
57
  info: {
58
- kWkggS: "x1ewilqj",
59
- kMwMTN: "x17wrial",
58
+ kWkggS: "xcc0xtb",
59
+ kMwMTN: "x1jxcxwi",
60
+ kMeerF: "xcthrzx",
61
+ k3XXqK: "x815t2r",
62
+ kjBf7l: "x3teovq",
63
+ kInvED: "xvr1dqx",
60
64
  $$css: true
61
65
  },
62
66
  success: {
63
67
  kWkggS: "xdsz4j9",
64
68
  kMwMTN: "xri61p4",
69
+ kMeerF: "xcthrzx",
70
+ k3XXqK: "x815t2r",
71
+ kjBf7l: "x3teovq",
72
+ kInvED: "xvr1dqx",
65
73
  $$css: true
66
74
  },
67
75
  warning: {
68
76
  kWkggS: "x1q8g9m5",
69
77
  kMwMTN: "xrebv38",
78
+ kMeerF: "xcthrzx",
79
+ k3XXqK: "x815t2r",
80
+ kjBf7l: "x3teovq",
81
+ kInvED: "xvr1dqx",
70
82
  $$css: true
71
83
  },
72
84
  error: {
73
85
  kWkggS: "x1pjz0fi",
74
86
  kMwMTN: "x1m024r3",
87
+ kMeerF: "xcthrzx",
88
+ k3XXqK: "x815t2r",
89
+ kjBf7l: "x3teovq",
90
+ kInvED: "xvr1dqx",
75
91
  $$css: true
76
92
  },
77
93
  blue: {
@@ -8,6 +8,7 @@
8
8
  * - Banner frame (themeProps 'banner-frame'): owns the resting elevation and,
9
9
  * for elevated card banners, the outer radius that shapes that shadow
10
10
  * - Header area (themeProps 'banner'): colored status background with icon, title, description, actions, dismiss
11
+ * - End area restores the ordinary text context for consumer `endContent`; built-in controls opt back into the status foreground
11
12
  * - Content area (themeProps 'banner-content'): card background for additional content (children)
12
13
  * - Status icon (themeProps 'banner-icon'): the target rides on the default
13
14
  * <Icon> itself — the element that paints — so 'status:X' overrides reach
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;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;AAyMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,sCAkPb;yBAtQe,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;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"}
@@ -12,6 +12,7 @@
12
12
  * - Banner frame (themeProps 'banner-frame'): owns the resting elevation and,
13
13
  * for elevated card banners, the outer radius that shapes that shadow
14
14
  * - Header area (themeProps 'banner'): colored status background with icon, title, description, actions, dismiss
15
+ * - End area restores the ordinary text context for consumer `endContent`; built-in controls opt back into the status foreground
15
16
  * - Content area (themeProps 'banner-content'): card background for additional content (children)
16
17
  * - Status icon (themeProps 'banner-icon'): the target rides on the default
17
18
  * <Icon> itself — the element that paints — so 'status:X' overrides reach
@@ -95,10 +96,10 @@ const defaultIconNames = {
95
96
  success: 'success'
96
97
  };
97
98
  const statusIconColor = {
98
- info: 'accent',
99
- warning: 'warning',
100
- error: 'error',
101
- success: 'success'
99
+ info: 'inherit',
100
+ warning: 'inherit',
101
+ error: 'inherit',
102
+ success: 'inherit'
102
103
  };
103
104
 
104
105
  // =============================================================================
@@ -148,6 +149,7 @@ const styles = {
148
149
  kjj79g: "x13a6bvl",
149
150
  kOIVth: "x1txdalj",
150
151
  kmuXW: "x2lah0s",
152
+ kMwMTN: "x1tgivj0",
151
153
  ks0D6T: "x193iq5w",
152
154
  keTefX: "xvc5jky",
153
155
  kqGvvJ: "x81ka23",
@@ -166,19 +168,60 @@ const styles = {
166
168
  };
167
169
  const statusStyles = {
168
170
  info: {
169
- kWkggS: "xgcxg3y",
171
+ kWkggS: "xjeheca",
172
+ kMwMTN: "x1w9aomi",
173
+ kMeerF: "xcthrzx",
174
+ k3XXqK: "x815t2r",
175
+ kjBf7l: "x3teovq",
176
+ kInvED: "xvr1dqx",
170
177
  $$css: true
171
178
  },
172
179
  warning: {
173
180
  kWkggS: "x24i8r5",
181
+ kMwMTN: "xfy1f8t",
182
+ kMeerF: "xcthrzx",
183
+ k3XXqK: "x815t2r",
184
+ kjBf7l: "x3teovq",
185
+ kInvED: "xvr1dqx",
174
186
  $$css: true
175
187
  },
176
188
  error: {
177
189
  kWkggS: "x1pritpl",
190
+ kMwMTN: "xl8t7bd",
191
+ kMeerF: "xcthrzx",
192
+ k3XXqK: "x815t2r",
193
+ kjBf7l: "x3teovq",
194
+ kInvED: "xvr1dqx",
178
195
  $$css: true
179
196
  },
180
197
  success: {
181
198
  kWkggS: "xu13z74",
199
+ kMwMTN: "xvchut",
200
+ kMeerF: "xcthrzx",
201
+ k3XXqK: "x815t2r",
202
+ kjBf7l: "x3teovq",
203
+ kInvED: "xvr1dqx",
204
+ $$css: true
205
+ }
206
+ };
207
+
208
+ // Scope status text context to each built-in Button. Its tooltip is a sibling,
209
+ // so it does not inherit these control-only variables.
210
+ const statusControlStyles = {
211
+ info: {
212
+ "--color-text-primary": "x1lheorj",
213
+ $$css: true
214
+ },
215
+ warning: {
216
+ "--color-text-primary": "xtlqn95",
217
+ $$css: true
218
+ },
219
+ error: {
220
+ "--color-text-primary": "xyur9ww",
221
+ $$css: true
222
+ },
223
+ success: {
224
+ "--color-text-primary": "xul3f6w",
182
225
  $$css: true
183
226
  }
184
227
  };
@@ -427,13 +470,23 @@ export function Banner({
427
470
  }[!!isRenderable(endContent) << 0],
428
471
  children: [/*#__PURE__*/_jsx("div", {
429
472
  ...{
430
- className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0 xj0a0fe"
431
- },
473
+ 0: {
474
+ className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0 xj0a0fe"
475
+ },
476
+ 1: {
477
+ className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og xj0a0fe x1heor9g"
478
+ }
479
+ }[!!hasStatusStyle(status) << 0],
432
480
  children: title
433
481
  }), isRenderable(description) && /*#__PURE__*/_jsx("div", {
434
482
  ...mergeProps(themeProps('banner-description'), {
435
- className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4 xj0a0fe"
436
- }),
483
+ 0: {
484
+ className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4 xj0a0fe"
485
+ },
486
+ 1: {
487
+ className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xj0a0fe x1heor9g"
488
+ }
489
+ }[!!hasStatusStyle(status) << 0]),
437
490
  children: description
438
491
  })]
439
492
  }), showEndArea && /*#__PURE__*/_jsxs("div", {
@@ -450,6 +503,7 @@ export function Banner({
450
503
  xstyle: [styles.chevron, isExpanded && styles.chevronExpanded]
451
504
  }),
452
505
  onClick: handleToggleExpand,
506
+ className: hasStatusStyle(status) ? stylex.props(statusControlStyles[status]).className : undefined,
453
507
  "aria-expanded": isExpanded,
454
508
  "aria-controls": showContent ? contentId : undefined,
455
509
  isIconOnly: true
@@ -464,6 +518,7 @@ export function Banner({
464
518
  color: "inherit"
465
519
  }),
466
520
  onClick: handleDismiss,
521
+ className: hasStatusStyle(status) ? stylex.props(statusControlStyles[status]).className : undefined,
467
522
  isIconOnly: true
468
523
  })]
469
524
  })]