@astryxdesign/core 0.7.7-canary.36f8ea1 → 0.7.7-canary.381c0d2

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 (409) hide show
  1. package/dist/AppShell/useCloseMobileDrawerOnActivate.d.ts +13 -0
  2. package/dist/AppShell/useCloseMobileDrawerOnActivate.d.ts.map +1 -0
  3. package/dist/AppShell/useCloseMobileDrawerOnActivate.js +45 -0
  4. package/dist/Avatar/Avatar.d.ts.map +1 -1
  5. package/dist/Avatar/Avatar.js +1 -1
  6. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  7. package/dist/BottomSheet/BottomSheet.js +3 -3
  8. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  9. package/dist/BottomSheet/BottomSheetPanel.js +1 -1
  10. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +2 -1
  11. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  12. package/dist/Breadcrumbs/BreadcrumbItem.js +9 -4
  13. package/dist/Button/Button.d.ts.map +1 -1
  14. package/dist/Button/Button.js +3 -2
  15. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  16. package/dist/CheckboxList/CheckboxList.js +7 -1
  17. package/dist/CheckboxList/CheckboxListContext.d.ts +6 -0
  18. package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
  19. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  20. package/dist/CheckboxList/CheckboxListItem.js +10 -2
  21. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  22. package/dist/CommandPalette/CommandPaletteInput.js +8 -1
  23. package/dist/DateInput/DateInput.d.ts.map +1 -1
  24. package/dist/DateInput/DateInput.js +5 -2
  25. package/dist/DateInput/MonthScroller.d.ts.map +1 -1
  26. package/dist/DateInput/MonthScroller.js +72 -2
  27. package/dist/DateInput/Wheel.d.ts +17 -1
  28. package/dist/DateInput/Wheel.d.ts.map +1 -1
  29. package/dist/DateInput/Wheel.js +179 -19
  30. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  31. package/dist/DateRangeInput/DateRangeInput.js +63 -49
  32. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  33. package/dist/DateTimeInput/DateTimeInput.js +5 -2
  34. package/dist/Dialog/Dialog.d.ts.map +1 -1
  35. package/dist/Dialog/Dialog.js +53 -15
  36. package/dist/Drawer/Drawer.d.ts.map +1 -1
  37. package/dist/Drawer/Drawer.js +15 -11
  38. package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
  39. package/dist/Drawer/useDrawerDialogPresence.js +9 -1
  40. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  41. package/dist/DropdownMenu/DropdownMenu.js +20 -4
  42. package/dist/Field/PanelSearchInput.d.ts +9 -1
  43. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  44. package/dist/Field/PanelSearchInput.js +11 -2
  45. package/dist/Field/textEntryTraits.d.ts +6 -6
  46. package/dist/Field/textEntryTraits.js +6 -6
  47. package/dist/InfoTip/InfoTip.d.ts +63 -0
  48. package/dist/InfoTip/InfoTip.d.ts.map +1 -0
  49. package/dist/InfoTip/InfoTip.js +126 -0
  50. package/dist/InfoTip/index.d.ts +10 -0
  51. package/dist/InfoTip/index.d.ts.map +1 -0
  52. package/dist/InfoTip/index.js +12 -0
  53. package/dist/Layer/layerAnimations.stylex.d.ts +7 -8
  54. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  55. package/dist/Layer/layerAnimations.stylex.js +25 -20
  56. package/dist/Layer/layerClickBoundary.d.ts +7 -1
  57. package/dist/Layer/layerClickBoundary.d.ts.map +1 -1
  58. package/dist/Layer/layerClickBoundary.js +2 -2
  59. package/dist/Layer/useBackdropPress.d.ts +27 -0
  60. package/dist/Layer/useBackdropPress.d.ts.map +1 -0
  61. package/dist/Layer/useBackdropPress.js +53 -0
  62. package/dist/Layer/usePressPin.d.ts +93 -0
  63. package/dist/Layer/usePressPin.d.ts.map +1 -0
  64. package/dist/Layer/usePressPin.js +363 -0
  65. package/dist/Layer/useTouchTrigger.d.ts +23 -1
  66. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  67. package/dist/Layer/useTouchTrigger.js +45 -7
  68. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  69. package/dist/Lightbox/Lightbox.js +2 -1
  70. package/dist/MobileNav/MobileNav.js +0 -1
  71. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  72. package/dist/MultiSelector/hooks.js +2 -4
  73. package/dist/Outline/Outline.d.ts +2 -4
  74. package/dist/Outline/Outline.d.ts.map +1 -1
  75. package/dist/Outline/Outline.js +4 -52
  76. package/dist/Outline/useOutlineFromMarkdown.d.ts.map +1 -1
  77. package/dist/Outline/useOutlineFromMarkdown.js +1 -0
  78. package/dist/Outline/useScrollSpy.js +3 -3
  79. package/dist/Popover/usePopover.d.ts.map +1 -1
  80. package/dist/Popover/usePopover.js +56 -7
  81. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  82. package/dist/PowerSearch/PowerSearch.js +52 -36
  83. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  84. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  85. package/dist/ProgressBar/ProgressBar.js +52 -14
  86. package/dist/ProgressBar/ProgressBarTouch.d.ts +29 -0
  87. package/dist/ProgressBar/ProgressBarTouch.d.ts.map +1 -0
  88. package/dist/ProgressBar/ProgressBarTouch.js +91 -0
  89. package/dist/RadioList/RadioList.d.ts.map +1 -1
  90. package/dist/RadioList/RadioList.js +5 -0
  91. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  92. package/dist/Resizable/ResizeHandle.js +118 -260
  93. package/dist/Resizable/resizeGesture.d.ts +91 -0
  94. package/dist/Resizable/resizeGesture.d.ts.map +1 -0
  95. package/dist/Resizable/resizeGesture.js +251 -0
  96. package/dist/SegmentedControl/SegmentedControl.d.ts +3 -1
  97. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  98. package/dist/SegmentedControl/SegmentedControl.js +115 -8
  99. package/dist/SegmentedControl/SegmentedControlContext.d.ts +6 -0
  100. package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  101. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -0
  102. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  103. package/dist/SegmentedControl/SegmentedControlItem.js +10 -2
  104. package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts +357 -0
  105. package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -0
  106. package/dist/SegmentedControl/useSegmentedSelectionMotion.js +1349 -0
  107. package/dist/SegmentedControl/useSegmentedTouchTracking.d.ts +70 -0
  108. package/dist/SegmentedControl/useSegmentedTouchTracking.d.ts.map +1 -0
  109. package/dist/SegmentedControl/useSegmentedTouchTracking.js +264 -0
  110. package/dist/Selector/Selector.d.ts.map +1 -1
  111. package/dist/Selector/Selector.js +96 -67
  112. package/dist/Selector/optionShape.d.ts +24 -0
  113. package/dist/Selector/optionShape.d.ts.map +1 -0
  114. package/dist/Selector/optionShape.js +48 -0
  115. package/dist/Selector/selectableOptionEntries.d.ts +20 -0
  116. package/dist/Selector/selectableOptionEntries.d.ts.map +1 -0
  117. package/dist/Selector/selectableOptionEntries.js +38 -0
  118. package/dist/Selector/utils.d.ts +2 -17
  119. package/dist/Selector/utils.d.ts.map +1 -1
  120. package/dist/Selector/utils.js +3 -51
  121. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  122. package/dist/SideNav/SideNavItem.js +3 -9
  123. package/dist/Switch/Switch.d.ts +1 -1
  124. package/dist/Switch/Switch.d.ts.map +1 -1
  125. package/dist/Switch/Switch.js +200 -46
  126. package/dist/Switch/switchFill.d.ts +31 -0
  127. package/dist/Switch/switchFill.d.ts.map +1 -0
  128. package/dist/Switch/switchFill.js +88 -0
  129. package/dist/Switch/switchTouch.d.ts +74 -0
  130. package/dist/Switch/switchTouch.d.ts.map +1 -0
  131. package/dist/Switch/switchTouch.js +125 -0
  132. package/dist/Switch/useSwitchTouch.d.ts +276 -0
  133. package/dist/Switch/useSwitchTouch.d.ts.map +1 -0
  134. package/dist/Switch/useSwitchTouch.js +939 -0
  135. package/dist/TabList/Tab.d.ts.map +1 -1
  136. package/dist/TabList/Tab.js +4 -3
  137. package/dist/Toast/Toast.d.ts.map +1 -1
  138. package/dist/Toast/Toast.js +5 -0
  139. package/dist/Token/Token.d.ts.map +1 -1
  140. package/dist/Token/Token.js +1 -0
  141. package/dist/Tokenizer/Tokenizer.d.ts +46 -59
  142. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  143. package/dist/Tokenizer/Tokenizer.js +44 -60
  144. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +25 -28
  145. package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -1
  146. package/dist/Tokenizer/TokenizerBottomSheet.js +157 -54
  147. package/dist/Tokenizer/TokenizerItemRemovableContext.d.ts +3 -0
  148. package/dist/Tokenizer/TokenizerItemRemovableContext.d.ts.map +1 -0
  149. package/dist/Tokenizer/TokenizerItemRemovableContext.js +19 -0
  150. package/dist/Tooltip/Tooltip.d.ts +24 -5
  151. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  152. package/dist/Tooltip/Tooltip.js +29 -5
  153. package/dist/Tooltip/useTooltip.d.ts +31 -6
  154. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  155. package/dist/Tooltip/useTooltip.js +72 -19
  156. package/dist/TopNav/TopNavItem.d.ts.map +1 -1
  157. package/dist/TopNav/TopNavItem.js +4 -7
  158. package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
  159. package/dist/TopNav/TopNavMegaMenuItem.js +4 -7
  160. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  161. package/dist/TopNav/TopNavMenu.js +4 -7
  162. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  163. package/dist/Typeahead/BaseTypeahead.js +9 -1
  164. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  165. package/dist/Typeahead/Typeahead.js +26 -15
  166. package/dist/astryx.css +137 -7
  167. package/dist/gestures/GestureArena.d.ts +21 -2
  168. package/dist/gestures/GestureArena.d.ts.map +1 -1
  169. package/dist/gestures/GestureArena.js +19 -2
  170. package/dist/gestures/GestureHost.d.ts +51 -1
  171. package/dist/gestures/GestureHost.d.ts.map +1 -1
  172. package/dist/gestures/GestureHost.js +219 -21
  173. package/dist/gestures/PressTracker.d.ts +6 -0
  174. package/dist/gestures/PressTracker.d.ts.map +1 -1
  175. package/dist/gestures/PressTracker.js +3 -0
  176. package/dist/gestures/types.d.ts +6 -0
  177. package/dist/gestures/types.d.ts.map +1 -1
  178. package/dist/gestures/usePressTracker.d.ts.map +1 -1
  179. package/dist/gestures/usePressTracker.js +1 -0
  180. package/dist/gestures/wheelSegmenter.d.ts +14 -3
  181. package/dist/gestures/wheelSegmenter.d.ts.map +1 -1
  182. package/dist/gestures/wheelSegmenter.js +32 -8
  183. package/dist/hooks/actionGroupTracker.d.ts +3 -3
  184. package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
  185. package/dist/hooks/actionGroupTracker.js +6 -53
  186. package/dist/hooks/useAttachment.d.ts +16 -8
  187. package/dist/hooks/useAttachment.d.ts.map +1 -1
  188. package/dist/hooks/useAttachment.js +35 -15
  189. package/dist/hooks/useFocusTrap.d.ts +15 -0
  190. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  191. package/dist/hooks/useFocusTrap.js +13 -2
  192. package/dist/hooks/useHighlightedOptionScroll.d.ts +11 -1
  193. package/dist/hooks/useHighlightedOptionScroll.d.ts.map +1 -1
  194. package/dist/hooks/useHighlightedOptionScroll.js +112 -11
  195. package/dist/hooks/useMediaQuery.d.ts +2 -1
  196. package/dist/hooks/useMediaQuery.d.ts.map +1 -1
  197. package/dist/hooks/useMediaQuery.js +7 -4
  198. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  199. package/dist/hooks/useMenuPress.js +4 -2
  200. package/dist/hooks/usePager.d.ts +261 -0
  201. package/dist/hooks/usePager.d.ts.map +1 -0
  202. package/dist/hooks/usePager.js +1169 -0
  203. package/dist/i18n/generated-english/InfoTip/InfoTip.generated.d.ts +8 -0
  204. package/dist/i18n/generated-english/InfoTip/InfoTip.generated.d.ts.map +1 -0
  205. package/dist/i18n/generated-english/InfoTip/InfoTip.generated.js +12 -0
  206. package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.d.ts.map +1 -1
  207. package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.js +1 -0
  208. package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.d.ts.map +1 -1
  209. package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.js +7 -1
  210. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  211. package/dist/i18n/generated-locales/en.generated.js +3 -1
  212. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  213. package/dist/i18n/generated-locales/pseudo.generated.js +3 -1
  214. package/dist/index.d.ts +1 -0
  215. package/dist/index.d.ts.map +1 -1
  216. package/dist/index.js +1 -0
  217. package/dist/internal/SheetConfirmation.d.ts +11 -0
  218. package/dist/internal/SheetConfirmation.d.ts.map +1 -0
  219. package/dist/internal/SheetConfirmation.js +92 -0
  220. package/dist/internal/sheetDraft.d.ts +35 -0
  221. package/dist/internal/sheetDraft.d.ts.map +1 -0
  222. package/dist/internal/sheetDraft.js +65 -0
  223. package/dist/internal/touch-sheet.d.ts +21 -0
  224. package/dist/internal/touch-sheet.d.ts.map +1 -0
  225. package/dist/internal/touch-sheet.js +19 -0
  226. package/dist/internal/useDismissSearchOnTouchDrag.d.ts +24 -0
  227. package/dist/internal/useDismissSearchOnTouchDrag.d.ts.map +1 -0
  228. package/dist/internal/useDismissSearchOnTouchDrag.js +56 -0
  229. package/dist/motion/animator.d.ts.map +1 -1
  230. package/dist/motion/animator.js +63 -5
  231. package/dist/motion/paging.d.ts +69 -0
  232. package/dist/motion/paging.d.ts.map +1 -0
  233. package/dist/motion/paging.js +148 -0
  234. package/dist/motion/roles.d.ts +7 -1
  235. package/dist/motion/roles.d.ts.map +1 -1
  236. package/dist/motion/roles.js +20 -1
  237. package/dist/motion/uikit/index.d.ts +7 -3
  238. package/dist/motion/uikit/index.d.ts.map +1 -1
  239. package/dist/motion/uikit/index.js +7 -3
  240. package/dist/motion/uikit/paging.d.ts +171 -0
  241. package/dist/motion/uikit/paging.d.ts.map +1 -0
  242. package/dist/motion/uikit/paging.js +192 -0
  243. package/dist/motion/uikit/progressBar.d.ts +79 -0
  244. package/dist/motion/uikit/progressBar.d.ts.map +1 -0
  245. package/dist/motion/uikit/progressBar.js +102 -0
  246. package/dist/motion/uikit/scroll.d.ts +0 -19
  247. package/dist/motion/uikit/scroll.d.ts.map +1 -1
  248. package/dist/motion/uikit/scroll.js +2 -21
  249. package/dist/motion/uikit/segmented.d.ts +55 -0
  250. package/dist/motion/uikit/segmented.d.ts.map +1 -0
  251. package/dist/motion/uikit/segmented.js +77 -0
  252. package/dist/motion/uikit/springs.d.ts +8 -42
  253. package/dist/motion/uikit/springs.d.ts.map +1 -1
  254. package/dist/motion/uikit/springs.js +12 -42
  255. package/dist/motion/uikit/switch.d.ts +166 -0
  256. package/dist/motion/uikit/switch.d.ts.map +1 -0
  257. package/dist/motion/uikit/switch.js +186 -0
  258. package/dist/privateAttributes/pressHoldsDrag.stylex.d.ts +18 -0
  259. package/dist/privateAttributes/pressHoldsDrag.stylex.d.ts.map +1 -0
  260. package/dist/privateAttributes/pressHoldsDrag.stylex.js +28 -0
  261. package/dist/privateAttributes/segmentTitle.stylex.d.ts +5 -0
  262. package/dist/privateAttributes/segmentTitle.stylex.d.ts.map +1 -0
  263. package/dist/privateAttributes/segmentTitle.stylex.js +22 -0
  264. package/dist/utils/browserClickWait.d.ts +35 -0
  265. package/dist/utils/browserClickWait.d.ts.map +1 -0
  266. package/dist/utils/browserClickWait.js +123 -0
  267. package/dist/utils/clickGuard.d.ts +14 -1
  268. package/dist/utils/clickGuard.d.ts.map +1 -1
  269. package/dist/utils/clickGuard.js +46 -1
  270. package/dist/utils/pressFeedback.d.ts.map +1 -1
  271. package/dist/utils/pressFeedback.js +5 -0
  272. package/dist/utils/selectionLock.d.ts +43 -0
  273. package/dist/utils/selectionLock.d.ts.map +1 -1
  274. package/dist/utils/selectionLock.js +394 -6
  275. package/locales/en.json +8 -0
  276. package/locales/pseudo.json +6 -0
  277. package/package.json +13 -8
  278. package/src/AppShell/useCloseMobileDrawerOnActivate.ts +52 -0
  279. package/src/Avatar/Avatar.tsx +3 -1
  280. package/src/BottomSheet/BottomSheet.tsx +10 -5
  281. package/src/BottomSheet/BottomSheetPanel.tsx +7 -2
  282. package/src/Breadcrumbs/BreadcrumbItem.tsx +17 -4
  283. package/src/Button/Button.tsx +3 -2
  284. package/src/CheckboxList/CheckboxList.doc.mjs +4 -2
  285. package/src/CheckboxList/CheckboxList.tsx +6 -0
  286. package/src/CheckboxList/CheckboxListContext.tsx +6 -0
  287. package/src/CheckboxList/CheckboxListItem.tsx +11 -2
  288. package/src/CommandPalette/CommandPaletteInput.tsx +6 -0
  289. package/src/DateInput/DateInput.tsx +8 -2
  290. package/src/DateInput/MonthScroller.tsx +63 -5
  291. package/src/DateInput/Wheel.tsx +174 -14
  292. package/src/DateRangeInput/DateRangeInput.doc.mjs +3 -2
  293. package/src/DateRangeInput/DateRangeInput.tsx +117 -71
  294. package/src/DateTimeInput/DateTimeInput.tsx +8 -2
  295. package/src/Dialog/Dialog.tsx +81 -15
  296. package/src/Drawer/Drawer.tsx +28 -11
  297. package/src/Drawer/useDrawerDialogPresence.ts +9 -1
  298. package/src/DropdownMenu/DropdownMenu.tsx +28 -6
  299. package/src/Field/PanelSearchInput.tsx +17 -0
  300. package/src/Field/textEntryTraits.ts +6 -6
  301. package/src/InfoTip/InfoTip.doc.mjs +192 -0
  302. package/src/InfoTip/InfoTip.tsx +186 -0
  303. package/src/InfoTip/index.ts +14 -0
  304. package/src/Layer/layerAnimations.stylex.ts +24 -16
  305. package/src/Layer/layerClickBoundary.ts +2 -2
  306. package/src/Layer/useBackdropPress.ts +81 -0
  307. package/src/Layer/usePressPin.ts +510 -0
  308. package/src/Layer/useTouchTrigger.ts +56 -6
  309. package/src/Lightbox/Lightbox.tsx +2 -1
  310. package/src/MobileNav/MobileNav.tsx +1 -1
  311. package/src/MultiSelector/hooks.ts +2 -4
  312. package/src/Outline/Outline.doc.mjs +177 -51
  313. package/src/Outline/Outline.tsx +5 -57
  314. package/src/Outline/useOutlineFromMarkdown.doc.mjs +157 -0
  315. package/src/Outline/useOutlineFromMarkdown.ts +1 -0
  316. package/src/Outline/useScrollSpy.ts +3 -3
  317. package/src/Popover/usePopover.tsx +71 -9
  318. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  319. package/src/PowerSearch/PowerSearch.tsx +67 -39
  320. package/src/ProgressBar/ProgressBar.doc.mjs +7 -5
  321. package/src/ProgressBar/ProgressBar.tsx +147 -16
  322. package/src/ProgressBar/ProgressBarTouch.ts +109 -0
  323. package/src/RadioList/RadioList.doc.mjs +4 -2
  324. package/src/RadioList/RadioList.tsx +4 -0
  325. package/src/Resizable/ResizeHandle.tsx +133 -328
  326. package/src/Resizable/resizeGesture.ts +368 -0
  327. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  328. package/src/SegmentedControl/SegmentedControl.tsx +179 -5
  329. package/src/SegmentedControl/SegmentedControlContext.ts +6 -0
  330. package/src/SegmentedControl/SegmentedControlItem.tsx +14 -2
  331. package/src/SegmentedControl/useSegmentedSelectionMotion.ts +1637 -0
  332. package/src/SegmentedControl/useSegmentedTouchTracking.ts +308 -0
  333. package/src/Selector/Selector.tsx +136 -89
  334. package/src/Selector/optionShape.ts +64 -0
  335. package/src/Selector/selectableOptionEntries.ts +39 -0
  336. package/src/Selector/utils.ts +9 -68
  337. package/src/SideNav/SideNavItem.tsx +3 -7
  338. package/src/Switch/Switch.doc.mjs +3 -3
  339. package/src/Switch/Switch.tsx +412 -86
  340. package/src/Switch/switchFill.ts +106 -0
  341. package/src/Switch/switchTouch.ts +186 -0
  342. package/src/Switch/useSwitchTouch.ts +1051 -0
  343. package/src/TabList/Tab.tsx +5 -3
  344. package/src/Toast/Toast.tsx +5 -0
  345. package/src/Token/Token.tsx +2 -0
  346. package/src/Tokenizer/Tokenizer.doc.mjs +16 -0
  347. package/src/Tokenizer/Tokenizer.tsx +93 -88
  348. package/src/Tokenizer/TokenizerBottomSheet.tsx +219 -93
  349. package/src/Tokenizer/TokenizerItemRemovableContext.ts +24 -0
  350. package/src/Tooltip/Tooltip.doc.mjs +123 -39
  351. package/src/Tooltip/Tooltip.tsx +43 -9
  352. package/src/Tooltip/useTooltip.doc.mjs +147 -31
  353. package/src/Tooltip/useTooltip.tsx +92 -22
  354. package/src/TopNav/TopNavItem.tsx +6 -5
  355. package/src/TopNav/TopNavMegaMenuItem.tsx +6 -5
  356. package/src/TopNav/TopNavMenu.tsx +6 -5
  357. package/src/Typeahead/BaseTypeahead.tsx +7 -0
  358. package/src/Typeahead/Typeahead.tsx +29 -15
  359. package/src/gestures/GestureArena.ts +44 -4
  360. package/src/gestures/GestureHost.ts +284 -18
  361. package/src/gestures/PressTracker.ts +10 -0
  362. package/src/gestures/README.md +19 -3
  363. package/src/gestures/types.ts +6 -0
  364. package/src/gestures/usePressTracker.ts +2 -0
  365. package/src/gestures/wheelSegmenter.ts +36 -7
  366. package/src/hooks/actionGroupTracker.ts +12 -56
  367. package/src/hooks/useAttachment.ts +56 -14
  368. package/src/hooks/useFocusTrap.ts +26 -2
  369. package/src/hooks/useHighlightedOptionScroll.ts +123 -15
  370. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  371. package/src/hooks/useMediaQuery.ts +13 -4
  372. package/src/hooks/useMenuPress.ts +8 -2
  373. package/src/hooks/usePager.ts +1446 -0
  374. package/src/i18n/generated-english/InfoTip/InfoTip.generated.ts +13 -0
  375. package/src/i18n/generated-english/PowerSearch/PowerSearch.generated.ts +1 -0
  376. package/src/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.ts +7 -1
  377. package/src/i18n/generated-locales/en.generated.ts +2 -0
  378. package/src/i18n/generated-locales/pseudo.generated.ts +2 -0
  379. package/src/index.ts +1 -0
  380. package/src/internal/SheetConfirmation.tsx +101 -0
  381. package/src/internal/sheetDraft.ts +80 -0
  382. package/src/internal/touch-sheet.ts +21 -0
  383. package/src/internal/useDismissSearchOnTouchDrag.ts +69 -0
  384. package/src/motion/MEASUREMENTS.md +43 -27
  385. package/src/motion/README.md +8 -3
  386. package/src/motion/animator.ts +78 -6
  387. package/src/motion/paging.ts +161 -0
  388. package/src/motion/roles.ts +20 -1
  389. package/src/motion/uikit/index.ts +6 -4
  390. package/src/motion/uikit/paging.ts +193 -0
  391. package/src/motion/uikit/progressBar.ts +102 -0
  392. package/src/motion/uikit/scroll.ts +2 -18
  393. package/src/motion/uikit/segmented.ts +74 -0
  394. package/src/motion/uikit/springs.ts +12 -42
  395. package/src/motion/uikit/switch.ts +174 -0
  396. package/src/privateAttributes/pressHoldsDrag.stylex.ts +28 -0
  397. package/src/privateAttributes/segmentTitle.stylex.ts +22 -0
  398. package/src/utils/browserClickWait.ts +133 -0
  399. package/src/utils/clickGuard.ts +64 -1
  400. package/src/utils/pressFeedback.ts +5 -0
  401. package/src/utils/selectionLock.ts +501 -6
  402. package/dist/internal/tokenizer-presentation.d.ts +0 -21
  403. package/dist/internal/tokenizer-presentation.d.ts.map +0 -1
  404. package/dist/internal/tokenizer-presentation.js +0 -21
  405. package/dist/motion/selectPage.d.ts +0 -26
  406. package/dist/motion/selectPage.d.ts.map +0 -1
  407. package/dist/motion/selectPage.js +0 -55
  408. package/src/internal/tokenizer-presentation.ts +0 -25
  409. package/src/motion/selectPage.ts +0 -55
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Returns a function that wraps a row's click handler. While
3
+ * `isInMobileDrawer` is true, the wrapped handler calls the row's handler and
4
+ * then closes the AppShell mobile drawer. Otherwise the row's handler comes
5
+ * back unchanged. Every drawer row closes the drawer through this one rule.
6
+ */
7
+ export declare function useCloseMobileDrawerOnActivate(isInMobileDrawer: boolean): <Args extends unknown[]>(onClick: ((...args: Args) => void) | undefined) => ((...args: Args) => void) | undefined;
8
+ /**
9
+ * Whether the caller renders inside the AppShell mobile drawer: in TopNav
10
+ * content or SideNav content shown there.
11
+ */
12
+ export declare function useIsInAppShellMobileDrawer(): boolean;
13
+ //# sourceMappingURL=useCloseMobileDrawerOnActivate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCloseMobileDrawerOnActivate.d.ts","sourceRoot":"","sources":["../../src/AppShell/useCloseMobileDrawerOnActivate.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,OAAO,GACxB,CAAC,IAAI,SAAS,OAAO,EAAE,EACxB,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,KAC3C,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAWzC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAQrD"}
@@ -0,0 +1,45 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file useCloseMobileDrawerOnActivate.ts
7
+ * @input AppShellMobileContext, TopNav and SideNav render modes
8
+ * @output useCloseMobileDrawerOnActivate, useIsInAppShellMobileDrawer
9
+ * @position Internal AppShell helper for rows in the mobile drawer. Not
10
+ * exported from the package.
11
+ */
12
+ import { useAppShellMobile } from "./AppShellMobileContext.js";
13
+ import { useSideNavRenderMode } from "../SideNav/SideNavRenderContext.js";
14
+ import { useTopNavRenderMode } from "../TopNav/TopNavRenderContext.js";
15
+
16
+ /**
17
+ * Returns a function that wraps a row's click handler. While
18
+ * `isInMobileDrawer` is true, the wrapped handler calls the row's handler and
19
+ * then closes the AppShell mobile drawer. Otherwise the row's handler comes
20
+ * back unchanged. Every drawer row closes the drawer through this one rule.
21
+ */
22
+ export function useCloseMobileDrawerOnActivate(isInMobileDrawer) {
23
+ const {
24
+ closeMobileNav
25
+ } = useAppShellMobile();
26
+ return onClick => {
27
+ if (!isInMobileDrawer) {
28
+ return onClick;
29
+ }
30
+ return (...args) => {
31
+ onClick?.(...args);
32
+ closeMobileNav();
33
+ };
34
+ };
35
+ }
36
+
37
+ /**
38
+ * Whether the caller renders inside the AppShell mobile drawer: in TopNav
39
+ * content or SideNav content shown there.
40
+ */
41
+ export function useIsInAppShellMobileDrawer() {
42
+ const topNavRenderMode = useTopNavRenderMode();
43
+ const sideNavRenderMode = useSideNavRenderMode();
44
+ return topNavRenderMode === 'drawer' || sideNavRenderMode === 'drawer' || sideNavRenderMode === 'drawer-content';
45
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAqB3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAmCrD;;;;;;GAMG;AACH,KAAK,eAAe,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,KAAK,iBAAiB,GACpB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBpD;AASD,eAAO,MAAM,WAAW;;;;;;;;;;EAUtB,CAAC;AA2JH,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAChD;AAsJD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,WAAW,EACX,IAAI,EACJ,IAAW,EACX,KAAgB,EAChB,GAAG,EACH,MAAM,EACN,OAAc,EACd,IAAI,EACJ,EAAE,EACF,MAAM,EACN,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BA6Vb;yBAjXe,MAAM"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAqB3C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAmCrD;;;;;;GAMG;AACH,KAAK,eAAe,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,KAAK,iBAAiB,GACpB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBpD;AASD,eAAO,MAAM,WAAW;;;;;;;;;;EAUtB,CAAC;AA2JH,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAChD;AAsJD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,WAAW,EACX,IAAI,EACJ,IAAW,EACX,KAAgB,EAChB,GAAG,EACH,MAAM,EACN,OAAc,EACd,IAAI,EACJ,EAAE,EACF,MAAM,EACN,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BA+Vb;yBAnXe,MAAM"}
@@ -590,7 +590,7 @@ export function Avatar({
590
590
  size: numericSize
591
591
  })
592
592
  })]
593
- }), status && /*#__PURE__*/_jsx("div", {
593
+ }), Boolean(status) && /*#__PURE__*/_jsx("div", {
594
594
  ...stylex.props(styles.status, resolvedShape === 'circle' ? dynamicStyles.statusPositionCircle(numericSize) : dynamicStyles.statusPositionCorner),
595
595
  children: status
596
596
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAuBH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAuDhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAwJhF,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;AA21BxD;;;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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAuBH,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAuDhD,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AA6JhF,UAAU,sBAAuB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,wGAAwG;IACxG,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB;AAED,UAAU,wBAAyB,SAAQ,sBAAsB;IAC/D;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAC1B,0BAA0B,GAAG,wBAAwB,CAAC;AA21BxD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6BlD;yBA7Be,WAAW"}
@@ -96,9 +96,9 @@ const styles = {
96
96
  $$css: true
97
97
  },
98
98
  dialogPanelHost: {
99
- k1xSpc: "xrvj5dj",
100
- kfiyM8: "x4465f1",
101
- kAPf3g: "x1o2pa38",
99
+ k1xSpc: "x78zum5",
100
+ kjj79g: "xl56j7k",
101
+ kGNEyG: "xuk3077",
102
102
  $$css: true
103
103
  },
104
104
  dialogNonModal: {
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetPanel.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetPanel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA+B5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAQvB,QAAA,MAAM,cAAc;;;;CAIV,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC;AAC5D,YAAY,EAAC,oBAAoB,EAAC,CAAC;AA4CnC,eAAO,MAAM,2BAA2B,2DACkB,CAAC;AAsM3D,MAAM,MAAM,sBAAsB,GAChC,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAC7B;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GAChB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,GACjC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IAAC,IAAI,EAAE,SAAS,CAAA;CAAC,CAAC;AAEtB,UAAU,qBAAsB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC7D;AA2HD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,eAAe,EACf,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,cAAsB,EACtB,cAAc,EACd,eAAe,EACf,qBAA4B,EAC5B,kBAA0B,EAC1B,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,qBAAqB,+BAyZvB;yBAjbe,gBAAgB"}
1
+ {"version":3,"file":"BottomSheetPanel.d.ts","sourceRoot":"","sources":["../../src/BottomSheet/BottomSheetPanel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA+B5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AAQvB,QAAA,MAAM,cAAc;;;;CAIV,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,cAAc,CAAC;AAC5D,YAAY,EAAC,oBAAoB,EAAC,CAAC;AA4CnC,eAAO,MAAM,2BAA2B,2DACkB,CAAC;AA2M3D,MAAM,MAAM,sBAAsB,GAChC,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,qBAAqB,GAC7B;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GAChB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,GACjC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IAAC,IAAI,EAAE,SAAS,CAAA;CAAC,CAAC;AAEtB,UAAU,qBAAsB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5C,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACzD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;CAC7D;AA2HD,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,eAAe,EACf,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,cAAsB,EACtB,cAAc,EACd,eAAe,EACf,qBAA4B,EAC5B,kBAA0B,EAC1B,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,qBAAqB,+BAyZvB;yBAjbe,gBAAgB"}
@@ -156,7 +156,7 @@ const styles = {
156
156
  k1xSpc: "xufnvkl",
157
157
  kB7OPa: "x9f619",
158
158
  kZKoxP: "x5yr21d",
159
- kAzted: "x121v3j4",
159
+ kAzted: "x1lh6h5t",
160
160
  $$css: true
161
161
  },
162
162
  tallKeyboardBody: {
@@ -3,7 +3,8 @@
3
3
  * @input Uses React use/useRef/useEffect, stylex, theme tokens, BreadcrumbContext,
4
4
  * rtlStyles for the contextual default slash, and (for the menu trigger)
5
5
  * usePopover + the shared DropdownMenu item API (renderDropdownItems,
6
- * DropdownMenuContext, MENU_ITEM_SELECTOR, useListFocus)
6
+ * DropdownMenuContext, MENU_ITEM_SELECTOR, useListFocus), and
7
+ * the AppShell mobile drawer helpers
7
8
  * @output Exports BreadcrumbItem component and BreadcrumbItemProps
8
9
  * @position Individual breadcrumb item; used inside Breadcrumbs
9
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.d.ts","sourceRoot":"","sources":["../../src/Breadcrumbs/BreadcrumbItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAa5C,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAQrE,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAsID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,qBAgMrB;yBA/Me,cAAc"}
1
+ {"version":3,"file":"BreadcrumbItem.d.ts","sourceRoot":"","sources":["../../src/Breadcrumbs/BreadcrumbItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAa5C,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAM7C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAarE,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAsID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,mBAAmB,qBAuMrB;yBAtNe,cAAc"}
@@ -7,7 +7,8 @@
7
7
  * @input Uses React use/useRef/useEffect, stylex, theme tokens, BreadcrumbContext,
8
8
  * rtlStyles for the contextual default slash, and (for the menu trigger)
9
9
  * usePopover + the shared DropdownMenu item API (renderDropdownItems,
10
- * DropdownMenuContext, MENU_ITEM_SELECTOR, useListFocus)
10
+ * DropdownMenuContext, MENU_ITEM_SELECTOR, useListFocus), and
11
+ * the AppShell mobile drawer helpers
11
12
  * @output Exports BreadcrumbItem component and BreadcrumbItemProps
12
13
  * @position Individual breadcrumb item; used inside Breadcrumbs
13
14
  *
@@ -44,7 +45,9 @@ import { renderDropdownItems } from "../DropdownMenu/renderDropdownItems.js";
44
45
  import { DropdownMenuContext, DropdownMenuRootOpenContext } from "../DropdownMenu/DropdownMenuContext.js";
45
46
  import { MENU_ITEM_ROLES, MENU_ITEM_SELECTOR, MENU_BOUNDARY_SELECTOR } from "../DropdownMenu/menuItemRoles.js";
46
47
  import { useMergedRefs } from "../hooks/useMergedRefs.js";
48
+ import { useCloseMobileDrawerOnActivate, useIsInAppShellMobileDrawer } from "../AppShell/useCloseMobileDrawerOnActivate.js";
47
49
  import { useInteractionModalityTracking } from "../utils/interactionModality.js";
50
+ import { isRenderable } from "../utils/isRenderable.js";
48
51
  // =============================================================================
49
52
  // Props
50
53
  // =============================================================================
@@ -186,6 +189,8 @@ export function BreadcrumbItem({
186
189
  // link/button/span in the auto-candidate path). Auto-current detection sets
187
190
  // aria-current on this instead of guessing the <li>'s last child.
188
191
  const contentRef = useRef(null);
192
+ const closeDrawerAfter = useCloseMobileDrawerOnActivate(useIsInAppShellMobileDrawer());
193
+ const handleActivate = closeDrawerAfter(onClick);
189
194
  const isCurrent = isCurrentProp === true;
190
195
  const isAutoCandidate = isCurrentProp == null;
191
196
  const hasMenu = menu != null;
@@ -242,7 +247,7 @@ export function BreadcrumbItem({
242
247
  });
243
248
  const mergedItemRef = useMergedRefs(ref, liRef);
244
249
  const content = /*#__PURE__*/_jsxs(_Fragment, {
245
- children: [startIcon && /*#__PURE__*/_jsx("span", {
250
+ children: [isRenderable(startIcon) && /*#__PURE__*/_jsx("span", {
246
251
  ...{
247
252
  className: "x78zum5 x6s0dn4 x2lah0s"
248
253
  },
@@ -305,13 +310,13 @@ export function BreadcrumbItem({
305
310
  }) : href != null ? /*#__PURE__*/_jsx(LinkComponent, {
306
311
  ref: contentRef,
307
312
  href: href,
308
- onClick: onClick,
313
+ onClick: handleActivate,
309
314
  ...focusOutlineProps.focusVisible(itemStyles.link, isSupporting ? itemStyles.supportingLink : itemStyles.defaultLink),
310
315
  children: content
311
316
  }) : onClick != null ? /*#__PURE__*/_jsx("button", {
312
317
  ref: contentRef,
313
318
  type: "button",
314
- onClick: onClick,
319
+ onClick: handleActivate,
315
320
  ...focusOutlineProps.focusVisible(itemStyles.link, itemStyles.buttonReset, isSupporting ? itemStyles.supportingLink : itemStyles.defaultLink),
316
321
  children: content
317
322
  }) : /*#__PURE__*/_jsx("span", {
@@ -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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"}
@@ -41,6 +41,7 @@ import { interactionOverlayStyles } from "../utils/interactionOverlay.stylex.js"
41
41
  import { usePressFeedback } from "../hooks/usePressFeedback.js";
42
42
  import { registerEnglishFallback, useComponentTranslator } from "../i18n/useComponentTranslator.js";
43
43
  import english from "../i18n/generated-english/Button/Button.generated.js";
44
+ import { isRenderable } from "../utils/isRenderable.js";
44
45
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
45
46
  registerEnglishFallback(english);
46
47
 
@@ -513,7 +514,7 @@ export function Button({
513
514
  }), /*#__PURE__*/_jsxs("span", {
514
515
  ...stylex.props(styles.contentWrapper, isLoadingState && (delaySpinner ? loadingStyles.hiddenContentDelayed : loadingStyles.hiddenContent)),
515
516
  "aria-hidden": isLoadingState || undefined,
516
- children: [icon && /*#__PURE__*/_jsx("span", {
517
+ children: [isRenderable(icon) && /*#__PURE__*/_jsx("span", {
517
518
  ...stylex.props(styles.iconWrapper, iconBoxSizeStyles[iconSize]),
518
519
  children: /*#__PURE__*/_jsx(IconDefaultSizeProvider, {
519
520
  value: iconSize,
@@ -524,7 +525,7 @@ export function Button({
524
525
  className: "xb3r6kr xlyipyv xeuugli"
525
526
  },
526
527
  children: children ?? label
527
- }), !isIconOnly && endContent && /*#__PURE__*/_jsx("span", {
528
+ }), !isIconOnly && isRenderable(endContent) && /*#__PURE__*/_jsx("span", {
528
529
  ...{
529
530
  className: "x3nfvp2 x6s0dn4 x1heor9g"
530
531
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxList.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAarD,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,mBAAmB,CAAC,cAAc,CAAC,EACnC,UAAU,CACX;IACC,mDAAmD;IACnD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,SAAS,EACb,EAAE,iBAAiB,+BAiJnB;yBA1Ke,YAAY"}
1
+ {"version":3,"file":"CheckboxList.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAarD,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,mBAAmB,CAAC,cAAc,CAAC,EACnC,UAAU,CACX;IACC,mDAAmD;IACnD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,eAAe,EACf,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,mBAAmB,EACvC,GAAG,SAAS,EACb,EAAE,iBAAiB,+BAuJnB;yBAhLe,YAAY"}
@@ -126,8 +126,9 @@ export function CheckboxList({
126
126
  hasDisabledMessage: showsDisabledMessage,
127
127
  disabledMessageID: showsDisabledMessage ? disabledMessageTooltip.describedBy : undefined,
128
128
  isReadOnly,
129
+ isInvalid: status?.type === 'error',
129
130
  loadingValues
130
- }), [isCollectionMode, optimisticValue, handleChange, isDisabled, showsDisabledMessage, disabledMessageTooltip.describedBy, isReadOnly, loadingValues]);
131
+ }), [isCollectionMode, optimisticValue, handleChange, isDisabled, showsDisabledMessage, disabledMessageTooltip.describedBy, isReadOnly, status?.type, loadingValues]);
131
132
  return /*#__PURE__*/_jsxs(Field, {
132
133
  label: label,
133
134
  isLabelHidden: isLabelHidden,
@@ -158,6 +159,11 @@ export function CheckboxList({
158
159
  ref: useMergedRefs(ref, disabledMessageTooltip.ref),
159
160
  ...mergeProps(stylex.props(controlXstyle), controlClassName, controlStyle),
160
161
  role: "group"
162
+ // Screen readers announce the whole group as unavailable. Its dimmed
163
+ // label then labels a disabled control. An enabled list keeps a
164
+ // caller's own value.
165
+ ,
166
+ "aria-disabled": isDisabled || rest['aria-disabled']
161
167
  // A caller aria-labelledby names the group together with its label.
162
168
  ,
163
169
  "aria-labelledby": joinAriaIDs(labelID, ariaLabelledByProp),
@@ -24,6 +24,12 @@ export interface CheckboxListContextValue {
24
24
  */
25
25
  disabledMessageID?: string;
26
26
  isReadOnly: boolean;
27
+ /**
28
+ * True when the list has an error `status`. Each checkbox is then
29
+ * `aria-invalid`. Some screen readers skip a group's invalid state when a
30
+ * checkbox takes focus.
31
+ */
32
+ isInvalid?: boolean;
27
33
  /**
28
34
  * Values of the items whose `changeAction` is pending. Each matching item
29
35
  * renders an in-checkbox spinner and blocks re-toggling; the list is empty
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxListContext.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxListContext.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,mBAAmB,0DACiC,CAAC"}
1
+ {"version":3,"file":"CheckboxListContext.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxListContext.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,mBAAmB,0DACiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxListItem.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxListItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAqB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAuBvC,MAAM,WAAW,qBAAsB,SAAQ,SAAS,CAAC,aAAa,CAAC;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAiCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,EAAE,cAAsB,EAClC,SAAS,EAAE,aAAqB,EAChC,SAAS,EACT,OAAO,EACP,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,KAAK,EACL,GAAG,SAAS,EACb,EAAE,qBAAqB,+BA6IvB;yBA9Je,gBAAgB"}
1
+ {"version":3,"file":"CheckboxListItem.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxListItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAqB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAS5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAuBvC,MAAM,WAAW,qBAAsB,SAAQ,SAAS,CAAC,aAAa,CAAC;IACrE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;;;;;;;OAaG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAyCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EAAE,SAAS,EACvB,KAAK,EACL,WAAW,EACX,UAAU,EACV,UAAU,EAAE,cAAsB,EAClC,SAAS,EAAE,aAAqB,EAChC,SAAS,EACT,OAAO,EACP,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,KAAK,EACL,GAAG,SAAS,EACb,EAAE,qBAAqB,+BA6IvB;yBA9Je,gBAAgB"}
@@ -50,6 +50,10 @@ const styles = {
50
50
  // Component
51
51
  // =============================================================================
52
52
 
53
+ const ERROR_STATUS = {
54
+ type: 'error'
55
+ };
56
+
53
57
  /**
54
58
  * The row's visible description is the checkbox's accessible description. Item
55
59
  * renders that element and owns its id, and publishes the id through
@@ -66,10 +70,14 @@ const styles = {
66
70
  */
67
71
  function DescribedCheckboxInput(props) {
68
72
  const describedBy = use(ItemDescriptionContext);
69
- const reasonID = use(CheckboxListContext)?.disabledMessageID;
73
+ const listContext = use(CheckboxListContext);
70
74
  return /*#__PURE__*/_jsx(CheckboxInput, {
71
75
  ...props,
72
- "aria-describedby": joinAriaIDs(describedBy ?? undefined, reasonID)
76
+ "aria-describedby": joinAriaIDs(describedBy ?? undefined, listContext?.disabledMessageID)
77
+ // The status has no message, so CheckboxInput renders nothing. The list
78
+ // renders the message.
79
+ ,
80
+ status: listContext?.isInvalid ? ERROR_STATUS : undefined
73
81
  });
74
82
  }
75
83
 
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPaletteInput.d.ts","sourceRoot":"","sources":["../../src/CommandPalette/CommandPaletteInput.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA0E5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,CAAC,gBAAgB,CAAC,EAC3B,UAAU,CACX;IACC,iEAAiE;IACjE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EAAE,eAAe,EACtB,aAAa,EACb,WAAW,EAAE,oBAAoB,EACjC,KAAK,EACL,YAAmB,EACnB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,wBAAwB,+BAsL1B;yBAtMe,mBAAmB"}
1
+ {"version":3,"file":"CommandPaletteInput.d.ts","sourceRoot":"","sources":["../../src/CommandPalette/CommandPaletteInput.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA2E5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,CAAC,gBAAgB,CAAC,EAC3B,UAAU,CACX;IACC,iEAAiE;IACjE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAElC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EAAE,eAAe,EACtB,aAAa,EACb,WAAW,EAAE,oBAAoB,EACjC,KAAK,EACL,YAAmB,EACnB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,wBAAwB,+BA2L1B;yBA3Me,mBAAmB"}
@@ -30,6 +30,7 @@ import { useMergedRefs } from "../hooks/useMergedRefs.js";
30
30
  import { useBusyAnnouncement } from "../hooks/useBusyAnnouncement.js";
31
31
  import { registerEnglishFallback, useComponentTranslator } from "../i18n/useComponentTranslator.js";
32
32
  import english from "../i18n/generated-english/CommandPalette/CommandPaletteInput.generated.js";
33
+ import { textEntryTraitAttributes } from "../Field/textEntryTraits.js";
33
34
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
34
35
  registerEnglishFallback(english);
35
36
  const styles = {
@@ -189,7 +190,13 @@ export function CommandPaletteInput({
189
190
  ...props,
190
191
  ref: useMergedRefs(ref, inputRef, modalityRef),
191
192
  ...(isKeyboardFocus ? focusOutlineProps.focusVisible(styles.input) : focusOutlineProps.suppressed(styles.input)),
192
- type: "text",
193
+ type: "text"
194
+ // Autocorrect would rewrite names and identifiers.
195
+ ,
196
+ ...textEntryTraitAttributes({
197
+ enterKeyHint: 'search',
198
+ hasAutoCorrect: false
199
+ }),
193
200
  role: ctx ? 'combobox' : standaloneRole,
194
201
  "aria-expanded": ctx ? ctx.isOpen && hasListbox : callerSets('aria-expanded') ? props['aria-expanded'] : callerOwnsPopup || undefined,
195
202
  "aria-autocomplete": ctx ? 'list' : callerSets('aria-autocomplete') ? props['aria-autocomplete'] : callerOwnsPopup ? 'list' : undefined,
@@ -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":"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"}
@@ -488,11 +488,14 @@ function PointerDateField({
488
488
  skipAutoFocus: true
489
489
  });
490
490
  }
491
- } else if (e.key === 'Enter') {
491
+ } else if (e.key === 'Enter' && (pendingInput !== null || isEffectivelyDisabled)) {
492
+ // Typed text holds Enter back, or a form would submit the value from
493
+ // before the commit. A disabled or busy field must not submit its
494
+ // form either. Otherwise Enter keeps its default, as in any text field.
492
495
  e.preventDefault();
493
496
  commitPendingInput();
494
497
  }
495
- }, [popover, commitPendingInput, isEffectivelyDisabled]);
498
+ }, [popover, commitPendingInput, isEffectivelyDisabled, pendingInput]);
496
499
  const inputWrapper = /*#__PURE__*/_jsxs("div", {
497
500
  ref: el => {
498
501
  fieldElementRef.current = el;
@@ -1 +1 @@
1
- {"version":3,"file":"MonthScroller.d.ts","sourceRoot":"","sources":["../../src/DateInput/MonthScroller.tsx"],"names":[],"mappings":"AAqDA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EAOf,MAAM,UAAU,CAAC;AAgNlB,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACxD,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,+BAA+B;IAC/B,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,SAAS,CAAC;IACjB,2DAA2D;IAC3D,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;IAC7C,gCAAgC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,GACT,EAAE,kBAAkB,+BA0fpB;yBArgBe,aAAa"}
1
+ {"version":3,"file":"MonthScroller.d.ts","sourceRoot":"","sources":["../../src/DateInput/MonthScroller.tsx"],"names":[],"mappings":"AAqDA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EAOf,MAAM,UAAU,CAAC;AAiNlB,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACxD,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,+BAA+B;IAC/B,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,SAAS,CAAC;IACjB,2DAA2D;IAC3D,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;IAC7C,gCAAgC;IAChC,YAAY,EAAE,SAAS,CAAC;IACxB,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,KAAK,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,GACT,EAAE,kBAAkB,+BAmjBpB;yBA9jBe,aAAa"}
@@ -38,6 +38,7 @@ import { colorVars, radiusVars, fontWeightVars, typeScaleVars, durationVars, bor
38
38
  import { focusOutlineStyles } from "../utils/index.js";
39
39
  import { plainDateFormatStandaloneMonthYear } from "../utils/plainDate.js";
40
40
  import { plainDateAddDays, plainDateDayOfWeek, plainDateFormat, plainDateIsEqual, plainDateToISO, DATE_FORMAT_WITH_WEEKDAY } from "../utils/index.js";
41
+ import { reducedMotionFade } from "../motion/reducedMotion.js";
41
42
  import "./tokens.stylex.js";
42
43
  import { dateInputTouchSizes, dateInputTouchGeometry } from "./tokens.stylex.js";
43
44
  import { useOwnScrollGesture } from "./useOwnScrollGesture.js";
@@ -251,7 +252,25 @@ export function MonthScroller({
251
252
  hasPositionedRef.current = true;
252
253
  scroller.scrollLeft = scrollOffsetForRow(initialMonthIndex - minMonthIndex, paneSize, isRTL);
253
254
  }, [paneSize, initialMonthIndex, minMonthIndex, isRTL]);
255
+
256
+ // The Reduced Motion dip of a step on a touch screen, owned here so a
257
+ // second step or the unmount clears it.
258
+ const dipRef = useRef(null);
259
+ const stopDip = useCallback(() => {
260
+ const dip = dipRef.current;
261
+ if (dip != null) {
262
+ window.clearTimeout(dip.timer);
263
+ dip.animation.cancel();
264
+ dipRef.current = null;
265
+ }
266
+ }, []);
267
+ // Synchronizes with the dip's timer and animation: neither outlives the
268
+ // scroller.
269
+ useEffect(() => stopDip, [stopDip]);
254
270
  const scrollToMonth = useCallback((monthIndex, behavior = 'smooth') => {
271
+ // Every step replaces a running dip, whichever way it moves. Otherwise
272
+ // the dip's landing would undo a jump or an immediate step made after it.
273
+ stopDip();
255
274
  const scroller = scrollerRef.current;
256
275
  if (scroller == null || paneSize === 0) {
257
276
  return;
@@ -274,12 +293,63 @@ export function MonthScroller({
274
293
  recenter(scroller, row);
275
294
  return;
276
295
  }
296
+ const left = scrollOffsetForRow(row, paneSize, isRTL);
297
+ // Under reduced motion the month changes without travel: at once on a fine
298
+ // primary pointer, under an opacity dip on a coarse one (reducedMotionFade).
299
+ const fade = behavior === 'smooth' ? reducedMotionFade(scroller) : null;
300
+ if (fade != null) {
301
+ // The window mounts around the target first, and the scroll lands in
302
+ // the layout effect below, as a far jump does. So nothing moves the
303
+ // window after the jump. If the window followed the jump, WebKit would
304
+ // re-snap it one pane further on every frame. A scroll that lands on
305
+ // the centre row reports nothing.
306
+ const land = () => {
307
+ // The landing is the newest steer. An earlier steer whose scroll
308
+ // never arrived would otherwise hide every scroll after it, a
309
+ // trackpad's included. Closing the wheels makes such a steer: it
310
+ // re-asserts the month already in view.
311
+ steeredRowRef.current = null;
312
+ if (row === centerRowRef.current) {
313
+ scroller.scrollTo({
314
+ left,
315
+ behavior: 'auto'
316
+ });
317
+ return;
318
+ }
319
+ pendingScrollRef.current = row;
320
+ centerRowRef.current = row;
321
+ setCenterRow(row);
322
+ };
323
+ if (fade.duration === 0) {
324
+ land();
325
+ return;
326
+ }
327
+ // A second step within the dip has replaced the first (above): only
328
+ // its scroll lands, at its own dip's middle.
329
+ dipRef.current = {
330
+ animation: scroller.animate([{
331
+ opacity: 1
332
+ }, {
333
+ opacity: 0
334
+ }, {
335
+ opacity: 1
336
+ }], {
337
+ duration: fade.duration,
338
+ easing: fade.easing
339
+ }),
340
+ timer: window.setTimeout(() => {
341
+ dipRef.current = null;
342
+ land();
343
+ }, fade.duration / 2)
344
+ };
345
+ return;
346
+ }
277
347
  steeredRowRef.current = row;
278
348
  scroller.scrollTo({
279
- left: scrollOffsetForRow(row, paneSize, isRTL),
349
+ left,
280
350
  behavior
281
351
  });
282
- }, [paneSize, minMonthIndex, rowCount, isRTL, recenter]);
352
+ }, [paneSize, minMonthIndex, rowCount, isRTL, recenter, stopDip]);
283
353
 
284
354
  // Deliberately un-keyed: it runs after every render, costs a null check, and
285
355
  // must fire on whichever render finally mounts the pending row's pane.
@@ -3,7 +3,10 @@ export interface WheelOption {
3
3
  value: number;
4
4
  /** Row text. */
5
5
  label: string;
6
- /** Rows outside min/max stay visible but cannot be committed. */
6
+ /**
7
+ * Rows outside min/max stay visible but cannot be committed: a wheel that
8
+ * stops on one travels on to the nearest enabled row.
9
+ */
7
10
  isDisabled?: boolean;
8
11
  }
9
12
  export interface WheelProps {
@@ -21,6 +24,19 @@ export interface WheelProps {
21
24
  */
22
25
  isActive?: boolean;
23
26
  }
27
+ /**
28
+ * The enabled row nearest `index`: `index` itself when it is enabled,
29
+ * otherwise the closest enabled row on either side. A tie goes to the side of
30
+ * `towardIndex` (the committed row), and a wheel with no enabled row stays on
31
+ * `towardIndex`.
32
+ *
33
+ * @example
34
+ * ```
35
+ * // Hours 0-23 with 09:00-17:00 bounds: stopping on 7 rests on 9.
36
+ * nearestEnabledIndex(hourOptions, 7, 10); // 9
37
+ * ```
38
+ */
39
+ export declare function nearestEnabledIndex(options: ReadonlyArray<WheelOption>, index: number, towardIndex: number): number;
24
40
  /**
25
41
  * One snap-scrolling picker column.
26
42
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../src/DateInput/Wheel.tsx"],"names":[],"mappings":"AA8MA,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAe,GAChB,EAAE,UAAU,+BAmOZ;yBAzOe,KAAK"}
1
+ {"version":3,"file":"Wheel.d.ts","sourceRoot":"","sources":["../../src/DateInput/Wheel.tsx"],"names":[],"mappings":"AAoNA,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACpC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,MAAM,CAsBR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAe,GAChB,EAAE,UAAU,+BAkVZ;yBAxVe,KAAK"}