@astryxdesign/core 0.7.5-canary.d26cdf3 → 0.7.5-canary.d6004fd

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 (750) hide show
  1. package/README.md +12 -9
  2. package/dist/AlertDialog/AlertDialog.js +1 -1
  3. package/dist/Avatar/AvatarStatusDot.js +2 -2
  4. package/dist/Badge/Badge.d.ts.map +1 -1
  5. package/dist/Badge/Badge.js +18 -2
  6. package/dist/Banner/Banner.d.ts +1 -0
  7. package/dist/Banner/Banner.d.ts.map +1 -1
  8. package/dist/Banner/Banner.js +64 -9
  9. package/dist/BottomSheet/BottomSheet.d.ts +51 -7
  10. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  11. package/dist/BottomSheet/BottomSheet.js +430 -204
  12. package/dist/BottomSheet/BottomSheetHostContext.d.ts +8 -0
  13. package/dist/BottomSheet/BottomSheetHostContext.d.ts.map +1 -0
  14. package/dist/BottomSheet/BottomSheetHostContext.js +35 -0
  15. package/dist/BottomSheet/BottomSheetPanel.d.ts +9 -1
  16. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  17. package/dist/BottomSheet/BottomSheetPanel.js +76 -22
  18. package/dist/BottomSheet/BottomSheetSwitcher.d.ts +53 -14
  19. package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
  20. package/dist/BottomSheet/BottomSheetSwitcher.js +229 -27
  21. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +6 -0
  22. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
  23. package/dist/BottomSheet/bottomSheetEscape.d.ts +3 -0
  24. package/dist/BottomSheet/bottomSheetEscape.d.ts.map +1 -0
  25. package/dist/BottomSheet/bottomSheetEscape.js +20 -0
  26. package/dist/BottomSheet/bottomSheetStack.d.ts +262 -0
  27. package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -0
  28. package/dist/BottomSheet/bottomSheetStack.js +1652 -0
  29. package/dist/BottomSheet/useSheetGestures.d.ts +19 -3
  30. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  31. package/dist/BottomSheet/useSheetGestures.js +43 -14
  32. package/dist/Button/Button.d.ts.map +1 -1
  33. package/dist/Button/Button.js +6 -1
  34. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  35. package/dist/Chat/ChatComposer.js +12 -9
  36. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  37. package/dist/Chat/ChatComposerInput.js +55 -16
  38. package/dist/Chat/ChatMessageMetadata.js +2 -2
  39. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  40. package/dist/Chat/ChatPastedTextToken.js +7 -6
  41. package/dist/Chat/ChatToolCalls.js +4 -4
  42. package/dist/CodeBlock/CodeBlock.d.ts +17 -2
  43. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  44. package/dist/CodeBlock/CodeBlock.js +26 -8
  45. package/dist/CodeBlock/grammar.d.ts +134 -0
  46. package/dist/CodeBlock/grammar.d.ts.map +1 -0
  47. package/dist/CodeBlock/grammar.js +219 -0
  48. package/dist/CodeBlock/index.d.ts +2 -0
  49. package/dist/CodeBlock/index.d.ts.map +1 -1
  50. package/dist/CodeBlock/index.js +1 -0
  51. package/dist/CodeBlock/languages/dockerfile.d.ts +3 -0
  52. package/dist/CodeBlock/languages/dockerfile.d.ts.map +1 -0
  53. package/dist/CodeBlock/languages/dockerfile.js +45 -0
  54. package/dist/CodeBlock/languages/graphql.d.ts +3 -0
  55. package/dist/CodeBlock/languages/graphql.d.ts.map +1 -0
  56. package/dist/CodeBlock/languages/graphql.js +27 -0
  57. package/dist/CodeBlock/languages/java.d.ts +3 -0
  58. package/dist/CodeBlock/languages/java.d.ts.map +1 -0
  59. package/dist/CodeBlock/languages/java.js +24 -0
  60. package/dist/CodeBlock/languages/lua.d.ts +3 -0
  61. package/dist/CodeBlock/languages/lua.d.ts.map +1 -0
  62. package/dist/CodeBlock/languages/lua.js +21 -0
  63. package/dist/CodeBlock/languages/objective-c.d.ts +3 -0
  64. package/dist/CodeBlock/languages/objective-c.d.ts.map +1 -0
  65. package/dist/CodeBlock/languages/objective-c.js +27 -0
  66. package/dist/CodeBlock/languages/powershell.d.ts +3 -0
  67. package/dist/CodeBlock/languages/powershell.d.ts.map +1 -0
  68. package/dist/CodeBlock/languages/powershell.js +30 -0
  69. package/dist/CodeBlock/languages/ruby.d.ts +3 -0
  70. package/dist/CodeBlock/languages/ruby.d.ts.map +1 -0
  71. package/dist/CodeBlock/languages/ruby.js +24 -0
  72. package/dist/CodeBlock/languages/thrift.d.ts +3 -0
  73. package/dist/CodeBlock/languages/thrift.d.ts.map +1 -0
  74. package/dist/CodeBlock/languages/thrift.js +18 -0
  75. package/dist/CodeBlock/languages/toml.d.ts +3 -0
  76. package/dist/CodeBlock/languages/toml.d.ts.map +1 -0
  77. package/dist/CodeBlock/languages/toml.js +53 -0
  78. package/dist/CodeBlock/tokenizer.d.ts +8 -4
  79. package/dist/CodeBlock/tokenizer.d.ts.map +1 -1
  80. package/dist/CodeBlock/tokenizer.js +158 -8
  81. package/dist/Collapsible/Collapsible.d.ts +8 -1
  82. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  83. package/dist/Collapsible/Collapsible.js +84 -2
  84. package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
  85. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
  86. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  87. package/dist/ComplexSelector/ComplexSelector.js +6 -2
  88. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  89. package/dist/ContextMenu/ContextMenu.js +48 -13
  90. package/dist/DateInput/DateInput.d.ts.map +1 -1
  91. package/dist/DateInput/DateInput.js +2 -1
  92. package/dist/DateInput/NativeDateField.d.ts.map +1 -1
  93. package/dist/DateInput/NativeDateField.js +2 -1
  94. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  95. package/dist/DateInput/TouchDateField.js +2 -1
  96. package/dist/Dialog/Dialog.d.ts.map +1 -1
  97. package/dist/Dialog/Dialog.js +8 -3
  98. package/dist/Drawer/Drawer.d.ts.map +1 -1
  99. package/dist/Drawer/Drawer.js +18 -13
  100. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  101. package/dist/DropdownMenu/DropdownMenu.js +32 -20
  102. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  103. package/dist/DropdownMenu/MenuBottomSheet.d.ts +11 -4
  104. package/dist/DropdownMenu/MenuBottomSheet.d.ts.map +1 -1
  105. package/dist/DropdownMenu/MenuBottomSheet.js +35 -9
  106. package/dist/DropdownMenu/MenuBottomSheetActionList.js +3 -3
  107. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +2 -0
  108. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -1
  109. package/dist/DropdownMenu/lazyMenuBottomSheet.js +25 -3
  110. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts +23 -0
  111. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts.map +1 -0
  112. package/dist/DropdownMenu/menuBottomSheet.stylex.js +29 -0
  113. package/dist/Field/Field.js +1 -1
  114. package/dist/Field/FieldLabel.js +1 -1
  115. package/dist/Field/PanelSearchInput.d.ts +9 -1
  116. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  117. package/dist/Field/PanelSearchInput.js +20 -8
  118. package/dist/Field/inputStyles.stylex.d.ts +9 -9
  119. package/dist/Field/inputStyles.stylex.js +9 -9
  120. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  121. package/dist/FieldStatus/FieldStatus.js +7 -3
  122. package/dist/FileInput/FileInput.d.ts.map +1 -1
  123. package/dist/FileInput/FileInput.js +15 -9
  124. package/dist/Icon/Icon.d.ts +7 -3
  125. package/dist/Icon/Icon.d.ts.map +1 -1
  126. package/dist/Icon/Icon.js +14 -7
  127. package/dist/Icon/globalIconRegistry.d.ts +65 -4
  128. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  129. package/dist/Icon/globalIconRegistry.js +101 -24
  130. package/dist/Icon/index.d.ts +3 -2
  131. package/dist/Icon/index.d.ts.map +1 -1
  132. package/dist/Icon/index.js +2 -1
  133. package/dist/Icon/useIcon.d.ts +5 -1
  134. package/dist/Icon/useIcon.d.ts.map +1 -1
  135. package/dist/Icon/useIcon.js +5 -1
  136. package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
  137. package/dist/InputGroup/InputGroupText.js +2 -0
  138. package/dist/InputGroup/groupStyles.d.ts +9 -0
  139. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  140. package/dist/InputGroup/groupStyles.js +28 -14
  141. package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
  142. package/dist/Item/ItemSwipeLayer.js +3 -0
  143. package/dist/Kbd/Kbd.d.ts +2 -2
  144. package/dist/Kbd/Kbd.d.ts.map +1 -1
  145. package/dist/Kbd/Kbd.js +18 -11
  146. package/dist/Layer/modalOutlet.d.ts +43 -5
  147. package/dist/Layer/modalOutlet.d.ts.map +1 -1
  148. package/dist/Layer/modalOutlet.js +149 -13
  149. package/dist/Layer/useLayer.d.ts.map +1 -1
  150. package/dist/Layer/useLayer.js +96 -37
  151. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  152. package/dist/Lightbox/Lightbox.js +88 -81
  153. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts +2 -0
  154. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts.map +1 -0
  155. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.js +65 -0
  156. package/dist/Markdown/Markdown.d.ts +11 -1
  157. package/dist/Markdown/Markdown.d.ts.map +1 -1
  158. package/dist/Markdown/Markdown.js +23 -9
  159. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  160. package/dist/MobileNav/MobileNav.js +37 -32
  161. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  162. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  163. package/dist/MultiSelector/MultiSelector.js +15 -2
  164. package/dist/NavMenu/NavHeadingMenuItem.d.ts.map +1 -1
  165. package/dist/NavMenu/NavHeadingMenuItem.js +46 -7
  166. package/dist/NumberInput/NumberInput.d.ts +1 -1
  167. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  168. package/dist/NumberInput/NumberInput.js +10 -2
  169. package/dist/Popover/Popover.d.ts +41 -2
  170. package/dist/Popover/Popover.d.ts.map +1 -1
  171. package/dist/Popover/Popover.js +276 -44
  172. package/dist/Popover/index.d.ts +1 -1
  173. package/dist/Popover/index.d.ts.map +1 -1
  174. package/dist/Popover/lazyPopoverBottomSheet.d.ts +23 -0
  175. package/dist/Popover/lazyPopoverBottomSheet.d.ts.map +1 -0
  176. package/dist/Popover/lazyPopoverBottomSheet.js +40 -0
  177. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  178. package/dist/PowerSearch/PowerSearch.js +7 -5
  179. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  180. package/dist/ProgressBar/ProgressBar.js +8 -0
  181. package/dist/Selector/Selector.d.ts.map +1 -1
  182. package/dist/Selector/Selector.js +10 -2
  183. package/dist/SideNav/SideNavItem.d.ts +5 -1
  184. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  185. package/dist/SideNav/SideNavItem.js +36 -13
  186. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  187. package/dist/StatusDot/StatusDot.js +12 -0
  188. package/dist/Stepper/Step.d.ts.map +1 -1
  189. package/dist/Stepper/Step.js +7 -3
  190. package/dist/TabList/Tab.d.ts.map +1 -1
  191. package/dist/TabList/Tab.js +5 -1
  192. package/dist/TabList/TabMenu.d.ts.map +1 -1
  193. package/dist/TabList/TabMenu.js +1 -0
  194. package/dist/Table/TableCell.d.ts.map +1 -1
  195. package/dist/Table/TableCell.js +1 -0
  196. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  197. package/dist/Table/TableHeaderCell.js +1 -0
  198. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  199. package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -2
  200. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  201. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +103 -4
  202. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  203. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +233 -6
  204. package/dist/Table/rowDivider.d.ts +34 -0
  205. package/dist/Table/rowDivider.d.ts.map +1 -0
  206. package/dist/Table/rowDivider.js +118 -0
  207. package/dist/TextArea/TextArea.js +1 -1
  208. package/dist/TextInput/TextInput.d.ts.map +1 -1
  209. package/dist/TextInput/TextInput.js +2 -1
  210. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  211. package/dist/Thumbnail/Thumbnail.js +35 -5
  212. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  213. package/dist/TimeInput/TimeInput.js +2 -1
  214. package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
  215. package/dist/TimeInput/TouchTimeField.js +2 -1
  216. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  217. package/dist/Toast/ToastViewport.js +28 -2
  218. package/dist/Tokenizer/Tokenizer.d.ts +71 -4
  219. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  220. package/dist/Tokenizer/Tokenizer.js +418 -32
  221. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +98 -0
  222. package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -0
  223. package/dist/Tokenizer/TokenizerBottomSheet.js +721 -0
  224. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  225. package/dist/TopNav/TopNavMegaMenu.js +4 -4
  226. package/dist/TreeList/TreeList.d.ts +8 -23
  227. package/dist/TreeList/TreeList.d.ts.map +1 -1
  228. package/dist/TreeList/TreeList.js +175 -3
  229. package/dist/TreeList/TreeListItem.d.ts +7 -1
  230. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  231. package/dist/TreeList/TreeListItem.js +3 -1
  232. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  233. package/dist/Typeahead/Typeahead.js +2 -1
  234. package/dist/astryx.css +88 -23
  235. package/dist/gestures/GestureArena.d.ts +175 -0
  236. package/dist/gestures/GestureArena.d.ts.map +1 -0
  237. package/dist/gestures/GestureArena.js +816 -0
  238. package/dist/gestures/GestureRecognizer.d.ts +239 -0
  239. package/dist/gestures/GestureRecognizer.d.ts.map +1 -0
  240. package/dist/gestures/GestureRecognizer.js +487 -0
  241. package/dist/gestures/LongPressGestureRecognizer.d.ts +32 -0
  242. package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -0
  243. package/dist/gestures/LongPressGestureRecognizer.js +135 -0
  244. package/dist/gestures/PanGestureRecognizer.d.ts +117 -0
  245. package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -0
  246. package/dist/gestures/PanGestureRecognizer.js +349 -0
  247. package/dist/gestures/TapGestureRecognizer.d.ts +39 -0
  248. package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -0
  249. package/dist/gestures/TapGestureRecognizer.js +151 -0
  250. package/dist/gestures/VelocityTracker.d.ts +51 -0
  251. package/dist/gestures/VelocityTracker.d.ts.map +1 -0
  252. package/dist/gestures/VelocityTracker.js +186 -0
  253. package/dist/gestures/geometry.d.ts +17 -0
  254. package/dist/gestures/geometry.d.ts.map +1 -0
  255. package/dist/gestures/geometry.js +55 -0
  256. package/dist/gestures/types.d.ts +139 -0
  257. package/dist/gestures/types.d.ts.map +1 -0
  258. package/dist/gestures/types.js +67 -0
  259. package/dist/hooks/ModalAnnounceProvider.d.ts +41 -0
  260. package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -0
  261. package/dist/hooks/ModalAnnounceProvider.js +133 -0
  262. package/dist/hooks/actionGroupTracker.d.ts +98 -0
  263. package/dist/hooks/actionGroupTracker.d.ts.map +1 -0
  264. package/dist/hooks/actionGroupTracker.js +338 -0
  265. package/dist/hooks/index.d.ts +2 -0
  266. package/dist/hooks/index.d.ts.map +1 -1
  267. package/dist/hooks/index.js +1 -0
  268. package/dist/hooks/modalAnnounce.d.ts +18 -0
  269. package/dist/hooks/modalAnnounce.d.ts.map +1 -0
  270. package/dist/hooks/modalAnnounce.js +382 -0
  271. package/dist/hooks/useAdaptivePresentation.d.ts +8 -0
  272. package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
  273. package/dist/hooks/useAdaptivePresentation.js +27 -5
  274. package/dist/hooks/useAnimatedLayout.d.ts +42 -0
  275. package/dist/hooks/useAnimatedLayout.d.ts.map +1 -0
  276. package/dist/hooks/useAnimatedLayout.js +46 -0
  277. package/dist/hooks/useAnnounce.d.ts +114 -0
  278. package/dist/hooks/useAnnounce.d.ts.map +1 -1
  279. package/dist/hooks/useAnnounce.js +273 -10
  280. package/dist/hooks/useBusyAnnouncement.d.ts +5 -3
  281. package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
  282. package/dist/hooks/useBusyAnnouncement.js +30 -44
  283. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  284. package/dist/hooks/useFocusTrap.js +15 -8
  285. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  286. package/dist/i18n/generated-locales/en.generated.js +33 -0
  287. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  288. package/dist/i18n/generated-locales/pseudo.generated.js +33 -0
  289. package/dist/internal/tokenizer-presentation.d.ts +21 -0
  290. package/dist/internal/tokenizer-presentation.d.ts.map +1 -0
  291. package/dist/internal/tokenizer-presentation.js +21 -0
  292. package/dist/internal/touch.d.ts +26 -0
  293. package/dist/internal/touch.d.ts.map +1 -0
  294. package/dist/internal/touch.js +28 -0
  295. package/dist/motion/LayoutChangeSnapshot.d.ts +33 -0
  296. package/dist/motion/LayoutChangeSnapshot.d.ts.map +1 -0
  297. package/dist/motion/LayoutChangeSnapshot.js +37 -0
  298. package/dist/motion/animatedLayout.d.ts +94 -0
  299. package/dist/motion/animatedLayout.d.ts.map +1 -0
  300. package/dist/motion/animatedLayout.js +869 -0
  301. package/dist/motion/animator.d.ts +240 -0
  302. package/dist/motion/animator.d.ts.map +1 -0
  303. package/dist/motion/animator.js +2203 -0
  304. package/dist/motion/bezier.d.ts +18 -0
  305. package/dist/motion/bezier.d.ts.map +1 -0
  306. package/dist/motion/bezier.js +60 -0
  307. package/dist/motion/coast.d.ts +61 -0
  308. package/dist/motion/coast.d.ts.map +1 -0
  309. package/dist/motion/coast.js +107 -0
  310. package/dist/motion/decay.d.ts +41 -0
  311. package/dist/motion/decay.d.ts.map +1 -0
  312. package/dist/motion/decay.js +90 -0
  313. package/dist/motion/projection.d.ts +36 -0
  314. package/dist/motion/projection.d.ts.map +1 -0
  315. package/dist/motion/projection.js +92 -0
  316. package/dist/motion/reducedMotion.d.ts +25 -0
  317. package/dist/motion/reducedMotion.d.ts.map +1 -0
  318. package/dist/motion/reducedMotion.js +85 -0
  319. package/dist/motion/reducedMotion.stylex.d.ts +19 -0
  320. package/dist/motion/reducedMotion.stylex.d.ts.map +1 -0
  321. package/dist/motion/reducedMotion.stylex.js +37 -0
  322. package/dist/motion/reducedMotionPlan.d.ts +89 -0
  323. package/dist/motion/reducedMotionPlan.d.ts.map +1 -0
  324. package/dist/motion/reducedMotionPlan.js +194 -0
  325. package/dist/motion/resolveSnapPoint.d.ts +52 -0
  326. package/dist/motion/resolveSnapPoint.d.ts.map +1 -0
  327. package/dist/motion/resolveSnapPoint.js +135 -0
  328. package/dist/motion/roleValue.d.ts +33 -0
  329. package/dist/motion/roleValue.d.ts.map +1 -0
  330. package/dist/motion/roleValue.js +84 -0
  331. package/dist/motion/roles.d.ts +79 -0
  332. package/dist/motion/roles.d.ts.map +1 -0
  333. package/dist/motion/roles.js +199 -0
  334. package/dist/motion/rubberBand.d.ts +20 -0
  335. package/dist/motion/rubberBand.d.ts.map +1 -0
  336. package/dist/motion/rubberBand.js +91 -0
  337. package/dist/motion/selectPage.d.ts +26 -0
  338. package/dist/motion/selectPage.d.ts.map +1 -0
  339. package/dist/motion/selectPage.js +55 -0
  340. package/dist/motion/spring.d.ts +193 -0
  341. package/dist/motion/spring.d.ts.map +1 -0
  342. package/dist/motion/spring.js +442 -0
  343. package/dist/motion/uikit/gestures.d.ts +642 -0
  344. package/dist/motion/uikit/gestures.d.ts.map +1 -0
  345. package/dist/motion/uikit/gestures.js +428 -0
  346. package/dist/motion/uikit/index.d.ts +24 -0
  347. package/dist/motion/uikit/index.d.ts.map +1 -0
  348. package/dist/motion/uikit/index.js +26 -0
  349. package/dist/motion/uikit/navigation.d.ts +54 -0
  350. package/dist/motion/uikit/navigation.d.ts.map +1 -0
  351. package/dist/motion/uikit/navigation.js +83 -0
  352. package/dist/motion/uikit/scroll.d.ts +116 -0
  353. package/dist/motion/uikit/scroll.d.ts.map +1 -0
  354. package/dist/motion/uikit/scroll.js +146 -0
  355. package/dist/motion/uikit/springs.d.ts +545 -0
  356. package/dist/motion/uikit/springs.d.ts.map +1 -0
  357. package/dist/motion/uikit/springs.js +548 -0
  358. package/dist/motion/uikit/timing.d.ts +202 -0
  359. package/dist/motion/uikit/timing.d.ts.map +1 -0
  360. package/dist/motion/uikit/timing.js +201 -0
  361. package/dist/theme/declarationBoundary.d.ts +13 -0
  362. package/dist/theme/declarationBoundary.d.ts.map +1 -1
  363. package/dist/theme/declarationBoundary.js +264 -1
  364. package/dist/theme/defineTheme.d.ts +35 -5
  365. package/dist/theme/defineTheme.d.ts.map +1 -1
  366. package/dist/theme/defineTheme.js +31 -5
  367. package/dist/theme/generateThemeRules.d.ts +6 -2
  368. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  369. package/dist/theme/generateThemeRules.js +468 -24
  370. package/dist/theme/statusColor.d.ts +48 -0
  371. package/dist/theme/statusColor.d.ts.map +1 -0
  372. package/dist/theme/statusColor.js +203 -0
  373. package/dist/theme/statusRoleDerivation.d.ts +11 -0
  374. package/dist/theme/statusRoleDerivation.d.ts.map +1 -0
  375. package/dist/theme/statusRoleDerivation.js +236 -0
  376. package/dist/theme/tokens.d.ts.map +1 -1
  377. package/dist/theme/tokens.js +16 -1
  378. package/dist/theme/tokens.stylex.d.ts +40 -2
  379. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  380. package/dist/theme/tokens.stylex.js +47 -2
  381. package/dist/theme/useTheme.d.ts +4 -2
  382. package/dist/theme/useTheme.d.ts.map +1 -1
  383. package/dist/theme/useTheme.js +10 -4
  384. package/dist/utils/hitArea.d.ts +72 -0
  385. package/dist/utils/hitArea.d.ts.map +1 -0
  386. package/dist/utils/hitArea.js +681 -0
  387. package/locales/af-ZA.json +1 -1
  388. package/locales/ar-SA.json +1 -1
  389. package/locales/ca-ES.json +1 -1
  390. package/locales/cs-CZ.json +1 -1
  391. package/locales/da-DK.json +1 -1
  392. package/locales/de-DE.json +1 -1
  393. package/locales/el-GR.json +1 -1
  394. package/locales/en.json +132 -0
  395. package/locales/es-ES.json +1 -1
  396. package/locales/fi-FI.json +1 -1
  397. package/locales/fr-FR.json +1 -1
  398. package/locales/he-IL.json +1 -1
  399. package/locales/hu-HU.json +1 -1
  400. package/locales/it-IT.json +1 -1
  401. package/locales/ja-JP.json +1 -1
  402. package/locales/ko-KR.json +1 -1
  403. package/locales/nl-NL.json +1 -1
  404. package/locales/no-NO.json +1 -1
  405. package/locales/pl-PL.json +1 -1
  406. package/locales/pseudo.json +99 -0
  407. package/locales/pt-BR.json +1 -1
  408. package/locales/pt-PT.json +1 -1
  409. package/locales/ro-RO.json +1 -1
  410. package/locales/ru-RU.json +1 -1
  411. package/locales/sr-SP.json +1 -1
  412. package/locales/sv-SE.json +1 -1
  413. package/locales/tr-TR.json +1 -1
  414. package/locales/uk-UA.json +1 -1
  415. package/locales/vi-VN.json +1 -1
  416. package/locales/zh-CN.json +1 -1
  417. package/locales/zh-TW.json +1 -1
  418. package/package.json +58 -3
  419. package/src/AlertDialog/AlertDialog.tsx +1 -1
  420. package/src/AppShell/AppShell.spec.md +52 -44
  421. package/src/AspectRatio/AspectRatio.spec.md +179 -0
  422. package/src/Avatar/AvatarStatusDot.spec.md +2 -5
  423. package/src/Avatar/AvatarStatusDot.test.tsx +22 -0
  424. package/src/Avatar/AvatarStatusDot.tsx +2 -2
  425. package/src/AvatarGroup/AvatarGroup.spec.md +205 -0
  426. package/src/AvatarGroup/AvatarGroupOverflow.spec.md +123 -120
  427. package/src/Badge/Badge.spec.md +1 -1
  428. package/src/Badge/Badge.test.tsx +13 -0
  429. package/src/Badge/Badge.tsx +38 -2
  430. package/src/Banner/Banner.spec.md +12 -12
  431. package/src/Banner/Banner.test.tsx +118 -16
  432. package/src/Banner/Banner.tsx +94 -7
  433. package/src/Blockquote/Blockquote.spec.md +171 -0
  434. package/src/BottomSheet/BottomSheet.doc.mjs +106 -24
  435. package/src/BottomSheet/BottomSheet.spec.md +258 -46
  436. package/src/BottomSheet/BottomSheet.test.tsx +491 -5
  437. package/src/BottomSheet/BottomSheet.tsx +540 -152
  438. package/src/BottomSheet/BottomSheetHostContext.ts +44 -0
  439. package/src/BottomSheet/BottomSheetPanel.test.tsx +21 -10
  440. package/src/BottomSheet/BottomSheetPanel.tsx +166 -57
  441. package/src/BottomSheet/BottomSheetReplace.test.tsx +1526 -0
  442. package/src/BottomSheet/BottomSheetStacking.announce.test.tsx +246 -0
  443. package/src/BottomSheet/BottomSheetStacking.test.tsx +3184 -0
  444. package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +27 -31
  445. package/src/BottomSheet/BottomSheetSwitcher.spec.md +131 -40
  446. package/src/BottomSheet/BottomSheetSwitcher.tsx +275 -26
  447. package/src/BottomSheet/BottomSheetSwitcherContext.ts +6 -0
  448. package/src/BottomSheet/bottomSheetEscape.ts +21 -0
  449. package/src/BottomSheet/bottomSheetStack.ts +2031 -0
  450. package/src/BottomSheet/useSheetGestures.ts +68 -12
  451. package/src/Breadcrumbs/BreadcrumbItem.spec.md +96 -59
  452. package/src/Breadcrumbs/Breadcrumbs.spec.md +165 -0
  453. package/src/Button/Button.spec.md +30 -28
  454. package/src/Button/Button.test.tsx +1 -1
  455. package/src/Button/Button.tsx +23 -2
  456. package/src/Chat/ChatComposer.test.tsx +32 -0
  457. package/src/Chat/ChatComposer.tsx +24 -4
  458. package/src/Chat/ChatComposerInput.test.tsx +165 -21
  459. package/src/Chat/ChatComposerInput.tsx +73 -16
  460. package/src/Chat/ChatMessageMetadata.tsx +1 -1
  461. package/src/Chat/ChatPastedTextToken.test.tsx +71 -0
  462. package/src/Chat/ChatPastedTextToken.tsx +8 -7
  463. package/src/Chat/ChatToolCalls.tsx +5 -5
  464. package/src/CheckboxInput/CheckboxInput.spec.md +97 -66
  465. package/src/CheckboxList/CheckboxList.spec.md +92 -78
  466. package/src/CheckboxList/CheckboxListItem.spec.md +86 -60
  467. package/src/Code/Code.spec.md +30 -32
  468. package/src/CodeBlock/CodeBlock.doc.mjs +5 -4
  469. package/src/CodeBlock/CodeBlock.spec.md +48 -45
  470. package/src/CodeBlock/CodeBlock.tsx +66 -15
  471. package/src/CodeBlock/CodeLanguage.test.tsx +173 -0
  472. package/src/CodeBlock/__tests__/CodeBlockLanguages.a11y.chromium.spec.ts +64 -0
  473. package/src/CodeBlock/grammar.ts +291 -0
  474. package/src/CodeBlock/index.ts +7 -0
  475. package/src/CodeBlock/languages/dockerfile.ts +43 -0
  476. package/src/CodeBlock/languages/graphql.ts +30 -0
  477. package/src/CodeBlock/languages/java.ts +28 -0
  478. package/src/CodeBlock/languages/lua.ts +21 -0
  479. package/src/CodeBlock/languages/objective-c.ts +26 -0
  480. package/src/CodeBlock/languages/powershell.ts +31 -0
  481. package/src/CodeBlock/languages/ruby.ts +29 -0
  482. package/src/CodeBlock/languages/thrift.ts +32 -0
  483. package/src/CodeBlock/languages/toml.ts +36 -0
  484. package/src/CodeBlock/languages.test.ts +402 -0
  485. package/src/CodeBlock/tokenizer.ts +176 -16
  486. package/src/CodeBlock/tokenizerBudget.test.ts +112 -0
  487. package/src/Collapsible/Collapsible.doc.mjs +6 -0
  488. package/src/Collapsible/Collapsible.spec.md +26 -23
  489. package/src/Collapsible/Collapsible.tsx +121 -2
  490. package/src/CommandPalette/CommandPalette.perf.test.ts +8 -4
  491. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +6 -3
  492. package/src/CommandPalette/CommandPaletteEmpty.spec.md +190 -0
  493. package/src/CommandPalette/CommandPaletteEmpty.tsx +4 -0
  494. package/src/CommandPalette/__tests__/CommandPaletteEmptyAudit.a11y.chromium.spec.ts +715 -0
  495. package/src/ComplexSelector/ComplexSelector.spec.md +1 -1
  496. package/src/ComplexSelector/ComplexSelector.test.tsx +43 -0
  497. package/src/ComplexSelector/ComplexSelector.tsx +7 -1
  498. package/src/ContextMenu/ContextMenu.spec.md +30 -26
  499. package/src/ContextMenu/ContextMenu.test.tsx +187 -10
  500. package/src/ContextMenu/ContextMenu.tsx +75 -17
  501. package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
  502. package/src/DateInput/DateInput.tsx +2 -1
  503. package/src/DateInput/DateInputTouch.test.tsx +1 -1
  504. package/src/DateInput/NativeDateField.tsx +2 -1
  505. package/src/DateInput/TouchDateField.tsx +2 -1
  506. package/src/Dialog/Dialog.tsx +6 -3
  507. package/src/Divider/Divider.spec.md +79 -70
  508. package/src/Drawer/Drawer.tsx +38 -35
  509. package/src/DropdownMenu/DropdownMenu.spec.md +3 -1
  510. package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +44 -8
  511. package/src/DropdownMenu/DropdownMenu.test.tsx +35 -3
  512. package/src/DropdownMenu/DropdownMenu.tsx +47 -21
  513. package/src/DropdownMenu/DropdownMenuItem.tsx +5 -5
  514. package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +72 -0
  515. package/src/DropdownMenu/MenuBottomSheet.tsx +42 -7
  516. package/src/DropdownMenu/MenuBottomSheetActionList.tsx +3 -3
  517. package/src/DropdownMenu/lazyMenuBottomSheet.ts +28 -2
  518. package/src/DropdownMenu/menuBottomSheet.stylex.ts +33 -0
  519. package/src/DropdownMenu/modules/useMenuPress.spec.md +71 -48
  520. package/src/Field/Field.tsx +1 -1
  521. package/src/Field/FieldLabel.tsx +1 -1
  522. package/src/Field/PanelSearchInput.tsx +11 -0
  523. package/src/Field/inputStyles.stylex.ts +15 -15
  524. package/src/FieldStatus/FieldStatus.test.tsx +12 -0
  525. package/src/FieldStatus/FieldStatus.tsx +12 -3
  526. package/src/FileInput/FileInput.test.tsx +78 -0
  527. package/src/FileInput/FileInput.tsx +11 -9
  528. package/src/Heading/Heading.spec.md +198 -0
  529. package/src/Icon/Icon.doc.mjs +12 -2
  530. package/src/Icon/Icon.test.tsx +146 -1
  531. package/src/Icon/Icon.tsx +11 -7
  532. package/src/Icon/globalIconRegistry.test.tsx +275 -3
  533. package/src/Icon/globalIconRegistry.tsx +124 -36
  534. package/src/Icon/index.ts +4 -1
  535. package/src/Icon/useIcon.ts +5 -1
  536. package/src/InputGroup/InputGroup.spec.md +199 -0
  537. package/src/InputGroup/InputGroupText.spec.md +139 -0
  538. package/src/InputGroup/InputGroupText.tsx +2 -0
  539. package/src/InputGroup/groupStyles.ts +22 -11
  540. package/src/Item/ItemSwipeLayer.tsx +9 -0
  541. package/src/Kbd/Kbd.test.tsx +95 -0
  542. package/src/Kbd/Kbd.tsx +30 -23
  543. package/src/Layer/layerDismissalInvariants.test.tsx +9 -0
  544. package/src/Layer/modalOutlet.ts +155 -14
  545. package/src/Layer/useLayer.doc.mjs +1 -1
  546. package/src/Layer/useLayer.test.tsx +109 -1
  547. package/src/Layer/useLayer.tsx +110 -41
  548. package/src/Lightbox/Lightbox.test.tsx +15 -0
  549. package/src/Lightbox/Lightbox.tsx +126 -118
  550. package/src/Lightbox/LightboxViewport.a11y.browser.spec.ts +70 -0
  551. package/src/Link/Link.spec.md +229 -0
  552. package/src/Link/LinkProvider.spec.md +167 -0
  553. package/src/List/List.spec.md +90 -33
  554. package/src/Markdown/Markdown.codeLanguages.test.tsx +137 -0
  555. package/src/Markdown/Markdown.doc.mjs +12 -0
  556. package/src/Markdown/Markdown.spec.md +56 -51
  557. package/src/Markdown/Markdown.tsx +32 -2
  558. package/src/MobileNav/MobileNav.spec.md +161 -64
  559. package/src/MobileNav/MobileNav.tsx +41 -35
  560. package/src/MoreMenu/MoreMenu.spec.md +88 -53
  561. package/src/MultiSelector/MultiSelector.test.tsx +97 -0
  562. package/src/MultiSelector/MultiSelector.tsx +18 -2
  563. package/src/NavIcon/NavIcon.spec.md +66 -38
  564. package/src/NavMenu/NavHeadingMenu.spec.md +100 -44
  565. package/src/NavMenu/NavHeadingMenu.test.tsx +199 -1
  566. package/src/NavMenu/NavHeadingMenuItem.tsx +54 -6
  567. package/src/NumberInput/NumberInput.spec.md +248 -0
  568. package/src/NumberInput/NumberInput.test.tsx +43 -0
  569. package/src/NumberInput/NumberInput.tsx +13 -2
  570. package/src/Popover/Popover.doc.mjs +38 -2
  571. package/src/Popover/Popover.spec.md +71 -11
  572. package/src/Popover/Popover.test.tsx +95 -0
  573. package/src/Popover/Popover.tsx +401 -35
  574. package/src/Popover/PopoverPresentation.test.tsx +952 -0
  575. package/src/Popover/index.ts +5 -1
  576. package/src/Popover/lazyPopoverBottomSheet.ts +57 -0
  577. package/src/PowerSearch/PowerSearch.spec.md +423 -53
  578. package/src/PowerSearch/PowerSearch.test.tsx +32 -1
  579. package/src/PowerSearch/PowerSearch.tsx +7 -5
  580. package/src/ProgressBar/ProgressBar.test.tsx +12 -0
  581. package/src/ProgressBar/ProgressBar.tsx +18 -0
  582. package/src/Selector/Selector.test.tsx +47 -0
  583. package/src/Selector/Selector.tsx +13 -2
  584. package/src/SideNav/SideNav.spec.md +51 -30
  585. package/src/SideNav/SideNav.test.tsx +219 -17
  586. package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
  587. package/src/SideNav/SideNavHeading.spec.md +219 -0
  588. package/src/SideNav/SideNavItem.spec.md +246 -0
  589. package/src/SideNav/SideNavItem.tsx +40 -9
  590. package/src/SideNav/SideNavSection.spec.md +153 -0
  591. package/src/Skeleton/Skeleton.spec.md +7 -7
  592. package/src/Spinner/Spinner.spec.md +10 -10
  593. package/src/StatusDot/StatusDot.spec.md +24 -28
  594. package/src/StatusDot/StatusDot.test.tsx +13 -0
  595. package/src/StatusDot/StatusDot.tsx +27 -0
  596. package/src/Stepper/Step.spec.md +206 -0
  597. package/src/Stepper/Step.tsx +12 -3
  598. package/src/Stepper/Stepper.test.tsx +17 -0
  599. package/src/TabList/Tab.spec.md +201 -0
  600. package/src/TabList/Tab.tsx +7 -1
  601. package/src/TabList/TabMenu.spec.md +196 -0
  602. package/src/TabList/TabMenu.tsx +2 -0
  603. package/src/TabList/__tests__/TabListOverflow.interaction.browser.spec.ts +99 -0
  604. package/src/Table/Table.spec.md +51 -31
  605. package/src/Table/TableCell.tsx +6 -0
  606. package/src/Table/TableHeaderCell.tsx +2 -0
  607. package/src/Table/__tests__/TableStickyDividers.a11y.browser.spec.ts +560 -0
  608. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +23 -8
  609. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +91 -9
  610. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +120 -5
  611. package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +51 -1
  612. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +291 -12
  613. package/src/Table/rowDivider.ts +154 -0
  614. package/src/Text/Text.spec.md +114 -127
  615. package/src/TextArea/TextArea.spec.md +164 -64
  616. package/src/TextArea/TextArea.tsx +1 -1
  617. package/src/TextInput/TextInput.spec.md +258 -0
  618. package/src/TextInput/TextInput.tsx +2 -1
  619. package/src/Thumbnail/Thumbnail.spec.md +244 -0
  620. package/src/Thumbnail/Thumbnail.test.tsx +109 -6
  621. package/src/Thumbnail/Thumbnail.tsx +34 -4
  622. package/src/TimeInput/TimeInput.spec.md +273 -0
  623. package/src/TimeInput/TimeInput.tsx +2 -1
  624. package/src/TimeInput/TouchTimeField.tsx +2 -1
  625. package/src/Timestamp/Timestamp.spec.md +252 -0
  626. package/src/Toast/ToastViewport.modalHost.test.tsx +496 -6
  627. package/src/Toast/ToastViewport.tsx +27 -2
  628. package/src/Tokenizer/Tokenizer.props-type.test.tsx +126 -0
  629. package/src/Tokenizer/Tokenizer.spec.md +312 -71
  630. package/src/Tokenizer/Tokenizer.ssr.test.tsx +196 -0
  631. package/src/Tokenizer/Tokenizer.tsx +573 -25
  632. package/src/Tokenizer/TokenizerBottomSheet.test.tsx +2719 -0
  633. package/src/Tokenizer/TokenizerBottomSheet.tsx +957 -0
  634. package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +60 -27
  635. package/src/Toolbar/Toolbar.spec.md +101 -48
  636. package/src/TopNav/TopNavItem.spec.md +31 -23
  637. package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +83 -0
  638. package/src/TopNav/TopNavMegaMenu.tsx +21 -4
  639. package/src/TreeList/TreeList.doc.mjs +13 -0
  640. package/src/TreeList/TreeList.spec.md +51 -35
  641. package/src/TreeList/TreeList.tsx +234 -2
  642. package/src/TreeList/TreeListItem.tsx +12 -2
  643. package/src/Typeahead/Typeahead.tsx +2 -1
  644. package/src/VisuallyHidden/VisuallyHidden.spec.md +170 -0
  645. package/src/__tests__/BusyOwnerAnnouncement.test.tsx +7 -5
  646. package/src/gestures/GestureArena.ts +966 -0
  647. package/src/gestures/GestureRecognizer.ts +626 -0
  648. package/src/gestures/LongPressGestureRecognizer.ts +186 -0
  649. package/src/gestures/PanGestureRecognizer.ts +410 -0
  650. package/src/gestures/TapGestureRecognizer.ts +192 -0
  651. package/src/gestures/VelocityTracker.ts +194 -0
  652. package/src/gestures/__tests__/LongPressGestureRecognizer.test.ts +141 -0
  653. package/src/gestures/__tests__/PanGestureRecognizer.test.ts +327 -0
  654. package/src/gestures/__tests__/TapGestureRecognizer.test.ts +154 -0
  655. package/src/gestures/__tests__/VelocityTracker.test.ts +261 -0
  656. package/src/gestures/__tests__/arena.test.ts +824 -0
  657. package/src/gestures/__tests__/arenaContinuous.test.ts +207 -0
  658. package/src/gestures/__tests__/arenaTapLongPress.test.ts +211 -0
  659. package/src/gestures/__tests__/harness.ts +204 -0
  660. package/src/gestures/geometry.ts +55 -0
  661. package/src/gestures/types.ts +161 -0
  662. package/src/hooks/ModalAnnounceProvider.tsx +155 -0
  663. package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +97 -4
  664. package/src/hooks/actionGroupTracker.exports.test.ts +28 -0
  665. package/src/hooks/actionGroupTracker.test.ts +510 -0
  666. package/src/hooks/actionGroupTracker.ts +449 -0
  667. package/src/hooks/index.ts +6 -0
  668. package/src/hooks/modalAnnounce.ts +439 -0
  669. package/src/hooks/useAdaptivePresentation.ts +36 -6
  670. package/src/hooks/useAnimatedLayout.doc.mjs +101 -0
  671. package/src/hooks/useAnimatedLayout.ts +61 -0
  672. package/src/hooks/useAnnounce.doc.mjs +4 -4
  673. package/src/hooks/useAnnounce.modal.test.tsx +1291 -0
  674. package/src/hooks/useAnnounce.ts +362 -10
  675. package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +22 -0
  676. package/src/hooks/useBusyAnnouncement.ts +29 -50
  677. package/src/hooks/useFocusTrap.doc.mjs +3 -3
  678. package/src/hooks/useFocusTrap.test.tsx +64 -0
  679. package/src/hooks/useFocusTrap.ts +15 -8
  680. package/src/i18n/generated-locales/en.generated.ts +35 -0
  681. package/src/i18n/generated-locales/pseudo.generated.ts +37 -0
  682. package/src/internal/tokenizer-presentation.test.ts +29 -0
  683. package/src/internal/tokenizer-presentation.ts +25 -0
  684. package/src/internal/touch.test.ts +44 -0
  685. package/src/internal/touch.ts +41 -0
  686. package/src/motion/LayoutChangeSnapshot.tsx +50 -0
  687. package/src/motion/MEASUREMENTS.md +271 -0
  688. package/src/motion/README.md +218 -0
  689. package/src/motion/__tests__/animatedLayout.interaction.browser.spec.ts +1041 -0
  690. package/src/motion/__tests__/animatedLayoutAdopters.interaction.browser.spec.ts +217 -0
  691. package/src/motion/__tests__/animatedLayoutBundle.ts +17 -0
  692. package/src/motion/animatedLayout.boundary.test.ts +133 -0
  693. package/src/motion/animatedLayout.test.ts +714 -0
  694. package/src/motion/animatedLayout.ts +1015 -0
  695. package/src/motion/animatedLayoutAdopters.test.tsx +500 -0
  696. package/src/motion/animator.test.ts +2653 -0
  697. package/src/motion/animator.ts +2794 -0
  698. package/src/motion/bezier.test.ts +52 -0
  699. package/src/motion/bezier.ts +64 -0
  700. package/src/motion/coast.test.ts +99 -0
  701. package/src/motion/coast.ts +150 -0
  702. package/src/motion/decay.test.ts +120 -0
  703. package/src/motion/decay.ts +126 -0
  704. package/src/motion/projection.test.ts +107 -0
  705. package/src/motion/projection.ts +116 -0
  706. package/src/motion/reducedMotion.stylex.ts +41 -0
  707. package/src/motion/reducedMotion.test.ts +129 -0
  708. package/src/motion/reducedMotion.ts +94 -0
  709. package/src/motion/reducedMotionPlan.test.ts +182 -0
  710. package/src/motion/reducedMotionPlan.ts +263 -0
  711. package/src/motion/resolveSnapPoint.test.ts +189 -0
  712. package/src/motion/resolveSnapPoint.ts +169 -0
  713. package/src/motion/roleValue.ts +105 -0
  714. package/src/motion/roles.test.ts +256 -0
  715. package/src/motion/roles.ts +262 -0
  716. package/src/motion/rubberBand.test.ts +88 -0
  717. package/src/motion/rubberBand.ts +115 -0
  718. package/src/motion/selectPage.test.ts +31 -0
  719. package/src/motion/selectPage.ts +55 -0
  720. package/src/motion/spring.test.ts +650 -0
  721. package/src/motion/spring.ts +551 -0
  722. package/src/motion/uikit/gestures.test.ts +89 -0
  723. package/src/motion/uikit/gestures.ts +359 -0
  724. package/src/motion/uikit/index.ts +80 -0
  725. package/src/motion/uikit/navigation.ts +83 -0
  726. package/src/motion/uikit/scroll.ts +141 -0
  727. package/src/motion/uikit/springRows.test.ts +71 -0
  728. package/src/motion/uikit/springs.ts +514 -0
  729. package/src/motion/uikit/timing.ts +210 -0
  730. package/src/motion/uikit/uikit.test.ts +364 -0
  731. package/src/motion/uikit/values.test.ts +110 -0
  732. package/src/tailwind-theme.css +51 -1
  733. package/src/tailwind-theme.test.ts +51 -0
  734. package/src/theme/Theme.test.tsx +28 -0
  735. package/src/theme/declarationBoundary.ts +282 -1
  736. package/src/theme/defineTheme.test.ts +349 -10
  737. package/src/theme/defineTheme.ts +71 -10
  738. package/src/theme/derivedVarRegistry.test.ts +4 -0
  739. package/src/theme/expandMotionScale.test.ts +17 -0
  740. package/src/theme/generateThemeRules.ts +772 -35
  741. package/src/theme/onMediaTokens.test.ts +186 -0
  742. package/src/theme/statusColor.ts +189 -0
  743. package/src/theme/statusRoleDerivation.ts +289 -0
  744. package/src/theme/themeAdaptations.test.ts +375 -0
  745. package/src/theme/tokens.stylex.ts +31 -2
  746. package/src/theme/tokens.test.ts +36 -1
  747. package/src/theme/tokens.ts +23 -1
  748. package/src/theme/useTheme.ts +10 -4
  749. package/src/utils/hitArea.test.ts +628 -0
  750. package/src/utils/hitArea.ts +770 -0
package/README.md CHANGED
@@ -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 = {
@@ -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
  })]
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @file BottomSheet.tsx
3
- * @input Uses React, StyleX, core hooks, shared layer dismissal, the modal outlet registry, the shared interaction modality, named BottomSheetPanel, BottomSheetSwitcherContext
3
+ * @input Uses React, StyleX, core hooks, shared layer dismissal, the modal outlet registry, the shared interaction modality, named BottomSheetPanel, BottomSheetSwitcherContext, BottomSheetHostContext, the private bottom-sheet stack registry
4
4
  * @output Exports BottomSheet component and BottomSheetProps
5
5
  * @position Public BottomSheet router plus private standalone/switcher hosts
6
6
  *
@@ -19,24 +19,57 @@
19
19
  * scroll is locked by the shared useScrollLock hook, as for Dialog: a
20
20
  * standalone sheet holds it while presented, a switcher holds one for the
21
21
  * whole modal flow. The remaining script is what no single dialog can
22
- * decide: gating `cancel` by `purpose` and the shared dismissal stack, and,
23
- * in a switcher, handing one scrim between two dialogs and keeping focus in
24
- * the active sheet when a retained dialog closes.
22
+ * decide: gating `cancel` by `purpose` and the shared dismissal stack, the
23
+ * stack of sheets below, and, in a switcher, handing one scrim between two
24
+ * dialogs and keeping focus in the active sheet when a retained dialog
25
+ * closes.
25
26
  *
26
- * While a standalone modal sheet is open, its dialog is the outlet that
27
- * app-global surfaces (toasts) render into (Layer/modalOutlet.ts).
27
+ * A standalone sheet also joins the private bottom-sheet stack
28
+ * (bottomSheetStack.ts) while it is presented. The stack is behaviour, not
29
+ * API: a modal sheet opened while another modal sheet is open stacks on top
30
+ * of it, the covered sheet recedes and is blocked, one scrim stays visible,
31
+ * and the native top layer is kept in open order even when several sheets
32
+ * open in one commit. A sheet rendered in another sheet's content leaves
33
+ * with its host and returns with it while its own `isOpen` is still true;
34
+ * its state is never written for it. A modal sheet on its own never
35
+ * notices the stack; when every sheet of a stack closes in one update, the
36
+ * registry returns focus once, to the bottom sheet's target, after the last
37
+ * dialog has closed.
38
+ *
39
+ * A standalone sheet closing in the same update as another standalone sheet
40
+ * opens, at the same level and from a control inside the closing sheet, is
41
+ * replaced by it: the two run the handoff a BottomSheetSwitcher runs between
42
+ * its steps (entering sheet above, retained sheet aligning down then fading,
43
+ * one steady scrim, focus into the new sheet and back to the flow's opener
44
+ * on close). The registry pairs them and drives the handoff; this host
45
+ * renders the retained panel state it reports, and reports its panel's
46
+ * motions back. Non-modal sheets (`hasScrim={false}`) are hosted as manual
47
+ * popovers so the top layer orders them, with `show()` below the Popover API
48
+ * floor; they never stack, but they replace each other the same way, and
49
+ * return focus to their opener on close only while the person is still in
50
+ * them.
51
+ *
52
+ * Every open standalone modal sheet supplies its dialog as an outlet for
53
+ * app-global surfaces (toasts) (Layer/modalOutlet.ts); the latest outlet,
54
+ * the one they render into, follows the sheet stack's order, so toasts land
55
+ * in the top sheet and return to the sheet beneath when it closes.
28
56
  *
29
57
  * SYNC: When modified, update these files to stay in sync:
30
58
  * - /packages/core/src/BottomSheet/BottomSheetPanel.tsx
31
59
  * - /packages/core/src/BottomSheet/BottomSheetEdgeTint.tsx
60
+ * - /packages/core/src/BottomSheet/BottomSheetHostContext.ts
61
+ * - /packages/core/src/BottomSheet/bottomSheetStack.ts
32
62
  * - /packages/core/src/BottomSheet/BottomSheet.doc.mjs
33
63
  * - /packages/core/src/BottomSheet/BottomSheet.test.tsx
64
+ * - /packages/core/src/BottomSheet/BottomSheetStacking.test.tsx
34
65
  * - /packages/core/src/BottomSheet/BottomSheetSwitcher.tsx
35
66
  * - /packages/core/src/BottomSheet/BottomSheetSwitcher.test.tsx
36
67
  * - /packages/core/src/Layer/layerDismissalFamilies.test.tsx
37
68
  * - /packages/core/src/Layer/layerDismissalInvariants.test.tsx
38
69
  * - /packages/core/src/Toast/ToastViewport.modalHost.test.tsx
39
70
  * - /apps/storybook/stories/BottomSheet.stories.tsx
71
+ * - /apps/storybook/stories/BottomSheetStacking.stories.tsx
72
+ * - /apps/storybook/stories/BottomSheetReplace.stories.tsx
40
73
  * - /packages/cli/assets/templates/blocks/components/BottomSheet/BottomSheetShowcase.tsx
41
74
  */
42
75
  import { type RefObject, type ReactNode } from 'react';
@@ -86,11 +119,22 @@ interface StandaloneBottomSheetProps extends BottomSheetSharedProps {
86
119
  isOpen: boolean;
87
120
  onOpenChange: (isOpen: boolean) => void;
88
121
  hasScrim?: boolean;
89
- /** Element that receives focus after the sheet closes. */
122
+ /**
123
+ * Element that receives focus after the sheet closes. For a sheet on its
124
+ * own, or the last sheet of a stack, it is always focused, wherever focus
125
+ * was. When the sheet closes with a modal sheet still open beneath it,
126
+ * focus returns into that sheet instead (to this element if it is inside
127
+ * it, else the revealed sheet's panel), because the page is still inert.
128
+ */
90
129
  finalFocusRef?: RefObject<HTMLElement | null>;
91
130
  sheetId?: never;
92
131
  }
93
132
  interface SwitcherBottomSheetProps extends BottomSheetSharedProps {
133
+ /**
134
+ * @deprecated `BottomSheetSwitcher` is deprecated; give each step its own
135
+ * standalone sheet with `isOpen` instead. Keeps working until a future
136
+ * minor release removes the switcher.
137
+ */
94
138
  sheetId: string;
95
139
  isOpen?: never;
96
140
  onOpenChange?: never;
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAqBhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AA2FhF,UAAU,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,wGAAwG;IACxG,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAC1B,0BAA0B,GAAG,wBAAwB,CAAC;AAukBxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AAEH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAsDhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAsJhF,UAAU,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,wGAAwG;IACxG,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAC1B,0BAA0B,GAAG,wBAAwB,CAAC;AAm0BxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}