@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
@@ -24,8 +24,12 @@ import {Icon} from '../Icon';
24
24
  import {InputGroup} from '../InputGroup';
25
25
  import {InputGroupText} from '../InputGroup/InputGroupText';
26
26
  import {defineTheme} from '../theme/defineTheme';
27
- import {generateThemeCSSFlat} from '../theme/generateThemeRules';
27
+ import {generateThemeCSS} from '../theme/generateThemeRules';
28
28
 
29
+ function generateThemeTestCSS(theme: Parameters<typeof generateThemeCSS>[0]) {
30
+ const {prose, component} = generateThemeCSS(theme);
31
+ return [prose, component].filter(Boolean).join('\n\n');
32
+ }
29
33
  describe('DateInput', () => {
30
34
  it('renders with label', () => {
31
35
  render(<DateInput label="Date" onChange={() => {}} />);
@@ -945,6 +949,61 @@ describe('DateInput', () => {
945
949
  expect(screen.getByDisplayValue('Mar 10, 2026')).toBeInTheDocument();
946
950
  });
947
951
  });
952
+ describe('weekStartsOn', () => {
953
+ // The calendar popover renders in the top layer; jsdom keeps the content in
954
+ // the DOM but role queries skip it, so read the columnheaders directly.
955
+ const openAndReadWeekdays = (container: HTMLElement): (string | null)[] => {
956
+ fireEvent.keyDown(screen.getByRole('combobox'), {key: 'ArrowDown'});
957
+ return Array.from(container.querySelectorAll('[role="columnheader"]'))
958
+ .slice(0, 7)
959
+ .map(h => h.textContent);
960
+ };
961
+
962
+ it('defaults to a Sunday-first week', () => {
963
+ const {container} = render(
964
+ <DateInput label="Date" onChange={() => {}} />,
965
+ );
966
+ expect(openAndReadWeekdays(container)).toEqual([
967
+ 'Su',
968
+ 'Mo',
969
+ 'Tu',
970
+ 'We',
971
+ 'Th',
972
+ 'Fr',
973
+ 'Sa',
974
+ ]);
975
+ });
976
+
977
+ it('forwards a numeric weekStartsOn to the calendar', () => {
978
+ const {container} = render(
979
+ <DateInput label="Date" onChange={() => {}} weekStartsOn={1} />,
980
+ );
981
+ expect(openAndReadWeekdays(container)).toEqual([
982
+ 'Mo',
983
+ 'Tu',
984
+ 'We',
985
+ 'Th',
986
+ 'Fr',
987
+ 'Sa',
988
+ 'Su',
989
+ ]);
990
+ });
991
+
992
+ it('accepts a three-letter day name', () => {
993
+ const {container} = render(
994
+ <DateInput label="Date" onChange={() => {}} weekStartsOn="mon" />,
995
+ );
996
+ expect(openAndReadWeekdays(container)).toEqual([
997
+ 'Mo',
998
+ 'Tu',
999
+ 'We',
1000
+ 'Th',
1001
+ 'Fr',
1002
+ 'Sa',
1003
+ 'Su',
1004
+ ]);
1005
+ });
1006
+ });
948
1007
  });
949
1008
 
950
1009
  describe('DateInput statusVariant forwarding', () => {
@@ -1073,7 +1132,7 @@ describe('DateInput clear icon theme target', () => {
1073
1132
  },
1074
1133
  },
1075
1134
  });
1076
- const css = generateThemeCSSFlat(theme);
1135
+ const css = generateThemeTestCSS(theme);
1077
1136
  expect(css).toContain('.astryx-date-input-clear-icon {');
1078
1137
  expect(css).toContain('width: 12px');
1079
1138
  expect(css).toContain('height: 12px');
@@ -1165,7 +1224,7 @@ describe('DateInput calendar-toggle icon theme target', () => {
1165
1224
  },
1166
1225
  },
1167
1226
  });
1168
- const css = generateThemeCSSFlat(theme);
1227
+ const css = generateThemeTestCSS(theme);
1169
1228
  expect(css).toContain('.astryx-date-input-toggle-icon {');
1170
1229
  expect(css).toContain('width: 14px');
1171
1230
  expect(css).toContain('height: 14px');
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/DateInput/DateInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/DateInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/DateInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/DateInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/DateInput/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {
@@ -48,7 +48,13 @@ import {useInputGroup} from '../InputGroup/InputGroupContext';
48
48
  import {groupStyles} from '../InputGroup/groupStyles';
49
49
  import {useSize} from '../SizeContext/SizeContext';
50
50
  import {Spinner} from '../Spinner';
51
- import {Calendar, type ISODateString, type CalendarHandle} from '../Calendar';
51
+ import {
52
+ Calendar,
53
+ type ISODateString,
54
+ type CalendarHandle,
55
+ type DayOfWeek,
56
+ type DayOfWeekName,
57
+ } from '../Calendar';
52
58
  import {useCalendarConstraints} from '../Calendar/hooks';
53
59
  import {useInputStatusIcon} from '../hooks/useInputStatusIcon';
54
60
  import {usePopover} from '../Popover';
@@ -311,6 +317,14 @@ export interface DateInputProps extends Omit<
311
317
  */
312
318
  numberOfMonths?: 1 | 2;
313
319
 
320
+ /**
321
+ * First day of week in the calendar popover. Accepts a number
322
+ * (0 = Sunday … 6 = Saturday) or a three-letter day name ('sun'–'sat',
323
+ * case-insensitive).
324
+ * @default 0
325
+ */
326
+ weekStartsOn?: DayOfWeek | DayOfWeekName;
327
+
314
328
  /**
315
329
  * How the committed date value is displayed in the text field. Accepts a
316
330
  * named format reused from `Timestamp`'s `format` vocabulary (so the same
@@ -377,6 +391,7 @@ export function DateInput({
377
391
  labelTooltip,
378
392
  hasClear = false,
379
393
  numberOfMonths = 1,
394
+ weekStartsOn,
380
395
  format = 'date_long',
381
396
  width,
382
397
  xstyle,
@@ -754,6 +769,7 @@ export function DateInput({
754
769
  max={max}
755
770
  dateConstraints={dateConstraints}
756
771
  numberOfMonths={numberOfMonths}
772
+ weekStartsOn={weekStartsOn}
757
773
  />,
758
774
  {placement: 'below', alignment: 'start'},
759
775
  )}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'DateRangeInput',
@@ -145,6 +145,13 @@ export const docs = {
145
145
  description: 'Number of months in the calendar.',
146
146
  default: '2',
147
147
  },
148
+ {
149
+ name: 'weekStartsOn',
150
+ type: "0 | 1 | 2 | 3 | 4 | 5 | 6 | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'",
151
+ description:
152
+ 'First day of week in the calendar. A number (0 = Sunday … 6 = Saturday) or a three-letter day name.',
153
+ default: '0',
154
+ },
148
155
  {
149
156
  name: 'width',
150
157
  type: 'SizeValue',
@@ -247,7 +254,7 @@ export const docs = {
247
254
  },
248
255
  };
249
256
 
250
- /** @type {import('../docs-types').TranslationDoc} */
257
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
251
258
  export const docsDense = {
252
259
  description:
253
260
  'date range picker with dual-month calendar popover and preset ranges',
@@ -314,6 +321,7 @@ export const docsDense = {
314
321
  statusVariant: 'How status message is placed: attached overlaps below input; detached floats below w/ spacing; tooltip hides the box and shows it on the status icon.',
315
322
  labelTooltip: 'tooltip via info icon at label end',
316
323
  numberOfMonths: 'months in calendar (default 2)',
324
+ weekStartsOn: 'first day of week in calendar (0=Sunday, or name e.g. "mon")',
317
325
  changeAction:
318
326
  'async action fired after onChange; drives optimistic UI updates via useTransition',
319
327
  isLoading: 'loading state; disables interaction + shows a spinner',
@@ -12,6 +12,11 @@
12
12
  import {describe, it, expect, vi, beforeEach} from 'vitest';
13
13
  import {render, screen, fireEvent, waitFor} from '@testing-library/react';
14
14
  import userEvent from '@testing-library/user-event';
15
+
16
+ function generateThemeTestCSS(theme: Parameters<typeof generateThemeCSS>[0]) {
17
+ const {prose, component} = generateThemeCSS(theme);
18
+ return [prose, component].filter(Boolean).join('\n\n');
19
+ }
15
20
  // getButton/queryButton instead of getByRole('button', {name}): the closed
16
21
  // popover keeps a two-month Calendar (~85 role=button nodes) mounted, which
17
22
  // made every role+name query compute ~85 accessible names through jsdom's
@@ -21,7 +26,7 @@ import {DateRangeInput} from './DateRangeInput';
21
26
  import type {DateRange} from './DateRangeInput';
22
27
  import {Icon} from '../Icon';
23
28
  import {defineTheme} from '../theme/defineTheme';
24
- import {generateThemeCSSFlat} from '../theme/generateThemeRules';
29
+ import {generateThemeCSS} from '../theme/generateThemeRules';
25
30
 
26
31
  describe('DateRangeInput', () => {
27
32
  it('renders with label', () => {
@@ -506,6 +511,72 @@ describe('DateRangeInput statusVariant forwarding', () => {
506
511
  'detached',
507
512
  );
508
513
  });
514
+
515
+ describe('weekStartsOn', () => {
516
+ // The calendar popover renders in the top layer; jsdom keeps the content in
517
+ // the DOM but role queries skip it, so read the columnheaders directly.
518
+ const openAndReadWeekdays = (container: HTMLElement): (string | null)[] => {
519
+ fireEvent.click(getButton('Open calendar'));
520
+ return Array.from(container.querySelectorAll('[role="columnheader"]'))
521
+ .slice(0, 7)
522
+ .map(h => h.textContent);
523
+ };
524
+
525
+ it('defaults to a Sunday-first week', () => {
526
+ const {container} = render(
527
+ <DateRangeInput label="Range" value={null} onChange={() => {}} />,
528
+ );
529
+ expect(openAndReadWeekdays(container)).toEqual([
530
+ 'Su',
531
+ 'Mo',
532
+ 'Tu',
533
+ 'We',
534
+ 'Th',
535
+ 'Fr',
536
+ 'Sa',
537
+ ]);
538
+ });
539
+
540
+ it('forwards a numeric weekStartsOn to the calendar', () => {
541
+ const {container} = render(
542
+ <DateRangeInput
543
+ label="Range"
544
+ value={null}
545
+ onChange={() => {}}
546
+ weekStartsOn={1}
547
+ />,
548
+ );
549
+ expect(openAndReadWeekdays(container)).toEqual([
550
+ 'Mo',
551
+ 'Tu',
552
+ 'We',
553
+ 'Th',
554
+ 'Fr',
555
+ 'Sa',
556
+ 'Su',
557
+ ]);
558
+ });
559
+
560
+ it('accepts a three-letter day name', () => {
561
+ const {container} = render(
562
+ <DateRangeInput
563
+ label="Range"
564
+ value={null}
565
+ onChange={() => {}}
566
+ weekStartsOn="mon"
567
+ />,
568
+ );
569
+ expect(openAndReadWeekdays(container)).toEqual([
570
+ 'Mo',
571
+ 'Tu',
572
+ 'We',
573
+ 'Th',
574
+ 'Fr',
575
+ 'Sa',
576
+ 'Su',
577
+ ]);
578
+ });
579
+ });
509
580
  });
510
581
 
511
582
  describe('DateRangeInput icon theme targets', () => {
@@ -603,7 +674,7 @@ describe('DateRangeInput icon theme targets', () => {
603
674
  },
604
675
  },
605
676
  });
606
- const css = generateThemeCSSFlat(theme);
677
+ const css = generateThemeTestCSS(theme);
607
678
  expect(css).toContain('.astryx-date-range-input-clear-icon');
608
679
  expect(css).toContain('.astryx-date-range-input-toggle-icon');
609
680
  expect(css).toContain(':hover');
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/DateRangeInput/DateRangeInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/DateRangeInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/DateRangeInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/DateRangeInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/DateRangeInput/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {useId, useCallback, useMemo, useOptimistic, useTransition} from 'react';
@@ -45,7 +45,13 @@ import {
45
45
  } from '../Field';
46
46
  import {Icon} from '../Icon';
47
47
  import {Spinner} from '../Spinner';
48
- import {Calendar, type ISODateString, type DateRange} from '../Calendar';
48
+ import {
49
+ Calendar,
50
+ type ISODateString,
51
+ type DateRange,
52
+ type DayOfWeek,
53
+ type DayOfWeekName,
54
+ } from '../Calendar';
49
55
  import {usePopover} from '../Popover';
50
56
  import {useTooltip} from '../Tooltip';
51
57
  import {mergeProps} from '../utils';
@@ -355,6 +361,14 @@ export interface DateRangeInputProps extends Omit<
355
361
  * @default 2
356
362
  */
357
363
  numberOfMonths?: 1 | 2;
364
+
365
+ /**
366
+ * First day of week in the calendar. Accepts a number
367
+ * (0 = Sunday … 6 = Saturday) or a three-letter day name ('sun'–'sat',
368
+ * case-insensitive).
369
+ * @default 0
370
+ */
371
+ weekStartsOn?: DayOfWeek | DayOfWeekName;
358
372
  }
359
373
 
360
374
  /**
@@ -396,6 +410,7 @@ export function DateRangeInput({
396
410
  statusVariant = 'attached',
397
411
  labelTooltip,
398
412
  numberOfMonths = 2,
413
+ weekStartsOn,
399
414
  width,
400
415
  xstyle,
401
416
  className,
@@ -667,6 +682,7 @@ export function DateRangeInput({
667
682
  max={max}
668
683
  dateConstraints={dateConstraints}
669
684
  numberOfMonths={numberOfMonths}
685
+ weekStartsOn={weekStartsOn}
670
686
  />
671
687
  </div>,
672
688
  {placement: 'below', alignment: 'start'},
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'DateTimeInput',
@@ -173,6 +173,13 @@ export const docs = {
173
173
  description: 'Number of months displayed simultaneously in the calendar.',
174
174
  default: '1',
175
175
  },
176
+ {
177
+ name: 'weekStartsOn',
178
+ type: "0 | 1 | 2 | 3 | 4 | 5 | 6 | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'",
179
+ description:
180
+ 'First day of week in the calendar. A number (0 = Sunday … 6 = Saturday) or a three-letter day name.',
181
+ default: '0',
182
+ },
176
183
  {
177
184
  name: 'width',
178
185
  type: 'SizeValue',
@@ -288,7 +295,7 @@ export const docs = {
288
295
  },
289
296
  };
290
297
 
291
- /** @type {import('../docs-types').ComponentDoc} */
298
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
292
299
  export const docsZh = {
293
300
  name: 'DateTimeInput',
294
301
  displayName: 'Date Time Input',
@@ -477,6 +484,12 @@ export const docsZh = {
477
484
  description: '日历中同时显示的月份数量。',
478
485
  default: '1',
479
486
  },
487
+ {
488
+ name: 'weekStartsOn',
489
+ type: "0 | 1 | 2 | 3 | 4 | 5 | 6 | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'",
490
+ description: '日历中每周的起始日。可为数字(0=周日……6=周六)或三字母星期缩写。',
491
+ default: '0',
492
+ },
480
493
  {
481
494
  name: 'xstyle',
482
495
  type: 'StyleXStyles',
@@ -499,7 +512,7 @@ export const docsZh = {
499
512
  },
500
513
  };
501
514
 
502
- /** @type {import('../docs-types').TranslationDoc} */
515
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
503
516
  export const docsDense = {
504
517
  description:
505
518
  'combined date + time picker with calendar popover and time input',
@@ -577,6 +590,7 @@ export const docsDense = {
577
590
  status: 'error/warning/success status w/ message',
578
591
  labelTooltip: 'tooltip text via info icon at label end',
579
592
  numberOfMonths: 'months shown simultaneously in calendar',
593
+ weekStartsOn: 'first day of week in calendar (0=Sunday, or name e.g. "mon")',
580
594
  xstyle: 'StyleX styles for layout; must be stylex.create() value',
581
595
  },
582
596
  };
@@ -16,8 +16,12 @@ import {getButton, queryButton} from '../__tests__/fastRoleQueries';
16
16
  import {DateTimeInput} from './DateTimeInput';
17
17
  import type {ISODateTimeString} from './DateTimeInput';
18
18
  import {defineTheme} from '../theme/defineTheme';
19
- import {generateThemeCSSFlat} from '../theme/generateThemeRules';
19
+ import {generateThemeCSS} from '../theme/generateThemeRules';
20
20
 
21
+ function generateThemeTestCSS(theme: Parameters<typeof generateThemeCSS>[0]) {
22
+ const {prose, component} = generateThemeCSS(theme);
23
+ return [prose, component].filter(Boolean).join('\n\n');
24
+ }
21
25
  describe('DateTimeInput', () => {
22
26
  it('renders with label', () => {
23
27
  render(<DateTimeInput label="Meeting time" onChange={() => {}} />);
@@ -816,6 +820,62 @@ describe('DateTimeInput', () => {
816
820
  expect(onChange.mock.calls[0][0]).toContain('14:31');
817
821
  });
818
822
  });
823
+
824
+ describe('weekStartsOn', () => {
825
+ // The calendar popover renders in the top layer; jsdom keeps the content in
826
+ // the DOM but role queries skip it, so read the columnheaders directly.
827
+ const openAndReadWeekdays = (container: HTMLElement): (string | null)[] => {
828
+ fireEvent.keyDown(screen.getAllByRole('combobox')[0], {key: 'ArrowDown'});
829
+ return Array.from(container.querySelectorAll('[role="columnheader"]'))
830
+ .slice(0, 7)
831
+ .map(h => h.textContent);
832
+ };
833
+
834
+ it('defaults to a Sunday-first week', () => {
835
+ const {container} = render(
836
+ <DateTimeInput label="When" onChange={() => {}} />,
837
+ );
838
+ expect(openAndReadWeekdays(container)).toEqual([
839
+ 'Su',
840
+ 'Mo',
841
+ 'Tu',
842
+ 'We',
843
+ 'Th',
844
+ 'Fr',
845
+ 'Sa',
846
+ ]);
847
+ });
848
+
849
+ it('forwards a numeric weekStartsOn to the calendar', () => {
850
+ const {container} = render(
851
+ <DateTimeInput label="When" onChange={() => {}} weekStartsOn={1} />,
852
+ );
853
+ expect(openAndReadWeekdays(container)).toEqual([
854
+ 'Mo',
855
+ 'Tu',
856
+ 'We',
857
+ 'Th',
858
+ 'Fr',
859
+ 'Sa',
860
+ 'Su',
861
+ ]);
862
+ });
863
+
864
+ it('accepts a three-letter day name', () => {
865
+ const {container} = render(
866
+ <DateTimeInput label="When" onChange={() => {}} weekStartsOn="mon" />,
867
+ );
868
+ expect(openAndReadWeekdays(container)).toEqual([
869
+ 'Mo',
870
+ 'Tu',
871
+ 'We',
872
+ 'Th',
873
+ 'Fr',
874
+ 'Sa',
875
+ 'Su',
876
+ ]);
877
+ });
878
+ });
819
879
  // ===========================================================================
820
880
  // Segment theme targets (#4075)
821
881
  // ===========================================================================
@@ -917,7 +977,7 @@ describe('DateTimeInput', () => {
917
977
  },
918
978
  },
919
979
  });
920
- const css = generateThemeCSSFlat(theme);
980
+ const css = generateThemeTestCSS(theme);
921
981
 
922
982
  expect(css).toContain('.astryx-date-time-input-date-segment {');
923
983
  expect(css).toContain('.astryx-date-time-input-date-segment.lg');
@@ -13,7 +13,7 @@
13
13
  * - /packages/core/src/DateTimeInput/DateTimeInput.test.tsx (tests for new/changed behavior)
14
14
  * - /packages/core/src/DateTimeInput/index.ts (exports if types change)
15
15
  * - /apps/storybook/stories/DateTimeInput.stories.tsx (storybook stories)
16
- * - /packages/cli/templates/blocks/components/DateTimeInput/ (showcase blocks)
16
+ * - /packages/cli/assets/templates/blocks/components/DateTimeInput/ (showcase blocks)
17
17
  */
18
18
 
19
19
  import {
@@ -47,7 +47,13 @@ import {
47
47
  import {Icon} from '../Icon';
48
48
  import {VisuallyHidden} from '../VisuallyHidden';
49
49
  import {Spinner} from '../Spinner';
50
- import {Calendar, type ISODateString, type CalendarHandle} from '../Calendar';
50
+ import {
51
+ Calendar,
52
+ type ISODateString,
53
+ type CalendarHandle,
54
+ type DayOfWeek,
55
+ type DayOfWeekName,
56
+ } from '../Calendar';
51
57
  import {useCalendarConstraints} from '../Calendar/hooks';
52
58
  import {usePopover} from '../Popover';
53
59
  import {useTooltip} from '../Tooltip';
@@ -348,6 +354,14 @@ export interface DateTimeInputProps extends Omit<
348
354
  * @default 1
349
355
  */
350
356
  numberOfMonths?: 1 | 2;
357
+
358
+ /**
359
+ * First day of week in the calendar. Accepts a number
360
+ * (0 = Sunday … 6 = Saturday) or a three-letter day name ('sun'–'sat',
361
+ * case-insensitive).
362
+ * @default 0
363
+ */
364
+ weekStartsOn?: DayOfWeek | DayOfWeekName;
351
365
  }
352
366
 
353
367
  function splitDateTime(dt: ISODateTimeString | undefined): {
@@ -425,6 +439,7 @@ export function DateTimeInput({
425
439
  status,
426
440
  labelTooltip,
427
441
  numberOfMonths = 1,
442
+ weekStartsOn,
428
443
  width,
429
444
  xstyle,
430
445
  className,
@@ -1050,6 +1065,7 @@ export function DateTimeInput({
1050
1065
  max={calendarMax}
1051
1066
  dateConstraints={dateConstraints}
1052
1067
  numberOfMonths={numberOfMonths}
1068
+ weekStartsOn={weekStartsOn}
1053
1069
  />,
1054
1070
  {placement: 'below', alignment: 'start'},
1055
1071
  )}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Meta Platforms, Inc. and affiliates.
2
2
 
3
- /** @type {import('../docs-types').ComponentDoc} */
3
+ /** @type {import('@astryxdesign/cli/authoring').ComponentDoc} */
4
4
 
5
5
  export const docs = {
6
6
  name: 'Dialog',
@@ -10,7 +10,7 @@ export const docs = {
10
10
  keywords: ["dialog","modal","popup","overlay","lightbox","alert","confirm","prompt","backdrop","focus trap","imperative"],
11
11
  // Intentionally a contained isInline preview, not playground.overlay: the
12
12
  // component stays visible on load and knobs stay live, whereas a real
13
- // showModal() overlay makes the page inert — see PlaygroundConfig.overlay
13
+ // showModal() overlay makes the page inert — see ComponentPlaygroundConfig.overlay
14
14
  // in docs-types.ts (#3657).
15
15
  playground: {
16
16
  defaults: {
@@ -74,7 +74,9 @@ export const docs = {
74
74
  {
75
75
  name: 'position',
76
76
  type: 'DialogPosition',
77
- description: 'Static position for the dialog; centered by default when omitted.',
77
+ description:
78
+ 'Static position for the dialog; centered by default when omitted. ' +
79
+ 'Use logical `start`/`end` for inline offsets so positioned dialogs mirror correctly under RTL.',
78
80
  },
79
81
  {
80
82
  name: 'variant',
@@ -119,7 +121,7 @@ export const docs = {
119
121
  },
120
122
  };
121
123
 
122
- /** @type {import('../docs-types').TranslationDoc} */
124
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
123
125
  export const docsZh = {
124
126
  usage: {
125
127
  description: 'Dialog displays a modal overlay that blocks interaction with the page until the user responds. Use it for delete confirmations, edit forms, terms acceptance, or any decision that should not be skipped.',
@@ -141,7 +143,7 @@ export const docsZh = {
141
143
  },
142
144
  };
143
145
 
144
- /** @type {import('../docs-types').TranslationDoc} */
146
+ /** @type {import('@astryxdesign/cli/authoring').ComponentTranslationDoc} */
145
147
  export const docsDense = {
146
148
  description: 'modal overlay that blocks page interaction until the user responds',
147
149
  usage: {
@@ -11,7 +11,7 @@
11
11
 
12
12
  import {describe, it, expect, vi, beforeEach} from 'vitest';
13
13
  import {render, screen} from '@testing-library/react';
14
- import {Dialog} from './Dialog';
14
+ import {Dialog, resolveDialogPositionOffsets} from './Dialog';
15
15
  import {DialogHeader} from './DialogHeader';
16
16
 
17
17
  // Mock showModal and close methods since they're not fully implemented in jsdom
@@ -190,7 +190,7 @@ describe('Dialog', () => {
190
190
  <Dialog
191
191
  isOpen={true}
192
192
  onOpenChange={() => {}}
193
- position={{top: 100, right: 20}}>
193
+ position={{top: 100, end: 20}}>
194
194
  Content
195
195
  </Dialog>,
196
196
  );
@@ -202,12 +202,55 @@ describe('Dialog', () => {
202
202
  <Dialog
203
203
  isOpen={true}
204
204
  onOpenChange={() => {}}
205
- position={{top: '10vh', left: '5vw'}}>
205
+ position={{top: '10vh', start: '5vw'}}>
206
206
  Content
207
207
  </Dialog>,
208
208
  );
209
209
  expect(screen.getByRole('dialog')).toBeInTheDocument();
210
210
  });
211
+
212
+ it('accepts logical start/end position configuration', () => {
213
+ render(
214
+ <Dialog
215
+ isOpen={true}
216
+ onOpenChange={() => {}}
217
+ position={{top: 100, start: 20, end: 40}}>
218
+ Content
219
+ </Dialog>,
220
+ );
221
+ expect(screen.getByRole('dialog')).toBeInTheDocument();
222
+ });
223
+ });
224
+
225
+ // Physical-vs-logical mapping is verified against the pure resolver so we can
226
+ // assert the exact emitted CSS offsets without relying on StyleX class
227
+ // compilation or a browser. The public DialogPosition union forbids mixing
228
+ // logical and physical inline offsets (enforced at compile time, below), so
229
+ // the resolver has no precedence logic — it just maps what it's given.
230
+ describe('resolveDialogPositionOffsets (physical-vs-logical mapping)', () => {
231
+ it('maps logical start/end to inset-inline offsets (mirror under RTL)', () => {
232
+ // insetInlineStart/End are direction-relative: the browser resolves them
233
+ // to left/right per `dir`, so the same value mirrors under RTL.
234
+ const offsets = resolveDialogPositionOffsets({start: 20, end: 40});
235
+ expect(offsets.insetInlineStart).toBe('20px');
236
+ expect(offsets.insetInlineEnd).toBe('40px');
237
+ // No physical offsets requested → auto.
238
+ });
239
+
240
+ it('combines block-axis top/bottom with an inline pair', () => {
241
+ const offsets = resolveDialogPositionOffsets({top: 100, start: 12});
242
+ expect(offsets.top).toBe('100px');
243
+ expect(offsets.insetInlineStart).toBe('12px');
244
+ // Everything unset falls back to auto.
245
+ expect(offsets.bottom).toBe('auto');
246
+ expect(offsets.insetInlineEnd).toBe('auto');
247
+ });
248
+
249
+ it('passes through string offsets (vw/vh/etc.) for logical offsets', () => {
250
+ const logical = resolveDialogPositionOffsets({start: '5vw', end: '10%'});
251
+ expect(logical.insetInlineStart).toBe('5vw');
252
+ expect(logical.insetInlineEnd).toBe('10%');
253
+ });
211
254
  });
212
255
 
213
256
  it('forwards additional props to dialog element', () => {