@astryxdesign/core 0.7.5-canary.577e8ca → 0.7.5-canary.6322d94

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 (416) hide show
  1. package/dist/Button/Button.d.ts.map +1 -1
  2. package/dist/Button/Button.js +7 -3
  3. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  4. package/dist/Chat/ChatComposer.js +13 -23
  5. package/dist/ComplexSelector/ComplexSelector.d.ts +1 -1
  6. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  7. package/dist/ComplexSelector/ComplexSelector.js +17 -1
  8. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  9. package/dist/ContextMenu/ContextMenu.js +48 -13
  10. package/dist/DateInput/DateInput.d.ts.map +1 -1
  11. package/dist/DateInput/DateInput.js +12 -5
  12. package/dist/DateInput/NativeDateField.d.ts.map +1 -1
  13. package/dist/DateInput/NativeDateField.js +2 -1
  14. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  15. package/dist/DateInput/TouchDateField.js +2 -1
  16. package/dist/Dialog/Dialog.d.ts +4 -0
  17. package/dist/Dialog/Dialog.d.ts.map +1 -1
  18. package/dist/Dialog/Dialog.js +12 -5
  19. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  20. package/dist/DropdownMenu/DropdownMenu.js +32 -20
  21. package/dist/DropdownMenu/MenuBottomSheet.d.ts +11 -4
  22. package/dist/DropdownMenu/MenuBottomSheet.d.ts.map +1 -1
  23. package/dist/DropdownMenu/MenuBottomSheet.js +35 -9
  24. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +2 -0
  25. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -1
  26. package/dist/DropdownMenu/lazyMenuBottomSheet.js +25 -3
  27. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts +23 -0
  28. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts.map +1 -0
  29. package/dist/DropdownMenu/menuBottomSheet.stylex.js +29 -0
  30. package/dist/DropdownMenu/useMenuDrillIn.d.ts.map +1 -1
  31. package/dist/DropdownMenu/useMenuDrillIn.js +7 -5
  32. package/dist/EmptyState/EmptyState.d.ts +4 -2
  33. package/dist/EmptyState/EmptyState.d.ts.map +1 -1
  34. package/dist/EmptyState/EmptyState.js +6 -4
  35. package/dist/InputGroup/InputGroup.d.ts +1 -1
  36. package/dist/InputGroup/InputGroup.d.ts.map +1 -1
  37. package/dist/InputGroup/InputGroup.js +46 -36
  38. package/dist/InputGroup/InputGroupInternalContext.d.ts +4 -0
  39. package/dist/InputGroup/InputGroupInternalContext.d.ts.map +1 -0
  40. package/dist/InputGroup/InputGroupInternalContext.js +15 -0
  41. package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
  42. package/dist/InputGroup/InputGroupText.js +2 -0
  43. package/dist/InputGroup/groupStyles.d.ts +9 -0
  44. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  45. package/dist/InputGroup/groupStyles.js +28 -14
  46. package/dist/Layer/layerAnimations.stylex.d.ts +9 -5
  47. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  48. package/dist/Layer/layerAnimations.stylex.js +23 -10
  49. package/dist/Layer/layerSlideRules.d.ts +62 -2
  50. package/dist/Layer/layerSlideRules.d.ts.map +1 -1
  51. package/dist/Layer/layerSlideRules.js +124 -3
  52. package/dist/Layer/layerStack.d.ts +12 -9
  53. package/dist/Layer/layerStack.d.ts.map +1 -1
  54. package/dist/Layer/layerStack.js +116 -53
  55. package/dist/Layer/preserveAnimations.d.ts +11 -0
  56. package/dist/Layer/preserveAnimations.d.ts.map +1 -0
  57. package/dist/Layer/preserveAnimations.js +245 -0
  58. package/dist/Layer/useLayer.d.ts +19 -2
  59. package/dist/Layer/useLayer.d.ts.map +1 -1
  60. package/dist/Layer/useLayer.js +408 -10
  61. package/dist/Layer/useLayerDismissal.d.ts +10 -7
  62. package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
  63. package/dist/Layer/useLayerDismissal.js +8 -8
  64. package/dist/Layout/Layout.d.ts.map +1 -1
  65. package/dist/Layout/Layout.js +4 -0
  66. package/dist/Layout/LayoutContent.d.ts.map +1 -1
  67. package/dist/Layout/LayoutContent.js +2 -2
  68. package/dist/Layout/LayoutFooter.d.ts.map +1 -1
  69. package/dist/Layout/LayoutFooter.js +2 -1
  70. package/dist/Layout/LayoutHeader.d.ts.map +1 -1
  71. package/dist/Layout/LayoutHeader.js +2 -1
  72. package/dist/Layout/layoutEdges.stylex.d.ts +20 -0
  73. package/dist/Layout/layoutEdges.stylex.d.ts.map +1 -0
  74. package/dist/Layout/layoutEdges.stylex.js +28 -0
  75. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  76. package/dist/Lightbox/Lightbox.js +4 -1
  77. package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.js +1 -0
  78. package/dist/Markdown/Markdown.fr23.bench.js +3 -1
  79. package/dist/Markdown/Markdown.fr23.sampling.d.ts +16 -0
  80. package/dist/Markdown/Markdown.fr23.sampling.d.ts.map +1 -1
  81. package/dist/Markdown/Markdown.fr23.sampling.js +13 -4
  82. package/dist/Markdown/MarkdownTable.a11y.chromium.spec.js +1 -0
  83. package/dist/MobileNav/MobileNav.d.ts +2 -1
  84. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  85. package/dist/MobileNav/MobileNav.js +9 -5
  86. package/dist/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.js +1 -0
  87. package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +1 -0
  88. package/dist/MultiSelector/MultiSelector.d.ts +1 -1
  89. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  90. package/dist/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.js +1 -0
  91. package/dist/MultiSelector/MultiSelector.js +8 -4
  92. package/dist/MultiSelector/OptionActions.a11y.chromium.spec.js +1 -0
  93. package/dist/NumberInput/NumberInput.d.ts +1 -1
  94. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  95. package/dist/NumberInput/NumberInput.js +7 -3
  96. package/dist/Popover/usePopover.d.ts.map +1 -1
  97. package/dist/Popover/usePopover.js +3 -1
  98. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  99. package/dist/RadioList/RadioListItem.js +10 -2
  100. package/dist/ScrollableArea/ScrollableArea.d.ts.map +1 -1
  101. package/dist/ScrollableArea/ScrollableArea.js +1 -1
  102. package/dist/SelectableCard/SelectableCard.d.ts +5 -5
  103. package/dist/SelectableCard/SelectableCard.js +5 -5
  104. package/dist/Selector/Selector.d.ts.map +1 -1
  105. package/dist/Selector/Selector.js +8 -4
  106. package/dist/Switch/Switch.d.ts.map +1 -1
  107. package/dist/Switch/Switch.js +5 -5
  108. package/dist/Switch/switch.markers.stylex.d.ts +7 -2
  109. package/dist/Switch/switch.markers.stylex.d.ts.map +1 -1
  110. package/dist/Switch/switch.markers.stylex.js +8 -3
  111. package/dist/TextInput/TextInput.d.ts +1 -1
  112. package/dist/TextInput/TextInput.d.ts.map +1 -1
  113. package/dist/TextInput/TextInput.js +8 -4
  114. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  115. package/dist/TimeInput/TimeInput.js +12 -4
  116. package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
  117. package/dist/TimeInput/TouchTimeField.js +2 -1
  118. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  119. package/dist/Tokenizer/Tokenizer.js +13 -14
  120. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  121. package/dist/Tooltip/useTooltip.js +9 -3
  122. package/dist/Typeahead/Typeahead.d.ts +1 -1
  123. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  124. package/dist/Typeahead/Typeahead.js +7 -3
  125. package/dist/astryx.css +30 -13
  126. package/dist/hooks/AnnounceRenderedText.d.ts +17 -0
  127. package/dist/hooks/AnnounceRenderedText.d.ts.map +1 -0
  128. package/dist/hooks/AnnounceRenderedText.js +32 -0
  129. package/dist/hooks/useAdaptivePresentation.d.ts +1 -1
  130. package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
  131. package/dist/hooks/useAdaptivePresentation.js +9 -6
  132. package/dist/hooks/useAnnounceRenderedText.d.ts +19 -2
  133. package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
  134. package/dist/hooks/useAnnounceRenderedText.js +52 -11
  135. package/dist/hooks/useFocusTrap.d.ts +1 -1
  136. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  137. package/dist/hooks/useFocusTrap.js +44 -20
  138. package/dist/hooks/useMenuPress.d.ts +2 -1
  139. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  140. package/dist/hooks/useMenuPress.js +46 -30
  141. package/dist/hooks/useScrollableArea.d.ts.map +1 -1
  142. package/dist/hooks/useScrollableArea.js +37 -5
  143. package/dist/motion/uikit/gestures.d.ts +590 -0
  144. package/dist/motion/uikit/gestures.d.ts.map +1 -0
  145. package/dist/motion/uikit/gestures.js +402 -0
  146. package/dist/motion/uikit/index.d.ts +23 -0
  147. package/dist/motion/uikit/index.d.ts.map +1 -0
  148. package/dist/motion/uikit/index.js +25 -0
  149. package/dist/motion/uikit/navigation.d.ts +71 -0
  150. package/dist/motion/uikit/navigation.d.ts.map +1 -0
  151. package/dist/motion/uikit/navigation.js +73 -0
  152. package/dist/motion/uikit/scroll.d.ts +124 -0
  153. package/dist/motion/uikit/scroll.d.ts.map +1 -0
  154. package/dist/motion/uikit/scroll.js +129 -0
  155. package/dist/motion/uikit/springs.d.ts +346 -0
  156. package/dist/motion/uikit/springs.d.ts.map +1 -0
  157. package/dist/motion/uikit/springs.js +387 -0
  158. package/dist/motion/uikit/timing.d.ts +191 -0
  159. package/dist/motion/uikit/timing.d.ts.map +1 -0
  160. package/dist/motion/uikit/timing.js +152 -0
  161. package/dist/reset.a11y.chromium.spec.js +1 -0
  162. package/dist/reset.until-found.a11y.browser.spec.js +1 -0
  163. package/dist/utils/edgeAutoscroll.d.ts +53 -0
  164. package/dist/utils/edgeAutoscroll.d.ts.map +1 -0
  165. package/dist/utils/edgeAutoscroll.js +81 -0
  166. package/dist/utils/touchPresentation.d.ts +48 -0
  167. package/dist/utils/touchPresentation.d.ts.map +1 -0
  168. package/dist/utils/touchPresentation.js +133 -0
  169. package/package.json +4 -4
  170. package/src/AlertDialog/__tests__/AlertDialog.a11y.chromium.spec.ts +1 -0
  171. package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +1 -0
  172. package/src/Avatar/Avatar.spec.md +253 -0
  173. package/src/Avatar/AvatarStatusDot.spec.md +96 -79
  174. package/src/Badge/Badge.spec.md +10 -10
  175. package/src/BottomSheet/BottomSheet.spec.md +259 -40
  176. package/src/BottomSheet/BottomSheetSwitcher.spec.md +139 -41
  177. package/src/BottomSheet/__tests__/BottomSheetDrag.a11y.chromium.spec.ts +1 -0
  178. package/src/BottomSheet/__tests__/BottomSheetFocusReturn.a11y.browser.spec.ts +1 -0
  179. package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +1 -0
  180. package/src/BottomSheet/__tests__/BottomSheetNativeModal.a11y.browser.spec.ts +1 -0
  181. package/src/BottomSheet/__tests__/BottomSheetPinchZoom.a11y.chromium.spec.ts +1 -0
  182. package/src/BottomSheet/__tests__/BottomSheetToastOutlet.a11y.chromium.spec.ts +1 -0
  183. package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.chromium.spec.ts +1 -0
  184. package/src/Button/Button.spec.md +320 -0
  185. package/src/Button/Button.test.tsx +1 -1
  186. package/src/Button/Button.tsx +15 -2
  187. package/src/Button/__tests__/Button.a11y.chromium.spec.ts +1 -0
  188. package/src/ButtonGroup/ButtonGroup.spec.md +218 -0
  189. package/src/Calendar/__tests__/Calendar.a11y.chromium.spec.ts +1 -0
  190. package/src/Carousel/__tests__/Carousel.a11y.chromium.spec.ts +1 -0
  191. package/src/Chat/ChatComposer.test.tsx +22 -0
  192. package/src/Chat/ChatComposer.tsx +17 -23
  193. package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +1 -0
  194. package/src/Chat/__tests__/ChatLayoutScrollButtonSurface.a11y.chromium.spec.ts +1 -0
  195. package/src/Chat/__tests__/ChatMessageList.a11y.chromium.spec.ts +1 -0
  196. package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +1 -0
  197. package/src/Chat/__tests__/ChatSendButton.a11y.chromium.spec.ts +1 -0
  198. package/src/Chat/__tests__/ChatSystemMessage.a11y.chromium.spec.ts +1 -0
  199. package/src/Chat/__tests__/ChatTokenizedText.a11y.chromium.spec.ts +1 -0
  200. package/src/Chat/__tests__/useChatStreamScroll.a11y.chromium.spec.ts +1 -0
  201. package/src/CheckboxInput/__tests__/Checkbox.a11y.chromium.spec.ts +1 -0
  202. package/src/CheckboxList/__tests__/CheckboxList.a11y.chromium.spec.ts +1 -0
  203. package/src/CodeBlock/CodeBlock.spec.md +48 -45
  204. package/src/CodeBlock/__tests__/CodeBlockCopyClearance.a11y.chromium.spec.ts +1 -0
  205. package/src/CodeBlock/__tests__/CodeBlockOverflowStop.a11y.chromium.spec.ts +1 -0
  206. package/src/CodeBlock/__tests__/DiffRowPaint.a11y.chromium.spec.ts +1 -0
  207. package/src/Collapsible/__tests__/Collapsible.a11y.chromium.spec.ts +1 -0
  208. package/src/Collapsible/__tests__/CollapsibleGroup.a11y.chromium.spec.ts +1 -0
  209. package/src/Collapsible/__tests__/CollapsibleGroupAccordion.a11y.chromium.spec.ts +1 -0
  210. package/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts +1 -0
  211. package/src/CommandPalette/__tests__/CommandPaletteFooter.a11y.chromium.spec.ts +1 -0
  212. package/src/CommandPalette/__tests__/CommandPaletteInputAudit.a11y.chromium.spec.ts +1 -0
  213. package/src/CommandPalette/__tests__/CommandPaletteItemAudit.a11y.chromium.spec.ts +1 -0
  214. package/src/ComplexSelector/ComplexSelector.test.tsx +116 -1
  215. package/src/ComplexSelector/ComplexSelector.tsx +18 -1
  216. package/src/ComplexSelector/__tests__/ComplexSelector.a11y.chromium.spec.ts +1 -0
  217. package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
  218. package/src/ContextMenu/ContextMenu.spec.md +19 -15
  219. package/src/ContextMenu/ContextMenu.test.tsx +189 -11
  220. package/src/ContextMenu/ContextMenu.tsx +75 -17
  221. package/src/ContextMenu/__tests__/ContextMenuAudit.a11y.chromium.spec.ts +1 -0
  222. package/src/ContextMenu/__tests__/ContextMenuCursorAnchor.a11y.browser.spec.ts +1 -0
  223. package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
  224. package/src/DateInput/DateInput.tsx +9 -4
  225. package/src/DateInput/NativeDateField.tsx +2 -1
  226. package/src/DateInput/TouchDateField.tsx +2 -1
  227. package/src/DateInput/__tests__/DateInputAudit.a11y.chromium.spec.ts +1 -0
  228. package/src/DateInput/__tests__/WheelPinchZoom.a11y.chromium.spec.ts +18 -5
  229. package/src/Dialog/Dialog.doc.mjs +201 -47
  230. package/src/Dialog/Dialog.tsx +31 -7
  231. package/src/Dialog/__tests__/Dialog.a11y.browser.spec.ts +1 -0
  232. package/src/Dialog/__tests__/Dialog.a11y.chromium.spec.ts +1 -0
  233. package/src/Dialog/__tests__/Dialog.reduced-motion.a11y.browser.spec.ts +191 -0
  234. package/src/Drawer/__tests__/DrawerAudit.a11y.chromium.spec.ts +1 -0
  235. package/src/Drawer/__tests__/DrawerHeaderAudit.a11y.chromium.spec.ts +1 -0
  236. package/src/DropdownMenu/DropdownMenu.spec.md +12 -6
  237. package/src/DropdownMenu/DropdownMenu.test.tsx +37 -4
  238. package/src/DropdownMenu/DropdownMenu.tsx +47 -21
  239. package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +72 -0
  240. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +57 -0
  241. package/src/DropdownMenu/MenuBottomSheet.tsx +42 -7
  242. package/src/DropdownMenu/__tests__/DropdownMenuDividerAudit.a11y.chromium.spec.ts +1 -0
  243. package/src/DropdownMenu/__tests__/DropdownMenuDrillIn.a11y.chromium.spec.ts +1 -0
  244. package/src/DropdownMenu/__tests__/DropdownMenuFocusReturn.a11y.browser.spec.ts +1 -0
  245. package/src/DropdownMenu/__tests__/DropdownMenuGroupAudit.a11y.chromium.spec.ts +1 -0
  246. package/src/DropdownMenu/__tests__/DropdownMenuItemAudit.a11y.chromium.spec.ts +1 -0
  247. package/src/DropdownMenu/__tests__/DropdownMenuRadioGroupAudit.a11y.chromium.spec.ts +1 -0
  248. package/src/DropdownMenu/__tests__/DropdownMenuRadioItemAudit.a11y.chromium.spec.ts +1 -0
  249. package/src/DropdownMenu/__tests__/DropdownMenuSubMenuAudit.a11y.chromium.spec.ts +1 -0
  250. package/src/DropdownMenu/__tests__/Menu.a11y.chromium.spec.ts +1 -0
  251. package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +1 -0
  252. package/src/DropdownMenu/__tests__/MenuHeaderFooter.a11y.chromium.spec.ts +1 -0
  253. package/src/DropdownMenu/__tests__/MenuHoverFocus.a11y.chromium.spec.ts +1 -0
  254. package/src/DropdownMenu/__tests__/MenuPinchZoom.a11y.chromium.spec.ts +1 -0
  255. package/src/DropdownMenu/__tests__/MenuPress.a11y.chromium.spec.ts +1 -0
  256. package/src/DropdownMenu/__tests__/SubMenuHeaderFooter.a11y.chromium.spec.ts +1 -0
  257. package/src/DropdownMenu/lazyMenuBottomSheet.ts +28 -2
  258. package/src/DropdownMenu/menuBottomSheet.stylex.ts +33 -0
  259. package/src/DropdownMenu/modules/useMenuPress.spec.md +86 -57
  260. package/src/DropdownMenu/useMenuDrillIn.tsx +7 -5
  261. package/src/EmptyState/EmptyState.announce.test.tsx +227 -0
  262. package/src/EmptyState/EmptyState.doc.mjs +1 -1
  263. package/src/EmptyState/EmptyState.spec.md +22 -14
  264. package/src/EmptyState/EmptyState.test.tsx +8 -8
  265. package/src/EmptyState/EmptyState.tsx +7 -5
  266. package/src/Field/__tests__/FieldLabelAudit.a11y.chromium.spec.ts +1 -0
  267. package/src/FieldStatus/__tests__/StatusMessage.a11y.chromium.spec.ts +1 -0
  268. package/src/IconButton/IconButton.spec.md +197 -0
  269. package/src/InputGroup/InputGroup.test.tsx +120 -0
  270. package/src/InputGroup/InputGroup.tsx +59 -52
  271. package/src/InputGroup/InputGroupInternalContext.ts +15 -0
  272. package/src/InputGroup/InputGroupText.tsx +2 -0
  273. package/src/InputGroup/groupStyles.ts +22 -11
  274. package/src/Item/__tests__/ItemSwipeActions.a11y.chromium.spec.ts +1 -0
  275. package/src/Item/__tests__/ItemSwipePinchZoom.a11y.chromium.spec.ts +1 -0
  276. package/src/Layer/__tests__/LayerReducedMotion.a11y.chromium.spec.ts +176 -0
  277. package/src/Layer/__tests__/TouchTrigger.a11y.chromium.spec.ts +1 -0
  278. package/src/Layer/layerAnimations.stylex.ts +22 -2
  279. package/src/Layer/layerSlideRules.ts +141 -8
  280. package/src/Layer/layerStack.ts +129 -62
  281. package/src/Layer/preserveAnimations.ts +304 -0
  282. package/src/Layer/useLayer.test.tsx +635 -0
  283. package/src/Layer/useLayer.tsx +485 -15
  284. package/src/Layer/useLayerDismissal.test.tsx +85 -2
  285. package/src/Layer/useLayerDismissal.ts +12 -9
  286. package/src/Layout/Layout.tsx +18 -0
  287. package/src/Layout/LayoutContent.tsx +5 -14
  288. package/src/Layout/LayoutFooter.tsx +2 -0
  289. package/src/Layout/LayoutHeader.tsx +2 -0
  290. package/src/Layout/__tests__/Layout.a11y.chromium.spec.ts +1 -0
  291. package/src/Layout/layoutEdges.stylex.ts +25 -0
  292. package/src/Lightbox/Lightbox.tsx +3 -0
  293. package/src/Lightbox/LightboxKeyboard.a11y.browser.spec.ts +1 -0
  294. package/src/Link/__tests__/Link.a11y.chromium.spec.ts +1 -0
  295. package/src/Link/__tests__/Link.navigation.a11y.chromium.spec.ts +1 -0
  296. package/src/Markdown/Markdown.fr23.bench.ts +3 -1
  297. package/src/Markdown/Markdown.fr23.perf.test.ts +45 -3
  298. package/src/Markdown/Markdown.fr23.sampling.ts +13 -4
  299. package/src/Markdown/Markdown.spec.md +56 -51
  300. package/src/Markdown/MarkdownTable.a11y.chromium.spec.ts +1 -0
  301. package/src/Markdown/__tests__/MarkdownNesting.a11y.chromium.spec.ts +1 -0
  302. package/src/MobileNav/MobileNav.test.tsx +27 -10
  303. package/src/MobileNav/MobileNav.tsx +10 -3
  304. package/src/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.ts +1 -0
  305. package/src/MobileNav/__tests__/MobileNavWidth.a11y.chromium.spec.ts +103 -0
  306. package/src/MoreMenu/MoreMenu.doc.mjs +2 -2
  307. package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +1 -0
  308. package/src/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.ts +1 -0
  309. package/src/MultiSelector/MultiSelector.test.tsx +3 -2
  310. package/src/MultiSelector/MultiSelector.tsx +8 -3
  311. package/src/MultiSelector/OptionActions.a11y.chromium.spec.ts +1 -0
  312. package/src/MultiSelector/__tests__/MultiSelector.a11y.chromium.spec.ts +1 -0
  313. package/src/NumberInput/NumberInput.tsx +7 -2
  314. package/src/NumberInput/__tests__/NumberInput.a11y.chromium.spec.ts +1 -0
  315. package/src/Popover/Popover.spec.md +19 -0
  316. package/src/Popover/Popover.test.tsx +197 -2
  317. package/src/Popover/__tests__/PopoverSecondDocument.a11y.chromium.spec.ts +205 -0
  318. package/src/Popover/usePopover.tsx +3 -1
  319. package/src/ProgressBar/__tests__/ProgressBar.a11y.chromium.spec.ts +1 -0
  320. package/src/RadioList/RadioList.test.tsx +34 -7
  321. package/src/RadioList/RadioListItem.press.source-build.test.mjs +80 -0
  322. package/src/RadioList/RadioListItem.tsx +26 -12
  323. package/src/RadioList/__tests__/RadioGroup.a11y.chromium.spec.ts +1 -0
  324. package/src/Resizable/__tests__/ResizeHandle.a11y.chromium.spec.ts +1 -0
  325. package/src/ScrollableArea/ScrollableArea.spec.md +6 -5
  326. package/src/ScrollableArea/ScrollableArea.test.tsx +5 -0
  327. package/src/ScrollableArea/ScrollableArea.tsx +4 -0
  328. package/src/SelectableCard/SelectableCard.doc.mjs +6 -4
  329. package/src/SelectableCard/SelectableCard.tsx +5 -5
  330. package/src/Selector/Selector.spec.md +3 -2
  331. package/src/Selector/Selector.test.tsx +3 -2
  332. package/src/Selector/Selector.tsx +8 -3
  333. package/src/Selector/__tests__/EmptyStateAnnouncement.a11y.chromium.spec.ts +1 -0
  334. package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +1 -0
  335. package/src/Selector/__tests__/Selector.a11y.chromium.spec.ts +1 -0
  336. package/src/Selector/__tests__/Selector.combobox.a11y.chromium.spec.ts +1 -0
  337. package/src/SideNav/SideNav.spec.md +5 -3
  338. package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
  339. package/src/SideNav/SideNavHeading.spec.md +219 -0
  340. package/src/SideNav/SideNavItem.spec.md +246 -0
  341. package/src/SideNav/SideNavSection.spec.md +153 -0
  342. package/src/Skeleton/Skeleton.spec.md +99 -42
  343. package/src/Slider/__tests__/Slider.a11y.chromium.spec.ts +1 -0
  344. package/src/Spinner/Spinner.spec.md +231 -0
  345. package/src/StatusDot/StatusDot.spec.md +143 -51
  346. package/src/Switch/Switch.focusRing.source-build.test.mjs +81 -0
  347. package/src/Switch/Switch.tsx +11 -9
  348. package/src/Switch/__tests__/Switch.a11y.chromium.spec.ts +1 -0
  349. package/src/Switch/switch.markers.stylex.ts +7 -2
  350. package/src/TabList/__tests__/Tabs.a11y.chromium.spec.ts +1 -0
  351. package/src/Table/__tests__/Table.a11y.chromium.spec.ts +1 -0
  352. package/src/Table/__tests__/TableMinWidth.a11y.chromium.spec.ts +1 -0
  353. package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +1 -0
  354. package/src/TextInput/TextInput.tsx +8 -3
  355. package/src/TextInput/__tests__/TextInput.a11y.chromium.spec.ts +1 -0
  356. package/src/TimeInput/TimeInput.tsx +12 -4
  357. package/src/TimeInput/TouchTimeField.tsx +2 -1
  358. package/src/ToggleButton/ToggleButton.spec.md +256 -0
  359. package/src/ToggleButton/ToggleButtonGroup.spec.md +194 -0
  360. package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +1 -0
  361. package/src/Token/Token.spec.md +1 -1
  362. package/src/Token/__tests__/TokenRemoveTarget.a11y.chromium.spec.ts +1 -0
  363. package/src/Tokenizer/Tokenizer.test.tsx +44 -8
  364. package/src/Tokenizer/Tokenizer.tsx +14 -17
  365. package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +1 -0
  366. package/src/Toolbar/__tests__/Toolbar.a11y.chromium.spec.ts +1 -0
  367. package/src/Tooltip/Tooltip.test.tsx +23 -0
  368. package/src/Tooltip/__tests__/Tooltip.a11y.chromium.spec.ts +1 -0
  369. package/src/Tooltip/__tests__/TooltipFocusReturn.a11y.chromium.spec.ts +1 -0
  370. package/src/Tooltip/__tests__/TooltipHoverBridge.a11y.chromium.spec.ts +1 -0
  371. package/src/Tooltip/__tests__/TooltipTallContent.a11y.browser.spec.ts +646 -0
  372. package/src/Tooltip/__tests__/TooltipTallContentTracking.a11y.browser.spec.ts +1162 -0
  373. package/src/Tooltip/useTooltip.tsx +7 -2
  374. package/src/TopNav/TopNav.spec.md +190 -0
  375. package/src/TopNav/TopNavHeading.spec.md +204 -0
  376. package/src/TopNav/TopNavItem.spec.md +189 -0
  377. package/src/TopNav/TopNavMegaMenu.spec.md +190 -0
  378. package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +150 -0
  379. package/src/TopNav/TopNavMegaMenuItem.spec.md +155 -0
  380. package/src/TopNav/TopNavMenu.spec.md +195 -0
  381. package/src/TopNav/__tests__/TopNavMobileLongHeading.a11y.chromium.spec.ts +1 -0
  382. package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +1 -0
  383. package/src/TreeList/__tests__/TreeListRowNames.a11y.chromium.spec.ts +1 -0
  384. package/src/Typeahead/Typeahead.tsx +7 -2
  385. package/src/__tests__/CardPress.a11y.chromium.spec.ts +1 -0
  386. package/src/__tests__/DisabledTriggerFocus.a11y.chromium.spec.ts +1 -0
  387. package/src/__tests__/PressedState.a11y.chromium.spec.ts +1 -0
  388. package/src/hooks/AnnounceRenderedText.tsx +27 -0
  389. package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +98 -4
  390. package/src/hooks/useAdaptivePresentation.ts +14 -7
  391. package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +204 -0
  392. package/src/hooks/useAnnounceRenderedText.ts +81 -11
  393. package/src/hooks/useFocusTrap.test.tsx +71 -2
  394. package/src/hooks/useFocusTrap.ts +46 -21
  395. package/src/hooks/useMenuPress.ts +60 -34
  396. package/src/hooks/useScrollableArea.test.tsx +159 -0
  397. package/src/hooks/useScrollableArea.ts +39 -5
  398. package/src/motion/MEASUREMENTS.md +267 -0
  399. package/src/motion/README.md +81 -0
  400. package/src/motion/uikit/gestures.test.ts +89 -0
  401. package/src/motion/uikit/gestures.ts +339 -0
  402. package/src/motion/uikit/index.ts +43 -0
  403. package/src/motion/uikit/navigation.ts +73 -0
  404. package/src/motion/uikit/scroll.ts +124 -0
  405. package/src/motion/uikit/springs.ts +330 -0
  406. package/src/motion/uikit/timing.ts +153 -0
  407. package/src/motion/uikit/uikit.test.ts +301 -0
  408. package/src/reset.a11y.chromium.spec.ts +1 -0
  409. package/src/reset.until-found.a11y.browser.spec.ts +1 -0
  410. package/src/serverSafeComponents.test.ts +10 -0
  411. package/src/theme/__tests__/SpacingRootFontSize.a11y.chromium.spec.ts +1 -0
  412. package/src/theme/derivedVarRegistry.test.ts +5 -0
  413. package/src/utils/edgeAutoscroll.test.ts +192 -0
  414. package/src/utils/edgeAutoscroll.ts +111 -0
  415. package/src/utils/touchPresentation.test.ts +323 -0
  416. package/src/utils/touchPresentation.ts +153 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * Last synced props: label, variant, size, isDisabled, isLoading, isInterruptible, clickAction, icon, isIconOnly, width, children, tooltip, endContent, href, as, target, rel
19
19
  */
20
- import { useEffect, useRef, useState, useTransition } from 'react';
20
+ import { use, useEffect, useRef, useState, useTransition } from 'react';
21
21
  import * as stylex from '@stylexjs/stylex';
22
22
  import { useTooltip } from "../Tooltip/useTooltip.js";
23
23
  import "../theme/tokens.stylex.js";
@@ -30,7 +30,8 @@ import { EDGE_COMP_ATTR } from "../Layout/edgeCompensation.stylex.js";
30
30
  import { useSize } from "../SizeContext/SizeContext.js";
31
31
  import { useButtonGroup } from "../ButtonGroup/ButtonGroupContext.js";
32
32
  import { useInputGroup } from "../InputGroup/InputGroupContext.js";
33
- import { groupStyles as inputGroupStyles } from "../InputGroup/groupStyles.js";
33
+ import { InputGroupInternalContext } from "../InputGroup/InputGroupInternalContext.js";
34
+ import { groupStyles as inputGroupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
34
35
  import { mergeProps } from "../utils/index.js";
35
36
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
36
37
  import { useLinkComponent } from "../Link/useLinkComponent.js";
@@ -377,7 +378,8 @@ export function Button({
377
378
  // the consumer is deliberately showing it.
378
379
  const delaySpinner = isPending || isInterruptible;
379
380
  const groupDisabled = buttonGroup?.isDisabled ?? false;
380
- const isTrueDisabled = isDisabled || groupDisabled;
381
+ const inputGroupState = use(InputGroupInternalContext);
382
+ const isTrueDisabled = isDisabled || groupDisabled || inputGroupState.isDisabled;
381
383
  // Busy-only: the button can't fire again purely because an action is in
382
384
  // flight, not because it's genuinely isDisabled/group-disabled. Per the API
383
385
  // Conventions "Disabled vs Busy" rule, busy is visual-only (aria-busy +
@@ -549,6 +551,7 @@ export function Button({
549
551
  href: href,
550
552
  target: target,
551
553
  rel: rel,
554
+ ...(inputGroup != null && buttonGroup == null ? inputGroupItemProps : undefined),
552
555
  ...sharedMergedProps,
553
556
  ...pressFeedback,
554
557
  ...props,
@@ -570,6 +573,7 @@ export function Button({
570
573
  ref: mergedButtonRef,
571
574
  type: type,
572
575
  disabled: useAriaDisabled ? undefined : buttonDisabled,
576
+ ...(inputGroup != null && buttonGroup == null ? inputGroupItemProps : undefined),
573
577
  ...sharedMergedProps,
574
578
  ...pressFeedback,
575
579
  ...props,
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAMZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgC5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAI3B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yHAAyH;IACzH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gHAAgH;IAChH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AAkND;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAwOpD;yBAxOe,YAAY"}
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatComposer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAgC5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,UAAU,CACxB;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAI3B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yHAAyH;IACzH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,yGAAyG;IACzG,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gHAAgH;IAChH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AAkND;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAmOpD;yBAnOe,YAAY"}
@@ -22,7 +22,7 @@
22
22
  * - /apps/storybook/stories/ChatComposer.stories.tsx
23
23
  * - /packages/cli/assets/templates/blocks/components/ChatComposer/ (block examples)
24
24
  */
25
- import React, { useState, useCallback, useEffect, useRef, useMemo } from 'react';
25
+ import React, { useState, useCallback, useRef, useMemo } from 'react';
26
26
  import * as stylex from '@stylexjs/stylex';
27
27
  import "../theme/tokens.stylex.js";
28
28
  import { colorVars, spacingVars, radiusVars, shadowVars, durationVars, easeVars, borderVars, typeScaleVars, typographyVars } from "../theme/tokens.stylex.js";
@@ -33,7 +33,7 @@ import { ChatComposerContext } from "./ChatContext.js";
33
33
  import { ChatSendButton } from "./ChatSendButton.js";
34
34
  import { themeProps } from "../utils/themeProps.js";
35
35
  import { useTranslator } from "../i18n/index.js";
36
- import { useAnnounce } from "../hooks/useAnnounce.js";
36
+ import { useAnnounceRenderedText } from "../hooks/useAnnounceRenderedText.js";
37
37
  import { focusOutlineStyles } from "../utils/focusOutline.stylex.js";
38
38
  import { getInteractionModality, useInteractionModalityTracking } from "../utils/interactionModality.js";
39
39
 
@@ -194,28 +194,18 @@ export function ChatComposer(props) {
194
194
  }, []);
195
195
 
196
196
  // The status bar mounts together with its message, and a live region born
197
- // holding its text is not reliably announced, so the message goes through
198
- // the shared channel instead: errors assertively, warnings politely
199
- // (spec:AST-086 FR2, FR5). The ref keeps a rerender or a StrictMode effect
200
- // replay from repeating it; clearing the status re-arms it, so the same
201
- // message shown again is a new occasion (FR6).
202
- const announce = useAnnounce();
203
- const statusType = status?.type;
204
- const statusMessage = status?.message;
205
- const announcedStatusRef = useRef(null);
206
- useEffect(() => {
207
- if (!statusMessage) {
208
- announcedStatusRef.current = null;
209
- return;
210
- }
211
- const occasion = `${statusType}\u0000${statusMessage}`;
212
- if (announcedStatusRef.current === occasion) {
213
- return;
214
- }
215
- announcedStatusRef.current = occasion;
216
- announce(statusMessage, statusType === 'error' ? 'assertive' : 'polite');
217
- }, [announce, statusType, statusMessage]);
197
+ // holding its text is not reliably announced, so the shared own-content
198
+ // module announces what the bar renders: errors assertively, warnings
199
+ // politely, once per occasion, silent for a status already shown when the
200
+ // page loads (spec:AST-086 FR2, FR5, FR6, FR11; react-component-runtime
201
+ // INV10). Changing the status type is a new occasion; clearing it re-arms.
202
+ const statusRef = useRef(null);
203
+ useAnnounceRenderedText(statusRef, Boolean(status?.message), status?.type ?? '', {
204
+ skipFirstRender: true,
205
+ politeness: status?.type === 'error' ? 'assertive' : 'polite'
206
+ });
218
207
  const statusEl = status ? /*#__PURE__*/_jsxs("div", {
208
+ ref: statusRef,
219
209
  ...{
220
210
  0: {
221
211
  className: "x1n2onr6 x1ja2u2z x78zum5 x6s0dn4 x1txdalj x1pzlopt x141an7d x1ltkj2j x9ynric x1htvmrp xvpcij2 xckg3cf xkvxy4d x6k0y1c"
@@ -136,7 +136,7 @@ export interface ComplexSelectorProps<Value> extends Omit<FieldInputBaseProps, '
136
136
  isOptional?: boolean;
137
137
  /** Marks the field required. */
138
138
  isRequired?: boolean;
139
- /** Disables the selector. */
139
+ /** Blocks opening and value commits, including from an already-open popup. */
140
140
  isDisabled?: boolean;
141
141
  /** Shows loading state on the trigger. */
142
142
  isLoading?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComplexSelector.d.ts","sourceRoot":"","sources":["../../src/ComplexSelector/ComplexSelector.tsx"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * - /apps/storybook/stories/ComplexSelector.stories.tsx
16
16
  * - /packages/cli/assets/templates/blocks/components/ComplexSelector/ (showcase blocks)
17
17
  */
18
- import React, { useCallback, useId, useImperativeHandle, useOptimistic, useRef, useTransition } from 'react';
18
+ import React, { useCallback, useId, useImperativeHandle, useInsertionEffect, useOptimistic, useRef, useTransition } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
20
20
  import { useFieldInputStyling } from "../Field/fieldParts.js";
21
21
  import { useDevWarning } from "../hooks/useDevWarning.js";
@@ -367,7 +367,23 @@ export function ComplexSelector({
367
367
  },
368
368
  isOpen: () => popover.isOpen
369
369
  }), [isDisabled, popover]);
370
+
371
+ // The helper reads the selector's availability when it runs, not the
372
+ // render it came from: content may keep a helper from an earlier render
373
+ // (after an await, say) across a change either way. The insertion effect
374
+ // runs before any layout effect of the content, so a commit from the
375
+ // content's own layout effect in the render that changes it sees the new
376
+ // availability too.
377
+ const isDisabledRef = useRef(isDisabled);
378
+ useInsertionEffect(() => {
379
+ isDisabledRef.current = isDisabled;
380
+ }, [isDisabled]);
370
381
  const commitValue = useCallback(nextValue => {
382
+ // Caller-owned popup controls may remain mounted after disablement.
383
+ // Guard the supplied commit boundary, not just the trigger.
384
+ if (isDisabledRef.current) {
385
+ return;
386
+ }
371
387
  onChange?.(nextValue);
372
388
  if (changeAction) {
373
389
  startTransition(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAqCrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AA6G1C,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAMnD,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,oDAAoD;IACpD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,oBAAoB;IACzD,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAM/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,IAAW,EACX,KAAK,EAAE,cAAc,EACrB,UAAkB,EAClB,YAAY,EACZ,YAAwB,EACxB,SAAiB,EACjB,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,gBAAgB,qBAkflB;yBAvgBe,WAAW"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KASN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAuCrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kCAAkC,CAAC;AAyH1C,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAMnD,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,oDAAoD;IACpD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,oBAAoB;IACzD,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAM/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,IAAW,EACX,KAAK,EAAE,cAAc,EACrB,UAAkB,EAClB,YAAY,EACZ,YAAwB,EACxB,SAAiB,EACjB,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,gBAAgB,EAC9B,WAAW,EAAE,eAAe,EAC5B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,gBAAgB,qBA8hBlB;yBAnjBe,WAAW"}
@@ -41,7 +41,9 @@ import { Icon } from "../Icon/index.js";
41
41
  import { useLayer } from "../Layer/useLayer.js";
42
42
  import { LayerDepthProvider } from "../Layer/LayerDepthContext.js";
43
43
  import { useLayerDismissal } from "../Layer/useLayerDismissal.js";
44
+ import { currentGesture } from "../Layer/gestureCounter.js";
44
45
  import { MenuBottomSheetActionList } from "../DropdownMenu/MenuBottomSheetActionList.js";
46
+ import { menuBottomSheetStyles } from "../DropdownMenu/menuBottomSheet.stylex.js";
45
47
  import { renderDropdownItems } from "../DropdownMenu/renderDropdownItems.js";
46
48
  import { DropdownMenuContext, DropdownMenuRootOpenContext } from "../DropdownMenu/DropdownMenuContext.js";
47
49
  import { MENU_ITEM_ROLES, MENU_ITEM_SELECTOR, MENU_BOUNDARY_SELECTOR, activateMenuItem } from "../DropdownMenu/menuItemRoles.js";
@@ -126,6 +128,16 @@ const styles = {
126
128
  kfSwDN: "x87ps6o",
127
129
  $$css: true
128
130
  },
131
+ sheetMenuInset: {
132
+ kLKAdn: "x1132dcy",
133
+ kGO01o: "xy143xn",
134
+ kg3NbH: "x1xd259c",
135
+ "--container-padding-block-start": "x1hhi95j",
136
+ "--container-padding-block-end": "x57a7ii",
137
+ "--container-padding-inline-start": "x1v11cex",
138
+ "--container-padding-inline-end": "x58lb0f",
139
+ $$css: true
140
+ },
129
141
  sheetRootHeading: {
130
142
  keTefX: "x6i7dpz",
131
143
  $$css: true
@@ -233,6 +245,11 @@ export function ContextMenu({
233
245
  // Element focused before the menu opened, restored when it closes so focus
234
246
  // does not fall to <body> after Escape or outside-click dismissal.
235
247
  const triggerFocusRef = useRef(null);
248
+ // The gesture of the finger press that opened the menu (`Layer/
249
+ // gestureCounter`), null when a mouse or the keyboard opened it: the
250
+ // browser's compatibility mouse events for that same press are not presses
251
+ // outside.
252
+ const openingGestureRef = useRef(null);
236
253
  const [isOpen, setIsOpen] = useState(false);
237
254
  const [submenuPath, setSubmenuPath] = useState([]);
238
255
  const currentSubmenu = submenuPath.at(-1);
@@ -322,7 +339,10 @@ export function ContextMenu({
322
339
  // Dismiss on any click outside the menu. We use popover="manual" (not
323
340
  // "auto") because the native light-dismiss treats the mouseup from the
324
341
  // opening right-click as a dismiss event. Handling it ourselves via
325
- // mousedown avoids that race.
342
+ // mousedown avoids that race. A touch's compatibility mousedown for the
343
+ // press that opened the menu (sent mid-hold by iOS, or as a long press
344
+ // lifts by Chromium) belongs to that press's gesture, so it is not read as
345
+ // a press outside; any later press is a new gesture and closes as before.
326
346
  useEffect(() => {
327
347
  if (!isOpen || usesBottomSheet) {
328
348
  return;
@@ -339,6 +359,9 @@ export function ContextMenu({
339
359
  return;
340
360
  }
341
361
  judged.add(e);
362
+ if (currentGesture() === openingGestureRef.current) {
363
+ return;
364
+ }
342
365
  if (menu && !menu.contains(e.target)) {
343
366
  closeMenu();
344
367
  }
@@ -433,6 +456,11 @@ export function ContextMenu({
433
456
  // the anchor lives inside the (scrollable) trigger context.
434
457
  const localX = isKeyboardInvoked || !rect ? 0 : e.clientX - rect.left;
435
458
  const localY = isKeyboardInvoked || !rect ? rect?.height ?? 0 : e.clientY - rect.top;
459
+ // A finger's long press reaches here as a pointer `contextmenu` where
460
+ // the browser sends one (Chromium); its compatibility mousedown then
461
+ // belongs to the opening press. A mouse or the keyboard opens without
462
+ // one, so every later mousedown is a press outside.
463
+ openingGestureRef.current = e.nativeEvent.pointerType === 'touch' ? currentGesture() : null;
436
464
  openAtLocalPoint(localX, localY, e.currentTarget);
437
465
  }, [isDisabled, openAtLocalPoint, getAnchorBaseRect]);
438
466
 
@@ -451,6 +479,9 @@ export function ContextMenu({
451
479
  disabled: isDisabled,
452
480
  onLongPress: useCallback(point => {
453
481
  const rect = getAnchorBaseRect();
482
+ // The finger is still down: the compatibility mousedown iOS sends
483
+ // mid-hold, or Chromium as it lifts, belongs to this press.
484
+ openingGestureRef.current = currentGesture();
454
485
  openAtLocalPoint(rect ? point.x - rect.left : point.x, rect ? point.y - rect.top : point.y, triggerRef.current);
455
486
  }, [openAtLocalPoint, getAnchorBaseRect])
456
487
  });
@@ -514,7 +545,7 @@ export function ContextMenu({
514
545
  onKeyDown: listKeyDown,
515
546
  onContextMenu: e => e.preventDefault(),
516
547
  ...menuPress.menuProps,
517
- ...mergeProps(themeProps('context-menu'), stylex.props(usesBottomSheet ? styles.sheetMenu : styles.menu, !usesBottomSheet && (hasOverflow ? styles.touchPanYPinchZoom : styles.touchPinchZoom), xstyle), className, style),
548
+ ...mergeProps(themeProps('context-menu'), stylex.props(usesBottomSheet ? [styles.sheetMenu, menuBottomSheetStyles.content, styles.sheetMenuInset] : styles.menu, !usesBottomSheet && (hasOverflow ? styles.touchPanYPinchZoom : styles.touchPinchZoom), xstyle), className, style),
518
549
  children: /*#__PURE__*/_jsx(DropdownMenuContext, {
519
550
  value: contextValue,
520
551
  children: /*#__PURE__*/_jsx(DropdownMenuRootOpenContext, {
@@ -523,16 +554,26 @@ export function ContextMenu({
523
554
  })
524
555
  })
525
556
  });
557
+
558
+ // The root view's heading stands alone; a sub-menu's sits in a row with its
559
+ // back button.
560
+ const sheetViewHeading = /*#__PURE__*/_jsx(Heading, {
561
+ ref: setSheetHeadingRef,
562
+ level: 3,
563
+ tabIndex: -1,
564
+ xstyle: [styles.sheetViewHeading, submenuPath.length === 0 && [styles.sheetRootHeading, menuBottomSheetStyles.headingAlone]],
565
+ children: currentTitle
566
+ });
526
567
  const renderedBottomSheetContent = itemsProp !== undefined ? /*#__PURE__*/_jsxs("div", {
527
568
  ref: listRef,
528
569
  "data-autofocus": "",
529
570
  tabIndex: 0,
530
- ...mergeProps(themeProps('context-menu'), stylex.props(styles.sheetMenu, xstyle), className, style),
531
- children: [/*#__PURE__*/_jsxs("div", {
571
+ ...mergeProps(themeProps('context-menu'), stylex.props(styles.sheetMenu, menuBottomSheetStyles.content, styles.sheetMenuInset, xstyle), className, style),
572
+ children: [submenuPath.length > 0 ? /*#__PURE__*/_jsxs("div", {
532
573
  ...{
533
574
  className: "x78zum5 x1q0g3np x6s0dn4 xzye2dw x1p37lm5"
534
575
  },
535
- children: [submenuPath.length > 0 && /*#__PURE__*/_jsx(Button, {
576
+ children: [/*#__PURE__*/_jsx(Button, {
536
577
  label: backLabel,
537
578
  variant: "ghost",
538
579
  size: "sm",
@@ -543,14 +584,8 @@ export function ContextMenu({
543
584
  }),
544
585
  isIconOnly: true,
545
586
  onClick: () => setSubmenuPath(path => path.slice(0, -1))
546
- }), /*#__PURE__*/_jsx(Heading, {
547
- ref: setSheetHeadingRef,
548
- level: 3,
549
- tabIndex: -1,
550
- xstyle: [styles.sheetViewHeading, submenuPath.length === 0 && styles.sheetRootHeading],
551
- children: currentTitle
552
- })]
553
- }), /*#__PURE__*/_jsx(MenuBottomSheetActionList, {
587
+ }), sheetViewHeading]
588
+ }) : sheetViewHeading, /*#__PURE__*/_jsx(MenuBottomSheetActionList, {
554
589
  items: currentItems,
555
590
  onSelect: handleBottomSheetSelect,
556
591
  onOpenSubmenu: item => setSubmenuPath(path => [...path, item])
@@ -1 +1 @@
1
- {"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateInput.d.ts","sourceRoot":"","sources":["../../src/DateInput/DateInput.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAQ3C,OAAO,EAGL,KAAK,WAAW,EAKhB,KAAK,kBAAkB,EACxB,MAAM,UAAU,CAAC;AAQlB,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAiBrB,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAClD,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAoEpC,QAAA,MAAM,UAAU;;;;;;;;;;;;;EAad,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,UAAU,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH;;;;;;;;GAQG;AACH,iFAAiF;AACjF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjE,8FAA8F;AAC9F,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,eAAe,EACf,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CACtD,CAAC;AAIF,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,eAAe,IAAI,mBAAmB,GACvC,MAAM,UAAU,CAAC;AAGlB,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAM9C,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,UAAU,GAAG,cAAc,CAC5B;IACC,qEAAqE;IACrE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC;IAEtD;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;OAEG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAEzD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC;IAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;AA8hBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,+BA0B9C;yBA1Be,SAAS"}
@@ -15,7 +15,7 @@
15
15
  * - /apps/storybook/stories/DateInput.stories.tsx (storybook stories)
16
16
  * - /packages/cli/assets/templates/blocks/components/DateInput/ (showcase blocks)
17
17
  */
18
- import { useId, useState, useCallback, useRef, useOptimistic, useTransition } from 'react';
18
+ import { use, useId, useState, useCallback, useRef, useOptimistic, useTransition } from 'react';
19
19
  import * as stylex from '@stylexjs/stylex';
20
20
  import "../theme/tokens.stylex.js";
21
21
  import { colorVars, sizeVars, radiusVars, typographyVars, typeScaleVars } from "../theme/tokens.stylex.js";
@@ -23,7 +23,8 @@ import { Field, InputClearButton, inputWrapperStyles, inputStatusBorderStyles, i
23
23
  import { Icon } from "../Icon/index.js";
24
24
  import { VisuallyHidden } from "../VisuallyHidden/index.js";
25
25
  import { useInputGroup } from "../InputGroup/InputGroupContext.js";
26
- import { groupStyles } from "../InputGroup/groupStyles.js";
26
+ import { InputGroupInternalContext } from "../InputGroup/InputGroupInternalContext.js";
27
+ import { groupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
27
28
  import { useSize } from "../SizeContext/SizeContext.js";
28
29
  import { Spinner } from "../Spinner/index.js";
29
30
  import { Calendar } from "../Calendar/index.js";
@@ -452,6 +453,7 @@ function PointerDateField({
452
453
  // compose, so attaching unconditionally is safe.
453
454
  disabledMessageTooltip.ref(el);
454
455
  },
456
+ ...(inputGroup ? inputGroupItemProps : undefined),
455
457
  ...mergeProps(themeProps('date-input', {
456
458
  size,
457
459
  status: status?.type ?? null,
@@ -628,6 +630,8 @@ PointerDateField.displayName = 'PointerDateField';
628
630
  * ```
629
631
  */
630
632
  export function DateInput(props) {
633
+ const inputGroupState = use(InputGroupInternalContext);
634
+ const isDisabled = props.isDisabled || inputGroupState.isDisabled;
631
635
  const isTouch = useMediaQuery(TOUCH_POINTER_QUERY);
632
636
  useDevWarning('DateInput', '`nativePicker` is deprecated; use `presentation` instead (`touch` → `adaptive-native`, `always` → `native`, `never` → `adaptive-bottom-sheet`). `presentation` wins when both are set.', props.nativePicker !== undefined);
633
637
  const surface = resolvePickerPresentation(effectivePickerPresentation(props.presentation, props.nativePicker), isTouch);
@@ -639,15 +643,18 @@ export function DateInput(props) {
639
643
  switch (surface) {
640
644
  case 'native':
641
645
  return /*#__PURE__*/_jsx(NativeDateField, {
642
- ...rest
646
+ ...rest,
647
+ isDisabled: isDisabled
643
648
  });
644
649
  case 'sheet':
645
650
  return /*#__PURE__*/_jsx(TouchDateField, {
646
- ...rest
651
+ ...rest,
652
+ isDisabled: isDisabled
647
653
  });
648
654
  case 'desktop':
649
655
  return /*#__PURE__*/_jsx(PointerDateField, {
650
- ...rest
656
+ ...rest,
657
+ isDisabled: isDisabled
651
658
  });
652
659
  }
653
660
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NativeDateField.d.ts","sourceRoot":"","sources":["../../src/DateInput/NativeDateField.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AA0NhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,eAAe,EACf,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,GAAG,EACH,GAAG,EACH,eAAe,EACf,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,QAAQ,EACd,MAAM,EACN,aAA0B,EAC1B,YAAY,EACZ,QAAgB,EAGhB,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,aAAa,EAC3B,MAAoB,EACpB,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,GAAG,SAAS,EACb,EAAE,cAAc,+BAubhB;yBA1de,eAAe"}
1
+ {"version":3,"file":"NativeDateField.d.ts","sourceRoot":"","sources":["../../src/DateInput/NativeDateField.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AA0NhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,eAAe,EACf,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,GAAG,EACH,GAAG,EACH,eAAe,EACf,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,QAAQ,EACd,MAAM,EACN,aAA0B,EAC1B,YAAY,EACZ,QAAgB,EAGhB,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,aAAa,EAC3B,MAAoB,EACpB,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,GAAG,SAAS,EACb,EAAE,cAAc,+BAwbhB;yBA3de,eAAe"}
@@ -39,7 +39,7 @@ import { useLocale, useTranslator } from "../i18n/index.js";
39
39
  import { useInputGroup } from "../InputGroup/index.js";
40
40
  import { useFieldInputStyling } from "../Field/fieldParts.js";
41
41
  import { joinAriaIDs } from "../utils/inputAria.js";
42
- import { groupStyles } from "../InputGroup/groupStyles.js";
42
+ import { groupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
43
43
  import { useSize } from "../SizeContext/index.js";
44
44
  import { Spinner } from "../Spinner/index.js";
45
45
  import "../theme/tokens.stylex.js";
@@ -401,6 +401,7 @@ export function NativeDateField({
401
401
  ref: el => {
402
402
  disabledMessageTooltip.ref(el);
403
403
  },
404
+ ...(inputGroup ? inputGroupItemProps : undefined),
404
405
  ...mergeProps(themeProps('date-input', {
405
406
  size,
406
407
  status: status?.type ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"TouchDateField.d.ts","sourceRoot":"","sources":["../../src/DateInput/TouchDateField.tsx"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AA6ehD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,eAAe,EACf,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,GAAG,EACH,GAAG,EACH,eAAe,EACf,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,QAAQ,EACd,MAAM,EACN,aAA0B,EAC1B,YAAY,EACZ,QAAgB,EAIhB,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,gBAAoB,EAClC,MAAoB,EACpB,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,GAAG,SAAS,EACb,EAAE,cAAc,+BAqwBhB;yBAzyBe,cAAc"}
1
+ {"version":3,"file":"TouchDateField.d.ts","sourceRoot":"","sources":["../../src/DateInput/TouchDateField.tsx"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AA6ehD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,eAAe,EACf,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,GAAG,EACH,GAAG,EACH,eAAe,EACf,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,QAAQ,EACd,MAAM,EACN,aAA0B,EAC1B,YAAY,EACZ,QAAgB,EAIhB,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,gBAAoB,EAClC,MAAoB,EACpB,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,GAAG,SAAS,EACb,EAAE,cAAc,+BAswBhB;yBA1yBe,cAAc"}
@@ -62,7 +62,7 @@ import { useLocale, useTranslator } from "../i18n/index.js";
62
62
  import { useInputGroup } from "../InputGroup/index.js";
63
63
  import { useFieldInputStyling } from "../Field/fieldParts.js";
64
64
  import { joinAriaIDs } from "../utils/inputAria.js";
65
- import { groupStyles } from "../InputGroup/groupStyles.js";
65
+ import { groupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
66
66
  import { useSize } from "../SizeContext/index.js";
67
67
  import { Spinner } from "../Spinner/index.js";
68
68
  import "../theme/tokens.stylex.js";
@@ -798,6 +798,7 @@ export function TouchDateField({
798
798
  // Gated internally by isEnabled, so attaching unconditionally is safe.
799
799
  disabledMessageTooltip.ref(el);
800
800
  },
801
+ ...(inputGroup ? inputGroupItemProps : undefined),
801
802
  ...mergeProps(themeProps('date-input', {
802
803
  size,
803
804
  status: status?.type ?? null,
@@ -12,6 +12,10 @@
12
12
  * while preserving explicit prop/theme padding overrides, and fade in without
13
13
  * the centered-dialog translate/scale motion.
14
14
  *
15
+ * Under reduced motion the entrance never travels or scales
16
+ * (docs/design/reduced-motion.md): on a touch screen the dialog fades in
17
+ * where it lands, in 200 ms or less; with a mouse it appears at once.
18
+ *
15
19
  * Initial focus and the focus returned on close follow the last input
16
20
  * (docs/architecture/interaction-modality.md INV1): the shared focus indicator
17
21
  * is hidden after a pointer press and shown after a key press.
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA2B5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAMhD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAyB9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,4EAA4E;AAC5E,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAuBD,2FAA2F;AAC3F,eAAO,MAAM,uCAAuC;;;;;;;;;;;CAW1C,CAAC;AAoJX;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc;;;;;EAUpE;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAmB,EACnB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,sCA4Vb;yBA5We,MAAM"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA2B5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAMhD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAyB9C;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,4EAA4E;AAC5E,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAuBD,2FAA2F;AAC3F,eAAO,MAAM,uCAAuC;;;;;;;;;;;CAW1C,CAAC;AAqKX;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc;;;;;EAUpE;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,QAAgB,EAChB,YAAY,EACZ,KAAW,EACX,SAAmB,EACnB,QAAQ,EACR,OAAoB,EACpB,OAAgB,EAChB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,sCA+Vb;yBA/We,MAAM"}
@@ -16,6 +16,10 @@
16
16
  * while preserving explicit prop/theme padding overrides, and fade in without
17
17
  * the centered-dialog translate/scale motion.
18
18
  *
19
+ * Under reduced motion the entrance never travels or scales
20
+ * (docs/design/reduced-motion.md): on a touch screen the dialog fades in
21
+ * where it lands, in 200 ms or less; with a mouse it appears at once.
22
+ *
19
23
  * Initial focus and the focus returned on close follow the last input
20
24
  * (docs/architecture/interaction-modality.md INV1): the shared focus indicator
21
25
  * is hidden after a pointer press and shown after a key press.
@@ -133,15 +137,15 @@ const styles = {
133
137
  kZKoxP: "xg7h5cd",
134
138
  kZeWKH: "xish69e",
135
139
  kSiTet: "xg01cxk",
136
- k44tkh: "xqgcaz",
137
- kyAemX: "x128ha8g",
140
+ k44tkh: "xqgcaz x1jq6yc9",
141
+ kyAemX: "x128ha8g xr5m3f0",
138
142
  kWV6AL: "xskzprw",
139
143
  $$css: true
140
144
  },
141
145
  open: {
142
146
  k1xSpc: "x78zum5",
143
147
  kSiTet: "x1hc1fzr",
144
- kKVMdj: "x1ewfqum x1aquc0h",
148
+ kKVMdj: "x1ewfqum x6mpr79 xtuz6mp",
145
149
  $$css: true
146
150
  },
147
151
  backdrop: {
@@ -160,7 +164,7 @@ const styles = {
160
164
  $$css: true
161
165
  },
162
166
  fullscreenOpen: {
163
- kKVMdj: "xqcmdr3 x1aquc0h",
167
+ kKVMdj: "xqcmdr3 x6mpr79 xtuz6mp",
164
168
  $$css: true
165
169
  },
166
170
  fullscreenSafeArea: {
@@ -441,7 +445,10 @@ export function Dialog({
441
445
  escapeBehavior: allowEscape ? 'close' : 'block',
442
446
  onDismiss: () => {
443
447
  onOpenChange(false);
444
- }
448
+ },
449
+ // The dialog's document is this layer's: rendered into an iframe or a
450
+ // Picture-in-Picture window, it ranks with the layers opened inside it.
451
+ getContainer: () => dialogRef.current
445
452
  });
446
453
 
447
454
  // Dev-time guardrail: an open modal should always have an accessible name.
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}