@astryxdesign/core 0.7.7-canary.550ff21 → 0.7.7-canary.58c5b8a

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 (504) hide show
  1. package/dist/AlertDialog/AlertDialog.d.ts +4 -1
  2. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +36 -6
  4. package/dist/AppShell/useCloseMobileDrawerOnActivate.d.ts +13 -0
  5. package/dist/AppShell/useCloseMobileDrawerOnActivate.d.ts.map +1 -0
  6. package/dist/AppShell/useCloseMobileDrawerOnActivate.js +45 -0
  7. package/dist/Avatar/Avatar.d.ts.map +1 -1
  8. package/dist/Avatar/Avatar.js +1 -1
  9. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  10. package/dist/BottomSheet/BottomSheet.js +79 -9
  11. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  12. package/dist/BottomSheet/BottomSheetPanel.js +23 -4
  13. package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -1
  14. package/dist/BottomSheet/bottomSheetStack.js +5 -4
  15. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  16. package/dist/BottomSheet/useSheetGestures.js +3 -1
  17. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +2 -1
  18. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  19. package/dist/Breadcrumbs/BreadcrumbItem.js +9 -4
  20. package/dist/Button/Button.d.ts.map +1 -1
  21. package/dist/Button/Button.js +50 -5
  22. package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
  23. package/dist/CheckboxList/CheckboxList.js +7 -1
  24. package/dist/CheckboxList/CheckboxListContext.d.ts +6 -0
  25. package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
  26. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  27. package/dist/CheckboxList/CheckboxListItem.js +10 -2
  28. package/dist/ComplexSelector/ComplexSelector.d.ts +4 -1
  29. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  30. package/dist/ComplexSelector/ComplexSelector.js +14 -4
  31. package/dist/DateInput/DateInput.d.ts.map +1 -1
  32. package/dist/DateInput/DateInput.js +5 -2
  33. package/dist/DateInput/MonthScroller.d.ts.map +1 -1
  34. package/dist/DateInput/MonthScroller.js +13 -27
  35. package/dist/DateInput/Wheel.d.ts +17 -1
  36. package/dist/DateInput/Wheel.d.ts.map +1 -1
  37. package/dist/DateInput/Wheel.js +161 -20
  38. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  39. package/dist/DateRangeInput/DateRangeInput.js +63 -49
  40. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  41. package/dist/DateTimeInput/DateTimeInput.js +5 -2
  42. package/dist/Dialog/Dialog.d.ts.map +1 -1
  43. package/dist/Dialog/Dialog.js +53 -15
  44. package/dist/Drawer/Drawer.d.ts.map +1 -1
  45. package/dist/Drawer/Drawer.js +15 -11
  46. package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
  47. package/dist/Drawer/useDrawerDialogPresence.js +9 -1
  48. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  49. package/dist/DropdownMenu/DropdownMenu.js +20 -4
  50. package/dist/Field/Field.js +2 -2
  51. package/dist/Field/PanelSearchInput.d.ts +9 -1
  52. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  53. package/dist/Field/PanelSearchInput.js +3 -1
  54. package/dist/HoverCard/HoverCard.d.ts.map +1 -1
  55. package/dist/HoverCard/HoverCard.js +27 -2
  56. package/dist/Icon/Icon.d.ts +5 -1
  57. package/dist/Icon/Icon.d.ts.map +1 -1
  58. package/dist/Icon/Icon.js +5 -2
  59. package/dist/InfoTip/InfoTip.d.ts +63 -0
  60. package/dist/InfoTip/InfoTip.d.ts.map +1 -0
  61. package/dist/InfoTip/InfoTip.js +126 -0
  62. package/dist/InfoTip/index.d.ts +10 -0
  63. package/dist/InfoTip/index.d.ts.map +1 -0
  64. package/dist/InfoTip/index.js +12 -0
  65. package/dist/Layer/layerAnimations.stylex.d.ts +7 -8
  66. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  67. package/dist/Layer/layerAnimations.stylex.js +25 -20
  68. package/dist/Layer/layerClickBoundary.d.ts +7 -1
  69. package/dist/Layer/layerClickBoundary.d.ts.map +1 -1
  70. package/dist/Layer/layerClickBoundary.js +2 -2
  71. package/dist/Layer/useBackdropPress.d.ts +27 -0
  72. package/dist/Layer/useBackdropPress.d.ts.map +1 -0
  73. package/dist/Layer/useBackdropPress.js +53 -0
  74. package/dist/Layer/usePressPin.d.ts +105 -0
  75. package/dist/Layer/usePressPin.d.ts.map +1 -0
  76. package/dist/Layer/usePressPin.js +413 -0
  77. package/dist/Layer/useTouchTrigger.d.ts +23 -1
  78. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  79. package/dist/Layer/useTouchTrigger.js +45 -7
  80. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  81. package/dist/Lightbox/Lightbox.js +2 -1
  82. package/dist/MobileNav/MobileNav.js +0 -1
  83. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  84. package/dist/MultiSelector/hooks.js +2 -4
  85. package/dist/Outline/Outline.d.ts +2 -4
  86. package/dist/Outline/Outline.d.ts.map +1 -1
  87. package/dist/Outline/Outline.js +4 -52
  88. package/dist/Outline/useOutlineFromMarkdown.d.ts.map +1 -1
  89. package/dist/Outline/useOutlineFromMarkdown.js +1 -0
  90. package/dist/Outline/useScrollSpy.js +3 -3
  91. package/dist/Popover/usePopover.d.ts.map +1 -1
  92. package/dist/Popover/usePopover.js +56 -7
  93. package/dist/PowerSearch/PowerSearch.d.ts +36 -3
  94. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  95. package/dist/PowerSearch/PowerSearch.js +571 -302
  96. package/dist/PowerSearch/PowerSearchBottomSheet.d.ts +100 -0
  97. package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -0
  98. package/dist/PowerSearch/PowerSearchBottomSheet.js +1913 -0
  99. package/dist/PowerSearch/PowerSearchEditPopover.d.ts +32 -1
  100. package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
  101. package/dist/PowerSearch/PowerSearchEditPopover.js +17 -6
  102. package/dist/PowerSearch/PowerSearchValueEditor.d.ts +38 -3
  103. package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
  104. package/dist/PowerSearch/PowerSearchValueEditor.js +170 -61
  105. package/dist/PowerSearch/formatFilterValue.d.ts +7 -0
  106. package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
  107. package/dist/PowerSearch/formatFilterValue.js +11 -1
  108. package/dist/PowerSearch/formatTokenValue.d.ts +28 -0
  109. package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -0
  110. package/dist/PowerSearch/formatTokenValue.js +160 -0
  111. package/dist/PowerSearch/powerSearchSheetUtils.d.ts +65 -0
  112. package/dist/PowerSearch/powerSearchSheetUtils.d.ts.map +1 -0
  113. package/dist/PowerSearch/powerSearchSheetUtils.js +168 -0
  114. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  115. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  116. package/dist/ProgressBar/ProgressBar.js +33 -6
  117. package/dist/RadioList/RadioList.d.ts.map +1 -1
  118. package/dist/RadioList/RadioList.js +8 -2
  119. package/dist/RadioList/RadioListItem.d.ts +1 -1
  120. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  121. package/dist/RadioList/RadioListItem.js +5 -3
  122. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  123. package/dist/Resizable/ResizeHandle.js +118 -260
  124. package/dist/Resizable/resizeGesture.d.ts +91 -0
  125. package/dist/Resizable/resizeGesture.d.ts.map +1 -0
  126. package/dist/Resizable/resizeGesture.js +251 -0
  127. package/dist/SegmentedControl/SegmentedControl.d.ts +3 -1
  128. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  129. package/dist/SegmentedControl/SegmentedControl.js +115 -8
  130. package/dist/SegmentedControl/SegmentedControlContext.d.ts +6 -0
  131. package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  132. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -0
  133. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  134. package/dist/SegmentedControl/SegmentedControlItem.js +10 -2
  135. package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts +357 -0
  136. package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -0
  137. package/dist/SegmentedControl/useSegmentedSelectionMotion.js +1349 -0
  138. package/dist/SegmentedControl/useSegmentedTouchTracking.d.ts +70 -0
  139. package/dist/SegmentedControl/useSegmentedTouchTracking.d.ts.map +1 -0
  140. package/dist/SegmentedControl/useSegmentedTouchTracking.js +264 -0
  141. package/dist/Selector/Selector.d.ts.map +1 -1
  142. package/dist/Selector/Selector.js +96 -67
  143. package/dist/Selector/optionShape.d.ts +24 -0
  144. package/dist/Selector/optionShape.d.ts.map +1 -0
  145. package/dist/Selector/optionShape.js +48 -0
  146. package/dist/Selector/selectableOptionEntries.d.ts +20 -0
  147. package/dist/Selector/selectableOptionEntries.d.ts.map +1 -0
  148. package/dist/Selector/selectableOptionEntries.js +38 -0
  149. package/dist/Selector/utils.d.ts +2 -17
  150. package/dist/Selector/utils.d.ts.map +1 -1
  151. package/dist/Selector/utils.js +3 -51
  152. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  153. package/dist/SideNav/SideNavItem.js +3 -9
  154. package/dist/Slider/sliderTouchController.js +2 -2
  155. package/dist/Switch/Switch.d.ts +1 -1
  156. package/dist/Switch/Switch.d.ts.map +1 -1
  157. package/dist/Switch/Switch.js +200 -46
  158. package/dist/Switch/switchFill.d.ts +31 -0
  159. package/dist/Switch/switchFill.d.ts.map +1 -0
  160. package/dist/Switch/switchFill.js +88 -0
  161. package/dist/Switch/switchTouch.d.ts +74 -0
  162. package/dist/Switch/switchTouch.d.ts.map +1 -0
  163. package/dist/Switch/switchTouch.js +125 -0
  164. package/dist/Switch/useSwitchTouch.d.ts +276 -0
  165. package/dist/Switch/useSwitchTouch.d.ts.map +1 -0
  166. package/dist/Switch/useSwitchTouch.js +939 -0
  167. package/dist/TabList/Tab.d.ts.map +1 -1
  168. package/dist/TabList/Tab.js +4 -3
  169. package/dist/Table/BaseTable.d.ts.map +1 -1
  170. package/dist/Table/BaseTable.js +29 -8
  171. package/dist/TextInput/TextInput.d.ts +2 -2
  172. package/dist/TextInput/TextInput.d.ts.map +1 -1
  173. package/dist/TextInput/TextInput.js +10 -7
  174. package/dist/Toast/Toast.d.ts.map +1 -1
  175. package/dist/Toast/Toast.js +5 -0
  176. package/dist/Token/Token.d.ts +2 -2
  177. package/dist/Token/Token.d.ts.map +1 -1
  178. package/dist/Token/Token.js +13 -4
  179. package/dist/Token/TokenNamingContext.d.ts +14 -0
  180. package/dist/Token/TokenNamingContext.d.ts.map +1 -0
  181. package/dist/Token/TokenNamingContext.js +23 -0
  182. package/dist/Tokenizer/Tokenizer.d.ts +46 -59
  183. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  184. package/dist/Tokenizer/Tokenizer.js +44 -60
  185. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +25 -28
  186. package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -1
  187. package/dist/Tokenizer/TokenizerBottomSheet.js +157 -54
  188. package/dist/Tokenizer/TokenizerItemRemovableContext.d.ts +3 -0
  189. package/dist/Tokenizer/TokenizerItemRemovableContext.d.ts.map +1 -0
  190. package/dist/Tokenizer/TokenizerItemRemovableContext.js +19 -0
  191. package/dist/Tooltip/Tooltip.d.ts +24 -5
  192. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  193. package/dist/Tooltip/Tooltip.js +29 -5
  194. package/dist/Tooltip/useTooltip.d.ts +48 -5
  195. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  196. package/dist/Tooltip/useTooltip.js +90 -20
  197. package/dist/TopNav/TopNavItem.d.ts.map +1 -1
  198. package/dist/TopNav/TopNavItem.js +4 -7
  199. package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
  200. package/dist/TopNav/TopNavMegaMenuItem.js +4 -7
  201. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  202. package/dist/TopNav/TopNavMenu.js +4 -7
  203. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  204. package/dist/Typeahead/Typeahead.js +26 -15
  205. package/dist/animator/createAnimator.d.ts +98 -0
  206. package/dist/animator/createAnimator.d.ts.map +1 -0
  207. package/dist/animator/createAnimator.js +259 -0
  208. package/dist/astryx.css +142 -7
  209. package/dist/gestures/GestureHost.d.ts +27 -1
  210. package/dist/gestures/GestureHost.d.ts.map +1 -1
  211. package/dist/gestures/GestureHost.js +161 -22
  212. package/dist/gestures/PressTracker.d.ts +6 -0
  213. package/dist/gestures/PressTracker.d.ts.map +1 -1
  214. package/dist/gestures/PressTracker.js +3 -0
  215. package/dist/gestures/types.d.ts +6 -0
  216. package/dist/gestures/types.d.ts.map +1 -1
  217. package/dist/gestures/usePressTracker.d.ts.map +1 -1
  218. package/dist/gestures/usePressTracker.js +1 -0
  219. package/dist/gestures/wheelSegmenter.d.ts +14 -3
  220. package/dist/gestures/wheelSegmenter.d.ts.map +1 -1
  221. package/dist/gestures/wheelSegmenter.js +32 -8
  222. package/dist/hooks/actionGroupTracker.d.ts +7 -4
  223. package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
  224. package/dist/hooks/actionGroupTracker.js +19 -56
  225. package/dist/hooks/index.d.ts +1 -0
  226. package/dist/hooks/index.d.ts.map +1 -1
  227. package/dist/hooks/index.js +1 -0
  228. package/dist/hooks/pressGroupContext.d.ts +6 -0
  229. package/dist/hooks/pressGroupContext.d.ts.map +1 -0
  230. package/dist/hooks/pressGroupContext.js +20 -0
  231. package/dist/hooks/useActionGroupTracking.d.ts +53 -0
  232. package/dist/hooks/useActionGroupTracking.d.ts.map +1 -0
  233. package/dist/hooks/useActionGroupTracking.js +174 -0
  234. package/dist/hooks/useAnimator.d.ts +41 -0
  235. package/dist/hooks/useAnimator.d.ts.map +1 -0
  236. package/dist/hooks/useAnimator.js +70 -0
  237. package/dist/hooks/useAttachment.d.ts +16 -8
  238. package/dist/hooks/useAttachment.d.ts.map +1 -1
  239. package/dist/hooks/useAttachment.js +35 -15
  240. package/dist/hooks/useFocusTrap.d.ts +15 -0
  241. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  242. package/dist/hooks/useFocusTrap.js +13 -2
  243. package/dist/hooks/useHighlightedOptionScroll.d.ts +11 -1
  244. package/dist/hooks/useHighlightedOptionScroll.d.ts.map +1 -1
  245. package/dist/hooks/useHighlightedOptionScroll.js +112 -11
  246. package/dist/hooks/useInputStatusIcon.d.ts +1 -1
  247. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  248. package/dist/hooks/useInputStatusIcon.js +2 -2
  249. package/dist/hooks/useMediaQuery.d.ts +2 -1
  250. package/dist/hooks/useMediaQuery.d.ts.map +1 -1
  251. package/dist/hooks/useMediaQuery.js +7 -4
  252. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  253. package/dist/hooks/useMenuPress.js +4 -2
  254. package/dist/hooks/usePager.d.ts +261 -0
  255. package/dist/hooks/usePager.d.ts.map +1 -0
  256. package/dist/hooks/usePager.js +1169 -0
  257. package/dist/i18n/generated-english/InfoTip/InfoTip.generated.d.ts +8 -0
  258. package/dist/i18n/generated-english/InfoTip/InfoTip.generated.d.ts.map +1 -0
  259. package/dist/i18n/generated-english/InfoTip/InfoTip.generated.js +12 -0
  260. package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.d.ts.map +1 -1
  261. package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.js +1 -0
  262. package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts +8 -0
  263. package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts.map +1 -0
  264. package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.js +42 -0
  265. package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -1
  266. package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +6 -0
  267. package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts +8 -0
  268. package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts.map +1 -0
  269. package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.js +14 -0
  270. package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.d.ts.map +1 -1
  271. package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.js +7 -1
  272. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  273. package/dist/i18n/generated-locales/en.generated.js +33 -1
  274. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  275. package/dist/i18n/generated-locales/pseudo.generated.js +33 -1
  276. package/dist/index.d.ts +2 -0
  277. package/dist/index.d.ts.map +1 -1
  278. package/dist/index.js +5 -0
  279. package/dist/internal/SheetConfirmation.d.ts +11 -0
  280. package/dist/internal/SheetConfirmation.d.ts.map +1 -0
  281. package/dist/internal/SheetConfirmation.js +92 -0
  282. package/dist/internal/sheetDraft.d.ts +35 -0
  283. package/dist/internal/sheetDraft.d.ts.map +1 -0
  284. package/dist/internal/sheetDraft.js +65 -0
  285. package/dist/internal/touch-sheet.d.ts +21 -0
  286. package/dist/internal/touch-sheet.d.ts.map +1 -0
  287. package/dist/internal/touch-sheet.js +19 -0
  288. package/dist/internal/useDismissSearchOnTouchDrag.d.ts +24 -0
  289. package/dist/internal/useDismissSearchOnTouchDrag.d.ts.map +1 -0
  290. package/dist/internal/useDismissSearchOnTouchDrag.js +56 -0
  291. package/dist/motion/animator.d.ts +14 -14
  292. package/dist/motion/animator.d.ts.map +1 -1
  293. package/dist/motion/animator.js +41 -18
  294. package/dist/motion/paging.d.ts +16 -5
  295. package/dist/motion/paging.d.ts.map +1 -1
  296. package/dist/motion/paging.js +34 -14
  297. package/dist/motion/reducedMotion.d.ts +24 -0
  298. package/dist/motion/reducedMotion.d.ts.map +1 -1
  299. package/dist/motion/reducedMotion.js +78 -1
  300. package/dist/motion/roles.d.ts +7 -1
  301. package/dist/motion/roles.d.ts.map +1 -1
  302. package/dist/motion/roles.js +20 -1
  303. package/dist/motion/uikit/alert.d.ts +41 -0
  304. package/dist/motion/uikit/alert.d.ts.map +1 -0
  305. package/dist/motion/uikit/alert.js +43 -0
  306. package/dist/motion/uikit/index.d.ts +7 -4
  307. package/dist/motion/uikit/index.d.ts.map +1 -1
  308. package/dist/motion/uikit/index.js +7 -4
  309. package/dist/motion/uikit/paging.d.ts +31 -20
  310. package/dist/motion/uikit/paging.d.ts.map +1 -1
  311. package/dist/motion/uikit/paging.js +41 -11
  312. package/dist/motion/uikit/progressBar.d.ts +27 -7
  313. package/dist/motion/uikit/progressBar.d.ts.map +1 -1
  314. package/dist/motion/uikit/progressBar.js +31 -11
  315. package/dist/motion/uikit/segmented.d.ts +55 -0
  316. package/dist/motion/uikit/segmented.d.ts.map +1 -0
  317. package/dist/motion/uikit/segmented.js +77 -0
  318. package/dist/motion/uikit/springs.d.ts +8 -42
  319. package/dist/motion/uikit/springs.d.ts.map +1 -1
  320. package/dist/motion/uikit/springs.js +12 -42
  321. package/dist/motion/uikit/switch.d.ts +166 -0
  322. package/dist/motion/uikit/switch.d.ts.map +1 -0
  323. package/dist/motion/uikit/switch.js +186 -0
  324. package/dist/privateAttributes/pressGroupItem.stylex.d.ts +15 -0
  325. package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -0
  326. package/dist/privateAttributes/pressGroupItem.stylex.js +23 -0
  327. package/dist/privateAttributes/pressHoldsDrag.stylex.d.ts +18 -0
  328. package/dist/privateAttributes/pressHoldsDrag.stylex.d.ts.map +1 -0
  329. package/dist/privateAttributes/pressHoldsDrag.stylex.js +28 -0
  330. package/dist/privateAttributes/segmentTitle.stylex.d.ts +5 -0
  331. package/dist/privateAttributes/segmentTitle.stylex.d.ts.map +1 -0
  332. package/dist/privateAttributes/segmentTitle.stylex.js +22 -0
  333. package/dist/utils/browserClickWait.d.ts +35 -0
  334. package/dist/utils/browserClickWait.d.ts.map +1 -0
  335. package/dist/utils/browserClickWait.js +123 -0
  336. package/dist/utils/clickGuard.d.ts +14 -1
  337. package/dist/utils/clickGuard.d.ts.map +1 -1
  338. package/dist/utils/clickGuard.js +46 -1
  339. package/dist/utils/dateParser.d.ts.map +1 -1
  340. package/dist/utils/dateParser.js +12 -0
  341. package/dist/utils/interactionOverlay.stylex.d.ts +3 -2
  342. package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
  343. package/dist/utils/interactionOverlay.stylex.js +3 -2
  344. package/dist/utils/pressFeedback.d.ts.map +1 -1
  345. package/dist/utils/pressFeedback.js +24 -6
  346. package/locales/en.json +128 -0
  347. package/locales/pseudo.json +96 -0
  348. package/package.json +13 -8
  349. package/src/AlertDialog/AlertDialog.doc.mjs +2 -2
  350. package/src/AlertDialog/AlertDialog.tsx +37 -5
  351. package/src/AppShell/useCloseMobileDrawerOnActivate.ts +52 -0
  352. package/src/Avatar/Avatar.tsx +3 -1
  353. package/src/BottomSheet/BottomSheet.tsx +95 -10
  354. package/src/BottomSheet/BottomSheetPanel.tsx +40 -5
  355. package/src/BottomSheet/bottomSheetStack.ts +8 -4
  356. package/src/BottomSheet/useSheetGestures.ts +3 -1
  357. package/src/Breadcrumbs/BreadcrumbItem.tsx +17 -4
  358. package/src/Button/Button.tsx +66 -7
  359. package/src/CheckboxList/CheckboxList.doc.mjs +4 -2
  360. package/src/CheckboxList/CheckboxList.tsx +6 -0
  361. package/src/CheckboxList/CheckboxListContext.tsx +6 -0
  362. package/src/CheckboxList/CheckboxListItem.tsx +11 -2
  363. package/src/ComplexSelector/ComplexSelector.tsx +20 -5
  364. package/src/DateInput/DateInput.tsx +8 -2
  365. package/src/DateInput/MonthScroller.tsx +18 -22
  366. package/src/DateInput/Wheel.tsx +172 -14
  367. package/src/DateRangeInput/DateRangeInput.doc.mjs +3 -2
  368. package/src/DateRangeInput/DateRangeInput.tsx +117 -71
  369. package/src/DateTimeInput/DateTimeInput.tsx +8 -2
  370. package/src/Dialog/Dialog.tsx +81 -15
  371. package/src/Drawer/Drawer.tsx +28 -11
  372. package/src/Drawer/useDrawerDialogPresence.ts +9 -1
  373. package/src/DropdownMenu/DropdownMenu.tsx +28 -6
  374. package/src/Field/Field.tsx +2 -2
  375. package/src/Field/PanelSearchInput.tsx +11 -0
  376. package/src/HoverCard/HoverCard.tsx +31 -1
  377. package/src/Icon/Icon.doc.mjs +49 -8
  378. package/src/Icon/Icon.tsx +15 -7
  379. package/src/InfoTip/InfoTip.doc.mjs +192 -0
  380. package/src/InfoTip/InfoTip.tsx +186 -0
  381. package/src/InfoTip/index.ts +14 -0
  382. package/src/Layer/layerAnimations.stylex.ts +24 -16
  383. package/src/Layer/layerClickBoundary.ts +2 -2
  384. package/src/Layer/useBackdropPress.ts +81 -0
  385. package/src/Layer/usePressPin.ts +576 -0
  386. package/src/Layer/useTouchTrigger.ts +56 -6
  387. package/src/Lightbox/Lightbox.tsx +2 -1
  388. package/src/MobileNav/MobileNav.tsx +1 -1
  389. package/src/MultiSelector/hooks.ts +2 -4
  390. package/src/Outline/Outline.doc.mjs +177 -51
  391. package/src/Outline/Outline.tsx +5 -57
  392. package/src/Outline/useOutlineFromMarkdown.doc.mjs +157 -0
  393. package/src/Outline/useOutlineFromMarkdown.ts +1 -0
  394. package/src/Outline/useScrollSpy.ts +3 -3
  395. package/src/Popover/usePopover.tsx +71 -9
  396. package/src/PowerSearch/PowerSearch.doc.mjs +55 -6
  397. package/src/PowerSearch/PowerSearch.tsx +798 -324
  398. package/src/PowerSearch/PowerSearchBottomSheet.tsx +2515 -0
  399. package/src/PowerSearch/PowerSearchEditPopover.tsx +28 -6
  400. package/src/PowerSearch/PowerSearchValueEditor.tsx +203 -38
  401. package/src/PowerSearch/formatFilterValue.ts +18 -1
  402. package/src/PowerSearch/formatTokenValue.ts +215 -0
  403. package/src/PowerSearch/powerSearchSheetUtils.ts +224 -0
  404. package/src/ProgressBar/ProgressBar.doc.mjs +4 -2
  405. package/src/ProgressBar/ProgressBar.tsx +67 -7
  406. package/src/RadioList/RadioList.doc.mjs +4 -2
  407. package/src/RadioList/RadioList.tsx +7 -2
  408. package/src/RadioList/RadioListItem.tsx +5 -3
  409. package/src/Resizable/ResizeHandle.tsx +133 -328
  410. package/src/Resizable/resizeGesture.ts +368 -0
  411. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  412. package/src/SegmentedControl/SegmentedControl.tsx +179 -5
  413. package/src/SegmentedControl/SegmentedControlContext.ts +6 -0
  414. package/src/SegmentedControl/SegmentedControlItem.tsx +14 -2
  415. package/src/SegmentedControl/useSegmentedSelectionMotion.ts +1640 -0
  416. package/src/SegmentedControl/useSegmentedTouchTracking.ts +308 -0
  417. package/src/Selector/Selector.tsx +136 -89
  418. package/src/Selector/optionShape.ts +64 -0
  419. package/src/Selector/selectableOptionEntries.ts +39 -0
  420. package/src/Selector/utils.ts +9 -68
  421. package/src/SideNav/SideNavItem.tsx +3 -7
  422. package/src/Slider/sliderTouchController.ts +2 -2
  423. package/src/Switch/Switch.doc.mjs +3 -3
  424. package/src/Switch/Switch.tsx +412 -86
  425. package/src/Switch/switchFill.ts +106 -0
  426. package/src/Switch/switchTouch.ts +186 -0
  427. package/src/Switch/useSwitchTouch.ts +1051 -0
  428. package/src/TabList/Tab.tsx +5 -3
  429. package/src/Table/BaseTable.tsx +46 -12
  430. package/src/TextInput/TextInput.tsx +11 -10
  431. package/src/Toast/Toast.tsx +5 -0
  432. package/src/Token/Token.tsx +15 -4
  433. package/src/Token/TokenNamingContext.ts +28 -0
  434. package/src/Tokenizer/Tokenizer.doc.mjs +16 -0
  435. package/src/Tokenizer/Tokenizer.tsx +93 -88
  436. package/src/Tokenizer/TokenizerBottomSheet.tsx +219 -93
  437. package/src/Tokenizer/TokenizerItemRemovableContext.ts +24 -0
  438. package/src/Tooltip/Tooltip.doc.mjs +123 -39
  439. package/src/Tooltip/Tooltip.tsx +43 -9
  440. package/src/Tooltip/useTooltip.doc.mjs +171 -31
  441. package/src/Tooltip/useTooltip.tsx +137 -22
  442. package/src/TopNav/TopNavItem.tsx +6 -5
  443. package/src/TopNav/TopNavMegaMenuItem.tsx +6 -5
  444. package/src/TopNav/TopNavMenu.tsx +6 -5
  445. package/src/Typeahead/Typeahead.tsx +29 -15
  446. package/src/animator/createAnimator.doc.mjs +153 -0
  447. package/src/animator/createAnimator.ts +324 -0
  448. package/src/gestures/GestureHost.ts +205 -21
  449. package/src/gestures/PressTracker.ts +10 -0
  450. package/src/gestures/types.ts +6 -0
  451. package/src/gestures/usePressTracker.ts +2 -0
  452. package/src/gestures/wheelSegmenter.ts +36 -7
  453. package/src/hooks/actionGroupTracker.ts +32 -61
  454. package/src/hooks/index.ts +2 -0
  455. package/src/hooks/pressGroupContext.ts +21 -0
  456. package/src/hooks/useActionGroupTracking.ts +224 -0
  457. package/src/hooks/useAnimator.doc.mjs +109 -0
  458. package/src/hooks/useAnimator.ts +67 -0
  459. package/src/hooks/useAttachment.ts +56 -14
  460. package/src/hooks/useFocusTrap.ts +26 -2
  461. package/src/hooks/useHighlightedOptionScroll.ts +123 -15
  462. package/src/hooks/useInputStatusIcon.tsx +3 -2
  463. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  464. package/src/hooks/useMediaQuery.ts +13 -4
  465. package/src/hooks/useMenuPress.ts +8 -2
  466. package/src/hooks/usePager.ts +1446 -0
  467. package/src/i18n/generated-english/InfoTip/InfoTip.generated.ts +13 -0
  468. package/src/i18n/generated-english/PowerSearch/PowerSearch.generated.ts +1 -0
  469. package/src/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.ts +43 -0
  470. package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +6 -0
  471. package/src/i18n/generated-english/PowerSearch/formatTokenValue.generated.ts +15 -0
  472. package/src/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.ts +7 -1
  473. package/src/i18n/generated-locales/en.generated.ts +43 -0
  474. package/src/i18n/generated-locales/pseudo.generated.ts +44 -0
  475. package/src/index.ts +14 -0
  476. package/src/internal/SheetConfirmation.tsx +101 -0
  477. package/src/internal/sheetDraft.ts +80 -0
  478. package/src/internal/touch-sheet.ts +21 -0
  479. package/src/internal/useDismissSearchOnTouchDrag.ts +69 -0
  480. package/src/motion/MEASUREMENTS.md +36 -27
  481. package/src/motion/README.md +11 -6
  482. package/src/motion/animator.ts +61 -29
  483. package/src/motion/paging.ts +37 -14
  484. package/src/motion/reducedMotion.ts +79 -1
  485. package/src/motion/roles.ts +20 -1
  486. package/src/motion/uikit/alert.ts +43 -0
  487. package/src/motion/uikit/index.ts +6 -5
  488. package/src/motion/uikit/paging.ts +41 -10
  489. package/src/motion/uikit/progressBar.ts +31 -11
  490. package/src/motion/uikit/segmented.ts +74 -0
  491. package/src/motion/uikit/springs.ts +12 -42
  492. package/src/motion/uikit/switch.ts +174 -0
  493. package/src/privateAttributes/pressGroupItem.stylex.ts +23 -0
  494. package/src/privateAttributes/pressHoldsDrag.stylex.ts +28 -0
  495. package/src/privateAttributes/segmentTitle.stylex.ts +22 -0
  496. package/src/utils/browserClickWait.ts +133 -0
  497. package/src/utils/clickGuard.ts +64 -1
  498. package/src/utils/dateParser.ts +16 -0
  499. package/src/utils/interactionOverlay.stylex.ts +3 -2
  500. package/src/utils/pressFeedback.ts +24 -6
  501. package/dist/internal/tokenizer-presentation.d.ts +0 -21
  502. package/dist/internal/tokenizer-presentation.d.ts.map +0 -1
  503. package/dist/internal/tokenizer-presentation.js +0 -21
  504. package/src/internal/tokenizer-presentation.ts +0 -25
@@ -338,42 +338,16 @@ export declare const MENU_REDUCED_MOTION_SPRING: {
338
338
  readonly dampingRatio: 1;
339
339
  };
340
340
  /**
341
- * UISwitch thumb travelling between off and on.
342
- * @source webkit Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm
343
- * `thumbMoveSpring = SpringSolver(1.0, 438.649…, 31.4159…)`, "Values
344
- * chosen for consistency with UIKit" (= response 0.30 s, ratio 0.75);
345
- * its settling duration is WebKit's iOS switch duration 0.48801 s
346
- * (RenderThemeIOS.h). These are WebKit's iOS 18 values: UIKit's own
347
- * switch frames differ, and a switch reads its measured table instead.
348
- * @measure M-SW02
341
+ * UISwitch thumb travelling between off and on, measured: the switch table's
342
+ * `travel` reads this row, so the value has one home.
343
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
344
+ * iPhone 17 Pro, the lens's position behavior read on a tap (damping 1,
345
+ * response 0.3); the lens center after a 50 ms tap and after a 1 s hold
346
+ * fits one spring at 0.31 / 1 (rms 0.11 pt), Oct 23 2026
349
347
  */
350
348
  export declare const SWITCH_THUMB_MOVE_SPRING: {
351
349
  readonly response: 0.3;
352
- readonly dampingRatio: 0.75;
353
- };
354
- /**
355
- * UISwitch thumb stretching while pressed and relaxing on release.
356
- * @source webkit Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm
357
- * `thumbPressSpring = SpringSolver(1.0, 322.272…, 31.2364…)`, "Values
358
- * chosen for consistency with UIKit" (= response 0.35 s, ratio 0.87);
359
- * settles in WebKit's held duration 0.50740 s (RenderThemeIOS.h). As
360
- * for `switchThumbMove`, UIKit's own frames differ.
361
- * @measure M-SW03
362
- */
363
- export declare const SWITCH_THUMB_STRETCH_SPRING: {
364
- readonly response: 0.35;
365
- readonly dampingRatio: 0.87;
366
- };
367
- /**
368
- * UISegmentedControl selection thumb sliding to a new segment.
369
- * @source GUESS — WebKit's UIKit-matched switch thumb spring, the nearest
370
- * sourced control thumb
371
- * @measure M-SG02
372
- * @measure M-SG03
373
- */
374
- export declare const SEGMENTED_THUMB_SPRING: {
375
- readonly response: 0.3;
376
- readonly dampingRatio: 0.75;
350
+ readonly dampingRatio: 1;
377
351
  };
378
352
  /**
379
353
  * Keyboard frame animation, show and hide alike: critically damped,
@@ -563,15 +537,7 @@ export declare const springs: {
563
537
  };
564
538
  readonly switchThumbMove: {
565
539
  readonly response: 0.3;
566
- readonly dampingRatio: 0.75;
567
- };
568
- readonly switchThumbStretch: {
569
- readonly response: 0.35;
570
- readonly dampingRatio: 0.87;
571
- };
572
- readonly segmentedThumb: {
573
- readonly response: 0.3;
574
- readonly dampingRatio: 0.75;
540
+ readonly dampingRatio: 1;
575
541
  };
576
542
  readonly keyboard: {
577
543
  readonly mass: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"springs.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/springs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"springs.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/springs.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,11 @@
15
15
  * that will confirm or replace them (MEASUREMENTS.md lists them all).
16
16
  * uikit.test.ts enforces both.
17
17
  *
18
- * Most springs are measured on iOS 26.2 or documented by Apple; two are still
19
- * GUESSES (`segmentedThumb`, `banner`) and two come from WebKit
20
- * (`switchThumbMove`, `switchThumbStretch`). A guess starts from the
21
- * nearest sourced spring and names it, so a component built on the table
22
- * gets the right value the moment its measurement lands, without changing.
18
+ * Most springs are measured on iOS 26.2 or documented by Apple; one is still
19
+ * a GUESS (`banner`). `switchThumbMove` is the switch's measured travel,
20
+ * which uikit/switch.ts reads. A guess starts from the nearest sourced
21
+ * spring and names it. A component built on the table gets the measured
22
+ * value the moment it lands, without changing.
23
23
  *
24
24
  * Press highlight in/out are fades, not springs: see timing.ts.
25
25
  *
@@ -418,44 +418,16 @@ export const MENU_REDUCED_MOTION_SPRING = {
418
418
  // ---------------------------------------------------------------------
419
419
 
420
420
  /**
421
- * UISwitch thumb travelling between off and on.
422
- * @source webkit Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm
423
- * `thumbMoveSpring = SpringSolver(1.0, 438.649…, 31.4159…)`, "Values
424
- * chosen for consistency with UIKit" (= response 0.30 s, ratio 0.75);
425
- * its settling duration is WebKit's iOS switch duration 0.48801 s
426
- * (RenderThemeIOS.h). These are WebKit's iOS 18 values: UIKit's own
427
- * switch frames differ, and a switch reads its measured table instead.
428
- * @measure M-SW02
421
+ * UISwitch thumb travelling between off and on, measured: the switch table's
422
+ * `travel` reads this row, so the value has one home.
423
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
424
+ * iPhone 17 Pro, the lens's position behavior read on a tap (damping 1,
425
+ * response 0.3); the lens center after a 50 ms tap and after a 1 s hold
426
+ * fits one spring at 0.31 / 1 (rms 0.11 pt), Oct 23 2026
429
427
  */
430
428
  export const SWITCH_THUMB_MOVE_SPRING = {
431
429
  response: 0.3,
432
- dampingRatio: 0.75
433
- };
434
-
435
- /**
436
- * UISwitch thumb stretching while pressed and relaxing on release.
437
- * @source webkit Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm
438
- * `thumbPressSpring = SpringSolver(1.0, 322.272…, 31.2364…)`, "Values
439
- * chosen for consistency with UIKit" (= response 0.35 s, ratio 0.87);
440
- * settles in WebKit's held duration 0.50740 s (RenderThemeIOS.h). As
441
- * for `switchThumbMove`, UIKit's own frames differ.
442
- * @measure M-SW03
443
- */
444
- export const SWITCH_THUMB_STRETCH_SPRING = {
445
- response: 0.35,
446
- dampingRatio: 0.87
447
- };
448
-
449
- /**
450
- * UISegmentedControl selection thumb sliding to a new segment.
451
- * @source GUESS — WebKit's UIKit-matched switch thumb spring, the nearest
452
- * sourced control thumb
453
- * @measure M-SG02
454
- * @measure M-SG03
455
- */
456
- export const SEGMENTED_THUMB_SPRING = {
457
- response: 0.3,
458
- dampingRatio: 0.75
430
+ dampingRatio: 1
459
431
  };
460
432
 
461
433
  // ---------------------------------------------------------------------
@@ -560,8 +532,6 @@ export const springs = {
560
532
  contextMenuMorph: CONTEXT_MENU_MORPH_SPRING,
561
533
  menuReducedMotion: MENU_REDUCED_MOTION_SPRING,
562
534
  switchThumbMove: SWITCH_THUMB_MOVE_SPRING,
563
- switchThumbStretch: SWITCH_THUMB_STRETCH_SPRING,
564
- segmentedThumb: SEGMENTED_THUMB_SPRING,
565
535
  keyboard: KEYBOARD_SPRING,
566
536
  banner: BANNER_SPRING,
567
537
  sliderRelease: SLIDER_RELEASE_SPRING,
@@ -0,0 +1,166 @@
1
+ /**
2
+ * UISwitch on iOS 26.2. Under a finger its white thumb lifts into a clear
3
+ * glass lens, and a drag moves it with a rubber band. The track colour slides
4
+ * on a spring of its own. UISwitch plays no haptic.
5
+ */
6
+ export declare const switchControl: {
7
+ /**
8
+ * The control's size (width × height): the track.
9
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
10
+ * iPhone 17 Pro, `UISwitch` frame 63 × 28 (intrinsic 61 × 28), track view
11
+ * 63 × 28 with corner radius 14, Oct 23 2026
12
+ */
13
+ readonly trackSize: readonly [63, 28];
14
+ /**
15
+ * The thumb at rest (width × height), inset equally from the track's top,
16
+ * bottom and nearer end; it never changes size between off and on.
17
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
18
+ * iPhone 17 Pro, `_UILiquidLensView` frame 37 × 24 at x 2 (off) and
19
+ * x 24 (on) inside the 63 × 28 track, Oct 23 2026
20
+ */
21
+ readonly thumbSize: readonly [37, 24];
22
+ /**
23
+ * The thumb lifted under a finger (width × height). The lens grows about
24
+ * its own center, past the track, and holds this size while the finger
25
+ * stays down.
26
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
27
+ * iPhone 17 Pro, lens bounds settled at 58 × 38.33 during a 1 s hold
28
+ * (center unmoved), Oct 23 2026
29
+ */
30
+ readonly liftedThumbSize: readonly [58, 38.333];
31
+ /**
32
+ * The lift: the thumb growing to `liftedThumbSize` while its white fill
33
+ * fades out and the clear glass fades in (one spring drives all three).
34
+ * Starts with the touch outside a scroll view, after its content delay
35
+ * inside one. UISwitch keeps it under Reduce Motion; core's Switch does not
36
+ * lift then.
37
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
38
+ * iPhone 17 Pro, per-frame lens bounds during a 1 s hold fitted with one
39
+ * spring for width and height (rms 0.29 pt; the fill's and the glass's
40
+ * opacity overshoot by the same 13 %; the lens's settings read on a tap
41
+ * say damping 0.625, response 0.27, whose 8 % overshoot is short of the
42
+ * frames' 12 %), Oct 23 2026
43
+ */
44
+ readonly lift: {
45
+ readonly response: 0.23;
46
+ readonly dampingRatio: 0.55;
47
+ };
48
+ /**
49
+ * The settle after the finger lifts: the lens shrinking back to
50
+ * `thumbSize` while the white fill returns over the glass.
51
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
52
+ * iPhone 17 Pro, the lens's spring settings read on a tap (damping 0.7,
53
+ * response 0.5); per-frame lens bounds after the lift of a 1 s hold fit
54
+ * one spring at 0.49 / 0.70 (rms 0.065 pt; the opacities undershoot by
55
+ * the same 4.5 %), Oct 23 2026
56
+ */
57
+ readonly settle: {
58
+ readonly response: 0.5;
59
+ readonly dampingRatio: 0.7;
60
+ };
61
+ /**
62
+ * The settle never starts sooner than this after the lift began, so a
63
+ * quick tap still shows the lifted lens, in ms.
64
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
65
+ * iPhone 17 Pro, a 50 ms tap: the lift→settle hand-off fitted at 235 ms
66
+ * after the lift began (rms 0.33 pt), Oct 23 2026
67
+ * @measure M-SW07
68
+ */
69
+ readonly minimumLiftMs: 235;
70
+ /**
71
+ * The thumb travelling to the committed end after a release or a
72
+ * programmatic change. It starts from the thumb's own velocity.
73
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
74
+ * iPhone 17 Pro, the lens's position behavior read on a tap (damping 1,
75
+ * response 0.3); the lens center after a 50 ms tap and after a 1 s hold
76
+ * fits one spring at 0.31 / 1 (rms 0.11 pt), Oct 23 2026; the springs
77
+ * table's `SWITCH_THUMB_MOVE_SPRING` holds the one value
78
+ */
79
+ readonly travel: {
80
+ readonly response: 0.3;
81
+ readonly dampingRatio: 1;
82
+ };
83
+ /**
84
+ * During a drag the thumb chases the finger: each move retargets this
85
+ * spring at the finger's position, rubber-banded past either end.
86
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
87
+ * iPhone 17 Pro, a 4 s drag off → on → past both ends: the lens center
88
+ * simulated as this spring chasing the rubber-banded finger fits every
89
+ * frame (rms 0.21 pt), Oct 23 2026
90
+ */
91
+ readonly tracking: {
92
+ readonly response: 0.36;
93
+ readonly dampingRatio: 1;
94
+ };
95
+ /**
96
+ * The drag's rubber band past either end: UIScrollView's
97
+ * `(1 − 1 ÷ (x·c ÷ d + 1))·d`. The coefficient c and the dimension d are in
98
+ * pt for the 28 pt control. Scale d with the track height.
99
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
100
+ * iPhone 17 Pro, the same drag fit: c 0.55, d 11.75–12 pt, the
101
+ * translation measured from where the finger landed, Oct 23 2026
102
+ */
103
+ readonly rubberBand: {
104
+ readonly coefficient: 0.55;
105
+ readonly dimension: 12;
106
+ };
107
+ /**
108
+ * A drag flips the switch by the finger, not the thumb. Once the finger is
109
+ * this far from where it landed, toward the other end, the switch shows
110
+ * the other side. The distance is the track width minus the thumb width
111
+ * (63 − 37 pt). Back past where it landed, the starting side shows again.
112
+ * Flips happen on touch events only, so a fast swipe flips on the lift.
113
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
114
+ * iPhone 17 Pro, `UISwitchModernVisualElement` ivars per frame and the
115
+ * "SwitchWellPosition" springs during 1 pt-step drags: the same 26 pt for
116
+ * presses at x 8, 20.5 and 45, with and without a 400 ms hold, mirrored
117
+ * on an on switch; flipping back at the press point, Oct 23 2026
118
+ */
119
+ readonly flipDistance: 26;
120
+ /**
121
+ * The track color turning on: the well image sliding in on a critically
122
+ * damped spring, starting when the switch flips (the lift of a tap).
123
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
124
+ * iPhone 17 Pro, `CASpringAnimation` "SwitchWellPosition" read: mass 1,
125
+ * stiffness 85.377, damping 18.480 (response 0.68 s), Oct 23 2026
126
+ */
127
+ readonly wellOn: {
128
+ readonly mass: 1;
129
+ readonly stiffness: 85.37720070146501;
130
+ readonly damping: 18.47995678582231;
131
+ };
132
+ /**
133
+ * The track color turning off: the same well sliding back, faster.
134
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
135
+ * iPhone 17 Pro, `CASpringAnimation` "SwitchWellPosition" read: mass 1,
136
+ * stiffness 246.740, damping 31.416 (response 0.40 s), Oct 23 2026
137
+ */
138
+ readonly wellOff: {
139
+ readonly mass: 1;
140
+ readonly stiffness: 246.74011002723395;
141
+ readonly damping: 31.41592653589793;
142
+ };
143
+ /**
144
+ * The lifted lens's drop shadow: y offset and radius in pt, then black
145
+ * alpha; none at rest.
146
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
147
+ * iPhone 17 Pro, the lens layer's presented `shadowOffset` (0, 7),
148
+ * `shadowRadius` 3, `shadowOpacity` 0.12 once lifted, 0 at rest,
149
+ * Oct 23 2026
150
+ */
151
+ readonly liftedShadow: readonly [7, 3, 0.12];
152
+ /**
153
+ * UISwitch plays no haptic on a tap, a hold or a drag.
154
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
155
+ * iPhone 17 Pro, every `UIFeedbackGenerator` entry point hooked: no call
156
+ * on tap, hold, drag or flip, Oct 23 2026
157
+ */
158
+ readonly haptic: "none";
159
+ };
160
+ /**
161
+ * Registers the switch table's motion roles as internal roles. Nothing
162
+ * registers on import: Switch's touch presentation calls it once before its
163
+ * first animation, and a second call does nothing.
164
+ */
165
+ export declare function registerSwitchTable(): void;
166
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../../src/motion/uikit/switch.ts"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB;;;;;OAKG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;;;;;;OAYG;;;;;IAEH;;;;;;;;OAQG;;;;;IAEH;;;;;;;OAOG;;IAEH;;;;;;;;OAQG;;;;;IAEH;;;;;;;OAOG;;;;;IAEH;;;;;;;OAOG;;;;;IAEH;;;;;;;;;;;OAWG;;IAEH;;;;;;OAMG;;;;;;IAEH;;;;;OAKG;;;;;;IAEH;;;;;;;OAOG;;IAEH;;;;;OAKG;;CAEK,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAY1C"}
@@ -0,0 +1,186 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file switch.ts
5
+ * @input The springs table's measured switch travel (springs.ts)
6
+ * @output Exports `switchControl`: UISwitch's geometry, the springs of its
7
+ * Liquid Glass thumb and of its track color, the drag's rubber band and
8
+ * flip distance, and the release timing
9
+ * @position The switch domain of the UIKit constants table (motion/uikit)
10
+ *
11
+ * The values are UISwitch's on iOS 26.2, read in a UIKit host app on the
12
+ * simulator. Lengths are in pt (CSS px). uikit.test.ts checks each `@source`.
13
+ *
14
+ * SYNC: When modified, update /packages/core/src/motion/MEASUREMENTS.md.
15
+ */
16
+
17
+ import { registerMotionTable } from "../roles.js";
18
+ import { SWITCH_THUMB_MOVE_SPRING } from "./springs.js";
19
+
20
+ /**
21
+ * UISwitch on iOS 26.2. Under a finger its white thumb lifts into a clear
22
+ * glass lens, and a drag moves it with a rubber band. The track colour slides
23
+ * on a spring of its own. UISwitch plays no haptic.
24
+ */
25
+ export const switchControl = {
26
+ /**
27
+ * The control's size (width × height): the track.
28
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
29
+ * iPhone 17 Pro, `UISwitch` frame 63 × 28 (intrinsic 61 × 28), track view
30
+ * 63 × 28 with corner radius 14, Oct 23 2026
31
+ */
32
+ trackSize: [63, 28],
33
+ /**
34
+ * The thumb at rest (width × height), inset equally from the track's top,
35
+ * bottom and nearer end; it never changes size between off and on.
36
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
37
+ * iPhone 17 Pro, `_UILiquidLensView` frame 37 × 24 at x 2 (off) and
38
+ * x 24 (on) inside the 63 × 28 track, Oct 23 2026
39
+ */
40
+ thumbSize: [37, 24],
41
+ /**
42
+ * The thumb lifted under a finger (width × height). The lens grows about
43
+ * its own center, past the track, and holds this size while the finger
44
+ * stays down.
45
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
46
+ * iPhone 17 Pro, lens bounds settled at 58 × 38.33 during a 1 s hold
47
+ * (center unmoved), Oct 23 2026
48
+ */
49
+ liftedThumbSize: [58, 38.333],
50
+ /**
51
+ * The lift: the thumb growing to `liftedThumbSize` while its white fill
52
+ * fades out and the clear glass fades in (one spring drives all three).
53
+ * Starts with the touch outside a scroll view, after its content delay
54
+ * inside one. UISwitch keeps it under Reduce Motion; core's Switch does not
55
+ * lift then.
56
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
57
+ * iPhone 17 Pro, per-frame lens bounds during a 1 s hold fitted with one
58
+ * spring for width and height (rms 0.29 pt; the fill's and the glass's
59
+ * opacity overshoot by the same 13 %; the lens's settings read on a tap
60
+ * say damping 0.625, response 0.27, whose 8 % overshoot is short of the
61
+ * frames' 12 %), Oct 23 2026
62
+ */
63
+ lift: {
64
+ response: 0.23,
65
+ dampingRatio: 0.55
66
+ },
67
+ /**
68
+ * The settle after the finger lifts: the lens shrinking back to
69
+ * `thumbSize` while the white fill returns over the glass.
70
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
71
+ * iPhone 17 Pro, the lens's spring settings read on a tap (damping 0.7,
72
+ * response 0.5); per-frame lens bounds after the lift of a 1 s hold fit
73
+ * one spring at 0.49 / 0.70 (rms 0.065 pt; the opacities undershoot by
74
+ * the same 4.5 %), Oct 23 2026
75
+ */
76
+ settle: {
77
+ response: 0.5,
78
+ dampingRatio: 0.7
79
+ },
80
+ /**
81
+ * The settle never starts sooner than this after the lift began, so a
82
+ * quick tap still shows the lifted lens, in ms.
83
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
84
+ * iPhone 17 Pro, a 50 ms tap: the lift→settle hand-off fitted at 235 ms
85
+ * after the lift began (rms 0.33 pt), Oct 23 2026
86
+ * @measure M-SW07
87
+ */
88
+ minimumLiftMs: 235,
89
+ /**
90
+ * The thumb travelling to the committed end after a release or a
91
+ * programmatic change. It starts from the thumb's own velocity.
92
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
93
+ * iPhone 17 Pro, the lens's position behavior read on a tap (damping 1,
94
+ * response 0.3); the lens center after a 50 ms tap and after a 1 s hold
95
+ * fits one spring at 0.31 / 1 (rms 0.11 pt), Oct 23 2026; the springs
96
+ * table's `SWITCH_THUMB_MOVE_SPRING` holds the one value
97
+ */
98
+ travel: SWITCH_THUMB_MOVE_SPRING,
99
+ /**
100
+ * During a drag the thumb chases the finger: each move retargets this
101
+ * spring at the finger's position, rubber-banded past either end.
102
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
103
+ * iPhone 17 Pro, a 4 s drag off → on → past both ends: the lens center
104
+ * simulated as this spring chasing the rubber-banded finger fits every
105
+ * frame (rms 0.21 pt), Oct 23 2026
106
+ */
107
+ tracking: {
108
+ response: 0.36,
109
+ dampingRatio: 1
110
+ },
111
+ /**
112
+ * The drag's rubber band past either end: UIScrollView's
113
+ * `(1 − 1 ÷ (x·c ÷ d + 1))·d`. The coefficient c and the dimension d are in
114
+ * pt for the 28 pt control. Scale d with the track height.
115
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
116
+ * iPhone 17 Pro, the same drag fit: c 0.55, d 11.75–12 pt, the
117
+ * translation measured from where the finger landed, Oct 23 2026
118
+ */
119
+ rubberBand: {
120
+ coefficient: 0.55,
121
+ dimension: 12
122
+ },
123
+ /**
124
+ * A drag flips the switch by the finger, not the thumb. Once the finger is
125
+ * this far from where it landed, toward the other end, the switch shows
126
+ * the other side. The distance is the track width minus the thumb width
127
+ * (63 − 37 pt). Back past where it landed, the starting side shows again.
128
+ * Flips happen on touch events only, so a fast swipe flips on the lift.
129
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
130
+ * iPhone 17 Pro, `UISwitchModernVisualElement` ivars per frame and the
131
+ * "SwitchWellPosition" springs during 1 pt-step drags: the same 26 pt for
132
+ * presses at x 8, 20.5 and 45, with and without a 400 ms hold, mirrored
133
+ * on an on switch; flipping back at the press point, Oct 23 2026
134
+ */
135
+ flipDistance: 26,
136
+ /**
137
+ * The track color turning on: the well image sliding in on a critically
138
+ * damped spring, starting when the switch flips (the lift of a tap).
139
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
140
+ * iPhone 17 Pro, `CASpringAnimation` "SwitchWellPosition" read: mass 1,
141
+ * stiffness 85.377, damping 18.480 (response 0.68 s), Oct 23 2026
142
+ */
143
+ wellOn: {
144
+ mass: 1,
145
+ stiffness: 85.37720070146501,
146
+ damping: 18.47995678582231
147
+ },
148
+ /**
149
+ * The track color turning off: the same well sliding back, faster.
150
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
151
+ * iPhone 17 Pro, `CASpringAnimation` "SwitchWellPosition" read: mass 1,
152
+ * stiffness 246.740, damping 31.416 (response 0.40 s), Oct 23 2026
153
+ */
154
+ wellOff: {
155
+ mass: 1,
156
+ stiffness: 246.74011002723395,
157
+ damping: 31.41592653589793
158
+ },
159
+ /**
160
+ * The lifted lens's drop shadow: y offset and radius in pt, then black
161
+ * alpha; none at rest.
162
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
163
+ * iPhone 17 Pro, the lens layer's presented `shadowOffset` (0, 7),
164
+ * `shadowRadius` 3, `shadowOpacity` 0.12 once lifted, 0 at rest,
165
+ * Oct 23 2026
166
+ */
167
+ liftedShadow: [7, 3, 0.12],
168
+ /**
169
+ * UISwitch plays no haptic on a tap, a hold or a drag.
170
+ * @source measured: UIKit lab (injected host app), iOS 26.2 simulator,
171
+ * iPhone 17 Pro, every `UIFeedbackGenerator` entry point hooked: no call
172
+ * on tap, hold, drag or flip, Oct 23 2026
173
+ */
174
+ haptic: 'none'
175
+ };
176
+
177
+ /**
178
+ * Registers the switch table's motion roles as internal roles. Nothing
179
+ * registers on import: Switch's touch presentation calls it once before its
180
+ * first animation, and a second call does nothing.
181
+ */
182
+ export function registerSwitchTable() {
183
+ registerMotionTable('switchControl', switchControl, {
184
+ roles: ['lift', 'settle', 'travel', 'tracking', 'wellOn', 'wellOff', 'minimumLiftMs']
185
+ });
186
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @file privateAttributes/pressGroupItem.stylex.ts
3
+ * @input Nothing: the private press-group-item attribute
4
+ * @output pressGroupItemProps, which marks an action a group's tracker
5
+ * follows, and isTrackedByGroup, which reads the mark
6
+ * @position Owner module of the private press-group-item attribute: the only
7
+ * file that writes its name. AlertDialog marks its actions, and the press
8
+ * controller (utils/pressFeedback.ts) leaves their press to the group's
9
+ * tracker. No package entry exports it.
10
+ */
11
+ /** Spread on each action that a group's tracker follows. */
12
+ export declare const pressGroupItemProps: Readonly<Record<string, string>>;
13
+ /** Whether a group's tracker paints the press on `element` or an ancestor. */
14
+ export declare function isTrackedByGroup(element: Element): boolean;
15
+ //# sourceMappingURL=pressGroupItem.stylex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pressGroupItem.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/pressGroupItem.stylex.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAIH,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEhE,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D"}
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ /**
3
+ * @file privateAttributes/pressGroupItem.stylex.ts
4
+ * @input Nothing: the private press-group-item attribute
5
+ * @output pressGroupItemProps, which marks an action a group's tracker
6
+ * follows, and isTrackedByGroup, which reads the mark
7
+ * @position Owner module of the private press-group-item attribute: the only
8
+ * file that writes its name. AlertDialog marks its actions, and the press
9
+ * controller (utils/pressFeedback.ts) leaves their press to the group's
10
+ * tracker. No package entry exports it.
11
+ */
12
+
13
+ const PRESS_GROUP_ITEM = 'data-astryx-press-group-item';
14
+
15
+ /** Spread on each action that a group's tracker follows. */
16
+ export const pressGroupItemProps = {
17
+ [PRESS_GROUP_ITEM]: ''
18
+ };
19
+
20
+ /** Whether a group's tracker paints the press on `element` or an ancestor. */
21
+ export function isTrackedByGroup(element) {
22
+ return element.closest(`[${PRESS_GROUP_ITEM}]`) != null;
23
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @file privateAttributes/pressHoldsDrag.stylex.ts
3
+ * @input Whether a pressable's own drag moves under the finger
4
+ * @output pressHoldsDragProps, which marks such a pressable, and
5
+ * holdsPressThroughDrag, which reads the mark
6
+ * @position Owner module of the private press-holds-drag attribute: the only
7
+ * file that writes its name. Switch marks its row; the press controller
8
+ * (utils/pressFeedback.ts) keeps the press painted through that row's
9
+ * drag. No package entry exports it.
10
+ */
11
+ /**
12
+ * Spread on a pressable whose own drag the finger moves, such as a Switch's
13
+ * thumb. The drag is not a scroll, so the press stays painted.
14
+ */
15
+ export declare function pressHoldsDragProps(holdsDrag: boolean): Readonly<Record<string, string>>;
16
+ /** Whether the press on `element` stays painted through its drag. */
17
+ export declare function holdsPressThroughDrag(element: Element): boolean;
18
+ //# sourceMappingURL=pressHoldsDrag.stylex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pressHoldsDrag.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/pressHoldsDrag.stylex.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAIH;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,GACjB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAElC;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE/D"}
@@ -0,0 +1,28 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ /**
3
+ * @file privateAttributes/pressHoldsDrag.stylex.ts
4
+ * @input Whether a pressable's own drag moves under the finger
5
+ * @output pressHoldsDragProps, which marks such a pressable, and
6
+ * holdsPressThroughDrag, which reads the mark
7
+ * @position Owner module of the private press-holds-drag attribute: the only
8
+ * file that writes its name. Switch marks its row; the press controller
9
+ * (utils/pressFeedback.ts) keeps the press painted through that row's
10
+ * drag. No package entry exports it.
11
+ */
12
+
13
+ const PRESS_HOLDS_DRAG = 'data-astryx-press-holds-drag';
14
+
15
+ /**
16
+ * Spread on a pressable whose own drag the finger moves, such as a Switch's
17
+ * thumb. The drag is not a scroll, so the press stays painted.
18
+ */
19
+ export function pressHoldsDragProps(holdsDrag) {
20
+ return holdsDrag ? {
21
+ [PRESS_HOLDS_DRAG]: ''
22
+ } : {};
23
+ }
24
+
25
+ /** Whether the press on `element` stays painted through its drag. */
26
+ export function holdsPressThroughDrag(element) {
27
+ return element.hasAttribute(PRESS_HOLDS_DRAG);
28
+ }
@@ -0,0 +1,5 @@
1
+ /** Spread on a segment's title: marks it for the touch layer. */
2
+ export declare const segmentTitleProps: Readonly<Record<string, string>>;
3
+ /** The title inside `segment`, or null when the label is hidden. */
4
+ export declare function titleOfSegment(segment: Element): HTMLElement | null;
5
+ //# sourceMappingURL=segmentTitle.stylex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentTitle.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/segmentTitle.stylex.ts"],"names":[],"mappings":"AAaA,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9D,CAAC;AAEF,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,22 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file privateAttributes/segmentTitle.stylex.ts
5
+ * @input Nothing
6
+ * @output segmentTitleProps, which marks a SegmentedControl segment's title,
7
+ * and titleOfSegment, which finds that title in a segment
8
+ * @position Owner module of the private segment-title attribute: the only
9
+ * file that writes its name. No package entry exports it.
10
+ */
11
+
12
+ const SEGMENT_TITLE = 'data-astryx-segment-title';
13
+
14
+ /** Spread on a segment's title: marks it for the touch layer. */
15
+ export const segmentTitleProps = {
16
+ [SEGMENT_TITLE]: ''
17
+ };
18
+
19
+ /** The title inside `segment`, or null when the label is hidden. */
20
+ export function titleOfSegment(segment) {
21
+ return segment.querySelector(`[${SEGMENT_TITLE}]`);
22
+ }