@astryxdesign/core 0.7.4 → 0.7.5-canary.0418c47

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 (1568) hide show
  1. package/README.md +12 -9
  2. package/dist/AlertDialog/AlertDialog.d.ts +2 -2
  3. package/dist/AlertDialog/AlertDialog.js +1 -1
  4. package/dist/AlertDialog/index.d.ts +4 -4
  5. package/dist/AlertDialog/useImperativeAlertDialog.d.ts +1 -1
  6. package/dist/AppShell/AppShell.d.ts +4 -4
  7. package/dist/AppShell/index.d.ts +4 -4
  8. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  9. package/dist/AspectRatio/index.d.ts +2 -2
  10. package/dist/Avatar/Avatar.d.ts +2 -2
  11. package/dist/Avatar/AvatarStatusDot.d.ts +2 -2
  12. package/dist/Avatar/AvatarStatusDot.js +2 -2
  13. package/dist/Avatar/index.d.ts +4 -4
  14. package/dist/AvatarGroup/AvatarGroup.d.ts +2 -2
  15. package/dist/AvatarGroup/AvatarGroupContext.d.ts +1 -1
  16. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
  17. package/dist/AvatarGroup/index.d.ts +6 -6
  18. package/dist/Badge/Badge.d.ts +2 -2
  19. package/dist/Badge/Badge.d.ts.map +1 -1
  20. package/dist/Badge/Badge.js +18 -2
  21. package/dist/Badge/index.d.ts +2 -2
  22. package/dist/Banner/Banner.d.ts +5 -4
  23. package/dist/Banner/Banner.d.ts.map +1 -1
  24. package/dist/Banner/Banner.js +64 -9
  25. package/dist/Banner/index.d.ts +2 -2
  26. package/dist/Blockquote/Blockquote.d.ts +1 -1
  27. package/dist/Blockquote/index.d.ts +2 -2
  28. package/dist/BottomSheet/BottomSheet.d.ts +58 -10
  29. package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
  30. package/dist/BottomSheet/BottomSheet.js +435 -198
  31. package/dist/BottomSheet/BottomSheetHostContext.d.ts +8 -0
  32. package/dist/BottomSheet/BottomSheetHostContext.d.ts.map +1 -0
  33. package/dist/BottomSheet/BottomSheetHostContext.js +35 -0
  34. package/dist/BottomSheet/BottomSheetPanel.d.ts +12 -4
  35. package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
  36. package/dist/BottomSheet/BottomSheetPanel.js +76 -22
  37. package/dist/BottomSheet/BottomSheetSwitcher.d.ts +54 -15
  38. package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
  39. package/dist/BottomSheet/BottomSheetSwitcher.js +229 -27
  40. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +8 -2
  41. package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
  42. package/dist/BottomSheet/bottomSheetEscape.d.ts +3 -0
  43. package/dist/BottomSheet/bottomSheetEscape.d.ts.map +1 -0
  44. package/dist/BottomSheet/bottomSheetEscape.js +20 -0
  45. package/dist/BottomSheet/bottomSheetStack.d.ts +262 -0
  46. package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -0
  47. package/dist/BottomSheet/bottomSheetStack.js +1652 -0
  48. package/dist/BottomSheet/index.d.ts +4 -4
  49. package/dist/BottomSheet/useSheetGestures.d.ts +19 -3
  50. package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
  51. package/dist/BottomSheet/useSheetGestures.js +43 -14
  52. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +4 -4
  53. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  54. package/dist/Breadcrumbs/BreadcrumbItem.js +5 -0
  55. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -2
  56. package/dist/Breadcrumbs/index.d.ts +12 -12
  57. package/dist/Button/Button.d.ts +4 -4
  58. package/dist/Button/Button.d.ts.map +1 -1
  59. package/dist/Button/Button.js +18 -7
  60. package/dist/Button/index.d.ts +2 -2
  61. package/dist/ButtonGroup/ButtonGroup.d.ts +4 -4
  62. package/dist/ButtonGroup/index.d.ts +4 -4
  63. package/dist/Calendar/Calendar.d.ts +3 -3
  64. package/dist/Calendar/dayCellUtils.d.ts +1 -1
  65. package/dist/Calendar/getInitialFocusDate.d.ts +2 -2
  66. package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +1 -1
  67. package/dist/Calendar/hooks/index.d.ts +6 -6
  68. package/dist/Calendar/hooks/useCalendarConstraints.d.ts +2 -2
  69. package/dist/Calendar/hooks/useCalendarDays.d.ts +2 -2
  70. package/dist/Calendar/hooks/useCalendarNavigation.d.ts +2 -2
  71. package/dist/Calendar/index.d.ts +5 -5
  72. package/dist/Calendar/utils.d.ts +1 -1
  73. package/dist/Card/Card.d.ts +4 -4
  74. package/dist/Card/index.d.ts +2 -2
  75. package/dist/Carousel/Carousel.d.ts +2 -2
  76. package/dist/Carousel/index.d.ts +2 -2
  77. package/dist/Center/Center.d.ts +2 -2
  78. package/dist/Center/index.d.ts +2 -2
  79. package/dist/Chat/ChatComposer.d.ts +1 -1
  80. package/dist/Chat/ChatComposer.d.ts.map +1 -1
  81. package/dist/Chat/ChatComposer.js +25 -32
  82. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  83. package/dist/Chat/ChatComposerInput.d.ts +4 -4
  84. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  85. package/dist/Chat/ChatComposerInput.js +55 -16
  86. package/dist/Chat/ChatDictationButton.d.ts +2 -2
  87. package/dist/Chat/ChatLayout.d.ts +1 -1
  88. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  89. package/dist/Chat/ChatMessage.d.ts +2 -2
  90. package/dist/Chat/ChatMessageBubble.d.ts +2 -2
  91. package/dist/Chat/ChatMessageList.d.ts +3 -3
  92. package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
  93. package/dist/Chat/ChatMessageMetadata.js +2 -2
  94. package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
  95. package/dist/Chat/ChatPastedTextToken.js +7 -6
  96. package/dist/Chat/ChatSendButton.d.ts +1 -1
  97. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  98. package/dist/Chat/ChatTokenizedText.d.ts +2 -2
  99. package/dist/Chat/ChatToolCalls.d.ts +1 -1
  100. package/dist/Chat/ChatToolCalls.js +4 -4
  101. package/dist/Chat/index.d.ts +43 -43
  102. package/dist/Chat/useChatComposerTokens.d.ts +1 -1
  103. package/dist/Chat/useChatDictation.d.ts +1 -1
  104. package/dist/Chat/useChatPasteAsToken.d.ts +1 -1
  105. package/dist/Chat/useTriggerMenu.d.ts +2 -2
  106. package/dist/CheckboxInput/CheckboxInput.d.ts +4 -4
  107. package/dist/CheckboxInput/index.d.ts +2 -2
  108. package/dist/CheckboxList/CheckboxList.d.ts +4 -4
  109. package/dist/CheckboxList/CheckboxListItem.d.ts +2 -2
  110. package/dist/CheckboxList/index.d.ts +4 -4
  111. package/dist/Citation/Citation.d.ts +1 -1
  112. package/dist/Citation/index.d.ts +2 -2
  113. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  114. package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
  115. package/dist/ClickableCard/ClickableCard.js +10 -6
  116. package/dist/ClickableCard/index.d.ts +2 -2
  117. package/dist/Code/Code.d.ts +1 -1
  118. package/dist/Code/index.d.ts +1 -1
  119. package/dist/CodeBlock/CodeBlock.d.ts +27 -4
  120. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  121. package/dist/CodeBlock/CodeBlock.js +58 -19
  122. package/dist/CodeBlock/grammar.d.ts +134 -0
  123. package/dist/CodeBlock/grammar.d.ts.map +1 -0
  124. package/dist/CodeBlock/grammar.js +219 -0
  125. package/dist/CodeBlock/highlightRanges.d.ts +1 -1
  126. package/dist/CodeBlock/index.d.ts +10 -8
  127. package/dist/CodeBlock/index.d.ts.map +1 -1
  128. package/dist/CodeBlock/index.js +1 -0
  129. package/dist/CodeBlock/languages/dockerfile.d.ts +3 -0
  130. package/dist/CodeBlock/languages/dockerfile.d.ts.map +1 -0
  131. package/dist/CodeBlock/languages/dockerfile.js +45 -0
  132. package/dist/CodeBlock/languages/graphql.d.ts +3 -0
  133. package/dist/CodeBlock/languages/graphql.d.ts.map +1 -0
  134. package/dist/CodeBlock/languages/graphql.js +27 -0
  135. package/dist/CodeBlock/languages/java.d.ts +3 -0
  136. package/dist/CodeBlock/languages/java.d.ts.map +1 -0
  137. package/dist/CodeBlock/languages/java.js +24 -0
  138. package/dist/CodeBlock/languages/lua.d.ts +3 -0
  139. package/dist/CodeBlock/languages/lua.d.ts.map +1 -0
  140. package/dist/CodeBlock/languages/lua.js +21 -0
  141. package/dist/CodeBlock/languages/objective-c.d.ts +3 -0
  142. package/dist/CodeBlock/languages/objective-c.d.ts.map +1 -0
  143. package/dist/CodeBlock/languages/objective-c.js +27 -0
  144. package/dist/CodeBlock/languages/powershell.d.ts +3 -0
  145. package/dist/CodeBlock/languages/powershell.d.ts.map +1 -0
  146. package/dist/CodeBlock/languages/powershell.js +30 -0
  147. package/dist/CodeBlock/languages/ruby.d.ts +3 -0
  148. package/dist/CodeBlock/languages/ruby.d.ts.map +1 -0
  149. package/dist/CodeBlock/languages/ruby.js +24 -0
  150. package/dist/CodeBlock/languages/thrift.d.ts +3 -0
  151. package/dist/CodeBlock/languages/thrift.d.ts.map +1 -0
  152. package/dist/CodeBlock/languages/thrift.js +18 -0
  153. package/dist/CodeBlock/languages/toml.d.ts +3 -0
  154. package/dist/CodeBlock/languages/toml.d.ts.map +1 -0
  155. package/dist/CodeBlock/languages/toml.js +53 -0
  156. package/dist/CodeBlock/tokenizer.d.ts +8 -4
  157. package/dist/CodeBlock/tokenizer.d.ts.map +1 -1
  158. package/dist/CodeBlock/tokenizer.js +158 -8
  159. package/dist/Collapsible/Collapsible.d.ts +10 -3
  160. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  161. package/dist/Collapsible/Collapsible.js +84 -2
  162. package/dist/Collapsible/CollapsibleGroup.d.ts +2 -2
  163. package/dist/Collapsible/index.d.ts +7 -7
  164. package/dist/CommandPalette/CommandPalette.d.ts +2 -2
  165. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  166. package/dist/CommandPalette/CommandPalette.js +15 -1
  167. package/dist/CommandPalette/CommandPaletteContext.d.ts +1 -1
  168. package/dist/CommandPalette/CommandPaletteEmpty.d.ts +1 -1
  169. package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
  170. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
  171. package/dist/CommandPalette/CommandPaletteFooter.d.ts +1 -1
  172. package/dist/CommandPalette/CommandPaletteGroup.d.ts +1 -1
  173. package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
  174. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  175. package/dist/CommandPalette/CommandPaletteInput.js +14 -2
  176. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  177. package/dist/CommandPalette/CommandPaletteList.d.ts +1 -1
  178. package/dist/CommandPalette/busyStartSettle.d.ts +4 -0
  179. package/dist/CommandPalette/busyStartSettle.d.ts.map +1 -0
  180. package/dist/CommandPalette/busyStartSettle.js +23 -0
  181. package/dist/CommandPalette/index.d.ts +16 -16
  182. package/dist/ComplexSelector/ComplexSelector.d.ts +25 -7
  183. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
  184. package/dist/ComplexSelector/ComplexSelector.js +42 -7
  185. package/dist/ComplexSelector/index.d.ts +1 -1
  186. package/dist/ContextMenu/ContextMenu.d.ts +4 -4
  187. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  188. package/dist/ContextMenu/ContextMenu.js +48 -13
  189. package/dist/ContextMenu/index.d.ts +9 -9
  190. package/dist/DateInput/DateInput.d.ts +7 -7
  191. package/dist/DateInput/DateInput.d.ts.map +1 -1
  192. package/dist/DateInput/DateInput.js +12 -5
  193. package/dist/DateInput/MonthScroller.d.ts +1 -1
  194. package/dist/DateInput/NativeDateField.d.ts +1 -1
  195. package/dist/DateInput/NativeDateField.d.ts.map +1 -1
  196. package/dist/DateInput/NativeDateField.js +2 -1
  197. package/dist/DateInput/TouchDateField.d.ts +1 -1
  198. package/dist/DateInput/TouchDateField.d.ts.map +1 -1
  199. package/dist/DateInput/TouchDateField.js +2 -1
  200. package/dist/DateInput/Wheel.d.ts.map +1 -1
  201. package/dist/DateInput/Wheel.js +1 -1
  202. package/dist/DateInput/index.d.ts +2 -2
  203. package/dist/DateInput/monthGeometry.d.ts +1 -1
  204. package/dist/DateRangeInput/DateRangeInput.d.ts +6 -6
  205. package/dist/DateRangeInput/index.d.ts +2 -2
  206. package/dist/DateTimeInput/DateTimeInput.d.ts +6 -6
  207. package/dist/DateTimeInput/NativeDateSegment.d.ts +3 -3
  208. package/dist/DateTimeInput/NativeTimeSegment.d.ts +4 -4
  209. package/dist/DateTimeInput/TouchDateTimeField.d.ts +1 -1
  210. package/dist/DateTimeInput/index.d.ts +2 -2
  211. package/dist/Dialog/Dialog.d.ts +7 -3
  212. package/dist/Dialog/Dialog.d.ts.map +1 -1
  213. package/dist/Dialog/Dialog.js +20 -8
  214. package/dist/Dialog/DialogHeader.d.ts +1 -1
  215. package/dist/Dialog/index.d.ts +6 -6
  216. package/dist/Dialog/useImperativeDialog.d.ts +1 -1
  217. package/dist/Divider/Divider.d.ts +2 -2
  218. package/dist/Divider/index.d.ts +2 -2
  219. package/dist/Drawer/Drawer.d.ts +3 -3
  220. package/dist/Drawer/Drawer.d.ts.map +1 -1
  221. package/dist/Drawer/Drawer.js +18 -13
  222. package/dist/Drawer/DrawerHeader.d.ts +1 -1
  223. package/dist/Drawer/index.d.ts +4 -4
  224. package/dist/DropdownMenu/DropdownMenu.d.ts +5 -5
  225. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  226. package/dist/DropdownMenu/DropdownMenu.js +32 -20
  227. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +2 -2
  228. package/dist/DropdownMenu/DropdownMenuDivider.d.ts +1 -1
  229. package/dist/DropdownMenu/DropdownMenuGroup.d.ts +1 -1
  230. package/dist/DropdownMenu/DropdownMenuItem.d.ts +2 -2
  231. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  232. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +1 -1
  233. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +12 -7
  234. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  235. package/dist/DropdownMenu/DropdownMenuRadioItem.js +13 -5
  236. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +8 -8
  237. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  238. package/dist/DropdownMenu/DropdownMenuSubMenu.js +0 -3
  239. package/dist/DropdownMenu/MenuBottomSheet.d.ts +11 -4
  240. package/dist/DropdownMenu/MenuBottomSheet.d.ts.map +1 -1
  241. package/dist/DropdownMenu/MenuBottomSheet.js +35 -9
  242. package/dist/DropdownMenu/MenuBottomSheetActionList.d.ts +1 -1
  243. package/dist/DropdownMenu/MenuBottomSheetActionList.js +3 -3
  244. package/dist/DropdownMenu/index.d.ts +10 -10
  245. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +4 -2
  246. package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -1
  247. package/dist/DropdownMenu/lazyMenuBottomSheet.js +25 -3
  248. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts +23 -0
  249. package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts.map +1 -0
  250. package/dist/DropdownMenu/menuBottomSheet.stylex.js +29 -0
  251. package/dist/DropdownMenu/menuItemHover.d.ts +3 -0
  252. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  253. package/dist/DropdownMenu/menuItemHover.js +14 -1
  254. package/dist/DropdownMenu/renderDropdownItems.d.ts +1 -1
  255. package/dist/DropdownMenu/useMenuDrillIn.d.ts +1 -1
  256. package/dist/DropdownMenu/useMenuDrillIn.d.ts.map +1 -1
  257. package/dist/DropdownMenu/useMenuDrillIn.js +7 -5
  258. package/dist/EmptyState/EmptyState.d.ts +5 -3
  259. package/dist/EmptyState/EmptyState.d.ts.map +1 -1
  260. package/dist/EmptyState/EmptyState.js +6 -4
  261. package/dist/EmptyState/index.d.ts +2 -2
  262. package/dist/Field/Field.d.ts +5 -5
  263. package/dist/Field/Field.js +1 -1
  264. package/dist/Field/FieldLabel.d.ts +2 -2
  265. package/dist/Field/FieldLabel.js +1 -1
  266. package/dist/Field/PanelSearchInput.d.ts +10 -2
  267. package/dist/Field/PanelSearchInput.d.ts.map +1 -1
  268. package/dist/Field/PanelSearchInput.js +31 -22
  269. package/dist/Field/fieldInputFamily.testing.d.ts +1 -1
  270. package/dist/Field/fieldParts.d.ts +1 -1
  271. package/dist/Field/index.d.ts +10 -10
  272. package/dist/Field/inputDisabledFocus.d.ts +14 -0
  273. package/dist/Field/inputDisabledFocus.d.ts.map +1 -0
  274. package/dist/Field/inputDisabledFocus.js +19 -0
  275. package/dist/Field/inputStyles.stylex.d.ts +9 -9
  276. package/dist/Field/inputStyles.stylex.js +9 -9
  277. package/dist/FieldStatus/FieldStatus.d.ts +3 -3
  278. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  279. package/dist/FieldStatus/FieldStatus.js +7 -3
  280. package/dist/FieldStatus/index.d.ts +2 -2
  281. package/dist/FieldStatus/useFieldStatusAnnouncement.d.ts +1 -1
  282. package/dist/FileInput/FileInput.d.ts +4 -4
  283. package/dist/FileInput/FileInput.d.ts.map +1 -1
  284. package/dist/FileInput/FileInput.js +15 -9
  285. package/dist/FileInput/index.d.ts +2 -2
  286. package/dist/FormLayout/FormLayout.d.ts +2 -2
  287. package/dist/FormLayout/index.d.ts +4 -4
  288. package/dist/Grid/Grid.d.ts +3 -3
  289. package/dist/Grid/GridSpan.d.ts +1 -1
  290. package/dist/Grid/index.d.ts +4 -4
  291. package/dist/HStack/HStack.d.ts +2 -2
  292. package/dist/HStack/index.d.ts +1 -1
  293. package/dist/Heading/Heading.d.ts +4 -4
  294. package/dist/Heading/index.d.ts +1 -1
  295. package/dist/HoverCard/HoverCard.d.ts +4 -4
  296. package/dist/HoverCard/index.d.ts +4 -4
  297. package/dist/HoverCard/useHoverCard.d.ts +2 -2
  298. package/dist/Icon/Icon.d.ts +18 -6
  299. package/dist/Icon/Icon.d.ts.map +1 -1
  300. package/dist/Icon/Icon.js +55 -9
  301. package/dist/Icon/IconDefaultSizeContext.d.ts +1 -1
  302. package/dist/Icon/IconSize.stylex.d.ts +16 -11
  303. package/dist/Icon/IconSize.stylex.d.ts.map +1 -1
  304. package/dist/Icon/IconSize.stylex.js +27 -11
  305. package/dist/Icon/defaultIcons.d.ts +1 -1
  306. package/dist/Icon/globalIconRegistry.d.ts +69 -5
  307. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  308. package/dist/Icon/globalIconRegistry.js +108 -24
  309. package/dist/Icon/index.d.ts +30 -6
  310. package/dist/Icon/index.d.ts.map +1 -1
  311. package/dist/Icon/index.js +24 -1
  312. package/dist/Icon/useIcon.d.ts +6 -2
  313. package/dist/Icon/useIcon.d.ts.map +1 -1
  314. package/dist/Icon/useIcon.js +5 -1
  315. package/dist/IconButton/IconButton.d.ts +1 -1
  316. package/dist/IconButton/index.d.ts +2 -2
  317. package/dist/Indicator/CheckIndicator.d.ts +1 -1
  318. package/dist/Indicator/CheckboxIndicator.d.ts +1 -1
  319. package/dist/Indicator/RadioIndicator.d.ts +1 -1
  320. package/dist/Indicator/index.d.ts +8 -8
  321. package/dist/Indicator/indicatorRegistry.d.ts +2 -2
  322. package/dist/Indicator/types.d.ts +1 -1
  323. package/dist/Indicator/useIndicator.d.ts +2 -2
  324. package/dist/InputGroup/InputGroup.d.ts +3 -3
  325. package/dist/InputGroup/InputGroup.d.ts.map +1 -1
  326. package/dist/InputGroup/InputGroup.js +46 -36
  327. package/dist/InputGroup/InputGroupInternalContext.d.ts +4 -0
  328. package/dist/InputGroup/InputGroupInternalContext.d.ts.map +1 -0
  329. package/dist/InputGroup/InputGroupInternalContext.js +15 -0
  330. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  331. package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
  332. package/dist/InputGroup/InputGroupText.js +2 -0
  333. package/dist/InputGroup/groupStyles.d.ts +9 -0
  334. package/dist/InputGroup/groupStyles.d.ts.map +1 -1
  335. package/dist/InputGroup/groupStyles.js +28 -14
  336. package/dist/InputGroup/index.d.ts +6 -6
  337. package/dist/InteractiveRoleContext/InteractiveRoleContext.d.ts +1 -1
  338. package/dist/InteractiveRoleContext/index.d.ts +1 -1
  339. package/dist/Item/Item.d.ts +1 -1
  340. package/dist/Item/Item.d.ts.map +1 -1
  341. package/dist/Item/Item.js +1 -1
  342. package/dist/Item/ItemSwipeLayer.d.ts +2 -2
  343. package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
  344. package/dist/Item/ItemSwipeLayer.js +3 -0
  345. package/dist/Item/index.d.ts +2 -2
  346. package/dist/Item/useSwipeAction.d.ts.map +1 -1
  347. package/dist/Item/useSwipeAction.js +60 -5
  348. package/dist/Kbd/Kbd.d.ts +3 -3
  349. package/dist/Kbd/Kbd.d.ts.map +1 -1
  350. package/dist/Kbd/Kbd.js +18 -11
  351. package/dist/Kbd/index.d.ts +2 -2
  352. package/dist/Layer/LayerProvider.d.ts +1 -1
  353. package/dist/Layer/index.d.ts +18 -18
  354. package/dist/Layer/layerAnimations.stylex.d.ts +9 -5
  355. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  356. package/dist/Layer/layerAnimations.stylex.js +23 -10
  357. package/dist/Layer/layerInset.d.ts +1 -1
  358. package/dist/Layer/layerSlideRules.d.ts +63 -3
  359. package/dist/Layer/layerSlideRules.d.ts.map +1 -1
  360. package/dist/Layer/layerSlideRules.js +124 -3
  361. package/dist/Layer/layerStack.d.ts +12 -9
  362. package/dist/Layer/layerStack.d.ts.map +1 -1
  363. package/dist/Layer/layerStack.js +116 -53
  364. package/dist/Layer/modalOutlet.d.ts +44 -6
  365. package/dist/Layer/modalOutlet.d.ts.map +1 -1
  366. package/dist/Layer/modalOutlet.js +150 -14
  367. package/dist/Layer/preserveAnimations.d.ts +11 -0
  368. package/dist/Layer/preserveAnimations.d.ts.map +1 -0
  369. package/dist/Layer/preserveAnimations.js +245 -0
  370. package/dist/Layer/useLayer.d.ts +19 -2
  371. package/dist/Layer/useLayer.d.ts.map +1 -1
  372. package/dist/Layer/useLayer.js +500 -43
  373. package/dist/Layer/useLayerDismissal.d.ts +11 -8
  374. package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
  375. package/dist/Layer/useLayerDismissal.js +8 -8
  376. package/dist/Layer/useTouchTrigger.d.ts +14 -1
  377. package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
  378. package/dist/Layer/useTouchTrigger.js +72 -17
  379. package/dist/Layout/Layout.d.ts +2 -2
  380. package/dist/Layout/Layout.d.ts.map +1 -1
  381. package/dist/Layout/Layout.js +4 -0
  382. package/dist/Layout/LayoutContent.d.ts +2 -2
  383. package/dist/Layout/LayoutContent.d.ts.map +1 -1
  384. package/dist/Layout/LayoutContent.js +2 -2
  385. package/dist/Layout/LayoutFooter.d.ts +2 -2
  386. package/dist/Layout/LayoutFooter.d.ts.map +1 -1
  387. package/dist/Layout/LayoutFooter.js +2 -1
  388. package/dist/Layout/LayoutHeader.d.ts +2 -2
  389. package/dist/Layout/LayoutHeader.d.ts.map +1 -1
  390. package/dist/Layout/LayoutHeader.js +2 -1
  391. package/dist/Layout/LayoutPanel.d.ts +3 -3
  392. package/dist/Layout/index.d.ts +29 -29
  393. package/dist/Layout/layoutEdges.stylex.d.ts +20 -0
  394. package/dist/Layout/layoutEdges.stylex.d.ts.map +1 -0
  395. package/dist/Layout/layoutEdges.stylex.js +28 -0
  396. package/dist/Layout/padding.stylex.d.ts +1 -1
  397. package/dist/Lightbox/Lightbox.d.ts +6 -3
  398. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  399. package/dist/Lightbox/Lightbox.js +111 -89
  400. package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.d.ts +2 -0
  401. package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.d.ts.map +1 -0
  402. package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.js +78 -0
  403. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts +2 -0
  404. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts.map +1 -0
  405. package/dist/Lightbox/LightboxViewport.a11y.browser.spec.js +65 -0
  406. package/dist/Lightbox/index.d.ts +4 -4
  407. package/dist/Lightbox/useLightbox.d.ts +1 -1
  408. package/dist/Link/Link.d.ts +3 -3
  409. package/dist/Link/LinkContext.d.ts +1 -1
  410. package/dist/Link/LinkProvider.d.ts +1 -1
  411. package/dist/Link/index.d.ts +8 -8
  412. package/dist/Link/useLinkComponent.d.ts +1 -1
  413. package/dist/List/List.d.ts +3 -3
  414. package/dist/List/ListItem.d.ts +2 -2
  415. package/dist/List/index.d.ts +4 -4
  416. package/dist/Markdown/Markdown.d.ts +15 -5
  417. package/dist/Markdown/Markdown.d.ts.map +1 -1
  418. package/dist/Markdown/Markdown.fr23.bench.js +3 -1
  419. package/dist/Markdown/Markdown.fr23.sampling.d.ts +16 -0
  420. package/dist/Markdown/Markdown.fr23.sampling.d.ts.map +1 -1
  421. package/dist/Markdown/Markdown.fr23.sampling.js +13 -4
  422. package/dist/Markdown/Markdown.js +23 -9
  423. package/dist/Markdown/MarkdownTable.a11y.chromium.spec.js +1 -0
  424. package/dist/Markdown/headingProjection.d.ts +3 -3
  425. package/dist/Markdown/index.d.ts +7 -7
  426. package/dist/Markdown/parser/index.d.ts +3 -3
  427. package/dist/Markdown/parser.d.ts +3 -3
  428. package/dist/Markdown/plugin-renderer/MarkdownPluginNodeRenderer.d.ts +1 -1
  429. package/dist/Markdown/plugin-renderer/index.d.ts +2 -2
  430. package/dist/Markdown/plugins/frontmatter.d.ts +2 -2
  431. package/dist/Markdown/plugins/headingLinks.d.ts +2 -2
  432. package/dist/Markdown/plugins/index.d.ts +14 -14
  433. package/dist/Markdown/plugins/protocol.d.ts +1 -1
  434. package/dist/Markdown/plugins/semanticFence.d.ts +2 -2
  435. package/dist/Markdown/plugins/softBreaks.d.ts +1 -1
  436. package/dist/Markdown/plugins/sourceDecoration.d.ts +2 -2
  437. package/dist/Markdown/plugins/sourceLines.d.ts +1 -1
  438. package/dist/Markdown/plugins/textTransform.d.ts +2 -2
  439. package/dist/Markdown/remark.d.ts +1 -1
  440. package/dist/Markdown/utils.d.ts +4 -4
  441. package/dist/MetadataList/MetadataList.d.ts +2 -2
  442. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  443. package/dist/MetadataList/index.d.ts +5 -5
  444. package/dist/MobileNav/MobileNav.d.ts +3 -2
  445. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  446. package/dist/MobileNav/MobileNav.js +46 -37
  447. package/dist/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.js +1 -0
  448. package/dist/MobileNav/MobileNavToggle.d.ts +1 -1
  449. package/dist/MobileNav/index.d.ts +4 -4
  450. package/dist/MoreMenu/MoreMenu.d.ts +4 -4
  451. package/dist/MoreMenu/index.d.ts +1 -1
  452. package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +1 -0
  453. package/dist/MultiSelector/MultiSelector.d.ts +8 -8
  454. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  455. package/dist/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.js +1 -0
  456. package/dist/MultiSelector/MultiSelector.js +21 -5
  457. package/dist/MultiSelector/OptionActions.a11y.chromium.spec.js +1 -0
  458. package/dist/MultiSelector/hooks.d.ts +1 -1
  459. package/dist/MultiSelector/index.d.ts +3 -3
  460. package/dist/MultiSelector/types.d.ts +1 -1
  461. package/dist/NavIcon/NavIcon.d.ts +1 -1
  462. package/dist/NavIcon/index.d.ts +2 -2
  463. package/dist/NavMenu/NavHeadingMenu.d.ts +2 -2
  464. package/dist/NavMenu/NavHeadingMenuItem.d.ts +2 -2
  465. package/dist/NavMenu/NavHeadingMenuItem.d.ts.map +1 -1
  466. package/dist/NavMenu/NavHeadingMenuItem.js +46 -7
  467. package/dist/NavMenu/index.d.ts +6 -6
  468. package/dist/NumberInput/NumberInput.d.ts +9 -9
  469. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  470. package/dist/NumberInput/NumberInput.js +61 -24
  471. package/dist/NumberInput/index.d.ts +2 -2
  472. package/dist/NumberInput/numberInputCommit.d.ts +1 -1
  473. package/dist/NumberInput/numberParser.d.ts +1 -1
  474. package/dist/Outline/Outline.d.ts +3 -3
  475. package/dist/Outline/index.d.ts +7 -7
  476. package/dist/Outline/parseOutlineFromMarkdown.d.ts +2 -2
  477. package/dist/Outline/useOutlineFromDOM.d.ts +1 -1
  478. package/dist/Outline/useOutlineFromMarkdown.d.ts +3 -3
  479. package/dist/Outline/useScrollSpy.d.ts +1 -1
  480. package/dist/OverflowList/OverflowList.d.ts +2 -2
  481. package/dist/OverflowList/index.d.ts +2 -2
  482. package/dist/Overlay/Overlay.d.ts +2 -2
  483. package/dist/Overlay/index.d.ts +5 -5
  484. package/dist/Overlay/useOverlay.d.ts +1 -1
  485. package/dist/Pagination/Pagination.d.ts +2 -2
  486. package/dist/Pagination/index.d.ts +2 -2
  487. package/dist/Popover/Popover.d.ts +44 -5
  488. package/dist/Popover/Popover.d.ts.map +1 -1
  489. package/dist/Popover/Popover.js +276 -44
  490. package/dist/Popover/index.d.ts +4 -4
  491. package/dist/Popover/index.d.ts.map +1 -1
  492. package/dist/Popover/lazyPopoverBottomSheet.d.ts +23 -0
  493. package/dist/Popover/lazyPopoverBottomSheet.d.ts.map +1 -0
  494. package/dist/Popover/lazyPopoverBottomSheet.js +40 -0
  495. package/dist/Popover/usePopover.d.ts +2 -2
  496. package/dist/Popover/usePopover.d.ts.map +1 -1
  497. package/dist/Popover/usePopover.js +11 -5
  498. package/dist/PowerSearch/PowerSearch.d.ts +5 -5
  499. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  500. package/dist/PowerSearch/PowerSearch.js +7 -5
  501. package/dist/PowerSearch/PowerSearchEditPopover.d.ts +2 -2
  502. package/dist/PowerSearch/PowerSearchFilterEditor.d.ts +1 -1
  503. package/dist/PowerSearch/PowerSearchToken.d.ts +1 -1
  504. package/dist/PowerSearch/PowerSearchValueEditor.d.ts +2 -2
  505. package/dist/PowerSearch/formatFilterValue.d.ts +3 -3
  506. package/dist/PowerSearch/index.d.ts +8 -8
  507. package/dist/PowerSearch/resolveDateTimeRangePart.d.ts +1 -1
  508. package/dist/PowerSearch/resolveOperatorLabel.d.ts +2 -2
  509. package/dist/PowerSearch/types.d.ts +1 -1
  510. package/dist/PowerSearch/useInternalConfig.d.ts +1 -1
  511. package/dist/PowerSearch/usePowerSearchConfig.d.ts +1 -1
  512. package/dist/PowerSearch/usePowerSearchSource.d.ts +3 -3
  513. package/dist/PowerSearch/utils.d.ts +3 -3
  514. package/dist/ProgressBar/ProgressBar.d.ts +2 -2
  515. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  516. package/dist/ProgressBar/ProgressBar.js +8 -0
  517. package/dist/ProgressBar/index.d.ts +2 -2
  518. package/dist/RadioList/RadioList.d.ts +3 -3
  519. package/dist/RadioList/RadioListItem.d.ts +2 -2
  520. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  521. package/dist/RadioList/RadioListItem.js +10 -2
  522. package/dist/RadioList/index.d.ts +4 -4
  523. package/dist/Resizable/ResizeHandle.d.ts +2 -2
  524. package/dist/Resizable/index.d.ts +6 -6
  525. package/dist/Resizable/useResizable.d.ts +2 -2
  526. package/dist/Resizable/utils.d.ts +3 -3
  527. package/dist/ScrollableArea/ScrollableArea.d.ts +3 -3
  528. package/dist/ScrollableArea/ScrollableArea.d.ts.map +1 -1
  529. package/dist/ScrollableArea/ScrollableArea.js +1 -1
  530. package/dist/ScrollableArea/index.d.ts +4 -4
  531. package/dist/Section/Section.d.ts +3 -3
  532. package/dist/Section/index.d.ts +2 -2
  533. package/dist/SegmentedControl/SegmentedControl.d.ts +2 -2
  534. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  535. package/dist/SegmentedControl/index.d.ts +5 -5
  536. package/dist/SelectableCard/SelectableCard.d.ts +8 -8
  537. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  538. package/dist/SelectableCard/SelectableCard.js +15 -11
  539. package/dist/SelectableCard/index.d.ts +2 -2
  540. package/dist/Selector/Selector.d.ts +8 -8
  541. package/dist/Selector/Selector.d.ts.map +1 -1
  542. package/dist/Selector/Selector.js +16 -5
  543. package/dist/Selector/SelectorOption.d.ts +1 -1
  544. package/dist/Selector/hooks.d.ts +1 -1
  545. package/dist/Selector/index.d.ts +4 -4
  546. package/dist/Selector/types.d.ts +1 -1
  547. package/dist/Selector/useSelectorPresentation.d.ts +2 -2
  548. package/dist/Selector/utils.d.ts +1 -1
  549. package/dist/SideNav/SideNav.d.ts +3 -3
  550. package/dist/SideNav/SideNavCollapseButton.d.ts +3 -3
  551. package/dist/SideNav/SideNavHeading.d.ts +2 -2
  552. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  553. package/dist/SideNav/SideNavHeading.js +34 -0
  554. package/dist/SideNav/SideNavItem.d.ts +9 -5
  555. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  556. package/dist/SideNav/SideNavItem.js +36 -13
  557. package/dist/SideNav/SideNavSection.d.ts +1 -1
  558. package/dist/SideNav/index.d.ts +14 -14
  559. package/dist/SizeContext/index.d.ts +1 -1
  560. package/dist/Skeleton/Skeleton.d.ts +1 -1
  561. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  562. package/dist/Skeleton/Skeleton.js +12 -3
  563. package/dist/Skeleton/index.d.ts +2 -2
  564. package/dist/Slider/Slider.d.ts +3 -3
  565. package/dist/Slider/Slider.d.ts.map +1 -1
  566. package/dist/Slider/Slider.js +45 -12
  567. package/dist/Slider/index.d.ts +2 -2
  568. package/dist/Spinner/Spinner.d.ts +1 -1
  569. package/dist/Spinner/index.d.ts +2 -2
  570. package/dist/Stack/Stack.d.ts +3 -3
  571. package/dist/Stack/StackItem.d.ts +2 -2
  572. package/dist/Stack/index.d.ts +6 -6
  573. package/dist/Stack/stack.stylex.d.ts +1 -1
  574. package/dist/StatusDot/StatusDot.d.ts +2 -2
  575. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  576. package/dist/StatusDot/StatusDot.js +12 -0
  577. package/dist/StatusDot/index.d.ts +2 -2
  578. package/dist/Stepper/Step.d.ts +2 -2
  579. package/dist/Stepper/Step.d.ts.map +1 -1
  580. package/dist/Stepper/Step.js +10 -6
  581. package/dist/Stepper/Stepper.d.ts +2 -2
  582. package/dist/Stepper/index.d.ts +7 -7
  583. package/dist/Switch/Switch.d.ts +4 -4
  584. package/dist/Switch/Switch.d.ts.map +1 -1
  585. package/dist/Switch/Switch.js +5 -5
  586. package/dist/Switch/index.d.ts +2 -2
  587. package/dist/Switch/switch.markers.stylex.d.ts +7 -2
  588. package/dist/Switch/switch.markers.stylex.d.ts.map +1 -1
  589. package/dist/Switch/switch.markers.stylex.js +8 -3
  590. package/dist/TabList/Tab.d.ts +2 -2
  591. package/dist/TabList/Tab.d.ts.map +1 -1
  592. package/dist/TabList/Tab.js +5 -1
  593. package/dist/TabList/TabList.d.ts +3 -3
  594. package/dist/TabList/TabMenu.d.ts +2 -2
  595. package/dist/TabList/TabMenu.d.ts.map +1 -1
  596. package/dist/TabList/TabMenu.js +1 -0
  597. package/dist/TabList/index.d.ts +8 -8
  598. package/dist/Table/BaseTable.d.ts +1 -1
  599. package/dist/Table/Table.d.ts +1 -1
  600. package/dist/Table/TableBody.d.ts +1 -1
  601. package/dist/Table/TableCell.d.ts +3 -3
  602. package/dist/Table/TableCell.d.ts.map +1 -1
  603. package/dist/Table/TableCell.js +1 -0
  604. package/dist/Table/TableContext.d.ts +1 -1
  605. package/dist/Table/TableFooter.d.ts +1 -1
  606. package/dist/Table/TableHeader.d.ts +1 -1
  607. package/dist/Table/TableHeaderCell.d.ts +3 -3
  608. package/dist/Table/TableHeaderCell.d.ts.map +1 -1
  609. package/dist/Table/TableHeaderCell.js +1 -0
  610. package/dist/Table/TableRow.d.ts +2 -2
  611. package/dist/Table/TableSelectionToolbar.d.ts +2 -2
  612. package/dist/Table/columnUtils.d.ts +1 -1
  613. package/dist/Table/index.d.ts +54 -54
  614. package/dist/Table/plugins/columnResize/index.d.ts +2 -2
  615. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts +1 -1
  616. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  617. package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -2
  618. package/dist/Table/plugins/columnSettings/index.d.ts +4 -4
  619. package/dist/Table/plugins/columnSettings/useTableColumnSettings.d.ts +2 -2
  620. package/dist/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts +1 -1
  621. package/dist/Table/plugins/filtering/index.d.ts +4 -4
  622. package/dist/Table/plugins/filtering/useTableFilterState.d.ts +1 -1
  623. package/dist/Table/plugins/filtering/useTableFiltering.d.ts +2 -2
  624. package/dist/Table/plugins/groupedRows/index.d.ts +2 -2
  625. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  626. package/dist/Table/plugins/pagination/index.d.ts +3 -3
  627. package/dist/Table/plugins/pagination/useTablePagination.d.ts +1 -1
  628. package/dist/Table/plugins/rowExpansion/index.d.ts +2 -2
  629. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +1 -1
  630. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  631. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +103 -4
  632. package/dist/Table/plugins/rowIndex/index.d.ts +2 -2
  633. package/dist/Table/plugins/rowIndex/useTableRowIndex.d.ts +1 -1
  634. package/dist/Table/plugins/rowStatus/index.d.ts +2 -2
  635. package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts +2 -2
  636. package/dist/Table/plugins/selection/index.d.ts +4 -4
  637. package/dist/Table/plugins/selection/useTableSelection.d.ts +1 -1
  638. package/dist/Table/plugins/selection/useTableSelectionState.d.ts +1 -1
  639. package/dist/Table/plugins/sortable/index.d.ts +4 -4
  640. package/dist/Table/plugins/sortable/useTableSortable.d.ts +1 -1
  641. package/dist/Table/plugins/sortable/useTableSortableState.d.ts +1 -1
  642. package/dist/Table/plugins/stickyColumns/index.d.ts +2 -2
  643. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts +1 -1
  644. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  645. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +233 -6
  646. package/dist/Table/plugins/tree/index.d.ts +4 -4
  647. package/dist/Table/plugins/tree/useTableTreeData.d.ts +1 -1
  648. package/dist/Table/plugins/tree/useTableTreeState.d.ts +1 -1
  649. package/dist/Table/rowDivider.d.ts +34 -0
  650. package/dist/Table/rowDivider.d.ts.map +1 -0
  651. package/dist/Table/rowDivider.js +118 -0
  652. package/dist/Table/tableContextMenu.d.ts +2 -2
  653. package/dist/Table/types.d.ts +3 -3
  654. package/dist/Table/useBaseTablePlugins.d.ts +1 -1
  655. package/dist/Table/useTableCellStyles.d.ts +2 -2
  656. package/dist/Table/utils.d.ts +2 -2
  657. package/dist/Text/Text.d.ts +3 -3
  658. package/dist/Text/index.d.ts +4 -4
  659. package/dist/TextArea/TextArea.d.ts +10 -8
  660. package/dist/TextArea/TextArea.d.ts.map +1 -1
  661. package/dist/TextArea/TextArea.js +15 -12
  662. package/dist/TextArea/index.d.ts +2 -2
  663. package/dist/TextInput/TextInput.d.ts +12 -10
  664. package/dist/TextInput/TextInput.d.ts.map +1 -1
  665. package/dist/TextInput/TextInput.js +35 -21
  666. package/dist/TextInput/index.d.ts +2 -2
  667. package/dist/Thumbnail/Thumbnail.d.ts +1 -1
  668. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  669. package/dist/Thumbnail/Thumbnail.js +45 -11
  670. package/dist/Thumbnail/index.d.ts +2 -2
  671. package/dist/TimeInput/TimeInput.d.ts +6 -6
  672. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  673. package/dist/TimeInput/TimeInput.js +12 -4
  674. package/dist/TimeInput/TouchTimeField.d.ts +1 -1
  675. package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
  676. package/dist/TimeInput/TouchTimeField.js +2 -1
  677. package/dist/TimeInput/index.d.ts +3 -3
  678. package/dist/Timer/Timer.d.ts +2 -2
  679. package/dist/Timer/index.d.ts +2 -2
  680. package/dist/Timestamp/Timestamp.d.ts +3 -3
  681. package/dist/Timestamp/TimestampHoverCard.d.ts +1 -1
  682. package/dist/Timestamp/formatInstant.d.ts +2 -2
  683. package/dist/Timestamp/formatRelativeTime.d.ts +1 -1
  684. package/dist/Timestamp/index.d.ts +3 -3
  685. package/dist/Timestamp/tooltipEntries.d.ts +2 -2
  686. package/dist/Toast/Toast.d.ts +2 -2
  687. package/dist/Toast/ToastContext.d.ts +1 -1
  688. package/dist/Toast/ToastViewport.d.ts +2 -2
  689. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  690. package/dist/Toast/ToastViewport.js +28 -2
  691. package/dist/Toast/index.d.ts +6 -6
  692. package/dist/Toast/useToast.d.ts +1 -1
  693. package/dist/ToggleButton/ToggleButton.d.ts +3 -3
  694. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  695. package/dist/ToggleButton/index.d.ts +4 -4
  696. package/dist/Token/Token.d.ts +2 -2
  697. package/dist/Token/TokenLink.d.ts +1 -1
  698. package/dist/Token/index.d.ts +2 -2
  699. package/dist/Tokenizer/Tokenizer.d.ts +77 -10
  700. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  701. package/dist/Tokenizer/Tokenizer.js +474 -85
  702. package/dist/Tokenizer/TokenizerBottomSheet.d.ts +98 -0
  703. package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -0
  704. package/dist/Tokenizer/TokenizerBottomSheet.js +721 -0
  705. package/dist/Tokenizer/index.d.ts +2 -2
  706. package/dist/Tokenizer/useEndLaneReserve.d.ts +3 -2
  707. package/dist/Tokenizer/useEndLaneReserve.d.ts.map +1 -1
  708. package/dist/Tokenizer/useEndLaneReserve.js +3 -2
  709. package/dist/Toolbar/Toolbar.d.ts +4 -4
  710. package/dist/Toolbar/index.d.ts +2 -2
  711. package/dist/Tooltip/Tooltip.d.ts +3 -3
  712. package/dist/Tooltip/index.d.ts +4 -4
  713. package/dist/Tooltip/useTooltip.d.ts +2 -2
  714. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  715. package/dist/Tooltip/useTooltip.js +9 -3
  716. package/dist/TopNav/TopNav.d.ts +1 -1
  717. package/dist/TopNav/TopNavHeading.d.ts +2 -2
  718. package/dist/TopNav/TopNavItem.d.ts +3 -3
  719. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  720. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  721. package/dist/TopNav/TopNavMegaMenu.js +4 -4
  722. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  723. package/dist/TopNav/TopNavMegaMenuItem.d.ts +2 -2
  724. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  725. package/dist/TopNav/index.d.ts +16 -16
  726. package/dist/TreeList/TreeList.d.ts +11 -26
  727. package/dist/TreeList/TreeList.d.ts.map +1 -1
  728. package/dist/TreeList/TreeList.js +175 -3
  729. package/dist/TreeList/TreeListItem.d.ts +8 -2
  730. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  731. package/dist/TreeList/TreeListItem.js +3 -1
  732. package/dist/TreeList/TreeListTypes.d.ts +1 -1
  733. package/dist/TreeList/index.d.ts +3 -3
  734. package/dist/Typeahead/BaseTypeahead.d.ts +2 -2
  735. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  736. package/dist/Typeahead/BaseTypeahead.js +16 -4
  737. package/dist/Typeahead/Typeahead.d.ts +7 -7
  738. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  739. package/dist/Typeahead/Typeahead.js +31 -14
  740. package/dist/Typeahead/TypeaheadItem.d.ts +2 -2
  741. package/dist/Typeahead/createStaticSource.d.ts +1 -1
  742. package/dist/Typeahead/index.d.ts +9 -9
  743. package/dist/Typeahead/utils.d.ts +3 -3
  744. package/dist/VStack/VStack.d.ts +2 -2
  745. package/dist/VStack/index.d.ts +1 -1
  746. package/dist/VisuallyHidden/VisuallyHidden.d.ts +24 -6
  747. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  748. package/dist/VisuallyHidden/VisuallyHidden.js +24 -5
  749. package/dist/VisuallyHidden/index.d.ts +2 -2
  750. package/dist/astryx.css +138 -51
  751. package/dist/gestures/GestureArena.d.ts +175 -0
  752. package/dist/gestures/GestureArena.d.ts.map +1 -0
  753. package/dist/gestures/GestureArena.js +816 -0
  754. package/dist/gestures/GestureRecognizer.d.ts +239 -0
  755. package/dist/gestures/GestureRecognizer.d.ts.map +1 -0
  756. package/dist/gestures/GestureRecognizer.js +487 -0
  757. package/dist/gestures/LongPressGestureRecognizer.d.ts +32 -0
  758. package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -0
  759. package/dist/gestures/LongPressGestureRecognizer.js +135 -0
  760. package/dist/gestures/PanGestureRecognizer.d.ts +117 -0
  761. package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -0
  762. package/dist/gestures/PanGestureRecognizer.js +349 -0
  763. package/dist/gestures/TapGestureRecognizer.d.ts +39 -0
  764. package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -0
  765. package/dist/gestures/TapGestureRecognizer.js +151 -0
  766. package/dist/gestures/VelocityTracker.d.ts +51 -0
  767. package/dist/gestures/VelocityTracker.d.ts.map +1 -0
  768. package/dist/gestures/VelocityTracker.js +186 -0
  769. package/dist/gestures/geometry.d.ts +17 -0
  770. package/dist/gestures/geometry.d.ts.map +1 -0
  771. package/dist/gestures/geometry.js +55 -0
  772. package/dist/gestures/types.d.ts +139 -0
  773. package/dist/gestures/types.d.ts.map +1 -0
  774. package/dist/gestures/types.js +67 -0
  775. package/dist/hooks/AnnounceRenderedText.d.ts +17 -0
  776. package/dist/hooks/AnnounceRenderedText.d.ts.map +1 -0
  777. package/dist/hooks/AnnounceRenderedText.js +32 -0
  778. package/dist/hooks/ModalAnnounceProvider.d.ts +41 -0
  779. package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -0
  780. package/dist/hooks/ModalAnnounceProvider.js +133 -0
  781. package/dist/hooks/actionGroupTracker.d.ts +98 -0
  782. package/dist/hooks/actionGroupTracker.d.ts.map +1 -0
  783. package/dist/hooks/actionGroupTracker.js +338 -0
  784. package/dist/hooks/index.d.ts +54 -52
  785. package/dist/hooks/index.d.ts.map +1 -1
  786. package/dist/hooks/index.js +1 -0
  787. package/dist/hooks/modalAnnounce.d.ts +18 -0
  788. package/dist/hooks/modalAnnounce.d.ts.map +1 -0
  789. package/dist/hooks/modalAnnounce.js +382 -0
  790. package/dist/hooks/useAdaptivePresentation.d.ts +9 -1
  791. package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
  792. package/dist/hooks/useAdaptivePresentation.js +33 -8
  793. package/dist/hooks/useAnimatedLayout.d.ts +42 -0
  794. package/dist/hooks/useAnimatedLayout.d.ts.map +1 -0
  795. package/dist/hooks/useAnimatedLayout.js +46 -0
  796. package/dist/hooks/useAnnounce.d.ts +132 -1
  797. package/dist/hooks/useAnnounce.d.ts.map +1 -1
  798. package/dist/hooks/useAnnounce.js +356 -27
  799. package/dist/hooks/useAnnounceRenderedText.d.ts +19 -2
  800. package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
  801. package/dist/hooks/useAnnounceRenderedText.js +52 -11
  802. package/dist/hooks/useAutoMediaMode.d.ts +1 -1
  803. package/dist/hooks/useBusyAnnouncement.d.ts +9 -5
  804. package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
  805. package/dist/hooks/useBusyAnnouncement.js +58 -46
  806. package/dist/hooks/useFocusTrap.d.ts +1 -1
  807. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  808. package/dist/hooks/useFocusTrap.js +57 -26
  809. package/dist/hooks/useInputContainer.d.ts +1 -1
  810. package/dist/hooks/useInputStatusIcon.d.ts +3 -3
  811. package/dist/hooks/useMenuPress.d.ts +5 -3
  812. package/dist/hooks/useMenuPress.d.ts.map +1 -1
  813. package/dist/hooks/useMenuPress.js +58 -33
  814. package/dist/hooks/usePressFeedback.d.ts +1 -1
  815. package/dist/hooks/useScrollableArea.d.ts +1 -1
  816. package/dist/hooks/useScrollableArea.d.ts.map +1 -1
  817. package/dist/hooks/useScrollableArea.js +37 -5
  818. package/dist/i18n/InternationalizationContext.d.ts +2 -2
  819. package/dist/i18n/InternationalizationProvider.d.ts +1 -1
  820. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  821. package/dist/i18n/generated-locales/en.generated.js +33 -0
  822. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  823. package/dist/i18n/generated-locales/pseudo.generated.js +33 -0
  824. package/dist/i18n/index.d.ts +12 -12
  825. package/dist/i18n/resolve.d.ts +1 -1
  826. package/dist/i18n/useLocale.d.ts +1 -1
  827. package/dist/index.d.ts +111 -111
  828. package/dist/internal/tokenizer-presentation.d.ts +21 -0
  829. package/dist/internal/tokenizer-presentation.d.ts.map +1 -0
  830. package/dist/internal/tokenizer-presentation.js +21 -0
  831. package/dist/internal/touch.d.ts +26 -0
  832. package/dist/internal/touch.d.ts.map +1 -0
  833. package/dist/internal/touch.js +28 -0
  834. package/dist/motion/LayoutChangeSnapshot.d.ts +33 -0
  835. package/dist/motion/LayoutChangeSnapshot.d.ts.map +1 -0
  836. package/dist/motion/LayoutChangeSnapshot.js +37 -0
  837. package/dist/motion/animatedLayout.d.ts +94 -0
  838. package/dist/motion/animatedLayout.d.ts.map +1 -0
  839. package/dist/motion/animatedLayout.js +1096 -0
  840. package/dist/motion/animator.d.ts +240 -0
  841. package/dist/motion/animator.d.ts.map +1 -0
  842. package/dist/motion/animator.js +2203 -0
  843. package/dist/motion/bezier.d.ts +18 -0
  844. package/dist/motion/bezier.d.ts.map +1 -0
  845. package/dist/motion/bezier.js +60 -0
  846. package/dist/motion/coast.d.ts +61 -0
  847. package/dist/motion/coast.d.ts.map +1 -0
  848. package/dist/motion/coast.js +107 -0
  849. package/dist/motion/decay.d.ts +41 -0
  850. package/dist/motion/decay.d.ts.map +1 -0
  851. package/dist/motion/decay.js +90 -0
  852. package/dist/motion/projection.d.ts +36 -0
  853. package/dist/motion/projection.d.ts.map +1 -0
  854. package/dist/motion/projection.js +92 -0
  855. package/dist/motion/reducedMotion.d.ts +25 -0
  856. package/dist/motion/reducedMotion.d.ts.map +1 -0
  857. package/dist/motion/reducedMotion.js +85 -0
  858. package/dist/motion/reducedMotion.stylex.d.ts +19 -0
  859. package/dist/motion/reducedMotion.stylex.d.ts.map +1 -0
  860. package/dist/motion/reducedMotion.stylex.js +37 -0
  861. package/dist/motion/reducedMotionPlan.d.ts +89 -0
  862. package/dist/motion/reducedMotionPlan.d.ts.map +1 -0
  863. package/dist/motion/reducedMotionPlan.js +194 -0
  864. package/dist/motion/resolveSnapPoint.d.ts +52 -0
  865. package/dist/motion/resolveSnapPoint.d.ts.map +1 -0
  866. package/dist/motion/resolveSnapPoint.js +135 -0
  867. package/dist/motion/roleValue.d.ts +33 -0
  868. package/dist/motion/roleValue.d.ts.map +1 -0
  869. package/dist/motion/roleValue.js +84 -0
  870. package/dist/motion/roles.d.ts +79 -0
  871. package/dist/motion/roles.d.ts.map +1 -0
  872. package/dist/motion/roles.js +199 -0
  873. package/dist/motion/rubberBand.d.ts +20 -0
  874. package/dist/motion/rubberBand.d.ts.map +1 -0
  875. package/dist/motion/rubberBand.js +91 -0
  876. package/dist/motion/selectPage.d.ts +26 -0
  877. package/dist/motion/selectPage.d.ts.map +1 -0
  878. package/dist/motion/selectPage.js +55 -0
  879. package/dist/motion/spring.d.ts +193 -0
  880. package/dist/motion/spring.d.ts.map +1 -0
  881. package/dist/motion/spring.js +442 -0
  882. package/dist/motion/uikit/gestures.d.ts +642 -0
  883. package/dist/motion/uikit/gestures.d.ts.map +1 -0
  884. package/dist/motion/uikit/gestures.js +428 -0
  885. package/dist/motion/uikit/index.d.ts +24 -0
  886. package/dist/motion/uikit/index.d.ts.map +1 -0
  887. package/dist/motion/uikit/index.js +26 -0
  888. package/dist/motion/uikit/navigation.d.ts +54 -0
  889. package/dist/motion/uikit/navigation.d.ts.map +1 -0
  890. package/dist/motion/uikit/navigation.js +83 -0
  891. package/dist/motion/uikit/scroll.d.ts +116 -0
  892. package/dist/motion/uikit/scroll.d.ts.map +1 -0
  893. package/dist/motion/uikit/scroll.js +146 -0
  894. package/dist/motion/uikit/springs.d.ts +545 -0
  895. package/dist/motion/uikit/springs.d.ts.map +1 -0
  896. package/dist/motion/uikit/springs.js +548 -0
  897. package/dist/motion/uikit/timing.d.ts +202 -0
  898. package/dist/motion/uikit/timing.d.ts.map +1 -0
  899. package/dist/motion/uikit/timing.js +201 -0
  900. package/dist/reset.a11y.chromium.spec.js +1 -0
  901. package/dist/reset.until-found.a11y.browser.spec.js +1 -0
  902. package/dist/theme/Theme.d.ts +2 -2
  903. package/dist/theme/contrast.d.ts +1 -1
  904. package/dist/theme/declarationBoundary.d.ts +13 -0
  905. package/dist/theme/declarationBoundary.d.ts.map +1 -1
  906. package/dist/theme/declarationBoundary.js +264 -1
  907. package/dist/theme/defineTheme.d.ts +113 -22
  908. package/dist/theme/defineTheme.d.ts.map +1 -1
  909. package/dist/theme/defineTheme.js +66 -7
  910. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  911. package/dist/theme/derivedVarRegistry.js +9 -0
  912. package/dist/theme/domainTokens/index.d.ts +6 -6
  913. package/dist/theme/generateThemeRules.d.ts +7 -3
  914. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  915. package/dist/theme/generateThemeRules.js +468 -24
  916. package/dist/theme/index.d.ts +31 -31
  917. package/dist/theme/index.d.ts.map +1 -1
  918. package/dist/theme/index.js +1 -1
  919. package/dist/theme/localTokens.d.ts +1 -1
  920. package/dist/theme/mergeComponents.d.ts +1 -1
  921. package/dist/theme/onMediaTokens.d.ts +1 -1
  922. package/dist/theme/resolveThemeValues.d.ts +7 -7
  923. package/dist/theme/statusColor.d.ts +48 -0
  924. package/dist/theme/statusColor.d.ts.map +1 -0
  925. package/dist/theme/statusColor.js +203 -0
  926. package/dist/theme/statusRoleDerivation.d.ts +11 -0
  927. package/dist/theme/statusRoleDerivation.d.ts.map +1 -0
  928. package/dist/theme/statusRoleDerivation.js +236 -0
  929. package/dist/theme/syntax/SyntaxTheme.d.ts +1 -1
  930. package/dist/theme/syntax/index.d.ts +7 -7
  931. package/dist/theme/syntax/presets.d.ts +1 -1
  932. package/dist/theme/themeAdaptations.d.ts +30 -6
  933. package/dist/theme/themeAdaptations.d.ts.map +1 -1
  934. package/dist/theme/themeAdaptations.js +30 -1
  935. package/dist/theme/themeRegistry.d.ts +1 -1
  936. package/dist/theme/tokens.d.ts +1 -1
  937. package/dist/theme/tokens.d.ts.map +1 -1
  938. package/dist/theme/tokens.js +16 -1
  939. package/dist/theme/tokens.stylex.d.ts +40 -2
  940. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  941. package/dist/theme/tokens.stylex.js +47 -2
  942. package/dist/theme/types.d.ts +1 -1
  943. package/dist/theme/useTheme.d.ts +6 -4
  944. package/dist/theme/useTheme.d.ts.map +1 -1
  945. package/dist/theme/useTheme.js +10 -4
  946. package/dist/utils/dateParser.d.ts +3 -3
  947. package/dist/utils/edgeAutoscroll.d.ts +53 -0
  948. package/dist/utils/edgeAutoscroll.d.ts.map +1 -0
  949. package/dist/utils/edgeAutoscroll.js +81 -0
  950. package/dist/utils/groupItems.d.ts +1 -1
  951. package/dist/utils/hitArea.d.ts +72 -0
  952. package/dist/utils/hitArea.d.ts.map +1 -0
  953. package/dist/utils/hitArea.js +681 -0
  954. package/dist/utils/index.d.ts +29 -29
  955. package/dist/utils/plainDate.d.ts +3 -3
  956. package/dist/utils/touchPresentation.d.ts +48 -0
  957. package/dist/utils/touchPresentation.d.ts.map +1 -0
  958. package/dist/utils/touchPresentation.js +133 -0
  959. package/locales/af-ZA.json +1 -1
  960. package/locales/ar-SA.json +1 -1
  961. package/locales/ca-ES.json +1 -1
  962. package/locales/cs-CZ.json +1 -1
  963. package/locales/da-DK.json +1 -1
  964. package/locales/de-DE.json +1 -1
  965. package/locales/el-GR.json +1 -1
  966. package/locales/en.json +132 -0
  967. package/locales/es-ES.json +1 -1
  968. package/locales/fi-FI.json +1 -1
  969. package/locales/fr-FR.json +1 -1
  970. package/locales/he-IL.json +1 -1
  971. package/locales/hu-HU.json +1 -1
  972. package/locales/it-IT.json +1 -1
  973. package/locales/ja-JP.json +1 -1
  974. package/locales/ko-KR.json +1 -1
  975. package/locales/nl-NL.json +1 -1
  976. package/locales/no-NO.json +1 -1
  977. package/locales/pl-PL.json +1 -1
  978. package/locales/pseudo.json +99 -0
  979. package/locales/pt-BR.json +1 -1
  980. package/locales/pt-PT.json +1 -1
  981. package/locales/ro-RO.json +1 -1
  982. package/locales/ru-RU.json +1 -1
  983. package/locales/sr-SP.json +1 -1
  984. package/locales/sv-SE.json +1 -1
  985. package/locales/tr-TR.json +1 -1
  986. package/locales/uk-UA.json +1 -1
  987. package/locales/vi-VN.json +1 -1
  988. package/locales/zh-CN.json +1 -1
  989. package/locales/zh-TW.json +1 -1
  990. package/package.json +61 -6
  991. package/src/AlertDialog/AlertDialog.tsx +1 -1
  992. package/src/AlertDialog/__tests__/AlertDialog.a11y.chromium.spec.ts +1 -0
  993. package/src/AppShell/AppShell.spec.md +337 -0
  994. package/src/AspectRatio/AspectRatio.spec.md +179 -0
  995. package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +1 -0
  996. package/src/Avatar/Avatar.spec.md +253 -0
  997. package/src/Avatar/AvatarStatusDot.spec.md +93 -79
  998. package/src/Avatar/AvatarStatusDot.test.tsx +22 -0
  999. package/src/Avatar/AvatarStatusDot.tsx +2 -2
  1000. package/src/AvatarGroup/AvatarGroup.spec.md +205 -0
  1001. package/src/AvatarGroup/AvatarGroupOverflow.spec.md +123 -120
  1002. package/src/Badge/Badge.doc.mjs +2 -1
  1003. package/src/Badge/Badge.spec.md +207 -0
  1004. package/src/Badge/Badge.test.tsx +13 -0
  1005. package/src/Badge/Badge.tsx +38 -2
  1006. package/src/Banner/Banner.spec.md +38 -27
  1007. package/src/Banner/Banner.test.tsx +118 -16
  1008. package/src/Banner/Banner.tsx +94 -7
  1009. package/src/Blockquote/Blockquote.spec.md +171 -0
  1010. package/src/BottomSheet/BottomSheet.doc.mjs +106 -24
  1011. package/src/BottomSheet/BottomSheet.spec.md +269 -40
  1012. package/src/BottomSheet/BottomSheet.test.tsx +491 -5
  1013. package/src/BottomSheet/BottomSheet.tsx +544 -145
  1014. package/src/BottomSheet/BottomSheetHostContext.ts +44 -0
  1015. package/src/BottomSheet/BottomSheetPanel.test.tsx +21 -10
  1016. package/src/BottomSheet/BottomSheetPanel.tsx +166 -57
  1017. package/src/BottomSheet/BottomSheetReplace.test.tsx +1526 -0
  1018. package/src/BottomSheet/BottomSheetStacking.announce.test.tsx +246 -0
  1019. package/src/BottomSheet/BottomSheetStacking.test.tsx +3184 -0
  1020. package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +27 -31
  1021. package/src/BottomSheet/BottomSheetSwitcher.spec.md +138 -43
  1022. package/src/BottomSheet/BottomSheetSwitcher.tsx +275 -26
  1023. package/src/BottomSheet/BottomSheetSwitcherContext.ts +6 -0
  1024. package/src/BottomSheet/__tests__/BottomSheetDrag.a11y.chromium.spec.ts +1 -0
  1025. package/src/BottomSheet/__tests__/BottomSheetFocusReturn.a11y.browser.spec.ts +1 -0
  1026. package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +1 -0
  1027. package/src/BottomSheet/__tests__/BottomSheetNativeModal.a11y.browser.spec.ts +1 -0
  1028. package/src/BottomSheet/__tests__/BottomSheetPinchZoom.a11y.chromium.spec.ts +1 -0
  1029. package/src/BottomSheet/__tests__/BottomSheetToastOutlet.a11y.chromium.spec.ts +83 -0
  1030. package/src/BottomSheet/bottomSheetEscape.ts +21 -0
  1031. package/src/BottomSheet/bottomSheetStack.ts +2031 -0
  1032. package/src/BottomSheet/useSheetGestures.ts +68 -12
  1033. package/src/Breadcrumbs/BreadcrumbItem.spec.md +96 -59
  1034. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -0
  1035. package/src/Breadcrumbs/Breadcrumbs.spec.md +165 -0
  1036. package/src/Breadcrumbs/Breadcrumbs.test.tsx +22 -0
  1037. package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.chromium.spec.ts +1 -0
  1038. package/src/Button/Button.spec.md +322 -0
  1039. package/src/Button/Button.test.tsx +8 -1
  1040. package/src/Button/Button.tsx +36 -7
  1041. package/src/Button/__tests__/Button.a11y.chromium.spec.ts +1 -0
  1042. package/src/ButtonGroup/ButtonGroup.spec.md +218 -0
  1043. package/src/Calendar/__tests__/Calendar.a11y.chromium.spec.ts +1 -0
  1044. package/src/Card/Card.spec.md +205 -0
  1045. package/src/Carousel/__tests__/Carousel.a11y.chromium.spec.ts +1 -0
  1046. package/src/Chat/ChatComposer.test.tsx +54 -0
  1047. package/src/Chat/ChatComposer.tsx +41 -27
  1048. package/src/Chat/ChatComposerInput.test.tsx +165 -21
  1049. package/src/Chat/ChatComposerInput.tsx +73 -16
  1050. package/src/Chat/ChatMessageMetadata.tsx +1 -1
  1051. package/src/Chat/ChatPastedTextToken.test.tsx +71 -0
  1052. package/src/Chat/ChatPastedTextToken.tsx +8 -7
  1053. package/src/Chat/ChatToolCalls.tsx +5 -5
  1054. package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +1 -0
  1055. package/src/Chat/__tests__/ChatLayoutScrollButtonSurface.a11y.chromium.spec.ts +1 -0
  1056. package/src/Chat/__tests__/ChatMessageList.a11y.chromium.spec.ts +1 -0
  1057. package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +1 -0
  1058. package/src/Chat/__tests__/ChatSendButton.a11y.chromium.spec.ts +1 -0
  1059. package/src/Chat/__tests__/ChatSystemMessage.a11y.chromium.spec.ts +1 -0
  1060. package/src/Chat/__tests__/ChatTokenizedText.a11y.chromium.spec.ts +1 -0
  1061. package/src/Chat/__tests__/useChatStreamScroll.a11y.chromium.spec.ts +1 -0
  1062. package/src/CheckboxInput/CheckboxInput.spec.md +97 -66
  1063. package/src/CheckboxInput/__tests__/Checkbox.a11y.chromium.spec.ts +1 -0
  1064. package/src/CheckboxList/CheckboxList.spec.md +92 -78
  1065. package/src/CheckboxList/CheckboxListItem.spec.md +86 -60
  1066. package/src/CheckboxList/__tests__/CheckboxList.a11y.chromium.spec.ts +1 -0
  1067. package/src/ClickableCard/ClickableCard.doc.mjs +1 -2
  1068. package/src/ClickableCard/ClickableCard.test.tsx +14 -3
  1069. package/src/ClickableCard/ClickableCard.tsx +44 -28
  1070. package/src/Code/Code.spec.md +30 -32
  1071. package/src/CodeBlock/CodeBlock.doc.mjs +21 -4
  1072. package/src/CodeBlock/CodeBlock.spec.md +96 -61
  1073. package/src/CodeBlock/CodeBlock.test.tsx +97 -1
  1074. package/src/CodeBlock/CodeBlock.tsx +132 -22
  1075. package/src/CodeBlock/CodeLanguage.test.tsx +173 -0
  1076. package/src/CodeBlock/__tests__/CodeBlockCopyClearance.a11y.chromium.spec.ts +290 -0
  1077. package/src/CodeBlock/__tests__/CodeBlockLanguages.a11y.chromium.spec.ts +64 -0
  1078. package/src/CodeBlock/__tests__/CodeBlockOverflowStop.a11y.chromium.spec.ts +1 -0
  1079. package/src/CodeBlock/__tests__/DiffRowPaint.a11y.chromium.spec.ts +1 -0
  1080. package/src/CodeBlock/grammar.ts +291 -0
  1081. package/src/CodeBlock/index.ts +7 -0
  1082. package/src/CodeBlock/languages/dockerfile.ts +43 -0
  1083. package/src/CodeBlock/languages/graphql.ts +30 -0
  1084. package/src/CodeBlock/languages/java.ts +28 -0
  1085. package/src/CodeBlock/languages/lua.ts +21 -0
  1086. package/src/CodeBlock/languages/objective-c.ts +26 -0
  1087. package/src/CodeBlock/languages/powershell.ts +31 -0
  1088. package/src/CodeBlock/languages/ruby.ts +29 -0
  1089. package/src/CodeBlock/languages/thrift.ts +32 -0
  1090. package/src/CodeBlock/languages/toml.ts +36 -0
  1091. package/src/CodeBlock/languages.test.ts +402 -0
  1092. package/src/CodeBlock/tokenizer.ts +176 -16
  1093. package/src/CodeBlock/tokenizerBudget.test.ts +112 -0
  1094. package/src/Collapsible/Collapsible.doc.mjs +6 -0
  1095. package/src/Collapsible/Collapsible.spec.md +26 -23
  1096. package/src/Collapsible/Collapsible.tsx +121 -2
  1097. package/src/Collapsible/__tests__/Collapsible.a11y.chromium.spec.ts +1 -0
  1098. package/src/Collapsible/__tests__/CollapsibleGroup.a11y.chromium.spec.ts +1 -0
  1099. package/src/Collapsible/__tests__/CollapsibleGroupAccordion.a11y.chromium.spec.ts +1 -0
  1100. package/src/CommandPalette/CommandPalette.perf.test.ts +8 -4
  1101. package/src/CommandPalette/CommandPalette.tsx +17 -1
  1102. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +6 -3
  1103. package/src/CommandPalette/CommandPaletteEmpty.spec.md +190 -0
  1104. package/src/CommandPalette/CommandPaletteEmpty.tsx +4 -0
  1105. package/src/CommandPalette/CommandPaletteInput.tsx +21 -2
  1106. package/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts +1 -0
  1107. package/src/CommandPalette/__tests__/CommandPaletteEmptyAudit.a11y.chromium.spec.ts +715 -0
  1108. package/src/CommandPalette/__tests__/CommandPaletteFooter.a11y.chromium.spec.ts +1 -0
  1109. package/src/CommandPalette/__tests__/CommandPaletteInputAudit.a11y.chromium.spec.ts +1 -0
  1110. package/src/CommandPalette/__tests__/CommandPaletteItemAudit.a11y.chromium.spec.ts +1 -0
  1111. package/src/CommandPalette/busyStartSettle.ts +26 -0
  1112. package/src/ComplexSelector/ComplexSelector.doc.mjs +1 -1
  1113. package/src/ComplexSelector/ComplexSelector.focusableDisabled.test.tsx +1 -1
  1114. package/src/ComplexSelector/ComplexSelector.fr10.test.tsx +9 -9
  1115. package/src/ComplexSelector/ComplexSelector.spec.md +161 -107
  1116. package/src/ComplexSelector/ComplexSelector.test.tsx +236 -17
  1117. package/src/ComplexSelector/ComplexSelector.tsx +69 -4
  1118. package/src/ComplexSelector/__tests__/ComplexSelector.a11y.chromium.spec.ts +965 -0
  1119. package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
  1120. package/src/ContextMenu/ContextMenu.spec.md +38 -30
  1121. package/src/ContextMenu/ContextMenu.test.tsx +189 -11
  1122. package/src/ContextMenu/ContextMenu.tsx +75 -17
  1123. package/src/ContextMenu/__tests__/ContextMenuAudit.a11y.chromium.spec.ts +1 -0
  1124. package/src/ContextMenu/__tests__/ContextMenuCursorAnchor.a11y.browser.spec.ts +1 -0
  1125. package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
  1126. package/src/DateInput/DateInput.tsx +9 -4
  1127. package/src/DateInput/DateInputTouch.test.tsx +10 -1
  1128. package/src/DateInput/NativeDateField.tsx +2 -1
  1129. package/src/DateInput/TouchDateField.tsx +2 -1
  1130. package/src/DateInput/Wheel.tsx +4 -1
  1131. package/src/DateInput/__tests__/DateInputAudit.a11y.chromium.spec.ts +1 -0
  1132. package/src/DateInput/__tests__/WheelPinchZoom.a11y.chromium.spec.ts +171 -0
  1133. package/src/Dialog/Dialog.doc.mjs +201 -47
  1134. package/src/Dialog/Dialog.tsx +37 -10
  1135. package/src/Dialog/__tests__/Dialog.a11y.browser.spec.ts +1 -0
  1136. package/src/Dialog/__tests__/Dialog.a11y.chromium.spec.ts +1 -0
  1137. package/src/Dialog/__tests__/Dialog.reduced-motion.a11y.browser.spec.ts +191 -0
  1138. package/src/Divider/Divider.spec.md +79 -70
  1139. package/src/Drawer/Drawer.tsx +38 -35
  1140. package/src/Drawer/__tests__/DrawerAudit.a11y.chromium.spec.ts +1 -0
  1141. package/src/Drawer/__tests__/DrawerHeaderAudit.a11y.chromium.spec.ts +1 -0
  1142. package/src/DropdownMenu/DropdownMenu.spec.md +14 -6
  1143. package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +44 -8
  1144. package/src/DropdownMenu/DropdownMenu.test.tsx +64 -5
  1145. package/src/DropdownMenu/DropdownMenu.tsx +47 -21
  1146. package/src/DropdownMenu/DropdownMenuItem.tsx +5 -5
  1147. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +5 -2
  1148. package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +226 -0
  1149. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +32 -16
  1150. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +158 -0
  1151. package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +72 -0
  1152. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +9 -0
  1153. package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +225 -0
  1154. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +105 -0
  1155. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +6 -6
  1156. package/src/DropdownMenu/MenuBottomSheet.tsx +42 -7
  1157. package/src/DropdownMenu/MenuBottomSheetActionList.tsx +3 -3
  1158. package/src/DropdownMenu/__tests__/DropdownMenuDividerAudit.a11y.chromium.spec.ts +1 -0
  1159. package/src/DropdownMenu/__tests__/DropdownMenuDrillIn.a11y.chromium.spec.ts +1 -0
  1160. package/src/DropdownMenu/__tests__/DropdownMenuFocusReturn.a11y.browser.spec.ts +1 -0
  1161. package/src/DropdownMenu/__tests__/DropdownMenuGroupAudit.a11y.chromium.spec.ts +1 -0
  1162. package/src/DropdownMenu/__tests__/DropdownMenuItemAudit.a11y.chromium.spec.ts +1 -0
  1163. package/src/DropdownMenu/__tests__/DropdownMenuRadioGroupAudit.a11y.chromium.spec.ts +1 -0
  1164. package/src/DropdownMenu/__tests__/DropdownMenuRadioItemAudit.a11y.chromium.spec.ts +540 -0
  1165. package/src/DropdownMenu/__tests__/DropdownMenuSubMenuAudit.a11y.chromium.spec.ts +671 -0
  1166. package/src/DropdownMenu/__tests__/Menu.a11y.chromium.spec.ts +1 -0
  1167. package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +1 -0
  1168. package/src/DropdownMenu/__tests__/MenuHeaderFooter.a11y.chromium.spec.ts +1 -0
  1169. package/src/DropdownMenu/__tests__/MenuHoverFocus.a11y.chromium.spec.ts +238 -0
  1170. package/src/DropdownMenu/__tests__/MenuPinchZoom.a11y.chromium.spec.ts +1 -0
  1171. package/src/DropdownMenu/__tests__/MenuPress.a11y.chromium.spec.ts +1 -0
  1172. package/src/DropdownMenu/__tests__/SubMenuHeaderFooter.a11y.chromium.spec.ts +1 -0
  1173. package/src/DropdownMenu/lazyMenuBottomSheet.ts +28 -2
  1174. package/src/DropdownMenu/menuBottomSheet.stylex.ts +33 -0
  1175. package/src/DropdownMenu/menuItemHover.ts +13 -1
  1176. package/src/DropdownMenu/modules/useMenuPress.spec.md +90 -62
  1177. package/src/DropdownMenu/useMenuDrillIn.tsx +7 -5
  1178. package/src/EmptyState/EmptyState.announce.test.tsx +227 -0
  1179. package/src/EmptyState/EmptyState.doc.mjs +1 -1
  1180. package/src/EmptyState/EmptyState.spec.md +22 -14
  1181. package/src/EmptyState/EmptyState.test.tsx +8 -8
  1182. package/src/EmptyState/EmptyState.tsx +7 -5
  1183. package/src/Field/Field.tsx +1 -1
  1184. package/src/Field/FieldLabel.tsx +1 -1
  1185. package/src/Field/PanelSearchInput.tsx +23 -13
  1186. package/src/Field/__tests__/FieldLabelAudit.a11y.chromium.spec.ts +1 -0
  1187. package/src/Field/inputDisabledFocus.ts +28 -0
  1188. package/src/Field/inputStyles.stylex.ts +15 -15
  1189. package/src/FieldStatus/FieldStatus.test.tsx +12 -0
  1190. package/src/FieldStatus/FieldStatus.tsx +12 -3
  1191. package/src/FieldStatus/__tests__/StatusMessage.a11y.chromium.spec.ts +1 -0
  1192. package/src/FileInput/FileInput.test.tsx +78 -0
  1193. package/src/FileInput/FileInput.tsx +11 -9
  1194. package/src/Heading/Heading.spec.md +198 -0
  1195. package/src/HoverCard/HoverCard.test.tsx +93 -3
  1196. package/src/Icon/Icon.doc.mjs +53 -5
  1197. package/src/Icon/Icon.spec.md +40 -29
  1198. package/src/Icon/Icon.test.tsx +266 -9
  1199. package/src/Icon/Icon.tsx +51 -13
  1200. package/src/Icon/IconSize.stylex.ts +27 -11
  1201. package/src/Icon/globalIconRegistry.test.tsx +326 -3
  1202. package/src/Icon/globalIconRegistry.tsx +137 -36
  1203. package/src/Icon/index.ts +29 -1
  1204. package/src/Icon/useIcon.ts +5 -1
  1205. package/src/IconButton/IconButton.spec.md +197 -0
  1206. package/src/IconButton/IconButton.test.tsx +5 -2
  1207. package/src/InputGroup/InputGroup.spec.md +199 -0
  1208. package/src/InputGroup/InputGroup.test.tsx +120 -0
  1209. package/src/InputGroup/InputGroup.tsx +59 -52
  1210. package/src/InputGroup/InputGroupInternalContext.ts +15 -0
  1211. package/src/InputGroup/InputGroupText.spec.md +139 -0
  1212. package/src/InputGroup/InputGroupText.tsx +2 -0
  1213. package/src/InputGroup/groupStyles.ts +22 -11
  1214. package/src/Item/Item.test.tsx +118 -0
  1215. package/src/Item/Item.tsx +5 -3
  1216. package/src/Item/ItemSwipeLayer.tsx +9 -0
  1217. package/src/Item/__tests__/ItemSwipeActions.a11y.chromium.spec.ts +1 -0
  1218. package/src/Item/__tests__/ItemSwipePinchZoom.a11y.chromium.spec.ts +186 -0
  1219. package/src/Item/useSwipeAction.ts +71 -5
  1220. package/src/Kbd/Kbd.test.tsx +95 -0
  1221. package/src/Kbd/Kbd.tsx +30 -23
  1222. package/src/Layer/__tests__/LayerReducedMotion.a11y.chromium.spec.ts +176 -0
  1223. package/src/Layer/__tests__/TouchTrigger.a11y.chromium.spec.ts +200 -0
  1224. package/src/Layer/layerAnimations.stylex.ts +22 -2
  1225. package/src/Layer/layerDismissalInvariants.test.tsx +9 -0
  1226. package/src/Layer/layerSlideRules.ts +141 -8
  1227. package/src/Layer/layerStack.ts +129 -62
  1228. package/src/Layer/modalOutlet.ts +156 -15
  1229. package/src/Layer/preserveAnimations.ts +304 -0
  1230. package/src/Layer/useLayer.doc.mjs +1 -1
  1231. package/src/Layer/useLayer.test.tsx +743 -0
  1232. package/src/Layer/useLayer.tsx +592 -53
  1233. package/src/Layer/useLayerDismissal.test.tsx +85 -2
  1234. package/src/Layer/useLayerDismissal.ts +12 -9
  1235. package/src/Layer/useTouchTrigger.ts +95 -41
  1236. package/src/Layout/Layout.tsx +18 -0
  1237. package/src/Layout/LayoutContent.tsx +5 -14
  1238. package/src/Layout/LayoutFooter.tsx +2 -0
  1239. package/src/Layout/LayoutHeader.tsx +2 -0
  1240. package/src/Layout/__tests__/Layout.a11y.chromium.spec.ts +1 -0
  1241. package/src/Layout/layoutEdges.stylex.ts +25 -0
  1242. package/src/Lightbox/Lightbox.test.tsx +83 -0
  1243. package/src/Lightbox/Lightbox.tsx +149 -125
  1244. package/src/Lightbox/LightboxKeyboard.a11y.browser.spec.ts +78 -0
  1245. package/src/Lightbox/LightboxViewport.a11y.browser.spec.ts +70 -0
  1246. package/src/Link/Link.spec.md +229 -0
  1247. package/src/Link/LinkProvider.spec.md +167 -0
  1248. package/src/Link/__tests__/Link.a11y.chromium.spec.ts +1 -0
  1249. package/src/Link/__tests__/Link.navigation.a11y.chromium.spec.ts +1 -0
  1250. package/src/List/List.spec.md +90 -33
  1251. package/src/List/ListItem.doc.mjs +3 -3
  1252. package/src/Markdown/Markdown.codeLanguages.test.tsx +137 -0
  1253. package/src/Markdown/Markdown.doc.mjs +12 -0
  1254. package/src/Markdown/Markdown.fr23.bench.ts +3 -1
  1255. package/src/Markdown/Markdown.fr23.perf.test.ts +45 -3
  1256. package/src/Markdown/Markdown.fr23.sampling.ts +13 -4
  1257. package/src/Markdown/Markdown.spec.md +71 -59
  1258. package/src/Markdown/Markdown.tsx +32 -2
  1259. package/src/Markdown/MarkdownTable.a11y.chromium.spec.ts +1 -0
  1260. package/src/Markdown/__tests__/MarkdownNesting.a11y.chromium.spec.ts +1 -0
  1261. package/src/MobileNav/MobileNav.spec.md +161 -64
  1262. package/src/MobileNav/MobileNav.test.tsx +27 -10
  1263. package/src/MobileNav/MobileNav.tsx +51 -38
  1264. package/src/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.ts +1 -0
  1265. package/src/MobileNav/__tests__/MobileNavWidth.a11y.chromium.spec.ts +103 -0
  1266. package/src/MoreMenu/MoreMenu.doc.mjs +2 -2
  1267. package/src/MoreMenu/MoreMenu.spec.md +88 -53
  1268. package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +1 -0
  1269. package/src/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.ts +1 -0
  1270. package/src/MultiSelector/MultiSelector.test.tsx +122 -10
  1271. package/src/MultiSelector/MultiSelector.tsx +24 -4
  1272. package/src/MultiSelector/OptionActions.a11y.chromium.spec.ts +1 -0
  1273. package/src/MultiSelector/__tests__/MultiSelector.a11y.chromium.spec.ts +1 -0
  1274. package/src/NavIcon/NavIcon.spec.md +66 -38
  1275. package/src/NavMenu/NavHeadingMenu.spec.md +100 -44
  1276. package/src/NavMenu/NavHeadingMenu.test.tsx +199 -1
  1277. package/src/NavMenu/NavHeadingMenuItem.tsx +54 -6
  1278. package/src/NumberInput/NumberInput.doc.mjs +6 -6
  1279. package/src/NumberInput/NumberInput.spec.md +248 -0
  1280. package/src/NumberInput/NumberInput.test.tsx +187 -14
  1281. package/src/NumberInput/NumberInput.tsx +86 -24
  1282. package/src/NumberInput/__tests__/NumberInput.a11y.chromium.spec.ts +1 -0
  1283. package/src/Pagination/Pagination.test.tsx +2 -2
  1284. package/src/Popover/Popover.doc.mjs +38 -2
  1285. package/src/Popover/Popover.spec.md +89 -10
  1286. package/src/Popover/Popover.test.tsx +340 -2
  1287. package/src/Popover/Popover.tsx +401 -35
  1288. package/src/Popover/PopoverPresentation.test.tsx +952 -0
  1289. package/src/Popover/__tests__/PopoverSecondDocument.a11y.chromium.spec.ts +205 -0
  1290. package/src/Popover/index.ts +5 -1
  1291. package/src/Popover/lazyPopoverBottomSheet.ts +57 -0
  1292. package/src/Popover/usePopover.tsx +11 -5
  1293. package/src/PowerSearch/PowerSearch.spec.md +423 -53
  1294. package/src/PowerSearch/PowerSearch.test.tsx +77 -1
  1295. package/src/PowerSearch/PowerSearch.tsx +7 -5
  1296. package/src/ProgressBar/ProgressBar.test.tsx +12 -0
  1297. package/src/ProgressBar/ProgressBar.tsx +18 -0
  1298. package/src/ProgressBar/__tests__/ProgressBar.a11y.chromium.spec.ts +1 -0
  1299. package/src/RadioList/RadioList.test.tsx +34 -7
  1300. package/src/RadioList/RadioListItem.press.source-build.test.mjs +80 -0
  1301. package/src/RadioList/RadioListItem.tsx +26 -12
  1302. package/src/RadioList/__tests__/RadioGroup.a11y.chromium.spec.ts +1 -0
  1303. package/src/Resizable/__tests__/ResizeHandle.a11y.chromium.spec.ts +1 -0
  1304. package/src/ScrollableArea/ScrollableArea.spec.md +6 -5
  1305. package/src/ScrollableArea/ScrollableArea.test.tsx +5 -0
  1306. package/src/ScrollableArea/ScrollableArea.tsx +4 -0
  1307. package/src/SelectableCard/SelectableCard.doc.mjs +7 -6
  1308. package/src/SelectableCard/SelectableCard.test.tsx +11 -1
  1309. package/src/SelectableCard/SelectableCard.tsx +49 -33
  1310. package/src/Selector/Selector.spec.md +12 -4
  1311. package/src/Selector/Selector.test.tsx +114 -8
  1312. package/src/Selector/Selector.tsx +19 -4
  1313. package/src/Selector/__tests__/EmptyStateAnnouncement.a11y.chromium.spec.ts +1 -0
  1314. package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +1 -0
  1315. package/src/Selector/__tests__/Selector.a11y.chromium.spec.ts +1 -0
  1316. package/src/Selector/__tests__/Selector.combobox.a11y.chromium.spec.ts +1 -0
  1317. package/src/SideNav/SideNav.spec.md +51 -30
  1318. package/src/SideNav/SideNav.test.tsx +290 -25
  1319. package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
  1320. package/src/SideNav/SideNavHeading.spec.md +219 -0
  1321. package/src/SideNav/SideNavHeading.tsx +41 -0
  1322. package/src/SideNav/SideNavItem.spec.md +246 -0
  1323. package/src/SideNav/SideNavItem.tsx +40 -9
  1324. package/src/SideNav/SideNavSection.spec.md +153 -0
  1325. package/src/Skeleton/Skeleton.spec.md +99 -42
  1326. package/src/Skeleton/Skeleton.test.tsx +108 -1
  1327. package/src/Skeleton/Skeleton.tsx +30 -2
  1328. package/src/Slider/Slider.test.tsx +172 -0
  1329. package/src/Slider/Slider.tsx +60 -12
  1330. package/src/Slider/__tests__/Slider.a11y.chromium.spec.ts +1 -0
  1331. package/src/Spinner/Spinner.spec.md +231 -0
  1332. package/src/StatusDot/StatusDot.spec.md +139 -51
  1333. package/src/StatusDot/StatusDot.test.tsx +13 -0
  1334. package/src/StatusDot/StatusDot.tsx +27 -0
  1335. package/src/Stepper/Step.spec.md +206 -0
  1336. package/src/Stepper/Step.tsx +19 -3
  1337. package/src/Stepper/Stepper.test.tsx +50 -0
  1338. package/src/Switch/Switch.focusRing.source-build.test.mjs +81 -0
  1339. package/src/Switch/Switch.tsx +11 -9
  1340. package/src/Switch/__tests__/Switch.a11y.chromium.spec.ts +1 -0
  1341. package/src/Switch/switch.markers.stylex.ts +7 -2
  1342. package/src/TabList/Tab.spec.md +201 -0
  1343. package/src/TabList/Tab.tsx +7 -1
  1344. package/src/TabList/TabList.doc.mjs +3 -3
  1345. package/src/TabList/TabMenu.spec.md +196 -0
  1346. package/src/TabList/TabMenu.tsx +2 -0
  1347. package/src/TabList/__tests__/TabListOverflow.interaction.browser.spec.ts +99 -0
  1348. package/src/TabList/__tests__/Tabs.a11y.chromium.spec.ts +1 -0
  1349. package/src/Table/Table.spec.md +54 -30
  1350. package/src/Table/TableCell.tsx +6 -0
  1351. package/src/Table/TableHeaderCell.tsx +2 -0
  1352. package/src/Table/__tests__/Table.a11y.chromium.spec.ts +129 -0
  1353. package/src/Table/__tests__/Table.a11y.contracts.ts +35 -0
  1354. package/src/Table/__tests__/Table.a11y.renders.tsx +112 -0
  1355. package/src/Table/__tests__/Table.a11y.states.ts +140 -0
  1356. package/src/Table/__tests__/Table.a11y.test.tsx +198 -0
  1357. package/src/Table/__tests__/TableMinWidth.a11y.chromium.spec.ts +1 -0
  1358. package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +1 -0
  1359. package/src/Table/__tests__/TableStickyDividers.a11y.browser.spec.ts +560 -0
  1360. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +23 -8
  1361. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +91 -9
  1362. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +120 -5
  1363. package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.test.tsx +174 -0
  1364. package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.ts +86 -0
  1365. package/src/Table/plugins/sortable/useTableSortable.test.tsx +0 -12
  1366. package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +51 -1
  1367. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +291 -12
  1368. package/src/Table/rowDivider.ts +154 -0
  1369. package/src/Text/Text.spec.md +114 -127
  1370. package/src/TextArea/TextArea.doc.mjs +6 -6
  1371. package/src/TextArea/TextArea.spec.md +164 -64
  1372. package/src/TextArea/TextArea.test.tsx +65 -6
  1373. package/src/TextArea/TextArea.tsx +27 -15
  1374. package/src/TextInput/TextInput.doc.mjs +8 -8
  1375. package/src/TextInput/TextInput.spec.md +258 -0
  1376. package/src/TextInput/TextInput.test.tsx +83 -10
  1377. package/src/TextInput/TextInput.tsx +46 -22
  1378. package/src/TextInput/__tests__/TextInput.a11y.chromium.spec.ts +1 -0
  1379. package/src/Thumbnail/Thumbnail.doc.mjs +1 -2
  1380. package/src/Thumbnail/Thumbnail.spec.md +244 -0
  1381. package/src/Thumbnail/Thumbnail.test.tsx +120 -7
  1382. package/src/Thumbnail/Thumbnail.tsx +77 -31
  1383. package/src/TimeInput/TimeInput.spec.md +273 -0
  1384. package/src/TimeInput/TimeInput.tsx +12 -4
  1385. package/src/TimeInput/TouchTimeField.tsx +2 -1
  1386. package/src/Timestamp/Timestamp.spec.md +252 -0
  1387. package/src/Toast/ToastViewport.modalHost.test.tsx +630 -5
  1388. package/src/Toast/ToastViewport.tsx +27 -2
  1389. package/src/ToggleButton/ToggleButton.spec.md +256 -0
  1390. package/src/ToggleButton/ToggleButtonGroup.spec.md +194 -0
  1391. package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +1 -0
  1392. package/src/Token/Token.spec.md +271 -0
  1393. package/src/Token/__tests__/TokenRemoveTarget.a11y.chromium.spec.ts +1 -0
  1394. package/src/Tokenizer/Tokenizer.props-type.test.tsx +126 -0
  1395. package/src/Tokenizer/Tokenizer.spec.md +312 -71
  1396. package/src/Tokenizer/Tokenizer.ssr.test.tsx +196 -0
  1397. package/src/Tokenizer/Tokenizer.test.tsx +70 -16
  1398. package/src/Tokenizer/Tokenizer.tsx +651 -113
  1399. package/src/Tokenizer/TokenizerBottomSheet.test.tsx +2719 -0
  1400. package/src/Tokenizer/TokenizerBottomSheet.tsx +957 -0
  1401. package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +505 -0
  1402. package/src/Tokenizer/useEndLaneReserve.ts +3 -2
  1403. package/src/Toolbar/Toolbar.spec.md +101 -48
  1404. package/src/Toolbar/__tests__/Toolbar.a11y.chromium.spec.ts +1 -0
  1405. package/src/Tooltip/Tooltip.test.tsx +171 -3
  1406. package/src/Tooltip/__tests__/Tooltip.a11y.chromium.spec.ts +1 -0
  1407. package/src/Tooltip/__tests__/Tooltip.a11y.states.ts +2 -2
  1408. package/src/Tooltip/__tests__/TooltipFocusReturn.a11y.chromium.spec.ts +1 -0
  1409. package/src/Tooltip/__tests__/TooltipHoverBridge.a11y.chromium.spec.ts +1 -0
  1410. package/src/Tooltip/__tests__/TooltipTallContent.a11y.browser.spec.ts +646 -0
  1411. package/src/Tooltip/__tests__/TooltipTallContentTracking.a11y.browser.spec.ts +1162 -0
  1412. package/src/Tooltip/useTooltip.tsx +7 -2
  1413. package/src/TopNav/TopNav.spec.md +190 -0
  1414. package/src/TopNav/TopNavHeading.spec.md +204 -0
  1415. package/src/TopNav/TopNavItem.spec.md +189 -0
  1416. package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +83 -0
  1417. package/src/TopNav/TopNavMegaMenu.spec.md +190 -0
  1418. package/src/TopNav/TopNavMegaMenu.tsx +21 -4
  1419. package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +150 -0
  1420. package/src/TopNav/TopNavMegaMenuItem.spec.md +155 -0
  1421. package/src/TopNav/TopNavMenu.spec.md +195 -0
  1422. package/src/TopNav/__tests__/TopNavMobileLongHeading.a11y.chromium.spec.ts +1 -0
  1423. package/src/TreeList/TreeList.doc.mjs +13 -0
  1424. package/src/TreeList/TreeList.spec.md +51 -35
  1425. package/src/TreeList/TreeList.tsx +234 -2
  1426. package/src/TreeList/TreeListItem.tsx +12 -2
  1427. package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +1 -0
  1428. package/src/TreeList/__tests__/TreeListRowNames.a11y.chromium.spec.ts +1 -0
  1429. package/src/Typeahead/BaseTypeahead.tsx +14 -2
  1430. package/src/Typeahead/Typeahead.test.tsx +114 -1
  1431. package/src/Typeahead/Typeahead.tsx +34 -16
  1432. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +1 -1
  1433. package/src/VisuallyHidden/VisuallyHidden.spec.md +170 -0
  1434. package/src/VisuallyHidden/VisuallyHidden.test.tsx +39 -0
  1435. package/src/VisuallyHidden/VisuallyHidden.tsx +38 -5
  1436. package/src/__tests__/BusyOwnerAnnouncement.test.tsx +66 -5
  1437. package/src/__tests__/CardPress.a11y.chromium.spec.ts +353 -0
  1438. package/src/__tests__/DisabledTriggerFocus.a11y.chromium.spec.ts +2 -1
  1439. package/src/__tests__/PressedState.a11y.chromium.spec.ts +1 -0
  1440. package/src/__tests__/pressState.ts +43 -1
  1441. package/src/__tests__/unthemedLength.ts +34 -0
  1442. package/src/gestures/GestureArena.ts +966 -0
  1443. package/src/gestures/GestureRecognizer.ts +626 -0
  1444. package/src/gestures/LongPressGestureRecognizer.ts +186 -0
  1445. package/src/gestures/PanGestureRecognizer.ts +410 -0
  1446. package/src/gestures/TapGestureRecognizer.ts +192 -0
  1447. package/src/gestures/VelocityTracker.ts +194 -0
  1448. package/src/gestures/__tests__/LongPressGestureRecognizer.test.ts +141 -0
  1449. package/src/gestures/__tests__/PanGestureRecognizer.test.ts +327 -0
  1450. package/src/gestures/__tests__/TapGestureRecognizer.test.ts +154 -0
  1451. package/src/gestures/__tests__/VelocityTracker.test.ts +261 -0
  1452. package/src/gestures/__tests__/arena.test.ts +824 -0
  1453. package/src/gestures/__tests__/arenaContinuous.test.ts +207 -0
  1454. package/src/gestures/__tests__/arenaTapLongPress.test.ts +211 -0
  1455. package/src/gestures/__tests__/harness.ts +204 -0
  1456. package/src/gestures/geometry.ts +55 -0
  1457. package/src/gestures/types.ts +161 -0
  1458. package/src/hooks/AnnounceRenderedText.tsx +27 -0
  1459. package/src/hooks/ModalAnnounceProvider.tsx +155 -0
  1460. package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +98 -4
  1461. package/src/hooks/actionGroupTracker.exports.test.ts +28 -0
  1462. package/src/hooks/actionGroupTracker.test.ts +510 -0
  1463. package/src/hooks/actionGroupTracker.ts +449 -0
  1464. package/src/hooks/index.ts +6 -0
  1465. package/src/hooks/modalAnnounce.ts +439 -0
  1466. package/src/hooks/useAdaptivePresentation.ts +46 -9
  1467. package/src/hooks/useAnimatedLayout.doc.mjs +101 -0
  1468. package/src/hooks/useAnimatedLayout.ts +61 -0
  1469. package/src/hooks/useAnnounce.doc.mjs +4 -4
  1470. package/src/hooks/useAnnounce.modal.test.tsx +1291 -0
  1471. package/src/hooks/useAnnounce.test.tsx +64 -4
  1472. package/src/hooks/useAnnounce.ts +452 -28
  1473. package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +226 -0
  1474. package/src/hooks/useAnnounceRenderedText.ts +81 -11
  1475. package/src/hooks/useBusyAnnouncement.adopters.test.tsx +69 -0
  1476. package/src/hooks/useBusyAnnouncement.test.tsx +112 -0
  1477. package/src/hooks/useBusyAnnouncement.ts +64 -54
  1478. package/src/hooks/useFocusTrap.doc.mjs +3 -3
  1479. package/src/hooks/useFocusTrap.test.tsx +135 -2
  1480. package/src/hooks/useFocusTrap.ts +59 -27
  1481. package/src/hooks/useMenuPress.doc.mjs +2 -2
  1482. package/src/hooks/useMenuPress.test.tsx +5 -2
  1483. package/src/hooks/useMenuPress.ts +72 -37
  1484. package/src/hooks/useScrollableArea.test.tsx +159 -0
  1485. package/src/hooks/useScrollableArea.ts +39 -5
  1486. package/src/i18n/generated-locales/en.generated.ts +35 -0
  1487. package/src/i18n/generated-locales/pseudo.generated.ts +37 -0
  1488. package/src/internal/tokenizer-presentation.test.ts +29 -0
  1489. package/src/internal/tokenizer-presentation.ts +25 -0
  1490. package/src/internal/touch.test.ts +44 -0
  1491. package/src/internal/touch.ts +41 -0
  1492. package/src/motion/LayoutChangeSnapshot.tsx +50 -0
  1493. package/src/motion/MEASUREMENTS.md +271 -0
  1494. package/src/motion/README.md +218 -0
  1495. package/src/motion/__tests__/animatedLayout.interaction.browser.spec.ts +1507 -0
  1496. package/src/motion/__tests__/animatedLayoutAdopters.interaction.browser.spec.ts +217 -0
  1497. package/src/motion/__tests__/animatedLayoutBundle.ts +17 -0
  1498. package/src/motion/animatedLayout.boundary.test.ts +139 -0
  1499. package/src/motion/animatedLayout.test.ts +965 -0
  1500. package/src/motion/animatedLayout.ts +1322 -0
  1501. package/src/motion/animatedLayoutAdopters.test.tsx +500 -0
  1502. package/src/motion/animator.test.ts +2653 -0
  1503. package/src/motion/animator.ts +2794 -0
  1504. package/src/motion/bezier.test.ts +52 -0
  1505. package/src/motion/bezier.ts +64 -0
  1506. package/src/motion/coast.test.ts +99 -0
  1507. package/src/motion/coast.ts +150 -0
  1508. package/src/motion/decay.test.ts +120 -0
  1509. package/src/motion/decay.ts +126 -0
  1510. package/src/motion/projection.test.ts +107 -0
  1511. package/src/motion/projection.ts +116 -0
  1512. package/src/motion/reducedMotion.stylex.ts +41 -0
  1513. package/src/motion/reducedMotion.test.ts +129 -0
  1514. package/src/motion/reducedMotion.ts +94 -0
  1515. package/src/motion/reducedMotionPlan.test.ts +182 -0
  1516. package/src/motion/reducedMotionPlan.ts +263 -0
  1517. package/src/motion/resolveSnapPoint.test.ts +189 -0
  1518. package/src/motion/resolveSnapPoint.ts +169 -0
  1519. package/src/motion/roleValue.ts +105 -0
  1520. package/src/motion/roles.test.ts +256 -0
  1521. package/src/motion/roles.ts +262 -0
  1522. package/src/motion/rubberBand.test.ts +88 -0
  1523. package/src/motion/rubberBand.ts +115 -0
  1524. package/src/motion/selectPage.test.ts +31 -0
  1525. package/src/motion/selectPage.ts +55 -0
  1526. package/src/motion/spring.test.ts +650 -0
  1527. package/src/motion/spring.ts +551 -0
  1528. package/src/motion/uikit/gestures.test.ts +89 -0
  1529. package/src/motion/uikit/gestures.ts +359 -0
  1530. package/src/motion/uikit/index.ts +80 -0
  1531. package/src/motion/uikit/navigation.ts +83 -0
  1532. package/src/motion/uikit/scroll.ts +141 -0
  1533. package/src/motion/uikit/springRows.test.ts +71 -0
  1534. package/src/motion/uikit/springs.ts +514 -0
  1535. package/src/motion/uikit/timing.ts +210 -0
  1536. package/src/motion/uikit/uikit.test.ts +364 -0
  1537. package/src/motion/uikit/values.test.ts +110 -0
  1538. package/src/reset.a11y.chromium.spec.ts +1 -0
  1539. package/src/reset.until-found.a11y.browser.spec.ts +1 -0
  1540. package/src/serverSafeComponents.test.ts +10 -0
  1541. package/src/tailwind-theme.css +51 -1
  1542. package/src/tailwind-theme.test.ts +51 -0
  1543. package/src/theme/Theme.test.tsx +28 -0
  1544. package/src/theme/__tests__/SpacingRootFontSize.a11y.chromium.spec.ts +1 -0
  1545. package/src/theme/declarationBoundary.ts +282 -1
  1546. package/src/theme/defineTheme.test.ts +529 -12
  1547. package/src/theme/defineTheme.ts +175 -19
  1548. package/src/theme/derivedVarRegistry.test.ts +28 -5
  1549. package/src/theme/derivedVarRegistry.ts +4 -0
  1550. package/src/theme/expandMotionScale.test.ts +17 -0
  1551. package/src/theme/generateThemeRules.ts +772 -35
  1552. package/src/theme/index.ts +3 -0
  1553. package/src/theme/onMediaTokens.test.ts +186 -0
  1554. package/src/theme/statusColor.ts +189 -0
  1555. package/src/theme/statusRoleDerivation.ts +289 -0
  1556. package/src/theme/themeAdaptations.test.ts +412 -0
  1557. package/src/theme/themeAdaptations.ts +43 -1
  1558. package/src/theme/tokens.stylex.ts +31 -2
  1559. package/src/theme/tokens.test.ts +96 -1
  1560. package/src/theme/tokens.ts +23 -1
  1561. package/src/theme/useTheme.ts +10 -4
  1562. package/src/utils/customPropertyArmLayering.test.ts +131 -0
  1563. package/src/utils/edgeAutoscroll.test.ts +192 -0
  1564. package/src/utils/edgeAutoscroll.ts +111 -0
  1565. package/src/utils/hitArea.test.ts +628 -0
  1566. package/src/utils/hitArea.ts +770 -0
  1567. package/src/utils/touchPresentation.test.ts +323 -0
  1568. package/src/utils/touchPresentation.ts +153 -0
@@ -0,0 +1,253 @@
1
+ ---
2
+ schema_version: 3
3
+ template_version: 7
4
+ kind: component
5
+ id: component:Avatar
6
+ authority: current
7
+ archive_reason: null
8
+ superseded_by: null
9
+ approved_by: cixzhang
10
+ approved_at: 2026-10-25
11
+ owners: [cixzhang]
12
+ review_triggers: [public-api, behavior, layout, theming, accessibility]
13
+ verified_by:
14
+ [
15
+ packages/core/src/Avatar/Avatar.test.tsx,
16
+ packages/core/src/AvatarGroup/AvatarGroup.test.tsx,
17
+ packages/core/src/Layer/layerScopedContext.test.tsx,
18
+ packages/core/src/theme/themingTargets.test.ts,
19
+ apps/storybook/stories/Avatar.stories.tsx,
20
+ ]
21
+ modules: []
22
+ families: [family:navigation-destinations]
23
+ design_specs: []
24
+ architecture:
25
+ [
26
+ architecture:component-theming-surface,
27
+ architecture:internationalization,
28
+ architecture:public-component-api,
29
+ ]
30
+ contributing: []
31
+ system_specs: [spec:AST-005, spec:AST-009, spec:AST-038]
32
+ ---
33
+
34
+ # Avatar component contract
35
+
36
+ ## Contract at a glance
37
+
38
+ | Area | Contract |
39
+ | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
40
+ | Public contract | A sized, shaped identity image with `src`, `fallbackSrc`, `name`, `alt`, `status`, `tooltip`, and optional `href`/`as`/`target`/`rel` or `onClick` interaction. |
41
+ | Behavior | The avatar shows the first image that loads, then initials, then a default icon; it is a named image (composing a status label into its name), a link, or a button, and decorative when it has no name. |
42
+ | End-user impact | Screen-reader users hear who an avatar represents and its status in one name; keyboard users can reveal its tooltip and operate interactive avatars. |
43
+ | Builder impact | None; the record describes shipped behavior. |
44
+ | Compatibility/readiness | Released behavior recorded as current; no API, default, or output changes. Four implementation gaps are listed under Current-state impact. |
45
+ | Review checks | Reject a named static avatar that loses its derived `role="img"` without a caller override, a status label unreachable by assistive technology, an ungrouped static avatar whose tooltip only a pointer can reveal, or an interactive avatar that navigates around the shared destination rule. |
46
+ | Governing rules | `family:navigation-destinations`; `spec:AST-005`; `architecture:public-component-api/INV5,INV6,INV8`; `architecture:component-theming-surface/INV2,INV6`; `architecture:internationalization/INV1a`. |
47
+
48
+ This table is a review projection; the body below is authoritative.
49
+
50
+ ## Intent
51
+
52
+ Avatar represents a person or entity with an image, or a readable stand-in when
53
+ no image loads. It owns the image fallback chain, size and shape, status
54
+ placement, the accessible name, the optional name tooltip, and the choice of a
55
+ static, link, or button root.
56
+
57
+ ## Compatibility and migration
58
+
59
+ - Released default preserved: `yes`
60
+ - Compatibility class: records shipped behavior; no public prop, default, DOM,
61
+ or styling output changes
62
+ - Controlled/uncontrolled behavior: not applicable; image-failure tracking is
63
+ internal state
64
+ - Migration decision: none
65
+
66
+ Consumer migration instructions belong in consumer docs and release notes.
67
+
68
+ ## Current-state impact
69
+
70
+ - **Caller `tabIndex` replaced on a static avatar (FR9).** A static avatar sets
71
+ its own `tabIndex` after caller props: `0` while it shows a tooltip outside a
72
+ group, otherwise none. A caller `tabIndex` never reaches it, where
73
+ `architecture:public-component-api` INV5 sends supported inputs to the root.
74
+ - **Grouped interactive tooltip lost on re-render (FR7, AR4).** In an
75
+ AvatarGroup, a link or button avatar that is not the group's tab stop no
76
+ longer opens its tooltip when keyboard focus reaches it after a re-render that re-attaches its root element: a new `status` element (an inline `status` prop creates one on every parent render), a changed `name`, `alt`, locale, caller ARIA, or caller `ref`, or a tooltip that turns on after mount, so sighted keyboard users lose the name tooltip (WCAG 2.2 2.1.1).
77
+ - **Small interactive avatars (AR7).** A link or button avatar at 16 or 20px is
78
+ below the 24 by 24 CSS pixel target of WCAG 2.2 2.5.8, and interactive
79
+ avatars in an AvatarGroup overlap, so they lack the spacing exception.
80
+ - **Grouped static avatar tooltip (AR4).** Inside an AvatarGroup, a static
81
+ avatar with a tooltip has no tab stop and is not a roving-focus item, so
82
+ sighted keyboard users cannot reveal its tooltip, where WCAG 2.2 2.1.1 and
83
+ 1.4.13 expect hover content to be reachable from the keyboard. A custom
84
+ tooltip string still reaches assistive technology as the avatar's
85
+ description.
86
+
87
+ ## Ownership boundary
88
+
89
+ **Owns**
90
+
91
+ - The root, the clipped content area, and the Photo, Initials, and Default icon
92
+ parts.
93
+ - The fallback chain, size and shape resolution, and status placement.
94
+ - The accessible name, including composing a reported status label.
95
+ - The name tooltip and the static tab stop that reveals it.
96
+ - The static, link, or button root choice and its focus-visible outline.
97
+ - Its adaptations inside an AvatarGroup: group size and shape, the surface
98
+ ring, the overlap offset, the item marker, and dropping its own tab stop.
99
+
100
+ **Does not own / non-goals**
101
+
102
+ - The status dot's rendering, size tiers, glyphs, and label reporting — owned by
103
+ `component:AvatarStatusDot`. Avatar owns only where the status slot sits and
104
+ how a reported label enters its name.
105
+ - Stacking, overflow, and roving focus across avatars — owned by
106
+ `component:AvatarGroup` and `component:AvatarGroupOverflow`.
107
+ - Navigation-destination safety and router substitution — owned by
108
+ `family:navigation-destinations` and `spec:AST-005`.
109
+ - Tooltip surface, placement, and open timing — owned by the shared tooltip
110
+ hook.
111
+
112
+ ## Public concepts
113
+
114
+ | Concept | Closed values or states | Meaning | Availability by variant/orientation/state | Default | Owner | Stability | Invalid-value behavior |
115
+ | ------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------ | -------- | ------------------ | --------- | ---------------------------------------------- |
116
+ | Size | `xsm` (20), `sm` (24), `md` (36), `lg` (48), `xl` (128), or 16, 20, 24, 32, 36, 40, 48, 60, 64, 72, 96, 128, 144, 180 px | Square box size in CSS pixels. | Outside a group; a group's size wins inside one | `md` | `component:Avatar` | Stable | TypeScript rejects other values. |
117
+ | Shape | `circle`, `rounded`, `square` | Corner radius `--radius-full`, `--radius-element`, or `--radius-none`. | Outside a group; a group's shape wins inside one | `circle` | `component:Avatar` | Stable | TypeScript rejects other values. |
118
+ | Visual | photo; fallback photo; initials; default icon | What the content area shows (FR2). | All roots | — | `component:Avatar` | Stable | — |
119
+ | Root | static; link; button | Which element the avatar is (FR6). | Resolved from `href` and `onClick` | static | `component:Avatar` | Stable | `href` wins over `onClick`. |
120
+ | Tooltip | name (default); custom string; none | Text revealed on hover and keyboard focus. | All roots | name | `component:Avatar` | Stable | A blank name or blank string shows no tooltip. |
121
+ | Status | node or absent | Corner content, typically an AvatarStatusDot. | All roots and shapes | absent | `component:Avatar` | Stable | A falsy value renders no status slot. |
122
+
123
+ ## Behavioral and layout contract
124
+
125
+ | ID | Invariant | Basis |
126
+ | --- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
127
+ | FR1 | The root is a relative, non-shrinking inline-flex box of the resolved size with the shape's radius; it carries the `avatar` target, which reflects `size` and `shape`. A clipped content area fills it with the same radius and suppresses text selection. | Current source and tests |
128
+ | FR2 | The content area shows `src` while it has not failed, then `fallbackSrc` while it has not failed, then initials when the name yields any, then a default person icon at 60% of the box. Each image renders with empty `alt` and `object-fit: cover`. A failure is tracked per source, so a changed `src` or `fallbackSrc` is tried again. | Current source and tests |
129
+ | FR3 | Initials are the first letter, digit, or emoji of the first and last words of the trimmed `name`, uppercased; leading punctuation in a word is skipped, words with none are dropped, one qualifying word yields one initial, and grapheme clusters are never split. A whitespace-only name counts as absent. Initials and the default icon paint on the `avatar-fallback` target (reflecting `size`) with `--color-neutral`, secondary text, body family, medium weight, and initials at 40% of the box. | Current source and tests |
130
+ | FR4 | A truthy `status` renders in an absolutely positioned slot outside the clipped content area. On a circle it centers on the circle's edge at the bottom inline-end 45° point; on other shapes it sits at the bottom inline-end corner, offset outward by a quarter of its size. Placement mirrors in right-to-left documents. | Current source and tests |
131
+ | FR5 | The resolved name is `alt`, else `name` (blank strings count as absent), composed with the status label as the translated "{name}, {status}" when both exist; a status label alone also names the avatar. The status label comes from a string `label` on the passed element, read on every render, and from a label an AvatarStatusDot reports at any wrapper depth, which wins and updates the root before paint without a second render. | Current source and tests |
132
+ | FR6 | `href` renders the shared link component (or `as`) with `target` and `rel`; otherwise `onClick` renders a `button type="button"`; otherwise the root is a `div`. Link and button roots carry the `data-avatar-item` marker and the shared focus-visible outline; `onClick` attaches to the link or button. In development, an interactive avatar whose only name is a status label, or that has no name and no caller `aria-label`/`aria-labelledby`, logs a warning. | Current source and tests |
133
+ | FR7 | The tooltip shows the trimmed custom string, else the meaningful `name`, placed above, on hover and keyboard focus; `tooltip={false}` or a blank result shows none. A static avatar with a tooltip and outside a group gets `tabIndex={0}` so keyboard users can reveal it. A custom string is added to `aria-describedby` after any caller value; the default name tooltip is not, because it repeats the name. Implementation gap: a grouped link or button avatar that is not the group's tab stop stops opening its tooltip on focus after a re-render that re-attaches its root element: a new `status` element (an inline `status` prop creates one on every parent render), a changed `name`, `alt`, locale, caller ARIA, or caller `ref`, or a tooltip that turns on after mount (Current-state impact). | Current source and tests |
134
+ | FR8 | Inside an AvatarGroup in the same layer (`spec:AST-038` FR7, FR8), the group's size and shape win over the avatar's own props; the root gains a 2px surface-colored ring outside its box and the group's negative inline-start overlap; a static avatar adds no tooltip tab stop, and link and button roots keep the `data-avatar-item` marker so they join the group's roving set. An avatar in a hover card, popover, or other layer opened from a group keeps its own size and shape, gets no ring or overlap, and keeps its tooltip tab stop; a link or button avatar there still carries the marker, so the group's roving focus, which selects marked elements in its DOM subtree, still includes it. | Current source and tests |
135
+ | FR9 | `ref` reaches the root of every variant. Supported DOM, ARIA, data, and event props reach the root after the derived ARIA, so a caller `aria-label`, `role`, or `aria-hidden` wins (`architecture:public-component-api` INV5); `data-testid` reaches the root; `xstyle`, `className`, and `style` merge in that order after component styles. Implementation gap: on the static root the component sets `tabIndex` after caller props, so a caller `tabIndex` is replaced (Current-state impact). | Current source and tests |
136
+
137
+ ### Allowed variation
138
+
139
+ - **AV1 — Theme paint.** A theme may restyle `avatar` per `size` and `shape` and
140
+ `avatar-fallback` per `size` without changing the fallback chain or the name.
141
+ - **AV2 — Router link.** A `LinkProvider` or `as` component may replace the
142
+ native anchor under `family:navigation-destinations`.
143
+
144
+ ### Representative states
145
+
146
+ | State | Required invariant | Allowed variation |
147
+ | --------------------- | ------------------------------------------------------------------------------------- | ----------------- |
148
+ | Photo, named | `role="img"` root named by `alt` or `name`; inner image has empty `alt`. | Size, shape. |
149
+ | Failed photo | Fallback photo, then initials or icon; a new `src` retries. | — |
150
+ | Initials | Uppercase initials on `avatar-fallback`. | Name. |
151
+ | Unnamed, no status | `role="presentation"` and `aria-hidden="true"`; default icon; no tooltip. | — |
152
+ | Named with status dot | Name reads "{name}, {status}"; the dot sits on the edge or corner. | Shape, direction. |
153
+ | Link | Link root with marker, outline, and `aria-label`. | Router component. |
154
+ | Button | `button type="button"` root with marker, outline, and `aria-label`. | — |
155
+ | Static with tooltip | `tabIndex={0}`; tooltip on hover and focus. | Tooltip text. |
156
+ | In a group | Group size and shape; surface ring; overlap; no own tab stop (AR4 gap for a tooltip). | Group overlap. |
157
+
158
+ ### Transformation and precedence order
159
+
160
+ - **ORD1 — Visual.** `src` → `fallbackSrc` → initials → default icon.
161
+ - **ORD2 — Name.** `alt` → `name`; then compose with status label; a reported
162
+ label → a passed element's `label`. A caller `aria-label` replaces the result.
163
+ - **ORD3 — Root.** `href` → `onClick` → static.
164
+ - **ORD4 — Size and shape.** An AvatarGroup in the same layer → the avatar's
165
+ own prop → default.
166
+
167
+ ### Performance and resources
168
+
169
+ - **PR1 — Name updates without re-rendering.** A status label that a wrapped
170
+ AvatarStatusDot reports, or that changes later, updates the avatar's name
171
+ before paint without an extra render of the avatar.
172
+
173
+ ## Accessibility contract
174
+
175
+ - **AR1 — Named image.** A static avatar with a name is `role="img"` with that
176
+ name; without one, and without a status label, it is `role="presentation"`
177
+ with `aria-hidden="true"`. Inner images and the default icon are decorative.
178
+ - **AR2 — Status reaches assistive technology.** Because a `role="img"` root
179
+ prunes its descendants, the status label is composed into the avatar's own
180
+ name (FR5).
181
+ - **AR3 — Interactive roots.** Link and button roots keep their native roles and
182
+ take only the `aria-label`; they draw the shared focus-visible outline.
183
+ - **AR4 — Keyboard-reachable tooltip.** An avatar's tooltip can be revealed
184
+ from the keyboard (WCAG 2.2 2.1.1, 1.4.13): it opens on keyboard focus, and a
185
+ static avatar outside a group gains a tab stop while it has a tooltip.
186
+ Implementation gaps: inside an AvatarGroup in the same layer a static avatar
187
+ drops that tab stop
188
+ and the group's roving focus covers only link and button avatars, so its
189
+ tooltip opens on hover only; and a grouped link or button avatar that is not the group's tab stop stops opening its tooltip on keyboard focus after a re-render that re-attaches its root element: a new `status` element (an inline `status` prop creates one on every parent render), a changed `name`, `alt`, locale, caller ARIA, or caller `ref`, or a tooltip that turns on after mount.
190
+
191
+ - **AR5 — Description without duplication.** Only a custom tooltip string
192
+ describes the root; the default name tooltip adds no description.
193
+ - **AR6 — Caller ARIA wins.** A caller `aria-label`, `role`, or `aria-hidden`
194
+ overrides the derived value on first render and on later status updates.
195
+ - **AR7 — Target size.** An interactive avatar's target is at least 24 by 24
196
+ CSS pixels or has the spacing WCAG 2.2 2.5.8 allows. Implementation gap: a
197
+ link or button avatar at `xsm` (20px) or at 16 or 20px is smaller, and
198
+ interactive avatars in an AvatarGroup overlap their neighbors.
199
+
200
+ ## Design relationships
201
+
202
+ | Anatomy or state | Design requirement | Representation authority | Hierarchy role | Component contract |
203
+ | ---------------- | ---------------------------------------------------------------------- | ------------------------ | -------------- | ------------------ |
204
+ | Photo | The person's image, cropped to fill the shape. | Current source and docs | Prominent | FR1, FR2 |
205
+ | Initials | A readable stand-in derived from the name. | Current source and docs | Prominent | FR2, FR3 |
206
+ | Default icon | A generic silhouette when there is no image or name. | Current source and docs | Supporting | FR2, FR3 |
207
+ | Status dot | Availability shown at the bottom inline-end, outside the clipped area. | Current source and docs | Supporting | FR4, FR5, AR2 |
208
+
209
+ Theming: the root is the `avatar` target and the initials and default icon
210
+ surface is the `avatar-fallback` target; the photo inherits the root. The status
211
+ dot's targets belong to `component:AvatarStatusDot`. The consumer anatomy names
212
+ no root part, so no anatomy-theming block is declared.
213
+
214
+ ## Family and system relationships
215
+
216
+ - `family:navigation-destinations` and `spec:AST-005` own destination checks for
217
+ the link root; Avatar adopts them through the shared link component.
218
+ - `component:AvatarStatusDot` reports its label to the owning Avatar, which composes
219
+ it (FR5) and places the slot (FR4).
220
+ - `spec:AST-038` FR7 and FR8 stop the group's context-carried membership at a
221
+ layer boundary; FR8's size, shape, ring, overlap, and tab-stop adaptations
222
+ apply only within one layer, while keyboard ownership is unchanged.
223
+ - `component:AvatarGroup` supplies size, shape, and overlap to its members and
224
+ owns roving focus over `data-avatar-item` roots (FR8).
225
+ - `architecture:internationalization` owns the catalog behind the composed
226
+ name.
227
+
228
+ ## Verification map
229
+
230
+ | Contract | Verification | Representative states | Mutation or failure expectation | Audit section |
231
+ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- |
232
+ | FR1–FR3 | `Avatar.test.tsx` fallback, initials, retry, and target tests | Photo, failure, initials, punctuation, emoji, blank name; `lg` box | A wrong initials-or-icon fallback, split grapheme, lost retry, missing target, or wrong `lg` box size fails. Gap: no test sets `src` and `fallbackSrc` together, so the `src`-first order is unchecked, and sizes other than `lg` and numeric sizes are visible only in `Avatar.stories.tsx`. | `audit:Avatar/behavior` |
233
+ | FR4 | `Avatar.test.tsx` shape and status tests; `Avatar.stories.tsx` status fixtures | Every shape with a status; RTL | A missing status slot fails. Gap: the tests assert presence only, so the slot's position, mirroring, and offset are visible only in the rendered fixtures. | `audit:Avatar/layout` |
234
+ | FR5, AR1, AR2, PR1 | `Avatar.test.tsx` status-name and wrapper suites | Direct, wrapped, changing, removed labels | A lost composed name, extra render, or stale label fails. | `audit:Avatar/a11y` |
235
+ | FR6, AR3 | `Avatar.test.tsx` interactivity suite | Link, button, static, dev warnings | A wrong root, a missing marker, or a missing warning fails. Gap: no test checks the focus-visible outline. | `audit:Avatar/behavior` |
236
+ | FR7, AR4, AR5 | `Avatar.test.tsx` name-tooltip suite | Default, custom, disabled, blank | A missing tab stop, a duplicated description, or a lost ref fails. Gap: no test covers a grouped avatar's tooltip after a re-render that re-attaches its root element: a new `status` element (an inline `status` prop creates one on every parent render), a changed `name`, `alt`, locale, caller ARIA, or caller `ref`, or a tooltip that turns on after mount. | `audit:Avatar/a11y` |
237
+ | FR8 | `Avatar.test.tsx` group shape tests; `AvatarGroup.test.tsx` size-cascade, overlap, and roving suites; `layerScopedContext.test.tsx` AvatarGroup layer tests | Inside a group; in a layer opened from a group; outside a group | An avatar size or shape prop winning inside a group, a lost overlap, an interactive avatar missing from the roving set, or a static avatar in a layer losing its tooltip tab stop fails. Gap: no test asserts the ring, or size and shape inside a layer. | `audit:Avatar/behavior` |
238
+ | FR9, AR6 | `Avatar.test.tsx` consumer-ARIA override suite | Static and interactive roots | A derived value replacing a caller `aria-label`, `role`, or `aria-hidden` fails. Gap: no test covers a caller `tabIndex`. | `audit:Avatar/a11y` |
239
+ | AR1–AR3, AR5 | Accessibility-tree evidence (`spec:AST-009` FR3) | Named, decorative, status-composed, interactive | Gap: no accessibility-tree check proves the computed roles, names, or description; the unit tests query the DOM. | `audit:Avatar/a11y` |
240
+ | AR7 | `Avatar.stories.tsx` interactive and size fixtures in a browser | Interactive avatars at every size | Gap: no automated target-size check; the undersized targets are the recorded gap. | `audit:Avatar/a11y` |
241
+
242
+ ## Decision log
243
+
244
+ None recorded. The record describes shipped behavior.
245
+
246
+ ## Open questions
247
+
248
+ None.
249
+
250
+ ## Content boundary
251
+
252
+ This file does not duplicate consumer prop tables/examples, current audit
253
+ results, implementation steps, or family/system rules. It links to their owners.
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  schema_version: 3
3
- template_version: 4
3
+ template_version: 7
4
4
  kind: component
5
5
  id: component:AvatarStatusDot
6
- authority: draft
6
+ authority: current
7
7
  archive_reason: null
8
8
  superseded_by: null
9
- approved_by: null
10
- approved_at: null
9
+ approved_by: cixzhang
10
+ approved_at: 2026-10-25
11
11
  owners: [cixzhang]
12
12
  review_triggers: [public-api, behavior, layout, theming, accessibility]
13
13
  verified_by:
@@ -24,119 +24,140 @@ families: []
24
24
  design_specs: []
25
25
  architecture:
26
26
  [
27
- architecture:knowledge-contracts,
28
27
  architecture:component-theming-surface,
29
28
  architecture:component-style-authoring,
30
29
  architecture:public-component-api,
31
30
  architecture:theme-tokens,
32
31
  ]
33
32
  contributing: []
34
- system_specs: [spec:AST-002, spec:AST-029]
33
+ system_specs: [spec:AST-002, spec:AST-009, spec:AST-038]
35
34
  ---
36
35
 
37
36
  # AvatarStatusDot component contract
38
37
 
38
+ ## Contract at a glance
39
+
40
+ | Area | Contract |
41
+ | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | Public contract | A status dot for Avatar's `status` slot with `variant` (default `success`), optional `label`, and optional `icon`. |
43
+ | Behavior | The dot sizes itself from the owning Avatar in three tiers, pairs each built-in variant with a distinct shape, and reports its label to Avatar. |
44
+ | End-user impact | Screen-reader users hear the status in the avatar's name; sighted users can tell statuses apart by shape as well as color. |
45
+ | Builder impact | None; the record describes shipped behavior. |
46
+ | Compatibility/readiness | Released behavior recorded as current; no API, default, or output changes. One implementation gap is listed under Current-state impact. |
47
+ | Review checks | Reject a built-in variant that differs only by color, an exposed glyph or icon, or a label that stops reaching the owning Avatar. |
48
+ | Governing rules | `architecture:component-theming-surface/INV2,INV6,INV14`; `architecture:public-component-api/INV5,INV6,INV8`; WCAG 2.2 1.4.1. |
49
+
50
+ This table is a review projection; the body below is authoritative.
51
+
39
52
  ## Intent
40
53
 
41
- AvatarStatusDot renders the compact status indicator currently composed through
42
- Avatar's `status` slot. This draft records verified shipped behavior only. It does
43
- not change runtime behavior, public API, compatibility, target names, defaults, or
44
- visual meaning.
54
+ AvatarStatusDot renders the compact status indicator composed through Avatar's
55
+ `status` slot. It owns the dot's size tiers, its built-in non-color marks, and
56
+ reporting its label into the owning Avatar's accessible name.
45
57
 
46
58
  ## Compatibility and migration
47
59
 
48
60
  - Released default preserved: `yes`
49
- - Compatibility class: additive observational documentation and story coverage;
50
- runtime behavior, DOM, targets, defaults, and public API remain unchanged
61
+ - Compatibility class: records shipped behavior; no public prop, default, DOM,
62
+ target, or styling output changes
51
63
  - Controlled/uncontrolled behavior: not applicable
52
64
  - Migration decision: none
53
65
 
54
66
  Consumer migration instructions belong in consumer docs and release notes.
55
67
 
68
+ ## Current-state impact
69
+
70
+ - **Augmented variant without a fallback (FR6).** `AvatarStatusDotVariantMap`
71
+ admits theme-added names, but a name with no built-in rule renders the dot's
72
+ geometry and `data-variant` with no fill, ink, or glyph. A caller `icon` with
73
+ a `style` color covers the medium and large tiers, but the small tier drops
74
+ the icon, and nothing paints a theme-independent baseline.
75
+ `architecture:component-theming-surface` INV14 requires an extensible visual
76
+ axis to have a safe theme-independent baseline.
77
+
56
78
  ## Ownership boundary
57
79
 
58
80
  **Owns**
59
81
 
60
- - The painted status-dot root and its current `avatar-status-dot` target.
61
- - The current built-in filled, ring, and minus visual branches.
62
- - Current size-tier resolution from Avatar's resolved numeric size.
82
+ - The painted status-dot root and its `avatar-status-dot` target.
83
+ - The built-in filled, ring, and minus visual branches and the
84
+ `avatar-status-dot-glyph` target.
85
+ - Size-tier resolution from Avatar's resolved numeric size.
63
86
  - Reporting its optional status label into Avatar's accessible name.
64
87
 
65
88
  **Does not own / non-goals**
66
89
 
67
- - Avatar identity, image fallback, shape, status placement, or interactive behavior;
68
- those remain with `component:Avatar` when that contract exists.
90
+ - Avatar identity, image fallback, shape, status placement, or interactive behavior
91
+ — owned by `component:Avatar`.
69
92
  - The meaning or artwork of caller-supplied icon content.
70
- - A new status vocabulary, visual default, or compatibility promise.
71
93
 
72
94
  ## Public concepts
73
95
 
74
- Consumer syntax remains in `AvatarStatusDot.doc.mjs`. The table records current
75
- observable concepts rather than replacing that prop reference.
96
+ Consumer syntax remains in `AvatarStatusDot.doc.mjs`.
76
97
 
77
- | Concept | Closed values or states | Meaning | Availability by variant/orientation/state | Default | Owner | Stability | Invalid-value behavior |
78
- | -------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ----------------------------------------- | --------------------- | -------------------------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
79
- | Status variant | Built-ins `success`, `neutral`, `error`; the released map also admits augmented names | Selects the current plate color and built-in non-color mark. | All size tiers; LTR and RTL. | `success` | `component:AvatarStatusDot` for built-ins; the unmatched augmented path is legacy debt | Observed released surface | An augmented name with no matching built-in rule keeps root geometry and `data-variant` but has no reliable color-and-icon fallback. |
80
- | Status label | String or absent | Names a standalone dot and is reported into the owning Avatar name. | Every variant and size. | Absent | Caller supplies meaning; component exposes and reports it | Observed released surface | Empty or absent label emits no role or accessible name on the dot and reports no status name. |
81
- | Custom icon | Renderable React content or absent | Replaces the built-in glyph where the current size tier has room. | Medium and large tiers; hidden on small. | Absent | Caller owns artwork; component owns placement and suppression rules | Observed released surface | Booleans and empty strings are ignored; a component that renders no DOM still suppresses the built-in glyph. |
82
- | DOM extension | Supported BaseProps inputs and ref | Extends the current root and combines consumer styles. | Every render branch. | No additional inputs. | `architecture:public-component-api` | Observed released surface | BaseProps omissions remain unsupported. |
98
+ | Concept | Closed values or states | Meaning | Availability by variant/orientation/state | Default | Owner | Stability | Invalid-value behavior |
99
+ | -------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ----------------------------------------- | --------------------- | ------------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- |
100
+ | Status variant | Built-ins `success`, `neutral`, `error`; the released map also admits augmented names | Selects the plate color and built-in non-color mark. | All size tiers; LTR and RTL. | `success` | `component:AvatarStatusDot` | Stable | An augmented name is reflected as `data-variant` and keeps a safe theme-independent baseline (FR6); today it has none, the FR6 gap. |
101
+ | Status label | String or absent | Names a standalone dot and is reported into the owning Avatar name. | Every variant and size. | Absent | Caller supplies meaning; component exposes and reports it | Stable | Empty or absent label emits no role or accessible name on the dot and reports no status name. |
102
+ | Custom icon | Renderable React content or absent | Replaces the built-in glyph where the size tier has room. | Medium and large tiers; hidden on small. | Absent | Caller owns artwork; component owns placement and suppression rules | Stable | Booleans and empty strings are ignored; a component that renders no DOM still suppresses the built-in glyph. |
103
+ | DOM extension | Supported BaseProps inputs and ref | Extends the root and combines consumer styles. | Every render branch. | No additional inputs. | `architecture:public-component-api` | Stable | BaseProps omissions remain unsupported. |
83
104
 
84
105
  ## Behavioral and layout contract
85
106
 
86
- | ID | Candidate invariant | Basis | Draft review state |
87
- | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
88
- | FR1 | Avatar sizes up to 36px currently resolve a 10px dot with 1px border and no custom icon; 40–72px resolve 20px/2px/12px; 96px and above resolve 32px/4px/18px. Standalone use reads AvatarSizeContext's current 36px default. | Current source, tests, stories, and browser evidence | Verified shipped geometry; no new threshold or size meaning decided |
89
- | FR2 | `success` currently paints a filled semantic-success plate without an inner glyph; `neutral` paints a surface plate with a ring; `error` paints a semantic-error plate with a minus. | Current source, tests, consumer docs, and rendered evidence | Verified built-in behavior; no new status vocabulary decided |
90
- | FR3 | At medium and large tiers, renderable `icon` content replaces the built-in glyph and is centered in an assistive-technology-hidden wrapper. At the small tier the icon is omitted and the built-in glyph branch remains. | Current source, tests, and rendered evidence | Verified shipped behavior; icon meaning remains caller-owned |
91
- | FR4 | A non-empty `label` currently adds `role="img"` and `aria-label` to the dot. The callback ref reports the same label through AvatarStatusLabelContext before paint and withdraws it on detach. | Current source and Avatar integration tests | Verified shipped behavior; this audit does not alter requiredness |
92
- | FR5 | The root currently carries `avatar-status-dot` with `variant`; ring and minus SVGs carry `avatar-status-dot-glyph` with `shape`. Supported consumer styling and ref inputs reach the root. | Current source, docs, target tests, and ref/passthrough inspection | Verified shipped theming and DOM surface |
93
- | FR6 | The released `AvatarStatusDotVariantMap` currently admits augmented names. For an unmatched name, root geometry and reflected `data-variant` remain while built-in fill, ink, and glyph are absent. The current surface provides no reliable caller-configurable path that supplies both color and icon fallback. | Current source, docs, focused test, `architecture:component-theming-surface/INV14`, and owner confirmation | Pre-existing current-authority conformance gap; this audit records but does not remediate it |
107
+ | ID | Invariant | Basis |
108
+ | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
109
+ | FR1 | Avatar sizes up to 36px resolve a 10px dot with a 1px border and no custom icon; 40–72px resolve a 20px dot, 2px border, and 12px icon; 96px and above resolve a 32px dot, 4px border, and 18px icon. The border is the surface color. Outside an Avatar in the same layer (`spec:AST-038` FR7, FR8) the dot uses the 36px tier. | Current source, tests, and stories |
110
+ | FR2 | `success` paints a filled `--color-success` plate with no inner glyph; `neutral` paints a surface plate with a ring in secondary text color; `error` paints a `--color-error` plate with a minus bar in `--color-on-error`, and `success` sets `--color-on-success` as its ink. Glyphs are stroked in `currentColor` at 1, 1.5, or 2px by tier; the minus spans 75% of the inner field with round caps. The plates are the strong status fills and their ink is the matching content role (`architecture:theme-tokens` INV11). | Current source, tests, and consumer docs |
111
+ | FR3 | At medium and large tiers, renderable `icon` content replaces the built-in glyph and is centered in an assistive-technology-hidden wrapper sized to the tier's icon size. At the small tier the icon is omitted and the built-in glyph remains. Booleans and empty strings are not renderable. | Current source and tests |
112
+ | FR4 | A non-empty `label` adds `role="img"` and `aria-label` to the dot. The dot reports the same label to the owning Avatar before paint, at any wrapper depth, and withdraws it when it unmounts. | Current source and Avatar integration tests |
113
+ | FR5 | The root carries `avatar-status-dot` with `variant`; ring and minus SVGs carry `avatar-status-dot-glyph` with `shape`. Supported consumer props and ref reach the root; the dot's own role, name, and styling apply after caller props, and `xstyle`, `className`, and `style` merge in that order. | Current source, docs, and target tests |
114
+ | FR6 | The released `AvatarStatusDotVariantMap` admits augmented names, and an extensible visual axis has a safe theme-independent baseline (`architecture:component-theming-surface` INV14). For an unmatched name, root geometry and reflected `data-variant` remain while built-in fill, ink, and glyph are absent; at the medium and large tiers a caller `icon` with a `style` color supplies a color and a mark, and at the small tier the icon is not rendered. Implementation gap: no theme-independent baseline paints an unmatched name (Current-state impact). | Current source, docs, focused test, and `architecture:component-theming-surface/INV14` |
94
115
 
95
116
  ### Allowed variation
96
117
 
97
118
  - **AV1 — Identity and meaning.** The status label and caller icon artwork may vary.
98
- - **AV2 — Theme output.** Current targets and reflected axes may vary through the
99
- public theming system without moving target ownership.
100
- - **AV3 — Consumer styling.** Supported BaseProps inputs may vary on the current
101
- root while component-owned size and reporting behavior remain.
119
+ - **AV2 — Theme output.** Targets and reflected axes may vary through the public
120
+ theming system without moving target ownership.
121
+ - **AV3 — Consumer styling.** Supported BaseProps inputs may vary on the root
122
+ while component-owned size and reporting behavior remain.
102
123
 
103
124
  ### Representative states
104
125
 
105
- | State | Required invariant | Allowed variation |
106
- | ---------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
107
- | Built-in variants | Current fill/ring/minus branches and reflected `variant` remain. | Label, Avatar content, size, theme, and direction may vary. |
108
- | Small tier | Dot and built-in shape remain; custom icon is omitted. | Built-in variant and label may vary. |
109
- | Medium and large tiers | Current dimensions apply; renderable custom icon replaces the glyph. | Icon artwork, variant, label, and theme may vary. |
110
- | Labelled | Dot exposes its label and reports it to Avatar. | The caller-authored label may vary. |
111
- | Unlabelled | Dot has no current role/name and reports no status label. | Visual variant and icon may still render. |
112
- | Augmented variant | Root geometry and reflected `data-variant` render; unmatched built-in fill, ink, and glyph remain absent. | The current released surface has no reliable fallback path supplying both color and icon. |
113
- | RTL | Dot content is direction-neutral; Avatar owns logical corner placement. | Theme, variant, size, label, and icon may vary. |
126
+ | State | Required invariant | Allowed variation |
127
+ | ---------------------- | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
128
+ | Built-in variants | Fill, ring, and minus branches and reflected `variant` remain. | Label, Avatar content, size, theme, and direction may vary. |
129
+ | Small tier | Dot and built-in shape remain; custom icon is omitted. | Built-in variant and label may vary. |
130
+ | Medium and large tiers | Tier dimensions apply; renderable custom icon replaces the glyph. | Icon artwork, variant, label, and theme may vary. |
131
+ | Labelled | Dot exposes its label and reports it to Avatar. | The caller-authored label may vary. |
132
+ | Unlabelled | Dot has no role or name and reports no status label. | Visual variant and icon may still render. |
133
+ | Augmented variant | Root geometry and reflected `data-variant` render; built-in fill, ink, and glyph are absent (FR6 gap). | A theme may paint the added name. |
134
+ | RTL | Dot content is direction-neutral; Avatar owns logical corner placement. | Theme, variant, size, label, and icon may vary. |
114
135
 
115
136
  ### Transformation and precedence order
116
137
 
117
- - **ORD1 — Resolve size.** Read AvatarSizeContext, then select the current discrete
118
- size tier and dimensions.
138
+ - **ORD1 — Resolve size.** Take the owning Avatar's resolved size (36px outside
139
+ an Avatar in the same layer), then select the discrete size tier and dimensions.
119
140
  - **ORD2 — Resolve mark.** A renderable icon wins when the tier permits it;
120
141
  otherwise the built-in variant glyph is selected when one exists.
121
- - **ORD3 — Resolve root.** Component target/style output is combined with supported
122
- consumer StyleX, class, and style inputs on the current root.
142
+ - **ORD3 — Resolve root.** Caller props → role and name → component target and
143
+ styles → `xstyle` → `className` → `style`.
123
144
 
124
145
  ### Performance and resources
125
146
 
126
- - **PR1 — Commit-phase label reporting.** The current callback-ref path reports and
127
- withdraws the label without adding a state mirror, Effect, observer, listener,
128
- timer, or second render.
147
+ - **PR1 — Reporting without re-rendering.** Reporting or withdrawing the label
148
+ causes no extra render of the dot or the avatar and leaves no listener,
149
+ observer, or timer behind.
129
150
 
130
151
  ## Accessibility contract
131
152
 
132
- - **AR1 — Current accessible name.** A non-empty `label` names a standalone dot and
133
- is composed into Avatar's name through the current context report.
153
+ - **AR1 — Accessible name.** A non-empty `label` names a standalone dot and is
154
+ composed into the owning Avatar's name.
134
155
  - **AR2 — Decorative visual marks.** The built-in SVG and custom-icon wrapper are
135
156
  hidden from assistive technology because the root or Avatar name carries status.
136
- - **AR3 — Current built-in non-color cues.** The three built-in variants use filled,
137
- ring, and minus topologies in addition to semantic color. Replacing that mark with
138
- caller content may change the non-color distinction; this draft records rather
139
- than resolves that public seam.
157
+ - **AR3 — Built-in non-color cues.** The three built-in variants use filled,
158
+ ring, and minus topologies in addition to semantic color (WCAG 2.2 1.4.1). A
159
+ caller icon replaces that mark at medium and large tiers, so the non-color
160
+ distinction then depends on the caller using a different icon per status.
140
161
 
141
162
  ## Design relationships
142
163
 
@@ -146,17 +167,11 @@ observable concepts rather than replacing that prop reference.
146
167
  | Built-in glyph | Ring or minus supplements color for neutral/error. | WCAG 2.2 SC 1.4.1 plus current shipped representation | Meaningful non-text cue | FR2, AR3 |
147
168
  | Custom icon | Caller artwork replaces the built-in mark where space permits. | Caller owns artwork; current source owns placement | Conditional meaningful cue | FR3, AR2, AR3 |
148
169
 
149
- This observational draft does not select new glyphs, proportions, density, status
150
- semantics, or prominence treatment.
151
-
152
170
  ## Family and system relationships
153
171
 
154
- - `architecture:knowledge-contracts` owns draft/current authority, conflict routing,
155
- and observational-record boundaries.
156
172
  - `architecture:component-theming-surface` owns painting-target qualification,
157
173
  reflected axes, and the reliable theme-independent fallback required for an
158
- extensible visual axis. This audit records the current violation and leaves the
159
- public surface unchanged.
174
+ extensible visual axis; FR6 records the gap against it.
160
175
  - `architecture:component-style-authoring` owns StyleX lowering and permits the
161
176
  component-owned non-glyph SVG shapes used here.
162
177
  - `architecture:public-component-api` owns the released subpath, BaseProps
@@ -164,24 +179,23 @@ semantics, or prominence treatment.
164
179
  - `architecture:theme-tokens` owns the semantic color and radius vocabulary.
165
180
  - `spec:AST-002` owns API admission and requires future public behavior or default
166
181
  changes to identify current authority.
167
- - `spec:AST-029` owns this Night Watch observational backfill and keeps it from
168
- settling new product meaning.
169
182
 
170
183
  ## Verification map
171
184
 
172
- | Contract | Verification | Representative states | Mutation or failure expectation | Audit section |
173
- | ------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
174
- | FR1–FR3, AR2, AR3 | `AvatarStatusDot.test.tsx` plus dedicated Storybook browser matrix | Three size tiers, three built-ins, custom icon present/absent | Size-tier, mark-selection, hidden-icon, or built-in-shape drift fails focused assertions or rendered receipts. | `audit:AvatarStatusDot/behavior` |
175
- | FR4, AR1 | `Avatar.test.tsx` status-name suites and `AvatarStatusDot.test.tsx` | Direct/wrapped/changing/removed labels; labelled and unlabelled dots | Losing the standalone or composed status name, commit-phase update, or cleanup fails role/name assertions. | `audit:AvatarStatusDot/accessibility` |
176
- | FR5 | Theming target and extensible-axis tests plus source inspection | Built-in and augmented variants, glyph ring/minus, consumer styling | Missing target metadata/reflection, target movement, or dropped supported DOM/style inputs fails checks or inspection. | `audit:AvatarStatusDot/theming` |
177
- | FR6 | Focused augmented-variant unit test and source/docs inspection | Augmented name without a matching built-in rule | The base-only output remains visible while the missing reliable color-and-icon fallback stays recorded as pre-existing debt. | `audit:AvatarStatusDot/api` |
178
- | RTL relation | Dedicated RTL audit coverage and receipted LTR/RTL browser frames | Built-ins across current sizes | New directional glyph, physical positioning, or unmatched transform produces a coverage or render difference. | `audit:AvatarStatusDot/i18n-rtl` |
179
- | Documentation and surface | Consumer docs, blocks, dedicated stories, export checks, and `scripts/check-knowledge.mjs` | Props, package subpath, blocks, story states, and this draft | Missing/stale docs, exports, required structure, relationships, or story coverage fail repository checks or audit inspection. | `audit:AvatarStatusDot/docs` |
185
+ | Contract | Verification | Representative states | Mutation or failure expectation | Audit section |
186
+ | ----------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
187
+ | FR1–FR3, AR2, AR3 | `AvatarStatusDot.test.tsx` and `AvatarStatusDot.stories.tsx` in a browser | Three size tiers, three built-ins, custom icon present/absent | Size-tier, mark-selection, hidden-icon, or built-in-shape drift fails focused assertions or the rendered fixture. | `audit:AvatarStatusDot/behavior` |
188
+ | FR4, AR1 | `Avatar.test.tsx` status-name suites and `AvatarStatusDot.test.tsx` | Direct/wrapped/changing/removed labels; labelled and unlabelled dots | Losing the standalone or composed status name, commit-phase update, or cleanup fails role/name assertions. | `audit:AvatarStatusDot/accessibility` |
189
+ | FR5 | `themingTargets.test.ts` and `extensibleAxes.test.ts` | Built-in and augmented variants, glyph ring/minus | Missing target metadata or axis wiring fails the structural checks. Gap: no test renders the dot to check that consumer props, ref, and styling inputs reach the root. | `audit:AvatarStatusDot/theming` |
190
+ | FR6 | `AvatarStatusDot.test.tsx` augmented-variant test | Augmented name without a matching built-in rule | A glyph appearing for an unmatched name fails. Gap: a fill appearing, and the caller `icon` path, have no automated check. | `audit:AvatarStatusDot/api` |
191
+ | RTL relation | `AvatarStatusDot.stories.tsx` in a browser in both directions | Built-ins across all size tiers | New directional glyph, physical positioning, or unmatched transform is visible in the rendered fixture. | `audit:AvatarStatusDot/i18n-rtl` |
192
+ | Record structure | `scripts/check-knowledge.mjs` | This record | Missing required structure or relationships fails repository validation. | `audit:AvatarStatusDot/docs` |
193
+ | PR1 | `Avatar.test.tsx` no-extra-render test | Wrapped status label | An extra render or a reporting loop fails. | `audit:AvatarStatusDot/behavior` |
194
+ | AR1, AR2 | Accessibility-tree evidence (`spec:AST-009` FR3) | Labelled and unlabelled standalone dots | Gap: no accessibility-tree check proves the standalone image role and name or the hidden marks; the unit tests query the DOM. | `audit:AvatarStatusDot/accessibility` |
180
195
 
181
196
  ## Decision log
182
197
 
183
- None. This draft records current facts and introduces no component-local API,
184
- behavior, accessibility, layout, theming, or design decision.
198
+ None recorded. The record describes shipped behavior.
185
199
 
186
200
  ## Open questions
187
201