@astryxdesign/core 0.1.9 → 0.2.0-canary.0b7a99e

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 (1128) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  3. package/dist/AlertDialog/AlertDialog.js +1 -1
  4. package/dist/AppShell/AppShell.d.ts +2 -20
  5. package/dist/AppShell/AppShell.d.ts.map +1 -1
  6. package/dist/AppShell/AppShell.js +1 -14
  7. package/dist/AppShell/index.d.ts +20 -1
  8. package/dist/AppShell/index.d.ts.map +1 -1
  9. package/dist/AppShell/index.js +14 -0
  10. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  11. package/dist/AspectRatio/AspectRatio.js +1 -1
  12. package/dist/Avatar/Avatar.d.ts +43 -4
  13. package/dist/Avatar/Avatar.d.ts.map +1 -1
  14. package/dist/Avatar/Avatar.js +194 -63
  15. package/dist/Avatar/AvatarStatusDot.d.ts +8 -30
  16. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  17. package/dist/Avatar/AvatarStatusDot.js +1 -22
  18. package/dist/Avatar/index.d.ts +26 -1
  19. package/dist/Avatar/index.d.ts.map +1 -1
  20. package/dist/Avatar/index.js +21 -0
  21. package/dist/AvatarGroup/AvatarGroup.d.ts +8 -2
  22. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.js +59 -7
  24. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  26. package/dist/AvatarGroup/AvatarGroupOverflow.js +8 -3
  27. package/dist/Badge/Badge.d.ts +2 -30
  28. package/dist/Badge/Badge.d.ts.map +1 -1
  29. package/dist/Badge/Badge.js +2 -17
  30. package/dist/Badge/index.d.ts +31 -2
  31. package/dist/Badge/index.d.ts.map +1 -1
  32. package/dist/Badge/index.js +15 -1
  33. package/dist/Banner/Banner.d.ts +2 -37
  34. package/dist/Banner/Banner.d.ts.map +1 -1
  35. package/dist/Banner/Banner.js +7 -35
  36. package/dist/Banner/index.d.ts +37 -1
  37. package/dist/Banner/index.d.ts.map +1 -1
  38. package/dist/Banner/index.js +27 -0
  39. package/dist/Blockquote/Blockquote.d.ts +1 -1
  40. package/dist/Blockquote/Blockquote.js +1 -1
  41. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +12 -5
  44. package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -18
  45. package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  46. package/dist/Breadcrumbs/Breadcrumbs.js +1 -15
  47. package/dist/Breadcrumbs/index.d.ts +19 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +16 -1
  50. package/dist/Button/Button.d.ts +3 -21
  51. package/dist/Button/Button.d.ts.map +1 -1
  52. package/dist/Button/Button.js +8 -21
  53. package/dist/Button/index.d.ts +21 -3
  54. package/dist/Button/index.d.ts.map +1 -1
  55. package/dist/Button/index.js +15 -1
  56. package/dist/ButtonGroup/ButtonGroup.d.ts +1 -1
  57. package/dist/ButtonGroup/ButtonGroup.js +1 -1
  58. package/dist/Calendar/Calendar.d.ts.map +1 -1
  59. package/dist/Calendar/Calendar.js +51 -10
  60. package/dist/Calendar/dayCellUtils.d.ts +4 -4
  61. package/dist/Calendar/dayCellUtils.js +2 -2
  62. package/dist/Calendar/styles.d.ts +32 -33
  63. package/dist/Calendar/styles.d.ts.map +1 -1
  64. package/dist/Calendar/styles.js +32 -33
  65. package/dist/Card/Card.d.ts +1 -1
  66. package/dist/Card/Card.js +2 -2
  67. package/dist/Carousel/Carousel.d.ts +1 -1
  68. package/dist/Carousel/Carousel.d.ts.map +1 -1
  69. package/dist/Carousel/Carousel.js +23 -13
  70. package/dist/Center/Center.d.ts +21 -4
  71. package/dist/Center/Center.d.ts.map +1 -1
  72. package/dist/Center/Center.js +11 -3
  73. package/dist/Chat/ChatComposer.d.ts +1 -1
  74. package/dist/Chat/ChatComposer.js +9 -9
  75. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  76. package/dist/Chat/ChatComposerDrawer.js +3 -3
  77. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  78. package/dist/Chat/ChatComposerInput.js +2 -2
  79. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  80. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  81. package/dist/Chat/ChatDictationButton.js +4 -2
  82. package/dist/Chat/ChatLayout.d.ts +8 -1
  83. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  84. package/dist/Chat/ChatLayout.js +17 -6
  85. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  86. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  87. package/dist/Chat/ChatMessage.d.ts +1 -1
  88. package/dist/Chat/ChatMessage.js +1 -1
  89. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  90. package/dist/Chat/ChatMessageBubble.d.ts.map +1 -1
  91. package/dist/Chat/ChatMessageBubble.js +9 -9
  92. package/dist/Chat/ChatMessageList.d.ts +1 -1
  93. package/dist/Chat/ChatMessageList.js +1 -1
  94. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  95. package/dist/Chat/ChatSystemMessage.js +1 -1
  96. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  97. package/dist/Chat/ChatTokenizedText.js +1 -1
  98. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  99. package/dist/Chat/ChatToolCalls.js +10 -3
  100. package/dist/Chat/useTriggerMenu.js +2 -2
  101. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.js +7 -7
  104. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  105. package/dist/CheckboxList/CheckboxList.js +1 -1
  106. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  109. package/dist/Citation/Citation.d.ts +23 -2
  110. package/dist/Citation/Citation.d.ts.map +1 -1
  111. package/dist/Citation/Citation.js +21 -7
  112. package/dist/ClickableCard/ClickableCard.d.ts +3 -3
  113. package/dist/ClickableCard/ClickableCard.js +3 -3
  114. package/dist/Code/Code.d.ts +2 -2
  115. package/dist/Code/Code.js +2 -2
  116. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  117. package/dist/CodeBlock/CodeBlock.js +16 -10
  118. package/dist/Collapsible/Collapsible.d.ts +1 -1
  119. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  120. package/dist/Collapsible/Collapsible.js +4 -2
  121. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  122. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  123. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  124. package/dist/CommandPalette/CommandPalette.d.ts +2 -2
  125. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  126. package/dist/CommandPalette/CommandPalette.js +43 -4
  127. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  128. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  129. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  130. package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteInput.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  133. package/dist/CommandPalette/CommandPaletteItem.js +2 -2
  134. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  135. package/dist/ContextMenu/ContextMenu.d.ts +1 -1
  136. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  137. package/dist/ContextMenu/ContextMenu.js +24 -6
  138. package/dist/ContextMenu/index.d.ts +1 -0
  139. package/dist/ContextMenu/index.d.ts.map +1 -1
  140. package/dist/ContextMenu/index.js +3 -1
  141. package/dist/DateInput/DateInput.d.ts +10 -2
  142. package/dist/DateInput/DateInput.d.ts.map +1 -1
  143. package/dist/DateInput/DateInput.js +34 -20
  144. package/dist/DateRangeInput/DateRangeInput.d.ts +10 -2
  145. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  146. package/dist/DateRangeInput/DateRangeInput.js +24 -21
  147. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  148. package/dist/DateTimeInput/DateTimeInput.js +24 -19
  149. package/dist/Dialog/Dialog.d.ts +46 -23
  150. package/dist/Dialog/Dialog.d.ts.map +1 -1
  151. package/dist/Dialog/Dialog.js +59 -31
  152. package/dist/Dialog/DialogHeader.d.ts +1 -1
  153. package/dist/Dialog/DialogHeader.js +1 -1
  154. package/dist/Dialog/index.d.ts +18 -1
  155. package/dist/Dialog/index.d.ts.map +1 -1
  156. package/dist/Dialog/index.js +14 -0
  157. package/dist/Divider/Divider.d.ts +4 -20
  158. package/dist/Divider/Divider.d.ts.map +1 -1
  159. package/dist/Divider/Divider.js +14 -15
  160. package/dist/Divider/index.d.ts +18 -1
  161. package/dist/Divider/index.d.ts.map +1 -1
  162. package/dist/Divider/index.js +14 -0
  163. package/dist/DropdownMenu/DropdownMenu.d.ts +7 -1
  164. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  165. package/dist/DropdownMenu/DropdownMenu.js +23 -6
  166. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  167. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  168. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +42 -64
  169. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  170. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  171. package/dist/DropdownMenu/DropdownMenuItem.js +6 -3
  172. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  173. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  174. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  175. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  176. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  177. package/dist/DropdownMenu/DropdownMenuRadioItem.js +10 -3
  178. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +104 -0
  179. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -0
  180. package/dist/DropdownMenu/DropdownMenuSubMenu.js +435 -0
  181. package/dist/DropdownMenu/index.d.ts +10 -0
  182. package/dist/DropdownMenu/index.d.ts.map +1 -1
  183. package/dist/DropdownMenu/index.js +13 -0
  184. package/dist/DropdownMenu/menuItemHover.d.ts +24 -0
  185. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -0
  186. package/dist/DropdownMenu/menuItemHover.js +34 -0
  187. package/dist/DropdownMenu/menuItemRoles.d.ts +8 -0
  188. package/dist/DropdownMenu/menuItemRoles.d.ts.map +1 -1
  189. package/dist/DropdownMenu/menuItemRoles.js +10 -1
  190. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  191. package/dist/DropdownMenu/renderDropdownItems.js +27 -10
  192. package/dist/EmptyState/EmptyState.d.ts +1 -1
  193. package/dist/EmptyState/EmptyState.js +1 -1
  194. package/dist/Field/Field.d.ts +4 -2
  195. package/dist/Field/Field.d.ts.map +1 -1
  196. package/dist/Field/Field.js +5 -2
  197. package/dist/Field/FieldLabel.d.ts +4 -3
  198. package/dist/Field/FieldLabel.d.ts.map +1 -1
  199. package/dist/Field/FieldLabel.js +50 -7
  200. package/dist/Field/inputStyles.stylex.d.ts +1 -0
  201. package/dist/Field/inputStyles.stylex.d.ts.map +1 -1
  202. package/dist/Field/inputStyles.stylex.js +1 -0
  203. package/dist/FieldStatus/FieldStatus.d.ts +10 -17
  204. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  205. package/dist/FieldStatus/FieldStatus.js +52 -20
  206. package/dist/FieldStatus/index.d.ts +19 -1
  207. package/dist/FieldStatus/index.d.ts.map +1 -1
  208. package/dist/FieldStatus/index.js +14 -0
  209. package/dist/FileInput/FileInput.d.ts +10 -2
  210. package/dist/FileInput/FileInput.d.ts.map +1 -1
  211. package/dist/FileInput/FileInput.js +94 -66
  212. package/dist/FormLayout/FormLayout.d.ts +1 -1
  213. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  214. package/dist/FormLayout/FormLayout.js +1 -1
  215. package/dist/Grid/Grid.d.ts +1 -1
  216. package/dist/Grid/Grid.js +1 -1
  217. package/dist/Grid/GridSpan.d.ts +1 -1
  218. package/dist/Grid/GridSpan.js +1 -1
  219. package/dist/HStack/HStack.d.ts +1 -1
  220. package/dist/HStack/HStack.js +1 -1
  221. package/dist/Heading/Heading.d.ts +2 -2
  222. package/dist/Heading/Heading.d.ts.map +1 -1
  223. package/dist/Heading/Heading.js +5 -4
  224. package/dist/HoverCard/HoverCard.d.ts +1 -1
  225. package/dist/HoverCard/HoverCard.js +1 -1
  226. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  227. package/dist/HoverCard/useHoverCard.js +10 -4
  228. package/dist/Icon/Icon.d.ts +16 -2
  229. package/dist/Icon/Icon.d.ts.map +1 -1
  230. package/dist/Icon/Icon.js +20 -4
  231. package/dist/Icon/globalIconRegistry.js +1 -1
  232. package/dist/IconButton/IconButton.d.ts +1 -1
  233. package/dist/IconButton/IconButton.js +1 -1
  234. package/dist/InputGroup/InputGroup.d.ts +1 -1
  235. package/dist/InputGroup/InputGroup.js +1 -1
  236. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  237. package/dist/InputGroup/InputGroupText.js +1 -1
  238. package/dist/Item/Item.d.ts +17 -4
  239. package/dist/Item/Item.d.ts.map +1 -1
  240. package/dist/Item/Item.js +32 -7
  241. package/dist/Kbd/Kbd.d.ts +1 -1
  242. package/dist/Kbd/Kbd.js +1 -1
  243. package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
  244. package/dist/Layer/layerAnimations.stylex.js +10 -2
  245. package/dist/Layout/Layout.d.ts +1 -1
  246. package/dist/Layout/Layout.js +1 -1
  247. package/dist/Layout/LayoutContent.d.ts +1 -1
  248. package/dist/Layout/LayoutContent.js +1 -1
  249. package/dist/Layout/LayoutFooter.d.ts +1 -1
  250. package/dist/Layout/LayoutFooter.js +1 -1
  251. package/dist/Layout/LayoutHeader.d.ts +1 -1
  252. package/dist/Layout/LayoutHeader.js +1 -1
  253. package/dist/Layout/LayoutPanel.d.ts +1 -1
  254. package/dist/Layout/LayoutPanel.js +1 -1
  255. package/dist/Lightbox/Lightbox.d.ts +1 -1
  256. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  257. package/dist/Lightbox/Lightbox.js +35 -16
  258. package/dist/Link/Link.d.ts +1 -1
  259. package/dist/Link/Link.js +1 -1
  260. package/dist/Link/LinkProvider.d.ts +2 -2
  261. package/dist/Link/LinkProvider.js +2 -2
  262. package/dist/List/List.d.ts +1 -1
  263. package/dist/List/List.d.ts.map +1 -1
  264. package/dist/List/List.js +7 -4
  265. package/dist/List/ListItem.d.ts +12 -2
  266. package/dist/List/ListItem.d.ts.map +1 -1
  267. package/dist/List/ListItem.js +3 -1
  268. package/dist/Markdown/Markdown.d.ts.map +1 -1
  269. package/dist/Markdown/Markdown.js +11 -4
  270. package/dist/MetadataList/MetadataList.d.ts +2 -2
  271. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  272. package/dist/MetadataList/MetadataList.js +5 -3
  273. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  274. package/dist/MetadataList/MetadataListItem.js +1 -1
  275. package/dist/MobileNav/MobileNav.d.ts +1 -1
  276. package/dist/MobileNav/MobileNav.js +1 -1
  277. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  278. package/dist/MoreMenu/MoreMenu.js +1 -1
  279. package/dist/MultiSelector/MultiSelector.d.ts +10 -2
  280. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  281. package/dist/MultiSelector/MultiSelector.js +88 -46
  282. package/dist/NavIcon/NavIcon.d.ts +1 -1
  283. package/dist/NavIcon/NavIcon.js +1 -1
  284. package/dist/NavMenu/NavHeadingMenuItem.js +1 -1
  285. package/dist/NumberInput/NumberInput.d.ts +11 -3
  286. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  287. package/dist/NumberInput/NumberInput.js +23 -18
  288. package/dist/Outline/Outline.js +3 -3
  289. package/dist/OverflowList/OverflowList.d.ts +1 -1
  290. package/dist/OverflowList/OverflowList.js +1 -1
  291. package/dist/Pagination/Pagination.d.ts +1 -20
  292. package/dist/Pagination/Pagination.d.ts.map +1 -1
  293. package/dist/Pagination/Pagination.js +12 -18
  294. package/dist/Pagination/index.d.ts +21 -1
  295. package/dist/Pagination/index.d.ts.map +1 -1
  296. package/dist/Pagination/index.js +14 -0
  297. package/dist/Popover/Popover.d.ts +1 -1
  298. package/dist/Popover/Popover.js +1 -1
  299. package/dist/Popover/usePopover.d.ts.map +1 -1
  300. package/dist/Popover/usePopover.js +14 -3
  301. package/dist/PowerSearch/PowerSearch.d.ts +10 -3
  302. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  303. package/dist/PowerSearch/PowerSearch.js +3 -1
  304. package/dist/ProgressBar/ProgressBar.d.ts +1 -20
  305. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  306. package/dist/ProgressBar/ProgressBar.js +7 -16
  307. package/dist/ProgressBar/index.d.ts +21 -1
  308. package/dist/ProgressBar/index.d.ts.map +1 -1
  309. package/dist/ProgressBar/index.js +14 -0
  310. package/dist/RadioList/RadioList.d.ts +3 -3
  311. package/dist/RadioList/RadioList.js +1 -1
  312. package/dist/RadioList/RadioListItem.d.ts +1 -1
  313. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  314. package/dist/RadioList/RadioListItem.js +6 -6
  315. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  316. package/dist/Resizable/ResizeHandle.js +45 -22
  317. package/dist/Section/Section.d.ts +2 -19
  318. package/dist/Section/Section.d.ts.map +1 -1
  319. package/dist/Section/Section.js +1 -15
  320. package/dist/Section/index.d.ts +19 -1
  321. package/dist/Section/index.d.ts.map +1 -1
  322. package/dist/Section/index.js +14 -0
  323. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  324. package/dist/SegmentedControl/SegmentedControl.js +1 -1
  325. package/dist/SegmentedControl/SegmentedControlItem.d.ts +2 -2
  326. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  327. package/dist/SegmentedControl/SegmentedControlItem.js +6 -4
  328. package/dist/SelectableCard/SelectableCard.d.ts +4 -3
  329. package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
  330. package/dist/SelectableCard/SelectableCard.js +15 -3
  331. package/dist/Selector/Selector.d.ts +9 -1
  332. package/dist/Selector/Selector.d.ts.map +1 -1
  333. package/dist/Selector/Selector.js +73 -20
  334. package/dist/SideNav/SideNav.d.ts +1 -1
  335. package/dist/SideNav/SideNav.d.ts.map +1 -1
  336. package/dist/SideNav/SideNav.js +6 -6
  337. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  338. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  339. package/dist/SideNav/SideNavCollapseButton.js +14 -11
  340. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  341. package/dist/SideNav/SideNavHeading.js +1 -1
  342. package/dist/SideNav/SideNavItem.d.ts +2 -2
  343. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  344. package/dist/SideNav/SideNavItem.js +13 -11
  345. package/dist/SideNav/SideNavSection.d.ts +1 -1
  346. package/dist/SideNav/SideNavSection.js +1 -1
  347. package/dist/Skeleton/Skeleton.d.ts +1 -1
  348. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  349. package/dist/Skeleton/Skeleton.js +3 -3
  350. package/dist/Slider/Slider.d.ts.map +1 -1
  351. package/dist/Slider/Slider.js +146 -83
  352. package/dist/Spinner/Spinner.d.ts +4 -3
  353. package/dist/Spinner/Spinner.d.ts.map +1 -1
  354. package/dist/Spinner/Spinner.js +12 -3
  355. package/dist/Stack/Stack.d.ts +1 -1
  356. package/dist/Stack/Stack.js +1 -1
  357. package/dist/Stack/StackItem.d.ts +1 -1
  358. package/dist/Stack/StackItem.js +1 -1
  359. package/dist/StatusDot/StatusDot.d.ts +1 -20
  360. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  361. package/dist/StatusDot/StatusDot.js +2 -17
  362. package/dist/StatusDot/index.d.ts +21 -1
  363. package/dist/StatusDot/index.d.ts.map +1 -1
  364. package/dist/StatusDot/index.js +14 -0
  365. package/dist/Switch/Switch.d.ts +9 -2
  366. package/dist/Switch/Switch.d.ts.map +1 -1
  367. package/dist/Switch/Switch.js +172 -92
  368. package/dist/TabList/Tab.d.ts +1 -1
  369. package/dist/TabList/Tab.js +3 -3
  370. package/dist/TabList/TabList.d.ts +3 -12
  371. package/dist/TabList/TabList.d.ts.map +1 -1
  372. package/dist/TabList/TabList.js +6 -10
  373. package/dist/TabList/TabListContext.d.ts +0 -5
  374. package/dist/TabList/TabListContext.d.ts.map +1 -1
  375. package/dist/TabList/TabListContext.js +0 -5
  376. package/dist/TabList/TabMenu.d.ts +1 -1
  377. package/dist/TabList/TabMenu.js +2 -2
  378. package/dist/Table/BaseTable.d.ts +1 -1
  379. package/dist/Table/BaseTable.d.ts.map +1 -1
  380. package/dist/Table/BaseTable.js +31 -5
  381. package/dist/Table/Table.d.ts +1 -1
  382. package/dist/Table/Table.js +1 -1
  383. package/dist/Table/TableCell.d.ts +1 -1
  384. package/dist/Table/TableCell.js +4 -4
  385. package/dist/Table/TableHeaderCell.d.ts +1 -1
  386. package/dist/Table/TableHeaderCell.js +4 -4
  387. package/dist/Table/TableRow.d.ts +1 -1
  388. package/dist/Table/TableRow.js +1 -1
  389. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
  390. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +15 -11
  391. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  392. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  393. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +58 -30
  394. package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
  395. package/dist/Table/plugins/selection/useTableSelection.js +3 -0
  396. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
  397. package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +15 -7
  398. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  399. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  400. package/dist/Table/plugins/tree/useTableTreeData.js +65 -25
  401. package/dist/Table/types.d.ts +32 -0
  402. package/dist/Table/types.d.ts.map +1 -1
  403. package/dist/Text/Text.d.ts +11 -2
  404. package/dist/Text/Text.d.ts.map +1 -1
  405. package/dist/Text/Text.js +26 -3
  406. package/dist/Text/index.d.ts +31 -1
  407. package/dist/Text/index.d.ts.map +1 -1
  408. package/dist/Text/index.js +23 -0
  409. package/dist/TextArea/TextArea.d.ts +11 -2
  410. package/dist/TextArea/TextArea.d.ts.map +1 -1
  411. package/dist/TextArea/TextArea.js +120 -53
  412. package/dist/TextInput/TextInput.d.ts +11 -3
  413. package/dist/TextInput/TextInput.d.ts.map +1 -1
  414. package/dist/TextInput/TextInput.js +21 -18
  415. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  416. package/dist/Thumbnail/Thumbnail.js +52 -46
  417. package/dist/TimeInput/TimeInput.d.ts +10 -2
  418. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  419. package/dist/TimeInput/TimeInput.js +18 -18
  420. package/dist/Timestamp/Timestamp.d.ts +31 -3
  421. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  422. package/dist/Timestamp/Timestamp.js +49 -78
  423. package/dist/Timestamp/formatInstant.d.ts +41 -0
  424. package/dist/Timestamp/formatInstant.d.ts.map +1 -0
  425. package/dist/Timestamp/formatInstant.js +177 -0
  426. package/dist/Timestamp/index.d.ts +1 -0
  427. package/dist/Timestamp/index.d.ts.map +1 -1
  428. package/dist/Timestamp/tooltipEntries.d.ts +56 -0
  429. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -0
  430. package/dist/Timestamp/tooltipEntries.js +163 -0
  431. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  432. package/dist/Toast/ToastViewport.js +61 -9
  433. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  434. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  435. package/dist/ToggleButton/ToggleButton.js +4 -2
  436. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  437. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  438. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  439. package/dist/Token/Token.d.ts +10 -5
  440. package/dist/Token/Token.d.ts.map +1 -1
  441. package/dist/Token/Token.js +72 -46
  442. package/dist/Token/TokenLink.d.ts +62 -0
  443. package/dist/Token/TokenLink.d.ts.map +1 -0
  444. package/dist/Token/TokenLink.js +76 -0
  445. package/dist/Token/index.d.ts +26 -0
  446. package/dist/Token/index.d.ts.map +1 -1
  447. package/dist/Token/index.js +14 -0
  448. package/dist/Tokenizer/Tokenizer.d.ts +10 -3
  449. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  450. package/dist/Tokenizer/Tokenizer.js +5 -3
  451. package/dist/Toolbar/Toolbar.d.ts +1 -1
  452. package/dist/Toolbar/Toolbar.js +1 -1
  453. package/dist/Tooltip/Tooltip.d.ts +1 -1
  454. package/dist/Tooltip/Tooltip.js +1 -1
  455. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  456. package/dist/Tooltip/useTooltip.js +17 -1
  457. package/dist/TopNav/TopNav.d.ts +1 -1
  458. package/dist/TopNav/TopNav.js +1 -1
  459. package/dist/TopNav/TopNavHeading.d.ts +1 -1
  460. package/dist/TopNav/TopNavHeading.js +1 -1
  461. package/dist/TopNav/TopNavItem.d.ts +4 -2
  462. package/dist/TopNav/TopNavItem.d.ts.map +1 -1
  463. package/dist/TopNav/TopNavItem.js +31 -4
  464. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  465. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  466. package/dist/TopNav/TopNavMegaMenu.js +10 -4
  467. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  468. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  469. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  470. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  471. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  472. package/dist/TopNav/TopNavMenu.js +1 -1
  473. package/dist/TreeList/TreeList.d.ts +1 -1
  474. package/dist/TreeList/TreeList.d.ts.map +1 -1
  475. package/dist/TreeList/TreeList.js +2 -1
  476. package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
  477. package/dist/TreeList/TreeListBranches.js +9 -7
  478. package/dist/TreeList/TreeListItem.d.ts +1 -1
  479. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  480. package/dist/TreeList/TreeListItem.js +33 -15
  481. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  482. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  483. package/dist/TreeList/index.d.ts +18 -1
  484. package/dist/TreeList/index.d.ts.map +1 -1
  485. package/dist/TreeList/index.js +14 -0
  486. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  487. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  488. package/dist/Typeahead/BaseTypeahead.js +23 -12
  489. package/dist/Typeahead/Typeahead.d.ts +10 -3
  490. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  491. package/dist/Typeahead/Typeahead.js +12 -3
  492. package/dist/Typeahead/TypeaheadItem.d.ts +2 -2
  493. package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
  494. package/dist/Typeahead/TypeaheadItem.js +21 -11
  495. package/dist/VStack/VStack.d.ts +1 -1
  496. package/dist/VStack/VStack.js +1 -1
  497. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  498. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  499. package/dist/astryx.css +150 -51
  500. package/dist/astryx.umd.js +51 -51
  501. package/dist/astryx.umd.js.map +4 -4
  502. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  503. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  504. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  505. package/dist/hooks/index.d.ts +4 -0
  506. package/dist/hooks/index.d.ts.map +1 -1
  507. package/dist/hooks/index.js +3 -1
  508. package/dist/hooks/isRtlElement.d.ts +18 -0
  509. package/dist/hooks/isRtlElement.d.ts.map +1 -0
  510. package/dist/hooks/isRtlElement.js +27 -0
  511. package/dist/hooks/useAnnounce.d.ts +3 -0
  512. package/dist/hooks/useAnnounce.d.ts.map +1 -1
  513. package/dist/hooks/useAnnounce.js +39 -1
  514. package/dist/hooks/useContainerReveal.d.ts +83 -0
  515. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  516. package/dist/hooks/useContainerReveal.js +123 -0
  517. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  518. package/dist/hooks/useFocusTrap.js +52 -11
  519. package/dist/hooks/useGridFocus.d.ts +6 -1
  520. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  521. package/dist/hooks/useGridFocus.js +12 -9
  522. package/dist/hooks/useHotkeys.d.ts +9 -0
  523. package/dist/hooks/useHotkeys.d.ts.map +1 -1
  524. package/dist/hooks/useHotkeys.js +9 -0
  525. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  526. package/dist/hooks/useInputContainer.js +29 -1
  527. package/dist/hooks/useInputStatusIcon.d.ts +38 -0
  528. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -0
  529. package/dist/hooks/useInputStatusIcon.js +169 -0
  530. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  531. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  532. package/dist/hooks/useKeyboardHint.js +5 -3
  533. package/dist/hooks/useListFocus.d.ts +39 -1
  534. package/dist/hooks/useListFocus.d.ts.map +1 -1
  535. package/dist/hooks/useListFocus.js +54 -9
  536. package/dist/i18n/InternationalizationContext.d.ts +1 -0
  537. package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
  538. package/dist/i18n/InternationalizationContext.js +3 -0
  539. package/dist/i18n/InternationalizationProvider.d.ts +8 -1
  540. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  541. package/dist/i18n/InternationalizationProvider.js +5 -1
  542. package/dist/i18n/getLocaleDirection.d.ts +18 -0
  543. package/dist/i18n/getLocaleDirection.d.ts.map +1 -0
  544. package/dist/i18n/getLocaleDirection.js +29 -0
  545. package/dist/i18n/index.d.ts +6 -0
  546. package/dist/i18n/index.d.ts.map +1 -1
  547. package/dist/i18n/index.js +7 -1
  548. package/dist/i18n/useDirection.d.ts +2 -0
  549. package/dist/i18n/useDirection.d.ts.map +1 -0
  550. package/dist/i18n/useDirection.js +27 -0
  551. package/dist/index.d.ts +2 -1
  552. package/dist/index.d.ts.map +1 -1
  553. package/dist/index.js +5 -1
  554. package/dist/theme/defineTheme.d.ts +6 -0
  555. package/dist/theme/defineTheme.d.ts.map +1 -1
  556. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  557. package/dist/theme/derivedVarRegistry.js +13 -0
  558. package/dist/theme/expandColorScale.d.ts +19 -2
  559. package/dist/theme/expandColorScale.d.ts.map +1 -1
  560. package/dist/theme/expandColorScale.js +38 -10
  561. package/dist/theme/index.d.ts +4 -3
  562. package/dist/theme/index.d.ts.map +1 -1
  563. package/dist/theme/types.d.ts +10 -2
  564. package/dist/theme/types.d.ts.map +1 -1
  565. package/dist/utils/index.d.ts +1 -0
  566. package/dist/utils/index.d.ts.map +1 -1
  567. package/dist/utils/index.js +2 -1
  568. package/dist/utils/plainDate.d.ts +17 -0
  569. package/dist/utils/plainDate.d.ts.map +1 -1
  570. package/dist/utils/plainDate.js +23 -4
  571. package/dist/utils/rtlStyles.d.ts +45 -0
  572. package/dist/utils/rtlStyles.d.ts.map +1 -0
  573. package/dist/utils/rtlStyles.js +52 -0
  574. package/groups.doc.mjs +2 -2
  575. package/locales/en.json +120 -0
  576. package/locales/pseudo.json +90 -0
  577. package/package.json +9 -13
  578. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  579. package/src/AlertDialog/AlertDialog.tsx +1 -1
  580. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  581. package/src/AppShell/AppShell.doc.mjs +3 -3
  582. package/src/AppShell/AppShell.tsx +2 -20
  583. package/src/AppShell/index.ts +20 -1
  584. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  585. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  586. package/src/AspectRatio/AspectRatio.tsx +1 -1
  587. package/src/Avatar/Avatar.doc.mjs +53 -6
  588. package/src/Avatar/Avatar.test.tsx +218 -0
  589. package/src/Avatar/Avatar.tsx +293 -82
  590. package/src/Avatar/AvatarStatusDot.doc.mjs +5 -5
  591. package/src/Avatar/AvatarStatusDot.tsx +8 -31
  592. package/src/Avatar/index.ts +26 -1
  593. package/src/AvatarGroup/AvatarGroup.doc.mjs +5 -3
  594. package/src/AvatarGroup/AvatarGroup.test.tsx +162 -2
  595. package/src/AvatarGroup/AvatarGroup.tsx +59 -4
  596. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  597. package/src/AvatarGroup/AvatarGroupOverflow.tsx +6 -3
  598. package/src/Badge/Badge.doc.mjs +3 -3
  599. package/src/Badge/Badge.tsx +2 -31
  600. package/src/Badge/index.ts +32 -6
  601. package/src/Banner/Banner.doc.mjs +3 -3
  602. package/src/Banner/Banner.tsx +14 -51
  603. package/src/Banner/index.ts +39 -7
  604. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  605. package/src/Blockquote/Blockquote.tsx +1 -1
  606. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  607. package/src/Breadcrumbs/BreadcrumbItem.tsx +11 -11
  608. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  609. package/src/Breadcrumbs/Breadcrumbs.test.tsx +52 -1
  610. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  611. package/src/Breadcrumbs/index.ts +23 -5
  612. package/src/Button/Button.doc.mjs +3 -7
  613. package/src/Button/Button.test.tsx +16 -0
  614. package/src/Button/Button.tsx +8 -25
  615. package/src/Button/index.ts +22 -7
  616. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  617. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  618. package/src/Calendar/Calendar.doc.mjs +3 -3
  619. package/src/Calendar/Calendar.test.tsx +185 -23
  620. package/src/Calendar/Calendar.tsx +74 -17
  621. package/src/Calendar/dayCellUtils.test.ts +18 -18
  622. package/src/Calendar/dayCellUtils.ts +2 -2
  623. package/src/Calendar/styles.ts +35 -41
  624. package/src/Card/Card.doc.mjs +3 -3
  625. package/src/Card/Card.tsx +2 -2
  626. package/src/Carousel/Carousel.doc.mjs +3 -3
  627. package/src/Carousel/Carousel.tsx +26 -7
  628. package/src/Center/Center.doc.mjs +41 -3
  629. package/src/Center/Center.test.tsx +75 -0
  630. package/src/Center/Center.tsx +38 -3
  631. package/src/Chat/Chat.doc.mjs +3 -3
  632. package/src/Chat/ChatComposer.doc.mjs +3 -3
  633. package/src/Chat/ChatComposer.tsx +5 -5
  634. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  635. package/src/Chat/ChatComposerDrawer.tsx +3 -3
  636. package/src/Chat/ChatComposerInput.doc.mjs +2 -2
  637. package/src/Chat/ChatComposerInput.tsx +3 -3
  638. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  639. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  640. package/src/Chat/ChatDictationButton.tsx +8 -2
  641. package/src/Chat/ChatLayout.doc.mjs +1 -1
  642. package/src/Chat/ChatLayout.test.tsx +57 -0
  643. package/src/Chat/ChatLayout.tsx +27 -6
  644. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  645. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  646. package/src/Chat/ChatMessage.doc.mjs +1 -1
  647. package/src/Chat/ChatMessage.tsx +1 -1
  648. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  649. package/src/Chat/ChatMessageBubble.tsx +16 -11
  650. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  651. package/src/Chat/ChatMessageList.tsx +1 -1
  652. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  653. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  654. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  655. package/src/Chat/ChatSystemMessage.test.tsx +5 -0
  656. package/src/Chat/ChatSystemMessage.tsx +1 -1
  657. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  658. package/src/Chat/ChatTokenizedText.tsx +1 -1
  659. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  660. package/src/Chat/ChatToolCalls.tsx +9 -2
  661. package/src/Chat/useTriggerMenu.tsx +1 -1
  662. package/src/CheckboxInput/CheckboxInput.doc.mjs +9 -3
  663. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  664. package/src/CheckboxInput/CheckboxInput.tsx +22 -7
  665. package/src/CheckboxList/CheckboxList.doc.mjs +9 -3
  666. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  667. package/src/CheckboxList/CheckboxList.tsx +1 -1
  668. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  669. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  670. package/src/Citation/Citation.doc.mjs +6 -5
  671. package/src/Citation/Citation.test.tsx +97 -0
  672. package/src/Citation/Citation.tsx +44 -12
  673. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  674. package/src/ClickableCard/ClickableCard.tsx +3 -3
  675. package/src/Code/Code.tsx +2 -2
  676. package/src/CodeBlock/Code.doc.mjs +1 -1
  677. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  678. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  679. package/src/CodeBlock/CodeBlock.tsx +38 -11
  680. package/src/Collapsible/Collapsible.doc.mjs +4 -3
  681. package/src/Collapsible/Collapsible.test.tsx +7 -0
  682. package/src/Collapsible/Collapsible.tsx +17 -7
  683. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  684. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  685. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  686. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  687. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  688. package/src/CommandPalette/CommandPalette.test.tsx +95 -1
  689. package/src/CommandPalette/CommandPalette.tsx +42 -3
  690. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  691. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  692. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  693. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  694. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  695. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  696. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  697. package/src/CommandPalette/CommandPaletteInput.tsx +1 -1
  698. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  699. package/src/CommandPalette/CommandPaletteItem.tsx +2 -2
  700. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  701. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  702. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  703. package/src/ContextMenu/ContextMenu.test.tsx +59 -2
  704. package/src/ContextMenu/ContextMenu.tsx +23 -12
  705. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  706. package/src/ContextMenu/index.ts +5 -0
  707. package/src/DateInput/DateInput.doc.mjs +28 -3
  708. package/src/DateInput/DateInput.test.tsx +230 -0
  709. package/src/DateInput/DateInput.tsx +52 -30
  710. package/src/DateRangeInput/DateRangeInput.doc.mjs +18 -2
  711. package/src/DateRangeInput/DateRangeInput.test.tsx +140 -0
  712. package/src/DateRangeInput/DateRangeInput.tsx +43 -31
  713. package/src/DateTimeInput/DateTimeInput.doc.mjs +25 -4
  714. package/src/DateTimeInput/DateTimeInput.test.tsx +112 -0
  715. package/src/DateTimeInput/DateTimeInput.tsx +45 -40
  716. package/src/Dialog/Dialog.doc.mjs +9 -5
  717. package/src/Dialog/Dialog.test.tsx +84 -1
  718. package/src/Dialog/Dialog.tsx +87 -45
  719. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  720. package/src/Dialog/DialogHeader.tsx +1 -1
  721. package/src/Dialog/index.ts +18 -1
  722. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  723. package/src/Divider/Divider.doc.mjs +3 -3
  724. package/src/Divider/Divider.test.tsx +32 -8
  725. package/src/Divider/Divider.tsx +16 -20
  726. package/src/Divider/index.ts +19 -5
  727. package/src/DropdownMenu/DropdownMenu.doc.mjs +8 -5
  728. package/src/DropdownMenu/DropdownMenu.test.tsx +95 -0
  729. package/src/DropdownMenu/DropdownMenu.tsx +32 -13
  730. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  731. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +49 -66
  732. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  733. package/src/DropdownMenu/DropdownMenuItem.tsx +10 -4
  734. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  735. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  736. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  737. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +19 -4
  738. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  739. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +88 -0
  740. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +680 -0
  741. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +569 -0
  742. package/src/DropdownMenu/index.ts +16 -0
  743. package/src/DropdownMenu/menuItemHover.ts +40 -0
  744. package/src/DropdownMenu/menuItemRoles.ts +9 -0
  745. package/src/DropdownMenu/renderDropdownItems.tsx +40 -14
  746. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  747. package/src/EmptyState/EmptyState.tsx +1 -1
  748. package/src/Field/Field.doc.mjs +7 -3
  749. package/src/Field/Field.tsx +15 -10
  750. package/src/Field/FieldLabel.doc.mjs +1 -1
  751. package/src/Field/FieldLabel.test.tsx +103 -0
  752. package/src/Field/FieldLabel.tsx +62 -6
  753. package/src/Field/inputStyles.stylex.ts +2 -0
  754. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  755. package/src/FieldStatus/FieldStatus.test.tsx +133 -0
  756. package/src/FieldStatus/FieldStatus.tsx +62 -23
  757. package/src/FieldStatus/index.ts +20 -5
  758. package/src/FileInput/FileInput.doc.mjs +26 -5
  759. package/src/FileInput/FileInput.test.tsx +104 -13
  760. package/src/FileInput/FileInput.tsx +107 -80
  761. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  762. package/src/FormLayout/FormLayout.tsx +2 -5
  763. package/src/Grid/Grid.doc.mjs +3 -3
  764. package/src/Grid/Grid.tsx +1 -1
  765. package/src/Grid/GridSpan.doc.mjs +1 -1
  766. package/src/Grid/GridSpan.tsx +1 -1
  767. package/src/HStack/HStack.tsx +1 -1
  768. package/src/Heading/Heading.tsx +4 -3
  769. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  770. package/src/HoverCard/HoverCard.tsx +1 -1
  771. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  772. package/src/HoverCard/useHoverCard.tsx +15 -3
  773. package/src/Icon/Icon.doc.mjs +16 -3
  774. package/src/Icon/Icon.test.tsx +89 -0
  775. package/src/Icon/Icon.tsx +52 -4
  776. package/src/Icon/globalIconRegistry.tsx +1 -1
  777. package/src/IconButton/IconButton.doc.mjs +2 -2
  778. package/src/IconButton/IconButton.tsx +1 -1
  779. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  780. package/src/InputGroup/InputGroup.tsx +1 -1
  781. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  782. package/src/InputGroup/InputGroupText.tsx +1 -1
  783. package/src/Item/Item.doc.mjs +8 -3
  784. package/src/Item/Item.test.tsx +88 -0
  785. package/src/Item/Item.tsx +58 -12
  786. package/src/Kbd/Kbd.doc.mjs +3 -3
  787. package/src/Kbd/Kbd.tsx +1 -1
  788. package/src/Layer/Layer.doc.mjs +2 -2
  789. package/src/Layer/layerAnimations.stylex.ts +23 -0
  790. package/src/Layer/useLayer.doc.mjs +2 -2
  791. package/src/Layout/Layout.doc.mjs +3 -3
  792. package/src/Layout/Layout.tsx +1 -1
  793. package/src/Layout/LayoutContent.doc.mjs +1 -1
  794. package/src/Layout/LayoutContent.tsx +1 -1
  795. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  796. package/src/Layout/LayoutFooter.tsx +1 -1
  797. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  798. package/src/Layout/LayoutHeader.tsx +1 -1
  799. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  800. package/src/Layout/LayoutPanel.tsx +1 -1
  801. package/src/Lightbox/Lightbox.doc.mjs +3 -3
  802. package/src/Lightbox/Lightbox.test.tsx +33 -0
  803. package/src/Lightbox/Lightbox.tsx +31 -11
  804. package/src/Link/Link.doc.mjs +3 -3
  805. package/src/Link/Link.tsx +1 -1
  806. package/src/Link/LinkProvider.doc.mjs +2 -2
  807. package/src/Link/LinkProvider.tsx +2 -2
  808. package/src/List/List.doc.mjs +3 -3
  809. package/src/List/List.test.tsx +17 -29
  810. package/src/List/List.tsx +7 -2
  811. package/src/List/ListItem.doc.mjs +13 -1
  812. package/src/List/ListItem.tsx +14 -1
  813. package/src/Markdown/Markdown.doc.mjs +1 -1
  814. package/src/Markdown/Markdown.test.tsx +21 -0
  815. package/src/Markdown/Markdown.tsx +7 -3
  816. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  817. package/src/MetadataList/MetadataList.test.tsx +24 -0
  818. package/src/MetadataList/MetadataList.tsx +7 -3
  819. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  820. package/src/MetadataList/MetadataListItem.tsx +1 -1
  821. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  822. package/src/MobileNav/MobileNav.tsx +1 -1
  823. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  824. package/src/MoreMenu/MoreMenu.tsx +1 -1
  825. package/src/MultiSelector/MultiSelector.doc.mjs +23 -3
  826. package/src/MultiSelector/MultiSelector.test.tsx +436 -0
  827. package/src/MultiSelector/MultiSelector.tsx +134 -68
  828. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  829. package/src/NavIcon/NavIcon.tsx +1 -1
  830. package/src/NavMenu/NavHeadingMenuItem.tsx +1 -1
  831. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  832. package/src/NumberInput/NumberInput.doc.mjs +24 -3
  833. package/src/NumberInput/NumberInput.test.tsx +71 -0
  834. package/src/NumberInput/NumberInput.tsx +36 -27
  835. package/src/Outline/Outline.doc.mjs +3 -3
  836. package/src/Outline/Outline.test.tsx +12 -12
  837. package/src/Outline/Outline.tsx +3 -3
  838. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  839. package/src/OverflowList/OverflowList.tsx +1 -1
  840. package/src/Overlay/Overlay.doc.mjs +2 -2
  841. package/src/Pagination/Pagination.doc.mjs +3 -3
  842. package/src/Pagination/Pagination.tsx +13 -25
  843. package/src/Pagination/index.ts +21 -1
  844. package/src/Popover/Popover.doc.mjs +3 -3
  845. package/src/Popover/Popover.tsx +1 -1
  846. package/src/Popover/usePopover.doc.mjs +2 -2
  847. package/src/Popover/usePopover.tsx +10 -4
  848. package/src/PowerSearch/PowerSearch.doc.mjs +18 -3
  849. package/src/PowerSearch/PowerSearch.test.tsx +23 -0
  850. package/src/PowerSearch/PowerSearch.tsx +11 -2
  851. package/src/ProgressBar/ProgressBar.doc.mjs +3 -3
  852. package/src/ProgressBar/ProgressBar.test.tsx +34 -0
  853. package/src/ProgressBar/ProgressBar.tsx +18 -23
  854. package/src/ProgressBar/index.ts +22 -5
  855. package/src/RadioList/RadioList.doc.mjs +9 -3
  856. package/src/RadioList/RadioList.test.tsx +26 -4
  857. package/src/RadioList/RadioList.tsx +3 -3
  858. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  859. package/src/RadioList/RadioListItem.tsx +13 -6
  860. package/src/Resizable/Resizable.doc.mjs +2 -2
  861. package/src/Resizable/ResizeHandle.test.tsx +95 -0
  862. package/src/Resizable/ResizeHandle.tsx +71 -25
  863. package/src/Resizable/useResizable.doc.mjs +2 -2
  864. package/src/Section/Section.doc.mjs +3 -3
  865. package/src/Section/Section.tsx +2 -20
  866. package/src/Section/index.ts +20 -5
  867. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  868. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  869. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  870. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  871. package/src/SegmentedControl/SegmentedControlItem.tsx +23 -3
  872. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  873. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  874. package/src/SelectableCard/SelectableCard.tsx +19 -3
  875. package/src/Selector/Selector.doc.mjs +18 -3
  876. package/src/Selector/Selector.test.tsx +400 -0
  877. package/src/Selector/Selector.tsx +96 -24
  878. package/src/Selector/SelectorOption.doc.mjs +1 -1
  879. package/src/SideNav/SideNav.doc.mjs +3 -3
  880. package/src/SideNav/SideNav.tsx +2 -9
  881. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  882. package/src/SideNav/SideNavCollapseButton.tsx +10 -8
  883. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  884. package/src/SideNav/SideNavHeading.tsx +1 -1
  885. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  886. package/src/SideNav/SideNavItem.tsx +6 -4
  887. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  888. package/src/SideNav/SideNavSection.tsx +1 -1
  889. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  890. package/src/Skeleton/Skeleton.test.tsx +16 -0
  891. package/src/Skeleton/Skeleton.tsx +14 -2
  892. package/src/Slider/Slider.doc.mjs +9 -3
  893. package/src/Slider/Slider.test.tsx +240 -12
  894. package/src/Slider/Slider.tsx +102 -33
  895. package/src/Spinner/Spinner.doc.mjs +3 -3
  896. package/src/Spinner/Spinner.test.tsx +10 -8
  897. package/src/Spinner/Spinner.tsx +16 -6
  898. package/src/Stack/Stack.doc.mjs +3 -3
  899. package/src/Stack/Stack.tsx +1 -1
  900. package/src/Stack/StackItem.tsx +1 -1
  901. package/src/StatusDot/StatusDot.doc.mjs +3 -3
  902. package/src/StatusDot/StatusDot.tsx +2 -22
  903. package/src/StatusDot/index.ts +22 -5
  904. package/src/Switch/Switch.doc.mjs +145 -45
  905. package/src/Switch/Switch.test.tsx +145 -0
  906. package/src/Switch/Switch.tsx +150 -33
  907. package/src/TabList/Tab.doc.mjs +1 -1
  908. package/src/TabList/Tab.tsx +3 -3
  909. package/src/TabList/TabList.doc.mjs +3 -9
  910. package/src/TabList/TabList.test.tsx +3 -15
  911. package/src/TabList/TabList.tsx +7 -18
  912. package/src/TabList/TabListContext.ts +0 -6
  913. package/src/TabList/TabMenu.doc.mjs +1 -1
  914. package/src/TabList/TabMenu.tsx +3 -3
  915. package/src/Table/BaseTable.tsx +35 -3
  916. package/src/Table/Table.doc.mjs +14 -3
  917. package/src/Table/Table.test.tsx +85 -0
  918. package/src/Table/Table.tsx +1 -1
  919. package/src/Table/TableCell.doc.mjs +1 -1
  920. package/src/Table/TableCell.tsx +4 -4
  921. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  922. package/src/Table/TableHeaderCell.tsx +4 -4
  923. package/src/Table/TableRow.doc.mjs +1 -1
  924. package/src/Table/TableRow.tsx +1 -1
  925. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +9 -6
  926. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  927. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +48 -21
  928. package/src/Table/plugins/selection/useTableSelection.test.tsx +61 -3
  929. package/src/Table/plugins/selection/useTableSelection.tsx +3 -0
  930. package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +38 -9
  931. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  932. package/src/Table/plugins/tree/useTableTreeData.tsx +71 -14
  933. package/src/Table/types.ts +33 -0
  934. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  935. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  936. package/src/Table/useTableFilterState.doc.mjs +1 -1
  937. package/src/Table/useTableFiltering.doc.mjs +1 -1
  938. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  939. package/src/Table/useTablePagination.doc.mjs +1 -1
  940. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  941. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  942. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  943. package/src/Table/useTableSelection.doc.mjs +1 -1
  944. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  945. package/src/Table/useTableSortable.doc.mjs +1 -1
  946. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  947. package/src/Table/useTableTreeData.doc.mjs +10 -1
  948. package/src/Table/useTableTreeState.doc.mjs +1 -1
  949. package/src/Text/Heading.doc.mjs +4 -4
  950. package/src/Text/Text.doc.mjs +4 -4
  951. package/src/Text/Text.test.tsx +42 -0
  952. package/src/Text/Text.tsx +26 -2
  953. package/src/Text/index.ts +32 -6
  954. package/src/TextArea/TextArea.doc.mjs +26 -5
  955. package/src/TextArea/TextArea.test.tsx +132 -4
  956. package/src/TextArea/TextArea.tsx +162 -68
  957. package/src/TextInput/TextInput.doc.mjs +24 -3
  958. package/src/TextInput/TextInput.test.tsx +150 -0
  959. package/src/TextInput/TextInput.tsx +29 -26
  960. package/src/Thumbnail/Thumbnail.doc.mjs +3 -3
  961. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  962. package/src/Thumbnail/Thumbnail.tsx +29 -36
  963. package/src/TimeInput/TimeInput.doc.mjs +24 -3
  964. package/src/TimeInput/TimeInput.test.tsx +23 -0
  965. package/src/TimeInput/TimeInput.tsx +25 -26
  966. package/src/Timestamp/Timestamp.doc.mjs +35 -9
  967. package/src/Timestamp/Timestamp.test.tsx +371 -0
  968. package/src/Timestamp/Timestamp.tsx +97 -94
  969. package/src/Timestamp/formatInstant.ts +218 -0
  970. package/src/Timestamp/index.ts +4 -0
  971. package/src/Timestamp/tooltipEntries.test.ts +552 -0
  972. package/src/Timestamp/tooltipEntries.ts +210 -0
  973. package/src/Toast/Toast.doc.mjs +3 -3
  974. package/src/Toast/ToastViewport.test.tsx +218 -8
  975. package/src/Toast/ToastViewport.tsx +71 -12
  976. package/src/Toast/useToast.doc.mjs +2 -2
  977. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  978. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  979. package/src/ToggleButton/ToggleButton.tsx +20 -2
  980. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  981. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  982. package/src/Token/Token.doc.mjs +3 -3
  983. package/src/Token/Token.test.tsx +166 -15
  984. package/src/Token/Token.tsx +79 -48
  985. package/src/Token/TokenLink.tsx +107 -0
  986. package/src/Token/index.ts +27 -0
  987. package/src/Tokenizer/Tokenizer.doc.mjs +26 -4
  988. package/src/Tokenizer/Tokenizer.test.tsx +23 -0
  989. package/src/Tokenizer/Tokenizer.tsx +15 -3
  990. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  991. package/src/Toolbar/Toolbar.tsx +1 -1
  992. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  993. package/src/Tooltip/Tooltip.test.tsx +46 -0
  994. package/src/Tooltip/Tooltip.tsx +1 -1
  995. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  996. package/src/Tooltip/useTooltip.tsx +20 -0
  997. package/src/TopNav/TopNav.doc.mjs +3 -3
  998. package/src/TopNav/TopNav.test.tsx +93 -2
  999. package/src/TopNav/TopNav.tsx +1 -1
  1000. package/src/TopNav/TopNavHeading.doc.mjs +1 -1
  1001. package/src/TopNav/TopNavHeading.tsx +1 -1
  1002. package/src/TopNav/TopNavItem.doc.mjs +4 -4
  1003. package/src/TopNav/TopNavItem.tsx +36 -7
  1004. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  1005. package/src/TopNav/TopNavMegaMenu.tsx +27 -3
  1006. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +2 -2
  1007. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  1008. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  1009. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  1010. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  1011. package/src/TopNav/TopNavMenu.tsx +1 -1
  1012. package/src/TreeList/TreeList.doc.mjs +9 -3
  1013. package/src/TreeList/TreeList.test.tsx +50 -10
  1014. package/src/TreeList/TreeList.tsx +6 -1
  1015. package/src/TreeList/TreeListBranches.tsx +9 -7
  1016. package/src/TreeList/TreeListItem.tsx +34 -12
  1017. package/src/TreeList/TreeListTypes.ts +1 -18
  1018. package/src/TreeList/index.ts +19 -1
  1019. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  1020. package/src/Typeahead/BaseTypeahead.tsx +43 -16
  1021. package/src/Typeahead/Typeahead.doc.mjs +16 -3
  1022. package/src/Typeahead/Typeahead.test.tsx +112 -0
  1023. package/src/Typeahead/Typeahead.tsx +18 -2
  1024. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  1025. package/src/Typeahead/TypeaheadItem.tsx +3 -2
  1026. package/src/VStack/VStack.tsx +1 -1
  1027. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  1028. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  1029. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  1030. package/src/__tests__/forcedColors.ts +60 -0
  1031. package/src/__tests__/inputWidthContract.test.tsx +69 -0
  1032. package/src/doc-mjs.d.ts +22 -0
  1033. package/src/docPropLiterals.test.ts +1 -1
  1034. package/src/docPropReferences.test.ts +1 -1
  1035. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  1036. package/src/hooks/index.ts +13 -0
  1037. package/src/hooks/isRtlElement.ts +27 -0
  1038. package/src/hooks/useAnnounce.test.tsx +75 -2
  1039. package/src/hooks/useAnnounce.ts +47 -1
  1040. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  1041. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  1042. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1043. package/src/hooks/useContainerReveal.ts +181 -0
  1044. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1045. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1046. package/src/hooks/useFocusTrap.test.tsx +104 -0
  1047. package/src/hooks/useFocusTrap.ts +61 -12
  1048. package/src/hooks/useGridFocus.doc.mjs +5 -5
  1049. package/src/hooks/useGridFocus.test.tsx +41 -0
  1050. package/src/hooks/useGridFocus.ts +21 -10
  1051. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1052. package/src/hooks/useHotkeys.ts +9 -0
  1053. package/src/hooks/useImageMode.doc.mjs +2 -2
  1054. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1055. package/src/hooks/useInputContainer.test.tsx +180 -0
  1056. package/src/hooks/useInputContainer.ts +36 -1
  1057. package/src/hooks/useInputStatusIcon.test.tsx +221 -0
  1058. package/src/hooks/useInputStatusIcon.tsx +235 -0
  1059. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1060. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1061. package/src/hooks/useKeyboardHint.tsx +7 -3
  1062. package/src/hooks/useListFocus.doc.mjs +27 -5
  1063. package/src/hooks/useListFocus.test.tsx +153 -1
  1064. package/src/hooks/useListFocus.ts +102 -9
  1065. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1066. package/src/hooks/useOverflow.doc.mjs +2 -2
  1067. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1068. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1069. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1070. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1071. package/src/i18n/InternationalizationContext.ts +4 -0
  1072. package/src/i18n/InternationalizationProvider.doc.mjs +2 -2
  1073. package/src/i18n/InternationalizationProvider.tsx +12 -2
  1074. package/src/i18n/__tests__/getLocaleDirection.test.ts +40 -0
  1075. package/src/i18n/__tests__/useDirection.test.tsx +66 -0
  1076. package/src/i18n/getLocaleDirection.ts +29 -0
  1077. package/src/i18n/index.ts +6 -0
  1078. package/src/i18n/useDirection.ts +29 -0
  1079. package/src/i18n/useTranslator.doc.mjs +2 -2
  1080. package/src/index.ts +14 -10
  1081. package/src/reset.css +0 -26
  1082. package/src/reset.test.ts +60 -0
  1083. package/src/theme/MediaTheme.doc.mjs +2 -2
  1084. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1085. package/src/theme/Theme.doc.mjs +2 -2
  1086. package/src/theme/defineTheme.ts +6 -0
  1087. package/src/theme/derivedVarRegistry.test.ts +1 -0
  1088. package/src/theme/derivedVarRegistry.ts +6 -0
  1089. package/src/theme/expandColorScale.test.ts +144 -0
  1090. package/src/theme/expandColorScale.ts +53 -15
  1091. package/src/theme/generateThemeRules.test.ts +42 -0
  1092. package/src/theme/index.ts +4 -8
  1093. package/src/theme/types.ts +14 -13
  1094. package/src/theme/useTheme.doc.mjs +2 -2
  1095. package/src/utils/index.ts +2 -0
  1096. package/src/utils/plainDate.test.ts +24 -6
  1097. package/src/utils/plainDate.ts +18 -4
  1098. package/src/utils/rtlStyles.ts +49 -0
  1099. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1100. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1101. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1102. package/dist/authoring/doc.d.ts +0 -145
  1103. package/dist/authoring/doc.d.ts.map +0 -1
  1104. package/dist/authoring/doc.js +0 -100
  1105. package/dist/authoring/index.d.ts +0 -29
  1106. package/dist/authoring/index.d.ts.map +0 -1
  1107. package/dist/authoring/index.js +0 -28
  1108. package/dist/authoring/integration.d.ts +0 -35
  1109. package/dist/authoring/integration.d.ts.map +0 -1
  1110. package/dist/authoring/integration.js +0 -30
  1111. package/dist/authoring/template.d.ts +0 -66
  1112. package/dist/authoring/template.d.ts.map +0 -1
  1113. package/dist/authoring/template.js +0 -55
  1114. package/dist/config.d.ts +0 -80
  1115. package/dist/config.d.ts.map +0 -1
  1116. package/dist/config.js +0 -40
  1117. package/dist/docs-types.d.ts +0 -969
  1118. package/dist/docs-types.d.ts.map +0 -1
  1119. package/dist/docs-types.js +0 -1
  1120. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1121. package/src/authoring/doc.ts +0 -164
  1122. package/src/authoring/index.test.ts +0 -52
  1123. package/src/authoring/index.ts +0 -50
  1124. package/src/authoring/integration.ts +0 -42
  1125. package/src/authoring/template.ts +0 -74
  1126. package/src/config.test.ts +0 -16
  1127. package/src/config.ts +0 -92
  1128. package/src/docs-types.ts +0 -1108
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/TopNav/TopNav.test.tsx
14
14
  * - /packages/core/src/TopNav/index.ts
15
15
  * - /apps/storybook/stories/TopNav.stories.tsx
16
- * - /packages/cli/templates/blocks/components/TopNav/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import type {ReactNode} from 'react';
@@ -131,6 +131,8 @@ export interface TopNavItemProps extends BaseProps<HTMLAnchorElement> {
131
131
  isSelected?: boolean;
132
132
  /**
133
133
  * Whether the nav item is disabled.
134
+ * A disabled item renders as a plain anchor without an href (and without
135
+ * target), so it cannot navigate and is removed from the tab order.
134
136
  * @default false
135
137
  */
136
138
  isDisabled?: boolean;
@@ -157,6 +159,15 @@ export interface TopNavItemProps extends BaseProps<HTMLAnchorElement> {
157
159
  size?: NavItemSize;
158
160
  }
159
161
 
162
+ /**
163
+ * Click handler for disabled items. The disabled anchor renders without an
164
+ * href, so there is no navigation to block in practice; preventDefault is a
165
+ * defensive guard against synthetic/programmatic clicks.
166
+ */
167
+ function preventDefaultClick(event: React.MouseEvent<HTMLAnchorElement>): void {
168
+ event.preventDefault();
169
+ }
170
+
160
171
  /**
161
172
  * A navigation item for use within TopNav startContent.
162
173
  *
@@ -178,6 +189,9 @@ export interface TopNavItemProps extends BaseProps<HTMLAnchorElement> {
178
189
  */
179
190
  export function TopNavItem({
180
191
  as,
192
+ href,
193
+ target,
194
+ onClick,
181
195
  label,
182
196
  isSelected = false,
183
197
  isDisabled = false,
@@ -195,22 +209,34 @@ export function TopNavItem({
195
209
  const renderMode = useTopNavRenderMode();
196
210
  const {closeMobileNav} = useAppShellMobile();
197
211
 
212
+ // A disabled item renders as a plain <a> with no href: an href-less anchor
213
+ // is not focusable and exposes no link affordance, so programmatic focus +
214
+ // Enter, AT activation commands, and middle-click cannot navigate or fire
215
+ // the consumer onClick. The router LinkComponent is deliberately skipped —
216
+ // a disabled item performs no navigation, and custom router links may
217
+ // require a live href. target is omitted with the href. (Mirrors the
218
+ // disabled paths of Link and SideNavItem.)
219
+ const Root = isDisabled ? 'a' : LinkComponent;
220
+
198
221
  // =========================================================================
199
222
  // Drawer mode — render as a SideNavItem-style vertical list element
200
223
  // =========================================================================
201
224
  if (renderMode === 'drawer') {
202
- const handleDrawerClick = (e: React.MouseEvent) => {
225
+ const handleDrawerClick = (e: React.MouseEvent<HTMLAnchorElement>) => {
203
226
  if (isDisabled) {
227
+ preventDefaultClick(e);
204
228
  return;
205
229
  }
206
230
  // Forward the original onClick if present
207
- (props as {onClick?: (e: React.MouseEvent) => void}).onClick?.(e);
231
+ onClick?.(e);
208
232
  closeMobileNav();
209
233
  };
210
234
 
211
235
  return (
212
- <LinkComponent
236
+ <Root
213
237
  ref={ref}
238
+ href={isDisabled ? undefined : href}
239
+ target={isDisabled ? undefined : target}
214
240
  aria-label={isIconOnly ? label : undefined}
215
241
  aria-current={isSelected ? 'page' : undefined}
216
242
  aria-disabled={isDisabled || undefined}
@@ -235,7 +261,7 @@ export function TopNavItem({
235
261
  onClick={handleDrawerClick}>
236
262
  {icon}
237
263
  {!isIconOnly && (children ?? label)}
238
- </LinkComponent>
264
+ </Root>
239
265
  );
240
266
  }
241
267
 
@@ -244,8 +270,11 @@ export function TopNavItem({
244
270
  // =========================================================================
245
271
 
246
272
  return (
247
- <LinkComponent
273
+ <Root
248
274
  ref={ref}
275
+ href={isDisabled ? undefined : href}
276
+ target={isDisabled ? undefined : target}
277
+ onClick={isDisabled ? preventDefaultClick : onClick}
249
278
  aria-label={isIconOnly ? label : undefined}
250
279
  aria-current={isSelected ? 'page' : undefined}
251
280
  aria-disabled={isDisabled || undefined}
@@ -267,7 +296,7 @@ export function TopNavItem({
267
296
  {...props}>
268
297
  {icon}
269
298
  {!isIconOnly && (children ?? label)}
270
- </LinkComponent>
299
+ </Root>
271
300
  );
272
301
  }
273
302
 
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'TopNavMegaMenu',
@@ -20,7 +20,7 @@
20
20
  * SYNC: When modified, update these files to stay in sync:
21
21
  * - /packages/core/src/TopNav/TopNav.doc.mjs
22
22
  * - /packages/core/src/TopNav/index.ts
23
- * - /packages/cli/templates/blocks/components/TopNav/ (showcase blocks)
23
+ * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
24
24
  */
25
25
 
26
26
  import React, {
@@ -123,6 +123,18 @@ const styles = stylex.create({
123
123
  transform: 'translateY(-4px)',
124
124
  },
125
125
  },
126
+ // Clamp the anchored layer to the space available below the nav so a tall
127
+ // menu never runs off the bottom of the viewport. The layer is positioned
128
+ // with position-area: self-block-end, so its containing block spans from
129
+ // the nav's block-end to the viewport edge — 100% is exactly that space.
130
+ // The layer is a flex column so panelContainer can shrink and scroll its
131
+ // own content, keeping the surface radius/shadow static at the edges.
132
+ // Internal scroll is a stopgap until the mobile bottom-sheet lands.
133
+ panelViewportFit: {
134
+ display: 'flex',
135
+ flexDirection: 'column',
136
+ maxHeight: `calc(100% - ${spacingVars['--spacing-3']})`,
137
+ },
126
138
  // Visual styles for the panel content container.
127
139
  panelContainer: {
128
140
  backgroundColor: colorVars['--color-background-popover'],
@@ -132,6 +144,11 @@ const styles = stylex.create({
132
144
  borderRadius: radiusVars['--radius-container'],
133
145
  boxShadow: shadowVars['--shadow-low'],
134
146
  overflow: 'hidden',
147
+ // Allow the container to shrink inside the height-clamped layer so its
148
+ // content (panelContent) can scroll rather than overflow the viewport.
149
+ display: 'flex',
150
+ flexDirection: 'column',
151
+ minHeight: 0,
135
152
  },
136
153
  panelContent: {
137
154
  display: 'flex',
@@ -139,7 +156,14 @@ const styles = stylex.create({
139
156
  gap: spacingVars['--spacing-6'],
140
157
  paddingBlock: spacingVars['--spacing-3'],
141
158
  paddingInline: spacingVars['--spacing-3'],
142
- maxWidth: 960,
159
+ // Clamp to the viewport (minus a gutter) so the anchored panel never
160
+ // overflows the screen edge on narrow viewports; caps at 960px otherwise.
161
+ maxWidth: `min(960px, calc(100dvw - ${spacingVars['--spacing-4']}))`,
162
+ boxSizing: 'border-box',
163
+ // Scroll internally when the menu is taller than the available space
164
+ // below the nav (paired with panelViewportFit on the layer).
165
+ overflowY: 'auto',
166
+ overscrollBehavior: 'contain',
143
167
  },
144
168
  menuWrapper: {
145
169
  flexGrow: 2,
@@ -484,7 +508,7 @@ function DefaultMegaMenu({
484
508
  {
485
509
  placement: 'below',
486
510
  alignment: slot,
487
- xstyle: styles.panelAnimation,
511
+ xstyle: [styles.panelAnimation, styles.panelViewportFit],
488
512
  },
489
513
  )}
490
514
  </>
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'TopNavMegaMenuFeaturedCard',
@@ -27,7 +27,7 @@ export const docs = {
27
27
  {
28
28
  name: 'imageAlt',
29
29
  type: 'string',
30
- description: 'Alt text for the image. When omitted, the image is explicitly decorative (alt="", role="presentation", aria-hidden) — usually correct since the card already has a visible title. Provide it only when the image conveys information beyond the title and description.',
30
+ description: 'Alt text for the image. When omitted, the image is explicitly decorative (alt="", role="presentation", aria-hidden), usually correct since the card already has a visible title. Provide it only when the image conveys information beyond the title and description.',
31
31
  },
32
32
  {
33
33
  name: 'linkLabel',
@@ -15,7 +15,7 @@
15
15
  * SYNC: When modified, update these files to stay in sync:
16
16
  * - /packages/core/src/TopNav/TopNav.doc.mjs
17
17
  * - /packages/core/src/TopNav/index.ts
18
- * - /packages/cli/templates/blocks/components/TopNav/ (showcase blocks)
18
+ * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
19
19
  */
20
20
 
21
21
  import React, {type ReactNode} from 'react';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'TopNavMegaMenuItem',
@@ -12,7 +12,7 @@
12
12
  * SYNC: When modified, update these files to stay in sync:
13
13
  * - /packages/core/src/TopNav/TopNav.doc.mjs
14
14
  * - /packages/core/src/TopNav/index.ts
15
- * - /packages/cli/templates/blocks/components/TopNav/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import React, {type ReactNode} from 'react';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'TopNavMenu',
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/TopNav/TopNav.doc.mjs
14
14
  * - /packages/core/src/TopNav/TopNavMenu.test.tsx
15
15
  * - /packages/core/src/TopNav/index.ts
16
- * - /packages/cli/templates/blocks/components/TopNav/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import React, {
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'TreeList',
@@ -30,6 +30,9 @@ export const docs = {
30
30
  {className: 'astryx-tree-list-item-label', states: ['selected']},
31
31
  {className: 'astryx-tree-list-guide'},
32
32
  ],
33
+ vars: [
34
+ {name: '--tree-list-indent', description: 'Per-level indentation step. Each nesting level indents its rows by this distance, and the guide lines follow it so they stay aligned. Set it on the `tree-list` target to retune the metric (e.g. `var(--spacing-5)` for a wider indent).', default: 'var(--spacing-4)'},
35
+ ],
33
36
  },
34
37
  components: [
35
38
  {
@@ -91,7 +94,7 @@ export const docs = {
91
94
  // See .context/decisions/dense-compression-protocol.md
92
95
  // -------------------------------------------------------
93
96
 
94
- /** @type {import('../docs-types').ComponentDoc} */
97
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
95
98
  export const docsZh = {
96
99
  name: 'TreeList',
97
100
  displayName: 'Tree List',
@@ -104,6 +107,9 @@ export const docsZh = {
104
107
  {className: 'astryx-tree-list-item-label', states: ['selected']},
105
108
  {className: 'astryx-tree-list-guide'},
106
109
  ],
110
+ vars: [
111
+ {name: '--tree-list-indent', description: '每级缩进步长。每个嵌套层级的行按此距离缩进,引导线随之对齐。在 `tree-list` 目标上设置以调整该度量(例如用 `var(--spacing-5)` 获得更宽的缩进)。', default: 'var(--spacing-4)'},
112
+ ],
107
113
  },
108
114
  components: [
109
115
  {
@@ -159,7 +165,7 @@ export const docsZh = {
159
165
  },
160
166
  };
161
167
 
162
- /** @type {import('../docs-types').TranslationDoc} */
168
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
163
169
  export const docsDense = {
164
170
  description:
165
171
  'Data-driven tree list for hierarchical data w/ expand/collapse, branch lines, interactive items. Flat items array w/ recursive children, no composition, no cloneElement.',
@@ -431,26 +431,29 @@ describe('TreeList', () => {
431
431
  });
432
432
 
433
433
  it("variant='noGuides' preserves per-level indentation on the rows", () => {
434
- // Indentation lives on the row's marginLeft (not the guide element), so
435
- // it must survive when the connectors are suppressed. A deeper row is
436
- // indented more than a shallower one.
434
+ // Indentation lives on the row's margin-inline-start (not the guide
435
+ // element), so it must survive when the connectors are suppressed. The
436
+ // per-row distance is published as the `--_tree-indent` custom property
437
+ // (not an inline longhand — see #4308), so the theme layer can override
438
+ // the `margin-inline-start` declaration. A deeper row is indented more
439
+ // than a shallower one.
437
440
  const {container} = render(
438
441
  <TreeList items={deepItems} variant="noGuides" />,
439
442
  );
440
- const marginOf = (text: string): string => {
443
+ const indentOf = (text: string): string => {
441
444
  const li = screen.getByText(text).closest('li')!;
442
- const styled = li.querySelector('[style*="margin-left"]');
445
+ const styled = li.querySelector('[style*="--_tree-indent"]');
443
446
  return styled?.getAttribute('style') ?? '';
444
447
  };
445
448
  // Guides are gone…
446
449
  expect(container.querySelector('.astryx-tree-list-guide')).toBeNull();
447
- // …but each level still carries an inline margin-left, and the level
450
+ // …but each level still publishes an indent distance, and the level
448
451
  // multiplier grows with depth (0, 1, 2).
449
- expect(marginOf('Root')).toContain('margin-left');
450
- expect(marginOf('Mid')).toContain('margin-left');
451
- expect(marginOf('Leaf')).toContain('margin-left');
452
+ expect(indentOf('Root')).toContain('--_tree-indent');
453
+ expect(indentOf('Mid')).toContain('--_tree-indent');
454
+ expect(indentOf('Leaf')).toContain('--_tree-indent');
452
455
  const level = (text: string): number => {
453
- const m = /calc\((\d+)/.exec(marginOf(text));
456
+ const m = /calc\((\d+)/.exec(indentOf(text));
454
457
  return m ? Number(m[1]) : NaN;
455
458
  };
456
459
  expect(level('Mid')).toBeGreaterThan(level('Root'));
@@ -504,6 +507,43 @@ describe('TreeList', () => {
504
507
  });
505
508
  });
506
509
 
510
+ // ===========================================================================
511
+ // Indent lever (--tree-list-indent)
512
+ // ===========================================================================
513
+
514
+ describe('indent lever', () => {
515
+ it('lets a theme retune the indent step via the tree-list target', () => {
516
+ // The per-level step is a public, themeable var (default --spacing-4) set
517
+ // on the tree-list root, so a theme can retune the indent metric (e.g. to
518
+ // --spacing-5) via defineTheme. jsdom cannot resolve the @layer cascade,
519
+ // so the generated CSS is what proves the override reaches the lever.
520
+ const theme = defineTheme({
521
+ name: 'tree-list-indent-test',
522
+ components: {
523
+ 'tree-list': {
524
+ base: {'--tree-list-indent': 'var(--spacing-5)'},
525
+ },
526
+ },
527
+ });
528
+ const css = generateThemeCSSFlat(theme);
529
+ expect(css).toContain('.astryx-tree-list {');
530
+ expect(css).toContain('--tree-list-indent: var(--spacing-5)');
531
+ });
532
+
533
+ it('rows consume the indent step in their published indent distance', () => {
534
+ // Each row's --_tree-indent is calc(level * var(--tree-list-indent)),
535
+ // so retuning the step scales every level uniformly.
536
+ render(<TreeList items={deepItems} variant="noGuides" />);
537
+ const indentOf = (text: string): string => {
538
+ const li = screen.getByText(text).closest('li')!;
539
+ const styled = li.querySelector('[style*="--_tree-indent"]');
540
+ return styled?.getAttribute('style') ?? '';
541
+ };
542
+ expect(indentOf('Mid')).toContain('var(--tree-list-indent)');
543
+ expect(indentOf('Leaf')).toContain('var(--tree-list-indent)');
544
+ });
545
+ });
546
+
507
547
  // ===========================================================================
508
548
  // xds class name
509
549
  // ===========================================================================
@@ -12,7 +12,7 @@
12
12
  * - /packages/core/src/TreeList/TreeList.doc.mjs
13
13
  * - /packages/core/src/TreeList/index.ts
14
14
  * - /apps/storybook/stories/TreeList.stories.tsx
15
- * - /packages/cli/templates/blocks/components/TreeList/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/TreeList/ (showcase blocks)
16
16
  */
17
17
 
18
18
  import {useId, useState, useMemo, useCallback, type ReactNode} from 'react';
@@ -83,6 +83,11 @@ export interface TreeListProps extends BaseProps<HTMLDivElement> {
83
83
  const styles = stylex.create({
84
84
  root: {
85
85
  position: 'relative',
86
+ // Per-level indentation step. Public, themeable lever: a theme can retune
87
+ // the tree's indent metric (e.g. to `var(--spacing-5)`) via `defineTheme`
88
+ // on the `tree-list` target, and both the row margins (TreeListItem) and
89
+ // the guide-line offsets (TreeListBranches) read it so they stay aligned.
90
+ '--tree-list-indent': spacingVars['--spacing-4'],
86
91
  },
87
92
  list: {
88
93
  margin: 0,
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * SYNC: When modified, update these files to stay in sync:
12
12
  * - /packages/core/src/TreeList/TreeListItem.tsx
13
- * - /packages/cli/templates/blocks/components/TreeList/ (showcase blocks)
13
+ * - /packages/cli/assets/templates/blocks/components/TreeList/ (showcase blocks)
14
14
  */
15
15
 
16
16
  import * as stylex from '@stylexjs/stylex';
@@ -26,8 +26,10 @@ const LINE_WIDTH = 1;
26
26
  */
27
27
  const BRANCH_MARGIN = `calc(${spacingVars['--spacing-2']} + ${spacingVars['--spacing-0-5']})`;
28
28
 
29
- /** Per-level indent width, matching --spacing-4 (16px). */
30
- const LEVEL_INDENT = spacingVars['--spacing-4'];
29
+ /** Per-level indent width. Reads the public, themeable `--tree-list-indent`
30
+ * lever set on the tree-list root (default `--spacing-4`, 16px), so the guide
31
+ * lines stay aligned with the row indent when a theme retunes the step. */
32
+ const LEVEL_INDENT = 'var(--tree-list-indent)';
31
33
 
32
34
  const styles = stylex.create({
33
35
  container: {
@@ -37,10 +39,10 @@ const styles = stylex.create({
37
39
  },
38
40
  verticalLine: {
39
41
  borderRadius: 1,
40
- left: 0,
42
+ insetInlineStart: 0,
41
43
  margin: 'auto',
42
44
  position: 'absolute',
43
- right: 0,
45
+ insetInlineEnd: 0,
44
46
  width: LINE_WIDTH,
45
47
  backgroundColor: colorVars['--color-border-emphasized'],
46
48
  },
@@ -92,7 +94,7 @@ export function TreeListBranches({
92
94
  key={level}
93
95
  {...mergeProps(stylex.props(styles.container), {
94
96
  style: {
95
- left: branchOffset,
97
+ insetInlineStart: branchOffset,
96
98
  },
97
99
  })}>
98
100
  <div
@@ -109,7 +111,7 @@ export function TreeListBranches({
109
111
  <div
110
112
  {...mergeProps(stylex.props(styles.container), {
111
113
  style: {
112
- left: `calc(${BRANCH_MARGIN} + ${nestedLevel - 1} * ${LEVEL_INDENT})`,
114
+ insetInlineStart: `calc(${BRANCH_MARGIN} + ${nestedLevel - 1} * ${LEVEL_INDENT})`,
113
115
  },
114
116
  })}>
115
117
  <div
@@ -11,7 +11,7 @@
11
11
  * SYNC: When modified, update these files to stay in sync:
12
12
  * - /packages/core/src/TreeList/TreeList.doc.mjs
13
13
  * - /packages/core/src/TreeList/TreeList.tsx
14
- * - /packages/cli/templates/blocks/components/TreeList/ (showcase blocks)
14
+ * - /packages/cli/assets/templates/blocks/components/TreeList/ (showcase blocks)
15
15
  */
16
16
 
17
17
  import {useId, useMemo, type ReactNode} from 'react';
@@ -25,7 +25,7 @@ import {
25
25
  typeScaleVars,
26
26
  } from '../theme/tokens.stylex';
27
27
  import {getIcon} from '../Icon/globalIconRegistry';
28
- import {mergeProps} from '../utils';
28
+ import {mergeProps, rtlStyles} from '../utils';
29
29
  import {useLinkComponent} from '../Link/useLinkComponent';
30
30
  import {TreeListBranches} from './TreeListBranches';
31
31
  import type {TreeListDensity, TreeListVariant} from './TreeListTypes';
@@ -82,6 +82,12 @@ const styles = stylex.create({
82
82
  position: 'relative',
83
83
  boxSizing: 'border-box',
84
84
  textAlign: 'start',
85
+ // Per-level indent. Declared here (not inline) so it lives in
86
+ // `@layer astryx-base` and the theme layer can override it in normal
87
+ // cascade order — an inline longhand would outrank every layer. The row
88
+ // publishes only the computed distance as `--_tree-indent`; the per-level
89
+ // step is the public `--tree-list-indent` lever (see TreeList `root`).
90
+ marginInlineStart: 'var(--_tree-indent, 0px)',
85
91
  },
86
92
  interactive: {
87
93
  cursor: 'pointer',
@@ -246,6 +252,11 @@ const descriptionSizeStyles = stylex.create({
246
252
  },
247
253
  });
248
254
 
255
+ // `CSSProperties` has no index signature for custom properties, so the row's
256
+ // inline style — which publishes the computed indent distance as the private
257
+ // `--_tree-indent` — needs this augmentation to typecheck.
258
+ type IndentStyle = React.CSSProperties & Record<'--_tree-indent', string>;
259
+
249
260
  // =============================================================================
250
261
  // Types
251
262
  // =============================================================================
@@ -353,9 +364,18 @@ export function TreeListItem({
353
364
  return undefined;
354
365
  }, [onClick, hasChildren, onToggle, id, isDisabled]);
355
366
 
356
- const computedMarginLeft = hasChildren
357
- ? `calc(${nestedLevel} * ${spacingVars['--spacing-4']})`
358
- : `calc(${nestedLevel} * ${spacingVars['--spacing-4']} + ${spacingVars['--spacing-4']} + ${spacingVars['--spacing-2']})`;
367
+ // Per-level indent distance. The per-level step is the public, themeable
368
+ // `--tree-list-indent` lever (default `--spacing-4`, set on the tree-list
369
+ // root). Leaves add a fixed chevron-column offset (chevron width + gap) so
370
+ // their labels line up with sibling parents' labels; that offset is tied to
371
+ // the chevron's own dimensions, not the indent step, so it does not scale
372
+ // with the lever. Published as the private `--_tree-indent` and consumed by
373
+ // `contentWrapper`'s stylesheet `margin-inline-start` (kept out of the inline
374
+ // style so the theme layer can override it — see #4308).
375
+ const indentDistance = hasChildren
376
+ ? `calc(${nestedLevel} * var(--tree-list-indent))`
377
+ : `calc(${nestedLevel} * var(--tree-list-indent) + ${spacingVars['--spacing-4']} + ${spacingVars['--spacing-2']})`;
378
+ const indentStyle: IndentStyle = {'--_tree-indent': indentDistance};
359
379
 
360
380
  const labelAndDescription = (
361
381
  <>
@@ -386,12 +406,14 @@ export function TreeListItem({
386
406
  );
387
407
 
388
408
  const chevronIcon = (
389
- <span
390
- {...stylex.props(
391
- styles.chevronSvg,
392
- isExpanded ? styles.chevronExpanded : styles.chevronCollapsed,
393
- )}>
394
- {getIcon('chevronRight')}
409
+ <span {...stylex.props(rtlStyles.mirror)}>
410
+ <span
411
+ {...stylex.props(
412
+ styles.chevronSvg,
413
+ isExpanded ? styles.chevronExpanded : styles.chevronCollapsed,
414
+ )}>
415
+ {getIcon('chevronRight')}
416
+ </span>
395
417
  </span>
396
418
  );
397
419
 
@@ -527,7 +549,7 @@ export function TreeListItem({
527
549
  isSelected && styles.selected,
528
550
  ),
529
551
  )}
530
- style={{marginLeft: computedMarginLeft}}
552
+ style={indentStyle}
531
553
  onClick={handleClick}>
532
554
  {innerContent}
533
555
  </div>
@@ -12,28 +12,11 @@
12
12
  */
13
13
 
14
14
  import type {ReactNode} from 'react';
15
+ import type {TreeListVariantMap} from './index';
15
16
 
16
17
  /** Spacing density for tree list items. */
17
18
  export type TreeListDensity = 'compact' | 'balanced' | 'spacious';
18
19
 
19
- /**
20
- * Extensible variant map for TreeList.
21
- *
22
- * Theme packages can add custom variants via TypeScript module augmentation:
23
- * @example
24
- * ```
25
- * declare module '@astryxdesign/core/TreeList' {
26
- * interface TreeListVariantMap {
27
- * 'dotted': true;
28
- * }
29
- * }
30
- * ```
31
- */
32
- export interface TreeListVariantMap {
33
- lineGuides: true;
34
- noGuides: true;
35
- }
36
-
37
20
  /**
38
21
  * Visual treatment of the hierarchy guide (connector) lines. Extensible via
39
22
  * module augmentation of TreeListVariantMap.
@@ -11,6 +11,24 @@
11
11
  * SYNC: When modified, update /packages/core/src/TreeList/TreeList.doc.mjs
12
12
  */
13
13
 
14
+ /**
15
+ * Extensible variant map for TreeList.
16
+ *
17
+ * Theme packages can add custom variants via TypeScript module augmentation:
18
+ * @example
19
+ * ```
20
+ * declare module '@astryxdesign/core/TreeList' {
21
+ * interface TreeListVariantMap {
22
+ * 'dotted': true;
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export interface TreeListVariantMap {
28
+ lineGuides: true;
29
+ noGuides: true;
30
+ }
31
+
14
32
  export {TreeList} from './TreeList';
15
33
  export type {TreeListProps, TreeListDensity, TreeListVariant} from './TreeList';
16
- export type {TreeListItemData, TreeListVariantMap} from './TreeListTypes';
34
+ export type {TreeListItemData} from './TreeListTypes';
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'BaseTypeahead',