@astryxdesign/core 0.7.8 → 0.7.9-canary.07992bb

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 (403) hide show
  1. package/dist/AppShell/observeMainOverflow.d.ts.map +1 -1
  2. package/dist/AppShell/observeMainOverflow.js +9 -6
  3. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  4. package/dist/BottomSheet/BottomSheet.js +5 -0
  5. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  6. package/dist/BottomSheet/BottomSheetPanel.js +40 -8
  7. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  8. package/dist/BottomSheet/useSheetGestures.js +61 -21
  9. package/dist/Calendar/Calendar.d.ts +14 -2
  10. package/dist/Calendar/Calendar.d.ts.map +1 -1
  11. package/dist/Calendar/Calendar.js +63 -74
  12. package/dist/Calendar/getInitialFocusDate.d.ts +4 -1
  13. package/dist/Calendar/getInitialFocusDate.d.ts.map +1 -1
  14. package/dist/Calendar/getInitialFocusDate.js +7 -5
  15. package/dist/Calendar/hooks/useCalendarDays.d.ts +19 -2
  16. package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
  17. package/dist/Calendar/hooks/useCalendarDays.js +57 -64
  18. package/dist/Calendar/hooks/useCalendarNavigation.d.ts +28 -3
  19. package/dist/Calendar/hooks/useCalendarNavigation.d.ts.map +1 -1
  20. package/dist/Calendar/hooks/useCalendarNavigation.js +33 -22
  21. package/dist/Calendar/styles.d.ts +1 -1
  22. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  23. package/dist/CheckboxInput/CheckboxInput.js +54 -11
  24. package/dist/ClickableCard/ClickableCard.d.ts +1 -1
  25. package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
  26. package/dist/ClickableCard/ClickableCard.js +5 -1
  27. package/dist/DateInput/DateInput.d.ts.map +1 -1
  28. package/dist/DateInput/DateInput.js +4 -1
  29. package/dist/DateInput/PickerWheel.d.ts.map +1 -1
  30. package/dist/DateInput/PickerWheel.js +7 -1
  31. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  32. package/dist/DateRangeInput/DateRangeInput.js +5 -2
  33. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  34. package/dist/DateTimeInput/DateTimeInput.js +4 -1
  35. package/dist/Dialog/Dialog.d.ts +2 -1
  36. package/dist/Dialog/Dialog.d.ts.map +1 -1
  37. package/dist/Dialog/Dialog.js +12 -1
  38. package/dist/Drawer/useDrawerDialogPresence.d.ts +2 -1
  39. package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
  40. package/dist/Drawer/useDrawerDialogPresence.js +11 -2
  41. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -1
  42. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  43. package/dist/DropdownMenu/DropdownMenu.js +9 -4
  44. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  45. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +3 -2
  46. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  47. package/dist/DropdownMenu/DropdownMenuItem.js +3 -2
  48. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  49. package/dist/DropdownMenu/DropdownMenuRadioItem.js +3 -2
  50. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  51. package/dist/DropdownMenu/DropdownMenuSubMenu.js +3 -2
  52. package/dist/Field/inputDisabledFocus.d.ts +4 -4
  53. package/dist/Field/inputStyles.stylex.d.ts +1 -1
  54. package/dist/FileInput/FileInput.d.ts.map +1 -1
  55. package/dist/FileInput/FileInput.js +16 -2
  56. package/dist/HoverCard/useHoverCard.d.ts +3 -1
  57. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  58. package/dist/Icon/Icon.d.ts +1 -1
  59. package/dist/InfoTip/InfoTip.d.ts +1 -0
  60. package/dist/InfoTip/InfoTip.d.ts.map +1 -1
  61. package/dist/InfoTip/InfoTip.js +1 -0
  62. package/dist/InputGroup/InputGroup.d.ts +4 -3
  63. package/dist/InputGroup/InputGroup.d.ts.map +1 -1
  64. package/dist/InputGroup/InputGroup.js +2 -2
  65. package/dist/InputGroup/groupStyles.d.ts +1 -1
  66. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  67. package/dist/InputGroup/groupStyles.js +1 -1
  68. package/dist/Item/Item.d.ts +2 -1
  69. package/dist/Item/Item.d.ts.map +1 -1
  70. package/dist/Item/Item.js +29 -6
  71. package/dist/Layer/holdEntranceInput.d.ts +24 -0
  72. package/dist/Layer/holdEntranceInput.d.ts.map +1 -0
  73. package/dist/Layer/holdEntranceInput.js +65 -0
  74. package/dist/Layer/inputHold.d.ts +49 -0
  75. package/dist/Layer/inputHold.d.ts.map +1 -0
  76. package/dist/Layer/inputHold.js +636 -0
  77. package/dist/Layer/preserveAnimations.d.ts +1 -5
  78. package/dist/Layer/preserveAnimations.d.ts.map +1 -1
  79. package/dist/Layer/preserveAnimations.js +12 -214
  80. package/dist/Layer/useLayer.d.ts +3 -1
  81. package/dist/Layer/useLayer.d.ts.map +1 -1
  82. package/dist/Layer/useLayer.js +64 -4
  83. package/dist/Layout/LayoutContent.d.ts +3 -1
  84. package/dist/Layout/LayoutContent.d.ts.map +1 -1
  85. package/dist/Layout/LayoutContent.js +12 -4
  86. package/dist/Layout/LayoutPanel.d.ts +4 -1
  87. package/dist/Layout/LayoutPanel.d.ts.map +1 -1
  88. package/dist/Layout/LayoutPanel.js +13 -4
  89. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  90. package/dist/Lightbox/Lightbox.js +4 -0
  91. package/dist/MetadataList/MetadataList.js +1 -1
  92. package/dist/MobileNav/MobileNav.d.ts +11 -1
  93. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  94. package/dist/MobileNav/MobileNav.js +39 -1
  95. package/dist/MoreMenu/MoreMenu.d.ts +5 -3
  96. package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
  97. package/dist/NumberInput/NumberInput.d.ts +4 -2
  98. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  99. package/dist/NumberInput/NumberInput.js +244 -11
  100. package/dist/Popover/usePopover.d.ts +1 -0
  101. package/dist/Popover/usePopover.d.ts.map +1 -1
  102. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  103. package/dist/PowerSearch/PowerSearch.js +12 -5
  104. package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -1
  105. package/dist/PowerSearch/PowerSearchBottomSheet.js +4 -2
  106. package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
  107. package/dist/PowerSearch/PowerSearchToken.js +3 -1
  108. package/dist/PowerSearch/formatFilterValue.d.ts +9 -3
  109. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  110. package/dist/PowerSearch/formatFilterValue.js +14 -11
  111. package/dist/PowerSearch/formatTokenValue.d.ts +6 -2
  112. package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -1
  113. package/dist/PowerSearch/formatTokenValue.js +6 -3
  114. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  115. package/dist/RadioList/RadioListItem.js +22 -4
  116. package/dist/SelectableCard/SelectableCard.d.ts +1 -1
  117. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  118. package/dist/SelectableCard/SelectableCard.js +5 -1
  119. package/dist/Spinner/Spinner.d.ts.map +1 -1
  120. package/dist/Spinner/Spinner.js +14 -71
  121. package/dist/Spinner/index.d.ts +1 -1
  122. package/dist/Spinner/index.d.ts.map +1 -1
  123. package/dist/Spinner/spinnerRotor.d.ts +28 -0
  124. package/dist/Spinner/spinnerRotor.d.ts.map +1 -0
  125. package/dist/Spinner/spinnerRotor.js +98 -0
  126. package/dist/Stack/StackItem.d.ts +8 -4
  127. package/dist/Stack/StackItem.d.ts.map +1 -1
  128. package/dist/Stack/StackItem.js +17 -4
  129. package/dist/Switch/Switch.d.ts.map +1 -1
  130. package/dist/Switch/Switch.js +13 -10
  131. package/dist/Table/plugins/sortable/useTableSortable.js +1 -1
  132. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  133. package/dist/Timestamp/Timestamp.js +14 -8
  134. package/dist/Timestamp/formatInstant.d.ts +10 -1
  135. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  136. package/dist/Timestamp/formatInstant.js +13 -27
  137. package/dist/Timestamp/tooltipEntries.d.ts +5 -3
  138. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  139. package/dist/Timestamp/tooltipEntries.js +6 -4
  140. package/dist/Token/Token.d.ts.map +1 -1
  141. package/dist/Token/Token.js +9 -0
  142. package/dist/Token/TokenLink.d.ts +1 -1
  143. package/dist/Token/TokenLink.d.ts.map +1 -1
  144. package/dist/Token/TokenLink.js +4 -1
  145. package/dist/Tokenizer/Tokenizer.d.ts +14 -10
  146. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  147. package/dist/Tokenizer/Tokenizer.js +189 -89
  148. package/dist/Tooltip/useTooltip.d.ts +3 -1
  149. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  150. package/dist/Tooltip/useTooltip.js +162 -59
  151. package/dist/TreeList/TreeListItem.d.ts +2 -1
  152. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  153. package/dist/TreeList/TreeListItem.js +27 -3
  154. package/dist/astryx.css +45 -18
  155. package/dist/gestures/GestureHost.d.ts +2 -2
  156. package/dist/gestures/GestureHost.d.ts.map +1 -1
  157. package/dist/gestures/GestureHost.js +21 -6
  158. package/dist/gestures/PanGestureRecognizer.d.ts +11 -1
  159. package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -1
  160. package/dist/gestures/PanGestureRecognizer.js +15 -1
  161. package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts +6 -1
  162. package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts.map +1 -1
  163. package/dist/gestures/nativeScroll.d.ts +3 -6
  164. package/dist/gestures/nativeScroll.d.ts.map +1 -1
  165. package/dist/gestures/nativeScroll.js +7 -52
  166. package/dist/gestures/wheelSegmenter.d.ts +68 -1
  167. package/dist/gestures/wheelSegmenter.d.ts.map +1 -1
  168. package/dist/gestures/wheelSegmenter.js +199 -10
  169. package/dist/hooks/StackItemScrollRegion.d.ts +31 -0
  170. package/dist/hooks/StackItemScrollRegion.d.ts.map +1 -0
  171. package/dist/hooks/StackItemScrollRegion.js +40 -0
  172. package/dist/hooks/menuPressGesture.d.ts +133 -21
  173. package/dist/hooks/menuPressGesture.d.ts.map +1 -1
  174. package/dist/hooks/menuPressGesture.js +155 -30
  175. package/dist/hooks/menuPressValues.d.ts +16 -0
  176. package/dist/hooks/menuPressValues.d.ts.map +1 -0
  177. package/dist/hooks/menuPressValues.js +18 -0
  178. package/dist/hooks/useClickableContainer.d.ts +27 -5
  179. package/dist/hooks/useClickableContainer.d.ts.map +1 -1
  180. package/dist/hooks/useClickableContainer.js +41 -5
  181. package/dist/hooks/useFocusTrap.d.ts +10 -0
  182. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  183. package/dist/hooks/useFocusTrap.js +225 -132
  184. package/dist/hooks/useMenuPress.d.ts +34 -1
  185. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  186. package/dist/hooks/useMenuPress.js +93 -5
  187. package/dist/hooks/usePressFeedback.d.ts +6 -6
  188. package/dist/hooks/usePressFeedback.js +6 -6
  189. package/dist/hooks/useScrollRegionProps.d.ts +35 -0
  190. package/dist/hooks/useScrollRegionProps.d.ts.map +1 -0
  191. package/dist/hooks/useScrollRegionProps.js +51 -0
  192. package/dist/i18n/InternationalizationContext.d.ts +6 -0
  193. package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
  194. package/dist/i18n/InternationalizationProvider.d.ts +21 -3
  195. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  196. package/dist/i18n/InternationalizationProvider.js +8 -3
  197. package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.d.ts +8 -0
  198. package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.d.ts.map +1 -0
  199. package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.js +12 -0
  200. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  201. package/dist/i18n/generated-locales/en.generated.js +1 -0
  202. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  203. package/dist/i18n/generated-locales/pseudo.generated.js +1 -0
  204. package/dist/i18n/index.d.ts +2 -0
  205. package/dist/i18n/index.d.ts.map +1 -1
  206. package/dist/i18n/index.js +1 -0
  207. package/dist/i18n/useCalendarSystem.d.ts +19 -0
  208. package/dist/i18n/useCalendarSystem.d.ts.map +1 -0
  209. package/dist/i18n/useCalendarSystem.js +61 -0
  210. package/dist/internal/spinner-rotor.d.ts +16 -0
  211. package/dist/internal/spinner-rotor.d.ts.map +1 -0
  212. package/dist/internal/spinner-rotor.js +16 -0
  213. package/dist/internal/touch.d.ts +14 -1
  214. package/dist/internal/touch.d.ts.map +1 -1
  215. package/dist/internal/touch.js +20 -2
  216. package/dist/motion/carryAnimations.d.ts +58 -0
  217. package/dist/motion/carryAnimations.d.ts.map +1 -0
  218. package/dist/motion/carryAnimations.js +305 -0
  219. package/dist/motion/transientCopy.d.ts +4 -2
  220. package/dist/motion/transientCopy.d.ts.map +1 -1
  221. package/dist/motion/transientCopy.js +34 -5
  222. package/dist/motion/uikit/gestures.d.ts +41 -0
  223. package/dist/motion/uikit/gestures.d.ts.map +1 -1
  224. package/dist/motion/uikit/gestures.js +25 -0
  225. package/dist/motion/uikit/index.d.ts +1 -1
  226. package/dist/motion/uikit/index.d.ts.map +1 -1
  227. package/dist/motion/uikit/index.js +1 -1
  228. package/dist/motion/uikit/timing.d.ts +14 -10
  229. package/dist/motion/uikit/timing.d.ts.map +1 -1
  230. package/dist/motion/uikit/timing.js +7 -5
  231. package/dist/privateAttributes/menuPressLit.stylex.d.ts +52 -0
  232. package/dist/privateAttributes/menuPressLit.stylex.d.ts.map +1 -0
  233. package/dist/privateAttributes/menuPressLit.stylex.js +99 -0
  234. package/dist/privateAttributes/press.stylex.d.ts +139 -0
  235. package/dist/privateAttributes/press.stylex.d.ts.map +1 -0
  236. package/dist/privateAttributes/press.stylex.js +97 -0
  237. package/dist/theme/themeMotion.d.ts +3 -2
  238. package/dist/theme/themeMotion.d.ts.map +1 -1
  239. package/dist/theme/themeMotion.js +3 -2
  240. package/dist/theme/tokens.stylex.d.ts +2 -2
  241. package/dist/theme/tokens.stylex.js +1 -1
  242. package/dist/utils/calendarSystem.d.ts +114 -0
  243. package/dist/utils/calendarSystem.d.ts.map +1 -0
  244. package/dist/utils/calendarSystem.js +386 -0
  245. package/dist/utils/flatTree.d.ts +6 -3
  246. package/dist/utils/flatTree.d.ts.map +1 -1
  247. package/dist/utils/flatTree.js +13 -3
  248. package/dist/utils/hitArea.d.ts.map +1 -1
  249. package/dist/utils/hitArea.js +82 -5
  250. package/dist/utils/inputStream.d.ts +14 -1
  251. package/dist/utils/inputStream.d.ts.map +1 -1
  252. package/dist/utils/inputStream.js +40 -9
  253. package/dist/utils/interactionOverlay.stylex.d.ts +5 -9
  254. package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
  255. package/dist/utils/interactionOverlay.stylex.js +29 -31
  256. package/dist/utils/plainDate.d.ts +23 -7
  257. package/dist/utils/plainDate.d.ts.map +1 -1
  258. package/dist/utils/plainDate.js +57 -18
  259. package/dist/utils/pressFeedback.d.ts +10 -2
  260. package/dist/utils/pressFeedback.d.ts.map +1 -1
  261. package/dist/utils/pressFeedback.js +40 -15
  262. package/dist/utils/pressGesture.d.ts +12 -6
  263. package/dist/utils/pressGesture.d.ts.map +1 -1
  264. package/dist/utils/pressGesture.js +26 -8
  265. package/dist/utils/scrollView.d.ts +25 -0
  266. package/dist/utils/scrollView.d.ts.map +1 -0
  267. package/dist/utils/scrollView.js +108 -0
  268. package/dist/utils/selectionLock.d.ts.map +1 -1
  269. package/dist/utils/selectionLock.js +1 -10
  270. package/dist/utils/touchHitArea.stylex.d.ts +35 -0
  271. package/dist/utils/touchHitArea.stylex.d.ts.map +1 -0
  272. package/dist/utils/touchHitArea.stylex.js +32 -0
  273. package/dist/utils/triggerFocus.d.ts +5 -0
  274. package/dist/utils/triggerFocus.d.ts.map +1 -1
  275. package/dist/utils/triggerFocus.js +9 -2
  276. package/locales/en.json +4 -0
  277. package/locales/pseudo.json +3 -0
  278. package/package.json +10 -4
  279. package/src/AppShell/observeMainOverflow.ts +9 -6
  280. package/src/BottomSheet/BottomSheet.tsx +5 -0
  281. package/src/BottomSheet/BottomSheetPanel.tsx +64 -7
  282. package/src/BottomSheet/useSheetGestures.ts +83 -20
  283. package/src/Calendar/Calendar.doc.mjs +76 -6
  284. package/src/Calendar/Calendar.tsx +123 -104
  285. package/src/Calendar/getInitialFocusDate.ts +22 -8
  286. package/src/Calendar/hooks/useCalendarDays.ts +89 -63
  287. package/src/Calendar/hooks/useCalendarNavigation.ts +68 -26
  288. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -2
  289. package/src/CheckboxInput/CheckboxInput.tsx +71 -9
  290. package/src/ClickableCard/ClickableCard.tsx +8 -1
  291. package/src/DateInput/DateInput.tsx +2 -0
  292. package/src/DateInput/PickerWheel.tsx +7 -2
  293. package/src/DateRangeInput/DateRangeInput.tsx +3 -1
  294. package/src/DateTimeInput/DateTimeInput.tsx +2 -0
  295. package/src/Dialog/Dialog.doc.mjs +1 -1
  296. package/src/Dialog/Dialog.tsx +12 -1
  297. package/src/Drawer/Drawer.doc.mjs +1 -1
  298. package/src/Drawer/useDrawerDialogPresence.ts +9 -2
  299. package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -2
  300. package/src/DropdownMenu/DropdownMenu.tsx +29 -5
  301. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +5 -1
  302. package/src/DropdownMenu/DropdownMenuItem.tsx +8 -4
  303. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +5 -1
  304. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +5 -1
  305. package/src/FileInput/FileInput.tsx +16 -2
  306. package/src/HoverCard/useHoverCard.tsx +3 -1
  307. package/src/InfoTip/InfoTip.doc.mjs +26 -2
  308. package/src/InfoTip/InfoTip.tsx +1 -0
  309. package/src/InputGroup/InputGroup.doc.mjs +4 -3
  310. package/src/InputGroup/InputGroup.tsx +4 -3
  311. package/src/InputGroup/groupStyles.ts +3 -1
  312. package/src/Item/Item.tsx +51 -9
  313. package/src/Layer/holdEntranceInput.ts +84 -0
  314. package/src/Layer/inputHold.ts +734 -0
  315. package/src/Layer/preserveAnimations.ts +12 -275
  316. package/src/Layer/useLayer.tsx +77 -4
  317. package/src/Layout/LayoutContent.doc.mjs +6 -3
  318. package/src/Layout/LayoutContent.tsx +10 -4
  319. package/src/Layout/LayoutPanel.doc.mjs +6 -3
  320. package/src/Layout/LayoutPanel.tsx +11 -4
  321. package/src/Lightbox/Lightbox.tsx +4 -0
  322. package/src/MetadataList/MetadataList.tsx +1 -1
  323. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  324. package/src/MobileNav/MobileNav.tsx +39 -1
  325. package/src/MoreMenu/MoreMenu.doc.mjs +2 -4
  326. package/src/MoreMenu/MoreMenu.tsx +5 -3
  327. package/src/NumberInput/NumberInput.doc.mjs +1 -1
  328. package/src/NumberInput/NumberInput.tsx +259 -11
  329. package/src/Popover/usePopover.tsx +1 -0
  330. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  331. package/src/PowerSearch/PowerSearch.tsx +20 -3
  332. package/src/PowerSearch/PowerSearchBottomSheet.tsx +4 -1
  333. package/src/PowerSearch/PowerSearchToken.tsx +3 -0
  334. package/src/PowerSearch/formatFilterValue.ts +21 -11
  335. package/src/PowerSearch/formatTokenValue.ts +7 -1
  336. package/src/RadioList/RadioListItem.doc.mjs +3 -2
  337. package/src/RadioList/RadioListItem.tsx +25 -7
  338. package/src/SelectableCard/SelectableCard.tsx +8 -1
  339. package/src/Spinner/Spinner.tsx +7 -89
  340. package/src/Spinner/index.ts +1 -5
  341. package/src/Spinner/spinnerRotor.ts +113 -0
  342. package/src/Stack/Stack.doc.mjs +1 -1
  343. package/src/Stack/StackItem.tsx +27 -13
  344. package/src/Switch/Switch.tsx +7 -6
  345. package/src/Table/plugins/sortable/useTableSortable.tsx +1 -1
  346. package/src/Timestamp/Timestamp.doc.mjs +3 -3
  347. package/src/Timestamp/Timestamp.tsx +13 -8
  348. package/src/Timestamp/formatInstant.ts +49 -28
  349. package/src/Timestamp/tooltipEntries.ts +7 -3
  350. package/src/Token/Token.tsx +18 -1
  351. package/src/Token/TokenLink.tsx +7 -1
  352. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  353. package/src/Tokenizer/Tokenizer.tsx +252 -115
  354. package/src/Tooltip/useTooltip.tsx +178 -80
  355. package/src/TreeList/TreeListItem.tsx +36 -2
  356. package/src/gestures/GestureHost.ts +21 -5
  357. package/src/gestures/PanGestureRecognizer.ts +19 -2
  358. package/src/gestures/README.md +14 -5
  359. package/src/gestures/ScreenEdgePanGestureRecognizer.ts +6 -1
  360. package/src/gestures/nativeScroll.ts +12 -68
  361. package/src/gestures/wheelSegmenter.ts +243 -10
  362. package/src/hooks/StackItemScrollRegion.tsx +57 -0
  363. package/src/hooks/menuPressGesture.ts +244 -38
  364. package/src/hooks/menuPressValues.ts +18 -0
  365. package/src/hooks/useClickableContainer.doc.mjs +8 -2
  366. package/src/hooks/useClickableContainer.ts +72 -6
  367. package/src/hooks/useFocusTrap.ts +268 -151
  368. package/src/hooks/useMenuPress.ts +118 -11
  369. package/src/hooks/usePressFeedback.doc.mjs +3 -3
  370. package/src/hooks/usePressFeedback.ts +6 -6
  371. package/src/hooks/useScrollRegionProps.ts +76 -0
  372. package/src/i18n/InternationalizationContext.ts +6 -0
  373. package/src/i18n/InternationalizationProvider.doc.mjs +29 -1
  374. package/src/i18n/InternationalizationProvider.tsx +33 -3
  375. package/src/i18n/generated-english/hooks/useScrollRegionProps.generated.ts +13 -0
  376. package/src/i18n/generated-locales/en.generated.ts +1 -0
  377. package/src/i18n/generated-locales/pseudo.generated.ts +1 -0
  378. package/src/i18n/index.ts +2 -0
  379. package/src/i18n/useCalendarSystem.ts +95 -0
  380. package/src/internal/spinner-rotor.ts +20 -0
  381. package/src/internal/touch.ts +34 -1
  382. package/src/motion/MEASUREMENTS.md +11 -0
  383. package/src/motion/carryAnimations.ts +389 -0
  384. package/src/motion/transientCopy.ts +45 -5
  385. package/src/motion/uikit/gestures.ts +22 -0
  386. package/src/motion/uikit/index.ts +1 -0
  387. package/src/motion/uikit/timing.ts +7 -5
  388. package/src/privateAttributes/menuPressLit.stylex.ts +104 -0
  389. package/src/privateAttributes/press.stylex.ts +243 -0
  390. package/src/theme/themeMotion.ts +3 -2
  391. package/src/theme/tokens.stylex.ts +1 -1
  392. package/src/utils/calendarSystem.ts +548 -0
  393. package/src/utils/flatTree.ts +15 -3
  394. package/src/utils/hitArea.ts +107 -5
  395. package/src/utils/inputStream.ts +47 -10
  396. package/src/utils/interactionOverlay.stylex.ts +19 -22
  397. package/src/utils/plainDate.ts +84 -19
  398. package/src/utils/pressFeedback.ts +46 -14
  399. package/src/utils/pressGesture.ts +35 -9
  400. package/src/utils/scrollView.ts +135 -0
  401. package/src/utils/selectionLock.ts +5 -10
  402. package/src/utils/touchHitArea.stylex.ts +41 -0
  403. package/src/utils/triggerFocus.ts +17 -4
@@ -295,6 +295,30 @@ export const UIKIT_PRESS = {
295
295
  unit: 'ms'
296
296
  }
297
297
  };
298
+
299
+ /**
300
+ * UIMenu presented by a button whose menu is its primary action: how far the
301
+ * finger that opened it travels before it picks. DropdownMenu's press model
302
+ * reads a copy in `hooks/menuPressValues.ts`.
303
+ */
304
+ export const UIKIT_MENU_PRESS = {
305
+ /**
306
+ * After the menu opens under a still-held finger, the finger travels this
307
+ * far before it starts picking. The distance is a straight line from the
308
+ * first sample the menu receives after it opened. Until then nothing is
309
+ * lit, and lifting acts on nothing.
310
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
311
+ * iPhone 17 Pro, gesture-state hook, steps 150 ms apart, Oct 23 2026
312
+ * (M-MN2): with the menu open under a held finger and a 1 pt first step,
313
+ * moves of (0, 9) and (7, 7) picked nothing; (0, 10), (0, 11), (10, 0),
314
+ * (9, 9) and (10, 10) picked; a 9 pt step followed by 3 pt more picked
315
+ * nothing
316
+ */
317
+ handoff: {
318
+ value: 10,
319
+ unit: 'px'
320
+ }
321
+ };
298
322
  export const UIKIT_VELOCITY = {
299
323
  /**
300
324
  * UIPanGestureRecognizer.velocity(in:) is this times the newest event's
@@ -374,6 +398,7 @@ export const UIKIT_GESTURES = {
374
398
  screenEdgePan: UIKIT_SCREEN_EDGE_PAN,
375
399
  control: UIKIT_CONTROL,
376
400
  press: UIKIT_PRESS,
401
+ menuPress: UIKIT_MENU_PRESS,
377
402
  velocity: UIKIT_VELOCITY
378
403
  };
379
404
 
@@ -17,7 +17,7 @@
17
17
  * SYNC: When a domain file is added, re-export it here and list it in
18
18
  * /packages/core/src/motion/README.md.
19
19
  */
20
- export { HAPTIC_FEEDBACK_KINDS, HAPTIC_VIBRATION_PATTERNS, UIKIT_CLICK, UIKIT_CONTROL, UIKIT_GESTURES, UIKIT_LONG_PRESS, UIKIT_PAN, UIKIT_PINCH, UIKIT_PRESS, UIKIT_ROTATION, UIKIT_SCREEN_EDGE_PAN, UIKIT_SWIPE, UIKIT_TAP, UIKIT_VELOCITY, type GestureConstant, type GestureConstantUnit, type HapticFeedbackKind, } from './gestures.js';
20
+ export { HAPTIC_FEEDBACK_KINDS, HAPTIC_VIBRATION_PATTERNS, UIKIT_CLICK, UIKIT_CONTROL, UIKIT_GESTURES, UIKIT_LONG_PRESS, UIKIT_MENU_PRESS, UIKIT_PAN, UIKIT_PINCH, UIKIT_PRESS, UIKIT_ROTATION, UIKIT_SCREEN_EDGE_PAN, UIKIT_SWIPE, UIKIT_TAP, UIKIT_VELOCITY, type GestureConstant, type GestureConstantUnit, type HapticFeedbackKind, } from './gestures.js';
21
21
  export { datePicker } from './datePicker.js';
22
22
  export { navigation, registerNavigationTable } from './navigation.js';
23
23
  export { picker } from './picker.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,MAAM,cAAc,CAAC;AACjE,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,WAAW,EAAE,wBAAwB,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AACrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,8BAA8B,EAC9B,wCAAwC,EACxC,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,MAAM,cAAc,CAAC;AACjE,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,WAAW,EAAE,wBAAwB,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AACrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,8BAA8B,EAC9B,wCAAwC,EACxC,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC"}
@@ -20,7 +20,7 @@
20
20
  * /packages/core/src/motion/README.md.
21
21
  */
22
22
 
23
- export { HAPTIC_FEEDBACK_KINDS, HAPTIC_VIBRATION_PATTERNS, UIKIT_CLICK, UIKIT_CONTROL, UIKIT_GESTURES, UIKIT_LONG_PRESS, UIKIT_PAN, UIKIT_PINCH, UIKIT_PRESS, UIKIT_ROTATION, UIKIT_SCREEN_EDGE_PAN, UIKIT_SWIPE, UIKIT_TAP, UIKIT_VELOCITY } from "./gestures.js";
23
+ export { HAPTIC_FEEDBACK_KINDS, HAPTIC_VIBRATION_PATTERNS, UIKIT_CLICK, UIKIT_CONTROL, UIKIT_GESTURES, UIKIT_LONG_PRESS, UIKIT_MENU_PRESS, UIKIT_PAN, UIKIT_PINCH, UIKIT_PRESS, UIKIT_ROTATION, UIKIT_SCREEN_EDGE_PAN, UIKIT_SWIPE, UIKIT_TAP, UIKIT_VELOCITY } from "./gestures.js";
24
24
  export { datePicker } from "./datePicker.js";
25
25
  export { navigation, registerNavigationTable } from "./navigation.js";
26
26
  export { picker } from "./picker.js";
@@ -22,17 +22,19 @@ export declare const press: {
22
22
  */
23
23
  readonly flashMs: 100;
24
24
  /**
25
- * Highlight fade after release: UIKit's deselect cross-fade.
25
+ * Highlight fade after release: UIKit's deselect cross-fade. Reference
26
+ * only, not played: a press release plays the theme's exit motion tokens
27
+ * (`--duration-exit`, `--ease-exit`).
26
28
  * @source measured: Settings and Contacts, iOS 26.2, simulator driven
27
- * with real HID touches at 60 fps (PRESS_FADE_MS / pressConsts.releaseMs,
29
+ * with real HID touches at 60 fps (touch press model,
28
30
  * packages/core/src/utils/pressGesture.ts, 2026-10-06)
29
31
  */
30
32
  readonly highlightOutMs: 200;
31
33
  /**
32
34
  * The highlight fade's curve after release: an ease-out that spends the
33
- * whole clock fading (strength about 0.2 at the midpoint).
34
- * @source GUESS — the release curve the touch press model ships with
35
- * (`RELEASE_EASE`, packages/core/src/utils/interactionOverlay.stylex.ts),
35
+ * whole clock fading (strength about 0.2 at the midpoint). Reference only,
36
+ * not played: a press release plays the theme's `--ease-exit`.
37
+ * @source GUESS — the release curve the touch press model shipped with,
36
38
  * chosen to read as UIKit's deselect cross-fade, not read from UIKit
37
39
  * @measure M-PR1
38
40
  */
@@ -106,17 +108,19 @@ export declare const timing: {
106
108
  */
107
109
  readonly flashMs: 100;
108
110
  /**
109
- * Highlight fade after release: UIKit's deselect cross-fade.
111
+ * Highlight fade after release: UIKit's deselect cross-fade. Reference
112
+ * only, not played: a press release plays the theme's exit motion tokens
113
+ * (`--duration-exit`, `--ease-exit`).
110
114
  * @source measured: Settings and Contacts, iOS 26.2, simulator driven
111
- * with real HID touches at 60 fps (PRESS_FADE_MS / pressConsts.releaseMs,
115
+ * with real HID touches at 60 fps (touch press model,
112
116
  * packages/core/src/utils/pressGesture.ts, 2026-10-06)
113
117
  */
114
118
  readonly highlightOutMs: 200;
115
119
  /**
116
120
  * The highlight fade's curve after release: an ease-out that spends the
117
- * whole clock fading (strength about 0.2 at the midpoint).
118
- * @source GUESS — the release curve the touch press model ships with
119
- * (`RELEASE_EASE`, packages/core/src/utils/interactionOverlay.stylex.ts),
121
+ * whole clock fading (strength about 0.2 at the midpoint). Reference only,
122
+ * not played: a press release plays the theme's `--ease-exit`.
123
+ * @source GUESS — the release curve the touch press model shipped with,
120
124
  * chosen to read as UIKit's deselect cross-fade, not read from UIKit
121
125
  * @measure M-PR1
122
126
  */
@@ -1 +1 @@
1
- {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/timing.ts"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;;OAMG;;CAEK,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;IACjC;;;;;;;;;;;;;OAaG;;IAEH;;;;;;;OAOG;;CAEK,CAAC;AAOX,eAAO,MAAM,MAAM;;QAzFjB;;;;;;;WAOG;;QAEH;;;;;;WAMG;;QAEH;;;;;WAKG;;QAEH;;;;;;;WAOG;;QAEH;;;;;;WAMG;;QAEH;;;;;;WAMG;;;;QA6CD;;;;;;;WAOG;;;QAIH;;;;;;WAMG;;QAEH;;;;;;WAMG;;;IAGL;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;;CAIK,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAqB1C;AAKD;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD"}
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/timing.ts"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;OAMG;;IAEH;;;;;;OAMG;;CAEK,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;IACjC;;;;;;;;;;;;;OAaG;;IAEH;;;;;;;OAOG;;CAEK,CAAC;AAOX,eAAO,MAAM,MAAM;;QA3FjB;;;;;;;WAOG;;QAEH;;;;;;WAMG;;QAEH;;;;;;;WAOG;;QAEH;;;;;;;WAOG;;QAEH;;;;;;WAMG;;QAEH;;;;;;WAMG;;;;QA6CD;;;;;;;WAOG;;;QAIH;;;;;;WAMG;;QAEH;;;;;;WAMG;;;IAGL;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;;CAIK,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAqB1C;AAKD;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD"}
@@ -50,17 +50,19 @@ export const press = {
50
50
  */
51
51
  flashMs: 100,
52
52
  /**
53
- * Highlight fade after release: UIKit's deselect cross-fade.
53
+ * Highlight fade after release: UIKit's deselect cross-fade. Reference
54
+ * only, not played: a press release plays the theme's exit motion tokens
55
+ * (`--duration-exit`, `--ease-exit`).
54
56
  * @source measured: Settings and Contacts, iOS 26.2, simulator driven
55
- * with real HID touches at 60 fps (PRESS_FADE_MS / pressConsts.releaseMs,
57
+ * with real HID touches at 60 fps (touch press model,
56
58
  * packages/core/src/utils/pressGesture.ts, 2026-10-06)
57
59
  */
58
60
  highlightOutMs: 200,
59
61
  /**
60
62
  * The highlight fade's curve after release: an ease-out that spends the
61
- * whole clock fading (strength about 0.2 at the midpoint).
62
- * @source GUESS — the release curve the touch press model ships with
63
- * (`RELEASE_EASE`, packages/core/src/utils/interactionOverlay.stylex.ts),
63
+ * whole clock fading (strength about 0.2 at the midpoint). Reference only,
64
+ * not played: a press release plays the theme's `--ease-exit`.
65
+ * @source GUESS — the release curve the touch press model shipped with,
64
66
  * chosen to read as UIKit's deselect cross-fade, not read from UIKit
65
67
  * @measure M-PR1
66
68
  */
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @file privateAttributes/menuPressLit.stylex.ts
3
+ * @input The row that a held finger or pen lights in a menu
4
+ * @output Exports markMenuPressLit and clearMenuPressLit, which mark that row,
5
+ * and isMenuPressLit, which reads the mark. It also exports
6
+ * menuPressLitRowStyle, which paints the marked row. The hold pair,
7
+ * holdMenuPressPaint and releaseMenuPressPaint, keeps the other rows off
8
+ * their pressed paint, and isMenuPressPaintHeld reads that hold.
9
+ * @position Owner module of the private menu-press-lit attribute: the only
10
+ * file that writes its name. The menu press model (hooks/useMenuPress.ts)
11
+ * marks the row; DropdownMenu's rows compose the styles. No package entry
12
+ * exports it.
13
+ *
14
+ * SYNC: Each row that composes menuPressLitRowStyle reads
15
+ * `--_menu-row-focus-paint` in its `:focus` background, and a row with an
16
+ * `:active` background reads `--_menu-row-active-paint` there:
17
+ * - /packages/core/src/DropdownMenu/DropdownMenuItem.tsx
18
+ * - /packages/core/src/DropdownMenu/DropdownMenuCheckboxItem.tsx
19
+ * - /packages/core/src/DropdownMenu/DropdownMenuRadioItem.tsx
20
+ * - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.tsx
21
+ */
22
+ import type { StyleXStyles } from '@stylexjs/stylex';
23
+ /** Marks `row` as the row that a held finger or pen lights. */
24
+ export declare function markMenuPressLit(row: Element): void;
25
+ /** Removes the mark from `row`. */
26
+ export declare function clearMenuPressLit(row: Element): void;
27
+ /** Whether a held finger or pen lights `row`. */
28
+ export declare function isMenuPressLit(row: Element): boolean;
29
+ /**
30
+ * Keeps `menu`'s rows off their `:active` paint while a held finger or pen
31
+ * presses in it. The row the press began on stays `:active` as the press
32
+ * moves on. The lit row keeps the pressed overlay through its own mark.
33
+ */
34
+ export declare function holdMenuPressPaint(menu: HTMLElement): void;
35
+ /** Gives `menu`'s rows their `:active` paint back. */
36
+ export declare function releaseMenuPressPaint(menu: HTMLElement): void;
37
+ /** Whether a held finger or pen keeps `menu`'s rows off their `:active` paint. */
38
+ export declare function isMenuPressPaintHeld(menu: HTMLElement): boolean;
39
+ /**
40
+ * Compose on a menu row whose `:focus` background is
41
+ * `var(--_menu-row-focus-paint, <hover overlay>)`, and whose `:active`
42
+ * background, if any, is `var(--_menu-row-active-paint, <pressed overlay>)`.
43
+ * The row paints the hover overlay on focus, and the pressed overlay while a
44
+ * held finger or pen lights it.
45
+ * Under a finger, the hover overlay is too faint to follow. The variable has
46
+ * no default: a layered stylesheet emits a default unlayered, and it would
47
+ * beat the attribute arm. The value resolves on the row, so a theme set on any
48
+ * ancestor applies. The style sets only a custom property, which shares no
49
+ * key with StyleX's CSS property type, so TypeScript needs the wider type.
50
+ */
51
+ export declare const menuPressLitRowStyle: StyleXStyles;
52
+ //# sourceMappingURL=menuPressLit.stylex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuPressLit.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/menuPressLit.stylex.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAMnD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAEnD;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE/D;AA6BD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAiB,YAAY,CAAC"}
@@ -0,0 +1,99 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ /**
3
+ * @file privateAttributes/menuPressLit.stylex.ts
4
+ * @input The row that a held finger or pen lights in a menu
5
+ * @output Exports markMenuPressLit and clearMenuPressLit, which mark that row,
6
+ * and isMenuPressLit, which reads the mark. It also exports
7
+ * menuPressLitRowStyle, which paints the marked row. The hold pair,
8
+ * holdMenuPressPaint and releaseMenuPressPaint, keeps the other rows off
9
+ * their pressed paint, and isMenuPressPaintHeld reads that hold.
10
+ * @position Owner module of the private menu-press-lit attribute: the only
11
+ * file that writes its name. The menu press model (hooks/useMenuPress.ts)
12
+ * marks the row; DropdownMenu's rows compose the styles. No package entry
13
+ * exports it.
14
+ *
15
+ * SYNC: Each row that composes menuPressLitRowStyle reads
16
+ * `--_menu-row-focus-paint` in its `:focus` background, and a row with an
17
+ * `:active` background reads `--_menu-row-active-paint` there:
18
+ * - /packages/core/src/DropdownMenu/DropdownMenuItem.tsx
19
+ * - /packages/core/src/DropdownMenu/DropdownMenuCheckboxItem.tsx
20
+ * - /packages/core/src/DropdownMenu/DropdownMenuRadioItem.tsx
21
+ * - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.tsx
22
+ */
23
+
24
+ import * as stylex from '@stylexjs/stylex';
25
+ import "../theme/tokens.stylex.js";
26
+ import { colorVars } from "../theme/tokens.stylex.js";
27
+ const MENU_PRESS_LIT = 'data-astryx-menu-press-lit';
28
+ const ACTIVE_PAINT = '--_menu-row-active-paint';
29
+
30
+ /** Marks `row` as the row that a held finger or pen lights. */
31
+ export function markMenuPressLit(row) {
32
+ row.setAttribute(MENU_PRESS_LIT, '');
33
+ }
34
+
35
+ /** Removes the mark from `row`. */
36
+ export function clearMenuPressLit(row) {
37
+ row.removeAttribute(MENU_PRESS_LIT);
38
+ }
39
+
40
+ /** Whether a held finger or pen lights `row`. */
41
+ export function isMenuPressLit(row) {
42
+ return row.hasAttribute(MENU_PRESS_LIT);
43
+ }
44
+
45
+ /**
46
+ * Keeps `menu`'s rows off their `:active` paint while a held finger or pen
47
+ * presses in it. The row the press began on stays `:active` as the press
48
+ * moves on. The lit row keeps the pressed overlay through its own mark.
49
+ */
50
+ export function holdMenuPressPaint(menu) {
51
+ menu.style.setProperty(ACTIVE_PAINT, 'transparent');
52
+ }
53
+
54
+ /** Gives `menu`'s rows their `:active` paint back. */
55
+ export function releaseMenuPressPaint(menu) {
56
+ menu.style.removeProperty(ACTIVE_PAINT);
57
+ }
58
+
59
+ /** Whether a held finger or pen keeps `menu`'s rows off their `:active` paint. */
60
+ export function isMenuPressPaintHeld(menu) {
61
+ return menu.style.getPropertyValue(ACTIVE_PAINT) !== '';
62
+ }
63
+
64
+ /**
65
+ * A value for each attribute state. The index signature gives StyleX the value
66
+ * type, which it cannot read from a literal attribute key.
67
+ */
68
+
69
+ const litRowPaint = {
70
+ '--_menu-row-focus-paint': {
71
+ default: null,
72
+ '[data-astryx-menu-press-lit]': colorVars['--color-overlay-pressed']
73
+ },
74
+ '--_menu-row-active-paint': {
75
+ default: null,
76
+ '[data-astryx-menu-press-lit]': colorVars['--color-overlay-pressed']
77
+ }
78
+ };
79
+ const styles = {
80
+ row: {
81
+ "--_menu-row-focus-paint": "x1ar3rj9",
82
+ "--_menu-row-active-paint": "xcukuoe",
83
+ $$css: true
84
+ }
85
+ };
86
+
87
+ /**
88
+ * Compose on a menu row whose `:focus` background is
89
+ * `var(--_menu-row-focus-paint, <hover overlay>)`, and whose `:active`
90
+ * background, if any, is `var(--_menu-row-active-paint, <pressed overlay>)`.
91
+ * The row paints the hover overlay on focus, and the pressed overlay while a
92
+ * held finger or pen lights it.
93
+ * Under a finger, the hover overlay is too faint to follow. The variable has
94
+ * no default: a layered stylesheet emits a default unlayered, and it would
95
+ * beat the attribute arm. The value resolves on the row, so a theme set on any
96
+ * ancestor applies. The style sets only a custom property, which shares no
97
+ * key with StyleX's CSS property type, so TypeScript needs the wider type.
98
+ */
99
+ export const menuPressLitRowStyle = styles.row;
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @file privateAttributes/press.stylex.ts
3
+ * @input StyleX, the semantic overlay color tokens, the touch press strength
4
+ * (`pressVars`, utils/interactionOverlay.stylex.ts) and the row layer's
5
+ * clocks (utils/rowPressLayer.stylex.ts)
6
+ * @output `rowPressLayerStyles`: the compositor press layer for list rows
7
+ * (`cell`) and its own-image arms for a row on the `backgroundImage`
8
+ * variant (`cellOnImage`)
9
+ * @position Owner module of the private press attribute for the row layer:
10
+ * the press controller (utils/pressFeedback.ts) writes the attribute, and
11
+ * this file reads it. No package entry exports it. Item and TreeList
12
+ * compose these styles after their overlay variant;
13
+ * utils/interactionOverlay.cell.test.ts tests them.
14
+ */
15
+ import * as stylex from '@stylexjs/stylex';
16
+ export declare const rowPressLayerStyles: Readonly<{
17
+ readonly cell: Readonly<{
18
+ readonly backgroundImage: stylex.StyleXClassNameFor<"backgroundImage", unknown>;
19
+ readonly animationName: stylex.StyleXClassNameFor<"animationName", unknown>;
20
+ readonly isolation: stylex.StyleXClassNameFor<"isolation", "isolate" | null>;
21
+ readonly '::before': stylex.StyleXClassNameFor<"::before", {
22
+ readonly content: {
23
+ readonly default: null;
24
+ readonly "@media (pointer: coarse)": {
25
+ readonly default: null;
26
+ readonly ":where(:not(:disabled,[aria-disabled=\"true\"]))": {
27
+ readonly default: null;
28
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "\"\"";
29
+ };
30
+ };
31
+ };
32
+ readonly position: {
33
+ readonly default: null;
34
+ readonly "@media (pointer: coarse)": {
35
+ readonly default: null;
36
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "absolute";
37
+ };
38
+ };
39
+ readonly inset: {
40
+ readonly default: null;
41
+ readonly "@media (pointer: coarse)": {
42
+ readonly default: null;
43
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": 0;
44
+ };
45
+ };
46
+ readonly zIndex: {
47
+ readonly default: null;
48
+ readonly "@media (pointer: coarse)": {
49
+ readonly default: null;
50
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": -1;
51
+ };
52
+ };
53
+ readonly borderRadius: {
54
+ readonly default: null;
55
+ readonly "@media (pointer: coarse)": {
56
+ readonly default: null;
57
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "inherit";
58
+ };
59
+ };
60
+ readonly pointerEvents: {
61
+ readonly default: null;
62
+ readonly "@media (pointer: coarse)": {
63
+ readonly default: null;
64
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "none";
65
+ };
66
+ };
67
+ readonly backgroundColor: {
68
+ readonly default: null;
69
+ readonly "@media (pointer: coarse)": {
70
+ readonly default: null;
71
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": stylex.StyleXVar<"light-dark(#05365919, #FFFFFF19)">;
72
+ };
73
+ };
74
+ readonly opacity: {
75
+ readonly default: null;
76
+ readonly "@media (pointer: coarse)": {
77
+ readonly default: null;
78
+ readonly "[data-astryx-press=\"on\"]": 1;
79
+ readonly "[data-astryx-press=\"fading\"]": 0;
80
+ };
81
+ };
82
+ readonly animationName: {
83
+ readonly default: null;
84
+ readonly "@media (pointer: coarse)": {
85
+ readonly default: null;
86
+ readonly ":where(:not(:disabled,[aria-disabled=\"true\"]))": {
87
+ readonly default: null;
88
+ readonly "[data-astryx-press=\"fading\"]": string;
89
+ };
90
+ };
91
+ };
92
+ readonly animationDuration: {
93
+ readonly default: null;
94
+ readonly "@media (pointer: coarse)": {
95
+ readonly default: null;
96
+ readonly "[data-astryx-press=\"fading\"]": {
97
+ readonly default: stylex.StyleXVar<"var(--duration-fast)">;
98
+ readonly "@media (prefers-reduced-motion: reduce)": string;
99
+ };
100
+ };
101
+ };
102
+ readonly animationTimingFunction: {
103
+ readonly default: null;
104
+ readonly "@media (pointer: coarse)": {
105
+ readonly default: null;
106
+ readonly "[data-astryx-press=\"fading\"]": stylex.StyleXVar<"cubic-bezier(0.3, 0, 0.6, 0.6)">;
107
+ };
108
+ };
109
+ readonly animationFillMode: {
110
+ readonly default: null;
111
+ readonly "@media (pointer: coarse)": {
112
+ readonly default: null;
113
+ readonly "[data-astryx-press=\"fading\"]": "both";
114
+ };
115
+ };
116
+ }>;
117
+ }>;
118
+ readonly cellWithoutLayer: Readonly<{
119
+ readonly backgroundImage: stylex.StyleXClassNameFor<"backgroundImage", "none">;
120
+ readonly animationName: stylex.StyleXClassNameFor<"animationName", unknown>;
121
+ readonly isolation: stylex.StyleXClassNameFor<"isolation", "auto" | null>;
122
+ readonly '::before': stylex.StyleXClassNameFor<"::before", {
123
+ readonly content: {
124
+ readonly default: null;
125
+ readonly "@media (pointer: coarse)": {
126
+ readonly default: null;
127
+ readonly ":where(:not(:disabled,[aria-disabled=\"true\"]))": {
128
+ readonly default: null;
129
+ readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "none";
130
+ };
131
+ };
132
+ };
133
+ }>;
134
+ }>;
135
+ readonly cellOnImage: Readonly<{
136
+ readonly backgroundImage: stylex.StyleXClassNameFor<"backgroundImage", string | null>;
137
+ }>;
138
+ }>;
139
+ //# sourceMappingURL=press.stylex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"press.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/press.stylex.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAqD3C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyK9B,CAAC"}
@@ -0,0 +1,97 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /* eslint-disable @astryx/no-hover-on-disabled -- Every hover branch is
4
+ * nested beneath ENABLED below, as in interactionOverlay.stylex.ts. */
5
+
6
+ /**
7
+ * @file privateAttributes/press.stylex.ts
8
+ * @input StyleX, the semantic overlay color tokens, the touch press strength
9
+ * (`pressVars`, utils/interactionOverlay.stylex.ts) and the row layer's
10
+ * clocks (utils/rowPressLayer.stylex.ts)
11
+ * @output `rowPressLayerStyles`: the compositor press layer for list rows
12
+ * (`cell`) and its own-image arms for a row on the `backgroundImage`
13
+ * variant (`cellOnImage`)
14
+ * @position Owner module of the private press attribute for the row layer:
15
+ * the press controller (utils/pressFeedback.ts) writes the attribute, and
16
+ * this file reads it. No package entry exports it. Item and TreeList
17
+ * compose these styles after their overlay variant;
18
+ * utils/interactionOverlay.cell.test.ts tests them.
19
+ */
20
+
21
+ import * as stylex from '@stylexjs/stylex';
22
+ import "../theme/tokens.stylex.js";
23
+ import { colorVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
24
+ import "../motion/reducedMotion.stylex.js";
25
+ import { reducedMotionFadeConsts } from "../motion/reducedMotion.stylex.js";
26
+ import "../utils/interactionOverlay.stylex.js";
27
+ import { pressVars } from "../utils/interactionOverlay.stylex.js";
28
+
29
+ // The overlay's arm selectors (interactionOverlay.stylex.ts), restated here:
30
+ // StyleX resolves a style's keys within its own file.
31
+ const ENABLED = ':where(:not(:disabled,[aria-disabled="true"]))';
32
+ const HOVER_HOVER = '@media (hover: hover)';
33
+ const COARSE = '@media (pointer: coarse)';
34
+ const PRESSED_ON = '[data-astryx-press="on"]';
35
+ const PRESSED_FADING = '[data-astryx-press="fading"]';
36
+ /**
37
+ * A press in any of its states: the row layer exists only then, so at rest a
38
+ * row's own `::before` and its stacking are untouched.
39
+ */
40
+ const PRESSED_ANY = ':is([data-astryx-press="on"],[data-astryx-press="fading"])';
41
+ const PRESS_ALPHA = pressVars['--astryx-press-alpha'];
42
+ const hoverImage = `linear-gradient(${colorVars['--color-overlay-hover']}, ${colorVars['--color-overlay-hover']})`;
43
+ const pressedImage = `linear-gradient(${colorVars['--color-overlay-pressed']}, ${colorVars['--color-overlay-pressed']})`;
44
+ /** The overlay's paint, read back off the element (its gradient layer). */
45
+ const pressedOverlayImage = 'var(--_press-paint-image)';
46
+
47
+ /**
48
+ * The overlay's strength release (interactionOverlay.stylex.ts), restated so
49
+ * a fine pointer keeps it: the same keyframes, so the same animation.
50
+ */
51
+ const pressRelease = "x10jkm1t-B";
52
+
53
+ /**
54
+ * The row layer's clock as CSS: the strength release's clock, the theme's
55
+ * exit duration, so the layer and the strength land together.
56
+ */
57
+ const CELL_RELEASE = durationVars['--duration-exit'];
58
+ /** The same clock under Reduce Motion, no longer than the Reduce Motion fade. */
59
+ const CELL_RELEASE_REDUCED = `min(${durationVars['--duration-exit']}, ${reducedMotionFadeConsts.duration})`;
60
+ const REDUCED_MOTION = '@media (prefers-reduced-motion: reduce)';
61
+
62
+ /** Opacity 1 → 0: the row layer leaves; its fading arm runs it. */
63
+ const cellRelease = "x1jn504y-B";
64
+
65
+ /** The release's curve: the theme's exit easing, as the strength's. */
66
+ const RELEASE_EASE = easeVars['--ease-exit'];
67
+ export const rowPressLayerStyles = {
68
+ cell: {
69
+ kKwaWg: "x7ngsy6 x10ogxw0 xubczrd x18xnkjv",
70
+ kKVMdj: "x14e4jsf x6su2wr",
71
+ kHBbk8: "xif6eam",
72
+ kgeoSG: "x1ocadqd",
73
+ kEoFBp: "x1ukh9kf",
74
+ kFcpXp: "xrkptjy",
75
+ kxmVGU: "xjscm90",
76
+ kPB484: "x1kec4ew",
77
+ km8f2m: "x13r5q6d",
78
+ kLkRvE: "x1dn949c",
79
+ k5QlbN: "xw7rim2 xr9xsjc",
80
+ k7EzDT: "x1bxn267",
81
+ kQZAMR: "x1osot8d xbkwwzw",
82
+ kZiNAr: "x10t12yn",
83
+ k8Tatv: "x1dn5vsf",
84
+ $$css: true
85
+ },
86
+ cellWithoutLayer: {
87
+ kKwaWg: "x18o3ruo",
88
+ kKVMdj: "x14e4jsf",
89
+ kHBbk8: "xrqzsdu",
90
+ kgeoSG: "x1995whq",
91
+ $$css: true
92
+ },
93
+ cellOnImage: {
94
+ kKwaWg: "x7uyq82 x3f84ok x7ngsy6 x10ogxw0 xubczrd x18xnkjv xmvprkv xetgvay",
95
+ $$css: true
96
+ }
97
+ };
@@ -45,8 +45,9 @@ export declare const CHARACTER_EASE: {
45
45
  export declare function resolveMotionKnobs(config: ThemeMotionConfig | undefined): ResolvedMotionKnobs;
46
46
  /**
47
47
  * The private custom property a theme with a `tempo` writes beside its
48
- * duration tokens: the press release fade (`utils/interactionOverlay.stylex.ts`)
49
- * multiplies its clock by it.
48
+ * duration tokens, for a style that scales a clock of its own by it
49
+ * (ProgressBar's move). A press release needs none: it plays
50
+ * `--duration-exit`, which already follows the tempo.
50
51
  */
51
52
  export declare const MOTION_TEMPO_PROPERTY = "--_astryx-motion-tempo";
52
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"themeMotion.d.ts","sourceRoot":"","sources":["../../src/theme/themeMotion.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAC3B,gBAAgB,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;CAIgC,CAAC;AAE5D,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,mBAAmB,CAErB;AAaD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAUlE,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxB;AAED,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D,GAAG,WAAW,CAyCd"}
1
+ {"version":3,"file":"themeMotion.d.ts","sourceRoot":"","sources":["../../src/theme/themeMotion.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAC3B,gBAAgB,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;CAIgC,CAAC;AAE5D,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,mBAAmB,CAErB;AAaD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAUlE,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxB;AAED,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D,GAAG,WAAW,CAyCd"}
@@ -63,8 +63,9 @@ function msOf(value) {
63
63
 
64
64
  /**
65
65
  * The private custom property a theme with a `tempo` writes beside its
66
- * duration tokens: the press release fade (`utils/interactionOverlay.stylex.ts`)
67
- * multiplies its clock by it.
66
+ * duration tokens, for a style that scales a clock of its own by it
67
+ * (ProgressBar's move). A press release needs none: it plays
68
+ * `--duration-exit`, which already follows the tempo.
68
69
  */
69
70
  export const MOTION_TEMPO_PROPERTY = '--_astryx-motion-tempo';
70
71
 
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import * as stylex from '@stylexjs/stylex';
17
17
  export declare const colorDefaults: {
18
- readonly '--color-accent': "light-dark(#0064E0, #2694FE)";
18
+ readonly '--color-accent': "light-dark(#0064E0, #0171E3)";
19
19
  readonly '--color-accent-muted': "light-dark(#0082FB33, #0082FB3F)";
20
20
  readonly '--color-on-accent': "light-dark(#FFFFFF, #FFFFFF)";
21
21
  readonly '--color-neutral': "light-dark(rgba(5, 54, 89, 0.1), rgba(223, 226, 229, 0.2))";
@@ -115,7 +115,7 @@ export declare const colorDefaults: {
115
115
  readonly '--color-text-yellow': "light-dark(#753F07, #FBCE03)";
116
116
  };
117
117
  export declare const colorVars: stylex.VarGroup<Readonly<{
118
- readonly '--color-accent': "light-dark(#0064E0, #2694FE)";
118
+ readonly '--color-accent': "light-dark(#0064E0, #0171E3)";
119
119
  readonly '--color-accent-muted': "light-dark(#0082FB33, #0082FB3F)";
120
120
  readonly '--color-on-accent': "light-dark(#FFFFFF, #FFFFFF)";
121
121
  readonly '--color-neutral': "light-dark(rgba(5, 54, 89, 0.1), rgba(223, 226, 229, 0.2))";
@@ -24,7 +24,7 @@ import * as stylex from '@stylexjs/stylex';
24
24
 
25
25
  export const colorDefaults = {
26
26
  // Core semantic
27
- '--color-accent': 'light-dark(#0064E0, #2694FE)',
27
+ '--color-accent': 'light-dark(#0064E0, #0171E3)',
28
28
  '--color-accent-muted': 'light-dark(#0082FB33, #0082FB3F)',
29
29
  '--color-on-accent': 'light-dark(#FFFFFF, #FFFFFF)',
30
30
  '--color-neutral': 'light-dark(rgba(5, 54, 89, 0.1), rgba(223, 226, 229, 0.2))',