@astryxdesign/core 0.1.4 → 0.1.5-canary.76e6697

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 (635) hide show
  1. package/CHANGELOG.md +141 -0
  2. package/dist/AlertDialog/AlertDialog.d.ts +1 -1
  3. package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
  4. package/dist/AlertDialog/AlertDialog.js +20 -18
  5. package/dist/AlertDialog/useImperativeAlertDialog.d.ts +0 -2
  6. package/dist/AlertDialog/useImperativeAlertDialog.d.ts.map +1 -1
  7. package/dist/AlertDialog/useImperativeAlertDialog.js +3 -5
  8. package/dist/AppShell/AppShell.d.ts +1 -1
  9. package/dist/AppShell/AppShell.d.ts.map +1 -1
  10. package/dist/AppShell/AppShell.js +55 -53
  11. package/dist/AspectRatio/AspectRatio.d.ts +48 -10
  12. package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
  13. package/dist/AspectRatio/AspectRatio.js +33 -12
  14. package/dist/AspectRatio/index.d.ts +1 -1
  15. package/dist/AspectRatio/index.d.ts.map +1 -1
  16. package/dist/Avatar/Avatar.d.ts.map +1 -1
  17. package/dist/Avatar/Avatar.js +28 -26
  18. package/dist/Avatar/AvatarStatusDot.js +6 -6
  19. package/dist/AvatarGroup/AvatarGroup.js +6 -6
  20. package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -7
  21. package/dist/Badge/Badge.js +3 -3
  22. package/dist/Banner/Banner.d.ts.map +1 -1
  23. package/dist/Banner/Banner.js +32 -25
  24. package/dist/Blockquote/Blockquote.js +7 -7
  25. package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
  26. package/dist/Breadcrumbs/Breadcrumbs.js +7 -7
  27. package/dist/Button/Button.js +19 -19
  28. package/dist/ButtonGroup/ButtonGroup.js +7 -7
  29. package/dist/Calendar/Calendar.d.ts.map +1 -1
  30. package/dist/Calendar/Calendar.js +68 -48
  31. package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
  32. package/dist/Calendar/styles.d.ts +2 -2
  33. package/dist/Calendar/styles.d.ts.map +1 -1
  34. package/dist/Calendar/styles.js +2 -2
  35. package/dist/Card/Card.d.ts +4 -2
  36. package/dist/Card/Card.d.ts.map +1 -1
  37. package/dist/Card/Card.js +18 -10
  38. package/dist/Carousel/Carousel.d.ts.map +1 -1
  39. package/dist/Carousel/Carousel.js +24 -21
  40. package/dist/Center/Center.js +3 -3
  41. package/dist/Chat/ChatComposer.js +23 -23
  42. package/dist/Chat/ChatComposerDrawer.js +14 -14
  43. package/dist/Chat/ChatComposerInput.d.ts +1 -1
  44. package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
  45. package/dist/Chat/ChatComposerInput.js +27 -15
  46. package/dist/Chat/ChatDictationButton.d.ts +1 -1
  47. package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
  48. package/dist/Chat/ChatDictationButton.js +13 -11
  49. package/dist/Chat/ChatLayout.js +17 -17
  50. package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
  51. package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
  52. package/dist/Chat/ChatLayoutScrollButton.js +12 -10
  53. package/dist/Chat/ChatMessage.js +12 -12
  54. package/dist/Chat/ChatMessageBubble.js +7 -7
  55. package/dist/Chat/ChatMessageList.js +14 -14
  56. package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
  57. package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
  58. package/dist/Chat/ChatMessageMetadata.js +14 -12
  59. package/dist/Chat/ChatPastedTextToken.js +13 -13
  60. package/dist/Chat/ChatSendButton.js +3 -3
  61. package/dist/Chat/ChatSystemMessage.d.ts +1 -1
  62. package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
  63. package/dist/Chat/ChatSystemMessage.js +17 -17
  64. package/dist/Chat/ChatTokenizedText.d.ts +1 -1
  65. package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
  66. package/dist/Chat/ChatTokenizedText.js +24 -15
  67. package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
  68. package/dist/Chat/ChatToolCalls.js +81 -74
  69. package/dist/Chat/index.d.ts +1 -1
  70. package/dist/Chat/index.d.ts.map +1 -1
  71. package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
  72. package/dist/Chat/useTriggerMenu.js +15 -15
  73. package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
  74. package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  75. package/dist/CheckboxInput/CheckboxInput.js +25 -23
  76. package/dist/CheckboxList/CheckboxList.js +9 -9
  77. package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
  78. package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
  79. package/dist/CheckboxList/CheckboxListItem.js +8 -6
  80. package/dist/Citation/Citation.js +10 -10
  81. package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
  82. package/dist/ClickableCard/ClickableCard.js +32 -9
  83. package/dist/Code/Code.js +3 -3
  84. package/dist/CodeBlock/CodeBlock.d.ts +10 -1
  85. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
  86. package/dist/CodeBlock/CodeBlock.js +88 -52
  87. package/dist/Collapsible/Collapsible.d.ts +9 -3
  88. package/dist/Collapsible/Collapsible.d.ts.map +1 -1
  89. package/dist/Collapsible/Collapsible.js +109 -22
  90. package/dist/Collapsible/CollapsibleGroup.d.ts +37 -7
  91. package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
  92. package/dist/Collapsible/CollapsibleGroup.js +64 -12
  93. package/dist/Collapsible/CollapsibleGroupContext.d.ts +24 -0
  94. package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
  95. package/dist/Collapsible/CollapsibleGroupContext.js +26 -3
  96. package/dist/Collapsible/index.d.ts +1 -0
  97. package/dist/Collapsible/index.d.ts.map +1 -1
  98. package/dist/Collapsible/useCollapsible.d.ts +4 -1
  99. package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
  100. package/dist/Collapsible/useCollapsible.js +20 -6
  101. package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
  102. package/dist/CommandPalette/CommandPalette.js +36 -34
  103. package/dist/CommandPalette/CommandPaletteEmpty.js +3 -3
  104. package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
  105. package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
  106. package/dist/CommandPalette/CommandPaletteInput.js +13 -13
  107. package/dist/CommandPalette/CommandPaletteItem.js +3 -3
  108. package/dist/CommandPalette/CommandPaletteList.js +3 -3
  109. package/dist/ContextMenu/ContextMenu.d.ts +7 -2
  110. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
  111. package/dist/ContextMenu/ContextMenu.js +76 -43
  112. package/dist/DateInput/DateInput.js +18 -18
  113. package/dist/DateRangeInput/DateRangeInput.js +21 -21
  114. package/dist/DateTimeInput/DateTimeInput.d.ts +5 -2
  115. package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  116. package/dist/DateTimeInput/DateTimeInput.js +30 -26
  117. package/dist/DateTimeInput/index.d.ts +1 -1
  118. package/dist/DateTimeInput/index.d.ts.map +1 -1
  119. package/dist/Dialog/Dialog.js +9 -9
  120. package/dist/Dialog/DialogHeader.js +16 -16
  121. package/dist/Dialog/useImperativeDialog.js +3 -3
  122. package/dist/Divider/Divider.js +7 -7
  123. package/dist/DropdownMenu/DropdownMenu.js +10 -10
  124. package/dist/DropdownMenu/DropdownMenuItem.d.ts +2 -17
  125. package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  126. package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
  127. package/dist/DropdownMenu/renderDropdownItems.js +10 -10
  128. package/dist/EmptyState/EmptyState.js +9 -9
  129. package/dist/Field/Field.js +17 -17
  130. package/dist/Field/FieldLabel.js +15 -15
  131. package/dist/Field/InputClearButton.js +5 -5
  132. package/dist/FieldStatus/FieldStatus.js +3 -3
  133. package/dist/FileInput/FileInput.js +29 -29
  134. package/dist/FormLayout/FormLayout.js +5 -5
  135. package/dist/Grid/Grid.d.ts +4 -3
  136. package/dist/Grid/Grid.d.ts.map +1 -1
  137. package/dist/Grid/Grid.js +29 -12
  138. package/dist/Grid/GridSpan.js +3 -3
  139. package/dist/HStack/HStack.js +3 -3
  140. package/dist/Heading/Heading.js +10 -10
  141. package/dist/HoverCard/HoverCard.js +9 -9
  142. package/dist/HoverCard/useHoverCard.d.ts +5 -1
  143. package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
  144. package/dist/HoverCard/useHoverCard.js +3 -3
  145. package/dist/Icon/Icon.d.ts.map +1 -1
  146. package/dist/Icon/Icon.js +16 -12
  147. package/dist/Icon/defaultIcons.js +116 -116
  148. package/dist/IconButton/IconButton.js +3 -3
  149. package/dist/InputGroup/InputGroup.js +11 -11
  150. package/dist/InputGroup/InputGroupText.js +3 -3
  151. package/dist/Item/Item.js +18 -18
  152. package/dist/Kbd/Kbd.js +5 -5
  153. package/dist/Layer/LayerProvider.js +7 -7
  154. package/dist/Layer/useLayer.d.ts +29 -2
  155. package/dist/Layer/useLayer.d.ts.map +1 -1
  156. package/dist/Layer/useLayer.js +44 -31
  157. package/dist/Layout/Layout.js +21 -21
  158. package/dist/Layout/LayoutContent.js +3 -3
  159. package/dist/Layout/LayoutFooter.js +5 -5
  160. package/dist/Layout/LayoutHeader.js +5 -5
  161. package/dist/Layout/LayoutPanel.js +3 -3
  162. package/dist/Lightbox/Lightbox.d.ts.map +1 -1
  163. package/dist/Lightbox/Lightbox.js +55 -31
  164. package/dist/Lightbox/useLightbox.d.ts +0 -1
  165. package/dist/Lightbox/useLightbox.d.ts.map +1 -1
  166. package/dist/Lightbox/useLightbox.js +3 -4
  167. package/dist/Link/Link.d.ts +0 -2
  168. package/dist/Link/Link.d.ts.map +1 -1
  169. package/dist/Link/Link.js +15 -17
  170. package/dist/Link/LinkProvider.js +3 -3
  171. package/dist/Link/useLinkify.js +3 -3
  172. package/dist/List/List.js +11 -11
  173. package/dist/List/ListItem.js +11 -11
  174. package/dist/Markdown/Markdown.d.ts.map +1 -1
  175. package/dist/Markdown/Markdown.js +102 -102
  176. package/dist/MetadataList/MetadataList.js +10 -10
  177. package/dist/MetadataList/MetadataListItem.js +15 -15
  178. package/dist/MobileNav/MobileNav.d.ts +1 -1
  179. package/dist/MobileNav/MobileNav.d.ts.map +1 -1
  180. package/dist/MobileNav/MobileNav.js +26 -23
  181. package/dist/MobileNav/MobileNavToggle.js +5 -5
  182. package/dist/MoreMenu/MoreMenu.js +3 -3
  183. package/dist/MultiSelector/MultiSelector.js +56 -56
  184. package/dist/NavIcon/NavIcon.js +3 -3
  185. package/dist/NavMenu/NavHeadingMenu.js +5 -5
  186. package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
  187. package/dist/NumberInput/NumberInput.d.ts.map +1 -1
  188. package/dist/NumberInput/NumberInput.js +48 -32
  189. package/dist/Outline/Outline.js +15 -15
  190. package/dist/OverflowList/OverflowList.js +8 -8
  191. package/dist/Overlay/Overlay.js +3 -3
  192. package/dist/Overlay/OverlayScrim.js +5 -5
  193. package/dist/Overlay/useOverlay.d.ts +0 -3
  194. package/dist/Overlay/useOverlay.d.ts.map +1 -1
  195. package/dist/Overlay/useOverlay.js +3 -6
  196. package/dist/Pagination/Pagination.d.ts +1 -1
  197. package/dist/Pagination/Pagination.d.ts.map +1 -1
  198. package/dist/Pagination/Pagination.js +125 -72
  199. package/dist/Popover/Popover.js +16 -16
  200. package/dist/Popover/usePopover.js +7 -7
  201. package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
  202. package/dist/PowerSearch/PowerSearch.js +110 -92
  203. package/dist/PowerSearch/PowerSearchEditPopover.js +84 -84
  204. package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
  205. package/dist/PowerSearch/PowerSearchToken.js +5 -5
  206. package/dist/PowerSearch/PowerSearchValueEditor.js +54 -54
  207. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
  208. package/dist/ProgressBar/ProgressBar.js +25 -18
  209. package/dist/RadioList/RadioList.js +7 -7
  210. package/dist/RadioList/RadioListItem.d.ts +1 -1
  211. package/dist/RadioList/RadioListItem.d.ts.map +1 -1
  212. package/dist/RadioList/RadioListItem.js +24 -21
  213. package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
  214. package/dist/Resizable/ResizeHandle.js +28 -10
  215. package/dist/Section/Section.js +5 -5
  216. package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
  217. package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  218. package/dist/SegmentedControl/SegmentedControl.js +32 -10
  219. package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
  220. package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
  221. package/dist/SegmentedControl/SegmentedControlItem.js +18 -12
  222. package/dist/SelectableCard/SelectableCard.js +5 -5
  223. package/dist/Selector/Selector.js +46 -46
  224. package/dist/Selector/SelectorOption.js +3 -3
  225. package/dist/SideNav/SideNav.d.ts.map +1 -1
  226. package/dist/SideNav/SideNav.js +38 -34
  227. package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
  228. package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
  229. package/dist/SideNav/SideNavCollapseButton.js +8 -6
  230. package/dist/SideNav/SideNavHeading.js +87 -87
  231. package/dist/SideNav/SideNavItem.js +42 -42
  232. package/dist/SideNav/SideNavSection.d.ts +1 -1
  233. package/dist/SideNav/SideNavSection.d.ts.map +1 -1
  234. package/dist/SideNav/SideNavSection.js +18 -16
  235. package/dist/Skeleton/Skeleton.js +3 -3
  236. package/dist/Slider/Slider.js +23 -23
  237. package/dist/Spinner/Spinner.js +9 -9
  238. package/dist/StatusDot/StatusDot.js +5 -5
  239. package/dist/Switch/Switch.d.ts +8 -4
  240. package/dist/Switch/Switch.d.ts.map +1 -1
  241. package/dist/Switch/Switch.js +34 -29
  242. package/dist/TabList/Tab.js +18 -18
  243. package/dist/TabList/TabList.js +5 -5
  244. package/dist/TabList/TabMenu.d.ts.map +1 -1
  245. package/dist/TabList/TabMenu.js +57 -30
  246. package/dist/TabList/tab.markers.stylex.d.ts +1 -1
  247. package/dist/Table/BaseTable.d.ts.map +1 -1
  248. package/dist/Table/BaseTable.js +50 -39
  249. package/dist/Table/Table.js +7 -7
  250. package/dist/Table/TableBody.d.ts +1 -1
  251. package/dist/Table/TableBody.d.ts.map +1 -1
  252. package/dist/Table/TableBody.js +9 -5
  253. package/dist/Table/TableCell.js +3 -3
  254. package/dist/Table/TableFooter.d.ts +1 -1
  255. package/dist/Table/TableFooter.d.ts.map +1 -1
  256. package/dist/Table/TableFooter.js +9 -5
  257. package/dist/Table/TableHeader.d.ts +1 -1
  258. package/dist/Table/TableHeader.d.ts.map +1 -1
  259. package/dist/Table/TableHeader.js +9 -5
  260. package/dist/Table/TableHeaderCell.js +3 -3
  261. package/dist/Table/TableRow.js +5 -5
  262. package/dist/Table/index.d.ts +2 -0
  263. package/dist/Table/index.d.ts.map +1 -1
  264. package/dist/Table/index.js +1 -0
  265. package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
  266. package/dist/Table/plugins/columnResize/useTableColumnResize.js +14 -11
  267. package/dist/Table/plugins/filtering/useTableFiltering.js +71 -71
  268. package/dist/Table/plugins/groupedRows/index.d.ts +3 -0
  269. package/dist/Table/plugins/groupedRows/index.d.ts.map +1 -0
  270. package/dist/Table/plugins/groupedRows/index.js +3 -0
  271. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +78 -0
  272. package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -0
  273. package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +250 -0
  274. package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
  275. package/dist/Table/plugins/pagination/paginateData.js +5 -1
  276. package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
  277. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +1 -1
  278. package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +23 -23
  279. package/dist/Table/plugins/selection/useTableSelection.js +18 -18
  280. package/dist/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
  281. package/dist/Table/plugins/selection/useTableSelectionState.js +11 -1
  282. package/dist/Table/plugins/sortable/useTableSortable.js +17 -17
  283. package/dist/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
  284. package/dist/Table/plugins/sortable/useTableSortableState.js +8 -4
  285. package/dist/Table/tableContextMenu.js +9 -9
  286. package/dist/Text/Text.js +10 -10
  287. package/dist/TextArea/TextArea.js +14 -14
  288. package/dist/TextInput/TextInput.js +15 -15
  289. package/dist/Thumbnail/Thumbnail.d.ts +3 -2
  290. package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
  291. package/dist/Thumbnail/Thumbnail.js +30 -29
  292. package/dist/TimeInput/TimeInput.d.ts.map +1 -1
  293. package/dist/TimeInput/TimeInput.js +26 -21
  294. package/dist/Timestamp/Timestamp.d.ts +1 -1
  295. package/dist/Timestamp/Timestamp.d.ts.map +1 -1
  296. package/dist/Timestamp/Timestamp.js +37 -26
  297. package/dist/Toast/Toast.d.ts.map +1 -1
  298. package/dist/Toast/Toast.js +25 -17
  299. package/dist/Toast/ToastViewport.d.ts.map +1 -1
  300. package/dist/Toast/ToastViewport.js +23 -11
  301. package/dist/Toast/useToast.d.ts.map +1 -1
  302. package/dist/Toast/useToast.js +44 -4
  303. package/dist/ToggleButton/ToggleButton.js +12 -12
  304. package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
  305. package/dist/Token/Token.js +21 -21
  306. package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
  307. package/dist/Tokenizer/Tokenizer.js +36 -34
  308. package/dist/Toolbar/Toolbar.js +18 -18
  309. package/dist/Tooltip/Tooltip.js +11 -11
  310. package/dist/Tooltip/useTooltip.d.ts +5 -1
  311. package/dist/Tooltip/useTooltip.d.ts.map +1 -1
  312. package/dist/Tooltip/useTooltip.js +3 -3
  313. package/dist/TopNav/TopNav.js +32 -32
  314. package/dist/TopNav/TopNavHeading.js +67 -67
  315. package/dist/TopNav/TopNavItem.js +5 -5
  316. package/dist/TopNav/TopNavMegaMenu.js +30 -30
  317. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
  318. package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
  319. package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +25 -14
  320. package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
  321. package/dist/TopNav/TopNavMenu.js +32 -32
  322. package/dist/TreeList/TreeList.js +8 -8
  323. package/dist/TreeList/TreeListBranches.js +11 -11
  324. package/dist/TreeList/TreeListItem.js +30 -30
  325. package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
  326. package/dist/Typeahead/BaseTypeahead.js +23 -20
  327. package/dist/Typeahead/Typeahead.js +12 -12
  328. package/dist/Typeahead/TypeaheadItem.js +10 -10
  329. package/dist/VStack/VStack.js +3 -3
  330. package/dist/VisuallyHidden/VisuallyHidden.d.ts +0 -3
  331. package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  332. package/dist/VisuallyHidden/VisuallyHidden.js +0 -3
  333. package/dist/astryx.css +7 -0
  334. package/dist/astryx.umd.js +63 -63
  335. package/dist/astryx.umd.js.map +4 -4
  336. package/dist/docs-types.d.ts +8 -2
  337. package/dist/docs-types.d.ts.map +1 -1
  338. package/dist/hooks/focusableSelector.d.ts +1 -1
  339. package/dist/hooks/focusableSelector.d.ts.map +1 -1
  340. package/dist/hooks/focusableSelector.js +1 -1
  341. package/dist/hooks/index.d.ts +2 -0
  342. package/dist/hooks/index.d.ts.map +1 -1
  343. package/dist/hooks/index.js +1 -0
  344. package/dist/hooks/useFocusTrap.d.ts +3 -0
  345. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  346. package/dist/hooks/useFocusTrap.js +38 -1
  347. package/dist/hooks/useHotkeys.d.ts +51 -0
  348. package/dist/hooks/useHotkeys.d.ts.map +1 -0
  349. package/dist/hooks/useHotkeys.js +160 -0
  350. package/dist/hooks/useInteractiveRole.d.ts +6 -2
  351. package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
  352. package/dist/hooks/useInteractiveRole.js +6 -2
  353. package/dist/hooks/useKeyboardHint.js +9 -9
  354. package/dist/hooks/useStreamingText.d.ts +3 -1
  355. package/dist/hooks/useStreamingText.d.ts.map +1 -1
  356. package/dist/hooks/useStreamingText.js +14 -5
  357. package/dist/theme/MediaTheme.js +3 -3
  358. package/dist/theme/Theme.js +7 -7
  359. package/dist/theme/defineTheme.d.ts +1 -1
  360. package/dist/theme/defineTheme.d.ts.map +1 -1
  361. package/dist/theme/expandColorScale.d.ts.map +1 -1
  362. package/dist/theme/expandColorScale.js +10 -3
  363. package/dist/theme/hct.d.ts +0 -15
  364. package/dist/theme/hct.d.ts.map +1 -1
  365. package/dist/theme/hct.js +9 -9
  366. package/dist/theme/syntax/SyntaxTheme.js +5 -5
  367. package/dist/theme/tokens.d.ts +10 -2
  368. package/dist/theme/tokens.d.ts.map +1 -1
  369. package/dist/theme/tokens.js +220 -4
  370. package/dist/theme/useTheme.d.ts +3 -2
  371. package/dist/theme/useTheme.d.ts.map +1 -1
  372. package/dist/theme/useTheme.js +73 -6
  373. package/dist/utils/color.d.ts +42 -0
  374. package/dist/utils/color.d.ts.map +1 -0
  375. package/dist/utils/color.js +150 -0
  376. package/dist/utils/composeEventHandlers.d.ts +30 -0
  377. package/dist/utils/composeEventHandlers.d.ts.map +1 -0
  378. package/dist/utils/composeEventHandlers.js +40 -0
  379. package/dist/utils/index.d.ts +3 -0
  380. package/dist/utils/index.d.ts.map +1 -1
  381. package/dist/utils/index.js +3 -1
  382. package/dist/utils/timeParser.d.ts.map +1 -1
  383. package/dist/utils/timeParser.js +8 -5
  384. package/package.json +4 -4
  385. package/src/AlertDialog/AlertDialog.doc.mjs +4 -0
  386. package/src/AlertDialog/AlertDialog.tsx +2 -0
  387. package/src/AlertDialog/useImperativeAlertDialog.tsx +0 -2
  388. package/src/AppShell/AppShell.tsx +2 -0
  389. package/src/AspectRatio/AspectRatio.doc.mjs +28 -1
  390. package/src/AspectRatio/AspectRatio.test.tsx +142 -1
  391. package/src/AspectRatio/AspectRatio.tsx +70 -10
  392. package/src/AspectRatio/index.ts +5 -1
  393. package/src/Avatar/Avatar.doc.mjs +11 -0
  394. package/src/Avatar/Avatar.test.tsx +32 -1
  395. package/src/Avatar/Avatar.tsx +14 -22
  396. package/src/Avatar/AvatarStatusDot.tsx +2 -2
  397. package/src/AvatarGroup/AvatarGroup.doc.mjs +1 -0
  398. package/src/AvatarGroup/AvatarGroup.tsx +2 -2
  399. package/src/AvatarGroup/AvatarGroupOverflow.tsx +2 -2
  400. package/src/Banner/Banner.doc.mjs +8 -0
  401. package/src/Banner/Banner.test.tsx +38 -0
  402. package/src/Banner/Banner.tsx +8 -1
  403. package/src/Calendar/Calendar.doc.mjs +1 -1
  404. package/src/Calendar/Calendar.test.tsx +122 -17
  405. package/src/Calendar/Calendar.tsx +26 -5
  406. package/src/Calendar/dayCellUtils.ts +3 -1
  407. package/src/Calendar/styles.ts +12 -2
  408. package/src/Card/Card.doc.mjs +1 -1
  409. package/src/Card/Card.tsx +16 -6
  410. package/src/Carousel/Carousel.doc.mjs +12 -12
  411. package/src/Carousel/Carousel.test.tsx +13 -0
  412. package/src/Carousel/Carousel.tsx +4 -2
  413. package/src/Chat/Chat.doc.mjs +1 -1
  414. package/src/Chat/ChatComposerInput.test.tsx +27 -1
  415. package/src/Chat/ChatComposerInput.tsx +20 -15
  416. package/src/Chat/ChatDictationButton.test.tsx +43 -0
  417. package/src/Chat/ChatDictationButton.tsx +4 -4
  418. package/src/Chat/ChatLayoutScrollButton.test.tsx +33 -0
  419. package/src/Chat/ChatLayoutScrollButton.tsx +3 -1
  420. package/src/Chat/ChatMessageMetadata.test.tsx +32 -0
  421. package/src/Chat/ChatMessageMetadata.tsx +4 -6
  422. package/src/Chat/ChatSystemMessage.test.tsx +26 -11
  423. package/src/Chat/ChatSystemMessage.tsx +7 -7
  424. package/src/Chat/ChatTokenizedText.test.tsx +29 -16
  425. package/src/Chat/ChatTokenizedText.tsx +15 -8
  426. package/src/Chat/ChatToolCalls.test.tsx +55 -0
  427. package/src/Chat/ChatToolCalls.tsx +10 -12
  428. package/src/Chat/index.ts +1 -4
  429. package/src/Chat/useTriggerMenu.tsx +1 -4
  430. package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
  431. package/src/CheckboxInput/CheckboxInput.test.tsx +71 -4
  432. package/src/CheckboxInput/CheckboxInput.tsx +2 -0
  433. package/src/CheckboxList/CheckboxList.test.tsx +19 -0
  434. package/src/CheckboxList/CheckboxListItem.tsx +11 -2
  435. package/src/Citation/Citation.doc.mjs +5 -0
  436. package/src/ClickableCard/ClickableCard.tsx +45 -2
  437. package/src/CodeBlock/CodeBlock.doc.mjs +7 -2
  438. package/src/CodeBlock/CodeBlock.test.tsx +122 -3
  439. package/src/CodeBlock/CodeBlock.tsx +62 -4
  440. package/src/Collapsible/Collapsible.doc.mjs +8 -4
  441. package/src/Collapsible/Collapsible.test.tsx +403 -0
  442. package/src/Collapsible/Collapsible.tsx +85 -10
  443. package/src/Collapsible/CollapsibleGroup.doc.mjs +27 -3
  444. package/src/Collapsible/CollapsibleGroup.test.tsx +314 -0
  445. package/src/Collapsible/CollapsibleGroup.tsx +97 -9
  446. package/src/Collapsible/CollapsibleGroupContext.tsx +34 -2
  447. package/src/Collapsible/index.ts +1 -0
  448. package/src/Collapsible/useCollapsible.ts +20 -6
  449. package/src/CommandPalette/CommandPalette.doc.mjs +5 -0
  450. package/src/CommandPalette/CommandPalette.tsx +5 -3
  451. package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +5 -0
  452. package/src/CommandPalette/CommandPaletteGroup.doc.mjs +10 -0
  453. package/src/CommandPalette/CommandPaletteInput.doc.mjs +6 -0
  454. package/src/CommandPalette/CommandPaletteItem.doc.mjs +6 -0
  455. package/src/CommandPalette/CommandPaletteList.doc.mjs +9 -0
  456. package/src/ContextMenu/ContextMenu.doc.mjs +15 -0
  457. package/src/ContextMenu/ContextMenu.test.tsx +87 -0
  458. package/src/ContextMenu/ContextMenu.tsx +87 -28
  459. package/src/ContextMenu/ContextMenuItem.doc.mjs +6 -0
  460. package/src/DateInput/DateInput.test.tsx +11 -20
  461. package/src/DateRangeInput/DateRangeInput.doc.mjs +9 -6
  462. package/src/DateRangeInput/DateRangeInput.test.tsx +31 -44
  463. package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -2
  464. package/src/DateTimeInput/DateTimeInput.test.tsx +118 -16
  465. package/src/DateTimeInput/DateTimeInput.tsx +8 -2
  466. package/src/DateTimeInput/index.ts +1 -0
  467. package/src/Dialog/Dialog.doc.mjs +4 -0
  468. package/src/Dialog/DialogHeader.doc.mjs +45 -0
  469. package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
  470. package/src/DropdownMenu/DropdownMenu.test.tsx +22 -2
  471. package/src/DropdownMenu/DropdownMenuItem.tsx +5 -17
  472. package/src/EmptyState/EmptyState.doc.mjs +1 -1
  473. package/src/Field/Field.test.tsx +1 -4
  474. package/src/Field/FieldLabel.test.tsx +2 -2
  475. package/src/FieldStatus/FieldStatus.test.tsx +282 -0
  476. package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -3
  477. package/src/Grid/Grid.test.tsx +43 -18
  478. package/src/Grid/Grid.tsx +26 -9
  479. package/src/HoverCard/HoverCard.doc.mjs +6 -6
  480. package/src/HoverCard/useHoverCard.doc.mjs +5 -5
  481. package/src/HoverCard/useHoverCard.tsx +9 -2
  482. package/src/Icon/Icon.test.tsx +41 -29
  483. package/src/Icon/Icon.tsx +6 -2
  484. package/src/InputGroup/InputGroup.doc.mjs +1 -0
  485. package/src/InputGroup/InputGroup.tsx +2 -2
  486. package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +185 -0
  487. package/src/Item/Item.tsx +1 -1
  488. package/src/Layer/useLayer.doc.mjs +2 -2
  489. package/src/Layer/useLayer.test.tsx +221 -2
  490. package/src/Layer/useLayer.tsx +69 -30
  491. package/src/Layout/Layout.test.tsx +285 -0
  492. package/src/Layout/LayoutContent.doc.mjs +12 -0
  493. package/src/Layout/LayoutPanel.doc.mjs +40 -0
  494. package/src/Layout/LayoutSlots.test.tsx +364 -0
  495. package/src/Lightbox/Lightbox.doc.mjs +5 -0
  496. package/src/Lightbox/Lightbox.test.tsx +123 -2
  497. package/src/Lightbox/Lightbox.tsx +29 -1
  498. package/src/Lightbox/useLightbox.tsx +0 -1
  499. package/src/Link/Link.tsx +0 -2
  500. package/src/Markdown/Markdown.tsx +9 -7
  501. package/src/Markdown/parser.perf.test.ts +34 -12
  502. package/src/MobileNav/MobileNav.test.tsx +56 -0
  503. package/src/MobileNav/MobileNav.tsx +13 -8
  504. package/src/NavMenu/NavMenu.doc.mjs +15 -0
  505. package/src/NumberInput/NumberInput.test.tsx +48 -3
  506. package/src/NumberInput/NumberInput.tsx +32 -15
  507. package/src/Outline/Outline.doc.mjs +2 -0
  508. package/src/Outline/parseOutlineFromMarkdown.test.ts +80 -0
  509. package/src/OverflowList/OverflowList.test.tsx +416 -0
  510. package/src/Overlay/Overlay.doc.mjs +6 -0
  511. package/src/Overlay/Overlay.test.tsx +356 -0
  512. package/src/Overlay/useOverlay.tsx +0 -3
  513. package/src/Pagination/Pagination.test.tsx +162 -0
  514. package/src/Pagination/Pagination.tsx +80 -26
  515. package/src/Popover/Popover.doc.mjs +6 -6
  516. package/src/Popover/Popover.test.tsx +65 -0
  517. package/src/Popover/usePopover.doc.mjs +1 -1
  518. package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
  519. package/src/PowerSearch/PowerSearch.test.tsx +109 -1
  520. package/src/PowerSearch/PowerSearch.tsx +37 -16
  521. package/src/ProgressBar/ProgressBar.doc.mjs +2 -0
  522. package/src/ProgressBar/ProgressBar.test.tsx +30 -0
  523. package/src/ProgressBar/ProgressBar.tsx +12 -5
  524. package/src/RadioList/RadioList.test.tsx +19 -0
  525. package/src/RadioList/RadioListItem.tsx +9 -4
  526. package/src/Resizable/ResizeHandle.test.tsx +218 -0
  527. package/src/Resizable/ResizeHandle.tsx +22 -4
  528. package/src/SegmentedControl/SegmentedControl.doc.mjs +1 -1
  529. package/src/SegmentedControl/SegmentedControl.test.tsx +192 -0
  530. package/src/SegmentedControl/SegmentedControl.tsx +27 -5
  531. package/src/SegmentedControl/SegmentedControlItem.tsx +9 -4
  532. package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
  533. package/src/Selector/Selector.test.tsx +27 -1
  534. package/src/SideNav/SideNav.doc.mjs +7 -1
  535. package/src/SideNav/SideNav.test.tsx +66 -0
  536. package/src/SideNav/SideNav.tsx +6 -2
  537. package/src/SideNav/SideNavCollapseButton.tsx +4 -3
  538. package/src/SideNav/SideNavSection.tsx +6 -4
  539. package/src/SizeContext/SizeContext.test.tsx +226 -0
  540. package/src/Switch/Switch.doc.mjs +7 -7
  541. package/src/Switch/Switch.test.tsx +102 -3
  542. package/src/Switch/Switch.tsx +20 -7
  543. package/src/TabList/TabList.test.tsx +185 -1
  544. package/src/TabList/TabMenu.tsx +45 -9
  545. package/src/Table/BaseTable.tsx +13 -2
  546. package/src/Table/Table.doc.mjs +6 -1
  547. package/src/Table/Table.test.tsx +87 -0
  548. package/src/Table/TableBody.tsx +15 -2
  549. package/src/Table/TableFooter.tsx +15 -2
  550. package/src/Table/TableHeader.tsx +15 -2
  551. package/src/Table/index.ts +5 -0
  552. package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +13 -0
  553. package/src/Table/plugins/columnResize/useTableColumnResize.tsx +3 -1
  554. package/src/Table/plugins/groupedRows/index.ts +7 -0
  555. package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +231 -0
  556. package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +349 -0
  557. package/src/Table/plugins/pagination/paginateData.ts +5 -1
  558. package/src/Table/plugins/pagination/useTablePagination.test.tsx +13 -0
  559. package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +1 -1
  560. package/src/Table/plugins/selection/useTableSelectionState.test.tsx +23 -0
  561. package/src/Table/plugins/selection/useTableSelectionState.tsx +11 -6
  562. package/src/Table/plugins/sortable/useTableSortableState.test.tsx +35 -1
  563. package/src/Table/plugins/sortable/useTableSortableState.tsx +8 -4
  564. package/src/Table/useTableGroupedRows.doc.mjs +71 -0
  565. package/src/TextArea/TextArea.test.tsx +3 -3
  566. package/src/TextInput/TextInput.test.tsx +3 -3
  567. package/src/Thumbnail/Thumbnail.test.tsx +36 -2
  568. package/src/Thumbnail/Thumbnail.tsx +4 -2
  569. package/src/TimeInput/TimeInput.test.tsx +37 -0
  570. package/src/TimeInput/TimeInput.tsx +11 -1
  571. package/src/Timestamp/Timestamp.doc.mjs +1 -1
  572. package/src/Timestamp/Timestamp.test.tsx +52 -0
  573. package/src/Timestamp/Timestamp.tsx +30 -16
  574. package/src/Toast/Toast.tsx +11 -3
  575. package/src/Toast/ToastViewport.test.tsx +64 -0
  576. package/src/Toast/ToastViewport.tsx +12 -0
  577. package/src/Toast/useToast.test.tsx +258 -0
  578. package/src/Toast/useToast.tsx +41 -0
  579. package/src/ToggleButton/ToggleButton.doc.mjs +1 -0
  580. package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
  581. package/src/Tokenizer/Tokenizer.test.tsx +54 -0
  582. package/src/Tokenizer/Tokenizer.tsx +5 -4
  583. package/src/Tooltip/Tooltip.doc.mjs +6 -6
  584. package/src/Tooltip/useTooltip.doc.mjs +5 -5
  585. package/src/Tooltip/useTooltip.tsx +12 -2
  586. package/src/TopNav/TopNav.doc.mjs +1 -1
  587. package/src/TopNav/TopNav.test.tsx +23 -7
  588. package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
  589. package/src/TreeList/TreeList.doc.mjs +2 -2
  590. package/src/Typeahead/BaseTypeahead.doc.mjs +19 -0
  591. package/src/Typeahead/BaseTypeahead.tsx +5 -2
  592. package/src/Typeahead/Typeahead.doc.mjs +1 -1
  593. package/src/Typeahead/Typeahead.test.tsx +45 -1
  594. package/src/VisuallyHidden/VisuallyHidden.tsx +0 -3
  595. package/src/__tests__/TestIcon.tsx +26 -0
  596. package/src/__tests__/fastRoleQueries.ts +66 -0
  597. package/src/docPropReferences.test.ts +178 -0
  598. package/src/docs-types.ts +9 -1
  599. package/src/hooks/focusableSelector.ts +1 -1
  600. package/src/hooks/index.ts +3 -0
  601. package/src/hooks/useFocusTrap.doc.mjs +4 -2
  602. package/src/hooks/useFocusTrap.test.tsx +149 -1
  603. package/src/hooks/useFocusTrap.ts +50 -1
  604. package/src/hooks/useHotkeys.doc.mjs +52 -0
  605. package/src/hooks/useHotkeys.test.ts +245 -0
  606. package/src/hooks/useHotkeys.ts +203 -0
  607. package/src/hooks/useInteractiveRole.ts +12 -4
  608. package/src/hooks/useStreamingText.test.ts +54 -19
  609. package/src/hooks/useStreamingText.ts +16 -5
  610. package/src/hooks/useTreeFocus.test.tsx +1 -3
  611. package/src/reset.css +29 -0
  612. package/src/theme/SyntaxTheme.doc.mjs +4 -4
  613. package/src/theme/defineTheme.ts +4 -13
  614. package/src/theme/derivedVarRegistry.test.ts +2 -2
  615. package/src/theme/expandColorScale.test.ts +29 -0
  616. package/src/theme/expandColorScale.ts +11 -6
  617. package/src/theme/hct.ts +9 -17
  618. package/src/theme/themingTargets.test.ts +353 -0
  619. package/src/theme/tokens.test.ts +182 -9
  620. package/src/theme/tokens.ts +239 -4
  621. package/src/theme/useTheme.test.tsx +126 -2
  622. package/src/theme/useTheme.ts +87 -6
  623. package/src/utils/color.test.ts +133 -0
  624. package/src/utils/color.ts +148 -0
  625. package/src/utils/composeEventHandlers.test.ts +71 -0
  626. package/src/utils/composeEventHandlers.ts +44 -0
  627. package/src/utils/index.ts +4 -0
  628. package/src/utils/mergeProps.test.ts +166 -0
  629. package/src/utils/sharedResizeObserver.test.ts +2 -2
  630. package/src/utils/timeParser.test.ts +13 -0
  631. package/src/utils/timeParser.ts +8 -5
  632. package/dist/Carousel/carousel.markers.stylex.d.ts +0 -7
  633. package/dist/Carousel/carousel.markers.stylex.d.ts.map +0 -1
  634. package/dist/Carousel/carousel.markers.stylex.js +0 -12
  635. package/src/Carousel/carousel.markers.stylex.ts +0 -10
@@ -24,7 +24,7 @@ import "../theme/tokens.stylex.js";
24
24
  import { colorVars, durationVars, easeVars, radiusVars, spacingVars } from "../theme/tokens.stylex.js";
25
25
  import { mergeProps, mergeRefs } from "../utils/index.js";
26
26
  import { themeProps } from "../utils/themeProps.js";
27
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
28
28
  const KEYBOARD_STEP = 10;
29
29
  const KEYBOARD_LARGE_STEP = 50;
30
30
  function resolveEffectiveSide(pillPlacement, isReversed, isCollapsed) {
@@ -251,6 +251,9 @@ export function ResizeHandle({
251
251
  ...props
252
252
  }) {
253
253
  const handleRef = useRef(null);
254
+ // Removes the in-flight drag's window listeners (and resets body styles).
255
+ // Held in a ref so unmount can tear down a drag that never got a pointerup.
256
+ const dragCleanupRef = useRef(null);
254
257
  const [isDragging, setIsDragging] = useState(false);
255
258
  const [isHovered, setIsHovered] = useState(false);
256
259
  const [isFocused, setIsFocused] = useState(false);
@@ -302,10 +305,12 @@ export function ResizeHandle({
302
305
  window.removeEventListener('pointermove', onMove);
303
306
  window.removeEventListener('pointerup', onUp);
304
307
  window.removeEventListener('pointercancel', onCancel);
308
+ dragCleanupRef.current = null;
305
309
  }
306
310
  window.addEventListener('pointermove', onMove);
307
311
  window.addEventListener('pointerup', onUp);
308
312
  window.addEventListener('pointercancel', onCancel);
313
+ dragCleanupRef.current = cleanup;
309
314
  }, [isDisabled, resizable, isHorizontal, getRTLMultiplier, sign]);
310
315
 
311
316
  // --- Keyboard ---
@@ -376,20 +381,25 @@ export function ResizeHandle({
376
381
  }, [isDisabled, resizable]);
377
382
 
378
383
  // --- Cleanup on unmount ---
384
+ // A drag in flight when the handle unmounts never gets its pointerup, so
385
+ // tear down the window listeners here too — otherwise every pointermove
386
+ // keeps driving the (still-mounted) region's resize state after the handle
387
+ // is gone, and the body cursor/user-select overrides stick.
379
388
  useEffect(() => {
380
389
  return () => {
381
- if (isDragging) {
390
+ if (dragCleanupRef.current) {
391
+ dragCleanupRef.current();
382
392
  document.body.style.cursor = '';
383
393
  document.body.style.userSelect = '';
384
394
  }
385
395
  };
386
- }, [isDragging]);
396
+ }, []);
387
397
 
388
398
  // --- ARIA ---
389
399
  const ariaValueNow = resizable ? resizable._size : undefined;
390
400
  const ariaValueMin = resizable ? resizable._minSizePx : undefined;
391
401
  const ariaValueMax = resizable && resizable._maxSizePx !== Infinity ? resizable._maxSizePx : undefined;
392
- return /*#__PURE__*/_jsxs("div", {
402
+ return /*#__PURE__*/_jsxDEV("div", {
393
403
  ref: mergeRefs(ref, handleRef),
394
404
  role: "separator",
395
405
  "aria-orientation": isHorizontal ? 'vertical' : 'horizontal',
@@ -405,7 +415,16 @@ export function ResizeHandle({
405
415
  "data-resizing": isDragging || undefined,
406
416
  ...mergeProps(themeProps('resize-handle'), stylex.props(styles.handle, isOverlay && styles.overlay, isOverlay && (isHorizontal ? styles.overlayHorizontal : styles.overlayVertical), !isOverlay && (isHorizontal ? styles.horizontal : styles.vertical), !isOverlay && !hasDivider && (isHorizontal ? styles.noDividerHorizontal : styles.noDividerVertical), !isOverlay && hasDivider && isInteracting && !isDragging && styles.handleHover, !isOverlay && hasDivider && isDragging && styles.handleActive, isDisabled && styles.disabled, xstyle), className),
407
417
  ...props,
408
- children: [/*#__PURE__*/_jsx("div", {
418
+ // Keyboard resizing must fire from the focusable separator, not a child:
419
+ // keydown fires on the focused element and bubbles up, so a handler on a
420
+ // descendant never runs (per the WAI-ARIA window-splitter pattern).
421
+ // Placed after {...props} and composed with any consumer onKeyDown so
422
+ // this accessibility-critical handler can't be clobbered by a passed prop.
423
+ onKeyDown: e => {
424
+ props.onKeyDown?.(e);
425
+ handleKeyDown(e);
426
+ },
427
+ children: [/*#__PURE__*/_jsxDEV("div", {
409
428
  ...stylex.props(styles.hitArea, isHorizontal ? styles.hitAreaHorizontal : styles.hitAreaVertical, isHorizontal ? dynamicStyles.hitAreaBiasX(hitAreaBias(effectiveSide)) : dynamicStyles.hitAreaBiasY(hitAreaBias(effectiveSide)), isDisabled && styles.disabled),
410
429
  onPointerDown: handlePointerDown,
411
430
  onPointerEnter: () => setIsHovered(true),
@@ -413,11 +432,10 @@ export function ResizeHandle({
413
432
  if (!isDragging) {
414
433
  setIsHovered(false);
415
434
  }
416
- },
417
- onKeyDown: handleKeyDown
418
- }), children ?? /*#__PURE__*/_jsx("div", {
435
+ }
436
+ }, void 0, false), children ?? /*#__PURE__*/_jsxDEV("div", {
419
437
  ...mergeProps(themeProps('resize-handle-pill'), stylex.props(styles.pill, isHorizontal ? styles.pillHorizontal : styles.pillVertical, effectiveSide !== 'center' && (isHorizontal ? dynamicStyles.pillOffsetX(effectiveSide === 'start' ? -1 : 1) : dynamicStyles.pillOffsetY(effectiveSide === 'start' ? -1 : 1)), isAlwaysVisible ? styles.pillVisible : styles.pillHidden, isInteracting && !isDragging && styles.pillHover, isDragging && styles.pillActive))
420
- })]
421
- });
438
+ }, void 0, false)]
439
+ }, void 0, true);
422
440
  }
423
441
  ResizeHandle.displayName = 'ResizeHandle';
@@ -40,7 +40,7 @@ import { themeProps } from "../utils/themeProps.js";
40
40
  * Visual variant for the section.
41
41
  * Extensible via module augmentation of SectionVariantMap.
42
42
  */
43
- import { jsx as _jsx } from "react/jsx-runtime";
43
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
44
44
  const variantStyles = {
45
45
  section: {
46
46
  kWkggS: "x10xzikg",
@@ -157,7 +157,7 @@ export function Section({
157
157
  const effectivePadding = padding ?? 4;
158
158
  const paddingToken = spacingStepToToken[effectivePadding];
159
159
  const outerStylex = stylex.props(nestedStyles.outer, dynamicStyles.sizing(width ?? null, height ?? null, maxWidth ?? null, minHeight ?? null), xstyle);
160
- return /*#__PURE__*/_jsx("div", {
160
+ return /*#__PURE__*/_jsxDEV("div", {
161
161
  ref: ref,
162
162
  className: [outerStylex.className, className].filter(Boolean).join(' ') || undefined,
163
163
  style: style && outerStylex.style ? {
@@ -165,7 +165,7 @@ export function Section({
165
165
  ...style
166
166
  } : style || outerStylex.style,
167
167
  ...props,
168
- children: /*#__PURE__*/_jsx("div", {
168
+ children: /*#__PURE__*/_jsxDEV("div", {
169
169
  ...mergeProps(themeProps('section', {
170
170
  variant
171
171
  }), stylex.props(nestedStyles.inner, ...container(useThemeDefault ? {
@@ -177,7 +177,7 @@ export function Section({
177
177
  paddingOuterY: paddingToken
178
178
  }), !useThemeDefault && effectivePadding !== 4 && paddingStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingInlineVarStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingBlockStartVarStyles[effectivePadding], !useThemeDefault && effectivePadding !== 4 && containerPaddingBlockEndVarStyles[effectivePadding], !useThemeDefault && sectionPaddingPropagationStyles[effectivePadding], paddingBlock != null && paddingBlockStyles[paddingBlock], paddingBlock != null && containerPaddingBlockStartVarStyles[paddingBlock], paddingBlock != null && containerPaddingBlockEndVarStyles[paddingBlock], variantStyles[variant], dividers?.includes('top') && dividerStyles.top, dividers?.includes('bottom') && dividerStyles.bottom, dividers?.includes('start') && dividerStyles.start, dividers?.includes('end') && dividerStyles.end)),
179
179
  children: children
180
- })
181
- });
180
+ }, void 0, false)
181
+ }, void 0, false);
182
182
  }
183
183
  Section.displayName = 'Section';
@@ -73,7 +73,7 @@ export interface SegmentedControlProps extends Omit<BaseProps<HTMLDivElement>, '
73
73
  * </SegmentedControl>
74
74
  * ```
75
75
  */
76
- export declare function SegmentedControl({ ref, value, onChange, label, size: sizeProp, layout, isDisabled, disabledMessage, children, xstyle, className, style, }: SegmentedControlProps): React.JSX.Element;
76
+ export declare function SegmentedControl({ ref, value, onChange, label, size: sizeProp, layout, isDisabled, disabledMessage, children, xstyle, className, style, onKeyDown: onKeyDownProp, onFocus: onFocusProp, onBlur: onBlurProp, ...rest }: SegmentedControlProps): React.JSX.Element;
77
77
  export declare namespace SegmentedControl {
78
78
  var displayName: string;
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAOlE,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EAAE,QAAQ,EACd,MAAc,EACd,UAAkB,EAClB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,qBAAqB,qBAqHvB;yBAlIe,gBAAgB"}
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAuB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAOlE,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EAAE,QAAQ,EACd,MAAc,EACd,UAAkB,EAClB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,GAAG,IAAI,EACR,EAAE,qBAAqB,qBAuIvB;yBAxJe,gBAAgB"}
@@ -22,10 +22,10 @@ import { SegmentedControlContext } from "./SegmentedControlContext.js";
22
22
  import { useListFocus } from "../hooks/useListFocus.js";
23
23
  import { useKeyboardHint } from "../hooks/useKeyboardHint.js";
24
24
  import { useTooltip } from "../Tooltip/index.js";
25
- import { mergeProps, mergeRefs } from "../utils/index.js";
25
+ import { mergeProps, mergeRefs, composeEventHandlers } from "../utils/index.js";
26
26
  import { useSize } from "../SizeContext/SizeContext.js";
27
27
  import { themeProps } from "../utils/themeProps.js";
28
- import { jsxs as _jsxs } from "react/jsx-runtime";
28
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
29
29
  // =============================================================================
30
30
  // Styles
31
31
  // =============================================================================
@@ -98,7 +98,11 @@ export function SegmentedControl({
98
98
  children,
99
99
  xstyle,
100
100
  className,
101
- style
101
+ style,
102
+ onKeyDown: onKeyDownProp,
103
+ onFocus: onFocusProp,
104
+ onBlur: onBlurProp,
105
+ ...rest
102
106
  }) {
103
107
  const size = useSize(sizeProp, 'md');
104
108
 
@@ -136,9 +140,13 @@ export function SegmentedControl({
136
140
  isEnabled: !isDisabled
137
141
  });
138
142
  const handleContainerKeyDown = useCallback(e => {
143
+ onKeyDownProp?.(e);
144
+ if (e.defaultPrevented) {
145
+ return;
146
+ }
139
147
  hint.onKeyDown(e);
140
148
  handleKeyDown(e);
141
- }, [hint, handleKeyDown]);
149
+ }, [onKeyDownProp, hint, handleKeyDown]);
142
150
 
143
151
  // Selection-follows-focus (APG radiogroup): useListFocus only *moves* focus,
144
152
  // so whenever it lands focus on a new radio (arrow/Home/End, or a click) we
@@ -148,11 +156,24 @@ export function SegmentedControl({
148
156
  // and the already-selected value is skipped so an initial Tab-in (or a click
149
157
  // on the current segment) is a no-op, matching click behavior.
150
158
  const handleContainerFocus = useCallback(e => {
159
+ onFocusProp?.(e);
160
+ if (e.defaultPrevented) {
161
+ return;
162
+ }
151
163
  hint.onFocus(e);
152
164
  handleFocus(e);
153
165
  if (isDisabled) {
154
166
  return;
155
167
  }
168
+ // Only select when focus moved WITHIN the group (arrow/Home/End — APG
169
+ // selection-follows-focus). When focus is entering from outside, Tab
170
+ // must stay a pure focus move: with an unmatched or disabled-selected
171
+ // value the roving tab stop falls back to the first enabled radio, and
172
+ // selecting it here would rewrite the form value on mere traversal.
173
+ // Clicks are unaffected: the item's own handleClick selects.
174
+ if (!e.currentTarget.contains(e.relatedTarget)) {
175
+ return;
176
+ }
156
177
  const focused = e.target?.closest('[role="radio"][data-value]');
157
178
  if (!focused || focused.getAttribute('aria-disabled') === 'true') {
158
179
  return;
@@ -161,7 +182,7 @@ export function SegmentedControl({
161
182
  if (nextValue != null && nextValue !== value) {
162
183
  onChange(nextValue);
163
184
  }
164
- }, [hint, handleFocus, isDisabled, onChange, value]);
185
+ }, [onFocusProp, hint, handleFocus, isDisabled, onChange, value]);
165
186
  const contextValue = useMemo(() => ({
166
187
  value,
167
188
  onChange,
@@ -170,22 +191,23 @@ export function SegmentedControl({
170
191
  isDisabled,
171
192
  hasDisabledMessage: showsDisabledMessage
172
193
  }), [value, onChange, size, layout, isDisabled, showsDisabledMessage]);
173
- return /*#__PURE__*/_jsxs(SegmentedControlContext, {
194
+ return /*#__PURE__*/_jsxDEV(SegmentedControlContext, {
174
195
  value: contextValue,
175
- children: [/*#__PURE__*/_jsxs("div", {
196
+ children: [/*#__PURE__*/_jsxDEV("div", {
176
197
  ref: mergeRefs(ref, listRef, disabledMessageTooltip.ref),
198
+ ...rest,
177
199
  role: "radiogroup",
178
200
  "aria-label": label,
179
201
  "aria-disabled": isDisabled || undefined,
180
202
  "aria-describedby": showsDisabledMessage ? disabledMessageTooltip.describedBy : undefined,
181
203
  onKeyDown: handleContainerKeyDown,
182
204
  onFocus: handleContainerFocus,
183
- onBlur: hint.onBlur,
205
+ onBlur: composeEventHandlers(onBlurProp, hint.onBlur),
184
206
  ...mergeProps(themeProps('segmented-control', {
185
207
  size
186
208
  }), stylex.props(styles.container, sizeStyles[size], layout === 'fill' && styles.fill, isDisabled && (showsDisabledMessage ? styles.disabledWithMessage : styles.disabled), xstyle), className, style),
187
209
  children: [children, hint.hintElement]
188
- }), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
189
- });
210
+ }, void 0, true), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
211
+ }, void 0, true);
190
212
  }
191
213
  SegmentedControl.displayName = 'SegmentedControl';
@@ -48,7 +48,7 @@ export interface SegmentedControlItemProps extends BaseProps<HTMLButtonElement>
48
48
  * <SegmentedControlItem value="grid" label="Grid" icon={<GridIcon />} />
49
49
  * ```
50
50
  */
51
- export declare function SegmentedControlItem({ ref, value, label, isLabelHidden, icon, isDisabled, }: SegmentedControlItemProps): React.JSX.Element;
51
+ export declare function SegmentedControlItem({ ref, value, label, isLabelHidden, icon, isDisabled, onClick: onClickProp, ...rest }: SegmentedControlItemProps): React.JSX.Element;
52
52
  export declare namespace SegmentedControlItem {
53
53
  var displayName: string;
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControlItem.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControlItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAc,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAezD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,yBAA0B,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC7E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6FD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,KAAK,EACL,KAAK,EACL,aAAqB,EACrB,IAAI,EACJ,UAAkB,GACnB,EAAE,yBAAyB,qBA6D3B;yBApEe,oBAAoB"}
1
+ {"version":3,"file":"SegmentedControlItem.d.ts","sourceRoot":"","sources":["../../src/SegmentedControl/SegmentedControlItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAe5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,yBAA0B,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC7E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6FD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,KAAK,EACL,KAAK,EACL,aAAqB,EACrB,IAAI,EACJ,UAAkB,EAClB,OAAO,EAAE,WAAW,EACpB,GAAG,IAAI,EACR,EAAE,yBAAyB,qBAgE3B;yBAzEe,oBAAoB"}
@@ -14,14 +14,14 @@
14
14
  * - /packages/core/src/SegmentedControl/SegmentedControl.test.tsx
15
15
  * - /packages/cli/templates/blocks/components/SegmentedControl/ (showcase blocks)
16
16
  */
17
- import React, { useCallback } from 'react';
17
+ import React from 'react';
18
18
  import * as stylex from '@stylexjs/stylex';
19
19
  import "../theme/tokens.stylex.js";
20
20
  import { colorVars, spacingVars, sizeVars, durationVars, easeVars, fontWeightVars, shadowVars, typeScaleVars } from "../theme/tokens.stylex.js";
21
21
  import { useSegmentedControlContext } from "./SegmentedControlContext.js";
22
- import { mergeProps } from "../utils/index.js";
22
+ import { mergeProps, composeEventHandlers } from "../utils/index.js";
23
23
  import { themeProps } from "../utils/themeProps.js";
24
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
25
25
  // =============================================================================
26
26
  // Styles
27
27
  // =============================================================================
@@ -134,7 +134,9 @@ export function SegmentedControlItem({
134
134
  label,
135
135
  isLabelHidden = false,
136
136
  icon,
137
- isDisabled = false
137
+ isDisabled = false,
138
+ onClick: onClickProp,
139
+ ...rest
138
140
  }) {
139
141
  const ctx = useSegmentedControlContext();
140
142
  const isSelected = ctx.value === value;
@@ -146,17 +148,21 @@ export function SegmentedControlItem({
146
148
  const keepsSelectedFocusable = isSelected && (ctx.hasDisabledMessage ?? false) && !isDisabled;
147
149
  const size = ctx.size;
148
150
  const isFill = ctx.layout === 'fill';
149
- const handleClick = useCallback(() => {
151
+
152
+ // Consumer-first: a consumer onClick can call preventDefault() to opt out of
153
+ // selection; otherwise selection proceeds when enabled and not selected.
154
+ const handleClick = composeEventHandlers(onClickProp, () => {
150
155
  if (!isItemDisabled && !isSelected) {
151
156
  ctx.onChange(value);
152
157
  }
153
- }, [ctx, value, isItemDisabled, isSelected]);
154
- const iconElement = icon ? /*#__PURE__*/_jsx("span", {
158
+ });
159
+ const iconElement = icon ? /*#__PURE__*/_jsxDEV("span", {
155
160
  ...stylex.props(styles.icon, iconSizeStyles[size]),
156
161
  children: icon
157
- }) : null;
158
- return /*#__PURE__*/_jsxs("button", {
162
+ }, void 0, false) : null;
163
+ return /*#__PURE__*/_jsxDEV("button", {
159
164
  ref: ref,
165
+ ...rest,
160
166
  type: "button",
161
167
  role: "radio",
162
168
  "aria-checked": isSelected,
@@ -176,9 +182,9 @@ export function SegmentedControlItem({
176
182
  selected: isSelected ? 'selected' : null,
177
183
  disabled: isItemDisabled ? 'disabled' : null
178
184
  }), stylex.props(styles.base, sizeStyles[size], isFill && styles.fill, isSelected && styles.selected, !isSelected && !isItemDisabled && styles.hover, isItemDisabled && styles.disabled)),
179
- children: [iconElement, !isLabelHidden && /*#__PURE__*/_jsx("span", {
185
+ children: [iconElement, !isLabelHidden && /*#__PURE__*/_jsxDEV("span", {
180
186
  children: label
181
- })]
182
- });
187
+ }, void 0, false)]
188
+ }, void 0, true);
183
189
  }
184
190
  SegmentedControlItem.displayName = 'SegmentedControlItem';
@@ -37,7 +37,7 @@ import { themeProps } from "../utils/themeProps.js";
37
37
  // =============================================================================
38
38
  // Styles — selection + interaction; Card handles the rest
39
39
  // =============================================================================
40
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
40
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
41
41
  const styles = {
42
42
  interactive: {
43
43
  kVAEAm: "x1n2onr6",
@@ -237,7 +237,7 @@ export function SelectableCard({
237
237
  onMouseUp(e);
238
238
  onMouseUpProp(e);
239
239
  } : onMouseUp;
240
- return /*#__PURE__*/_jsxs(Card, {
240
+ return /*#__PURE__*/_jsxDEV(Card, {
241
241
  ref: mergeRefs(ref, containerRef),
242
242
  width: width,
243
243
  height: height,
@@ -255,7 +255,7 @@ export function SelectableCard({
255
255
  onClick: !isDisabled ? composedOnClick : undefined,
256
256
  onMouseUp: !isDisabled ? composedOnMouseUp : undefined,
257
257
  ...props,
258
- children: [/*#__PURE__*/_jsx("input", {
258
+ children: [/*#__PURE__*/_jsxDEV("input", {
259
259
  ref: interactiveRef,
260
260
  type: "checkbox",
261
261
  checked: isSelected,
@@ -265,7 +265,7 @@ export function SelectableCard({
265
265
  ...{
266
266
  className: "x10l6tqk x1i1rx1s xjm9jq1 x1717udv xkdpibf xb3r6kr xzpqnlu xuxw1ft xc342km"
267
267
  }
268
- }), children]
269
- });
268
+ }, void 0, false), children]
269
+ }, void 0, true);
270
270
  }
271
271
  SelectableCard.displayName = 'SelectableCard';
@@ -35,7 +35,7 @@ import { themeProps } from "../utils/themeProps.js";
35
35
  import { groupStyles } from "../InputGroup/groupStyles.js";
36
36
  import { useInputGroup } from "../InputGroup/InputGroupContext.js";
37
37
  import { VisuallyHidden } from "../VisuallyHidden/index.js";
38
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
38
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
39
39
  const styles = {
40
40
  triggerContainer: {
41
41
  kVAEAm: "x1n2onr6",
@@ -158,10 +158,10 @@ const STATUS_ICON_COLOR_MAP = {
158
158
  function DefaultOption({
159
159
  option
160
160
  }) {
161
- return /*#__PURE__*/_jsx(SelectorOption, {
161
+ return /*#__PURE__*/_jsxDEV(SelectorOption, {
162
162
  icon: option.icon,
163
163
  label: option.label ?? option.value
164
- });
164
+ }, void 0, false);
165
165
  }
166
166
 
167
167
  /**
@@ -388,11 +388,11 @@ export function Selector(props) {
388
388
  if (!hasSearch) {
389
389
  return null;
390
390
  }
391
- return /*#__PURE__*/_jsx("div", {
391
+ return /*#__PURE__*/_jsxDEV("div", {
392
392
  ...{
393
393
  className: "xf314gf xu0wf1k"
394
394
  },
395
- children: /*#__PURE__*/_jsx("input", {
395
+ children: /*#__PURE__*/_jsxDEV("input", {
396
396
  ref: searchRef,
397
397
  id: searchId
398
398
  // When hasSearch is set, focus moves into this input on open, so it —
@@ -420,15 +420,15 @@ export function Selector(props) {
420
420
  ...{
421
421
  className: "x9f619 xh8yej3 xu0wf1k xf314gf x1litavf x1y0btm7 xvy26l8 xh6dtrn x10xzikg x9ynric xcr08ib xdk3u5w x1tgivj0 x1a2a7pz xzeu18z x1wfwxd8"
422
422
  }
423
- })
424
- });
423
+ }, void 0, false)
424
+ }, void 0, false);
425
425
  }, [hasSearch, searchId, listboxId, searchQuery, searchPlaceholder, onKeyDown, popover.isOpen, highlightedIndex, getItemId]);
426
426
 
427
427
  // Render an individual item
428
428
  const renderItem = useCallback((item, flatIndex) => {
429
429
  const isHighlighted = flatIndex === highlightedIndex;
430
430
  const isSelected = item.value === normalizedValue;
431
- return /*#__PURE__*/_jsxs("div", {
431
+ return /*#__PURE__*/_jsxDEV("div", {
432
432
  id: getItemId(flatIndex),
433
433
  role: "option",
434
434
  "aria-selected": isSelected,
@@ -436,19 +436,19 @@ export function Selector(props) {
436
436
  onClick: () => onItemSelect(item),
437
437
  onMouseEnter: () => onItemMouseEnter(item, flatIndex),
438
438
  ...stylex.props(styles.item, itemSizeStyles[size], isHighlighted && styles.itemHighlighted, isSelected && styles.itemSelected, item.disabled && styles.itemDisabled),
439
- children: [/*#__PURE__*/_jsx("span", {
439
+ children: [/*#__PURE__*/_jsxDEV("span", {
440
440
  ...{
441
441
  className: "x78zum5 x6s0dn4 x1txdalj x98rzlu xeuugli"
442
442
  },
443
- children: renderOption ? renderOption(item) : /*#__PURE__*/_jsx(DefaultOption, {
443
+ children: renderOption ? renderOption(item) : /*#__PURE__*/_jsxDEV(DefaultOption, {
444
444
  option: item
445
- })
446
- }), isSelected && /*#__PURE__*/_jsx(Icon, {
445
+ }, void 0, false)
446
+ }, void 0, false), isSelected && /*#__PURE__*/_jsxDEV(Icon, {
447
447
  icon: "check",
448
448
  size: "sm",
449
449
  color: "accent"
450
- })]
451
- }, item.value);
450
+ }, void 0, false)]
451
+ }, item.value, true);
452
452
  }, [renderOption, highlightedIndex, size, normalizedValue, getItemId, onItemSelect, onItemMouseEnter]);
453
453
 
454
454
  // Render all options (handling sections/dividers)
@@ -456,12 +456,12 @@ export function Selector(props) {
456
456
  // When search is active, render filtered items flat (no sections/dividers)
457
457
  if (hasSearch && searchQuery) {
458
458
  if (filteredItems.length === 0) {
459
- return [/*#__PURE__*/_jsx("div", {
459
+ return [/*#__PURE__*/_jsxDEV("div", {
460
460
  ...{
461
461
  className: "x1b2ylru x2b8uid xv1l7n4 x9ynric xcr08ib"
462
462
  },
463
463
  children: "No results found"
464
- }, "empty")];
464
+ }, "empty", false)];
465
465
  }
466
466
  return filteredItems.map((item, index) => renderItem(item, index));
467
467
  }
@@ -470,9 +470,9 @@ export function Selector(props) {
470
470
  for (let i = 0; i < options.length; i++) {
471
471
  const option = options[i];
472
472
  if (isDivider(option)) {
473
- elements.push(/*#__PURE__*/_jsx(Divider, {
473
+ elements.push(/*#__PURE__*/_jsxDEV(Divider, {
474
474
  xstyle: styles.divider
475
- }, `divider-${i}`));
475
+ }, `divider-${i}`, false));
476
476
  } else if (isSection(option)) {
477
477
  const sectionItems = [];
478
478
  for (const opt of option.options) {
@@ -480,16 +480,16 @@ export function Selector(props) {
480
480
  flatIndex++;
481
481
  }
482
482
  if (option.title) {
483
- elements.push(/*#__PURE__*/_jsx(Divider, {
483
+ elements.push(/*#__PURE__*/_jsxDEV(Divider, {
484
484
  label: option.title,
485
485
  xstyle: styles.sectionDivider
486
- }, `section-divider-${i}`));
486
+ }, `section-divider-${i}`, false));
487
487
  }
488
- elements.push(/*#__PURE__*/_jsx("div", {
488
+ elements.push(/*#__PURE__*/_jsxDEV("div", {
489
489
  role: "group",
490
490
  "aria-label": option.title,
491
491
  children: sectionItems
492
- }, `section-${i}`));
492
+ }, `section-${i}`, false));
493
493
  } else if (isOptionData(option)) {
494
494
  elements.push(renderItem(normalizeOption(option), flatIndex));
495
495
  flatIndex++;
@@ -497,8 +497,8 @@ export function Selector(props) {
497
497
  }
498
498
  return elements;
499
499
  }, [options, renderItem, hasSearch, searchQuery, filteredItems]);
500
- const selectorContent = /*#__PURE__*/_jsxs(_Fragment, {
501
- children: [/*#__PURE__*/_jsxs("div", {
500
+ const selectorContent = /*#__PURE__*/_jsxDEV(_Fragment, {
501
+ children: [/*#__PURE__*/_jsxDEV("div", {
502
502
  ref: el => {
503
503
  popover.triggerRef(el);
504
504
  // Anchor + hover/focus listeners for the disabled-message tooltip.
@@ -515,10 +515,10 @@ export function Selector(props) {
515
515
  children: [startIcon && renderIconSlot(startIcon, {
516
516
  size: 'sm',
517
517
  color: 'secondary'
518
- }), inputGroup && /*#__PURE__*/_jsx(VisuallyHidden, {
518
+ }), inputGroup && /*#__PURE__*/_jsxDEV(VisuallyHidden, {
519
519
  id: inputLabelId,
520
520
  children: label
521
- }), /*#__PURE__*/_jsx("button", {
521
+ }, void 0, false), /*#__PURE__*/_jsxDEV("button", {
522
522
  ref: triggerRef,
523
523
  id: triggerId,
524
524
  type: "button"
@@ -548,13 +548,13 @@ export function Selector(props) {
548
548
  ...{
549
549
  className: "x78zum5 x6s0dn4 x1qughib x1txdalj x1iyjqo2 xs83m0k x1r8uery xeuugli x1717udv x1ghz6dp xc342km xng3xce xjbqb8w xjb2p0i x1qlqyl8 x15bjb6t x1heor9g x1ypdohk x1a2a7pz"
550
550
  },
551
- children: /*#__PURE__*/_jsx("span", {
551
+ children: /*#__PURE__*/_jsxDEV("span", {
552
552
  ...{
553
553
  className: "x1iyjqo2 xeuugli xb3r6kr xlyipyv xuxw1ft x1yc453h"
554
554
  },
555
555
  children: selectedItem?.label ?? placeholder
556
- })
557
- }), htmlName != null && /*#__PURE__*/_jsx("input", {
556
+ }, void 0, false)
557
+ }, void 0, false), htmlName != null && /*#__PURE__*/_jsxDEV("input", {
558
558
  type: "hidden",
559
559
  name: htmlName,
560
560
  value: value ?? ''
@@ -562,21 +562,21 @@ export function Selector(props) {
562
562
  // mirror that for the hidden carrier.
563
563
  ,
564
564
  disabled: isDisabled
565
- }), isBusy && /*#__PURE__*/_jsx(Spinner, {
565
+ }, void 0, false), isBusy && /*#__PURE__*/_jsxDEV(Spinner, {
566
566
  size: "sm"
567
- }), hasClear && value != null && !isDisabled && /*#__PURE__*/_jsx("button", {
567
+ }, void 0, false), hasClear && value != null && !isDisabled && /*#__PURE__*/_jsxDEV("button", {
568
568
  type: "button",
569
569
  onClick: handleClear,
570
570
  "aria-label": `Clear ${label}`,
571
571
  ...{
572
572
  className: "x78zum5 x6s0dn4 xl56j7k x1717udv x1ghz6dp xc342km xng3xce xjbqb8w x1ypdohk xh6dtrn x1a2a7pz x1p25gnr x1y3gkto"
573
573
  },
574
- children: /*#__PURE__*/_jsx(Icon, {
574
+ children: /*#__PURE__*/_jsxDEV(Icon, {
575
575
  icon: "close",
576
576
  size: "sm",
577
577
  color: "secondary"
578
- })
579
- }), /*#__PURE__*/_jsx("span", {
578
+ }, void 0, false)
579
+ }, void 0, false), /*#__PURE__*/_jsxDEV("span", {
580
580
  ...{
581
581
  0: {
582
582
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k x1kky2od xlup9mm x11xpdln xuedmi6 xlr8y92 x1g0ag68 xv9yike"
@@ -591,18 +591,18 @@ export function Selector(props) {
591
591
  className: "x2lah0s x78zum5 x6s0dn4 xl56j7k x1kky2od xlup9mm x11xpdln xuedmi6 xlr8y92 x1g0ag68 xv9yike x19jd1h0 xq2gx43"
592
592
  }
593
593
  }[!!(!status && popover.isOpen) << 1 | !!status << 0],
594
- children: status ? /*#__PURE__*/_jsx(Icon, {
594
+ children: status ? /*#__PURE__*/_jsxDEV(Icon, {
595
595
  icon: STATUS_ICON_MAP[status.type],
596
596
  size: "sm",
597
597
  color: STATUS_ICON_COLOR_MAP[status.type]
598
- }) : /*#__PURE__*/_jsx(Icon, {
598
+ }, void 0, false) : /*#__PURE__*/_jsxDEV(Icon, {
599
599
  icon: "chevronDown",
600
600
  size: "sm",
601
601
  color: "inherit"
602
- })
603
- })]
604
- }), popover.render(hasSearch ? /*#__PURE__*/_jsxs("div", {
605
- children: [renderSearch(), /*#__PURE__*/_jsx("div", {
602
+ }, void 0, false)
603
+ }, void 0, false)]
604
+ }, void 0, true), popover.render(hasSearch ? /*#__PURE__*/_jsxDEV("div", {
605
+ children: [renderSearch(), /*#__PURE__*/_jsxDEV("div", {
606
606
  ref: listboxRef,
607
607
  id: listboxId,
608
608
  role: "listbox",
@@ -611,8 +611,8 @@ export function Selector(props) {
611
611
  className: "x9f619 xuyqlj2 x1odjw0f x9epnlk x1hc1fzr x1ey1afo"
612
612
  },
613
613
  children: renderOptions()
614
- })]
615
- }) : /*#__PURE__*/_jsx("div", {
614
+ }, void 0, false)]
615
+ }, void 0, true) : /*#__PURE__*/_jsxDEV("div", {
616
616
  ref: listboxRef,
617
617
  id: listboxId,
618
618
  role: "listbox",
@@ -626,17 +626,17 @@ export function Selector(props) {
626
626
  }
627
627
  }[!!!isPositioned << 0],
628
628
  children: renderOptions()
629
- }), {
629
+ }, void 0, false), {
630
630
  placement: popoverPlacement,
631
631
  alignment: 'start',
632
632
  xstyle: [styles.popover, layerAnimations[popoverPlacement]],
633
633
  style: popoverOffsetStyle
634
634
  }), showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
635
- });
635
+ }, void 0, true);
636
636
  if (inputGroup) {
637
637
  return selectorContent;
638
638
  }
639
- return /*#__PURE__*/_jsx(Field, {
639
+ return /*#__PURE__*/_jsxDEV(Field, {
640
640
  label: label,
641
641
  isLabelHidden: isLabelHidden,
642
642
  description: description,
@@ -653,6 +653,6 @@ export function Selector(props) {
653
653
  labelTooltip: labelTooltip,
654
654
  width: width,
655
655
  children: selectorContent
656
- });
656
+ }, void 0, false);
657
657
  }
658
658
  Selector.displayName = 'Selector';