@astryxdesign/core 0.2.0 → 0.3.0-canary.060cc9d

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 (1106) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +5 -3
  3. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +1 -1
  5. package/dist/AppShell/AppShell.d.ts +2 -20
  6. package/dist/AppShell/AppShell.d.ts.map +1 -1
  7. package/dist/AppShell/AppShell.js +25 -18
  8. package/dist/AppShell/index.d.ts +20 -1
  9. package/dist/AppShell/index.d.ts.map +1 -1
  10. package/dist/AppShell/index.js +14 -0
  11. package/dist/AspectRatio/AspectRatio.d.ts +1 -1
  12. package/dist/AspectRatio/AspectRatio.js +1 -1
  13. package/dist/Avatar/Avatar.d.ts +1 -1
  14. package/dist/Avatar/Avatar.d.ts.map +1 -1
  15. package/dist/Avatar/Avatar.js +35 -14
  16. package/dist/Avatar/AvatarStatusDot.d.ts +2 -26
  17. package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
  18. package/dist/Avatar/AvatarStatusDot.js +1 -22
  19. package/dist/Avatar/index.d.ts +26 -1
  20. package/dist/Avatar/index.d.ts.map +1 -1
  21. package/dist/Avatar/index.js +21 -0
  22. package/dist/AvatarGroup/AvatarGroup.d.ts +1 -1
  23. package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
  24. package/dist/AvatarGroup/AvatarGroup.js +4 -8
  25. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +2 -2
  26. package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
  27. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -3
  28. package/dist/Badge/Badge.d.ts +2 -30
  29. package/dist/Badge/Badge.d.ts.map +1 -1
  30. package/dist/Badge/Badge.js +2 -17
  31. package/dist/Badge/index.d.ts +31 -2
  32. package/dist/Badge/index.d.ts.map +1 -1
  33. package/dist/Badge/index.js +15 -1
  34. package/dist/Banner/Banner.d.ts +2 -37
  35. package/dist/Banner/Banner.d.ts.map +1 -1
  36. package/dist/Banner/Banner.js +6 -34
  37. package/dist/Banner/index.d.ts +37 -1
  38. package/dist/Banner/index.d.ts.map +1 -1
  39. package/dist/Banner/index.js +27 -0
  40. package/dist/Blockquote/Blockquote.d.ts +1 -1
  41. package/dist/Blockquote/Blockquote.js +1 -1
  42. package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  43. package/dist/Breadcrumbs/BreadcrumbItem.js +4 -3
  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 +18 -1
  48. package/dist/Breadcrumbs/index.d.ts.map +1 -1
  49. package/dist/Breadcrumbs/index.js +14 -0
  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 +6 -19
  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.js +1 -1
  59. package/dist/Calendar/index.d.ts +1 -1
  60. package/dist/Calendar/index.d.ts.map +1 -1
  61. package/dist/Calendar/index.js +1 -1
  62. package/dist/Calendar/styles.d.ts +2 -2
  63. package/dist/Calendar/styles.js +2 -2
  64. package/dist/Calendar/utils.d.ts +0 -4
  65. package/dist/Calendar/utils.d.ts.map +1 -1
  66. package/dist/Calendar/utils.js +1 -8
  67. package/dist/Card/Card.d.ts +1 -1
  68. package/dist/Card/Card.js +1 -1
  69. package/dist/Carousel/Carousel.d.ts +54 -3
  70. package/dist/Carousel/Carousel.d.ts.map +1 -1
  71. package/dist/Carousel/Carousel.js +90 -27
  72. package/dist/Carousel/index.d.ts +1 -1
  73. package/dist/Carousel/index.d.ts.map +1 -1
  74. package/dist/Center/Center.d.ts +21 -4
  75. package/dist/Center/Center.d.ts.map +1 -1
  76. package/dist/Center/Center.js +11 -3
  77. package/dist/Chat/ChatComposer.d.ts +1 -1
  78. package/dist/Chat/ChatComposer.js +9 -9
  79. package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
  80. package/dist/Chat/ChatComposerDrawer.js +5 -5
  81. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  82. package/dist/Chat/ChatComposerInput.js +1 -1
  83. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  84. package/dist/Chat/ChatDictationButton.js +1 -1
  85. package/dist/Chat/ChatLayout.d.ts +8 -1
  86. package/dist/Chat/ChatLayout.d.ts.map +1 -1
  87. package/dist/Chat/ChatLayout.js +15 -4
  88. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  89. package/dist/Chat/ChatLayoutScrollButton.js +1 -1
  90. package/dist/Chat/ChatMessage.d.ts +1 -1
  91. package/dist/Chat/ChatMessage.js +1 -1
  92. package/dist/Chat/ChatMessageBubble.d.ts +1 -1
  93. package/dist/Chat/ChatMessageBubble.js +1 -1
  94. package/dist/Chat/ChatMessageList.d.ts +1 -1
  95. package/dist/Chat/ChatMessageList.js +1 -1
  96. package/dist/Chat/ChatSendButton.d.ts.map +1 -1
  97. package/dist/Chat/ChatSendButton.js +4 -2
  98. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  99. package/dist/Chat/ChatSystemMessage.js +1 -1
  100. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  101. package/dist/Chat/ChatTokenizedText.js +1 -1
  102. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  103. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  104. package/dist/CheckboxInput/CheckboxInput.js +3 -3
  105. package/dist/CheckboxList/CheckboxList.d.ts +1 -1
  106. package/dist/CheckboxList/CheckboxList.js +1 -1
  107. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  108. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  109. package/dist/CheckboxList/CheckboxListItem.js +20 -5
  110. package/dist/Citation/Citation.d.ts +1 -1
  111. package/dist/Citation/Citation.js +1 -1
  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.js +2 -2
  117. package/dist/Collapsible/Collapsible.d.ts +1 -1
  118. package/dist/Collapsible/Collapsible.js +3 -3
  119. package/dist/Collapsible/CollapsibleGroup.d.ts +1 -1
  120. package/dist/Collapsible/CollapsibleGroup.js +1 -1
  121. package/dist/Collapsible/CollapsibleGroupContext.js +1 -1
  122. package/dist/CommandPalette/CommandPalette.d.ts +1 -1
  123. package/dist/CommandPalette/CommandPalette.js +1 -1
  124. package/dist/CommandPalette/CommandPaletteEmpty.js +1 -1
  125. package/dist/CommandPalette/CommandPaletteFooter.js +1 -1
  126. package/dist/CommandPalette/CommandPaletteGroup.js +1 -1
  127. package/dist/CommandPalette/CommandPaletteInput.d.ts +2 -2
  128. package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
  129. package/dist/CommandPalette/CommandPaletteInput.js +4 -2
  130. package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
  131. package/dist/CommandPalette/CommandPaletteItem.js +1 -1
  132. package/dist/CommandPalette/CommandPaletteList.js +1 -1
  133. package/dist/ComplexSelector/ComplexSelector.d.ts +108 -0
  134. package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -0
  135. package/dist/ComplexSelector/ComplexSelector.js +316 -0
  136. package/dist/ComplexSelector/index.d.ts +7 -0
  137. package/dist/ComplexSelector/index.d.ts.map +1 -0
  138. package/dist/ComplexSelector/index.js +10 -0
  139. package/dist/ContextMenu/ContextMenu.d.ts +2 -2
  140. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  141. package/dist/ContextMenu/ContextMenu.js +24 -6
  142. package/dist/DateInput/DateInput.d.ts +9 -2
  143. package/dist/DateInput/DateInput.d.ts.map +1 -1
  144. package/dist/DateInput/DateInput.js +4 -2
  145. package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
  146. package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  147. package/dist/DateRangeInput/DateRangeInput.js +4 -2
  148. package/dist/DateTimeInput/DateTimeInput.d.ts +9 -1
  149. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  150. package/dist/DateTimeInput/DateTimeInput.js +4 -2
  151. package/dist/Dialog/Dialog.d.ts +33 -24
  152. package/dist/Dialog/Dialog.d.ts.map +1 -1
  153. package/dist/Dialog/Dialog.js +47 -31
  154. package/dist/Dialog/DialogHeader.d.ts +1 -1
  155. package/dist/Dialog/DialogHeader.js +1 -1
  156. package/dist/Dialog/index.d.ts +18 -1
  157. package/dist/Dialog/index.d.ts.map +1 -1
  158. package/dist/Dialog/index.js +14 -0
  159. package/dist/Divider/Divider.d.ts +2 -18
  160. package/dist/Divider/Divider.d.ts.map +1 -1
  161. package/dist/Divider/Divider.js +1 -15
  162. package/dist/Divider/index.d.ts +18 -1
  163. package/dist/Divider/index.d.ts.map +1 -1
  164. package/dist/Divider/index.js +14 -0
  165. package/dist/DropdownMenu/DropdownMenu.d.ts +9 -3
  166. package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  167. package/dist/DropdownMenu/DropdownMenu.js +23 -19
  168. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +18 -12
  169. package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
  170. package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +38 -63
  171. package/dist/DropdownMenu/DropdownMenuItem.d.ts +1 -1
  172. package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
  173. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +8 -11
  174. package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
  175. package/dist/DropdownMenu/DropdownMenuRadioGroup.js +3 -1
  176. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +1 -1
  177. package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
  178. package/dist/DropdownMenu/DropdownMenuRadioItem.js +6 -2
  179. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +1 -1
  180. package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
  181. package/dist/DropdownMenu/DropdownMenuSubMenu.js +14 -6
  182. package/dist/DropdownMenu/menuItemHover.d.ts +1 -0
  183. package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
  184. package/dist/DropdownMenu/menuItemHover.js +1 -0
  185. package/dist/DropdownMenu/renderDropdownItems.d.ts.map +1 -1
  186. package/dist/DropdownMenu/renderDropdownItems.js +6 -4
  187. package/dist/EmptyState/EmptyState.d.ts +1 -1
  188. package/dist/EmptyState/EmptyState.js +1 -1
  189. package/dist/Field/Field.d.ts +1 -1
  190. package/dist/Field/Field.js +1 -1
  191. package/dist/Field/FieldLabel.d.ts +4 -3
  192. package/dist/Field/FieldLabel.d.ts.map +1 -1
  193. package/dist/Field/FieldLabel.js +48 -5
  194. package/dist/FieldStatus/FieldStatus.d.ts +1 -18
  195. package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
  196. package/dist/FieldStatus/FieldStatus.js +13 -17
  197. package/dist/FieldStatus/index.d.ts +19 -1
  198. package/dist/FieldStatus/index.d.ts.map +1 -1
  199. package/dist/FieldStatus/index.js +14 -0
  200. package/dist/FileInput/FileInput.js +1 -1
  201. package/dist/FormLayout/FormLayout.d.ts +1 -1
  202. package/dist/FormLayout/FormLayout.d.ts.map +1 -1
  203. package/dist/FormLayout/FormLayout.js +1 -1
  204. package/dist/Grid/Grid.d.ts +2 -10
  205. package/dist/Grid/Grid.d.ts.map +1 -1
  206. package/dist/Grid/Grid.js +1 -10
  207. package/dist/Grid/GridSpan.d.ts +1 -1
  208. package/dist/Grid/GridSpan.js +1 -1
  209. package/dist/HStack/HStack.d.ts +1 -1
  210. package/dist/HStack/HStack.js +1 -1
  211. package/dist/Heading/Heading.d.ts +2 -2
  212. package/dist/Heading/Heading.d.ts.map +1 -1
  213. package/dist/Heading/Heading.js +5 -4
  214. package/dist/HoverCard/HoverCard.d.ts +1 -1
  215. package/dist/HoverCard/HoverCard.js +1 -1
  216. package/dist/Icon/Icon.d.ts +1 -1
  217. package/dist/Icon/Icon.d.ts.map +1 -1
  218. package/dist/Icon/Icon.js +4 -2
  219. package/dist/Icon/defaultIcons.d.ts.map +1 -1
  220. package/dist/Icon/defaultIcons.js +14 -0
  221. package/dist/Icon/globalIconRegistry.d.ts +48 -6
  222. package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
  223. package/dist/Icon/globalIconRegistry.js +74 -7
  224. package/dist/Icon/index.d.ts +4 -3
  225. package/dist/Icon/index.d.ts.map +1 -1
  226. package/dist/Icon/index.js +2 -1
  227. package/dist/Icon/useIcon.d.ts +14 -0
  228. package/dist/Icon/useIcon.d.ts.map +1 -0
  229. package/dist/Icon/useIcon.js +21 -0
  230. package/dist/IconButton/IconButton.d.ts +1 -1
  231. package/dist/IconButton/IconButton.js +1 -1
  232. package/dist/InputGroup/InputGroup.d.ts +1 -1
  233. package/dist/InputGroup/InputGroup.js +1 -1
  234. package/dist/InputGroup/InputGroupText.d.ts +1 -1
  235. package/dist/InputGroup/InputGroupText.js +1 -1
  236. package/dist/Item/Item.d.ts +17 -4
  237. package/dist/Item/Item.d.ts.map +1 -1
  238. package/dist/Item/Item.js +32 -7
  239. package/dist/Kbd/Kbd.d.ts +1 -1
  240. package/dist/Kbd/Kbd.js +1 -1
  241. package/dist/Layout/Layout.d.ts +1 -1
  242. package/dist/Layout/Layout.js +1 -1
  243. package/dist/Layout/LayoutContent.d.ts +1 -1
  244. package/dist/Layout/LayoutContent.js +1 -1
  245. package/dist/Layout/LayoutFooter.d.ts +1 -1
  246. package/dist/Layout/LayoutFooter.js +1 -1
  247. package/dist/Layout/LayoutHeader.d.ts +1 -1
  248. package/dist/Layout/LayoutHeader.js +1 -1
  249. package/dist/Layout/LayoutPanel.d.ts +1 -1
  250. package/dist/Layout/LayoutPanel.js +1 -1
  251. package/dist/Lightbox/Lightbox.d.ts +6 -4
  252. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  253. package/dist/Lightbox/Lightbox.js +173 -79
  254. package/dist/Link/Link.d.ts +1 -1
  255. package/dist/Link/Link.js +1 -1
  256. package/dist/Link/LinkProvider.d.ts +2 -2
  257. package/dist/Link/LinkProvider.js +2 -2
  258. package/dist/List/List.d.ts +1 -1
  259. package/dist/List/List.js +1 -1
  260. package/dist/List/ListItem.d.ts +12 -2
  261. package/dist/List/ListItem.d.ts.map +1 -1
  262. package/dist/List/ListItem.js +3 -1
  263. package/dist/Markdown/Markdown.d.ts.map +1 -1
  264. package/dist/Markdown/Markdown.js +35 -13
  265. package/dist/MetadataList/MetadataList.d.ts +2 -2
  266. package/dist/MetadataList/MetadataList.d.ts.map +1 -1
  267. package/dist/MetadataList/MetadataList.js +38 -12
  268. package/dist/MetadataList/MetadataListItem.d.ts +1 -1
  269. package/dist/MetadataList/MetadataListItem.js +1 -1
  270. package/dist/MobileNav/MobileNav.d.ts +1 -1
  271. package/dist/MobileNav/MobileNav.js +9 -9
  272. package/dist/MoreMenu/MoreMenu.d.ts +1 -1
  273. package/dist/MoreMenu/MoreMenu.js +3 -3
  274. package/dist/MultiSelector/MultiSelector.d.ts +13 -4
  275. package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
  276. package/dist/MultiSelector/MultiSelector.js +118 -24
  277. package/dist/NavIcon/NavIcon.d.ts +1 -1
  278. package/dist/NavIcon/NavIcon.js +1 -1
  279. package/dist/NavMenu/index.d.ts +0 -2
  280. package/dist/NavMenu/index.d.ts.map +1 -1
  281. package/dist/NavMenu/index.js +1 -3
  282. package/dist/NumberInput/NumberInput.d.ts +1 -1
  283. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  284. package/dist/NumberInput/NumberInput.js +16 -5
  285. package/dist/Outline/Outline.js +1 -1
  286. package/dist/OverflowList/OverflowList.d.ts +1 -1
  287. package/dist/OverflowList/OverflowList.js +1 -1
  288. package/dist/Pagination/Pagination.d.ts +26 -21
  289. package/dist/Pagination/Pagination.d.ts.map +1 -1
  290. package/dist/Pagination/Pagination.js +174 -52
  291. package/dist/Pagination/index.d.ts +22 -1
  292. package/dist/Pagination/index.d.ts.map +1 -1
  293. package/dist/Pagination/index.js +14 -0
  294. package/dist/Popover/Popover.d.ts +20 -3
  295. package/dist/Popover/Popover.d.ts.map +1 -1
  296. package/dist/Popover/Popover.js +5 -1
  297. package/dist/Popover/usePopover.d.ts.map +1 -1
  298. package/dist/Popover/usePopover.js +14 -3
  299. package/dist/PowerSearch/PowerSearch.d.ts +1 -1
  300. package/dist/PowerSearch/PowerSearch.js +1 -1
  301. package/dist/ProgressBar/ProgressBar.d.ts +56 -22
  302. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  303. package/dist/ProgressBar/ProgressBar.js +169 -22
  304. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts +27 -0
  305. package/dist/ProgressBar/ProgressBarMarkTooltip.d.ts.map +1 -0
  306. package/dist/ProgressBar/ProgressBarMarkTooltip.js +35 -0
  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 +1 -1
  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 +2 -2
  315. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  316. package/dist/Resizable/ResizeHandle.js +15 -11
  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 +1 -1
  326. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  327. package/dist/SegmentedControl/SegmentedControlItem.js +4 -3
  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 +14 -4
  332. package/dist/Selector/Selector.d.ts.map +1 -1
  333. package/dist/Selector/Selector.js +137 -28
  334. package/dist/Selector/hooks.d.ts +4 -4
  335. package/dist/Selector/hooks.d.ts.map +1 -1
  336. package/dist/Selector/hooks.js +38 -19
  337. package/dist/SideNav/SideNav.d.ts +1 -1
  338. package/dist/SideNav/SideNav.js +1 -1
  339. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  340. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  341. package/dist/SideNav/SideNavCollapseButton.js +4 -3
  342. package/dist/SideNav/SideNavHeading.d.ts +1 -1
  343. package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
  344. package/dist/SideNav/SideNavHeading.js +8 -7
  345. package/dist/SideNav/SideNavItem.d.ts +2 -2
  346. package/dist/SideNav/SideNavItem.d.ts.map +1 -1
  347. package/dist/SideNav/SideNavItem.js +6 -7
  348. package/dist/SideNav/SideNavSection.d.ts +1 -1
  349. package/dist/SideNav/SideNavSection.js +1 -1
  350. package/dist/Skeleton/Skeleton.d.ts +1 -1
  351. package/dist/Skeleton/Skeleton.d.ts.map +1 -1
  352. package/dist/Skeleton/Skeleton.js +3 -3
  353. package/dist/Slider/Slider.d.ts.map +1 -1
  354. package/dist/Slider/Slider.js +78 -68
  355. package/dist/Spinner/Spinner.d.ts +1 -1
  356. package/dist/Spinner/Spinner.js +1 -1
  357. package/dist/Stack/Stack.d.ts +1 -1
  358. package/dist/Stack/Stack.js +1 -1
  359. package/dist/Stack/StackItem.d.ts +1 -1
  360. package/dist/Stack/StackItem.js +1 -1
  361. package/dist/Stack/stack.stylex.d.ts +3 -3
  362. package/dist/StatusDot/StatusDot.d.ts +1 -20
  363. package/dist/StatusDot/StatusDot.d.ts.map +1 -1
  364. package/dist/StatusDot/StatusDot.js +2 -17
  365. package/dist/StatusDot/index.d.ts +21 -1
  366. package/dist/StatusDot/index.d.ts.map +1 -1
  367. package/dist/StatusDot/index.js +14 -0
  368. package/dist/Switch/Switch.d.ts +2 -6
  369. package/dist/Switch/Switch.d.ts.map +1 -1
  370. package/dist/Switch/Switch.js +28 -20
  371. package/dist/TabList/Tab.d.ts +1 -1
  372. package/dist/TabList/Tab.js +1 -1
  373. package/dist/TabList/TabList.d.ts +1 -1
  374. package/dist/TabList/TabList.js +1 -1
  375. package/dist/TabList/TabMenu.d.ts +1 -1
  376. package/dist/TabList/TabMenu.d.ts.map +1 -1
  377. package/dist/TabList/TabMenu.js +11 -3
  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 +4 -7
  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 -2
  385. package/dist/Table/TableHeaderCell.d.ts +1 -1
  386. package/dist/Table/TableHeaderCell.js +4 -2
  387. package/dist/Table/TableRow.d.ts +1 -1
  388. package/dist/Table/TableRow.js +1 -1
  389. package/dist/Table/index.d.ts +1 -1
  390. package/dist/Table/index.d.ts.map +1 -1
  391. package/dist/Table/index.js +1 -1
  392. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
  393. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +1 -1
  394. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +18 -3
  395. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
  396. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +27 -11
  397. package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
  398. package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
  399. package/dist/Table/plugins/tree/useTableTreeData.js +36 -2
  400. package/dist/Table/types.d.ts +0 -9
  401. package/dist/Table/types.d.ts.map +1 -1
  402. package/dist/Text/Text.d.ts +11 -2
  403. package/dist/Text/Text.d.ts.map +1 -1
  404. package/dist/Text/Text.js +26 -3
  405. package/dist/Text/index.d.ts +31 -1
  406. package/dist/Text/index.d.ts.map +1 -1
  407. package/dist/Text/index.js +23 -0
  408. package/dist/TextArea/TextArea.d.ts +1 -1
  409. package/dist/TextArea/TextArea.d.ts.map +1 -1
  410. package/dist/TextArea/TextArea.js +107 -39
  411. package/dist/TextInput/TextInput.d.ts +1 -1
  412. package/dist/TextInput/TextInput.js +1 -1
  413. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  414. package/dist/Thumbnail/Thumbnail.js +52 -46
  415. package/dist/TimeInput/TimeInput.js +1 -1
  416. package/dist/Timestamp/Timestamp.d.ts +26 -12
  417. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  418. package/dist/Timestamp/Timestamp.js +128 -65
  419. package/dist/Timestamp/TimestampHoverCard.d.ts +45 -0
  420. package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -0
  421. package/dist/Timestamp/TimestampHoverCard.js +228 -0
  422. package/dist/Timestamp/formatInstant.d.ts +3 -3
  423. package/dist/Timestamp/formatInstant.d.ts.map +1 -1
  424. package/dist/Timestamp/formatInstant.js +7 -2
  425. package/dist/Timestamp/tooltipEntries.d.ts +17 -2
  426. package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
  427. package/dist/Timestamp/tooltipEntries.js +4 -2
  428. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  429. package/dist/Toast/ToastViewport.js +61 -9
  430. package/dist/ToggleButton/ToggleButton.d.ts +1 -1
  431. package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
  432. package/dist/ToggleButton/ToggleButton.js +4 -2
  433. package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
  434. package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
  435. package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
  436. package/dist/Token/Token.d.ts +6 -28
  437. package/dist/Token/Token.d.ts.map +1 -1
  438. package/dist/Token/Token.js +69 -58
  439. package/dist/Token/TokenLink.d.ts +62 -0
  440. package/dist/Token/TokenLink.d.ts.map +1 -0
  441. package/dist/Token/TokenLink.js +76 -0
  442. package/dist/Token/index.d.ts +27 -1
  443. package/dist/Token/index.d.ts.map +1 -1
  444. package/dist/Token/index.js +14 -0
  445. package/dist/Tokenizer/Tokenizer.d.ts +1 -1
  446. package/dist/Tokenizer/Tokenizer.js +1 -1
  447. package/dist/Toolbar/Toolbar.d.ts +1 -1
  448. package/dist/Toolbar/Toolbar.js +1 -1
  449. package/dist/Tooltip/Tooltip.d.ts +1 -1
  450. package/dist/Tooltip/Tooltip.js +1 -1
  451. package/dist/TopNav/TopNav.d.ts +1 -1
  452. package/dist/TopNav/TopNav.d.ts.map +1 -1
  453. package/dist/TopNav/TopNav.js +7 -6
  454. package/dist/TopNav/TopNavHeading.d.ts +2 -8
  455. package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
  456. package/dist/TopNav/TopNavHeading.js +8 -10
  457. package/dist/TopNav/TopNavItem.d.ts +1 -1
  458. package/dist/TopNav/TopNavItem.js +1 -1
  459. package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
  460. package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
  461. package/dist/TopNav/TopNavMegaMenu.js +27 -16
  462. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  463. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +1 -1
  464. package/dist/TopNav/TopNavMegaMenuItem.d.ts +1 -1
  465. package/dist/TopNav/TopNavMegaMenuItem.js +1 -1
  466. package/dist/TopNav/TopNavMenu.d.ts +1 -1
  467. package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
  468. package/dist/TopNav/TopNavMenu.js +5 -4
  469. package/dist/TreeList/TreeList.d.ts +1 -1
  470. package/dist/TreeList/TreeList.js +1 -1
  471. package/dist/TreeList/TreeListBranches.js +1 -1
  472. package/dist/TreeList/TreeListItem.d.ts +1 -1
  473. package/dist/TreeList/TreeListItem.d.ts.map +1 -1
  474. package/dist/TreeList/TreeListItem.js +4 -3
  475. package/dist/TreeList/TreeListTypes.d.ts +1 -17
  476. package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
  477. package/dist/TreeList/index.d.ts +18 -1
  478. package/dist/TreeList/index.d.ts.map +1 -1
  479. package/dist/TreeList/index.js +14 -0
  480. package/dist/Typeahead/BaseTypeahead.d.ts +10 -1
  481. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  482. package/dist/Typeahead/BaseTypeahead.js +3 -1
  483. package/dist/Typeahead/Typeahead.d.ts +1 -1
  484. package/dist/Typeahead/Typeahead.d.ts.map +1 -1
  485. package/dist/Typeahead/Typeahead.js +9 -2
  486. package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
  487. package/dist/Typeahead/TypeaheadItem.js +1 -1
  488. package/dist/VStack/VStack.d.ts +1 -1
  489. package/dist/VStack/VStack.js +1 -1
  490. package/dist/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  491. package/dist/VisuallyHidden/VisuallyHidden.js +1 -1
  492. package/dist/astryx.css +117 -37
  493. package/dist/astryx.umd.js +50 -54
  494. package/dist/astryx.umd.js.map +4 -4
  495. package/dist/hooks/containerReveal.pool.stylex.d.ts +303 -0
  496. package/dist/hooks/containerReveal.pool.stylex.d.ts.map +1 -0
  497. package/dist/hooks/containerReveal.pool.stylex.js +292 -0
  498. package/dist/hooks/index.d.ts +2 -0
  499. package/dist/hooks/index.d.ts.map +1 -1
  500. package/dist/hooks/index.js +2 -1
  501. package/dist/hooks/useContainerReveal.d.ts +83 -0
  502. package/dist/hooks/useContainerReveal.d.ts.map +1 -0
  503. package/dist/hooks/useContainerReveal.js +123 -0
  504. package/dist/hooks/useGridFocus.d.ts +8 -6
  505. package/dist/hooks/useGridFocus.d.ts.map +1 -1
  506. package/dist/hooks/useInputContainer.d.ts.map +1 -1
  507. package/dist/hooks/useInputContainer.js +29 -1
  508. package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
  509. package/dist/hooks/useInputStatusIcon.js +11 -0
  510. package/dist/hooks/useKeyboardHint.d.ts +2 -2
  511. package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
  512. package/dist/hooks/useKeyboardHint.js +5 -3
  513. package/dist/hooks/useListFocus.d.ts +8 -7
  514. package/dist/hooks/useListFocus.d.ts.map +1 -1
  515. package/dist/hooks/useLongPress.d.ts.map +1 -1
  516. package/dist/hooks/useLongPress.js +12 -2
  517. package/dist/hooks/useTreeFocus.d.ts.map +1 -1
  518. package/dist/hooks/useTreeFocus.js +13 -2
  519. package/dist/i18n/InternationalizationProvider.d.ts +6 -0
  520. package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
  521. package/dist/i18n/useDirection.d.ts.map +1 -1
  522. package/dist/i18n/useDirection.js +6 -3
  523. package/dist/index.d.ts +2 -1
  524. package/dist/index.d.ts.map +1 -1
  525. package/dist/index.js +3 -3
  526. package/dist/theme/Theme.d.ts.map +1 -1
  527. package/dist/theme/Theme.js +2 -7
  528. package/dist/theme/contrast.d.ts +45 -0
  529. package/dist/theme/contrast.d.ts.map +1 -0
  530. package/dist/theme/contrast.js +88 -0
  531. package/dist/theme/defineTheme.d.ts +9 -3
  532. package/dist/theme/defineTheme.d.ts.map +1 -1
  533. package/dist/theme/defineTheme.js +6 -4
  534. package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
  535. package/dist/theme/derivedVarRegistry.js +0 -13
  536. package/dist/theme/expandColorScale.d.ts +32 -3
  537. package/dist/theme/expandColorScale.d.ts.map +1 -1
  538. package/dist/theme/expandColorScale.js +102 -13
  539. package/dist/theme/generateThemeRules.d.ts +0 -6
  540. package/dist/theme/generateThemeRules.d.ts.map +1 -1
  541. package/dist/theme/generateThemeRules.js +0 -15
  542. package/dist/theme/index.d.ts +9 -7
  543. package/dist/theme/index.d.ts.map +1 -1
  544. package/dist/theme/index.js +4 -3
  545. package/dist/theme/themeRegistry.d.ts +32 -0
  546. package/dist/theme/themeRegistry.d.ts.map +1 -0
  547. package/dist/theme/themeRegistry.js +49 -0
  548. package/dist/theme/tokens.stylex.d.ts +0 -17
  549. package/dist/theme/tokens.stylex.d.ts.map +1 -1
  550. package/dist/theme/tokens.stylex.js +0 -22
  551. package/dist/theme/types.d.ts +10 -2
  552. package/dist/theme/types.d.ts.map +1 -1
  553. package/dist/theme/useTheme.d.ts +9 -0
  554. package/dist/theme/useTheme.d.ts.map +1 -1
  555. package/dist/theme/useTheme.js +82 -27
  556. package/dist/utils/rtlStyles.d.ts +23 -2
  557. package/dist/utils/rtlStyles.d.ts.map +1 -1
  558. package/dist/utils/rtlStyles.js +28 -3
  559. package/groups.doc.mjs +2 -2
  560. package/locales/en.json +124 -0
  561. package/locales/pseudo.json +93 -0
  562. package/package.json +9 -13
  563. package/src/AlertDialog/AlertDialog.doc.mjs +3 -3
  564. package/src/AlertDialog/AlertDialog.tsx +1 -1
  565. package/src/AlertDialog/useImperativeAlertDialog.doc.mjs +1 -1
  566. package/src/AppShell/AppShell.doc.mjs +3 -3
  567. package/src/AppShell/AppShell.test.tsx +55 -0
  568. package/src/AppShell/AppShell.tsx +27 -22
  569. package/src/AppShell/index.ts +20 -1
  570. package/src/AppShell/useAppShellMobile.doc.mjs +2 -2
  571. package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
  572. package/src/AspectRatio/AspectRatio.tsx +1 -1
  573. package/src/Avatar/Avatar.doc.mjs +4 -15
  574. package/src/Avatar/Avatar.test.tsx +33 -8
  575. package/src/Avatar/Avatar.tsx +58 -25
  576. package/src/Avatar/AvatarStatusDot.doc.mjs +1 -1
  577. package/src/Avatar/AvatarStatusDot.tsx +2 -27
  578. package/src/Avatar/index.ts +26 -1
  579. package/src/AvatarGroup/AvatarGroup.doc.mjs +3 -3
  580. package/src/AvatarGroup/AvatarGroup.test.tsx +21 -1
  581. package/src/AvatarGroup/AvatarGroup.tsx +3 -7
  582. package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +1 -1
  583. package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -3
  584. package/src/Badge/Badge.doc.mjs +3 -3
  585. package/src/Badge/Badge.tsx +2 -31
  586. package/src/Badge/index.ts +32 -6
  587. package/src/Banner/Banner.doc.mjs +3 -3
  588. package/src/Banner/Banner.tsx +8 -45
  589. package/src/Banner/index.ts +39 -7
  590. package/src/Blockquote/Blockquote.doc.mjs +3 -3
  591. package/src/Blockquote/Blockquote.tsx +1 -1
  592. package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +1 -1
  593. package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -3
  594. package/src/Breadcrumbs/Breadcrumbs.doc.mjs +3 -3
  595. package/src/Breadcrumbs/Breadcrumbs.test.tsx +1 -1
  596. package/src/Breadcrumbs/Breadcrumbs.tsx +2 -19
  597. package/src/Breadcrumbs/index.ts +19 -5
  598. package/src/Button/Button.doc.mjs +3 -3
  599. package/src/Button/Button.test.tsx +16 -0
  600. package/src/Button/Button.tsx +6 -23
  601. package/src/Button/index.ts +22 -7
  602. package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -3
  603. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  604. package/src/Calendar/Calendar.doc.mjs +3 -3
  605. package/src/Calendar/Calendar.test.tsx +22 -6
  606. package/src/Calendar/Calendar.tsx +1 -1
  607. package/src/Calendar/index.ts +1 -6
  608. package/src/Calendar/styles.ts +2 -2
  609. package/src/Calendar/utils.ts +0 -11
  610. package/src/Card/Card.doc.mjs +3 -3
  611. package/src/Card/Card.tsx +1 -1
  612. package/src/Carousel/Carousel.doc.mjs +10 -3
  613. package/src/Carousel/Carousel.test.tsx +232 -1
  614. package/src/Carousel/Carousel.tsx +154 -27
  615. package/src/Carousel/index.ts +1 -1
  616. package/src/Center/Center.doc.mjs +41 -3
  617. package/src/Center/Center.test.tsx +75 -0
  618. package/src/Center/Center.tsx +38 -3
  619. package/src/Chat/Chat.doc.mjs +3 -3
  620. package/src/Chat/ChatComposer.doc.mjs +1 -1
  621. package/src/Chat/ChatComposer.tsx +5 -5
  622. package/src/Chat/ChatComposerDrawer.doc.mjs +1 -1
  623. package/src/Chat/ChatComposerDrawer.tsx +5 -5
  624. package/src/Chat/ChatComposerInput.doc.mjs +1 -1
  625. package/src/Chat/ChatComposerInput.tsx +1 -1
  626. package/src/Chat/ChatComposerTokenElement.doc.mjs +1 -1
  627. package/src/Chat/ChatDictationButton.doc.mjs +3 -3
  628. package/src/Chat/ChatDictationButton.tsx +1 -1
  629. package/src/Chat/ChatLayout.doc.mjs +1 -1
  630. package/src/Chat/ChatLayout.test.tsx +57 -0
  631. package/src/Chat/ChatLayout.tsx +23 -2
  632. package/src/Chat/ChatLayoutScrollButton.doc.mjs +1 -1
  633. package/src/Chat/ChatLayoutScrollButton.tsx +1 -1
  634. package/src/Chat/ChatMessage.doc.mjs +1 -1
  635. package/src/Chat/ChatMessage.tsx +1 -1
  636. package/src/Chat/ChatMessageBubble.doc.mjs +1 -1
  637. package/src/Chat/ChatMessageBubble.tsx +1 -1
  638. package/src/Chat/ChatMessageList.doc.mjs +1 -1
  639. package/src/Chat/ChatMessageList.tsx +1 -1
  640. package/src/Chat/ChatMessageMetadata.doc.mjs +1 -1
  641. package/src/Chat/ChatSendButton.doc.mjs +1 -1
  642. package/src/Chat/ChatSendButton.tsx +5 -3
  643. package/src/Chat/ChatSystemMessage.doc.mjs +1 -1
  644. package/src/Chat/ChatSystemMessage.tsx +1 -1
  645. package/src/Chat/ChatTokenizedText.doc.mjs +1 -1
  646. package/src/Chat/ChatTokenizedText.tsx +1 -1
  647. package/src/Chat/ChatToolCalls.doc.mjs +3 -3
  648. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  649. package/src/CheckboxInput/CheckboxInput.test.tsx +56 -0
  650. package/src/CheckboxInput/CheckboxInput.tsx +18 -3
  651. package/src/CheckboxList/CheckboxList.doc.mjs +3 -3
  652. package/src/CheckboxList/CheckboxList.test.tsx +94 -3
  653. package/src/CheckboxList/CheckboxList.tsx +1 -1
  654. package/src/CheckboxList/CheckboxListItem.doc.mjs +1 -1
  655. package/src/CheckboxList/CheckboxListItem.tsx +18 -11
  656. package/src/Citation/Citation.doc.mjs +2 -2
  657. package/src/Citation/Citation.tsx +1 -1
  658. package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
  659. package/src/ClickableCard/ClickableCard.tsx +3 -3
  660. package/src/Code/Code.tsx +2 -2
  661. package/src/CodeBlock/Code.doc.mjs +1 -1
  662. package/src/CodeBlock/CodeBlock.doc.mjs +3 -3
  663. package/src/CodeBlock/CodeBlock.test.tsx +17 -0
  664. package/src/CodeBlock/CodeBlock.tsx +2 -2
  665. package/src/Collapsible/Collapsible.doc.mjs +3 -3
  666. package/src/Collapsible/Collapsible.tsx +3 -3
  667. package/src/Collapsible/CollapsibleGroup.doc.mjs +1 -1
  668. package/src/Collapsible/CollapsibleGroup.tsx +1 -1
  669. package/src/Collapsible/CollapsibleGroupContext.tsx +1 -1
  670. package/src/Collapsible/useCollapsible.doc.mjs +2 -2
  671. package/src/CommandPalette/CommandPalette.doc.mjs +4 -4
  672. package/src/CommandPalette/CommandPalette.tsx +1 -1
  673. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +1 -1
  674. package/src/CommandPalette/CommandPaletteEmpty.tsx +1 -1
  675. package/src/CommandPalette/CommandPaletteFooter.doc.mjs +1 -1
  676. package/src/CommandPalette/CommandPaletteFooter.tsx +1 -1
  677. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +1 -1
  678. package/src/CommandPalette/CommandPaletteGroup.test.tsx +6 -2
  679. package/src/CommandPalette/CommandPaletteGroup.tsx +1 -1
  680. package/src/CommandPalette/CommandPaletteInput.doc.mjs +1 -1
  681. package/src/CommandPalette/CommandPaletteInput.tsx +5 -1
  682. package/src/CommandPalette/CommandPaletteItem.doc.mjs +1 -1
  683. package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
  684. package/src/CommandPalette/CommandPaletteList.doc.mjs +1 -1
  685. package/src/CommandPalette/CommandPaletteList.tsx +1 -1
  686. package/src/ComplexSelector/ComplexSelector.doc.mjs +220 -0
  687. package/src/ComplexSelector/ComplexSelector.test.tsx +156 -0
  688. package/src/ComplexSelector/ComplexSelector.tsx +429 -0
  689. package/src/ComplexSelector/index.ts +17 -0
  690. package/src/ContextMenu/ContextMenu.doc.mjs +3 -3
  691. package/src/ContextMenu/ContextMenu.test.tsx +17 -2
  692. package/src/ContextMenu/ContextMenu.tsx +27 -6
  693. package/src/ContextMenu/ContextMenuItem.doc.mjs +1 -1
  694. package/src/DateInput/DateInput.doc.mjs +17 -3
  695. package/src/DateInput/DateInput.test.tsx +62 -3
  696. package/src/DateInput/DateInput.tsx +18 -2
  697. package/src/DateRangeInput/DateRangeInput.doc.mjs +10 -2
  698. package/src/DateRangeInput/DateRangeInput.test.tsx +73 -2
  699. package/src/DateRangeInput/DateRangeInput.tsx +18 -2
  700. package/src/DateTimeInput/DateTimeInput.doc.mjs +17 -3
  701. package/src/DateTimeInput/DateTimeInput.test.tsx +62 -2
  702. package/src/DateTimeInput/DateTimeInput.tsx +18 -2
  703. package/src/Dialog/Dialog.doc.mjs +7 -5
  704. package/src/Dialog/Dialog.test.tsx +46 -3
  705. package/src/Dialog/Dialog.tsx +61 -44
  706. package/src/Dialog/DialogHeader.doc.mjs +1 -1
  707. package/src/Dialog/DialogHeader.tsx +1 -1
  708. package/src/Dialog/index.ts +18 -1
  709. package/src/Dialog/useImperativeDialog.doc.mjs +1 -1
  710. package/src/Divider/Divider.doc.mjs +3 -3
  711. package/src/Divider/Divider.tsx +2 -19
  712. package/src/Divider/index.ts +19 -5
  713. package/src/DropdownMenu/DropdownMenu.doc.mjs +20 -5
  714. package/src/DropdownMenu/DropdownMenu.test.tsx +122 -0
  715. package/src/DropdownMenu/DropdownMenu.tsx +31 -20
  716. package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +1 -1
  717. package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +41 -64
  718. package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -1
  719. package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
  720. package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +5 -13
  721. package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +9 -10
  722. package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +1 -1
  723. package/src/DropdownMenu/DropdownMenuRadioItem.tsx +11 -2
  724. package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +84 -2
  725. package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +1 -1
  726. package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +46 -1
  727. package/src/DropdownMenu/DropdownMenuSubMenu.tsx +24 -8
  728. package/src/DropdownMenu/menuItemHover.ts +1 -0
  729. package/src/DropdownMenu/renderDropdownItems.tsx +14 -2
  730. package/src/EmptyState/EmptyState.doc.mjs +3 -3
  731. package/src/EmptyState/EmptyState.tsx +1 -1
  732. package/src/Field/Field.doc.mjs +7 -3
  733. package/src/Field/Field.tsx +1 -1
  734. package/src/Field/FieldLabel.doc.mjs +1 -1
  735. package/src/Field/FieldLabel.test.tsx +103 -0
  736. package/src/Field/FieldLabel.tsx +61 -5
  737. package/src/FieldStatus/FieldStatus.doc.mjs +3 -2
  738. package/src/FieldStatus/FieldStatus.test.tsx +61 -0
  739. package/src/FieldStatus/FieldStatus.tsx +16 -23
  740. package/src/FieldStatus/index.ts +20 -5
  741. package/src/FileInput/FileInput.doc.mjs +3 -3
  742. package/src/FileInput/FileInput.tsx +1 -1
  743. package/src/FormLayout/FormLayout.doc.mjs +3 -3
  744. package/src/FormLayout/FormLayout.tsx +2 -5
  745. package/src/Grid/Grid.doc.mjs +3 -8
  746. package/src/Grid/Grid.tsx +1 -25
  747. package/src/Grid/GridSpan.doc.mjs +1 -1
  748. package/src/Grid/GridSpan.tsx +1 -1
  749. package/src/HStack/HStack.tsx +1 -1
  750. package/src/Heading/Heading.tsx +4 -3
  751. package/src/HoverCard/HoverCard.doc.mjs +3 -3
  752. package/src/HoverCard/HoverCard.tsx +1 -1
  753. package/src/HoverCard/useHoverCard.doc.mjs +2 -2
  754. package/src/Icon/Icon.doc.mjs +7 -6
  755. package/src/Icon/Icon.test.tsx +23 -0
  756. package/src/Icon/Icon.tsx +4 -2
  757. package/src/Icon/defaultIcons.tsx +14 -0
  758. package/src/Icon/globalIconRegistry.test.tsx +87 -1
  759. package/src/Icon/globalIconRegistry.tsx +111 -9
  760. package/src/Icon/index.ts +9 -7
  761. package/src/Icon/useIcon.ts +23 -0
  762. package/src/IconButton/IconButton.doc.mjs +2 -2
  763. package/src/IconButton/IconButton.tsx +1 -1
  764. package/src/InputGroup/InputGroup.doc.mjs +2 -2
  765. package/src/InputGroup/InputGroup.tsx +1 -1
  766. package/src/InputGroup/InputGroupText.doc.mjs +1 -1
  767. package/src/InputGroup/InputGroupText.tsx +1 -1
  768. package/src/Item/Item.doc.mjs +8 -3
  769. package/src/Item/Item.test.tsx +88 -0
  770. package/src/Item/Item.tsx +58 -12
  771. package/src/Kbd/Kbd.doc.mjs +3 -3
  772. package/src/Kbd/Kbd.tsx +1 -1
  773. package/src/Layer/Layer.doc.mjs +2 -2
  774. package/src/Layer/useLayer.doc.mjs +2 -2
  775. package/src/Layout/Layout.doc.mjs +3 -3
  776. package/src/Layout/Layout.tsx +1 -1
  777. package/src/Layout/LayoutContent.doc.mjs +1 -1
  778. package/src/Layout/LayoutContent.tsx +1 -1
  779. package/src/Layout/LayoutFooter.doc.mjs +1 -1
  780. package/src/Layout/LayoutFooter.tsx +1 -1
  781. package/src/Layout/LayoutHeader.doc.mjs +1 -1
  782. package/src/Layout/LayoutHeader.tsx +1 -1
  783. package/src/Layout/LayoutPanel.doc.mjs +1 -1
  784. package/src/Layout/LayoutPanel.tsx +1 -1
  785. package/src/Lightbox/Lightbox.doc.mjs +6 -6
  786. package/src/Lightbox/Lightbox.test.tsx +211 -0
  787. package/src/Lightbox/Lightbox.tsx +152 -60
  788. package/src/Link/Link.doc.mjs +3 -3
  789. package/src/Link/Link.tsx +1 -1
  790. package/src/Link/LinkProvider.doc.mjs +2 -2
  791. package/src/Link/LinkProvider.tsx +2 -2
  792. package/src/List/List.doc.mjs +3 -3
  793. package/src/List/List.tsx +1 -1
  794. package/src/List/ListItem.doc.mjs +13 -1
  795. package/src/List/ListItem.tsx +14 -1
  796. package/src/Markdown/Markdown.doc.mjs +81 -1
  797. package/src/Markdown/Markdown.test.tsx +92 -0
  798. package/src/Markdown/Markdown.tsx +96 -68
  799. package/src/Markdown/parser.perf.test.ts +47 -35
  800. package/src/MetadataList/MetadataList.doc.mjs +3 -3
  801. package/src/MetadataList/MetadataList.test.tsx +82 -0
  802. package/src/MetadataList/MetadataList.tsx +45 -20
  803. package/src/MetadataList/MetadataListItem.doc.mjs +1 -1
  804. package/src/MetadataList/MetadataListItem.tsx +1 -1
  805. package/src/MobileNav/MobileNav.doc.mjs +3 -3
  806. package/src/MobileNav/MobileNav.tsx +4 -4
  807. package/src/MoreMenu/MoreMenu.doc.mjs +3 -3
  808. package/src/MoreMenu/MoreMenu.tsx +3 -3
  809. package/src/MultiSelector/MultiSelector.doc.mjs +35 -10
  810. package/src/MultiSelector/MultiSelector.test.tsx +303 -3
  811. package/src/MultiSelector/MultiSelector.tsx +223 -58
  812. package/src/NavIcon/NavIcon.doc.mjs +3 -3
  813. package/src/NavIcon/NavIcon.tsx +1 -1
  814. package/src/NavMenu/NavHeadingMenu.test.tsx +0 -16
  815. package/src/NavMenu/NavMenu.doc.mjs +2 -2
  816. package/src/NavMenu/index.ts +0 -4
  817. package/src/NumberInput/NumberInput.doc.mjs +3 -6
  818. package/src/NumberInput/NumberInput.test.tsx +38 -3
  819. package/src/NumberInput/NumberInput.tsx +24 -1
  820. package/src/Outline/Outline.doc.mjs +3 -3
  821. package/src/Outline/Outline.tsx +1 -1
  822. package/src/OverflowList/OverflowList.doc.mjs +3 -3
  823. package/src/OverflowList/OverflowList.tsx +1 -1
  824. package/src/Overlay/Overlay.doc.mjs +2 -2
  825. package/src/Pagination/Pagination.doc.mjs +55 -8
  826. package/src/Pagination/Pagination.test.tsx +582 -0
  827. package/src/Pagination/Pagination.tsx +247 -55
  828. package/src/Pagination/index.ts +22 -1
  829. package/src/Popover/Popover.doc.mjs +31 -3
  830. package/src/Popover/Popover.test.tsx +41 -0
  831. package/src/Popover/Popover.tsx +25 -2
  832. package/src/Popover/usePopover.doc.mjs +2 -2
  833. package/src/Popover/usePopover.tsx +10 -4
  834. package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
  835. package/src/PowerSearch/PowerSearch.tsx +1 -1
  836. package/src/ProgressBar/ProgressBar.doc.mjs +24 -3
  837. package/src/ProgressBar/ProgressBar.test.tsx +523 -2
  838. package/src/ProgressBar/ProgressBar.tsx +250 -25
  839. package/src/ProgressBar/ProgressBarMarkTooltip.tsx +43 -0
  840. package/src/ProgressBar/index.ts +22 -1
  841. package/src/RadioList/RadioList.doc.mjs +3 -3
  842. package/src/RadioList/RadioList.test.tsx +26 -4
  843. package/src/RadioList/RadioList.tsx +1 -1
  844. package/src/RadioList/RadioListItem.doc.mjs +1 -1
  845. package/src/RadioList/RadioListItem.tsx +9 -2
  846. package/src/Resizable/Resizable.doc.mjs +2 -2
  847. package/src/Resizable/ResizeHandle.test.tsx +52 -3
  848. package/src/Resizable/ResizeHandle.tsx +25 -13
  849. package/src/Resizable/useResizable.doc.mjs +2 -2
  850. package/src/Section/Section.doc.mjs +3 -3
  851. package/src/Section/Section.tsx +2 -20
  852. package/src/Section/index.ts +20 -5
  853. package/src/SegmentedControl/SegmentedControl.doc.mjs +3 -3
  854. package/src/SegmentedControl/SegmentedControl.test.tsx +28 -0
  855. package/src/SegmentedControl/SegmentedControl.tsx +1 -1
  856. package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
  857. package/src/SegmentedControl/SegmentedControlItem.tsx +21 -3
  858. package/src/SelectableCard/SelectableCard.doc.mjs +4 -2
  859. package/src/SelectableCard/SelectableCard.test.tsx +55 -0
  860. package/src/SelectableCard/SelectableCard.tsx +19 -3
  861. package/src/Selector/Selector.doc.mjs +29 -8
  862. package/src/Selector/Selector.test.tsx +447 -9
  863. package/src/Selector/Selector.tsx +232 -57
  864. package/src/Selector/SelectorOption.doc.mjs +1 -1
  865. package/src/Selector/hooks.ts +45 -21
  866. package/src/SideNav/SideNav.doc.mjs +3 -3
  867. package/src/SideNav/SideNav.tsx +1 -1
  868. package/src/SideNav/SideNavCollapseButton.doc.mjs +1 -1
  869. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  870. package/src/SideNav/SideNavHeading.doc.mjs +1 -1
  871. package/src/SideNav/SideNavHeading.tsx +8 -9
  872. package/src/SideNav/SideNavItem.doc.mjs +1 -1
  873. package/src/SideNav/SideNavItem.tsx +5 -6
  874. package/src/SideNav/SideNavSection.doc.mjs +1 -1
  875. package/src/SideNav/SideNavSection.tsx +1 -1
  876. package/src/Skeleton/Skeleton.doc.mjs +3 -3
  877. package/src/Skeleton/Skeleton.test.tsx +16 -0
  878. package/src/Skeleton/Skeleton.tsx +14 -2
  879. package/src/Slider/Slider.doc.mjs +3 -3
  880. package/src/Slider/Slider.tsx +9 -13
  881. package/src/Spinner/Spinner.doc.mjs +3 -3
  882. package/src/Spinner/Spinner.tsx +1 -1
  883. package/src/Stack/Stack.doc.mjs +113 -3
  884. package/src/Stack/Stack.tsx +1 -1
  885. package/src/Stack/StackItem.tsx +1 -1
  886. package/src/StatusDot/StatusDot.doc.mjs +15 -6
  887. package/src/StatusDot/StatusDot.tsx +2 -22
  888. package/src/StatusDot/index.ts +22 -5
  889. package/src/Switch/Switch.doc.mjs +5 -5
  890. package/src/Switch/Switch.test.tsx +71 -25
  891. package/src/Switch/Switch.tsx +63 -26
  892. package/src/TabList/Tab.doc.mjs +1 -1
  893. package/src/TabList/Tab.tsx +1 -1
  894. package/src/TabList/TabList.doc.mjs +3 -3
  895. package/src/TabList/TabList.test.tsx +21 -18
  896. package/src/TabList/TabList.tsx +1 -1
  897. package/src/TabList/TabMenu.doc.mjs +1 -1
  898. package/src/TabList/TabMenu.tsx +11 -3
  899. package/src/Table/BaseTable.tsx +4 -5
  900. package/src/Table/Table.doc.mjs +5 -5
  901. package/src/Table/Table.test.tsx +27 -49
  902. package/src/Table/Table.tsx +1 -1
  903. package/src/Table/TableCell.doc.mjs +1 -1
  904. package/src/Table/TableCell.tsx +2 -2
  905. package/src/Table/TableHeaderCell.doc.mjs +1 -1
  906. package/src/Table/TableHeaderCell.tsx +2 -2
  907. package/src/Table/TableRow.doc.mjs +1 -1
  908. package/src/Table/TableRow.tsx +1 -1
  909. package/src/Table/index.ts +1 -1
  910. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +1 -1
  911. package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +19 -0
  912. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +30 -11
  913. package/src/Table/plugins/tree/useTableTreeData.test.tsx +161 -2
  914. package/src/Table/plugins/tree/useTableTreeData.tsx +54 -1
  915. package/src/Table/types.ts +0 -9
  916. package/src/Table/useTableColumnResize.doc.mjs +1 -1
  917. package/src/Table/useTableColumnSettings.doc.mjs +1 -1
  918. package/src/Table/useTableFilterState.doc.mjs +1 -1
  919. package/src/Table/useTableFiltering.doc.mjs +1 -1
  920. package/src/Table/useTableGroupedRows.doc.mjs +2 -2
  921. package/src/Table/useTablePagination.doc.mjs +1 -1
  922. package/src/Table/useTableRowExpansion.doc.mjs +57 -4
  923. package/src/Table/useTableRowIndex.doc.mjs +2 -2
  924. package/src/Table/useTableRowStatus.doc.mjs +3 -3
  925. package/src/Table/useTableSelection.doc.mjs +1 -1
  926. package/src/Table/useTableSelectionState.doc.mjs +1 -1
  927. package/src/Table/useTableSortable.doc.mjs +1 -1
  928. package/src/Table/useTableStickyColumns.doc.mjs +1 -1
  929. package/src/Table/useTableTreeData.doc.mjs +10 -1
  930. package/src/Table/useTableTreeState.doc.mjs +1 -1
  931. package/src/Text/Heading.doc.mjs +4 -4
  932. package/src/Text/Text.doc.mjs +4 -4
  933. package/src/Text/Text.test.tsx +42 -0
  934. package/src/Text/Text.tsx +26 -2
  935. package/src/Text/index.ts +32 -6
  936. package/src/TextArea/TextArea.doc.mjs +5 -5
  937. package/src/TextArea/TextArea.test.tsx +112 -7
  938. package/src/TextArea/TextArea.tsx +143 -50
  939. package/src/TextInput/TextInput.doc.mjs +3 -3
  940. package/src/TextInput/TextInput.tsx +1 -1
  941. package/src/Thumbnail/Thumbnail.doc.mjs +2 -2
  942. package/src/Thumbnail/Thumbnail.test.tsx +24 -1
  943. package/src/Thumbnail/Thumbnail.tsx +28 -35
  944. package/src/TimeInput/TimeInput.doc.mjs +3 -3
  945. package/src/TimeInput/TimeInput.tsx +1 -1
  946. package/src/Timestamp/Timestamp.doc.mjs +30 -24
  947. package/src/Timestamp/Timestamp.test.tsx +438 -107
  948. package/src/Timestamp/Timestamp.tsx +167 -103
  949. package/src/Timestamp/TimestampHoverCard.tsx +283 -0
  950. package/src/Timestamp/formatInstant.ts +9 -4
  951. package/src/Timestamp/tooltipEntries.test.ts +9 -0
  952. package/src/Timestamp/tooltipEntries.ts +18 -2
  953. package/src/Toast/Toast.doc.mjs +3 -3
  954. package/src/Toast/ToastViewport.test.tsx +218 -8
  955. package/src/Toast/ToastViewport.tsx +71 -12
  956. package/src/Toast/useToast.doc.mjs +2 -2
  957. package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
  958. package/src/ToggleButton/ToggleButton.test.tsx +24 -0
  959. package/src/ToggleButton/ToggleButton.tsx +20 -2
  960. package/src/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  961. package/src/ToggleButton/ToggleButtonGroup.tsx +3 -6
  962. package/src/Token/Token.doc.mjs +3 -3
  963. package/src/Token/Token.test.tsx +145 -0
  964. package/src/Token/Token.tsx +75 -61
  965. package/src/Token/TokenLink.tsx +107 -0
  966. package/src/Token/index.ts +28 -1
  967. package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
  968. package/src/Tokenizer/Tokenizer.tsx +1 -1
  969. package/src/Toolbar/Toolbar.doc.mjs +3 -3
  970. package/src/Toolbar/Toolbar.tsx +1 -1
  971. package/src/Tooltip/Tooltip.doc.mjs +3 -3
  972. package/src/Tooltip/Tooltip.tsx +1 -1
  973. package/src/Tooltip/useTooltip.doc.mjs +2 -2
  974. package/src/TopNav/TopNav.doc.mjs +3 -3
  975. package/src/TopNav/TopNav.test.tsx +2 -2
  976. package/src/TopNav/TopNav.tsx +2 -4
  977. package/src/TopNav/TopNavHeading.doc.mjs +1 -12
  978. package/src/TopNav/TopNavHeading.tsx +8 -18
  979. package/src/TopNav/TopNavItem.doc.mjs +1 -1
  980. package/src/TopNav/TopNavItem.tsx +1 -1
  981. package/src/TopNav/TopNavMegaMenu.doc.mjs +1 -1
  982. package/src/TopNav/TopNavMegaMenu.tsx +35 -11
  983. package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +1 -1
  984. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +1 -1
  985. package/src/TopNav/TopNavMegaMenuItem.doc.mjs +1 -1
  986. package/src/TopNav/TopNavMegaMenuItem.tsx +1 -1
  987. package/src/TopNav/TopNavMenu.doc.mjs +1 -1
  988. package/src/TopNav/TopNavMenu.tsx +5 -4
  989. package/src/TreeList/TreeList.doc.mjs +3 -3
  990. package/src/TreeList/TreeList.test.tsx +10 -6
  991. package/src/TreeList/TreeList.tsx +1 -1
  992. package/src/TreeList/TreeListBranches.tsx +1 -1
  993. package/src/TreeList/TreeListItem.tsx +4 -3
  994. package/src/TreeList/TreeListTypes.ts +1 -18
  995. package/src/TreeList/index.ts +19 -1
  996. package/src/Typeahead/BaseTypeahead.doc.mjs +1 -1
  997. package/src/Typeahead/BaseTypeahead.tsx +13 -1
  998. package/src/Typeahead/Typeahead.doc.mjs +3 -3
  999. package/src/Typeahead/Typeahead.test.tsx +62 -0
  1000. package/src/Typeahead/Typeahead.tsx +7 -1
  1001. package/src/Typeahead/TypeaheadItem.doc.mjs +1 -1
  1002. package/src/Typeahead/TypeaheadItem.tsx +1 -1
  1003. package/src/VStack/VStack.tsx +1 -1
  1004. package/src/VisuallyHidden/VisuallyHidden.doc.mjs +3 -3
  1005. package/src/VisuallyHidden/VisuallyHidden.tsx +1 -1
  1006. package/src/__tests__/babelPluginAddExtensions.test.ts +190 -0
  1007. package/src/__tests__/forcedColors.ts +60 -0
  1008. package/src/__tests__/inputWidthContract.test.tsx +8 -1
  1009. package/src/doc-mjs.d.ts +5 -2
  1010. package/src/docPropLiterals.test.ts +1 -1
  1011. package/src/docPropReferences.test.ts +1 -1
  1012. package/src/hooks/containerReveal.pool.stylex.ts +571 -0
  1013. package/src/hooks/index.ts +7 -0
  1014. package/src/hooks/useClickableContainer.doc.mjs +2 -2
  1015. package/src/hooks/useContainerReveal.doc.mjs +75 -0
  1016. package/src/hooks/useContainerReveal.test.tsx +116 -0
  1017. package/src/hooks/useContainerReveal.ts +181 -0
  1018. package/src/hooks/useEntryAnimation.doc.mjs +2 -2
  1019. package/src/hooks/useFocusTrap.doc.mjs +2 -2
  1020. package/src/hooks/useGridFocus.doc.mjs +2 -2
  1021. package/src/hooks/useGridFocus.ts +8 -6
  1022. package/src/hooks/useHotkeys.doc.mjs +2 -2
  1023. package/src/hooks/useImageMode.doc.mjs +2 -2
  1024. package/src/hooks/useImageMode.test.ts +1 -1
  1025. package/src/hooks/useInputContainer.doc.mjs +2 -2
  1026. package/src/hooks/useInputContainer.test.tsx +180 -0
  1027. package/src/hooks/useInputContainer.ts +36 -1
  1028. package/src/hooks/useInputStatusIcon.test.tsx +59 -0
  1029. package/src/hooks/useInputStatusIcon.tsx +12 -1
  1030. package/src/hooks/useKeyboardHint.doc.mjs +2 -2
  1031. package/src/hooks/useKeyboardHint.test.tsx +22 -0
  1032. package/src/hooks/useKeyboardHint.tsx +7 -3
  1033. package/src/hooks/useListFocus.doc.mjs +2 -2
  1034. package/src/hooks/useListFocus.ts +8 -7
  1035. package/src/hooks/useLongPress.test.tsx +18 -0
  1036. package/src/hooks/useLongPress.ts +12 -2
  1037. package/src/hooks/useMediaQuery.doc.mjs +2 -2
  1038. package/src/hooks/useOverflow.doc.mjs +2 -2
  1039. package/src/hooks/useScrollLock.doc.mjs +2 -2
  1040. package/src/hooks/useScrollOverflow.doc.mjs +2 -2
  1041. package/src/hooks/useStreamingText.doc.mjs +2 -2
  1042. package/src/hooks/useTreeFocus.doc.mjs +2 -2
  1043. package/src/hooks/useTreeFocus.test.tsx +53 -1
  1044. package/src/hooks/useTreeFocus.ts +13 -2
  1045. package/src/i18n/InternationalizationProvider.doc.mjs +14 -2
  1046. package/src/i18n/InternationalizationProvider.tsx +6 -0
  1047. package/src/i18n/useDirection.ts +6 -3
  1048. package/src/i18n/useTranslator.doc.mjs +2 -2
  1049. package/src/index.ts +2 -18
  1050. package/src/theme/MediaTheme.doc.mjs +2 -2
  1051. package/src/theme/SyntaxTheme.doc.mjs +2 -2
  1052. package/src/theme/Theme.doc.mjs +2 -2
  1053. package/src/theme/Theme.tsx +3 -7
  1054. package/src/theme/contrast.test.ts +94 -0
  1055. package/src/theme/contrast.ts +99 -0
  1056. package/src/theme/defineTheme.test.ts +29 -30
  1057. package/src/theme/defineTheme.ts +11 -5
  1058. package/src/theme/derivedVarRegistry.test.ts +0 -1
  1059. package/src/theme/derivedVarRegistry.ts +0 -6
  1060. package/src/theme/expandColorScale.test.ts +401 -1
  1061. package/src/theme/expandColorScale.ts +143 -19
  1062. package/src/theme/generateThemeRules.test.ts +20 -20
  1063. package/src/theme/generateThemeRules.ts +0 -15
  1064. package/src/theme/index.ts +11 -13
  1065. package/src/theme/themeRegistry.test.ts +59 -0
  1066. package/src/theme/themeRegistry.ts +53 -0
  1067. package/src/theme/tokens.stylex.ts +0 -19
  1068. package/src/theme/types.ts +14 -13
  1069. package/src/theme/useTheme.doc.mjs +2 -2
  1070. package/src/theme/useTheme.test.tsx +48 -3
  1071. package/src/theme/useTheme.ts +100 -29
  1072. package/src/utils/rtlStyles.ts +24 -2
  1073. package/dist/NavMenu/NavMenuItem.d.ts +0 -13
  1074. package/dist/NavMenu/NavMenuItem.d.ts.map +0 -1
  1075. package/dist/NavMenu/NavMenuItem.js +0 -16
  1076. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +0 -9
  1077. package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +0 -1
  1078. package/dist/Thumbnail/thumbnail.markers.stylex.js +0 -14
  1079. package/dist/authoring/doc.d.ts +0 -145
  1080. package/dist/authoring/doc.d.ts.map +0 -1
  1081. package/dist/authoring/doc.js +0 -100
  1082. package/dist/authoring/index.d.ts +0 -29
  1083. package/dist/authoring/index.d.ts.map +0 -1
  1084. package/dist/authoring/index.js +0 -28
  1085. package/dist/authoring/integration.d.ts +0 -35
  1086. package/dist/authoring/integration.d.ts.map +0 -1
  1087. package/dist/authoring/integration.js +0 -30
  1088. package/dist/authoring/template.d.ts +0 -66
  1089. package/dist/authoring/template.d.ts.map +0 -1
  1090. package/dist/authoring/template.js +0 -55
  1091. package/dist/config.d.ts +0 -80
  1092. package/dist/config.d.ts.map +0 -1
  1093. package/dist/config.js +0 -40
  1094. package/dist/docs-types.d.ts +0 -969
  1095. package/dist/docs-types.d.ts.map +0 -1
  1096. package/dist/docs-types.js +0 -1
  1097. package/src/NavMenu/NavMenuItem.tsx +0 -19
  1098. package/src/Thumbnail/thumbnail.markers.stylex.ts +0 -12
  1099. package/src/authoring/doc.ts +0 -164
  1100. package/src/authoring/index.test.ts +0 -52
  1101. package/src/authoring/index.ts +0 -50
  1102. package/src/authoring/integration.ts +0 -42
  1103. package/src/authoring/template.ts +0 -74
  1104. package/src/config.test.ts +0 -16
  1105. package/src/config.ts +0 -92
  1106. package/src/docs-types.ts +0 -1108
@@ -4,7 +4,8 @@
4
4
 
5
5
  /**
6
6
  * @file Selector.tsx
7
- * @input Uses React, StyleX, usePopover, useTooltip, Icon, InputGroupContext
7
+ * @input Uses React, StyleX, usePopover, useTooltip, Icon, InputGroupContext,
8
+ * and Selector positioning hooks
8
9
  * @output Exports Selector component
9
10
  * @position Core implementation; consumed by index.ts
10
11
  *
@@ -13,7 +14,7 @@
13
14
  * - /packages/core/src/Selector/Selector.test.tsx
14
15
  * - /packages/core/src/Selector/index.ts
15
16
  * - /apps/storybook/stories/InputGroup.stories.tsx
16
- * - /packages/cli/templates/blocks/components/Selector/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/Selector/ (showcase blocks)
17
18
  */
18
19
  import React, { useCallback, useEffect, useId, useMemo, useOptimistic, useRef, useState, useTransition } from 'react';
19
20
  import * as stylex from '@stylexjs/stylex';
@@ -24,6 +25,7 @@ import { Field, inputStatusBorderStyles, inputStatusHoverShadowStyles, inputWrap
24
25
  import { Divider } from "../Divider/index.js";
25
26
  import { layerAnimations } from "../Layer/layerAnimations.stylex.js";
26
27
  import { Spinner } from "../Spinner/index.js";
28
+ import { TextInput } from "../TextInput/index.js";
27
29
  import { useAnnounce } from "../hooks/useAnnounce.js";
28
30
  import "../theme/tokens.stylex.js";
29
31
  import { colorVars, sizeVars, spacingVars, radiusVars, durationVars, easeVars, typographyVars, fontWeightVars, typeScaleVars, borderVars } from "../theme/tokens.stylex.js";
@@ -59,6 +61,24 @@ const styles = {
59
61
  kMwMTN: "xv1l7n4",
60
62
  $$css: true
61
63
  },
64
+ triggerGhost: {
65
+ kzqmXN: "x14atkfc",
66
+ kMzoRj: "xc342km",
67
+ kWkggS: "xjbqb8w",
68
+ kKwaWg: "x1ilzqfv xq8i9tn",
69
+ kGVxlE: "x1gnnqk1 x1irk71m x15ysqaf",
70
+ k63SB2: "x1e4wzip",
71
+ kI3sdo: "x1a2a7pz x1irc7jg",
72
+ kInvED: "x1wfwxd8 xscfbxq",
73
+ k1ekBW: "xrafxwg",
74
+ k3aq6I: "x3oybdh xk4oym4",
75
+ $$css: true
76
+ },
77
+ triggerGhostDisabled: {
78
+ kKwaWg: "x18o3ruo",
79
+ k3aq6I: "x1c071of x1pdlv7q",
80
+ $$css: true
81
+ },
62
82
  popover: {
63
83
  k7Eaqz: "xrzjruh",
64
84
  $$css: true
@@ -148,6 +168,11 @@ const STATUS_ICON_COLOR_MAP = {
148
168
  error: 'error',
149
169
  success: 'success'
150
170
  };
171
+ const STATUS_BUTTON_LABEL_KEY = {
172
+ warning: '@astryx.input.statusButton.warning',
173
+ error: '@astryx.input.statusButton.error',
174
+ success: '@astryx.input.statusButton.success'
175
+ };
151
176
 
152
177
  /**
153
178
  * Without `hasClear`, the selector always has a string value (or undefined for placeholder).
@@ -218,6 +243,7 @@ export function Selector(props) {
218
243
  isLoading = false,
219
244
  placeholder: placeholderFromProps,
220
245
  size: sizeProp,
246
+ variant = 'input',
221
247
  status,
222
248
  statusVariant = 'attached',
223
249
  labelTooltip,
@@ -240,6 +266,7 @@ export function Selector(props) {
240
266
  const searchPlaceholder = searchPlaceholderFromProps ?? t('@astryx.selector.searchPlaceholder');
241
267
  const hasClear = hasClearProp === true;
242
268
  const size = useSize(sizeProp, 'md');
269
+ const effectiveStatusVariant = variant === 'ghost' && statusVariant === 'attached' ? 'detached' : statusVariant;
243
270
 
244
271
  // Normalize null to undefined for internal use (null is the clear sentinel)
245
272
  const normalizedValue = value === null ? undefined : value;
@@ -249,10 +276,16 @@ export function Selector(props) {
249
276
  const statusMessageId = useId();
250
277
  const inputLabelId = useId();
251
278
  const searchId = useId();
279
+ // Measure from the same outer control that usePopover anchors to; using the
280
+ // shorter inner button makes every size's selected row land too low.
281
+ const anchorRef = useRef(null);
252
282
  const triggerRef = useRef(null);
253
283
  const searchRef = useRef(null);
254
284
  const inputGroup = useInputGroup();
255
285
  const [searchQuery, setSearchQuery] = useState('');
286
+ // A typed query shows TextInput's built-in clear (✕) button, which becomes
287
+ // the next tab stop after the search input.
288
+ const hasQuery = searchQuery.length > 0;
256
289
  const [, startTransition] = useTransition();
257
290
  const [optimisticValue, setOptimisticValue] = useOptimistic(normalizedValue);
258
291
  const isBusy = isLoading || optimisticValue !== normalizedValue;
@@ -270,10 +303,14 @@ export function Selector(props) {
270
303
  focusTrigger: 'always',
271
304
  isEnabled: showsDisabledMessage
272
305
  });
306
+ const statusTooltip = useTooltip({
307
+ placement: 'above',
308
+ isEnabled: effectiveStatusVariant === 'tooltip' && !!status?.message
309
+ });
273
310
  const {
274
311
  ariaLabelledBy,
275
312
  ariaDescribedBy
276
- } = getInputARIA(inputLabelId, [description ? descriptionId : null, status?.message ? statusMessageId : null, showsDisabledMessage ? disabledMessageTooltip.describedBy : null], inputGroup);
313
+ } = getInputARIA(inputLabelId, [description ? descriptionId : null, !inputGroup && effectiveStatusVariant !== 'tooltip' && status?.message ? statusMessageId : null, effectiveStatusVariant === 'tooltip' && status?.message ? statusTooltip.describedBy : null, showsDisabledMessage ? disabledMessageTooltip.describedBy : null], inputGroup);
277
314
 
278
315
  // Flatten options for keyboard navigation
279
316
  const selectableItems = useMemo(() => getSelectableOptions(options), [options]);
@@ -328,8 +365,7 @@ export function Selector(props) {
328
365
  // BaseTypeahead) rather than a reactive effect: computing the count for the
329
366
  // next query here fires the announcement exactly once per keystroke and does
330
367
  // not re-speak on unrelated re-renders.
331
- const handleSearchChange = useCallback(event => {
332
- const nextQuery = event.target.value;
368
+ const handleSearchChange = useCallback(nextQuery => {
333
369
  setSearchQuery(nextQuery);
334
370
  if (nextQuery.length === 0) {
335
371
  // Emptying the query clears the region rather than announcing a count.
@@ -352,7 +388,7 @@ export function Selector(props) {
352
388
  selectedItemIndex,
353
389
  listboxId,
354
390
  listboxRef,
355
- triggerRef
391
+ anchorRef
356
392
  });
357
393
  const selectedItemOffset = shouldOverlaySelectedItem ? rawOffset : 0;
358
394
  const isPositioned = shouldOverlaySelectedItem ? rawIsPositioned : true;
@@ -436,41 +472,72 @@ export function Selector(props) {
436
472
  }
437
473
  return /*#__PURE__*/_jsx("div", {
438
474
  ...{
439
- className: "xf314gf xu0wf1k"
475
+ className: "x78zum5 x6s0dn4 xf314gf xu0wf1k"
476
+ },
477
+ onKeyDown: e => {
478
+ // The clear (✕) button lives inside the TextInput, after the input in
479
+ // DOM order. When it is focused and the user tabs forward there is
480
+ // nothing else in the popup, so dismiss it (Shift+Tab returns to the
481
+ // input natively). Key events originating on the input are handled on
482
+ // the input below; ignore them here so we don't double-dismiss.
483
+ if (e.target === searchRef.current) {
484
+ return;
485
+ }
486
+ if (e.key === 'Tab' && !e.shiftKey) {
487
+ onKeyDown(e);
488
+ }
440
489
  },
441
- children: /*#__PURE__*/_jsx("input", {
490
+ children: /*#__PURE__*/_jsx(TextInput, {
442
491
  ref: searchRef,
443
492
  id: searchId
493
+ // The search field IS a TextInput: the leading magnifier is its
494
+ // `startIcon` and the trailing clear (✕) is its built-in `hasClear`
495
+ // (which resets the value and refocuses the input). We add no bespoke
496
+ // affordance chrome — the field just looks and behaves like every
497
+ // other Astryx input.
498
+ ,
499
+ label: t('@astryx.selector.searchOptions'),
500
+ isLabelHidden: true,
501
+ startIcon: "search",
502
+ hasClear: true,
503
+ size: "sm"
504
+ // Fill the dropdown's width (minus the wrapper's inline padding) so
505
+ // the field is flush end-to-end rather than sized to its content.
506
+ ,
507
+ width: "100%"
444
508
  // When hasSearch is set, focus moves into this input on open, so it —
445
509
  // not the trigger — must be the combobox that reports the highlighted
446
510
  // option via aria-activedescendant (comboboxes-4). A bare searchbox
447
- // left the highlight silent to screen readers.
511
+ // left the highlight silent to screen readers. role + aria-* pass
512
+ // through to the underlying <input> via BaseProps.
448
513
  ,
449
514
  role: "combobox",
450
515
  "aria-expanded": popover.isOpen,
451
516
  "aria-controls": listboxId,
452
517
  "aria-autocomplete": "list",
453
518
  "aria-activedescendant": popover.isOpen && highlightedIndex >= 0 ? getItemId(highlightedIndex) : undefined,
454
- "aria-label": t('@astryx.selector.searchOptions'),
455
- type: "text",
456
519
  value: searchQuery,
457
520
  onChange: handleSearchChange,
458
521
  onKeyDown: e => {
459
- // Arrow keys navigate options; Enter selects; Escape/Tab close.
522
+ // Arrow keys navigate options; Enter selects; Escape closes.
460
523
  // Home/End are left to the input for caret movement (APG editable
461
524
  // combobox); PageUp/PageDown are the sanctioned substitute for
462
525
  // jumping to the first/last option.
463
- if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'PageUp' || e.key === 'PageDown' || e.key === 'Enter' || e.key === 'Escape' || e.key === 'Tab') {
526
+ if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'PageUp' || e.key === 'PageDown' || e.key === 'Enter' || e.key === 'Escape') {
527
+ onKeyDown(e);
528
+ return;
529
+ }
530
+ // Tab: when a query is showing the clear (✕) button, forward-tab
531
+ // moves focus to it (keeping the popup open) so the affordance is
532
+ // keyboard-reachable. Every other Tab dismisses the popup as usual.
533
+ if (e.key === 'Tab' && (e.shiftKey || !hasQuery)) {
464
534
  onKeyDown(e);
465
535
  }
466
536
  },
467
- placeholder: searchPlaceholder,
468
- ...{
469
- className: "x9f619 xh8yej3 xu0wf1k xf314gf x1litavf x1y0btm7 xvy26l8 xh6dtrn x10xzikg x9ynric xcr08ib xdk3u5w x1tgivj0 x1a2a7pz xzeu18z x1wfwxd8"
470
- }
537
+ placeholder: searchPlaceholder
471
538
  })
472
539
  });
473
- }, [hasSearch, searchId, listboxId, searchQuery, searchPlaceholder, handleSearchChange, onKeyDown, popover.isOpen, highlightedIndex, getItemId, t]);
540
+ }, [hasSearch, searchId, listboxId, searchQuery, hasQuery, searchPlaceholder, handleSearchChange, onKeyDown, popover.isOpen, highlightedIndex, getItemId, t]);
474
541
 
475
542
  // Render an individual item
476
543
  const renderItem = useCallback((item, flatIndex) => {
@@ -495,6 +562,11 @@ export function Selector(props) {
495
562
  icon: "check",
496
563
  size: "sm",
497
564
  color: "accent"
565
+ // Stable theme target on the selected-row marker, so a theme can
566
+ // restyle or hide it (e.g. to compose its own selected indicator
567
+ // via renderOption) without a structural sibling selector.
568
+ ,
569
+ ...themeProps('selector-check')
498
570
  })]
499
571
  }, item.value);
500
572
  }, [renderOption, highlightedIndex, size, normalizedValue, getItemId, onItemSelect, onItemMouseEnter]);
@@ -505,7 +577,12 @@ export function Selector(props) {
505
577
 
506
578
  // Nothing matched across every group/option: show the empty state.
507
579
  if (isSearching && filteredItems.length === 0) {
580
+ // role="presentation" keeps the message out of the listbox's
581
+ // accessibility tree (role="listbox" only permits option/group
582
+ // children); the no-results outcome is announced via the
583
+ // result-count live region instead.
508
584
  return [/*#__PURE__*/_jsx("div", {
585
+ role: "presentation",
509
586
  ...{
510
587
  className: "x1b2ylru x2b8uid xv1l7n4 x9ynric xcr08ib"
511
588
  },
@@ -562,9 +639,15 @@ export function Selector(props) {
562
639
  }
563
640
  return elements;
564
641
  }, [options, renderItem, hasSearch, searchQuery, filteredItems]);
642
+
643
+ // The detached message box renders its own leading status icon, so the
644
+ // on-field icon would duplicate it — keep the chevron indicator instead.
645
+ const showStatusIcon = status != null && effectiveStatusVariant !== 'detached';
646
+ const showStatusTooltip = status != null && effectiveStatusVariant === 'tooltip' && !!status.message;
565
647
  const selectorContent = /*#__PURE__*/_jsxs(_Fragment, {
566
648
  children: [/*#__PURE__*/_jsxs("div", {
567
649
  ref: el => {
650
+ anchorRef.current = el;
568
651
  popover.triggerRef(el);
569
652
  // Anchor + hover/focus listeners for the disabled-message tooltip.
570
653
  // Handlers are gated internally by isEnabled, and anchor names
@@ -574,9 +657,10 @@ export function Selector(props) {
574
657
  onClick: onTriggerClick,
575
658
  "data-testid": testId,
576
659
  ...mergeProps(themeProps('selector', {
660
+ variant,
577
661
  size,
578
662
  status: status?.type ?? null
579
- }), stylex.props(inputWrapperStyles.base, styles.triggerContainer, sizeStyles[size], isDisabled && inputWrapperStyles.disabled, !selectedItem && styles.triggerPlaceholder, status && inputStatusBorderStyles[status.type], status && !isDisabled && inputStatusHoverShadowStyles[status.type], inputGroup && groupStyles.inGroup, xstyle), className, style),
663
+ }), stylex.props(inputWrapperStyles.base, styles.triggerContainer, sizeStyles[size], variant === 'ghost' && styles.triggerGhost, isDisabled && inputWrapperStyles.disabled, variant === 'ghost' && isDisabled && styles.triggerGhostDisabled, !selectedItem && styles.triggerPlaceholder, variant !== 'ghost' && status && inputStatusBorderStyles[status.type], variant !== 'ghost' && status && !isDisabled && inputStatusHoverShadowStyles[status.type], variant !== 'ghost' && inputGroup && groupStyles.inGroup, xstyle), className, style),
580
664
  children: [startIcon && renderIconSlot(startIcon, {
581
665
  size: 'sm',
582
666
  color: 'secondary'
@@ -664,8 +748,22 @@ export function Selector(props) {
664
748
  3: {
665
749
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k x1kky2od xlup9mm x11xpdln xuedmi6 xlr8y92 x1g0ag68 xv9yike x19jd1h0 xq2gx43"
666
750
  }
667
- }[!!(!status && popover.isOpen) << 1 | !!status << 0],
668
- children: status ? /*#__PURE__*/_jsx(Icon, {
751
+ }[!!(!showStatusIcon && popover.isOpen) << 1 | !!showStatusIcon << 0],
752
+ children: showStatusIcon ? showStatusTooltip ? /*#__PURE__*/_jsx("button", {
753
+ ref: statusTooltip.ref,
754
+ type: "button",
755
+ "aria-label": t(STATUS_BUTTON_LABEL_KEY[status.type]),
756
+ "aria-describedby": statusTooltip.describedBy,
757
+ onClick: e => e.stopPropagation(),
758
+ ...{
759
+ className: "x78zum5 x6s0dn4 xl56j7k x1717udv x1ghz6dp xc342km xng3xce xjbqb8w x1heor9g x1ypdohk xh6dtrn x1a2a7pz x1p25gnr x1y3gkto"
760
+ },
761
+ children: /*#__PURE__*/_jsx(Icon, {
762
+ icon: STATUS_ICON_MAP[status.type],
763
+ size: "sm",
764
+ color: STATUS_ICON_COLOR_MAP[status.type]
765
+ })
766
+ }) : /*#__PURE__*/_jsx(Icon, {
669
767
  icon: STATUS_ICON_MAP[status.type],
670
768
  size: "sm",
671
769
  color: STATUS_ICON_COLOR_MAP[status.type]
@@ -691,8 +789,13 @@ export function Selector(props) {
691
789
  role: "listbox",
692
790
  "aria-labelledby": triggerId,
693
791
  ...{
694
- className: "x9f619 xuyqlj2 x1odjw0f x9epnlk x1hc1fzr x1ey1afo"
695
- },
792
+ 0: {
793
+ className: "x9f619 xuyqlj2 x1odjw0f xu0wf1k x7a5moj x1hc1fzr x1ey1afo"
794
+ },
795
+ 1: {
796
+ className: "x9f619 xuyqlj2 x1odjw0f xu0wf1k x1hc1fzr x1ey1afo x2hg6jq"
797
+ }
798
+ }[!!(variant !== 'ghost') << 0],
696
799
  children: renderOptions()
697
800
  })]
698
801
  }) : /*#__PURE__*/_jsx("div", {
@@ -702,19 +805,25 @@ export function Selector(props) {
702
805
  "aria-labelledby": triggerId,
703
806
  ...{
704
807
  0: {
705
- className: "x9f619 xuyqlj2 x1odjw0f x9epnlk x1hc1fzr x1ey1afo"
808
+ className: "x9f619 xuyqlj2 x1odjw0f xu0wf1k x7a5moj x1hc1fzr x1ey1afo"
809
+ },
810
+ 2: {
811
+ className: "x9f619 xuyqlj2 x1odjw0f xu0wf1k x1hc1fzr x1ey1afo x2hg6jq"
706
812
  },
707
813
  1: {
708
- className: "x9f619 xuyqlj2 x1odjw0f x9epnlk xg01cxk xq2gx43"
814
+ className: "x9f619 xuyqlj2 x1odjw0f xu0wf1k x7a5moj xg01cxk xq2gx43"
815
+ },
816
+ 3: {
817
+ className: "x9f619 xuyqlj2 x1odjw0f xu0wf1k x2hg6jq xg01cxk xq2gx43"
709
818
  }
710
- }[!!!isPositioned << 0],
819
+ }[!!(variant !== 'ghost') << 1 | !!!isPositioned << 0],
711
820
  children: renderOptions()
712
821
  }), {
713
822
  placement: popoverPlacement,
714
823
  alignment: 'start',
715
824
  xstyle: [styles.popover, layerAnimations[popoverPlacement]],
716
825
  style: popoverOffsetStyle
717
- }), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
826
+ }), showStatusTooltip && statusTooltip.renderTooltip(status?.message ?? ''), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
718
827
  });
719
828
  if (inputGroup) {
720
829
  return selectorContent;
@@ -733,7 +842,7 @@ export function Selector(props) {
733
842
  message: status.message,
734
843
  messageID: status.message ? statusMessageId : undefined
735
844
  } : undefined,
736
- statusVariant: statusVariant,
845
+ statusVariant: effectiveStatusVariant,
737
846
  labelTooltip: labelTooltip,
738
847
  width: width,
739
848
  children: selectorContent
@@ -5,7 +5,7 @@ interface UseSelectedItemOffsetOptions {
5
5
  selectedItemIndex: number;
6
6
  listboxId: string;
7
7
  listboxRef: RefObject<HTMLDivElement | null>;
8
- triggerRef: RefObject<HTMLButtonElement | null>;
8
+ anchorRef: RefObject<HTMLElement | null>;
9
9
  }
10
10
  interface UseSelectedItemOffsetResult {
11
11
  offset: number;
@@ -13,15 +13,15 @@ interface UseSelectedItemOffsetResult {
13
13
  }
14
14
  /**
15
15
  * Calculates the offset needed to position the dropdown so that the selected
16
- * item appears centered over the trigger button (macOS-style selector).
16
+ * item appears centered over the outer selector control (macOS-style selector).
17
17
  *
18
- * The desired dropdown top is calculated directly from the trigger center and
18
+ * The desired dropdown top is calculated directly from the anchor center and
19
19
  * selected-item center, then clamped to the viewport. This preserves the
20
20
  * default "selected item over trigger" behavior while letting the menu slide
21
21
  * upward near the bottom edge or downward near the top edge instead of being
22
22
  * clipped off-screen.
23
23
  */
24
- export declare function useSelectedItemOffset({ isOpen, selectedItemIndex, listboxId, listboxRef, triggerRef, }: UseSelectedItemOffsetOptions): UseSelectedItemOffsetResult;
24
+ export declare function useSelectedItemOffset({ isOpen, selectedItemIndex, listboxId, listboxRef, anchorRef, }: UseSelectedItemOffsetOptions): UseSelectedItemOffsetResult;
25
25
  interface UseComboboxOptions {
26
26
  selectableItems: SelectorOptionData[];
27
27
  value?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/Selector/hooks.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAMhD,UAAU,4BAA4B;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C,UAAU,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACjD;AAED,UAAU,2BAA2B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,UAAU,GACX,EAAE,4BAA4B,GAAG,2BAA2B,CA6E5D;AAMD,UAAU,kBAAkB;IAC1B,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,KAAK,EACL,UAAkB,EAClB,MAAM,EACN,SAAiB,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,kBAAkB,GAAG,iBAAiB,CAqOxC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/Selector/hooks.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAyBhD,UAAU,4BAA4B;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C,SAAS,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC1C;AAED,UAAU,2BAA2B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,SAAS,GACV,EAAE,4BAA4B,GAAG,2BAA2B,CAgF5D;AAMD,UAAU,kBAAkB;IAC1B,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,eAAe,EACf,KAAK,EACL,UAAkB,EAClB,MAAM,EACN,SAAiB,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,kBAAkB,GAAG,iBAAiB,CAqOxC"}
@@ -4,11 +4,31 @@
4
4
 
5
5
  /**
6
6
  * @file hooks.ts
7
+ * @input Uses untransformed DOM layout geometry from the Selector's outer
8
+ * anchor, listbox, and selected option
7
9
  * @output Hooks for Selector
8
10
  * @position Internal hooks; used by Selector.tsx
9
11
  */
10
12
  import { useCallback, useRef, useState } from 'react';
11
13
  import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
14
+ // The selected row renders one optical pixel below the closed trigger label at
15
+ // the same mathematical center, so compensate before viewport clamping.
16
+ const SELECTED_ITEM_OPTICAL_OFFSET = 1;
17
+
18
+ /**
19
+ * Return an element's document-relative layout top without CSS transforms.
20
+ * getBoundingClientRect includes the popover's entry scale, which would make
21
+ * the measured error grow with each option's distance from the menu top.
22
+ */
23
+ function getLayoutTop(element) {
24
+ let top = 0;
25
+ let current = element;
26
+ while (current) {
27
+ top += current.offsetTop;
28
+ current = current.offsetParent;
29
+ }
30
+ return top;
31
+ }
12
32
 
13
33
  // =============================================================================
14
34
  // useSelectedItemOffset - Position dropdown to center selected item over trigger
@@ -16,9 +36,9 @@ import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js
16
36
 
17
37
  /**
18
38
  * Calculates the offset needed to position the dropdown so that the selected
19
- * item appears centered over the trigger button (macOS-style selector).
39
+ * item appears centered over the outer selector control (macOS-style selector).
20
40
  *
21
- * The desired dropdown top is calculated directly from the trigger center and
41
+ * The desired dropdown top is calculated directly from the anchor center and
22
42
  * selected-item center, then clamped to the viewport. This preserves the
23
43
  * default "selected item over trigger" behavior while letting the menu slide
24
44
  * upward near the bottom edge or downward near the top edge instead of being
@@ -29,7 +49,7 @@ export function useSelectedItemOffset({
29
49
  selectedItemIndex,
30
50
  listboxId,
31
51
  listboxRef,
32
- triggerRef
52
+ anchorRef
33
53
  }) {
34
54
  const [offset, setOffset] = useState(0);
35
55
  const [isPositioned, setIsPositioned] = useState(false);
@@ -45,7 +65,7 @@ export function useSelectedItemOffset({
45
65
  commitPosition(0, false);
46
66
  return;
47
67
  }
48
- if (!listboxRef.current || !triggerRef.current) {
68
+ if (!listboxRef.current || !anchorRef.current) {
49
69
  commitPosition(0, true);
50
70
  return;
51
71
  }
@@ -59,35 +79,34 @@ export function useSelectedItemOffset({
59
79
  commitPosition(0, true);
60
80
  return;
61
81
  }
82
+ const listbox = listboxRef.current;
83
+ const anchorRect = anchorRef.current.getBoundingClientRect();
62
84
 
63
- // Get positions. JSDOM returns zero rects by default, but browsers provide
64
- // real dimensions before paint via layout effect.
65
- const listboxRect = listboxRef.current.getBoundingClientRect();
66
- const itemRect = targetItem.getBoundingClientRect();
67
- const triggerRect = triggerRef.current.getBoundingClientRect();
68
- const listboxHeight = listboxRect.height;
85
+ // offset* metrics intentionally exclude the popover's entry transform.
86
+ const listboxHeight = listbox.offsetHeight;
69
87
  if (listboxHeight <= 0) {
70
88
  commitPosition(0, true);
71
89
  return;
72
90
  }
73
91
 
74
92
  // Item center relative to listbox top. This remains stable even as the
75
- // popover's top changes between measurements.
76
- const itemCenterInListbox = itemRect.top - listboxRect.top + itemRect.height / 2;
77
- const triggerCenter = triggerRect.top + triggerRect.height / 2;
93
+ // popover animates between scale values. scrollTop keeps the calculation
94
+ // correct when a previously scrolled listbox is reopened.
95
+ const itemCenterInListbox = getLayoutTop(targetItem) - getLayoutTop(listbox) - listbox.scrollTop + targetItem.offsetHeight / 2;
96
+ const anchorCenter = anchorRect.top + anchorRect.height / 2;
78
97
 
79
- // Desired top aligns the selected item's center with trigger center.
80
- const desiredTop = triggerCenter - itemCenterInListbox;
98
+ // Desired top aligns the selected item's center with the anchor center.
99
+ const desiredTop = anchorCenter - itemCenterInListbox - SELECTED_ITEM_OPTICAL_OFFSET;
81
100
  const viewportHeight = window.innerHeight;
82
101
  const maxTop = Math.max(0, viewportHeight - listboxHeight);
83
102
  const clampedTop = Math.min(Math.max(desiredTop, 0), maxTop);
84
103
 
85
- // useLayer positions the popover below the trigger. Apply a negative
104
+ // useLayer positions the popover below the outer anchor. Apply a negative
86
105
  // block-start margin to the layer container so the listbox top moves from
87
- // triggerRect.bottom to clampedTop.
88
- const clampedOffset = Math.max(0, triggerRect.bottom - clampedTop);
106
+ // anchorRect.bottom to clampedTop.
107
+ const clampedOffset = Math.max(0, anchorRect.bottom - clampedTop);
89
108
  commitPosition(clampedOffset, true);
90
- }, [isOpen, selectedItemIndex, listboxId, listboxRef, triggerRef, commitPosition]);
109
+ }, [isOpen, selectedItemIndex, listboxId, listboxRef, anchorRef, commitPosition]);
91
110
  return {
92
111
  offset,
93
112
  isPositioned
@@ -14,7 +14,7 @@
14
14
  * - /packages/core/src/SideNav/SideNav.test.tsx
15
15
  * - /packages/core/src/SideNav/index.ts
16
16
  * - /apps/storybook/stories/SideNav.stories.tsx
17
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
18
18
  */
19
19
  import { type ReactNode } from 'react';
20
20
  import type { BaseProps } from '../BaseProps';
@@ -18,7 +18,7 @@
18
18
  * - /packages/core/src/SideNav/SideNav.test.tsx
19
19
  * - /packages/core/src/SideNav/index.ts
20
20
  * - /apps/storybook/stories/SideNav.stories.tsx
21
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
21
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
22
22
  */
23
23
  import { useCallback, useImperativeHandle, useRef, useState } from 'react';
24
24
  import * as stylex from '@stylexjs/stylex';
@@ -10,7 +10,7 @@
10
10
  * SYNC: When modified, update:
11
11
  * - /packages/core/src/SideNav/SideNav.doc.mjs
12
12
  * - /packages/core/src/SideNav/index.ts
13
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
13
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
14
14
  */
15
15
  import React, { type ReactNode } from 'react';
16
16
  import type { BaseProps } from '../BaseProps';
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavCollapseButton.d.ts","sourceRoot":"","sources":["../../src/SideNav/SideNavCollapseButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAK5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,0BAA0B,CAAC;AAyBlC,MAAM,WAAW,0BAA2B,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC9E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACH,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,GAAG,KAAK,EACT,EAAE,0BAA0B,4BAwC5B;yBA/Ce,qBAAqB"}
1
+ {"version":3,"file":"SideNavCollapseButton.d.ts","sourceRoot":"","sources":["../../src/SideNav/SideNavCollapseButton.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAK5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,0BAA0B,CAAC;AAyBlC,MAAM,WAAW,0BAA2B,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC9E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACH,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,GAAG,KAAK,EACT,EAAE,0BAA0B,4BAyC5B;yBAhDe,qBAAqB"}
@@ -14,13 +14,13 @@
14
14
  * SYNC: When modified, update:
15
15
  * - /packages/core/src/SideNav/SideNav.doc.mjs
16
16
  * - /packages/core/src/SideNav/index.ts
17
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
17
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
18
18
  */
19
19
  import React from 'react';
20
20
  import * as stylex from '@stylexjs/stylex';
21
21
  import "../theme/tokens.stylex.js";
22
22
  import { durationVars, easeVars } from "../theme/tokens.stylex.js";
23
- import { getIcon } from "../Icon/globalIconRegistry.js";
23
+ import { useIcon } from "../Icon/index.js";
24
24
  import { Button } from "../Button/index.js";
25
25
  import { composeEventHandlers, rtlStyles } from "../utils/index.js";
26
26
  import { useSideNavCollapse } from "./SideNavCollapseContext.js";
@@ -69,6 +69,7 @@ export function SideNavCollapseButton({
69
69
  ...props
70
70
  }) {
71
71
  const t = useTranslator();
72
+ const chevronLeftIcon = useIcon('chevronLeft');
72
73
  const {
73
74
  isCollapsed,
74
75
  toggle,
@@ -100,7 +101,7 @@ export function SideNavCollapseButton({
100
101
  className: "x3nfvp2 x6s0dn4 x11xpdln xuedmi6 xlr8y92 x19jd1h0"
101
102
  }
102
103
  }[!!isCollapsed << 0],
103
- children: getIcon('chevronLeft')
104
+ children: chevronLeftIcon
104
105
  })
105
106
  }),
106
107
  isIconOnly: true
@@ -12,7 +12,7 @@
12
12
  * - /packages/core/src/SideNav/SideNav.test.tsx
13
13
  * - /packages/core/src/SideNav/index.ts
14
14
  * - /apps/storybook/stories/SideNav.stories.tsx
15
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
15
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
16
16
  */
17
17
  import { type ReactNode } from 'react';
18
18
  import type { LinkComponentType } from '../Link/types';
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavHeading.d.ts","sourceRoot":"","sources":["../../src/SideNav/SideNavHeading.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAmBtD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAqM5C,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACpE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,IAAI,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,mBAAmB,sCAocrB;yBArde,cAAc"}
1
+ {"version":3,"file":"SideNavHeading.d.ts","sourceRoot":"","sources":["../../src/SideNav/SideNavHeading.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAmBtD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAqM5C,MAAM,WAAW,mBAAoB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACpE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,IAAI,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,mBAAmB,sCAmcrB;yBApde,cAAc"}
@@ -16,7 +16,7 @@
16
16
  * - /packages/core/src/SideNav/SideNav.test.tsx
17
17
  * - /packages/core/src/SideNav/index.ts
18
18
  * - /apps/storybook/stories/SideNav.stories.tsx
19
- * - /packages/cli/templates/blocks/components/SideNav/ (showcase blocks)
19
+ * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
20
20
  */
21
21
  import { useMemo, useRef } from 'react';
22
22
  import * as stylex from '@stylexjs/stylex';
@@ -27,7 +27,7 @@ import { colorVars, spacingVars, fontWeightVars, radiusVars, typeScaleVars } fro
27
27
  // of lazy loading layer resources.
28
28
  import { usePopover } from "../Popover/usePopover.js";
29
29
  import { Link } from "../Link/index.js";
30
- import { getIcon } from "../Icon/globalIconRegistry.js";
30
+ import { useIcon } from "../Icon/index.js";
31
31
  import { Tooltip } from "../Tooltip/index.js";
32
32
  import { navItemStyles } from "../NavItem/navItemStyles.stylex.js";
33
33
  import { useSideNavCollapse } from "./SideNavCollapseContext.js";
@@ -146,6 +146,7 @@ export function SideNavHeading({
146
146
  ...props
147
147
  }) {
148
148
  const t = useTranslator();
149
+ const chevronDownIcon = useIcon('chevronDown');
149
150
  const LinkComponent = useLinkComponent(as);
150
151
  const {
151
152
  isCollapsed
@@ -254,7 +255,7 @@ export function SideNavHeading({
254
255
  ...{
255
256
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k xy8csz5 ximsjs8 xv9yike x19jd1h0"
256
257
  },
257
- children: getIcon('chevronDown')
258
+ children: chevronDownIcon
258
259
  })]
259
260
  }), subheading && /*#__PURE__*/_jsx("span", {
260
261
  ...{
@@ -349,7 +350,7 @@ export function SideNavHeading({
349
350
  ...{
350
351
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k xy8csz5 ximsjs8 xv9yike"
351
352
  },
352
- children: getIcon('chevronDown')
353
+ children: chevronDownIcon
353
354
  });
354
355
  const headerEndContentElement = headerEndContent && /*#__PURE__*/_jsx("span", {
355
356
  ...{
@@ -375,7 +376,7 @@ export function SideNavHeading({
375
376
  ...{
376
377
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k xy8csz5 ximsjs8 xv9yike x19jd1h0"
377
378
  },
378
- children: getIcon('chevronDown')
379
+ children: chevronDownIcon
379
380
  }))]
380
381
  });
381
382
 
@@ -420,7 +421,7 @@ export function SideNavHeading({
420
421
  ...{
421
422
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k xy8csz5 ximsjs8 xv9yike x1ypdohk xh6dtrn xc342km xng3xce xjbqb8w xjb2p0i x1qlqyl8 x1sodnla x1yc453h xe9uy6x"
422
423
  },
423
- children: getIcon('chevronDown')
424
+ children: chevronDownIcon
424
425
  })), headerEndContentElement]
425
426
  }), popover.render(/*#__PURE__*/_jsxs("div", {
426
427
  ref: menuRef,
@@ -474,7 +475,7 @@ export function SideNavHeading({
474
475
  ...{
475
476
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k xy8csz5 ximsjs8 xv9yike x1ypdohk xh6dtrn xc342km xng3xce xjbqb8w xjb2p0i x1qlqyl8 x1sodnla x1yc453h xe9uy6x"
476
477
  },
477
- children: getIcon('chevronDown')
478
+ children: chevronDownIcon
478
479
  }) : undefined), headerEndContentElement]
479
480
  }), popover.render(/*#__PURE__*/_jsxs("div", {
480
481
  ref: menuRef,